mio-previewer 0.2.74 → 0.2.77
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-CXmXW7jd.js +166 -0
- package/dist/_basePickBy-CtuVwROD.cjs +1 -0
- package/dist/_baseUniq-CGoiOkSa.js +682 -0
- package/dist/_baseUniq-CYtOXxfV.cjs +1 -0
- package/dist/_createAssigner-DqH64jc7.cjs +1 -0
- package/dist/_createAssigner-IEX8lwxm.js +573 -0
- package/dist/arc-C78br9Yj.cjs +1 -0
- package/dist/arc-vLgDTVZZ.js +80 -0
- package/dist/architecture-O4VJ6CD3-B9qzjtV8.cjs +1 -0
- package/dist/architecture-O4VJ6CD3-wqAP4onK.js +2 -0
- package/dist/architectureDiagram-VXUJARFQ-CYbuyVAs.js +4039 -0
- package/dist/architectureDiagram-VXUJARFQ-DEGYSl1f.cjs +36 -0
- package/dist/array-CApNbSU9.js +6 -0
- package/dist/array-DZSRzHA_.cjs +1 -0
- package/dist/assets/parser.worker-Bzb1GItl.js +14 -0
- package/dist/blockDiagram-VD42YOAC-DaH3L5Ng.js +3009 -0
- package/dist/blockDiagram-VD42YOAC-DeX0dq72.cjs +122 -0
- package/dist/c4Diagram-YG6GDRKO-CIThIYo6.js +2959 -0
- package/dist/c4Diagram-YG6GDRKO-Dz6dif_9.cjs +10 -0
- package/dist/channel-BWHkpgVD.cjs +1 -0
- package/dist/channel-JT7eWw2w.js +5 -0
- package/dist/chunk-4BX2VUAB-BZTgbbzC.js +8 -0
- package/dist/chunk-4BX2VUAB-HXFjpyQg.cjs +1 -0
- package/dist/chunk-55IACEB6-DWUqxxdp.js +8 -0
- package/dist/chunk-55IACEB6-Hy_THNUs.cjs +1 -0
- package/dist/chunk-ABZYJK2D-CbIYYZa_.cjs +80 -0
- package/dist/chunk-ABZYJK2D-DDrmE3Q7.js +2518 -0
- package/dist/chunk-ATLVNIR6-DHlCNWnJ.js +67 -0
- package/dist/chunk-ATLVNIR6-shAOudT0.cjs +1 -0
- package/dist/chunk-B4BG7PRW-C67vroOS.cjs +165 -0
- package/dist/chunk-B4BG7PRW-DSYuK8dI.js +3116 -0
- package/dist/chunk-BNMv73og.cjs +1 -0
- package/dist/chunk-CVBHYZKI-CLVcv_xh.cjs +1 -0
- package/dist/chunk-CVBHYZKI-CiCGetln.js +12 -0
- package/dist/chunk-DI55MBZ5-BCvBgHrp.cjs +220 -0
- package/dist/chunk-DI55MBZ5-Clru0TyG.js +2000 -0
- package/dist/chunk-Dbv0sNQl.js +20 -0
- package/dist/chunk-FMBD7UC4-D4kohRVY.js +5 -0
- package/dist/{chunk-FMBD7UC4-DxkUZTpt.cjs → chunk-FMBD7UC4-DWMVCXKq.cjs} +2 -2
- package/dist/chunk-HN2XXSSU-BwmRMa2r.cjs +1 -0
- package/dist/chunk-HN2XXSSU-CJL8wAZ2.js +76 -0
- package/dist/chunk-JA3XYJ7Z-BaAdjYEy.cjs +70 -0
- package/dist/chunk-JA3XYJ7Z-CpKHrbOX.js +1849 -0
- package/dist/chunk-JZLCHNYA-CYo7ykJf.js +4863 -0
- package/dist/chunk-JZLCHNYA-CvPIQFXP.cjs +54 -0
- package/dist/chunk-QN33PNHL-BFbXAWI4.js +25 -0
- package/dist/chunk-QN33PNHL-Cu0FHarG.cjs +1 -0
- package/dist/chunk-QXUST7PY-CnnfdJrM.cjs +7 -0
- package/dist/chunk-QXUST7PY-CxCAwQqP.js +488 -0
- package/dist/chunk-QZHKN3VN-2e6nJr8c.cjs +1 -0
- package/dist/chunk-QZHKN3VN-Dal4kx9B.js +15 -0
- package/dist/chunk-S3R3BYOJ-B2ozcJNg.cjs +2 -0
- package/dist/chunk-S3R3BYOJ-CG6GoSCd.js +1119 -0
- package/dist/chunk-TZMSLE5B-CooeLs4Q.js +57 -0
- package/dist/chunk-TZMSLE5B-D92K1Ja5.cjs +1 -0
- package/dist/classDiagram-2ON5EDUG-Bv1XCvDZ.js +28 -0
- package/dist/classDiagram-2ON5EDUG-BzMV1CJW.cjs +1 -0
- package/dist/classDiagram-v2-WZHVMYZB-Bqxv5U7u.js +28 -0
- package/dist/classDiagram-v2-WZHVMYZB-BzMV1CJW.cjs +1 -0
- package/dist/clone-B0KDIkSS.js +8 -0
- package/dist/clone-wvtBTB6v.cjs +1 -0
- package/dist/cose-bilkent-S5V4N54A-DMHTv1aW.cjs +1 -0
- package/dist/cose-bilkent-S5V4N54A-bGPAcpg6.js +2250 -0
- package/dist/custom-Bl_fVJZ0.cjs +84 -0
- package/dist/custom-D-TzPpWT.js +5281 -0
- package/dist/cytoscape.esm-CElDUMAx.cjs +321 -0
- package/dist/cytoscape.esm-xf9dtmBj.js +18100 -0
- package/dist/dagre-6UL2VRFP-3bgUxzqG.js +294 -0
- package/dist/dagre-6UL2VRFP-B3NqmIxs.cjs +4 -0
- package/dist/dagre-BfAHSwtP.js +1472 -0
- package/dist/dagre-Buvkww-e.cjs +1 -0
- package/dist/defaultLocale-B5dSAwiC.js +201 -0
- package/dist/defaultLocale-G0HsdRIB.cjs +1 -0
- package/dist/diagram-PSM6KHXK-C4FjxUHt.cjs +24 -0
- package/dist/diagram-PSM6KHXK-CF8TkgzX.js +527 -0
- package/dist/diagram-QEK2KX5R-Dl3IHeA5.js +213 -0
- package/dist/diagram-QEK2KX5R-Z9DYjr44.cjs +43 -0
- package/dist/diagram-S2PKOQOG-Bib-zL2S.cjs +24 -0
- package/dist/diagram-S2PKOQOG-ZKvn7IEe.js +133 -0
- package/dist/dist-DC-lM4uX.cjs +1 -0
- package/dist/dist-zNcLEPGR.js +51 -0
- package/dist/erDiagram-Q2GNP2WA-DFMV9OUT.cjs +60 -0
- package/dist/erDiagram-Q2GNP2WA-DJYJEzEB.js +1600 -0
- package/dist/flowDiagram-NV44I4VS-7TxeawHS.cjs +162 -0
- package/dist/flowDiagram-NV44I4VS-CXa6ycqs.js +4128 -0
- package/dist/ganttDiagram-LVOFAZNH-DqT7pu4m.js +2869 -0
- package/dist/ganttDiagram-LVOFAZNH-iiExGpwF.cjs +267 -0
- package/dist/gitGraph-ZV4HHKMB-BjaEVcYh.cjs +1 -0
- package/dist/gitGraph-ZV4HHKMB-Cl2I6-l3.js +2 -0
- package/dist/gitGraphDiagram-NY62KEGX-Tphu_MeC.js +621 -0
- package/dist/gitGraphDiagram-NY62KEGX-k5xzXg7C.cjs +65 -0
- package/dist/graphlib-C3tPLMbC.js +225 -0
- package/dist/graphlib-Cdg0u3TT.cjs +1 -0
- package/dist/info-63CPKGFF-D2A5GDFo.js +2 -0
- package/dist/info-63CPKGFF-MRaucWlf.cjs +1 -0
- package/dist/infoDiagram-F6ZHWCRC-3Jwo4J0f.cjs +2 -0
- package/dist/infoDiagram-F6ZHWCRC-BUoruN76.js +19 -0
- package/dist/init-07zIhv_j.cjs +1 -0
- package/dist/init-Bwwdo3M6.js +15 -0
- package/dist/journeyDiagram-XKPGCS4Q-C_3oD9RV.cjs +139 -0
- package/dist/journeyDiagram-XKPGCS4Q-DB7INfrf.js +883 -0
- package/dist/kanban-definition-3W4ZIXB7-AVLIBuMF.js +968 -0
- package/dist/kanban-definition-3W4ZIXB7-txUXjKzB.cjs +89 -0
- package/dist/katex-6UpFeIdV.cjs +261 -0
- package/dist/katex-BHcJffnM.js +22112 -0
- package/dist/line-DYhVGH2B.js +34 -0
- package/dist/line-DdNAPGaw.cjs +1 -0
- package/dist/linear-n4_iirEu.js +289 -0
- package/dist/linear-rQLpRrSH.cjs +1 -0
- package/dist/loadCss-D6257oR0.js +8 -0
- package/dist/loadCss-DhrQh6-A.cjs +1 -0
- package/dist/markdown-it-Cz3KGZjR.cjs +2 -0
- package/dist/markdown-it-D-hH4G7k.js +173 -0
- package/dist/math-G8rF7UWn.cjs +1 -0
- package/dist/math-H49DsxYR.js +10 -0
- package/dist/mermaid-parser.core-B84fnaGG.js +11904 -0
- package/dist/mermaid-parser.core-C9EbhVVg.cjs +82 -0
- package/dist/mindmap-definition-VGOIOE7T-CXlyYsc6.cjs +68 -0
- package/dist/mindmap-definition-VGOIOE7T-VIt9sDN3.js +963 -0
- package/dist/mio-previewer.cjs.js +11 -21
- package/dist/mio-previewer.css +2 -9
- package/dist/mio-previewer.es.js +4915 -6147
- package/dist/ordinal-C55HfHHp.js +65 -0
- package/dist/ordinal-CUPR-p0T.cjs +1 -0
- package/dist/packet-HUATNLJX-CGNko_oS.cjs +1 -0
- package/dist/packet-HUATNLJX-CVx40lqO.js +2 -0
- package/dist/path-DNvJyUE8.js +85 -0
- package/dist/path-Kklx0M1v.cjs +1 -0
- package/dist/pie-WTHONI2E-BdPx0Cfg.cjs +1 -0
- package/dist/pie-WTHONI2E-DX5V8x0L.js +2 -0
- package/dist/pieDiagram-ADFJNKIX-BysReYfx.js +165 -0
- package/dist/pieDiagram-ADFJNKIX-CTT1YMsk.cjs +30 -0
- package/dist/plugins/custom.cjs.js +1 -1
- package/dist/plugins/custom.es.js +2 -85
- package/dist/plugins/markdown-it.cjs.js +1 -3
- package/dist/plugins/markdown-it.es.js +2 -173
- package/dist/quadrantDiagram-AYHSOK5B-8-V3cwsC.cjs +7 -0
- package/dist/quadrantDiagram-AYHSOK5B-DRutDK03.js +1974 -0
- package/dist/radar-NJJJXTRR-CTD6M8nl.js +2 -0
- package/dist/radar-NJJJXTRR-wJoTnQbj.cjs +1 -0
- package/dist/requirementDiagram-UZGBJVZJ-DFRpWnfW.cjs +64 -0
- package/dist/requirementDiagram-UZGBJVZJ-DNYoJyhG.js +2191 -0
- package/dist/sankeyDiagram-TZEHDZUN-B9fxDP0Q.cjs +10 -0
- package/dist/sankeyDiagram-TZEHDZUN-DD6bkI4Z.js +920 -0
- package/dist/sequenceDiagram-WL72ISMW-Bmptok1c.js +3562 -0
- package/dist/sequenceDiagram-WL72ISMW-D9sXtgAn.cjs +145 -0
- package/dist/src-BMjps4Ui.cjs +1 -0
- package/dist/src-BuisGndr.js +2149 -0
- package/dist/stateDiagram-FKZM4ZOC-Bmiw8fnW.js +217 -0
- package/dist/stateDiagram-FKZM4ZOC-DiD1WJPM.cjs +1 -0
- package/dist/stateDiagram-v2-4FDKWEC3-5ADhn1IF.js +27 -0
- package/dist/stateDiagram-v2-4FDKWEC3-BjhmCPL1.cjs +1 -0
- package/dist/timeline-definition-IT6M3QCI-C9VMls3W.js +830 -0
- package/dist/timeline-definition-IT6M3QCI-ZzbHXhNl.cjs +61 -0
- package/dist/treemap-75Q7IDZK-9TPMYr3R.cjs +1 -0
- package/dist/treemap-75Q7IDZK-u3p-cHDL.js +2 -0
- package/dist/types/plugins/custom/codeBlockPlugin.d.ts +8 -0
- package/dist/types/plugins/custom/mermaidPlugin.d.ts +4 -0
- package/dist/xychartDiagram-PRI3JC2R-BI6KuGZ2.cjs +7 -0
- package/dist/xychartDiagram-PRI3JC2R-BWabDL1u.js +2041 -0
- package/package.json +2 -2
- package/dist/_basePickBy-Be3yyf2d.js +0 -151
- package/dist/_basePickBy-Z0DtrAKQ.cjs +0 -1
- package/dist/_baseUniq-BXkA0Pgx.js +0 -614
- package/dist/_baseUniq-Dq2eV1vY.cjs +0 -1
- package/dist/arc-B-QGG8RZ.cjs +0 -1
- package/dist/arc-djW14lrn.js +0 -83
- package/dist/architecture-O4VJ6CD3-Cws_zM2K.cjs +0 -1
- package/dist/architecture-O4VJ6CD3-pdMXTCaT.js +0 -5
- package/dist/architectureDiagram-VXUJARFQ-BwchhvqL.js +0 -4661
- package/dist/architectureDiagram-VXUJARFQ-DxDLWGpO.cjs +0 -36
- package/dist/assets/parser.worker-67NQKZt5.js +0 -16
- package/dist/blockDiagram-VD42YOAC-B4Xc8gfX.cjs +0 -122
- package/dist/blockDiagram-VD42YOAC-DpPneP6J.js +0 -2261
- package/dist/c4Diagram-YG6GDRKO-695lQbrZ.cjs +0 -10
- package/dist/c4Diagram-YG6GDRKO-Cnlax2Xq.js +0 -1580
- package/dist/channel-D_ITz6Jy.cjs +0 -1
- package/dist/channel-sXy9EduO.js +0 -5
- package/dist/chunk-4BX2VUAB-Bdx3_f83.cjs +0 -1
- package/dist/chunk-4BX2VUAB-DRkGmgAZ.js +0 -8
- package/dist/chunk-55IACEB6-BB03hpRC.cjs +0 -1
- package/dist/chunk-55IACEB6-Ord5OQlh.js +0 -8
- package/dist/chunk-B4BG7PRW-Ca0fOgzA.cjs +0 -165
- package/dist/chunk-B4BG7PRW-D-cs8bDX.js +0 -1375
- package/dist/chunk-DI55MBZ5-BsRe2B2M.cjs +0 -220
- package/dist/chunk-DI55MBZ5-DSmlLD1s.js +0 -1370
- package/dist/chunk-FMBD7UC4-IYQmAMTo.js +0 -19
- package/dist/chunk-QN33PNHL-B7G6Qlf3.cjs +0 -1
- package/dist/chunk-QN33PNHL-EYMc4JVr.js +0 -19
- package/dist/chunk-QZHKN3VN-B8NJ6Ahx.cjs +0 -1
- package/dist/chunk-QZHKN3VN-C4WIG5z8.js +0 -15
- package/dist/chunk-TZMSLE5B-BoM53RHv.js +0 -64
- package/dist/chunk-TZMSLE5B-CgLDb48A.cjs +0 -1
- package/dist/classDiagram-2ON5EDUG-CxmdZvqc.js +0 -16
- package/dist/classDiagram-2ON5EDUG-DIRim8qa.cjs +0 -1
- package/dist/classDiagram-v2-WZHVMYZB-CxmdZvqc.js +0 -16
- package/dist/classDiagram-v2-WZHVMYZB-DIRim8qa.cjs +0 -1
- package/dist/clone-DOYxaT_d.js +0 -8
- package/dist/clone-DSlm33NG.cjs +0 -1
- package/dist/cose-bilkent-S5V4N54A-BD3p1OC_.cjs +0 -1
- package/dist/cose-bilkent-S5V4N54A-yLoaqH3G.js +0 -2608
- package/dist/cytoscape.esm-DHF7mANN.cjs +0 -331
- package/dist/cytoscape.esm-DfdJODL8.js +0 -18735
- package/dist/dagre-6UL2VRFP-DG1oQ4B2.cjs +0 -4
- package/dist/dagre-6UL2VRFP-VjboDBbp.js +0 -444
- package/dist/defaultLocale-D7EN2tov.js +0 -171
- package/dist/defaultLocale-DIVzfLaQ.cjs +0 -1
- package/dist/diagram-PSM6KHXK-C1p0l5TY.js +0 -531
- package/dist/diagram-PSM6KHXK-a4rni6rJ.cjs +0 -24
- package/dist/diagram-QEK2KX5R-CErKOsX1.cjs +0 -43
- package/dist/diagram-QEK2KX5R-CKmmuumX.js +0 -217
- package/dist/diagram-S2PKOQOG-B1M7qCNl.cjs +0 -24
- package/dist/diagram-S2PKOQOG-BMLCJExF.js +0 -142
- package/dist/erDiagram-Q2GNP2WA-BfuCa_Za.cjs +0 -60
- package/dist/erDiagram-Q2GNP2WA-fOTsQA-d.js +0 -841
- package/dist/flowDiagram-NV44I4VS-BEqeUuqz.cjs +0 -162
- package/dist/flowDiagram-NV44I4VS-DDwRAjVG.js +0 -1620
- package/dist/ganttDiagram-LVOFAZNH-BbuRS8g3.js +0 -2505
- package/dist/ganttDiagram-LVOFAZNH-BlVeWKRf.cjs +0 -267
- package/dist/gitGraph-ZV4HHKMB-Bmu8r_Iq.cjs +0 -1
- package/dist/gitGraph-ZV4HHKMB-DcQ2E4dF.js +0 -5
- package/dist/gitGraphDiagram-NY62KEGX-DcMEeNh7.cjs +0 -65
- package/dist/gitGraphDiagram-NY62KEGX-_sWVSKbL.js +0 -699
- package/dist/graph-DEnt0OtZ.js +0 -247
- package/dist/graph-Dgcjs2XL.cjs +0 -1
- package/dist/info-63CPKGFF-DVDDcoHy.js +0 -5
- package/dist/info-63CPKGFF-Dc3cWL0G.cjs +0 -1
- package/dist/infoDiagram-F6ZHWCRC-DoUSS0kC.js +0 -24
- package/dist/infoDiagram-F6ZHWCRC-ZeTrjgaE.cjs +0 -2
- package/dist/init-CHZsXQcr.cjs +0 -1
- package/dist/init-DjUOC4st.js +0 -16
- package/dist/journeyDiagram-XKPGCS4Q-DGe13iBu.js +0 -834
- package/dist/journeyDiagram-XKPGCS4Q-Ihl9g4mY.cjs +0 -139
- package/dist/kanban-definition-3W4ZIXB7-2qkrkVLK.cjs +0 -89
- package/dist/kanban-definition-3W4ZIXB7-BhWe5nMU.js +0 -719
- package/dist/katex-CmGeg_OO.js +0 -11692
- package/dist/katex-DEiiRhcn.cjs +0 -261
- package/dist/layout-BDNzBIaA.cjs +0 -1
- package/dist/layout-DTBfbHzy.js +0 -1324
- package/dist/linear-BRl2UYUr.cjs +0 -1
- package/dist/linear-CwbXkgvF.js +0 -259
- package/dist/loadCss-BbD6mdv-.cjs +0 -1
- package/dist/loadCss-DS0Fuaxe.js +0 -8
- package/dist/mermaid-parser.core-CJ1yJm0s.js +0 -12966
- package/dist/mermaid-parser.core-CxTcWSA2.cjs +0 -128
- package/dist/mindmap-definition-VGOIOE7T-BPUEmP7g.cjs +0 -68
- package/dist/mindmap-definition-VGOIOE7T-DSqZBgzR.js +0 -784
- package/dist/ordinal-CagbB1m8.cjs +0 -1
- package/dist/ordinal-DfAQgscy.js +0 -61
- package/dist/packet-HUATNLJX-B-qfkr5X.cjs +0 -1
- package/dist/packet-HUATNLJX-Dxob_meO.js +0 -5
- package/dist/pie-WTHONI2E-BRtdTGWt.js +0 -5
- package/dist/pie-WTHONI2E-DK7f6qJw.cjs +0 -1
- package/dist/pieDiagram-ADFJNKIX-Dhq_bEzm.js +0 -161
- package/dist/pieDiagram-ADFJNKIX-V04ms3gr.cjs +0 -30
- package/dist/quadrantDiagram-AYHSOK5B-C97bOmUE.js +0 -1022
- package/dist/quadrantDiagram-AYHSOK5B-DlqFPVhi.cjs +0 -7
- package/dist/radar-NJJJXTRR-B9jT3LP3.cjs +0 -1
- package/dist/radar-NJJJXTRR-D8plmle3.js +0 -5
- package/dist/requirementDiagram-UZGBJVZJ-BxVMLKfQ.js +0 -850
- package/dist/requirementDiagram-UZGBJVZJ-DENJ74Ew.cjs +0 -64
- package/dist/sankeyDiagram-TZEHDZUN-DwgW7Suq.js +0 -810
- package/dist/sankeyDiagram-TZEHDZUN-lTBLhaSq.cjs +0 -10
- package/dist/sequenceDiagram-WL72ISMW-BAOeX1dA.js +0 -2511
- package/dist/sequenceDiagram-WL72ISMW-BRVvH1X4.cjs +0 -145
- package/dist/stateDiagram-FKZM4ZOC-BrFQE7Gl.js +0 -263
- package/dist/stateDiagram-FKZM4ZOC-D8GjooGL.cjs +0 -1
- package/dist/stateDiagram-v2-4FDKWEC3-4VRIY-eH.cjs +0 -1
- package/dist/stateDiagram-v2-4FDKWEC3-DnrWD6a3.js +0 -16
- package/dist/timeline-definition-IT6M3QCI-BJMIlueb.js +0 -795
- package/dist/timeline-definition-IT6M3QCI-BQFGUuGP.cjs +0 -61
- package/dist/treemap-75Q7IDZK-BX1vBFWf.cjs +0 -1
- package/dist/treemap-75Q7IDZK-CMTkunTV.js +0 -5
- package/dist/viewer-CZUSHxhf.js +0 -19131
- package/dist/viewer-Canph5Zx.cjs +0 -305
- package/dist/xychartDiagram-PRI3JC2R-Sl8WX8wc.cjs +0 -7
- package/dist/xychartDiagram-PRI3JC2R-WnFI7Ezu.js +0 -1340
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
const e=require("./chunk-BNMv73og.cjs"),t=require("./custom-Bl_fVJZ0.cjs"),n=require("./_createAssigner-DqH64jc7.cjs"),r=require("./_baseUniq-CYtOXxfV.cjs"),i=require("./_basePickBy-CtuVwROD.cjs"),a=require("./clone-wvtBTB6v.cjs");function o(e){return typeof e==`object`&&!!e&&typeof e.$type==`string`}function s(e){return typeof e==`object`&&!!e&&typeof e.$refText==`string`}function c(e){return typeof e==`object`&&!!e&&typeof e.name==`string`&&typeof e.type==`string`&&typeof e.path==`string`}function l(e){return typeof e==`object`&&!!e&&o(e.container)&&s(e.reference)&&typeof e.message==`string`}var u=class{constructor(){this.subtypes={},this.allSubtypes={}}isInstance(e,t){return o(e)&&this.isSubtype(e.$type,t)}isSubtype(e,t){if(e===t)return!0;let n=this.subtypes[e];n||=this.subtypes[e]={};let r=n[t];if(r!==void 0)return r;{let r=this.computeIsSubtype(e,t);return n[t]=r,r}}getAllSubTypes(e){let t=this.allSubtypes[e];if(t)return t;{let t=this.getAllTypes(),n=[];for(let r of t)this.isSubtype(r,e)&&n.push(r);return this.allSubtypes[e]=n,n}}};function d(e){return typeof e==`object`&&!!e&&Array.isArray(e.content)}function f(e){return typeof e==`object`&&!!e&&typeof e.tokenType==`object`}function p(e){return d(e)&&typeof e.fullText==`string`}var m=class e{constructor(e,t){this.startFn=e,this.nextFn=t}iterator(){let e={state:this.startFn(),next:()=>this.nextFn(e.state),[Symbol.iterator]:()=>e};return e}[Symbol.iterator](){return this.iterator()}isEmpty(){return!!this.iterator().next().done}count(){let e=this.iterator(),t=0,n=e.next();for(;!n.done;)t++,n=e.next();return t}toArray(){let e=[],t=this.iterator(),n;do n=t.next(),n.value!==void 0&&e.push(n.value);while(!n.done);return e}toSet(){return new Set(this)}toMap(e,t){let n=this.map(n=>[e?e(n):n,t?t(n):n]);return new Map(n)}toString(){return this.join()}concat(t){return new e(()=>({first:this.startFn(),firstDone:!1,iterator:t[Symbol.iterator]()}),e=>{let t;if(!e.firstDone){do if(t=this.nextFn(e.first),!t.done)return t;while(!t.done);e.firstDone=!0}do if(t=e.iterator.next(),!t.done)return t;while(!t.done);return v})}join(e=`,`){let t=this.iterator(),n=``,r,i=!1;do r=t.next(),r.done||(i&&(n+=e),n+=h(r.value)),i=!0;while(!r.done);return n}indexOf(e,t=0){let n=this.iterator(),r=0,i=n.next();for(;!i.done;){if(r>=t&&i.value===e)return r;i=n.next(),r++}return-1}every(e){let t=this.iterator(),n=t.next();for(;!n.done;){if(!e(n.value))return!1;n=t.next()}return!0}some(e){let t=this.iterator(),n=t.next();for(;!n.done;){if(e(n.value))return!0;n=t.next()}return!1}forEach(e){let t=this.iterator(),n=0,r=t.next();for(;!r.done;)e(r.value,n),r=t.next(),n++}map(t){return new e(this.startFn,e=>{let{done:n,value:r}=this.nextFn(e);return n?v:{done:!1,value:t(r)}})}filter(t){return new e(this.startFn,e=>{let n;do if(n=this.nextFn(e),!n.done&&t(n.value))return n;while(!n.done);return v})}nonNullable(){return this.filter(e=>e!=null)}reduce(e,t){let n=this.iterator(),r=t,i=n.next();for(;!i.done;)r=r===void 0?i.value:e(r,i.value),i=n.next();return r}reduceRight(e,t){return this.recursiveReduce(this.iterator(),e,t)}recursiveReduce(e,t,n){let r=e.next();if(r.done)return n;let i=this.recursiveReduce(e,t,n);return i===void 0?r.value:t(i,r.value)}find(e){let t=this.iterator(),n=t.next();for(;!n.done;){if(e(n.value))return n.value;n=t.next()}}findIndex(e){let t=this.iterator(),n=0,r=t.next();for(;!r.done;){if(e(r.value))return n;r=t.next(),n++}return-1}includes(e){let t=this.iterator(),n=t.next();for(;!n.done;){if(n.value===e)return!0;n=t.next()}return!1}flatMap(t){return new e(()=>({this:this.startFn()}),e=>{do{if(e.iterator){let t=e.iterator.next();if(t.done)e.iterator=void 0;else return t}let{done:n,value:r}=this.nextFn(e.this);if(!n){let n=t(r);if(g(n))e.iterator=n[Symbol.iterator]();else return{done:!1,value:n}}}while(e.iterator);return v})}flat(t){if(t===void 0&&(t=1),t<=0)return this;let n=t>1?this.flat(t-1):this;return new e(()=>({this:n.startFn()}),e=>{do{if(e.iterator){let t=e.iterator.next();if(t.done)e.iterator=void 0;else return t}let{done:t,value:r}=n.nextFn(e.this);if(!t)if(g(r))e.iterator=r[Symbol.iterator]();else return{done:!1,value:r}}while(e.iterator);return v})}head(){let e=this.iterator().next();if(!e.done)return e.value}tail(t=1){return new e(()=>{let e=this.startFn();for(let n=0;n<t;n++)if(this.nextFn(e).done)return e;return e},this.nextFn)}limit(t){return new e(()=>({size:0,state:this.startFn()}),e=>(e.size++,e.size>t?v:this.nextFn(e.state)))}distinct(t){return new e(()=>({set:new Set,internalState:this.startFn()}),e=>{let n;do if(n=this.nextFn(e.internalState),!n.done){let r=t?t(n.value):n.value;if(!e.set.has(r))return e.set.add(r),n}while(!n.done);return v})}exclude(e,t){let n=new Set;for(let r of e){let e=t?t(r):r;n.add(e)}return this.filter(e=>{let r=t?t(e):e;return!n.has(r)})}};function h(e){return typeof e==`string`?e:e===void 0?`undefined`:typeof e.toString==`function`?e.toString():Object.prototype.toString.call(e)}function g(e){return!!e&&typeof e[Symbol.iterator]==`function`}var _=new m(()=>void 0,()=>v),v=Object.freeze({done:!0,value:void 0});function y(...e){if(e.length===1){let t=e[0];if(t instanceof m)return t;if(g(t))return new m(()=>t[Symbol.iterator](),e=>e.next());if(typeof t.length==`number`)return new m(()=>({index:0}),e=>e.index<t.length?{done:!1,value:t[e.index++]}:v)}return e.length>1?new m(()=>({collIndex:0,arrIndex:0}),t=>{do{if(t.iterator){let e=t.iterator.next();if(!e.done)return e;t.iterator=void 0}if(t.array){if(t.arrIndex<t.array.length)return{done:!1,value:t.array[t.arrIndex++]};t.array=void 0,t.arrIndex=0}if(t.collIndex<e.length){let n=e[t.collIndex++];g(n)?t.iterator=n[Symbol.iterator]():n&&typeof n.length==`number`&&(t.array=n)}}while(t.iterator||t.array||t.collIndex<e.length);return v}):_}var b=class extends m{constructor(e,t,n){super(()=>({iterators:n?.includeRoot?[[e][Symbol.iterator]()]:[t(e)[Symbol.iterator]()],pruned:!1}),e=>{for(e.pruned&&=(e.iterators.pop(),!1);e.iterators.length>0;){let n=e.iterators[e.iterators.length-1].next();if(n.done)e.iterators.pop();else return e.iterators.push(t(n.value)[Symbol.iterator]()),n}return v})}iterator(){let e={state:this.startFn(),next:()=>this.nextFn(e.state),prune:()=>{e.state.pruned=!0},[Symbol.iterator]:()=>e};return e}},ee;(function(e){function t(e){return e.reduce((e,t)=>e+t,0)}e.sum=t;function n(e){return e.reduce((e,t)=>e*t,0)}e.product=n;function r(e){return e.reduce((e,t)=>Math.min(e,t))}e.min=r;function i(e){return e.reduce((e,t)=>Math.max(e,t))}e.max=i})(ee||={});function te(e){return new b(e,e=>d(e)?e.content:[],{includeRoot:!0})}function ne(e,t){for(;e.container;)if(e=e.container,e===t)return!0;return!1}function re(e){return{start:{character:e.startColumn-1,line:e.startLine-1},end:{character:e.endColumn,line:e.endLine-1}}}function ie(e){if(!e)return;let{offset:t,end:n,range:r}=e;return{range:r,offset:t,end:n,length:n-t}}var x;(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`})(x||={});function ae(e,t){if(e.end.line<t.start.line||e.end.line===t.start.line&&e.end.character<=t.start.character)return x.Before;if(e.start.line>t.end.line||e.start.line===t.end.line&&e.start.character>=t.end.character)return x.After;let n=e.start.line>t.start.line||e.start.line===t.start.line&&e.start.character>=t.start.character,r=e.end.line<t.end.line||e.end.line===t.end.line&&e.end.character<=t.end.character;return n&&r?x.Inside:n?x.OverlapBack:r?x.OverlapFront:x.Outside}function oe(e,t){return ae(e,t)>x.After}var se=/^[\w\p{L}]$/u;function ce(e,t){if(e){let n=ue(e,!0);if(n&&le(n,t))return n;if(p(e)){let n=e.content.findIndex(e=>!e.hidden);for(let r=n-1;r>=0;r--){let n=e.content[r];if(le(n,t))return n}}}}function le(e,t){return f(e)&&t.includes(e.tokenType.name)}function ue(e,t=!0){for(;e.container;){let n=e.container,r=n.content.indexOf(e);for(;r>0;){r--;let e=n.content[r];if(t||!e.hidden)return e}e=n}}var de=class extends Error{constructor(e,t){super(e?`${t} at ${e.range.start.line}:${e.range.start.character}`:t)}};function fe(e){throw Error(`Error! The input value was not handled.`)}var pe=`AbstractRule`,me=`AbstractType`,he=`Condition`,ge=`TypeDefinition`,_e=`ValueLiteral`,S=`AbstractElement`;function ve(e){return w.isInstance(e,S)}var ye=`ArrayLiteral`,be=`ArrayType`,xe=`BooleanLiteral`;function Se(e){return w.isInstance(e,xe)}var Ce=`Conjunction`;function we(e){return w.isInstance(e,Ce)}var Te=`Disjunction`;function Ee(e){return w.isInstance(e,Te)}var De=`Grammar`,Oe=`GrammarImport`,ke=`InferredType`;function Ae(e){return w.isInstance(e,ke)}var je=`Interface`;function Me(e){return w.isInstance(e,je)}var Ne=`NamedArgument`,Pe=`Negation`;function Fe(e){return w.isInstance(e,Pe)}var Ie=`NumberLiteral`,Le=`Parameter`,Re=`ParameterReference`;function ze(e){return w.isInstance(e,Re)}var Be=`ParserRule`;function C(e){return w.isInstance(e,Be)}var Ve=`ReferenceType`,He=`ReturnType`;function Ue(e){return w.isInstance(e,He)}var We=`SimpleType`;function Ge(e){return w.isInstance(e,We)}var Ke=`StringLiteral`,qe=`TerminalRule`;function Je(e){return w.isInstance(e,qe)}var Ye=`Type`;function Xe(e){return w.isInstance(e,Ye)}var Ze=`TypeAttribute`,Qe=`UnionType`,$e=`Action`;function et(e){return w.isInstance(e,$e)}var tt=`Alternatives`;function nt(e){return w.isInstance(e,tt)}var rt=`Assignment`;function it(e){return w.isInstance(e,rt)}var at=`CharacterRange`;function ot(e){return w.isInstance(e,at)}var st=`CrossReference`;function ct(e){return w.isInstance(e,st)}var lt=`EndOfFile`;function ut(e){return w.isInstance(e,lt)}var dt=`Group`;function ft(e){return w.isInstance(e,dt)}var pt=`Keyword`;function mt(e){return w.isInstance(e,pt)}var ht=`NegatedToken`;function gt(e){return w.isInstance(e,ht)}var _t=`RegexToken`;function vt(e){return w.isInstance(e,_t)}var yt=`RuleCall`;function bt(e){return w.isInstance(e,yt)}var xt=`TerminalAlternatives`;function St(e){return w.isInstance(e,xt)}var Ct=`TerminalGroup`;function wt(e){return w.isInstance(e,Ct)}var Tt=`TerminalRuleCall`;function Et(e){return w.isInstance(e,Tt)}var Dt=`UnorderedGroup`;function Ot(e){return w.isInstance(e,Dt)}var kt=`UntilToken`;function At(e){return w.isInstance(e,kt)}var jt=`Wildcard`;function Mt(e){return w.isInstance(e,jt)}var Nt=class extends u{getAllTypes(){return[S,pe,me,$e,tt,ye,be,rt,xe,at,he,Ce,st,Te,lt,De,Oe,dt,ke,je,pt,Ne,ht,Pe,Ie,Le,Re,Be,Ve,_t,He,yt,We,Ke,xt,Ct,qe,Tt,Ye,Ze,ge,Qe,Dt,kt,_e,jt]}computeIsSubtype(e,t){switch(e){case $e:case tt:case rt:case at:case st:case lt:case dt:case pt:case ht:case _t:case yt:case xt:case Ct:case Tt:case Dt:case kt:case jt:return this.isSubtype(S,t);case ye:case Ie:case Ke:return this.isSubtype(_e,t);case be:case Ve:case We:case Qe:return this.isSubtype(ge,t);case xe:return this.isSubtype(`Condition`,t)||this.isSubtype(`ValueLiteral`,t);case Ce:case Te:case Pe:case Re:return this.isSubtype(he,t);case ke:case je:case Ye:return this.isSubtype(me,t);case Be:return this.isSubtype(`AbstractRule`,t)||this.isSubtype(`AbstractType`,t);case qe:return this.isSubtype(pe,t);default:return!1}}getReferenceType(e){let t=`${e.container.$type}:${e.property}`;switch(t){case`Action:type`:case`CrossReference:type`:case`Interface:superTypes`:case`ParserRule:returnType`:case`SimpleType:typeRef`:return me;case`Grammar:hiddenTokens`:case`ParserRule:hiddenTokens`:case`RuleCall:rule`:return pe;case`Grammar:usedGrammars`:return De;case`NamedArgument:parameter`:case`ParameterReference:parameter`:return Le;case`TerminalRuleCall:rule`:return qe;default:throw Error(`${t} is not a valid reference id.`)}}getTypeMetaData(e){switch(e){case S:return{name:S,properties:[{name:`cardinality`},{name:`lookahead`}]};case ye:return{name:ye,properties:[{name:`elements`,defaultValue:[]}]};case be:return{name:be,properties:[{name:`elementType`}]};case xe:return{name:xe,properties:[{name:`true`,defaultValue:!1}]};case Ce:return{name:Ce,properties:[{name:`left`},{name:`right`}]};case Te:return{name:Te,properties:[{name:`left`},{name:`right`}]};case De:return{name:De,properties:[{name:`definesHiddenTokens`,defaultValue:!1},{name:`hiddenTokens`,defaultValue:[]},{name:`imports`,defaultValue:[]},{name:`interfaces`,defaultValue:[]},{name:`isDeclared`,defaultValue:!1},{name:`name`},{name:`rules`,defaultValue:[]},{name:`types`,defaultValue:[]},{name:`usedGrammars`,defaultValue:[]}]};case Oe:return{name:Oe,properties:[{name:`path`}]};case ke:return{name:ke,properties:[{name:`name`}]};case je:return{name:je,properties:[{name:`attributes`,defaultValue:[]},{name:`name`},{name:`superTypes`,defaultValue:[]}]};case Ne:return{name:Ne,properties:[{name:`calledByName`,defaultValue:!1},{name:`parameter`},{name:`value`}]};case Pe:return{name:Pe,properties:[{name:`value`}]};case Ie:return{name:Ie,properties:[{name:`value`}]};case Le:return{name:Le,properties:[{name:`name`}]};case Re:return{name:Re,properties:[{name:`parameter`}]};case Be:return{name:Be,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 Ve:return{name:Ve,properties:[{name:`referenceType`}]};case He:return{name:He,properties:[{name:`name`}]};case We:return{name:We,properties:[{name:`primitiveType`},{name:`stringType`},{name:`typeRef`}]};case Ke:return{name:Ke,properties:[{name:`value`}]};case qe:return{name:qe,properties:[{name:`definition`},{name:`fragment`,defaultValue:!1},{name:`hidden`,defaultValue:!1},{name:`name`},{name:`type`}]};case Ye:return{name:Ye,properties:[{name:`name`},{name:`type`}]};case Ze:return{name:Ze,properties:[{name:`defaultValue`},{name:`isOptional`,defaultValue:!1},{name:`name`},{name:`type`}]};case Qe:return{name:Qe,properties:[{name:`types`,defaultValue:[]}]};case $e:return{name:$e,properties:[{name:`cardinality`},{name:`feature`},{name:`inferredType`},{name:`lookahead`},{name:`operator`},{name:`type`}]};case tt:return{name:tt,properties:[{name:`cardinality`},{name:`elements`,defaultValue:[]},{name:`lookahead`}]};case rt:return{name:rt,properties:[{name:`cardinality`},{name:`feature`},{name:`lookahead`},{name:`operator`},{name:`terminal`}]};case at:return{name:at,properties:[{name:`cardinality`},{name:`left`},{name:`lookahead`},{name:`right`}]};case st:return{name:st,properties:[{name:`cardinality`},{name:`deprecatedSyntax`,defaultValue:!1},{name:`lookahead`},{name:`terminal`},{name:`type`}]};case lt:return{name:lt,properties:[{name:`cardinality`},{name:`lookahead`}]};case dt:return{name:dt,properties:[{name:`cardinality`},{name:`elements`,defaultValue:[]},{name:`guardCondition`},{name:`lookahead`}]};case pt:return{name:pt,properties:[{name:`cardinality`},{name:`lookahead`},{name:`value`}]};case ht:return{name:ht,properties:[{name:`cardinality`},{name:`lookahead`},{name:`terminal`}]};case _t:return{name:_t,properties:[{name:`cardinality`},{name:`lookahead`},{name:`regex`}]};case yt:return{name:yt,properties:[{name:`arguments`,defaultValue:[]},{name:`cardinality`},{name:`lookahead`},{name:`rule`}]};case xt:return{name:xt,properties:[{name:`cardinality`},{name:`elements`,defaultValue:[]},{name:`lookahead`}]};case Ct:return{name:Ct,properties:[{name:`cardinality`},{name:`elements`,defaultValue:[]},{name:`lookahead`}]};case Tt:return{name:Tt,properties:[{name:`cardinality`},{name:`lookahead`},{name:`rule`}]};case Dt:return{name:Dt,properties:[{name:`cardinality`},{name:`elements`,defaultValue:[]},{name:`lookahead`}]};case kt:return{name:kt,properties:[{name:`cardinality`},{name:`lookahead`},{name:`terminal`}]};case jt:return{name:jt,properties:[{name:`cardinality`},{name:`lookahead`}]};default:return{name:e,properties:[]}}}},w=new Nt;function Pt(e){for(let[t,n]of Object.entries(e))t.startsWith(`$`)||(Array.isArray(n)?n.forEach((n,r)=>{o(n)&&(n.$container=e,n.$containerProperty=t,n.$containerIndex=r)}):o(n)&&(n.$container=e,n.$containerProperty=t))}function Ft(e,t){let n=e;for(;n;){if(t(n))return n;n=n.$container}}function It(e){let t=Lt(e).$document;if(!t)throw Error(`AST node has no document.`);return t}function Lt(e){for(;e.$container;)e=e.$container;return e}function Rt(e,t){if(!e)throw Error(`Node must be an AstNode.`);let n=t?.range;return new m(()=>({keys:Object.keys(e),keyIndex:0,arrayIndex:0}),t=>{for(;t.keyIndex<t.keys.length;){let r=t.keys[t.keyIndex];if(!r.startsWith(`$`)){let i=e[r];if(o(i)){if(t.keyIndex++,Vt(i,n))return{done:!1,value:i}}else if(Array.isArray(i)){for(;t.arrayIndex<i.length;){let e=i[t.arrayIndex++];if(o(e)&&Vt(e,n))return{done:!1,value:e}}t.arrayIndex=0}}t.keyIndex++}return v})}function zt(e,t){if(!e)throw Error(`Root node must be an AstNode.`);return new b(e,e=>Rt(e,t))}function Bt(e,t){if(!e)throw Error(`Root node must be an AstNode.`);return t?.range&&!Vt(e,t.range)?new b(e,()=>[]):new b(e,e=>Rt(e,t),{includeRoot:!0})}function Vt(e,t){if(!t)return!0;let n=e.$cstNode?.range;return n?oe(n,t):!1}function Ht(e){return new m(()=>({keys:Object.keys(e),keyIndex:0,arrayIndex:0}),t=>{for(;t.keyIndex<t.keys.length;){let n=t.keys[t.keyIndex];if(!n.startsWith(`$`)){let r=e[n];if(s(r))return t.keyIndex++,{done:!1,value:{reference:r,container:e,property:n}};if(Array.isArray(r)){for(;t.arrayIndex<r.length;){let i=t.arrayIndex++,a=r[i];if(s(a))return{done:!1,value:{reference:a,container:e,property:n,index:i}}}t.arrayIndex=0}}t.keyIndex++}return v})}function Ut(e,t){let n=e.getTypeMetaData(t.$type),r=t;for(let e of n.properties)e.defaultValue!==void 0&&r[e.name]===void 0&&(r[e.name]=Wt(e.defaultValue))}function Wt(e){return Array.isArray(e)?[...e.map(Wt)]:e}function T(e){return e.charCodeAt(0)}function Gt(e,t){Array.isArray(e)?e.forEach(function(e){t.push(e)}):t.push(e)}function Kt(e,t){if(e[t]===!0)throw`duplicate flag `+t;e[t],e[t]=!0}function qt(e){if(e===void 0)throw Error(`Internal Error - Should never get here!`);return!0}function Jt(){throw Error(`Internal Error - Should never get here!`)}function Yt(e){return e.type===`Character`}var Xt=[];for(let e=T(`0`);e<=T(`9`);e++)Xt.push(e);var Zt=[T(`_`)].concat(Xt);for(let e=T(`a`);e<=T(`z`);e++)Zt.push(e);for(let e=T(`A`);e<=T(`Z`);e++)Zt.push(e);var Qt=[T(` `),T(`\f`),T(`
|
|
2
|
+
`),T(`\r`),T(` `),T(`\v`),T(` `),T(`\xA0`),T(` `),T(` `),T(` `),T(` `),T(` `),T(` `),T(` `),T(` `),T(` `),T(` `),T(` `),T(` `),T(`\u2028`),T(`\u2029`),T(` `),T(` `),T(` `),T(``)],$t=/[0-9a-fA-F]/,en=/[0-9]/,tn=/[1-9]/,nn=class{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(`/`);let t=this.disjunction();this.consumeChar(`/`);let n={type:`Flags`,loc:{begin:this.idx,end:e.length},global:!1,ignoreCase:!1,multiLine:!1,unicode:!1,sticky:!1};for(;this.isRegExpFlag();)switch(this.popChar()){case`g`:Kt(n,`global`);break;case`i`:Kt(n,`ignoreCase`);break;case`m`:Kt(n,`multiLine`);break;case`u`:Kt(n,`unicode`);break;case`y`:Kt(n,`sticky`);break}if(this.idx!==this.input.length)throw Error(`Redundant input: `+this.input.substring(this.idx));return{type:`Pattern`,flags:n,value:t,loc:this.loc(0)}}disjunction(){let 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(){let e=[],t=this.idx;for(;this.isTerm();)e.push(this.term());return{type:`Alternative`,value:e,loc:this.loc(t)}}term(){return this.isAssertion()?this.assertion():this.atom()}assertion(){let e=this.idx;switch(this.popChar()){case`^`:return{type:`StartAnchor`,loc:this.loc(e)};case`$`:return{type:`EndAnchor`,loc:this.loc(e)};case`\\`:switch(this.popChar()){case`b`:return{type:`WordBoundary`,loc:this.loc(e)};case`B`:return{type:`NonWordBoundary`,loc:this.loc(e)}}throw Error(`Invalid Assertion Escape`);case`(`:this.consumeChar(`?`);let t;switch(this.popChar()){case`=`:t=`Lookahead`;break;case`!`:t=`NegativeLookahead`;break}qt(t);let n=this.disjunction();return this.consumeChar(`)`),{type:t,value:n,loc:this.loc(e)}}return Jt()}quantifier(e=!1){let t,n=this.idx;switch(this.popChar()){case`*`:t={atLeast:0,atMost:1/0};break;case`+`:t={atLeast:1,atMost:1/0};break;case`?`:t={atLeast:0,atMost:1};break;case`{`:let n=this.integerIncludingZero();switch(this.popChar()){case`}`:t={atLeast:n,atMost:n};break;case`,`:let e;this.isDigit()?(e=this.integerIncludingZero(),t={atLeast:n,atMost:e}):t={atLeast:n,atMost:1/0},this.consumeChar(`}`);break}if(e===!0&&t===void 0)return;qt(t);break}if(!(e===!0&&t===void 0)&&qt(t))return this.peekChar(0)===`?`?(this.consumeChar(`?`),t.greedy=!1):t.greedy=!0,t.type=`Quantifier`,t.loc=this.loc(n),t}atom(){let e,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();break}return e===void 0&&this.isPatternCharacter()&&(e=this.patternCharacter()),qt(e)?(e.loc=this.loc(t),this.isQuantifier()&&(e.quantifier=this.quantifier()),e):Jt()}dotAll(){return this.consumeChar(`.`),{type:`Set`,complement:!0,value:[T(`
|
|
3
|
+
`),T(`\r`),T(`\u2028`),T(`\u2029`)]}}atomEscape(){switch(this.consumeChar(`\\`),this.peekChar()){case`1`:case`2`:case`3`:case`4`:case`5`:case`6`:case`7`:case`8`:case`9`:return this.decimalEscapeAtom();case`d`:case`D`:case`s`:case`S`:case`w`:case`W`:return this.characterClassEscape();case`f`:case`n`:case`r`:case`t`:case`v`:return this.controlEscapeAtom();case`c`:return this.controlLetterEscapeAtom();case`0`:return this.nulCharacterAtom();case`x`:return this.hexEscapeSequenceAtom();case`u`:return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}decimalEscapeAtom(){return{type:`GroupBackReference`,value:this.positiveInteger()}}characterClassEscape(){let e,t=!1;switch(this.popChar()){case`d`:e=Xt;break;case`D`:e=Xt,t=!0;break;case`s`:e=Qt;break;case`S`:e=Qt,t=!0;break;case`w`:e=Zt;break;case`W`:e=Zt,t=!0;break}return qt(e)?{type:`Set`,value:e,complement:t}:Jt()}controlEscapeAtom(){let e;switch(this.popChar()){case`f`:e=T(`\f`);break;case`n`:e=T(`
|
|
4
|
+
`);break;case`r`:e=T(`\r`);break;case`t`:e=T(` `);break;case`v`:e=T(`\v`);break}return qt(e)?{type:`Character`,value:e}:Jt()}controlLetterEscapeAtom(){this.consumeChar(`c`);let e=this.popChar();if(/[a-zA-Z]/.test(e)===!1)throw Error(`Invalid `);return{type:`Character`,value:e.toUpperCase().charCodeAt(0)-64}}nulCharacterAtom(){return this.consumeChar(`0`),{type:`Character`,value:T(`\0`)}}hexEscapeSequenceAtom(){return this.consumeChar(`x`),this.parseHexDigits(2)}regExpUnicodeEscapeSequenceAtom(){return this.consumeChar(`u`),this.parseHexDigits(4)}identityEscapeAtom(){return{type:`Character`,value:T(this.popChar())}}classPatternCharacterAtom(){switch(this.peekChar()){case`
|
|
5
|
+
`:case`\r`:case`\u2028`:case`\u2029`:case`\\`:case`]`:throw Error(`TBD`);default:return{type:`Character`,value:T(this.popChar())}}}characterClass(){let e=[],t=!1;for(this.consumeChar(`[`),this.peekChar(0)===`^`&&(this.consumeChar(`^`),t=!0);this.isClassAtom();){let t=this.classAtom();if(t.type,Yt(t)&&this.isRangeDash()){this.consumeChar(`-`);let n=this.classAtom();if(n.type,Yt(n)){if(n.value<t.value)throw Error(`Range out of order in character class`);e.push({from:t.value,to:n.value})}else Gt(t.value,e),e.push(T(`-`)),Gt(n.value,e)}else Gt(t.value,e)}return this.consumeChar(`]`),{type:`Set`,complement:t,value:e}}classAtom(){switch(this.peekChar()){case`]`:case`
|
|
6
|
+
`:case`\r`:case`\u2028`:case`\u2029`:throw Error(`TBD`);case`\\`:return this.classEscape();default:return this.classPatternCharacterAtom()}}classEscape(){switch(this.consumeChar(`\\`),this.peekChar()){case`b`:return this.consumeChar(`b`),{type:`Character`,value:T(`\b`)};case`d`:case`D`:case`s`:case`S`:case`w`:case`W`:return this.characterClassEscape();case`f`:case`n`:case`r`:case`t`:case`v`:return this.controlEscapeAtom();case`c`:return this.controlLetterEscapeAtom();case`0`:return this.nulCharacterAtom();case`x`:return this.hexEscapeSequenceAtom();case`u`:return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}group(){let e=!0;switch(this.consumeChar(`(`),this.peekChar(0)){case`?`:this.consumeChar(`?`),this.consumeChar(`:`),e=!1;break;default:this.groupIdx++;break}let t=this.disjunction();this.consumeChar(`)`);let n={type:`Group`,capturing:e,value:t};return e&&(n.idx=this.groupIdx),n}positiveInteger(){let e=this.popChar();if(tn.test(e)===!1)throw Error(`Expecting a positive integer`);for(;en.test(this.peekChar(0));)e+=this.popChar();return parseInt(e,10)}integerIncludingZero(){let e=this.popChar();if(en.test(e)===!1)throw Error(`Expecting an integer`);for(;en.test(this.peekChar(0));)e+=this.popChar();return parseInt(e,10)}patternCharacter(){let e=this.popChar();switch(e){case`
|
|
7
|
+
`:case`\r`:case`\u2028`:case`\u2029`:case`^`:case`$`:case`\\`:case`.`:case`*`:case`+`:case`?`:case`(`:case`)`:case`[`:case`|`:throw Error(`TBD`);default:return{type:`Character`,value:T(e)}}}isRegExpFlag(){switch(this.peekChar(0)){case`g`:case`i`:case`m`:case`u`:case`y`:return!0;default:return!1}}isRangeDash(){return this.peekChar()===`-`&&this.isClassAtom(1)}isDigit(){return en.test(this.peekChar(0))}isClassAtom(e=0){switch(this.peekChar(e)){case`]`:case`
|
|
8
|
+
`:case`\r`:case`\u2028`:case`\u2029`:return!1;default:return!0}}isTerm(){return this.isAtom()||this.isAssertion()}isAtom(){if(this.isPatternCharacter())return!0;switch(this.peekChar(0)){case`.`:case`\\`:case`[`:case`(`:return!0;default:return!1}}isAssertion(){switch(this.peekChar(0)){case`^`:case`$`:return!0;case`\\`:switch(this.peekChar(1)){case`b`:case`B`:return!0;default:return!1}case`(`:return this.peekChar(1)===`?`&&(this.peekChar(2)===`=`||this.peekChar(2)===`!`);default:return!1}}isQuantifier(){let e=this.saveState();try{return this.quantifier(!0)!==void 0}catch{return!1}finally{this.restoreState(e)}}isPatternCharacter(){switch(this.peekChar()){case`^`:case`$`:case`\\`:case`.`:case`*`:case`+`:case`?`:case`(`:case`)`:case`[`:case`|`:case`/`:case`
|
|
9
|
+
`:case`\r`:case`\u2028`:case`\u2029`:return!1;default:return!0}}parseHexDigits(e){let t=``;for(let n=0;n<e;n++){let e=this.popChar();if($t.test(e)===!1)throw Error(`Expecting a HexDecimal digits`);t+=e}return{type:`Character`,value:parseInt(t,16)}}peekChar(e=0){return this.input[this.idx+e]}popChar(){let e=this.peekChar(0);return this.consumeChar(void 0),e}consumeChar(e){if(e!==void 0&&this.input[this.idx]!==e)throw Error(`Expected: '`+e+`' but found: '`+this.input[this.idx]+`' at offset: `+this.idx);if(this.idx>=this.input.length)throw Error(`Unexpected end of input`);this.idx++}loc(e){return{begin:e,end:this.idx}}},rn=class{visitChildren(e){for(let t in e){let n=e[t];e.hasOwnProperty(t)&&(n.type===void 0?Array.isArray(n)&&n.forEach(e=>{this.visit(e)},this):this.visit(n))}}visit(e){switch(e.type){case`Pattern`:this.visitPattern(e);break;case`Flags`:this.visitFlags(e);break;case`Disjunction`:this.visitDisjunction(e);break;case`Alternative`:this.visitAlternative(e);break;case`StartAnchor`:this.visitStartAnchor(e);break;case`EndAnchor`:this.visitEndAnchor(e);break;case`WordBoundary`:this.visitWordBoundary(e);break;case`NonWordBoundary`:this.visitNonWordBoundary(e);break;case`Lookahead`:this.visitLookahead(e);break;case`NegativeLookahead`:this.visitNegativeLookahead(e);break;case`Character`:this.visitCharacter(e);break;case`Set`:this.visitSet(e);break;case`Group`:this.visitGroup(e);break;case`GroupBackReference`:this.visitGroupBackReference(e);break;case`Quantifier`:this.visitQuantifier(e);break}this.visitChildren(e)}visitPattern(e){}visitFlags(e){}visitDisjunction(e){}visitAlternative(e){}visitStartAnchor(e){}visitEndAnchor(e){}visitWordBoundary(e){}visitNonWordBoundary(e){}visitLookahead(e){}visitNegativeLookahead(e){}visitCharacter(e){}visitSet(e){}visitGroup(e){}visitGroupBackReference(e){}visitQuantifier(e){}},an=/\r?\n/gm,on=new nn,sn=new class extends rn{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){let t=String.fromCharCode(e.value);if(!this.multiline&&t===`
|
|
10
|
+
`&&(this.multiline=!0),e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{let e=dn(t);this.endRegexpStack.push(e),this.isStarting&&(this.startRegexp+=e)}}visitSet(e){if(!this.multiline){let t=this.regex.substring(e.loc.begin,e.loc.end),n=new RegExp(t);this.multiline=!!`
|
|
11
|
+
`.match(n)}if(e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{let t=this.regex.substring(e.loc.begin,e.loc.end);this.endRegexpStack.push(t),this.isStarting&&(this.startRegexp+=t)}}visitChildren(e){e.type===`Group`&&e.quantifier||super.visitChildren(e)}};function cn(e){try{return typeof e==`string`&&(e=new RegExp(e)),e=e.toString(),sn.reset(e),sn.visit(on.pattern(e)),sn.multiline}catch{return!1}}var ln=`\f
|
|
12
|
+
\r \v \xA0 \u2028\u2029 `.split(``);function un(e){let t=typeof e==`string`?new RegExp(e):e;return ln.some(e=>t.test(e))}function dn(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}function fn(e){return Array.prototype.map.call(e,e=>/\w/.test(e)?`[${e.toLowerCase()}${e.toUpperCase()}]`:dn(e)).join(``)}function pn(e,t){let n=mn(e),r=t.match(n);return!!r&&r[0].length>0}function mn(e){typeof e==`string`&&(e=new RegExp(e));let t=e,n=e.source,r=0;function i(){let e=``,a;function o(t){e+=n.substr(r,t),r+=t}function s(t){e+=`(?:`+n.substr(r,t)+`|$)`,r+=t}for(;r<n.length;)switch(n[r]){case`\\`:switch(n[r+1]){case`c`:s(3);break;case`x`:s(4);break;case`u`:t.unicode?n[r+2]===`{`?s(n.indexOf(`}`,r)-r+1):s(6):s(2);break;case`p`:case`P`:t.unicode?s(n.indexOf(`}`,r)-r+1):s(2);break;case`k`:s(n.indexOf(`>`,r)-r+1);break;default:s(2);break}break;case`[`:a=/\[(?:\\.|.)*?\]/g,a.lastIndex=r,a=a.exec(n)||[],s(a[0].length);break;case`|`:case`^`:case`$`:case`*`:case`+`:case`?`:o(1);break;case`{`:a=/\{\d+,?\d*\}/g,a.lastIndex=r,a=a.exec(n),a?o(a[0].length):s(1);break;case`(`:if(n[r+1]===`?`)switch(n[r+2]){case`:`:e+=`(?:`,r+=3,e+=i()+`|$)`;break;case`=`:e+=`(?=`,r+=3,e+=i()+`)`;break;case`!`:a=r,r+=3,i(),e+=n.substr(a,r-a);break;case`<`:switch(n[r+3]){case`=`:case`!`:a=r,r+=4,i(),e+=n.substr(a,r-a);break;default:o(n.indexOf(`>`,r)-r+1),e+=i()+`|$)`;break}break}else o(1),e+=i()+`|$)`;break;case`)`:return++r,e;default:s(1);break}return e}return new RegExp(i(),e.flags)}function hn(e){return e.rules.find(e=>C(e)&&e.entry)}function gn(e){return e.rules.filter(e=>Je(e)&&e.hidden)}function _n(e,t){let n=new Set,r=hn(e);if(!r)return new Set(e.rules);let i=[r].concat(gn(e));for(let e of i)vn(e,n,t);let a=new Set;for(let t of e.rules)(n.has(t.name)||Je(t)&&t.hidden)&&a.add(t);return a}function vn(e,t,n){t.add(e.name),zt(e).forEach(e=>{if(bt(e)||n&&Et(e)){let r=e.rule.ref;r&&!t.has(r.name)&&vn(r,t,n)}})}function yn(e){if(e.terminal)return e.terminal;if(e.type.ref)return Dn(e.type.ref)?.terminal}function bn(e){return e.hidden&&!un(Fn(e))}function xn(e,t){return!e||!t?[]:Cn(e,t,e.astNode,!0)}function Sn(e,t,n){if(!e||!t)return;let r=Cn(e,t,e.astNode,!0);if(r.length!==0)return n=n===void 0?0:Math.max(0,Math.min(n,r.length-1)),r[n]}function Cn(e,t,n,r){if(!r){let n=Ft(e.grammarSource,it);if(n&&n.feature===t)return[e]}return d(e)&&e.astNode===n?e.content.flatMap(e=>Cn(e,t,n,!1)):[]}function wn(e,t,n){if(!e)return;let r=Tn(e,t,e?.astNode);if(r.length!==0)return n=n===void 0?0:Math.max(0,Math.min(n,r.length-1)),r[n]}function Tn(e,t,n){if(e.astNode!==n)return[];if(mt(e.grammarSource)&&e.grammarSource.value===t)return[e];let r=te(e).iterator(),i,a=[];do if(i=r.next(),!i.done){let e=i.value;e.astNode===n?mt(e.grammarSource)&&e.grammarSource.value===t&&a.push(e):r.prune()}while(!i.done);return a}function En(e){let t=e.astNode;for(;t===e.container?.astNode;){let t=Ft(e.grammarSource,it);if(t)return t;e=e.container}}function Dn(e){let t=e;return Ae(t)&&(et(t.$container)?t=t.$container.$container:C(t.$container)?t=t.$container:fe(t.$container)),On(e,t,new Map)}function On(e,t,n){function r(t,r){let i;return Ft(t,it)||(i=On(r,r,n)),n.set(e,i),i}if(n.has(e))return n.get(e);n.set(e,void 0);for(let i of zt(t))if(it(i)&&i.feature.toLowerCase()===`name`)return n.set(e,i),i;else if(bt(i)&&C(i.rule.ref))return r(i,i.rule.ref);else if(Ge(i)&&i.typeRef?.ref)return r(i,i.typeRef.ref)}function kn(e){return An(e,new Set)}function An(e,t){if(t.has(e))return!0;t.add(e);for(let n of zt(e))if(bt(n)){if(!n.rule.ref||C(n.rule.ref)&&!An(n.rule.ref,t))return!1}else if(it(n))return!1;else if(et(n))return!1;return!!e.definition}function jn(e){if(e.inferredType)return e.inferredType.name;if(e.dataType)return e.dataType;if(e.returnType){let t=e.returnType.ref;if(t&&(C(t)||Me(t)||Xe(t)))return t.name}}function Mn(e){if(C(e))return kn(e)?e.name:jn(e)??e.name;if(Me(e)||Xe(e)||Ue(e))return e.name;if(et(e)){let t=Nn(e);if(t)return t}else if(Ae(e))return e.name;throw Error(`Cannot get name of Unknown Type`)}function Nn(e){if(e.inferredType)return e.inferredType.name;if(e.type?.ref)return Mn(e.type.ref)}function Pn(e){return Je(e)?e.type?.name??`string`:jn(e)??e.name}function Fn(e){let t={s:!1,i:!1,u:!1},n=Ln(e.definition,t),r=Object.entries(t).filter(([,e])=>e).map(([e])=>e).join(``);return new RegExp(n,r)}var In=`[\\s\\S]`;function Ln(e,t){if(St(e))return Rn(e);if(wt(e))return zn(e);if(ot(e))return Hn(e);if(Et(e)){let t=e.rule.ref;if(!t)throw Error(`Missing rule reference.`);return Wn(Ln(t.definition),{cardinality:e.cardinality,lookahead:e.lookahead})}else if(gt(e))return Vn(e);else if(At(e))return Bn(e);else if(vt(e)){let n=e.regex.lastIndexOf(`/`),r=e.regex.substring(1,n),i=e.regex.substring(n+1);return t&&(t.i=i.includes(`i`),t.s=i.includes(`s`),t.u=i.includes(`u`)),Wn(r,{cardinality:e.cardinality,lookahead:e.lookahead,wrap:!1})}else if(Mt(e))return Wn(In,{cardinality:e.cardinality,lookahead:e.lookahead});else throw Error(`Invalid terminal element: ${e?.$type}`)}function Rn(e){return Wn(e.elements.map(e=>Ln(e)).join(`|`),{cardinality:e.cardinality,lookahead:e.lookahead})}function zn(e){return Wn(e.elements.map(e=>Ln(e)).join(``),{cardinality:e.cardinality,lookahead:e.lookahead})}function Bn(e){return Wn(`${In}*?${Ln(e.terminal)}`,{cardinality:e.cardinality,lookahead:e.lookahead})}function Vn(e){return Wn(`(?!${Ln(e.terminal)})${In}*?`,{cardinality:e.cardinality,lookahead:e.lookahead})}function Hn(e){return e.right?Wn(`[${Un(e.left)}-${Un(e.right)}]`,{cardinality:e.cardinality,lookahead:e.lookahead,wrap:!1}):Wn(Un(e.left),{cardinality:e.cardinality,lookahead:e.lookahead,wrap:!1})}function Un(e){return dn(e.value)}function Wn(e,t){return(t.wrap!==!1||t.lookahead)&&(e=`(${t.lookahead??``}${e})`),t.cardinality?`${e}${t.cardinality}`:e}function Gn(e){let t=[],n=e.Grammar;for(let e of n.rules)Je(e)&&bn(e)&&cn(Fn(e))&&t.push(e.name);return{multilineCommentRules:t,nameRegexp:se}}var Kn=Object.prototype.hasOwnProperty,E=n.t(function(e,t){if(n.w(t)||n.v(t)){n.d(t,r.D(t),e);return}for(var i in t)Kn.call(t,i)&&n.f(e,i,t[i])});function qn(e,t,n){var r=-1,i=e.length;t<0&&(t=-t>i?0:i+t),n=n>i?i:n,n<0&&(n+=i),i=t>n?0:n-t>>>0,t>>>=0;for(var a=Array(i);++r<i;)a[r]=e[r+t];return a}function Jn(e){for(var t=-1,n=e==null?0:e.length,r=0,i=[];++t<n;){var a=e[t];a&&(i[r++]=a)}return i}function Yn(e,t,n,r){for(var i=-1,a=e==null?0:e.length;++i<a;){var o=e[i];t(r,o,n(o),e)}return r}function Xn(e,t,n,i){return r.u(e,function(e,r,a){t(i,e,n(e),a)}),i}function Zn(e,t){return function(i,a){var o=n.b(i)?Yn:Xn,s=t?t():{};return o(i,e,r.f(a,2),s)}}var Qn=200;function $n(e,t,i,a){var o=-1,s=r.O,c=!0,l=e.length,u=[],d=t.length;if(!l)return u;i&&(t=r.M(t,n.h(i))),a?(s=r.l,c=!1):t.length>=Qn&&(s=r.g,c=!1,t=new r.v(t));outer:for(;++o<l;){var f=e[o],p=i==null?f:i(f);if(f=a||f!==0?f:0,c&&p===p){for(var m=d;m--;)if(t[m]===p)continue outer;u.push(f)}else s(t,p,a)||u.push(f)}return u}var er=n.r(function(e,t){return n._(e)?$n(e,r.S(t,1,n._,!0)):[]});function D(e,t,n){var r=e==null?0:e.length;return r?(t=n||t===void 0?1:i.p(t),qn(e,t<0?0:t,r)):[]}function tr(e,t,n){var r=e==null?0:e.length;return r?(t=n||t===void 0?1:i.p(t),t=r-t,qn(e,0,t<0?0:t)):[]}function nr(e,t){for(var n=-1,r=e==null?0:e.length;++n<r;)if(!t(e[n],n,e))return!1;return!0}function rr(e,t){var n=!0;return r.u(e,function(e,r,i){return n=!!t(e,r,i),n}),n}function ir(e,t,i){var a=n.b(e)?nr:rr;return i&&n.n(e,t,i)&&(t=void 0),a(e,r.f(t,3))}function ar(e){return e&&e.length?e[0]:void 0}function O(e,t){return r.S(i.s(e,t),1)}var or=Object.prototype.hasOwnProperty,sr=Zn(function(e,t,r){or.call(e,r)?e[r].push(t):n.N(e,r,[t])}),cr=Math.max;function k(e,t,a,o){e=n.v(e)?e:r.i(e),a=a&&!o?i.p(a):0;var s=e.length;return a<0&&(a=cr(s+a,0)),i.a(e)?a<=s&&e.indexOf(t,a)>-1:!!s&&r.k(e,t,a)>-1}var lr=Math.max;function ur(e,t,n){var a=e==null?0:e.length;if(!a)return-1;var o=n==null?0:i.p(n);return o<0&&(o=lr(a+o,0)),r.k(e,t,o)}var dr=`[object RegExp]`;function fr(e){return n.S(e)&&n.U(e)==dr}var pr=n.m&&n.m.isRegExp,mr=pr?n.h(pr):fr,hr=`Expected a function`;function gr(e){if(typeof e!=`function`)throw TypeError(hr);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)}}function _r(e,t){if(e==null)return{};var n=r.M(r.b(e),function(e){return[e]});return t=r.f(t),i.t(e,n,function(e,n){return t(e,n[0])})}function vr(e,t){return(n.b(e)?r.x:r.o)(e,gr(r.f(t,3)))}function yr(e,t){var n;return r.u(e,function(e,r,i){return n=t(e,r,i),!n}),!!n}function br(e,t,i){var a=n.b(e)?r._:yr;return i&&n.n(e,t,i)&&(t=void 0),a(e,r.f(t,3))}function xr(e){return e&&e.length?r.t(e):[]}function Sr(e,t){return e&&e.length?r.t(e,r.f(t,2)):[]}function Cr(e){console&&console.error&&console.error(`Error: ${e}`)}function wr(e){console&&console.warn&&console.warn(`Warning: ${e}`)}function Tr(e){let t=new Date().getTime(),n=e();return{time:new Date().getTime()-t,value:n}}function Er(e){function t(){}t.prototype=e;let n=new t;function r(){return typeof n.bar}return r(),r(),e}function Dr(e){return Or(e)?e.LABEL:e.name}function Or(e){return i.a(e.LABEL)&&e.LABEL!==``}var kr=class{get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){this._definition=e}accept(e){e.visit(this),r.s(this.definition,t=>{t.accept(e)})}},A=class extends kr{constructor(e){super([]),this.idx=1,E(this,_r(e,e=>e!==void 0))}set definition(e){}get definition(){return this.referencedRule===void 0?[]:this.referencedRule.definition}accept(e){e.visit(this)}},Ar=class extends kr{constructor(e){super(e.definition),this.orgText=``,E(this,_r(e,e=>e!==void 0))}},j=class extends kr{constructor(e){super(e.definition),this.ignoreAmbiguities=!1,E(this,_r(e,e=>e!==void 0))}},M=class extends kr{constructor(e){super(e.definition),this.idx=1,E(this,_r(e,e=>e!==void 0))}},N=class extends kr{constructor(e){super(e.definition),this.idx=1,E(this,_r(e,e=>e!==void 0))}},P=class extends kr{constructor(e){super(e.definition),this.idx=1,E(this,_r(e,e=>e!==void 0))}},F=class extends kr{constructor(e){super(e.definition),this.idx=1,E(this,_r(e,e=>e!==void 0))}},I=class extends kr{constructor(e){super(e.definition),this.idx=1,E(this,_r(e,e=>e!==void 0))}},L=class extends kr{get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){super(e.definition),this.idx=1,this.ignoreAmbiguities=!1,this.hasPredicates=!1,E(this,_r(e,e=>e!==void 0))}},R=class{constructor(e){this.idx=1,E(this,_r(e,e=>e!==void 0))}accept(e){e.visit(this)}};function jr(e){return i.s(e,Mr)}function Mr(e){function t(e){return i.s(e,Mr)}if(e instanceof A){let t={type:`NonTerminal`,name:e.nonTerminalName,idx:e.idx};return i.a(e.label)&&(t.label=e.label),t}else if(e instanceof j)return{type:`Alternative`,definition:t(e.definition)};else if(e instanceof M)return{type:`Option`,idx:e.idx,definition:t(e.definition)};else if(e instanceof N)return{type:`RepetitionMandatory`,idx:e.idx,definition:t(e.definition)};else if(e instanceof P)return{type:`RepetitionMandatoryWithSeparator`,idx:e.idx,separator:Mr(new R({terminalType:e.separator})),definition:t(e.definition)};else if(e instanceof I)return{type:`RepetitionWithSeparator`,idx:e.idx,separator:Mr(new R({terminalType:e.separator})),definition:t(e.definition)};else if(e instanceof F)return{type:`Repetition`,idx:e.idx,definition:t(e.definition)};else if(e instanceof L)return{type:`Alternation`,idx:e.idx,definition:t(e.definition)};else if(e instanceof R){let t={type:`Terminal`,name:e.terminalType.name,label:Dr(e.terminalType),idx:e.idx};i.a(e.label)&&(t.terminalLabel=e.label);let n=e.terminalType.PATTERN;return e.terminalType.PATTERN&&(t.pattern=mr(n)?n.source:n),t}else if(e instanceof Ar)return{type:`Rule`,name:e.name,orgText:e.orgText,definition:t(e.definition)};else throw Error(`non exhaustive match`)}var Nr=class{visit(e){let t=e;switch(t.constructor){case A:return this.visitNonTerminal(t);case j:return this.visitAlternative(t);case M:return this.visitOption(t);case N:return this.visitRepetitionMandatory(t);case P:return this.visitRepetitionMandatoryWithSeparator(t);case I:return this.visitRepetitionWithSeparator(t);case F:return this.visitRepetition(t);case L:return this.visitAlternation(t);case R:return this.visitTerminal(t);case Ar: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 Pr(e){return e instanceof j||e instanceof M||e instanceof F||e instanceof N||e instanceof P||e instanceof I||e instanceof R||e instanceof Ar}function Fr(e,t=[]){return e instanceof M||e instanceof F||e instanceof I?!0:e instanceof L?br(e.definition,e=>Fr(e,t)):e instanceof A&&k(t,e)?!1:e instanceof kr?(e instanceof A&&t.push(e),ir(e.definition,e=>Fr(e,t))):!1}function Ir(e){return e instanceof L}function Lr(e){if(e instanceof A)return`SUBRULE`;if(e instanceof M)return`OPTION`;if(e instanceof L)return`OR`;if(e instanceof N)return`AT_LEAST_ONE`;if(e instanceof P)return`AT_LEAST_ONE_SEP`;if(e instanceof I)return`MANY_SEP`;if(e instanceof F)return`MANY`;if(e instanceof R)return`CONSUME`;throw Error(`non exhaustive match`)}var Rr=class{walk(e,t=[]){r.s(e.definition,(n,r)=>{let i=D(e.definition,r+1);if(n instanceof A)this.walkProdRef(n,i,t);else if(n instanceof R)this.walkTerminal(n,i,t);else if(n instanceof j)this.walkFlat(n,i,t);else if(n instanceof M)this.walkOption(n,i,t);else if(n instanceof N)this.walkAtLeastOne(n,i,t);else if(n instanceof P)this.walkAtLeastOneSep(n,i,t);else if(n instanceof I)this.walkManySep(n,i,t);else if(n instanceof F)this.walkMany(n,i,t);else if(n instanceof L)this.walkOr(n,i,t);else throw Error(`non exhaustive match`)})}walkTerminal(e,t,n){}walkProdRef(e,t,n){}walkFlat(e,t,n){let r=t.concat(n);this.walk(e,r)}walkOption(e,t,n){let r=t.concat(n);this.walk(e,r)}walkAtLeastOne(e,t,n){let r=[new M({definition:e.definition})].concat(t,n);this.walk(e,r)}walkAtLeastOneSep(e,t,n){let r=zr(e,t,n);this.walk(e,r)}walkMany(e,t,n){let r=[new M({definition:e.definition})].concat(t,n);this.walk(e,r)}walkManySep(e,t,n){let r=zr(e,t,n);this.walk(e,r)}walkOr(e,t,n){let i=t.concat(n);r.s(e.definition,e=>{let t=new j({definition:[e]});this.walk(t,i)})}};function zr(e,t,n){return[new M({definition:[new R({terminalType:e.separator})].concat(e.definition)})].concat(t,n)}function Br(e){if(e instanceof A)return Br(e.referencedRule);if(e instanceof R)return Ur(e);if(Pr(e))return Vr(e);if(Ir(e))return Hr(e);throw Error(`non exhaustive match`)}function Vr(e){let t=[],n=e.definition,r=0,i=n.length>r,a,o=!0;for(;i&&o;)a=n[r],o=Fr(a),t=t.concat(Br(a)),r+=1,i=n.length>r;return xr(t)}function Hr(e){return xr(i.f(i.s(e.definition,e=>Br(e))))}function Ur(e){return[e.terminalType]}var Wr=`_~IN~_`,Gr=class extends Rr{constructor(e){super(),this.topProd=e,this.follows={}}startWalking(){return this.walk(this.topProd),this.follows}walkTerminal(e,t,n){}walkProdRef(e,t,n){let r=qr(e.referencedRule,e.idx)+this.topProd.name,i=Br(new j({definition:t.concat(n)}));this.follows[r]=i}};function Kr(e){let t={};return r.s(e,e=>{E(t,new Gr(e).startWalking())}),t}function qr(e,t){return e.name+t+Wr}var Jr={},Yr=new nn;function Xr(e){let t=e.toString();if(Jr.hasOwnProperty(t))return Jr[t];{let e=Yr.pattern(t);return Jr[t]=e,e}}function Zr(){Jr={}}var Qr=`Complement Sets are not supported for first char optimization`,$r=`Unable to use "first char" lexer optimizations:
|
|
13
|
+
`;function ei(e,t=!1){try{let t=Xr(e);return ti(t.value,{},t.flags.ignoreCase)}catch(n){if(n.message===Qr)t&&wr(`${$r}\tUnable to optimize: < ${e.toString()} >\n Complement Sets cannot be automatically optimized.
|
|
14
|
+
This will disable the lexer's first char optimizations.
|
|
15
|
+
See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#COMPLEMENT for details.`);else{let n=``;t&&(n=`
|
|
16
|
+
This will disable the lexer's first char optimizations.
|
|
17
|
+
See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#REGEXP_PARSING for details.`),Cr(`${$r}\n\tFailed parsing: < ${e.toString()} >\n\tUsing the @chevrotain/regexp-to-ast library\n Please open an issue at: https://github.com/chevrotain/chevrotain/issues`+n)}}return[]}function ti(e,t,n){switch(e.type){case`Disjunction`:for(let r=0;r<e.value.length;r++)ti(e.value[r],t,n);break;case`Alternative`:let i=e.value;for(let e=0;e<i.length;e++){let a=i[e];switch(a.type){case`EndAnchor`:case`GroupBackReference`:case`Lookahead`:case`NegativeLookahead`:case`StartAnchor`:case`WordBoundary`:case`NonWordBoundary`:continue}let o=a;switch(o.type){case`Character`:ni(o.value,t,n);break;case`Set`:if(o.complement===!0)throw Error(Qr);r.s(o.value,e=>{if(typeof e==`number`)ni(e,t,n);else{let r=e;if(n===!0)for(let e=r.from;e<=r.to;e++)ni(e,t,n);else{for(let e=r.from;e<=r.to&&e<256;e++)ni(e,t,n);if(r.to>=256){let e=r.from>=256?r.from:256,n=r.to,i=Vi(e),a=Vi(n);for(let e=i;e<=a;e++)t[e]=e}}}});break;case`Group`:ti(o.value,t,n);break;default:throw Error(`Non Exhaustive Match`)}let s=o.quantifier!==void 0&&o.quantifier.atLeast===0;if(o.type===`Group`&&ai(o)===!1||o.type!==`Group`&&s===!1)break}break;default:throw Error(`non exhaustive match!`)}return r.i(t)}function ni(e,t,n){let r=Vi(e);t[r]=r,n===!0&&ri(e,t)}function ri(e,t){let n=String.fromCharCode(e),r=n.toUpperCase();if(r!==n){let e=Vi(r.charCodeAt(0));t[e]=e}else{let e=n.toLowerCase();if(e!==n){let n=Vi(e.charCodeAt(0));t[n]=n}}}function ii(e,t){return i.l(e.value,e=>{if(typeof e==`number`)return k(t,e);{let n=e;return i.l(t,e=>n.from<=e&&e<=n.to)!==void 0}})}function ai(e){let t=e.quantifier;return t&&t.atLeast===0?!0:e.value?n.b(e.value)?ir(e.value,ai):ai(e.value):!1}var oi=class extends rn{constructor(e){super(),this.targetCharCodes=e,this.found=!1}visitChildren(e){if(this.found!==!0){switch(e.type){case`Lookahead`:this.visitLookahead(e);return;case`NegativeLookahead`:this.visitNegativeLookahead(e);return}super.visitChildren(e)}}visitCharacter(e){k(this.targetCharCodes,e.value)&&(this.found=!0)}visitSet(e){e.complement?ii(e,this.targetCharCodes)===void 0&&(this.found=!0):ii(e,this.targetCharCodes)!==void 0&&(this.found=!0)}};function si(e,t){if(t instanceof RegExp){let n=Xr(t),r=new oi(e);return r.visit(n),r.found}else return i.l(t,t=>k(e,t.charCodeAt(0)))!==void 0}var ci=`PATTERN`,li=`defaultMode`,ui=typeof RegExp(`(?:)`).sticky==`boolean`;function di(e,a){a=i.d(a,{useSticky:ui,debug:!1,safeMode:!1,positionTracking:`full`,lineTerminatorCharacters:[`\r`,`
|
|
18
|
+
`],tracer:(e,t)=>t()});let o=a.tracer;o(`initCharCodeToOptimizedIndexMap`,()=>{Hi()});let s;o(`Reject Lexer.NA`,()=>{s=vr(e,e=>e[ci]===B.NA)});let c=!1,l;o(`Transform Patterns`,()=>{c=!1,l=i.s(s,e=>{let t=e[ci];if(mr(t)){let e=t.source;return e.length===1&&e!==`^`&&e!==`$`&&e!==`.`&&!t.ignoreCase?e:e.length===2&&e[0]===`\\`&&!k([`d`,`D`,`s`,`S`,`t`,`r`,`n`,`t`,`0`,`c`,`b`,`B`,`f`,`v`,`w`,`W`],e[1])?e[1]:a.useSticky?ki(t):Oi(t)}else if(n.V(t))return c=!0,{exec:t};else if(typeof t==`object`)return c=!0,t;else if(typeof t==`string`){if(t.length===1)return t;{let e=t.replace(/[\\^$.*+?()[\]{}|]/g,`\\$&`),n=new RegExp(e);return a.useSticky?ki(n):Oi(n)}}else throw Error(`non exhaustive match`)})});let u,d,f,p,m;o(`misc mapping`,()=>{u=i.s(s,e=>e.tokenTypeIdx),d=i.s(s,e=>{let t=e.GROUP;if(t!==B.SKIPPED){if(i.a(t))return t;if(r.r(t))return!1;throw Error(`non exhaustive match`)}}),f=i.s(s,e=>{let t=e.LONGER_ALT;if(t)return n.b(t)?i.s(t,e=>ur(s,e)):[ur(s,t)]}),p=i.s(s,e=>e.PUSH_MODE),m=i.s(s,e=>i.o(e,`POP_MODE`))});let h;o(`Line Terminator Handling`,()=>{let e=Ri(a.lineTerminatorCharacters);h=i.s(s,e=>!1),a.positionTracking!==`onlyOffset`&&(h=i.s(s,t=>i.o(t,`LINE_BREAKS`)?!!t.LINE_BREAKS:Ii(t,e)===!1&&si(e,t.PATTERN)))});let g,_,v,y;o(`Misc Mapping #2`,()=>{g=i.s(s,Ni),_=i.s(l,Pi),v=r.n(s,(e,t)=>{let n=t.GROUP;return i.a(n)&&n!==B.SKIPPED&&(e[n]=[]),e},{}),y=i.s(l,(e,t)=>({pattern:l[t],longerAlt:f[t],canLineTerminator:h[t],isCustom:g[t],short:_[t],group:d[t],push:p[t],pop:m[t],tokenTypeIdx:u[t],tokenType:s[t]}))});let b=!0,ee=[];return a.safeMode||o(`First Char Optimization`,()=>{ee=r.n(s,(e,i,o)=>{if(typeof i.PATTERN==`string`)zi(e,Vi(i.PATTERN.charCodeAt(0)),y[o]);else if(n.b(i.START_CHARS_HINT)){let t;r.s(i.START_CHARS_HINT,n=>{let r=Vi(typeof n==`string`?n.charCodeAt(0):n);t!==r&&(t=r,zi(e,r,y[o]))})}else if(mr(i.PATTERN))if(i.PATTERN.unicode)b=!1,a.ensureOptimizations&&Cr(`${$r}\tUnable to analyze < ${i.PATTERN.toString()} > pattern.\n The regexp unicode flag is not currently supported by the regexp-to-ast library.
|
|
19
|
+
This will disable the lexer's first char optimizations.
|
|
20
|
+
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNICODE_OPTIMIZE`);else{let n=ei(i.PATTERN,a.ensureOptimizations);t.i(n)&&(b=!1),r.s(n,t=>{zi(e,t,y[o])})}else a.ensureOptimizations&&Cr(`${$r}\tTokenType: <${i.name}> is using a custom token pattern without providing <start_chars_hint> parameter.\n This will disable the lexer's first char optimizations.
|
|
21
|
+
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_OPTIMIZE`),b=!1;return e},[])}),{emptyGroups:v,patternIdxToConfig:y,charCodeToPatternIdxToConfig:ee,hasCustom:c,canBeOptimized:b}}function fi(e,t){let n=[],r=mi(e);n=n.concat(r.errors);let i=hi(r.valid),a=i.valid;return n=n.concat(i.errors),n=n.concat(pi(a)),n=n.concat(Ci(a)),n=n.concat(wi(a,t)),n=n.concat(Ti(a)),n}function pi(e){let t=[],n=r.a(e,e=>mr(e[ci]));return t=t.concat(_i(n)),t=t.concat(bi(n)),t=t.concat(xi(n)),t=t.concat(Si(n)),t=t.concat(vi(n)),t}function mi(e){let t=r.a(e,e=>!i.o(e,ci));return{errors:i.s(t,e=>({message:`Token Type: ->`+e.name+`<- missing static 'PATTERN' property`,type:z.MISSING_PATTERN,tokenTypes:[e]})),valid:er(e,t)}}function hi(e){let t=r.a(e,e=>{let t=e[ci];return!mr(t)&&!n.V(t)&&!i.o(t,`exec`)&&!i.a(t)});return{errors:i.s(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:z.INVALID_PATTERN,tokenTypes:[e]})),valid:er(e,t)}}var gi=/[^\\][$]/;function _i(e){class t extends rn{constructor(){super(...arguments),this.found=!1}visitEndAnchor(e){this.found=!0}}return i.s(r.a(e,e=>{let n=e.PATTERN;try{let e=Xr(n),r=new t;return r.visit(e),r.found}catch{return gi.test(n.source)}}),e=>({message:`Unexpected RegExp Anchor Error:
|
|
22
|
+
Token Type: ->`+e.name+`<- static 'PATTERN' cannot contain end of input anchor '$'
|
|
23
|
+
See chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:z.EOI_ANCHOR_FOUND,tokenTypes:[e]}))}function vi(e){return i.s(r.a(e,e=>e.PATTERN.test(``)),e=>({message:`Token Type: ->`+e.name+`<- static 'PATTERN' must not match an empty string`,type:z.EMPTY_MATCH_PATTERN,tokenTypes:[e]}))}var yi=/[^\\[][\^]|^\^/;function bi(e){class t extends rn{constructor(){super(...arguments),this.found=!1}visitStartAnchor(e){this.found=!0}}return i.s(r.a(e,e=>{let n=e.PATTERN;try{let e=Xr(n),r=new t;return r.visit(e),r.found}catch{return yi.test(n.source)}}),e=>({message:`Unexpected RegExp Anchor Error:
|
|
24
|
+
Token Type: ->`+e.name+`<- static 'PATTERN' cannot contain start of input anchor '^'
|
|
25
|
+
See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:z.SOI_ANCHOR_FOUND,tokenTypes:[e]}))}function xi(e){return i.s(r.a(e,e=>{let t=e[ci];return t instanceof RegExp&&(t.multiline||t.global)}),e=>({message:`Token Type: ->`+e.name+`<- static 'PATTERN' may NOT contain global('g') or multiline('m')`,type:z.UNSUPPORTED_FLAGS_FOUND,tokenTypes:[e]}))}function Si(e){let t=[],n=i.s(e,n=>r.n(e,(e,r)=>n.PATTERN.source===r.PATTERN.source&&!k(t,r)&&r.PATTERN!==B.NA?(t.push(r),e.push(r),e):e,[]));return n=Jn(n),i.s(r.a(n,e=>e.length>1),e=>{let t=i.s(e,e=>e.name);return{message:`The same RegExp pattern ->${ar(e).PATTERN}<-has been used in all of the following Token Types: ${t.join(`, `)} <-`,type:z.DUPLICATE_PATTERNS_FOUND,tokenTypes:e}})}function Ci(e){return i.s(r.a(e,e=>{if(!i.o(e,`GROUP`))return!1;let t=e.GROUP;return t!==B.SKIPPED&&t!==B.NA&&!i.a(t)}),e=>({message:`Token Type: ->`+e.name+`<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String`,type:z.INVALID_GROUP_TYPE_FOUND,tokenTypes:[e]}))}function wi(e,t){return i.s(r.a(e,e=>e.PUSH_MODE!==void 0&&!k(t,e.PUSH_MODE)),e=>({message:`Token Type: ->${e.name}<- static 'PUSH_MODE' value cannot refer to a Lexer Mode ->${e.PUSH_MODE}<-which does not exist`,type:z.PUSH_MODE_DOES_NOT_EXIST,tokenTypes:[e]}))}function Ti(e){let t=[],n=r.n(e,(e,t,n)=>{let r=t.PATTERN;return r===B.NA||(i.a(r)?e.push({str:r,idx:n,tokenType:t}):mr(r)&&Di(r)&&e.push({str:r.source,idx:n,tokenType:t})),e},[]);return r.s(e,(e,i)=>{r.s(n,({str:n,idx:r,tokenType:a})=>{if(i<r&&Ei(n,e.PATTERN)){let n=`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:n,type:z.UNREACHABLE_PATTERN,tokenTypes:[e,a]})}})}),t}function Ei(e,t){if(mr(t)){let n=t.exec(e);return n!==null&&n.index===0}else if(n.V(t))return t(e,0,[],{});else if(i.o(t,`exec`))return t.exec(e,0,[],{});else if(typeof t==`string`)return t===e;else throw Error(`non exhaustive match`)}function Di(e){return i.l([`.`,`\\`,`[`,`]`,`|`,`^`,`$`,`(`,`)`,`?`,`*`,`+`,`{`],t=>e.source.indexOf(t)!==-1)===void 0}function Oi(e){let t=e.ignoreCase?`i`:``;return RegExp(`^(?:${e.source})`,t)}function ki(e){let t=e.ignoreCase?`iy`:`y`;return RegExp(`${e.source}`,t)}function Ai(e,t,a){let o=[];return i.o(e,`defaultMode`)||o.push({message:`A MultiMode Lexer cannot be initialized without a <defaultMode> property in its definition
|
|
26
|
+
`,type:z.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE}),i.o(e,`modes`)||o.push({message:`A MultiMode Lexer cannot be initialized without a <modes> property in its definition
|
|
27
|
+
`,type:z.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY}),i.o(e,`modes`)&&i.o(e,`defaultMode`)&&!i.o(e.modes,e.defaultMode)&&o.push({message:`A MultiMode Lexer cannot be initialized with a ${li}: <${e.defaultMode}>which does not exist\n`,type:z.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST}),i.o(e,`modes`)&&r.s(e.modes,(e,t)=>{r.s(e,(a,s)=>{r.r(a)?o.push({message:`A Lexer cannot be initialized using an undefined Token Type. Mode:<${t}> at index: <${s}>\n`,type:z.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED}):i.o(a,`LONGER_ALT`)&&r.s(n.b(a.LONGER_ALT)?a.LONGER_ALT:[a.LONGER_ALT],n=>{!r.r(n)&&!k(e,n)&&o.push({message:`A MultiMode Lexer cannot be initialized with a longer_alt <${n.name}> on token <${a.name}> outside of mode <${t}>\n`,type:z.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE})})})}),o}function ji(e,t,n){let a=[],o=!1,s=vr(Jn(i.f(r.i(e.modes))),e=>e[ci]===B.NA),c=Ri(n);return t&&r.s(s,e=>{let t=Ii(e,c);if(t!==!1){let n={message:Li(e,t),type:t.issue,tokenType:e};a.push(n)}else i.o(e,`LINE_BREAKS`)?e.LINE_BREAKS===!0&&(o=!0):si(c,e.PATTERN)&&(o=!0)}),t&&!o&&a.push({message:`Warning: No LINE_BREAKS Found.
|
|
28
|
+
This Lexer has been defined to track line and column information,
|
|
29
|
+
But none of the Token Types can be identified as matching a line terminator.
|
|
30
|
+
See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#LINE_BREAKS
|
|
31
|
+
for details.`,type:z.NO_LINE_BREAKS_FLAGS}),a}function Mi(e){let t={};return r.s(r.D(e),r=>{let i=e[r];if(n.b(i))t[r]=[];else throw Error(`non exhaustive match`)}),t}function Ni(e){let t=e.PATTERN;if(mr(t))return!1;if(n.V(t)||i.o(t,`exec`))return!0;if(i.a(t))return!1;throw Error(`non exhaustive match`)}function Pi(e){return i.a(e)&&e.length===1?e.charCodeAt(0):!1}var Fi={test:function(e){let t=e.length;for(let n=this.lastIndex;n<t;n++){let t=e.charCodeAt(n);if(t===10)return this.lastIndex=n+1,!0;if(t===13)return e.charCodeAt(n+1)===10?this.lastIndex=n+2:this.lastIndex=n+1,!0}return!1},lastIndex:0};function Ii(e,t){if(i.o(e,`LINE_BREAKS`))return!1;if(mr(e.PATTERN)){try{si(t,e.PATTERN)}catch(e){return{issue:z.IDENTIFY_TERMINATOR,errMsg:e.message}}return!1}else if(i.a(e.PATTERN))return!1;else if(Ni(e))return{issue:z.CUSTOM_LINE_BREAK};else throw Error(`non exhaustive match`)}function Li(e,t){if(t.issue===z.IDENTIFY_TERMINATOR)return`Warning: unable to identify line terminator usage in pattern.
|
|
32
|
+
\tThe problem is in the <${e.name}> Token Type\n\t Root cause: ${t.errMsg}.\n For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#IDENTIFY_TERMINATOR`;if(t.issue===z.CUSTOM_LINE_BREAK)return`Warning: A Custom Token Pattern should specify the <line_breaks> option.
|
|
33
|
+
\tThe problem is in the <${e.name}> Token Type\n For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_LINE_BREAK`;throw Error(`non exhaustive match`)}function Ri(e){return i.s(e,e=>i.a(e)?e.charCodeAt(0):e)}function zi(e,t,n){e[t]===void 0?e[t]=[n]:e[t].push(n)}var Bi=[];function Vi(e){return e<256?e:Bi[e]}function Hi(){if(t.i(Bi)){Bi=Array(65536);for(let e=0;e<65536;e++)Bi[e]=e>255?255+~~(e/255):e}}function Ui(e,t){let n=e.tokenTypeIdx;return n===t.tokenTypeIdx?!0:t.isParent===!0&&t.categoryMatchesMap[n]===!0}function Wi(e,t){return e.tokenTypeIdx===t.tokenTypeIdx}var Gi=1,Ki={};function qi(e){let t=Ji(e);Yi(t),Zi(t),Xi(t),r.s(t,e=>{e.isParent=e.categoryMatches.length>0})}function Ji(e){let n=a.t(e),r=e,o=!0;for(;o;){r=Jn(i.f(i.s(r,e=>e.CATEGORIES)));let e=er(r,n);n=n.concat(e),t.i(e)?o=!1:r=e}return n}function Yi(e){r.s(e,e=>{$i(e)||(Ki[Gi]=e,e.tokenTypeIdx=Gi++),ea(e)&&!n.b(e.CATEGORIES)&&(e.CATEGORIES=[e.CATEGORIES]),ea(e)||(e.CATEGORIES=[]),ta(e)||(e.categoryMatches=[]),na(e)||(e.categoryMatchesMap={})})}function Xi(e){r.s(e,e=>{e.categoryMatches=[],r.s(e.categoryMatchesMap,(t,n)=>{e.categoryMatches.push(Ki[n].tokenTypeIdx)})})}function Zi(e){r.s(e,e=>{Qi([],e)})}function Qi(e,t){r.s(e,e=>{t.categoryMatchesMap[e.tokenTypeIdx]=!0}),r.s(t.CATEGORIES,n=>{let r=e.concat(t);k(r,n)||Qi(r,n)})}function $i(e){return i.o(e,`tokenTypeIdx`)}function ea(e){return i.o(e,`CATEGORIES`)}function ta(e){return i.o(e,`categoryMatches`)}function na(e){return i.o(e,`categoryMatchesMap`)}function ra(e){return i.o(e,`tokenTypeIdx`)}var ia={buildUnableToPopLexerModeMessage(e){return`Unable to pop Lexer Mode after encountering Token ->${e.image}<- The Mode Stack is empty`},buildUnexpectedCharactersMessage(e,t,n,r,i){return`unexpected character: ->${e.charAt(t)}<- at offset: ${t}, skipped ${n} characters.`}},z;(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`})(z||={});var aa={deferDefinitionErrorsHandling:!1,positionTracking:`full`,lineTerminatorsPattern:/\n|\r\n?/g,lineTerminatorCharacters:[`
|
|
34
|
+
`,`\r`],ensureOptimizations:!1,safeMode:!1,errorMessageProvider:ia,traceInitPerf:!1,skipValidations:!1,recoveryEnabled:!0};Object.freeze(aa);var B=class{constructor(e,o=aa){if(this.lexerDefinition=e,this.lexerDefinitionErrors=[],this.lexerDefinitionWarning=[],this.patternIdxToConfig={},this.charCodeToPatternIdxToConfig={},this.modes=[],this.emptyGroups={},this.trackStartLines=!0,this.trackEndLines=!0,this.hasCustom=!1,this.canModeBeOptimized={},this.TRACE_INIT=(e,t)=>{if(this.traceInitPerf===!0){this.traceInitIndent++;let n=Array(this.traceInitIndent+1).join(` `);this.traceInitIndent<this.traceInitMaxIdent&&console.log(`${n}--> <${e}>`);let{time:r,value:i}=Tr(t),a=r>10?console.warn:console.log;return this.traceInitIndent<this.traceInitMaxIdent&&a(`${n}<-- <${e}> time: ${r}ms`),this.traceInitIndent--,i}else return t()},typeof o==`boolean`)throw Error(`The second argument to the Lexer constructor is now an ILexerConfig Object.
|
|
35
|
+
a boolean 2nd argument is no longer supported`);this.config=E({},aa,o);let s=this.config.traceInitPerf;s===!0?(this.traceInitMaxIdent=1/0,this.traceInitPerf=!0):typeof s==`number`&&(this.traceInitMaxIdent=s,this.traceInitPerf=!0),this.traceInitIndent=-1,this.TRACE_INIT(`Lexer Constructor`,()=>{let s,c=!0;this.TRACE_INIT(`Lexer Config handling`,()=>{if(this.config.lineTerminatorsPattern===aa.lineTerminatorsPattern)this.config.lineTerminatorsPattern=Fi;else if(this.config.lineTerminatorCharacters===aa.lineTerminatorCharacters)throw Error(`Error: Missing <lineTerminatorCharacters> property on the Lexer config.
|
|
36
|
+
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#MISSING_LINE_TERM_CHARS`);if(o.safeMode&&o.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),n.b(e)?s={modes:{defaultMode:a.t(e)},defaultMode:li}:(c=!1,s=a.t(e))}),this.config.skipValidations===!1&&(this.TRACE_INIT(`performRuntimeChecks`,()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(Ai(s,this.trackStartLines,this.config.lineTerminatorCharacters))}),this.TRACE_INIT(`performWarningRuntimeChecks`,()=>{this.lexerDefinitionWarning=this.lexerDefinitionWarning.concat(ji(s,this.trackStartLines,this.config.lineTerminatorCharacters))})),s.modes=s.modes?s.modes:{},r.s(s.modes,(e,t)=>{s.modes[t]=vr(e,e=>r.r(e))});let l=r.D(s.modes);if(r.s(s.modes,(e,n)=>{this.TRACE_INIT(`Mode: <${n}> processing`,()=>{if(this.modes.push(n),this.config.skipValidations===!1&&this.TRACE_INIT(`validatePatterns`,()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(fi(e,l))}),t.i(this.lexerDefinitionErrors)){qi(e);let t;this.TRACE_INIT(`analyzeTokenTypes`,()=>{t=di(e,{lineTerminatorCharacters:this.config.lineTerminatorCharacters,positionTracking:o.positionTracking,ensureOptimizations:o.ensureOptimizations,safeMode:o.safeMode,tracer:this.TRACE_INIT})}),this.patternIdxToConfig[n]=t.patternIdxToConfig,this.charCodeToPatternIdxToConfig[n]=t.charCodeToPatternIdxToConfig,this.emptyGroups=E({},this.emptyGroups,t.emptyGroups),this.hasCustom=t.hasCustom||this.hasCustom,this.canModeBeOptimized[n]=t.canBeOptimized}})}),this.defaultMode=s.defaultMode,!t.i(this.lexerDefinitionErrors)&&!this.config.deferDefinitionErrorsHandling){let e=i.s(this.lexerDefinitionErrors,e=>e.message).join(`-----------------------
|
|
37
|
+
`);throw Error(`Errors detected in definition of Lexer:
|
|
38
|
+
`+e)}r.s(this.lexerDefinitionWarning,e=>{wr(e.message)}),this.TRACE_INIT(`Choosing sub-methods implementations`,()=>{if(ui?(this.chopInput=n.s,this.match=this.matchWithTest):(this.updateLastIndex=r.j,this.match=this.matchWithExec),c&&(this.handleModes=r.j),this.trackStartLines===!1&&(this.computeNewColumn=n.s),this.trackEndLines===!1&&(this.updateTokenEndLineColumnLocation=r.j),/full/i.test(this.config.positionTracking))this.createTokenInstance=this.createFullToken;else if(/onlyStart/i.test(this.config.positionTracking))this.createTokenInstance=this.createStartOnlyToken;else if(/onlyOffset/i.test(this.config.positionTracking))this.createTokenInstance=this.createOffsetOnlyToken;else throw Error(`Invalid <positionTracking> config option: "${this.config.positionTracking}"`);this.hasCustom?(this.addToken=this.addTokenUsingPush,this.handlePayload=this.handlePayloadWithCustom):(this.addToken=this.addTokenUsingMemberAccess,this.handlePayload=this.handlePayloadNoCustom)}),this.TRACE_INIT(`Failed Optimization Warnings`,()=>{let e=r.n(this.canModeBeOptimized,(e,t,n)=>(t===!1&&e.push(n),e),[]);if(o.ensureOptimizations&&!t.i(e))throw Error(`Lexer Modes: < ${e.join(`, `)} > cannot be optimized.\n Disable the "ensureOptimizations" lexer config flag to silently ignore this and run the lexer in an un-optimized mode.
|
|
39
|
+
Or inspect the console log for details on how to resolve these issues.`)}),this.TRACE_INIT(`clearRegExpParserCache`,()=>{Zr()}),this.TRACE_INIT(`toFastProperties`,()=>{Er(this)})})}tokenize(e,n=this.defaultMode){if(!t.i(this.lexerDefinitionErrors)){let e=i.s(this.lexerDefinitionErrors,e=>e.message).join(`-----------------------
|
|
40
|
+
`);throw Error(`Unable to Tokenize because Errors detected in definition of Lexer:
|
|
41
|
+
`+e)}return this.tokenizeInternal(e,n)}tokenizeInternal(e,t){let n,r,a,o,s,c,l,u,d,f,p,m,h,g,_,v=e,y=v.length,b=0,ee=0,te=this.hasCustom?0:Math.floor(e.length/10),ne=Array(te),re=[],ie=this.trackStartLines?1:void 0,x=this.trackStartLines?1:void 0,ae=Mi(this.emptyGroups),oe=this.trackStartLines,se=this.config.lineTerminatorsPattern,ce=0,le=[],ue=[],de=[],fe=[];Object.freeze(fe);let pe;function me(){return le}function he(e){let t=Vi(e),n=ue[t];return n===void 0?fe:n}let ge=e=>{if(de.length===1&&e.tokenType.PUSH_MODE===void 0){let t=this.config.errorMessageProvider.buildUnableToPopLexerModeMessage(e);re.push({offset:e.startOffset,line:e.startLine,column:e.startColumn,length:e.image.length,message:t})}else{de.pop();let e=i.u(de);le=this.patternIdxToConfig[e],ue=this.charCodeToPatternIdxToConfig[e],ce=le.length;let t=this.canModeBeOptimized[e]&&this.config.safeMode===!1;pe=ue&&t?he:me}};function _e(e){de.push(e),ue=this.charCodeToPatternIdxToConfig[e],le=this.patternIdxToConfig[e],ce=le.length,ce=le.length;let t=this.canModeBeOptimized[e]&&this.config.safeMode===!1;pe=ue&&t?he:me}_e.call(this,t);let S,ve=this.config.recoveryEnabled;for(;b<y;){c=null;let t=v.charCodeAt(b),i=pe(t),te=i.length;for(n=0;n<te;n++){S=i[n];let r=S.pattern;l=null;let d=S.short;if(d===!1?S.isCustom===!0?(_=r.exec(v,b,ne,ae),_===null?c=null:(c=_[0],_.payload!==void 0&&(l=_.payload))):(this.updateLastIndex(r,b),c=this.match(r,e,b)):t===d&&(c=r),c!==null){if(s=S.longerAlt,s!==void 0){let t=s.length;for(a=0;a<t;a++){let t=le[s[a]],n=t.pattern;if(u=null,t.isCustom===!0?(_=n.exec(v,b,ne,ae),_===null?o=null:(o=_[0],_.payload!==void 0&&(u=_.payload))):(this.updateLastIndex(n,b),o=this.match(n,e,b)),o&&o.length>c.length){c=o,l=u,S=t;break}}}break}}if(c!==null){if(d=c.length,f=S.group,f!==void 0&&(p=S.tokenTypeIdx,m=this.createTokenInstance(c,b,p,S.tokenType,ie,x,d),this.handlePayload(m,l),f===!1?ee=this.addToken(ne,ee,m):ae[f].push(m)),e=this.chopInput(e,d),b+=d,x=this.computeNewColumn(x,d),oe===!0&&S.canLineTerminator===!0){let e=0,t,n;se.lastIndex=0;do t=se.test(c),t===!0&&(n=se.lastIndex-1,e++);while(t===!0);e!==0&&(ie+=e,x=d-n,this.updateTokenEndLineColumnLocation(m,f,n,e,ie,x,d))}this.handleModes(S,ge,_e,m)}else{let t=b,n=ie,i=x,a=ve===!1;for(;a===!1&&b<y;)for(e=this.chopInput(e,1),b++,r=0;r<ce;r++){let t=le[r],n=t.pattern,i=t.short;if(i===!1?t.isCustom===!0?a=n.exec(v,b,ne,ae)!==null:(this.updateLastIndex(n,b),a=n.exec(e)!==null):v.charCodeAt(b)===i&&(a=!0),a===!0)break}if(h=b-t,x=this.computeNewColumn(x,h),g=this.config.errorMessageProvider.buildUnexpectedCharactersMessage(v,t,h,n,i),re.push({offset:t,line:n,column:i,length:h,message:g}),ve===!1)break}}return this.hasCustom||(ne.length=ee),{tokens:ne,groups:ae,errors:re}}handleModes(e,t,n,r){if(e.pop===!0){let i=e.push;t(r),i!==void 0&&n.call(this,i)}else e.push!==void 0&&n.call(this,e.push)}chopInput(e,t){return e.substring(t)}updateLastIndex(e,t){e.lastIndex=t}updateTokenEndLineColumnLocation(e,t,n,r,i,a,o){let s,c;t!==void 0&&(s=n===o-1,c=s?-1:0,r===1&&s===!0||(e.endLine=i+c,e.endColumn=a-1+-c))}computeNewColumn(e,t){return e+t}createOffsetOnlyToken(e,t,n,r){return{image:e,startOffset:t,tokenTypeIdx:n,tokenType:r}}createStartOnlyToken(e,t,n,r,i,a){return{image:e,startOffset:t,startLine:i,startColumn:a,tokenTypeIdx:n,tokenType:r}}createFullToken(e,t,n,r,i,a,o){return{image:e,startOffset:t,endOffset:t+o-1,startLine:i,endLine:i,startColumn:a,endColumn:a+o-1,tokenTypeIdx:n,tokenType:r}}addTokenUsingPush(e,t,n){return e.push(n),t}addTokenUsingMemberAccess(e,t,n){return e[t]=n,t++,t}handlePayloadNoCustom(e,t){}handlePayloadWithCustom(e,t){t!==null&&(e.payload=t)}matchWithTest(e,t,n){return e.test(t)===!0?t.substring(n,e.lastIndex):null}matchWithExec(e,t){let n=e.exec(t);return n===null?null:n[0]}};B.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.`,B.NA=/NOT_APPLICABLE/;function oa(e){return sa(e)?e.LABEL:e.name}function sa(e){return i.a(e.LABEL)&&e.LABEL!==``}var ca=`parent`,la=`categories`,ua=`label`,da=`group`,fa=`push_mode`,pa=`pop_mode`,ma=`longer_alt`,ha=`line_breaks`,ga=`start_chars_hint`;function _a(e){return va(e)}function va(e){let t=e.pattern,n={};if(n.name=e.name,r.r(t)||(n.PATTERN=t),i.o(e,ca))throw`The parent property is no longer supported.
|
|
42
|
+
See: https://github.com/chevrotain/chevrotain/issues/564#issuecomment-349062346 for details.`;return i.o(e,la)&&(n.CATEGORIES=e[la]),qi([n]),i.o(e,ua)&&(n.LABEL=e[ua]),i.o(e,da)&&(n.GROUP=e[da]),i.o(e,pa)&&(n.POP_MODE=e[pa]),i.o(e,fa)&&(n.PUSH_MODE=e[fa]),i.o(e,ma)&&(n.LONGER_ALT=e[ma]),i.o(e,ha)&&(n.LINE_BREAKS=e[ha]),i.o(e,ga)&&(n.START_CHARS_HINT=e[ga]),n}var ya=_a({name:`EOF`,pattern:B.NA});qi([ya]);function ba(e,t,n,r,i,a,o,s){return{image:t,startOffset:n,endOffset:r,startLine:i,endLine:a,startColumn:o,endColumn:s,tokenTypeIdx:e.tokenTypeIdx,tokenType:e}}function xa(e,t){return Ui(e,t)}var Sa={buildMismatchTokenMessage({expected:e,actual:t,previous:n,ruleName:r}){return`Expecting ${sa(e)?`--> ${oa(e)} <--`:`token of type --> ${e.name} <--`} but found --> '${t.image}' <--`},buildNotAllInputParsedMessage({firstRedundant:e,ruleName:t}){return`Redundant input, expecting EOF but found: `+e.image},buildNoViableAltMessage({expectedPathsPerAlt:e,actual:t,previous:n,customUserDescription:a,ruleName:o}){let s=`
|
|
43
|
+
but found: '`+ar(t).image+`'`;return a?`Expecting: `+a+s:`Expecting: one of these possible Token sequences:\n${i.s(i.s(r.n(e,(e,t)=>e.concat(t),[]),e=>`[${i.s(e,e=>oa(e)).join(`, `)}]`),(e,t)=>` ${t+1}. ${e}`).join(`
|
|
44
|
+
`)}`+s},buildEarlyExitMessage({expectedIterationPaths:e,actual:t,customUserDescription:n,ruleName:r}){let a=`
|
|
45
|
+
but found: '`+ar(t).image+`'`;return n?`Expecting: `+n+a:`Expecting: expecting at least one iteration which starts with one of these possible Token sequences::\n <${i.s(e,e=>`[${i.s(e,e=>oa(e)).join(`,`)}]`).join(` ,`)}>`+a}};Object.freeze(Sa);var Ca={buildRuleNotFoundError(e,t){return`Invalid grammar, reference to a rule which is not defined: ->`+t.nonTerminalName+`<-
|
|
46
|
+
inside top level rule: ->`+e.name+`<-`}},wa={buildDuplicateFoundError(e,t){function n(e){return e instanceof R?e.terminalType.name:e instanceof A?e.nonTerminalName:``}let r=e.name,i=ar(t),a=i.idx,o=Lr(i),s=n(i),c=`->${o}${a>0?a:``}<- ${s?`with argument: ->${s}<-`:``}
|
|
47
|
+
appears more than once (${t.length} times) in the top level rule: ->${r}<-.
|
|
48
|
+
For further details see: https://chevrotain.io/docs/FAQ.html#NUMERICAL_SUFFIXES
|
|
49
|
+
`;return c=c.replace(/[ \t]+/g,` `),c=c.replace(/\s\s+/g,`
|
|
50
|
+
`),c},buildNamespaceConflictError(e){return`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){let t=i.s(e.prefixPath,e=>oa(e)).join(`, `),n=e.alternation.idx===0?``:e.alternation.idx;return`Ambiguous alternatives: <${e.ambiguityIndices.join(` ,`)}> due to common lookahead prefix\nin <OR${n}> inside <${e.topLevelRule.name}> Rule,\n<${t}> may appears as a prefix path in all these alternatives.\nSee: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#COMMON_PREFIX\nFor Further details.`},buildAlternationAmbiguityError(e){let t=i.s(e.prefixPath,e=>oa(e)).join(`, `),n=e.alternation.idx===0?``:e.alternation.idx,r=`Ambiguous Alternatives Detected: <${e.ambiguityIndices.join(` ,`)}> in <OR${n}> inside <${e.topLevelRule.name}> Rule,\n<${t}> may appears as a prefix path in all these alternatives.\n`;return r+=`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES
|
|
51
|
+
For Further details.`,r},buildEmptyRepetitionError(e){let t=Lr(e.repetition);return e.repetition.idx!==0&&(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){return`deprecated`},buildEmptyAlternationError(e){return`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){return`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){let 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} --> ${i.s(e.leftRecursionPath,e=>e.name).concat([t]).join(` --> `)}`}\n To fix this refactor your grammar to remove the left recursion.\nsee: https://en.wikipedia.org/wiki/LL_parser#Left_factoring.`},buildInvalidRuleNameError(e){return`deprecated`},buildDuplicateRuleNameError(e){let t;return t=e.topLevelRule instanceof Ar?e.topLevelRule.name:e.topLevelRule,`Duplicate definition, rule: ->${t}<- is already defined in the grammar: ->${e.grammarName}<-`}};function Ta(e,t){let n=new Ea(e,t);return n.resolveRefs(),n.errors}var Ea=class extends Nr{constructor(e,t){super(),this.nameToTopRule=e,this.errMsgProvider=t,this.errors=[]}resolveRefs(){r.s(r.i(this.nameToTopRule),e=>{this.currTopLevel=e,e.accept(this)})}visitNonTerminal(e){let t=this.nameToTopRule[e.nonTerminalName];if(t)e.referencedRule=t;else{let t=this.errMsgProvider.buildRuleNotFoundError(this.currTopLevel,e);this.errors.push({message:t,type:H.UNRESOLVED_SUBRULE_REF,ruleName:this.currTopLevel.name,unresolvedRefName:e.nonTerminalName})}}},Da=class extends Rr{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=a.t(this.path.ruleStack).reverse(),this.occurrenceStack=a.t(this.path.occurrenceStack).reverse(),this.ruleStack.pop(),this.occurrenceStack.pop(),this.updateExpectedNext(),this.walk(this.topProd),this.possibleTokTypes}walk(e,t=[]){this.found||super.walk(e,t)}walkProdRef(e,t,n){if(e.referencedRule.name===this.nextProductionName&&e.idx===this.nextProductionOccurrence){let r=t.concat(n);this.updateExpectedNext(),this.walk(e.referencedRule,r)}}updateExpectedNext(){t.i(this.ruleStack)?(this.nextProductionName=``,this.nextProductionOccurrence=0,this.isAtEndOfPath=!0):(this.nextProductionName=this.ruleStack.pop(),this.nextProductionOccurrence=this.occurrenceStack.pop())}},Oa=class extends Da{constructor(e,t){super(e,t),this.path=t,this.nextTerminalName=``,this.nextTerminalOccurrence=0,this.nextTerminalName=this.path.lastTok.name,this.nextTerminalOccurrence=this.path.lastTokOccurrence}walkTerminal(e,t,n){if(this.isAtEndOfPath&&e.terminalType.name===this.nextTerminalName&&e.idx===this.nextTerminalOccurrence&&!this.found){let e=new j({definition:t.concat(n)});this.possibleTokTypes=Br(e),this.found=!0}}},ka=class extends Rr{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}},Aa=class extends ka{walkMany(e,t,n){if(e.idx===this.occurrence){let e=ar(t.concat(n));this.result.isEndOfRule=e===void 0,e instanceof R&&(this.result.token=e.terminalType,this.result.occurrence=e.idx)}else super.walkMany(e,t,n)}},ja=class extends ka{walkManySep(e,t,n){if(e.idx===this.occurrence){let e=ar(t.concat(n));this.result.isEndOfRule=e===void 0,e instanceof R&&(this.result.token=e.terminalType,this.result.occurrence=e.idx)}else super.walkManySep(e,t,n)}},Ma=class extends ka{walkAtLeastOne(e,t,n){if(e.idx===this.occurrence){let e=ar(t.concat(n));this.result.isEndOfRule=e===void 0,e instanceof R&&(this.result.token=e.terminalType,this.result.occurrence=e.idx)}else super.walkAtLeastOne(e,t,n)}},Na=class extends ka{walkAtLeastOneSep(e,t,n){if(e.idx===this.occurrence){let e=ar(t.concat(n));this.result.isEndOfRule=e===void 0,e instanceof R&&(this.result.token=e.terminalType,this.result.occurrence=e.idx)}else super.walkAtLeastOneSep(e,t,n)}};function Pa(e,n,i=[]){i=a.t(i);let o=[],s=0;function c(t){return t.concat(D(e,s+1))}function l(e){let t=Pa(c(e),n,i);return o.concat(t)}for(;i.length<n&&s<e.length;){let n=e[s];if(n instanceof j||n instanceof A)return l(n.definition);if(n instanceof M)o=l(n.definition);else if(n instanceof N)return l(n.definition.concat([new F({definition:n.definition})]));else if(n instanceof P)return l([new j({definition:n.definition}),new F({definition:[new R({terminalType:n.separator})].concat(n.definition)})]);else if(n instanceof I)o=l(n.definition.concat([new F({definition:[new R({terminalType:n.separator})].concat(n.definition)})]));else if(n instanceof F)o=l(n.definition.concat([new F({definition:n.definition})]));else if(n instanceof L)return r.s(n.definition,e=>{t.i(e.definition)===!1&&(o=l(e.definition))}),o;else if(n instanceof R)i.push(n.terminalType);else throw Error(`non exhaustive match`);s++}return o.push({partialPath:i,suffixDef:D(e,s)}),o}function Fa(e,n,r,o){let s=`EXIT_NONE_TERMINAL`,c=[s],l=`EXIT_ALTERNATIVE`,u=!1,d=n.length,f=d-o-1,p=[],m=[];for(m.push({idx:-1,def:e,ruleStack:[],occurrenceStack:[]});!t.i(m);){let e=m.pop();if(e===l){u&&i.u(m).idx<=f&&m.pop();continue}let o=e.def,h=e.idx,g=e.ruleStack,_=e.occurrenceStack;if(t.i(o))continue;let v=o[0];if(v===s){let e={idx:h,def:D(o),ruleStack:tr(g),occurrenceStack:tr(_)};m.push(e)}else if(v instanceof R)if(h<d-1){let e=h+1,t=n[e];if(r(t,v.terminalType)){let t={idx:e,def:D(o),ruleStack:g,occurrenceStack:_};m.push(t)}}else if(h===d-1)p.push({nextTokenType:v.terminalType,nextTokenOccurrence:v.idx,ruleStack:g,occurrenceStack:_}),u=!0;else throw Error(`non exhaustive match`);else if(v instanceof A){let e=a.t(g);e.push(v.nonTerminalName);let t=a.t(_);t.push(v.idx);let n={idx:h,def:v.definition.concat(c,D(o)),ruleStack:e,occurrenceStack:t};m.push(n)}else if(v instanceof M){let e={idx:h,def:D(o),ruleStack:g,occurrenceStack:_};m.push(e),m.push(l);let t={idx:h,def:v.definition.concat(D(o)),ruleStack:g,occurrenceStack:_};m.push(t)}else if(v instanceof N){let e=new F({definition:v.definition,idx:v.idx}),t={idx:h,def:v.definition.concat([e],D(o)),ruleStack:g,occurrenceStack:_};m.push(t)}else if(v instanceof P){let e=new F({definition:[new R({terminalType:v.separator})].concat(v.definition),idx:v.idx}),t={idx:h,def:v.definition.concat([e],D(o)),ruleStack:g,occurrenceStack:_};m.push(t)}else if(v instanceof I){let e={idx:h,def:D(o),ruleStack:g,occurrenceStack:_};m.push(e),m.push(l);let t=new F({definition:[new R({terminalType:v.separator})].concat(v.definition),idx:v.idx}),n={idx:h,def:v.definition.concat([t],D(o)),ruleStack:g,occurrenceStack:_};m.push(n)}else if(v instanceof F){let e={idx:h,def:D(o),ruleStack:g,occurrenceStack:_};m.push(e),m.push(l);let t=new F({definition:v.definition,idx:v.idx}),n={idx:h,def:v.definition.concat([t],D(o)),ruleStack:g,occurrenceStack:_};m.push(n)}else if(v instanceof L)for(let e=v.definition.length-1;e>=0;e--){let t={idx:h,def:v.definition[e].definition.concat(D(o)),ruleStack:g,occurrenceStack:_};m.push(t),m.push(l)}else if(v instanceof j)m.push({idx:h,def:v.definition.concat(D(o)),ruleStack:g,occurrenceStack:_});else if(v instanceof Ar)m.push(Ia(v,h,g,_));else throw Error(`non exhaustive match`)}return p}function Ia(e,t,n,r){let i=a.t(n);i.push(e.name);let o=a.t(r);return o.push(1),{idx:t,def:e.definition,ruleStack:i,occurrenceStack:o}}var V;(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`})(V||={});function La(e){if(e instanceof M||e===`Option`)return V.OPTION;if(e instanceof F||e===`Repetition`)return V.REPETITION;if(e instanceof N||e===`RepetitionMandatory`)return V.REPETITION_MANDATORY;if(e instanceof P||e===`RepetitionMandatoryWithSeparator`)return V.REPETITION_MANDATORY_WITH_SEPARATOR;if(e instanceof I||e===`RepetitionWithSeparator`)return V.REPETITION_WITH_SEPARATOR;if(e instanceof L||e===`Alternation`)return V.ALTERNATION;throw Error(`non exhaustive match`)}function Ra(e){let{occurrence:t,rule:n,prodType:r,maxLookahead:i}=e,a=La(r);return a===V.ALTERNATION?Ya(t,n,i):Xa(t,n,a,i)}function za(e,t,n,r,i,a){let o=Ya(e,t,n);return a(o,r,$a(o)?Wi:Ui,i)}function Ba(e,t,n,r,i,a){let o=Xa(e,t,i,n),s=$a(o)?Wi:Ui;return a(o[0],s,r)}function Va(e,t,n,a){let o=e.length,s=ir(e,e=>ir(e,e=>e.length===1));if(t)return function(t){let r=i.s(t,e=>e.GATE);for(let t=0;t<o;t++){let i=e[t],a=i.length,o=r[t];if(!(o!==void 0&&o.call(this)===!1))nextPath:for(let e=0;e<a;e++){let r=i[e],a=r.length;for(let e=0;e<a;e++)if(n(this.LA(e+1),r[e])===!1)continue nextPath;return t}}};if(s&&!a){let t=r.n(i.s(e,e=>i.f(e)),(e,t,n)=>(r.s(t,t=>{i.o(e,t.tokenTypeIdx)||(e[t.tokenTypeIdx]=n),r.s(t.categoryMatches,t=>{i.o(e,t)||(e[t]=n)})}),e),{});return function(){return t[this.LA(1).tokenTypeIdx]}}else return function(){for(let t=0;t<o;t++){let r=e[t],i=r.length;nextPath:for(let e=0;e<i;e++){let i=r[e],a=i.length;for(let e=0;e<a;e++)if(n(this.LA(e+1),i[e])===!1)continue nextPath;return t}}}}function Ha(e,n,a){let o=ir(e,e=>e.length===1),s=e.length;if(o&&!a){let n=i.f(e);if(n.length===1&&t.i(n[0].categoryMatches)){let e=n[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===e}}else{let e=r.n(n,(e,t,n)=>(e[t.tokenTypeIdx]=!0,r.s(t.categoryMatches,t=>{e[t]=!0}),e),[]);return function(){return e[this.LA(1).tokenTypeIdx]===!0}}}else return function(){nextPath:for(let t=0;t<s;t++){let r=e[t],i=r.length;for(let e=0;e<i;e++)if(n(this.LA(e+1),r[e])===!1)continue nextPath;return!0}return!1}}var Ua=class extends Rr{constructor(e,t,n){super(),this.topProd=e,this.targetOccurrence=t,this.targetProdType=n}startWalking(){return this.walk(this.topProd),this.restDef}checkIsTarget(e,t,n,r){return e.idx===this.targetOccurrence&&this.targetProdType===t?(this.restDef=n.concat(r),!0):!1}walkOption(e,t,n){this.checkIsTarget(e,V.OPTION,t,n)||super.walkOption(e,t,n)}walkAtLeastOne(e,t,n){this.checkIsTarget(e,V.REPETITION_MANDATORY,t,n)||super.walkOption(e,t,n)}walkAtLeastOneSep(e,t,n){this.checkIsTarget(e,V.REPETITION_MANDATORY_WITH_SEPARATOR,t,n)||super.walkOption(e,t,n)}walkMany(e,t,n){this.checkIsTarget(e,V.REPETITION,t,n)||super.walkOption(e,t,n)}walkManySep(e,t,n){this.checkIsTarget(e,V.REPETITION_WITH_SEPARATOR,t,n)||super.walkOption(e,t,n)}},Wa=class extends Nr{constructor(e,t,n){super(),this.targetOccurrence=e,this.targetProdType=t,this.targetRef=n,this.result=[]}checkIsTarget(e,t){e.idx===this.targetOccurrence&&this.targetProdType===t&&(this.targetRef===void 0||e===this.targetRef)&&(this.result=e.definition)}visitOption(e){this.checkIsTarget(e,V.OPTION)}visitRepetition(e){this.checkIsTarget(e,V.REPETITION)}visitRepetitionMandatory(e){this.checkIsTarget(e,V.REPETITION_MANDATORY)}visitRepetitionMandatoryWithSeparator(e){this.checkIsTarget(e,V.REPETITION_MANDATORY_WITH_SEPARATOR)}visitRepetitionWithSeparator(e){this.checkIsTarget(e,V.REPETITION_WITH_SEPARATOR)}visitAlternation(e){this.checkIsTarget(e,V.ALTERNATION)}};function Ga(e){let t=Array(e);for(let n=0;n<e;n++)t[n]=[];return t}function Ka(e){let t=[``];for(let n=0;n<e.length;n++){let r=e[n],i=[];for(let e=0;e<t.length;e++){let n=t[e];i.push(n+`_`+r.tokenTypeIdx);for(let e=0;e<r.categoryMatches.length;e++){let t=`_`+r.categoryMatches[e];i.push(n+t)}}t=i}return t}function qa(e,t,n){for(let r=0;r<e.length;r++){if(r===n)continue;let i=e[r];for(let e=0;e<t.length;e++)if(i[t[e]]===!0)return!1}return!0}function Ja(e,n){let a=i.s(e,e=>Pa([e],1)),o=Ga(a.length),s=i.s(a,e=>{let t={};return r.s(e,e=>{r.s(Ka(e.partialPath),e=>{t[e]=!0})}),t}),c=a;for(let e=1;e<=n;e++){let i=c;c=Ga(i.length);for(let a=0;a<i.length;a++){let l=i[a];for(let i=0;i<l.length;i++){let u=l[i].partialPath,d=l[i].suffixDef,f=Ka(u);if(qa(s,f,a)||t.i(d)||u.length===n){let e=o[a];if(Za(e,u)===!1){e.push(u);for(let e=0;e<f.length;e++){let t=f[e];s[a][t]=!0}}}else{let t=Pa(d,e+1,u);c[a]=c[a].concat(t),r.s(t,e=>{r.s(Ka(e.partialPath),e=>{s[a][e]=!0})})}}}}return o}function Ya(e,t,n,r){let i=new Wa(e,V.ALTERNATION,r);return t.accept(i),Ja(i.result,n)}function Xa(e,t,n,r){let i=new Wa(e,n);t.accept(i);let a=i.result,o=new Ua(t,e,n).startWalking();return Ja([new j({definition:a}),new j({definition:o})],r)}function Za(e,t){compareOtherPath:for(let n=0;n<e.length;n++){let r=e[n];if(r.length===t.length){for(let e=0;e<r.length;e++){let n=t[e],i=r[e];if(!(n===i||i.categoryMatchesMap[n.tokenTypeIdx]!==void 0))continue compareOtherPath}return!0}}return!1}function Qa(e,t){return e.length<t.length&&ir(e,(e,n)=>{let r=t[n];return e===r||r.categoryMatchesMap[e.tokenTypeIdx]})}function $a(e){return ir(e,e=>ir(e,e=>ir(e,e=>t.i(e.categoryMatches))))}function eo(e){return i.s(e.lookaheadStrategy.validate({rules:e.rules,tokenTypes:e.tokenTypes,grammarName:e.grammarName}),e=>Object.assign({type:H.CUSTOM_LOOKAHEAD_VALIDATION},e))}function to(e,t,n,r){let i=O(e,e=>no(e,n)),a=yo(e,t,n),o=O(e,e=>ho(e,n)),s=O(e,t=>oo(t,e,r,n));return i.concat(a,o,s)}function no(e,t){let n=new ao;e.accept(n);let a=n.allProductions;return i.s(r.i(_r(sr(a,ro),e=>e.length>1)),n=>{let r=ar(n),i=t.buildDuplicateFoundError(e,n),a=Lr(r),o={message:i,type:H.DUPLICATE_PRODUCTIONS,ruleName:e.name,dslName:a,occurrence:r.idx},s=io(r);return s&&(o.parameter=s),o})}function ro(e){return`${Lr(e)}_#_${e.idx}_#_${io(e)}`}function io(e){return e instanceof R?e.terminalType.name:e instanceof A?e.nonTerminalName:``}var ao=class extends Nr{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 oo(e,t,n,i){let a=[];if(r.n(t,(t,n)=>n.name===e.name?t+1:t,0)>1){let t=i.buildDuplicateRuleNameError({topLevelRule:e,grammarName:n});a.push({message:t,type:H.DUPLICATE_RULE_NAME,ruleName:e.name})}return a}function so(e,t,n){let r=[],i;return k(t,e)||(i=`Invalid rule override, rule: ->${e}<- cannot be overridden in the grammar: ->${n}<-as it is not defined in any of the super grammars `,r.push({message:i,type:H.INVALID_RULE_OVERRIDE,ruleName:e})),r}function co(e,n,r,i=[]){let o=[],s=lo(n.definition);if(t.i(s))return[];{let t=e.name;k(s,e)&&o.push({message:r.buildLeftRecursionError({topLevelRule:e,leftRecursionPath:i}),type:H.LEFT_RECURSION,ruleName:t});let n=O(er(s,i.concat([e])),t=>{let n=a.t(i);return n.push(t),co(e,t,r,n)});return o.concat(n)}}function lo(e){let n=[];if(t.i(e))return n;let r=ar(e);if(r instanceof A)n.push(r.referencedRule);else if(r instanceof j||r instanceof M||r instanceof N||r instanceof P||r instanceof I||r instanceof F)n=n.concat(lo(r.definition));else if(r instanceof L)n=i.f(i.s(r.definition,e=>lo(e.definition)));else if(!(r instanceof R))throw Error(`non exhaustive match`);let a=Fr(r),o=e.length>1;if(a&&o){let t=D(e);return n.concat(lo(t))}else return n}var uo=class extends Nr{constructor(){super(...arguments),this.alternations=[]}visitAlternation(e){this.alternations.push(e)}};function fo(e,n){let r=new uo;e.accept(r);let i=r.alternations;return O(i,r=>O(tr(r.definition),(i,a)=>t.i(Fa([i],[],Ui,1))?[{message:n.buildEmptyAlternationError({topLevelRule:e,alternation:r,emptyChoiceIdx:a}),type:H.NONE_LAST_EMPTY_ALT,ruleName:e.name,occurrence:r.idx,alternative:a+1}]:[]))}function po(e,t,n){let r=new uo;e.accept(r);let i=r.alternations;return i=vr(i,e=>e.ignoreAmbiguities===!0),O(i,r=>{let i=r.idx,a=Ya(i,e,r.maxLookahead||t,r),o=_o(a,r,e,n),s=vo(a,r,e,n);return o.concat(s)})}var mo=class extends Nr{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 ho(e,t){let n=new uo;e.accept(n);let r=n.alternations;return O(r,n=>n.definition.length>255?[{message:t.buildTooManyAlternativesError({topLevelRule:e,alternation:n}),type:H.TOO_MANY_ALTS,ruleName:e.name,occurrence:n.idx}]:[])}function go(e,n,a){let o=[];return r.s(e,e=>{let s=new mo;e.accept(s);let c=s.allProductions;r.s(c,r=>{let s=La(r),c=r.maxLookahead||n,l=r.idx,u=Xa(l,e,s,c)[0];if(t.i(i.f(u))){let t=a.buildEmptyRepetitionError({topLevelRule:e,repetition:r});o.push({message:t,type:H.NO_NON_EMPTY_LOOKAHEAD,ruleName:e.name})}})}),o}function _o(e,t,n,a){let o=[];return i.s(r.n(e,(n,i,a)=>(t.definition[a].ignoreAmbiguities===!0||r.s(i,i=>{let s=[a];r.s(e,(e,n)=>{a!==n&&Za(e,i)&&t.definition[n].ignoreAmbiguities!==!0&&s.push(n)}),s.length>1&&!Za(o,i)&&(o.push(i),n.push({alts:s,path:i}))}),n),[]),e=>{let r=i.s(e.alts,e=>e+1);return{message:a.buildAlternationAmbiguityError({topLevelRule:n,alternation:t,ambiguityIndices:r,prefixPath:e.path}),type:H.AMBIGUOUS_ALTS,ruleName:n.name,occurrence:t.idx,alternatives:e.alts}})}function vo(e,t,n,a){let o=r.n(e,(e,t,n)=>{let r=i.s(t,e=>({idx:n,path:e}));return e.concat(r)},[]);return Jn(O(o,e=>{if(t.definition[e.idx].ignoreAmbiguities===!0)return[];let s=e.idx,c=e.path;return i.s(r.a(o,e=>t.definition[e.idx].ignoreAmbiguities!==!0&&e.idx<s&&Qa(e.path,c)),e=>{let r=[e.idx+1,s+1],i=t.idx===0?``:t.idx;return{message:a.buildAlternationPrefixAmbiguityError({topLevelRule:n,alternation:t,ambiguityIndices:r,prefixPath:e.path}),type:H.AMBIGUOUS_PREFIX_ALTS,ruleName:n.name,occurrence:i,alternatives:r}})}))}function yo(e,t,n){let a=[],o=i.s(t,e=>e.name);return r.s(e,e=>{let t=e.name;if(k(o,t)){let r=n.buildNamespaceConflictError(e);a.push({message:r,type:H.CONFLICT_TOKENS_RULES_NAMESPACE,ruleName:t})}}),a}function bo(e){let t=i.d(e,{errMsgProvider:Ca}),n={};return r.s(e.rules,e=>{n[e.name]=e}),Ta(n,t.errMsgProvider)}function xo(e){return e=i.d(e,{errMsgProvider:wa}),to(e.rules,e.tokenTypes,e.errMsgProvider,e.grammarName)}var So=`MismatchedTokenException`,Co=`NoViableAltException`,wo=`EarlyExitException`,To=`NotAllInputParsedException`,Eo=[So,Co,wo,To];Object.freeze(Eo);function Do(e){return k(Eo,e.name)}var Oo=class 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)}},ko=class extends Oo{constructor(e,t,n){super(e,t),this.previousToken=n,this.name=So}},Ao=class extends Oo{constructor(e,t,n){super(e,t),this.previousToken=n,this.name=Co}},jo=class extends Oo{constructor(e,t){super(e,t),this.name=To}},Mo=class extends Oo{constructor(e,t,n){super(e,t),this.previousToken=n,this.name=wo}},No={},Po=`InRuleRecoveryException`,Fo=class extends Error{constructor(e){super(e),this.name=Po}},Io=class{initRecoverable(e){this.firstAfterRepMap={},this.resyncFollows={},this.recoveryEnabled=i.o(e,`recoveryEnabled`)?e.recoveryEnabled:ws.recoveryEnabled,this.recoveryEnabled&&(this.attemptInRepetitionRecovery=Lo)}getTokenToInsert(e){let t=ba(e,``,NaN,NaN,NaN,NaN,NaN,NaN);return t.isInsertedInRecovery=!0,t}canTokenTypeBeInsertedInRecovery(e){return!0}canTokenTypeBeDeletedInRecovery(e){return!0}tryInRepetitionRecovery(e,t,n,r){let i=this.findReSyncTokenType(),a=this.exportLexerState(),o=[],s=!1,c=this.LA(1),l=this.LA(1),u=()=>{let e=this.LA(0),t=new ko(this.errorMessageProvider.buildMismatchTokenMessage({expected:r,actual:c,previous:e,ruleName:this.getCurrRuleFullName()}),c,this.LA(0));t.resyncedTokens=tr(o),this.SAVE_ERROR(t)};for(;!s;)if(this.tokenMatcher(l,r)){u();return}else if(n.call(this)){u(),e.apply(this,t);return}else this.tokenMatcher(l,i)?s=!0:(l=this.SKIP_TOKEN(),this.addToResyncTokens(l,o));this.importLexerState(a)}shouldInRepetitionRecoveryBeTried(e,t,n){return!(n===!1||this.tokenMatcher(this.LA(1),e)||this.isBackTracking()||this.canPerformInRuleRecovery(e,this.getFollowsForInRuleRecovery(e,t)))}getFollowsForInRuleRecovery(e,t){let n=this.getCurrentGrammarPath(e,t);return this.getNextPossibleTokenTypes(n)}tryInRuleRecovery(e,t){if(this.canRecoverWithSingleTokenInsertion(e,t))return this.getTokenToInsert(e);if(this.canRecoverWithSingleTokenDeletion(e)){let e=this.SKIP_TOKEN();return this.consumeToken(),e}throw new Fo(`sad sad panda`)}canPerformInRuleRecovery(e,t){return this.canRecoverWithSingleTokenInsertion(e,t)||this.canRecoverWithSingleTokenDeletion(e)}canRecoverWithSingleTokenInsertion(e,n){if(!this.canTokenTypeBeInsertedInRecovery(e)||t.i(n))return!1;let r=this.LA(1);return i.l(n,e=>this.tokenMatcher(r,e))!==void 0}canRecoverWithSingleTokenDeletion(e){return this.canTokenTypeBeDeletedInRecovery(e)?this.tokenMatcher(this.LA(2),e):!1}isInCurrentRuleReSyncSet(e){let t=this.getCurrFollowKey();return k(this.getFollowSetFromFollowKey(t),e)}findReSyncTokenType(){let e=this.flattenFollowSet(),t=this.LA(1),n=2;for(;;){let r=i.l(e,e=>xa(t,e));if(r!==void 0)return r;t=this.LA(n),n++}}getCurrFollowKey(){if(this.RULE_STACK.length===1)return No;let e=this.getLastExplicitRuleShortName(),t=this.getLastExplicitRuleOccurrenceIndex(),n=this.getPreviousExplicitRuleShortName();return{ruleName:this.shortRuleNameToFullName(e),idxInCallingRule:t,inRule:this.shortRuleNameToFullName(n)}}buildFullFollowKeyStack(){let e=this.RULE_STACK,t=this.RULE_OCCURRENCE_STACK;return i.s(e,(n,r)=>r===0?No:{ruleName:this.shortRuleNameToFullName(n),idxInCallingRule:t[r],inRule:this.shortRuleNameToFullName(e[r-1])})}flattenFollowSet(){return i.f(i.s(this.buildFullFollowKeyStack(),e=>this.getFollowSetFromFollowKey(e)))}getFollowSetFromFollowKey(e){if(e===No)return[ya];let t=e.ruleName+e.idxInCallingRule+Wr+e.inRule;return this.resyncFollows[t]}addToResyncTokens(e,t){return this.tokenMatcher(e,ya)||t.push(e),t}reSyncTo(e){let t=[],n=this.LA(1);for(;this.tokenMatcher(n,e)===!1;)n=this.SKIP_TOKEN(),this.addToResyncTokens(n,t);return tr(t)}attemptInRepetitionRecovery(e,t,n,r,i,a,o){}getCurrentGrammarPath(e,t){return{ruleStack:this.getHumanReadableRuleStack(),occurrenceStack:a.t(this.RULE_OCCURRENCE_STACK),lastTok:e,lastTokOccurrence:t}}getHumanReadableRuleStack(){return i.s(this.RULE_STACK,e=>this.shortRuleNameToFullName(e))}};function Lo(e,t,n,r,i,a,o){let s=this.getKeyForAutomaticLookahead(r,i),c=this.firstAfterRepMap[s];if(c===void 0){let e=this.getCurrRuleFullName(),t=this.getGAstProductions()[e];c=new a(t,i).startWalking(),this.firstAfterRepMap[s]=c}let l=c.token,u=c.occurrence,d=c.isEndOfRule;this.RULE_STACK.length===1&&d&&l===void 0&&(l=ya,u=1),!(l===void 0||u===void 0)&&this.shouldInRepetitionRecoveryBeTried(l,u,o)&&this.tryInRepetitionRecovery(e,t,n,l)}var Ro=1024,zo=1280,Bo=1536;function Vo(e,t,n){return n|t|e}var Ho=class{constructor(e){this.maxLookahead=e?.maxLookahead??ws.maxLookahead}validate(e){let n=this.validateNoLeftRecursion(e.rules);if(t.i(n)){let t=this.validateEmptyOrAlternatives(e.rules),r=this.validateAmbiguousAlternationAlternatives(e.rules,this.maxLookahead),i=this.validateSomeNonEmptyLookaheadPath(e.rules,this.maxLookahead);return[...n,...t,...r,...i]}return n}validateNoLeftRecursion(e){return O(e,e=>co(e,e,wa))}validateEmptyOrAlternatives(e){return O(e,e=>fo(e,wa))}validateAmbiguousAlternationAlternatives(e,t){return O(e,e=>po(e,t,wa))}validateSomeNonEmptyLookaheadPath(e,t){return go(e,t,wa)}buildLookaheadForAlternation(e){return za(e.prodOccurrence,e.rule,e.maxLookahead,e.hasPredicates,e.dynamicTokensEnabled,Va)}buildLookaheadForOptional(e){return Ba(e.prodOccurrence,e.rule,e.maxLookahead,e.dynamicTokensEnabled,La(e.prodType),Ha)}},Uo=class{initLooksAhead(e){this.dynamicTokensEnabled=i.o(e,`dynamicTokensEnabled`)?e.dynamicTokensEnabled:ws.dynamicTokensEnabled,this.maxLookahead=i.o(e,`maxLookahead`)?e.maxLookahead:ws.maxLookahead,this.lookaheadStrategy=i.o(e,`lookaheadStrategy`)?e.lookaheadStrategy:new Ho({maxLookahead:this.maxLookahead}),this.lookAheadFuncsCache=new Map}preComputeLookaheadFunctions(e){r.s(e,e=>{this.TRACE_INIT(`${e.name} Rule Lookahead`,()=>{let{alternation:t,repetition:n,option:i,repetitionMandatory:a,repetitionMandatoryWithSeparator:o,repetitionWithSeparator:s}=Go(e);r.s(t,t=>{let n=t.idx===0?``:t.idx;this.TRACE_INIT(`${Lr(t)}${n}`,()=>{let n=this.lookaheadStrategy.buildLookaheadForAlternation({prodOccurrence:t.idx,rule:e,maxLookahead:t.maxLookahead||this.maxLookahead,hasPredicates:t.hasPredicates,dynamicTokensEnabled:this.dynamicTokensEnabled}),r=Vo(this.fullRuleNameToShort[e.name],256,t.idx);this.setLaFuncCache(r,n)})}),r.s(n,t=>{this.computeLookaheadFunc(e,t.idx,768,`Repetition`,t.maxLookahead,Lr(t))}),r.s(i,t=>{this.computeLookaheadFunc(e,t.idx,512,`Option`,t.maxLookahead,Lr(t))}),r.s(a,t=>{this.computeLookaheadFunc(e,t.idx,Ro,`RepetitionMandatory`,t.maxLookahead,Lr(t))}),r.s(o,t=>{this.computeLookaheadFunc(e,t.idx,Bo,`RepetitionMandatoryWithSeparator`,t.maxLookahead,Lr(t))}),r.s(s,t=>{this.computeLookaheadFunc(e,t.idx,zo,`RepetitionWithSeparator`,t.maxLookahead,Lr(t))})})})}computeLookaheadFunc(e,t,n,r,i,a){this.TRACE_INIT(`${a}${t===0?``:t}`,()=>{let a=this.lookaheadStrategy.buildLookaheadForOptional({prodOccurrence:t,rule:e,maxLookahead:i||this.maxLookahead,dynamicTokensEnabled:this.dynamicTokensEnabled,prodType:r}),o=Vo(this.fullRuleNameToShort[e.name],n,t);this.setLaFuncCache(o,a)})}getKeyForAutomaticLookahead(e,t){return Vo(this.getLastExplicitRuleShortName(),e,t)}getLaFuncFromCache(e){return this.lookAheadFuncsCache.get(e)}setLaFuncCache(e,t){this.lookAheadFuncsCache.set(e,t)}},Wo=new class extends Nr{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 Go(e){Wo.reset(),e.accept(Wo);let t=Wo.dslMethods;return Wo.reset(),t}function Ko(e,t){isNaN(e.startOffset)===!0?(e.startOffset=t.startOffset,e.endOffset=t.endOffset):e.endOffset<t.endOffset&&(e.endOffset=t.endOffset)}function qo(e,t){isNaN(e.startOffset)===!0?(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&&(e.endOffset=t.endOffset,e.endColumn=t.endColumn,e.endLine=t.endLine)}function Jo(e,t,n){e.children[n]===void 0?e.children[n]=[t]:e.children[n].push(t)}function Yo(e,t,n){e.children[t]===void 0?e.children[t]=[n]:e.children[t].push(n)}var Xo=`name`;function Zo(e,t){Object.defineProperty(e,Xo,{enumerable:!1,configurable:!0,writable:!1,value:t})}function Qo(e,t){let n=r.D(e),i=n.length;for(let r=0;r<i;r++){let i=e[n[r]],a=i.length;for(let e=0;e<a;e++){let n=i[e];n.tokenTypeIdx===void 0&&this[n.name](n.children,t)}}}function $o(e,a){let o=function(){};return Zo(o,e+`BaseSemantics`),o.prototype={visit:function(e,t){if(n.b(e)&&(e=e[0]),!r.r(e))return this[e.name](e.children,t)},validateVisitor:function(){let e=ns(this,a);if(!t.i(e)){let t=i.s(e,e=>e.msg);throw Error(`Errors Detected in CST Visitor <${this.constructor.name}>:\n\t${t.join(`
|
|
52
|
+
|
|
53
|
+
`).replace(/\n/g,`
|
|
54
|
+
`)}`)}}},o.prototype.constructor=o,o._RULE_NAMES=a,o}function es(e,t,n){let i=function(){};Zo(i,e+`BaseSemanticsWithDefaults`);let a=Object.create(n.prototype);return r.s(t,e=>{a[e]=Qo}),i.prototype=a,i.prototype.constructor=i,i}var ts;(function(e){e[e.REDUNDANT_METHOD=0]=`REDUNDANT_METHOD`,e[e.MISSING_METHOD=1]=`MISSING_METHOD`})(ts||={});function ns(e,t){return rs(e,t)}function rs(e,t){return Jn(i.s(r.a(t,t=>n.V(e[t])===!1),t=>({msg:`Missing visitor method: <${t}> on ${e.constructor.name} CST Visitor.`,type:ts.MISSING_METHOD,methodName:t})))}var is=class{initTreeBuilder(e){if(this.CST_STACK=[],this.outputCst=e.outputCst,this.nodeLocationTracking=i.o(e,`nodeLocationTracking`)?e.nodeLocationTracking:ws.nodeLocationTracking,!this.outputCst)this.cstInvocationStateUpdate=r.j,this.cstFinallyStateUpdate=r.j,this.cstPostTerminal=r.j,this.cstPostNonTerminal=r.j,this.cstPostRule=r.j;else if(/full/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=qo,this.setNodeLocationFromNode=qo,this.cstPostRule=r.j,this.setInitialNodeLocation=this.setInitialNodeLocationFullRecovery):(this.setNodeLocationFromToken=r.j,this.setNodeLocationFromNode=r.j,this.cstPostRule=this.cstPostRuleFull,this.setInitialNodeLocation=this.setInitialNodeLocationFullRegular);else if(/onlyOffset/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=Ko,this.setNodeLocationFromNode=Ko,this.cstPostRule=r.j,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRecovery):(this.setNodeLocationFromToken=r.j,this.setNodeLocationFromNode=r.j,this.cstPostRule=this.cstPostRuleOnlyOffset,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRegular);else if(/none/i.test(this.nodeLocationTracking))this.setNodeLocationFromToken=r.j,this.setNodeLocationFromNode=r.j,this.cstPostRule=r.j,this.setInitialNodeLocation=r.j;else throw Error(`Invalid <nodeLocationTracking> config option: "${e.nodeLocationTracking}"`)}setInitialNodeLocationOnlyOffsetRecovery(e){e.location={startOffset:NaN,endOffset:NaN}}setInitialNodeLocationOnlyOffsetRegular(e){e.location={startOffset:this.LA(1).startOffset,endOffset:NaN}}setInitialNodeLocationFullRecovery(e){e.location={startOffset:NaN,startLine:NaN,startColumn:NaN,endOffset:NaN,endLine:NaN,endColumn:NaN}}setInitialNodeLocationFullRegular(e){let t=this.LA(1);e.location={startOffset:t.startOffset,startLine:t.startLine,startColumn:t.startColumn,endOffset:NaN,endLine:NaN,endColumn:NaN}}cstInvocationStateUpdate(e){let t={name:e,children:Object.create(null)};this.setInitialNodeLocation(t),this.CST_STACK.push(t)}cstFinallyStateUpdate(){this.CST_STACK.pop()}cstPostRuleFull(e){let t=this.LA(0),n=e.location;n.startOffset<=t.startOffset?(n.endOffset=t.endOffset,n.endLine=t.endLine,n.endColumn=t.endColumn):(n.startOffset=NaN,n.startLine=NaN,n.startColumn=NaN)}cstPostRuleOnlyOffset(e){let t=this.LA(0),n=e.location;n.startOffset<=t.startOffset?n.endOffset=t.endOffset:n.startOffset=NaN}cstPostTerminal(e,t){let n=this.CST_STACK[this.CST_STACK.length-1];Jo(n,t,e),this.setNodeLocationFromToken(n.location,t)}cstPostNonTerminal(e,t){let n=this.CST_STACK[this.CST_STACK.length-1];Yo(n,t,e),this.setNodeLocationFromNode(n.location,e.location)}getBaseCstVisitorConstructor(){if(r.r(this.baseCstVisitorConstructor)){let e=$o(this.className,r.D(this.gastProductionsCache));return this.baseCstVisitorConstructor=e,e}return this.baseCstVisitorConstructor}getBaseCstVisitorConstructorWithDefaults(){if(r.r(this.baseCstVisitorWithDefaultsConstructor)){let e=es(this.className,r.D(this.gastProductionsCache),this.getBaseCstVisitorConstructor());return this.baseCstVisitorWithDefaultsConstructor=e,e}return this.baseCstVisitorWithDefaultsConstructor}getLastExplicitRuleShortName(){let e=this.RULE_STACK;return e[e.length-1]}getPreviousExplicitRuleShortName(){let e=this.RULE_STACK;return e[e.length-2]}getLastExplicitRuleOccurrenceIndex(){let e=this.RULE_OCCURRENCE_STACK;return e[e.length-1]}},as=class{initLexerAdapter(){this.tokVector=[],this.tokVectorLength=0,this.currIdx=-1}set input(e){if(this.selfAnalysisDone!==!0)throw Error(`Missing <performSelfAnalysis> invocation at the end of the Parser's constructor.`);this.reset(),this.tokVector=e,this.tokVectorLength=e.length}get input(){return this.tokVector}SKIP_TOKEN(){return this.currIdx<=this.tokVector.length-2?(this.consumeToken(),this.LA(1)):Cs}LA(e){let t=this.currIdx+e;return t<0||this.tokVectorLength<=t?Cs:this.tokVector[t]}consumeToken(){this.currIdx++}exportLexerState(){return this.currIdx}importLexerState(e){this.currIdx=e}resetLexerState(){this.currIdx=-1}moveToTerminatedState(){this.currIdx=this.tokVector.length-1}getLexerPosition(){return this.exportLexerState()}},os=class{ACTION(e){return e.call(this)}consume(e,t,n){return this.consumeInternal(t,e,n)}subrule(e,t,n){return this.subruleInternal(t,e,n)}option(e,t){return this.optionInternal(t,e)}or(e,t){return this.orInternal(t,e)}many(e,t){return this.manyInternal(e,t)}atLeastOne(e,t){return this.atLeastOneInternal(e,t)}CONSUME(e,t){return this.consumeInternal(e,0,t)}CONSUME1(e,t){return this.consumeInternal(e,1,t)}CONSUME2(e,t){return this.consumeInternal(e,2,t)}CONSUME3(e,t){return this.consumeInternal(e,3,t)}CONSUME4(e,t){return this.consumeInternal(e,4,t)}CONSUME5(e,t){return this.consumeInternal(e,5,t)}CONSUME6(e,t){return this.consumeInternal(e,6,t)}CONSUME7(e,t){return this.consumeInternal(e,7,t)}CONSUME8(e,t){return this.consumeInternal(e,8,t)}CONSUME9(e,t){return this.consumeInternal(e,9,t)}SUBRULE(e,t){return this.subruleInternal(e,0,t)}SUBRULE1(e,t){return this.subruleInternal(e,1,t)}SUBRULE2(e,t){return this.subruleInternal(e,2,t)}SUBRULE3(e,t){return this.subruleInternal(e,3,t)}SUBRULE4(e,t){return this.subruleInternal(e,4,t)}SUBRULE5(e,t){return this.subruleInternal(e,5,t)}SUBRULE6(e,t){return this.subruleInternal(e,6,t)}SUBRULE7(e,t){return this.subruleInternal(e,7,t)}SUBRULE8(e,t){return this.subruleInternal(e,8,t)}SUBRULE9(e,t){return this.subruleInternal(e,9,t)}OPTION(e){return this.optionInternal(e,0)}OPTION1(e){return this.optionInternal(e,1)}OPTION2(e){return this.optionInternal(e,2)}OPTION3(e){return this.optionInternal(e,3)}OPTION4(e){return this.optionInternal(e,4)}OPTION5(e){return this.optionInternal(e,5)}OPTION6(e){return this.optionInternal(e,6)}OPTION7(e){return this.optionInternal(e,7)}OPTION8(e){return this.optionInternal(e,8)}OPTION9(e){return this.optionInternal(e,9)}OR(e){return this.orInternal(e,0)}OR1(e){return this.orInternal(e,1)}OR2(e){return this.orInternal(e,2)}OR3(e){return this.orInternal(e,3)}OR4(e){return this.orInternal(e,4)}OR5(e){return this.orInternal(e,5)}OR6(e){return this.orInternal(e,6)}OR7(e){return this.orInternal(e,7)}OR8(e){return this.orInternal(e,8)}OR9(e){return this.orInternal(e,9)}MANY(e){this.manyInternal(0,e)}MANY1(e){this.manyInternal(1,e)}MANY2(e){this.manyInternal(2,e)}MANY3(e){this.manyInternal(3,e)}MANY4(e){this.manyInternal(4,e)}MANY5(e){this.manyInternal(5,e)}MANY6(e){this.manyInternal(6,e)}MANY7(e){this.manyInternal(7,e)}MANY8(e){this.manyInternal(8,e)}MANY9(e){this.manyInternal(9,e)}MANY_SEP(e){this.manySepFirstInternal(0,e)}MANY_SEP1(e){this.manySepFirstInternal(1,e)}MANY_SEP2(e){this.manySepFirstInternal(2,e)}MANY_SEP3(e){this.manySepFirstInternal(3,e)}MANY_SEP4(e){this.manySepFirstInternal(4,e)}MANY_SEP5(e){this.manySepFirstInternal(5,e)}MANY_SEP6(e){this.manySepFirstInternal(6,e)}MANY_SEP7(e){this.manySepFirstInternal(7,e)}MANY_SEP8(e){this.manySepFirstInternal(8,e)}MANY_SEP9(e){this.manySepFirstInternal(9,e)}AT_LEAST_ONE(e){this.atLeastOneInternal(0,e)}AT_LEAST_ONE1(e){return this.atLeastOneInternal(1,e)}AT_LEAST_ONE2(e){this.atLeastOneInternal(2,e)}AT_LEAST_ONE3(e){this.atLeastOneInternal(3,e)}AT_LEAST_ONE4(e){this.atLeastOneInternal(4,e)}AT_LEAST_ONE5(e){this.atLeastOneInternal(5,e)}AT_LEAST_ONE6(e){this.atLeastOneInternal(6,e)}AT_LEAST_ONE7(e){this.atLeastOneInternal(7,e)}AT_LEAST_ONE8(e){this.atLeastOneInternal(8,e)}AT_LEAST_ONE9(e){this.atLeastOneInternal(9,e)}AT_LEAST_ONE_SEP(e){this.atLeastOneSepFirstInternal(0,e)}AT_LEAST_ONE_SEP1(e){this.atLeastOneSepFirstInternal(1,e)}AT_LEAST_ONE_SEP2(e){this.atLeastOneSepFirstInternal(2,e)}AT_LEAST_ONE_SEP3(e){this.atLeastOneSepFirstInternal(3,e)}AT_LEAST_ONE_SEP4(e){this.atLeastOneSepFirstInternal(4,e)}AT_LEAST_ONE_SEP5(e){this.atLeastOneSepFirstInternal(5,e)}AT_LEAST_ONE_SEP6(e){this.atLeastOneSepFirstInternal(6,e)}AT_LEAST_ONE_SEP7(e){this.atLeastOneSepFirstInternal(7,e)}AT_LEAST_ONE_SEP8(e){this.atLeastOneSepFirstInternal(8,e)}AT_LEAST_ONE_SEP9(e){this.atLeastOneSepFirstInternal(9,e)}RULE(e,t,n=Ts){if(k(this.definedRulesNames,e)){let t={message:wa.buildDuplicateRuleNameError({topLevelRule:e,grammarName:this.className}),type:H.DUPLICATE_RULE_NAME,ruleName:e};this.definitionErrors.push(t)}this.definedRulesNames.push(e);let r=this.defineRule(e,t,n);return this[e]=r,r}OVERRIDE_RULE(e,t,n=Ts){let r=so(e,this.definedRulesNames,this.className);this.definitionErrors=this.definitionErrors.concat(r);let i=this.defineRule(e,t,n);return this[e]=i,i}BACKTRACK(e,t){return function(){this.isBackTrackingStack.push(1);let n=this.saveRecogState();try{return e.apply(this,t),!0}catch(e){if(Do(e))return!1;throw e}finally{this.reloadRecogState(n),this.isBackTrackingStack.pop()}}}getGAstProductions(){return this.gastProductionsCache}getSerializedGastProductions(){return jr(r.i(this.gastProductionsCache))}},ss=class{initRecognizerEngine(e,o){if(this.className=this.constructor.name,this.shortRuleNameToFull={},this.fullRuleNameToShort={},this.ruleShortNameIdx=256,this.tokenMatcher=Wi,this.subruleIdx=0,this.definedRulesNames=[],this.tokensMap={},this.isBackTrackingStack=[],this.RULE_STACK=[],this.RULE_OCCURRENCE_STACK=[],this.gastProductionsCache={},i.o(o,`serializedGrammar`))throw Error(`The Parser's configuration can no longer contain a <serializedGrammar> property.
|
|
55
|
+
See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_6-0-0
|
|
56
|
+
For Further details.`);if(n.b(e)){if(t.i(e))throw Error(`A Token Vocabulary cannot be empty.
|
|
57
|
+
Note that the first argument for the parser constructor
|
|
58
|
+
is no longer a Token vector (since v4.0).`);if(typeof e[0].startOffset==`number`)throw Error(`The Parser constructor no longer accepts a token vector as the first argument.
|
|
59
|
+
See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_4-0-0
|
|
60
|
+
For Further details.`)}if(n.b(e))this.tokensMap=r.n(e,(e,t)=>(e[t.name]=t,e),{});else if(i.o(e,`modes`)&&ir(i.f(r.i(e.modes)),ra)){let t=xr(i.f(r.i(e.modes)));this.tokensMap=r.n(t,(e,t)=>(e[t.name]=t,e),{})}else if(n.H(e))this.tokensMap=a.t(e);else throw Error(`<tokensDictionary> argument must be An Array of Token constructors, A dictionary of Token constructors or an IMultiModeLexerDefinition`);this.tokensMap.EOF=ya;let s=ir(i.o(e,`modes`)?i.f(r.i(e.modes)):r.i(e),e=>t.i(e.categoryMatches));this.tokenMatcher=s?Wi:Ui,qi(r.i(this.tokensMap))}defineRule(e,t,n){if(this.selfAnalysisDone)throw Error(`Grammar rule <${e}> may not be defined after the 'performSelfAnalysis' method has been called'\nMake sure that all grammar rule definitions are done before 'performSelfAnalysis' is called.`);let r=i.o(n,`resyncEnabled`)?n.resyncEnabled:Ts.resyncEnabled,a=i.o(n,`recoveryValueFunc`)?n.recoveryValueFunc:Ts.recoveryValueFunc,o=this.ruleShortNameIdx<<12;this.ruleShortNameIdx++,this.shortRuleNameToFull[o]=e,this.fullRuleNameToShort[e]=o;let s;return s=this.outputCst===!0?function(...n){try{this.ruleInvocationStateUpdate(o,e,this.subruleIdx),t.apply(this,n);let r=this.CST_STACK[this.CST_STACK.length-1];return this.cstPostRule(r),r}catch(e){return this.invokeRuleCatch(e,r,a)}finally{this.ruleFinallyStateUpdate()}}:function(...n){try{return this.ruleInvocationStateUpdate(o,e,this.subruleIdx),t.apply(this,n)}catch(e){return this.invokeRuleCatch(e,r,a)}finally{this.ruleFinallyStateUpdate()}},Object.assign(s,{ruleName:e,originalGrammarAction:t})}invokeRuleCatch(e,t,n){let r=this.RULE_STACK.length===1,i=t&&!this.isBackTracking()&&this.recoveryEnabled;if(Do(e)){let t=e;if(i){let r=this.findReSyncTokenType();if(this.isInCurrentRuleReSyncSet(r))if(t.resyncedTokens=this.reSyncTo(r),this.outputCst){let e=this.CST_STACK[this.CST_STACK.length-1];return e.recoveredNode=!0,e}else return n(e);else{if(this.outputCst){let e=this.CST_STACK[this.CST_STACK.length-1];e.recoveredNode=!0,t.partialCstResult=e}throw t}}else if(r)return this.moveToTerminatedState(),n(e);else throw t}else throw e}optionInternal(e,t){let n=this.getKeyForAutomaticLookahead(512,t);return this.optionInternalLogic(e,t,n)}optionInternalLogic(e,t,n){let r=this.getLaFuncFromCache(n),i;if(typeof e!=`function`){i=e.DEF;let t=e.GATE;if(t!==void 0){let e=r;r=()=>t.call(this)&&e.call(this)}}else i=e;if(r.call(this)===!0)return i.call(this)}atLeastOneInternal(e,t){let n=this.getKeyForAutomaticLookahead(Ro,e);return this.atLeastOneInternalLogic(e,t,n)}atLeastOneInternalLogic(e,t,n){let r=this.getLaFuncFromCache(n),i;if(typeof t!=`function`){i=t.DEF;let e=t.GATE;if(e!==void 0){let t=r;r=()=>e.call(this)&&t.call(this)}}else i=t;if(r.call(this)===!0){let e=this.doSingleRepetition(i);for(;r.call(this)===!0&&e===!0;)e=this.doSingleRepetition(i)}else throw this.raiseEarlyExitException(e,V.REPETITION_MANDATORY,t.ERR_MSG);this.attemptInRepetitionRecovery(this.atLeastOneInternal,[e,t],r,Ro,e,Ma)}atLeastOneSepFirstInternal(e,t){let n=this.getKeyForAutomaticLookahead(Bo,e);this.atLeastOneSepFirstInternalLogic(e,t,n)}atLeastOneSepFirstInternalLogic(e,t,n){let r=t.DEF,i=t.SEP;if(this.getLaFuncFromCache(n).call(this)===!0){r.call(this);let t=()=>this.tokenMatcher(this.LA(1),i);for(;this.tokenMatcher(this.LA(1),i)===!0;)this.CONSUME(i),r.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,i,t,r,Na],t,Bo,e,Na)}else throw this.raiseEarlyExitException(e,V.REPETITION_MANDATORY_WITH_SEPARATOR,t.ERR_MSG)}manyInternal(e,t){let n=this.getKeyForAutomaticLookahead(768,e);return this.manyInternalLogic(e,t,n)}manyInternalLogic(e,t,n){let r=this.getLaFuncFromCache(n),i;if(typeof t!=`function`){i=t.DEF;let e=t.GATE;if(e!==void 0){let t=r;r=()=>e.call(this)&&t.call(this)}}else i=t;let a=!0;for(;r.call(this)===!0&&a===!0;)a=this.doSingleRepetition(i);this.attemptInRepetitionRecovery(this.manyInternal,[e,t],r,768,e,Aa,a)}manySepFirstInternal(e,t){let n=this.getKeyForAutomaticLookahead(zo,e);this.manySepFirstInternalLogic(e,t,n)}manySepFirstInternalLogic(e,t,n){let r=t.DEF,i=t.SEP;if(this.getLaFuncFromCache(n).call(this)===!0){r.call(this);let t=()=>this.tokenMatcher(this.LA(1),i);for(;this.tokenMatcher(this.LA(1),i)===!0;)this.CONSUME(i),r.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,i,t,r,ja],t,zo,e,ja)}}repetitionSepSecondInternal(e,t,n,r,i){for(;n();)this.CONSUME(t),r.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,t,n,r,i],n,Bo,e,i)}doSingleRepetition(e){let t=this.getLexerPosition();return e.call(this),this.getLexerPosition()>t}orInternal(e,t){let r=this.getKeyForAutomaticLookahead(256,t),i=n.b(e)?e:e.DEF,a=this.getLaFuncFromCache(r).call(this,i);if(a!==void 0)return i[a].ALT.call(this);this.raiseNoAltException(t,e.ERR_MSG)}ruleFinallyStateUpdate(){if(this.RULE_STACK.pop(),this.RULE_OCCURRENCE_STACK.pop(),this.cstFinallyStateUpdate(),this.RULE_STACK.length===0&&this.isAtEndOfInput()===!1){let e=this.LA(1),t=this.errorMessageProvider.buildNotAllInputParsedMessage({firstRedundant:e,ruleName:this.getCurrRuleFullName()});this.SAVE_ERROR(new jo(t,e))}}subruleInternal(e,t,n){let r;try{let i=n===void 0?void 0:n.ARGS;return this.subruleIdx=t,r=e.apply(this,i),this.cstPostNonTerminal(r,n!==void 0&&n.LABEL!==void 0?n.LABEL:e.ruleName),r}catch(t){throw this.subruleInternalError(t,n,e.ruleName)}}subruleInternalError(e,t,n){throw Do(e)&&e.partialCstResult!==void 0&&(this.cstPostNonTerminal(e.partialCstResult,t!==void 0&&t.LABEL!==void 0?t.LABEL:n),delete e.partialCstResult),e}consumeInternal(e,t,n){let r;try{let t=this.LA(1);this.tokenMatcher(t,e)===!0?(this.consumeToken(),r=t):this.consumeInternalError(e,t,n)}catch(n){r=this.consumeInternalRecovery(e,t,n)}return this.cstPostTerminal(n!==void 0&&n.LABEL!==void 0?n.LABEL:e.name,r),r}consumeInternalError(e,t,n){let r,i=this.LA(0);throw r=n!==void 0&&n.ERR_MSG?n.ERR_MSG:this.errorMessageProvider.buildMismatchTokenMessage({expected:e,actual:t,previous:i,ruleName:this.getCurrRuleFullName()}),this.SAVE_ERROR(new ko(r,t,i))}consumeInternalRecovery(e,t,n){if(this.recoveryEnabled&&n.name===`MismatchedTokenException`&&!this.isBackTracking()){let r=this.getFollowsForInRuleRecovery(e,t);try{return this.tryInRuleRecovery(e,r)}catch(e){throw e.name===`InRuleRecoveryException`?n:e}}else throw n}saveRecogState(){let e=this.errors,t=a.t(this.RULE_STACK);return{errors:e,lexerState:this.exportLexerState(),RULE_STACK:t,CST_STACK:this.CST_STACK}}reloadRecogState(e){this.errors=e.errors,this.importLexerState(e.lexerState),this.RULE_STACK=e.RULE_STACK}ruleInvocationStateUpdate(e,t,n){this.RULE_OCCURRENCE_STACK.push(n),this.RULE_STACK.push(e),this.cstInvocationStateUpdate(t)}isBackTracking(){return this.isBackTrackingStack.length!==0}getCurrRuleFullName(){let e=this.getLastExplicitRuleShortName();return this.shortRuleNameToFull[e]}shortRuleNameToFullName(e){return this.shortRuleNameToFull[e]}isAtEndOfInput(){return this.tokenMatcher(this.LA(1),ya)}reset(){this.resetLexerState(),this.subruleIdx=0,this.isBackTrackingStack=[],this.errors=[],this.RULE_STACK=[],this.CST_STACK=[],this.RULE_OCCURRENCE_STACK=[]}},cs=class{initErrorHandler(e){this._errors=[],this.errorMessageProvider=i.o(e,`errorMessageProvider`)?e.errorMessageProvider:ws.errorMessageProvider}SAVE_ERROR(e){if(Do(e))return e.context={ruleStack:this.getHumanReadableRuleStack(),ruleOccurrenceStack:a.t(this.RULE_OCCURRENCE_STACK)},this._errors.push(e),e;throw Error(`Trying to save an Error which is not a RecognitionException`)}get errors(){return a.t(this._errors)}set errors(e){this._errors=e}raiseEarlyExitException(e,t,n){let r=this.getCurrRuleFullName(),i=this.getGAstProductions()[r],a=Xa(e,i,t,this.maxLookahead)[0],o=[];for(let e=1;e<=this.maxLookahead;e++)o.push(this.LA(e));let s=this.errorMessageProvider.buildEarlyExitMessage({expectedIterationPaths:a,actual:o,previous:this.LA(0),customUserDescription:n,ruleName:r});throw this.SAVE_ERROR(new Mo(s,this.LA(1),this.LA(0)))}raiseNoAltException(e,t){let n=this.getCurrRuleFullName(),r=this.getGAstProductions()[n],i=Ya(e,r,this.maxLookahead),a=[];for(let e=1;e<=this.maxLookahead;e++)a.push(this.LA(e));let o=this.LA(0),s=this.errorMessageProvider.buildNoViableAltMessage({expectedPathsPerAlt:i,actual:a,previous:o,customUserDescription:t,ruleName:this.getCurrRuleFullName()});throw this.SAVE_ERROR(new Ao(s,this.LA(1),o))}},ls=class{initContentAssist(){}computeContentAssist(e,t){let n=this.gastProductionsCache[e];if(r.r(n))throw Error(`Rule ->${e}<- does not exist in this grammar.`);return Fa([n],t,this.tokenMatcher,this.maxLookahead)}getNextPossibleTokenTypes(e){let t=ar(e.ruleStack),n=this.getGAstProductions()[t];return new Oa(n,e).startWalking()}},us={description:`This Object indicates the Parser is during Recording Phase`};Object.freeze(us);var ds=!0,fs=2**8-1,ps=_a({name:`RECORDING_PHASE_TOKEN`,pattern:B.NA});qi([ps]);var ms=ba(ps,`This IToken indicates the Parser is in Recording Phase
|
|
61
|
+
See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,-1,-1,-1,-1,-1,-1);Object.freeze(ms);var hs={name:`This CSTNode indicates the Parser is in Recording Phase
|
|
62
|
+
See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,children:{}},gs=class{initGastRecorder(e){this.recordingProdStack=[],this.RECORDING_PHASE=!1}enableRecording(){this.RECORDING_PHASE=!0,this.TRACE_INIT(`Enable Recording`,()=>{for(let e=0;e<10;e++){let t=e>0?e:``;this[`CONSUME${t}`]=function(t,n){return this.consumeInternalRecord(t,e,n)},this[`SUBRULE${t}`]=function(t,n){return this.subruleInternalRecord(t,e,n)},this[`OPTION${t}`]=function(t){return this.optionInternalRecord(t,e)},this[`OR${t}`]=function(t){return this.orInternalRecord(t,e)},this[`MANY${t}`]=function(t){this.manyInternalRecord(e,t)},this[`MANY_SEP${t}`]=function(t){this.manySepFirstInternalRecord(e,t)},this[`AT_LEAST_ONE${t}`]=function(t){this.atLeastOneInternalRecord(e,t)},this[`AT_LEAST_ONE_SEP${t}`]=function(t){this.atLeastOneSepFirstInternalRecord(e,t)}}this.consume=function(e,t,n){return this.consumeInternalRecord(t,e,n)},this.subrule=function(e,t,n){return this.subruleInternalRecord(t,e,n)},this.option=function(e,t){return this.optionInternalRecord(t,e)},this.or=function(e,t){return this.orInternalRecord(t,e)},this.many=function(e,t){this.manyInternalRecord(e,t)},this.atLeastOne=function(e,t){this.atLeastOneInternalRecord(e,t)},this.ACTION=this.ACTION_RECORD,this.BACKTRACK=this.BACKTRACK_RECORD,this.LA=this.LA_RECORD})}disableRecording(){this.RECORDING_PHASE=!1,this.TRACE_INIT(`Deleting Recording methods`,()=>{let e=this;for(let t=0;t<10;t++){let n=t>0?t:``;delete e[`CONSUME${n}`],delete e[`SUBRULE${n}`],delete e[`OPTION${n}`],delete e[`OR${n}`],delete e[`MANY${n}`],delete e[`MANY_SEP${n}`],delete e[`AT_LEAST_ONE${n}`],delete e[`AT_LEAST_ONE_SEP${n}`]}delete e.consume,delete e.subrule,delete e.option,delete e.or,delete e.many,delete e.atLeastOne,delete e.ACTION,delete e.BACKTRACK,delete e.LA})}ACTION_RECORD(e){}BACKTRACK_RECORD(e,t){return()=>!0}LA_RECORD(e){return Cs}topLevelRuleRecord(e,t){try{let n=new Ar({definition:[],name:e});return n.name=e,this.recordingProdStack.push(n),t.call(this),this.recordingProdStack.pop(),n}catch(e){if(e.KNOWN_RECORDER_ERROR!==!0)try{e.message+=`
|
|
63
|
+
This error was thrown during the "grammar recording phase" For more info see:
|
|
64
|
+
https://chevrotain.io/docs/guide/internals.html#grammar-recording`}catch{throw e}throw e}}optionInternalRecord(e,t){return _s.call(this,M,e,t)}atLeastOneInternalRecord(e,t){_s.call(this,N,t,e)}atLeastOneSepFirstInternalRecord(e,t){_s.call(this,P,t,e,ds)}manyInternalRecord(e,t){_s.call(this,F,t,e)}manySepFirstInternalRecord(e,t){_s.call(this,I,t,e,ds)}orInternalRecord(e,t){return vs.call(this,e,t)}subruleInternalRecord(e,t,n){if(bs(t),!e||i.o(e,`ruleName`)===!1){let n=Error(`<SUBRULE${ys(t)}> argument is invalid expecting a Parser method reference but got: <${JSON.stringify(e)}>\n inside top level rule: <${this.recordingProdStack[0].name}>`);throw n.KNOWN_RECORDER_ERROR=!0,n}let r=i.u(this.recordingProdStack),a=e.ruleName,o=new A({idx:t,nonTerminalName:a,label:n?.LABEL,referencedRule:void 0});return r.definition.push(o),this.outputCst?hs:us}consumeInternalRecord(e,t,n){if(bs(t),!$i(e)){let n=Error(`<CONSUME${ys(t)}> argument is invalid expecting a TokenType reference but got: <${JSON.stringify(e)}>\n inside top level rule: <${this.recordingProdStack[0].name}>`);throw n.KNOWN_RECORDER_ERROR=!0,n}let r=i.u(this.recordingProdStack),a=new R({idx:t,terminalType:e,label:n?.LABEL});return r.definition.push(a),ms}};function _s(e,t,r,a=!1){bs(r);let o=i.u(this.recordingProdStack),s=n.V(t)?t:t.DEF,c=new e({definition:[],idx:r});return a&&(c.separator=t.SEP),i.o(t,`MAX_LOOKAHEAD`)&&(c.maxLookahead=t.MAX_LOOKAHEAD),this.recordingProdStack.push(c),s.call(this),o.definition.push(c),this.recordingProdStack.pop(),us}function vs(e,t){bs(t);let a=i.u(this.recordingProdStack),o=n.b(e)===!1,s=o===!1?e:e.DEF,c=new L({definition:[],idx:t,ignoreAmbiguities:o&&e.IGNORE_AMBIGUITIES===!0});return i.o(e,`MAX_LOOKAHEAD`)&&(c.maxLookahead=e.MAX_LOOKAHEAD),c.hasPredicates=br(s,e=>n.V(e.GATE)),a.definition.push(c),r.s(s,e=>{let t=new j({definition:[]});c.definition.push(t),i.o(e,`IGNORE_AMBIGUITIES`)?t.ignoreAmbiguities=e.IGNORE_AMBIGUITIES:i.o(e,`GATE`)&&(t.ignoreAmbiguities=!0),this.recordingProdStack.push(t),e.ALT.call(this),this.recordingProdStack.pop()}),us}function ys(e){return e===0?``:`${e}`}function bs(e){if(e<0||e>fs){let t=Error(`Invalid DSL Method idx value: <${e}>\n\tIdx value must be a none negative value smaller than ${fs+1}`);throw t.KNOWN_RECORDER_ERROR=!0,t}}var xs=class{initPerformanceTracer(e){if(i.o(e,`traceInitPerf`)){let t=e.traceInitPerf,n=typeof t==`number`;this.traceInitMaxIdent=n?t:1/0,this.traceInitPerf=n?t>0:t}else this.traceInitMaxIdent=0,this.traceInitPerf=ws.traceInitPerf;this.traceInitIndent=-1}TRACE_INIT(e,t){if(this.traceInitPerf===!0){this.traceInitIndent++;let n=Array(this.traceInitIndent+1).join(` `);this.traceInitIndent<this.traceInitMaxIdent&&console.log(`${n}--> <${e}>`);let{time:r,value:i}=Tr(t),a=r>10?console.warn:console.log;return this.traceInitIndent<this.traceInitMaxIdent&&a(`${n}<-- <${e}> time: ${r}ms`),this.traceInitIndent--,i}else return t()}};function Ss(e,t){t.forEach(t=>{let n=t.prototype;Object.getOwnPropertyNames(n).forEach(r=>{if(r===`constructor`)return;let i=Object.getOwnPropertyDescriptor(n,r);i&&(i.get||i.set)?Object.defineProperty(e.prototype,r,i):e.prototype[r]=t.prototype[r]})})}var Cs=ba(ya,``,NaN,NaN,NaN,NaN,NaN,NaN);Object.freeze(Cs);var ws=Object.freeze({recoveryEnabled:!1,maxLookahead:3,dynamicTokensEnabled:!1,outputCst:!0,errorMessageProvider:Sa,nodeLocationTracking:`none`,traceInitPerf:!1,skipValidations:!1}),Ts=Object.freeze({recoveryValueFunc:()=>void 0,resyncEnabled:!0}),H;(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`})(H||={});function Es(e=void 0){return function(){return e}}var Ds=class e{static performSelfAnalysis(e){throw Error("The **static** `performSelfAnalysis` method has been deprecated. \nUse the **instance** method with the same name instead.")}performSelfAnalysis(){this.TRACE_INIT(`performSelfAnalysis`,()=>{let n;this.selfAnalysisDone=!0;let a=this.className;this.TRACE_INIT(`toFastProps`,()=>{Er(this)}),this.TRACE_INIT(`Grammar Recording`,()=>{try{this.enableRecording(),r.s(this.definedRulesNames,e=>{let t=this[e].originalGrammarAction,n;this.TRACE_INIT(`${e} Rule`,()=>{n=this.topLevelRuleRecord(e,t)}),this.gastProductionsCache[e]=n})}finally{this.disableRecording()}});let o=[];if(this.TRACE_INIT(`Grammar Resolving`,()=>{o=bo({rules:r.i(this.gastProductionsCache)}),this.definitionErrors=this.definitionErrors.concat(o)}),this.TRACE_INIT(`Grammar Validations`,()=>{if(t.i(o)&&this.skipValidations===!1){let e=xo({rules:r.i(this.gastProductionsCache),tokenTypes:r.i(this.tokensMap),errMsgProvider:wa,grammarName:a}),t=eo({lookaheadStrategy:this.lookaheadStrategy,rules:r.i(this.gastProductionsCache),tokenTypes:r.i(this.tokensMap),grammarName:a});this.definitionErrors=this.definitionErrors.concat(e,t)}}),t.i(this.definitionErrors)&&(this.recoveryEnabled&&this.TRACE_INIT(`computeAllProdsFollows`,()=>{let e=Kr(r.i(this.gastProductionsCache));this.resyncFollows=e}),this.TRACE_INIT(`ComputeLookaheadFunctions`,()=>{var e,t;(t=(e=this.lookaheadStrategy).initialize)==null||t.call(e,{rules:r.i(this.gastProductionsCache)}),this.preComputeLookaheadFunctions(r.i(this.gastProductionsCache))})),!e.DEFER_DEFINITION_ERRORS_HANDLING&&!t.i(this.definitionErrors))throw n=i.s(this.definitionErrors,e=>e.message),Error(`Parser Definition Errors detected:\n ${n.join(`
|
|
65
|
+
-------------------------------
|
|
66
|
+
`)}`)})}constructor(e,t){this.definitionErrors=[],this.selfAnalysisDone=!1;let n=this;if(n.initErrorHandler(t),n.initLexerAdapter(),n.initLooksAhead(t),n.initRecognizerEngine(e,t),n.initRecoverable(t),n.initTreeBuilder(t),n.initContentAssist(),n.initGastRecorder(t),n.initPerformanceTracer(t),i.o(t,`ignoredIssues`))throw Error(`The <ignoredIssues> IParserConfig property has been deprecated.
|
|
67
|
+
Please use the <IGNORE_AMBIGUITIES> flag on the relevant DSL method instead.
|
|
68
|
+
See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#IGNORING_AMBIGUITIES
|
|
69
|
+
For further details.`);this.skipValidations=i.o(t,`skipValidations`)?t.skipValidations:ws.skipValidations}};Ds.DEFER_DEFINITION_ERRORS_HANDLING=!1,Ss(Ds,[Io,Uo,is,as,ss,os,cs,ls,gs,xs]);var Os=class extends Ds{constructor(e,t=ws){let n=a.t(t);n.outputCst=!1,super(e,n)}};function ks(e,t,n){return`${e.name}_${t}_${n}`}var As=class{constructor(e){this.target=e}isEpsilon(){return!1}},js=class extends As{constructor(e,t){super(e),this.tokenType=t}},Ms=class extends As{constructor(e){super(e)}isEpsilon(){return!0}},Ns=class extends As{constructor(e,t,n){super(e),this.rule=t,this.followState=n}isEpsilon(){return!0}};function Ps(e){let t={decisionMap:{},decisionStates:[],ruleToStartState:new Map,ruleToStopState:new Map,states:[]};Fs(t,e);let n=e.length;for(let r=0;r<n;r++){let n=e[r],i=Us(t,n,n);i!==void 0&&$s(t,n,i)}return t}function Fs(e,t){let n=t.length;for(let r=0;r<n;r++){let n=t[r],i=W(e,n,void 0,{type:2}),a=W(e,n,void 0,{type:7});i.stop=a,e.ruleToStartState.set(n,i),e.ruleToStopState.set(n,a)}}function Is(e,t,n){return n instanceof R?Zs(e,t,n.terminalType,n):n instanceof A?Qs(e,t,n):n instanceof L?Vs(e,t,n):n instanceof M?Hs(e,t,n):n instanceof F?Ls(e,t,n):n instanceof I?Rs(e,t,n):n instanceof N?zs(e,t,n):n instanceof P?Bs(e,t,n):Us(e,t,n)}function Ls(e,t,n){let r=W(e,t,n,{type:5});return qs(e,r),Gs(e,t,n,Js(e,t,r,n,Us(e,t,n)))}function Rs(e,t,n){let r=W(e,t,n,{type:5});return qs(e,r),Gs(e,t,n,Js(e,t,r,n,Us(e,t,n)),Zs(e,t,n.separator,n))}function zs(e,t,n){let r=W(e,t,n,{type:4});return qs(e,r),Ws(e,t,n,Js(e,t,r,n,Us(e,t,n)))}function Bs(e,t,n){let r=W(e,t,n,{type:4});return qs(e,r),Ws(e,t,n,Js(e,t,r,n,Us(e,t,n)),Zs(e,t,n.separator,n))}function Vs(e,t,n){let r=W(e,t,n,{type:1});return qs(e,r),Js(e,t,r,n,...i.s(n.definition,n=>Is(e,t,n)))}function Hs(e,t,n){let r=W(e,t,n,{type:1});return qs(e,r),Ks(e,t,n,Js(e,t,r,n,Us(e,t,n)))}function Us(e,t,n){let a=r.a(i.s(n.definition,n=>Is(e,t,n)),e=>e!==void 0);return a.length===1?a[0]:a.length===0?void 0:Xs(e,a)}function Ws(e,t,n,r,i){let a=r.left,o=r.right,s=W(e,t,n,{type:11});qs(e,s);let c=W(e,t,n,{type:12});return a.loopback=s,c.loopback=s,e.decisionMap[ks(t,i?`RepetitionMandatoryWithSeparator`:`RepetitionMandatory`,n.idx)]=s,U(o,s),i===void 0?(U(s,a),U(s,c)):(U(s,c),U(s,i.left),U(i.right,a)),{left:a,right:c}}function Gs(e,t,n,r,i){let a=r.left,o=r.right,s=W(e,t,n,{type:10});qs(e,s);let c=W(e,t,n,{type:12}),l=W(e,t,n,{type:9});return s.loopback=l,c.loopback=l,U(s,a),U(s,c),U(o,l),i===void 0?U(l,s):(U(l,c),U(l,i.left),U(i.right,a)),e.decisionMap[ks(t,i?`RepetitionWithSeparator`:`Repetition`,n.idx)]=s,{left:s,right:c}}function Ks(e,t,n,r){let i=r.left,a=r.right;return U(i,a),e.decisionMap[ks(t,`Option`,n.idx)]=i,r}function qs(e,t){return e.decisionStates.push(t),t.decision=e.decisionStates.length-1,t.decision}function Js(e,t,n,r,...i){let a=W(e,t,r,{type:8,start:n});n.end=a;for(let e of i)e===void 0?U(n,a):(U(n,e.left),U(e.right,a));let o={left:n,right:a};return e.decisionMap[ks(t,Ys(r),r.idx)]=n,o}function Ys(e){if(e instanceof L)return`Alternation`;if(e instanceof M)return`Option`;if(e instanceof F)return`Repetition`;if(e instanceof I)return`RepetitionWithSeparator`;if(e instanceof N)return`RepetitionMandatory`;if(e instanceof P)return`RepetitionMandatoryWithSeparator`;throw Error(`Invalid production type encountered`)}function Xs(e,t){let n=t.length;for(let r=0;r<n-1;r++){let n=t[r],i;n.left.transitions.length===1&&(i=n.left.transitions[0]);let a=i instanceof Ns,o=i,s=t[r+1].left;n.left.type===1&&n.right.type===1&&i!==void 0&&(a&&o.followState===n.right||i.target===n.right)?(a?o.followState=s:i.target=s,tc(e,n.right)):U(n.right,s)}let r=t[0],i=t[n-1];return{left:r.left,right:i.right}}function Zs(e,t,n,r){let i=W(e,t,r,{type:1}),a=W(e,t,r,{type:1});return ec(i,new js(a,n)),{left:i,right:a}}function Qs(e,t,n){let r=n.referencedRule,i=e.ruleToStartState.get(r),a=W(e,t,n,{type:1}),o=W(e,t,n,{type:1});return ec(a,new Ns(i,r,o)),{left:a,right:o}}function $s(e,t,n){let r=e.ruleToStartState.get(t);U(r,n.left);let i=e.ruleToStopState.get(t);return U(n.right,i),{left:r,right:i}}function U(e,t){ec(e,new Ms(t))}function W(e,t,n,r){let i=Object.assign({atn:e,production:n,epsilonOnlyTransitions:!1,rule:t,transitions:[],nextTokenWithinRule:[],stateNumber:e.states.length},r);return e.states.push(i),i}function ec(e,t){e.transitions.length===0&&(e.epsilonOnlyTransitions=t.isEpsilon()),e.transitions.push(t)}function tc(e,t){e.states.splice(e.states.indexOf(t),1)}var nc={},rc=class{constructor(){this.map={},this.configs=[]}get size(){return this.configs.length}finalize(){this.map={}}add(e){let t=ic(e);t in this.map||(this.map[t]=this.configs.length,this.configs.push(e))}get elements(){return this.configs}get alts(){return i.s(this.configs,e=>e.alt)}get key(){let e=``;for(let t in this.map)e+=t+`:`;return e}};function ic(e,t=!0){return`${t?`a${e.alt}`:``}s${e.state.stateNumber}:${e.stack.map(e=>e.stateNumber.toString()).join(`_`)}`}function ac(e,t){let n={};return r=>{let i=r.toString(),a=n[i];return a===void 0?(a={atnStartState:e,decision:t,states:{}},n[i]=a,a):a}}var oc=class{constructor(){this.predicates=[]}is(e){return e>=this.predicates.length||this.predicates[e]}set(e,t){this.predicates[e]=t}toString(){let e=``,t=this.predicates.length;for(let n=0;n<t;n++)e+=this.predicates[n]===!0?`1`:`0`;return e}},sc=new oc,cc=class extends Ho{constructor(e){super(),this.logging=e?.logging??(e=>console.log(e))}initialize(e){this.atn=Ps(e.rules),this.dfas=uc(this.atn)}validateAmbiguousAlternationAlternatives(){return[]}validateEmptyOrAlternatives(){return[]}buildLookaheadForAlternation(e){let{prodOccurrence:t,rule:n,hasPredicates:a,dynamicTokensEnabled:o}=e,s=this.dfas,c=this.logging,l=ks(n,`Alternation`,t),u=this.atn.decisionMap[l].decision,d=i.s(Ra({maxLookahead:1,occurrence:t,prodType:`Alternation`,rule:n}),e=>i.s(e,e=>e[0]));if(lc(d,!1)&&!o){let e=r.n(d,(e,t,n)=>(r.s(t,t=>{t&&(e[t.tokenTypeIdx]=n,r.s(t.categoryMatches,t=>{e[t]=n}))}),e),{});return a?function(t){let n=e[this.LA(1).tokenTypeIdx];if(t!==void 0&&n!==void 0){let e=t[n]?.GATE;if(e!==void 0&&e.call(this)===!1)return}return n}:function(){return e[this.LA(1).tokenTypeIdx]}}else if(a)return function(e){let t=new oc,n=e===void 0?0:e.length;for(let r=0;r<n;r++){let n=e?.[r].GATE;t.set(r,n===void 0||n.call(this))}let r=dc.call(this,s,u,t,c);return typeof r==`number`?r:void 0};else return function(){let e=dc.call(this,s,u,sc,c);return typeof e==`number`?e:void 0}}buildLookaheadForOptional(e){let{prodOccurrence:n,rule:a,prodType:o,dynamicTokensEnabled:s}=e,c=this.dfas,l=this.logging,u=ks(a,o,n),d=this.atn.decisionMap[u].decision,f=i.s(Ra({maxLookahead:1,occurrence:n,prodType:o,rule:a}),e=>i.s(e,e=>e[0]));if(lc(f)&&f[0][0]&&!s){let e=f[0],n=i.f(e);if(n.length===1&&t.i(n[0].categoryMatches)){let e=n[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===e}}else{let e=r.n(n,(e,t)=>(t!==void 0&&(e[t.tokenTypeIdx]=!0,r.s(t.categoryMatches,t=>{e[t]=!0})),e),{});return function(){return e[this.LA(1).tokenTypeIdx]===!0}}}return function(){let e=dc.call(this,c,d,sc,l);return typeof e==`object`?!1:e===0}}};function lc(e,t=!0){let n=new Set;for(let r of e){let e=new Set;for(let i of r){if(i===void 0){if(t)break;return!1}let r=[i.tokenTypeIdx].concat(i.categoryMatches);for(let t of r)if(n.has(t)){if(!e.has(t))return!1}else n.add(t),e.add(t)}}return!0}function uc(e){let t=e.decisionStates.length,n=Array(t);for(let r=0;r<t;r++)n[r]=ac(e.decisionStates[r],r);return n}function dc(e,t,n,r){let i=e[t](n),a=i.start;return a===void 0&&(a=wc(i,Sc(Tc(i.atnStartState))),i.start=a),fc.apply(this,[i,a,n,r])}function fc(e,t,n,r){let i=t,a=1,o=[],s=this.LA(a++);for(;;){let t=vc(i,s);if(t===void 0&&(t=pc.apply(this,[e,i,s,a,n,r])),t===nc)return _c(o,i,s);if(t.isAcceptState===!0)return t.prediction;i=t,o.push(s),s=this.LA(a++)}}function pc(e,t,n,r,a,o){let s=yc(t.configs,n,a);if(s.size===0)return Cc(e,t,n,nc),nc;let c=Sc(s),l=xc(s,a);if(l!==void 0)c.isAcceptState=!0,c.prediction=l,c.configs.uniqueAlt=l;else if(Ac(s)){let t=i.n(s.alts);c.isAcceptState=!0,c.prediction=t,c.configs.uniqueAlt=t,mc.apply(this,[e,r,s.alts,o])}return c=Cc(e,t,n,c),c}function mc(e,t,n,r){let i=[];for(let e=1;e<=t;e++)i.push(this.LA(e).tokenType);let a=e.atnStartState,o=a.rule,s=a.production;r(hc({topLevelRule:o,ambiguityIndices:n,production:s,prefixPath:i}))}function hc(e){let t=i.s(e.prefixPath,e=>oa(e)).join(`, `),n=e.production.idx===0?``:e.production.idx,r=`Ambiguous Alternatives Detected: <${e.ambiguityIndices.join(`, `)}> in <${gc(e.production)}${n}> inside <${e.topLevelRule.name}> Rule,\n<${t}> may appears as a prefix path in all these alternatives.\n`;return r+=`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES
|
|
70
|
+
For Further details.`,r}function gc(e){if(e instanceof A)return`SUBRULE`;if(e instanceof M)return`OPTION`;if(e instanceof L)return`OR`;if(e instanceof N)return`AT_LEAST_ONE`;if(e instanceof P)return`AT_LEAST_ONE_SEP`;if(e instanceof I)return`MANY_SEP`;if(e instanceof F)return`MANY`;if(e instanceof R)return`CONSUME`;throw Error(`non exhaustive match`)}function _c(e,t,n){return{actualToken:n,possibleTokenTypes:Sr(O(t.configs.elements,e=>e.state.transitions).filter(e=>e instanceof js).map(e=>e.tokenType),e=>e.tokenTypeIdx),tokenPath:e}}function vc(e,t){return e.edges[t.tokenTypeIdx]}function yc(e,t,n){let r=new rc,i=[];for(let a of e.elements){if(n.is(a.alt)===!1)continue;if(a.state.type===7){i.push(a);continue}let e=a.state.transitions.length;for(let n=0;n<e;n++){let e=a.state.transitions[n],i=bc(e,t);i!==void 0&&r.add({state:i,alt:a.alt,stack:a.stack})}}let a;if(i.length===0&&r.size===1&&(a=r),a===void 0){a=new rc;for(let e of r.elements)Ec(e,a)}if(i.length>0&&!Oc(a))for(let e of i)a.add(e);return a}function bc(e,t){if(e instanceof js&&xa(t,e.tokenType))return e.target}function xc(e,t){let n;for(let r of e.elements)if(t.is(r.alt)===!0){if(n===void 0)n=r.alt;else if(n!==r.alt)return}return n}function Sc(e){return{configs:e,edges:{},isAcceptState:!1,prediction:-1}}function Cc(e,t,n,r){return r=wc(e,r),t.edges[n.tokenTypeIdx]=r,r}function wc(e,t){if(t===nc)return t;let n=t.configs.key,r=e.states[n];return r===void 0?(t.configs.finalize(),e.states[n]=t,t):r}function Tc(e){let t=new rc,n=e.transitions.length;for(let r=0;r<n;r++)Ec({state:e.transitions[r].target,alt:r,stack:[]},t);return t}function Ec(e,t){let n=e.state;if(n.type===7){if(e.stack.length>0){let n=[...e.stack];Ec({state:n.pop(),alt:e.alt,stack:n},t)}else t.add(e);return}n.epsilonOnlyTransitions||t.add(e);let r=n.transitions.length;for(let i=0;i<r;i++){let r=n.transitions[i],a=Dc(e,r);a!==void 0&&Ec(a,t)}}function Dc(e,t){if(t instanceof Ms)return{state:t.target,alt:e.alt,stack:e.stack};if(t instanceof Ns){let n=[...e.stack,t.followState];return{state:t.target,alt:e.alt,stack:n}}}function Oc(e){for(let t of e.elements)if(t.state.type===7)return!0;return!1}function kc(e){for(let t of e.elements)if(t.state.type!==7)return!1;return!0}function Ac(e){if(kc(e))return!0;let t=jc(e.elements);return Mc(t)&&!Nc(t)}function jc(e){let t=new Map;for(let n of e){let e=ic(n,!1),r=t.get(e);r===void 0&&(r={},t.set(e,r)),r[n.alt]=!0}return t}function Mc(e){for(let t of Array.from(e.values()))if(Object.keys(t).length>1)return!0;return!1}function Nc(e){for(let t of Array.from(e.values()))if(Object.keys(t).length===1)return!0;return!1}var Pc;(function(e){function t(e){return typeof e==`string`}e.is=t})(Pc||={});var Fc;(function(e){function t(e){return typeof e==`string`}e.is=t})(Fc||={});var Ic;(function(e){e.MIN_VALUE=-2147483648,e.MAX_VALUE=2147483647;function t(t){return typeof t==`number`&&e.MIN_VALUE<=t&&t<=e.MAX_VALUE}e.is=t})(Ic||={});var Lc;(function(e){e.MIN_VALUE=0,e.MAX_VALUE=2147483647;function t(t){return typeof t==`number`&&e.MIN_VALUE<=t&&t<=e.MAX_VALUE}e.is=t})(Lc||={});var G;(function(e){function t(e,t){return e===Number.MAX_VALUE&&(e=Lc.MAX_VALUE),t===Number.MAX_VALUE&&(t=Lc.MAX_VALUE),{line:e,character:t}}e.create=t;function n(e){let t=e;return q.objectLiteral(t)&&q.uinteger(t.line)&&q.uinteger(t.character)}e.is=n})(G||={});var K;(function(e){function t(e,t,n,r){if(q.uinteger(e)&&q.uinteger(t)&&q.uinteger(n)&&q.uinteger(r))return{start:G.create(e,t),end:G.create(n,r)};if(G.is(e)&&G.is(t))return{start:e,end:t};throw Error(`Range#create called with invalid arguments[${e}, ${t}, ${n}, ${r}]`)}e.create=t;function n(e){let t=e;return q.objectLiteral(t)&&G.is(t.start)&&G.is(t.end)}e.is=n})(K||={});var Rc;(function(e){function t(e,t){return{uri:e,range:t}}e.create=t;function n(e){let t=e;return q.objectLiteral(t)&&K.is(t.range)&&(q.string(t.uri)||q.undefined(t.uri))}e.is=n})(Rc||={});var zc;(function(e){function t(e,t,n,r){return{targetUri:e,targetRange:t,targetSelectionRange:n,originSelectionRange:r}}e.create=t;function n(e){let t=e;return q.objectLiteral(t)&&K.is(t.targetRange)&&q.string(t.targetUri)&&K.is(t.targetSelectionRange)&&(K.is(t.originSelectionRange)||q.undefined(t.originSelectionRange))}e.is=n})(zc||={});var Bc;(function(e){function t(e,t,n,r){return{red:e,green:t,blue:n,alpha:r}}e.create=t;function n(e){let t=e;return q.objectLiteral(t)&&q.numberRange(t.red,0,1)&&q.numberRange(t.green,0,1)&&q.numberRange(t.blue,0,1)&&q.numberRange(t.alpha,0,1)}e.is=n})(Bc||={});var Vc;(function(e){function t(e,t){return{range:e,color:t}}e.create=t;function n(e){let t=e;return q.objectLiteral(t)&&K.is(t.range)&&Bc.is(t.color)}e.is=n})(Vc||={});var Hc;(function(e){function t(e,t,n){return{label:e,textEdit:t,additionalTextEdits:n}}e.create=t;function n(e){let t=e;return q.objectLiteral(t)&&q.string(t.label)&&(q.undefined(t.textEdit)||Zc.is(t))&&(q.undefined(t.additionalTextEdits)||q.typedArray(t.additionalTextEdits,Zc.is))}e.is=n})(Hc||={});var Uc;(function(e){e.Comment=`comment`,e.Imports=`imports`,e.Region=`region`})(Uc||={});var Wc;(function(e){function t(e,t,n,r,i,a){let o={startLine:e,endLine:t};return q.defined(n)&&(o.startCharacter=n),q.defined(r)&&(o.endCharacter=r),q.defined(i)&&(o.kind=i),q.defined(a)&&(o.collapsedText=a),o}e.create=t;function n(e){let t=e;return q.objectLiteral(t)&&q.uinteger(t.startLine)&&q.uinteger(t.startLine)&&(q.undefined(t.startCharacter)||q.uinteger(t.startCharacter))&&(q.undefined(t.endCharacter)||q.uinteger(t.endCharacter))&&(q.undefined(t.kind)||q.string(t.kind))}e.is=n})(Wc||={});var Gc;(function(e){function t(e,t){return{location:e,message:t}}e.create=t;function n(e){let t=e;return q.defined(t)&&Rc.is(t.location)&&q.string(t.message)}e.is=n})(Gc||={});var Kc;(function(e){e.Error=1,e.Warning=2,e.Information=3,e.Hint=4})(Kc||={});var qc;(function(e){e.Unnecessary=1,e.Deprecated=2})(qc||={});var Jc;(function(e){function t(e){let t=e;return q.objectLiteral(t)&&q.string(t.href)}e.is=t})(Jc||={});var Yc;(function(e){function t(e,t,n,r,i,a){let o={range:e,message:t};return q.defined(n)&&(o.severity=n),q.defined(r)&&(o.code=r),q.defined(i)&&(o.source=i),q.defined(a)&&(o.relatedInformation=a),o}e.create=t;function n(e){let t=e;return q.defined(t)&&K.is(t.range)&&q.string(t.message)&&(q.number(t.severity)||q.undefined(t.severity))&&(q.integer(t.code)||q.string(t.code)||q.undefined(t.code))&&(q.undefined(t.codeDescription)||q.string(t.codeDescription?.href))&&(q.string(t.source)||q.undefined(t.source))&&(q.undefined(t.relatedInformation)||q.typedArray(t.relatedInformation,Gc.is))}e.is=n})(Yc||={});var Xc;(function(e){function t(e,t,...n){let r={title:e,command:t};return q.defined(n)&&n.length>0&&(r.arguments=n),r}e.create=t;function n(e){let t=e;return q.defined(t)&&q.string(t.title)&&q.string(t.command)}e.is=n})(Xc||={});var Zc;(function(e){function t(e,t){return{range:e,newText:t}}e.replace=t;function n(e,t){return{range:{start:e,end:e},newText:t}}e.insert=n;function r(e){return{range:e,newText:``}}e.del=r;function i(e){let t=e;return q.objectLiteral(t)&&q.string(t.newText)&&K.is(t.range)}e.is=i})(Zc||={});var Qc;(function(e){function t(e,t,n){let r={label:e};return t!==void 0&&(r.needsConfirmation=t),n!==void 0&&(r.description=n),r}e.create=t;function n(e){let t=e;return q.objectLiteral(t)&&q.string(t.label)&&(q.boolean(t.needsConfirmation)||t.needsConfirmation===void 0)&&(q.string(t.description)||t.description===void 0)}e.is=n})(Qc||={});var $c;(function(e){function t(e){let t=e;return q.string(t)}e.is=t})($c||={});var el;(function(e){function t(e,t,n){return{range:e,newText:t,annotationId:n}}e.replace=t;function n(e,t,n){return{range:{start:e,end:e},newText:t,annotationId:n}}e.insert=n;function r(e,t){return{range:e,newText:``,annotationId:t}}e.del=r;function i(e){let t=e;return Zc.is(t)&&(Qc.is(t.annotationId)||$c.is(t.annotationId))}e.is=i})(el||={});var tl;(function(e){function t(e,t){return{textDocument:e,edits:t}}e.create=t;function n(e){let t=e;return q.defined(t)&&cl.is(t.textDocument)&&Array.isArray(t.edits)}e.is=n})(tl||={});var nl;(function(e){function t(e,t,n){let r={kind:`create`,uri:e};return t!==void 0&&(t.overwrite!==void 0||t.ignoreIfExists!==void 0)&&(r.options=t),n!==void 0&&(r.annotationId=n),r}e.create=t;function n(e){let t=e;return t&&t.kind===`create`&&q.string(t.uri)&&(t.options===void 0||(t.options.overwrite===void 0||q.boolean(t.options.overwrite))&&(t.options.ignoreIfExists===void 0||q.boolean(t.options.ignoreIfExists)))&&(t.annotationId===void 0||$c.is(t.annotationId))}e.is=n})(nl||={});var rl;(function(e){function t(e,t,n,r){let i={kind:`rename`,oldUri:e,newUri:t};return n!==void 0&&(n.overwrite!==void 0||n.ignoreIfExists!==void 0)&&(i.options=n),r!==void 0&&(i.annotationId=r),i}e.create=t;function n(e){let t=e;return t&&t.kind===`rename`&&q.string(t.oldUri)&&q.string(t.newUri)&&(t.options===void 0||(t.options.overwrite===void 0||q.boolean(t.options.overwrite))&&(t.options.ignoreIfExists===void 0||q.boolean(t.options.ignoreIfExists)))&&(t.annotationId===void 0||$c.is(t.annotationId))}e.is=n})(rl||={});var il;(function(e){function t(e,t,n){let r={kind:`delete`,uri:e};return t!==void 0&&(t.recursive!==void 0||t.ignoreIfNotExists!==void 0)&&(r.options=t),n!==void 0&&(r.annotationId=n),r}e.create=t;function n(e){let t=e;return t&&t.kind===`delete`&&q.string(t.uri)&&(t.options===void 0||(t.options.recursive===void 0||q.boolean(t.options.recursive))&&(t.options.ignoreIfNotExists===void 0||q.boolean(t.options.ignoreIfNotExists)))&&(t.annotationId===void 0||$c.is(t.annotationId))}e.is=n})(il||={});var al;(function(e){function t(e){let t=e;return t&&(t.changes!==void 0||t.documentChanges!==void 0)&&(t.documentChanges===void 0||t.documentChanges.every(e=>q.string(e.kind)?nl.is(e)||rl.is(e)||il.is(e):tl.is(e)))}e.is=t})(al||={});var ol;(function(e){function t(e){return{uri:e}}e.create=t;function n(e){let t=e;return q.defined(t)&&q.string(t.uri)}e.is=n})(ol||={});var sl;(function(e){function t(e,t){return{uri:e,version:t}}e.create=t;function n(e){let t=e;return q.defined(t)&&q.string(t.uri)&&q.integer(t.version)}e.is=n})(sl||={});var cl;(function(e){function t(e,t){return{uri:e,version:t}}e.create=t;function n(e){let t=e;return q.defined(t)&&q.string(t.uri)&&(t.version===null||q.integer(t.version))}e.is=n})(cl||={});var ll;(function(e){function t(e,t,n,r){return{uri:e,languageId:t,version:n,text:r}}e.create=t;function n(e){let t=e;return q.defined(t)&&q.string(t.uri)&&q.string(t.languageId)&&q.integer(t.version)&&q.string(t.text)}e.is=n})(ll||={});var ul;(function(e){e.PlainText=`plaintext`,e.Markdown=`markdown`;function t(t){let n=t;return n===e.PlainText||n===e.Markdown}e.is=t})(ul||={});var dl;(function(e){function t(e){let t=e;return q.objectLiteral(e)&&ul.is(t.kind)&&q.string(t.value)}e.is=t})(dl||={});var fl;(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})(fl||={});var pl;(function(e){e.PlainText=1,e.Snippet=2})(pl||={});var ml;(function(e){e.Deprecated=1})(ml||={});var hl;(function(e){function t(e,t,n){return{newText:e,insert:t,replace:n}}e.create=t;function n(e){let t=e;return t&&q.string(t.newText)&&K.is(t.insert)&&K.is(t.replace)}e.is=n})(hl||={});var gl;(function(e){e.asIs=1,e.adjustIndentation=2})(gl||={});var _l;(function(e){function t(e){let t=e;return t&&(q.string(t.detail)||t.detail===void 0)&&(q.string(t.description)||t.description===void 0)}e.is=t})(_l||={});var vl;(function(e){function t(e){return{label:e}}e.create=t})(vl||={});var yl;(function(e){function t(e,t){return{items:e||[],isIncomplete:!!t}}e.create=t})(yl||={});var bl;(function(e){function t(e){return e.replace(/[\\`*_{}[\]()#+\-.!]/g,`\\$&`)}e.fromPlainText=t;function n(e){let t=e;return q.string(t)||q.objectLiteral(t)&&q.string(t.language)&&q.string(t.value)}e.is=n})(bl||={});var xl;(function(e){function t(e){let t=e;return!!t&&q.objectLiteral(t)&&(dl.is(t.contents)||bl.is(t.contents)||q.typedArray(t.contents,bl.is))&&(e.range===void 0||K.is(e.range))}e.is=t})(xl||={});var Sl;(function(e){function t(e,t){return t?{label:e,documentation:t}:{label:e}}e.create=t})(Sl||={});var Cl;(function(e){function t(e,t,...n){let r={label:e};return q.defined(t)&&(r.documentation=t),q.defined(n)?r.parameters=n:r.parameters=[],r}e.create=t})(Cl||={});var wl;(function(e){e.Text=1,e.Read=2,e.Write=3})(wl||={});var Tl;(function(e){function t(e,t){let n={range:e};return q.number(t)&&(n.kind=t),n}e.create=t})(Tl||={});var El;(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})(El||={});var Dl;(function(e){e.Deprecated=1})(Dl||={});var Ol;(function(e){function t(e,t,n,r,i){let a={name:e,kind:t,location:{uri:r,range:n}};return i&&(a.containerName=i),a}e.create=t})(Ol||={});var kl;(function(e){function t(e,t,n,r){return r===void 0?{name:e,kind:t,location:{uri:n}}:{name:e,kind:t,location:{uri:n,range:r}}}e.create=t})(kl||={});var Al;(function(e){function t(e,t,n,r,i,a){let o={name:e,detail:t,kind:n,range:r,selectionRange:i};return a!==void 0&&(o.children=a),o}e.create=t;function n(e){let t=e;return t&&q.string(t.name)&&q.number(t.kind)&&K.is(t.range)&&K.is(t.selectionRange)&&(t.detail===void 0||q.string(t.detail))&&(t.deprecated===void 0||q.boolean(t.deprecated))&&(t.children===void 0||Array.isArray(t.children))&&(t.tags===void 0||Array.isArray(t.tags))}e.is=n})(Al||={});var jl;(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`})(jl||={});var Ml;(function(e){e.Invoked=1,e.Automatic=2})(Ml||={});var Nl;(function(e){function t(e,t,n){let r={diagnostics:e};return t!=null&&(r.only=t),n!=null&&(r.triggerKind=n),r}e.create=t;function n(e){let t=e;return q.defined(t)&&q.typedArray(t.diagnostics,Yc.is)&&(t.only===void 0||q.typedArray(t.only,q.string))&&(t.triggerKind===void 0||t.triggerKind===Ml.Invoked||t.triggerKind===Ml.Automatic)}e.is=n})(Nl||={});var Pl;(function(e){function t(e,t,n){let r={title:e},i=!0;return typeof t==`string`?(i=!1,r.kind=t):Xc.is(t)?r.command=t:r.edit=t,i&&n!==void 0&&(r.kind=n),r}e.create=t;function n(e){let t=e;return t&&q.string(t.title)&&(t.diagnostics===void 0||q.typedArray(t.diagnostics,Yc.is))&&(t.kind===void 0||q.string(t.kind))&&(t.edit!==void 0||t.command!==void 0)&&(t.command===void 0||Xc.is(t.command))&&(t.isPreferred===void 0||q.boolean(t.isPreferred))&&(t.edit===void 0||al.is(t.edit))}e.is=n})(Pl||={});var Fl;(function(e){function t(e,t){let n={range:e};return q.defined(t)&&(n.data=t),n}e.create=t;function n(e){let t=e;return q.defined(t)&&K.is(t.range)&&(q.undefined(t.command)||Xc.is(t.command))}e.is=n})(Fl||={});var Il;(function(e){function t(e,t){return{tabSize:e,insertSpaces:t}}e.create=t;function n(e){let t=e;return q.defined(t)&&q.uinteger(t.tabSize)&&q.boolean(t.insertSpaces)}e.is=n})(Il||={});var Ll;(function(e){function t(e,t,n){return{range:e,target:t,data:n}}e.create=t;function n(e){let t=e;return q.defined(t)&&K.is(t.range)&&(q.undefined(t.target)||q.string(t.target))}e.is=n})(Ll||={});var Rl;(function(e){function t(e,t){return{range:e,parent:t}}e.create=t;function n(t){let n=t;return q.objectLiteral(n)&&K.is(n.range)&&(n.parent===void 0||e.is(n.parent))}e.is=n})(Rl||={});var zl;(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`})(zl||={});var Bl;(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`})(Bl||={});var Vl;(function(e){function t(e){let t=e;return q.objectLiteral(t)&&(t.resultId===void 0||typeof t.resultId==`string`)&&Array.isArray(t.data)&&(t.data.length===0||typeof t.data[0]==`number`)}e.is=t})(Vl||={});var Hl;(function(e){function t(e,t){return{range:e,text:t}}e.create=t;function n(e){let t=e;return t!=null&&K.is(t.range)&&q.string(t.text)}e.is=n})(Hl||={});var Ul;(function(e){function t(e,t,n){return{range:e,variableName:t,caseSensitiveLookup:n}}e.create=t;function n(e){let t=e;return t!=null&&K.is(t.range)&&q.boolean(t.caseSensitiveLookup)&&(q.string(t.variableName)||t.variableName===void 0)}e.is=n})(Ul||={});var Wl;(function(e){function t(e,t){return{range:e,expression:t}}e.create=t;function n(e){let t=e;return t!=null&&K.is(t.range)&&(q.string(t.expression)||t.expression===void 0)}e.is=n})(Wl||={});var Gl;(function(e){function t(e,t){return{frameId:e,stoppedLocation:t}}e.create=t;function n(e){let t=e;return q.defined(t)&&K.is(e.stoppedLocation)}e.is=n})(Gl||={});var Kl;(function(e){e.Type=1,e.Parameter=2;function t(e){return e===1||e===2}e.is=t})(Kl||={});var ql;(function(e){function t(e){return{value:e}}e.create=t;function n(e){let t=e;return q.objectLiteral(t)&&(t.tooltip===void 0||q.string(t.tooltip)||dl.is(t.tooltip))&&(t.location===void 0||Rc.is(t.location))&&(t.command===void 0||Xc.is(t.command))}e.is=n})(ql||={});var Jl;(function(e){function t(e,t,n){let r={position:e,label:t};return n!==void 0&&(r.kind=n),r}e.create=t;function n(e){let t=e;return q.objectLiteral(t)&&G.is(t.position)&&(q.string(t.label)||q.typedArray(t.label,ql.is))&&(t.kind===void 0||Kl.is(t.kind))&&t.textEdits===void 0||q.typedArray(t.textEdits,Zc.is)&&(t.tooltip===void 0||q.string(t.tooltip)||dl.is(t.tooltip))&&(t.paddingLeft===void 0||q.boolean(t.paddingLeft))&&(t.paddingRight===void 0||q.boolean(t.paddingRight))}e.is=n})(Jl||={});var Yl;(function(e){function t(e){return{kind:`snippet`,value:e}}e.createSnippet=t})(Yl||={});var Xl;(function(e){function t(e,t,n,r){return{insertText:e,filterText:t,range:n,command:r}}e.create=t})(Xl||={});var Zl;(function(e){function t(e){return{items:e}}e.create=t})(Zl||={});var Ql;(function(e){e.Invoked=0,e.Automatic=1})(Ql||={});var $l;(function(e){function t(e,t){return{range:e,text:t}}e.create=t})($l||={});var eu;(function(e){function t(e,t){return{triggerKind:e,selectedCompletionInfo:t}}e.create=t})(eu||={});var tu;(function(e){function t(e){let t=e;return q.objectLiteral(t)&&Fc.is(t.uri)&&q.string(t.name)}e.is=t})(tu||={});var nu;(function(e){function t(e,t,n,r){return new ru(e,t,n,r)}e.create=t;function n(e){let t=e;return!!(q.defined(t)&&q.string(t.uri)&&(q.undefined(t.languageId)||q.string(t.languageId))&&q.uinteger(t.lineCount)&&q.func(t.getText)&&q.func(t.positionAt)&&q.func(t.offsetAt))}e.is=n;function r(e,t){let n=e.getText(),r=i(t,(e,t)=>{let n=e.range.start.line-t.range.start.line;return n===0?e.range.start.character-t.range.start.character:n}),a=n.length;for(let t=r.length-1;t>=0;t--){let i=r[t],o=e.offsetAt(i.range.start),s=e.offsetAt(i.range.end);if(s<=a)n=n.substring(0,o)+i.newText+n.substring(s,n.length);else throw Error(`Overlapping edit`);a=o}return n}e.applyEdits=r;function i(e,t){if(e.length<=1)return e;let n=e.length/2|0,r=e.slice(0,n),a=e.slice(n);i(r,t),i(a,t);let o=0,s=0,c=0;for(;o<r.length&&s<a.length;)t(r[o],a[s])<=0?e[c++]=r[o++]:e[c++]=a[s++];for(;o<r.length;)e[c++]=r[o++];for(;s<a.length;)e[c++]=a[s++];return e}})(nu||={});var ru=class{constructor(e,t,n,r){this._uri=e,this._languageId=t,this._version=n,this._content=r,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){let t=this.offsetAt(e.start),n=this.offsetAt(e.end);return this._content.substring(t,n)}return this._content}update(e,t){this._content=e.text,this._version=t,this._lineOffsets=void 0}getLineOffsets(){if(this._lineOffsets===void 0){let e=[],t=this._content,n=!0;for(let r=0;r<t.length;r++){n&&=(e.push(r),!1);let i=t.charAt(r);n=i===`\r`||i===`
|
|
71
|
+
`,i===`\r`&&r+1<t.length&&t.charAt(r+1)===`
|
|
72
|
+
`&&r++}n&&t.length>0&&e.push(t.length),this._lineOffsets=e}return this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let t=this.getLineOffsets(),n=0,r=t.length;if(r===0)return G.create(0,e);for(;n<r;){let i=Math.floor((n+r)/2);t[i]>e?r=i:n=i+1}let i=n-1;return G.create(i,e-t[i])}offsetAt(e){let t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;let n=t[e.line],r=e.line+1<t.length?t[e.line+1]:this._content.length;return Math.max(Math.min(n+e.character,r),n)}get lineCount(){return this.getLineOffsets().length}},q;(function(e){let t=Object.prototype.toString;function n(e){return e!==void 0}e.defined=n;function r(e){return e===void 0}e.undefined=r;function i(e){return e===!0||e===!1}e.boolean=i;function a(e){return t.call(e)===`[object String]`}e.string=a;function o(e){return t.call(e)===`[object Number]`}e.number=o;function s(e,n,r){return t.call(e)===`[object Number]`&&n<=e&&e<=r}e.numberRange=s;function c(e){return t.call(e)===`[object Number]`&&-2147483648<=e&&e<=2147483647}e.integer=c;function l(e){return t.call(e)===`[object Number]`&&0<=e&&e<=2147483647}e.uinteger=l;function u(e){return t.call(e)===`[object Function]`}e.func=u;function d(e){return typeof e==`object`&&!!e}e.objectLiteral=d;function f(e,t){return Array.isArray(e)&&e.every(t)}e.typedArray=f})(q||={});var iu=class{constructor(){this.nodeStack=[]}get current(){return this.nodeStack[this.nodeStack.length-1]??this.rootNode}buildRootNode(e){return this.rootNode=new lu(e),this.rootNode.root=this.rootNode,this.nodeStack=[this.rootNode],this.rootNode}buildCompositeNode(e){let t=new su;return t.grammarSource=e,t.root=this.rootNode,this.current.content.push(t),this.nodeStack.push(t),t}buildLeafNode(e,t){let n=new ou(e.startOffset,e.image.length,re(e),e.tokenType,!t);return n.grammarSource=t,n.root=this.rootNode,this.current.content.push(n),n}removeNode(e){let t=e.container;if(t){let n=t.content.indexOf(e);n>=0&&t.content.splice(n,1)}}addHiddenNodes(e){let t=[];for(let n of e){let e=new ou(n.startOffset,n.image.length,re(n),n.tokenType,!0);e.root=this.rootNode,t.push(e)}let n=this.current,r=!1;if(n.content.length>0){n.content.push(...t);return}for(;n.container;){let e=n.container.content.indexOf(n);if(e>0){n.container.content.splice(e,0,...t),r=!0;break}n=n.container}r||this.rootNode.content.unshift(...t)}construct(e){let t=this.current;typeof e.$type==`string`&&(this.current.astNode=e),e.$cstNode=t;let n=this.nodeStack.pop();n?.content.length===0&&this.removeNode(n)}},au=class{get parent(){return this.container}get feature(){return this.grammarSource}get hidden(){return!1}get astNode(){let e=typeof this._astNode?.$type==`string`?this._astNode:this.container?.astNode;if(!e)throw Error(`This node has no associated AST element`);return e}set astNode(e){this._astNode=e}get element(){return this.astNode}get text(){return this.root.fullText.substring(this.offset,this.end)}},ou=class extends au{get offset(){return this._offset}get length(){return this._length}get end(){return this._offset+this._length}get hidden(){return this._hidden}get tokenType(){return this._tokenType}get range(){return this._range}constructor(e,t,n,r,i=!1){super(),this._hidden=i,this._offset=e,this._tokenType=r,this._length=t,this._range=n}},su=class extends au{constructor(){super(...arguments),this.content=new cu(this)}get children(){return this.content}get offset(){return this.firstNonHiddenNode?.offset??0}get length(){return this.end-this.offset}get end(){return this.lastNonHiddenNode?.end??0}get range(){let e=this.firstNonHiddenNode,t=this.lastNonHiddenNode;if(e&&t){if(this._rangeCache===void 0){let{range:n}=e,{range:r}=t;this._rangeCache={start:n.start,end:r.end.line<n.start.line?n.start:r.end}}return this._rangeCache}else return{start:G.create(0,0),end:G.create(0,0)}}get firstNonHiddenNode(){for(let e of this.content)if(!e.hidden)return e;return this.content[0]}get lastNonHiddenNode(){for(let e=this.content.length-1;e>=0;e--){let t=this.content[e];if(!t.hidden)return t}return this.content[this.content.length-1]}},cu=class e extends Array{constructor(t){super(),this.parent=t,Object.setPrototypeOf(this,e.prototype)}push(...e){return this.addParents(e),super.push(...e)}unshift(...e){return this.addParents(e),super.unshift(...e)}splice(e,t,...n){return this.addParents(n),super.splice(e,t,...n)}addParents(e){for(let t of e)t.container=this.parent}},lu=class extends su{get text(){return this._text.substring(this.offset,this.end)}get fullText(){return this._text}constructor(e){super(),this._text=``,this._text=e??``}},uu=Symbol(`Datatype`);function du(e){return e.$type===uu}var fu=``,pu=e=>e.endsWith(fu)?e:e+fu,mu=class{constructor(e){this._unorderedGroups=new Map,this.allRules=new Map,this.lexer=e.parser.Lexer;let t=this.lexer.definition,n=e.LanguageMetaData.mode===`production`;this.wrapper=new bu(t,Object.assign(Object.assign({},e.parser.ParserConfig),{skipValidations:n,errorMessageProvider:e.parser.ParserErrorMessageProvider}))}alternatives(e,t){this.wrapper.wrapOr(e,t)}optional(e,t){this.wrapper.wrapOption(e,t)}many(e,t){this.wrapper.wrapMany(e,t)}atLeastOne(e,t){this.wrapper.wrapAtLeastOne(e,t)}getRule(e){return this.allRules.get(e)}isRecording(){return this.wrapper.IS_RECORDING}get unorderedGroups(){return this._unorderedGroups}getRuleStack(){return this.wrapper.RULE_STACK}finalize(){this.wrapper.wrapSelfAnalysis()}},hu=class extends mu{get current(){return this.stack[this.stack.length-1]}constructor(e){super(e),this.nodeBuilder=new iu,this.stack=[],this.assignmentMap=new Map,this.linker=e.references.Linker,this.converter=e.parser.ValueConverter,this.astReflection=e.shared.AstReflection}rule(e,t){let n=this.computeRuleType(e),r=this.wrapper.DEFINE_RULE(pu(e.name),this.startImplementation(n,t).bind(this));return this.allRules.set(e.name,r),e.entry&&(this.mainRule=r),r}computeRuleType(e){if(!e.fragment)return kn(e)?uu:jn(e)??e.name}parse(e,t={}){this.nodeBuilder.buildRootNode(e);let n=this.lexerResult=this.lexer.tokenize(e);this.wrapper.input=n.tokens;let r=t.rule?this.allRules.get(t.rule):this.mainRule;if(!r)throw Error(t.rule?`No rule found with name '${t.rule}'`:`No main rule available.`);let i=r.call(this.wrapper,{});return this.nodeBuilder.addHiddenNodes(n.hidden),this.unorderedGroups.clear(),this.lexerResult=void 0,{value:i,lexerErrors:n.errors,lexerReport:n.report,parserErrors:this.wrapper.errors}}startImplementation(e,t){return n=>{let r=!this.isRecording()&&e!==void 0;if(r){let t={$type:e};this.stack.push(t),e===uu&&(t.value=``)}let i;try{i=t(n)}catch{i=void 0}return i===void 0&&r&&(i=this.construct()),i}}extractHiddenTokens(e){let t=this.lexerResult.hidden;if(!t.length)return[];let n=e.startOffset;for(let e=0;e<t.length;e++)if(t[e].startOffset>n)return t.splice(0,e);return t.splice(0,t.length)}consume(e,t,n){let r=this.wrapper.wrapConsume(e,t);if(!this.isRecording()&&this.isValidToken(r)){let e=this.extractHiddenTokens(r);this.nodeBuilder.addHiddenNodes(e);let t=this.nodeBuilder.buildLeafNode(r,n),{assignment:i,isCrossRef:a}=this.getAssignment(n),o=this.current;if(i){let e=mt(n)?r.image:this.converter.convert(r.image,t);this.assign(i.operator,i.feature,e,t,a)}else if(du(o)){let e=r.image;mt(n)||(e=this.converter.convert(e,t).toString()),o.value+=e}}}isValidToken(e){return!e.isInsertedInRecovery&&!isNaN(e.startOffset)&&typeof e.endOffset==`number`&&!isNaN(e.endOffset)}subrule(e,t,n,r,i){let a;!this.isRecording()&&!n&&(a=this.nodeBuilder.buildCompositeNode(r));let o=this.wrapper.wrapSubrule(e,t,i);!this.isRecording()&&a&&a.length>0&&this.performSubruleAssignment(o,r,a)}performSubruleAssignment(e,t,n){let{assignment:r,isCrossRef:i}=this.getAssignment(t);if(r)this.assign(r.operator,r.feature,e,n,i);else if(!r){let t=this.current;if(du(t))t.value+=e.toString();else if(typeof e==`object`&&e){let n=this.assignWithoutOverride(e,t);this.stack.pop(),this.stack.push(n)}}}action(e,t){if(!this.isRecording()){let n=this.current;if(t.feature&&t.operator){n=this.construct(),this.nodeBuilder.removeNode(n.$cstNode),this.nodeBuilder.buildCompositeNode(t).content.push(n.$cstNode);let r={$type:e};this.stack.push(r),this.assign(t.operator,t.feature,n,n.$cstNode,!1)}else n.$type=e}}construct(){if(this.isRecording())return;let e=this.current;return Pt(e),this.nodeBuilder.construct(e),this.stack.pop(),du(e)?this.converter.convert(e.value,e.$cstNode):(Ut(this.astReflection,e),e)}getAssignment(e){if(!this.assignmentMap.has(e)){let t=Ft(e,it);this.assignmentMap.set(e,{assignment:t,isCrossRef:t?ct(t.terminal):!1})}return this.assignmentMap.get(e)}assign(e,t,n,r,i){let a=this.current,o;switch(o=i&&typeof n==`string`?this.linker.buildReference(a,t,r,n):n,e){case`=`:a[t]=o;break;case`?=`:a[t]=!0;break;case`+=`:Array.isArray(a[t])||(a[t]=[]),a[t].push(o)}}assignWithoutOverride(e,t){for(let[n,r]of Object.entries(t)){let t=e[n];t===void 0?e[n]=r:Array.isArray(t)&&Array.isArray(r)&&(r.push(...t),e[n]=r)}let n=e.$cstNode;return n&&(n.astNode=void 0,e.$cstNode=void 0),e}get definitionErrors(){return this.wrapper.definitionErrors}},gu=class{buildMismatchTokenMessage(e){return Sa.buildMismatchTokenMessage(e)}buildNotAllInputParsedMessage(e){return Sa.buildNotAllInputParsedMessage(e)}buildNoViableAltMessage(e){return Sa.buildNoViableAltMessage(e)}buildEarlyExitMessage(e){return Sa.buildEarlyExitMessage(e)}},_u=class extends gu{buildMismatchTokenMessage({expected:e,actual:t}){return`Expecting ${e.LABEL?"`"+e.LABEL+"`":e.name.endsWith(`:KW`)?`keyword '${e.name.substring(0,e.name.length-3)}'`:`token of type '${e.name}'`} but found \`${t.image}\`.`}buildNotAllInputParsedMessage({firstRedundant:e}){return`Expecting end of file but found \`${e.image}\`.`}},vu=class extends mu{constructor(){super(...arguments),this.tokens=[],this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}action(){}construct(){}parse(e){this.resetState();let t=this.lexer.tokenize(e,{mode:`partial`});return this.tokens=t.tokens,this.wrapper.input=[...this.tokens],this.mainRule.call(this.wrapper,{}),this.unorderedGroups.clear(),{tokens:this.tokens,elementStack:[...this.lastElementStack],tokenIndex:this.nextTokenIndex}}rule(e,t){let n=this.wrapper.DEFINE_RULE(pu(e.name),this.startImplementation(t).bind(this));return this.allRules.set(e.name,n),e.entry&&(this.mainRule=n),n}resetState(){this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}startImplementation(e){return t=>{let n=this.keepStackSize();try{e(t)}finally{this.resetStackSize(n)}}}removeUnexpectedElements(){this.elementStack.splice(this.stackSize)}keepStackSize(){let e=this.elementStack.length;return this.stackSize=e,e}resetStackSize(e){this.removeUnexpectedElements(),this.stackSize=e}consume(e,t,n){this.wrapper.wrapConsume(e,t),this.isRecording()||(this.lastElementStack=[...this.elementStack,n],this.nextTokenIndex=this.currIdx+1)}subrule(e,t,n,r,i){this.before(r),this.wrapper.wrapSubrule(e,t,i),this.after(r)}before(e){this.isRecording()||this.elementStack.push(e)}after(e){if(!this.isRecording()){let t=this.elementStack.lastIndexOf(e);t>=0&&this.elementStack.splice(t)}}get currIdx(){return this.wrapper.currIdx}},yu={recoveryEnabled:!0,nodeLocationTracking:`full`,skipValidations:!0,errorMessageProvider:new _u},bu=class extends Os{constructor(e,t){let n=t&&`maxLookahead`in t;super(e,Object.assign(Object.assign(Object.assign({},yu),{lookaheadStrategy:n?new Ho({maxLookahead:t.maxLookahead}):new cc({logging:t.skipValidations?()=>{}:void 0})}),t))}get IS_RECORDING(){return this.RECORDING_PHASE}DEFINE_RULE(e,t){return this.RULE(e,t)}wrapSelfAnalysis(){this.performSelfAnalysis()}wrapConsume(e,t){return this.consume(e,t)}wrapSubrule(e,t,n){return this.subrule(e,t,{ARGS:[n]})}wrapOr(e,t){this.or(e,t)}wrapOption(e,t){this.option(e,t)}wrapMany(e,t){this.many(e,t)}wrapAtLeastOne(e,t){this.atLeastOne(e,t)}};function xu(e,t,n){return Su({parser:t,tokens:n,ruleNames:new Map},e),t}function Su(e,t){let n=_n(t,!1),r=y(t.rules).filter(C).filter(e=>n.has(e));for(let t of r){let n=Object.assign(Object.assign({},e),{consume:1,optional:1,subrule:1,many:1,or:1});e.parser.rule(t,Cu(n,t.definition))}}function Cu(e,t,n=!1){let r;if(mt(t))r=Nu(e,t);else if(et(t))r=wu(e,t);else if(it(t))r=Cu(e,t.terminal);else if(ct(t))r=Mu(e,t);else if(bt(t))r=Tu(e,t);else if(nt(t))r=Ou(e,t);else if(Ot(t))r=ku(e,t);else if(ft(t))r=Au(e,t);else if(ut(t)){let n=e.consume++;r=()=>e.parser.consume(n,ya,t)}else throw new de(t.$cstNode,`Unexpected element type: ${t.$type}`);return Pu(e,n?void 0:ju(t),r,t.cardinality)}function wu(e,t){let n=Mn(t);return()=>e.parser.action(n,t)}function Tu(e,t){let n=t.rule.ref;if(C(n)){let r=e.subrule++,i=n.fragment,a=t.arguments.length>0?Eu(n,t.arguments):()=>({});return o=>e.parser.subrule(r,Fu(e,n),i,t,a(o))}else if(Je(n)){let r=e.consume++,i=Lu(e,n.name);return()=>e.parser.consume(r,i,t)}else if(n)fe(n);else throw new de(t.$cstNode,`Undefined rule: ${t.rule.$refText}`)}function Eu(e,t){let n=t.map(e=>Du(e.value));return t=>{let r={};for(let i=0;i<n.length;i++){let a=e.parameters[i],o=n[i];r[a.name]=o(t)}return r}}function Du(e){if(Ee(e)){let t=Du(e.left),n=Du(e.right);return e=>t(e)||n(e)}else if(we(e)){let t=Du(e.left),n=Du(e.right);return e=>t(e)&&n(e)}else if(Fe(e)){let t=Du(e.value);return e=>!t(e)}else if(ze(e)){let t=e.parameter.ref.name;return e=>e!==void 0&&e[t]===!0}else if(Se(e)){let t=!!e.true;return()=>t}fe(e)}function Ou(e,t){if(t.elements.length===1)return Cu(e,t.elements[0]);{let n=[];for(let r of t.elements){let t={ALT:Cu(e,r,!0)},i=ju(r);i&&(t.GATE=Du(i)),n.push(t)}let r=e.or++;return t=>e.parser.alternatives(r,n.map(e=>{let n={ALT:()=>e.ALT(t)},r=e.GATE;return r&&(n.GATE=()=>r(t)),n}))}}function ku(e,t){if(t.elements.length===1)return Cu(e,t.elements[0]);let n=[];for(let r of t.elements){let t={ALT:Cu(e,r,!0)},i=ju(r);i&&(t.GATE=Du(i)),n.push(t)}let r=e.or++,i=(e,t)=>`uGroup_${e}_${t.getRuleStack().join(`-`)}`,a=Pu(e,ju(t),t=>e.parser.alternatives(r,n.map((n,a)=>{let o={ALT:()=>!0},s=e.parser;o.ALT=()=>{if(n.ALT(t),!s.isRecording()){let e=i(r,s);s.unorderedGroups.get(e)||s.unorderedGroups.set(e,[]);let t=s.unorderedGroups.get(e);t?.[a]===void 0&&(t[a]=!0)}};let c=n.GATE;return c?o.GATE=()=>c(t):o.GATE=()=>!s.unorderedGroups.get(i(r,s))?.[a],o})),`*`);return t=>{a(t),e.parser.isRecording()||e.parser.unorderedGroups.delete(i(r,e.parser))}}function Au(e,t){let n=t.elements.map(t=>Cu(e,t));return e=>n.forEach(t=>t(e))}function ju(e){if(ft(e))return e.guardCondition}function Mu(e,t,n=t.terminal){if(!n){if(!t.type.ref)throw Error(`Could not resolve reference to type: `+t.type.$refText);let n=Dn(t.type.ref)?.terminal;if(!n)throw Error(`Could not find name assignment for type: `+Mn(t.type.ref));return Mu(e,t,n)}else if(bt(n)&&C(n.rule.ref)){let r=n.rule.ref,i=e.subrule++;return n=>e.parser.subrule(i,Fu(e,r),!1,t,n)}else if(bt(n)&&Je(n.rule.ref)){let r=e.consume++,i=Lu(e,n.rule.ref.name);return()=>e.parser.consume(r,i,t)}else if(mt(n)){let r=e.consume++,i=Lu(e,n.value);return()=>e.parser.consume(r,i,t)}else throw Error(`Could not build cross reference parser`)}function Nu(e,t){let n=e.consume++,r=e.tokens[t.value];if(!r)throw Error(`Could not find token for keyword: `+t.value);return()=>e.parser.consume(n,r,t)}function Pu(e,t,n,r){let i=t&&Du(t);if(!r)if(i){let t=e.or++;return r=>e.parser.alternatives(t,[{ALT:()=>n(r),GATE:()=>i(r)},{ALT:Es(),GATE:()=>!i(r)}])}else return n;if(r===`*`){let t=e.many++;return r=>e.parser.many(t,{DEF:()=>n(r),GATE:i?()=>i(r):void 0})}else if(r===`+`){let t=e.many++;if(i){let r=e.or++;return a=>e.parser.alternatives(r,[{ALT:()=>e.parser.atLeastOne(t,{DEF:()=>n(a)}),GATE:()=>i(a)},{ALT:Es(),GATE:()=>!i(a)}])}else return r=>e.parser.atLeastOne(t,{DEF:()=>n(r)})}else if(r===`?`){let t=e.optional++;return r=>e.parser.optional(t,{DEF:()=>n(r),GATE:i?()=>i(r):void 0})}else fe(r)}function Fu(e,t){let n=Iu(e,t),r=e.parser.getRule(n);if(!r)throw Error(`Rule "${n}" not found."`);return r}function Iu(e,t){if(C(t))return t.name;if(e.ruleNames.has(t))return e.ruleNames.get(t);{let n=t,r=n.$container,i=t.$type;for(;!C(r);)(ft(r)||nt(r)||Ot(r))&&(i=r.elements.indexOf(n).toString()+`:`+i),n=r,r=r.$container;return i=r.name+`:`+i,e.ruleNames.set(t,i),i}}function Lu(e,t){let n=e.tokens[t];if(!n)throw Error(`Token "${t}" not found."`);return n}function Ru(e){let t=e.Grammar,n=e.parser.Lexer,r=new vu(e);return xu(t,r,n.definition),r.finalize(),r}function zu(e){let t=Bu(e);return t.finalize(),t}function Bu(e){let t=e.Grammar,n=e.parser.Lexer;return xu(t,new hu(e),n.definition)}var Vu=class{constructor(){this.diagnostics=[]}buildTokens(e,t){let n=y(_n(e,!1)),r=this.buildTerminalTokens(n),i=this.buildKeywordTokens(n,r,t);return r.forEach(e=>{let t=e.PATTERN;typeof t==`object`&&t&&`test`in t&&un(t)?i.unshift(e):i.push(e)}),i}flushLexingReport(e){return{diagnostics:this.popDiagnostics()}}popDiagnostics(){let e=[...this.diagnostics];return this.diagnostics=[],e}buildTerminalTokens(e){return e.filter(Je).filter(e=>!e.fragment).map(e=>this.buildTerminalToken(e)).toArray()}buildTerminalToken(e){let t=Fn(e),n=this.requiresCustomPattern(t)?this.regexPatternFunction(t):t,r={name:e.name,PATTERN:n};return typeof n==`function`&&(r.LINE_BREAKS=!0),e.hidden&&(r.GROUP=un(t)?B.SKIPPED:`hidden`),r}requiresCustomPattern(e){return e.flags.includes(`u`)||e.flags.includes(`s`)?!0:!!(e.source.includes(`?<=`)||e.source.includes(`?<!`))}regexPatternFunction(e){let t=new RegExp(e,e.flags+`y`);return(e,n)=>(t.lastIndex=n,t.exec(e))}buildKeywordTokens(e,t,n){return e.filter(C).flatMap(e=>zt(e).filter(mt)).distinct(e=>e.value).toArray().sort((e,t)=>t.value.length-e.value.length).map(e=>this.buildKeywordToken(e,t,!!n?.caseInsensitive))}buildKeywordToken(e,t,n){let r=this.buildKeywordPattern(e,n),i={name:e.value,PATTERN:r,LONGER_ALT:this.findLongerAlt(e,t)};return typeof r==`function`&&(i.LINE_BREAKS=!0),i}buildKeywordPattern(e,t){return t?new RegExp(fn(e.value)):e.value}findLongerAlt(e,t){return t.reduce((t,n)=>{let r=n?.PATTERN;return r?.source&&pn(`^`+r.source+`$`,e.value)&&t.push(n),t},[])}},Hu=class{convert(e,t){let n=t.grammarSource;if(ct(n)&&(n=yn(n)),bt(n)){let r=n.rule.ref;if(!r)throw Error(`This cst node was not parsed by a rule.`);return this.runConverter(r,e,t)}return e}runConverter(e,t,n){switch(e.name.toUpperCase()){case`INT`:return Uu.convertInt(t);case`STRING`:return Uu.convertString(t);case`ID`:return Uu.convertID(t)}switch(Pn(e)?.toLowerCase()){case`number`:return Uu.convertNumber(t);case`boolean`:return Uu.convertBoolean(t);case`bigint`:return Uu.convertBigint(t);case`date`:return Uu.convertDate(t);default:return t}}},Uu;(function(e){function t(e){let t=``;for(let r=1;r<e.length-1;r++){let i=e.charAt(r);if(i===`\\`){let i=e.charAt(++r);t+=n(i)}else t+=i}return t}e.convertString=t;function n(e){switch(e){case`b`:return`\b`;case`f`:return`\f`;case`n`:return`
|
|
73
|
+
`;case`r`:return`\r`;case`t`:return` `;case`v`:return`\v`;case`0`:return`\0`;default:return e}}function r(e){return e.charAt(0)===`^`?e.substring(1):e}e.convertID=r;function i(e){return parseInt(e)}e.convertInt=i;function a(e){return BigInt(e)}e.convertBigint=a;function o(e){return new Date(e)}e.convertDate=o;function s(e){return Number(e)}e.convertNumber=s;function c(e){return e.toLowerCase()===`true`}e.convertBoolean=c})(Uu||={});var Wu=e.t((e=>{Object.defineProperty(e,"__esModule",{value:!0});var t;function n(){if(t===void 0)throw Error(`No runtime abstraction layer installed`);return t}(function(e){function n(e){if(e===void 0)throw Error(`No runtime abstraction layer provided`);t=e}e.install=n})(n||={}),e.default=n})),Gu=e.t((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.stringArray=e.array=e.func=e.error=e.number=e.string=e.boolean=void 0;function t(e){return e===!0||e===!1}e.boolean=t;function n(e){return typeof e==`string`||e instanceof String}e.string=n;function r(e){return typeof e==`number`||e instanceof Number}e.number=r;function i(e){return e instanceof Error}e.error=i;function a(e){return typeof e==`function`}e.func=a;function o(e){return Array.isArray(e)}e.array=o;function s(e){return o(e)&&e.every(e=>n(e))}e.stringArray=s})),Ku=e.t((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.Emitter=e.Event=void 0;var t=Wu(),n;(function(e){let t={dispose(){}};e.None=function(){return t}})(n||(e.Event=n={}));var r=class{add(e,t=null,n){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(e),this._contexts.push(t),Array.isArray(n)&&n.push({dispose:()=>this.remove(e,t)})}remove(e,t=null){if(!this._callbacks)return;let n=!1;for(let r=0,i=this._callbacks.length;r<i;r++)if(this._callbacks[r]===e)if(this._contexts[r]===t){this._callbacks.splice(r,1),this._contexts.splice(r,1);return}else n=!0;if(n)throw Error(`When adding a listener with a context, you should remove it with the same context`)}invoke(...e){if(!this._callbacks)return[];let n=[],r=this._callbacks.slice(0),i=this._contexts.slice(0);for(let a=0,o=r.length;a<o;a++)try{n.push(r[a].apply(i[a],e))}catch(e){(0,t.default)().console.error(e)}return n}isEmpty(){return!this._callbacks||this._callbacks.length===0}dispose(){this._callbacks=void 0,this._contexts=void 0}},i=class e{constructor(e){this._options=e}get event(){return this._event||=(t,n,i)=>{this._callbacks||=new r,this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(t,n);let a={dispose:()=>{this._callbacks&&(this._callbacks.remove(t,n),a.dispose=e._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))}};return Array.isArray(i)&&i.push(a),a},this._event}fire(e){this._callbacks&&this._callbacks.invoke.call(this._callbacks,e)}dispose(){this._callbacks&&=(this._callbacks.dispose(),void 0)}};e.Emitter=i,i._noop=function(){}})),qu=e.t((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.CancellationTokenSource=e.CancellationToken=void 0;var t=Wu(),n=Gu(),r=Ku(),i;(function(e){e.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:r.Event.None}),e.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:r.Event.None});function t(t){let r=t;return r&&(r===e.None||r===e.Cancelled||n.boolean(r.isCancellationRequested)&&!!r.onCancellationRequested)}e.is=t})(i||(e.CancellationToken=i={}));var a=Object.freeze(function(e,n){let r=(0,t.default)().timer.setTimeout(e.bind(n),0);return{dispose(){r.dispose()}}}),o=class{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?a:(this._emitter||=new r.Emitter,this._emitter.event)}dispose(){this._emitter&&=(this._emitter.dispose(),void 0)}};e.CancellationTokenSource=class{get token(){return this._token||=new o,this._token}cancel(){this._token?this._token.cancel():this._token=i.Cancelled}dispose(){this._token?this._token instanceof o&&this._token.dispose():this._token=i.None}}})),J=e.n({});e.r(J,e.i(qu(),1));function Ju(){return new Promise(e=>{typeof setImmediate>`u`?setTimeout(e,0):setImmediate(e)})}var Yu=0,Xu=10;function Zu(){return Yu=performance.now(),new J.CancellationTokenSource}var Qu=Symbol(`OperationCancelled`);function $u(e){return e===Qu}async function Y(e){if(e===J.CancellationToken.None)return;let t=performance.now();if(t-Yu>=Xu&&(Yu=t,await Ju(),Yu=performance.now()),e.isCancellationRequested)throw Qu}var ed=class{constructor(){this.promise=new Promise((e,t)=>{this.resolve=t=>(e(t),this),this.reject=e=>(t(e),this)})}},td=class e{constructor(e,t,n,r){this._uri=e,this._languageId=t,this._version=n,this._content=r,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){let t=this.offsetAt(e.start),n=this.offsetAt(e.end);return this._content.substring(t,n)}return this._content}update(t,n){for(let n of t)if(e.isIncremental(n)){let e=od(n.range),t=this.offsetAt(e.start),r=this.offsetAt(e.end);this._content=this._content.substring(0,t)+n.text+this._content.substring(r,this._content.length);let i=Math.max(e.start.line,0),a=Math.max(e.end.line,0),o=this._lineOffsets,s=id(n.text,!1,t);if(a-i===s.length)for(let e=0,t=s.length;e<t;e++)o[e+i+1]=s[e];else s.length<1e4?o.splice(i+1,a-i,...s):this._lineOffsets=o=o.slice(0,i+1).concat(s,o.slice(a+1));let c=n.text.length-(r-t);if(c!==0)for(let e=i+1+s.length,t=o.length;e<t;e++)o[e]=o[e]+c}else if(e.isFull(n))this._content=n.text,this._lineOffsets=void 0;else throw Error(`Unknown change event received`);this._version=n}getLineOffsets(){return this._lineOffsets===void 0&&(this._lineOffsets=id(this._content,!0)),this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let t=this.getLineOffsets(),n=0,r=t.length;if(r===0)return{line:0,character:e};for(;n<r;){let i=Math.floor((n+r)/2);t[i]>e?r=i:n=i+1}let i=n-1;return e=this.ensureBeforeEOL(e,t[i]),{line:i,character:e-t[i]}}offsetAt(e){let t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;let n=t[e.line];if(e.character<=0)return n;let r=e.line+1<t.length?t[e.line+1]:this._content.length,i=Math.min(n+e.character,r);return this.ensureBeforeEOL(i,n)}ensureBeforeEOL(e,t){for(;e>t&&ad(this._content.charCodeAt(e-1));)e--;return e}get lineCount(){return this.getLineOffsets().length}static isIncremental(e){let t=e;return t!=null&&typeof t.text==`string`&&t.range!==void 0&&(t.rangeLength===void 0||typeof t.rangeLength==`number`)}static isFull(e){let t=e;return t!=null&&typeof t.text==`string`&&t.range===void 0&&t.rangeLength===void 0}},nd;(function(e){function t(e,t,n,r){return new td(e,t,n,r)}e.create=t;function n(e,t,n){if(e instanceof td)return e.update(t,n),e;throw Error(`TextDocument.update: document must be created by TextDocument.create`)}e.update=n;function r(e,t){let n=e.getText(),r=rd(t.map(sd),(e,t)=>{let n=e.range.start.line-t.range.start.line;return n===0?e.range.start.character-t.range.start.character:n}),i=0,a=[];for(let t of r){let r=e.offsetAt(t.range.start);if(r<i)throw Error(`Overlapping edit`);r>i&&a.push(n.substring(i,r)),t.newText.length&&a.push(t.newText),i=e.offsetAt(t.range.end)}return a.push(n.substr(i)),a.join(``)}e.applyEdits=r})(nd||={});function rd(e,t){if(e.length<=1)return e;let n=e.length/2|0,r=e.slice(0,n),i=e.slice(n);rd(r,t),rd(i,t);let a=0,o=0,s=0;for(;a<r.length&&o<i.length;)t(r[a],i[o])<=0?e[s++]=r[a++]:e[s++]=i[o++];for(;a<r.length;)e[s++]=r[a++];for(;o<i.length;)e[s++]=i[o++];return e}function id(e,t,n=0){let r=t?[n]:[];for(let t=0;t<e.length;t++){let i=e.charCodeAt(t);ad(i)&&(i===13&&t+1<e.length&&e.charCodeAt(t+1)===10&&t++,r.push(n+t+1))}return r}function ad(e){return e===13||e===10}function od(e){let t=e.start,n=e.end;return t.line>n.line||t.line===n.line&&t.character>n.character?{start:n,end:t}:e}function sd(e){let t=od(e.range);return t===e.range?e:{newText:e.newText,range:t}}var cd;(()=>{"use strict";var e={470:e=>{function t(e){if(typeof e!=`string`)throw TypeError(`Path must be a string. Received `+JSON.stringify(e))}function n(e,t){for(var n,r=``,i=0,a=-1,o=0,s=0;s<=e.length;++s){if(s<e.length)n=e.charCodeAt(s);else{if(n===47)break;n=47}if(n===47){if(!(a===s-1||o===1))if(a!==s-1&&o===2){if(r.length<2||i!==2||r.charCodeAt(r.length-1)!==46||r.charCodeAt(r.length-2)!==46){if(r.length>2){var c=r.lastIndexOf(`/`);if(c!==r.length-1){c===-1?(r=``,i=0):i=(r=r.slice(0,c)).length-1-r.lastIndexOf(`/`),a=s,o=0;continue}}else if(r.length===2||r.length===1){r=``,i=0,a=s,o=0;continue}}t&&(r.length>0?r+=`/..`:r=`..`,i=2)}else r.length>0?r+=`/`+e.slice(a+1,s):r=e.slice(a+1,s),i=s-a-1;a=s,o=0}else n===46&&o!==-1?++o:o=-1}return r}var r={resolve:function(){for(var e,r=``,i=!1,a=arguments.length-1;a>=-1&&!i;a--){var o;a>=0?o=arguments[a]:(e===void 0&&(e=process.cwd()),o=e),t(o),o.length!==0&&(r=o+`/`+r,i=o.charCodeAt(0)===47)}return r=n(r,!i),i?r.length>0?`/`+r:`/`:r.length>0?r:`.`},normalize:function(e){if(t(e),e.length===0)return`.`;var r=e.charCodeAt(0)===47,i=e.charCodeAt(e.length-1)===47;return(e=n(e,!r)).length!==0||r||(e=`.`),e.length>0&&i&&(e+=`/`),r?`/`+e:e},isAbsolute:function(e){return t(e),e.length>0&&e.charCodeAt(0)===47},join:function(){if(arguments.length===0)return`.`;for(var e,n=0;n<arguments.length;++n){var i=arguments[n];t(i),i.length>0&&(e===void 0?e=i:e+=`/`+i)}return e===void 0?`.`:r.normalize(e)},relative:function(e,n){if(t(e),t(n),e===n||(e=r.resolve(e))===(n=r.resolve(n)))return``;for(var i=1;i<e.length&&e.charCodeAt(i)===47;++i);for(var a=e.length,o=a-i,s=1;s<n.length&&n.charCodeAt(s)===47;++s);for(var c=n.length-s,l=o<c?o:c,u=-1,d=0;d<=l;++d){if(d===l){if(c>l){if(n.charCodeAt(s+d)===47)return n.slice(s+d+1);if(d===0)return n.slice(s+d)}else o>l&&(e.charCodeAt(i+d)===47?u=d:d===0&&(u=0));break}var f=e.charCodeAt(i+d);if(f!==n.charCodeAt(s+d))break;f===47&&(u=d)}var p=``;for(d=i+u+1;d<=a;++d)d!==a&&e.charCodeAt(d)!==47||(p.length===0?p+=`..`:p+=`/..`);return p.length>0?p+n.slice(s+u):(s+=u,n.charCodeAt(s)===47&&++s,n.slice(s))},_makeLong:function(e){return e},dirname:function(e){if(t(e),e.length===0)return`.`;for(var n=e.charCodeAt(0),r=n===47,i=-1,a=!0,o=e.length-1;o>=1;--o)if((n=e.charCodeAt(o))===47){if(!a){i=o;break}}else a=!1;return i===-1?r?`/`:`.`:r&&i===1?`//`:e.slice(0,i)},basename:function(e,n){if(n!==void 0&&typeof n!=`string`)throw TypeError(`"ext" argument must be a string`);t(e);var r,i=0,a=-1,o=!0;if(n!==void 0&&n.length>0&&n.length<=e.length){if(n.length===e.length&&n===e)return``;var s=n.length-1,c=-1;for(r=e.length-1;r>=0;--r){var l=e.charCodeAt(r);if(l===47){if(!o){i=r+1;break}}else c===-1&&(o=!1,c=r+1),s>=0&&(l===n.charCodeAt(s)?--s==-1&&(a=r):(s=-1,a=c))}return i===a?a=c:a===-1&&(a=e.length),e.slice(i,a)}for(r=e.length-1;r>=0;--r)if(e.charCodeAt(r)===47){if(!o){i=r+1;break}}else a===-1&&(o=!1,a=r+1);return a===-1?``:e.slice(i,a)},extname:function(e){t(e);for(var n=-1,r=0,i=-1,a=!0,o=0,s=e.length-1;s>=0;--s){var c=e.charCodeAt(s);if(c!==47)i===-1&&(a=!1,i=s+1),c===46?n===-1?n=s:o!==1&&(o=1):n!==-1&&(o=-1);else if(!a){r=s+1;break}}return n===-1||i===-1||o===0||o===1&&n===i-1&&n===r+1?``:e.slice(n,i)},format:function(e){if(typeof e!=`object`||!e)throw TypeError(`The "pathObject" argument must be of type Object. Received type `+typeof e);return function(e,t){var n=t.dir||t.root,r=t.base||(t.name||``)+(t.ext||``);return n?n===t.root?n+r:n+`/`+r:r}(0,e)},parse:function(e){t(e);var n={root:``,dir:``,base:``,ext:``,name:``};if(e.length===0)return n;var r,i=e.charCodeAt(0),a=i===47;a?(n.root=`/`,r=1):r=0;for(var o=-1,s=0,c=-1,l=!0,u=e.length-1,d=0;u>=r;--u)if((i=e.charCodeAt(u))!==47)c===-1&&(l=!1,c=u+1),i===46?o===-1?o=u:d!==1&&(d=1):o!==-1&&(d=-1);else if(!l){s=u+1;break}return o===-1||c===-1||d===0||d===1&&o===c-1&&o===s+1?c!==-1&&(n.base=n.name=s===0&&a?e.slice(1,c):e.slice(s,c)):(s===0&&a?(n.name=e.slice(1,o),n.base=e.slice(1,c)):(n.name=e.slice(s,o),n.base=e.slice(s,c)),n.ext=e.slice(o,c)),s>0?n.dir=e.slice(0,s-1):a&&(n.dir=`/`),n},sep:`/`,delimiter:`:`,win32:null,posix:null};r.posix=r,e.exports=r}},t={};function n(r){var i=t[r];if(i!==void 0)return i.exports;var a=t[r]={exports:{}};return e[r](a,a.exports,n),a.exports}n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{typeof Symbol<`u`&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:`Module`}),Object.defineProperty(e,"__esModule",{value:!0})};var r={};(()=>{let e;n.r(r),n.d(r,{URI:()=>c,Utils:()=>ee}),typeof process==`object`?e=process.platform===`win32`:typeof navigator==`object`&&(e=navigator.userAgent.indexOf(`Windows`)>=0);let t=/^\w[\w\d+.-]*$/,i=/^\//,a=/^\/\//;function o(e,n){if(!e.scheme&&n)throw Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${e.authority}", path: "${e.path}", query: "${e.query}", fragment: "${e.fragment}"}`);if(e.scheme&&!t.test(e.scheme))throw Error(`[UriError]: Scheme contains illegal characters.`);if(e.path){if(e.authority){if(!i.test(e.path))throw 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(a.test(e.path))throw Error(`[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")`)}}let s=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class c{static isUri(e){return e instanceof c||!!e&&typeof e.authority==`string`&&typeof e.fragment==`string`&&typeof e.path==`string`&&typeof e.query==`string`&&typeof e.scheme==`string`&&typeof e.fsPath==`string`&&typeof e.with==`function`&&typeof e.toString==`function`}scheme;authority;path;query;fragment;constructor(e,t,n,r,i,a=!1){typeof e==`object`?(this.scheme=e.scheme||``,this.authority=e.authority||``,this.path=e.path||``,this.query=e.query||``,this.fragment=e.fragment||``):(this.scheme=function(e,t){return e||t?e:`file`}(e,a),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,n||``),this.query=r||``,this.fragment=i||``,o(this,a))}get fsPath(){return m(this,!1)}with(e){if(!e)return this;let{scheme:t,authority:n,path:r,query:i,fragment:a}=e;return t===void 0?t=this.scheme:t===null&&(t=``),n===void 0?n=this.authority:n===null&&(n=``),r===void 0?r=this.path:r===null&&(r=``),i===void 0?i=this.query:i===null&&(i=``),a===void 0?a=this.fragment:a===null&&(a=``),t===this.scheme&&n===this.authority&&r===this.path&&i===this.query&&a===this.fragment?this:new u(t,n,r,i,a)}static parse(e,t=!1){let n=s.exec(e);return n?new u(n[2]||``,v(n[4]||``),v(n[5]||``),v(n[7]||``),v(n[9]||``),t):new u(``,``,``,``,``)}static file(t){let n=``;if(e&&(t=t.replace(/\\/g,`/`)),t[0]===`/`&&t[1]===`/`){let e=t.indexOf(`/`,2);e===-1?(n=t.substring(2),t=`/`):(n=t.substring(2,e),t=t.substring(e)||`/`)}return new u(`file`,n,t,``,``)}static from(e){let t=new u(e.scheme,e.authority,e.path,e.query,e.fragment);return o(t,!0),t}toString(e=!1){return h(this,e)}toJSON(){return this}static revive(e){if(e){if(e instanceof c)return e;{let t=new u(e);return t._formatted=e.external,t._fsPath=e._sep===l?e.fsPath:null,t}}return e}}let l=e?1:void 0;class u extends c{_formatted=null;_fsPath=null;get fsPath(){return this._fsPath||=m(this,!1),this._fsPath}toString(e=!1){return e?h(this,!0):(this._formatted||=h(this,!1),this._formatted)}toJSON(){let e={$mid:1};return this._fsPath&&(e.fsPath=this._fsPath,e._sep=l),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}}let d={58:`%3A`,47:`%2F`,63:`%3F`,35:`%23`,91:`%5B`,93:`%5D`,64:`%40`,33:`%21`,36:`%24`,38:`%26`,39:`%27`,40:`%28`,41:`%29`,42:`%2A`,43:`%2B`,44:`%2C`,59:`%3B`,61:`%3D`,32:`%20`};function f(e,t,n){let r,i=-1;for(let a=0;a<e.length;a++){let o=e.charCodeAt(a);if(o>=97&&o<=122||o>=65&&o<=90||o>=48&&o<=57||o===45||o===46||o===95||o===126||t&&o===47||n&&o===91||n&&o===93||n&&o===58)i!==-1&&(r+=encodeURIComponent(e.substring(i,a)),i=-1),r!==void 0&&(r+=e.charAt(a));else{r===void 0&&(r=e.substr(0,a));let t=d[o];t===void 0?i===-1&&(i=a):(i!==-1&&(r+=encodeURIComponent(e.substring(i,a)),i=-1),r+=t)}}return i!==-1&&(r+=encodeURIComponent(e.substring(i))),r===void 0?e:r}function p(e){let t;for(let n=0;n<e.length;n++){let r=e.charCodeAt(n);r===35||r===63?(t===void 0&&(t=e.substr(0,n)),t+=d[r]):t!==void 0&&(t+=e[n])}return t===void 0?e:t}function m(t,n){let r;return r=t.authority&&t.path.length>1&&t.scheme===`file`?`//${t.authority}${t.path}`:t.path.charCodeAt(0)===47&&(t.path.charCodeAt(1)>=65&&t.path.charCodeAt(1)<=90||t.path.charCodeAt(1)>=97&&t.path.charCodeAt(1)<=122)&&t.path.charCodeAt(2)===58?n?t.path.substr(1):t.path[1].toLowerCase()+t.path.substr(2):t.path,e&&(r=r.replace(/\//g,`\\`)),r}function h(e,t){let n=t?p:f,r=``,{scheme:i,authority:a,path:o,query:s,fragment:c}=e;if(i&&(r+=i,r+=`:`),(a||i===`file`)&&(r+=`/`,r+=`/`),a){let e=a.indexOf(`@`);if(e!==-1){let t=a.substr(0,e);a=a.substr(e+1),e=t.lastIndexOf(`:`),e===-1?r+=n(t,!1,!1):(r+=n(t.substr(0,e),!1,!1),r+=`:`,r+=n(t.substr(e+1),!1,!0)),r+=`@`}a=a.toLowerCase(),e=a.lastIndexOf(`:`),e===-1?r+=n(a,!1,!0):(r+=n(a.substr(0,e),!1,!0),r+=a.substr(e))}if(o){if(o.length>=3&&o.charCodeAt(0)===47&&o.charCodeAt(2)===58){let e=o.charCodeAt(1);e>=65&&e<=90&&(o=`/${String.fromCharCode(e+32)}:${o.substr(3)}`)}else if(o.length>=2&&o.charCodeAt(1)===58){let e=o.charCodeAt(0);e>=65&&e<=90&&(o=`${String.fromCharCode(e+32)}:${o.substr(2)}`)}r+=n(o,!0,!1)}return s&&(r+=`?`,r+=n(s,!1,!1)),c&&(r+=`#`,r+=t?c:f(c,!1,!1)),r}function g(e){try{return decodeURIComponent(e)}catch{return e.length>3?e.substr(0,3)+g(e.substr(3)):e}}let _=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function v(e){return e.match(_)?e.replace(_,(e=>g(e))):e}var y=n(470);let b=y.posix||y;var ee;(function(e){e.joinPath=function(e,...t){return e.with({path:b.join(e.path,...t)})},e.resolvePath=function(e,...t){let n=e.path,r=!1;n[0]!==`/`&&(n=`/`+n,r=!0);let i=b.resolve(n,...t);return r&&i[0]===`/`&&!e.authority&&(i=i.substring(1)),e.with({path:i})},e.dirname=function(e){if(e.path.length===0||e.path===`/`)return e;let t=b.dirname(e.path);return t.length===1&&t.charCodeAt(0)===46&&(t=``),e.with({path:t})},e.basename=function(e){return b.basename(e.path)},e.extname=function(e){return b.extname(e.path)}})(ee||={})})(),cd=r})();var{URI:ld,Utils:ud}=cd,dd;(function(e){e.basename=ud.basename,e.dirname=ud.dirname,e.extname=ud.extname,e.joinPath=ud.joinPath,e.resolvePath=ud.resolvePath;function t(e,t){return e?.toString()===t?.toString()}e.equals=t;function n(e,t){let n=typeof e==`string`?e:e.path,r=typeof t==`string`?t:t.path,i=n.split(`/`).filter(e=>e.length>0),a=r.split(`/`).filter(e=>e.length>0),o=0;for(;o<i.length&&i[o]===a[o];o++);return`../`.repeat(i.length-o)+a.slice(o).join(`/`)}e.relative=n;function r(e){return ld.parse(e.toString()).toString()}e.normalize=r})(dd||={});var X;(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`})(X||={});var fd=class{constructor(e){this.serviceRegistry=e.ServiceRegistry,this.textDocuments=e.workspace.TextDocuments,this.fileSystemProvider=e.workspace.FileSystemProvider}async fromUri(e,t=J.CancellationToken.None){let n=await this.fileSystemProvider.readFile(e);return this.createAsync(e,n,t)}fromTextDocument(e,t,n){return t??=ld.parse(e.uri),J.CancellationToken.is(n)?this.createAsync(t,e,n):this.create(t,e,n)}fromString(e,t,n){return J.CancellationToken.is(n)?this.createAsync(t,e,n):this.create(t,e,n)}fromModel(e,t){return this.create(t,{$model:e})}create(e,t,n){if(typeof t==`string`){let r=this.parse(e,t,n);return this.createLangiumDocument(r,e,void 0,t)}else if(`$model`in t){let n={value:t.$model,parserErrors:[],lexerErrors:[]};return this.createLangiumDocument(n,e)}else{let r=this.parse(e,t.getText(),n);return this.createLangiumDocument(r,e,t)}}async createAsync(e,t,n){if(typeof t==`string`){let r=await this.parseAsync(e,t,n);return this.createLangiumDocument(r,e,void 0,t)}else{let r=await this.parseAsync(e,t.getText(),n);return this.createLangiumDocument(r,e,t)}}createLangiumDocument(e,t,n,r){let i;if(n)i={parseResult:e,uri:t,state:X.Parsed,references:[],textDocument:n};else{let n=this.createTextDocumentGetter(t,r);i={parseResult:e,uri:t,state:X.Parsed,references:[],get textDocument(){return n()}}}return e.value.$document=i,i}async update(e,t){let n=e.parseResult.value.$cstNode?.root.fullText,r=this.textDocuments?.get(e.uri.toString()),i=r?r.getText():await this.fileSystemProvider.readFile(e.uri);if(r)Object.defineProperty(e,"textDocument",{value:r});else{let t=this.createTextDocumentGetter(e.uri,i);Object.defineProperty(e,"textDocument",{get:t})}return n!==i&&(e.parseResult=await this.parseAsync(e.uri,i,t),e.parseResult.value.$document=e),e.state=X.Parsed,e}parse(e,t,n){return this.serviceRegistry.getServices(e).parser.LangiumParser.parse(t,n)}parseAsync(e,t,n){return this.serviceRegistry.getServices(e).parser.AsyncParser.parse(t,n)}createTextDocumentGetter(e,t){let n=this.serviceRegistry,r;return()=>r??=nd.create(e.toString(),n.getServices(e).LanguageMetaData.languageId,0,t??``)}},pd=class{constructor(e){this.documentMap=new Map,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.serviceRegistry=e.ServiceRegistry}get all(){return y(this.documentMap.values())}addDocument(e){let t=e.uri.toString();if(this.documentMap.has(t))throw Error(`A document with the URI '${t}' is already present.`);this.documentMap.set(t,e)}getDocument(e){let t=e.toString();return this.documentMap.get(t)}async getOrCreateDocument(e,t){let n=this.getDocument(e);return n||(n=await this.langiumDocumentFactory.fromUri(e,t),this.addDocument(n),n)}createDocument(e,t,n){if(n)return this.langiumDocumentFactory.fromString(t,e,n).then(e=>(this.addDocument(e),e));{let n=this.langiumDocumentFactory.fromString(t,e);return this.addDocument(n),n}}hasDocument(e){return this.documentMap.has(e.toString())}invalidateDocument(e){let t=e.toString(),n=this.documentMap.get(t);return n&&(this.serviceRegistry.getServices(e).references.Linker.unlink(n),n.state=X.Changed,n.precomputedScopes=void 0,n.diagnostics=void 0),n}deleteDocument(e){let t=e.toString(),n=this.documentMap.get(t);return n&&(n.state=X.Changed,this.documentMap.delete(t)),n}},md=Symbol(`ref_resolving`),hd=class{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=J.CancellationToken.None){for(let n of Bt(e.parseResult.value))await Y(t),Ht(n).forEach(t=>this.doLink(t,e))}doLink(e,t){let n=e.reference;if(n._ref===void 0){n._ref=md;try{let t=this.getCandidate(e);l(t)?n._ref=t:(n._nodeDescription=t,this.langiumDocuments().hasDocument(t.documentUri)?n._ref=this.loadAstNode(t)??this.createLinkingError(e,t):n._ref=void 0)}catch(t){console.error(`An error occurred while resolving reference to '${n.$refText}':`,t);let r=t.message??String(t);n._ref=Object.assign(Object.assign({},e),{message:`An error occurred while resolving reference to '${n.$refText}': ${r}`})}t.references.push(n)}}unlink(e){for(let t of e.references)delete t._ref,delete t._nodeDescription;e.references=[]}getCandidate(e){return this.scopeProvider.getScope(e).getElement(e.reference.$refText)??this.createLinkingError(e)}buildReference(e,t,n,r){let i=this,a={$refNode:n,$refText:r,get ref(){if(o(this._ref))return this._ref;if(c(this._nodeDescription)){let n=i.loadAstNode(this._nodeDescription);this._ref=n??i.createLinkingError({reference:a,container:e,property:t},this._nodeDescription)}else if(this._ref===void 0){this._ref=md;let n=Lt(e).$document,r=i.getLinkedNode({reference:a,container:e,property:t});if(r.error&&n&&n.state<X.ComputedScopes){this._ref=void 0;return}this._ref=r.node??r.error,this._nodeDescription=r.descr,n?.references.push(this)}else if(this._ref===md)throw Error(`Cyclic reference resolution detected: ${i.astNodeLocator.getAstNodePath(e)}/${t} (symbol '${r}')`);return o(this._ref)?this._ref:void 0},get $nodeDescription(){return this._nodeDescription},get error(){return l(this._ref)?this._ref:void 0}};return a}getLinkedNode(e){try{let t=this.getCandidate(e);if(l(t))return{error:t};let n=this.loadAstNode(t);return n?{node:n,descr:t}:{descr:t,error:this.createLinkingError(e,t)}}catch(t){console.error(`An error occurred while resolving reference to '${e.reference.$refText}':`,t);let n=t.message??String(t);return{error:Object.assign(Object.assign({},e),{message:`An error occurred while resolving reference to '${e.reference.$refText}': ${n}`})}}}loadAstNode(e){if(e.node)return e.node;let t=this.langiumDocuments().getDocument(e.documentUri);if(t)return this.astNodeLocator.getAstNode(t.parseResult.value,e.path)}createLinkingError(e,t){let n=Lt(e.container).$document;n&&n.state<X.ComputedScopes&&console.warn(`Attempted reference resolution before document reached ComputedScopes state (${n.uri}).`);let r=this.reflection.getReferenceType(e);return Object.assign(Object.assign({},e),{message:`Could not resolve reference to ${r} named '${e.reference.$refText}'.`,targetDescription:t})}};function gd(e){return typeof e.name==`string`}var _d=class{getName(e){if(gd(e))return e.name}getNameNode(e){return Sn(e.$cstNode,`name`)}},vd=class{constructor(e){this.nameProvider=e.references.NameProvider,this.index=e.shared.workspace.IndexManager,this.nodeLocator=e.workspace.AstNodeLocator}findDeclaration(e){if(e){let t=En(e),n=e.astNode;if(t&&n){let r=n[t.feature];if(s(r))return r.ref;if(Array.isArray(r)){for(let t of r)if(s(t)&&t.$refNode&&t.$refNode.offset<=e.offset&&t.$refNode.end>=e.end)return t.ref}}if(n){let t=this.nameProvider.getNameNode(n);if(t&&(t===e||ne(e,t)))return n}}}findDeclarationNode(e){let t=this.findDeclaration(e);if(t?.$cstNode)return this.nameProvider.getNameNode(t)??t.$cstNode}findReferences(e,t){let n=[];if(t.includeDeclaration){let t=this.getReferenceToSelf(e);t&&n.push(t)}let r=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e));return t.documentUri&&(r=r.filter(e=>dd.equals(e.sourceUri,t.documentUri))),n.push(...r),y(n)}getReferenceToSelf(e){let t=this.nameProvider.getNameNode(e);if(t){let n=It(e),r=this.nodeLocator.getAstNodePath(e);return{sourceUri:n.uri,sourcePath:r,targetUri:n.uri,targetPath:r,segment:ie(t),local:!0}}}},yd=class{constructor(e){if(this.map=new Map,e)for(let[t,n]of e)this.add(t,n)}get size(){return ee.sum(y(this.map.values()).map(e=>e.length))}clear(){this.map.clear()}delete(e,t){if(t===void 0)return this.map.delete(e);{let n=this.map.get(e);if(n){let r=n.indexOf(t);if(r>=0)return n.length===1?this.map.delete(e):n.splice(r,1),!0}return!1}}get(e){return this.map.get(e)??[]}has(e,t){if(t===void 0)return this.map.has(e);{let n=this.map.get(e);return n?n.indexOf(t)>=0:!1}}add(e,t){return this.map.has(e)?this.map.get(e).push(t):this.map.set(e,[t]),this}addAll(e,t){return this.map.has(e)?this.map.get(e).push(...t):this.map.set(e,Array.from(t)),this}forEach(e){this.map.forEach((t,n)=>t.forEach(t=>e(t,n,this)))}[Symbol.iterator](){return this.entries().iterator()}entries(){return y(this.map.entries()).flatMap(([e,t])=>t.map(t=>[e,t]))}keys(){return y(this.map.keys())}values(){return y(this.map.values()).flat()}entriesGroupedByKey(){return y(this.map.entries())}},bd=class{get size(){return this.map.size}constructor(e){if(this.map=new Map,this.inverse=new Map,e)for(let[t,n]of e)this.set(t,n)}clear(){this.map.clear(),this.inverse.clear()}set(e,t){return this.map.set(e,t),this.inverse.set(t,e),this}get(e){return this.map.get(e)}getKey(e){return this.inverse.get(e)}delete(e){let t=this.map.get(e);return t===void 0?!1:(this.map.delete(e),this.inverse.delete(t),!0)}},xd=class{constructor(e){this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider}async computeExports(e,t=J.CancellationToken.None){return this.computeExportsForNode(e.parseResult.value,e,void 0,t)}async computeExportsForNode(e,t,n=Rt,r=J.CancellationToken.None){let i=[];this.exportNode(e,i,t);for(let a of n(e))await Y(r),this.exportNode(a,i,t);return i}exportNode(e,t,n){let r=this.nameProvider.getName(e);r&&t.push(this.descriptions.createDescription(e,r,n))}async computeLocalScopes(e,t=J.CancellationToken.None){let n=e.parseResult.value,r=new yd;for(let i of zt(n))await Y(t),this.processNode(i,e,r);return r}processNode(e,t,n){let r=e.$container;if(r){let i=this.nameProvider.getName(e);i&&n.add(r,this.descriptions.createDescription(e,i,t))}}},Sd=class{constructor(e,t,n){this.elements=e,this.outerScope=t,this.caseInsensitive=n?.caseInsensitive??!1}getAllElements(){return this.outerScope?this.elements.concat(this.outerScope.getAllElements()):this.elements}getElement(e){let t=this.caseInsensitive?this.elements.find(t=>t.name.toLowerCase()===e.toLowerCase()):this.elements.find(t=>t.name===e);if(t)return t;if(this.outerScope)return this.outerScope.getElement(e)}},Cd=class{constructor(e,t,n){this.elements=new Map,this.caseInsensitive=n?.caseInsensitive??!1;for(let t of e){let e=this.caseInsensitive?t.name.toLowerCase():t.name;this.elements.set(e,t)}this.outerScope=t}getElement(e){let t=this.caseInsensitive?e.toLowerCase():e,n=this.elements.get(t);if(n)return n;if(this.outerScope)return this.outerScope.getElement(e)}getAllElements(){let e=y(this.elements.values());return this.outerScope&&(e=e.concat(this.outerScope.getAllElements())),e}},wd=class{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 Error(`This cache has already been disposed`)}},Td=class extends wd{constructor(){super(...arguments),this.cache=new Map}has(e){return this.throwIfDisposed(),this.cache.has(e)}set(e,t){this.throwIfDisposed(),this.cache.set(e,t)}get(e,t){if(this.throwIfDisposed(),this.cache.has(e))return this.cache.get(e);if(t){let n=t();return this.cache.set(e,n),n}else return}delete(e){return this.throwIfDisposed(),this.cache.delete(e)}clear(){this.throwIfDisposed(),this.cache.clear()}},Ed=class extends wd{constructor(e){super(),this.cache=new Map,this.converter=e??(e=>e)}has(e,t){return this.throwIfDisposed(),this.cacheForContext(e).has(t)}set(e,t,n){this.throwIfDisposed(),this.cacheForContext(e).set(t,n)}get(e,t,n){this.throwIfDisposed();let r=this.cacheForContext(e);if(r.has(t))return r.get(t);if(n){let e=n();return r.set(t,e),e}else return}delete(e,t){return this.throwIfDisposed(),this.cacheForContext(e).delete(t)}clear(e){if(this.throwIfDisposed(),e){let t=this.converter(e);this.cache.delete(t)}else this.cache.clear()}cacheForContext(e){let t=this.converter(e),n=this.cache.get(t);return n||(n=new Map,this.cache.set(t,n)),n}},Dd=class extends Td{constructor(e,t){super(),t?(this.toDispose.push(e.workspace.DocumentBuilder.onBuildPhase(t,()=>{this.clear()})),this.toDispose.push(e.workspace.DocumentBuilder.onUpdate((e,t)=>{t.length>0&&this.clear()}))):this.toDispose.push(e.workspace.DocumentBuilder.onUpdate(()=>{this.clear()}))}},Od=class{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 Dd(e.shared)}getScope(e){let t=[],n=this.reflection.getReferenceType(e),r=It(e.container).precomputedScopes;if(r){let i=e.container;do{let e=r.get(i);e.length>0&&t.push(y(e).filter(e=>this.reflection.isSubtype(e.type,n))),i=i.$container}while(i)}let i=this.getGlobalScope(n,e);for(let e=t.length-1;e>=0;e--)i=this.createScope(t[e],i);return i}createScope(e,t,n){return new Sd(y(e),t,n)}createScopeForNodes(e,t,n){return new Sd(y(e).map(e=>{let t=this.nameProvider.getName(e);if(t)return this.descriptions.createDescription(e,t)}).nonNullable(),t,n)}getGlobalScope(e,t){return this.globalScopeCache.get(e,()=>new Cd(this.indexManager.allElements(e)))}};function kd(e){return typeof e.$comment==`string`}function Ad(e){return typeof e==`object`&&!!e&&(`$ref`in e||`$error`in e)}var jd=class{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){let n=t??{},r=t?.replacer,i=(e,t)=>this.replacer(e,t,n),a=r?(e,t)=>r(e,t,i):i;try{return this.currentDocument=It(e),JSON.stringify(e,a,t?.space)}finally{this.currentDocument=void 0}}deserialize(e,t){let n=t??{},r=JSON.parse(e);return this.linkNode(r,r,n),r}replacer(e,t,{refText:n,sourceText:r,textRegions:i,comments:a,uriConverter:c}){if(!this.ignoreProperties.has(e))if(s(t)){let e=t.ref,r=n?t.$refText:void 0;if(e){let n=It(e),i=``;this.currentDocument&&this.currentDocument!==n&&(i=c?c(n.uri,t):n.uri.toString());let a=this.astNodeLocator.getAstNodePath(e);return{$ref:`${i}#${a}`,$refText:r}}else return{$error:t.error?.message??`Could not resolve reference`,$refText:r}}else if(o(t)){let n;if(i&&(n=this.addAstNodeRegionWithAssignmentsTo(Object.assign({},t)),(!e||t.$document)&&n?.$textRegion&&(n.$textRegion.documentURI=this.currentDocument?.uri.toString())),r&&!e&&(n??=Object.assign({},t),n.$sourceText=t.$cstNode?.text),a){n??=Object.assign({},t);let e=this.commentProvider.getComment(t);e&&(n.$comment=e.replace(/\r/g,``))}return n??t}else return t}addAstNodeRegionWithAssignmentsTo(e){let t=e=>({offset:e.offset,end:e.end,length:e.length,range:e.range});if(e.$cstNode){let n=e.$textRegion=t(e.$cstNode),r=n.assignments={};return Object.keys(e).filter(e=>!e.startsWith(`$`)).forEach(n=>{let i=xn(e.$cstNode,n).map(t);i.length!==0&&(r[n]=i)}),e}}linkNode(e,t,n,r,i,a){for(let[r,i]of Object.entries(e))if(Array.isArray(i))for(let a=0;a<i.length;a++){let s=i[a];Ad(s)?i[a]=this.reviveReference(e,r,t,s,n):o(s)&&this.linkNode(s,t,n,e,r,a)}else Ad(i)?e[r]=this.reviveReference(e,r,t,i,n):o(i)&&this.linkNode(i,t,n,e,r);let s=e;s.$container=r,s.$containerProperty=i,s.$containerIndex=a}reviveReference(e,t,n,r,i){let a=r.$refText,s=r.$error;if(r.$ref){let e=this.getRefNode(n,r.$ref,i.uriConverter);if(o(e))return a||=this.nameProvider.getName(e),{$refText:a??``,ref:e};s=e}if(s){let n={$refText:a??``};return n.error={container:e,property:t,message:s,reference:n},n}else return}getRefNode(e,t,n){try{let r=t.indexOf(`#`);if(r===0)return this.astNodeLocator.getAstNode(e,t.substring(1))||`Could not resolve path: `+t;if(r<0){let e=n?n(t):ld.parse(t),r=this.langiumDocuments.getDocument(e);return r?r.parseResult.value:`Could not find document for URI: `+t}let i=n?n(t.substring(0,r)):ld.parse(t.substring(0,r)),a=this.langiumDocuments.getDocument(i);return a?r===t.length-1?a.parseResult.value:this.astNodeLocator.getAstNode(a.parseResult.value,t.substring(r+1))||`Could not resolve URI: `+t:`Could not find document for URI: `+t}catch(e){return String(e)}}},Md=class{get map(){return this.fileExtensionMap}constructor(e){this.languageIdMap=new Map,this.fileExtensionMap=new Map,this.textDocuments=e?.workspace.TextDocuments}register(e){let t=e.LanguageMetaData;for(let n of t.fileExtensions)this.fileExtensionMap.has(n)&&console.warn(`The file extension ${n} is used by multiple languages. It is now assigned to '${t.languageId}'.`),this.fileExtensionMap.set(n,e);this.languageIdMap.set(t.languageId,e),this.languageIdMap.size===1?this.singleton=e:this.singleton=void 0}getServices(e){if(this.singleton!==void 0)return this.singleton;if(this.languageIdMap.size===0)throw Error("The service registry is empty. Use `register` to register the services of a language.");let t=this.textDocuments?.get(e)?.languageId;if(t!==void 0){let e=this.languageIdMap.get(t);if(e)return e}let n=dd.extname(e),r=this.fileExtensionMap.get(n);if(!r)throw Error(t?`The service registry contains no services for the extension '${n}' for language '${t}'.`:`The service registry contains no services for the extension '${n}'.`);return r}hasServices(e){try{return this.getServices(e),!0}catch{return!1}}get all(){return Array.from(this.languageIdMap.values())}};function Nd(e){return{code:e}}var Pd;(function(e){e.all=[`fast`,`slow`,`built-in`]})(Pd||={});var Fd=class{constructor(e){this.entries=new yd,this.entriesBefore=[],this.entriesAfter=[],this.reflection=e.shared.AstReflection}register(e,t=this,n=`fast`){if(n===`built-in`)throw Error(`The 'built-in' category is reserved for lexer, parser, and linker errors.`);for(let[r,i]of Object.entries(e)){let e=i;if(Array.isArray(e))for(let i of e){let e={check:this.wrapValidationException(i,t),category:n};this.addEntry(r,e)}else if(typeof e==`function`){let i={check:this.wrapValidationException(e,t),category:n};this.addEntry(r,i)}else fe(e)}}wrapValidationException(e,t){return async(n,r,i)=>{await this.handleException(()=>e.call(t,n,r,i),`An error occurred during validation`,r,n)}}async handleException(e,t,n,r){try{await e()}catch(e){if($u(e))throw e;console.error(`${t}:`,e),e instanceof Error&&e.stack&&console.error(e.stack),n(`error`,`${t}: ${e instanceof Error?e.message:String(e)}`,{node:r})}}addEntry(e,t){if(e===`AstNode`){this.entries.add(`AstNode`,t);return}for(let n of this.reflection.getAllSubTypes(e))this.entries.add(n,t)}getChecks(e,t){let n=y(this.entries.get(e)).concat(this.entries.get(`AstNode`));return t&&(n=n.filter(e=>t.includes(e.category))),n.map(e=>e.check)}registerBeforeDocument(e,t=this){this.entriesBefore.push(this.wrapPreparationException(e,`An error occurred during set-up of the validation`,t))}registerAfterDocument(e,t=this){this.entriesAfter.push(this.wrapPreparationException(e,`An error occurred during tear-down of the validation`,t))}wrapPreparationException(e,t,n){return async(r,i,a,o)=>{await this.handleException(()=>e.call(n,r,i,a,o),t,i,r)}}get checksBefore(){return this.entriesBefore}get checksAfter(){return this.entriesAfter}},Id=class{constructor(e){this.validationRegistry=e.validation.ValidationRegistry,this.metadata=e.LanguageMetaData}async validateDocument(e,t={},n=J.CancellationToken.None){let r=e.parseResult,i=[];if(await Y(n),(!t.categories||t.categories.includes(`built-in`))&&(this.processLexingErrors(r,i,t),t.stopAfterLexingErrors&&i.some(e=>e.data?.code===Bd.LexingError)||(this.processParsingErrors(r,i,t),t.stopAfterParsingErrors&&i.some(e=>e.data?.code===Bd.ParsingError))||(this.processLinkingErrors(e,i,t),t.stopAfterLinkingErrors&&i.some(e=>e.data?.code===Bd.LinkingError))))return i;try{i.push(...await this.validateAst(r.value,t,n))}catch(e){if($u(e))throw e;console.error(`An error occurred during validation:`,e)}return await Y(n),i}processLexingErrors(e,t,n){let r=[...e.lexerErrors,...e.lexerReport?.diagnostics??[]];for(let e of r){let n=e.severity??`error`,r={severity:Rd(n),range:{start:{line:e.line-1,character:e.column-1},end:{line:e.line-1,character:e.column+e.length-1}},message:e.message,data:zd(n),source:this.getSource()};t.push(r)}}processParsingErrors(e,t,n){for(let n of e.parserErrors){let e;if(isNaN(n.token.startOffset)){if(`previousToken`in n){let t=n.previousToken;if(isNaN(t.startOffset)){let t={line:0,character:0};e={start:t,end:t}}else{let n={line:t.endLine-1,character:t.endColumn};e={start:n,end:n}}}}else e=re(n.token);if(e){let r={severity:Rd(`error`),range:e,message:n.message,data:Nd(Bd.ParsingError),source:this.getSource()};t.push(r)}}}processLinkingErrors(e,t,n){for(let n of e.references){let e=n.error;if(e){let n={node:e.container,property:e.property,index:e.index,data:{code:Bd.LinkingError,containerType:e.container.$type,property:e.property,refText:e.reference.$refText}};t.push(this.toDiagnostic(`error`,e.message,n))}}}async validateAst(e,t,n=J.CancellationToken.None){let r=[],i=(e,t,n)=>{r.push(this.toDiagnostic(e,t,n))};return await this.validateAstBefore(e,t,i,n),await this.validateAstNodes(e,t,i,n),await this.validateAstAfter(e,t,i,n),r}async validateAstBefore(e,t,n,r=J.CancellationToken.None){let i=this.validationRegistry.checksBefore;for(let a of i)await Y(r),await a(e,n,t.categories??[],r)}async validateAstNodes(e,t,n,r=J.CancellationToken.None){await Promise.all(Bt(e).map(async e=>{await Y(r);let i=this.validationRegistry.getChecks(e.$type,t.categories);for(let t of i)await t(e,n,r)}))}async validateAstAfter(e,t,n,r=J.CancellationToken.None){let i=this.validationRegistry.checksAfter;for(let a of i)await Y(r),await a(e,n,t.categories??[],r)}toDiagnostic(e,t,n){return{message:t,range:Ld(n),severity:Rd(e),code:n.code,codeDescription:n.codeDescription,tags:n.tags,relatedInformation:n.relatedInformation,data:n.data,source:this.getSource()}}getSource(){return this.metadata.languageId}};function Ld(e){if(e.range)return e.range;let t;return typeof e.property==`string`?t=Sn(e.node.$cstNode,e.property,e.index):typeof e.keyword==`string`&&(t=wn(e.node.$cstNode,e.keyword,e.index)),t??=e.node.$cstNode,t?t.range:{start:{line:0,character:0},end:{line:0,character:0}}}function Rd(e){switch(e){case`error`:return 1;case`warning`:return 2;case`info`:return 3;case`hint`:return 4;default:throw Error(`Invalid diagnostic severity: `+e)}}function zd(e){switch(e){case`error`:return Nd(Bd.LexingError);case`warning`:return Nd(Bd.LexingWarning);case`info`:return Nd(Bd.LexingInfo);case`hint`:return Nd(Bd.LexingHint);default:throw Error(`Invalid diagnostic severity: `+e)}}var Bd;(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`})(Bd||={});var Vd=class{constructor(e){this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider}createDescription(e,t,n){let r=n??It(e);t??=this.nameProvider.getName(e);let i=this.astNodeLocator.getAstNodePath(e);if(!t)throw Error(`Node at path ${i} has no name.`);let a,o=()=>a??=ie(this.nameProvider.getNameNode(e)??e.$cstNode);return{node:e,name:t,get nameSegment(){return o()},selectionSegment:ie(e.$cstNode),type:e.$type,documentUri:r.uri,path:i}}},Hd=class{constructor(e){this.nodeLocator=e.workspace.AstNodeLocator}async createDescriptions(e,t=J.CancellationToken.None){let n=[],r=e.parseResult.value;for(let e of Bt(r))await Y(t),Ht(e).filter(e=>!l(e)).forEach(e=>{let t=this.createDescription(e);t&&n.push(t)});return n}createDescription(e){let t=e.reference.$nodeDescription,n=e.reference.$refNode;if(!t||!n)return;let r=It(e.container).uri;return{sourceUri:r,sourcePath:this.nodeLocator.getAstNodePath(e.container),targetUri:t.documentUri,targetPath:t.path,segment:ie(n),local:dd.equals(t.documentUri,r)}}},Ud=class{constructor(){this.segmentSeparator=`/`,this.indexSeparator=`@`}getAstNodePath(e){if(e.$container){let t=this.getAstNodePath(e.$container),n=this.getPathSegment(e);return t+this.segmentSeparator+n}return``}getPathSegment({$containerProperty:e,$containerIndex:t}){if(!e)throw Error(`Missing '$containerProperty' in AST node.`);return t===void 0?e:e+this.indexSeparator+t}getAstNode(e,t){return t.split(this.segmentSeparator).reduce((e,t)=>{if(!e||t.length===0)return e;let n=t.indexOf(this.indexSeparator);if(n>0){let r=t.substring(0,n),i=parseInt(t.substring(n+1));return e[r]?.[i]}return e[t]},e)}},Wd=e.n({});e.r(Wd,e.i(Ku(),1));var Gd=class{constructor(e){this._ready=new ed,this.settings={},this.workspaceConfig=!1,this.onConfigurationSectionUpdateEmitter=new Wd.Emitter,this.serviceRegistry=e.ServiceRegistry}get ready(){return this._ready.promise}initialize(e){this.workspaceConfig=e.capabilities.workspace?.configuration??!1}async initialized(e){if(this.workspaceConfig){if(e.register){let t=this.serviceRegistry.all;e.register({section:t.map(e=>this.toSectionName(e.LanguageMetaData.languageId))})}if(e.fetchConfiguration){let t=this.serviceRegistry.all.map(e=>({section:this.toSectionName(e.LanguageMetaData.languageId)})),n=await e.fetchConfiguration(t);t.forEach((e,t)=>{this.updateSectionConfiguration(e.section,n[t])})}}this._ready.resolve()}updateConfiguration(e){e.settings&&Object.keys(e.settings).forEach(t=>{let n=e.settings[t];this.updateSectionConfiguration(t,n),this.onConfigurationSectionUpdateEmitter.fire({section:t,configuration:n})})}updateSectionConfiguration(e,t){this.settings[e]=t}async getConfiguration(e,t){await this.ready;let n=this.toSectionName(e);if(this.settings[n])return this.settings[n][t]}toSectionName(e){return`${e}`}get onConfigurationSectionUpdate(){return this.onConfigurationSectionUpdateEmitter.event}},Kd;(function(e){function t(e){return{dispose:async()=>await e()}}e.create=t})(Kd||={});var qd=class{constructor(e){this.updateBuildOptions={validation:{categories:[`built-in`,`fast`]}},this.updateListeners=[],this.buildPhaseListeners=new yd,this.documentPhaseListeners=new yd,this.buildState=new Map,this.documentBuildWaiters=new Map,this.currentState=X.Changed,this.langiumDocuments=e.workspace.LangiumDocuments,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.textDocuments=e.workspace.TextDocuments,this.indexManager=e.workspace.IndexManager,this.serviceRegistry=e.ServiceRegistry}async build(e,t={},n=J.CancellationToken.None){for(let n of e){let e=n.uri.toString();if(n.state===X.Validated){if(typeof t.validation==`boolean`&&t.validation)n.state=X.IndexedReferences,n.diagnostics=void 0,this.buildState.delete(e);else if(typeof t.validation==`object`){let r=this.buildState.get(e),i=r?.result?.validationChecks;if(i){let a=(t.validation.categories??Pd.all).filter(e=>!i.includes(e));a.length>0&&(this.buildState.set(e,{completed:!1,options:{validation:Object.assign(Object.assign({},t.validation),{categories:a})},result:r.result}),n.state=X.IndexedReferences)}}}else this.buildState.delete(e)}this.currentState=X.Changed,await this.emitUpdate(e.map(e=>e.uri),[]),await this.buildDocuments(e,t,n)}async update(e,t,n=J.CancellationToken.None){this.currentState=X.Changed;for(let e of t)this.langiumDocuments.deleteDocument(e),this.buildState.delete(e.toString()),this.indexManager.remove(e);for(let t of e){if(!this.langiumDocuments.invalidateDocument(t)){let e=this.langiumDocumentFactory.fromModel({$type:`INVALID`},t);e.state=X.Changed,this.langiumDocuments.addDocument(e)}this.buildState.delete(t.toString())}let r=y(e).concat(t).map(e=>e.toString()).toSet();this.langiumDocuments.all.filter(e=>!r.has(e.uri.toString())&&this.shouldRelink(e,r)).forEach(e=>{this.serviceRegistry.getServices(e.uri).references.Linker.unlink(e),e.state=Math.min(e.state,X.ComputedScopes),e.diagnostics=void 0}),await this.emitUpdate(e,t),await Y(n);let i=this.sortDocuments(this.langiumDocuments.all.filter(e=>e.state<X.Linked||!this.buildState.get(e.uri.toString())?.completed).toArray());await this.buildDocuments(i,this.updateBuildOptions,n)}async emitUpdate(e,t){await Promise.all(this.updateListeners.map(n=>n(e,t)))}sortDocuments(e){let t=0,n=e.length-1;for(;t<n;){for(;t<e.length&&this.hasTextDocument(e[t]);)t++;for(;n>=0&&!this.hasTextDocument(e[n]);)n--;t<n&&([e[t],e[n]]=[e[n],e[t]])}return e}hasTextDocument(e){return!!this.textDocuments?.get(e.uri)}shouldRelink(e,t){return e.references.some(e=>e.error!==void 0)?!0:this.indexManager.isAffected(e,t)}onUpdate(e){return this.updateListeners.push(e),Kd.create(()=>{let t=this.updateListeners.indexOf(e);t>=0&&this.updateListeners.splice(t,1)})}async buildDocuments(e,t,n){this.prepareBuild(e,t),await this.runCancelable(e,X.Parsed,n,e=>this.langiumDocumentFactory.update(e,n)),await this.runCancelable(e,X.IndexedContent,n,e=>this.indexManager.updateContent(e,n)),await this.runCancelable(e,X.ComputedScopes,n,async e=>{e.precomputedScopes=await this.serviceRegistry.getServices(e.uri).references.ScopeComputation.computeLocalScopes(e,n)}),await this.runCancelable(e,X.Linked,n,e=>this.serviceRegistry.getServices(e.uri).references.Linker.link(e,n)),await this.runCancelable(e,X.IndexedReferences,n,e=>this.indexManager.updateReferences(e,n));let r=e.filter(e=>this.shouldValidate(e));await this.runCancelable(r,X.Validated,n,e=>this.validate(e,n));for(let t of e){let e=this.buildState.get(t.uri.toString());e&&(e.completed=!0)}}prepareBuild(e,t){for(let n of e){let e=n.uri.toString(),r=this.buildState.get(e);(!r||r.completed)&&this.buildState.set(e,{completed:!1,options:t,result:r?.result})}}async runCancelable(e,t,n,r){let i=e.filter(e=>e.state<t);for(let e of i)await Y(n),await r(e),e.state=t,await this.notifyDocumentPhase(e,t,n);let a=e.filter(e=>e.state===t);await this.notifyBuildPhase(a,t,n),this.currentState=t}onBuildPhase(e,t){return this.buildPhaseListeners.add(e,t),Kd.create(()=>{this.buildPhaseListeners.delete(e,t)})}onDocumentPhase(e,t){return this.documentPhaseListeners.add(e,t),Kd.create(()=>{this.documentPhaseListeners.delete(e,t)})}waitUntil(e,t,n){let r;if(t&&`path`in t?r=t:n=t,n??=J.CancellationToken.None,r){let t=this.langiumDocuments.getDocument(r);if(t&&t.state>e)return Promise.resolve(r)}return this.currentState>=e?Promise.resolve(void 0):n.isCancellationRequested?Promise.reject(Qu):new Promise((t,i)=>{let a=this.onBuildPhase(e,()=>{a.dispose(),o.dispose(),t(r?this.langiumDocuments.getDocument(r)?.uri:void 0)}),o=n.onCancellationRequested(()=>{a.dispose(),o.dispose(),i(Qu)})})}async notifyDocumentPhase(e,t,n){let r=this.documentPhaseListeners.get(t).slice();for(let t of r)try{await t(e,n)}catch(e){if(!$u(e))throw e}}async notifyBuildPhase(e,t,n){if(e.length===0)return;let r=this.buildPhaseListeners.get(t).slice();for(let t of r)await Y(n),await t(e,n)}shouldValidate(e){return!!this.getBuildOptions(e).validation}async validate(e,t){let n=this.serviceRegistry.getServices(e.uri).validation.DocumentValidator,r=this.getBuildOptions(e).validation,i=typeof r==`object`?r:void 0,a=await n.validateDocument(e,i,t);e.diagnostics?e.diagnostics.push(...a):e.diagnostics=a;let o=this.buildState.get(e.uri.toString());if(o){o.result??={};let e=i?.categories??Pd.all;o.result.validationChecks?o.result.validationChecks.push(...e):o.result.validationChecks=[...e]}}getBuildOptions(e){return this.buildState.get(e.uri.toString())?.options??{}}},Jd=class{constructor(e){this.symbolIndex=new Map,this.symbolByTypeIndex=new Ed,this.referenceIndex=new Map,this.documents=e.workspace.LangiumDocuments,this.serviceRegistry=e.ServiceRegistry,this.astReflection=e.AstReflection}findAllReferences(e,t){let n=It(e).uri,r=[];return this.referenceIndex.forEach(e=>{e.forEach(e=>{dd.equals(e.targetUri,n)&&e.targetPath===t&&r.push(e)})}),y(r)}allElements(e,t){let n=y(this.symbolIndex.keys());return t&&(n=n.filter(e=>!t||t.has(e))),n.map(t=>this.getFileDescriptions(t,e)).flat()}getFileDescriptions(e,t){return t?this.symbolByTypeIndex.get(e,t,()=>(this.symbolIndex.get(e)??[]).filter(e=>this.astReflection.isSubtype(e.type,t))):this.symbolIndex.get(e)??[]}remove(e){let t=e.toString();this.symbolIndex.delete(t),this.symbolByTypeIndex.clear(t),this.referenceIndex.delete(t)}async updateContent(e,t=J.CancellationToken.None){let n=await this.serviceRegistry.getServices(e.uri).references.ScopeComputation.computeExports(e,t),r=e.uri.toString();this.symbolIndex.set(r,n),this.symbolByTypeIndex.clear(r)}async updateReferences(e,t=J.CancellationToken.None){let n=await this.serviceRegistry.getServices(e.uri).workspace.ReferenceDescriptionProvider.createDescriptions(e,t);this.referenceIndex.set(e.uri.toString(),n)}isAffected(e,t){let n=this.referenceIndex.get(e.uri.toString());return n?n.some(e=>!e.local&&t.has(e.targetUri.toString())):!1}},Yd=class{constructor(e){this.initialBuildOptions={},this._ready=new ed,this.serviceRegistry=e.ServiceRegistry,this.langiumDocuments=e.workspace.LangiumDocuments,this.documentBuilder=e.workspace.DocumentBuilder,this.fileSystemProvider=e.workspace.FileSystemProvider,this.mutex=e.workspace.WorkspaceLock}get ready(){return this._ready.promise}get workspaceFolders(){return this.folders}initialize(e){this.folders=e.workspaceFolders??void 0}initialized(e){return this.mutex.write(e=>this.initializeWorkspace(this.folders??[],e))}async initializeWorkspace(e,t=J.CancellationToken.None){let n=await this.performStartup(e);await Y(t),await this.documentBuilder.build(n,this.initialBuildOptions,t)}async performStartup(e){let t=this.serviceRegistry.all.flatMap(e=>e.LanguageMetaData.fileExtensions),n=[],r=e=>{n.push(e),this.langiumDocuments.hasDocument(e.uri)||this.langiumDocuments.addDocument(e)};return await this.loadAdditionalDocuments(e,r),await Promise.all(e.map(e=>[e,this.getRootFolder(e)]).map(async e=>this.traverseFolder(...e,t,r))),this._ready.resolve(),n}loadAdditionalDocuments(e,t){return Promise.resolve()}getRootFolder(e){return ld.parse(e.uri)}async traverseFolder(e,t,n,r){let i=await this.fileSystemProvider.readDirectory(t);await Promise.all(i.map(async t=>{this.includeEntry(e,t,n)&&(t.isDirectory?await this.traverseFolder(e,t.uri,n,r):t.isFile&&r(await this.langiumDocuments.getOrCreateDocument(t.uri)))}))}includeEntry(e,t,n){let r=dd.basename(t.uri);if(r.startsWith(`.`))return!1;if(t.isDirectory)return r!==`node_modules`&&r!==`out`;if(t.isFile){let e=dd.extname(t.uri);return n.includes(e)}return!1}},Xd=class{buildUnexpectedCharactersMessage(e,t,n,r,i){return ia.buildUnexpectedCharactersMessage(e,t,n,r,i)}buildUnableToPopLexerModeMessage(e){return ia.buildUnableToPopLexerModeMessage(e)}},Zd={mode:`full`},Qd=class{constructor(e){this.errorMessageProvider=e.parser.LexerErrorMessageProvider,this.tokenBuilder=e.parser.TokenBuilder;let t=this.tokenBuilder.buildTokens(e.Grammar,{caseInsensitive:e.LanguageMetaData.caseInsensitive});this.tokenTypes=this.toTokenTypeDictionary(t);let n=tf(t)?Object.values(t):t,r=e.LanguageMetaData.mode===`production`;this.chevrotainLexer=new B(n,{positionTracking:`full`,skipValidations:r,errorMessageProvider:this.errorMessageProvider})}get definition(){return this.tokenTypes}tokenize(e,t=Zd){var n;let r=this.chevrotainLexer.tokenize(e);return{tokens:r.tokens,errors:r.errors,hidden:r.groups.hidden??[],report:(n=this.tokenBuilder).flushLexingReport?.call(n,e)}}toTokenTypeDictionary(e){if(tf(e))return e;let t=ef(e)?Object.values(e.modes).flat():e,n={};return t.forEach(e=>n[e.name]=e),n}};function $d(e){return Array.isArray(e)&&(e.length===0||`name`in e[0])}function ef(e){return e&&`modes`in e&&`defaultMode`in e}function tf(e){return!$d(e)&&!ef(e)}function nf(e,t,n){let r,i;typeof e==`string`?(i=t,r=n):(i=e.range.start,r=t),i||=G.create(0,0);let a=af(e),o=xf(r);return mf({index:0,tokens:cf({lines:a,position:i,options:o}),position:i})}function rf(e,t){let n=xf(t),r=af(e);if(r.length===0)return!1;let i=r[0],a=r[r.length-1],o=n.start,s=n.end;return!!o?.exec(i)&&!!s?.exec(a)}function af(e){let t=``;return t=typeof e==`string`?e:e.text,t.split(an)}var of=/\s*(@([\p{L}][\p{L}\p{N}]*)?)/uy,sf=/\{(@[\p{L}][\p{L}\p{N}]*)(\s*)([^\r\n}]+)?\}/gu;function cf(e){let t=[],n=e.position.line,r=e.position.character;for(let i=0;i<e.lines.length;i++){let a=i===0,o=i===e.lines.length-1,s=e.lines[i],c=0;if(a&&e.options.start){let t=e.options.start?.exec(s);t&&(c=t.index+t[0].length)}else{let t=e.options.line?.exec(s);t&&(c=t.index+t[0].length)}if(o){let t=e.options.end?.exec(s);t&&(s=s.substring(0,t.index))}if(s=s.substring(0,pf(s)),ff(s,c)>=s.length){if(t.length>0){let e=G.create(n,r);t.push({type:`break`,content:``,range:K.create(e,e)})}}else{of.lastIndex=c;let e=of.exec(s);if(e){let i=e[0],a=e[1],o=G.create(n,r+c),l=G.create(n,r+c+i.length);t.push({type:`tag`,content:a,range:K.create(o,l)}),c+=i.length,c=ff(s,c)}if(c<s.length){let e=s.substring(c),i=Array.from(e.matchAll(sf));t.push(...lf(i,e,n,r+c))}}n++,r=0}return t.length>0&&t[t.length-1].type===`break`?t.slice(0,-1):t}function lf(e,t,n,r){let i=[];if(e.length===0){let e=G.create(n,r),a=G.create(n,r+t.length);i.push({type:`text`,content:t,range:K.create(e,a)})}else{let a=0;for(let o of e){let e=o.index,s=t.substring(a,e);s.length>0&&i.push({type:`text`,content:t.substring(a,e),range:K.create(G.create(n,a+r),G.create(n,e+r))});let c=s.length+1,l=o[1];if(i.push({type:`inline-tag`,content:l,range:K.create(G.create(n,a+c+r),G.create(n,a+c+l.length+r))}),c+=l.length,o.length===4){c+=o[2].length;let e=o[3];i.push({type:`text`,content:e,range:K.create(G.create(n,a+c+r),G.create(n,a+c+e.length+r))})}else i.push({type:`text`,content:``,range:K.create(G.create(n,a+c+r),G.create(n,a+c+r))});a=e+o[0].length}let o=t.substring(a);o.length>0&&i.push({type:`text`,content:o,range:K.create(G.create(n,a+r),G.create(n,a+r+o.length))})}return i}var uf=/\S/,df=/\s*$/;function ff(e,t){let n=e.substring(t).match(uf);return n?t+n.index:e.length}function pf(e){let t=e.match(df);if(t&&typeof t.index==`number`)return t.index}function mf(e){let t=G.create(e.position.line,e.position.character);if(e.tokens.length===0)return new Cf([],K.create(t,t));let n=[];for(;e.index<e.tokens.length;){let t=hf(e,n[n.length-1]);t&&n.push(t)}let r=n[0]?.range.start??t,i=n[n.length-1]?.range.end??t;return new Cf(n,K.create(r,i))}function hf(e,t){let n=e.tokens[e.index];if(n.type===`tag`)return yf(e,!1);if(n.type===`text`||n.type===`inline-tag`)return _f(e);gf(n,t),e.index++}function gf(e,t){if(t){let n=new Of(``,e.range);`inlines`in t?t.inlines.push(n):t.content.inlines.push(n)}}function _f(e){let t=e.tokens[e.index],n=t,r=t,i=[];for(;t&&t.type!==`break`&&t.type!==`tag`;)i.push(vf(e)),r=t,t=e.tokens[e.index];return new Df(i,K.create(n.range.start,r.range.end))}function vf(e){return e.tokens[e.index].type===`inline-tag`?yf(e,!0):bf(e)}function yf(e,t){let n=e.tokens[e.index++],r=n.content.substring(1);if(e.tokens[e.index]?.type===`text`)if(t){let i=bf(e);return new wf(r,new Df([i],i.range),t,K.create(n.range.start,i.range.end))}else{let i=_f(e);return new wf(r,i,t,K.create(n.range.start,i.range.end))}else{let e=n.range;return new wf(r,new Df([],e),t,e)}}function bf(e){let t=e.tokens[e.index++];return new Of(t.content,t.range)}function xf(e){if(!e)return xf({start:`/**`,end:`*/`,line:`*`});let{start:t,end:n,line:r}=e;return{start:Sf(t,!0),end:Sf(n,!1),line:Sf(r,!0)}}function Sf(e,t){if(typeof e==`string`||typeof e==`object`){let n=typeof e==`string`?dn(e):e.source;return RegExp(t?`^\\s*${n}`:`\\s*${n}\\s*$`)}else return e}var Cf=class{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(let t of this.elements)if(e.length===0)e=t.toString();else{let n=t.toString();e+=kf(e)+n}return e.trim()}toMarkdown(e){let t=``;for(let n of this.elements)if(t.length===0)t=n.toMarkdown(e);else{let r=n.toMarkdown(e);t+=kf(t)+r}return t.trim()}},wf=class{constructor(e,t,n,r){this.name=e,this.content=t,this.inline=n,this.range=r}toString(){let e=`@${this.name}`,t=this.content.toString();return this.content.inlines.length===1?e=`${e} ${t}`:this.content.inlines.length>1&&(e=`${e}\n${t}`),this.inline?`{${e}}`:e}toMarkdown(e){return(e?.renderTag)?.call(e,this)??this.toMarkdownDefault(e)}toMarkdownDefault(e){let t=this.content.toMarkdown(e);if(this.inline){let n=Tf(this.name,t,e??{});if(typeof n==`string`)return n}let n=``;e?.tag===`italic`||e?.tag===void 0?n=`*`:e?.tag===`bold`?n=`**`:e?.tag===`bold-italic`&&(n=`***`);let r=`${n}@${this.name}${n}`;return this.content.inlines.length===1?r=`${r} — ${t}`:this.content.inlines.length>1&&(r=`${r}\n${t}`),this.inline?`{${r}}`:r}};function Tf(e,t,n){if(e===`linkplain`||e===`linkcode`||e===`link`){let r=t.indexOf(` `),i=t;if(r>0){let e=ff(t,r);i=t.substring(e),t=t.substring(0,r)}return(e===`linkcode`||e===`link`&&n.link===`code`)&&(i=`\`${i}\``),n.renderLink?.call(n,t,i)??Ef(t,i)}}function Ef(e,t){try{return ld.parse(e,!0),`[${t}](${e})`}catch{return e}}var Df=class{constructor(e,t){this.inlines=e,this.range=t}toString(){let e=``;for(let t=0;t<this.inlines.length;t++){let n=this.inlines[t],r=this.inlines[t+1];e+=n.toString(),r&&r.range.start.line>n.range.start.line&&(e+=`
|
|
74
|
+
`)}return e}toMarkdown(e){let t=``;for(let n=0;n<this.inlines.length;n++){let r=this.inlines[n],i=this.inlines[n+1];t+=r.toMarkdown(e),i&&i.range.start.line>r.range.start.line&&(t+=`
|
|
75
|
+
`)}return t}},Of=class{constructor(e,t){this.text=e,this.range=t}toString(){return this.text}toMarkdown(){return this.text}};function kf(e){return e.endsWith(`
|
|
76
|
+
`)?`
|
|
77
|
+
`:`
|
|
78
|
+
|
|
79
|
+
`}var Af=class{constructor(e){this.indexManager=e.shared.workspace.IndexManager,this.commentProvider=e.documentation.CommentProvider}getDocumentation(e){let t=this.commentProvider.getComment(e);if(t&&rf(t))return nf(t).toMarkdown({renderLink:(t,n)=>this.documentationLinkRenderer(e,t,n),renderTag:t=>this.documentationTagRenderer(e,t)})}documentationLinkRenderer(e,t,n){let r=this.findNameInPrecomputedScopes(e,t)??this.findNameInGlobalScope(e,t);if(r&&r.nameSegment){let e=r.nameSegment.range.start.line+1,t=r.nameSegment.range.start.character+1;return`[${n}](${r.documentUri.with({fragment:`L${e},${t}`}).toString()})`}else return}documentationTagRenderer(e,t){}findNameInPrecomputedScopes(e,t){let n=It(e).precomputedScopes;if(!n)return;let r=e;do{let e=n.get(r).find(e=>e.name===t);if(e)return e;r=r.$container}while(r)}findNameInGlobalScope(e,t){return this.indexManager.allElements().find(e=>e.name===t)}},jf=class{constructor(e){this.grammarConfig=()=>e.parser.GrammarConfig}getComment(e){return kd(e)?e.$comment:ce(e.$cstNode,this.grammarConfig().multilineCommentRules)?.text}},Mf=class{constructor(e){this.syncParser=e.parser.LangiumParser}parse(e,t){return Promise.resolve(this.syncParser.parse(e))}},Nf=class{constructor(){this.previousTokenSource=new J.CancellationTokenSource,this.writeQueue=[],this.readQueue=[],this.done=!0}write(e){this.cancelWrite();let t=Zu();return this.previousTokenSource=t,this.enqueue(this.writeQueue,e,t.token)}read(e){return this.enqueue(this.readQueue,e)}enqueue(e,t,n=J.CancellationToken.None){let r=new ed,i={action:t,deferred:r,cancellationToken:n};return e.push(i),this.performNextOperation(),r.promise}async performNextOperation(){if(!this.done)return;let e=[];if(this.writeQueue.length>0)e.push(this.writeQueue.shift());else if(this.readQueue.length>0)e.push(...this.readQueue.splice(0,this.readQueue.length));else return;this.done=!1,await Promise.all(e.map(async({action:e,deferred:t,cancellationToken:n})=>{try{let r=await Promise.resolve().then(()=>e(n));t.resolve(r)}catch(e){$u(e)?t.resolve(void 0):t.reject(e)}})),this.done=!0,this.performNextOperation()}cancelWrite(){this.previousTokenSource.cancel()}},Pf=class{constructor(e){this.grammarElementIdMap=new bd,this.tokenTypeIdMap=new bd,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){let t=new Map,n=new Map;for(let n of Bt(e))t.set(n,{});if(e.$cstNode)for(let t of te(e.$cstNode))n.set(t,{});return{astNodes:t,cstNodes:n}}dehydrateAstNode(e,t){let n=t.astNodes.get(e);n.$type=e.$type,n.$containerIndex=e.$containerIndex,n.$containerProperty=e.$containerProperty,e.$cstNode!==void 0&&(n.$cstNode=this.dehydrateCstNode(e.$cstNode,t));for(let[r,i]of Object.entries(e))if(!r.startsWith(`$`))if(Array.isArray(i)){let e=[];n[r]=e;for(let n of i)o(n)?e.push(this.dehydrateAstNode(n,t)):s(n)?e.push(this.dehydrateReference(n,t)):e.push(n)}else o(i)?n[r]=this.dehydrateAstNode(i,t):s(i)?n[r]=this.dehydrateReference(i,t):i!==void 0&&(n[r]=i);return n}dehydrateReference(e,t){let n={};return n.$refText=e.$refText,e.$refNode&&(n.$refNode=t.cstNodes.get(e.$refNode)),n}dehydrateCstNode(e,t){let n=t.cstNodes.get(e);return p(e)?n.fullText=e.fullText:n.grammarSource=this.getGrammarElementId(e.grammarSource),n.hidden=e.hidden,n.astNode=t.astNodes.get(e.astNode),d(e)?n.content=e.content.map(e=>this.dehydrateCstNode(e,t)):f(e)&&(n.tokenType=e.tokenType.name,n.offset=e.offset,n.length=e.length,n.startLine=e.range.start.line,n.startColumn=e.range.start.character,n.endLine=e.range.end.line,n.endColumn=e.range.end.character),n}hydrate(e){let t=e.value,n=this.createHydrationContext(t);return`$cstNode`in t&&this.hydrateCstNode(t.$cstNode,n),{lexerErrors:e.lexerErrors,lexerReport:e.lexerReport,parserErrors:e.parserErrors,value:this.hydrateAstNode(t,n)}}createHydrationContext(e){let t=new Map,n=new Map;for(let n of Bt(e))t.set(n,{});let r;if(e.$cstNode)for(let t of te(e.$cstNode)){let e;`fullText`in t?(e=new lu(t.fullText),r=e):`content`in t?e=new su:`tokenType`in t&&(e=this.hydrateCstLeafNode(t)),e&&(n.set(t,e),e.root=r)}return{astNodes:t,cstNodes:n}}hydrateAstNode(e,t){let n=t.astNodes.get(e);n.$type=e.$type,n.$containerIndex=e.$containerIndex,n.$containerProperty=e.$containerProperty,e.$cstNode&&(n.$cstNode=t.cstNodes.get(e.$cstNode));for(let[r,i]of Object.entries(e))if(!r.startsWith(`$`))if(Array.isArray(i)){let e=[];n[r]=e;for(let a of i)o(a)?e.push(this.setParent(this.hydrateAstNode(a,t),n)):s(a)?e.push(this.hydrateReference(a,n,r,t)):e.push(a)}else o(i)?n[r]=this.setParent(this.hydrateAstNode(i,t),n):s(i)?n[r]=this.hydrateReference(i,n,r,t):i!==void 0&&(n[r]=i);return n}setParent(e,t){return e.$container=t,e}hydrateReference(e,t,n,r){return this.linker.buildReference(t,n,r.cstNodes.get(e.$refNode),e.$refText)}hydrateCstNode(e,t,n=0){let r=t.cstNodes.get(e);if(typeof e.grammarSource==`number`&&(r.grammarSource=this.getGrammarElement(e.grammarSource)),r.astNode=t.astNodes.get(e.astNode),d(r))for(let i of e.content){let e=this.hydrateCstNode(i,t,n++);r.content.push(e)}return r}hydrateCstLeafNode(e){let t=this.getTokenType(e.tokenType),n=e.offset,r=e.length,i=e.startLine,a=e.startColumn,o=e.endLine,s=e.endColumn,c=e.hidden;return new ou(n,r,{start:{line:i,character:a},end:{line:o,character:s}},t,c)}getTokenType(e){return this.lexer.definition[e]}getGrammarElementId(e){if(e)return this.grammarElementIdMap.size===0&&this.createGrammarElementIdMap(),this.grammarElementIdMap.get(e)}getGrammarElement(e){return this.grammarElementIdMap.size===0&&this.createGrammarElementIdMap(),this.grammarElementIdMap.getKey(e)}createGrammarElementIdMap(){let e=0;for(let t of Bt(this.grammar))ve(t)&&this.grammarElementIdMap.set(t,e++)}};function Ff(e){return{documentation:{CommentProvider:e=>new jf(e),DocumentationProvider:e=>new Af(e)},parser:{AsyncParser:e=>new Mf(e),GrammarConfig:e=>Gn(e),LangiumParser:e=>zu(e),CompletionParser:e=>Ru(e),ValueConverter:()=>new Hu,TokenBuilder:()=>new Vu,Lexer:e=>new Qd(e),ParserErrorMessageProvider:()=>new _u,LexerErrorMessageProvider:()=>new Xd},workspace:{AstNodeLocator:()=>new Ud,AstNodeDescriptionProvider:e=>new Vd(e),ReferenceDescriptionProvider:e=>new Hd(e)},references:{Linker:e=>new hd(e),NameProvider:()=>new _d,ScopeProvider:e=>new Od(e),ScopeComputation:e=>new xd(e),References:e=>new vd(e)},serializer:{Hydrator:e=>new Pf(e),JsonSerializer:e=>new jd(e)},validation:{DocumentValidator:e=>new Id(e),ValidationRegistry:e=>new Fd(e)},shared:()=>e.shared}}function If(e){return{ServiceRegistry:e=>new Md(e),workspace:{LangiumDocuments:e=>new pd(e),LangiumDocumentFactory:e=>new fd(e),DocumentBuilder:e=>new qd(e),IndexManager:e=>new Jd(e),WorkspaceManager:e=>new Yd(e),FileSystemProvider:t=>e.fileSystemProvider(t),WorkspaceLock:()=>new Nf,ConfigurationProvider:e=>new Gd(e)}}}var Lf;(function(e){e.merge=(e,t)=>Hf(Hf({},e),t)})(Lf||={});function Z(e,t,n,r,i,a,o,s,c){return zf([e,t,n,r,i,a,o,s,c].reduce(Hf,{}))}var Rf=Symbol(`isProxy`);function zf(e,t){let n=new Proxy({},{deleteProperty:()=>!1,set:()=>{throw Error(`Cannot set property on injected service container`)},get:(r,i)=>i===Rf?!0:Vf(r,i,e,t||n),getOwnPropertyDescriptor:(r,i)=>(Vf(r,i,e,t||n),Object.getOwnPropertyDescriptor(r,i)),has:(t,n)=>n in e,ownKeys:()=>[...Object.getOwnPropertyNames(e)]});return n}var Bf=Symbol();function Vf(e,t,n,r){if(t in e){if(e[t]instanceof Error)throw Error(`Construction failure. Please make sure that your dependencies are constructable.`,{cause:e[t]});if(e[t]===Bf)throw Error(`Cycle detected. Please make "`+String(t)+`" lazy. Visit https://langium.org/docs/reference/configuration-services/#resolving-cyclic-dependencies`);return e[t]}else if(t in n){let i=n[t];e[t]=Bf;try{e[t]=typeof i==`function`?i(r):zf(i,r)}catch(n){throw e[t]=n instanceof Error?n:void 0,n}return e[t]}else return}function Hf(e,t){if(t){for(let[n,r]of Object.entries(t))if(r!==void 0){let t=e[n];t!==null&&r!==null&&typeof t==`object`&&typeof r==`object`?e[n]=Hf(t,r):e[n]=r}}return e}var Uf=class{readFile(){throw Error(`No file system is available.`)}async readDirectory(){return[]}},Wf={fileSystemProvider:()=>new Uf},Gf={Grammar:()=>void 0,LanguageMetaData:()=>({caseInsensitive:!1,fileExtensions:[`.langium`],languageId:`langium`})},Kf={AstReflection:()=>new Nt};function qf(){let e=Z(If(Wf),Kf),t=Z(Ff({shared:e}),Gf);return e.ServiceRegistry.register(t),t}function Jf(e){let t=qf(),n=t.serializer.JsonSerializer.deserialize(e);return t.shared.workspace.LangiumDocumentFactory.fromModel(n,ld.parse(`memory://${n.name??`grammar`}.langium`)),n}var Yf=Object.defineProperty,Q=(e,t)=>Yf(e,`name`,{value:t,configurable:!0}),Xf=`Statement`,Zf=`Architecture`;function Qf(e){return $.isInstance(e,Zf)}Q(Qf,`isArchitecture`);var $f=`Axis`,ep=`Branch`;function tp(e){return $.isInstance(e,ep)}Q(tp,`isBranch`);var np=`Checkout`,rp=`CherryPicking`,ip=`ClassDefStatement`,ap=`Commit`;function op(e){return $.isInstance(e,ap)}Q(op,`isCommit`);var sp=`Curve`,cp=`Edge`,lp=`Entry`,up=`GitGraph`;function dp(e){return $.isInstance(e,up)}Q(dp,`isGitGraph`);var fp=`Group`,pp=`Info`;function mp(e){return $.isInstance(e,pp)}Q(mp,`isInfo`);var hp=`Item`,gp=`Junction`,_p=`Merge`;function vp(e){return $.isInstance(e,_p)}Q(vp,`isMerge`);var yp=`Option`,bp=`Packet`;function xp(e){return $.isInstance(e,bp)}Q(xp,`isPacket`);var Sp=`PacketBlock`;function Cp(e){return $.isInstance(e,Sp)}Q(Cp,`isPacketBlock`);function wp(e){return $.isInstance(e,`Pie`)}Q(wp,`isPie`);var Tp=`PieSection`;function Ep(e){return $.isInstance(e,Tp)}Q(Ep,`isPieSection`);var Dp=`Radar`,Op=`Service`,kp=`Treemap`;function Ap(e){return $.isInstance(e,kp)}Q(Ap,`isTreemap`);var jp=`TreemapRow`,Mp=`Direction`,Np=`Leaf`,Pp=`Section`,Fp=class extends u{static{Q(this,`MermaidAstReflection`)}getAllTypes(){return[Zf,$f,ep,np,rp,ip,ap,sp,Mp,cp,lp,up,fp,pp,hp,gp,Np,_p,yp,bp,Sp,`Pie`,Tp,Dp,Pp,Op,Xf,kp,jp]}computeIsSubtype(e,t){switch(e){case ep:case np:case rp:case ap:case _p:return this.isSubtype(Xf,t);case Mp:return this.isSubtype(up,t);case Np:case Pp:return this.isSubtype(hp,t);default:return!1}}getReferenceType(e){let t=`${e.container.$type}:${e.property}`;switch(t){case`Entry:axis`:return $f;default:throw Error(`${t} is not a valid reference id.`)}}getTypeMetaData(e){switch(e){case Zf:return{name:Zf,properties:[{name:`accDescr`},{name:`accTitle`},{name:`edges`,defaultValue:[]},{name:`groups`,defaultValue:[]},{name:`junctions`,defaultValue:[]},{name:`services`,defaultValue:[]},{name:`title`}]};case $f:return{name:$f,properties:[{name:`label`},{name:`name`}]};case ep:return{name:ep,properties:[{name:`name`},{name:`order`}]};case np:return{name:np,properties:[{name:`branch`}]};case rp:return{name:rp,properties:[{name:`id`},{name:`parent`},{name:`tags`,defaultValue:[]}]};case ip:return{name:ip,properties:[{name:`className`},{name:`styleText`}]};case ap:return{name:ap,properties:[{name:`id`},{name:`message`},{name:`tags`,defaultValue:[]},{name:`type`}]};case sp:return{name:sp,properties:[{name:`entries`,defaultValue:[]},{name:`label`},{name:`name`}]};case cp:return{name:cp,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 lp:return{name:lp,properties:[{name:`axis`},{name:`value`}]};case up:return{name:up,properties:[{name:`accDescr`},{name:`accTitle`},{name:`statements`,defaultValue:[]},{name:`title`}]};case fp:return{name:fp,properties:[{name:`icon`},{name:`id`},{name:`in`},{name:`title`}]};case pp:return{name:pp,properties:[{name:`accDescr`},{name:`accTitle`},{name:`title`}]};case hp:return{name:hp,properties:[{name:`classSelector`},{name:`name`}]};case gp:return{name:gp,properties:[{name:`id`},{name:`in`}]};case _p:return{name:_p,properties:[{name:`branch`},{name:`id`},{name:`tags`,defaultValue:[]},{name:`type`}]};case yp:return{name:yp,properties:[{name:`name`},{name:`value`,defaultValue:!1}]};case bp:return{name:bp,properties:[{name:`accDescr`},{name:`accTitle`},{name:`blocks`,defaultValue:[]},{name:`title`}]};case Sp:return{name:Sp,properties:[{name:`bits`},{name:`end`},{name:`label`},{name:`start`}]};case`Pie`:return{name:`Pie`,properties:[{name:`accDescr`},{name:`accTitle`},{name:`sections`,defaultValue:[]},{name:`showData`,defaultValue:!1},{name:`title`}]};case Tp:return{name:Tp,properties:[{name:`label`},{name:`value`}]};case Dp:return{name:Dp,properties:[{name:`accDescr`},{name:`accTitle`},{name:`axes`,defaultValue:[]},{name:`curves`,defaultValue:[]},{name:`options`,defaultValue:[]},{name:`title`}]};case Op:return{name:Op,properties:[{name:`icon`},{name:`iconText`},{name:`id`},{name:`in`},{name:`title`}]};case kp:return{name:kp,properties:[{name:`accDescr`},{name:`accTitle`},{name:`title`},{name:`TreemapRows`,defaultValue:[]}]};case jp:return{name:jp,properties:[{name:`indent`},{name:`item`}]};case Mp:return{name:Mp,properties:[{name:`accDescr`},{name:`accTitle`},{name:`dir`},{name:`statements`,defaultValue:[]},{name:`title`}]};case Np:return{name:Np,properties:[{name:`classSelector`},{name:`name`},{name:`value`}]};case Pp:return{name:Pp,properties:[{name:`classSelector`},{name:`name`}]};default:return{name:e,properties:[]}}}},$=new Fp,Ip,Lp=Q(()=>Ip??=Jf(`{"$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`),Rp,zp=Q(()=>Rp??=Jf(`{"$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`),Bp,Vp=Q(()=>Bp??=Jf(`{"$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`),Hp,Up=Q(()=>Hp??=Jf(`{"$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`),Wp,Gp=Q(()=>Wp??=Jf(`{"$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`),Kp,qp=Q(()=>Kp??=Jf(`{"$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`),Jp,Yp=Q(()=>Jp??=Jf(`{"$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`),Xp={languageId:`info`,fileExtensions:[`.mmd`,`.mermaid`],caseInsensitive:!1,mode:`production`},Zp={languageId:`packet`,fileExtensions:[`.mmd`,`.mermaid`],caseInsensitive:!1,mode:`production`},Qp={languageId:`pie`,fileExtensions:[`.mmd`,`.mermaid`],caseInsensitive:!1,mode:`production`},$p={languageId:`architecture`,fileExtensions:[`.mmd`,`.mermaid`],caseInsensitive:!1,mode:`production`},em={languageId:`gitGraph`,fileExtensions:[`.mmd`,`.mermaid`],caseInsensitive:!1,mode:`production`},tm={languageId:`radar`,fileExtensions:[`.mmd`,`.mermaid`],caseInsensitive:!1,mode:`production`},nm={languageId:`treemap`,fileExtensions:[`.mmd`,`.mermaid`],caseInsensitive:!1,mode:`production`},rm={AstReflection:Q(()=>new Fp,`AstReflection`)},im={Grammar:Q(()=>Lp(),`Grammar`),LanguageMetaData:Q(()=>Xp,`LanguageMetaData`),parser:{}},am={Grammar:Q(()=>zp(),`Grammar`),LanguageMetaData:Q(()=>Zp,`LanguageMetaData`),parser:{}},om={Grammar:Q(()=>Vp(),`Grammar`),LanguageMetaData:Q(()=>Qp,`LanguageMetaData`),parser:{}},sm={Grammar:Q(()=>Up(),`Grammar`),LanguageMetaData:Q(()=>$p,`LanguageMetaData`),parser:{}},cm={Grammar:Q(()=>Gp(),`Grammar`),LanguageMetaData:Q(()=>em,`LanguageMetaData`),parser:{}},lm={Grammar:Q(()=>qp(),`Grammar`),LanguageMetaData:Q(()=>tm,`LanguageMetaData`),parser:{}},um={Grammar:Q(()=>Yp(),`Grammar`),LanguageMetaData:Q(()=>nm,`LanguageMetaData`),parser:{}},dm={ACC_DESCR:/accDescr(?:[\t ]*:([^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/accTitle[\t ]*:([^\n\r]*)/,TITLE:/title([\t ][^\n\r]*|)/},fm=class extends Hu{static{Q(this,`AbstractMermaidValueConverter`)}runConverter(e,t,n){let r=this.runCommonConverter(e,t,n);return r===void 0&&(r=this.runCustomConverter(e,t,n)),r===void 0?super.runConverter(e,t,n):r}runCommonConverter(e,t,n){let r=dm[e.name];if(r===void 0)return;let i=r.exec(t);if(i!==null){if(i[1]!==void 0)return i[1].trim().replace(/[\t ]{2,}/gm,` `);if(i[2]!==void 0)return i[2].replace(/^\s*/gm,``).replace(/\s+$/gm,``).replace(/[\t ]{2,}/gm,` `).replace(/[\n\r]{2,}/gm,`
|
|
80
|
+
`)}}},pm=class extends fm{static{Q(this,`CommonValueConverter`)}runCustomConverter(e,t,n){}},mm=class extends Vu{static{Q(this,`AbstractMermaidTokenBuilder`)}constructor(e){super(),this.keywords=new Set(e)}buildKeywordTokens(e,t,n){let r=super.buildKeywordTokens(e,t,n);return r.forEach(e=>{this.keywords.has(e.name)&&e.PATTERN!==void 0&&(e.PATTERN=RegExp(e.PATTERN.toString()+`(?:(?=%%)|(?!\\S))`))}),r}};(class extends mm{static{Q(this,`CommonTokenBuilder`)}});var hm=class extends mm{static{Q(this,`ArchitectureTokenBuilder`)}constructor(){super([`architecture`])}},gm=class extends fm{static{Q(this,`ArchitectureValueConverter`)}runCustomConverter(e,t,n){if(e.name===`ARCH_ICON`)return t.replace(/[()]/g,``).trim();if(e.name===`ARCH_TEXT_ICON`)return t.replace(/["()]/g,``);if(e.name===`ARCH_TITLE`)return t.replace(/[[\]]/g,``).trim()}},_m={parser:{TokenBuilder:Q(()=>new hm,`TokenBuilder`),ValueConverter:Q(()=>new gm,`ValueConverter`)}};function vm(e=Wf){let t=Z(If(e),rm),n=Z(Ff({shared:t}),sm,_m);return t.ServiceRegistry.register(n),{shared:t,Architecture:n}}Q(vm,`createArchitectureServices`);var ym=class extends mm{static{Q(this,`GitGraphTokenBuilder`)}constructor(){super([`gitGraph`])}},bm={parser:{TokenBuilder:Q(()=>new ym,`TokenBuilder`),ValueConverter:Q(()=>new pm,`ValueConverter`)}};function xm(e=Wf){let t=Z(If(e),rm),n=Z(Ff({shared:t}),cm,bm);return t.ServiceRegistry.register(n),{shared:t,GitGraph:n}}Q(xm,`createGitGraphServices`);var Sm=class extends mm{static{Q(this,`InfoTokenBuilder`)}constructor(){super([`info`,`showInfo`])}},Cm={parser:{TokenBuilder:Q(()=>new Sm,`TokenBuilder`),ValueConverter:Q(()=>new pm,`ValueConverter`)}};function wm(e=Wf){let t=Z(If(e),rm),n=Z(Ff({shared:t}),im,Cm);return t.ServiceRegistry.register(n),{shared:t,Info:n}}Q(wm,`createInfoServices`);var Tm=class extends mm{static{Q(this,`PacketTokenBuilder`)}constructor(){super([`packet`])}},Em={parser:{TokenBuilder:Q(()=>new Tm,`TokenBuilder`),ValueConverter:Q(()=>new pm,`ValueConverter`)}};function Dm(e=Wf){let t=Z(If(e),rm),n=Z(Ff({shared:t}),am,Em);return t.ServiceRegistry.register(n),{shared:t,Packet:n}}Q(Dm,`createPacketServices`);var Om=class extends mm{static{Q(this,`PieTokenBuilder`)}constructor(){super([`pie`,`showData`])}},km=class extends fm{static{Q(this,`PieValueConverter`)}runCustomConverter(e,t,n){if(e.name===`PIE_SECTION_LABEL`)return t.replace(/"/g,``).trim()}},Am={parser:{TokenBuilder:Q(()=>new Om,`TokenBuilder`),ValueConverter:Q(()=>new km,`ValueConverter`)}};function jm(e=Wf){let t=Z(If(e),rm),n=Z(Ff({shared:t}),om,Am);return t.ServiceRegistry.register(n),{shared:t,Pie:n}}Q(jm,`createPieServices`);var Mm=class extends mm{static{Q(this,`RadarTokenBuilder`)}constructor(){super([`radar-beta`])}},Nm={parser:{TokenBuilder:Q(()=>new Mm,`TokenBuilder`),ValueConverter:Q(()=>new pm,`ValueConverter`)}};function Pm(e=Wf){let t=Z(If(e),rm),n=Z(Ff({shared:t}),lm,Nm);return t.ServiceRegistry.register(n),{shared:t,Radar:n}}Q(Pm,`createRadarServices`);var Fm=class extends mm{static{Q(this,`TreemapTokenBuilder`)}constructor(){super([`treemap`])}},Im=/classDef\s+([A-Z_a-z]\w+)(?:\s+([^\n\r;]*))?;?/,Lm=class extends fm{static{Q(this,`TreemapValueConverter`)}runCustomConverter(e,t,n){if(e.name===`NUMBER2`)return parseFloat(t.replace(/,/g,``));if(e.name===`SEPARATOR`||e.name===`STRING2`)return t.substring(1,t.length-1);if(e.name===`INDENTATION`)return t.length;if(e.name===`ClassDef`){if(typeof t!=`string`)return t;let e=Im.exec(t);if(e)return{$type:`ClassDefStatement`,className:e[1],styleText:e[2]||void 0}}}};function Rm(e){let t=e.validation.TreemapValidator,n=e.validation.ValidationRegistry;if(n){let e={Treemap:t.checkSingleRoot.bind(t)};n.register(e,t)}}Q(Rm,`registerValidationChecks`);var zm=class{static{Q(this,`TreemapValidator`)}checkSingleRoot(e,t){let n;for(let r of e.TreemapRows)r.item&&(n===void 0&&r.indent===void 0?n=0:(r.indent===void 0||n!==void 0&&n>=parseInt(r.indent,10))&&t(`error`,`Multiple root nodes are not allowed in a treemap.`,{node:r,property:`item`}))}},Bm={parser:{TokenBuilder:Q(()=>new Fm,`TokenBuilder`),ValueConverter:Q(()=>new Lm,`ValueConverter`)},validation:{TreemapValidator:Q(()=>new zm,`TreemapValidator`)}};function Vm(e=Wf){let t=Z(If(e),rm),n=Z(Ff({shared:t}),um,Bm);return t.ServiceRegistry.register(n),Rm(n),{shared:t,Treemap:n}}Q(Vm,`createTreemapServices`);var Hm={},Um={info:Q(async()=>{let{createInfoServices:e}=await Promise.resolve().then(()=>require("./info-63CPKGFF-MRaucWlf.cjs"));Hm.info=e().Info.parser.LangiumParser},`info`),packet:Q(async()=>{let{createPacketServices:e}=await Promise.resolve().then(()=>require("./packet-HUATNLJX-CGNko_oS.cjs"));Hm.packet=e().Packet.parser.LangiumParser},`packet`),pie:Q(async()=>{let{createPieServices:e}=await Promise.resolve().then(()=>require("./pie-WTHONI2E-BdPx0Cfg.cjs"));Hm.pie=e().Pie.parser.LangiumParser},`pie`),architecture:Q(async()=>{let{createArchitectureServices:e}=await Promise.resolve().then(()=>require("./architecture-O4VJ6CD3-B9qzjtV8.cjs"));Hm.architecture=e().Architecture.parser.LangiumParser},`architecture`),gitGraph:Q(async()=>{let{createGitGraphServices:e}=await Promise.resolve().then(()=>require("./gitGraph-ZV4HHKMB-BjaEVcYh.cjs"));Hm.gitGraph=e().GitGraph.parser.LangiumParser},`gitGraph`),radar:Q(async()=>{let{createRadarServices:e}=await Promise.resolve().then(()=>require("./radar-NJJJXTRR-wJoTnQbj.cjs"));Hm.radar=e().Radar.parser.LangiumParser},`radar`),treemap:Q(async()=>{let{createTreemapServices:e}=await Promise.resolve().then(()=>require("./treemap-75Q7IDZK-9TPMYr3R.cjs"));Hm.treemap=e().Treemap.parser.LangiumParser},`treemap`)};async function Wm(e,t){let n=Um[e];if(!n)throw Error(`Unknown diagram type: ${e}`);Hm[e]||await n();let r=Hm[e].parse(t);if(r.lexerErrors.length>0||r.parserErrors.length>0)throw new Gm(r);return r.value}Q(Wm,`parse`);var Gm=class extends Error{constructor(e){let t=e.lexerErrors.map(e=>e.message).join(`
|
|
81
|
+
`),n=e.parserErrors.map(e=>e.message).join(`
|
|
82
|
+
`);super(`Parsing failed: ${t} ${n}`),this.result=e}static{Q(this,`MermaidParseError`)}};Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return Pm}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return Em}}),Object.defineProperty(exports,"d",{enumerable:!0,get:function(){return wm}}),Object.defineProperty(exports,"f",{enumerable:!0,get:function(){return bm}}),Object.defineProperty(exports,"h",{enumerable:!0,get:function(){return vm}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return Nm}}),Object.defineProperty(exports,"l",{enumerable:!0,get:function(){return Dm}}),Object.defineProperty(exports,"m",{enumerable:!0,get:function(){return _m}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return Bm}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return Am}}),Object.defineProperty(exports,"p",{enumerable:!0,get:function(){return xm}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return Vm}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return jm}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return Wm}}),Object.defineProperty(exports,"u",{enumerable:!0,get:function(){return Cm}});
|