@codragraph/cli 2.1.5 → 2.2.0-rc.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (113) hide show
  1. package/README.md +18 -13
  2. package/dist/cli/analyze.d.ts +9 -4
  3. package/dist/cli/analyze.js +37 -13
  4. package/dist/cli/graphpack.d.ts +48 -0
  5. package/dist/cli/graphpack.js +217 -0
  6. package/dist/cli/index.js +81 -3
  7. package/dist/cli/status.d.ts +1 -1
  8. package/dist/cli/status.js +8 -0
  9. package/dist/cli/tool.d.ts +11 -2
  10. package/dist/cli/tool.js +138 -8
  11. package/dist/core/adaptive-profile.d.ts +52 -0
  12. package/dist/core/adaptive-profile.js +180 -0
  13. package/dist/core/cgdb/cgdb-adapter.d.ts +34 -5
  14. package/dist/core/cgdb/cgdb-adapter.js +418 -5
  15. package/dist/core/cgdb/pool-adapter.js +1 -1
  16. package/dist/core/graphpack/index.d.ts +14 -0
  17. package/dist/core/graphpack/index.js +474 -0
  18. package/dist/core/graphpack/types.d.ts +129 -0
  19. package/dist/core/graphpack/types.js +4 -0
  20. package/dist/core/ingestion/pipeline-phases/parse-impl.js +3 -1
  21. package/dist/core/ingestion/pipeline-phases/structure.js +19 -3
  22. package/dist/core/ingestion/pipeline.d.ts +10 -0
  23. package/dist/core/run-analyze.d.ts +27 -2
  24. package/dist/core/run-analyze.js +598 -27
  25. package/dist/core/search/bm25-index.d.ts +19 -0
  26. package/dist/core/search/bm25-index.js +68 -29
  27. package/dist/core/semantic/relationships.d.ts +36 -0
  28. package/dist/core/semantic/relationships.js +261 -0
  29. package/dist/mcp/local/local-backend.js +48 -3
  30. package/dist/mcp/resources.js +125 -0
  31. package/dist/mcp/tools.js +105 -0
  32. package/dist/server/api.js +112 -0
  33. package/dist/storage/repo-manager.d.ts +29 -0
  34. package/dist/web/assets/agent-CQNZQ-hg.js +1139 -0
  35. package/dist/web/assets/architectureDiagram-UL44E2DR-B5_goS_i.js +36 -0
  36. package/dist/web/assets/blockDiagram-7IZFK4PR-D7ZAlDyv.js +132 -0
  37. package/dist/web/assets/{c4Diagram-DFAF54RM-C4Hl3J2U.js → c4Diagram-Y2BXMSZH-Djcgm_54.js} +1 -1
  38. package/dist/web/assets/{chunk-7RZVMHOQ-BitYcNVR.js → chunk-3SSMPTDK-Cv2Zy2FO.js} +1 -1
  39. package/dist/web/assets/{chunk-TBF5ZNIQ-DL5stGM1.js → chunk-6764PJDD-Cppb-jH-.js} +1 -1
  40. package/dist/web/assets/{chunk-KSICW3F5-BYzvDLNI.js → chunk-AZZRMDJM-BHlLC7p3.js} +1 -1
  41. package/dist/web/assets/{chunk-AEOMTBSW-BgTIXPsY.js → chunk-JQRUD6KW-3F8Zg-1N.js} +1 -1
  42. package/dist/web/assets/chunk-KRXBNO2N-C0mbN9a7.js +1 -0
  43. package/dist/web/assets/chunk-LCXTWHL2-BoiuJpIF.js +231 -0
  44. package/dist/web/assets/{chunk-O5ABG6QK-dHwHzA6n.js → chunk-LII3EMHJ-Dqq0Qguw.js} +1 -1
  45. package/dist/web/assets/chunk-RG4AUYOV-Bl5F_gDs.js +206 -0
  46. package/dist/web/assets/{chunk-TU3PZOEN-RLyvLcv-.js → chunk-T5OCTHI4-B2tIcggA.js} +1 -1
  47. package/dist/web/assets/chunk-W44A43WB-BHe37iN7.js +13 -0
  48. package/dist/web/assets/{chunk-RWUO3TPN-BgRTY0_k.js → chunk-ZXARS5L4-wcrIaQvY.js} +1 -1
  49. package/dist/web/assets/classDiagram-KGZ6W3CR-IbI6v_24.js +1 -0
  50. package/dist/web/assets/classDiagram-v2-72OJOZXJ-IbI6v_24.js +1 -0
  51. package/dist/web/assets/{cose-bilkent-PNC4W37J-DVhePRYg.js → cose-bilkent-UX7MHV2Q-BWr7v0Wr.js} +1 -1
  52. package/dist/web/assets/dagre-ND4H6XIP-De5LIh1B.js +4 -0
  53. package/dist/web/assets/diagram-3NCE3AQN-Dd22FSHy.js +43 -0
  54. package/dist/web/assets/diagram-GF46GFSD-Cev3THY8.js +24 -0
  55. package/dist/web/assets/diagram-HNR7UZ2L-D8Z8RQGs.js +3 -0
  56. package/dist/web/assets/diagram-QXG6HAR7-B8VOJOiE.js +24 -0
  57. package/dist/web/assets/diagram-WEQXMOUZ-va1bLoMD.js +10 -0
  58. package/dist/web/assets/{erDiagram-GCSMX5X6-C3dhDFA8.js → erDiagram-L5TCEMPS-B3_9uAoP.js} +5 -5
  59. package/dist/web/assets/{flowDiagram-OTCZ4VVT-CWSFWmhr.js → flowDiagram-H6V6AXG4-98m6maI1.js} +9 -9
  60. package/dist/web/assets/ganttDiagram-JCBTUEKG-vE2nzETb.js +292 -0
  61. package/dist/web/assets/gitGraphDiagram-S2ZK5IYY-DKc8uUg_.js +106 -0
  62. package/dist/web/assets/index-BAhe1HSk.css +1 -0
  63. package/dist/web/assets/index-VTKdaklA.js +1415 -0
  64. package/dist/web/assets/infoDiagram-3YFTVSEB-DYP-Srzx.js +2 -0
  65. package/dist/web/assets/{ishikawaDiagram-YMYX4NHK-DUoJvNP2.js → ishikawaDiagram-BNXS4ZKH-QZnkpmmb.js} +3 -3
  66. package/dist/web/assets/{journeyDiagram-SO5T7YLQ-RMFPNNqz.js → journeyDiagram-M6C3CM3L-B5ojIuqu.js} +1 -1
  67. package/dist/web/assets/{kanban-definition-LJHFXRCJ-BzpDs1K9.js → kanban-definition-75IXJCU3-BJA8liRR.js} +4 -4
  68. package/dist/web/assets/{katex-GD7MH7QM-DBQvrix-.js → katex-K3KEBU37-DUqZiCRL.js} +1 -1
  69. package/dist/web/assets/mindmap-definition-2TDM6QVE-BQj5yylD.js +96 -0
  70. package/dist/web/assets/pieDiagram-CU6KROY3-4eSrPiQz.js +30 -0
  71. package/dist/web/assets/quadrantDiagram-VICAPDV7-PzxN8j55.js +7 -0
  72. package/dist/web/assets/{requirementDiagram-M5DCFWZL-DLHOVTSv.js → requirementDiagram-JXO7QTGE-CtplTc5y.js} +2 -2
  73. package/dist/web/assets/sankeyDiagram-URQDO5SZ-CoSgvkxv.js +40 -0
  74. package/dist/web/assets/sequenceDiagram-VS2MUI6T-D7ygyXvJ.js +162 -0
  75. package/dist/web/assets/stateDiagram-7D4R322I-v01gvwji.js +1 -0
  76. package/dist/web/assets/stateDiagram-v2-36443NZ5-DFD2b8_x.js +1 -0
  77. package/dist/web/assets/{timeline-definition-5SPVSISX-TRSDRgPw.js → timeline-definition-O6YCAMPW-CTI3M65J.js} +4 -4
  78. package/dist/web/assets/{vennDiagram-IE5QUKF5-DNy7HRBM.js → vennDiagram-MWXL3ELB-RnB0XMP7.js} +6 -6
  79. package/dist/web/assets/wardley-L42UT6IY-5TKZOOLJ-C-ZcgEBb.js +173 -0
  80. package/dist/web/assets/wardleyDiagram-CUQ6CDDI-EwRi4kwo.js +78 -0
  81. package/dist/web/assets/{xychartDiagram-ZHJ5623Y-Dr9r7a35.js → xychartDiagram-N2JHSOCM-DA38II6y.js} +4 -4
  82. package/dist/web/index.html +2 -2
  83. package/package.json +2 -2
  84. package/vendor/node_modules/node-addon-api/node_addon_api_except.stamp +0 -0
  85. package/dist/web/assets/agent-D5lb0zXz.js +0 -1089
  86. package/dist/web/assets/architectureDiagram-EMZXCZ2Q-CZtc99v_.js +0 -36
  87. package/dist/web/assets/blockDiagram-IGV67L2C-BtoUp-6Y.js +0 -132
  88. package/dist/web/assets/chunk-3GS5O3IE-DkUjU0WD.js +0 -231
  89. package/dist/web/assets/chunk-3YCYZ6SJ-CQkVgT_z.js +0 -1
  90. package/dist/web/assets/chunk-H3VCZNTA-Cx5XV_aC.js +0 -13
  91. package/dist/web/assets/chunk-HN6EAY2L-BBnyTNdB.js +0 -1
  92. package/dist/web/assets/chunk-PK6DOVAG-CvsEnugt.js +0 -206
  93. package/dist/web/assets/classDiagram-PPOCWD7C-DTr8QIOf.js +0 -1
  94. package/dist/web/assets/classDiagram-v2-23LJLIIU-DTr8QIOf.js +0 -1
  95. package/dist/web/assets/dagre-E77IOHMT-Dzx0A6ZU.js +0 -4
  96. package/dist/web/assets/diagram-H7BISOXX-CC9pRew1.js +0 -43
  97. package/dist/web/assets/diagram-JC5VWROH-Bau_i9tf.js +0 -24
  98. package/dist/web/assets/diagram-LXUTUG65-D9_FM2Gt.js +0 -10
  99. package/dist/web/assets/diagram-WEHSV5V5-BMlayouL.js +0 -24
  100. package/dist/web/assets/ganttDiagram-MUNLMDZQ-D3a67Yol.js +0 -292
  101. package/dist/web/assets/gitGraphDiagram-3HKGZ4G3-7jmry-vM.js +0 -106
  102. package/dist/web/assets/index-BgeqpYgd.js +0 -1415
  103. package/dist/web/assets/index-CT0GtFLZ.css +0 -1
  104. package/dist/web/assets/infoDiagram-MN7RKWGX-G7lhP0Ib.js +0 -2
  105. package/dist/web/assets/mindmap-definition-2EUWGEK5-Bk0O4roa.js +0 -96
  106. package/dist/web/assets/pieDiagram-3IATQBI2-DKU7kpgS.js +0 -30
  107. package/dist/web/assets/quadrantDiagram-E256RVCF-BY0TGWCS.js +0 -7
  108. package/dist/web/assets/sankeyDiagram-L3NBLAOT-DVMj5rX2.js +0 -10
  109. package/dist/web/assets/sequenceDiagram-ZOUHS735-CJC73bV-.js +0 -157
  110. package/dist/web/assets/stateDiagram-MLPALWAM-BCFyESls.js +0 -1
  111. package/dist/web/assets/stateDiagram-v2-B5LQ5ZB2-DahzzIca.js +0 -1
  112. package/dist/web/assets/wardley-RL74JXVD-BCRCBASE-B-eZEzf9.js +0 -161
  113. package/dist/web/assets/wardleyDiagram-XU3VSMPF-BP-r1xzR.js +0 -20
@@ -1,161 +0,0 @@
1
- var SR=Object.defineProperty;var bR=(r,e,t)=>e in r?SR(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t;var Ar=(r,e,t)=>bR(r,typeof e!="symbol"?e+"":e,t);import{m as s,r as xp,aV as St,by as ge,aW as Xh,a6 as X,bL as Np,bM as xR,v as Or,aX as NR,bx as qn,bN as Ku,bO as ir}from"./index-BgeqpYgd.js";import{o as Tt,_ as Je,Z as K,k as tl,J as U,p as Ke,R as it,D as On,q as Ut,f as V,A as pl,Q as bt,X as je,r as ju,u as vt,z as gt,N as wp,U as Mt,v as Gt,e as Rt,s as ur,y as wR,w as IR,M as Xe,x as Vu,B as lt,C as cr,V as PR,E as rl,K as zs,F as Ip,G as Im,H as Yh}from"./chunk-H3VCZNTA-Cx5XV_aC.js";var Bu={};Or(Bu,{AnnotatedTextEdit:()=>ar,ChangeAnnotation:()=>Wr,ChangeAnnotationIdentifier:()=>Be,CodeAction:()=>kd,CodeActionContext:()=>Ad,CodeActionKind:()=>Cd,CodeActionTriggerKind:()=>Mo,CodeDescription:()=>td,CodeLens:()=>Sd,Color:()=>Gl,ColorInformation:()=>Xc,ColorPresentation:()=>Yc,Command:()=>zr,CompletionItem:()=>dd,CompletionItemKind:()=>ad,CompletionItemLabelDetails:()=>cd,CompletionItemTag:()=>od,CompletionList:()=>pd,CreateFile:()=>ai,DeleteFile:()=>oi,Diagnostic:()=>Lo,DiagnosticRelatedInformation:()=>zl,DiagnosticSeverity:()=>Zc,DiagnosticTag:()=>ed,DocumentHighlight:()=>yd,DocumentHighlightKind:()=>gd,DocumentLink:()=>xd,DocumentSymbol:()=>Ed,DocumentUri:()=>Vc,EOL:()=>Lm,FoldingRange:()=>Qc,FoldingRangeKind:()=>Jc,FormattingOptions:()=>bd,Hover:()=>fd,InlayHint:()=>Md,InlayHintKind:()=>jl,InlayHintLabelPart:()=>Vl,InlineCompletionContext:()=>Wd,InlineCompletionItem:()=>qd,InlineCompletionList:()=>Ud,InlineCompletionTriggerKind:()=>Gd,InlineValueContext:()=>_d,InlineValueEvaluatableExpression:()=>Od,InlineValueText:()=>Ld,InlineValueVariableLookup:()=>Dd,InsertReplaceEdit:()=>ld,InsertTextFormat:()=>sd,InsertTextMode:()=>ud,Location:()=>Po,LocationLink:()=>Hc,MarkedString:()=>_o,MarkupContent:()=>li,MarkupKind:()=>Kl,OptionalVersionedTextDocumentIdentifier:()=>Oo,ParameterInformation:()=>hd,Position:()=>ae,Range:()=>te,RenameFile:()=>si,SelectedCompletionInfo:()=>zd,SelectionRange:()=>Nd,SemanticTokenModifiers:()=>Id,SemanticTokenTypes:()=>wd,SemanticTokens:()=>Pd,SignatureInformation:()=>md,StringValue:()=>Fd,SymbolInformation:()=>Rd,SymbolKind:()=>Td,SymbolTag:()=>vd,TextDocument:()=>jd,TextDocumentEdit:()=>Do,TextDocumentIdentifier:()=>rd,TextDocumentItem:()=>id,TextEdit:()=>Ht,URI:()=>Ul,VersionedTextDocumentIdentifier:()=>nd,WorkspaceChange:()=>Pm,WorkspaceEdit:()=>Wl,WorkspaceFolder:()=>Kd,WorkspaceSymbol:()=>$d,integer:()=>Bc,uinteger:()=>Io});var Vc,Ul,Bc,Io,ae,te,Po,Hc,Gl,Xc,Yc,Jc,Qc,zl,Zc,ed,td,Lo,zr,Ht,Wr,Be,ar,Do,ai,si,oi,Wl,Ao,Pc,Pm,rd,nd,Oo,id,Kl,li,ad,sd,od,ld,ud,cd,dd,pd,_o,fd,hd,md,gd,yd,Td,vd,Rd,$d,Ed,Cd,Mo,Ad,kd,Sd,bd,xd,Nd,wd,Id,Pd,Ld,Dd,Od,_d,jl,Vl,Md,Fd,qd,Ud,Gd,zd,Wd,Kd,Lm,jd,Jh,E,fl=xR(()=>{var r,e,t,n;(function(i){function a(o){return typeof o=="string"}s(a,"is"),i.is=a})(Vc||(Vc={})),function(i){function a(o){return typeof o=="string"}s(a,"is"),i.is=a}(Ul||(Ul={})),function(i){i.MIN_VALUE=-2147483648,i.MAX_VALUE=2147483647;function a(o){return typeof o=="number"&&i.MIN_VALUE<=o&&o<=i.MAX_VALUE}s(a,"is"),i.is=a}(Bc||(Bc={})),function(i){i.MIN_VALUE=0,i.MAX_VALUE=2147483647;function a(o){return typeof o=="number"&&i.MIN_VALUE<=o&&o<=i.MAX_VALUE}s(a,"is"),i.is=a}(Io||(Io={})),function(i){function a(u,l){return u===Number.MAX_VALUE&&(u=Io.MAX_VALUE),l===Number.MAX_VALUE&&(l=Io.MAX_VALUE),{line:u,character:l}}s(a,"create"),i.create=a;function o(u){let l=u;return E.objectLiteral(l)&&E.uinteger(l.line)&&E.uinteger(l.character)}s(o,"is"),i.is=o}(ae||(ae={})),function(i){function a(u,l,c,d){if(E.uinteger(u)&&E.uinteger(l)&&E.uinteger(c)&&E.uinteger(d))return{start:ae.create(u,l),end:ae.create(c,d)};if(ae.is(u)&&ae.is(l))return{start:u,end:l};throw new Error(`Range#create called with invalid arguments[${u}, ${l}, ${c}, ${d}]`)}s(a,"create"),i.create=a;function o(u){let l=u;return E.objectLiteral(l)&&ae.is(l.start)&&ae.is(l.end)}s(o,"is"),i.is=o}(te||(te={})),function(i){function a(u,l){return{uri:u,range:l}}s(a,"create"),i.create=a;function o(u){let l=u;return E.objectLiteral(l)&&te.is(l.range)&&(E.string(l.uri)||E.undefined(l.uri))}s(o,"is"),i.is=o}(Po||(Po={})),function(i){function a(u,l,c,d){return{targetUri:u,targetRange:l,targetSelectionRange:c,originSelectionRange:d}}s(a,"create"),i.create=a;function o(u){let l=u;return E.objectLiteral(l)&&te.is(l.targetRange)&&E.string(l.targetUri)&&te.is(l.targetSelectionRange)&&(te.is(l.originSelectionRange)||E.undefined(l.originSelectionRange))}s(o,"is"),i.is=o}(Hc||(Hc={})),function(i){function a(u,l,c,d){return{red:u,green:l,blue:c,alpha:d}}s(a,"create"),i.create=a;function o(u){let l=u;return E.objectLiteral(l)&&E.numberRange(l.red,0,1)&&E.numberRange(l.green,0,1)&&E.numberRange(l.blue,0,1)&&E.numberRange(l.alpha,0,1)}s(o,"is"),i.is=o}(Gl||(Gl={})),function(i){function a(u,l){return{range:u,color:l}}s(a,"create"),i.create=a;function o(u){let l=u;return E.objectLiteral(l)&&te.is(l.range)&&Gl.is(l.color)}s(o,"is"),i.is=o}(Xc||(Xc={})),function(i){function a(u,l,c){return{label:u,textEdit:l,additionalTextEdits:c}}s(a,"create"),i.create=a;function o(u){let l=u;return E.objectLiteral(l)&&E.string(l.label)&&(E.undefined(l.textEdit)||Ht.is(l))&&(E.undefined(l.additionalTextEdits)||E.typedArray(l.additionalTextEdits,Ht.is))}s(o,"is"),i.is=o}(Yc||(Yc={})),function(i){i.Comment="comment",i.Imports="imports",i.Region="region"}(Jc||(Jc={})),function(i){function a(u,l,c,d,p,f){let g={startLine:u,endLine:l};return E.defined(c)&&(g.startCharacter=c),E.defined(d)&&(g.endCharacter=d),E.defined(p)&&(g.kind=p),E.defined(f)&&(g.collapsedText=f),g}s(a,"create"),i.create=a;function o(u){let l=u;return E.objectLiteral(l)&&E.uinteger(l.startLine)&&E.uinteger(l.startLine)&&(E.undefined(l.startCharacter)||E.uinteger(l.startCharacter))&&(E.undefined(l.endCharacter)||E.uinteger(l.endCharacter))&&(E.undefined(l.kind)||E.string(l.kind))}s(o,"is"),i.is=o}(Qc||(Qc={})),function(i){function a(u,l){return{location:u,message:l}}s(a,"create"),i.create=a;function o(u){let l=u;return E.defined(l)&&Po.is(l.location)&&E.string(l.message)}s(o,"is"),i.is=o}(zl||(zl={})),function(i){i.Error=1,i.Warning=2,i.Information=3,i.Hint=4}(Zc||(Zc={})),function(i){i.Unnecessary=1,i.Deprecated=2}(ed||(ed={})),function(i){function a(o){let u=o;return E.objectLiteral(u)&&E.string(u.href)}s(a,"is"),i.is=a}(td||(td={})),function(i){function a(u,l,c,d,p,f){let g={range:u,message:l};return E.defined(c)&&(g.severity=c),E.defined(d)&&(g.code=d),E.defined(p)&&(g.source=p),E.defined(f)&&(g.relatedInformation=f),g}s(a,"create"),i.create=a;function o(u){var l;let c=u;return E.defined(c)&&te.is(c.range)&&E.string(c.message)&&(E.number(c.severity)||E.undefined(c.severity))&&(E.integer(c.code)||E.string(c.code)||E.undefined(c.code))&&(E.undefined(c.codeDescription)||E.string((l=c.codeDescription)===null||l===void 0?void 0:l.href))&&(E.string(c.source)||E.undefined(c.source))&&(E.undefined(c.relatedInformation)||E.typedArray(c.relatedInformation,zl.is))}s(o,"is"),i.is=o}(Lo||(Lo={})),function(i){function a(u,l,...c){let d={title:u,command:l};return E.defined(c)&&c.length>0&&(d.arguments=c),d}s(a,"create"),i.create=a;function o(u){let l=u;return E.defined(l)&&E.string(l.title)&&E.string(l.command)}s(o,"is"),i.is=o}(zr||(zr={})),function(i){function a(c,d){return{range:c,newText:d}}s(a,"replace"),i.replace=a;function o(c,d){return{range:{start:c,end:c},newText:d}}s(o,"insert"),i.insert=o;function u(c){return{range:c,newText:""}}s(u,"del"),i.del=u;function l(c){let d=c;return E.objectLiteral(d)&&E.string(d.newText)&&te.is(d.range)}s(l,"is"),i.is=l}(Ht||(Ht={})),function(i){function a(u,l,c){let d={label:u};return l!==void 0&&(d.needsConfirmation=l),c!==void 0&&(d.description=c),d}s(a,"create"),i.create=a;function o(u){let l=u;return E.objectLiteral(l)&&E.string(l.label)&&(E.boolean(l.needsConfirmation)||l.needsConfirmation===void 0)&&(E.string(l.description)||l.description===void 0)}s(o,"is"),i.is=o}(Wr||(Wr={})),function(i){function a(o){let u=o;return E.string(u)}s(a,"is"),i.is=a}(Be||(Be={})),function(i){function a(c,d,p){return{range:c,newText:d,annotationId:p}}s(a,"replace"),i.replace=a;function o(c,d,p){return{range:{start:c,end:c},newText:d,annotationId:p}}s(o,"insert"),i.insert=o;function u(c,d){return{range:c,newText:"",annotationId:d}}s(u,"del"),i.del=u;function l(c){let d=c;return Ht.is(d)&&(Wr.is(d.annotationId)||Be.is(d.annotationId))}s(l,"is"),i.is=l}(ar||(ar={})),function(i){function a(u,l){return{textDocument:u,edits:l}}s(a,"create"),i.create=a;function o(u){let l=u;return E.defined(l)&&Oo.is(l.textDocument)&&Array.isArray(l.edits)}s(o,"is"),i.is=o}(Do||(Do={})),function(i){function a(u,l,c){let d={kind:"create",uri:u};return l!==void 0&&(l.overwrite!==void 0||l.ignoreIfExists!==void 0)&&(d.options=l),c!==void 0&&(d.annotationId=c),d}s(a,"create"),i.create=a;function o(u){let l=u;return l&&l.kind==="create"&&E.string(l.uri)&&(l.options===void 0||(l.options.overwrite===void 0||E.boolean(l.options.overwrite))&&(l.options.ignoreIfExists===void 0||E.boolean(l.options.ignoreIfExists)))&&(l.annotationId===void 0||Be.is(l.annotationId))}s(o,"is"),i.is=o}(ai||(ai={})),function(i){function a(u,l,c,d){let p={kind:"rename",oldUri:u,newUri:l};return c!==void 0&&(c.overwrite!==void 0||c.ignoreIfExists!==void 0)&&(p.options=c),d!==void 0&&(p.annotationId=d),p}s(a,"create"),i.create=a;function o(u){let l=u;return l&&l.kind==="rename"&&E.string(l.oldUri)&&E.string(l.newUri)&&(l.options===void 0||(l.options.overwrite===void 0||E.boolean(l.options.overwrite))&&(l.options.ignoreIfExists===void 0||E.boolean(l.options.ignoreIfExists)))&&(l.annotationId===void 0||Be.is(l.annotationId))}s(o,"is"),i.is=o}(si||(si={})),function(i){function a(u,l,c){let d={kind:"delete",uri:u};return l!==void 0&&(l.recursive!==void 0||l.ignoreIfNotExists!==void 0)&&(d.options=l),c!==void 0&&(d.annotationId=c),d}s(a,"create"),i.create=a;function o(u){let l=u;return l&&l.kind==="delete"&&E.string(l.uri)&&(l.options===void 0||(l.options.recursive===void 0||E.boolean(l.options.recursive))&&(l.options.ignoreIfNotExists===void 0||E.boolean(l.options.ignoreIfNotExists)))&&(l.annotationId===void 0||Be.is(l.annotationId))}s(o,"is"),i.is=o}(oi||(oi={})),function(i){function a(o){let u=o;return u&&(u.changes!==void 0||u.documentChanges!==void 0)&&(u.documentChanges===void 0||u.documentChanges.every(l=>E.string(l.kind)?ai.is(l)||si.is(l)||oi.is(l):Do.is(l)))}s(a,"is"),i.is=a}(Wl||(Wl={})),Ao=(r=class{constructor(a,o){this.edits=a,this.changeAnnotations=o}insert(a,o,u){let l,c;if(u===void 0?l=Ht.insert(a,o):Be.is(u)?(c=u,l=ar.insert(a,o,u)):(this.assertChangeAnnotations(this.changeAnnotations),c=this.changeAnnotations.manage(u),l=ar.insert(a,o,c)),this.edits.push(l),c!==void 0)return c}replace(a,o,u){let l,c;if(u===void 0?l=Ht.replace(a,o):Be.is(u)?(c=u,l=ar.replace(a,o,u)):(this.assertChangeAnnotations(this.changeAnnotations),c=this.changeAnnotations.manage(u),l=ar.replace(a,o,c)),this.edits.push(l),c!==void 0)return c}delete(a,o){let u,l;if(o===void 0?u=Ht.del(a):Be.is(o)?(l=o,u=ar.del(a,o)):(this.assertChangeAnnotations(this.changeAnnotations),l=this.changeAnnotations.manage(o),u=ar.del(a,l)),this.edits.push(u),l!==void 0)return l}add(a){this.edits.push(a)}all(){return this.edits}clear(){this.edits.splice(0,this.edits.length)}assertChangeAnnotations(a){if(a===void 0)throw new Error("Text edit change is not configured to manage change annotations.")}},s(r,"TextEditChangeImpl"),r),Pc=(e=class{constructor(a){this._annotations=a===void 0?Object.create(null):a,this._counter=0,this._size=0}all(){return this._annotations}get size(){return this._size}manage(a,o){let u;if(Be.is(a)?u=a:(u=this.nextId(),o=a),this._annotations[u]!==void 0)throw new Error(`Id ${u} is already in use.`);if(o===void 0)throw new Error(`No annotation provided for id ${u}`);return this._annotations[u]=o,this._size++,u}nextId(){return this._counter++,this._counter.toString()}},s(e,"ChangeAnnotations"),e),Pm=(t=class{constructor(a){this._textEditChanges=Object.create(null),a!==void 0?(this._workspaceEdit=a,a.documentChanges?(this._changeAnnotations=new Pc(a.changeAnnotations),a.changeAnnotations=this._changeAnnotations.all(),a.documentChanges.forEach(o=>{if(Do.is(o)){let u=new Ao(o.edits,this._changeAnnotations);this._textEditChanges[o.textDocument.uri]=u}})):a.changes&&Object.keys(a.changes).forEach(o=>{let u=new Ao(a.changes[o]);this._textEditChanges[o]=u})):this._workspaceEdit={}}get edit(){return this.initDocumentChanges(),this._changeAnnotations!==void 0&&(this._changeAnnotations.size===0?this._workspaceEdit.changeAnnotations=void 0:this._workspaceEdit.changeAnnotations=this._changeAnnotations.all()),this._workspaceEdit}getTextEditChange(a){if(Oo.is(a)){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let o={uri:a.uri,version:a.version},u=this._textEditChanges[o.uri];if(!u){let l=[],c={textDocument:o,edits:l};this._workspaceEdit.documentChanges.push(c),u=new Ao(l,this._changeAnnotations),this._textEditChanges[o.uri]=u}return u}else{if(this.initChanges(),this._workspaceEdit.changes===void 0)throw new Error("Workspace edit is not configured for normal text edit changes.");let o=this._textEditChanges[a];if(!o){let u=[];this._workspaceEdit.changes[a]=u,o=new Ao(u),this._textEditChanges[a]=o}return o}}initDocumentChanges(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._changeAnnotations=new Pc,this._workspaceEdit.documentChanges=[],this._workspaceEdit.changeAnnotations=this._changeAnnotations.all())}initChanges(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._workspaceEdit.changes=Object.create(null))}createFile(a,o,u){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let l;Wr.is(o)||Be.is(o)?l=o:u=o;let c,d;if(l===void 0?c=ai.create(a,u):(d=Be.is(l)?l:this._changeAnnotations.manage(l),c=ai.create(a,u,d)),this._workspaceEdit.documentChanges.push(c),d!==void 0)return d}renameFile(a,o,u,l){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let c;Wr.is(u)||Be.is(u)?c=u:l=u;let d,p;if(c===void 0?d=si.create(a,o,l):(p=Be.is(c)?c:this._changeAnnotations.manage(c),d=si.create(a,o,l,p)),this._workspaceEdit.documentChanges.push(d),p!==void 0)return p}deleteFile(a,o,u){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let l;Wr.is(o)||Be.is(o)?l=o:u=o;let c,d;if(l===void 0?c=oi.create(a,u):(d=Be.is(l)?l:this._changeAnnotations.manage(l),c=oi.create(a,u,d)),this._workspaceEdit.documentChanges.push(c),d!==void 0)return d}},s(t,"WorkspaceChange"),t),function(i){function a(u){return{uri:u}}s(a,"create"),i.create=a;function o(u){let l=u;return E.defined(l)&&E.string(l.uri)}s(o,"is"),i.is=o}(rd||(rd={})),function(i){function a(u,l){return{uri:u,version:l}}s(a,"create"),i.create=a;function o(u){let l=u;return E.defined(l)&&E.string(l.uri)&&E.integer(l.version)}s(o,"is"),i.is=o}(nd||(nd={})),function(i){function a(u,l){return{uri:u,version:l}}s(a,"create"),i.create=a;function o(u){let l=u;return E.defined(l)&&E.string(l.uri)&&(l.version===null||E.integer(l.version))}s(o,"is"),i.is=o}(Oo||(Oo={})),function(i){function a(u,l,c,d){return{uri:u,languageId:l,version:c,text:d}}s(a,"create"),i.create=a;function o(u){let l=u;return E.defined(l)&&E.string(l.uri)&&E.string(l.languageId)&&E.integer(l.version)&&E.string(l.text)}s(o,"is"),i.is=o}(id||(id={})),function(i){i.PlainText="plaintext",i.Markdown="markdown";function a(o){let u=o;return u===i.PlainText||u===i.Markdown}s(a,"is"),i.is=a}(Kl||(Kl={})),function(i){function a(o){let u=o;return E.objectLiteral(o)&&Kl.is(u.kind)&&E.string(u.value)}s(a,"is"),i.is=a}(li||(li={})),function(i){i.Text=1,i.Method=2,i.Function=3,i.Constructor=4,i.Field=5,i.Variable=6,i.Class=7,i.Interface=8,i.Module=9,i.Property=10,i.Unit=11,i.Value=12,i.Enum=13,i.Keyword=14,i.Snippet=15,i.Color=16,i.File=17,i.Reference=18,i.Folder=19,i.EnumMember=20,i.Constant=21,i.Struct=22,i.Event=23,i.Operator=24,i.TypeParameter=25}(ad||(ad={})),function(i){i.PlainText=1,i.Snippet=2}(sd||(sd={})),function(i){i.Deprecated=1}(od||(od={})),function(i){function a(u,l,c){return{newText:u,insert:l,replace:c}}s(a,"create"),i.create=a;function o(u){let l=u;return l&&E.string(l.newText)&&te.is(l.insert)&&te.is(l.replace)}s(o,"is"),i.is=o}(ld||(ld={})),function(i){i.asIs=1,i.adjustIndentation=2}(ud||(ud={})),function(i){function a(o){let u=o;return u&&(E.string(u.detail)||u.detail===void 0)&&(E.string(u.description)||u.description===void 0)}s(a,"is"),i.is=a}(cd||(cd={})),function(i){function a(o){return{label:o}}s(a,"create"),i.create=a}(dd||(dd={})),function(i){function a(o,u){return{items:o||[],isIncomplete:!!u}}s(a,"create"),i.create=a}(pd||(pd={})),function(i){function a(u){return u.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}s(a,"fromPlainText"),i.fromPlainText=a;function o(u){let l=u;return E.string(l)||E.objectLiteral(l)&&E.string(l.language)&&E.string(l.value)}s(o,"is"),i.is=o}(_o||(_o={})),function(i){function a(o){let u=o;return!!u&&E.objectLiteral(u)&&(li.is(u.contents)||_o.is(u.contents)||E.typedArray(u.contents,_o.is))&&(o.range===void 0||te.is(o.range))}s(a,"is"),i.is=a}(fd||(fd={})),function(i){function a(o,u){return u?{label:o,documentation:u}:{label:o}}s(a,"create"),i.create=a}(hd||(hd={})),function(i){function a(o,u,...l){let c={label:o};return E.defined(u)&&(c.documentation=u),E.defined(l)?c.parameters=l:c.parameters=[],c}s(a,"create"),i.create=a}(md||(md={})),function(i){i.Text=1,i.Read=2,i.Write=3}(gd||(gd={})),function(i){function a(o,u){let l={range:o};return E.number(u)&&(l.kind=u),l}s(a,"create"),i.create=a}(yd||(yd={})),function(i){i.File=1,i.Module=2,i.Namespace=3,i.Package=4,i.Class=5,i.Method=6,i.Property=7,i.Field=8,i.Constructor=9,i.Enum=10,i.Interface=11,i.Function=12,i.Variable=13,i.Constant=14,i.String=15,i.Number=16,i.Boolean=17,i.Array=18,i.Object=19,i.Key=20,i.Null=21,i.EnumMember=22,i.Struct=23,i.Event=24,i.Operator=25,i.TypeParameter=26}(Td||(Td={})),function(i){i.Deprecated=1}(vd||(vd={})),function(i){function a(o,u,l,c,d){let p={name:o,kind:u,location:{uri:c,range:l}};return d&&(p.containerName=d),p}s(a,"create"),i.create=a}(Rd||(Rd={})),function(i){function a(o,u,l,c){return c!==void 0?{name:o,kind:u,location:{uri:l,range:c}}:{name:o,kind:u,location:{uri:l}}}s(a,"create"),i.create=a}($d||($d={})),function(i){function a(u,l,c,d,p,f){let g={name:u,detail:l,kind:c,range:d,selectionRange:p};return f!==void 0&&(g.children=f),g}s(a,"create"),i.create=a;function o(u){let l=u;return l&&E.string(l.name)&&E.number(l.kind)&&te.is(l.range)&&te.is(l.selectionRange)&&(l.detail===void 0||E.string(l.detail))&&(l.deprecated===void 0||E.boolean(l.deprecated))&&(l.children===void 0||Array.isArray(l.children))&&(l.tags===void 0||Array.isArray(l.tags))}s(o,"is"),i.is=o}(Ed||(Ed={})),function(i){i.Empty="",i.QuickFix="quickfix",i.Refactor="refactor",i.RefactorExtract="refactor.extract",i.RefactorInline="refactor.inline",i.RefactorRewrite="refactor.rewrite",i.Source="source",i.SourceOrganizeImports="source.organizeImports",i.SourceFixAll="source.fixAll"}(Cd||(Cd={})),function(i){i.Invoked=1,i.Automatic=2}(Mo||(Mo={})),function(i){function a(u,l,c){let d={diagnostics:u};return l!=null&&(d.only=l),c!=null&&(d.triggerKind=c),d}s(a,"create"),i.create=a;function o(u){let l=u;return E.defined(l)&&E.typedArray(l.diagnostics,Lo.is)&&(l.only===void 0||E.typedArray(l.only,E.string))&&(l.triggerKind===void 0||l.triggerKind===Mo.Invoked||l.triggerKind===Mo.Automatic)}s(o,"is"),i.is=o}(Ad||(Ad={})),function(i){function a(u,l,c){let d={title:u},p=!0;return typeof l=="string"?(p=!1,d.kind=l):zr.is(l)?d.command=l:d.edit=l,p&&c!==void 0&&(d.kind=c),d}s(a,"create"),i.create=a;function o(u){let l=u;return l&&E.string(l.title)&&(l.diagnostics===void 0||E.typedArray(l.diagnostics,Lo.is))&&(l.kind===void 0||E.string(l.kind))&&(l.edit!==void 0||l.command!==void 0)&&(l.command===void 0||zr.is(l.command))&&(l.isPreferred===void 0||E.boolean(l.isPreferred))&&(l.edit===void 0||Wl.is(l.edit))}s(o,"is"),i.is=o}(kd||(kd={})),function(i){function a(u,l){let c={range:u};return E.defined(l)&&(c.data=l),c}s(a,"create"),i.create=a;function o(u){let l=u;return E.defined(l)&&te.is(l.range)&&(E.undefined(l.command)||zr.is(l.command))}s(o,"is"),i.is=o}(Sd||(Sd={})),function(i){function a(u,l){return{tabSize:u,insertSpaces:l}}s(a,"create"),i.create=a;function o(u){let l=u;return E.defined(l)&&E.uinteger(l.tabSize)&&E.boolean(l.insertSpaces)}s(o,"is"),i.is=o}(bd||(bd={})),function(i){function a(u,l,c){return{range:u,target:l,data:c}}s(a,"create"),i.create=a;function o(u){let l=u;return E.defined(l)&&te.is(l.range)&&(E.undefined(l.target)||E.string(l.target))}s(o,"is"),i.is=o}(xd||(xd={})),function(i){function a(u,l){return{range:u,parent:l}}s(a,"create"),i.create=a;function o(u){let l=u;return E.objectLiteral(l)&&te.is(l.range)&&(l.parent===void 0||i.is(l.parent))}s(o,"is"),i.is=o}(Nd||(Nd={})),function(i){i.namespace="namespace",i.type="type",i.class="class",i.enum="enum",i.interface="interface",i.struct="struct",i.typeParameter="typeParameter",i.parameter="parameter",i.variable="variable",i.property="property",i.enumMember="enumMember",i.event="event",i.function="function",i.method="method",i.macro="macro",i.keyword="keyword",i.modifier="modifier",i.comment="comment",i.string="string",i.number="number",i.regexp="regexp",i.operator="operator",i.decorator="decorator"}(wd||(wd={})),function(i){i.declaration="declaration",i.definition="definition",i.readonly="readonly",i.static="static",i.deprecated="deprecated",i.abstract="abstract",i.async="async",i.modification="modification",i.documentation="documentation",i.defaultLibrary="defaultLibrary"}(Id||(Id={})),function(i){function a(o){let u=o;return E.objectLiteral(u)&&(u.resultId===void 0||typeof u.resultId=="string")&&Array.isArray(u.data)&&(u.data.length===0||typeof u.data[0]=="number")}s(a,"is"),i.is=a}(Pd||(Pd={})),function(i){function a(u,l){return{range:u,text:l}}s(a,"create"),i.create=a;function o(u){let l=u;return l!=null&&te.is(l.range)&&E.string(l.text)}s(o,"is"),i.is=o}(Ld||(Ld={})),function(i){function a(u,l,c){return{range:u,variableName:l,caseSensitiveLookup:c}}s(a,"create"),i.create=a;function o(u){let l=u;return l!=null&&te.is(l.range)&&E.boolean(l.caseSensitiveLookup)&&(E.string(l.variableName)||l.variableName===void 0)}s(o,"is"),i.is=o}(Dd||(Dd={})),function(i){function a(u,l){return{range:u,expression:l}}s(a,"create"),i.create=a;function o(u){let l=u;return l!=null&&te.is(l.range)&&(E.string(l.expression)||l.expression===void 0)}s(o,"is"),i.is=o}(Od||(Od={})),function(i){function a(u,l){return{frameId:u,stoppedLocation:l}}s(a,"create"),i.create=a;function o(u){let l=u;return E.defined(l)&&te.is(u.stoppedLocation)}s(o,"is"),i.is=o}(_d||(_d={})),function(i){i.Type=1,i.Parameter=2;function a(o){return o===1||o===2}s(a,"is"),i.is=a}(jl||(jl={})),function(i){function a(u){return{value:u}}s(a,"create"),i.create=a;function o(u){let l=u;return E.objectLiteral(l)&&(l.tooltip===void 0||E.string(l.tooltip)||li.is(l.tooltip))&&(l.location===void 0||Po.is(l.location))&&(l.command===void 0||zr.is(l.command))}s(o,"is"),i.is=o}(Vl||(Vl={})),function(i){function a(u,l,c){let d={position:u,label:l};return c!==void 0&&(d.kind=c),d}s(a,"create"),i.create=a;function o(u){let l=u;return E.objectLiteral(l)&&ae.is(l.position)&&(E.string(l.label)||E.typedArray(l.label,Vl.is))&&(l.kind===void 0||jl.is(l.kind))&&l.textEdits===void 0||E.typedArray(l.textEdits,Ht.is)&&(l.tooltip===void 0||E.string(l.tooltip)||li.is(l.tooltip))&&(l.paddingLeft===void 0||E.boolean(l.paddingLeft))&&(l.paddingRight===void 0||E.boolean(l.paddingRight))}s(o,"is"),i.is=o}(Md||(Md={})),function(i){function a(o){return{kind:"snippet",value:o}}s(a,"createSnippet"),i.createSnippet=a}(Fd||(Fd={})),function(i){function a(o,u,l,c){return{insertText:o,filterText:u,range:l,command:c}}s(a,"create"),i.create=a}(qd||(qd={})),function(i){function a(o){return{items:o}}s(a,"create"),i.create=a}(Ud||(Ud={})),function(i){i.Invoked=0,i.Automatic=1}(Gd||(Gd={})),function(i){function a(o,u){return{range:o,text:u}}s(a,"create"),i.create=a}(zd||(zd={})),function(i){function a(o,u){return{triggerKind:o,selectedCompletionInfo:u}}s(a,"create"),i.create=a}(Wd||(Wd={})),function(i){function a(o){let u=o;return E.objectLiteral(u)&&Ul.is(u.uri)&&E.string(u.name)}s(a,"is"),i.is=a}(Kd||(Kd={})),Lm=[`
2
- `,`\r
3
- `,"\r"],function(i){function a(c,d,p,f){return new Jh(c,d,p,f)}s(a,"create"),i.create=a;function o(c){let d=c;return!!(E.defined(d)&&E.string(d.uri)&&(E.undefined(d.languageId)||E.string(d.languageId))&&E.uinteger(d.lineCount)&&E.func(d.getText)&&E.func(d.positionAt)&&E.func(d.offsetAt))}s(o,"is"),i.is=o;function u(c,d){let p=c.getText(),f=l(d,(m,$)=>{let x=m.range.start.line-$.range.start.line;return x===0?m.range.start.character-$.range.start.character:x}),g=p.length;for(let m=f.length-1;m>=0;m--){let $=f[m],x=c.offsetAt($.range.start),A=c.offsetAt($.range.end);if(A<=g)p=p.substring(0,x)+$.newText+p.substring(A,p.length);else throw new Error("Overlapping edit");g=x}return p}s(u,"applyEdits"),i.applyEdits=u;function l(c,d){if(c.length<=1)return c;let p=c.length/2|0,f=c.slice(0,p),g=c.slice(p);l(f,d),l(g,d);let m=0,$=0,x=0;for(;m<f.length&&$<g.length;)d(f[m],g[$])<=0?c[x++]=f[m++]:c[x++]=g[$++];for(;m<f.length;)c[x++]=f[m++];for(;$<g.length;)c[x++]=g[$++];return c}s(l,"mergeSort")}(jd||(jd={})),Jh=(n=class{constructor(a,o,u,l){this._uri=a,this._languageId=o,this._version=u,this._content=l,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(a){if(a){let o=this.offsetAt(a.start),u=this.offsetAt(a.end);return this._content.substring(o,u)}return this._content}update(a,o){this._content=a.text,this._version=o,this._lineOffsets=void 0}getLineOffsets(){if(this._lineOffsets===void 0){let a=[],o=this._content,u=!0;for(let l=0;l<o.length;l++){u&&(a.push(l),u=!1);let c=o.charAt(l);u=c==="\r"||c===`
4
- `,c==="\r"&&l+1<o.length&&o.charAt(l+1)===`
5
- `&&l++}u&&o.length>0&&a.push(o.length),this._lineOffsets=a}return this._lineOffsets}positionAt(a){a=Math.max(Math.min(a,this._content.length),0);let o=this.getLineOffsets(),u=0,l=o.length;if(l===0)return ae.create(0,a);for(;u<l;){let d=Math.floor((u+l)/2);o[d]>a?l=d:u=d+1}let c=u-1;return ae.create(c,a-o[c])}offsetAt(a){let o=this.getLineOffsets();if(a.line>=o.length)return this._content.length;if(a.line<0)return 0;let u=o[a.line],l=a.line+1<o.length?o[a.line+1]:this._content.length;return Math.max(Math.min(u+a.character,l),u)}get lineCount(){return this.getLineOffsets().length}},s(n,"FullTextDocument"),n),function(i){let a=Object.prototype.toString;function o(A){return typeof A<"u"}s(o,"defined"),i.defined=o;function u(A){return typeof A>"u"}s(u,"undefined"),i.undefined=u;function l(A){return A===!0||A===!1}s(l,"boolean"),i.boolean=l;function c(A){return a.call(A)==="[object String]"}s(c,"string"),i.string=c;function d(A){return a.call(A)==="[object Number]"}s(d,"number"),i.number=d;function p(A,N,C){return a.call(A)==="[object Number]"&&N<=A&&A<=C}s(p,"numberRange"),i.numberRange=p;function f(A){return a.call(A)==="[object Number]"&&-2147483648<=A&&A<=2147483647}s(f,"integer"),i.integer=f;function g(A){return a.call(A)==="[object Number]"&&0<=A&&A<=2147483647}s(g,"uinteger"),i.uinteger=g;function m(A){return a.call(A)==="[object Function]"}s(m,"func"),i.func=m;function $(A){return A!==null&&typeof A=="object"}s($,"objectLiteral"),i.objectLiteral=$;function x(A,N){return Array.isArray(A)&&A.every(N)}s(x,"typedArray"),i.typedArray=x}(E||(E={}))}),Un=X(r=>{Object.defineProperty(r,"__esModule",{value:!0});var e;function t(){if(e===void 0)throw new Error("No runtime abstraction layer installed");return e}s(t,"RAL"),function(n){function i(a){if(a===void 0)throw new Error("No runtime abstraction layer provided");e=a}s(i,"install"),n.install=i}(t||(t={})),r.default=t}),hl=X(r=>{Object.defineProperty(r,"__esModule",{value:!0}),r.stringArray=r.array=r.func=r.error=r.number=r.string=r.boolean=void 0;function e(l){return l===!0||l===!1}s(e,"boolean"),r.boolean=e;function t(l){return typeof l=="string"||l instanceof String}s(t,"string"),r.string=t;function n(l){return typeof l=="number"||l instanceof Number}s(n,"number"),r.number=n;function i(l){return l instanceof Error}s(i,"error"),r.error=i;function a(l){return typeof l=="function"}s(a,"func"),r.func=a;function o(l){return Array.isArray(l)}s(o,"array"),r.array=o;function u(l){return o(l)&&l.every(c=>t(c))}s(u,"stringArray"),r.stringArray=u}),Js=X(r=>{var a,o;Object.defineProperty(r,"__esModule",{value:!0}),r.Emitter=r.Event=void 0;var e=Un(),t;(function(u){let l={dispose(){}};u.None=function(){return l}})(t||(r.Event=t={}));var n=(a=class{add(l,c=null,d){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(l),this._contexts.push(c),Array.isArray(d)&&d.push({dispose:s(()=>this.remove(l,c),"dispose")})}remove(l,c=null){if(!this._callbacks)return;let d=!1;for(let p=0,f=this._callbacks.length;p<f;p++)if(this._callbacks[p]===l)if(this._contexts[p]===c){this._callbacks.splice(p,1),this._contexts.splice(p,1);return}else d=!0;if(d)throw new Error("When adding a listener with a context, you should remove it with the same context")}invoke(...l){if(!this._callbacks)return[];let c=[],d=this._callbacks.slice(0),p=this._contexts.slice(0);for(let f=0,g=d.length;f<g;f++)try{c.push(d[f].apply(p[f],l))}catch(m){(0,e.default)().console.error(m)}return c}isEmpty(){return!this._callbacks||this._callbacks.length===0}dispose(){this._callbacks=void 0,this._contexts=void 0}},s(a,"CallbackList"),a),i=(o=class{constructor(l){this._options=l}get event(){return this._event||(this._event=(l,c,d)=>{this._callbacks||(this._callbacks=new n),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(l,c);let p={dispose:s(()=>{this._callbacks&&(this._callbacks.remove(l,c),p.dispose=o._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))},"dispose")};return Array.isArray(d)&&d.push(p),p}),this._event}fire(l){this._callbacks&&this._callbacks.invoke.call(this._callbacks,l)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}},s(o,"Emitter"),o);r.Emitter=i,i._noop=function(){}}),Hu=X(r=>{var l,c;Object.defineProperty(r,"__esModule",{value:!0}),r.CancellationTokenSource=r.CancellationToken=void 0;var e=Un(),t=hl(),n=Js(),i;(function(d){d.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:n.Event.None}),d.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:n.Event.None});function p(f){let g=f;return g&&(g===d.None||g===d.Cancelled||t.boolean(g.isCancellationRequested)&&!!g.onCancellationRequested)}s(p,"is"),d.is=p})(i||(r.CancellationToken=i={}));var a=Object.freeze(function(d,p){let f=(0,e.default)().timer.setTimeout(d.bind(p),0);return{dispose(){f.dispose()}}}),o=(l=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||(this._emitter=new n.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}},s(l,"MutableToken"),l),u=(c=class{get token(){return this._token||(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}},s(c,"CancellationTokenSource"),c);r.CancellationTokenSource=u}),Dm=X(r=>{var L,k,T,b,v,R,S,D,M,O,z,q,re,W,ee,de,pe,fe,Te,be,he,Q,Fe,le,We;Object.defineProperty(r,"__esModule",{value:!0}),r.Message=r.NotificationType9=r.NotificationType8=r.NotificationType7=r.NotificationType6=r.NotificationType5=r.NotificationType4=r.NotificationType3=r.NotificationType2=r.NotificationType1=r.NotificationType0=r.NotificationType=r.RequestType9=r.RequestType8=r.RequestType7=r.RequestType6=r.RequestType5=r.RequestType4=r.RequestType3=r.RequestType2=r.RequestType1=r.RequestType=r.RequestType0=r.AbstractMessageSignature=r.ParameterStructures=r.ResponseError=r.ErrorCodes=void 0;var e=hl(),t;(function(ve){ve.ParseError=-32700,ve.InvalidRequest=-32600,ve.MethodNotFound=-32601,ve.InvalidParams=-32602,ve.InternalError=-32603,ve.jsonrpcReservedErrorRangeStart=-32099,ve.serverErrorStart=-32099,ve.MessageWriteError=-32099,ve.MessageReadError=-32098,ve.PendingResponseRejected=-32097,ve.ConnectionInactive=-32096,ve.ServerNotInitialized=-32002,ve.UnknownErrorCode=-32001,ve.jsonrpcReservedErrorRangeEnd=-32e3,ve.serverErrorEnd=-32e3})(t||(r.ErrorCodes=t={}));var n=(L=class extends Error{constructor(F,qe,Wt){super(qe),this.code=e.number(F)?F:t.UnknownErrorCode,this.data=Wt,Object.setPrototypeOf(this,L.prototype)}toJson(){let F={code:this.code,message:this.message};return this.data!==void 0&&(F.data=this.data),F}},s(L,"ResponseError"),L);r.ResponseError=n;var i=(k=class{constructor(F){this.kind=F}static is(F){return F===k.auto||F===k.byName||F===k.byPosition}toString(){return this.kind}},s(k,"ParameterStructures"),k);r.ParameterStructures=i,i.auto=new i("auto"),i.byPosition=new i("byPosition"),i.byName=new i("byName");var a=(T=class{constructor(F,qe){this.method=F,this.numberOfParams=qe}get parameterStructures(){return i.auto}},s(T,"AbstractMessageSignature"),T);r.AbstractMessageSignature=a;var o=(b=class extends a{constructor(F){super(F,0)}},s(b,"RequestType0"),b);r.RequestType0=o;var u=(v=class extends a{constructor(F,qe=i.auto){super(F,1),this._parameterStructures=qe}get parameterStructures(){return this._parameterStructures}},s(v,"RequestType"),v);r.RequestType=u;var l=(R=class extends a{constructor(F,qe=i.auto){super(F,1),this._parameterStructures=qe}get parameterStructures(){return this._parameterStructures}},s(R,"RequestType1"),R);r.RequestType1=l;var c=(S=class extends a{constructor(F){super(F,2)}},s(S,"RequestType2"),S);r.RequestType2=c;var d=(D=class extends a{constructor(F){super(F,3)}},s(D,"RequestType3"),D);r.RequestType3=d;var p=(M=class extends a{constructor(F){super(F,4)}},s(M,"RequestType4"),M);r.RequestType4=p;var f=(O=class extends a{constructor(F){super(F,5)}},s(O,"RequestType5"),O);r.RequestType5=f;var g=(z=class extends a{constructor(F){super(F,6)}},s(z,"RequestType6"),z);r.RequestType6=g;var m=(q=class extends a{constructor(F){super(F,7)}},s(q,"RequestType7"),q);r.RequestType7=m;var $=(re=class extends a{constructor(F){super(F,8)}},s(re,"RequestType8"),re);r.RequestType8=$;var x=(W=class extends a{constructor(F){super(F,9)}},s(W,"RequestType9"),W);r.RequestType9=x;var A=(ee=class extends a{constructor(F,qe=i.auto){super(F,1),this._parameterStructures=qe}get parameterStructures(){return this._parameterStructures}},s(ee,"NotificationType"),ee);r.NotificationType=A;var N=(de=class extends a{constructor(F){super(F,0)}},s(de,"NotificationType0"),de);r.NotificationType0=N;var C=(pe=class extends a{constructor(F,qe=i.auto){super(F,1),this._parameterStructures=qe}get parameterStructures(){return this._parameterStructures}},s(pe,"NotificationType1"),pe);r.NotificationType1=C;var I=(fe=class extends a{constructor(F){super(F,2)}},s(fe,"NotificationType2"),fe);r.NotificationType2=I;var Y=(Te=class extends a{constructor(F){super(F,3)}},s(Te,"NotificationType3"),Te);r.NotificationType3=Y;var ne=(be=class extends a{constructor(F){super(F,4)}},s(be,"NotificationType4"),be);r.NotificationType4=ne;var J=(he=class extends a{constructor(F){super(F,5)}},s(he,"NotificationType5"),he);r.NotificationType5=J;var ye=(Q=class extends a{constructor(F){super(F,6)}},s(Q,"NotificationType6"),Q);r.NotificationType6=ye;var Ce=(Fe=class extends a{constructor(F){super(F,7)}},s(Fe,"NotificationType7"),Fe);r.NotificationType7=Ce;var Se=(le=class extends a{constructor(F){super(F,8)}},s(le,"NotificationType8"),le);r.NotificationType8=Se;var oe=(We=class extends a{constructor(F){super(F,9)}},s(We,"NotificationType9"),We);r.NotificationType9=oe;var Qe;(function(ve){function F(Ct){let Re=Ct;return Re&&e.string(Re.method)&&(e.string(Re.id)||e.number(Re.id))}s(F,"isRequest"),ve.isRequest=F;function qe(Ct){let Re=Ct;return Re&&e.string(Re.method)&&Ct.id===void 0}s(qe,"isNotification"),ve.isNotification=qe;function Wt(Ct){let Re=Ct;return Re&&(Re.result!==void 0||!!Re.error)&&(e.string(Re.id)||e.number(Re.id)||Re.id===null)}s(Wt,"isResponse"),ve.isResponse=Wt})(Qe||(r.Message=Qe={}))}),Om=X(r=>{var a,o;var e;Object.defineProperty(r,"__esModule",{value:!0}),r.LRUCache=r.LinkedMap=r.Touch=void 0;var t;(function(u){u.None=0,u.First=1,u.AsOld=u.First,u.Last=2,u.AsNew=u.Last})(t||(r.Touch=t={}));var n=(a=class{constructor(){this[e]="LinkedMap",this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0,this._state=0}clear(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0,this._state++}isEmpty(){return!this._head&&!this._tail}get size(){return this._size}get first(){var l;return(l=this._head)==null?void 0:l.value}get last(){var l;return(l=this._tail)==null?void 0:l.value}has(l){return this._map.has(l)}get(l,c=t.None){let d=this._map.get(l);if(d)return c!==t.None&&this.touch(d,c),d.value}set(l,c,d=t.None){let p=this._map.get(l);if(p)p.value=c,d!==t.None&&this.touch(p,d);else{switch(p={key:l,value:c,next:void 0,previous:void 0},d){case t.None:this.addItemLast(p);break;case t.First:this.addItemFirst(p);break;case t.Last:this.addItemLast(p);break;default:this.addItemLast(p);break}this._map.set(l,p),this._size++}return this}delete(l){return!!this.remove(l)}remove(l){let c=this._map.get(l);if(c)return this._map.delete(l),this.removeItem(c),this._size--,c.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");let l=this._head;return this._map.delete(l.key),this.removeItem(l),this._size--,l.value}forEach(l,c){let d=this._state,p=this._head;for(;p;){if(c?l.bind(c)(p.value,p.key,this):l(p.value,p.key,this),this._state!==d)throw new Error("LinkedMap got modified during iteration.");p=p.next}}keys(){let l=this._state,c=this._head,d={[Symbol.iterator]:()=>d,next:s(()=>{if(this._state!==l)throw new Error("LinkedMap got modified during iteration.");if(c){let p={value:c.key,done:!1};return c=c.next,p}else return{value:void 0,done:!0}},"next")};return d}values(){let l=this._state,c=this._head,d={[Symbol.iterator]:()=>d,next:s(()=>{if(this._state!==l)throw new Error("LinkedMap got modified during iteration.");if(c){let p={value:c.value,done:!1};return c=c.next,p}else return{value:void 0,done:!0}},"next")};return d}entries(){let l=this._state,c=this._head,d={[Symbol.iterator]:()=>d,next:s(()=>{if(this._state!==l)throw new Error("LinkedMap got modified during iteration.");if(c){let p={value:[c.key,c.value],done:!1};return c=c.next,p}else return{value:void 0,done:!0}},"next")};return d}[(e=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(l){if(l>=this.size)return;if(l===0){this.clear();return}let c=this._head,d=this.size;for(;c&&d>l;)this._map.delete(c.key),c=c.next,d--;this._head=c,this._size=d,c&&(c.previous=void 0),this._state++}addItemFirst(l){if(!this._head&&!this._tail)this._tail=l;else if(this._head)l.next=this._head,this._head.previous=l;else throw new Error("Invalid list");this._head=l,this._state++}addItemLast(l){if(!this._head&&!this._tail)this._head=l;else if(this._tail)l.previous=this._tail,this._tail.next=l;else throw new Error("Invalid list");this._tail=l,this._state++}removeItem(l){if(l===this._head&&l===this._tail)this._head=void 0,this._tail=void 0;else if(l===this._head){if(!l.next)throw new Error("Invalid list");l.next.previous=void 0,this._head=l.next}else if(l===this._tail){if(!l.previous)throw new Error("Invalid list");l.previous.next=void 0,this._tail=l.previous}else{let c=l.next,d=l.previous;if(!c||!d)throw new Error("Invalid list");c.previous=d,d.next=c}l.next=void 0,l.previous=void 0,this._state++}touch(l,c){if(!this._head||!this._tail)throw new Error("Invalid list");if(!(c!==t.First&&c!==t.Last)){if(c===t.First){if(l===this._head)return;let d=l.next,p=l.previous;l===this._tail?(p.next=void 0,this._tail=p):(d.previous=p,p.next=d),l.previous=void 0,l.next=this._head,this._head.previous=l,this._head=l,this._state++}else if(c===t.Last){if(l===this._tail)return;let d=l.next,p=l.previous;l===this._head?(d.previous=void 0,this._head=d):(d.previous=p,p.next=d),l.next=void 0,l.previous=this._tail,this._tail.next=l,this._tail=l,this._state++}}}toJSON(){let l=[];return this.forEach((c,d)=>{l.push([d,c])}),l}fromJSON(l){this.clear();for(let[c,d]of l)this.set(c,d)}},s(a,"LinkedMap"),a);r.LinkedMap=n;var i=(o=class extends n{constructor(l,c=1){super(),this._limit=l,this._ratio=Math.min(Math.max(0,c),1)}get limit(){return this._limit}set limit(l){this._limit=l,this.checkTrim()}get ratio(){return this._ratio}set ratio(l){this._ratio=Math.min(Math.max(0,l),1),this.checkTrim()}get(l,c=t.AsNew){return super.get(l,c)}peek(l){return super.get(l,t.None)}set(l,c){return super.set(l,c,t.Last),this.checkTrim(),this}checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))}},s(o,"LRUCache"),o);r.LRUCache=i}),LR=X(r=>{Object.defineProperty(r,"__esModule",{value:!0}),r.Disposable=void 0;var e;(function(t){function n(i){return{dispose:i}}s(n,"create"),t.create=n})(e||(r.Disposable=e={}))}),DR=X(r=>{var u,l,c,d;Object.defineProperty(r,"__esModule",{value:!0}),r.SharedArrayReceiverStrategy=r.SharedArraySenderStrategy=void 0;var e=Hu(),t;(function(p){p.Continue=0,p.Cancelled=1})(t||(t={}));var n=(u=class{constructor(){this.buffers=new Map}enableCancellation(f){if(f.id===null)return;let g=new SharedArrayBuffer(4),m=new Int32Array(g,0,1);m[0]=t.Continue,this.buffers.set(f.id,g),f.$cancellationData=g}async sendCancellation(f,g){let m=this.buffers.get(g);if(m===void 0)return;let $=new Int32Array(m,0,1);Atomics.store($,0,t.Cancelled)}cleanup(f){this.buffers.delete(f)}dispose(){this.buffers.clear()}},s(u,"SharedArraySenderStrategy"),u);r.SharedArraySenderStrategy=n;var i=(l=class{constructor(f){this.data=new Int32Array(f,0,1)}get isCancellationRequested(){return Atomics.load(this.data,0)===t.Cancelled}get onCancellationRequested(){throw new Error("Cancellation over SharedArrayBuffer doesn't support cancellation events")}},s(l,"SharedArrayBufferCancellationToken"),l),a=(c=class{constructor(f){this.token=new i(f)}cancel(){}dispose(){}},s(c,"SharedArrayBufferCancellationTokenSource"),c),o=(d=class{constructor(){this.kind="request"}createCancellationTokenSource(f){let g=f.$cancellationData;return g===void 0?new e.CancellationTokenSource:new a(g)}},s(d,"SharedArrayReceiverStrategy"),d);r.SharedArrayReceiverStrategy=o}),_m=X(r=>{var n;Object.defineProperty(r,"__esModule",{value:!0}),r.Semaphore=void 0;var e=Un(),t=(n=class{constructor(a=1){if(a<=0)throw new Error("Capacity must be greater than 0");this._capacity=a,this._active=0,this._waiting=[]}lock(a){return new Promise((o,u)=>{this._waiting.push({thunk:a,resolve:o,reject:u}),this.runNext()})}get active(){return this._active}runNext(){this._waiting.length===0||this._active===this._capacity||(0,e.default)().timer.setImmediate(()=>this.doRunNext())}doRunNext(){if(this._waiting.length===0||this._active===this._capacity)return;let a=this._waiting.shift();if(this._active++,this._active>this._capacity)throw new Error("To many thunks active");try{let o=a.thunk();o instanceof Promise?o.then(u=>{this._active--,a.resolve(u),this.runNext()},u=>{this._active--,a.reject(u),this.runNext()}):(this._active--,a.resolve(o),this.runNext())}catch(o){this._active--,a.reject(o),this.runNext()}}},s(n,"Semaphore"),n);r.Semaphore=t}),OR=X(r=>{var c,d;Object.defineProperty(r,"__esModule",{value:!0}),r.ReadableStreamMessageReader=r.AbstractMessageReader=r.MessageReader=void 0;var e=Un(),t=hl(),n=Js(),i=_m(),a;(function(p){function f(g){let m=g;return m&&t.func(m.listen)&&t.func(m.dispose)&&t.func(m.onError)&&t.func(m.onClose)&&t.func(m.onPartialMessage)}s(f,"is"),p.is=f})(a||(r.MessageReader=a={}));var o=(c=class{constructor(){this.errorEmitter=new n.Emitter,this.closeEmitter=new n.Emitter,this.partialMessageEmitter=new n.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(f){this.errorEmitter.fire(this.asError(f))}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}get onPartialMessage(){return this.partialMessageEmitter.event}firePartialMessage(f){this.partialMessageEmitter.fire(f)}asError(f){return f instanceof Error?f:new Error(`Reader received error. Reason: ${t.string(f.message)?f.message:"unknown"}`)}},s(c,"AbstractMessageReader"),c);r.AbstractMessageReader=o;var u;(function(p){function f(g){let m,$,x=new Map,A,N=new Map;if(g===void 0||typeof g=="string")m=g??"utf-8";else{if(m=g.charset??"utf-8",g.contentDecoder!==void 0&&($=g.contentDecoder,x.set($.name,$)),g.contentDecoders!==void 0)for(let C of g.contentDecoders)x.set(C.name,C);if(g.contentTypeDecoder!==void 0&&(A=g.contentTypeDecoder,N.set(A.name,A)),g.contentTypeDecoders!==void 0)for(let C of g.contentTypeDecoders)N.set(C.name,C)}return A===void 0&&(A=(0,e.default)().applicationJson.decoder,N.set(A.name,A)),{charset:m,contentDecoder:$,contentDecoders:x,contentTypeDecoder:A,contentTypeDecoders:N}}s(f,"fromOptions"),p.fromOptions=f})(u||(u={}));var l=(d=class extends o{constructor(f,g){super(),this.readable=f,this.options=u.fromOptions(g),this.buffer=(0,e.default)().messageBuffer.create(this.options.charset),this._partialMessageTimeout=1e4,this.nextMessageLength=-1,this.messageToken=0,this.readSemaphore=new i.Semaphore(1)}set partialMessageTimeout(f){this._partialMessageTimeout=f}get partialMessageTimeout(){return this._partialMessageTimeout}listen(f){this.nextMessageLength=-1,this.messageToken=0,this.partialMessageTimer=void 0,this.callback=f;let g=this.readable.onData(m=>{this.onData(m)});return this.readable.onError(m=>this.fireError(m)),this.readable.onClose(()=>this.fireClose()),g}onData(f){try{for(this.buffer.append(f);;){if(this.nextMessageLength===-1){let m=this.buffer.tryReadHeaders(!0);if(!m)return;let $=m.get("content-length");if(!$){this.fireError(new Error(`Header must provide a Content-Length property.
6
- ${JSON.stringify(Object.fromEntries(m))}`));return}let x=parseInt($);if(isNaN(x)){this.fireError(new Error(`Content-Length value must be a number. Got ${$}`));return}this.nextMessageLength=x}let g=this.buffer.tryReadBody(this.nextMessageLength);if(g===void 0){this.setPartialMessageTimer();return}this.clearPartialMessageTimer(),this.nextMessageLength=-1,this.readSemaphore.lock(async()=>{let m=this.options.contentDecoder!==void 0?await this.options.contentDecoder.decode(g):g,$=await this.options.contentTypeDecoder.decode(m,this.options);this.callback($)}).catch(m=>{this.fireError(m)})}}catch(g){this.fireError(g)}}clearPartialMessageTimer(){this.partialMessageTimer&&(this.partialMessageTimer.dispose(),this.partialMessageTimer=void 0)}setPartialMessageTimer(){this.clearPartialMessageTimer(),!(this._partialMessageTimeout<=0)&&(this.partialMessageTimer=(0,e.default)().timer.setTimeout((f,g)=>{this.partialMessageTimer=void 0,f===this.messageToken&&(this.firePartialMessage({messageToken:f,waitingTime:g}),this.setPartialMessageTimer())},this._partialMessageTimeout,this.messageToken,this._partialMessageTimeout))}},s(d,"ReadableStreamMessageReader"),d);r.ReadableStreamMessageReader=l}),_R=X(r=>{var p,f;Object.defineProperty(r,"__esModule",{value:!0}),r.WriteableStreamMessageWriter=r.AbstractMessageWriter=r.MessageWriter=void 0;var e=Un(),t=hl(),n=_m(),i=Js(),a="Content-Length: ",o=`\r
7
- `,u;(function(g){function m($){let x=$;return x&&t.func(x.dispose)&&t.func(x.onClose)&&t.func(x.onError)&&t.func(x.write)}s(m,"is"),g.is=m})(u||(r.MessageWriter=u={}));var l=(p=class{constructor(){this.errorEmitter=new i.Emitter,this.closeEmitter=new i.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(m,$,x){this.errorEmitter.fire([this.asError(m),$,x])}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}asError(m){return m instanceof Error?m:new Error(`Writer received error. Reason: ${t.string(m.message)?m.message:"unknown"}`)}},s(p,"AbstractMessageWriter"),p);r.AbstractMessageWriter=l;var c;(function(g){function m($){return $===void 0||typeof $=="string"?{charset:$??"utf-8",contentTypeEncoder:(0,e.default)().applicationJson.encoder}:{charset:$.charset??"utf-8",contentEncoder:$.contentEncoder,contentTypeEncoder:$.contentTypeEncoder??(0,e.default)().applicationJson.encoder}}s(m,"fromOptions"),g.fromOptions=m})(c||(c={}));var d=(f=class extends l{constructor(m,$){super(),this.writable=m,this.options=c.fromOptions($),this.errorCount=0,this.writeSemaphore=new n.Semaphore(1),this.writable.onError(x=>this.fireError(x)),this.writable.onClose(()=>this.fireClose())}async write(m){return this.writeSemaphore.lock(async()=>this.options.contentTypeEncoder.encode(m,this.options).then($=>this.options.contentEncoder!==void 0?this.options.contentEncoder.encode($):$).then($=>{let x=[];return x.push(a,$.byteLength.toString(),o),x.push(o),this.doWrite(m,x,$)},$=>{throw this.fireError($),$}))}async doWrite(m,$,x){try{return await this.writable.write($.join(""),"ascii"),this.writable.write(x)}catch(A){return this.handleError(A,m),Promise.reject(A)}}handleError(m,$){this.errorCount++,this.fireError(m,$,this.errorCount)}end(){this.writable.end()}},s(f,"WriteableStreamMessageWriter"),f);r.WriteableStreamMessageWriter=d}),MR=X(r=>{var a;Object.defineProperty(r,"__esModule",{value:!0}),r.AbstractMessageBuffer=void 0;var e=13,t=10,n=`\r
8
- `,i=(a=class{constructor(u="utf-8"){this._encoding=u,this._chunks=[],this._totalLength=0}get encoding(){return this._encoding}append(u){let l=typeof u=="string"?this.fromString(u,this._encoding):u;this._chunks.push(l),this._totalLength+=l.byteLength}tryReadHeaders(u=!1){if(this._chunks.length===0)return;let l=0,c=0,d=0,p=0;e:for(;c<this._chunks.length;){let $=this._chunks[c];for(d=0;d<$.length;){switch($[d]){case e:switch(l){case 0:l=1;break;case 2:l=3;break;default:l=0}break;case t:switch(l){case 1:l=2;break;case 3:l=4,d++;break e;default:l=0}break;default:l=0}d++}p+=$.byteLength,c++}if(l!==4)return;let f=this._read(p+d),g=new Map,m=this.toString(f,"ascii").split(n);if(m.length<2)return g;for(let $=0;$<m.length-2;$++){let x=m[$],A=x.indexOf(":");if(A===-1)throw new Error(`Message header must separate key and value using ':'
9
- ${x}`);let N=x.substr(0,A),C=x.substr(A+1).trim();g.set(u?N.toLowerCase():N,C)}return g}tryReadBody(u){if(!(this._totalLength<u))return this._read(u)}get numberOfBytes(){return this._totalLength}_read(u){if(u===0)return this.emptyBuffer();if(u>this._totalLength)throw new Error("Cannot read so many bytes!");if(this._chunks[0].byteLength===u){let p=this._chunks[0];return this._chunks.shift(),this._totalLength-=u,this.asNative(p)}if(this._chunks[0].byteLength>u){let p=this._chunks[0],f=this.asNative(p,u);return this._chunks[0]=p.slice(u),this._totalLength-=u,f}let l=this.allocNative(u),c=0,d=0;for(;u>0;){let p=this._chunks[d];if(p.byteLength>u){let f=p.slice(0,u);l.set(f,c),c+=u,this._chunks[d]=p.slice(u),this._totalLength-=u,u-=u}else l.set(p,c),c+=p.byteLength,this._chunks.shift(),this._totalLength-=p.byteLength,u-=p.byteLength}return l}},s(a,"AbstractMessageBuffer"),a);r.AbstractMessageBuffer=i}),FR=X(r=>{var L,k;Object.defineProperty(r,"__esModule",{value:!0}),r.createMessageConnection=r.ConnectionOptions=r.MessageStrategy=r.CancellationStrategy=r.CancellationSenderStrategy=r.CancellationReceiverStrategy=r.RequestCancellationReceiverStrategy=r.IdCancellationReceiverStrategy=r.ConnectionStrategy=r.ConnectionError=r.ConnectionErrors=r.LogTraceNotification=r.SetTraceNotification=r.TraceFormat=r.TraceValues=r.Trace=r.NullLogger=r.ProgressType=r.ProgressToken=void 0;var e=Un(),t=hl(),n=Dm(),i=Om(),a=Js(),o=Hu(),u;(function(T){T.type=new n.NotificationType("$/cancelRequest")})(u||(u={}));var l;(function(T){function b(v){return typeof v=="string"||typeof v=="number"}s(b,"is"),T.is=b})(l||(r.ProgressToken=l={}));var c;(function(T){T.type=new n.NotificationType("$/progress")})(c||(c={}));var d=(L=class{constructor(){}},s(L,"ProgressType"),L);r.ProgressType=d;var p;(function(T){function b(v){return t.func(v)}s(b,"is"),T.is=b})(p||(p={})),r.NullLogger=Object.freeze({error:s(()=>{},"error"),warn:s(()=>{},"warn"),info:s(()=>{},"info"),log:s(()=>{},"log")});var f;(function(T){T[T.Off=0]="Off",T[T.Messages=1]="Messages",T[T.Compact=2]="Compact",T[T.Verbose=3]="Verbose"})(f||(r.Trace=f={}));var g;(function(T){T.Off="off",T.Messages="messages",T.Compact="compact",T.Verbose="verbose"})(g||(r.TraceValues=g={})),function(T){function b(R){if(!t.string(R))return T.Off;switch(R=R.toLowerCase(),R){case"off":return T.Off;case"messages":return T.Messages;case"compact":return T.Compact;case"verbose":return T.Verbose;default:return T.Off}}s(b,"fromString"),T.fromString=b;function v(R){switch(R){case T.Off:return"off";case T.Messages:return"messages";case T.Compact:return"compact";case T.Verbose:return"verbose";default:return"off"}}s(v,"toString"),T.toString=v}(f||(r.Trace=f={}));var m;(function(T){T.Text="text",T.JSON="json"})(m||(r.TraceFormat=m={})),function(T){function b(v){return t.string(v)?(v=v.toLowerCase(),v==="json"?T.JSON:T.Text):T.Text}s(b,"fromString"),T.fromString=b}(m||(r.TraceFormat=m={}));var $;(function(T){T.type=new n.NotificationType("$/setTrace")})($||(r.SetTraceNotification=$={}));var x;(function(T){T.type=new n.NotificationType("$/logTrace")})(x||(r.LogTraceNotification=x={}));var A;(function(T){T[T.Closed=1]="Closed",T[T.Disposed=2]="Disposed",T[T.AlreadyListening=3]="AlreadyListening"})(A||(r.ConnectionErrors=A={}));var N=(k=class extends Error{constructor(b,v){super(v),this.code=b,Object.setPrototypeOf(this,k.prototype)}},s(k,"ConnectionError"),k);r.ConnectionError=N;var C;(function(T){function b(v){let R=v;return R&&t.func(R.cancelUndispatched)}s(b,"is"),T.is=b})(C||(r.ConnectionStrategy=C={}));var I;(function(T){function b(v){let R=v;return R&&(R.kind===void 0||R.kind==="id")&&t.func(R.createCancellationTokenSource)&&(R.dispose===void 0||t.func(R.dispose))}s(b,"is"),T.is=b})(I||(r.IdCancellationReceiverStrategy=I={}));var Y;(function(T){function b(v){let R=v;return R&&R.kind==="request"&&t.func(R.createCancellationTokenSource)&&(R.dispose===void 0||t.func(R.dispose))}s(b,"is"),T.is=b})(Y||(r.RequestCancellationReceiverStrategy=Y={}));var ne;(function(T){T.Message=Object.freeze({createCancellationTokenSource(v){return new o.CancellationTokenSource}});function b(v){return I.is(v)||Y.is(v)}s(b,"is"),T.is=b})(ne||(r.CancellationReceiverStrategy=ne={}));var J;(function(T){T.Message=Object.freeze({sendCancellation(v,R){return v.sendNotification(u.type,{id:R})},cleanup(v){}});function b(v){let R=v;return R&&t.func(R.sendCancellation)&&t.func(R.cleanup)}s(b,"is"),T.is=b})(J||(r.CancellationSenderStrategy=J={}));var ye;(function(T){T.Message=Object.freeze({receiver:ne.Message,sender:J.Message});function b(v){let R=v;return R&&ne.is(R.receiver)&&J.is(R.sender)}s(b,"is"),T.is=b})(ye||(r.CancellationStrategy=ye={}));var Ce;(function(T){function b(v){let R=v;return R&&t.func(R.handleMessage)}s(b,"is"),T.is=b})(Ce||(r.MessageStrategy=Ce={}));var Se;(function(T){function b(v){let R=v;return R&&(ye.is(R.cancellationStrategy)||C.is(R.connectionStrategy)||Ce.is(R.messageStrategy))}s(b,"is"),T.is=b})(Se||(r.ConnectionOptions=Se={}));var oe;(function(T){T[T.New=1]="New",T[T.Listening=2]="Listening",T[T.Closed=3]="Closed",T[T.Disposed=4]="Disposed"})(oe||(oe={}));function Qe(T,b,v,R){let S=v!==void 0?v:r.NullLogger,D=0,M=0,O=0,z="2.0",q,re=new Map,W,ee=new Map,de=new Map,pe,fe=new i.LinkedMap,Te=new Map,be=new Set,he=new Map,Q=f.Off,Fe=m.Text,le,We=oe.New,ve=new a.Emitter,F=new a.Emitter,qe=new a.Emitter,Wt=new a.Emitter,Ct=new a.Emitter,Re=R&&R.cancellationStrategy?R.cancellationStrategy:ye.Message;function Xn(y){if(y===null)throw new Error("Can't send requests with id null since the response can't be correlated.");return"req-"+y.toString()}s(Xn,"createRequestQueueKey");function so(y){return y===null?"res-unknown-"+(++O).toString():"res-"+y.toString()}s(so,"createResponseQueueKey");function oo(){return"not-"+(++M).toString()}s(oo,"createNotificationQueueKey");function lo(y,w){n.Message.isRequest(w)?y.set(Xn(w.id),w):n.Message.isResponse(w)?y.set(so(w.id),w):y.set(oo(),w)}s(lo,"addMessageToQueue");function uo(y){}s(uo,"cancelUndispatched");function Yn(){return We===oe.Listening}s(Yn,"isListening");function Jn(){return We===oe.Closed}s(Jn,"isClosed");function Kt(){return We===oe.Disposed}s(Kt,"isDisposed");function Qn(){(We===oe.New||We===oe.Listening)&&(We=oe.Closed,F.fire(void 0))}s(Qn,"closeHandler");function co(y){ve.fire([y,void 0,void 0])}s(co,"readErrorHandler");function po(y){ve.fire(y)}s(po,"writeErrorHandler"),T.onClose(Qn),T.onError(co),b.onClose(Qn),b.onError(po);function Zn(){pe||fe.size===0||(pe=(0,e.default)().timer.setImmediate(()=>{pe=void 0,fo()}))}s(Zn,"triggerMessageQueue");function ei(y){n.Message.isRequest(y)?ho(y):n.Message.isNotification(y)?go(y):n.Message.isResponse(y)?mo(y):yo(y)}s(ei,"handleMessage");function fo(){if(fe.size===0)return;let y=fe.shift();try{let w=R==null?void 0:R.messageStrategy;Ce.is(w)?w.handleMessage(y,ei):ei(y)}finally{Zn()}}s(fo,"processMessageQueue");let kl=s(y=>{try{if(n.Message.isNotification(y)&&y.method===u.type.method){let w=y.params.id,_=Xn(w),G=fe.get(_);if(n.Message.isRequest(G)){let me=R==null?void 0:R.connectionStrategy,$e=me&&me.cancelUndispatched?me.cancelUndispatched(G,uo):void 0;if($e&&($e.error!==void 0||$e.result!==void 0)){fe.delete(_),he.delete(w),$e.id=G.id,Cr($e,y.method,Date.now()),b.write($e).catch(()=>S.error("Sending response for canceled message failed."));return}}let Ae=he.get(w);if(Ae!==void 0){Ae.cancel(),Fr(y);return}else be.add(w)}lo(fe,y)}finally{Zn()}},"callback");function ho(y){if(Kt())return;function w(ie,Ne,ue){let Ge={jsonrpc:z,id:y.id};ie instanceof n.ResponseError?Ge.error=ie.toJson():Ge.result=ie===void 0?null:ie,Cr(Ge,Ne,ue),b.write(Ge).catch(()=>S.error("Sending response failed."))}s(w,"reply");function _(ie,Ne,ue){let Ge={jsonrpc:z,id:y.id,error:ie.toJson()};Cr(Ge,Ne,ue),b.write(Ge).catch(()=>S.error("Sending response failed."))}s(_,"replyError");function G(ie,Ne,ue){ie===void 0&&(ie=null);let Ge={jsonrpc:z,id:y.id,result:ie};Cr(Ge,Ne,ue),b.write(Ge).catch(()=>S.error("Sending response failed."))}s(G,"replySuccess"),Ro(y);let Ae=re.get(y.method),me,$e;Ae&&(me=Ae.type,$e=Ae.handler);let _e=Date.now();if($e||q){let ie=y.id??String(Date.now()),Ne=I.is(Re.receiver)?Re.receiver.createCancellationTokenSource(ie):Re.receiver.createCancellationTokenSource(y);y.id!==null&&be.has(y.id)&&Ne.cancel(),y.id!==null&&he.set(ie,Ne);try{let ue;if($e)if(y.params===void 0){if(me!==void 0&&me.numberOfParams!==0){_(new n.ResponseError(n.ErrorCodes.InvalidParams,`Request ${y.method} defines ${me.numberOfParams} params but received none.`),y.method,_e);return}ue=$e(Ne.token)}else if(Array.isArray(y.params)){if(me!==void 0&&me.parameterStructures===n.ParameterStructures.byName){_(new n.ResponseError(n.ErrorCodes.InvalidParams,`Request ${y.method} defines parameters by name but received parameters by position`),y.method,_e);return}ue=$e(...y.params,Ne.token)}else{if(me!==void 0&&me.parameterStructures===n.ParameterStructures.byPosition){_(new n.ResponseError(n.ErrorCodes.InvalidParams,`Request ${y.method} defines parameters by position but received parameters by name`),y.method,_e);return}ue=$e(y.params,Ne.token)}else q&&(ue=q(y.method,y.params,Ne.token));let Ge=ue;ue?Ge.then?Ge.then(Ze=>{he.delete(ie),w(Ze,y.method,_e)},Ze=>{he.delete(ie),Ze instanceof n.ResponseError?_(Ze,y.method,_e):Ze&&t.string(Ze.message)?_(new n.ResponseError(n.ErrorCodes.InternalError,`Request ${y.method} failed with message: ${Ze.message}`),y.method,_e):_(new n.ResponseError(n.ErrorCodes.InternalError,`Request ${y.method} failed unexpectedly without providing any details.`),y.method,_e)}):(he.delete(ie),w(ue,y.method,_e)):(he.delete(ie),G(ue,y.method,_e))}catch(ue){he.delete(ie),ue instanceof n.ResponseError?w(ue,y.method,_e):ue&&t.string(ue.message)?_(new n.ResponseError(n.ErrorCodes.InternalError,`Request ${y.method} failed with message: ${ue.message}`),y.method,_e):_(new n.ResponseError(n.ErrorCodes.InternalError,`Request ${y.method} failed unexpectedly without providing any details.`),y.method,_e)}}else _(new n.ResponseError(n.ErrorCodes.MethodNotFound,`Unhandled method ${y.method}`),y.method,_e)}s(ho,"handleRequest");function mo(y){if(!Kt())if(y.id===null)y.error?S.error(`Received response message without id: Error is:
10
- ${JSON.stringify(y.error,void 0,4)}`):S.error("Received response message without id. No further error information provided.");else{let w=y.id,_=Te.get(w);if($o(y,_),_!==void 0){Te.delete(w);try{if(y.error){let G=y.error;_.reject(new n.ResponseError(G.code,G.message,G.data))}else if(y.result!==void 0)_.resolve(y.result);else throw new Error("Should never happen.")}catch(G){G.message?S.error(`Response handler '${_.method}' failed with message: ${G.message}`):S.error(`Response handler '${_.method}' failed unexpectedly.`)}}}}s(mo,"handleResponse");function go(y){if(Kt())return;let w,_;if(y.method===u.type.method){let G=y.params.id;be.delete(G),Fr(y);return}else{let G=ee.get(y.method);G&&(_=G.handler,w=G.type)}if(_||W)try{if(Fr(y),_)if(y.params===void 0)w!==void 0&&w.numberOfParams!==0&&w.parameterStructures!==n.ParameterStructures.byName&&S.error(`Notification ${y.method} defines ${w.numberOfParams} params but received none.`),_();else if(Array.isArray(y.params)){let G=y.params;y.method===c.type.method&&G.length===2&&l.is(G[0])?_({token:G[0],value:G[1]}):(w!==void 0&&(w.parameterStructures===n.ParameterStructures.byName&&S.error(`Notification ${y.method} defines parameters by name but received parameters by position`),w.numberOfParams!==y.params.length&&S.error(`Notification ${y.method} defines ${w.numberOfParams} params but received ${G.length} arguments`)),_(...G))}else w!==void 0&&w.parameterStructures===n.ParameterStructures.byPosition&&S.error(`Notification ${y.method} defines parameters by position but received parameters by name`),_(y.params);else W&&W(y.method,y.params)}catch(G){G.message?S.error(`Notification handler '${y.method}' failed with message: ${G.message}`):S.error(`Notification handler '${y.method}' failed unexpectedly.`)}else qe.fire(y)}s(go,"handleNotification");function yo(y){if(!y){S.error("Received empty message.");return}S.error(`Received message which is neither a response nor a notification message:
11
- ${JSON.stringify(y,null,4)}`);let w=y;if(t.string(w.id)||t.number(w.id)){let _=w.id,G=Te.get(_);G&&G.reject(new Error("The received response has neither a result nor an error property."))}}s(yo,"handleInvalidMessage");function At(y){if(y!=null)switch(Q){case f.Verbose:return JSON.stringify(y,null,4);case f.Compact:return JSON.stringify(y);default:return}}s(At,"stringifyTrace");function To(y){if(!(Q===f.Off||!le))if(Fe===m.Text){let w;(Q===f.Verbose||Q===f.Compact)&&y.params&&(w=`Params: ${At(y.params)}
12
-
13
- `),le.log(`Sending request '${y.method} - (${y.id})'.`,w)}else jt("send-request",y)}s(To,"traceSendingRequest");function vo(y){if(!(Q===f.Off||!le))if(Fe===m.Text){let w;(Q===f.Verbose||Q===f.Compact)&&(y.params?w=`Params: ${At(y.params)}
14
-
15
- `:w=`No parameters provided.
16
-
17
- `),le.log(`Sending notification '${y.method}'.`,w)}else jt("send-notification",y)}s(vo,"traceSendingNotification");function Cr(y,w,_){if(!(Q===f.Off||!le))if(Fe===m.Text){let G;(Q===f.Verbose||Q===f.Compact)&&(y.error&&y.error.data?G=`Error data: ${At(y.error.data)}
18
-
19
- `:y.result?G=`Result: ${At(y.result)}
20
-
21
- `:y.error===void 0&&(G=`No result returned.
22
-
23
- `)),le.log(`Sending response '${w} - (${y.id})'. Processing request took ${Date.now()-_}ms`,G)}else jt("send-response",y)}s(Cr,"traceSendingResponse");function Ro(y){if(!(Q===f.Off||!le))if(Fe===m.Text){let w;(Q===f.Verbose||Q===f.Compact)&&y.params&&(w=`Params: ${At(y.params)}
24
-
25
- `),le.log(`Received request '${y.method} - (${y.id})'.`,w)}else jt("receive-request",y)}s(Ro,"traceReceivedRequest");function Fr(y){if(!(Q===f.Off||!le||y.method===x.type.method))if(Fe===m.Text){let w;(Q===f.Verbose||Q===f.Compact)&&(y.params?w=`Params: ${At(y.params)}
26
-
27
- `:w=`No parameters provided.
28
-
29
- `),le.log(`Received notification '${y.method}'.`,w)}else jt("receive-notification",y)}s(Fr,"traceReceivedNotification");function $o(y,w){if(!(Q===f.Off||!le))if(Fe===m.Text){let _;if((Q===f.Verbose||Q===f.Compact)&&(y.error&&y.error.data?_=`Error data: ${At(y.error.data)}
30
-
31
- `:y.result?_=`Result: ${At(y.result)}
32
-
33
- `:y.error===void 0&&(_=`No result returned.
34
-
35
- `)),w){let G=y.error?` Request failed: ${y.error.message} (${y.error.code}).`:"";le.log(`Received response '${w.method} - (${y.id})' in ${Date.now()-w.timerStart}ms.${G}`,_)}else le.log(`Received response ${y.id} without active response promise.`,_)}else jt("receive-response",y)}s($o,"traceReceivedResponse");function jt(y,w){if(!le||Q===f.Off)return;let _={isLSPMessage:!0,type:y,message:w,timestamp:Date.now()};le.log(_)}s(jt,"logLSPMessage");function nr(){if(Jn())throw new N(A.Closed,"Connection is closed.");if(Kt())throw new N(A.Disposed,"Connection is disposed.")}s(nr,"throwIfClosedOrDisposed");function Eo(){if(Yn())throw new N(A.AlreadyListening,"Connection is already listening")}s(Eo,"throwIfListening");function Co(){if(!Yn())throw new Error("Call listen() first.")}s(Co,"throwIfNotListening");function h(y){return y===void 0?null:y}s(h,"undefinedToNull");function se(y){if(y!==null)return y}s(se,"nullToUndefined");function xe(y){return y!=null&&!Array.isArray(y)&&typeof y=="object"}s(xe,"isNamedParam");function H(y,w){switch(y){case n.ParameterStructures.auto:return xe(w)?se(w):[h(w)];case n.ParameterStructures.byName:if(!xe(w))throw new Error("Received parameters by name but param is not an object literal.");return se(w);case n.ParameterStructures.byPosition:return[h(w)];default:throw new Error(`Unknown parameter structure ${y.toString()}`)}}s(H,"computeSingleParam");function Oe(y,w){let _,G=y.numberOfParams;switch(G){case 0:_=void 0;break;case 1:_=H(y.parameterStructures,w[0]);break;default:_=[];for(let Ae=0;Ae<w.length&&Ae<G;Ae++)_.push(h(w[Ae]));if(w.length<G)for(let Ae=w.length;Ae<G;Ae++)_.push(null);break}return _}s(Oe,"computeMessageParams");let ti={sendNotification:s((y,...w)=>{nr();let _,G;if(t.string(y)){_=y;let me=w[0],$e=0,_e=n.ParameterStructures.auto;n.ParameterStructures.is(me)&&($e=1,_e=me);let ie=w.length,Ne=ie-$e;switch(Ne){case 0:G=void 0;break;case 1:G=H(_e,w[$e]);break;default:if(_e===n.ParameterStructures.byName)throw new Error(`Received ${Ne} parameters for 'by Name' notification parameter structure.`);G=w.slice($e,ie).map(ue=>h(ue));break}}else{let me=w;_=y.method,G=Oe(y,me)}let Ae={jsonrpc:z,method:_,params:G};return vo(Ae),b.write(Ae).catch(me=>{throw S.error("Sending notification failed."),me})},"sendNotification"),onNotification:s((y,w)=>{nr();let _;return t.func(y)?W=y:w&&(t.string(y)?(_=y,ee.set(y,{type:void 0,handler:w})):(_=y.method,ee.set(y.method,{type:y,handler:w}))),{dispose:s(()=>{_!==void 0?ee.delete(_):W=void 0},"dispose")}},"onNotification"),onProgress:s((y,w,_)=>{if(de.has(w))throw new Error(`Progress handler for token ${w} already registered`);return de.set(w,_),{dispose:s(()=>{de.delete(w)},"dispose")}},"onProgress"),sendProgress:s((y,w,_)=>ti.sendNotification(c.type,{token:w,value:_}),"sendProgress"),onUnhandledProgress:Wt.event,sendRequest:s((y,...w)=>{nr(),Co();let _,G,Ae;if(t.string(y)){_=y;let ie=w[0],Ne=w[w.length-1],ue=0,Ge=n.ParameterStructures.auto;n.ParameterStructures.is(ie)&&(ue=1,Ge=ie);let Ze=w.length;o.CancellationToken.is(Ne)&&(Ze=Ze-1,Ae=Ne);let Vt=Ze-ue;switch(Vt){case 0:G=void 0;break;case 1:G=H(Ge,w[ue]);break;default:if(Ge===n.ParameterStructures.byName)throw new Error(`Received ${Vt} parameters for 'by Name' request parameter structure.`);G=w.slice(ue,Ze).map(kR=>h(kR));break}}else{let ie=w;_=y.method,G=Oe(y,ie);let Ne=y.numberOfParams;Ae=o.CancellationToken.is(ie[Ne])?ie[Ne]:void 0}let me=D++,$e;Ae&&($e=Ae.onCancellationRequested(()=>{let ie=Re.sender.sendCancellation(ti,me);return ie===void 0?(S.log(`Received no promise from cancellation strategy when cancelling id ${me}`),Promise.resolve()):ie.catch(()=>{S.log(`Sending cancellation messages for id ${me} failed`)})}));let _e={jsonrpc:z,id:me,method:_,params:G};return To(_e),typeof Re.sender.enableCancellation=="function"&&Re.sender.enableCancellation(_e),new Promise(async(ie,Ne)=>{let ue=s(Vt=>{ie(Vt),Re.sender.cleanup(me),$e==null||$e.dispose()},"resolveWithCleanup"),Ge=s(Vt=>{Ne(Vt),Re.sender.cleanup(me),$e==null||$e.dispose()},"rejectWithCleanup"),Ze={method:_,timerStart:Date.now(),resolve:ue,reject:Ge};try{await b.write(_e),Te.set(me,Ze)}catch(Vt){throw S.error("Sending request failed."),Ze.reject(new n.ResponseError(n.ErrorCodes.MessageWriteError,Vt.message?Vt.message:"Unknown reason")),Vt}})},"sendRequest"),onRequest:s((y,w)=>{nr();let _=null;return p.is(y)?(_=void 0,q=y):t.string(y)?(_=null,w!==void 0&&(_=y,re.set(y,{handler:w,type:void 0}))):w!==void 0&&(_=y.method,re.set(y.method,{type:y,handler:w})),{dispose:s(()=>{_!==null&&(_!==void 0?re.delete(_):q=void 0)},"dispose")}},"onRequest"),hasPendingResponse:s(()=>Te.size>0,"hasPendingResponse"),trace:s(async(y,w,_)=>{let G=!1,Ae=m.Text;_!==void 0&&(t.boolean(_)?G=_:(G=_.sendNotification||!1,Ae=_.traceFormat||m.Text)),Q=y,Fe=Ae,Q===f.Off?le=void 0:le=w,G&&!Jn()&&!Kt()&&await ti.sendNotification($.type,{value:f.toString(y)})},"trace"),onError:ve.event,onClose:F.event,onUnhandledNotification:qe.event,onDispose:Ct.event,end:s(()=>{b.end()},"end"),dispose:s(()=>{if(Kt())return;We=oe.Disposed,Ct.fire(void 0);let y=new n.ResponseError(n.ErrorCodes.PendingResponseRejected,"Pending response rejected since connection got disposed");for(let w of Te.values())w.reject(y);Te=new Map,he=new Map,be=new Set,fe=new i.LinkedMap,t.func(b.dispose)&&b.dispose(),t.func(T.dispose)&&T.dispose()},"dispose"),listen:s(()=>{nr(),Eo(),We=oe.Listening,T.listen(kl)},"listen"),inspect:s(()=>{(0,e.default)().console.log("inspect")},"inspect")};return ti.onNotification(x.type,y=>{if(Q===f.Off||!le)return;let w=Q===f.Verbose||Q===f.Compact;le.log(y.message,w?y.verbose:void 0)}),ti.onNotification(c.type,y=>{let w=de.get(y.token);w?w(y.value):Wt.fire(y)}),ti}s(Qe,"createMessageConnection"),r.createMessageConnection=Qe}),Vd=X(r=>{Object.defineProperty(r,"__esModule",{value:!0}),r.ProgressType=r.ProgressToken=r.createMessageConnection=r.NullLogger=r.ConnectionOptions=r.ConnectionStrategy=r.AbstractMessageBuffer=r.WriteableStreamMessageWriter=r.AbstractMessageWriter=r.MessageWriter=r.ReadableStreamMessageReader=r.AbstractMessageReader=r.MessageReader=r.SharedArrayReceiverStrategy=r.SharedArraySenderStrategy=r.CancellationToken=r.CancellationTokenSource=r.Emitter=r.Event=r.Disposable=r.LRUCache=r.Touch=r.LinkedMap=r.ParameterStructures=r.NotificationType9=r.NotificationType8=r.NotificationType7=r.NotificationType6=r.NotificationType5=r.NotificationType4=r.NotificationType3=r.NotificationType2=r.NotificationType1=r.NotificationType0=r.NotificationType=r.ErrorCodes=r.ResponseError=r.RequestType9=r.RequestType8=r.RequestType7=r.RequestType6=r.RequestType5=r.RequestType4=r.RequestType3=r.RequestType2=r.RequestType1=r.RequestType0=r.RequestType=r.Message=r.RAL=void 0,r.MessageStrategy=r.CancellationStrategy=r.CancellationSenderStrategy=r.CancellationReceiverStrategy=r.ConnectionError=r.ConnectionErrors=r.LogTraceNotification=r.SetTraceNotification=r.TraceFormat=r.TraceValues=r.Trace=void 0;var e=Dm();Object.defineProperty(r,"Message",{enumerable:!0,get:s(function(){return e.Message},"get")}),Object.defineProperty(r,"RequestType",{enumerable:!0,get:s(function(){return e.RequestType},"get")}),Object.defineProperty(r,"RequestType0",{enumerable:!0,get:s(function(){return e.RequestType0},"get")}),Object.defineProperty(r,"RequestType1",{enumerable:!0,get:s(function(){return e.RequestType1},"get")}),Object.defineProperty(r,"RequestType2",{enumerable:!0,get:s(function(){return e.RequestType2},"get")}),Object.defineProperty(r,"RequestType3",{enumerable:!0,get:s(function(){return e.RequestType3},"get")}),Object.defineProperty(r,"RequestType4",{enumerable:!0,get:s(function(){return e.RequestType4},"get")}),Object.defineProperty(r,"RequestType5",{enumerable:!0,get:s(function(){return e.RequestType5},"get")}),Object.defineProperty(r,"RequestType6",{enumerable:!0,get:s(function(){return e.RequestType6},"get")}),Object.defineProperty(r,"RequestType7",{enumerable:!0,get:s(function(){return e.RequestType7},"get")}),Object.defineProperty(r,"RequestType8",{enumerable:!0,get:s(function(){return e.RequestType8},"get")}),Object.defineProperty(r,"RequestType9",{enumerable:!0,get:s(function(){return e.RequestType9},"get")}),Object.defineProperty(r,"ResponseError",{enumerable:!0,get:s(function(){return e.ResponseError},"get")}),Object.defineProperty(r,"ErrorCodes",{enumerable:!0,get:s(function(){return e.ErrorCodes},"get")}),Object.defineProperty(r,"NotificationType",{enumerable:!0,get:s(function(){return e.NotificationType},"get")}),Object.defineProperty(r,"NotificationType0",{enumerable:!0,get:s(function(){return e.NotificationType0},"get")}),Object.defineProperty(r,"NotificationType1",{enumerable:!0,get:s(function(){return e.NotificationType1},"get")}),Object.defineProperty(r,"NotificationType2",{enumerable:!0,get:s(function(){return e.NotificationType2},"get")}),Object.defineProperty(r,"NotificationType3",{enumerable:!0,get:s(function(){return e.NotificationType3},"get")}),Object.defineProperty(r,"NotificationType4",{enumerable:!0,get:s(function(){return e.NotificationType4},"get")}),Object.defineProperty(r,"NotificationType5",{enumerable:!0,get:s(function(){return e.NotificationType5},"get")}),Object.defineProperty(r,"NotificationType6",{enumerable:!0,get:s(function(){return e.NotificationType6},"get")}),Object.defineProperty(r,"NotificationType7",{enumerable:!0,get:s(function(){return e.NotificationType7},"get")}),Object.defineProperty(r,"NotificationType8",{enumerable:!0,get:s(function(){return e.NotificationType8},"get")}),Object.defineProperty(r,"NotificationType9",{enumerable:!0,get:s(function(){return e.NotificationType9},"get")}),Object.defineProperty(r,"ParameterStructures",{enumerable:!0,get:s(function(){return e.ParameterStructures},"get")});var t=Om();Object.defineProperty(r,"LinkedMap",{enumerable:!0,get:s(function(){return t.LinkedMap},"get")}),Object.defineProperty(r,"LRUCache",{enumerable:!0,get:s(function(){return t.LRUCache},"get")}),Object.defineProperty(r,"Touch",{enumerable:!0,get:s(function(){return t.Touch},"get")});var n=LR();Object.defineProperty(r,"Disposable",{enumerable:!0,get:s(function(){return n.Disposable},"get")});var i=Js();Object.defineProperty(r,"Event",{enumerable:!0,get:s(function(){return i.Event},"get")}),Object.defineProperty(r,"Emitter",{enumerable:!0,get:s(function(){return i.Emitter},"get")});var a=Hu();Object.defineProperty(r,"CancellationTokenSource",{enumerable:!0,get:s(function(){return a.CancellationTokenSource},"get")}),Object.defineProperty(r,"CancellationToken",{enumerable:!0,get:s(function(){return a.CancellationToken},"get")});var o=DR();Object.defineProperty(r,"SharedArraySenderStrategy",{enumerable:!0,get:s(function(){return o.SharedArraySenderStrategy},"get")}),Object.defineProperty(r,"SharedArrayReceiverStrategy",{enumerable:!0,get:s(function(){return o.SharedArrayReceiverStrategy},"get")});var u=OR();Object.defineProperty(r,"MessageReader",{enumerable:!0,get:s(function(){return u.MessageReader},"get")}),Object.defineProperty(r,"AbstractMessageReader",{enumerable:!0,get:s(function(){return u.AbstractMessageReader},"get")}),Object.defineProperty(r,"ReadableStreamMessageReader",{enumerable:!0,get:s(function(){return u.ReadableStreamMessageReader},"get")});var l=_R();Object.defineProperty(r,"MessageWriter",{enumerable:!0,get:s(function(){return l.MessageWriter},"get")}),Object.defineProperty(r,"AbstractMessageWriter",{enumerable:!0,get:s(function(){return l.AbstractMessageWriter},"get")}),Object.defineProperty(r,"WriteableStreamMessageWriter",{enumerable:!0,get:s(function(){return l.WriteableStreamMessageWriter},"get")});var c=MR();Object.defineProperty(r,"AbstractMessageBuffer",{enumerable:!0,get:s(function(){return c.AbstractMessageBuffer},"get")});var d=FR();Object.defineProperty(r,"ConnectionStrategy",{enumerable:!0,get:s(function(){return d.ConnectionStrategy},"get")}),Object.defineProperty(r,"ConnectionOptions",{enumerable:!0,get:s(function(){return d.ConnectionOptions},"get")}),Object.defineProperty(r,"NullLogger",{enumerable:!0,get:s(function(){return d.NullLogger},"get")}),Object.defineProperty(r,"createMessageConnection",{enumerable:!0,get:s(function(){return d.createMessageConnection},"get")}),Object.defineProperty(r,"ProgressToken",{enumerable:!0,get:s(function(){return d.ProgressToken},"get")}),Object.defineProperty(r,"ProgressType",{enumerable:!0,get:s(function(){return d.ProgressType},"get")}),Object.defineProperty(r,"Trace",{enumerable:!0,get:s(function(){return d.Trace},"get")}),Object.defineProperty(r,"TraceValues",{enumerable:!0,get:s(function(){return d.TraceValues},"get")}),Object.defineProperty(r,"TraceFormat",{enumerable:!0,get:s(function(){return d.TraceFormat},"get")}),Object.defineProperty(r,"SetTraceNotification",{enumerable:!0,get:s(function(){return d.SetTraceNotification},"get")}),Object.defineProperty(r,"LogTraceNotification",{enumerable:!0,get:s(function(){return d.LogTraceNotification},"get")}),Object.defineProperty(r,"ConnectionErrors",{enumerable:!0,get:s(function(){return d.ConnectionErrors},"get")}),Object.defineProperty(r,"ConnectionError",{enumerable:!0,get:s(function(){return d.ConnectionError},"get")}),Object.defineProperty(r,"CancellationReceiverStrategy",{enumerable:!0,get:s(function(){return d.CancellationReceiverStrategy},"get")}),Object.defineProperty(r,"CancellationSenderStrategy",{enumerable:!0,get:s(function(){return d.CancellationSenderStrategy},"get")}),Object.defineProperty(r,"CancellationStrategy",{enumerable:!0,get:s(function(){return d.CancellationStrategy},"get")}),Object.defineProperty(r,"MessageStrategy",{enumerable:!0,get:s(function(){return d.MessageStrategy},"get")});var p=Un();r.RAL=p.default}),qR=X(r=>{var l,c,d;Object.defineProperty(r,"__esModule",{value:!0});var e=Vd(),t=(l=class extends e.AbstractMessageBuffer{constructor(f="utf-8"){super(f),this.asciiDecoder=new TextDecoder("ascii")}emptyBuffer(){return l.emptyBuffer}fromString(f,g){return new TextEncoder().encode(f)}toString(f,g){return g==="ascii"?this.asciiDecoder.decode(f):new TextDecoder(g).decode(f)}asNative(f,g){return g===void 0?f:f.slice(0,g)}allocNative(f){return new Uint8Array(f)}},s(l,"MessageBuffer"),l);t.emptyBuffer=new Uint8Array(0);var n=(c=class{constructor(f){this.socket=f,this._onData=new e.Emitter,this._messageListener=g=>{g.data.arrayBuffer().then(m=>{this._onData.fire(new Uint8Array(m))},()=>{(0,e.RAL)().console.error("Converting blob to array buffer failed.")})},this.socket.addEventListener("message",this._messageListener)}onClose(f){return this.socket.addEventListener("close",f),e.Disposable.create(()=>this.socket.removeEventListener("close",f))}onError(f){return this.socket.addEventListener("error",f),e.Disposable.create(()=>this.socket.removeEventListener("error",f))}onEnd(f){return this.socket.addEventListener("end",f),e.Disposable.create(()=>this.socket.removeEventListener("end",f))}onData(f){return this._onData.event(f)}},s(c,"ReadableStreamWrapper"),c),i=(d=class{constructor(f){this.socket=f}onClose(f){return this.socket.addEventListener("close",f),e.Disposable.create(()=>this.socket.removeEventListener("close",f))}onError(f){return this.socket.addEventListener("error",f),e.Disposable.create(()=>this.socket.removeEventListener("error",f))}onEnd(f){return this.socket.addEventListener("end",f),e.Disposable.create(()=>this.socket.removeEventListener("end",f))}write(f,g){if(typeof f=="string"){if(g!==void 0&&g!=="utf-8")throw new Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${g}`);this.socket.send(f)}else this.socket.send(f);return Promise.resolve()}end(){this.socket.close()}},s(d,"WritableStreamWrapper"),d),a=new TextEncoder,o=Object.freeze({messageBuffer:Object.freeze({create:s(p=>new t(p),"create")}),applicationJson:Object.freeze({encoder:Object.freeze({name:"application/json",encode:s((p,f)=>{if(f.charset!=="utf-8")throw new Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${f.charset}`);return Promise.resolve(a.encode(JSON.stringify(p,void 0,0)))},"encode")}),decoder:Object.freeze({name:"application/json",decode:s((p,f)=>{if(!(p instanceof Uint8Array))throw new Error("In a Browser environments only Uint8Arrays are supported.");return Promise.resolve(JSON.parse(new TextDecoder(f.charset).decode(p)))},"decode")})}),stream:Object.freeze({asReadableStream:s(p=>new n(p),"asReadableStream"),asWritableStream:s(p=>new i(p),"asWritableStream")}),console,timer:Object.freeze({setTimeout(p,f,...g){let m=setTimeout(p,f,...g);return{dispose:s(()=>clearTimeout(m),"dispose")}},setImmediate(p,...f){let g=setTimeout(p,0,...f);return{dispose:s(()=>clearTimeout(g),"dispose")}},setInterval(p,f,...g){let m=setInterval(p,f,...g);return{dispose:s(()=>clearInterval(m),"dispose")}}})});function u(){return o}s(u,"RIL"),function(p){function f(){e.RAL.install(o)}s(f,"install"),p.install=f}(u||(u={})),r.default=u}),Qs=X(r=>{var l,c;var e=r&&r.__createBinding||(Object.create?function(d,p,f,g){g===void 0&&(g=f);var m=Object.getOwnPropertyDescriptor(p,f);(!m||("get"in m?!p.__esModule:m.writable||m.configurable))&&(m={enumerable:!0,get:s(function(){return p[f]},"get")}),Object.defineProperty(d,g,m)}:function(d,p,f,g){g===void 0&&(g=f),d[g]=p[f]}),t=r&&r.__exportStar||function(d,p){for(var f in d)f!=="default"&&!Object.prototype.hasOwnProperty.call(p,f)&&e(p,d,f)};Object.defineProperty(r,"__esModule",{value:!0}),r.createMessageConnection=r.BrowserMessageWriter=r.BrowserMessageReader=void 0;var n=qR();n.default.install();var i=Vd();t(Vd(),r);var a=(l=class extends i.AbstractMessageReader{constructor(p){super(),this._onData=new i.Emitter,this._messageListener=f=>{this._onData.fire(f.data)},p.addEventListener("error",f=>this.fireError(f)),p.onmessage=this._messageListener}listen(p){return this._onData.event(p)}},s(l,"BrowserMessageReader"),l);r.BrowserMessageReader=a;var o=(c=class extends i.AbstractMessageWriter{constructor(p){super(),this.port=p,this.errorCount=0,p.addEventListener("error",f=>this.fireError(f))}write(p){try{return this.port.postMessage(p),Promise.resolve()}catch(f){return this.handleError(f,p),Promise.reject(f)}}handleError(p,f){this.errorCount++,this.fireError(p,f,this.errorCount)}end(){}},s(c,"BrowserMessageWriter"),c);r.BrowserMessageWriter=o;function u(d,p,f,g){return f===void 0&&(f=i.NullLogger),i.ConnectionStrategy.is(g)&&(g={connectionStrategy:g}),(0,i.createMessageConnection)(d,p,f,g)}s(u,"createMessageConnection"),r.createMessageConnection=u}),Qh=X((r,e)=>{e.exports=Qs()}),Ie=X(r=>{var l,c,d,p,f;Object.defineProperty(r,"__esModule",{value:!0}),r.ProtocolNotificationType=r.ProtocolNotificationType0=r.ProtocolRequestType=r.ProtocolRequestType0=r.RegistrationType=r.MessageDirection=void 0;var e=Qs(),t;(function(g){g.clientToServer="clientToServer",g.serverToClient="serverToClient",g.both="both"})(t||(r.MessageDirection=t={}));var n=(l=class{constructor(m){this.method=m}},s(l,"RegistrationType"),l);r.RegistrationType=n;var i=(c=class extends e.RequestType0{constructor(m){super(m)}},s(c,"ProtocolRequestType0"),c);r.ProtocolRequestType0=i;var a=(d=class extends e.RequestType{constructor(m){super(m,e.ParameterStructures.byName)}},s(d,"ProtocolRequestType"),d);r.ProtocolRequestType=a;var o=(p=class extends e.NotificationType0{constructor(m){super(m)}},s(p,"ProtocolNotificationType0"),p);r.ProtocolNotificationType0=o;var u=(f=class extends e.NotificationType{constructor(m){super(m,e.ParameterStructures.byName)}},s(f,"ProtocolNotificationType"),f);r.ProtocolNotificationType=u}),Pp=X(r=>{Object.defineProperty(r,"__esModule",{value:!0}),r.objectLiteral=r.typedArray=r.stringArray=r.array=r.func=r.error=r.number=r.string=r.boolean=void 0;function e(d){return d===!0||d===!1}s(e,"boolean"),r.boolean=e;function t(d){return typeof d=="string"||d instanceof String}s(t,"string"),r.string=t;function n(d){return typeof d=="number"||d instanceof Number}s(n,"number"),r.number=n;function i(d){return d instanceof Error}s(i,"error"),r.error=i;function a(d){return typeof d=="function"}s(a,"func"),r.func=a;function o(d){return Array.isArray(d)}s(o,"array"),r.array=o;function u(d){return o(d)&&d.every(p=>t(p))}s(u,"stringArray"),r.stringArray=u;function l(d,p){return Array.isArray(d)&&d.every(p)}s(l,"typedArray"),r.typedArray=l;function c(d){return d!==null&&typeof d=="object"}s(c,"objectLiteral"),r.objectLiteral=c}),UR=X(r=>{Object.defineProperty(r,"__esModule",{value:!0}),r.ImplementationRequest=void 0;var e=Ie(),t;(function(n){n.method="textDocument/implementation",n.messageDirection=e.MessageDirection.clientToServer,n.type=new e.ProtocolRequestType(n.method)})(t||(r.ImplementationRequest=t={}))}),GR=X(r=>{Object.defineProperty(r,"__esModule",{value:!0}),r.TypeDefinitionRequest=void 0;var e=Ie(),t;(function(n){n.method="textDocument/typeDefinition",n.messageDirection=e.MessageDirection.clientToServer,n.type=new e.ProtocolRequestType(n.method)})(t||(r.TypeDefinitionRequest=t={}))}),zR=X(r=>{Object.defineProperty(r,"__esModule",{value:!0}),r.DidChangeWorkspaceFoldersNotification=r.WorkspaceFoldersRequest=void 0;var e=Ie(),t;(function(i){i.method="workspace/workspaceFolders",i.messageDirection=e.MessageDirection.serverToClient,i.type=new e.ProtocolRequestType0(i.method)})(t||(r.WorkspaceFoldersRequest=t={}));var n;(function(i){i.method="workspace/didChangeWorkspaceFolders",i.messageDirection=e.MessageDirection.clientToServer,i.type=new e.ProtocolNotificationType(i.method)})(n||(r.DidChangeWorkspaceFoldersNotification=n={}))}),WR=X(r=>{Object.defineProperty(r,"__esModule",{value:!0}),r.ConfigurationRequest=void 0;var e=Ie(),t;(function(n){n.method="workspace/configuration",n.messageDirection=e.MessageDirection.serverToClient,n.type=new e.ProtocolRequestType(n.method)})(t||(r.ConfigurationRequest=t={}))}),KR=X(r=>{Object.defineProperty(r,"__esModule",{value:!0}),r.ColorPresentationRequest=r.DocumentColorRequest=void 0;var e=Ie(),t;(function(i){i.method="textDocument/documentColor",i.messageDirection=e.MessageDirection.clientToServer,i.type=new e.ProtocolRequestType(i.method)})(t||(r.DocumentColorRequest=t={}));var n;(function(i){i.method="textDocument/colorPresentation",i.messageDirection=e.MessageDirection.clientToServer,i.type=new e.ProtocolRequestType(i.method)})(n||(r.ColorPresentationRequest=n={}))}),jR=X(r=>{Object.defineProperty(r,"__esModule",{value:!0}),r.FoldingRangeRefreshRequest=r.FoldingRangeRequest=void 0;var e=Ie(),t;(function(i){i.method="textDocument/foldingRange",i.messageDirection=e.MessageDirection.clientToServer,i.type=new e.ProtocolRequestType(i.method)})(t||(r.FoldingRangeRequest=t={}));var n;(function(i){i.method="workspace/foldingRange/refresh",i.messageDirection=e.MessageDirection.serverToClient,i.type=new e.ProtocolRequestType0(i.method)})(n||(r.FoldingRangeRefreshRequest=n={}))}),VR=X(r=>{Object.defineProperty(r,"__esModule",{value:!0}),r.DeclarationRequest=void 0;var e=Ie(),t;(function(n){n.method="textDocument/declaration",n.messageDirection=e.MessageDirection.clientToServer,n.type=new e.ProtocolRequestType(n.method)})(t||(r.DeclarationRequest=t={}))}),BR=X(r=>{Object.defineProperty(r,"__esModule",{value:!0}),r.SelectionRangeRequest=void 0;var e=Ie(),t;(function(n){n.method="textDocument/selectionRange",n.messageDirection=e.MessageDirection.clientToServer,n.type=new e.ProtocolRequestType(n.method)})(t||(r.SelectionRangeRequest=t={}))}),HR=X(r=>{Object.defineProperty(r,"__esModule",{value:!0}),r.WorkDoneProgressCancelNotification=r.WorkDoneProgressCreateRequest=r.WorkDoneProgress=void 0;var e=Qs(),t=Ie(),n;(function(o){o.type=new e.ProgressType;function u(l){return l===o.type}s(u,"is"),o.is=u})(n||(r.WorkDoneProgress=n={}));var i;(function(o){o.method="window/workDoneProgress/create",o.messageDirection=t.MessageDirection.serverToClient,o.type=new t.ProtocolRequestType(o.method)})(i||(r.WorkDoneProgressCreateRequest=i={}));var a;(function(o){o.method="window/workDoneProgress/cancel",o.messageDirection=t.MessageDirection.clientToServer,o.type=new t.ProtocolNotificationType(o.method)})(a||(r.WorkDoneProgressCancelNotification=a={}))}),XR=X(r=>{Object.defineProperty(r,"__esModule",{value:!0}),r.CallHierarchyOutgoingCallsRequest=r.CallHierarchyIncomingCallsRequest=r.CallHierarchyPrepareRequest=void 0;var e=Ie(),t;(function(a){a.method="textDocument/prepareCallHierarchy",a.messageDirection=e.MessageDirection.clientToServer,a.type=new e.ProtocolRequestType(a.method)})(t||(r.CallHierarchyPrepareRequest=t={}));var n;(function(a){a.method="callHierarchy/incomingCalls",a.messageDirection=e.MessageDirection.clientToServer,a.type=new e.ProtocolRequestType(a.method)})(n||(r.CallHierarchyIncomingCallsRequest=n={}));var i;(function(a){a.method="callHierarchy/outgoingCalls",a.messageDirection=e.MessageDirection.clientToServer,a.type=new e.ProtocolRequestType(a.method)})(i||(r.CallHierarchyOutgoingCallsRequest=i={}))}),YR=X(r=>{Object.defineProperty(r,"__esModule",{value:!0}),r.SemanticTokensRefreshRequest=r.SemanticTokensRangeRequest=r.SemanticTokensDeltaRequest=r.SemanticTokensRequest=r.SemanticTokensRegistrationType=r.TokenFormat=void 0;var e=Ie(),t;(function(l){l.Relative="relative"})(t||(r.TokenFormat=t={}));var n;(function(l){l.method="textDocument/semanticTokens",l.type=new e.RegistrationType(l.method)})(n||(r.SemanticTokensRegistrationType=n={}));var i;(function(l){l.method="textDocument/semanticTokens/full",l.messageDirection=e.MessageDirection.clientToServer,l.type=new e.ProtocolRequestType(l.method),l.registrationMethod=n.method})(i||(r.SemanticTokensRequest=i={}));var a;(function(l){l.method="textDocument/semanticTokens/full/delta",l.messageDirection=e.MessageDirection.clientToServer,l.type=new e.ProtocolRequestType(l.method),l.registrationMethod=n.method})(a||(r.SemanticTokensDeltaRequest=a={}));var o;(function(l){l.method="textDocument/semanticTokens/range",l.messageDirection=e.MessageDirection.clientToServer,l.type=new e.ProtocolRequestType(l.method),l.registrationMethod=n.method})(o||(r.SemanticTokensRangeRequest=o={}));var u;(function(l){l.method="workspace/semanticTokens/refresh",l.messageDirection=e.MessageDirection.serverToClient,l.type=new e.ProtocolRequestType0(l.method)})(u||(r.SemanticTokensRefreshRequest=u={}))}),JR=X(r=>{Object.defineProperty(r,"__esModule",{value:!0}),r.ShowDocumentRequest=void 0;var e=Ie(),t;(function(n){n.method="window/showDocument",n.messageDirection=e.MessageDirection.serverToClient,n.type=new e.ProtocolRequestType(n.method)})(t||(r.ShowDocumentRequest=t={}))}),QR=X(r=>{Object.defineProperty(r,"__esModule",{value:!0}),r.LinkedEditingRangeRequest=void 0;var e=Ie(),t;(function(n){n.method="textDocument/linkedEditingRange",n.messageDirection=e.MessageDirection.clientToServer,n.type=new e.ProtocolRequestType(n.method)})(t||(r.LinkedEditingRangeRequest=t={}))}),ZR=X(r=>{Object.defineProperty(r,"__esModule",{value:!0}),r.WillDeleteFilesRequest=r.DidDeleteFilesNotification=r.DidRenameFilesNotification=r.WillRenameFilesRequest=r.DidCreateFilesNotification=r.WillCreateFilesRequest=r.FileOperationPatternKind=void 0;var e=Ie(),t;(function(c){c.file="file",c.folder="folder"})(t||(r.FileOperationPatternKind=t={}));var n;(function(c){c.method="workspace/willCreateFiles",c.messageDirection=e.MessageDirection.clientToServer,c.type=new e.ProtocolRequestType(c.method)})(n||(r.WillCreateFilesRequest=n={}));var i;(function(c){c.method="workspace/didCreateFiles",c.messageDirection=e.MessageDirection.clientToServer,c.type=new e.ProtocolNotificationType(c.method)})(i||(r.DidCreateFilesNotification=i={}));var a;(function(c){c.method="workspace/willRenameFiles",c.messageDirection=e.MessageDirection.clientToServer,c.type=new e.ProtocolRequestType(c.method)})(a||(r.WillRenameFilesRequest=a={}));var o;(function(c){c.method="workspace/didRenameFiles",c.messageDirection=e.MessageDirection.clientToServer,c.type=new e.ProtocolNotificationType(c.method)})(o||(r.DidRenameFilesNotification=o={}));var u;(function(c){c.method="workspace/didDeleteFiles",c.messageDirection=e.MessageDirection.clientToServer,c.type=new e.ProtocolNotificationType(c.method)})(u||(r.DidDeleteFilesNotification=u={}));var l;(function(c){c.method="workspace/willDeleteFiles",c.messageDirection=e.MessageDirection.clientToServer,c.type=new e.ProtocolRequestType(c.method)})(l||(r.WillDeleteFilesRequest=l={}))}),e$=X(r=>{Object.defineProperty(r,"__esModule",{value:!0}),r.MonikerRequest=r.MonikerKind=r.UniquenessLevel=void 0;var e=Ie(),t;(function(a){a.document="document",a.project="project",a.group="group",a.scheme="scheme",a.global="global"})(t||(r.UniquenessLevel=t={}));var n;(function(a){a.$import="import",a.$export="export",a.local="local"})(n||(r.MonikerKind=n={}));var i;(function(a){a.method="textDocument/moniker",a.messageDirection=e.MessageDirection.clientToServer,a.type=new e.ProtocolRequestType(a.method)})(i||(r.MonikerRequest=i={}))}),t$=X(r=>{Object.defineProperty(r,"__esModule",{value:!0}),r.TypeHierarchySubtypesRequest=r.TypeHierarchySupertypesRequest=r.TypeHierarchyPrepareRequest=void 0;var e=Ie(),t;(function(a){a.method="textDocument/prepareTypeHierarchy",a.messageDirection=e.MessageDirection.clientToServer,a.type=new e.ProtocolRequestType(a.method)})(t||(r.TypeHierarchyPrepareRequest=t={}));var n;(function(a){a.method="typeHierarchy/supertypes",a.messageDirection=e.MessageDirection.clientToServer,a.type=new e.ProtocolRequestType(a.method)})(n||(r.TypeHierarchySupertypesRequest=n={}));var i;(function(a){a.method="typeHierarchy/subtypes",a.messageDirection=e.MessageDirection.clientToServer,a.type=new e.ProtocolRequestType(a.method)})(i||(r.TypeHierarchySubtypesRequest=i={}))}),r$=X(r=>{Object.defineProperty(r,"__esModule",{value:!0}),r.InlineValueRefreshRequest=r.InlineValueRequest=void 0;var e=Ie(),t;(function(i){i.method="textDocument/inlineValue",i.messageDirection=e.MessageDirection.clientToServer,i.type=new e.ProtocolRequestType(i.method)})(t||(r.InlineValueRequest=t={}));var n;(function(i){i.method="workspace/inlineValue/refresh",i.messageDirection=e.MessageDirection.serverToClient,i.type=new e.ProtocolRequestType0(i.method)})(n||(r.InlineValueRefreshRequest=n={}))}),n$=X(r=>{Object.defineProperty(r,"__esModule",{value:!0}),r.InlayHintRefreshRequest=r.InlayHintResolveRequest=r.InlayHintRequest=void 0;var e=Ie(),t;(function(a){a.method="textDocument/inlayHint",a.messageDirection=e.MessageDirection.clientToServer,a.type=new e.ProtocolRequestType(a.method)})(t||(r.InlayHintRequest=t={}));var n;(function(a){a.method="inlayHint/resolve",a.messageDirection=e.MessageDirection.clientToServer,a.type=new e.ProtocolRequestType(a.method)})(n||(r.InlayHintResolveRequest=n={}));var i;(function(a){a.method="workspace/inlayHint/refresh",a.messageDirection=e.MessageDirection.serverToClient,a.type=new e.ProtocolRequestType0(a.method)})(i||(r.InlayHintRefreshRequest=i={}))}),i$=X(r=>{Object.defineProperty(r,"__esModule",{value:!0}),r.DiagnosticRefreshRequest=r.WorkspaceDiagnosticRequest=r.DocumentDiagnosticRequest=r.DocumentDiagnosticReportKind=r.DiagnosticServerCancellationData=void 0;var e=Qs(),t=Pp(),n=Ie(),i;(function(c){function d(p){let f=p;return f&&t.boolean(f.retriggerRequest)}s(d,"is"),c.is=d})(i||(r.DiagnosticServerCancellationData=i={}));var a;(function(c){c.Full="full",c.Unchanged="unchanged"})(a||(r.DocumentDiagnosticReportKind=a={}));var o;(function(c){c.method="textDocument/diagnostic",c.messageDirection=n.MessageDirection.clientToServer,c.type=new n.ProtocolRequestType(c.method),c.partialResult=new e.ProgressType})(o||(r.DocumentDiagnosticRequest=o={}));var u;(function(c){c.method="workspace/diagnostic",c.messageDirection=n.MessageDirection.clientToServer,c.type=new n.ProtocolRequestType(c.method),c.partialResult=new e.ProgressType})(u||(r.WorkspaceDiagnosticRequest=u={}));var l;(function(c){c.method="workspace/diagnostic/refresh",c.messageDirection=n.MessageDirection.serverToClient,c.type=new n.ProtocolRequestType0(c.method)})(l||(r.DiagnosticRefreshRequest=l={}))}),a$=X(r=>{Object.defineProperty(r,"__esModule",{value:!0}),r.DidCloseNotebookDocumentNotification=r.DidSaveNotebookDocumentNotification=r.DidChangeNotebookDocumentNotification=r.NotebookCellArrayChange=r.DidOpenNotebookDocumentNotification=r.NotebookDocumentSyncRegistrationType=r.NotebookDocument=r.NotebookCell=r.ExecutionSummary=r.NotebookCellKind=void 0;var e=(fl(),Np(Bu)),t=Pp(),n=Ie(),i;(function(m){m.Markup=1,m.Code=2;function $(x){return x===1||x===2}s($,"is"),m.is=$})(i||(r.NotebookCellKind=i={}));var a;(function(m){function $(N,C){let I={executionOrder:N};return(C===!0||C===!1)&&(I.success=C),I}s($,"create"),m.create=$;function x(N){let C=N;return t.objectLiteral(C)&&e.uinteger.is(C.executionOrder)&&(C.success===void 0||t.boolean(C.success))}s(x,"is"),m.is=x;function A(N,C){return N===C?!0:N==null||C===null||C===void 0?!1:N.executionOrder===C.executionOrder&&N.success===C.success}s(A,"equals"),m.equals=A})(a||(r.ExecutionSummary=a={}));var o;(function(m){function $(C,I){return{kind:C,document:I}}s($,"create"),m.create=$;function x(C){let I=C;return t.objectLiteral(I)&&i.is(I.kind)&&e.DocumentUri.is(I.document)&&(I.metadata===void 0||t.objectLiteral(I.metadata))}s(x,"is"),m.is=x;function A(C,I){let Y=new Set;return C.document!==I.document&&Y.add("document"),C.kind!==I.kind&&Y.add("kind"),C.executionSummary!==I.executionSummary&&Y.add("executionSummary"),(C.metadata!==void 0||I.metadata!==void 0)&&!N(C.metadata,I.metadata)&&Y.add("metadata"),(C.executionSummary!==void 0||I.executionSummary!==void 0)&&!a.equals(C.executionSummary,I.executionSummary)&&Y.add("executionSummary"),Y}s(A,"diff"),m.diff=A;function N(C,I){if(C===I)return!0;if(C==null||I===null||I===void 0||typeof C!=typeof I||typeof C!="object")return!1;let Y=Array.isArray(C),ne=Array.isArray(I);if(Y!==ne)return!1;if(Y&&ne){if(C.length!==I.length)return!1;for(let J=0;J<C.length;J++)if(!N(C[J],I[J]))return!1}if(t.objectLiteral(C)&&t.objectLiteral(I)){let J=Object.keys(C),ye=Object.keys(I);if(J.length!==ye.length||(J.sort(),ye.sort(),!N(J,ye)))return!1;for(let Ce=0;Ce<J.length;Ce++){let Se=J[Ce];if(!N(C[Se],I[Se]))return!1}}return!0}s(N,"equalsMetadata")})(o||(r.NotebookCell=o={}));var u;(function(m){function $(A,N,C,I){return{uri:A,notebookType:N,version:C,cells:I}}s($,"create"),m.create=$;function x(A){let N=A;return t.objectLiteral(N)&&t.string(N.uri)&&e.integer.is(N.version)&&t.typedArray(N.cells,o.is)}s(x,"is"),m.is=x})(u||(r.NotebookDocument=u={}));var l;(function(m){m.method="notebookDocument/sync",m.messageDirection=n.MessageDirection.clientToServer,m.type=new n.RegistrationType(m.method)})(l||(r.NotebookDocumentSyncRegistrationType=l={}));var c;(function(m){m.method="notebookDocument/didOpen",m.messageDirection=n.MessageDirection.clientToServer,m.type=new n.ProtocolNotificationType(m.method),m.registrationMethod=l.method})(c||(r.DidOpenNotebookDocumentNotification=c={}));var d;(function(m){function $(A){let N=A;return t.objectLiteral(N)&&e.uinteger.is(N.start)&&e.uinteger.is(N.deleteCount)&&(N.cells===void 0||t.typedArray(N.cells,o.is))}s($,"is"),m.is=$;function x(A,N,C){let I={start:A,deleteCount:N};return C!==void 0&&(I.cells=C),I}s(x,"create"),m.create=x})(d||(r.NotebookCellArrayChange=d={}));var p;(function(m){m.method="notebookDocument/didChange",m.messageDirection=n.MessageDirection.clientToServer,m.type=new n.ProtocolNotificationType(m.method),m.registrationMethod=l.method})(p||(r.DidChangeNotebookDocumentNotification=p={}));var f;(function(m){m.method="notebookDocument/didSave",m.messageDirection=n.MessageDirection.clientToServer,m.type=new n.ProtocolNotificationType(m.method),m.registrationMethod=l.method})(f||(r.DidSaveNotebookDocumentNotification=f={}));var g;(function(m){m.method="notebookDocument/didClose",m.messageDirection=n.MessageDirection.clientToServer,m.type=new n.ProtocolNotificationType(m.method),m.registrationMethod=l.method})(g||(r.DidCloseNotebookDocumentNotification=g={}))}),s$=X(r=>{Object.defineProperty(r,"__esModule",{value:!0}),r.InlineCompletionRequest=void 0;var e=Ie(),t;(function(n){n.method="textDocument/inlineCompletion",n.messageDirection=e.MessageDirection.clientToServer,n.type=new e.ProtocolRequestType(n.method)})(t||(r.InlineCompletionRequest=t={}))}),o$=X(r=>{Object.defineProperty(r,"__esModule",{value:!0}),r.WorkspaceSymbolRequest=r.CodeActionResolveRequest=r.CodeActionRequest=r.DocumentSymbolRequest=r.DocumentHighlightRequest=r.ReferencesRequest=r.DefinitionRequest=r.SignatureHelpRequest=r.SignatureHelpTriggerKind=r.HoverRequest=r.CompletionResolveRequest=r.CompletionRequest=r.CompletionTriggerKind=r.PublishDiagnosticsNotification=r.WatchKind=r.RelativePattern=r.FileChangeType=r.DidChangeWatchedFilesNotification=r.WillSaveTextDocumentWaitUntilRequest=r.WillSaveTextDocumentNotification=r.TextDocumentSaveReason=r.DidSaveTextDocumentNotification=r.DidCloseTextDocumentNotification=r.DidChangeTextDocumentNotification=r.TextDocumentContentChangeEvent=r.DidOpenTextDocumentNotification=r.TextDocumentSyncKind=r.TelemetryEventNotification=r.LogMessageNotification=r.ShowMessageRequest=r.ShowMessageNotification=r.MessageType=r.DidChangeConfigurationNotification=r.ExitNotification=r.ShutdownRequest=r.InitializedNotification=r.InitializeErrorCodes=r.InitializeRequest=r.WorkDoneProgressOptions=r.TextDocumentRegistrationOptions=r.StaticRegistrationOptions=r.PositionEncodingKind=r.FailureHandlingKind=r.ResourceOperationKind=r.UnregistrationRequest=r.RegistrationRequest=r.DocumentSelector=r.NotebookCellTextDocumentFilter=r.NotebookDocumentFilter=r.TextDocumentFilter=void 0,r.MonikerRequest=r.MonikerKind=r.UniquenessLevel=r.WillDeleteFilesRequest=r.DidDeleteFilesNotification=r.WillRenameFilesRequest=r.DidRenameFilesNotification=r.WillCreateFilesRequest=r.DidCreateFilesNotification=r.FileOperationPatternKind=r.LinkedEditingRangeRequest=r.ShowDocumentRequest=r.SemanticTokensRegistrationType=r.SemanticTokensRefreshRequest=r.SemanticTokensRangeRequest=r.SemanticTokensDeltaRequest=r.SemanticTokensRequest=r.TokenFormat=r.CallHierarchyPrepareRequest=r.CallHierarchyOutgoingCallsRequest=r.CallHierarchyIncomingCallsRequest=r.WorkDoneProgressCancelNotification=r.WorkDoneProgressCreateRequest=r.WorkDoneProgress=r.SelectionRangeRequest=r.DeclarationRequest=r.FoldingRangeRefreshRequest=r.FoldingRangeRequest=r.ColorPresentationRequest=r.DocumentColorRequest=r.ConfigurationRequest=r.DidChangeWorkspaceFoldersNotification=r.WorkspaceFoldersRequest=r.TypeDefinitionRequest=r.ImplementationRequest=r.ApplyWorkspaceEditRequest=r.ExecuteCommandRequest=r.PrepareRenameRequest=r.RenameRequest=r.PrepareSupportDefaultBehavior=r.DocumentOnTypeFormattingRequest=r.DocumentRangesFormattingRequest=r.DocumentRangeFormattingRequest=r.DocumentFormattingRequest=r.DocumentLinkResolveRequest=r.DocumentLinkRequest=r.CodeLensRefreshRequest=r.CodeLensResolveRequest=r.CodeLensRequest=r.WorkspaceSymbolResolveRequest=void 0,r.InlineCompletionRequest=r.DidCloseNotebookDocumentNotification=r.DidSaveNotebookDocumentNotification=r.DidChangeNotebookDocumentNotification=r.NotebookCellArrayChange=r.DidOpenNotebookDocumentNotification=r.NotebookDocumentSyncRegistrationType=r.NotebookDocument=r.NotebookCell=r.ExecutionSummary=r.NotebookCellKind=r.DiagnosticRefreshRequest=r.WorkspaceDiagnosticRequest=r.DocumentDiagnosticRequest=r.DocumentDiagnosticReportKind=r.DiagnosticServerCancellationData=r.InlayHintRefreshRequest=r.InlayHintResolveRequest=r.InlayHintRequest=r.InlineValueRefreshRequest=r.InlineValueRequest=r.TypeHierarchySupertypesRequest=r.TypeHierarchySubtypesRequest=r.TypeHierarchyPrepareRequest=void 0;var e=Ie(),t=(fl(),Np(Bu)),n=Pp(),i=UR();Object.defineProperty(r,"ImplementationRequest",{enumerable:!0,get:s(function(){return i.ImplementationRequest},"get")});var a=GR();Object.defineProperty(r,"TypeDefinitionRequest",{enumerable:!0,get:s(function(){return a.TypeDefinitionRequest},"get")});var o=zR();Object.defineProperty(r,"WorkspaceFoldersRequest",{enumerable:!0,get:s(function(){return o.WorkspaceFoldersRequest},"get")}),Object.defineProperty(r,"DidChangeWorkspaceFoldersNotification",{enumerable:!0,get:s(function(){return o.DidChangeWorkspaceFoldersNotification},"get")});var u=WR();Object.defineProperty(r,"ConfigurationRequest",{enumerable:!0,get:s(function(){return u.ConfigurationRequest},"get")});var l=KR();Object.defineProperty(r,"DocumentColorRequest",{enumerable:!0,get:s(function(){return l.DocumentColorRequest},"get")}),Object.defineProperty(r,"ColorPresentationRequest",{enumerable:!0,get:s(function(){return l.ColorPresentationRequest},"get")});var c=jR();Object.defineProperty(r,"FoldingRangeRequest",{enumerable:!0,get:s(function(){return c.FoldingRangeRequest},"get")}),Object.defineProperty(r,"FoldingRangeRefreshRequest",{enumerable:!0,get:s(function(){return c.FoldingRangeRefreshRequest},"get")});var d=VR();Object.defineProperty(r,"DeclarationRequest",{enumerable:!0,get:s(function(){return d.DeclarationRequest},"get")});var p=BR();Object.defineProperty(r,"SelectionRangeRequest",{enumerable:!0,get:s(function(){return p.SelectionRangeRequest},"get")});var f=HR();Object.defineProperty(r,"WorkDoneProgress",{enumerable:!0,get:s(function(){return f.WorkDoneProgress},"get")}),Object.defineProperty(r,"WorkDoneProgressCreateRequest",{enumerable:!0,get:s(function(){return f.WorkDoneProgressCreateRequest},"get")}),Object.defineProperty(r,"WorkDoneProgressCancelNotification",{enumerable:!0,get:s(function(){return f.WorkDoneProgressCancelNotification},"get")});var g=XR();Object.defineProperty(r,"CallHierarchyIncomingCallsRequest",{enumerable:!0,get:s(function(){return g.CallHierarchyIncomingCallsRequest},"get")}),Object.defineProperty(r,"CallHierarchyOutgoingCallsRequest",{enumerable:!0,get:s(function(){return g.CallHierarchyOutgoingCallsRequest},"get")}),Object.defineProperty(r,"CallHierarchyPrepareRequest",{enumerable:!0,get:s(function(){return g.CallHierarchyPrepareRequest},"get")});var m=YR();Object.defineProperty(r,"TokenFormat",{enumerable:!0,get:s(function(){return m.TokenFormat},"get")}),Object.defineProperty(r,"SemanticTokensRequest",{enumerable:!0,get:s(function(){return m.SemanticTokensRequest},"get")}),Object.defineProperty(r,"SemanticTokensDeltaRequest",{enumerable:!0,get:s(function(){return m.SemanticTokensDeltaRequest},"get")}),Object.defineProperty(r,"SemanticTokensRangeRequest",{enumerable:!0,get:s(function(){return m.SemanticTokensRangeRequest},"get")}),Object.defineProperty(r,"SemanticTokensRefreshRequest",{enumerable:!0,get:s(function(){return m.SemanticTokensRefreshRequest},"get")}),Object.defineProperty(r,"SemanticTokensRegistrationType",{enumerable:!0,get:s(function(){return m.SemanticTokensRegistrationType},"get")});var $=JR();Object.defineProperty(r,"ShowDocumentRequest",{enumerable:!0,get:s(function(){return $.ShowDocumentRequest},"get")});var x=QR();Object.defineProperty(r,"LinkedEditingRangeRequest",{enumerable:!0,get:s(function(){return x.LinkedEditingRangeRequest},"get")});var A=ZR();Object.defineProperty(r,"FileOperationPatternKind",{enumerable:!0,get:s(function(){return A.FileOperationPatternKind},"get")}),Object.defineProperty(r,"DidCreateFilesNotification",{enumerable:!0,get:s(function(){return A.DidCreateFilesNotification},"get")}),Object.defineProperty(r,"WillCreateFilesRequest",{enumerable:!0,get:s(function(){return A.WillCreateFilesRequest},"get")}),Object.defineProperty(r,"DidRenameFilesNotification",{enumerable:!0,get:s(function(){return A.DidRenameFilesNotification},"get")}),Object.defineProperty(r,"WillRenameFilesRequest",{enumerable:!0,get:s(function(){return A.WillRenameFilesRequest},"get")}),Object.defineProperty(r,"DidDeleteFilesNotification",{enumerable:!0,get:s(function(){return A.DidDeleteFilesNotification},"get")}),Object.defineProperty(r,"WillDeleteFilesRequest",{enumerable:!0,get:s(function(){return A.WillDeleteFilesRequest},"get")});var N=e$();Object.defineProperty(r,"UniquenessLevel",{enumerable:!0,get:s(function(){return N.UniquenessLevel},"get")}),Object.defineProperty(r,"MonikerKind",{enumerable:!0,get:s(function(){return N.MonikerKind},"get")}),Object.defineProperty(r,"MonikerRequest",{enumerable:!0,get:s(function(){return N.MonikerRequest},"get")});var C=t$();Object.defineProperty(r,"TypeHierarchyPrepareRequest",{enumerable:!0,get:s(function(){return C.TypeHierarchyPrepareRequest},"get")}),Object.defineProperty(r,"TypeHierarchySubtypesRequest",{enumerable:!0,get:s(function(){return C.TypeHierarchySubtypesRequest},"get")}),Object.defineProperty(r,"TypeHierarchySupertypesRequest",{enumerable:!0,get:s(function(){return C.TypeHierarchySupertypesRequest},"get")});var I=r$();Object.defineProperty(r,"InlineValueRequest",{enumerable:!0,get:s(function(){return I.InlineValueRequest},"get")}),Object.defineProperty(r,"InlineValueRefreshRequest",{enumerable:!0,get:s(function(){return I.InlineValueRefreshRequest},"get")});var Y=n$();Object.defineProperty(r,"InlayHintRequest",{enumerable:!0,get:s(function(){return Y.InlayHintRequest},"get")}),Object.defineProperty(r,"InlayHintResolveRequest",{enumerable:!0,get:s(function(){return Y.InlayHintResolveRequest},"get")}),Object.defineProperty(r,"InlayHintRefreshRequest",{enumerable:!0,get:s(function(){return Y.InlayHintRefreshRequest},"get")});var ne=i$();Object.defineProperty(r,"DiagnosticServerCancellationData",{enumerable:!0,get:s(function(){return ne.DiagnosticServerCancellationData},"get")}),Object.defineProperty(r,"DocumentDiagnosticReportKind",{enumerable:!0,get:s(function(){return ne.DocumentDiagnosticReportKind},"get")}),Object.defineProperty(r,"DocumentDiagnosticRequest",{enumerable:!0,get:s(function(){return ne.DocumentDiagnosticRequest},"get")}),Object.defineProperty(r,"WorkspaceDiagnosticRequest",{enumerable:!0,get:s(function(){return ne.WorkspaceDiagnosticRequest},"get")}),Object.defineProperty(r,"DiagnosticRefreshRequest",{enumerable:!0,get:s(function(){return ne.DiagnosticRefreshRequest},"get")});var J=a$();Object.defineProperty(r,"NotebookCellKind",{enumerable:!0,get:s(function(){return J.NotebookCellKind},"get")}),Object.defineProperty(r,"ExecutionSummary",{enumerable:!0,get:s(function(){return J.ExecutionSummary},"get")}),Object.defineProperty(r,"NotebookCell",{enumerable:!0,get:s(function(){return J.NotebookCell},"get")}),Object.defineProperty(r,"NotebookDocument",{enumerable:!0,get:s(function(){return J.NotebookDocument},"get")}),Object.defineProperty(r,"NotebookDocumentSyncRegistrationType",{enumerable:!0,get:s(function(){return J.NotebookDocumentSyncRegistrationType},"get")}),Object.defineProperty(r,"DidOpenNotebookDocumentNotification",{enumerable:!0,get:s(function(){return J.DidOpenNotebookDocumentNotification},"get")}),Object.defineProperty(r,"NotebookCellArrayChange",{enumerable:!0,get:s(function(){return J.NotebookCellArrayChange},"get")}),Object.defineProperty(r,"DidChangeNotebookDocumentNotification",{enumerable:!0,get:s(function(){return J.DidChangeNotebookDocumentNotification},"get")}),Object.defineProperty(r,"DidSaveNotebookDocumentNotification",{enumerable:!0,get:s(function(){return J.DidSaveNotebookDocumentNotification},"get")}),Object.defineProperty(r,"DidCloseNotebookDocumentNotification",{enumerable:!0,get:s(function(){return J.DidCloseNotebookDocumentNotification},"get")});var ye=s$();Object.defineProperty(r,"InlineCompletionRequest",{enumerable:!0,get:s(function(){return ye.InlineCompletionRequest},"get")});var Ce;(function(h){function se(xe){let H=xe;return n.string(H)||n.string(H.language)||n.string(H.scheme)||n.string(H.pattern)}s(se,"is"),h.is=se})(Ce||(r.TextDocumentFilter=Ce={}));var Se;(function(h){function se(xe){let H=xe;return n.objectLiteral(H)&&(n.string(H.notebookType)||n.string(H.scheme)||n.string(H.pattern))}s(se,"is"),h.is=se})(Se||(r.NotebookDocumentFilter=Se={}));var oe;(function(h){function se(xe){let H=xe;return n.objectLiteral(H)&&(n.string(H.notebook)||Se.is(H.notebook))&&(H.language===void 0||n.string(H.language))}s(se,"is"),h.is=se})(oe||(r.NotebookCellTextDocumentFilter=oe={}));var Qe;(function(h){function se(xe){if(!Array.isArray(xe))return!1;for(let H of xe)if(!n.string(H)&&!Ce.is(H)&&!oe.is(H))return!1;return!0}s(se,"is"),h.is=se})(Qe||(r.DocumentSelector=Qe={}));var L;(function(h){h.method="client/registerCapability",h.messageDirection=e.MessageDirection.serverToClient,h.type=new e.ProtocolRequestType(h.method)})(L||(r.RegistrationRequest=L={}));var k;(function(h){h.method="client/unregisterCapability",h.messageDirection=e.MessageDirection.serverToClient,h.type=new e.ProtocolRequestType(h.method)})(k||(r.UnregistrationRequest=k={}));var T;(function(h){h.Create="create",h.Rename="rename",h.Delete="delete"})(T||(r.ResourceOperationKind=T={}));var b;(function(h){h.Abort="abort",h.Transactional="transactional",h.TextOnlyTransactional="textOnlyTransactional",h.Undo="undo"})(b||(r.FailureHandlingKind=b={}));var v;(function(h){h.UTF8="utf-8",h.UTF16="utf-16",h.UTF32="utf-32"})(v||(r.PositionEncodingKind=v={}));var R;(function(h){function se(xe){let H=xe;return H&&n.string(H.id)&&H.id.length>0}s(se,"hasId"),h.hasId=se})(R||(r.StaticRegistrationOptions=R={}));var S;(function(h){function se(xe){let H=xe;return H&&(H.documentSelector===null||Qe.is(H.documentSelector))}s(se,"is"),h.is=se})(S||(r.TextDocumentRegistrationOptions=S={}));var D;(function(h){function se(H){let Oe=H;return n.objectLiteral(Oe)&&(Oe.workDoneProgress===void 0||n.boolean(Oe.workDoneProgress))}s(se,"is"),h.is=se;function xe(H){let Oe=H;return Oe&&n.boolean(Oe.workDoneProgress)}s(xe,"hasWorkDoneProgress"),h.hasWorkDoneProgress=xe})(D||(r.WorkDoneProgressOptions=D={}));var M;(function(h){h.method="initialize",h.messageDirection=e.MessageDirection.clientToServer,h.type=new e.ProtocolRequestType(h.method)})(M||(r.InitializeRequest=M={}));var O;(function(h){h.unknownProtocolVersion=1})(O||(r.InitializeErrorCodes=O={}));var z;(function(h){h.method="initialized",h.messageDirection=e.MessageDirection.clientToServer,h.type=new e.ProtocolNotificationType(h.method)})(z||(r.InitializedNotification=z={}));var q;(function(h){h.method="shutdown",h.messageDirection=e.MessageDirection.clientToServer,h.type=new e.ProtocolRequestType0(h.method)})(q||(r.ShutdownRequest=q={}));var re;(function(h){h.method="exit",h.messageDirection=e.MessageDirection.clientToServer,h.type=new e.ProtocolNotificationType0(h.method)})(re||(r.ExitNotification=re={}));var W;(function(h){h.method="workspace/didChangeConfiguration",h.messageDirection=e.MessageDirection.clientToServer,h.type=new e.ProtocolNotificationType(h.method)})(W||(r.DidChangeConfigurationNotification=W={}));var ee;(function(h){h.Error=1,h.Warning=2,h.Info=3,h.Log=4,h.Debug=5})(ee||(r.MessageType=ee={}));var de;(function(h){h.method="window/showMessage",h.messageDirection=e.MessageDirection.serverToClient,h.type=new e.ProtocolNotificationType(h.method)})(de||(r.ShowMessageNotification=de={}));var pe;(function(h){h.method="window/showMessageRequest",h.messageDirection=e.MessageDirection.serverToClient,h.type=new e.ProtocolRequestType(h.method)})(pe||(r.ShowMessageRequest=pe={}));var fe;(function(h){h.method="window/logMessage",h.messageDirection=e.MessageDirection.serverToClient,h.type=new e.ProtocolNotificationType(h.method)})(fe||(r.LogMessageNotification=fe={}));var Te;(function(h){h.method="telemetry/event",h.messageDirection=e.MessageDirection.serverToClient,h.type=new e.ProtocolNotificationType(h.method)})(Te||(r.TelemetryEventNotification=Te={}));var be;(function(h){h.None=0,h.Full=1,h.Incremental=2})(be||(r.TextDocumentSyncKind=be={}));var he;(function(h){h.method="textDocument/didOpen",h.messageDirection=e.MessageDirection.clientToServer,h.type=new e.ProtocolNotificationType(h.method)})(he||(r.DidOpenTextDocumentNotification=he={}));var Q;(function(h){function se(H){let Oe=H;return Oe!=null&&typeof Oe.text=="string"&&Oe.range!==void 0&&(Oe.rangeLength===void 0||typeof Oe.rangeLength=="number")}s(se,"isIncremental"),h.isIncremental=se;function xe(H){let Oe=H;return Oe!=null&&typeof Oe.text=="string"&&Oe.range===void 0&&Oe.rangeLength===void 0}s(xe,"isFull"),h.isFull=xe})(Q||(r.TextDocumentContentChangeEvent=Q={}));var Fe;(function(h){h.method="textDocument/didChange",h.messageDirection=e.MessageDirection.clientToServer,h.type=new e.ProtocolNotificationType(h.method)})(Fe||(r.DidChangeTextDocumentNotification=Fe={}));var le;(function(h){h.method="textDocument/didClose",h.messageDirection=e.MessageDirection.clientToServer,h.type=new e.ProtocolNotificationType(h.method)})(le||(r.DidCloseTextDocumentNotification=le={}));var We;(function(h){h.method="textDocument/didSave",h.messageDirection=e.MessageDirection.clientToServer,h.type=new e.ProtocolNotificationType(h.method)})(We||(r.DidSaveTextDocumentNotification=We={}));var ve;(function(h){h.Manual=1,h.AfterDelay=2,h.FocusOut=3})(ve||(r.TextDocumentSaveReason=ve={}));var F;(function(h){h.method="textDocument/willSave",h.messageDirection=e.MessageDirection.clientToServer,h.type=new e.ProtocolNotificationType(h.method)})(F||(r.WillSaveTextDocumentNotification=F={}));var qe;(function(h){h.method="textDocument/willSaveWaitUntil",h.messageDirection=e.MessageDirection.clientToServer,h.type=new e.ProtocolRequestType(h.method)})(qe||(r.WillSaveTextDocumentWaitUntilRequest=qe={}));var Wt;(function(h){h.method="workspace/didChangeWatchedFiles",h.messageDirection=e.MessageDirection.clientToServer,h.type=new e.ProtocolNotificationType(h.method)})(Wt||(r.DidChangeWatchedFilesNotification=Wt={}));var Ct;(function(h){h.Created=1,h.Changed=2,h.Deleted=3})(Ct||(r.FileChangeType=Ct={}));var Re;(function(h){function se(xe){let H=xe;return n.objectLiteral(H)&&(t.URI.is(H.baseUri)||t.WorkspaceFolder.is(H.baseUri))&&n.string(H.pattern)}s(se,"is"),h.is=se})(Re||(r.RelativePattern=Re={}));var Xn;(function(h){h.Create=1,h.Change=2,h.Delete=4})(Xn||(r.WatchKind=Xn={}));var so;(function(h){h.method="textDocument/publishDiagnostics",h.messageDirection=e.MessageDirection.serverToClient,h.type=new e.ProtocolNotificationType(h.method)})(so||(r.PublishDiagnosticsNotification=so={}));var oo;(function(h){h.Invoked=1,h.TriggerCharacter=2,h.TriggerForIncompleteCompletions=3})(oo||(r.CompletionTriggerKind=oo={}));var lo;(function(h){h.method="textDocument/completion",h.messageDirection=e.MessageDirection.clientToServer,h.type=new e.ProtocolRequestType(h.method)})(lo||(r.CompletionRequest=lo={}));var uo;(function(h){h.method="completionItem/resolve",h.messageDirection=e.MessageDirection.clientToServer,h.type=new e.ProtocolRequestType(h.method)})(uo||(r.CompletionResolveRequest=uo={}));var Yn;(function(h){h.method="textDocument/hover",h.messageDirection=e.MessageDirection.clientToServer,h.type=new e.ProtocolRequestType(h.method)})(Yn||(r.HoverRequest=Yn={}));var Jn;(function(h){h.Invoked=1,h.TriggerCharacter=2,h.ContentChange=3})(Jn||(r.SignatureHelpTriggerKind=Jn={}));var Kt;(function(h){h.method="textDocument/signatureHelp",h.messageDirection=e.MessageDirection.clientToServer,h.type=new e.ProtocolRequestType(h.method)})(Kt||(r.SignatureHelpRequest=Kt={}));var Qn;(function(h){h.method="textDocument/definition",h.messageDirection=e.MessageDirection.clientToServer,h.type=new e.ProtocolRequestType(h.method)})(Qn||(r.DefinitionRequest=Qn={}));var co;(function(h){h.method="textDocument/references",h.messageDirection=e.MessageDirection.clientToServer,h.type=new e.ProtocolRequestType(h.method)})(co||(r.ReferencesRequest=co={}));var po;(function(h){h.method="textDocument/documentHighlight",h.messageDirection=e.MessageDirection.clientToServer,h.type=new e.ProtocolRequestType(h.method)})(po||(r.DocumentHighlightRequest=po={}));var Zn;(function(h){h.method="textDocument/documentSymbol",h.messageDirection=e.MessageDirection.clientToServer,h.type=new e.ProtocolRequestType(h.method)})(Zn||(r.DocumentSymbolRequest=Zn={}));var ei;(function(h){h.method="textDocument/codeAction",h.messageDirection=e.MessageDirection.clientToServer,h.type=new e.ProtocolRequestType(h.method)})(ei||(r.CodeActionRequest=ei={}));var fo;(function(h){h.method="codeAction/resolve",h.messageDirection=e.MessageDirection.clientToServer,h.type=new e.ProtocolRequestType(h.method)})(fo||(r.CodeActionResolveRequest=fo={}));var kl;(function(h){h.method="workspace/symbol",h.messageDirection=e.MessageDirection.clientToServer,h.type=new e.ProtocolRequestType(h.method)})(kl||(r.WorkspaceSymbolRequest=kl={}));var ho;(function(h){h.method="workspaceSymbol/resolve",h.messageDirection=e.MessageDirection.clientToServer,h.type=new e.ProtocolRequestType(h.method)})(ho||(r.WorkspaceSymbolResolveRequest=ho={}));var mo;(function(h){h.method="textDocument/codeLens",h.messageDirection=e.MessageDirection.clientToServer,h.type=new e.ProtocolRequestType(h.method)})(mo||(r.CodeLensRequest=mo={}));var go;(function(h){h.method="codeLens/resolve",h.messageDirection=e.MessageDirection.clientToServer,h.type=new e.ProtocolRequestType(h.method)})(go||(r.CodeLensResolveRequest=go={}));var yo;(function(h){h.method="workspace/codeLens/refresh",h.messageDirection=e.MessageDirection.serverToClient,h.type=new e.ProtocolRequestType0(h.method)})(yo||(r.CodeLensRefreshRequest=yo={}));var At;(function(h){h.method="textDocument/documentLink",h.messageDirection=e.MessageDirection.clientToServer,h.type=new e.ProtocolRequestType(h.method)})(At||(r.DocumentLinkRequest=At={}));var To;(function(h){h.method="documentLink/resolve",h.messageDirection=e.MessageDirection.clientToServer,h.type=new e.ProtocolRequestType(h.method)})(To||(r.DocumentLinkResolveRequest=To={}));var vo;(function(h){h.method="textDocument/formatting",h.messageDirection=e.MessageDirection.clientToServer,h.type=new e.ProtocolRequestType(h.method)})(vo||(r.DocumentFormattingRequest=vo={}));var Cr;(function(h){h.method="textDocument/rangeFormatting",h.messageDirection=e.MessageDirection.clientToServer,h.type=new e.ProtocolRequestType(h.method)})(Cr||(r.DocumentRangeFormattingRequest=Cr={}));var Ro;(function(h){h.method="textDocument/rangesFormatting",h.messageDirection=e.MessageDirection.clientToServer,h.type=new e.ProtocolRequestType(h.method)})(Ro||(r.DocumentRangesFormattingRequest=Ro={}));var Fr;(function(h){h.method="textDocument/onTypeFormatting",h.messageDirection=e.MessageDirection.clientToServer,h.type=new e.ProtocolRequestType(h.method)})(Fr||(r.DocumentOnTypeFormattingRequest=Fr={}));var $o;(function(h){h.Identifier=1})($o||(r.PrepareSupportDefaultBehavior=$o={}));var jt;(function(h){h.method="textDocument/rename",h.messageDirection=e.MessageDirection.clientToServer,h.type=new e.ProtocolRequestType(h.method)})(jt||(r.RenameRequest=jt={}));var nr;(function(h){h.method="textDocument/prepareRename",h.messageDirection=e.MessageDirection.clientToServer,h.type=new e.ProtocolRequestType(h.method)})(nr||(r.PrepareRenameRequest=nr={}));var Eo;(function(h){h.method="workspace/executeCommand",h.messageDirection=e.MessageDirection.clientToServer,h.type=new e.ProtocolRequestType(h.method)})(Eo||(r.ExecuteCommandRequest=Eo={}));var Co;(function(h){h.method="workspace/applyEdit",h.messageDirection=e.MessageDirection.serverToClient,h.type=new e.ProtocolRequestType("workspace/applyEdit")})(Co||(r.ApplyWorkspaceEditRequest=Co={}))}),l$=X(r=>{Object.defineProperty(r,"__esModule",{value:!0}),r.createProtocolConnection=void 0;var e=Qs();function t(n,i,a,o){return e.ConnectionStrategy.is(o)&&(o={connectionStrategy:o}),(0,e.createMessageConnection)(n,i,a,o)}s(t,"createProtocolConnection"),r.createProtocolConnection=t}),u$=X(r=>{var e=r&&r.__createBinding||(Object.create?function(a,o,u,l){l===void 0&&(l=u);var c=Object.getOwnPropertyDescriptor(o,u);(!c||("get"in c?!o.__esModule:c.writable||c.configurable))&&(c={enumerable:!0,get:s(function(){return o[u]},"get")}),Object.defineProperty(a,l,c)}:function(a,o,u,l){l===void 0&&(l=u),a[l]=o[u]}),t=r&&r.__exportStar||function(a,o){for(var u in a)u!=="default"&&!Object.prototype.hasOwnProperty.call(o,u)&&e(o,a,u)};Object.defineProperty(r,"__esModule",{value:!0}),r.LSPErrorCodes=r.createProtocolConnection=void 0,t(Qs(),r),t((fl(),Np(Bu)),r),t(Ie(),r),t(o$(),r);var n=l$();Object.defineProperty(r,"createProtocolConnection",{enumerable:!0,get:s(function(){return n.createProtocolConnection},"get")});var i;(function(a){a.lspReservedErrorRangeStart=-32899,a.RequestFailed=-32803,a.ServerCancelled=-32802,a.ContentModified=-32801,a.RequestCancelled=-32800,a.lspReservedErrorRangeEnd=-32800})(i||(r.LSPErrorCodes=i={}))}),c$=X(r=>{var e=r&&r.__createBinding||(Object.create?function(a,o,u,l){l===void 0&&(l=u);var c=Object.getOwnPropertyDescriptor(o,u);(!c||("get"in c?!o.__esModule:c.writable||c.configurable))&&(c={enumerable:!0,get:s(function(){return o[u]},"get")}),Object.defineProperty(a,l,c)}:function(a,o,u,l){l===void 0&&(l=u),a[l]=o[u]}),t=r&&r.__exportStar||function(a,o){for(var u in a)u!=="default"&&!Object.prototype.hasOwnProperty.call(o,u)&&e(o,a,u)};Object.defineProperty(r,"__esModule",{value:!0}),r.createProtocolConnection=void 0;var n=Qh();t(Qh(),r),t(u$(),r);function i(a,o,u,l){return(0,n.createMessageConnection)(a,o,u,l)}s(i,"createProtocolConnection"),r.createProtocolConnection=i}),Mm={};Or(Mm,{AbstractAstReflection:()=>Op,AbstractCstNode:()=>lh,AbstractLangiumParser:()=>ch,AbstractParserErrorMessageProvider:()=>QT,AbstractThreadedAsyncParser:()=>uE,AstUtils:()=>_p,BiMap:()=>Uu,Cancellation:()=>Ee,CompositeCstNodeImpl:()=>vc,ContextCache:()=>Sc,CstNodeBuilder:()=>XT,CstUtils:()=>Lp,DEFAULT_TOKENIZE_OPTIONS:()=>xh,DONE_RESULT:()=>et,DatatypeSymbol:()=>_u,DefaultAstNodeDescriptionProvider:()=>xv,DefaultAstNodeLocator:()=>wv,DefaultAsyncParser:()=>Hv,DefaultCommentProvider:()=>Bv,DefaultConfigurationProvider:()=>Iv,DefaultDocumentBuilder:()=>Pv,DefaultDocumentValidator:()=>bv,DefaultHydrator:()=>Yv,DefaultIndexManager:()=>Lv,DefaultJsonSerializer:()=>Cv,DefaultLangiumDocumentFactory:()=>hv,DefaultLangiumDocuments:()=>mv,DefaultLangiumProfiler:()=>hE,DefaultLexer:()=>Nh,DefaultLexerErrorMessageProvider:()=>Ov,DefaultLinker:()=>gv,DefaultNameProvider:()=>yv,DefaultReferenceDescriptionProvider:()=>Nv,DefaultReferences:()=>Tv,DefaultScopeComputation:()=>vv,DefaultScopeProvider:()=>Ev,DefaultServiceRegistry:()=>Av,DefaultTokenBuilder:()=>Ec,DefaultValueConverter:()=>yh,DefaultWorkspaceLock:()=>Xv,DefaultWorkspaceManager:()=>Dv,Deferred:()=>yr,Disposable:()=>pn,DisposableCache:()=>kc,DocumentCache:()=>$v,DocumentState:()=>Z,DocumentValidator:()=>kt,EMPTY_SCOPE:()=>aE,EMPTY_STREAM:()=>Ws,EmptyFileSystem:()=>zt,EmptyFileSystemProvider:()=>Zv,ErrorWithLocation:()=>nc,GrammarAST:()=>Um,GrammarUtils:()=>ff,IndentationAwareLexer:()=>dE,IndentationAwareTokenBuilder:()=>Qv,JSDocDocumentationProvider:()=>Vv,LangiumCompletionParser:()=>ZT,LangiumParser:()=>JT,LangiumParserErrorMessageProvider:()=>dh,LeafCstNodeImpl:()=>Ou,LexingMode:()=>cn,MapScope:()=>iE,Module:()=>gp,MultiMap:()=>Tr,MultiMapScope:()=>Rv,OperationCancelled:()=>Zt,ParserWorker:()=>cE,ProfilingTask:()=>tR,Reduction:()=>il,RefResolving:()=>jr,RegExpUtils:()=>mf,RootCstNodeImpl:()=>uh,SimpleCache:()=>Ch,StreamImpl:()=>Qt,StreamScope:()=>pp,TextDocument:()=>Fu,TreeStreamImpl:()=>Ks,URI:()=>yt,UriTrie:()=>$h,UriUtils:()=>rt,VALIDATE_EACH_NODE:()=>Sv,ValidationCategory:()=>Gu,ValidationRegistry:()=>kv,ValueConverter:()=>Yt,WorkspaceCache:()=>Ah,assertCondition:()=>hf,assertUnreachable:()=>_r,createCompletionParser:()=>hh,createDefaultCoreModule:()=>Nt,createDefaultSharedCoreModule:()=>wt,createGrammarConfig:()=>Lf,createLangiumParser:()=>mh,createParser:()=>Rc,delayNextTick:()=>Cc,diagnosticData:()=>un,eagerLoad:()=>_h,getDiagnosticRange:()=>Sh,indentationBuilderDefaultOptions:()=>Tp,inject:()=>De,interruptAndCheck:()=>Ve,isAstNode:()=>Ue,isAstNodeDescription:()=>Dp,isAstNodeWithComment:()=>kh,isCompositeCstNode:()=>dr,isIMultiModeLexerDefinition:()=>Nc,isJSDoc:()=>Ih,isLeafCstNode:()=>Gn,isLinkingError:()=>Hr,isMultiReference:()=>er,isNamed:()=>Eh,isOperationCancelled:()=>Hn,isReference:()=>tt,isRootCstNode:()=>Xu,isTokenTypeArray:()=>xc,isTokenTypeDictionary:()=>zu,loadGrammarFromJson:()=>It,parseJSDoc:()=>wh,prepareLangiumParser:()=>gh,setInterruptionPeriod:()=>Th,startCancelableOperation:()=>Ac,stream:()=>ce,toDiagnosticData:()=>bh,toDiagnosticSeverity:()=>el});var Lp={};Or(Lp,{DefaultNameRegexp:()=>lf,RangeComparison:()=>Jt,compareRange:()=>sf,findCommentNode:()=>uf,findDeclarationNodeAtOffset:()=>ag,findLeafNodeAtOffset:()=>rc,findLeafNodeBeforeOffset:()=>cf,flattenCst:()=>ig,getDatatypeNode:()=>ng,getInteriorNodes:()=>lg,getNextNode:()=>sg,getPreviousNode:()=>pf,getStartlineNode:()=>og,inRange:()=>of,isChildNode:()=>af,isCommentNode:()=>Eu,streamCst:()=>Hs,toDocumentSegment:()=>Xs,tokenToRange:()=>al});function Ue(r){return typeof r=="object"&&r!==null&&typeof r.$type=="string"}s(Ue,"isAstNode");function tt(r){return typeof r=="object"&&r!==null&&typeof r.$refText=="string"&&"ref"in r}s(tt,"isReference");function er(r){return typeof r=="object"&&r!==null&&typeof r.$refText=="string"&&"items"in r}s(er,"isMultiReference");function Dp(r){return typeof r=="object"&&r!==null&&typeof r.name=="string"&&typeof r.type=="string"&&typeof r.path=="string"}s(Dp,"isAstNodeDescription");function Hr(r){return typeof r=="object"&&r!==null&&typeof r.info=="object"&&typeof r.message=="string"}s(Hr,"isLinkingError");var Si,Op=(Si=class{constructor(){this.subtypes={},this.allSubtypes={}}getAllTypes(){return Object.keys(this.types)}getReferenceType(e){var i;let t=this.types[e.container.$type];if(!t)throw new Error(`Type ${e.container.$type||"undefined"} not found.`);let n=(i=t.properties[e.property])==null?void 0:i.referenceType;if(!n)throw new Error(`Property ${e.property||"undefined"} of type ${e.container.$type} is not a reference.`);return n}getTypeMetaData(e){return this.types[e]||{name:e,properties:{},superTypes:[]}}isInstance(e,t){return Ue(e)&&this.isSubtype(e.$type,t)}isSubtype(e,t){if(e===t)return!0;let n=this.subtypes[e];n||(n=this.subtypes[e]={});let i=n[t];if(i!==void 0)return i;{let a=this.types[e],o=a?a.superTypes.some(u=>this.isSubtype(u,t)):!1;return n[t]=o,o}}getAllSubTypes(e){let t=this.allSubtypes[e];if(t)return t;{let n=this.getAllTypes(),i=[];for(let a of n)this.isSubtype(a,e)&&i.push(a);return this.allSubtypes[e]=i,i}}},s(Si,"AbstractAstReflection"),Si);function dr(r){return typeof r=="object"&&r!==null&&Array.isArray(r.content)}s(dr,"isCompositeCstNode");function Gn(r){return typeof r=="object"&&r!==null&&typeof r.tokenType=="object"}s(Gn,"isLeafCstNode");function Xu(r){return dr(r)&&typeof r.fullText=="string"}s(Xu,"isRootCstNode");var dt,Qt=(dt=class{constructor(e,t){this.startFn=e,this.nextFn=t}iterator(){let e={state:this.startFn(),next:s(()=>this.nextFn(e.state),"next"),[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(i=>[e?e(i):i,t?t(i):i]);return new Map(n)}toString(){return this.join()}concat(e){return new dt(()=>({first:this.startFn(),firstDone:!1,iterator:e[Symbol.iterator]()}),t=>{let n;if(!t.firstDone){do if(n=this.nextFn(t.first),!n.done)return n;while(!n.done);t.firstDone=!0}do if(n=t.iterator.next(),!n.done)return n;while(!n.done);return et})}join(e=","){let t=this.iterator(),n="",i,a=!1;do i=t.next(),i.done||(a&&(n+=e),n+=Fm(i.value)),a=!0;while(!i.done);return n}indexOf(e,t=0){let n=this.iterator(),i=0,a=n.next();for(;!a.done;){if(i>=t&&a.value===e)return i;a=n.next(),i++}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,i=t.next();for(;!i.done;)e(i.value,n),i=t.next(),n++}map(e){return new dt(this.startFn,t=>{let{done:n,value:i}=this.nextFn(t);return n?et:{done:!1,value:e(i)}})}filter(e){return new dt(this.startFn,t=>{let n;do if(n=this.nextFn(t),!n.done&&e(n.value))return n;while(!n.done);return et})}nonNullable(){return this.filter(e=>e!=null)}reduce(e,t){let n=this.iterator(),i=t,a=n.next();for(;!a.done;)i===void 0?i=a.value:i=e(i,a.value),a=n.next();return i}reduceRight(e,t){return this.recursiveReduce(this.iterator(),e,t)}recursiveReduce(e,t,n){let i=e.next();if(i.done)return n;let a=this.recursiveReduce(e,t,n);return a===void 0?i.value:t(a,i.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,i=t.next();for(;!i.done;){if(e(i.value))return n;i=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(e){return new dt(()=>({this:this.startFn()}),t=>{do{if(t.iterator){let a=t.iterator.next();if(a.done)t.iterator=void 0;else return a}let{done:n,value:i}=this.nextFn(t.this);if(!n){let a=e(i);if(nl(a))t.iterator=a[Symbol.iterator]();else return{done:!1,value:a}}}while(t.iterator);return et})}flat(e){if(e===void 0&&(e=1),e<=0)return this;let t=e>1?this.flat(e-1):this;return new dt(()=>({this:t.startFn()}),n=>{do{if(n.iterator){let o=n.iterator.next();if(o.done)n.iterator=void 0;else return o}let{done:i,value:a}=t.nextFn(n.this);if(!i)if(nl(a))n.iterator=a[Symbol.iterator]();else return{done:!1,value:a}}while(n.iterator);return et})}head(){let e=this.iterator().next();if(!e.done)return e.value}tail(e=1){return new dt(()=>{let t=this.startFn();for(let n=0;n<e;n++)if(this.nextFn(t).done)return t;return t},this.nextFn)}limit(e){return new dt(()=>({size:0,state:this.startFn()}),t=>(t.size++,t.size>e?et:this.nextFn(t.state)))}distinct(e){return new dt(()=>({set:new Set,internalState:this.startFn()}),t=>{let n;do if(n=this.nextFn(t.internalState),!n.done){let i=e?e(n.value):n.value;if(!t.set.has(i))return t.set.add(i),n}while(!n.done);return et})}exclude(e,t){let n=new Set;for(let i of e){let a=t?t(i):i;n.add(a)}return this.filter(i=>{let a=t?t(i):i;return!n.has(a)})}},s(dt,"StreamImpl"),dt);function Fm(r){return typeof r=="string"?r:typeof r>"u"?"undefined":typeof r.toString=="function"?r.toString():Object.prototype.toString.call(r)}s(Fm,"toString");function nl(r){return!!r&&typeof r[Symbol.iterator]=="function"}s(nl,"isIterable");var Ws=new Qt(()=>{},()=>et),et=Object.freeze({done:!0,value:void 0});function ce(...r){if(r.length===1){let e=r[0];if(e instanceof Qt)return e;if(nl(e))return new Qt(()=>e[Symbol.iterator](),t=>t.next());if(typeof e.length=="number")return new Qt(()=>({index:0}),t=>t.index<e.length?{done:!1,value:e[t.index++]}:et)}return r.length>1?new Qt(()=>({collIndex:0,arrIndex:0}),e=>{do{if(e.iterator){let t=e.iterator.next();if(!t.done)return t;e.iterator=void 0}if(e.array){if(e.arrIndex<e.array.length)return{done:!1,value:e.array[e.arrIndex++]};e.array=void 0,e.arrIndex=0}if(e.collIndex<r.length){let t=r[e.collIndex++];nl(t)?e.iterator=t[Symbol.iterator]():t&&typeof t.length=="number"&&(e.array=t)}}while(e.iterator||e.array||e.collIndex<r.length);return et}):Ws}s(ce,"stream");var bi,Ks=(bi=class extends Qt{constructor(e,t,n){super(()=>({iterators:n!=null&&n.includeRoot?[[e][Symbol.iterator]()]:[t(e)[Symbol.iterator]()],pruned:!1}),i=>{for(i.pruned&&(i.iterators.pop(),i.pruned=!1);i.iterators.length>0;){let a=i.iterators[i.iterators.length-1].next();if(a.done)i.iterators.pop();else return i.iterators.push(t(a.value)[Symbol.iterator]()),a}return et})}iterator(){let e={state:this.startFn(),next:s(()=>this.nextFn(e.state),"next"),prune:s(()=>{e.state.pruned=!0},"prune"),[Symbol.iterator]:()=>e};return e}},s(bi,"TreeStreamImpl"),bi),il;(function(r){function e(a){return a.reduce((o,u)=>o+u,0)}s(e,"sum"),r.sum=e;function t(a){return a.reduce((o,u)=>o*u,0)}s(t,"product"),r.product=t;function n(a){return a.reduce((o,u)=>Math.min(o,u))}s(n,"min"),r.min=n;function i(a){return a.reduce((o,u)=>Math.max(o,u))}s(i,"max"),r.max=i})(il||(il={}));var _p={};Or(_p,{assignMandatoryProperties:()=>Mp,copyAstNode:()=>lu,findRootNode:()=>Ai,getContainerOfType:()=>zn,getDocument:()=>Ft,getReferenceNodes:()=>su,hasContainerOfType:()=>qm,linkContentToContainer:()=>js,streamAllContents:()=>vr,streamAst:()=>qt,streamContents:()=>ml,streamReferences:()=>Vs});function js(r,e={}){for(let[t,n]of Object.entries(r))t.startsWith("$")||(Array.isArray(n)?n.forEach((i,a)=>{Ue(i)&&(i.$container=r,i.$containerProperty=t,i.$containerIndex=a,e.deep&&js(i,e))}):Ue(n)&&(n.$container=r,n.$containerProperty=t,e.deep&&js(n,e)))}s(js,"linkContentToContainer");function zn(r,e){let t=r;for(;t;){if(e(t))return t;t=t.$container}}s(zn,"getContainerOfType");function qm(r,e){let t=r;for(;t;){if(e(t))return!0;t=t.$container}return!1}s(qm,"hasContainerOfType");function Ft(r){let e=Ai(r).$document;if(!e)throw new Error("AST node has no document.");return e}s(Ft,"getDocument");function Ai(r){for(;r.$container;)r=r.$container;return r}s(Ai,"findRootNode");function su(r){return tt(r)?r.ref?[r.ref]:[]:er(r)?r.items.map(e=>e.ref):[]}s(su,"getReferenceNodes");function ml(r,e){if(!r)throw new Error("Node must be an AstNode.");let t=e==null?void 0:e.range;return new Qt(()=>({keys:Object.keys(r),keyIndex:0,arrayIndex:0}),n=>{for(;n.keyIndex<n.keys.length;){let i=n.keys[n.keyIndex];if(!i.startsWith("$")){let a=r[i];if(Ue(a)){if(n.keyIndex++,ou(a,t))return{done:!1,value:a}}else if(Array.isArray(a)){for(;n.arrayIndex<a.length;){let o=n.arrayIndex++,u=a[o];if(Ue(u)&&ou(u,t))return{done:!1,value:u}}n.arrayIndex=0}}n.keyIndex++}return et})}s(ml,"streamContents");function vr(r,e){if(!r)throw new Error("Root node must be an AstNode.");return new Ks(r,t=>ml(t,e))}s(vr,"streamAllContents");function qt(r,e){if(r){if(e!=null&&e.range&&!ou(r,e.range))return new Ks(r,()=>[])}else throw new Error("Root node must be an AstNode.");return new Ks(r,t=>ml(t,e),{includeRoot:!0})}s(qt,"streamAst");function ou(r,e){var n;if(!e)return!0;let t=(n=r.$cstNode)==null?void 0:n.range;return t?of(t,e):!1}s(ou,"isAstNodeInRange");function Vs(r){return new Qt(()=>({keys:Object.keys(r),keyIndex:0,arrayIndex:0}),e=>{for(;e.keyIndex<e.keys.length;){let t=e.keys[e.keyIndex];if(!t.startsWith("$")){let n=r[t];if(tt(n)||er(n))return e.keyIndex++,{done:!1,value:{reference:n,container:r,property:t}};if(Array.isArray(n)){for(;e.arrayIndex<n.length;){let i=e.arrayIndex++,a=n[i];if(tt(a)||er(n))return{done:!1,value:{reference:a,container:r,property:t,index:i}}}e.arrayIndex=0}}e.keyIndex++}return et})}s(Vs,"streamReferences");function Mp(r,e){let t=r.getTypeMetaData(e.$type),n=e;for(let i of Object.values(t.properties))i.defaultValue!==void 0&&n[i.name]===void 0&&(n[i.name]=Fp(i.defaultValue))}s(Mp,"assignMandatoryProperties");function Fp(r){return Array.isArray(r)?[...r.map(Fp)]:r}s(Fp,"copyDefaultValue");function lu(r,e,t){let n={$type:r.$type};t&&(t.set(r,n),t.set(n,r));for(let[i,a]of Object.entries(r))if(!i.startsWith("$"))if(Ue(a))n[i]=lu(a,e,t);else if(tt(a))n[i]=e(n,i,a.$refNode,a.$refText,a);else if(Array.isArray(a)){let o=[];for(let u of a)Ue(u)?o.push(lu(u,e,t)):tt(u)?o.push(e(n,i,u.$refNode,u.$refText,u)):o.push(u);n[i]=o}else n[i]=a;return js(n,{deep:!0}),n}s(lu,"copyAstNode");var Um={};Or(Um,{AbstractElement:()=>ut,AbstractParserRule:()=>Ko,AbstractRule:()=>gi,AbstractType:()=>mt,Action:()=>kr,Alternatives:()=>jo,ArrayLiteral:()=>uu,ArrayType:()=>cu,Assignment:()=>Sr,BooleanLiteral:()=>du,CharacterRange:()=>br,Condition:()=>xr,Conjunction:()=>Vo,CrossReference:()=>Nr,Disjunction:()=>Bo,EndOfFile:()=>pu,Grammar:()=>or,GrammarImport:()=>fu,Group:()=>Xr,InferredType:()=>hu,InfixRule:()=>Xt,InfixRuleOperatorList:()=>Ho,InfixRuleOperators:()=>mu,Interface:()=>yi,Keyword:()=>Ti,LangiumGrammarAstReflection:()=>nf,LangiumGrammarTerminals:()=>d$,NamedArgument:()=>vi,NegatedToken:()=>Yr,Negation:()=>gu,NumberLiteral:()=>yu,Parameter:()=>Ri,ParameterReference:()=>Tu,ParserRule:()=>Lt,ReferenceType:()=>Xo,RegexToken:()=>Jr,ReturnType:()=>vu,RuleCall:()=>Qr,SimpleType:()=>$i,StringLiteral:()=>Ru,TerminalAlternatives:()=>Zr,TerminalElement:()=>ct,TerminalGroup:()=>en,TerminalRule:()=>lr,TerminalRuleCall:()=>tn,Type:()=>Yo,TypeAttribute:()=>rn,TypeDefinition:()=>nn,UnionType:()=>$u,UnorderedGroup:()=>Jo,UntilToken:()=>an,ValueLiteral:()=>sn,Wildcard:()=>Ei,isAbstractElement:()=>Yu,isAbstractParserRule:()=>Wn,isAbstractRule:()=>Gm,isAbstractType:()=>zm,isAction:()=>Ir,isAlternatives:()=>Ju,isArrayLiteral:()=>Wm,isArrayType:()=>qp,isAssignment:()=>pr,isBooleanLiteral:()=>Up,isCharacterRange:()=>Gp,isCondition:()=>Km,isConjunction:()=>zp,isCrossReference:()=>Kn,isDisjunction:()=>Wp,isEndOfFile:()=>Kp,isGrammar:()=>jm,isGrammarImport:()=>Vm,isGroup:()=>jn,isInferredType:()=>gl,isInfixRule:()=>Bs,isInfixRuleOperatorList:()=>Bm,isInfixRuleOperators:()=>Hm,isInterface:()=>jp,isKeyword:()=>fr,isNamedArgument:()=>Xm,isNegatedToken:()=>Vp,isNegation:()=>Bp,isNumberLiteral:()=>Ym,isParameter:()=>Jm,isParameterReference:()=>Hp,isParserRule:()=>at,isReferenceType:()=>Xp,isRegexToken:()=>Yp,isReturnType:()=>Jp,isRuleCall:()=>hr,isSimpleType:()=>Qu,isStringLiteral:()=>Qm,isTerminalAlternatives:()=>Qp,isTerminalElement:()=>Zm,isTerminalGroup:()=>Zp,isTerminalRule:()=>xt,isTerminalRuleCall:()=>Zu,isType:()=>ec,isTypeAttribute:()=>eg,isTypeDefinition:()=>tg,isUnionType:()=>ef,isUnorderedGroup:()=>tc,isUntilToken:()=>tf,isValueLiteral:()=>rg,isWildcard:()=>rf,reflection:()=>j});var d$={ID:/\^?[_a-zA-Z][\w_]*/,STRING:/"(\\.|[^"\\])*"|'(\\.|[^'\\])*'/,NUMBER:/NaN|-?((\d*\.\d+|\d+)([Ee][+-]?\d+)?|Infinity)/,RegexLiteral:/\/(?![*+?])(?:[^\r\n\[/\\]|\\.|\[(?:[^\r\n\]\\]|\\.)*\])+\/[a-z]*/,WS:/\s+/,ML_COMMENT:/\/\*[\s\S]*?\*\//,SL_COMMENT:/\/\/[^\n\r]*/},ut={$type:"AbstractElement",cardinality:"cardinality"};function Yu(r){return j.isInstance(r,ut.$type)}s(Yu,"isAbstractElement");var Ko={$type:"AbstractParserRule"};function Wn(r){return j.isInstance(r,Ko.$type)}s(Wn,"isAbstractParserRule");var gi={$type:"AbstractRule"};function Gm(r){return j.isInstance(r,gi.$type)}s(Gm,"isAbstractRule");var mt={$type:"AbstractType"};function zm(r){return j.isInstance(r,mt.$type)}s(zm,"isAbstractType");var kr={$type:"Action",cardinality:"cardinality",feature:"feature",inferredType:"inferredType",operator:"operator",type:"type"};function Ir(r){return j.isInstance(r,kr.$type)}s(Ir,"isAction");var jo={$type:"Alternatives",cardinality:"cardinality",elements:"elements"};function Ju(r){return j.isInstance(r,jo.$type)}s(Ju,"isAlternatives");var uu={$type:"ArrayLiteral",elements:"elements"};function Wm(r){return j.isInstance(r,uu.$type)}s(Wm,"isArrayLiteral");var cu={$type:"ArrayType",elementType:"elementType"};function qp(r){return j.isInstance(r,cu.$type)}s(qp,"isArrayType");var Sr={$type:"Assignment",cardinality:"cardinality",feature:"feature",operator:"operator",predicate:"predicate",terminal:"terminal"};function pr(r){return j.isInstance(r,Sr.$type)}s(pr,"isAssignment");var du={$type:"BooleanLiteral",true:"true"};function Up(r){return j.isInstance(r,du.$type)}s(Up,"isBooleanLiteral");var br={$type:"CharacterRange",cardinality:"cardinality",left:"left",lookahead:"lookahead",parenthesized:"parenthesized",right:"right"};function Gp(r){return j.isInstance(r,br.$type)}s(Gp,"isCharacterRange");var xr={$type:"Condition"};function Km(r){return j.isInstance(r,xr.$type)}s(Km,"isCondition");var Vo={$type:"Conjunction",left:"left",right:"right"};function zp(r){return j.isInstance(r,Vo.$type)}s(zp,"isConjunction");var Nr={$type:"CrossReference",cardinality:"cardinality",deprecatedSyntax:"deprecatedSyntax",isMulti:"isMulti",terminal:"terminal",type:"type"};function Kn(r){return j.isInstance(r,Nr.$type)}s(Kn,"isCrossReference");var Bo={$type:"Disjunction",left:"left",right:"right"};function Wp(r){return j.isInstance(r,Bo.$type)}s(Wp,"isDisjunction");var pu={$type:"EndOfFile",cardinality:"cardinality"};function Kp(r){return j.isInstance(r,pu.$type)}s(Kp,"isEndOfFile");var or={$type:"Grammar",imports:"imports",interfaces:"interfaces",isDeclared:"isDeclared",name:"name",rules:"rules",types:"types"};function jm(r){return j.isInstance(r,or.$type)}s(jm,"isGrammar");var fu={$type:"GrammarImport",path:"path"};function Vm(r){return j.isInstance(r,fu.$type)}s(Vm,"isGrammarImport");var Xr={$type:"Group",cardinality:"cardinality",elements:"elements",guardCondition:"guardCondition",predicate:"predicate"};function jn(r){return j.isInstance(r,Xr.$type)}s(jn,"isGroup");var hu={$type:"InferredType",name:"name"};function gl(r){return j.isInstance(r,hu.$type)}s(gl,"isInferredType");var Xt={$type:"InfixRule",call:"call",dataType:"dataType",inferredType:"inferredType",name:"name",operators:"operators",parameters:"parameters",returnType:"returnType"};function Bs(r){return j.isInstance(r,Xt.$type)}s(Bs,"isInfixRule");var Ho={$type:"InfixRuleOperatorList",associativity:"associativity",operators:"operators"};function Bm(r){return j.isInstance(r,Ho.$type)}s(Bm,"isInfixRuleOperatorList");var mu={$type:"InfixRuleOperators",precedences:"precedences"};function Hm(r){return j.isInstance(r,mu.$type)}s(Hm,"isInfixRuleOperators");var yi={$type:"Interface",attributes:"attributes",name:"name",superTypes:"superTypes"};function jp(r){return j.isInstance(r,yi.$type)}s(jp,"isInterface");var Ti={$type:"Keyword",cardinality:"cardinality",predicate:"predicate",value:"value"};function fr(r){return j.isInstance(r,Ti.$type)}s(fr,"isKeyword");var vi={$type:"NamedArgument",calledByName:"calledByName",parameter:"parameter",value:"value"};function Xm(r){return j.isInstance(r,vi.$type)}s(Xm,"isNamedArgument");var Yr={$type:"NegatedToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",terminal:"terminal"};function Vp(r){return j.isInstance(r,Yr.$type)}s(Vp,"isNegatedToken");var gu={$type:"Negation",value:"value"};function Bp(r){return j.isInstance(r,gu.$type)}s(Bp,"isNegation");var yu={$type:"NumberLiteral",value:"value"};function Ym(r){return j.isInstance(r,yu.$type)}s(Ym,"isNumberLiteral");var Ri={$type:"Parameter",name:"name"};function Jm(r){return j.isInstance(r,Ri.$type)}s(Jm,"isParameter");var Tu={$type:"ParameterReference",parameter:"parameter"};function Hp(r){return j.isInstance(r,Tu.$type)}s(Hp,"isParameterReference");var Lt={$type:"ParserRule",dataType:"dataType",definition:"definition",entry:"entry",fragment:"fragment",inferredType:"inferredType",name:"name",parameters:"parameters",returnType:"returnType"};function at(r){return j.isInstance(r,Lt.$type)}s(at,"isParserRule");var Xo={$type:"ReferenceType",isMulti:"isMulti",referenceType:"referenceType"};function Xp(r){return j.isInstance(r,Xo.$type)}s(Xp,"isReferenceType");var Jr={$type:"RegexToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",regex:"regex"};function Yp(r){return j.isInstance(r,Jr.$type)}s(Yp,"isRegexToken");var vu={$type:"ReturnType",name:"name"};function Jp(r){return j.isInstance(r,vu.$type)}s(Jp,"isReturnType");var Qr={$type:"RuleCall",arguments:"arguments",cardinality:"cardinality",predicate:"predicate",rule:"rule"};function hr(r){return j.isInstance(r,Qr.$type)}s(hr,"isRuleCall");var $i={$type:"SimpleType",primitiveType:"primitiveType",stringType:"stringType",typeRef:"typeRef"};function Qu(r){return j.isInstance(r,$i.$type)}s(Qu,"isSimpleType");var Ru={$type:"StringLiteral",value:"value"};function Qm(r){return j.isInstance(r,Ru.$type)}s(Qm,"isStringLiteral");var Zr={$type:"TerminalAlternatives",cardinality:"cardinality",elements:"elements",lookahead:"lookahead",parenthesized:"parenthesized"};function Qp(r){return j.isInstance(r,Zr.$type)}s(Qp,"isTerminalAlternatives");var ct={$type:"TerminalElement",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized"};function Zm(r){return j.isInstance(r,ct.$type)}s(Zm,"isTerminalElement");var en={$type:"TerminalGroup",cardinality:"cardinality",elements:"elements",lookahead:"lookahead",parenthesized:"parenthesized"};function Zp(r){return j.isInstance(r,en.$type)}s(Zp,"isTerminalGroup");var lr={$type:"TerminalRule",definition:"definition",fragment:"fragment",hidden:"hidden",name:"name",type:"type"};function xt(r){return j.isInstance(r,lr.$type)}s(xt,"isTerminalRule");var tn={$type:"TerminalRuleCall",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",rule:"rule"};function Zu(r){return j.isInstance(r,tn.$type)}s(Zu,"isTerminalRuleCall");var Yo={$type:"Type",name:"name",type:"type"};function ec(r){return j.isInstance(r,Yo.$type)}s(ec,"isType");var rn={$type:"TypeAttribute",defaultValue:"defaultValue",isOptional:"isOptional",name:"name",type:"type"};function eg(r){return j.isInstance(r,rn.$type)}s(eg,"isTypeAttribute");var nn={$type:"TypeDefinition"};function tg(r){return j.isInstance(r,nn.$type)}s(tg,"isTypeDefinition");var $u={$type:"UnionType",types:"types"};function ef(r){return j.isInstance(r,$u.$type)}s(ef,"isUnionType");var Jo={$type:"UnorderedGroup",cardinality:"cardinality",elements:"elements"};function tc(r){return j.isInstance(r,Jo.$type)}s(tc,"isUnorderedGroup");var an={$type:"UntilToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",terminal:"terminal"};function tf(r){return j.isInstance(r,an.$type)}s(tf,"isUntilToken");var sn={$type:"ValueLiteral"};function rg(r){return j.isInstance(r,sn.$type)}s(rg,"isValueLiteral");var Ei={$type:"Wildcard",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized"};function rf(r){return j.isInstance(r,Ei.$type)}s(rf,"isWildcard");var xi,nf=(xi=class extends Op{constructor(){super(...arguments),this.types={AbstractElement:{name:ut.$type,properties:{cardinality:{name:ut.cardinality}},superTypes:[]},AbstractParserRule:{name:Ko.$type,properties:{},superTypes:[gi.$type,mt.$type]},AbstractRule:{name:gi.$type,properties:{},superTypes:[]},AbstractType:{name:mt.$type,properties:{},superTypes:[]},Action:{name:kr.$type,properties:{cardinality:{name:kr.cardinality},feature:{name:kr.feature},inferredType:{name:kr.inferredType},operator:{name:kr.operator},type:{name:kr.type,referenceType:mt.$type}},superTypes:[ut.$type]},Alternatives:{name:jo.$type,properties:{cardinality:{name:jo.cardinality},elements:{name:jo.elements,defaultValue:[]}},superTypes:[ut.$type]},ArrayLiteral:{name:uu.$type,properties:{elements:{name:uu.elements,defaultValue:[]}},superTypes:[sn.$type]},ArrayType:{name:cu.$type,properties:{elementType:{name:cu.elementType}},superTypes:[nn.$type]},Assignment:{name:Sr.$type,properties:{cardinality:{name:Sr.cardinality},feature:{name:Sr.feature},operator:{name:Sr.operator},predicate:{name:Sr.predicate},terminal:{name:Sr.terminal}},superTypes:[ut.$type]},BooleanLiteral:{name:du.$type,properties:{true:{name:du.true,defaultValue:!1}},superTypes:[xr.$type,sn.$type]},CharacterRange:{name:br.$type,properties:{cardinality:{name:br.cardinality},left:{name:br.left},lookahead:{name:br.lookahead},parenthesized:{name:br.parenthesized,defaultValue:!1},right:{name:br.right}},superTypes:[ct.$type]},Condition:{name:xr.$type,properties:{},superTypes:[]},Conjunction:{name:Vo.$type,properties:{left:{name:Vo.left},right:{name:Vo.right}},superTypes:[xr.$type]},CrossReference:{name:Nr.$type,properties:{cardinality:{name:Nr.cardinality},deprecatedSyntax:{name:Nr.deprecatedSyntax,defaultValue:!1},isMulti:{name:Nr.isMulti,defaultValue:!1},terminal:{name:Nr.terminal},type:{name:Nr.type,referenceType:mt.$type}},superTypes:[ut.$type]},Disjunction:{name:Bo.$type,properties:{left:{name:Bo.left},right:{name:Bo.right}},superTypes:[xr.$type]},EndOfFile:{name:pu.$type,properties:{cardinality:{name:pu.cardinality}},superTypes:[ut.$type]},Grammar:{name:or.$type,properties:{imports:{name:or.imports,defaultValue:[]},interfaces:{name:or.interfaces,defaultValue:[]},isDeclared:{name:or.isDeclared,defaultValue:!1},name:{name:or.name},rules:{name:or.rules,defaultValue:[]},types:{name:or.types,defaultValue:[]}},superTypes:[]},GrammarImport:{name:fu.$type,properties:{path:{name:fu.path}},superTypes:[]},Group:{name:Xr.$type,properties:{cardinality:{name:Xr.cardinality},elements:{name:Xr.elements,defaultValue:[]},guardCondition:{name:Xr.guardCondition},predicate:{name:Xr.predicate}},superTypes:[ut.$type]},InferredType:{name:hu.$type,properties:{name:{name:hu.name}},superTypes:[mt.$type]},InfixRule:{name:Xt.$type,properties:{call:{name:Xt.call},dataType:{name:Xt.dataType},inferredType:{name:Xt.inferredType},name:{name:Xt.name},operators:{name:Xt.operators},parameters:{name:Xt.parameters,defaultValue:[]},returnType:{name:Xt.returnType,referenceType:mt.$type}},superTypes:[Ko.$type]},InfixRuleOperatorList:{name:Ho.$type,properties:{associativity:{name:Ho.associativity},operators:{name:Ho.operators,defaultValue:[]}},superTypes:[]},InfixRuleOperators:{name:mu.$type,properties:{precedences:{name:mu.precedences,defaultValue:[]}},superTypes:[]},Interface:{name:yi.$type,properties:{attributes:{name:yi.attributes,defaultValue:[]},name:{name:yi.name},superTypes:{name:yi.superTypes,defaultValue:[],referenceType:mt.$type}},superTypes:[mt.$type]},Keyword:{name:Ti.$type,properties:{cardinality:{name:Ti.cardinality},predicate:{name:Ti.predicate},value:{name:Ti.value}},superTypes:[ut.$type]},NamedArgument:{name:vi.$type,properties:{calledByName:{name:vi.calledByName,defaultValue:!1},parameter:{name:vi.parameter,referenceType:Ri.$type},value:{name:vi.value}},superTypes:[]},NegatedToken:{name:Yr.$type,properties:{cardinality:{name:Yr.cardinality},lookahead:{name:Yr.lookahead},parenthesized:{name:Yr.parenthesized,defaultValue:!1},terminal:{name:Yr.terminal}},superTypes:[ct.$type]},Negation:{name:gu.$type,properties:{value:{name:gu.value}},superTypes:[xr.$type]},NumberLiteral:{name:yu.$type,properties:{value:{name:yu.value}},superTypes:[sn.$type]},Parameter:{name:Ri.$type,properties:{name:{name:Ri.name}},superTypes:[]},ParameterReference:{name:Tu.$type,properties:{parameter:{name:Tu.parameter,referenceType:Ri.$type}},superTypes:[xr.$type]},ParserRule:{name:Lt.$type,properties:{dataType:{name:Lt.dataType},definition:{name:Lt.definition},entry:{name:Lt.entry,defaultValue:!1},fragment:{name:Lt.fragment,defaultValue:!1},inferredType:{name:Lt.inferredType},name:{name:Lt.name},parameters:{name:Lt.parameters,defaultValue:[]},returnType:{name:Lt.returnType,referenceType:mt.$type}},superTypes:[Ko.$type]},ReferenceType:{name:Xo.$type,properties:{isMulti:{name:Xo.isMulti,defaultValue:!1},referenceType:{name:Xo.referenceType}},superTypes:[nn.$type]},RegexToken:{name:Jr.$type,properties:{cardinality:{name:Jr.cardinality},lookahead:{name:Jr.lookahead},parenthesized:{name:Jr.parenthesized,defaultValue:!1},regex:{name:Jr.regex}},superTypes:[ct.$type]},ReturnType:{name:vu.$type,properties:{name:{name:vu.name}},superTypes:[]},RuleCall:{name:Qr.$type,properties:{arguments:{name:Qr.arguments,defaultValue:[]},cardinality:{name:Qr.cardinality},predicate:{name:Qr.predicate},rule:{name:Qr.rule,referenceType:gi.$type}},superTypes:[ut.$type]},SimpleType:{name:$i.$type,properties:{primitiveType:{name:$i.primitiveType},stringType:{name:$i.stringType},typeRef:{name:$i.typeRef,referenceType:mt.$type}},superTypes:[nn.$type]},StringLiteral:{name:Ru.$type,properties:{value:{name:Ru.value}},superTypes:[sn.$type]},TerminalAlternatives:{name:Zr.$type,properties:{cardinality:{name:Zr.cardinality},elements:{name:Zr.elements,defaultValue:[]},lookahead:{name:Zr.lookahead},parenthesized:{name:Zr.parenthesized,defaultValue:!1}},superTypes:[ct.$type]},TerminalElement:{name:ct.$type,properties:{cardinality:{name:ct.cardinality},lookahead:{name:ct.lookahead},parenthesized:{name:ct.parenthesized,defaultValue:!1}},superTypes:[ut.$type]},TerminalGroup:{name:en.$type,properties:{cardinality:{name:en.cardinality},elements:{name:en.elements,defaultValue:[]},lookahead:{name:en.lookahead},parenthesized:{name:en.parenthesized,defaultValue:!1}},superTypes:[ct.$type]},TerminalRule:{name:lr.$type,properties:{definition:{name:lr.definition},fragment:{name:lr.fragment,defaultValue:!1},hidden:{name:lr.hidden,defaultValue:!1},name:{name:lr.name},type:{name:lr.type}},superTypes:[gi.$type]},TerminalRuleCall:{name:tn.$type,properties:{cardinality:{name:tn.cardinality},lookahead:{name:tn.lookahead},parenthesized:{name:tn.parenthesized,defaultValue:!1},rule:{name:tn.rule,referenceType:lr.$type}},superTypes:[ct.$type]},Type:{name:Yo.$type,properties:{name:{name:Yo.name},type:{name:Yo.type}},superTypes:[mt.$type]},TypeAttribute:{name:rn.$type,properties:{defaultValue:{name:rn.defaultValue},isOptional:{name:rn.isOptional,defaultValue:!1},name:{name:rn.name},type:{name:rn.type}},superTypes:[]},TypeDefinition:{name:nn.$type,properties:{},superTypes:[]},UnionType:{name:$u.$type,properties:{types:{name:$u.types,defaultValue:[]}},superTypes:[nn.$type]},UnorderedGroup:{name:Jo.$type,properties:{cardinality:{name:Jo.cardinality},elements:{name:Jo.elements,defaultValue:[]}},superTypes:[ut.$type]},UntilToken:{name:an.$type,properties:{cardinality:{name:an.cardinality},lookahead:{name:an.lookahead},parenthesized:{name:an.parenthesized,defaultValue:!1},terminal:{name:an.terminal}},superTypes:[ct.$type]},ValueLiteral:{name:sn.$type,properties:{},superTypes:[]},Wildcard:{name:Ei.$type,properties:{cardinality:{name:Ei.cardinality},lookahead:{name:Ei.lookahead},parenthesized:{name:Ei.parenthesized,defaultValue:!1}},superTypes:[ct.$type]}}}},s(xi,"LangiumGrammarAstReflection"),xi),j=new nf;function ng(r){let e=r,t=!1;for(;e;){let n=zn(e.grammarSource,at);if(n&&n.dataType)e=e.container,t=!0;else return t?e:void 0}}s(ng,"getDatatypeNode");function Hs(r){return new Ks(r,e=>dr(e)?e.content:[],{includeRoot:!0})}s(Hs,"streamCst");function ig(r){return Hs(r).filter(Gn)}s(ig,"flattenCst");function af(r,e){for(;r.container;)if(r=r.container,r===e)return!0;return!1}s(af,"isChildNode");function al(r){return{start:{character:r.startColumn-1,line:r.startLine-1},end:{character:r.endColumn,line:r.endLine-1}}}s(al,"tokenToRange");function Xs(r){if(!r)return;let{offset:e,end:t,range:n}=r;return{range:n,offset:e,end:t,length:t-e}}s(Xs,"toDocumentSegment");var Jt;(function(r){r[r.Before=0]="Before",r[r.After=1]="After",r[r.OverlapFront=2]="OverlapFront",r[r.OverlapBack=3]="OverlapBack",r[r.Inside=4]="Inside",r[r.Outside=5]="Outside"})(Jt||(Jt={}));function sf(r,e){if(r.end.line<e.start.line||r.end.line===e.start.line&&r.end.character<=e.start.character)return Jt.Before;if(r.start.line>e.end.line||r.start.line===e.end.line&&r.start.character>=e.end.character)return Jt.After;let t=r.start.line>e.start.line||r.start.line===e.start.line&&r.start.character>=e.start.character,n=r.end.line<e.end.line||r.end.line===e.end.line&&r.end.character<=e.end.character;return t&&n?Jt.Inside:t?Jt.OverlapBack:n?Jt.OverlapFront:Jt.Outside}s(sf,"compareRange");function of(r,e){return sf(r,e)>Jt.After}s(of,"inRange");var lf=/^[\w\p{L}]$/u;function ag(r,e,t=lf){if(r){if(e>0){let n=e-r.offset,i=r.text.charAt(n);t.test(i)||e--}return rc(r,e)}}s(ag,"findDeclarationNodeAtOffset");function uf(r,e){if(r){let t=pf(r,!0);if(t&&Eu(t,e))return t;if(Xu(r)){let n=r.content.findIndex(i=>!i.hidden);for(let i=n-1;i>=0;i--){let a=r.content[i];if(Eu(a,e))return a}}}}s(uf,"findCommentNode");function Eu(r,e){return Gn(r)&&e.includes(r.tokenType.name)}s(Eu,"isCommentNode");function rc(r,e){if(Gn(r))return r;if(dr(r)){let t=df(r,e,!1);if(t)return rc(t,e)}}s(rc,"findLeafNodeAtOffset");function cf(r,e){if(Gn(r))return r;if(dr(r)){let t=df(r,e,!0);if(t)return cf(t,e)}}s(cf,"findLeafNodeBeforeOffset");function df(r,e,t){let n=0,i=r.content.length-1,a;for(;n<=i;){let o=Math.floor((n+i)/2),u=r.content[o];if(u.offset<=e&&u.end>e)return u;u.end<=e?(a=t?u:void 0,n=o+1):i=o-1}return a}s(df,"binarySearch");function pf(r,e=!0){for(;r.container;){let t=r.container,n=t.content.indexOf(r);for(;n>0;){n--;let i=t.content[n];if(e||!i.hidden)return i}r=t}}s(pf,"getPreviousNode");function sg(r,e=!0){for(;r.container;){let t=r.container,n=t.content.indexOf(r),i=t.content.length-1;for(;n<i;){n++;let a=t.content[n];if(e||!a.hidden)return a}r=t}}s(sg,"getNextNode");function og(r){if(r.range.start.character===0)return r;let e=r.range.start.line,t=r,n;for(;r.container;){let i=r.container,a=n??i.content.indexOf(r);if(a===0?(r=i,n=void 0):(n=a-1,r=i.content[n]),r.range.start.line!==e)break;t=r}return t}s(og,"getStartlineNode");function lg(r,e){let t=ug(r,e);return t?t.parent.content.slice(t.a+1,t.b):[]}s(lg,"getInteriorNodes");function ug(r,e){let t=Bd(r),n=Bd(e),i;for(let a=0;a<t.length&&a<n.length;a++){let o=t[a],u=n[a];if(o.parent===u.parent)i={parent:o.parent,a:o.index,b:u.index};else break}return i}s(ug,"getCommonParent");function Bd(r){let e=[];for(;r.container;){let t=r.container,n=t.content.indexOf(r);e.push({parent:t,index:n}),r=t}return e.reverse()}s(Bd,"getParentChain");var ff={};Or(ff,{findAssignment:()=>Sf,findNameAssignment:()=>cc,findNodeForKeyword:()=>kf,findNodeForProperty:()=>oc,findNodesForKeyword:()=>gg,findNodesForKeywordInternal:()=>uc,findNodesForProperty:()=>Af,getActionAtElement:()=>xf,getActionType:()=>wf,getAllReachableRules:()=>sc,getAllRulesUsedForCrossReferences:()=>mg,getCrossReferenceTerminal:()=>Ef,getEntryRule:()=>vf,getExplicitRuleType:()=>Tl,getHiddenRules:()=>Rf,getRuleType:()=>If,getRuleTypeName:()=>$g,getTypeName:()=>_n,isArrayCardinality:()=>Tg,isArrayOperator:()=>vg,isCommentTerminal:()=>Cf,isDataType:()=>Rg,isDataTypeRule:()=>yl,isOptionalCardinality:()=>yg,terminalRegex:()=>vl});var Ni,nc=(Ni=class extends Error{constructor(e,t){super(e?`${t} at ${e.range.start.line}:${e.range.start.character}`:t)}},s(Ni,"ErrorWithLocation"),Ni);function _r(r,e="Error: Got unexpected value."){throw new Error(e)}s(_r,"assertUnreachable");function hf(r,e="Error: Condition is violated."){if(!r)throw new Error(e)}s(hf,"assertCondition");var mf={};Or(mf,{NEWLINE_REGEXP:()=>dg,escapeRegExp:()=>Zs,getTerminalParts:()=>fg,isMultilineComment:()=>gf,isWhitespace:()=>ac,partialMatches:()=>yf,partialRegExp:()=>Tf,whitespaceCharacters:()=>hg});function B(r){return r.charCodeAt(0)}s(B,"cc");function Bl(r,e){Array.isArray(r)?r.forEach(function(t){e.push(t)}):e.push(r)}s(Bl,"insertToSet");function ui(r,e){if(r[e]===!0)throw"duplicate flag "+e;r[e],r[e]=!0}s(ui,"addFlag");function Kr(r){if(r===void 0)throw Error("Internal Error - Should never get here!");return!0}s(Kr,"ASSERT_EXISTS");function Fo(){throw Error("Internal Error - Should never get here!")}s(Fo,"ASSERT_NEVER_REACH_HERE");function Hd(r){return r.type==="Character"}s(Hd,"isCharacter");var Cu=[];for(let r=B("0");r<=B("9");r++)Cu.push(r);var Au=[B("_")].concat(Cu);for(let r=B("a");r<=B("z");r++)Au.push(r);for(let r=B("A");r<=B("Z");r++)Au.push(r);var Zh=[B(" "),B("\f"),B(`
36
- `),B("\r"),B(" "),B("\v"),B(" "),B(" "),B(" "),B(" "),B(" "),B(" "),B(" "),B(" "),B(" "),B(" "),B(" "),B(" "),B(" "),B(" "),B("\u2028"),B("\u2029"),B(" "),B(" "),B(" "),B("\uFEFF")],p$=/[0-9a-fA-F]/,Sl=/[0-9]/,f$=/[1-9]/,wi,cg=(wi=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":ui(n,"global");break;case"i":ui(n,"ignoreCase");break;case"m":ui(n,"multiLine");break;case"u":ui(n,"unicode");break;case"y":ui(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;case"<":{switch(this.popChar()){case"=":t="Lookbehind";break;case"!":t="NegativeLookbehind"}break}}Kr(t);let n=this.disjunction();return this.consumeChar(")"),{type:t,value:n,loc:this.loc(e)}}return Fo()}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 i=this.integerIncludingZero();switch(this.popChar()){case"}":t={atLeast:i,atMost:i};break;case",":let a;this.isDigit()?(a=this.integerIncludingZero(),t={atLeast:i,atMost:a}):t={atLeast:i,atMost:1/0},this.consumeChar("}");break}if(e===!0&&t===void 0)return;Kr(t);break}if(!(e===!0&&t===void 0)&&Kr(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()),Kr(e)?(e.loc=this.loc(t),this.isQuantifier()&&(e.quantifier=this.quantifier()),e):Fo()}dotAll(){return this.consumeChar("."),{type:"Set",complement:!0,value:[B(`
37
- `),B("\r"),B("\u2028"),B("\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=Cu;break;case"D":e=Cu,t=!0;break;case"s":e=Zh;break;case"S":e=Zh,t=!0;break;case"w":e=Au;break;case"W":e=Au,t=!0;break}return Kr(e)?{type:"Set",value:e,complement:t}:Fo()}controlEscapeAtom(){let e;switch(this.popChar()){case"f":e=B("\f");break;case"n":e=B(`
38
- `);break;case"r":e=B("\r");break;case"t":e=B(" ");break;case"v":e=B("\v");break}return Kr(e)?{type:"Character",value:e}:Fo()}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:B("\0")}}hexEscapeSequenceAtom(){return this.consumeChar("x"),this.parseHexDigits(2)}regExpUnicodeEscapeSequenceAtom(){return this.consumeChar("u"),this.parseHexDigits(4)}identityEscapeAtom(){let e=this.popChar();return{type:"Character",value:B(e)}}classPatternCharacterAtom(){switch(this.peekChar()){case`
39
- `:case"\r":case"\u2028":case"\u2029":case"\\":case"]":throw Error("TBD");default:let e=this.popChar();return{type:"Character",value:B(e)}}}characterClass(){let e=[],t=!1;for(this.consumeChar("["),this.peekChar(0)==="^"&&(this.consumeChar("^"),t=!0);this.isClassAtom();){let n=this.classAtom();if(n.type,Hd(n)&&this.isRangeDash()){this.consumeChar("-");let i=this.classAtom();if(i.type,Hd(i)){if(i.value<n.value)throw Error("Range out of order in character class");e.push({from:n.value,to:i.value})}else Bl(n.value,e),e.push(B("-")),Bl(i.value,e)}else Bl(n.value,e)}return this.consumeChar("]"),{type:"Set",complement:t,value:e}}classAtom(){switch(this.peekChar()){case"]":case`
40
- `:case"\r":case"\u2028":case"\u2029":throw Error("TBD");case"\\":return this.classEscape();default:return this.classPatternCharacterAtom()}}classEscape(){switch(this.consumeChar("\\"),this.peekChar()){case"b":return this.consumeChar("b"),{type:"Character",value:B("\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(f$.test(e)===!1)throw Error("Expecting a positive integer");for(;Sl.test(this.peekChar(0));)e+=this.popChar();return parseInt(e,10)}integerIncludingZero(){let e=this.popChar();if(Sl.test(e)===!1)throw Error("Expecting an integer");for(;Sl.test(this.peekChar(0));)e+=this.popChar();return parseInt(e,10)}patternCharacter(){let e=this.popChar();switch(e){case`
41
- `: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:B(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 Sl.test(this.peekChar(0))}isClassAtom(e=0){switch(this.peekChar(e)){case"]":case`
42
- `: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)==="!"||this.peekChar(2)==="<"&&(this.peekChar(3)==="="||this.peekChar(3)==="!"));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`
43
- `:case"\r":case"\u2028":case"\u2029":return!1;default:return!0}}parseHexDigits(e){let t="";for(let n=0;n<e;n++){let i=this.popChar();if(p$.test(i)===!1)throw Error("Expecting a HexDecimal digits");t+=i}return{type:"Character",value:parseInt(t,16)}}peekChar(e=0){return this.input[this.idx+e]}popChar(){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}}},s(wi,"RegExpParser"),wi),Ii,ic=(Ii=class{visitChildren(e){for(let t in e){let n=e[t];e.hasOwnProperty(t)&&(n.type!==void 0?this.visit(n):Array.isArray(n)&&n.forEach(i=>{this.visit(i)},this))}}visit(e){switch(e.type){case"Pattern":this.visitPattern(e);break;case"Flags":this.visitFlags(e);break;case"Disjunction":this.visitDisjunction(e);break;case"Alternative":this.visitAlternative(e);break;case"StartAnchor":this.visitStartAnchor(e);break;case"EndAnchor":this.visitEndAnchor(e);break;case"WordBoundary":this.visitWordBoundary(e);break;case"NonWordBoundary":this.visitNonWordBoundary(e);break;case"Lookahead":this.visitLookahead(e);break;case"NegativeLookahead":this.visitNegativeLookahead(e);break;case"Lookbehind":this.visitLookbehind(e);break;case"NegativeLookbehind":this.visitNegativeLookbehind(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){}visitLookbehind(e){}visitNegativeLookbehind(e){}visitCharacter(e){}visitSet(e){}visitGroup(e){}visitGroupBackReference(e){}visitQuantifier(e){}},s(Ii,"BaseRegExpVisitor"),Ii),dg=/\r?\n/gm,pg=new cg,Pi,h$=(Pi=class extends ic{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===`
44
- `&&(this.multiline=!0),e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{let n=Zs(t);this.endRegexpStack.push(n),this.isStarting&&(this.startRegexp+=n)}}visitSet(e){if(!this.multiline){let t=this.regex.substring(e.loc.begin,e.loc.end),n=new RegExp(t);this.multiline=!!`
45
- `.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)}},s(Pi,"TerminalRegExpVisitor"),Pi),on=new h$;function fg(r){try{typeof r!="string"&&(r=r.source),r=`/${r}/`;let e=pg.pattern(r),t=[];for(let n of e.value.value)on.reset(r),on.visit(n),t.push({start:on.startRegexp,end:on.endRegex});return t}catch{return[]}}s(fg,"getTerminalParts");function gf(r){try{return typeof r=="string"&&(r=new RegExp(r)),r=r.toString(),on.reset(r),on.visit(pg.pattern(r)),on.multiline}catch{return!1}}s(gf,"isMultilineComment");var hg=`\f
46
- \r \v              \u2028\u2029   \uFEFF`.split("");function ac(r){let e=typeof r=="string"?new RegExp(r):r;return hg.some(t=>e.test(t))}s(ac,"isWhitespace");function Zs(r){return r.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}s(Zs,"escapeRegExp");function yf(r,e){let t=Tf(r),n=e.match(t);return!!n&&n[0].length>0}s(yf,"partialMatches");function Tf(r){typeof r=="string"&&(r=new RegExp(r));let e=r,t=r.source,n=0;function i(){let a="",o;function u(c){a+=t.substr(n,c),n+=c}s(u,"appendRaw");function l(c){a+="(?:"+t.substr(n,c)+"|$)",n+=c}for(s(l,"appendOptional");n<t.length;)switch(t[n]){case"\\":switch(t[n+1]){case"c":l(3);break;case"x":l(4);break;case"u":e.unicode?t[n+2]==="{"?l(t.indexOf("}",n)-n+1):l(6):l(2);break;case"p":case"P":e.unicode?l(t.indexOf("}",n)-n+1):l(2);break;case"k":l(t.indexOf(">",n)-n+1);break;default:l(2);break}break;case"[":o=/\[(?:\\.|.)*?\]/g,o.lastIndex=n,o=o.exec(t)||[],l(o[0].length);break;case"|":case"^":case"$":case"*":case"+":case"?":u(1);break;case"{":o=/\{\d+,?\d*\}/g,o.lastIndex=n,o=o.exec(t),o?u(o[0].length):l(1);break;case"(":if(t[n+1]==="?")switch(t[n+2]){case":":a+="(?:",n+=3,a+=i()+"|$)";break;case"=":a+="(?=",n+=3,a+=i()+")";break;case"!":o=n,n+=3,i(),a+=t.substr(o,n-o);break;case"<":switch(t[n+3]){case"=":case"!":o=n,n+=4,i(),a+=t.substr(o,n-o);break;default:u(t.indexOf(">",n)-n+1),a+=i()+"|$)";break}break}else u(1),a+=i()+"|$)";break;case")":return++n,a;default:l(1);break}return a}return s(i,"process"),new RegExp(i(),r.flags)}s(Tf,"partialRegExp");function vf(r){return r.rules.find(e=>at(e)&&e.entry)}s(vf,"getEntryRule");function Rf(r){return r.rules.filter(e=>xt(e)&&e.hidden)}s(Rf,"getHiddenRules");function sc(r,e){let t=new Set,n=vf(r);if(!n)return new Set(r.rules);let i=[n].concat(Rf(r));for(let o of i)$f(o,t,e);let a=new Set;for(let o of r.rules)(t.has(o.name)||xt(o)&&o.hidden)&&a.add(o);return a}s(sc,"getAllReachableRules");function $f(r,e,t){e.add(r.name),vr(r).forEach(n=>{if(hr(n)||t&&Zu(n)){let i=n.rule.ref;i&&!e.has(i.name)&&$f(i,e,t)}})}s($f,"ruleDfs");function mg(r){let e=new Set;return vr(r).forEach(t=>{Kn(t)&&(at(t.type.ref)&&e.add(t.type.ref),gl(t.type.ref)&&at(t.type.ref.$container)&&e.add(t.type.ref.$container))}),e}s(mg,"getAllRulesUsedForCrossReferences");function Ef(r){var e;if(r.terminal)return r.terminal;if(r.type.ref)return(e=cc(r.type.ref))==null?void 0:e.terminal}s(Ef,"getCrossReferenceTerminal");function Cf(r){return r.hidden&&!ac(vl(r))}s(Cf,"isCommentTerminal");function Af(r,e){return!r||!e?[]:lc(r,e,r.astNode,!0)}s(Af,"findNodesForProperty");function oc(r,e,t){if(!r||!e)return;let n=lc(r,e,r.astNode,!0);if(n.length!==0)return t!==void 0?t=Math.max(0,Math.min(t,n.length-1)):t=0,n[t]}s(oc,"findNodeForProperty");function lc(r,e,t,n){if(!n){let i=zn(r.grammarSource,pr);if(i&&i.feature===e)return[r]}return dr(r)&&r.astNode===t?r.content.flatMap(i=>lc(i,e,t,!1)):[]}s(lc,"findNodesForPropertyInternal");function gg(r,e){return r?uc(r,e,r==null?void 0:r.astNode):[]}s(gg,"findNodesForKeyword");function kf(r,e,t){if(!r)return;let n=uc(r,e,r==null?void 0:r.astNode);if(n.length!==0)return t!==void 0?t=Math.max(0,Math.min(t,n.length-1)):t=0,n[t]}s(kf,"findNodeForKeyword");function uc(r,e,t){if(r.astNode!==t)return[];if(fr(r.grammarSource)&&r.grammarSource.value===e)return[r];let n=Hs(r).iterator(),i,a=[];do if(i=n.next(),!i.done){let o=i.value;o.astNode===t?fr(o.grammarSource)&&o.grammarSource.value===e&&a.push(o):n.prune()}while(!i.done);return a}s(uc,"findNodesForKeywordInternal");function Sf(r){var t;let e=r.astNode;for(;e===((t=r.container)==null?void 0:t.astNode);){let n=zn(r.grammarSource,pr);if(n)return n;r=r.container}}s(Sf,"findAssignment");function cc(r){let e=r;return gl(e)&&(Ir(e.$container)?e=e.$container.$container:Wn(e.$container)?e=e.$container:_r(e.$container)),bf(r,e,new Map)}s(cc,"findNameAssignment");function bf(r,e,t){var i;function n(a,o){let u;return zn(a,pr)||(u=bf(o,o,t)),t.set(r,u),u}if(s(n,"go"),t.has(r))return t.get(r);t.set(r,void 0);for(let a of vr(e)){if(pr(a)&&a.feature.toLowerCase()==="name")return t.set(r,a),a;if(hr(a)&&at(a.rule.ref))return n(a,a.rule.ref);if(Qu(a)&&((i=a.typeRef)!=null&&i.ref))return n(a,a.typeRef.ref)}}s(bf,"findNameAssignmentInternal");function xf(r){let e=r.$container;if(jn(e)){let t=e.elements,n=t.indexOf(r);for(let i=n-1;i>=0;i--){let a=t[i];if(Ir(a))return a;{let o=vr(t[i]).find(Ir);if(o)return o}}}if(Yu(e))return xf(e)}s(xf,"getActionAtElement");function yg(r,e){return r==="?"||r==="*"||jn(e)&&!!e.guardCondition}s(yg,"isOptionalCardinality");function Tg(r){return r==="*"||r==="+"}s(Tg,"isArrayCardinality");function vg(r){return r==="+="}s(vg,"isArrayOperator");function yl(r){return Nf(r,new Set)}s(yl,"isDataTypeRule");function Nf(r,e){if(e.has(r))return!0;e.add(r);for(let t of vr(r))if(hr(t)){if(!t.rule.ref||at(t.rule.ref)&&!Nf(t.rule.ref,e)||Bs(t.rule.ref))return!1}else if(pr(t)||Ir(t))return!1;return!!r.definition}s(Nf,"isDataTypeRuleInternal");function Rg(r){return ku(r.type,new Set)}s(Rg,"isDataType");function ku(r,e){if(e.has(r))return!0;if(e.add(r),qp(r)||Xp(r))return!1;if(ef(r))return r.types.every(t=>ku(t,e));if(Qu(r)){if(r.primitiveType!==void 0||r.stringType!==void 0)return!0;if(r.typeRef!==void 0){let t=r.typeRef.ref;return ec(t)?ku(t.type,e):!1}else return!1}else return!1}s(ku,"isDataTypeInternal");function Tl(r){if(!xt(r)){if(r.inferredType)return r.inferredType.name;if(r.dataType)return r.dataType;if(r.returnType){let e=r.returnType.ref;if(e)return e.name}}}s(Tl,"getExplicitRuleType");function _n(r){if(Wn(r))return at(r)&&yl(r)?r.name:Tl(r)??r.name;if(jp(r)||ec(r)||Jp(r))return r.name;if(Ir(r)){let e=wf(r);if(e)return e}else if(gl(r))return r.name;throw new Error("Cannot get name of Unknown Type")}s(_n,"getTypeName");function wf(r){var e;if(r.inferredType)return r.inferredType.name;if((e=r.type)!=null&&e.ref)return _n(r.type.ref)}s(wf,"getActionType");function $g(r){var e;return xt(r)?((e=r.type)==null?void 0:e.name)??"string":at(r)&&yl(r)?r.name:Tl(r)??r.name}s($g,"getRuleTypeName");function If(r){var e;return xt(r)?((e=r.type)==null?void 0:e.name)??"string":Tl(r)??r.name}s(If,"getRuleType");function vl(r){let e={s:!1,i:!1,u:!1},t=Vn(r.definition,e),n=Object.entries(e).filter(([,i])=>i).map(([i])=>i).join("");return new RegExp(t,n)}s(vl,"terminalRegex");var Pf=/[\s\S]/.source;function Vn(r,e){var t;if(Qp(r))return Eg(r);if(Zp(r))return Cg(r);if(Gp(r))return Sg(r);if(Zu(r)){let n=r.rule.ref;if(!n)throw new Error("Missing rule reference.");return tr(Vn(n.definition),{cardinality:r.cardinality,lookahead:r.lookahead,parenthesized:r.parenthesized})}else{if(Vp(r))return kg(r);if(tf(r))return Ag(r);if(Yp(r)){let n=r.regex.lastIndexOf("/"),i=r.regex.substring(1,n),a=r.regex.substring(n+1);return e&&(e.i=a.includes("i"),e.s=a.includes("s"),e.u=a.includes("u")),tr(i,{cardinality:r.cardinality,lookahead:r.lookahead,parenthesized:r.parenthesized,wrap:!1})}else{if(rf(r))return tr(Pf,{cardinality:r.cardinality,lookahead:r.lookahead,parenthesized:r.parenthesized});throw new Error(`Invalid terminal element: ${r==null?void 0:r.$type}, ${(t=r==null?void 0:r.$cstNode)==null?void 0:t.text}`)}}}s(Vn,"abstractElementToRegex");function Eg(r){return tr(r.elements.map(e=>Vn(e)).join("|"),{cardinality:r.cardinality,lookahead:r.lookahead,parenthesized:r.parenthesized,wrap:!1})}s(Eg,"terminalAlternativesToRegex");function Cg(r){return tr(r.elements.map(e=>Vn(e)).join(""),{cardinality:r.cardinality,lookahead:r.lookahead,parenthesized:r.parenthesized,wrap:!1})}s(Cg,"terminalGroupToRegex");function Ag(r){return tr(`${Pf}*?${Vn(r.terminal)}`,{cardinality:r.cardinality,lookahead:r.lookahead,parenthesized:r.parenthesized})}s(Ag,"untilTokenToRegex");function kg(r){return tr(`(?!${Vn(r.terminal)})${Pf}*?`,{cardinality:r.cardinality,lookahead:r.lookahead,parenthesized:r.parenthesized})}s(kg,"negateTokenToRegex");function Sg(r){return r.right?tr(`[${Hl(r.left)}-${Hl(r.right)}]`,{cardinality:r.cardinality,lookahead:r.lookahead,parenthesized:r.parenthesized,wrap:!1}):tr(Hl(r.left),{cardinality:r.cardinality,lookahead:r.lookahead,parenthesized:r.parenthesized,wrap:!1})}s(Sg,"characterRangeToRegex");function Hl(r){return Zs(r.value)}s(Hl,"keywordToRegex");function tr(r,e){return(e.parenthesized||e.lookahead||e.wrap!==!1)&&(r=`(${e.lookahead??(e.parenthesized?"":"?:")}${r})`),e.cardinality?`${r}${e.cardinality}`:r}s(tr,"withCardinality");function Lf(r){let e=[],t=r.Grammar;for(let n of t.rules)xt(n)&&Cf(n)&&gf(vl(n))&&e.push(n.name);return{multilineCommentRules:e,nameRegexp:lf}}s(Lf,"createGrammarConfig");function Su(r){console&&console.error&&console.error(`Error: ${r}`)}s(Su,"PRINT_ERROR");function Df(r){console&&console.warn&&console.warn(`Warning: ${r}`)}s(Df,"PRINT_WARNING");function Of(r){let e=new Date().getTime(),t=r();return{time:new Date().getTime()-e,value:t}}s(Of,"timer");function _f(r){function e(){}s(e,"FakeConstructor"),e.prototype=r;let t=new e;function n(){return typeof t.bar}return s(n,"fakeAccess"),n(),n(),r}s(_f,"toFastProperties");function bg(r){return xg(r)?r.LABEL:r.name}s(bg,"tokenLabel");function xg(r){return vt(r.LABEL)&&r.LABEL!==""}s(xg,"hasTokenLabel");var Li,rr=(Li=class{get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){this._definition=e}accept(e){e.visit(this),K(this.definition,t=>{t.accept(e)})}},s(Li,"AbstractProduction"),Li),Di,st=(Di=class extends rr{constructor(e){super([]),this.idx=1,Tt(this,Gt(e,t=>t!==void 0))}set definition(e){}get definition(){return this.referencedRule!==void 0?this.referencedRule.definition:[]}accept(e){e.visit(this)}},s(Di,"NonTerminal"),Di),Oi,eo=(Oi=class extends rr{constructor(e){super(e.definition),this.orgText="",Tt(this,Gt(e,t=>t!==void 0))}},s(Oi,"Rule"),Oi),_i,pt=(_i=class extends rr{constructor(e){super(e.definition),this.ignoreAmbiguities=!1,Tt(this,Gt(e,t=>t!==void 0))}},s(_i,"Alternative"),_i),Mi,Ye=(Mi=class extends rr{constructor(e){super(e.definition),this.idx=1,Tt(this,Gt(e,t=>t!==void 0))}},s(Mi,"Option"),Mi),Fi,$t=(Fi=class extends rr{constructor(e){super(e.definition),this.idx=1,Tt(this,Gt(e,t=>t!==void 0))}},s(Fi,"RepetitionMandatory"),Fi),qi,Et=(qi=class extends rr{constructor(e){super(e.definition),this.idx=1,Tt(this,Gt(e,t=>t!==void 0))}},s(qi,"RepetitionMandatoryWithSeparator"),qi),Ui,Pe=(Ui=class extends rr{constructor(e){super(e.definition),this.idx=1,Tt(this,Gt(e,t=>t!==void 0))}},s(Ui,"Repetition"),Ui),Gi,ft=(Gi=class extends rr{constructor(e){super(e.definition),this.idx=1,Tt(this,Gt(e,t=>t!==void 0))}},s(Gi,"RepetitionWithSeparator"),Gi),zi,ht=(zi=class extends rr{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,Tt(this,Gt(e,t=>t!==void 0))}},s(zi,"Alternation"),zi),Wi,ke=(Wi=class{constructor(e){this.idx=1,Tt(this,Gt(e,t=>t!==void 0))}accept(e){e.visit(this)}},s(Wi,"Terminal"),Wi);function Ng(r){return U(r,Qo)}s(Ng,"serializeGrammar");function Qo(r){function e(t){return U(t,Qo)}if(s(e,"convertDefinition"),r instanceof st){let t={type:"NonTerminal",name:r.nonTerminalName,idx:r.idx};return vt(r.label)&&(t.label=r.label),t}else{if(r instanceof pt)return{type:"Alternative",definition:e(r.definition)};if(r instanceof Ye)return{type:"Option",idx:r.idx,definition:e(r.definition)};if(r instanceof $t)return{type:"RepetitionMandatory",idx:r.idx,definition:e(r.definition)};if(r instanceof Et)return{type:"RepetitionMandatoryWithSeparator",idx:r.idx,separator:Qo(new ke({terminalType:r.separator})),definition:e(r.definition)};if(r instanceof ft)return{type:"RepetitionWithSeparator",idx:r.idx,separator:Qo(new ke({terminalType:r.separator})),definition:e(r.definition)};if(r instanceof Pe)return{type:"Repetition",idx:r.idx,definition:e(r.definition)};if(r instanceof ht)return{type:"Alternation",idx:r.idx,definition:e(r.definition)};if(r instanceof ke){let t={type:"Terminal",name:r.terminalType.name,label:bg(r.terminalType),idx:r.idx};vt(r.label)&&(t.terminalLabel=r.label);let n=r.terminalType.PATTERN;return r.terminalType.PATTERN&&(t.pattern=cr(n)?n.source:n),t}else{if(r instanceof eo)return{type:"Rule",name:r.name,orgText:r.orgText,definition:e(r.definition)};throw Error("non exhaustive match")}}}s(Qo,"serializeProduction");var Ki,to=(Ki=class{visit(e){let t=e;switch(t.constructor){case st:return this.visitNonTerminal(t);case pt:return this.visitAlternative(t);case Ye:return this.visitOption(t);case $t:return this.visitRepetitionMandatory(t);case Et:return this.visitRepetitionMandatoryWithSeparator(t);case ft:return this.visitRepetitionWithSeparator(t);case Pe:return this.visitRepetition(t);case ht:return this.visitAlternation(t);case ke:return this.visitTerminal(t);case eo: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){}},s(Ki,"GAstVisitor"),Ki);function wg(r){return r instanceof pt||r instanceof Ye||r instanceof Pe||r instanceof $t||r instanceof Et||r instanceof ft||r instanceof ke||r instanceof eo}s(wg,"isSequenceProd");function sl(r,e=[]){return r instanceof Ye||r instanceof Pe||r instanceof ft?!0:r instanceof ht?Im(r.definition,t=>sl(t,e)):r instanceof st&&lt(e,r)?!1:r instanceof rr?(r instanceof st&&e.push(r),Mt(r.definition,t=>sl(t,e))):!1}s(sl,"isOptionalProd");function Ig(r){return r instanceof ht}s(Ig,"isBranchingProd");function Ot(r){if(r instanceof st)return"SUBRULE";if(r instanceof Ye)return"OPTION";if(r instanceof ht)return"OR";if(r instanceof $t)return"AT_LEAST_ONE";if(r instanceof Et)return"AT_LEAST_ONE_SEP";if(r instanceof ft)return"MANY_SEP";if(r instanceof Pe)return"MANY";if(r instanceof ke)return"CONSUME";throw Error("non exhaustive match")}s(Ot,"getProductionDslName");var ji,dc=(ji=class{walk(e,t=[]){K(e.definition,(n,i)=>{let a=Xe(e.definition,i+1);if(n instanceof st)this.walkProdRef(n,a,t);else if(n instanceof ke)this.walkTerminal(n,a,t);else if(n instanceof pt)this.walkFlat(n,a,t);else if(n instanceof Ye)this.walkOption(n,a,t);else if(n instanceof $t)this.walkAtLeastOne(n,a,t);else if(n instanceof Et)this.walkAtLeastOneSep(n,a,t);else if(n instanceof ft)this.walkManySep(n,a,t);else if(n instanceof Pe)this.walkMany(n,a,t);else if(n instanceof ht)this.walkOr(n,a,t);else throw Error("non exhaustive match")})}walkTerminal(e,t,n){}walkProdRef(e,t,n){}walkFlat(e,t,n){let i=t.concat(n);this.walk(e,i)}walkOption(e,t,n){let i=t.concat(n);this.walk(e,i)}walkAtLeastOne(e,t,n){let i=[new Ye({definition:e.definition})].concat(t,n);this.walk(e,i)}walkAtLeastOneSep(e,t,n){let i=Xd(e,t,n);this.walk(e,i)}walkMany(e,t,n){let i=[new Ye({definition:e.definition})].concat(t,n);this.walk(e,i)}walkManySep(e,t,n){let i=Xd(e,t,n);this.walk(e,i)}walkOr(e,t,n){let i=t.concat(n);K(e.definition,a=>{let o=new pt({definition:[a]});this.walk(o,i)})}},s(ji,"RestWalker"),ji);function Xd(r,e,t){return[new Ye({definition:[new ke({terminalType:r.separator})].concat(r.definition)})].concat(e,t)}s(Xd,"restForRepetitionWithSeparator");function ro(r){if(r instanceof st)return ro(r.referencedRule);if(r instanceof ke)return Dg(r);if(wg(r))return Pg(r);if(Ig(r))return Lg(r);throw Error("non exhaustive match")}s(ro,"first");function Pg(r){let e=[],t=r.definition,n=0,i=t.length>n,a,o=!0;for(;i&&o;)a=t[n],o=sl(a),e=e.concat(ro(a)),n=n+1,i=t.length>n;return Ip(e)}s(Pg,"firstForSequence");function Lg(r){let e=U(r.definition,t=>ro(t));return Ip(bt(e))}s(Lg,"firstForBranching");function Dg(r){return[r.terminalType]}s(Dg,"firstForTerminal");var Og="_~IN~_",Vi,m$=(Vi=class extends dc{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 i=Mg(e.referencedRule,e.idx)+this.topProd.name,a=t.concat(n),o=new pt({definition:a}),u=ro(o);this.follows[i]=u}},s(Vi,"ResyncFollowsWalker"),Vi);function _g(r){let e={};return K(r,t=>{let n=new m$(t).startWalking();Tt(e,n)}),e}s(_g,"computeAllProdsFollows");function Mg(r,e){return r.name+e+Og}s(Mg,"buildBetweenProdsFollowPrefix");var Xl={},g$=new cg;function Rl(r){let e=r.toString();if(Xl.hasOwnProperty(e))return Xl[e];{let t=g$.pattern(e);return Xl[e]=t,t}}s(Rl,"getRegExpAst");function Fg(){Xl={}}s(Fg,"clearRegExpParserCache");var qg="Complement Sets are not supported for first char optimization",bu=`Unable to use "first char" lexer optimizations:
47
- `;function Ug(r,e=!1){try{let t=Rl(r);return xu(t.value,{},t.flags.ignoreCase)}catch(t){if(t.message===qg)e&&Df(`${bu} Unable to optimize: < ${r.toString()} >
48
- Complement Sets cannot be automatically optimized.
49
- This will disable the lexer's first char optimizations.
50
- See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#COMPLEMENT for details.`);else{let n="";e&&(n=`
51
- This will disable the lexer's first char optimizations.
52
- See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#REGEXP_PARSING for details.`),Su(`${bu}
53
- Failed parsing: < ${r.toString()} >
54
- Using the @chevrotain/regexp-to-ast library
55
- Please open an issue at: https://github.com/chevrotain/chevrotain/issues`+n)}}return[]}s(Ug,"getOptimizedStartCodesIndices");function xu(r,e,t){switch(r.type){case"Disjunction":for(let i=0;i<r.value.length;i++)xu(r.value[i],e,t);break;case"Alternative":let n=r.value;for(let i=0;i<n.length;i++){let a=n[i];switch(a.type){case"EndAnchor":case"GroupBackReference":case"Lookahead":case"NegativeLookahead":case"Lookbehind":case"NegativeLookbehind":case"StartAnchor":case"WordBoundary":case"NonWordBoundary":continue}let o=a;switch(o.type){case"Character":qo(o.value,e,t);break;case"Set":if(o.complement===!0)throw Error(qg);K(o.value,l=>{if(typeof l=="number")qo(l,e,t);else{let c=l;if(t===!0)for(let d=c.from;d<=c.to;d++)qo(d,e,t);else{for(let d=c.from;d<=c.to&&d<Go;d++)qo(d,e,t);if(c.to>=Go){let d=c.from>=Go?c.from:Go,p=c.to,f=mr(d),g=mr(p);for(let m=f;m<=g;m++)e[m]=m}}}});break;case"Group":xu(o.value,e,t);break;default:throw Error("Non Exhaustive Match")}let u=o.quantifier!==void 0&&o.quantifier.atLeast===0;if(o.type==="Group"&&Nu(o)===!1||o.type!=="Group"&&u===!1)break}break;default:throw Error("non exhaustive match!")}return je(e)}s(xu,"firstCharOptimizedIndices");function qo(r,e,t){let n=mr(r);e[n]=n,t===!0&&Gg(r,e)}s(qo,"addOptimizedIdxToResult");function Gg(r,e){let t=String.fromCharCode(r),n=t.toUpperCase();if(n!==t){let i=mr(n.charCodeAt(0));e[i]=i}else{let i=t.toLowerCase();if(i!==t){let a=mr(i.charCodeAt(0));e[a]=a}}}s(Gg,"handleIgnoreCase");function Yd(r,e){return zs(r.value,t=>{if(typeof t=="number")return lt(e,t);{let n=t;return zs(e,i=>n.from<=i&&i<=n.to)!==void 0}})}s(Yd,"findCode");function Nu(r){let e=r.quantifier;return e&&e.atLeast===0?!0:r.value?St(r.value)?Mt(r.value,Nu):Nu(r.value):!1}s(Nu,"isWholeOptional");var Bi,y$=(Bi=class extends ic{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;case"Lookbehind":this.visitLookbehind(e);return;case"NegativeLookbehind":this.visitNegativeLookbehind(e);return}super.visitChildren(e)}}visitCharacter(e){lt(this.targetCharCodes,e.value)&&(this.found=!0)}visitSet(e){e.complement?Yd(e,this.targetCharCodes)===void 0&&(this.found=!0):Yd(e,this.targetCharCodes)!==void 0&&(this.found=!0)}},s(Bi,"CharCodeFinder"),Bi);function pc(r,e){if(e instanceof RegExp){let t=Rl(e),n=new y$(r);return n.visit(t),n.found}else return zs(e,t=>lt(r,t.charCodeAt(0)))!==void 0}s(pc,"canMatchCharCode");var Mn="PATTERN",Uo="defaultMode",bl="modes",zg=typeof new RegExp("(?:)").sticky=="boolean";function Wg(r,e){e=wp(e,{useSticky:zg,debug:!1,safeMode:!1,positionTracking:"full",lineTerminatorCharacters:["\r",`
56
- `],tracer:s((N,C)=>C(),"tracer")});let t=e.tracer;t("initCharCodeToOptimizedIndexMap",()=>{cy()});let n;t("Reject Lexer.NA",()=>{n=ju(r,N=>N[Mn]===nt.NA)});let i=!1,a;t("Transform Patterns",()=>{i=!1,a=U(n,N=>{let C=N[Mn];if(cr(C)){let I=C.source;return I.length===1&&I!=="^"&&I!=="$"&&I!=="."&&!C.ignoreCase?I:I.length===2&&I[0]==="\\"&&!lt(["d","D","s","S","t","r","n","t","0","c","b","B","f","v","w","W"],I[1])?I[1]:e.useSticky?Qd(C):Jd(C)}else{if(qn(C))return i=!0,{exec:C};if(typeof C=="object")return i=!0,C;if(typeof C=="string"){if(C.length===1)return C;{let I=C.replace(/[\\^$.*+?()[\]{}|]/g,"\\$&"),Y=new RegExp(I);return e.useSticky?Qd(Y):Jd(Y)}}else throw Error("non exhaustive match")}})});let o,u,l,c,d;t("misc mapping",()=>{o=U(n,N=>N.tokenTypeIdx),u=U(n,N=>{let C=N.GROUP;if(C!==nt.SKIPPED){if(vt(C))return C;if(ur(C))return!1;throw Error("non exhaustive match")}}),l=U(n,N=>{let C=N.LONGER_ALT;if(C)return St(C)?U(C,I=>Yh(n,I)):[Yh(n,C)]}),c=U(n,N=>N.PUSH_MODE),d=U(n,N=>V(N,"POP_MODE"))});let p;t("Line Terminator Handling",()=>{let N=qf(e.lineTerminatorCharacters);p=U(n,C=>!1),e.positionTracking!=="onlyOffset"&&(p=U(n,C=>V(C,"LINE_BREAKS")?!!C.LINE_BREAKS:Ff(C,N)===!1&&pc(N,C.PATTERN)))});let f,g,m,$;t("Misc Mapping #2",()=>{f=U(n,Mf),g=U(a,ly),m=it(n,(N,C)=>{let I=C.GROUP;return vt(I)&&I!==nt.SKIPPED&&(N[I]=[]),N},{}),$=U(a,(N,C)=>({pattern:a[C],longerAlt:l[C],canLineTerminator:p[C],isCustom:f[C],short:g[C],group:u[C],push:c[C],pop:d[C],tokenTypeIdx:o[C],tokenType:n[C]}))});let x=!0,A=[];return e.safeMode||t("First Char Optimization",()=>{A=it(n,(N,C,I)=>{if(typeof C.PATTERN=="string"){let Y=C.PATTERN.charCodeAt(0),ne=mr(Y);Yl(N,ne,$[I])}else if(St(C.START_CHARS_HINT)){let Y;K(C.START_CHARS_HINT,ne=>{let J=typeof ne=="string"?ne.charCodeAt(0):ne,ye=mr(J);Y!==ye&&(Y=ye,Yl(N,ye,$[I]))})}else if(cr(C.PATTERN))if(C.PATTERN.unicode)x=!1,e.ensureOptimizations&&Su(`${bu} Unable to analyze < ${C.PATTERN.toString()} > pattern.
57
- The regexp unicode flag is not currently supported by the regexp-to-ast library.
58
- This will disable the lexer's first char optimizations.
59
- For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNICODE_OPTIMIZE`);else{let Y=Ug(C.PATTERN,e.ensureOptimizations);ge(Y)&&(x=!1),K(Y,ne=>{Yl(N,ne,$[I])})}else e.ensureOptimizations&&Su(`${bu} TokenType: <${C.name}> is using a custom token pattern without providing <start_chars_hint> parameter.
60
- This will disable the lexer's first char optimizations.
61
- For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_OPTIMIZE`),x=!1;return N},[])}),{emptyGroups:m,patternIdxToConfig:$,charCodeToPatternIdxToConfig:A,hasCustom:i,canBeOptimized:x}}s(Wg,"analyzeTokenTypes");function Kg(r,e){let t=[],n=Vg(r);t=t.concat(n.errors);let i=Bg(n.valid),a=i.valid;return t=t.concat(i.errors),t=t.concat(jg(a)),t=t.concat(Zg(a)),t=t.concat(ey(a,e)),t=t.concat(ty(a)),t}s(Kg,"validatePatterns");function jg(r){let e=[],t=Rt(r,n=>cr(n[Mn]));return e=e.concat(Hg(t)),e=e.concat(Yg(t)),e=e.concat(Jg(t)),e=e.concat(Qg(t)),e=e.concat(Xg(t)),e}s(jg,"validateRegExpPattern");function Vg(r){let e=Rt(r,i=>!V(i,Mn)),t=U(e,i=>({message:"Token Type: ->"+i.name+"<- missing static 'PATTERN' property",type:Le.MISSING_PATTERN,tokenTypes:[i]})),n=Vu(r,e);return{errors:t,valid:n}}s(Vg,"findMissingPatterns");function Bg(r){let e=Rt(r,i=>{let a=i[Mn];return!cr(a)&&!qn(a)&&!V(a,"exec")&&!vt(a)}),t=U(e,i=>({message:"Token Type: ->"+i.name+"<- static 'PATTERN' can only be a RegExp, a Function matching the {CustomPatternMatcherFunc} type or an Object matching the {ICustomPattern} interface.",type:Le.INVALID_PATTERN,tokenTypes:[i]})),n=Vu(r,e);return{errors:t,valid:n}}s(Bg,"findInvalidPatterns");var T$=/[^\\][$]/;function Hg(r){const n=class n extends ic{constructor(){super(...arguments),this.found=!1}visitEndAnchor(a){this.found=!0}};s(n,"EndAnchorFinder");let e=n,t=Rt(r,i=>{let a=i.PATTERN;try{let o=Rl(a),u=new e;return u.visit(o),u.found}catch{return T$.test(a.source)}});return U(t,i=>({message:`Unexpected RegExp Anchor Error:
62
- Token Type: ->`+i.name+`<- static 'PATTERN' cannot contain end of input anchor '$'
63
- See chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:Le.EOI_ANCHOR_FOUND,tokenTypes:[i]}))}s(Hg,"findEndOfInputAnchor");function Xg(r){let e=Rt(r,t=>t.PATTERN.test(""));return U(e,t=>({message:"Token Type: ->"+t.name+"<- static 'PATTERN' must not match an empty string",type:Le.EMPTY_MATCH_PATTERN,tokenTypes:[t]}))}s(Xg,"findEmptyMatchRegExps");var v$=/[^\\[][\^]|^\^/;function Yg(r){const n=class n extends ic{constructor(){super(...arguments),this.found=!1}visitStartAnchor(a){this.found=!0}};s(n,"StartAnchorFinder");let e=n,t=Rt(r,i=>{let a=i.PATTERN;try{let o=Rl(a),u=new e;return u.visit(o),u.found}catch{return v$.test(a.source)}});return U(t,i=>({message:`Unexpected RegExp Anchor Error:
64
- Token Type: ->`+i.name+`<- static 'PATTERN' cannot contain start of input anchor '^'
65
- See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:Le.SOI_ANCHOR_FOUND,tokenTypes:[i]}))}s(Yg,"findStartOfInputAnchor");function Jg(r){let e=Rt(r,t=>{let n=t[Mn];return n instanceof RegExp&&(n.multiline||n.global)});return U(e,t=>({message:"Token Type: ->"+t.name+"<- static 'PATTERN' may NOT contain global('g') or multiline('m')",type:Le.UNSUPPORTED_FLAGS_FOUND,tokenTypes:[t]}))}s(Jg,"findUnsupportedFlags");function Qg(r){let e=[],t=U(r,i=>it(r,(a,o)=>(i.PATTERN.source===o.PATTERN.source&&!lt(e,o)&&o.PATTERN!==nt.NA&&(e.push(o),a.push(o)),a),[]));t=pl(t);let n=Rt(t,i=>i.length>1);return U(n,i=>{let a=U(i,o=>o.name);return{message:`The same RegExp pattern ->${Ut(i).PATTERN}<-has been used in all of the following Token Types: ${a.join(", ")} <-`,type:Le.DUPLICATE_PATTERNS_FOUND,tokenTypes:i}})}s(Qg,"findDuplicatePatterns");function Zg(r){let e=Rt(r,t=>{if(!V(t,"GROUP"))return!1;let n=t.GROUP;return n!==nt.SKIPPED&&n!==nt.NA&&!vt(n)});return U(e,t=>({message:"Token Type: ->"+t.name+"<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String",type:Le.INVALID_GROUP_TYPE_FOUND,tokenTypes:[t]}))}s(Zg,"findInvalidGroupType");function ey(r,e){let t=Rt(r,n=>n.PUSH_MODE!==void 0&&!lt(e,n.PUSH_MODE));return U(t,n=>({message:`Token Type: ->${n.name}<- static 'PUSH_MODE' value cannot refer to a Lexer Mode ->${n.PUSH_MODE}<-which does not exist`,type:Le.PUSH_MODE_DOES_NOT_EXIST,tokenTypes:[n]}))}s(ey,"findModesThatDoNotExist");function ty(r){let e=[],t=it(r,(n,i,a)=>{let o=i.PATTERN;return o===nt.NA||(vt(o)?n.push({str:o,idx:a,tokenType:i}):cr(o)&&ny(o)&&n.push({str:o.source,idx:a,tokenType:i})),n},[]);return K(r,(n,i)=>{K(t,({str:a,idx:o,tokenType:u})=>{if(i<o&&ry(a,n.PATTERN)){let l=`Token: ->${u.name}<- can never be matched.
66
- Because it appears AFTER the Token Type ->${n.name}<-in the lexer's definition.
67
- See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNREACHABLE`;e.push({message:l,type:Le.UNREACHABLE_PATTERN,tokenTypes:[n,u]})}})}),e}s(ty,"findUnreachablePatterns");function ry(r,e){if(cr(e)){if(iy(e))return!1;let t=e.exec(r);return t!==null&&t.index===0}else{if(qn(e))return e(r,0,[],{});if(V(e,"exec"))return e.exec(r,0,[],{});if(typeof e=="string")return e===r;throw Error("non exhaustive match")}}s(ry,"tryToMatchStrToPattern");function ny(r){return zs([".","\\","[","]","|","^","$","(",")","?","*","+","{"],e=>r.source.indexOf(e)!==-1)===void 0}s(ny,"noMetaChar");function iy(r){return/(\(\?=)|(\(\?!)|(\(\?<=)|(\(\?<!)/.test(r.source)}s(iy,"usesLookAheadOrBehind");function Jd(r){let e=r.ignoreCase?"i":"";return new RegExp(`^(?:${r.source})`,e)}s(Jd,"addStartOfInput");function Qd(r){let e=r.ignoreCase?"iy":"y";return new RegExp(`${r.source}`,e)}s(Qd,"addStickyFlag");function ay(r,e,t){let n=[];return V(r,Uo)||n.push({message:"A MultiMode Lexer cannot be initialized without a <"+Uo+`> property in its definition
68
- `,type:Le.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE}),V(r,bl)||n.push({message:"A MultiMode Lexer cannot be initialized without a <"+bl+`> property in its definition
69
- `,type:Le.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY}),V(r,bl)&&V(r,Uo)&&!V(r.modes,r.defaultMode)&&n.push({message:`A MultiMode Lexer cannot be initialized with a ${Uo}: <${r.defaultMode}>which does not exist
70
- `,type:Le.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST}),V(r,bl)&&K(r.modes,(i,a)=>{K(i,(o,u)=>{if(ur(o))n.push({message:`A Lexer cannot be initialized using an undefined Token Type. Mode:<${a}> at index: <${u}>
71
- `,type:Le.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED});else if(V(o,"LONGER_ALT")){let l=St(o.LONGER_ALT)?o.LONGER_ALT:[o.LONGER_ALT];K(l,c=>{!ur(c)&&!lt(i,c)&&n.push({message:`A MultiMode Lexer cannot be initialized with a longer_alt <${c.name}> on token <${o.name}> outside of mode <${a}>
72
- `,type:Le.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE})})}})}),n}s(ay,"performRuntimeChecks");function sy(r,e,t){let n=[],i=!1,a=pl(bt(je(r.modes))),o=ju(a,l=>l[Mn]===nt.NA),u=qf(t);return e&&K(o,l=>{let c=Ff(l,u);if(c!==!1){let d={message:uy(l,c),type:c.issue,tokenType:l};n.push(d)}else V(l,"LINE_BREAKS")?l.LINE_BREAKS===!0&&(i=!0):pc(u,l.PATTERN)&&(i=!0)}),e&&!i&&n.push({message:`Warning: No LINE_BREAKS Found.
73
- This Lexer has been defined to track line and column information,
74
- But none of the Token Types can be identified as matching a line terminator.
75
- See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#LINE_BREAKS
76
- for details.`,type:Le.NO_LINE_BREAKS_FLAGS}),n}s(sy,"performWarningRuntimeChecks");function oy(r){let e={},t=tl(r);return K(t,n=>{let i=r[n];if(St(i))e[n]=[];else throw Error("non exhaustive match")}),e}s(oy,"cloneEmptyGroups");function Mf(r){let e=r.PATTERN;if(cr(e))return!1;if(qn(e)||V(e,"exec"))return!0;if(vt(e))return!1;throw Error("non exhaustive match")}s(Mf,"isCustomPattern");function ly(r){return vt(r)&&r.length===1?r.charCodeAt(0):!1}s(ly,"isShortPattern");var R$={test:s(function(r){let e=r.length;for(let t=this.lastIndex;t<e;t++){let n=r.charCodeAt(t);if(n===10)return this.lastIndex=t+1,!0;if(n===13)return r.charCodeAt(t+1)===10?this.lastIndex=t+2:this.lastIndex=t+1,!0}return!1},"test"),lastIndex:0};function Ff(r,e){if(V(r,"LINE_BREAKS"))return!1;if(cr(r.PATTERN)){try{pc(e,r.PATTERN)}catch(t){return{issue:Le.IDENTIFY_TERMINATOR,errMsg:t.message}}return!1}else{if(vt(r.PATTERN))return!1;if(Mf(r))return{issue:Le.CUSTOM_LINE_BREAK};throw Error("non exhaustive match")}}s(Ff,"checkLineBreaksIssues");function uy(r,e){if(e.issue===Le.IDENTIFY_TERMINATOR)return`Warning: unable to identify line terminator usage in pattern.
77
- The problem is in the <${r.name}> Token Type
78
- Root cause: ${e.errMsg}.
79
- For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#IDENTIFY_TERMINATOR`;if(e.issue===Le.CUSTOM_LINE_BREAK)return`Warning: A Custom Token Pattern should specify the <line_breaks> option.
80
- The problem is in the <${r.name}> Token Type
81
- For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_LINE_BREAK`;throw Error("non exhaustive match")}s(uy,"buildLineBreakIssueMessage");function qf(r){return U(r,e=>vt(e)?e.charCodeAt(0):e)}s(qf,"getCharCodes");function Yl(r,e,t){r[e]===void 0?r[e]=[t]:r[e].push(t)}s(Yl,"addToMapOfArrays");var Go=256,Jl=[];function mr(r){return r<Go?r:Jl[r]}s(mr,"charCodeToOptimizedIndex");function cy(){if(ge(Jl)){Jl=new Array(65536);for(let r=0;r<65536;r++)Jl[r]=r>255?255+~~(r/255):r}}s(cy,"initCharCodeToOptimizedIndexMap");function no(r,e){let t=r.tokenTypeIdx;return t===e.tokenTypeIdx?!0:e.isParent===!0&&e.categoryMatchesMap[t]===!0}s(no,"tokenStructuredMatcher");function ol(r,e){return r.tokenTypeIdx===e.tokenTypeIdx}s(ol,"tokenStructuredMatcherNoCategories");var em=1,dy={};function io(r){let e=py(r);fy(e),my(e),hy(e),K(e,t=>{t.isParent=t.categoryMatches.length>0})}s(io,"augmentTokenTypes");function py(r){let e=Je(r),t=r,n=!0;for(;n;){t=pl(bt(U(t,a=>a.CATEGORIES)));let i=Vu(t,e);e=e.concat(i),ge(i)?n=!1:t=i}return e}s(py,"expandCategories");function fy(r){K(r,e=>{Gf(e)||(dy[em]=e,e.tokenTypeIdx=em++),Zd(e)&&!St(e.CATEGORIES)&&(e.CATEGORIES=[e.CATEGORIES]),Zd(e)||(e.CATEGORIES=[]),gy(e)||(e.categoryMatches=[]),yy(e)||(e.categoryMatchesMap={})})}s(fy,"assignTokenDefaultProps");function hy(r){K(r,e=>{e.categoryMatches=[],K(e.categoryMatchesMap,(t,n)=>{e.categoryMatches.push(dy[n].tokenTypeIdx)})})}s(hy,"assignCategoriesTokensProp");function my(r){K(r,e=>{Uf([],e)})}s(my,"assignCategoriesMapProp");function Uf(r,e){K(r,t=>{e.categoryMatchesMap[t.tokenTypeIdx]=!0}),K(e.CATEGORIES,t=>{let n=r.concat(e);lt(n,t)||Uf(n,t)})}s(Uf,"singleAssignCategoriesToksMap");function Gf(r){return V(r,"tokenTypeIdx")}s(Gf,"hasShortKeyProperty");function Zd(r){return V(r,"CATEGORIES")}s(Zd,"hasCategoriesProperty");function gy(r){return V(r,"categoryMatches")}s(gy,"hasExtendingTokensTypesProperty");function yy(r){return V(r,"categoryMatchesMap")}s(yy,"hasExtendingTokensTypesMapProperty");function Ty(r){return V(r,"tokenTypeIdx")}s(Ty,"isTokenType");var ep={buildUnableToPopLexerModeMessage(r){return`Unable to pop Lexer Mode after encountering Token ->${r.image}<- The Mode Stack is empty`},buildUnexpectedCharactersMessage(r,e,t,n,i,a){return`unexpected character: ->${r.charAt(e)}<- at offset: ${e}, skipped ${t} characters.`}},Le;(function(r){r[r.MISSING_PATTERN=0]="MISSING_PATTERN",r[r.INVALID_PATTERN=1]="INVALID_PATTERN",r[r.EOI_ANCHOR_FOUND=2]="EOI_ANCHOR_FOUND",r[r.UNSUPPORTED_FLAGS_FOUND=3]="UNSUPPORTED_FLAGS_FOUND",r[r.DUPLICATE_PATTERNS_FOUND=4]="DUPLICATE_PATTERNS_FOUND",r[r.INVALID_GROUP_TYPE_FOUND=5]="INVALID_GROUP_TYPE_FOUND",r[r.PUSH_MODE_DOES_NOT_EXIST=6]="PUSH_MODE_DOES_NOT_EXIST",r[r.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE=7]="MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE",r[r.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY=8]="MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY",r[r.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST=9]="MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST",r[r.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED=10]="LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED",r[r.SOI_ANCHOR_FOUND=11]="SOI_ANCHOR_FOUND",r[r.EMPTY_MATCH_PATTERN=12]="EMPTY_MATCH_PATTERN",r[r.NO_LINE_BREAKS_FLAGS=13]="NO_LINE_BREAKS_FLAGS",r[r.UNREACHABLE_PATTERN=14]="UNREACHABLE_PATTERN",r[r.IDENTIFY_TERMINATOR=15]="IDENTIFY_TERMINATOR",r[r.CUSTOM_LINE_BREAK=16]="CUSTOM_LINE_BREAK",r[r.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE=17]="MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE"})(Le||(Le={}));var zo={deferDefinitionErrorsHandling:!1,positionTracking:"full",lineTerminatorsPattern:/\n|\r\n?/g,lineTerminatorCharacters:[`
82
- `,"\r"],ensureOptimizations:!1,safeMode:!1,errorMessageProvider:ep,traceInitPerf:!1,skipValidations:!1,recoveryEnabled:!0};Object.freeze(zo);var Hi,nt=(Hi=class{constructor(e,t=zo){if(this.lexerDefinition=e,this.lexerDefinitionErrors=[],this.lexerDefinitionWarning=[],this.patternIdxToConfig={},this.charCodeToPatternIdxToConfig={},this.modes=[],this.emptyGroups={},this.trackStartLines=!0,this.trackEndLines=!0,this.hasCustom=!1,this.canModeBeOptimized={},this.TRACE_INIT=(i,a)=>{if(this.traceInitPerf===!0){this.traceInitIndent++;let o=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent<this.traceInitMaxIdent&&console.log(`${o}--> <${i}>`);let{time:u,value:l}=Of(a),c=u>10?console.warn:console.log;return this.traceInitIndent<this.traceInitMaxIdent&&c(`${o}<-- <${i}> time: ${u}ms`),this.traceInitIndent--,l}else return a()},typeof t=="boolean")throw Error(`The second argument to the Lexer constructor is now an ILexerConfig Object.
83
- a boolean 2nd argument is no longer supported`);this.config=Tt({},zo,t);let n=this.config.traceInitPerf;n===!0?(this.traceInitMaxIdent=1/0,this.traceInitPerf=!0):typeof n=="number"&&(this.traceInitMaxIdent=n,this.traceInitPerf=!0),this.traceInitIndent=-1,this.TRACE_INIT("Lexer Constructor",()=>{let i,a=!0;this.TRACE_INIT("Lexer Config handling",()=>{if(this.config.lineTerminatorsPattern===zo.lineTerminatorsPattern)this.config.lineTerminatorsPattern=R$;else if(this.config.lineTerminatorCharacters===zo.lineTerminatorCharacters)throw Error(`Error: Missing <lineTerminatorCharacters> property on the Lexer config.
84
- For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#MISSING_LINE_TERM_CHARS`);if(t.safeMode&&t.ensureOptimizations)throw Error('"safeMode" and "ensureOptimizations" flags are mutually exclusive.');this.trackStartLines=/full|onlyStart/i.test(this.config.positionTracking),this.trackEndLines=/full/i.test(this.config.positionTracking),St(e)?i={modes:{defaultMode:Je(e)},defaultMode:Uo}:(a=!1,i=Je(e))}),this.config.skipValidations===!1&&(this.TRACE_INIT("performRuntimeChecks",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(ay(i,this.trackStartLines,this.config.lineTerminatorCharacters))}),this.TRACE_INIT("performWarningRuntimeChecks",()=>{this.lexerDefinitionWarning=this.lexerDefinitionWarning.concat(sy(i,this.trackStartLines,this.config.lineTerminatorCharacters))})),i.modes=i.modes?i.modes:{},K(i.modes,(u,l)=>{i.modes[l]=ju(u,c=>ur(c))});let o=tl(i.modes);if(K(i.modes,(u,l)=>{this.TRACE_INIT(`Mode: <${l}> processing`,()=>{if(this.modes.push(l),this.config.skipValidations===!1&&this.TRACE_INIT("validatePatterns",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(Kg(u,o))}),ge(this.lexerDefinitionErrors)){io(u);let c;this.TRACE_INIT("analyzeTokenTypes",()=>{c=Wg(u,{lineTerminatorCharacters:this.config.lineTerminatorCharacters,positionTracking:t.positionTracking,ensureOptimizations:t.ensureOptimizations,safeMode:t.safeMode,tracer:this.TRACE_INIT})}),this.patternIdxToConfig[l]=c.patternIdxToConfig,this.charCodeToPatternIdxToConfig[l]=c.charCodeToPatternIdxToConfig,this.emptyGroups=Tt({},this.emptyGroups,c.emptyGroups),this.hasCustom=c.hasCustom||this.hasCustom,this.canModeBeOptimized[l]=c.canBeOptimized}})}),this.defaultMode=i.defaultMode,!ge(this.lexerDefinitionErrors)&&!this.config.deferDefinitionErrorsHandling){let u=U(this.lexerDefinitionErrors,l=>l.message).join(`-----------------------
85
- `);throw new Error(`Errors detected in definition of Lexer:
86
- `+u)}K(this.lexerDefinitionWarning,u=>{Df(u.message)}),this.TRACE_INIT("Choosing sub-methods implementations",()=>{if(zg?(this.chopInput=Xh,this.match=this.matchWithTest):(this.updateLastIndex=Ke,this.match=this.matchWithExec),a&&(this.handleModes=Ke),this.trackStartLines===!1&&(this.computeNewColumn=Xh),this.trackEndLines===!1&&(this.updateTokenEndLineColumnLocation=Ke),/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 u=it(this.canModeBeOptimized,(l,c,d)=>(c===!1&&l.push(d),l),[]);if(t.ensureOptimizations&&!ge(u))throw Error(`Lexer Modes: < ${u.join(", ")} > cannot be optimized.
87
- Disable the "ensureOptimizations" lexer config flag to silently ignore this and run the lexer in an un-optimized mode.
88
- Or inspect the console log for details on how to resolve these issues.`)}),this.TRACE_INIT("clearRegExpParserCache",()=>{Fg()}),this.TRACE_INIT("toFastProperties",()=>{_f(this)})})}tokenize(e,t=this.defaultMode){if(!ge(this.lexerDefinitionErrors)){let n=U(this.lexerDefinitionErrors,i=>i.message).join(`-----------------------
89
- `);throw new Error(`Unable to Tokenize because Errors detected in definition of Lexer:
90
- `+n)}return this.tokenizeInternal(e,t)}tokenizeInternal(e,t){let n,i,a,o,u,l,c,d,p,f,g,m,$,x,A,N=e,C=N.length,I=0,Y=0,ne=this.hasCustom?0:Math.floor(e.length/10),J=new Array(ne),ye=[],Ce=this.trackStartLines?1:void 0,Se=this.trackStartLines?1:void 0,oe=oy(this.emptyGroups),Qe=this.trackStartLines,L=this.config.lineTerminatorsPattern,k=0,T=[],b=[],v=[],R=[];Object.freeze(R);let S;function D(){return T}s(D,"getPossiblePatternsSlow");function M(W){let ee=mr(W),de=b[ee];return de===void 0?R:de}s(M,"getPossiblePatternsOptimized");let O=s(W=>{if(v.length===1&&W.tokenType.PUSH_MODE===void 0){let ee=this.config.errorMessageProvider.buildUnableToPopLexerModeMessage(W);ye.push({offset:W.startOffset,line:W.startLine,column:W.startColumn,length:W.image.length,message:ee})}else{v.pop();let ee=On(v);T=this.patternIdxToConfig[ee],b=this.charCodeToPatternIdxToConfig[ee],k=T.length;let de=this.canModeBeOptimized[ee]&&this.config.safeMode===!1;b&&de?S=M:S=D}},"pop_mode");function z(W){v.push(W),b=this.charCodeToPatternIdxToConfig[W],T=this.patternIdxToConfig[W],k=T.length,k=T.length;let ee=this.canModeBeOptimized[W]&&this.config.safeMode===!1;b&&ee?S=M:S=D}s(z,"push_mode"),z.call(this,t);let q,re=this.config.recoveryEnabled;for(;I<C;){l=null;let W=N.charCodeAt(I),ee=S(W),de=ee.length;for(n=0;n<de;n++){q=ee[n];let pe=q.pattern;c=null;let fe=q.short;if(fe!==!1?W===fe&&(l=pe):q.isCustom===!0?(A=pe.exec(N,I,J,oe),A!==null?(l=A[0],A.payload!==void 0&&(c=A.payload)):l=null):(this.updateLastIndex(pe,I),l=this.match(pe,e,I)),l!==null){if(u=q.longerAlt,u!==void 0){let Te=u.length;for(a=0;a<Te;a++){let be=T[u[a]],he=be.pattern;if(d=null,be.isCustom===!0?(A=he.exec(N,I,J,oe),A!==null?(o=A[0],A.payload!==void 0&&(d=A.payload)):o=null):(this.updateLastIndex(he,I),o=this.match(he,e,I)),o&&o.length>l.length){l=o,c=d,q=be;break}}}break}}if(l!==null){if(p=l.length,f=q.group,f!==void 0&&(g=q.tokenTypeIdx,m=this.createTokenInstance(l,I,g,q.tokenType,Ce,Se,p),this.handlePayload(m,c),f===!1?Y=this.addToken(J,Y,m):oe[f].push(m)),e=this.chopInput(e,p),I=I+p,Se=this.computeNewColumn(Se,p),Qe===!0&&q.canLineTerminator===!0){let pe=0,fe,Te;L.lastIndex=0;do fe=L.test(l),fe===!0&&(Te=L.lastIndex-1,pe++);while(fe===!0);pe!==0&&(Ce=Ce+pe,Se=p-Te,this.updateTokenEndLineColumnLocation(m,f,Te,pe,Ce,Se,p))}this.handleModes(q,O,z,m)}else{let pe=I,fe=Ce,Te=Se,be=re===!1;for(;be===!1&&I<C;)for(e=this.chopInput(e,1),I++,i=0;i<k;i++){let he=T[i],Q=he.pattern,Fe=he.short;if(Fe!==!1?N.charCodeAt(I)===Fe&&(be=!0):he.isCustom===!0?be=Q.exec(N,I,J,oe)!==null:(this.updateLastIndex(Q,I),be=Q.exec(e)!==null),be===!0)break}if($=I-pe,Se=this.computeNewColumn(Se,$),x=this.config.errorMessageProvider.buildUnexpectedCharactersMessage(N,pe,$,fe,Te,On(v)),ye.push({offset:pe,line:fe,column:Te,length:$,message:x}),re===!1)break}}return this.hasCustom||(J.length=Y),{tokens:J,groups:oe,errors:ye}}handleModes(e,t,n,i){if(e.pop===!0){let a=e.push;t(i),a!==void 0&&n.call(this,a)}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,i,a,o,u){let l,c;t!==void 0&&(l=n===u-1,c=l?-1:0,i===1&&l===!0||(e.endLine=a+c,e.endColumn=o-1+-c))}computeNewColumn(e,t){return e+t}createOffsetOnlyToken(e,t,n,i){return{image:e,startOffset:t,tokenTypeIdx:n,tokenType:i}}createStartOnlyToken(e,t,n,i,a,o){return{image:e,startOffset:t,startLine:a,startColumn:o,tokenTypeIdx:n,tokenType:i}}createFullToken(e,t,n,i,a,o,u){return{image:e,startOffset:t,endOffset:t+u-1,startLine:a,endLine:a,startColumn:o,endColumn:o+u-1,tokenTypeIdx:n,tokenType:i}}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?n[0]:null}},s(Hi,"Lexer"),Hi);nt.SKIPPED="This marks a skipped Token pattern, this means each token identified by it will be consumed and then thrown into oblivion, this can be used to for example to completely ignore whitespace.";nt.NA=/NOT_APPLICABLE/;function dn(r){return zf(r)?r.LABEL:r.name}s(dn,"tokenLabel");function zf(r){return vt(r.LABEL)&&r.LABEL!==""}s(zf,"hasTokenLabel");var $$="parent",tm="categories",rm="label",nm="group",im="push_mode",am="pop_mode",sm="longer_alt",om="line_breaks",lm="start_chars_hint";function ki(r){return vy(r)}s(ki,"createToken");function vy(r){let e=r.pattern,t={};if(t.name=r.name,ur(e)||(t.PATTERN=e),V(r,$$))throw`The parent property is no longer supported.
91
- See: https://github.com/chevrotain/chevrotain/issues/564#issuecomment-349062346 for details.`;return V(r,tm)&&(t.CATEGORIES=r[tm]),io([t]),V(r,rm)&&(t.LABEL=r[rm]),V(r,nm)&&(t.GROUP=r[nm]),V(r,am)&&(t.POP_MODE=r[am]),V(r,im)&&(t.PUSH_MODE=r[im]),V(r,sm)&&(t.LONGER_ALT=r[sm]),V(r,om)&&(t.LINE_BREAKS=r[om]),V(r,lm)&&(t.START_CHARS_HINT=r[lm]),t}s(vy,"createTokenInternal");var Pr=ki({name:"EOF",pattern:nt.NA});io([Pr]);function $l(r,e,t,n,i,a,o,u){return{image:e,startOffset:t,endOffset:n,startLine:i,endLine:a,startColumn:o,endColumn:u,tokenTypeIdx:r.tokenTypeIdx,tokenType:r}}s($l,"createTokenInstance");function Wf(r,e){return no(r,e)}s(Wf,"tokenMatcher");var Ci={buildMismatchTokenMessage({expected:r,actual:e,previous:t,ruleName:n}){return`Expecting ${zf(r)?`--> ${dn(r)} <--`:`token of type --> ${r.name} <--`} but found --> '${e.image}' <--`},buildNotAllInputParsedMessage({firstRedundant:r,ruleName:e}){return"Redundant input, expecting EOF but found: "+r.image},buildNoViableAltMessage({expectedPathsPerAlt:r,actual:e,previous:t,customUserDescription:n,ruleName:i}){let a="Expecting: ",o=`
92
- but found: '`+Ut(e).image+"'";if(n)return a+n+o;{let u=it(r,(d,p)=>d.concat(p),[]),l=U(u,d=>`[${U(d,p=>dn(p)).join(", ")}]`),c=`one of these possible Token sequences:
93
- ${U(l,(d,p)=>` ${p+1}. ${d}`).join(`
94
- `)}`;return a+c+o}},buildEarlyExitMessage({expectedIterationPaths:r,actual:e,customUserDescription:t,ruleName:n}){let i="Expecting: ",a=`
95
- but found: '`+Ut(e).image+"'";if(t)return i+t+a;{let o=`expecting at least one iteration which starts with one of these possible Token sequences::
96
- <${U(r,u=>`[${U(u,l=>dn(l)).join(",")}]`).join(" ,")}>`;return i+o+a}}};Object.freeze(Ci);var E$={buildRuleNotFoundError(r,e){return"Invalid grammar, reference to a rule which is not defined: ->"+e.nonTerminalName+`<-
97
- inside top level rule: ->`+r.name+"<-"}},ln={buildDuplicateFoundError(r,e){function t(d){return d instanceof ke?d.terminalType.name:d instanceof st?d.nonTerminalName:""}s(t,"getExtraProductionArgument");let n=r.name,i=Ut(e),a=i.idx,o=Ot(i),u=t(i),l=a>0,c=`->${o}${l?a:""}<- ${u?`with argument: ->${u}<-`:""}
98
- appears more than once (${e.length} times) in the top level rule: ->${n}<-.
99
- For further details see: https://chevrotain.io/docs/FAQ.html#NUMERICAL_SUFFIXES
100
- `;return c=c.replace(/[ \t]+/g," "),c=c.replace(/\s\s+/g,`
101
- `),c},buildNamespaceConflictError(r){return`Namespace conflict found in grammar.
102
- The grammar has both a Terminal(Token) and a Non-Terminal(Rule) named: <${r.name}>.
103
- To resolve this make sure each Terminal and Non-Terminal names are unique
104
- This is easy to accomplish by using the convention that Terminal names start with an uppercase letter
105
- and Non-Terminal names start with a lower case letter.`},buildAlternationPrefixAmbiguityError(r){let e=U(r.prefixPath,n=>dn(n)).join(", "),t=r.alternation.idx===0?"":r.alternation.idx;return`Ambiguous alternatives: <${r.ambiguityIndices.join(" ,")}> due to common lookahead prefix
106
- in <OR${t}> inside <${r.topLevelRule.name}> Rule,
107
- <${e}> may appears as a prefix path in all these alternatives.
108
- See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#COMMON_PREFIX
109
- For Further details.`},buildAlternationAmbiguityError(r){let e=U(r.prefixPath,i=>dn(i)).join(", "),t=r.alternation.idx===0?"":r.alternation.idx,n=`Ambiguous Alternatives Detected: <${r.ambiguityIndices.join(" ,")}> in <OR${t}> inside <${r.topLevelRule.name}> Rule,
110
- <${e}> may appears as a prefix path in all these alternatives.
111
- `;return n=n+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES
112
- For Further details.`,n},buildEmptyRepetitionError(r){let e=Ot(r.repetition);return r.repetition.idx!==0&&(e+=r.repetition.idx),`The repetition <${e}> within Rule <${r.topLevelRule.name}> can never consume any tokens.
113
- This could lead to an infinite loop.`},buildTokenNameError(r){return"deprecated"},buildEmptyAlternationError(r){return`Ambiguous empty alternative: <${r.emptyChoiceIdx+1}> in <OR${r.alternation.idx}> inside <${r.topLevelRule.name}> Rule.
114
- Only the last alternative may be an empty alternative.`},buildTooManyAlternativesError(r){return`An Alternation cannot have more than 256 alternatives:
115
- <OR${r.alternation.idx}> inside <${r.topLevelRule.name}> Rule.
116
- has ${r.alternation.definition.length+1} alternatives.`},buildLeftRecursionError(r){let e=r.topLevelRule.name,t=U(r.leftRecursionPath,i=>i.name),n=`${e} --> ${t.concat([e]).join(" --> ")}`;return`Left Recursion found in grammar.
117
- rule: <${e}> can be invoked from itself (directly or indirectly)
118
- without consuming any Tokens. The grammar path that causes this is:
119
- ${n}
120
- To fix this refactor your grammar to remove the left recursion.
121
- see: https://en.wikipedia.org/wiki/LL_parser#Left_factoring.`},buildInvalidRuleNameError(r){return"deprecated"},buildDuplicateRuleNameError(r){let e;return r.topLevelRule instanceof eo?e=r.topLevelRule.name:e=r.topLevelRule,`Duplicate definition, rule: ->${e}<- is already defined in the grammar: ->${r.grammarName}<-`}};function Ry(r,e){let t=new C$(r,e);return t.resolveRefs(),t.errors}s(Ry,"resolveGrammar");var Xi,C$=(Xi=class extends to{constructor(e,t){super(),this.nameToTopRule=e,this.errMsgProvider=t,this.errors=[]}resolveRefs(){K(je(this.nameToTopRule),e=>{this.currTopLevel=e,e.accept(this)})}visitNonTerminal(e){let t=this.nameToTopRule[e.nonTerminalName];if(t)e.referencedRule=t;else{let n=this.errMsgProvider.buildRuleNotFoundError(this.currTopLevel,e);this.errors.push({message:n,type:ot.UNRESOLVED_SUBRULE_REF,ruleName:this.currTopLevel.name,unresolvedRefName:e.nonTerminalName})}}},s(Xi,"GastRefResolverVisitor"),Xi),Yi,A$=(Yi=class extends dc{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=Je(this.path.ruleStack).reverse(),this.occurrenceStack=Je(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 i=t.concat(n);this.updateExpectedNext(),this.walk(e.referencedRule,i)}}updateExpectedNext(){ge(this.ruleStack)?(this.nextProductionName="",this.nextProductionOccurrence=0,this.isAtEndOfPath=!0):(this.nextProductionName=this.ruleStack.pop(),this.nextProductionOccurrence=this.occurrenceStack.pop())}},s(Yi,"AbstractNextPossibleTokensWalker"),Yi),Ji,k$=(Ji=class extends A${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 i=t.concat(n),a=new pt({definition:i});this.possibleTokTypes=ro(a),this.found=!0}}},s(Ji,"NextAfterTokenWalker"),Ji),Qi,fc=(Qi=class extends dc{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}},s(Qi,"AbstractNextTerminalAfterProductionWalker"),Qi),Zi,S$=(Zi=class extends fc{walkMany(e,t,n){if(e.idx===this.occurrence){let i=Ut(t.concat(n));this.result.isEndOfRule=i===void 0,i instanceof ke&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkMany(e,t,n)}},s(Zi,"NextTerminalAfterManyWalker"),Zi),ea,um=(ea=class extends fc{walkManySep(e,t,n){if(e.idx===this.occurrence){let i=Ut(t.concat(n));this.result.isEndOfRule=i===void 0,i instanceof ke&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkManySep(e,t,n)}},s(ea,"NextTerminalAfterManySepWalker"),ea),ta,b$=(ta=class extends fc{walkAtLeastOne(e,t,n){if(e.idx===this.occurrence){let i=Ut(t.concat(n));this.result.isEndOfRule=i===void 0,i instanceof ke&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOne(e,t,n)}},s(ta,"NextTerminalAfterAtLeastOneWalker"),ta),ra,cm=(ra=class extends fc{walkAtLeastOneSep(e,t,n){if(e.idx===this.occurrence){let i=Ut(t.concat(n));this.result.isEndOfRule=i===void 0,i instanceof ke&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOneSep(e,t,n)}},s(ra,"NextTerminalAfterAtLeastOneSepWalker"),ra);function wu(r,e,t=[]){t=Je(t);let n=[],i=0;function a(u){return u.concat(Xe(r,i+1))}s(a,"remainingPathWith");function o(u){let l=wu(a(u),e,t);return n.concat(l)}for(s(o,"getAlternativesForProd");t.length<e&&i<r.length;){let u=r[i];if(u instanceof pt||u instanceof st)return o(u.definition);if(u instanceof Ye)n=o(u.definition);else if(u instanceof $t){let l=u.definition.concat([new Pe({definition:u.definition})]);return o(l)}else if(u instanceof Et){let l=[new pt({definition:u.definition}),new Pe({definition:[new ke({terminalType:u.separator})].concat(u.definition)})];return o(l)}else if(u instanceof ft){let l=u.definition.concat([new Pe({definition:[new ke({terminalType:u.separator})].concat(u.definition)})]);n=o(l)}else if(u instanceof Pe){let l=u.definition.concat([new Pe({definition:u.definition})]);n=o(l)}else{if(u instanceof ht)return K(u.definition,l=>{ge(l.definition)===!1&&(n=o(l.definition))}),n;if(u instanceof ke)t.push(u.terminalType);else throw Error("non exhaustive match")}i++}return n.push({partialPath:t,suffixDef:Xe(r,i)}),n}s(wu,"possiblePathsFrom");function Kf(r,e,t,n){let i="EXIT_NONE_TERMINAL",a=[i],o="EXIT_ALTERNATIVE",u=!1,l=e.length,c=l-n-1,d=[],p=[];for(p.push({idx:-1,def:r,ruleStack:[],occurrenceStack:[]});!ge(p);){let f=p.pop();if(f===o){u&&On(p).idx<=c&&p.pop();continue}let g=f.def,m=f.idx,$=f.ruleStack,x=f.occurrenceStack;if(ge(g))continue;let A=g[0];if(A===i){let N={idx:m,def:Xe(g),ruleStack:rl($),occurrenceStack:rl(x)};p.push(N)}else if(A instanceof ke)if(m<l-1){let N=m+1,C=e[N];if(t(C,A.terminalType)){let I={idx:N,def:Xe(g),ruleStack:$,occurrenceStack:x};p.push(I)}}else if(m===l-1)d.push({nextTokenType:A.terminalType,nextTokenOccurrence:A.idx,ruleStack:$,occurrenceStack:x}),u=!0;else throw Error("non exhaustive match");else if(A instanceof st){let N=Je($);N.push(A.nonTerminalName);let C=Je(x);C.push(A.idx);let I={idx:m,def:A.definition.concat(a,Xe(g)),ruleStack:N,occurrenceStack:C};p.push(I)}else if(A instanceof Ye){let N={idx:m,def:Xe(g),ruleStack:$,occurrenceStack:x};p.push(N),p.push(o);let C={idx:m,def:A.definition.concat(Xe(g)),ruleStack:$,occurrenceStack:x};p.push(C)}else if(A instanceof $t){let N=new Pe({definition:A.definition,idx:A.idx}),C=A.definition.concat([N],Xe(g)),I={idx:m,def:C,ruleStack:$,occurrenceStack:x};p.push(I)}else if(A instanceof Et){let N=new ke({terminalType:A.separator}),C=new Pe({definition:[N].concat(A.definition),idx:A.idx}),I=A.definition.concat([C],Xe(g)),Y={idx:m,def:I,ruleStack:$,occurrenceStack:x};p.push(Y)}else if(A instanceof ft){let N={idx:m,def:Xe(g),ruleStack:$,occurrenceStack:x};p.push(N),p.push(o);let C=new ke({terminalType:A.separator}),I=new Pe({definition:[C].concat(A.definition),idx:A.idx}),Y=A.definition.concat([I],Xe(g)),ne={idx:m,def:Y,ruleStack:$,occurrenceStack:x};p.push(ne)}else if(A instanceof Pe){let N={idx:m,def:Xe(g),ruleStack:$,occurrenceStack:x};p.push(N),p.push(o);let C=new Pe({definition:A.definition,idx:A.idx}),I=A.definition.concat([C],Xe(g)),Y={idx:m,def:I,ruleStack:$,occurrenceStack:x};p.push(Y)}else if(A instanceof ht)for(let N=A.definition.length-1;N>=0;N--){let C=A.definition[N],I={idx:m,def:C.definition.concat(Xe(g)),ruleStack:$,occurrenceStack:x};p.push(I),p.push(o)}else if(A instanceof pt)p.push({idx:m,def:A.definition.concat(Xe(g)),ruleStack:$,occurrenceStack:x});else if(A instanceof eo)p.push($y(A,m,$,x));else throw Error("non exhaustive match")}return d}s(Kf,"nextPossibleTokensAfter");function $y(r,e,t,n){let i=Je(t);i.push(r.name);let a=Je(n);return a.push(1),{idx:e,def:r.definition,ruleStack:i,occurrenceStack:a}}s($y,"expandTopLevelRule");var we;(function(r){r[r.OPTION=0]="OPTION",r[r.REPETITION=1]="REPETITION",r[r.REPETITION_MANDATORY=2]="REPETITION_MANDATORY",r[r.REPETITION_MANDATORY_WITH_SEPARATOR=3]="REPETITION_MANDATORY_WITH_SEPARATOR",r[r.REPETITION_WITH_SEPARATOR=4]="REPETITION_WITH_SEPARATOR",r[r.ALTERNATION=5]="ALTERNATION"})(we||(we={}));function hc(r){if(r instanceof Ye||r==="Option")return we.OPTION;if(r instanceof Pe||r==="Repetition")return we.REPETITION;if(r instanceof $t||r==="RepetitionMandatory")return we.REPETITION_MANDATORY;if(r instanceof Et||r==="RepetitionMandatoryWithSeparator")return we.REPETITION_MANDATORY_WITH_SEPARATOR;if(r instanceof ft||r==="RepetitionWithSeparator")return we.REPETITION_WITH_SEPARATOR;if(r instanceof ht||r==="Alternation")return we.ALTERNATION;throw Error("non exhaustive match")}s(hc,"getProdType");function tp(r){let{occurrence:e,rule:t,prodType:n,maxLookahead:i}=r,a=hc(n);return a===we.ALTERNATION?El(e,t,i):Cl(e,t,a,i)}s(tp,"getLookaheadPaths");function Ey(r,e,t,n,i,a){let o=El(r,e,t),u=Vf(o)?ol:no;return a(o,n,u,i)}s(Ey,"buildLookaheadFuncForOr");function Cy(r,e,t,n,i,a){let o=Cl(r,e,i,t),u=Vf(o)?ol:no;return a(o[0],u,n)}s(Cy,"buildLookaheadFuncForOptionalProd");function Ay(r,e,t,n){let i=r.length,a=Mt(r,o=>Mt(o,u=>u.length===1));if(e)return function(o){let u=U(o,l=>l.GATE);for(let l=0;l<i;l++){let c=r[l],d=c.length,p=u[l];if(!(p!==void 0&&p.call(this)===!1))e:for(let f=0;f<d;f++){let g=c[f],m=g.length;for(let $=0;$<m;$++){let x=this.LA($+1);if(t(x,g[$])===!1)continue e}return l}}};if(a&&!n){let o=U(r,l=>bt(l)),u=it(o,(l,c,d)=>(K(c,p=>{V(l,p.tokenTypeIdx)||(l[p.tokenTypeIdx]=d),K(p.categoryMatches,f=>{V(l,f)||(l[f]=d)})}),l),{});return function(){let l=this.LA(1);return u[l.tokenTypeIdx]}}else return function(){for(let o=0;o<i;o++){let u=r[o],l=u.length;e:for(let c=0;c<l;c++){let d=u[c],p=d.length;for(let f=0;f<p;f++){let g=this.LA(f+1);if(t(g,d[f])===!1)continue e}return o}}}}s(Ay,"buildAlternativesLookAheadFunc");function ky(r,e,t){let n=Mt(r,a=>a.length===1),i=r.length;if(n&&!t){let a=bt(r);if(a.length===1&&ge(a[0].categoryMatches)){let o=a[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===o}}else{let o=it(a,(u,l,c)=>(u[l.tokenTypeIdx]=!0,K(l.categoryMatches,d=>{u[d]=!0}),u),[]);return function(){let u=this.LA(1);return o[u.tokenTypeIdx]===!0}}}else return function(){e:for(let a=0;a<i;a++){let o=r[a],u=o.length;for(let l=0;l<u;l++){let c=this.LA(l+1);if(e(c,o[l])===!1)continue e}return!0}return!1}}s(ky,"buildSingleAlternativeLookaheadFunction");var na,x$=(na=class extends dc{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,i){return e.idx===this.targetOccurrence&&this.targetProdType===t?(this.restDef=n.concat(i),!0):!1}walkOption(e,t,n){this.checkIsTarget(e,we.OPTION,t,n)||super.walkOption(e,t,n)}walkAtLeastOne(e,t,n){this.checkIsTarget(e,we.REPETITION_MANDATORY,t,n)||super.walkOption(e,t,n)}walkAtLeastOneSep(e,t,n){this.checkIsTarget(e,we.REPETITION_MANDATORY_WITH_SEPARATOR,t,n)||super.walkOption(e,t,n)}walkMany(e,t,n){this.checkIsTarget(e,we.REPETITION,t,n)||super.walkOption(e,t,n)}walkManySep(e,t,n){this.checkIsTarget(e,we.REPETITION_WITH_SEPARATOR,t,n)||super.walkOption(e,t,n)}},s(na,"RestDefinitionFinderWalker"),na),ia,Sy=(ia=class extends to{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,we.OPTION)}visitRepetition(e){this.checkIsTarget(e,we.REPETITION)}visitRepetitionMandatory(e){this.checkIsTarget(e,we.REPETITION_MANDATORY)}visitRepetitionMandatoryWithSeparator(e){this.checkIsTarget(e,we.REPETITION_MANDATORY_WITH_SEPARATOR)}visitRepetitionWithSeparator(e){this.checkIsTarget(e,we.REPETITION_WITH_SEPARATOR)}visitAlternation(e){this.checkIsTarget(e,we.ALTERNATION)}},s(ia,"InsideDefinitionFinderVisitor"),ia);function rp(r){let e=new Array(r);for(let t=0;t<r;t++)e[t]=[];return e}s(rp,"initializeArrayOfArrays");function Ql(r){let e=[""];for(let t=0;t<r.length;t++){let n=r[t],i=[];for(let a=0;a<e.length;a++){let o=e[a];i.push(o+"_"+n.tokenTypeIdx);for(let u=0;u<n.categoryMatches.length;u++){let l="_"+n.categoryMatches[u];i.push(o+l)}}e=i}return e}s(Ql,"pathToHashKeys");function by(r,e,t){for(let n=0;n<r.length;n++){if(n===t)continue;let i=r[n];for(let a=0;a<e.length;a++){let o=e[a];if(i[o]===!0)return!1}}return!0}s(by,"isUniquePrefixHash");function jf(r,e){let t=U(r,o=>wu([o],1)),n=rp(t.length),i=U(t,o=>{let u={};return K(o,l=>{let c=Ql(l.partialPath);K(c,d=>{u[d]=!0})}),u}),a=t;for(let o=1;o<=e;o++){let u=a;a=rp(u.length);for(let l=0;l<u.length;l++){let c=u[l];for(let d=0;d<c.length;d++){let p=c[d].partialPath,f=c[d].suffixDef,g=Ql(p);if(by(i,g,l)||ge(f)||p.length===e){let m=n[l];if(Iu(m,p)===!1){m.push(p);for(let $=0;$<g.length;$++){let x=g[$];i[l][x]=!0}}}else{let m=wu(f,o+1,p);a[l]=a[l].concat(m),K(m,$=>{let x=Ql($.partialPath);K(x,A=>{i[l][A]=!0})})}}}}return n}s(jf,"lookAheadSequenceFromAlternatives");function El(r,e,t,n){let i=new Sy(r,we.ALTERNATION,n);return e.accept(i),jf(i.result,t)}s(El,"getLookaheadPathsForOr");function Cl(r,e,t,n){let i=new Sy(r,t);e.accept(i);let a=i.result,o=new x$(e,r,t).startWalking(),u=new pt({definition:a}),l=new pt({definition:o});return jf([u,l],n)}s(Cl,"getLookaheadPathsForOptionalProd");function Iu(r,e){e:for(let t=0;t<r.length;t++){let n=r[t];if(n.length===e.length){for(let i=0;i<n.length;i++){let a=e[i],o=n[i];if(!(a===o||o.categoryMatchesMap[a.tokenTypeIdx]!==void 0))continue e}return!0}}return!1}s(Iu,"containsPath");function xy(r,e){return r.length<e.length&&Mt(r,(t,n)=>{let i=e[n];return t===i||i.categoryMatchesMap[t.tokenTypeIdx]})}s(xy,"isStrictPrefixOfPath");function Vf(r){return Mt(r,e=>Mt(e,t=>Mt(t,n=>ge(n.categoryMatches))))}s(Vf,"areTokenCategoriesNotUsed");function Ny(r){let e=r.lookaheadStrategy.validate({rules:r.rules,tokenTypes:r.tokenTypes,grammarName:r.grammarName});return U(e,t=>Object.assign({type:ot.CUSTOM_LOOKAHEAD_VALIDATION},t))}s(Ny,"validateLookahead");function wy(r,e,t,n){let i=gt(r,l=>Iy(l,t)),a=Gy(r,e,t),o=gt(r,l=>My(l,t)),u=gt(r,l=>Ly(l,r,n,t));return i.concat(a,o,u)}s(wy,"validateGrammar");function Iy(r,e){let t=new N$;r.accept(t);let n=t.allProductions,i=PR(n,Py),a=Gt(i,o=>o.length>1);return U(je(a),o=>{let u=Ut(o),l=e.buildDuplicateFoundError(r,o),c=Ot(u),d={message:l,type:ot.DUPLICATE_PRODUCTIONS,ruleName:r.name,dslName:c,occurrence:u.idx},p=Bf(u);return p&&(d.parameter=p),d})}s(Iy,"validateDuplicateProductions");function Py(r){return`${Ot(r)}_#_${r.idx}_#_${Bf(r)}`}s(Py,"identifyProductionForDuplicates");function Bf(r){return r instanceof ke?r.terminalType.name:r instanceof st?r.nonTerminalName:""}s(Bf,"getExtraProductionArgument");var aa,N$=(aa=class extends to{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)}},s(aa,"OccurrenceValidationCollector"),aa);function Ly(r,e,t,n){let i=[];if(it(e,(a,o)=>o.name===r.name?a+1:a,0)>1){let a=n.buildDuplicateRuleNameError({topLevelRule:r,grammarName:t});i.push({message:a,type:ot.DUPLICATE_RULE_NAME,ruleName:r.name})}return i}s(Ly,"validateRuleDoesNotAlreadyExist");function Dy(r,e,t){let n=[],i;return lt(e,r)||(i=`Invalid rule override, rule: ->${r}<- cannot be overridden in the grammar: ->${t}<-as it is not defined in any of the super grammars `,n.push({message:i,type:ot.INVALID_RULE_OVERRIDE,ruleName:r})),n}s(Dy,"validateRuleIsOverridden");function Hf(r,e,t,n=[]){let i=[],a=Zo(e.definition);if(ge(a))return[];{let o=r.name;lt(a,r)&&i.push({message:t.buildLeftRecursionError({topLevelRule:r,leftRecursionPath:n}),type:ot.LEFT_RECURSION,ruleName:o});let u=Vu(a,n.concat([r])),l=gt(u,c=>{let d=Je(n);return d.push(c),Hf(r,c,t,d)});return i.concat(l)}}s(Hf,"validateNoLeftRecursion");function Zo(r){let e=[];if(ge(r))return e;let t=Ut(r);if(t instanceof st)e.push(t.referencedRule);else if(t instanceof pt||t instanceof Ye||t instanceof $t||t instanceof Et||t instanceof ft||t instanceof Pe)e=e.concat(Zo(t.definition));else if(t instanceof ht)e=bt(U(t.definition,a=>Zo(a.definition)));else if(!(t instanceof ke))throw Error("non exhaustive match");let n=sl(t),i=r.length>1;if(n&&i){let a=Xe(r);return e.concat(Zo(a))}else return e}s(Zo,"getFirstNoneTerminal");var sa,Xf=(sa=class extends to{constructor(){super(...arguments),this.alternations=[]}visitAlternation(e){this.alternations.push(e)}},s(sa,"OrCollector"),sa);function Oy(r,e){let t=new Xf;r.accept(t);let n=t.alternations;return gt(n,i=>{let a=rl(i.definition);return gt(a,(o,u)=>{let l=Kf([o],[],no,1);return ge(l)?[{message:e.buildEmptyAlternationError({topLevelRule:r,alternation:i,emptyChoiceIdx:u}),type:ot.NONE_LAST_EMPTY_ALT,ruleName:r.name,occurrence:i.idx,alternative:u+1}]:[]})})}s(Oy,"validateEmptyOrAlternative");function _y(r,e,t){let n=new Xf;r.accept(n);let i=n.alternations;return i=ju(i,a=>a.ignoreAmbiguities===!0),gt(i,a=>{let o=a.idx,u=a.maxLookahead||e,l=El(o,r,u,a),c=qy(l,a,r,t),d=Uy(l,a,r,t);return c.concat(d)})}s(_y,"validateAmbiguousAlternationAlternatives");var oa,w$=(oa=class extends to{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)}},s(oa,"RepetitionCollector"),oa);function My(r,e){let t=new Xf;r.accept(t);let n=t.alternations;return gt(n,i=>i.definition.length>255?[{message:e.buildTooManyAlternativesError({topLevelRule:r,alternation:i}),type:ot.TOO_MANY_ALTS,ruleName:r.name,occurrence:i.idx}]:[])}s(My,"validateTooManyAlts");function Fy(r,e,t){let n=[];return K(r,i=>{let a=new w$;i.accept(a);let o=a.allProductions;K(o,u=>{let l=hc(u),c=u.maxLookahead||e,d=u.idx,p=Cl(d,i,l,c)[0];if(ge(bt(p))){let f=t.buildEmptyRepetitionError({topLevelRule:i,repetition:u});n.push({message:f,type:ot.NO_NON_EMPTY_LOOKAHEAD,ruleName:i.name})}})}),n}s(Fy,"validateSomeNonEmptyLookaheadPath");function qy(r,e,t,n){let i=[],a=it(r,(o,u,l)=>(e.definition[l].ignoreAmbiguities===!0||K(u,c=>{let d=[l];K(r,(p,f)=>{l!==f&&Iu(p,c)&&e.definition[f].ignoreAmbiguities!==!0&&d.push(f)}),d.length>1&&!Iu(i,c)&&(i.push(c),o.push({alts:d,path:c}))}),o),[]);return U(a,o=>{let u=U(o.alts,l=>l+1);return{message:n.buildAlternationAmbiguityError({topLevelRule:t,alternation:e,ambiguityIndices:u,prefixPath:o.path}),type:ot.AMBIGUOUS_ALTS,ruleName:t.name,occurrence:e.idx,alternatives:o.alts}})}s(qy,"checkAlternativesAmbiguities");function Uy(r,e,t,n){let i=it(r,(a,o,u)=>{let l=U(o,c=>({idx:u,path:c}));return a.concat(l)},[]);return pl(gt(i,a=>{if(e.definition[a.idx].ignoreAmbiguities===!0)return[];let o=a.idx,u=a.path,l=Rt(i,c=>e.definition[c.idx].ignoreAmbiguities!==!0&&c.idx<o&&xy(c.path,u));return U(l,c=>{let d=[c.idx+1,o+1],p=e.idx===0?"":e.idx;return{message:n.buildAlternationPrefixAmbiguityError({topLevelRule:t,alternation:e,ambiguityIndices:d,prefixPath:c.path}),type:ot.AMBIGUOUS_PREFIX_ALTS,ruleName:t.name,occurrence:p,alternatives:d}})}))}s(Uy,"checkPrefixAlternativesAmbiguities");function Gy(r,e,t){let n=[],i=U(e,a=>a.name);return K(r,a=>{let o=a.name;if(lt(i,o)){let u=t.buildNamespaceConflictError(a);n.push({message:u,type:ot.CONFLICT_TOKENS_RULES_NAMESPACE,ruleName:o})}}),n}s(Gy,"checkTerminalAndNoneTerminalsNameSpace");function zy(r){let e=wp(r,{errMsgProvider:E$}),t={};return K(r.rules,n=>{t[n.name]=n}),Ry(t,e.errMsgProvider)}s(zy,"resolveGrammar");function Wy(r){return r=wp(r,{errMsgProvider:ln}),wy(r.rules,r.tokenTypes,r.errMsgProvider,r.grammarName)}s(Wy,"validateGrammar");var Ky="MismatchedTokenException",jy="NoViableAltException",Vy="EarlyExitException",By="NotAllInputParsedException",Hy=[Ky,jy,Vy,By];Object.freeze(Hy);function ll(r){return lt(Hy,r.name)}s(ll,"isRecognitionException");var la,mc=(la=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)}},s(la,"RecognitionException"),la),ua,Xy=(ua=class extends mc{constructor(e,t,n){super(e,t),this.previousToken=n,this.name=Ky}},s(ua,"MismatchedTokenException"),ua),ca,I$=(ca=class extends mc{constructor(e,t,n){super(e,t),this.previousToken=n,this.name=jy}},s(ca,"NoViableAltException"),ca),da,P$=(da=class extends mc{constructor(e,t){super(e,t),this.name=By}},s(da,"NotAllInputParsedException"),da),pa,L$=(pa=class extends mc{constructor(e,t,n){super(e,t),this.previousToken=n,this.name=Vy}},s(pa,"EarlyExitException"),pa),Lc={},Yy="InRuleRecoveryException",fa,D$=(fa=class extends Error{constructor(e){super(e),this.name=Yy}},s(fa,"InRuleRecoveryException"),fa),ha,O$=(ha=class{initRecoverable(e){this.firstAfterRepMap={},this.resyncFollows={},this.recoveryEnabled=V(e,"recoveryEnabled")?e.recoveryEnabled:gr.recoveryEnabled,this.recoveryEnabled&&(this.attemptInRepetitionRecovery=Jy)}getTokenToInsert(e){let t=$l(e,"",NaN,NaN,NaN,NaN,NaN,NaN);return t.isInsertedInRecovery=!0,t}canTokenTypeBeInsertedInRecovery(e){return!0}canTokenTypeBeDeletedInRecovery(e){return!0}tryInRepetitionRecovery(e,t,n,i){let a=this.findReSyncTokenType(),o=this.exportLexerState(),u=[],l=!1,c=this.LA(1),d=this.LA(1),p=s(()=>{let f=this.LA(0),g=this.errorMessageProvider.buildMismatchTokenMessage({expected:i,actual:c,previous:f,ruleName:this.getCurrRuleFullName()}),m=new Xy(g,c,this.LA(0));m.resyncedTokens=rl(u),this.SAVE_ERROR(m)},"generateErrorMessage");for(;!l;)if(this.tokenMatcher(d,i)){p();return}else if(n.call(this)){p(),e.apply(this,t);return}else this.tokenMatcher(d,a)?l=!0:(d=this.SKIP_TOKEN(),this.addToResyncTokens(d,u));this.importLexerState(o)}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 n=this.SKIP_TOKEN();return this.consumeToken(),n}throw new D$("sad sad panda")}canPerformInRuleRecovery(e,t){return this.canRecoverWithSingleTokenInsertion(e,t)||this.canRecoverWithSingleTokenDeletion(e)}canRecoverWithSingleTokenInsertion(e,t){if(!this.canTokenTypeBeInsertedInRecovery(e)||ge(t))return!1;let n=this.LA(1);return zs(t,i=>this.tokenMatcher(n,i))!==void 0}canRecoverWithSingleTokenDeletion(e){return this.canTokenTypeBeDeletedInRecovery(e)?this.tokenMatcher(this.LA(2),e):!1}isInCurrentRuleReSyncSet(e){let t=this.getCurrFollowKey(),n=this.getFollowSetFromFollowKey(t);return lt(n,e)}findReSyncTokenType(){let e=this.flattenFollowSet(),t=this.LA(1),n=2;for(;;){let i=zs(e,a=>Wf(t,a));if(i!==void 0)return i;t=this.LA(n),n++}}getCurrFollowKey(){if(this.RULE_STACK.length===1)return Lc;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 U(e,(n,i)=>i===0?Lc:{ruleName:this.shortRuleNameToFullName(n),idxInCallingRule:t[i],inRule:this.shortRuleNameToFullName(e[i-1])})}flattenFollowSet(){let e=U(this.buildFullFollowKeyStack(),t=>this.getFollowSetFromFollowKey(t));return bt(e)}getFollowSetFromFollowKey(e){if(e===Lc)return[Pr];let t=e.ruleName+e.idxInCallingRule+Og+e.inRule;return this.resyncFollows[t]}addToResyncTokens(e,t){return this.tokenMatcher(e,Pr)||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 rl(t)}attemptInRepetitionRecovery(e,t,n,i,a,o,u){}getCurrentGrammarPath(e,t){let n=this.getHumanReadableRuleStack(),i=Je(this.RULE_OCCURRENCE_STACK);return{ruleStack:n,occurrenceStack:i,lastTok:e,lastTokOccurrence:t}}getHumanReadableRuleStack(){return U(this.RULE_STACK,e=>this.shortRuleNameToFullName(e))}},s(ha,"Recoverable"),ha);function Jy(r,e,t,n,i,a,o){let u=this.getKeyForAutomaticLookahead(n,i),l=this.firstAfterRepMap[u];if(l===void 0){let f=this.getCurrRuleFullName(),g=this.getGAstProductions()[f];l=new a(g,i).startWalking(),this.firstAfterRepMap[u]=l}let c=l.token,d=l.occurrence,p=l.isEndOfRule;this.RULE_STACK.length===1&&p&&c===void 0&&(c=Pr,d=1),!(c===void 0||d===void 0)&&this.shouldInRepetitionRecoveryBeTried(c,d,o)&&this.tryInRepetitionRecovery(r,e,t,c)}s(Jy,"attemptInRepetitionRecovery");function Zl(r,e,t){return t|e|r}s(Zl,"getKeyForAutomaticLookahead");var ma,Yf=(ma=class{constructor(e){var t;this.maxLookahead=(t=e==null?void 0:e.maxLookahead)!==null&&t!==void 0?t:gr.maxLookahead}validate(e){let t=this.validateNoLeftRecursion(e.rules);if(ge(t)){let n=this.validateEmptyOrAlternatives(e.rules),i=this.validateAmbiguousAlternationAlternatives(e.rules,this.maxLookahead),a=this.validateSomeNonEmptyLookaheadPath(e.rules,this.maxLookahead);return[...t,...n,...i,...a]}return t}validateNoLeftRecursion(e){return gt(e,t=>Hf(t,t,ln))}validateEmptyOrAlternatives(e){return gt(e,t=>Oy(t,ln))}validateAmbiguousAlternationAlternatives(e,t){return gt(e,n=>_y(n,t,ln))}validateSomeNonEmptyLookaheadPath(e,t){return Fy(e,t,ln)}buildLookaheadForAlternation(e){return Ey(e.prodOccurrence,e.rule,e.maxLookahead,e.hasPredicates,e.dynamicTokensEnabled,Ay)}buildLookaheadForOptional(e){return Cy(e.prodOccurrence,e.rule,e.maxLookahead,e.dynamicTokensEnabled,hc(e.prodType),ky)}},s(ma,"LLkLookaheadStrategy"),ma),ga,_$=(ga=class{initLooksAhead(e){this.dynamicTokensEnabled=V(e,"dynamicTokensEnabled")?e.dynamicTokensEnabled:gr.dynamicTokensEnabled,this.maxLookahead=V(e,"maxLookahead")?e.maxLookahead:gr.maxLookahead,this.lookaheadStrategy=V(e,"lookaheadStrategy")?e.lookaheadStrategy:new Yf({maxLookahead:this.maxLookahead}),this.lookAheadFuncsCache=new Map}preComputeLookaheadFunctions(e){K(e,t=>{this.TRACE_INIT(`${t.name} Rule Lookahead`,()=>{let{alternation:n,repetition:i,option:a,repetitionMandatory:o,repetitionMandatoryWithSeparator:u,repetitionWithSeparator:l}=Qy(t);K(n,c=>{let d=c.idx===0?"":c.idx;this.TRACE_INIT(`${Ot(c)}${d}`,()=>{let p=this.lookaheadStrategy.buildLookaheadForAlternation({prodOccurrence:c.idx,rule:t,maxLookahead:c.maxLookahead||this.maxLookahead,hasPredicates:c.hasPredicates,dynamicTokensEnabled:this.dynamicTokensEnabled}),f=Zl(this.fullRuleNameToShort[t.name],256,c.idx);this.setLaFuncCache(f,p)})}),K(i,c=>{this.computeLookaheadFunc(t,c.idx,768,"Repetition",c.maxLookahead,Ot(c))}),K(a,c=>{this.computeLookaheadFunc(t,c.idx,512,"Option",c.maxLookahead,Ot(c))}),K(o,c=>{this.computeLookaheadFunc(t,c.idx,1024,"RepetitionMandatory",c.maxLookahead,Ot(c))}),K(u,c=>{this.computeLookaheadFunc(t,c.idx,1536,"RepetitionMandatoryWithSeparator",c.maxLookahead,Ot(c))}),K(l,c=>{this.computeLookaheadFunc(t,c.idx,1280,"RepetitionWithSeparator",c.maxLookahead,Ot(c))})})})}computeLookaheadFunc(e,t,n,i,a,o){this.TRACE_INIT(`${o}${t===0?"":t}`,()=>{let u=this.lookaheadStrategy.buildLookaheadForOptional({prodOccurrence:t,rule:e,maxLookahead:a||this.maxLookahead,dynamicTokensEnabled:this.dynamicTokensEnabled,prodType:i}),l=Zl(this.fullRuleNameToShort[e.name],n,t);this.setLaFuncCache(l,u)})}getKeyForAutomaticLookahead(e,t){let n=this.getLastExplicitRuleShortName();return Zl(n,e,t)}getLaFuncFromCache(e){return this.lookAheadFuncsCache.get(e)}setLaFuncCache(e,t){this.lookAheadFuncsCache.set(e,t)}},s(ga,"LooksAhead"),ga),ya,M$=(ya=class extends to{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)}},s(ya,"DslMethodsCollectorVisitor"),ya),xl=new M$;function Qy(r){xl.reset(),r.accept(xl);let e=xl.dslMethods;return xl.reset(),e}s(Qy,"collectMethods");function np(r,e){isNaN(r.startOffset)===!0?(r.startOffset=e.startOffset,r.endOffset=e.endOffset):r.endOffset<e.endOffset&&(r.endOffset=e.endOffset)}s(np,"setNodeLocationOnlyOffset");function ip(r,e){isNaN(r.startOffset)===!0?(r.startOffset=e.startOffset,r.startColumn=e.startColumn,r.startLine=e.startLine,r.endOffset=e.endOffset,r.endColumn=e.endColumn,r.endLine=e.endLine):r.endOffset<e.endOffset&&(r.endOffset=e.endOffset,r.endColumn=e.endColumn,r.endLine=e.endLine)}s(ip,"setNodeLocationFull");function Zy(r,e,t){r.children[t]===void 0?r.children[t]=[e]:r.children[t].push(e)}s(Zy,"addTerminalToCst");function eT(r,e,t){r.children[e]===void 0?r.children[e]=[t]:r.children[e].push(t)}s(eT,"addNoneTerminalToCst");var F$="name";function Jf(r,e){Object.defineProperty(r,F$,{enumerable:!1,configurable:!0,writable:!1,value:e})}s(Jf,"defineNameProp");function tT(r,e){let t=tl(r),n=t.length;for(let i=0;i<n;i++){let a=t[i],o=r[a],u=o.length;for(let l=0;l<u;l++){let c=o[l];c.tokenTypeIdx===void 0&&this[c.name](c.children,e)}}}s(tT,"defaultVisit");function rT(r,e){let t=s(function(){},"derivedConstructor");Jf(t,r+"BaseSemantics");let n={visit:s(function(i,a){if(St(i)&&(i=i[0]),!ur(i))return this[i.name](i.children,a)},"visit"),validateVisitor:s(function(){let i=iT(this,e);if(!ge(i)){let a=U(i,o=>o.msg);throw Error(`Errors Detected in CST Visitor <${this.constructor.name}>:
122
- ${a.join(`
123
-
124
- `).replace(/\n/g,`
125
- `)}`)}},"validateVisitor")};return t.prototype=n,t.prototype.constructor=t,t._RULE_NAMES=e,t}s(rT,"createBaseSemanticVisitorConstructor");function nT(r,e,t){let n=s(function(){},"derivedConstructor");Jf(n,r+"BaseSemanticsWithDefaults");let i=Object.create(t.prototype);return K(e,a=>{i[a]=tT}),n.prototype=i,n.prototype.constructor=n,n}s(nT,"createBaseVisitorConstructorWithDefaults");var ap;(function(r){r[r.REDUNDANT_METHOD=0]="REDUNDANT_METHOD",r[r.MISSING_METHOD=1]="MISSING_METHOD"})(ap||(ap={}));function iT(r,e){return aT(r,e)}s(iT,"validateVisitor");function aT(r,e){let t=Rt(e,i=>qn(r[i])===!1),n=U(t,i=>({msg:`Missing visitor method: <${i}> on ${r.constructor.name} CST Visitor.`,type:ap.MISSING_METHOD,methodName:i}));return pl(n)}s(aT,"validateMissingCstMethods");var Ta,q$=(Ta=class{initTreeBuilder(e){if(this.CST_STACK=[],this.outputCst=e.outputCst,this.nodeLocationTracking=V(e,"nodeLocationTracking")?e.nodeLocationTracking:gr.nodeLocationTracking,!this.outputCst)this.cstInvocationStateUpdate=Ke,this.cstFinallyStateUpdate=Ke,this.cstPostTerminal=Ke,this.cstPostNonTerminal=Ke,this.cstPostRule=Ke;else if(/full/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=ip,this.setNodeLocationFromNode=ip,this.cstPostRule=Ke,this.setInitialNodeLocation=this.setInitialNodeLocationFullRecovery):(this.setNodeLocationFromToken=Ke,this.setNodeLocationFromNode=Ke,this.cstPostRule=this.cstPostRuleFull,this.setInitialNodeLocation=this.setInitialNodeLocationFullRegular);else if(/onlyOffset/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=np,this.setNodeLocationFromNode=np,this.cstPostRule=Ke,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRecovery):(this.setNodeLocationFromToken=Ke,this.setNodeLocationFromNode=Ke,this.cstPostRule=this.cstPostRuleOnlyOffset,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRegular);else if(/none/i.test(this.nodeLocationTracking))this.setNodeLocationFromToken=Ke,this.setNodeLocationFromNode=Ke,this.cstPostRule=Ke,this.setInitialNodeLocation=Ke;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];Zy(n,t,e),this.setNodeLocationFromToken(n.location,t)}cstPostNonTerminal(e,t){let n=this.CST_STACK[this.CST_STACK.length-1];eT(n,t,e),this.setNodeLocationFromNode(n.location,e.location)}getBaseCstVisitorConstructor(){if(ur(this.baseCstVisitorConstructor)){let e=rT(this.className,tl(this.gastProductionsCache));return this.baseCstVisitorConstructor=e,e}return this.baseCstVisitorConstructor}getBaseCstVisitorConstructorWithDefaults(){if(ur(this.baseCstVisitorWithDefaultsConstructor)){let e=nT(this.className,tl(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]}},s(Ta,"TreeBuilder"),Ta),va,U$=(va=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)):Pu}LA(e){let t=this.currIdx+e;return t<0||this.tokVectorLength<=t?Pu: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()}},s(va,"LexerAdapter"),va),Ra,G$=(Ra=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=Lu){if(lt(this.definedRulesNames,e)){let a={message:ln.buildDuplicateRuleNameError({topLevelRule:e,grammarName:this.className}),type:ot.DUPLICATE_RULE_NAME,ruleName:e};this.definitionErrors.push(a)}this.definedRulesNames.push(e);let i=this.defineRule(e,t,n);return this[e]=i,i}OVERRIDE_RULE(e,t,n=Lu){let i=Dy(e,this.definedRulesNames,this.className);this.definitionErrors=this.definitionErrors.concat(i);let a=this.defineRule(e,t,n);return this[e]=a,a}BACKTRACK(e,t){return function(){this.isBackTrackingStack.push(1);let n=this.saveRecogState();try{return e.apply(this,t),!0}catch(i){if(ll(i))return!1;throw i}finally{this.reloadRecogState(n),this.isBackTrackingStack.pop()}}}getGAstProductions(){return this.gastProductionsCache}getSerializedGastProductions(){return Ng(je(this.gastProductionsCache))}},s(Ra,"RecognizerApi"),Ra),$a,z$=($a=class{initRecognizerEngine(e,t){if(this.className=this.constructor.name,this.shortRuleNameToFull={},this.fullRuleNameToShort={},this.ruleShortNameIdx=256,this.tokenMatcher=ol,this.subruleIdx=0,this.definedRulesNames=[],this.tokensMap={},this.isBackTrackingStack=[],this.RULE_STACK=[],this.RULE_OCCURRENCE_STACK=[],this.gastProductionsCache={},V(t,"serializedGrammar"))throw Error(`The Parser's configuration can no longer contain a <serializedGrammar> property.
126
- See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_6-0-0
127
- For Further details.`);if(St(e)){if(ge(e))throw Error(`A Token Vocabulary cannot be empty.
128
- Note that the first argument for the parser constructor
129
- 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.
130
- See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_4-0-0
131
- For Further details.`)}if(St(e))this.tokensMap=it(e,(a,o)=>(a[o.name]=o,a),{});else if(V(e,"modes")&&Mt(bt(je(e.modes)),Ty)){let a=bt(je(e.modes)),o=Ip(a);this.tokensMap=it(o,(u,l)=>(u[l.name]=l,u),{})}else if(NR(e))this.tokensMap=Je(e);else throw new Error("<tokensDictionary> argument must be An Array of Token constructors, A dictionary of Token constructors or an IMultiModeLexerDefinition");this.tokensMap.EOF=Pr;let n=V(e,"modes")?bt(je(e.modes)):je(e),i=Mt(n,a=>ge(a.categoryMatches));this.tokenMatcher=i?ol:no,io(je(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'
132
- Make sure that all grammar rule definitions are done before 'performSelfAnalysis' is called.`);let i=V(n,"resyncEnabled")?n.resyncEnabled:Lu.resyncEnabled,a=V(n,"recoveryValueFunc")?n.recoveryValueFunc:Lu.recoveryValueFunc,o=this.ruleShortNameIdx<<12;this.ruleShortNameIdx++,this.shortRuleNameToFull[o]=e,this.fullRuleNameToShort[e]=o;let u;return this.outputCst===!0?u=s(function(...l){try{this.ruleInvocationStateUpdate(o,e,this.subruleIdx),t.apply(this,l);let c=this.CST_STACK[this.CST_STACK.length-1];return this.cstPostRule(c),c}catch(c){return this.invokeRuleCatch(c,i,a)}finally{this.ruleFinallyStateUpdate()}},"invokeRuleWithTry"):u=s(function(...l){try{return this.ruleInvocationStateUpdate(o,e,this.subruleIdx),t.apply(this,l)}catch(c){return this.invokeRuleCatch(c,i,a)}finally{this.ruleFinallyStateUpdate()}},"invokeRuleWithTryCst"),Object.assign(u,{ruleName:e,originalGrammarAction:t})}invokeRuleCatch(e,t,n){let i=this.RULE_STACK.length===1,a=t&&!this.isBackTracking()&&this.recoveryEnabled;if(ll(e)){let o=e;if(a){let u=this.findReSyncTokenType();if(this.isInCurrentRuleReSyncSet(u))if(o.resyncedTokens=this.reSyncTo(u),this.outputCst){let l=this.CST_STACK[this.CST_STACK.length-1];return l.recoveredNode=!0,l}else return n(e);else{if(this.outputCst){let l=this.CST_STACK[this.CST_STACK.length-1];l.recoveredNode=!0,o.partialCstResult=l}throw o}}else{if(i)return this.moveToTerminatedState(),n(e);throw o}}else throw e}optionInternal(e,t){let n=this.getKeyForAutomaticLookahead(512,t);return this.optionInternalLogic(e,t,n)}optionInternalLogic(e,t,n){let i=this.getLaFuncFromCache(n),a;if(typeof e!="function"){a=e.DEF;let o=e.GATE;if(o!==void 0){let u=i;i=s(()=>o.call(this)&&u.call(this),"lookAheadFunc")}}else a=e;if(i.call(this)===!0)return a.call(this)}atLeastOneInternal(e,t){let n=this.getKeyForAutomaticLookahead(1024,e);return this.atLeastOneInternalLogic(e,t,n)}atLeastOneInternalLogic(e,t,n){let i=this.getLaFuncFromCache(n),a;if(typeof t!="function"){a=t.DEF;let o=t.GATE;if(o!==void 0){let u=i;i=s(()=>o.call(this)&&u.call(this),"lookAheadFunc")}}else a=t;if(i.call(this)===!0){let o=this.doSingleRepetition(a);for(;i.call(this)===!0&&o===!0;)o=this.doSingleRepetition(a)}else throw this.raiseEarlyExitException(e,we.REPETITION_MANDATORY,t.ERR_MSG);this.attemptInRepetitionRecovery(this.atLeastOneInternal,[e,t],i,1024,e,b$)}atLeastOneSepFirstInternal(e,t){let n=this.getKeyForAutomaticLookahead(1536,e);this.atLeastOneSepFirstInternalLogic(e,t,n)}atLeastOneSepFirstInternalLogic(e,t,n){let i=t.DEF,a=t.SEP;if(this.getLaFuncFromCache(n).call(this)===!0){i.call(this);let o=s(()=>this.tokenMatcher(this.LA(1),a),"separatorLookAheadFunc");for(;this.tokenMatcher(this.LA(1),a)===!0;)this.CONSUME(a),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,a,o,i,cm],o,1536,e,cm)}else throw this.raiseEarlyExitException(e,we.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 i=this.getLaFuncFromCache(n),a;if(typeof t!="function"){a=t.DEF;let u=t.GATE;if(u!==void 0){let l=i;i=s(()=>u.call(this)&&l.call(this),"lookaheadFunction")}}else a=t;let o=!0;for(;i.call(this)===!0&&o===!0;)o=this.doSingleRepetition(a);this.attemptInRepetitionRecovery(this.manyInternal,[e,t],i,768,e,S$,o)}manySepFirstInternal(e,t){let n=this.getKeyForAutomaticLookahead(1280,e);this.manySepFirstInternalLogic(e,t,n)}manySepFirstInternalLogic(e,t,n){let i=t.DEF,a=t.SEP;if(this.getLaFuncFromCache(n).call(this)===!0){i.call(this);let o=s(()=>this.tokenMatcher(this.LA(1),a),"separatorLookAheadFunc");for(;this.tokenMatcher(this.LA(1),a)===!0;)this.CONSUME(a),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,a,o,i,um],o,1280,e,um)}}repetitionSepSecondInternal(e,t,n,i,a){for(;n();)this.CONSUME(t),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,t,n,i,a],n,1536,e,a)}doSingleRepetition(e){let t=this.getLexerPosition();return e.call(this),this.getLexerPosition()>t}orInternal(e,t){let n=this.getKeyForAutomaticLookahead(256,t),i=St(e)?e:e.DEF,a=this.getLaFuncFromCache(n).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 P$(t,e))}}subruleInternal(e,t,n){let i;try{let a=n!==void 0?n.ARGS:void 0;return this.subruleIdx=t,i=e.apply(this,a),this.cstPostNonTerminal(i,n!==void 0&&n.LABEL!==void 0?n.LABEL:e.ruleName),i}catch(a){throw this.subruleInternalError(a,n,e.ruleName)}}subruleInternalError(e,t,n){throw ll(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 i;try{let a=this.LA(1);this.tokenMatcher(a,e)===!0?(this.consumeToken(),i=a):this.consumeInternalError(e,a,n)}catch(a){i=this.consumeInternalRecovery(e,t,a)}return this.cstPostTerminal(n!==void 0&&n.LABEL!==void 0?n.LABEL:e.name,i),i}consumeInternalError(e,t,n){let i,a=this.LA(0);throw n!==void 0&&n.ERR_MSG?i=n.ERR_MSG:i=this.errorMessageProvider.buildMismatchTokenMessage({expected:e,actual:t,previous:a,ruleName:this.getCurrRuleFullName()}),this.SAVE_ERROR(new Xy(i,t,a))}consumeInternalRecovery(e,t,n){if(this.recoveryEnabled&&n.name==="MismatchedTokenException"&&!this.isBackTracking()){let i=this.getFollowsForInRuleRecovery(e,t);try{return this.tryInRuleRecovery(e,i)}catch(a){throw a.name===Yy?n:a}}else throw n}saveRecogState(){let e=this.errors,t=Je(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),Pr)}reset(){this.resetLexerState(),this.subruleIdx=0,this.isBackTrackingStack=[],this.errors=[],this.RULE_STACK=[],this.CST_STACK=[],this.RULE_OCCURRENCE_STACK=[]}},s($a,"RecognizerEngine"),$a),Ea,W$=(Ea=class{initErrorHandler(e){this._errors=[],this.errorMessageProvider=V(e,"errorMessageProvider")?e.errorMessageProvider:gr.errorMessageProvider}SAVE_ERROR(e){if(ll(e))return e.context={ruleStack:this.getHumanReadableRuleStack(),ruleOccurrenceStack:Je(this.RULE_OCCURRENCE_STACK)},this._errors.push(e),e;throw Error("Trying to save an Error which is not a RecognitionException")}get errors(){return Je(this._errors)}set errors(e){this._errors=e}raiseEarlyExitException(e,t,n){let i=this.getCurrRuleFullName(),a=this.getGAstProductions()[i],o=Cl(e,a,t,this.maxLookahead)[0],u=[];for(let c=1;c<=this.maxLookahead;c++)u.push(this.LA(c));let l=this.errorMessageProvider.buildEarlyExitMessage({expectedIterationPaths:o,actual:u,previous:this.LA(0),customUserDescription:n,ruleName:i});throw this.SAVE_ERROR(new L$(l,this.LA(1),this.LA(0)))}raiseNoAltException(e,t){let n=this.getCurrRuleFullName(),i=this.getGAstProductions()[n],a=El(e,i,this.maxLookahead),o=[];for(let c=1;c<=this.maxLookahead;c++)o.push(this.LA(c));let u=this.LA(0),l=this.errorMessageProvider.buildNoViableAltMessage({expectedPathsPerAlt:a,actual:o,previous:u,customUserDescription:t,ruleName:this.getCurrRuleFullName()});throw this.SAVE_ERROR(new I$(l,this.LA(1),u))}},s(Ea,"ErrorHandler"),Ea),Ca,K$=(Ca=class{initContentAssist(){}computeContentAssist(e,t){let n=this.gastProductionsCache[e];if(ur(n))throw Error(`Rule ->${e}<- does not exist in this grammar.`);return Kf([n],t,this.tokenMatcher,this.maxLookahead)}getNextPossibleTokenTypes(e){let t=Ut(e.ruleStack),n=this.getGAstProductions()[t];return new k$(n,e).startWalking()}},s(Ca,"ContentAssist"),Ca),gc={description:"This Object indicates the Parser is during Recording Phase"};Object.freeze(gc);var dm=!0,pm=Math.pow(2,8)-1,sT=ki({name:"RECORDING_PHASE_TOKEN",pattern:nt.NA});io([sT]);var oT=$l(sT,`This IToken indicates the Parser is in Recording Phase
133
- See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,-1,-1,-1,-1,-1,-1);Object.freeze(oT);var j$={name:`This CSTNode indicates the Parser is in Recording Phase
134
- See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,children:{}},Aa,V$=(Aa=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(n,i){return this.consumeInternalRecord(n,e,i)},this[`SUBRULE${t}`]=function(n,i){return this.subruleInternalRecord(n,e,i)},this[`OPTION${t}`]=function(n){return this.optionInternalRecord(n,e)},this[`OR${t}`]=function(n){return this.orInternalRecord(n,e)},this[`MANY${t}`]=function(n){this.manyInternalRecord(e,n)},this[`MANY_SEP${t}`]=function(n){this.manySepFirstInternalRecord(e,n)},this[`AT_LEAST_ONE${t}`]=function(n){this.atLeastOneInternalRecord(e,n)},this[`AT_LEAST_ONE_SEP${t}`]=function(n){this.atLeastOneSepFirstInternalRecord(e,n)}}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 Pu}topLevelRuleRecord(e,t){try{let n=new eo({definition:[],name:e});return n.name=e,this.recordingProdStack.push(n),t.call(this),this.recordingProdStack.pop(),n}catch(n){if(n.KNOWN_RECORDER_ERROR!==!0)try{n.message=n.message+`
135
- This error was thrown during the "grammar recording phase" For more info see:
136
- https://chevrotain.io/docs/guide/internals.html#grammar-recording`}catch{throw n}throw n}}optionInternalRecord(e,t){return ci.call(this,Ye,e,t)}atLeastOneInternalRecord(e,t){ci.call(this,$t,t,e)}atLeastOneSepFirstInternalRecord(e,t){ci.call(this,Et,t,e,dm)}manyInternalRecord(e,t){ci.call(this,Pe,t,e)}manySepFirstInternalRecord(e,t){ci.call(this,ft,t,e,dm)}orInternalRecord(e,t){return lT.call(this,e,t)}subruleInternalRecord(e,t,n){if(ul(t),!e||V(e,"ruleName")===!1){let u=new Error(`<SUBRULE${sp(t)}> argument is invalid expecting a Parser method reference but got: <${JSON.stringify(e)}>
137
- inside top level rule: <${this.recordingProdStack[0].name}>`);throw u.KNOWN_RECORDER_ERROR=!0,u}let i=On(this.recordingProdStack),a=e.ruleName,o=new st({idx:t,nonTerminalName:a,label:n==null?void 0:n.LABEL,referencedRule:void 0});return i.definition.push(o),this.outputCst?j$:gc}consumeInternalRecord(e,t,n){if(ul(t),!Gf(e)){let o=new Error(`<CONSUME${sp(t)}> argument is invalid expecting a TokenType reference but got: <${JSON.stringify(e)}>
138
- inside top level rule: <${this.recordingProdStack[0].name}>`);throw o.KNOWN_RECORDER_ERROR=!0,o}let i=On(this.recordingProdStack),a=new ke({idx:t,terminalType:e,label:n==null?void 0:n.LABEL});return i.definition.push(a),oT}},s(Aa,"GastRecorder"),Aa);function ci(r,e,t,n=!1){ul(t);let i=On(this.recordingProdStack),a=qn(e)?e:e.DEF,o=new r({definition:[],idx:t});return n&&(o.separator=e.SEP),V(e,"MAX_LOOKAHEAD")&&(o.maxLookahead=e.MAX_LOOKAHEAD),this.recordingProdStack.push(o),a.call(this),i.definition.push(o),this.recordingProdStack.pop(),gc}s(ci,"recordProd");function lT(r,e){ul(e);let t=On(this.recordingProdStack),n=St(r)===!1,i=n===!1?r:r.DEF,a=new ht({definition:[],idx:e,ignoreAmbiguities:n&&r.IGNORE_AMBIGUITIES===!0});V(r,"MAX_LOOKAHEAD")&&(a.maxLookahead=r.MAX_LOOKAHEAD);let o=Im(i,u=>qn(u.GATE));return a.hasPredicates=o,t.definition.push(a),K(i,u=>{let l=new pt({definition:[]});a.definition.push(l),V(u,"IGNORE_AMBIGUITIES")?l.ignoreAmbiguities=u.IGNORE_AMBIGUITIES:V(u,"GATE")&&(l.ignoreAmbiguities=!0),this.recordingProdStack.push(l),u.ALT.call(this),this.recordingProdStack.pop()}),gc}s(lT,"recordOrProd");function sp(r){return r===0?"":`${r}`}s(sp,"getIdxSuffix");function ul(r){if(r<0||r>pm){let e=new Error(`Invalid DSL Method idx value: <${r}>
139
- Idx value must be a none negative value smaller than ${pm+1}`);throw e.KNOWN_RECORDER_ERROR=!0,e}}s(ul,"assertMethodIdxIsValid");var ka,B$=(ka=class{initPerformanceTracer(e){if(V(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=gr.traceInitPerf;this.traceInitIndent=-1}TRACE_INIT(e,t){if(this.traceInitPerf===!0){this.traceInitIndent++;let n=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent<this.traceInitMaxIdent&&console.log(`${n}--> <${e}>`);let{time:i,value:a}=Of(t),o=i>10?console.warn:console.log;return this.traceInitIndent<this.traceInitMaxIdent&&o(`${n}<-- <${e}> time: ${i}ms`),this.traceInitIndent--,a}else return t()}},s(ka,"PerformanceTracer"),ka);function uT(r,e){e.forEach(t=>{let n=t.prototype;Object.getOwnPropertyNames(n).forEach(i=>{if(i==="constructor")return;let a=Object.getOwnPropertyDescriptor(n,i);a&&(a.get||a.set)?Object.defineProperty(r.prototype,i,a):r.prototype[i]=t.prototype[i]})})}s(uT,"applyMixins");var Pu=$l(Pr,"",NaN,NaN,NaN,NaN,NaN,NaN);Object.freeze(Pu);var gr=Object.freeze({recoveryEnabled:!1,maxLookahead:3,dynamicTokensEnabled:!1,outputCst:!0,errorMessageProvider:Ci,nodeLocationTracking:"none",traceInitPerf:!1,skipValidations:!1}),Lu=Object.freeze({recoveryValueFunc:s(()=>{},"recoveryValueFunc"),resyncEnabled:!0}),ot;(function(r){r[r.INVALID_RULE_NAME=0]="INVALID_RULE_NAME",r[r.DUPLICATE_RULE_NAME=1]="DUPLICATE_RULE_NAME",r[r.INVALID_RULE_OVERRIDE=2]="INVALID_RULE_OVERRIDE",r[r.DUPLICATE_PRODUCTIONS=3]="DUPLICATE_PRODUCTIONS",r[r.UNRESOLVED_SUBRULE_REF=4]="UNRESOLVED_SUBRULE_REF",r[r.LEFT_RECURSION=5]="LEFT_RECURSION",r[r.NONE_LAST_EMPTY_ALT=6]="NONE_LAST_EMPTY_ALT",r[r.AMBIGUOUS_ALTS=7]="AMBIGUOUS_ALTS",r[r.CONFLICT_TOKENS_RULES_NAMESPACE=8]="CONFLICT_TOKENS_RULES_NAMESPACE",r[r.INVALID_TOKEN_NAME=9]="INVALID_TOKEN_NAME",r[r.NO_NON_EMPTY_LOOKAHEAD=10]="NO_NON_EMPTY_LOOKAHEAD",r[r.AMBIGUOUS_PREFIX_ALTS=11]="AMBIGUOUS_PREFIX_ALTS",r[r.TOO_MANY_ALTS=12]="TOO_MANY_ALTS",r[r.CUSTOM_LOOKAHEAD_VALIDATION=13]="CUSTOM_LOOKAHEAD_VALIDATION"})(ot||(ot={}));function op(r=void 0){return function(){return r}}s(op,"EMPTY_ALT");var fn,Qf=(fn=class{static performSelfAnalysis(e){throw Error("The **static** `performSelfAnalysis` method has been deprecated. \nUse the **instance** method with the same name instead.")}performSelfAnalysis(){this.TRACE_INIT("performSelfAnalysis",()=>{let e;this.selfAnalysisDone=!0;let t=this.className;this.TRACE_INIT("toFastProps",()=>{_f(this)}),this.TRACE_INIT("Grammar Recording",()=>{try{this.enableRecording(),K(this.definedRulesNames,i=>{let a=this[i].originalGrammarAction,o;this.TRACE_INIT(`${i} Rule`,()=>{o=this.topLevelRuleRecord(i,a)}),this.gastProductionsCache[i]=o})}finally{this.disableRecording()}});let n=[];if(this.TRACE_INIT("Grammar Resolving",()=>{n=zy({rules:je(this.gastProductionsCache)}),this.definitionErrors=this.definitionErrors.concat(n)}),this.TRACE_INIT("Grammar Validations",()=>{if(ge(n)&&this.skipValidations===!1){let i=Wy({rules:je(this.gastProductionsCache),tokenTypes:je(this.tokensMap),errMsgProvider:ln,grammarName:t}),a=Ny({lookaheadStrategy:this.lookaheadStrategy,rules:je(this.gastProductionsCache),tokenTypes:je(this.tokensMap),grammarName:t});this.definitionErrors=this.definitionErrors.concat(i,a)}}),ge(this.definitionErrors)&&(this.recoveryEnabled&&this.TRACE_INIT("computeAllProdsFollows",()=>{let i=_g(je(this.gastProductionsCache));this.resyncFollows=i}),this.TRACE_INIT("ComputeLookaheadFunctions",()=>{var i,a;(a=(i=this.lookaheadStrategy).initialize)===null||a===void 0||a.call(i,{rules:je(this.gastProductionsCache)}),this.preComputeLookaheadFunctions(je(this.gastProductionsCache))})),!fn.DEFER_DEFINITION_ERRORS_HANDLING&&!ge(this.definitionErrors))throw e=U(this.definitionErrors,i=>i.message),new Error(`Parser Definition Errors detected:
140
- ${e.join(`
141
- -------------------------------
142
- `)}`)})}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),V(t,"ignoredIssues"))throw new Error(`The <ignoredIssues> IParserConfig property has been deprecated.
143
- Please use the <IGNORE_AMBIGUITIES> flag on the relevant DSL method instead.
144
- See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#IGNORING_AMBIGUITIES
145
- For further details.`);this.skipValidations=V(t,"skipValidations")?t.skipValidations:gr.skipValidations}},s(fn,"Parser"),fn);Qf.DEFER_DEFINITION_ERRORS_HANDLING=!1;uT(Qf,[O$,_$,q$,U$,z$,G$,W$,K$,V$,B$]);var Sa,H$=(Sa=class extends Qf{constructor(e,t=gr){let n=Je(t);n.outputCst=!1,super(e,n)}},s(Sa,"EmbeddedActionsParser"),Sa);function Fn(r,e,t){return`${r.name}_${e}_${t}`}s(Fn,"buildATNKey");var Lr=1,X$=2,cT=4,dT=5,Al=7,Y$=8,J$=9,Q$=10,Z$=11,pT=12,ba,Zf=(ba=class{constructor(e){this.target=e}isEpsilon(){return!1}},s(ba,"AbstractTransition"),ba),xa,eh=(xa=class extends Zf{constructor(e,t){super(e),this.tokenType=t}},s(xa,"AtomTransition"),xa),Na,fT=(Na=class extends Zf{constructor(e){super(e)}isEpsilon(){return!0}},s(Na,"EpsilonTransition"),Na),wa,th=(wa=class extends Zf{constructor(e,t,n){super(e),this.rule=t,this.followState=n}isEpsilon(){return!0}},s(wa,"RuleTransition"),wa);function hT(r){let e={decisionMap:{},decisionStates:[],ruleToStartState:new Map,ruleToStopState:new Map,states:[]};mT(e,r);let t=r.length;for(let n=0;n<t;n++){let i=r[n],a=Mr(e,i,i);a!==void 0&&ST(e,i,a)}return e}s(hT,"createATN");function mT(r,e){let t=e.length;for(let n=0;n<t;n++){let i=e[n],a=ze(r,i,void 0,{type:X$}),o=ze(r,i,void 0,{type:Al});a.stop=o,r.ruleToStartState.set(i,a),r.ruleToStopState.set(i,o)}}s(mT,"createRuleStartAndStopATNStates");function rh(r,e,t){return t instanceof ke?yc(r,e,t.terminalType,t):t instanceof st?kT(r,e,t):t instanceof ht?RT(r,e,t):t instanceof Ye?$T(r,e,t):t instanceof Pe?gT(r,e,t):t instanceof ft?yT(r,e,t):t instanceof $t?TT(r,e,t):t instanceof Et?vT(r,e,t):Mr(r,e,t)}s(rh,"atom");function gT(r,e,t){let n=ze(r,e,t,{type:dT});Rr(r,n);let i=Bn(r,e,n,t,Mr(r,e,t));return ih(r,e,t,i)}s(gT,"repetition");function yT(r,e,t){let n=ze(r,e,t,{type:dT});Rr(r,n);let i=Bn(r,e,n,t,Mr(r,e,t)),a=yc(r,e,t.separator,t);return ih(r,e,t,i,a)}s(yT,"repetitionSep");function TT(r,e,t){let n=ze(r,e,t,{type:cT});Rr(r,n);let i=Bn(r,e,n,t,Mr(r,e,t));return nh(r,e,t,i)}s(TT,"repetitionMandatory");function vT(r,e,t){let n=ze(r,e,t,{type:cT});Rr(r,n);let i=Bn(r,e,n,t,Mr(r,e,t)),a=yc(r,e,t.separator,t);return nh(r,e,t,i,a)}s(vT,"repetitionMandatorySep");function RT(r,e,t){let n=ze(r,e,t,{type:Lr});Rr(r,n);let i=U(t.definition,a=>rh(r,e,a));return Bn(r,e,n,t,...i)}s(RT,"alternation");function $T(r,e,t){let n=ze(r,e,t,{type:Lr});Rr(r,n);let i=Bn(r,e,n,t,Mr(r,e,t));return ET(r,e,t,i)}s($T,"option");function Mr(r,e,t){let n=Rt(U(t.definition,i=>rh(r,e,i)),i=>i!==void 0);return n.length===1?n[0]:n.length===0?void 0:AT(r,n)}s(Mr,"block");function nh(r,e,t,n,i){let a=n.left,o=n.right,u=ze(r,e,t,{type:Z$});Rr(r,u);let l=ze(r,e,t,{type:pT});return a.loopback=u,l.loopback=u,r.decisionMap[Fn(e,i?"RepetitionMandatoryWithSeparator":"RepetitionMandatory",t.idx)]=u,Me(o,u),i===void 0?(Me(u,a),Me(u,l)):(Me(u,l),Me(u,i.left),Me(i.right,a)),{left:a,right:l}}s(nh,"plus");function ih(r,e,t,n,i){let a=n.left,o=n.right,u=ze(r,e,t,{type:Q$});Rr(r,u);let l=ze(r,e,t,{type:pT}),c=ze(r,e,t,{type:J$});return u.loopback=c,l.loopback=c,Me(u,a),Me(u,l),Me(o,c),i!==void 0?(Me(c,l),Me(c,i.left),Me(i.right,a)):Me(c,u),r.decisionMap[Fn(e,i?"RepetitionWithSeparator":"Repetition",t.idx)]=u,{left:u,right:l}}s(ih,"star");function ET(r,e,t,n){let i=n.left,a=n.right;return Me(i,a),r.decisionMap[Fn(e,"Option",t.idx)]=i,n}s(ET,"optional");function Rr(r,e){return r.decisionStates.push(e),e.decision=r.decisionStates.length-1,e.decision}s(Rr,"defineDecisionState");function Bn(r,e,t,n,...i){let a=ze(r,e,n,{type:Y$,start:t});t.end=a;for(let u of i)u!==void 0?(Me(t,u.left),Me(u.right,a)):Me(t,a);let o={left:t,right:a};return r.decisionMap[Fn(e,CT(n),n.idx)]=t,o}s(Bn,"makeAlts");function CT(r){if(r instanceof ht)return"Alternation";if(r instanceof Ye)return"Option";if(r instanceof Pe)return"Repetition";if(r instanceof ft)return"RepetitionWithSeparator";if(r instanceof $t)return"RepetitionMandatory";if(r instanceof Et)return"RepetitionMandatoryWithSeparator";throw new Error("Invalid production type encountered")}s(CT,"getProdType");function AT(r,e){let t=e.length;for(let a=0;a<t-1;a++){let o=e[a],u;o.left.transitions.length===1&&(u=o.left.transitions[0]);let l=u instanceof th,c=u,d=e[a+1].left;o.left.type===Lr&&o.right.type===Lr&&u!==void 0&&(l&&c.followState===o.right||u.target===o.right)?(l?c.followState=d:u.target=d,bT(r,o.right)):Me(o.right,d)}let n=e[0],i=e[t-1];return{left:n.left,right:i.right}}s(AT,"makeBlock");function yc(r,e,t,n){let i=ze(r,e,n,{type:Lr}),a=ze(r,e,n,{type:Lr});return Tc(i,new eh(a,t)),{left:i,right:a}}s(yc,"tokenRef");function kT(r,e,t){let n=t.referencedRule,i=r.ruleToStartState.get(n),a=ze(r,e,t,{type:Lr}),o=ze(r,e,t,{type:Lr}),u=new th(i,n,o);return Tc(a,u),{left:a,right:o}}s(kT,"ruleRef");function ST(r,e,t){let n=r.ruleToStartState.get(e);Me(n,t.left);let i=r.ruleToStopState.get(e);return Me(t.right,i),{left:n,right:i}}s(ST,"buildRuleHandle");function Me(r,e){let t=new fT(e);Tc(r,t)}s(Me,"epsilon");function ze(r,e,t,n){let i=Object.assign({atn:r,production:t,epsilonOnlyTransitions:!1,rule:e,transitions:[],nextTokenWithinRule:[],stateNumber:r.states.length},n);return r.states.push(i),i}s(ze,"newState");function Tc(r,e){r.transitions.length===0&&(r.epsilonOnlyTransitions=e.isEpsilon()),r.transitions.push(e)}s(Tc,"addTransition");function bT(r,e){r.states.splice(r.states.indexOf(e),1)}s(bT,"removeState");var Du={},Ia,lp=(Ia=class{constructor(){this.map={},this.configs=[]}get size(){return this.configs.length}finalize(){this.map={}}add(e){let t=ah(e);t in this.map||(this.map[t]=this.configs.length,this.configs.push(e))}get elements(){return this.configs}get alts(){return U(this.configs,e=>e.alt)}get key(){let e="";for(let t in this.map)e+=t+":";return e}},s(Ia,"ATNConfigSet"),Ia);function ah(r,e=!0){return`${e?`a${r.alt}`:""}s${r.state.stateNumber}:${r.stack.map(t=>t.stateNumber.toString()).join("_")}`}s(ah,"getATNConfigKey");function xT(r,e){let t={};return n=>{let i=n.toString(),a=t[i];return a!==void 0||(a={atnStartState:r,decision:e,states:{}},t[i]=a),a}}s(xT,"createDFACache");var Pa,NT=(Pa=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}},s(Pa,"PredicateSet"),Pa),fm=new NT,La,eE=(La=class extends Yf{constructor(e){var t;super(),this.logging=(t=e==null?void 0:e.logging)!==null&&t!==void 0?t:n=>console.log(n)}initialize(e){this.atn=hT(e.rules),this.dfas=wT(this.atn)}validateAmbiguousAlternationAlternatives(){return[]}validateEmptyOrAlternatives(){return[]}buildLookaheadForAlternation(e){let{prodOccurrence:t,rule:n,hasPredicates:i,dynamicTokensEnabled:a}=e,o=this.dfas,u=this.logging,l=Fn(n,"Alternation",t),c=this.atn.decisionMap[l].decision,d=U(tp({maxLookahead:1,occurrence:t,prodType:"Alternation",rule:n}),p=>U(p,f=>f[0]));if(up(d,!1)&&!a){let p=it(d,(f,g,m)=>(K(g,$=>{$&&(f[$.tokenTypeIdx]=m,K($.categoryMatches,x=>{f[x]=m}))}),f),{});return i?function(f){var g;let m=this.LA(1),$=p[m.tokenTypeIdx];if(f!==void 0&&$!==void 0){let x=(g=f[$])===null||g===void 0?void 0:g.GATE;if(x!==void 0&&x.call(this)===!1)return}return $}:function(){let f=this.LA(1);return p[f.tokenTypeIdx]}}else return i?function(p){let f=new NT,g=p===void 0?0:p.length;for(let $=0;$<g;$++){let x=p==null?void 0:p[$].GATE;f.set($,x===void 0||x.call(this))}let m=eu.call(this,o,c,f,u);return typeof m=="number"?m:void 0}:function(){let p=eu.call(this,o,c,fm,u);return typeof p=="number"?p:void 0}}buildLookaheadForOptional(e){let{prodOccurrence:t,rule:n,prodType:i,dynamicTokensEnabled:a}=e,o=this.dfas,u=this.logging,l=Fn(n,i,t),c=this.atn.decisionMap[l].decision,d=U(tp({maxLookahead:1,occurrence:t,prodType:i,rule:n}),p=>U(p,f=>f[0]));if(up(d)&&d[0][0]&&!a){let p=d[0],f=bt(p);if(f.length===1&&ge(f[0].categoryMatches)){let g=f[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===g}}else{let g=it(f,(m,$)=>($!==void 0&&(m[$.tokenTypeIdx]=!0,K($.categoryMatches,x=>{m[x]=!0})),m),{});return function(){let m=this.LA(1);return g[m.tokenTypeIdx]===!0}}}return function(){let p=eu.call(this,o,c,fm,u);return typeof p=="object"?!1:p===0}}},s(La,"LLStarLookaheadStrategy"),La);function up(r,e=!0){let t=new Set;for(let n of r){let i=new Set;for(let a of n){if(a===void 0){if(e)break;return!1}let o=[a.tokenTypeIdx].concat(a.categoryMatches);for(let u of o)if(t.has(u)){if(!i.has(u))return!1}else t.add(u),i.add(u)}}return!0}s(up,"isLL1Sequence");function wT(r){let e=r.decisionStates.length,t=Array(e);for(let n=0;n<e;n++)t[n]=xT(r.decisionStates[n],n);return t}s(wT,"initATNSimulator");function eu(r,e,t,n){let i=r[e](t),a=i.start;if(a===void 0){let o=GT(i.atnStartState);a=oh(i,sh(o)),i.start=a}return IT.apply(this,[i,a,t,n])}s(eu,"adaptivePredict");function IT(r,e,t,n){let i=e,a=1,o=[],u=this.LA(a++);for(;;){let l=MT(i,u);if(l===void 0&&(l=PT.apply(this,[r,i,u,a,t,n])),l===Du)return _T(o,i,u);if(l.isAcceptState===!0)return l.prediction;i=l,o.push(u),u=this.LA(a++)}}s(IT,"performLookahead");function PT(r,e,t,n,i,a){let o=FT(e.configs,t,i);if(o.size===0)return cp(r,e,t,Du),Du;let u=sh(o),l=UT(o,i);if(l!==void 0)u.isAcceptState=!0,u.prediction=l,u.configs.uniqueAlt=l;else if(jT(o)){let c=wR(o.alts);u.isAcceptState=!0,u.prediction=c,u.configs.uniqueAlt=c,LT.apply(this,[r,n,o.alts,a])}return u=cp(r,e,t,u),u}s(PT,"computeLookaheadTarget");function LT(r,e,t,n){let i=[];for(let c=1;c<=e;c++)i.push(this.LA(c).tokenType);let a=r.atnStartState,o=a.rule,u=a.production,l=DT({topLevelRule:o,ambiguityIndices:t,production:u,prefixPath:i});n(l)}s(LT,"reportLookaheadAmbiguity");function DT(r){let e=U(r.prefixPath,i=>dn(i)).join(", "),t=r.production.idx===0?"":r.production.idx,n=`Ambiguous Alternatives Detected: <${r.ambiguityIndices.join(", ")}> in <${OT(r.production)}${t}> inside <${r.topLevelRule.name}> Rule,
146
- <${e}> may appears as a prefix path in all these alternatives.
147
- `;return n=n+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES
148
- For Further details.`,n}s(DT,"buildAmbiguityError");function OT(r){if(r instanceof st)return"SUBRULE";if(r instanceof Ye)return"OPTION";if(r instanceof ht)return"OR";if(r instanceof $t)return"AT_LEAST_ONE";if(r instanceof Et)return"AT_LEAST_ONE_SEP";if(r instanceof ft)return"MANY_SEP";if(r instanceof Pe)return"MANY";if(r instanceof ke)return"CONSUME";throw Error("non exhaustive match")}s(OT,"getProductionDslName");function _T(r,e,t){let n=gt(e.configs.elements,a=>a.state.transitions),i=IR(n.filter(a=>a instanceof eh).map(a=>a.tokenType),a=>a.tokenTypeIdx);return{actualToken:t,possibleTokenTypes:i,tokenPath:r}}s(_T,"buildAdaptivePredictError");function MT(r,e){return r.edges[e.tokenTypeIdx]}s(MT,"getExistingTargetState");function FT(r,e,t){let n=new lp,i=[];for(let o of r.elements){if(t.is(o.alt)===!1)continue;if(o.state.type===Al){i.push(o);continue}let u=o.state.transitions.length;for(let l=0;l<u;l++){let c=o.state.transitions[l],d=qT(c,e);d!==void 0&&n.add({state:d,alt:o.alt,stack:o.stack})}}let a;if(i.length===0&&n.size===1&&(a=n),a===void 0){a=new lp;for(let o of n.elements)cl(o,a)}if(i.length>0&&!WT(a))for(let o of i)a.add(o);return a}s(FT,"computeReachSet");function qT(r,e){if(r instanceof eh&&Wf(e,r.tokenType))return r.target}s(qT,"getReachableTarget");function UT(r,e){let t;for(let n of r.elements)if(e.is(n.alt)===!0){if(t===void 0)t=n.alt;else if(t!==n.alt)return}return t}s(UT,"getUniqueAlt");function sh(r){return{configs:r,edges:{},isAcceptState:!1,prediction:-1}}s(sh,"newDFAState");function cp(r,e,t,n){return n=oh(r,n),e.edges[t.tokenTypeIdx]=n,n}s(cp,"addDFAEdge");function oh(r,e){if(e===Du)return e;let t=e.configs.key,n=r.states[t];return n!==void 0?n:(e.configs.finalize(),r.states[t]=e,e)}s(oh,"addDFAState");function GT(r){let e=new lp,t=r.transitions.length;for(let n=0;n<t;n++){let i={state:r.transitions[n].target,alt:n,stack:[]};cl(i,e)}return e}s(GT,"computeStartState");function cl(r,e){let t=r.state;if(t.type===Al){if(r.stack.length>0){let i=[...r.stack],a={state:i.pop(),alt:r.alt,stack:i};cl(a,e)}else e.add(r);return}t.epsilonOnlyTransitions||e.add(r);let n=t.transitions.length;for(let i=0;i<n;i++){let a=t.transitions[i],o=zT(r,a);o!==void 0&&cl(o,e)}}s(cl,"closure");function zT(r,e){if(e instanceof fT)return{state:e.target,alt:r.alt,stack:r.stack};if(e instanceof th){let t=[...r.stack,e.followState];return{state:e.target,alt:r.alt,stack:t}}}s(zT,"getEpsilonTarget");function WT(r){for(let e of r.elements)if(e.state.type===Al)return!0;return!1}s(WT,"hasConfigInRuleStopState");function KT(r){for(let e of r.elements)if(e.state.type!==Al)return!1;return!0}s(KT,"allConfigsInRuleStopStates");function jT(r){if(KT(r))return!0;let e=VT(r.elements);return BT(e)&&!HT(e)}s(jT,"hasConflictTerminatingPrediction");function VT(r){let e=new Map;for(let t of r){let n=ah(t,!1),i=e.get(n);i===void 0&&(i={},e.set(n,i)),i[t.alt]=!0}return e}s(VT,"getConflictingAltSets");function BT(r){for(let e of Array.from(r.values()))if(Object.keys(e).length>1)return!0;return!1}s(BT,"hasConflictingAltSet");function HT(r){for(let e of Array.from(r.values()))if(Object.keys(e).length===1)return!0;return!1}s(HT,"hasStateAssociatedWithOneAlt");fl();var Da,XT=(Da=class{constructor(){this.nodeStack=[]}get current(){return this.nodeStack[this.nodeStack.length-1]??this.rootNode}buildRootNode(e){return this.rootNode=new uh(e),this.rootNode.root=this.rootNode,this.nodeStack=[this.rootNode],this.rootNode}buildCompositeNode(e){let t=new vc;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,al(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 a of e){let o=new Ou(a.startOffset,a.image.length,al(a),a.tokenType,!0);o.root=this.rootNode,t.push(o)}let n=this.current,i=!1;if(n.content.length>0){n.content.push(...t);return}for(;n.container;){let a=n.container.content.indexOf(n);if(a>0){n.container.content.splice(a,0,...t),i=!0;break}n=n.container}i||this.rootNode.content.unshift(...t)}construct(e){let t=this.current;typeof e.$type=="string"&&!e.$infix&&(this.current.astNode=e),e.$cstNode=t;let n=this.nodeStack.pop();(n==null?void 0:n.content.length)===0&&this.removeNode(n)}},s(Da,"CstNodeBuilder"),Da),Oa,lh=(Oa=class{get hidden(){return!1}get astNode(){var t,n;let e=typeof((t=this._astNode)==null?void 0:t.$type)=="string"?this._astNode:(n=this.container)==null?void 0:n.astNode;if(!e)throw new Error("This node has no associated AST element");return e}set astNode(e){this._astNode=e}get text(){return this.root.fullText.substring(this.offset,this.end)}},s(Oa,"AbstractCstNode"),Oa),_a,Ou=(_a=class extends lh{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,i,a=!1){super(),this._hidden=a,this._offset=e,this._tokenType=i,this._length=t,this._range=n}},s(_a,"LeafCstNodeImpl"),_a),Ma,vc=(Ma=class extends lh{constructor(){super(...arguments),this.content=new tE(this)}get offset(){var e;return((e=this.firstNonHiddenNode)==null?void 0:e.offset)??0}get length(){return this.end-this.offset}get end(){var e;return((e=this.lastNonHiddenNode)==null?void 0:e.end)??0}get range(){let e=this.firstNonHiddenNode,t=this.lastNonHiddenNode;if(e&&t){if(this._rangeCache===void 0){let{range:n}=e,{range:i}=t;this._rangeCache={start:n.start,end:i.end.line<n.start.line?n.start:i.end}}return this._rangeCache}else return{start:ae.create(0,0),end:ae.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]}},s(Ma,"CompositeCstNodeImpl"),Ma),hn,tE=(hn=class extends Array{constructor(e){super(),this.parent=e,Object.setPrototypeOf(this,hn.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}},s(hn,"CstNodeContainer"),hn),Fa,uh=(Fa=class extends vc{get text(){return this._text.substring(this.offset,this.end)}get fullText(){return this._text}constructor(e){super(),this._text="",this._text=e??""}},s(Fa,"RootCstNodeImpl"),Fa),_u=Symbol("Datatype");function tu(r){return r.$type===_u}s(tu,"isDataTypeNode");var hm="​",YT=s(r=>r.endsWith(hm)?r:r+hm,"withRuleSuffix"),qa,ch=(qa=class{constructor(e){var i;this._unorderedGroups=new Map,this.allRules=new Map,this.lexer=e.parser.Lexer;let t=this.lexer.definition,n=e.LanguageMetaData.mode==="production";(i=e.shared.profilers.LangiumProfiler)!=null&&i.isActive("parsing")?this.wrapper=new nE(t,{...e.parser.ParserConfig,skipValidations:n,errorMessageProvider:e.parser.ParserErrorMessageProvider},e.shared.profilers.LangiumProfiler.createTask("parsing",e.LanguageMetaData.languageId)):this.wrapper=new ev(t,{...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()}},s(qa,"AbstractLangiumParser"),qa),Ua,JT=(Ua=class extends ch{get current(){return this.stack[this.stack.length-1]}constructor(e){super(e),this.nodeBuilder=new XT,this.stack=[],this.assignmentMap=new Map,this.operatorPrecedence=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),i;Bs(e)&&(i=e.name,this.registerPrecedenceMap(e));let a=this.wrapper.DEFINE_RULE(YT(e.name),this.startImplementation(n,i,t).bind(this));return this.allRules.set(e.name,a),at(e)&&e.entry&&(this.mainRule=a),a}registerPrecedenceMap(e){let t=e.name,n=new Map;for(let i=0;i<e.operators.precedences.length;i++){let a=e.operators.precedences[i];for(let o of a.operators)n.set(o.value,{precedence:i,rightAssoc:a.associativity==="right"})}this.operatorPrecedence.set(t,n)}computeRuleType(e){return Bs(e)?_n(e):e.fragment?void 0:yl(e)?_u:_n(e)}parse(e,t={}){this.nodeBuilder.buildRootNode(e);let n=this.lexerResult=this.lexer.tokenize(e);this.wrapper.input=n.tokens;let i=t.rule?this.allRules.get(t.rule):this.mainRule;if(!i)throw new Error(t.rule?`No rule found with name '${t.rule}'`:"No main rule available.");let a=this.doParse(i);return this.nodeBuilder.addHiddenNodes(n.hidden),this.unorderedGroups.clear(),this.lexerResult=void 0,js(a,{deep:!0}),{value:a,lexerErrors:n.errors,lexerReport:n.report,parserErrors:this.wrapper.errors}}doParse(e){let t=this.wrapper.rule(e);if(this.stack.length>0&&(t=this.construct()),t===void 0)throw new Error("No result from parser");if(this.stack.length>0)throw new Error("Parser stack is not empty after parsing");return t}startImplementation(e,t,n){return i=>{let a=!this.isRecording()&&e!==void 0;if(a){let o={$type:e};this.stack.push(o),e===_u?o.value="":t!==void 0&&(o.$infixName=t)}return n(i),a?this.construct():void 0}}extractHiddenTokens(e){let t=this.lexerResult.hidden;if(!t.length)return[];let n=e.startOffset;for(let i=0;i<t.length;i++)if(t[i].startOffset>n)return t.splice(0,i);return t.splice(0,t.length)}consume(e,t,n){let i=this.wrapper.wrapConsume(e,t);if(!this.isRecording()&&this.isValidToken(i)){let a=this.extractHiddenTokens(i);this.nodeBuilder.addHiddenNodes(a);let o=this.nodeBuilder.buildLeafNode(i,n),{assignment:u,crossRef:l}=this.getAssignment(n),c=this.current;if(u){let d=fr(n)?i.image:this.converter.convert(i.image,o);this.assign(u.operator,u.feature,d,o,l)}else if(tu(c)){let d=i.image;fr(n)||(d=this.converter.convert(d,o).toString()),c.value+=d}}}isValidToken(e){return!e.isInsertedInRecovery&&!isNaN(e.startOffset)&&typeof e.endOffset=="number"&&!isNaN(e.endOffset)}subrule(e,t,n,i,a){let o;!this.isRecording()&&!n&&(o=this.nodeBuilder.buildCompositeNode(i));let u;try{u=this.wrapper.wrapSubrule(e,t,a)}finally{this.isRecording()||(u===void 0&&!n&&(u=this.construct()),u!==void 0&&o&&o.length>0&&this.performSubruleAssignment(u,i,o))}}performSubruleAssignment(e,t,n){let{assignment:i,crossRef:a}=this.getAssignment(t);if(i)this.assign(i.operator,i.feature,e,n,a);else if(!i){let o=this.current;if(tu(o))o.value+=e.toString();else if(typeof e=="object"&&e){let u=this.assignWithoutOverride(e,o);this.stack.pop(),this.stack.push(u)}}}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 i={$type:e};this.stack.push(i),this.assign(t.operator,t.feature,n,n.$cstNode)}else n.$type=e}}construct(){if(this.isRecording())return;let e=this.stack.pop();return this.nodeBuilder.construct(e),"$infixName"in e?this.constructInfix(e,this.operatorPrecedence.get(e.$infixName)):tu(e)?this.converter.convert(e.value,e.$cstNode):(Mp(this.astReflection,e),e)}constructInfix(e,t){let n=e.parts;if(!Array.isArray(n)||n.length===0)return;let i=e.operators;if(!Array.isArray(i)||n.length<2)return n[0];let a=0,o=-1;for(let $=0;$<i.length;$++){let x=i[$],A=t.get(x)??{precedence:1/0,rightAssoc:!1};A.precedence>o?(o=A.precedence,a=$):A.precedence===o&&(A.rightAssoc||(a=$))}let u=i.slice(0,a),l=i.slice(a+1),c=n.slice(0,a+1),d=n.slice(a+1),p={$infixName:e.$infixName,$type:e.$type,$cstNode:e.$cstNode,parts:c,operators:u},f={$infixName:e.$infixName,$type:e.$type,$cstNode:e.$cstNode,parts:d,operators:l},g=this.constructInfix(p,t),m=this.constructInfix(f,t);return{$type:e.$type,$cstNode:e.$cstNode,left:g,operator:i[a],right:m}}getAssignment(e){if(!this.assignmentMap.has(e)){let t=zn(e,pr);this.assignmentMap.set(e,{assignment:t,crossRef:t&&Kn(t.terminal)?t.terminal.isMulti?"multi":"single":void 0})}return this.assignmentMap.get(e)}assign(e,t,n,i,a){let o=this.current,u;switch(a==="single"&&typeof n=="string"?u=this.linker.buildReference(o,t,i,n):a==="multi"&&typeof n=="string"?u=this.linker.buildMultiReference(o,t,i,n):u=n,e){case"=":{o[t]=u;break}case"?=":{o[t]=!0;break}case"+=":Array.isArray(o[t])||(o[t]=[]),o[t].push(u)}}assignWithoutOverride(e,t){for(let[i,a]of Object.entries(t)){let o=e[i];o===void 0?e[i]=a:Array.isArray(o)&&Array.isArray(a)&&(a.push(...o),e[i]=a)}let n=e.$cstNode;return n&&(n.astNode=void 0,e.$cstNode=void 0),e}get definitionErrors(){return this.wrapper.definitionErrors}},s(Ua,"LangiumParser"),Ua),Ga,QT=(Ga=class{buildMismatchTokenMessage(e){return Ci.buildMismatchTokenMessage(e)}buildNotAllInputParsedMessage(e){return Ci.buildNotAllInputParsedMessage(e)}buildNoViableAltMessage(e){return Ci.buildNoViableAltMessage(e)}buildEarlyExitMessage(e){return Ci.buildEarlyExitMessage(e)}},s(Ga,"AbstractParserErrorMessageProvider"),Ga),za,dh=(za=class extends QT{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}\`.`}},s(za,"LangiumParserErrorMessageProvider"),za),Wa,ZT=(Wa=class extends ch{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(YT(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,i,a){this.before(i),this.wrapper.wrapSubrule(e,t,a),this.after(i)}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}},s(Wa,"LangiumCompletionParser"),Wa),rE={recoveryEnabled:!0,nodeLocationTracking:"full",skipValidations:!0,errorMessageProvider:new dh},Ka,ev=(Ka=class extends H${constructor(e,t){let n=t&&"maxLookahead"in t;super(e,{...rE,lookaheadStrategy:n?new Yf({maxLookahead:t.maxLookahead}):new eE({logging:t.skipValidations?()=>{}:void 0}),...t})}get IS_RECORDING(){return this.RECORDING_PHASE}DEFINE_RULE(e,t,n){return this.RULE(e,t,n)}wrapSelfAnalysis(){this.performSelfAnalysis()}wrapConsume(e,t){return this.consume(e,t,void 0)}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)}rule(e){return e.call(this,{})}},s(Ka,"ChevrotainWrapper"),Ka),ja,nE=(ja=class extends ev{constructor(e,t,n){super(e,t),this.task=n}rule(e){this.task.start(),this.task.startSubTask(this.ruleName(e));try{return super.rule(e)}finally{this.task.stopSubTask(this.ruleName(e)),this.task.stop()}}ruleName(e){return e.ruleName}subrule(e,t,n){this.task.startSubTask(this.ruleName(t));try{return super.subrule(e,t,n)}finally{this.task.stopSubTask(this.ruleName(t))}}},s(ja,"ProfilerWrapper"),ja);function Rc(r,e,t){return tv({parser:e,tokens:t,ruleNames:new Map},r),e}s(Rc,"createParser");function tv(r,e){let t=sc(e,!1),n=ce(e.rules).filter(at).filter(a=>t.has(a));for(let a of n){let o={...r,consume:1,optional:1,subrule:1,many:1,or:1};r.parser.rule(a,Dr(o,a.definition))}let i=ce(e.rules).filter(Bs).filter(a=>t.has(a));for(let a of i)r.parser.rule(a,rv(r,a))}s(tv,"buildRules");function rv(r,e){let t=e.call.rule.ref;if(!t)throw new Error("Could not resolve reference to infix operator rule: "+e.call.rule.$refText);if(xt(t))throw new Error("Cannot use terminal rule in infix expression");let n=e.operators.precedences.flatMap(p=>p.operators),i={$type:"Group",elements:[]},a={$container:i,$type:"Assignment",feature:"parts",operator:"+=",terminal:e.call},o={$container:i,$type:"Group",elements:[],cardinality:"*"};i.elements.push(a,o);let u={$container:o,$type:"Assignment",feature:"operators",operator:"+=",terminal:{$type:"Alternatives",elements:n}},l={...a,$container:o};o.elements.push(u,l);let c=n.map(p=>r.tokens[p.value]).map((p,f)=>({ALT:s(()=>r.parser.consume(f,p,u),"ALT")})),d;return p=>{d??(d=$c(r,t)),r.parser.subrule(0,d,!1,a,p),r.parser.many(0,{DEF:s(()=>{r.parser.alternatives(0,c),r.parser.subrule(1,d,!1,l,p)},"DEF")})}}s(rv,"buildInfixRule");function Dr(r,e,t=!1){let n;if(fr(e))n=uv(r,e);else if(Ir(e))n=nv(r,e);else if(pr(e))n=Dr(r,e.terminal);else if(Kn(e))n=ph(r,e);else if(hr(e))n=iv(r,e);else if(Ju(e))n=sv(r,e);else if(tc(e))n=ov(r,e);else if(jn(e))n=lv(r,e);else if(Kp(e)){let i=r.consume++;n=s(()=>r.parser.consume(i,Pr,e),"method")}else throw new nc(e.$cstNode,`Unexpected element type: ${e.$type}`);return fh(r,t?void 0:dl(e),n,e.cardinality)}s(Dr,"buildElement");function nv(r,e){let t=_n(e);return()=>r.parser.action(t,e)}s(nv,"buildAction");function iv(r,e){let t=e.rule.ref;if(Wn(t)){let n=r.subrule++,i=at(t)&&t.fragment,a=e.arguments.length>0?av(t,e.arguments):()=>({}),o;return u=>{o??(o=$c(r,t)),r.parser.subrule(n,o,i,e,a(u))}}else if(xt(t)){let n=r.consume++,i=Mu(r,t.name);return()=>r.parser.consume(n,i,e)}else if(t)_r();else throw new nc(e.$cstNode,`Undefined rule: ${e.rule.$refText}`)}s(iv,"buildRuleCall");function av(r,e){if(e.some(t=>t.calledByName)){let t=e.map(n=>{var i,a;return{parameterName:(a=(i=n.parameter)==null?void 0:i.ref)==null?void 0:a.name,predicate:_t(n.value)}});return n=>{let i={};for(let{parameterName:a,predicate:o}of t)a&&(i[a]=o(n));return i}}else{let t=e.map(n=>_t(n.value));return n=>{let i={};for(let a=0;a<t.length;a++)if(a<r.parameters.length){let o=r.parameters[a].name,u=t[a];i[o]=u(n)}return i}}}s(av,"buildRuleCallPredicate");function _t(r){if(Wp(r)){let e=_t(r.left),t=_t(r.right);return n=>e(n)||t(n)}else if(zp(r)){let e=_t(r.left),t=_t(r.right);return n=>e(n)&&t(n)}else if(Bp(r)){let e=_t(r.value);return t=>!e(t)}else if(Hp(r)){let e=r.parameter.ref.name;return t=>t!==void 0&&t[e]===!0}else if(Up(r)){let e=!!r.true;return()=>e}_r()}s(_t,"buildPredicate");function sv(r,e){if(e.elements.length===1)return Dr(r,e.elements[0]);{let t=[];for(let i of e.elements){let a={ALT:Dr(r,i,!0)},o=dl(i);o&&(a.GATE=_t(o)),t.push(a)}let n=r.or++;return i=>r.parser.alternatives(n,t.map(a=>{let o={ALT:s(()=>a.ALT(i),"ALT")},u=a.GATE;return u&&(o.GATE=()=>u(i)),o}))}}s(sv,"buildAlternatives");function ov(r,e){if(e.elements.length===1)return Dr(r,e.elements[0]);let t=[];for(let u of e.elements){let l={ALT:Dr(r,u,!0)},c=dl(u);c&&(l.GATE=_t(c)),t.push(l)}let n=r.or++,i=s((u,l)=>{let c=l.getRuleStack().join("-");return`uGroup_${u}_${c}`},"idFunc"),a=s(u=>r.parser.alternatives(n,t.map((l,c)=>{let d={ALT:s(()=>!0,"ALT")},p=r.parser;d.ALT=()=>{if(l.ALT(u),!p.isRecording()){let g=i(n,p);p.unorderedGroups.get(g)||p.unorderedGroups.set(g,[]);let m=p.unorderedGroups.get(g);typeof(m==null?void 0:m[c])>"u"&&(m[c]=!0)}};let f=l.GATE;return f?d.GATE=()=>f(u):d.GATE=()=>{var g;return!((g=p.unorderedGroups.get(i(n,p)))!=null&&g[c])},d})),"alternatives"),o=fh(r,dl(e),a,"*");return u=>{o(u),r.parser.isRecording()||r.parser.unorderedGroups.delete(i(n,r.parser))}}s(ov,"buildUnorderedGroup");function lv(r,e){let t=e.elements.map(n=>Dr(r,n));return n=>t.forEach(i=>i(n))}s(lv,"buildGroup");function dl(r){if(jn(r))return r.guardCondition}s(dl,"getGuardCondition");function ph(r,e,t=e.terminal){var n;if(t)if(hr(t)&&at(t.rule.ref)){let i=t.rule.ref,a=r.subrule++,o;return u=>{o??(o=$c(r,i)),r.parser.subrule(a,o,!1,e,u)}}else if(hr(t)&&xt(t.rule.ref)){let i=r.consume++,a=Mu(r,t.rule.ref.name);return()=>r.parser.consume(i,a,e)}else if(fr(t)){let i=r.consume++,a=Mu(r,t.value);return()=>r.parser.consume(i,a,e)}else throw new Error("Could not build cross reference parser");else{if(!e.type.ref)throw new Error("Could not resolve reference to type: "+e.type.$refText);let i=(n=cc(e.type.ref))==null?void 0:n.terminal;if(!i)throw new Error("Could not find name assignment for type: "+_n(e.type.ref));return ph(r,e,i)}}s(ph,"buildCrossReference");function uv(r,e){let t=r.consume++,n=r.tokens[e.value];if(!n)throw new Error("Could not find token for keyword: "+e.value);return()=>r.parser.consume(t,n,e)}s(uv,"buildKeyword");function fh(r,e,t,n){let i=e&&_t(e);if(!n)if(i){let a=r.or++;return o=>r.parser.alternatives(a,[{ALT:s(()=>t(o),"ALT"),GATE:s(()=>i(o),"GATE")},{ALT:op(),GATE:s(()=>!i(o),"GATE")}])}else return t;if(n==="*"){let a=r.many++;return o=>r.parser.many(a,{DEF:s(()=>t(o),"DEF"),GATE:i?()=>i(o):void 0})}else if(n==="+"){let a=r.many++;if(i){let o=r.or++;return u=>r.parser.alternatives(o,[{ALT:s(()=>r.parser.atLeastOne(a,{DEF:s(()=>t(u),"DEF")}),"ALT"),GATE:s(()=>i(u),"GATE")},{ALT:op(),GATE:s(()=>!i(u),"GATE")}])}else return o=>r.parser.atLeastOne(a,{DEF:s(()=>t(o),"DEF")})}else if(n==="?"){let a=r.optional++;return o=>r.parser.optional(a,{DEF:s(()=>t(o),"DEF"),GATE:i?()=>i(o):void 0})}else _r()}s(fh,"wrap");function $c(r,e){let t=cv(r,e),n=r.parser.getRule(t);if(!n)throw new Error(`Rule "${t}" not found."`);return n}s($c,"getRule");function cv(r,e){if(Wn(e))return e.name;if(r.ruleNames.has(e))return r.ruleNames.get(e);{let t=e,n=t.$container,i=e.$type;for(;!at(n);)(jn(n)||Ju(n)||tc(n))&&(i=n.elements.indexOf(t).toString()+":"+i),t=n,n=n.$container;return i=n.name+":"+i,r.ruleNames.set(e,i),i}}s(cv,"getRuleName");function Mu(r,e){let t=r.tokens[e];if(!t)throw new Error(`Token "${e}" not found."`);return t}s(Mu,"getToken");function hh(r){let e=r.Grammar,t=r.parser.Lexer,n=new ZT(r);return Rc(e,n,t.definition),n.finalize(),n}s(hh,"createCompletionParser");function mh(r){let e=gh(r);return e.finalize(),e}s(mh,"createLangiumParser");function gh(r){let e=r.Grammar,t=r.parser.Lexer,n=new JT(r);return Rc(e,n,t.definition)}s(gh,"prepareLangiumParser");var Va,Ec=(Va=class{constructor(){this.diagnostics=[]}buildTokens(e,t){let n=ce(sc(e,!1)),i=this.buildTerminalTokens(n),a=this.buildKeywordTokens(n,i,t);return a.push(...i),a}flushLexingReport(e){return{diagnostics:this.popDiagnostics()}}popDiagnostics(){let e=[...this.diagnostics];return this.diagnostics=[],e}buildTerminalTokens(e){return e.filter(xt).filter(t=>!t.fragment).map(t=>this.buildTerminalToken(t)).toArray()}buildTerminalToken(e){let t=vl(e),n=this.requiresCustomPattern(t)?this.regexPatternFunction(t):t,i={name:e.name,PATTERN:n};return typeof n=="function"&&(i.LINE_BREAKS=!0),e.hidden&&(i.GROUP=ac(t)?nt.SKIPPED:"hidden"),i}requiresCustomPattern(e){return!!(e.flags.includes("u")||e.flags.includes("s"))}regexPatternFunction(e){let t=new RegExp(e,e.flags+"y");return(n,i)=>(t.lastIndex=i,t.exec(n))}buildKeywordTokens(e,t,n){return e.filter(Wn).flatMap(i=>vr(i).filter(fr)).distinct(i=>i.value).toArray().sort((i,a)=>a.value.length-i.value.length).map(i=>this.buildKeywordToken(i,t,!!(n!=null&&n.caseInsensitive)))}buildKeywordToken(e,t,n){let i=this.buildKeywordPattern(e,n),a={name:e.value,PATTERN:i,LONGER_ALT:this.findLongerAlt(e,t)};return typeof i=="function"&&(a.LINE_BREAKS=!0),a}buildKeywordPattern(e,t){return t?new RegExp(Zs(e.value),"i"):e.value}findLongerAlt(e,t){return t.reduce((n,i)=>{let a=i==null?void 0:i.PATTERN;return a!=null&&a.source&&yf("^"+a.source+"$",e.value)&&n.push(i),n},[])}},s(Va,"DefaultTokenBuilder"),Va),Ba,yh=(Ba=class{convert(e,t){let n=t.grammarSource;if(Kn(n)&&(n=Ef(n)),hr(n)){let i=n.rule.ref;if(!i)throw new Error("This cst node was not parsed by a rule.");return this.runConverter(i,e,t)}return e}runConverter(e,t,n){var i;switch(e.name.toUpperCase()){case"INT":return Yt.convertInt(t);case"STRING":return Yt.convertString(t);case"ID":return Yt.convertID(t)}switch((i=If(e))==null?void 0:i.toLowerCase()){case"number":return Yt.convertNumber(t);case"boolean":return Yt.convertBoolean(t);case"bigint":return Yt.convertBigint(t);case"date":return Yt.convertDate(t);default:return t}}},s(Ba,"DefaultValueConverter"),Ba),Yt;(function(r){function e(c){let d="";for(let p=1;p<c.length-1;p++){let f=c.charAt(p);if(f==="\\"){let g=c.charAt(++p);d+=t(g)}else d+=f}return d}s(e,"convertString"),r.convertString=e;function t(c){switch(c){case"b":return"\b";case"f":return"\f";case"n":return`
149
- `;case"r":return"\r";case"t":return" ";case"v":return"\v";case"0":return"\0";default:return c}}s(t,"convertEscapeCharacter");function n(c){return c.charAt(0)==="^"?c.substring(1):c}s(n,"convertID"),r.convertID=n;function i(c){return parseInt(c)}s(i,"convertInt"),r.convertInt=i;function a(c){return BigInt(c)}s(a,"convertBigint"),r.convertBigint=a;function o(c){return new Date(c)}s(o,"convertDate"),r.convertDate=o;function u(c){return Number(c)}s(u,"convertNumber"),r.convertNumber=u;function l(c){return c.toLowerCase()==="true"}s(l,"convertBoolean"),r.convertBoolean=l})(Yt||(Yt={}));var Ee={};Ku(Ee,xp(Hu()));function Cc(){return new Promise(r=>{typeof setImmediate>"u"?setTimeout(r,0):setImmediate(r)})}s(Cc,"delayNextTick");var ru=0,dv=10;function Ac(){return ru=performance.now(),new Ee.CancellationTokenSource}s(Ac,"startCancelableOperation");function Th(r){dv=r}s(Th,"setInterruptionPeriod");var Zt=Symbol("OperationCancelled");function Hn(r){return r===Zt}s(Hn,"isOperationCancelled");async function Ve(r){if(r===Ee.CancellationToken.None)return;let e=performance.now();if(e-ru>=dv&&(ru=e,await Cc(),ru=performance.now()),r.isCancellationRequested)throw Zt}s(Ve,"interruptAndCheck");var Ha,yr=(Ha=class{constructor(){this.promise=new Promise((e,t)=>{this.resolve=n=>(e(n),this),this.reject=n=>(t(n),this)})}},s(Ha,"Deferred"),Ha),wr,mm=(wr=class{constructor(e,t,n,i){this._uri=e,this._languageId=t,this._version=n,this._content=i,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){let t=this.offsetAt(e.start),n=this.offsetAt(e.end);return this._content.substring(t,n)}return this._content}update(e,t){for(let n of e)if(wr.isIncremental(n)){let i=Rh(n.range),a=this.offsetAt(i.start),o=this.offsetAt(i.end);this._content=this._content.substring(0,a)+n.text+this._content.substring(o,this._content.length);let u=Math.max(i.start.line,0),l=Math.max(i.end.line,0),c=this._lineOffsets,d=dp(n.text,!1,a);if(l-u===d.length)for(let f=0,g=d.length;f<g;f++)c[f+u+1]=d[f];else d.length<1e4?c.splice(u+1,l-u,...d):this._lineOffsets=c=c.slice(0,u+1).concat(d,c.slice(l+1));let p=n.text.length-(o-a);if(p!==0)for(let f=u+1+d.length,g=c.length;f<g;f++)c[f]=c[f]+p}else if(wr.isFull(n))this._content=n.text,this._lineOffsets=void 0;else throw new Error("Unknown change event received");this._version=t}getLineOffsets(){return this._lineOffsets===void 0&&(this._lineOffsets=dp(this._content,!0)),this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let t=this.getLineOffsets(),n=0,i=t.length;if(i===0)return{line:0,character:e};for(;n<i;){let o=Math.floor((n+i)/2);t[o]>e?i=o:n=o+1}let a=n-1;return e=this.ensureBeforeEOL(e,t[a]),{line:a,character:e-t[a]}}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 i=e.line+1<t.length?t[e.line+1]:this._content.length,a=Math.min(n+e.character,i);return this.ensureBeforeEOL(a,n)}ensureBeforeEOL(e,t){for(;e>t&&vh(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}},s(wr,"FullTextDocument"),wr),Fu;(function(r){function e(i,a,o,u){return new mm(i,a,o,u)}s(e,"create"),r.create=e;function t(i,a,o){if(i instanceof mm)return i.update(a,o),i;throw new Error("TextDocument.update: document must be created by TextDocument.create")}s(t,"update"),r.update=t;function n(i,a){let o=i.getText(),u=qu(a.map(pv),(d,p)=>{let f=d.range.start.line-p.range.start.line;return f===0?d.range.start.character-p.range.start.character:f}),l=0,c=[];for(let d of u){let p=i.offsetAt(d.range.start);if(p<l)throw new Error("Overlapping edit");p>l&&c.push(o.substring(l,p)),d.newText.length&&c.push(d.newText),l=i.offsetAt(d.range.end)}return c.push(o.substr(l)),c.join("")}s(n,"applyEdits"),r.applyEdits=n})(Fu||(Fu={}));function qu(r,e){if(r.length<=1)return r;let t=r.length/2|0,n=r.slice(0,t),i=r.slice(t);qu(n,e),qu(i,e);let a=0,o=0,u=0;for(;a<n.length&&o<i.length;)e(n[a],i[o])<=0?r[u++]=n[a++]:r[u++]=i[o++];for(;a<n.length;)r[u++]=n[a++];for(;o<i.length;)r[u++]=i[o++];return r}s(qu,"mergeSort");function dp(r,e,t=0){let n=e?[t]:[];for(let i=0;i<r.length;i++){let a=r.charCodeAt(i);vh(a)&&(a===13&&i+1<r.length&&r.charCodeAt(i+1)===10&&i++,n.push(t+i+1))}return n}s(dp,"computeLineOffsets");function vh(r){return r===13||r===10}s(vh,"isEOL");function Rh(r){let e=r.start,t=r.end;return e.line>t.line||e.line===t.line&&e.character>t.character?{start:t,end:e}:r}s(Rh,"getWellformedRange");function pv(r){let e=Rh(r.range);return e!==r.range?{newText:r.newText,range:e}:r}s(pv,"getWellformedEdit");var fv;(()=>{var r={975:L=>{function k(v){if(typeof v!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(v))}s(k,"e");function T(v,R){for(var S,D="",M=0,O=-1,z=0,q=0;q<=v.length;++q){if(q<v.length)S=v.charCodeAt(q);else{if(S===47)break;S=47}if(S===47){if(!(O===q-1||z===1))if(O!==q-1&&z===2){if(D.length<2||M!==2||D.charCodeAt(D.length-1)!==46||D.charCodeAt(D.length-2)!==46){if(D.length>2){var re=D.lastIndexOf("/");if(re!==D.length-1){re===-1?(D="",M=0):M=(D=D.slice(0,re)).length-1-D.lastIndexOf("/"),O=q,z=0;continue}}else if(D.length===2||D.length===1){D="",M=0,O=q,z=0;continue}}R&&(D.length>0?D+="/..":D="..",M=2)}else D.length>0?D+="/"+v.slice(O+1,q):D=v.slice(O+1,q),M=q-O-1;O=q,z=0}else S===46&&z!==-1?++z:z=-1}return D}s(T,"r");var b={resolve:s(function(){for(var v,R="",S=!1,D=arguments.length-1;D>=-1&&!S;D--){var M;D>=0?M=arguments[D]:(v===void 0&&(v=process.cwd()),M=v),k(M),M.length!==0&&(R=M+"/"+R,S=M.charCodeAt(0)===47)}return R=T(R,!S),S?R.length>0?"/"+R:"/":R.length>0?R:"."},"resolve"),normalize:s(function(v){if(k(v),v.length===0)return".";var R=v.charCodeAt(0)===47,S=v.charCodeAt(v.length-1)===47;return(v=T(v,!R)).length!==0||R||(v="."),v.length>0&&S&&(v+="/"),R?"/"+v:v},"normalize"),isAbsolute:s(function(v){return k(v),v.length>0&&v.charCodeAt(0)===47},"isAbsolute"),join:s(function(){if(arguments.length===0)return".";for(var v,R=0;R<arguments.length;++R){var S=arguments[R];k(S),S.length>0&&(v===void 0?v=S:v+="/"+S)}return v===void 0?".":b.normalize(v)},"join"),relative:s(function(v,R){if(k(v),k(R),v===R||(v=b.resolve(v))===(R=b.resolve(R)))return"";for(var S=1;S<v.length&&v.charCodeAt(S)===47;++S);for(var D=v.length,M=D-S,O=1;O<R.length&&R.charCodeAt(O)===47;++O);for(var z=R.length-O,q=M<z?M:z,re=-1,W=0;W<=q;++W){if(W===q){if(z>q){if(R.charCodeAt(O+W)===47)return R.slice(O+W+1);if(W===0)return R.slice(O+W)}else M>q&&(v.charCodeAt(S+W)===47?re=W:W===0&&(re=0));break}var ee=v.charCodeAt(S+W);if(ee!==R.charCodeAt(O+W))break;ee===47&&(re=W)}var de="";for(W=S+re+1;W<=D;++W)W!==D&&v.charCodeAt(W)!==47||(de.length===0?de+="..":de+="/..");return de.length>0?de+R.slice(O+re):(O+=re,R.charCodeAt(O)===47&&++O,R.slice(O))},"relative"),_makeLong:s(function(v){return v},"_makeLong"),dirname:s(function(v){if(k(v),v.length===0)return".";for(var R=v.charCodeAt(0),S=R===47,D=-1,M=!0,O=v.length-1;O>=1;--O)if((R=v.charCodeAt(O))===47){if(!M){D=O;break}}else M=!1;return D===-1?S?"/":".":S&&D===1?"//":v.slice(0,D)},"dirname"),basename:s(function(v,R){if(R!==void 0&&typeof R!="string")throw new TypeError('"ext" argument must be a string');k(v);var S,D=0,M=-1,O=!0;if(R!==void 0&&R.length>0&&R.length<=v.length){if(R.length===v.length&&R===v)return"";var z=R.length-1,q=-1;for(S=v.length-1;S>=0;--S){var re=v.charCodeAt(S);if(re===47){if(!O){D=S+1;break}}else q===-1&&(O=!1,q=S+1),z>=0&&(re===R.charCodeAt(z)?--z==-1&&(M=S):(z=-1,M=q))}return D===M?M=q:M===-1&&(M=v.length),v.slice(D,M)}for(S=v.length-1;S>=0;--S)if(v.charCodeAt(S)===47){if(!O){D=S+1;break}}else M===-1&&(O=!1,M=S+1);return M===-1?"":v.slice(D,M)},"basename"),extname:s(function(v){k(v);for(var R=-1,S=0,D=-1,M=!0,O=0,z=v.length-1;z>=0;--z){var q=v.charCodeAt(z);if(q!==47)D===-1&&(M=!1,D=z+1),q===46?R===-1?R=z:O!==1&&(O=1):R!==-1&&(O=-1);else if(!M){S=z+1;break}}return R===-1||D===-1||O===0||O===1&&R===D-1&&R===S+1?"":v.slice(R,D)},"extname"),format:s(function(v){if(v===null||typeof v!="object")throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof v);return function(R,S){var D=S.dir||S.root,M=S.base||(S.name||"")+(S.ext||"");return D?D===S.root?D+M:D+"/"+M:M}(0,v)},"format"),parse:s(function(v){k(v);var R={root:"",dir:"",base:"",ext:"",name:""};if(v.length===0)return R;var S,D=v.charCodeAt(0),M=D===47;M?(R.root="/",S=1):S=0;for(var O=-1,z=0,q=-1,re=!0,W=v.length-1,ee=0;W>=S;--W)if((D=v.charCodeAt(W))!==47)q===-1&&(re=!1,q=W+1),D===46?O===-1?O=W:ee!==1&&(ee=1):O!==-1&&(ee=-1);else if(!re){z=W+1;break}return O===-1||q===-1||ee===0||ee===1&&O===q-1&&O===z+1?q!==-1&&(R.base=R.name=z===0&&M?v.slice(1,q):v.slice(z,q)):(z===0&&M?(R.name=v.slice(1,O),R.base=v.slice(1,q)):(R.name=v.slice(z,O),R.base=v.slice(z,q)),R.ext=v.slice(O,q)),z>0?R.dir=v.slice(0,z-1):M&&(R.dir="/"),R},"parse"),sep:"/",delimiter:":",win32:null,posix:null};b.posix=b,L.exports=b}},e={};function t(L){var k=e[L];if(k!==void 0)return k.exports;var T=e[L]={exports:{}};return r[L](T,T.exports,t),T.exports}s(t,"r"),t.d=(L,k)=>{for(var T in k)t.o(k,T)&&!t.o(L,T)&&Object.defineProperty(L,T,{enumerable:!0,get:k[T]})},t.o=(L,k)=>Object.prototype.hasOwnProperty.call(L,k),t.r=L=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(L,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(L,"__esModule",{value:!0})};var n={};let i;t.r(n),t.d(n,{URI:s(()=>f,"URI"),Utils:s(()=>Se,"Utils")}),typeof process=="object"?i=process.platform==="win32":typeof navigator=="object"&&(i=navigator.userAgent.indexOf("Windows")>=0);let a=/^\w[\w\d+.-]*$/,o=/^\//,u=/^\/\//;function l(L,k){if(!L.scheme&&k)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${L.authority}", path: "${L.path}", query: "${L.query}", fragment: "${L.fragment}"}`);if(L.scheme&&!a.test(L.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(L.path){if(L.authority){if(!o.test(L.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(u.test(L.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}s(l,"a");let c="",d="/",p=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;const oe=class oe{constructor(k,T,b,v,R,S=!1){Ar(this,"scheme");Ar(this,"authority");Ar(this,"path");Ar(this,"query");Ar(this,"fragment");typeof k=="object"?(this.scheme=k.scheme||c,this.authority=k.authority||c,this.path=k.path||c,this.query=k.query||c,this.fragment=k.fragment||c):(this.scheme=function(D,M){return D||M?D:"file"}(k,S),this.authority=T||c,this.path=function(D,M){switch(D){case"https":case"http":case"file":M?M[0]!==d&&(M=d+M):M=d}return M}(this.scheme,b||c),this.query=v||c,this.fragment=R||c,l(this,S))}static isUri(k){return k instanceof oe||!!k&&typeof k.authority=="string"&&typeof k.fragment=="string"&&typeof k.path=="string"&&typeof k.query=="string"&&typeof k.scheme=="string"&&typeof k.fsPath=="string"&&typeof k.with=="function"&&typeof k.toString=="function"}get fsPath(){return N(this,!1)}with(k){if(!k)return this;let{scheme:T,authority:b,path:v,query:R,fragment:S}=k;return T===void 0?T=this.scheme:T===null&&(T=c),b===void 0?b=this.authority:b===null&&(b=c),v===void 0?v=this.path:v===null&&(v=c),R===void 0?R=this.query:R===null&&(R=c),S===void 0?S=this.fragment:S===null&&(S=c),T===this.scheme&&b===this.authority&&v===this.path&&R===this.query&&S===this.fragment?this:new m(T,b,v,R,S)}static parse(k,T=!1){let b=p.exec(k);return b?new m(b[2]||c,ne(b[4]||c),ne(b[5]||c),ne(b[7]||c),ne(b[9]||c),T):new m(c,c,c,c,c)}static file(k){let T=c;if(i&&(k=k.replace(/\\/g,d)),k[0]===d&&k[1]===d){let b=k.indexOf(d,2);b===-1?(T=k.substring(2),k=d):(T=k.substring(2,b),k=k.substring(b)||d)}return new m("file",T,k,c,c)}static from(k){let T=new m(k.scheme,k.authority,k.path,k.query,k.fragment);return l(T,!0),T}toString(k=!1){return C(this,k)}toJSON(){return this}static revive(k){if(k){if(k instanceof oe)return k;{let T=new m(k);return T._formatted=k.external,T._fsPath=k._sep===g?k.fsPath:null,T}}return k}};s(oe,"l");let f=oe,g=i?1:void 0;const Qe=class Qe extends f{constructor(){super(...arguments);Ar(this,"_formatted",null);Ar(this,"_fsPath",null)}get fsPath(){return this._fsPath||(this._fsPath=N(this,!1)),this._fsPath}toString(T=!1){return T?C(this,!0):(this._formatted||(this._formatted=C(this,!1)),this._formatted)}toJSON(){let T={$mid:1};return this._fsPath&&(T.fsPath=this._fsPath,T._sep=g),this._formatted&&(T.external=this._formatted),this.path&&(T.path=this.path),this.scheme&&(T.scheme=this.scheme),this.authority&&(T.authority=this.authority),this.query&&(T.query=this.query),this.fragment&&(T.fragment=this.fragment),T}};s(Qe,"d");let m=Qe,$={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 x(L,k,T){let b,v=-1;for(let R=0;R<L.length;R++){let S=L.charCodeAt(R);if(S>=97&&S<=122||S>=65&&S<=90||S>=48&&S<=57||S===45||S===46||S===95||S===126||k&&S===47||T&&S===91||T&&S===93||T&&S===58)v!==-1&&(b+=encodeURIComponent(L.substring(v,R)),v=-1),b!==void 0&&(b+=L.charAt(R));else{b===void 0&&(b=L.substr(0,R));let D=$[S];D!==void 0?(v!==-1&&(b+=encodeURIComponent(L.substring(v,R)),v=-1),b+=D):v===-1&&(v=R)}}return v!==-1&&(b+=encodeURIComponent(L.substring(v))),b!==void 0?b:L}s(x,"m");function A(L){let k;for(let T=0;T<L.length;T++){let b=L.charCodeAt(T);b===35||b===63?(k===void 0&&(k=L.substr(0,T)),k+=$[b]):k!==void 0&&(k+=L[T])}return k!==void 0?k:L}s(A,"y");function N(L,k){let T;return T=L.authority&&L.path.length>1&&L.scheme==="file"?`//${L.authority}${L.path}`:L.path.charCodeAt(0)===47&&(L.path.charCodeAt(1)>=65&&L.path.charCodeAt(1)<=90||L.path.charCodeAt(1)>=97&&L.path.charCodeAt(1)<=122)&&L.path.charCodeAt(2)===58?k?L.path.substr(1):L.path[1].toLowerCase()+L.path.substr(2):L.path,i&&(T=T.replace(/\//g,"\\")),T}s(N,"v");function C(L,k){let T=k?A:x,b="",{scheme:v,authority:R,path:S,query:D,fragment:M}=L;if(v&&(b+=v,b+=":"),(R||v==="file")&&(b+=d,b+=d),R){let O=R.indexOf("@");if(O!==-1){let z=R.substr(0,O);R=R.substr(O+1),O=z.lastIndexOf(":"),O===-1?b+=T(z,!1,!1):(b+=T(z.substr(0,O),!1,!1),b+=":",b+=T(z.substr(O+1),!1,!0)),b+="@"}R=R.toLowerCase(),O=R.lastIndexOf(":"),O===-1?b+=T(R,!1,!0):(b+=T(R.substr(0,O),!1,!0),b+=R.substr(O))}if(S){if(S.length>=3&&S.charCodeAt(0)===47&&S.charCodeAt(2)===58){let O=S.charCodeAt(1);O>=65&&O<=90&&(S=`/${String.fromCharCode(O+32)}:${S.substr(3)}`)}else if(S.length>=2&&S.charCodeAt(1)===58){let O=S.charCodeAt(0);O>=65&&O<=90&&(S=`${String.fromCharCode(O+32)}:${S.substr(2)}`)}b+=T(S,!0,!1)}return D&&(b+="?",b+=T(D,!1,!1)),M&&(b+="#",b+=k?M:x(M,!1,!1)),b}s(C,"b");function I(L){try{return decodeURIComponent(L)}catch{return L.length>3?L.substr(0,3)+I(L.substr(3)):L}}s(I,"C");let Y=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function ne(L){return L.match(Y)?L.replace(Y,k=>I(k)):L}s(ne,"w");var J=t(975);let ye=J.posix||J,Ce="/";var Se;(function(L){L.joinPath=function(k,...T){return k.with({path:ye.join(k.path,...T)})},L.resolvePath=function(k,...T){let b=k.path,v=!1;b[0]!==Ce&&(b=Ce+b,v=!0);let R=ye.resolve(b,...T);return v&&R[0]===Ce&&!k.authority&&(R=R.substring(1)),k.with({path:R})},L.dirname=function(k){if(k.path.length===0||k.path===Ce)return k;let T=ye.dirname(k.path);return T.length===1&&T.charCodeAt(0)===46&&(T=""),k.with({path:T})},L.basename=function(k){return ye.basename(k.path)},L.extname=function(k){return ye.extname(k.path)}})(Se||(Se={})),fv=n})();var{URI:yt,Utils:ko}=fv,rt;(function(r){r.basename=ko.basename,r.dirname=ko.dirname,r.extname=ko.extname,r.joinPath=ko.joinPath,r.resolvePath=ko.resolvePath;let e=typeof process=="object"&&(process==null?void 0:process.platform)==="win32";function t(o,u){return(o==null?void 0:o.toString())===(u==null?void 0:u.toString())}s(t,"equals"),r.equals=t;function n(o,u){let l=typeof o=="string"?yt.parse(o).path:o.path,c=typeof u=="string"?yt.parse(u).path:u.path,d=l.split("/").filter($=>$.length>0),p=c.split("/").filter($=>$.length>0);if(e){let $=/^[A-Z]:$/;if(d[0]&&$.test(d[0])&&(d[0]=d[0].toLowerCase()),p[0]&&$.test(p[0])&&(p[0]=p[0].toLowerCase()),d[0]!==p[0])return c.substring(1)}let f=0;for(;f<d.length&&d[f]===p[f];f++);let g="../".repeat(d.length-f),m=p.slice(f).join("/");return g+m}s(n,"relative"),r.relative=n;function i(o){return yt.parse(o.toString()).toString()}s(i,"normalize"),r.normalize=i;function a(o,u){let l=typeof o=="string"?o:o.path,c=typeof u=="string"?u:u.path;return c.charAt(c.length-1)==="/"&&(c=c.slice(0,-1)),l.charAt(l.length-1)==="/"&&(l=l.slice(0,-1)),c===l?!0:c.length<l.length||c.charAt(l.length)!=="/"?!1:c.startsWith(l)}s(a,"contains"),r.contains=a})(rt||(rt={}));var Xa,$h=(Xa=class{constructor(){this.root={name:"",children:new Map}}normalizeUri(e){return rt.normalize(e)}clear(){this.root.children.clear()}insert(e,t){let n=this.getNode(this.normalizeUri(e),!0);n.element=t}delete(e){let t=this.getNode(this.normalizeUri(e),!1);t!=null&&t.parent&&t.parent.children.delete(t.name)}has(e){var t;return((t=this.getNode(this.normalizeUri(e),!1))==null?void 0:t.element)!==void 0}hasNode(e){return this.getNode(this.normalizeUri(e),!1)!==void 0}find(e){var t;return(t=this.getNode(this.normalizeUri(e),!1))==null?void 0:t.element}findNode(e){let t=this.normalizeUri(e),n=this.getNode(t,!1);if(n)return{name:n.name,uri:rt.joinPath(yt.parse(t),n.name).toString(),element:n.element}}findChildren(e){let t=this.normalizeUri(e),n=this.getNode(t,!1);return n?Array.from(n.children.values()).map(i=>({name:i.name,uri:rt.joinPath(yt.parse(t),i.name).toString(),element:i.element})):[]}all(){return this.collectValues(this.root)}findAll(e){let t=this.getNode(rt.normalize(e),!1);return t?this.collectValues(t):[]}getNode(e,t){let n=e.split("/");e.charAt(e.length-1)==="/"&&n.pop();let i=this.root;for(let a of n){let o=i.children.get(a);if(!o)if(t)o={name:a,children:new Map,parent:i},i.children.set(a,o);else return;i=o}return i}collectValues(e){let t=[];e.element&&t.push(e.element);for(let n of e.children.values())t.push(...this.collectValues(n));return t}},s(Xa,"UriTrie"),Xa),Z;(function(r){r[r.Changed=0]="Changed",r[r.Parsed=1]="Parsed",r[r.IndexedContent=2]="IndexedContent",r[r.ComputedScopes=3]="ComputedScopes",r[r.Linked=4]="Linked",r[r.IndexedReferences=5]="IndexedReferences",r[r.Validated=6]="Validated"})(Z||(Z={}));var Ya,hv=(Ya=class{constructor(e){this.serviceRegistry=e.ServiceRegistry,this.textDocuments=e.workspace.TextDocuments,this.fileSystemProvider=e.workspace.FileSystemProvider}async fromUri(e,t=Ee.CancellationToken.None){let n=await this.fileSystemProvider.readFile(e);return this.createAsync(e,n,t)}fromTextDocument(e,t,n){return t=t??yt.parse(e.uri),Ee.CancellationToken.is(n)?this.createAsync(t,e,n):this.create(t,e,n)}fromString(e,t,n){return Ee.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 i=this.parse(e,t,n);return this.createLangiumDocument(i,e,void 0,t)}else if("$model"in t){let i={value:t.$model,parserErrors:[],lexerErrors:[]};return this.createLangiumDocument(i,e)}else{let i=this.parse(e,t.getText(),n);return this.createLangiumDocument(i,e,t)}}async createAsync(e,t,n){if(typeof t=="string"){let i=await this.parseAsync(e,t,n);return this.createLangiumDocument(i,e,void 0,t)}else{let i=await this.parseAsync(e,t.getText(),n);return this.createLangiumDocument(i,e,t)}}createLangiumDocument(e,t,n,i){let a;if(n)a={parseResult:e,uri:t,state:Z.Parsed,references:[],textDocument:n};else{let o=this.createTextDocumentGetter(t,i);a={parseResult:e,uri:t,state:Z.Parsed,references:[],get textDocument(){return o()}}}return e.value.$document=a,a}async update(e,t){var o,u;let n=(o=e.parseResult.value.$cstNode)==null?void 0:o.root.fullText,i=(u=this.textDocuments)==null?void 0:u.get(e.uri.toString()),a=i?i.getText():await this.fileSystemProvider.readFile(e.uri);if(i)Object.defineProperty(e,"textDocument",{value:i});else{let l=this.createTextDocumentGetter(e.uri,a);Object.defineProperty(e,"textDocument",{get:l})}return n!==a&&(e.parseResult=await this.parseAsync(e.uri,a,t),e.parseResult.value.$document=e),e.state=Z.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,i;return()=>i??(i=Fu.create(e.toString(),n.getServices(e).LanguageMetaData.languageId,0,t??""))}},s(Ya,"DefaultLangiumDocumentFactory"),Ya),Ja,mv=(Ja=class{constructor(e){this.documentTrie=new $h,this.services=e,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.documentBuilder=()=>e.workspace.DocumentBuilder}get all(){return ce(this.documentTrie.all())}addDocument(e){let t=e.uri.toString();if(this.documentTrie.has(t))throw new Error(`A document with the URI '${t}' is already present.`);this.documentTrie.insert(t,e)}getDocument(e){let t=e.toString();return this.documentTrie.find(t)}getDocuments(e){let t=e.toString();return this.documentTrie.findAll(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(i=>(this.addDocument(i),i));{let i=this.langiumDocumentFactory.fromString(t,e);return this.addDocument(i),i}}hasDocument(e){return this.documentTrie.has(e.toString())}invalidateDocument(e){let t=e.toString(),n=this.documentTrie.find(t);return n&&this.documentBuilder().resetToState(n,Z.Changed),n}deleteDocument(e){let t=e.toString(),n=this.documentTrie.find(t);return n&&(n.state=Z.Changed,this.documentTrie.delete(t)),n}deleteDocuments(e){let t=e.toString(),n=this.documentTrie.findAll(t);for(let i of n)i.state=Z.Changed;return this.documentTrie.delete(t),n}},s(Ja,"DefaultLangiumDocuments"),Ja),jr=Symbol("RefResolving"),Qa,gv=(Qa=class{constructor(e){this.reflection=e.shared.AstReflection,this.langiumDocuments=()=>e.shared.workspace.LangiumDocuments,this.scopeProvider=e.references.ScopeProvider,this.astNodeLocator=e.workspace.AstNodeLocator,this.profiler=e.shared.profilers.LangiumProfiler,this.languageId=e.LanguageMetaData.languageId}async link(e,t=Ee.CancellationToken.None){var n;if((n=this.profiler)!=null&&n.isActive("linking")){let i=this.profiler.createTask("linking",this.languageId);i.start();try{for(let a of qt(e.parseResult.value))await Ve(t),Vs(a).forEach(o=>{let u=`${a.$type}:${o.property}`;i.startSubTask(u);try{this.doLink(o,e)}finally{i.stopSubTask(u)}})}finally{i.stop()}}else for(let i of qt(e.parseResult.value))await Ve(t),Vs(i).forEach(a=>this.doLink(a,e))}doLink(e,t){let n=e.reference;if("_ref"in n&&n._ref===void 0){n._ref=jr;try{let i=this.getCandidate(e);if(Hr(i))n._ref=i;else{n._nodeDescription=i;let a=this.loadAstNode(i);n._ref=a??this.createLinkingError(e,i)}}catch(i){console.error(`An error occurred while resolving reference to '${n.$refText}':`,i);let a=i.message??String(i);n._ref={info:e,message:`An error occurred while resolving reference to '${n.$refText}': ${a}`}}t.references.push(n)}else if("_items"in n&&n._items===void 0){n._items=jr;try{let i=this.getCandidates(e),a=[];if(Hr(i))n._linkingError=i;else for(let o of i){let u=this.loadAstNode(o);u&&a.push({ref:u,$nodeDescription:o})}n._items=a}catch(i){n._linkingError={info:e,message:`An error occurred while resolving reference to '${n.$refText}': ${i}`},n._items=[]}t.references.push(n)}}unlink(e){for(let t of e.references)"_ref"in t?(t._ref=void 0,delete t._nodeDescription):"_items"in t&&(t._items=void 0,delete t._linkingError);e.references=[]}getCandidate(e){return this.scopeProvider.getScope(e).getElement(e.reference.$refText)??this.createLinkingError(e)}getCandidates(e){let t=this.scopeProvider.getScope(e).getElements(e.reference.$refText).distinct(n=>`${n.documentUri}#${n.path}`).toArray();return t.length>0?t:this.createLinkingError(e)}buildReference(e,t,n,i){let a=this,o={$refNode:n,$refText:i,_ref:void 0,get ref(){if(Ue(this._ref))return this._ref;if(Dp(this._nodeDescription)){let u=a.loadAstNode(this._nodeDescription);this._ref=u??a.createLinkingError({reference:o,container:e,property:t},this._nodeDescription)}else if(this._ref===void 0){this._ref=jr;let u=Ai(e).$document,l=a.getLinkedNode({reference:o,container:e,property:t});if(l.error&&u&&u.state<Z.ComputedScopes)return this._ref=void 0;this._ref=l.node??l.error,this._nodeDescription=l.descr,u==null||u.references.push(this)}else this._ref===jr&&a.throwCyclicReferenceError(e,t,i);return Ue(this._ref)?this._ref:void 0},get $nodeDescription(){return this._nodeDescription},get error(){return Hr(this._ref)?this._ref:void 0}};return o}buildMultiReference(e,t,n,i){let a=this,o={$refNode:n,$refText:i,_items:void 0,get items(){if(Array.isArray(this._items))return this._items;if(this._items===void 0){this._items=jr;let u=Ai(e).$document,l=a.getCandidates({reference:o,container:e,property:t}),c=[];if(Hr(l))this._linkingError=l;else for(let d of l){let p=a.loadAstNode(d);p&&c.push({ref:p,$nodeDescription:d})}this._items=c,u==null||u.references.push(this)}else this._items===jr&&a.throwCyclicReferenceError(e,t,i);return Array.isArray(this._items)?this._items:[]},get error(){if(this._linkingError)return this._linkingError;if(!(this.items.length>0))return this._linkingError=a.createLinkingError({reference:o,container:e,property:t})}};return o}throwCyclicReferenceError(e,t,n){throw new Error(`Cyclic reference resolution detected: ${this.astNodeLocator.getAstNodePath(e)}/${t} (symbol '${n}')`)}getLinkedNode(e){try{let t=this.getCandidate(e);if(Hr(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:{info: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=Ai(e.container).$document;n&&n.state<Z.ComputedScopes&&console.warn(`Attempted reference resolution before document reached ComputedScopes state (${n.uri}).`);let i=this.reflection.getReferenceType(e);return{info:e,message:`Could not resolve reference to ${i} named '${e.reference.$refText}'.`,targetDescription:t}}},s(Qa,"DefaultLinker"),Qa);function Eh(r){return typeof r.name=="string"}s(Eh,"isNamed");var Za,yv=(Za=class{getName(e){if(Eh(e))return e.name}getNameNode(e){return oc(e.$cstNode,"name")}},s(Za,"DefaultNameProvider"),Za),es,Tv=(es=class{constructor(e){this.nameProvider=e.references.NameProvider,this.index=e.shared.workspace.IndexManager,this.nodeLocator=e.workspace.AstNodeLocator,this.documents=e.shared.workspace.LangiumDocuments,this.hasMultiReference=qt(e.Grammar).some(t=>Kn(t)&&t.isMulti)}findDeclarations(e){if(e){let t=Sf(e),n=e.astNode;if(t&&n){let i=n[t.feature];if(tt(i)||er(i))return su(i);if(Array.isArray(i)){for(let a of i)if((tt(a)||er(a))&&a.$refNode&&a.$refNode.offset<=e.offset&&a.$refNode.end>=e.end)return su(a)}}if(n){let i=this.nameProvider.getNameNode(n);if(i&&(i===e||af(e,i)))return this.getSelfNodes(n)}}return[]}getSelfNodes(e){if(this.hasMultiReference){let t=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e)),n=this.getNodeFromReferenceDescription(t.head());if(n){for(let i of Vs(n))if(er(i.reference)&&i.reference.items.some(a=>a.ref===e))return i.reference.items.map(a=>a.ref)}return[e]}else return[e]}getNodeFromReferenceDescription(e){if(!e)return;let t=this.documents.getDocument(e.sourceUri);if(t)return this.nodeLocator.getAstNode(t.parseResult.value,e.sourcePath)}findDeclarationNodes(e){let t=this.findDeclarations(e),n=[];for(let i of t){let a=this.nameProvider.getNameNode(i)??i.$cstNode;a&&n.push(a)}return n}findReferences(e,t){let n=[];t.includeDeclaration&&n.push(...this.getSelfReferences(e));let i=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e));return t.documentUri&&(i=i.filter(a=>rt.equals(a.sourceUri,t.documentUri))),n.push(...i),ce(n)}getSelfReferences(e){let t=this.getSelfNodes(e),n=[];for(let i of t){let a=this.nameProvider.getNameNode(i);if(a){let o=Ft(i),u=this.nodeLocator.getAstNodePath(i);n.push({sourceUri:o.uri,sourcePath:u,targetUri:o.uri,targetPath:u,segment:Xs(a),local:!0})}}return n}},s(es,"DefaultReferences"),es),ts,Tr=(ts=class{constructor(e){if(this.map=new Map,e)for(let[t,n]of e)this.add(t,n)}get size(){return il.sum(ce(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 i=n.indexOf(t);if(i>=0)return n.length===1?this.map.delete(e):n.splice(i,1),!0}return!1}}get(e){return this.map.get(e)??[]}getStream(e){let t=this.map.get(e);return t?ce(t):Ws}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(i=>e(i,n,this)))}[Symbol.iterator](){return this.entries().iterator()}entries(){return ce(this.map.entries()).flatMap(([e,t])=>t.map(n=>[e,n]))}keys(){return ce(this.map.keys())}values(){return ce(this.map.values()).flat()}entriesGroupedByKey(){return ce(this.map.entries())}},s(ts,"MultiMap"),ts),rs,Uu=(rs=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?(this.map.delete(e),this.inverse.delete(t),!0):!1}},s(rs,"BiMap"),rs),ns,vv=(ns=class{constructor(e){this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider}async collectExportedSymbols(e,t=Ee.CancellationToken.None){return this.collectExportedSymbolsForNode(e.parseResult.value,e,void 0,t)}async collectExportedSymbolsForNode(e,t,n=ml,i=Ee.CancellationToken.None){let a=[];this.addExportedSymbol(e,a,t);for(let o of n(e))await Ve(i),this.addExportedSymbol(o,a,t);return a}addExportedSymbol(e,t,n){let i=this.nameProvider.getName(e);i&&t.push(this.descriptions.createDescription(e,i,n))}async collectLocalSymbols(e,t=Ee.CancellationToken.None){let n=e.parseResult.value,i=new Tr;for(let a of vr(n))await Ve(t),this.addLocalSymbol(a,e,i);return i}addLocalSymbol(e,t,n){let i=e.$container;if(i){let a=this.nameProvider.getName(e);a&&n.add(i,this.descriptions.createDescription(e,a,t))}}},s(ns,"DefaultScopeComputation"),ns),is,pp=(is=class{constructor(e,t,n){this.elements=e,this.outerScope=t,this.caseInsensitive=(n==null?void 0:n.caseInsensitive)??!1,this.concatOuterScope=(n==null?void 0:n.concatOuterScope)??!0}getAllElements(){return this.outerScope?this.elements.concat(this.outerScope.getAllElements()):this.elements}getElement(e){let t=this.caseInsensitive?e.toLowerCase():e,n=this.caseInsensitive?this.elements.find(i=>i.name.toLowerCase()===t):this.elements.find(i=>i.name===e);if(n)return n;if(this.outerScope)return this.outerScope.getElement(e)}getElements(e){let t=this.caseInsensitive?e.toLowerCase():e,n=this.caseInsensitive?this.elements.filter(i=>i.name.toLowerCase()===t):this.elements.filter(i=>i.name===e);return(this.concatOuterScope||n.isEmpty())&&this.outerScope?n.concat(this.outerScope.getElements(e)):n}},s(is,"StreamScope"),is),as,iE=(as=class{constructor(e,t,n){this.elements=new Map,this.caseInsensitive=(n==null?void 0:n.caseInsensitive)??!1,this.concatOuterScope=(n==null?void 0:n.concatOuterScope)??!0;for(let i of e){let a=this.caseInsensitive?i.name.toLowerCase():i.name;this.elements.set(a,i)}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)}getElements(e){let t=this.caseInsensitive?e.toLowerCase():e,n=this.elements.get(t),i=n?[n]:[];return(this.concatOuterScope||i.length>0)&&this.outerScope?ce(i).concat(this.outerScope.getElements(e)):ce(i)}getAllElements(){let e=ce(this.elements.values());return this.outerScope&&(e=e.concat(this.outerScope.getAllElements())),e}},s(as,"MapScope"),as),ss,Rv=(ss=class{constructor(e,t,n){this.elements=new Tr,this.caseInsensitive=(n==null?void 0:n.caseInsensitive)??!1,this.concatOuterScope=(n==null?void 0:n.concatOuterScope)??!0;for(let i of e){let a=this.caseInsensitive?i.name.toLowerCase():i.name;this.elements.add(a,i)}this.outerScope=t}getElement(e){let t=this.caseInsensitive?e.toLowerCase():e,n=this.elements.get(t)[0];if(n)return n;if(this.outerScope)return this.outerScope.getElement(e)}getElements(e){let t=this.caseInsensitive?e.toLowerCase():e,n=this.elements.get(t);return(this.concatOuterScope||n.length===0)&&this.outerScope?ce(n).concat(this.outerScope.getElements(e)):ce(n)}getAllElements(){let e=ce(this.elements.values());return this.outerScope&&(e=e.concat(this.outerScope.getAllElements())),e}},s(ss,"MultiMapScope"),ss),aE={getElement(){},getElements(){return Ws},getAllElements(){return Ws}},os,kc=(os=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 new Error("This cache has already been disposed")}},s(os,"DisposableCache"),os),ls,Ch=(ls=class extends kc{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()}},s(ls,"SimpleCache"),ls),us,Sc=(us=class extends kc{constructor(e){super(),this.cache=new Map,this.converter=e??(t=>t)}has(e,t){return this.throwIfDisposed(),this.cacheForContext(e).has(t)}set(e,t,n){this.throwIfDisposed(),this.cacheForContext(e).set(t,n)}get(e,t,n){this.throwIfDisposed();let i=this.cacheForContext(e);if(i.has(t))return i.get(t);if(n){let a=n();return i.set(t,a),a}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}},s(us,"ContextCache"),us),cs,$v=(cs=class extends Sc{constructor(e,t){super(n=>n.toString()),t?(this.toDispose.push(e.workspace.DocumentBuilder.onDocumentPhase(t,n=>{this.clear(n.uri.toString())})),this.toDispose.push(e.workspace.DocumentBuilder.onUpdate((n,i)=>{for(let a of i)this.clear(a)}))):this.toDispose.push(e.workspace.DocumentBuilder.onUpdate((n,i)=>{let a=n.concat(i);for(let o of a)this.clear(o)}))}},s(cs,"DocumentCache"),cs),ds,Ah=(ds=class extends Ch{constructor(e,t){super(),t?(this.toDispose.push(e.workspace.DocumentBuilder.onBuildPhase(t,()=>{this.clear()})),this.toDispose.push(e.workspace.DocumentBuilder.onUpdate((n,i)=>{i.length>0&&this.clear()}))):this.toDispose.push(e.workspace.DocumentBuilder.onUpdate(()=>{this.clear()}))}},s(ds,"WorkspaceCache"),ds),ps,Ev=(ps=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 Ah(e.shared)}getScope(e){let t=[],n=this.reflection.getReferenceType(e),i=Ft(e.container).localSymbols;if(i){let o=e.container;do i.has(o)&&t.push(i.getStream(o).filter(u=>this.reflection.isSubtype(u.type,n))),o=o.$container;while(o)}let a=this.getGlobalScope(n,e);for(let o=t.length-1;o>=0;o--)a=this.createScope(t[o],a);return a}createScope(e,t,n){return new pp(ce(e),t,n)}createScopeForNodes(e,t,n){let i=ce(e).map(a=>{let o=this.nameProvider.getName(a);if(o)return this.descriptions.createDescription(a,o)}).nonNullable();return new pp(i,t,n)}getGlobalScope(e,t){return this.globalScopeCache.get(e,()=>new Rv(this.indexManager.allElements(e)))}},s(ps,"DefaultScopeProvider"),ps);function kh(r){return typeof r.$comment=="string"}s(kh,"isAstNodeWithComment");function fp(r){return typeof r=="object"&&!!r&&("$ref"in r||"$error"in r)}s(fp,"isIntermediateReference");var fs,Cv=(fs=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??{},i=t==null?void 0:t.replacer,a=s((u,l)=>this.replacer(u,l,n),"defaultReplacer"),o=i?(u,l)=>i(u,l,a):a;try{return this.currentDocument=Ft(e),JSON.stringify(e,o,t==null?void 0:t.space)}finally{this.currentDocument=void 0}}deserialize(e,t){let n=t??{},i=JSON.parse(e);return this.linkNode(i,i,n),i}replacer(e,t,{refText:n,sourceText:i,textRegions:a,comments:o,uriConverter:u}){var l,c,d;if(!this.ignoreProperties.has(e))if(tt(t)){let p=t.ref,f=n?t.$refText:void 0;if(p){let g=Ft(p),m="";this.currentDocument&&this.currentDocument!==g&&(u?m=u(g.uri,p):m=g.uri.toString());let $=this.astNodeLocator.getAstNodePath(p);return{$ref:`${m}#${$}`,$refText:f}}else return{$error:((l=t.error)==null?void 0:l.message)??"Could not resolve reference",$refText:f}}else if(er(t)){let p=n?t.$refText:void 0,f=[];for(let g of t.items){let m=g.ref,$=Ft(g.ref),x="";this.currentDocument&&this.currentDocument!==$&&(u?x=u($.uri,m):x=$.uri.toString());let A=this.astNodeLocator.getAstNodePath(m);f.push(`${x}#${A}`)}return{$refs:f,$refText:p}}else if(Ue(t)){let p;if(a&&(p=this.addAstNodeRegionWithAssignmentsTo({...t}),(!e||t.$document)&&(p!=null&&p.$textRegion)&&(p.$textRegion.documentURI=(c=this.currentDocument)==null?void 0:c.uri.toString())),i&&!e&&(p??(p={...t}),p.$sourceText=(d=t.$cstNode)==null?void 0:d.text),o){p??(p={...t});let f=this.commentProvider.getComment(t);f&&(p.$comment=f.replace(/\r/g,""))}return p??t}else return t}addAstNodeRegionWithAssignmentsTo(e){let t=s(n=>({offset:n.offset,end:n.end,length:n.length,range:n.range}),"createDocumentSegment");if(e.$cstNode){let n=e.$textRegion=t(e.$cstNode),i=n.assignments={};return Object.keys(e).filter(a=>!a.startsWith("$")).forEach(a=>{let o=Af(e.$cstNode,a).map(t);o.length!==0&&(i[a]=o)}),e}}linkNode(e,t,n,i,a,o){for(let[l,c]of Object.entries(e))if(Array.isArray(c))for(let d=0;d<c.length;d++){let p=c[d];fp(p)?c[d]=this.reviveReference(e,l,t,p,n):Ue(p)&&this.linkNode(p,t,n,e,l,d)}else fp(c)?e[l]=this.reviveReference(e,l,t,c,n):Ue(c)&&this.linkNode(c,t,n,e,l);let u=e;u.$container=i,u.$containerProperty=a,u.$containerIndex=o}reviveReference(e,t,n,i,a){let o=i.$refText,u=i.$error,l;if(i.$ref){let c=this.getRefNode(n,i.$ref,a.uriConverter);if(Ue(c))return o||(o=this.nameProvider.getName(c)),{$refText:o??"",ref:c};u=c}else if(i.$refs){let c=[];for(let d of i.$refs){let p=this.getRefNode(n,d,a.uriConverter);Ue(p)&&c.push({ref:p})}if(c.length===0)l={$refText:o??"",items:c},u??(u="Could not resolve multi-reference");else return{$refText:o??"",items:c}}if(u)return l??(l={$refText:o??"",ref:void 0}),l.error={info:{container:e,property:t,reference:l},message:u},l}getRefNode(e,t,n){try{let i=t.indexOf("#");if(i===0)return this.astNodeLocator.getAstNode(e,t.substring(1))||"Could not resolve path: "+t;if(i<0){let l=n?n(t):yt.parse(t),c=this.langiumDocuments.getDocument(l);return c?c.parseResult.value:"Could not find document for URI: "+t}let a=n?n(t.substring(0,i)):yt.parse(t.substring(0,i)),o=this.langiumDocuments.getDocument(a);return o?i===t.length-1?o.parseResult.value:this.astNodeLocator.getAstNode(o.parseResult.value,t.substring(i+1))||"Could not resolve URI: "+t:"Could not find document for URI: "+t}catch(i){return String(i)}}},s(fs,"DefaultJsonSerializer"),fs),hs,Av=(hs=class{get map(){return this.fileExtensionMap}constructor(e){this.languageIdMap=new Map,this.fileExtensionMap=new Map,this.fileNameMap=new Map,this.textDocuments=e==null?void 0: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);if(t.fileNames)for(let n of t.fileNames)this.fileNameMap.has(n)&&console.warn(`The file name ${n} is used by multiple languages. It is now assigned to '${t.languageId}'.`),this.fileNameMap.set(n,e);this.languageIdMap.set(t.languageId,e)}getServices(e){var o,u;if(this.languageIdMap.size===0)throw new Error("The service registry is empty. Use `register` to register the services of a language.");let t=(u=(o=this.textDocuments)==null?void 0:o.get(e))==null?void 0:u.languageId;if(t!==void 0){let l=this.languageIdMap.get(t);if(l)return l}let n=rt.extname(e),i=rt.basename(e),a=this.fileNameMap.get(i)??this.fileExtensionMap.get(n);if(!a)throw t?new Error(`The service registry contains no services for the extension '${n}' for language '${t}'.`):new Error(`The service registry contains no services for the extension '${n}'.`);return a}hasServices(e){try{return this.getServices(e),!0}catch{return!1}}get all(){return Array.from(this.languageIdMap.values())}},s(hs,"DefaultServiceRegistry"),hs);function un(r){return{code:r}}s(un,"diagnosticData");var Gu;(function(r){r.defaults=["fast","slow","built-in"],r.all=r.defaults})(Gu||(Gu={}));var ms,kv=(ms=class{constructor(e){this.entries=new Tr,this.knownCategories=new Set(Gu.defaults),this.entriesBefore=[],this.entriesAfter=[],this.reflection=e.shared.AstReflection}register(e,t=this,n="fast"){if(n==="built-in")throw new Error("The 'built-in' category is reserved for lexer, parser, and linker errors.");this.knownCategories.add(n);for(let[i,a]of Object.entries(e)){let o=a;if(Array.isArray(o))for(let u of o){let l={check:this.wrapValidationException(u,t),category:n};this.addEntry(i,l)}else if(typeof o=="function"){let u={check:this.wrapValidationException(o,t),category:n};this.addEntry(i,u)}else _r()}}wrapValidationException(e,t){return async(n,i,a)=>{await this.handleException(()=>e.call(t,n,i,a),"An error occurred during validation",i,n)}}async handleException(e,t,n,i){try{await e()}catch(a){if(Hn(a))throw a;console.error(`${t}:`,a),a instanceof Error&&a.stack&&console.error(a.stack);let o=a instanceof Error?a.message:String(a);n("error",`${t}: ${o}`,{node:i})}}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=ce(this.entries.get(e)).concat(this.entries.get("AstNode"));return t&&(n=n.filter(i=>t.includes(i.category))),n.map(i=>i.check)}registerBeforeDocument(e,t=this){this.entriesBefore.push(this.wrapPreparationException(e,"An error occurred during set-up of the validation",t))}registerAfterDocument(e,t=this){this.entriesAfter.push(this.wrapPreparationException(e,"An error occurred during tear-down of the validation",t))}wrapPreparationException(e,t,n){return async(i,a,o,u)=>{await this.handleException(()=>e.call(n,i,a,o,u),t,a,i)}}get checksBefore(){return this.entriesBefore}get checksAfter(){return this.entriesAfter}getAllValidationCategories(e){return this.knownCategories}},s(ms,"ValidationRegistry"),ms),Sv=Object.freeze({validateNode:!0,validateChildren:!0}),gs,bv=(gs=class{constructor(e){this.validationRegistry=e.validation.ValidationRegistry,this.metadata=e.LanguageMetaData,this.profiler=e.shared.profilers.LangiumProfiler,this.languageId=e.LanguageMetaData.languageId}async validateDocument(e,t={},n=Ee.CancellationToken.None){let i=e.parseResult,a=[];if(await Ve(n),(!t.categories||t.categories.includes("built-in"))&&(this.processLexingErrors(i,a,t),t.stopAfterLexingErrors&&a.some(o=>{var u;return((u=o.data)==null?void 0:u.code)===kt.LexingError})||(this.processParsingErrors(i,a,t),t.stopAfterParsingErrors&&a.some(o=>{var u;return((u=o.data)==null?void 0:u.code)===kt.ParsingError}))||(this.processLinkingErrors(e,a,t),t.stopAfterLinkingErrors&&a.some(o=>{var u;return((u=o.data)==null?void 0:u.code)===kt.LinkingError}))))return a;try{a.push(...await this.validateAst(i.value,t,n))}catch(o){if(Hn(o))throw o;console.error("An error occurred during validation:",o)}return await Ve(n),a}processLexingErrors(e,t,n){var a;let i=[...e.lexerErrors,...((a=e.lexerReport)==null?void 0:a.diagnostics)??[]];for(let o of i){let u=o.severity??"error",l={severity:el(u),range:{start:{line:o.line-1,character:o.column-1},end:{line:o.line-1,character:o.column+o.length-1}},message:o.message,data:bh(u),source:this.getSource()};t.push(l)}}processParsingErrors(e,t,n){for(let i of e.parserErrors){let a;if(isNaN(i.token.startOffset)){if("previousToken"in i){let o=i.previousToken;if(isNaN(o.startOffset)){let u={line:0,character:0};a={start:u,end:u}}else{let u={line:o.endLine-1,character:o.endColumn};a={start:u,end:u}}}}else a=al(i.token);if(a){let o={severity:el("error"),range:a,message:i.message,data:un(kt.ParsingError),source:this.getSource()};t.push(o)}}}processLinkingErrors(e,t,n){var i;for(let a of e.references){let o=a.error;if(o){let u={node:o.info.container,range:(i=a.$refNode)==null?void 0:i.range,property:o.info.property,index:o.info.index,data:{code:kt.LinkingError,containerType:o.info.container.$type,property:o.info.property,refText:o.info.reference.$refText}};t.push(this.toDiagnostic("error",o.message,u))}}}async validateAst(e,t,n=Ee.CancellationToken.None){let i=[],a=s((o,u,l)=>{i.push(this.toDiagnostic(o,u,l))},"acceptor");return await this.validateAstBefore(e,t,a,n),await this.validateAstNodes(e,t,a,n),await this.validateAstAfter(e,t,a,n),i}async validateAstBefore(e,t,n,i=Ee.CancellationToken.None){let a=this.validationRegistry.checksBefore;for(let o of a)await Ve(i),await o(e,n,t.categories??[],i)}async validateAstNodes(e,t,n,i=Ee.CancellationToken.None){var a;if((a=this.profiler)!=null&&a.isActive("validating")){let o=this.profiler.createTask("validating",this.languageId);o.start();try{let u=qt(e).iterator();for(let l of u){o.startSubTask(l.$type);let c=this.validateSingleNodeOptions(l,t);if(c.validateNode)try{let d=this.validationRegistry.getChecks(l.$type,t.categories);for(let p of d)await p(l,n,i)}finally{o.stopSubTask(l.$type)}c.validateChildren||u.prune()}}finally{o.stop()}}else{let o=qt(e).iterator();for(let u of o){await Ve(i);let l=this.validateSingleNodeOptions(u,t);if(l.validateNode){let c=this.validationRegistry.getChecks(u.$type,t.categories);for(let d of c)await d(u,n,i)}l.validateChildren||o.prune()}}}validateSingleNodeOptions(e,t){return Sv}async validateAstAfter(e,t,n,i=Ee.CancellationToken.None){let a=this.validationRegistry.checksAfter;for(let o of a)await Ve(i),await o(e,n,t.categories??[],i)}toDiagnostic(e,t,n){return{message:t,range:Sh(n),severity:el(e),code:n.code,codeDescription:n.codeDescription,tags:n.tags,relatedInformation:n.relatedInformation,data:n.data,source:this.getSource()}}getSource(){return this.metadata.languageId}},s(gs,"DefaultDocumentValidator"),gs);function Sh(r){if(r.range)return r.range;let e;return typeof r.property=="string"?e=oc(r.node.$cstNode,r.property,r.index):typeof r.keyword=="string"&&(e=kf(r.node.$cstNode,r.keyword,r.index)),e??(e=r.node.$cstNode),e?e.range:{start:{line:0,character:0},end:{line:0,character:0}}}s(Sh,"getDiagnosticRange");function el(r){switch(r){case"error":return 1;case"warning":return 2;case"info":return 3;case"hint":return 4;default:throw new Error("Invalid diagnostic severity: "+r)}}s(el,"toDiagnosticSeverity");function bh(r){switch(r){case"error":return un(kt.LexingError);case"warning":return un(kt.LexingWarning);case"info":return un(kt.LexingInfo);case"hint":return un(kt.LexingHint);default:throw new Error("Invalid diagnostic severity: "+r)}}s(bh,"toDiagnosticData");var kt;(function(r){r.LexingError="lexing-error",r.LexingWarning="lexing-warning",r.LexingInfo="lexing-info",r.LexingHint="lexing-hint",r.ParsingError="parsing-error",r.LinkingError="linking-error"})(kt||(kt={}));var ys,xv=(ys=class{constructor(e){this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider}createDescription(e,t,n){let i=n??Ft(e);t??(t=this.nameProvider.getName(e));let a=this.astNodeLocator.getAstNodePath(e);if(!t)throw new Error(`Node at path ${a} has no name.`);let o,u=s(()=>o??(o=Xs(this.nameProvider.getNameNode(e)??e.$cstNode)),"nameSegmentGetter");return{node:e,name:t,get nameSegment(){return u()},selectionSegment:Xs(e.$cstNode),type:e.$type,documentUri:i.uri,path:a}}},s(ys,"DefaultAstNodeDescriptionProvider"),ys),Ts,Nv=(Ts=class{constructor(e){this.nodeLocator=e.workspace.AstNodeLocator}async createDescriptions(e,t=Ee.CancellationToken.None){let n=[],i=e.parseResult.value;for(let a of qt(i))await Ve(t),Vs(a).forEach(o=>{o.reference.error||n.push(...this.createInfoDescriptions(o))});return n}createInfoDescriptions(e){let t=e.reference;if(t.error||!t.$refNode)return[];let n=[];tt(t)&&t.$nodeDescription?n=[t.$nodeDescription]:er(t)&&(n=t.items.map(l=>l.$nodeDescription).filter(l=>l!==void 0));let i=Ft(e.container).uri,a=this.nodeLocator.getAstNodePath(e.container),o=[],u=Xs(t.$refNode);for(let l of n)o.push({sourceUri:i,sourcePath:a,targetUri:l.documentUri,targetPath:l.path,segment:u,local:rt.equals(l.documentUri,i)});return o}},s(Ts,"DefaultReferenceDescriptionProvider"),Ts),vs,wv=(vs=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 new Error("Missing '$containerProperty' in AST node.");return t!==void 0?e+this.indexSeparator+t:e}getAstNode(e,t){return t.split(this.segmentSeparator).reduce((n,i)=>{var o;if(!n||i.length===0)return n;let a=i.indexOf(this.indexSeparator);if(a>0){let u=i.substring(0,a),l=parseInt(i.substring(a+1));return(o=n[u])==null?void 0:o[l]}return n[i]},e)}},s(vs,"DefaultAstNodeLocator"),vs),bc={};Ku(bc,xp(Js()));var Rs,Iv=(Rs=class{constructor(e){this._ready=new yr,this.onConfigurationSectionUpdateEmitter=new bc.Emitter,this.settings={},this.workspaceConfig=!1,this.serviceRegistry=e.ServiceRegistry}get ready(){return this._ready.promise}initialize(e){var t;this.workspaceConfig=((t=e.capabilities.workspace)==null?void 0:t.configuration)??!1}async initialized(e){if(this.workspaceConfig){if(e.register){let t=this.serviceRegistry.all;e.register({section:t.map(n=>this.toSectionName(n.LanguageMetaData.languageId))})}if(e.fetchConfiguration){let t=this.serviceRegistry.all.map(i=>({section:this.toSectionName(i.LanguageMetaData.languageId)})),n=await e.fetchConfiguration(t);t.forEach((i,a)=>{this.updateSectionConfiguration(i.section,n[a])})}}this._ready.resolve()}updateConfiguration(e){typeof e.settings!="object"||e.settings===null||Object.entries(e.settings).forEach(([t,n])=>{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}},s(Rs,"DefaultConfigurationProvider"),Rs),Nl=xp(c$()),pn;(function(r){function e(t){return{dispose:s(async()=>await t(),"dispose")}}s(e,"create"),r.create=e})(pn||(pn={}));var $s,Pv=($s=class{constructor(e){this.updateBuildOptions={validation:{categories:["built-in","fast"]}},this.updateListeners=[],this.buildPhaseListeners=new Tr,this.documentPhaseListeners=new Tr,this.buildState=new Map,this.documentBuildWaiters=new Map,this.currentState=Z.Changed,this.langiumDocuments=e.workspace.LangiumDocuments,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.textDocuments=e.workspace.TextDocuments,this.indexManager=e.workspace.IndexManager,this.fileSystemProvider=e.workspace.FileSystemProvider,this.workspaceManager=()=>e.workspace.WorkspaceManager,this.serviceRegistry=e.ServiceRegistry}async build(e,t={},n=Ee.CancellationToken.None){var i;for(let a of e){let o=a.uri.toString();if(a.state===Z.Validated){if(typeof t.validation=="boolean"&&t.validation)this.resetToState(a,Z.IndexedReferences);else if(typeof t.validation=="object"){let u=this.findMissingValidationCategories(a,t);u.length>0&&(this.buildState.set(o,{completed:!1,options:{validation:{categories:u}},result:(i=this.buildState.get(o))==null?void 0:i.result}),a.state=Z.IndexedReferences)}}else this.buildState.delete(o)}this.currentState=Z.Changed,await this.emitUpdate(e.map(a=>a.uri),[]),await this.buildDocuments(e,t,n)}async update(e,t,n=Ee.CancellationToken.None){this.currentState=Z.Changed;let i=[];for(let l of t){let c=this.langiumDocuments.deleteDocuments(l);for(let d of c)i.push(d.uri),this.cleanUpDeleted(d)}let a=(await Promise.all(e.map(l=>this.findChangedUris(l)))).flat();for(let l of a){let c=this.langiumDocuments.getDocument(l);c===void 0&&(c=this.langiumDocumentFactory.fromModel({$type:"INVALID"},l),c.state=Z.Changed,this.langiumDocuments.addDocument(c)),this.resetToState(c,Z.Changed)}let o=ce(a).concat(i).map(l=>l.toString()).toSet();this.langiumDocuments.all.filter(l=>!o.has(l.uri.toString())&&this.shouldRelink(l,o)).forEach(l=>this.resetToState(l,Z.ComputedScopes)),await this.emitUpdate(a,i),await Ve(n);let u=this.sortDocuments(this.langiumDocuments.all.filter(l=>{var c;return l.state<Z.Validated||!((c=this.buildState.get(l.uri.toString()))!=null&&c.completed)||this.resultsAreIncomplete(l,this.updateBuildOptions)}).toArray());await this.buildDocuments(u,this.updateBuildOptions,n)}resultsAreIncomplete(e,t){return this.findMissingValidationCategories(e,t).length>=1}findMissingValidationCategories(e,t){var u,l;let n=this.buildState.get(e.uri.toString()),i=this.serviceRegistry.getServices(e.uri).validation.ValidationRegistry.getAllValidationCategories(e),a=(u=n==null?void 0:n.result)!=null&&u.validationChecks?new Set((l=n==null?void 0:n.result)==null?void 0:l.validationChecks):n!=null&&n.completed?i:new Set,o=t===void 0||t.validation===!0?i:typeof t.validation=="object"?t.validation.categories??i:[];return ce(o).filter(c=>!a.has(c)).toArray()}async findChangedUris(e){var t;if(this.langiumDocuments.getDocument(e)??((t=this.textDocuments)==null?void 0:t.get(e)))return[e];try{let n=await this.fileSystemProvider.stat(e);if(n.isDirectory)return await this.workspaceManager().searchFolder(e);if(this.workspaceManager().shouldIncludeEntry(n))return[e]}catch{}return[]}async emitUpdate(e,t){await Promise.all(this.updateListeners.map(n=>n(e,t)))}sortDocuments(e){let t=0,n=e.length-1;for(;t<n;){for(;t<e.length&&this.hasTextDocument(e[t]);)t++;for(;n>=0&&!this.hasTextDocument(e[n]);)n--;t<n&&([e[t],e[n]]=[e[n],e[t]])}return e}hasTextDocument(e){var t;return!!((t=this.textDocuments)!=null&&t.get(e.uri))}shouldRelink(e,t){return e.references.some(n=>n.error!==void 0)?!0:this.indexManager.isAffected(e,t)}onUpdate(e){return this.updateListeners.push(e),pn.create(()=>{let t=this.updateListeners.indexOf(e);t>=0&&this.updateListeners.splice(t,1)})}resetToState(e,t){switch(t){case Z.Changed:case Z.Parsed:this.indexManager.removeContent(e.uri);case Z.IndexedContent:e.localSymbols=void 0;case Z.ComputedScopes:this.serviceRegistry.getServices(e.uri).references.Linker.unlink(e);case Z.Linked:this.indexManager.removeReferences(e.uri);case Z.IndexedReferences:e.diagnostics=void 0,this.buildState.delete(e.uri.toString());case Z.Validated:}e.state>t&&(e.state=t)}cleanUpDeleted(e){this.buildState.delete(e.uri.toString()),this.indexManager.remove(e.uri),e.state=Z.Changed}async buildDocuments(e,t,n){this.prepareBuild(e,t),await this.runCancelable(e,Z.Parsed,n,o=>this.langiumDocumentFactory.update(o,n)),await this.runCancelable(e,Z.IndexedContent,n,o=>this.indexManager.updateContent(o,n)),await this.runCancelable(e,Z.ComputedScopes,n,async o=>{let u=this.serviceRegistry.getServices(o.uri).references.ScopeComputation;o.localSymbols=await u.collectLocalSymbols(o,n)});let i=e.filter(o=>this.shouldLink(o));await this.runCancelable(i,Z.Linked,n,o=>this.serviceRegistry.getServices(o.uri).references.Linker.link(o,n)),await this.runCancelable(i,Z.IndexedReferences,n,o=>this.indexManager.updateReferences(o,n));let a=e.filter(o=>this.shouldValidate(o)?!0:(this.markAsCompleted(o),!1));await this.runCancelable(a,Z.Validated,n,async o=>{await this.validate(o,n),this.markAsCompleted(o)})}markAsCompleted(e){let t=this.buildState.get(e.uri.toString());t&&(t.completed=!0)}prepareBuild(e,t){for(let n of e){let i=n.uri.toString(),a=this.buildState.get(i);(!a||a.completed)&&this.buildState.set(i,{completed:!1,options:t,result:a==null?void 0:a.result})}}async runCancelable(e,t,n,i){for(let o of e)o.state<t&&(await Ve(n),await i(o),o.state=t,await this.notifyDocumentPhase(o,t,n));let a=e.filter(o=>o.state===t);await this.notifyBuildPhase(a,t,n),this.currentState=t}onBuildPhase(e,t){return this.buildPhaseListeners.add(e,t),pn.create(()=>{this.buildPhaseListeners.delete(e,t)})}onDocumentPhase(e,t){return this.documentPhaseListeners.add(e,t),pn.create(()=>{this.documentPhaseListeners.delete(e,t)})}waitUntil(e,t,n){let i;return t&&"path"in t?i=t:n=t,n??(n=Ee.CancellationToken.None),i?this.awaitDocumentState(e,i,n):this.awaitBuilderState(e,n)}awaitDocumentState(e,t,n){let i=this.langiumDocuments.getDocument(t);if(i){if(i.state>=e)return Promise.resolve(t);if(n.isCancellationRequested)return Promise.reject(Zt);if(this.currentState>=e&&e>i.state)return Promise.reject(new Nl.ResponseError(Nl.LSPErrorCodes.RequestFailed,`Document state of ${t.toString()} is ${Z[i.state]}, requiring ${Z[e]}, but workspace state is already ${Z[this.currentState]}. Returning undefined.`))}else return Promise.reject(new Nl.ResponseError(Nl.LSPErrorCodes.ServerCancelled,`No document found for URI: ${t.toString()}`));return new Promise((a,o)=>{let u=this.onDocumentPhase(e,c=>{rt.equals(c.uri,t)&&(u.dispose(),l.dispose(),a(c.uri))}),l=n.onCancellationRequested(()=>{u.dispose(),l.dispose(),o(Zt)})})}awaitBuilderState(e,t){return this.currentState>=e?Promise.resolve():t.isCancellationRequested?Promise.reject(Zt):new Promise((n,i)=>{let a=this.onBuildPhase(e,()=>{a.dispose(),o.dispose(),n()}),o=t.onCancellationRequested(()=>{a.dispose(),o.dispose(),i(Zt)})})}async notifyDocumentPhase(e,t,n){let i=this.documentPhaseListeners.get(t).slice();for(let a of i)try{await Ve(n),await a(e,n)}catch(o){if(!Hn(o))throw o}}async notifyBuildPhase(e,t,n){if(e.length===0)return;let i=this.buildPhaseListeners.get(t).slice();for(let a of i)await Ve(n),await a(e,n)}shouldLink(e){return this.getBuildOptions(e).eagerLinking??!0}shouldValidate(e){return!!this.getBuildOptions(e).validation}async validate(e,t){let n=this.serviceRegistry.getServices(e.uri).validation.DocumentValidator,i=this.getBuildOptions(e),a=typeof i.validation=="object"?{...i.validation}:{};a.categories=this.findMissingValidationCategories(e,i);let o=await n.validateDocument(e,a,t);e.diagnostics?e.diagnostics.push(...o):e.diagnostics=o;let u=this.buildState.get(e.uri.toString());u&&(u.result??(u.result={}),u.result.validationChecks?u.result.validationChecks=ce(u.result.validationChecks).concat(a.categories).distinct().toArray():u.result.validationChecks=[...a.categories])}getBuildOptions(e){var t;return((t=this.buildState.get(e.uri.toString()))==null?void 0:t.options)??{}}},s($s,"DefaultDocumentBuilder"),$s),Es,Lv=(Es=class{constructor(e){this.symbolIndex=new Map,this.symbolByTypeIndex=new Sc,this.referenceIndex=new Map,this.documents=e.workspace.LangiumDocuments,this.serviceRegistry=e.ServiceRegistry,this.astReflection=e.AstReflection}findAllReferences(e,t){let n=Ft(e).uri,i=[];return this.referenceIndex.forEach(a=>{a.forEach(o=>{rt.equals(o.targetUri,n)&&o.targetPath===t&&i.push(o)})}),ce(i)}allElements(e,t){let n=ce(this.symbolIndex.keys());return t&&(n=n.filter(i=>!t||t.has(i))),n.map(i=>this.getFileDescriptions(i,e)).flat()}getFileDescriptions(e,t){return t?this.symbolByTypeIndex.get(e,t,()=>(this.symbolIndex.get(e)??[]).filter(n=>this.astReflection.isSubtype(n.type,t))):this.symbolIndex.get(e)??[]}remove(e){this.removeContent(e),this.removeReferences(e)}removeContent(e){let t=e.toString();this.symbolIndex.delete(t),this.symbolByTypeIndex.clear(t)}removeReferences(e){let t=e.toString();this.referenceIndex.delete(t)}async updateContent(e,t=Ee.CancellationToken.None){let n=await this.serviceRegistry.getServices(e.uri).references.ScopeComputation.collectExportedSymbols(e,t),i=e.uri.toString();this.symbolIndex.set(i,n),this.symbolByTypeIndex.clear(i)}async updateReferences(e,t=Ee.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(i=>!i.local&&t.has(i.targetUri.toString())):!1}},s(Es,"DefaultIndexManager"),Es),Cs,Dv=(Cs=class{constructor(e){this.initialBuildOptions={},this._ready=new yr,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(t=>this.initializeWorkspace(this.folders??[],t))}async initializeWorkspace(e,t=Ee.CancellationToken.None){let n=await this.performStartup(e);await Ve(t),await this.documentBuilder.build(n,this.initialBuildOptions,t)}async performStartup(e){let t=[],n=s(o=>{t.push(o),this.langiumDocuments.hasDocument(o.uri)||this.langiumDocuments.addDocument(o)},"collector");await this.loadAdditionalDocuments(e,n);let i=[];await Promise.all(e.map(o=>this.getRootFolder(o)).map(async o=>this.traverseFolder(o,i)));let a=ce(i).distinct(o=>o.toString()).filter(o=>!this.langiumDocuments.hasDocument(o));return await this.loadWorkspaceDocuments(a,n),this._ready.resolve(),t}async loadWorkspaceDocuments(e,t){await Promise.all(e.map(async n=>{let i=await this.langiumDocuments.getOrCreateDocument(n);t(i)}))}loadAdditionalDocuments(e,t){return Promise.resolve()}getRootFolder(e){return yt.parse(e.uri)}async traverseFolder(e,t){try{let n=await this.fileSystemProvider.readDirectory(e);await Promise.all(n.map(async i=>{this.shouldIncludeEntry(i)&&(i.isDirectory?await this.traverseFolder(i.uri,t):i.isFile&&t.push(i.uri))}))}catch(n){console.error("Failure to read directory content of "+e.toString(!0),n)}}async searchFolder(e){let t=[];return await this.traverseFolder(e,t),t}shouldIncludeEntry(e){let t=rt.basename(e.uri);return t.startsWith(".")?!1:e.isDirectory?t!=="node_modules"&&t!=="out":e.isFile?this.serviceRegistry.hasServices(e.uri):!1}},s(Cs,"DefaultWorkspaceManager"),Cs),As,Ov=(As=class{buildUnexpectedCharactersMessage(e,t,n,i,a){return ep.buildUnexpectedCharactersMessage(e,t,n,i,a)}buildUnableToPopLexerModeMessage(e){return ep.buildUnableToPopLexerModeMessage(e)}},s(As,"DefaultLexerErrorMessageProvider"),As),xh={mode:"full"},ks,Nh=(ks=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=zu(t)?Object.values(t):t,i=e.LanguageMetaData.mode==="production";this.chevrotainLexer=new nt(n,{positionTracking:"full",skipValidations:i,errorMessageProvider:this.errorMessageProvider})}get definition(){return this.tokenTypes}tokenize(e,t=xh){var i,a;let n=this.chevrotainLexer.tokenize(e);return{tokens:n.tokens,errors:n.errors,hidden:n.groups.hidden??[],report:(a=(i=this.tokenBuilder).flushLexingReport)==null?void 0:a.call(i,e)}}toTokenTypeDictionary(e){if(zu(e))return e;let t=Nc(e)?Object.values(e.modes).flat():e,n={};return t.forEach(i=>n[i.name]=i),n}},s(ks,"DefaultLexer"),ks);function xc(r){return Array.isArray(r)&&(r.length===0||"name"in r[0])}s(xc,"isTokenTypeArray");function Nc(r){return r&&"modes"in r&&"defaultMode"in r}s(Nc,"isIMultiModeLexerDefinition");function zu(r){return!xc(r)&&!Nc(r)}s(zu,"isTokenTypeDictionary");fl();function wh(r,e,t){let n,i;typeof r=="string"?(i=e,n=t):(i=r.range.start,n=e),i||(i=ae.create(0,0));let a=Ph(r),o=wc(n),u=_v({lines:a,position:i,options:o});return qv({index:0,tokens:u,position:i})}s(wh,"parseJSDoc");function Ih(r,e){let t=wc(e),n=Ph(r);if(n.length===0)return!1;let i=n[0],a=n[n.length-1],o=t.start,u=t.end;return!!(o!=null&&o.exec(i))&&!!(u!=null&&u.exec(a))}s(Ih,"isJSDoc");function Ph(r){let e="";return typeof r=="string"?e=r:e=r.text,e.split(dg)}s(Ph,"getLines");var gm=/\s*(@([\p{L}][\p{L}\p{N}]*)?)/uy,sE=/\{(@[\p{L}][\p{L}\p{N}]*)(\s*)([^\r\n}]+)?\}/gu;function _v(r){var i,a,o;let e=[],t=r.position.line,n=r.position.character;for(let u=0;u<r.lines.length;u++){let l=u===0,c=u===r.lines.length-1,d=r.lines[u],p=0;if(l&&r.options.start){let f=(i=r.options.start)==null?void 0:i.exec(d);f&&(p=f.index+f[0].length)}else{let f=(a=r.options.line)==null?void 0:a.exec(d);f&&(p=f.index+f[0].length)}if(c){let f=(o=r.options.end)==null?void 0:o.exec(d);f&&(d=d.substring(0,f.index))}if(d=d.substring(0,Fv(d)),Wu(d,p)>=d.length){if(e.length>0){let f=ae.create(t,n);e.push({type:"break",content:"",range:te.create(f,f)})}}else{gm.lastIndex=p;let f=gm.exec(d);if(f){let g=f[0],m=f[1],$=ae.create(t,n+p),x=ae.create(t,n+p+g.length);e.push({type:"tag",content:m,range:te.create($,x)}),p+=g.length,p=Wu(d,p)}if(p<d.length){let g=d.substring(p),m=Array.from(g.matchAll(sE));e.push(...Mv(m,g,t,n+p))}}t++,n=0}return e.length>0&&e[e.length-1].type==="break"?e.slice(0,-1):e}s(_v,"tokenize");function Mv(r,e,t,n){let i=[];if(r.length===0){let a=ae.create(t,n),o=ae.create(t,n+e.length);i.push({type:"text",content:e,range:te.create(a,o)})}else{let a=0;for(let u of r){let l=u.index,c=e.substring(a,l);c.length>0&&i.push({type:"text",content:e.substring(a,l),range:te.create(ae.create(t,a+n),ae.create(t,l+n))});let d=c.length+1,p=u[1];if(i.push({type:"inline-tag",content:p,range:te.create(ae.create(t,a+d+n),ae.create(t,a+d+p.length+n))}),d+=p.length,u.length===4){d+=u[2].length;let f=u[3];i.push({type:"text",content:f,range:te.create(ae.create(t,a+d+n),ae.create(t,a+d+f.length+n))})}else i.push({type:"text",content:"",range:te.create(ae.create(t,a+d+n),ae.create(t,a+d+n))});a=l+u[0].length}let o=e.substring(a);o.length>0&&i.push({type:"text",content:o,range:te.create(ae.create(t,a+n),ae.create(t,a+n+o.length))})}return i}s(Mv,"buildInlineTokens");var oE=/\S/,lE=/\s*$/;function Wu(r,e){let t=r.substring(e).match(oE);return t?e+t.index:r.length}s(Wu,"skipWhitespace");function Fv(r){let e=r.match(lE);if(e&&typeof e.index=="number")return e.index}s(Fv,"lastCharacter");function qv(r){var a,o;let e=ae.create(r.position.line,r.position.character);if(r.tokens.length===0)return new ym([],te.create(e,e));let t=[];for(;r.index<r.tokens.length;){let u=Uv(r,t[t.length-1]);u&&t.push(u)}let n=((a=t[0])==null?void 0:a.range.start)??e,i=((o=t[t.length-1])==null?void 0:o.range.end)??e;return new ym(t,te.create(n,i))}s(qv,"parseJSDocComment");function Uv(r,e){let t=r.tokens[r.index];if(t.type==="tag")return Dh(r,!1);if(t.type==="text"||t.type==="inline-tag")return Lh(r);Gv(t,e),r.index++}s(Uv,"parseJSDocElement");function Gv(r,e){if(e){let t=new jv("",r.range);"inlines"in e?e.inlines.push(t):e.content.inlines.push(t)}}s(Gv,"appendEmptyLine");function Lh(r){let e=r.tokens[r.index],t=e,n=e,i=[];for(;e&&e.type!=="break"&&e.type!=="tag";)i.push(zv(r)),n=e,e=r.tokens[r.index];return new hp(i,te.create(t.range.start,n.range.end))}s(Lh,"parseJSDocText");function zv(r){return r.tokens[r.index].type==="inline-tag"?Dh(r,!0):Oh(r)}s(zv,"parseJSDocInline");function Dh(r,e){var i;let t=r.tokens[r.index++],n=t.content.substring(1);if(((i=r.tokens[r.index])==null?void 0:i.type)==="text")if(e){let a=Oh(r);return new Dc(n,new hp([a],a.range),e,te.create(t.range.start,a.range.end))}else{let a=Lh(r);return new Dc(n,a,e,te.create(t.range.start,a.range.end))}else{let a=t.range;return new Dc(n,new hp([],a),e,a)}}s(Dh,"parseJSDocTag");function Oh(r){let e=r.tokens[r.index++];return new jv(e.content,e.range)}s(Oh,"parseJSDocLine");function wc(r){if(!r)return wc({start:"/**",end:"*/",line:"*"});let{start:e,end:t,line:n}=r;return{start:nu(e,!0),end:nu(t,!1),line:nu(n,!0)}}s(wc,"normalizeOptions");function nu(r,e){if(typeof r=="string"||typeof r=="object"){let t=typeof r=="string"?Zs(r):r.source;return e?new RegExp(`^\\s*${t}`):new RegExp(`\\s*${t}\\s*$`)}else return r}s(nu,"normalizeOption");var Ss,ym=(Ss=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+=mp(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 i=n.toMarkdown(e);t+=mp(t)+i}return t.trim()}},s(Ss,"JSDocCommentImpl"),Ss),bs,Dc=(bs=class{constructor(e,t,n,i){this.name=e,this.content=t,this.inline=n,this.range=i}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}
150
- ${t}`),this.inline?`{${e}}`:e}toMarkdown(e){var t;return((t=e==null?void 0:e.renderTag)==null?void 0:t.call(e,this))??this.toMarkdownDefault(e)}toMarkdownDefault(e){let t=this.content.toMarkdown(e);if(this.inline){let a=Wv(this.name,t,e??{});if(typeof a=="string")return a}let n="";(e==null?void 0:e.tag)==="italic"||(e==null?void 0:e.tag)===void 0?n="*":(e==null?void 0:e.tag)==="bold"?n="**":(e==null?void 0:e.tag)==="bold-italic"&&(n="***");let i=`${n}@${this.name}${n}`;return this.content.inlines.length===1?i=`${i} — ${t}`:this.content.inlines.length>1&&(i=`${i}
151
- ${t}`),this.inline?`{${i}}`:i}},s(bs,"JSDocTagImpl"),bs);function Wv(r,e,t){var n;if(r==="linkplain"||r==="linkcode"||r==="link"){let i=e.indexOf(" "),a=e;if(i>0){let o=Wu(e,i);a=e.substring(o),e=e.substring(0,i)}return(r==="linkcode"||r==="link"&&t.link==="code")&&(a=`\`${a}\``),((n=t.renderLink)==null?void 0:n.call(t,e,a))??Kv(e,a)}}s(Wv,"renderInlineTag");function Kv(r,e){try{return yt.parse(r,!0),`[${e}](${r})`}catch{return r}}s(Kv,"renderLinkDefault");var xs,hp=(xs=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],i=this.inlines[t+1];e+=n.toString(),i&&i.range.start.line>n.range.start.line&&(e+=`
152
- `)}return e}toMarkdown(e){let t="";for(let n=0;n<this.inlines.length;n++){let i=this.inlines[n],a=this.inlines[n+1];t+=i.toMarkdown(e),a&&a.range.start.line>i.range.start.line&&(t+=`
153
- `)}return t}},s(xs,"JSDocTextImpl"),xs),Ns,jv=(Ns=class{constructor(e,t){this.text=e,this.range=t}toString(){return this.text}toMarkdown(){return this.text}},s(Ns,"JSDocLineImpl"),Ns);function mp(r){return r.endsWith(`
154
- `)?`
155
- `:`
156
-
157
- `}s(mp,"fillNewlines");var ws,Vv=(ws=class{constructor(e){this.indexManager=e.shared.workspace.IndexManager,this.commentProvider=e.documentation.CommentProvider}getDocumentation(e){let t=this.commentProvider.getComment(e);if(t&&Ih(t))return wh(t).toMarkdown({renderLink:s((n,i)=>this.documentationLinkRenderer(e,n,i),"renderLink"),renderTag:s(n=>this.documentationTagRenderer(e,n),"renderTag")})}documentationLinkRenderer(e,t,n){let i=this.findNameInLocalSymbols(e,t)??this.findNameInGlobalScope(e,t);if(i&&i.nameSegment){let a=i.nameSegment.range.start.line+1,o=i.nameSegment.range.start.character+1,u=i.documentUri.with({fragment:`L${a},${o}`});return`[${n}](${u.toString()})`}else return}documentationTagRenderer(e,t){}findNameInLocalSymbols(e,t){let n=Ft(e).localSymbols;if(!n)return;let i=e;do{let a=n.getStream(i).find(o=>o.name===t);if(a)return a;i=i.$container}while(i)}findNameInGlobalScope(e,t){return this.indexManager.allElements().find(n=>n.name===t)}},s(ws,"JSDocDocumentationProvider"),ws),Is,Bv=(Is=class{constructor(e){this.grammarConfig=()=>e.parser.GrammarConfig}getComment(e){var t;return kh(e)?e.$comment:(t=uf(e.$cstNode,this.grammarConfig().multilineCommentRules))==null?void 0:t.text}},s(Is,"DefaultCommentProvider"),Is),Ps,Hv=(Ps=class{constructor(e){this.syncParser=e.parser.LangiumParser}parse(e,t){return Promise.resolve(this.syncParser.parse(e))}},s(Ps,"DefaultAsyncParser"),Ps),Ls,uE=(Ls=class{constructor(e){this.threadCount=8,this.terminationDelay=200,this.workerPool=[],this.queue=[],this.hydrator=e.serializer.Hydrator}initializeWorkers(){for(;this.workerPool.length<this.threadCount;){let e=this.createWorker();e.onReady(()=>{if(this.queue.length>0){let t=this.queue.shift();t&&(e.lock(),t.resolve(e))}}),this.workerPool.push(e)}}async parse(e,t){let n=await this.acquireParserWorker(t),i=new yr,a,o=t.onCancellationRequested(()=>{a=setTimeout(()=>{this.terminateWorker(n)},this.terminationDelay)});return n.parse(e).then(u=>{let l=this.hydrator.hydrate(u);i.resolve(l)}).catch(u=>{i.reject(u)}).finally(()=>{o.dispose(),clearTimeout(a)}),i.promise}terminateWorker(e){e.terminate();let t=this.workerPool.indexOf(e);t>=0&&this.workerPool.splice(t,1)}async acquireParserWorker(e){this.initializeWorkers();for(let n of this.workerPool)if(n.ready)return n.lock(),n;let t=new yr;return e.onCancellationRequested(()=>{let n=this.queue.indexOf(t);n>=0&&this.queue.splice(n,1),t.reject(Zt)}),this.queue.push(t),t.promise}},s(Ls,"AbstractThreadedAsyncParser"),Ls),Ds,cE=(Ds=class{get ready(){return this._ready}get onReady(){return this.onReadyEmitter.event}constructor(e,t,n,i){this.onReadyEmitter=new bc.Emitter,this.deferred=new yr,this._ready=!0,this._parsing=!1,this.sendMessage=e,this._terminate=i,t(a=>{let o=a;this.deferred.resolve(o),this.unlock()}),n(a=>{this.deferred.reject(a),this.unlock()})}terminate(){this.deferred.reject(Zt),this._terminate()}lock(){this._ready=!1}unlock(){this._parsing=!1,this._ready=!0,this.onReadyEmitter.fire()}parse(e){if(this._parsing)throw new Error("Parser worker is busy");return this._parsing=!0,this.deferred=new yr,this.sendMessage(e),this.deferred.promise}},s(Ds,"ParserWorker"),Ds),Os,Xv=(Os=class{constructor(){this.previousTokenSource=new Ee.CancellationTokenSource,this.writeQueue=[],this.readQueue=[],this.done=!0}write(e){this.cancelWrite();let t=Ac();return this.previousTokenSource=t,this.enqueue(this.writeQueue,e,t.token)}read(e){return this.enqueue(this.readQueue,e)}enqueue(e,t,n=Ee.CancellationToken.None){let i=new yr,a={action:t,deferred:i,cancellationToken:n};return e.push(a),this.performNextOperation(),i.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:t,deferred:n,cancellationToken:i})=>{try{let a=await Promise.resolve().then(()=>t(i));n.resolve(a)}catch(a){Hn(a)?n.resolve(void 0):n.reject(a)}})),this.done=!0,this.performNextOperation()}cancelWrite(){this.previousTokenSource.cancel()}},s(Os,"DefaultWorkspaceLock"),Os),_s,Yv=(_s=class{constructor(e){this.grammarElementIdMap=new Uu,this.tokenTypeIdMap=new Uu,this.grammar=e.Grammar,this.lexer=e.parser.Lexer,this.linker=e.references.Linker}dehydrate(e){return{lexerErrors:e.lexerErrors,lexerReport:e.lexerReport?this.dehydrateLexerReport(e.lexerReport):void 0,parserErrors:e.parserErrors.map(t=>({...t,message:t.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 i of qt(e))t.set(i,{});if(e.$cstNode)for(let i of Hs(e.$cstNode))n.set(i,{});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[i,a]of Object.entries(e))if(!i.startsWith("$"))if(Array.isArray(a)){let o=[];n[i]=o;for(let u of a)Ue(u)?o.push(this.dehydrateAstNode(u,t)):tt(u)?o.push(this.dehydrateReference(u,t)):o.push(u)}else Ue(a)?n[i]=this.dehydrateAstNode(a,t):tt(a)?n[i]=this.dehydrateReference(a,t):a!==void 0&&(n[i]=a);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 Xu(e)?n.fullText=e.fullText:n.grammarSource=this.getGrammarElementId(e.grammarSource),n.hidden=e.hidden,n.astNode=t.astNodes.get(e.astNode),dr(e)?n.content=e.content.map(i=>this.dehydrateCstNode(i,t)):Gn(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 a of qt(e))t.set(a,{});let i;if(e.$cstNode)for(let a of Hs(e.$cstNode)){let o;"fullText"in a?(o=new uh(a.fullText),i=o):"content"in a?o=new vc:"tokenType"in a&&(o=this.hydrateCstLeafNode(a)),o&&(n.set(a,o),o.root=i)}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[i,a]of Object.entries(e))if(!i.startsWith("$"))if(Array.isArray(a)){let o=[];n[i]=o;for(let u of a)Ue(u)?o.push(this.setParent(this.hydrateAstNode(u,t),n)):tt(u)?o.push(this.hydrateReference(u,n,i,t)):o.push(u)}else Ue(a)?n[i]=this.setParent(this.hydrateAstNode(a,t),n):tt(a)?n[i]=this.hydrateReference(a,n,i,t):a!==void 0&&(n[i]=a);return n}setParent(e,t){return e.$container=t,e}hydrateReference(e,t,n,i){return this.linker.buildReference(t,n,i.cstNodes.get(e.$refNode),e.$refText)}hydrateCstNode(e,t,n=0){let i=t.cstNodes.get(e);if(typeof e.grammarSource=="number"&&(i.grammarSource=this.getGrammarElement(e.grammarSource)),i.astNode=t.astNodes.get(e.astNode),dr(i))for(let a of e.content){let o=this.hydrateCstNode(a,t,n++);i.content.push(o)}return i}hydrateCstLeafNode(e){let t=this.getTokenType(e.tokenType),n=e.offset,i=e.length,a=e.startLine,o=e.startColumn,u=e.endLine,l=e.endColumn,c=e.hidden;return new Ou(n,i,{start:{line:a,character:o},end:{line:u,character:l}},t,c)}getTokenType(e){return this.lexer.definition[e]}getGrammarElementId(e){if(e)return this.grammarElementIdMap.size===0&&this.createGrammarElementIdMap(),this.grammarElementIdMap.get(e)}getGrammarElement(e){return this.grammarElementIdMap.size===0&&this.createGrammarElementIdMap(),this.grammarElementIdMap.getKey(e)}createGrammarElementIdMap(){let e=0;for(let t of qt(this.grammar))Yu(t)&&this.grammarElementIdMap.set(t,e++)}},s(_s,"DefaultHydrator"),_s);function Nt(r){return{documentation:{CommentProvider:s(e=>new Bv(e),"CommentProvider"),DocumentationProvider:s(e=>new Vv(e),"DocumentationProvider")},parser:{AsyncParser:s(e=>new Hv(e),"AsyncParser"),GrammarConfig:s(e=>Lf(e),"GrammarConfig"),LangiumParser:s(e=>mh(e),"LangiumParser"),CompletionParser:s(e=>hh(e),"CompletionParser"),ValueConverter:s(()=>new yh,"ValueConverter"),TokenBuilder:s(()=>new Ec,"TokenBuilder"),Lexer:s(e=>new Nh(e),"Lexer"),ParserErrorMessageProvider:s(()=>new dh,"ParserErrorMessageProvider"),LexerErrorMessageProvider:s(()=>new Ov,"LexerErrorMessageProvider")},workspace:{AstNodeLocator:s(()=>new wv,"AstNodeLocator"),AstNodeDescriptionProvider:s(e=>new xv(e),"AstNodeDescriptionProvider"),ReferenceDescriptionProvider:s(e=>new Nv(e),"ReferenceDescriptionProvider")},references:{Linker:s(e=>new gv(e),"Linker"),NameProvider:s(()=>new yv,"NameProvider"),ScopeProvider:s(e=>new Ev(e),"ScopeProvider"),ScopeComputation:s(e=>new vv(e),"ScopeComputation"),References:s(e=>new Tv(e),"References")},serializer:{Hydrator:s(e=>new Yv(e),"Hydrator"),JsonSerializer:s(e=>new Cv(e),"JsonSerializer")},validation:{DocumentValidator:s(e=>new bv(e),"DocumentValidator"),ValidationRegistry:s(e=>new kv(e),"ValidationRegistry")},shared:s(()=>r.shared,"shared")}}s(Nt,"createDefaultCoreModule");function wt(r){return{ServiceRegistry:s(e=>new Av(e),"ServiceRegistry"),workspace:{LangiumDocuments:s(e=>new mv(e),"LangiumDocuments"),LangiumDocumentFactory:s(e=>new hv(e),"LangiumDocumentFactory"),DocumentBuilder:s(e=>new Pv(e),"DocumentBuilder"),IndexManager:s(e=>new Lv(e),"IndexManager"),WorkspaceManager:s(e=>new Dv(e),"WorkspaceManager"),FileSystemProvider:s(e=>r.fileSystemProvider(e),"FileSystemProvider"),WorkspaceLock:s(()=>new Xv,"WorkspaceLock"),ConfigurationProvider:s(e=>new Iv(e),"ConfigurationProvider")},profilers:{}}}s(wt,"createDefaultSharedCoreModule");var gp;(function(r){r.merge=(e,t)=>Ys(Ys({},e),t)})(gp||(gp={}));function De(r,e,t,n,i,a,o,u,l){let c=[r,e,t,n,i,a,o,u,l].reduce(Ys,{});return Mh(c)}s(De,"inject");var Jv=Symbol("isProxy");function _h(r){if(r&&r[Jv])for(let e of Object.values(r))_h(e);return r}s(_h,"eagerLoad");function Mh(r,e){let t=new Proxy({},{deleteProperty:s(()=>!1,"deleteProperty"),set:s(()=>{throw new Error("Cannot set property on injected service container")},"set"),get:s((n,i)=>i===Jv?!0:yp(n,i,r,e||t),"get"),getOwnPropertyDescriptor:s((n,i)=>(yp(n,i,r,e||t),Object.getOwnPropertyDescriptor(n,i)),"getOwnPropertyDescriptor"),has:s((n,i)=>i in r,"has"),ownKeys:s(()=>[...Object.getOwnPropertyNames(r)],"ownKeys")});return t}s(Mh,"_inject");var Tm=Symbol();function yp(r,e,t,n){if(e in r){if(r[e]instanceof Error)throw new Error("Construction failure. Please make sure that your dependencies are constructable. Cause: "+r[e]);if(r[e]===Tm)throw new Error('Cycle detected. Please make "'+String(e)+'" lazy. Visit https://langium.org/docs/reference/configuration-services/#resolving-cyclic-dependencies');return r[e]}else if(e in t){let i=t[e];r[e]=Tm;try{r[e]=typeof i=="function"?i(n):Mh(i,n)}catch(a){throw r[e]=a instanceof Error?a:void 0,a}return r[e]}else return}s(yp,"_resolve");function Ys(r,e){if(e){for(let[t,n]of Object.entries(e))if(n!=null)if(typeof n=="object"){let i=r[t];typeof i=="object"&&i!==null?r[t]=Ys(i,n):r[t]=Ys({},n)}else r[t]=n}return r}s(Ys,"_merge");var Tp={indentTokenName:"INDENT",dedentTokenName:"DEDENT",whitespaceTokenName:"WS",ignoreIndentationDelimiters:[]},cn;(function(r){r.REGULAR="indentation-sensitive",r.IGNORE_INDENTATION="ignore-indentation"})(cn||(cn={}));var Ms,Qv=(Ms=class extends Ec{constructor(e=Tp){super(),this.indentationStack=[0],this.whitespaceRegExp=/[ \t]+/y,this.options={...Tp,...e},this.indentTokenType=ki({name:this.options.indentTokenName,pattern:this.indentMatcher.bind(this),line_breaks:!1}),this.dedentTokenType=ki({name:this.options.dedentTokenName,pattern:this.dedentMatcher.bind(this),line_breaks:!1})}buildTokens(e,t){let n=super.buildTokens(e,t);if(!xc(n))throw new Error("Invalid tokens built by default builder");let{indentTokenName:i,dedentTokenName:a,whitespaceTokenName:o,ignoreIndentationDelimiters:u}=this.options,l,c,d,p=[];for(let f of n){for(let[g,m]of u)f.name===g?f.PUSH_MODE=cn.IGNORE_INDENTATION:f.name===m&&(f.POP_MODE=!0);f.name===a?l=f:f.name===i?c=f:f.name===o?d=f:p.push(f)}if(!l||!c||!d)throw new Error("Some indentation/whitespace tokens not found!");return u.length>0?{modes:{[cn.REGULAR]:[l,c,...p,d],[cn.IGNORE_INDENTATION]:[...p,d]},defaultMode:cn.REGULAR}:[l,c,d,...p]}flushLexingReport(e){return{...super.flushLexingReport(e),remainingDedents:this.flushRemainingDedents(e)}}isStartOfLine(e,t){return t===0||`\r
158
- `.includes(e[t-1])}matchWhitespace(e,t,n,i){this.whitespaceRegExp.lastIndex=t;let a=this.whitespaceRegExp.exec(e);return{currIndentLevel:(a==null?void 0:a[0].length)??0,prevIndentLevel:this.indentationStack.at(-1),match:a}}createIndentationTokenInstance(e,t,n,i){let a=this.getLineNumber(t,i);return $l(e,n,i,i+n.length,a,a,1,n.length)}getLineNumber(e,t){return e.substring(0,t).split(/\r\n|\r|\n/).length}indentMatcher(e,t,n,i){if(!this.isStartOfLine(e,t))return null;let{currIndentLevel:a,prevIndentLevel:o,match:u}=this.matchWhitespace(e,t,n,i);return a<=o?null:(this.indentationStack.push(a),u)}dedentMatcher(e,t,n,i){var p,f;if(!this.isStartOfLine(e,t))return null;let{currIndentLevel:a,prevIndentLevel:o,match:u}=this.matchWhitespace(e,t,n,i);if(a>=o)return null;let l=this.indentationStack.lastIndexOf(a);if(l===-1)return this.diagnostics.push({severity:"error",message:`Invalid dedent level ${a} at offset: ${t}. Current indentation stack: ${this.indentationStack}`,offset:t,length:((p=u==null?void 0:u[0])==null?void 0:p.length)??0,line:this.getLineNumber(e,t),column:1}),null;let c=this.indentationStack.length-l-1,d=((f=e.substring(0,t).match(/[\r\n]+$/))==null?void 0:f[0].length)??1;for(let g=0;g<c;g++){let m=this.createIndentationTokenInstance(this.dedentTokenType,e,"",t-(d-1));n.push(m),this.indentationStack.pop()}return null}buildTerminalToken(e){let t=super.buildTerminalToken(e),{indentTokenName:n,dedentTokenName:i,whitespaceTokenName:a}=this.options;return t.name===n?this.indentTokenType:t.name===i?this.dedentTokenType:t.name===a?ki({name:a,pattern:this.whitespaceRegExp,group:nt.SKIPPED}):t}flushRemainingDedents(e){let t=[];for(;this.indentationStack.length>1;)t.push(this.createIndentationTokenInstance(this.dedentTokenType,e,"",e.length)),this.indentationStack.pop();return this.indentationStack=[0],t}},s(Ms,"IndentationAwareTokenBuilder"),Ms),Fs,dE=(Fs=class extends Nh{constructor(e){if(super(e),e.parser.TokenBuilder instanceof Qv)this.indentationTokenBuilder=e.parser.TokenBuilder;else throw new Error("IndentationAwareLexer requires an accompanying IndentationAwareTokenBuilder")}tokenize(e,t=xh){let n=super.tokenize(e),i=n.report;(t==null?void 0:t.mode)==="full"&&n.tokens.push(...i.remainingDedents),i.remainingDedents=[];let{indentTokenType:a,dedentTokenType:o}=this.indentationTokenBuilder,u=a.tokenTypeIdx,l=o.tokenTypeIdx,c=[],d=n.tokens.length-1;for(let p=0;p<d;p++){let f=n.tokens[p],g=n.tokens[p+1];if(f.tokenTypeIdx===u&&g.tokenTypeIdx===l){p++;continue}c.push(f)}return d>=0&&c.push(n.tokens[d]),n.tokens=c,n}},s(Fs,"IndentationAwareLexer"),Fs),Fh={};Or(Fh,{AstUtils:()=>_p,BiMap:()=>Uu,Cancellation:()=>Ee,ContextCache:()=>Sc,CstUtils:()=>Lp,DONE_RESULT:()=>et,Deferred:()=>yr,Disposable:()=>pn,DisposableCache:()=>kc,DocumentCache:()=>$v,EMPTY_STREAM:()=>Ws,ErrorWithLocation:()=>nc,GrammarUtils:()=>ff,MultiMap:()=>Tr,OperationCancelled:()=>Zt,Reduction:()=>il,RegExpUtils:()=>mf,SimpleCache:()=>Ch,StreamImpl:()=>Qt,TreeStreamImpl:()=>Ks,URI:()=>yt,UriTrie:()=>$h,UriUtils:()=>rt,WorkspaceCache:()=>Ah,assertCondition:()=>hf,assertUnreachable:()=>_r,delayNextTick:()=>Cc,interruptAndCheck:()=>Ve,isOperationCancelled:()=>Hn,loadGrammarFromJson:()=>It,setInterruptionPeriod:()=>Th,startCancelableOperation:()=>Ac,stream:()=>ce});Ku(Fh,bc);var qs,Zv=(qs=class{stat(e){throw new Error("No file system is available.")}statSync(e){throw new Error("No file system is available.")}async exists(){return!1}existsSync(){return!1}readBinary(){throw new Error("No file system is available.")}readBinarySync(){throw new Error("No file system is available.")}readFile(){throw new Error("No file system is available.")}readFileSync(){throw new Error("No file system is available.")}async readDirectory(){return[]}readDirectorySync(){return[]}},s(qs,"EmptyFileSystemProvider"),qs),zt={fileSystemProvider:s(()=>new Zv,"fileSystemProvider")},pE={Grammar:s(()=>{},"Grammar"),LanguageMetaData:s(()=>({caseInsensitive:!1,fileExtensions:[".langium"],languageId:"langium"}),"LanguageMetaData")},fE={AstReflection:s(()=>new nf,"AstReflection")};function eR(){let r=De(wt(zt),fE),e=De(Nt({shared:r}),pE);return r.ServiceRegistry.register(e),e}s(eR,"createMinimalGrammarServices");function It(r){let e=eR(),t=e.serializer.JsonSerializer.deserialize(r);return e.shared.workspace.LangiumDocumentFactory.fromModel(t,yt.parse(`memory:/${t.name??"grammar"}.langium`)),t}s(It,"loadGrammarFromJson");Ku(Mm,Fh);var Us,hE=(Us=class{constructor(e){this.activeCategories=new Set,this.allCategories=new Set(["validating","parsing","linking"]),this.activeCategories=e??new Set(this.allCategories),this.records=new Tr}isActive(e){return this.activeCategories.has(e)}start(...e){e?e.forEach(t=>this.activeCategories.add(t)):this.activeCategories=new Set(this.allCategories)}stop(...e){e?e.forEach(t=>this.activeCategories.delete(t)):this.activeCategories.clear()}createTask(e,t){if(!this.isActive(e))throw new Error(`Category "${e}" is not active.`);return console.log(`Creating profiling task for '${e}.${t}'.`),new tR(n=>this.records.add(e,this.dumpRecord(e,n)),t)}dumpRecord(e,t){console.info(`Task ${e}.${t.identifier} executed in ${t.duration.toFixed(2)}ms and ended at ${t.date.toISOString()}`);let n=[];for(let o of t.entries.keys()){let u=t.entries.get(o),l=u.reduce((c,d)=>c+d);n.push({name:`${t.identifier}.${o}`,count:u.length,duration:l})}let i=t.duration-n.map(o=>o.duration).reduce((o,u)=>o+u,0);n.push({name:t.identifier,count:1,duration:i}),n.sort((o,u)=>u.duration-o.duration);function a(o){return Math.round(100*o)/100}return s(a,"Round"),console.table(n.map(o=>({Element:o.name,Count:o.count,"Self %":a(100*o.duration/t.duration),"Time (ms)":a(o.duration)}))),t}getRecords(...e){return e.length===0?this.records.values():this.records.entries().filter(t=>e.some(n=>n===t[0])).flatMap(t=>t[1])}},s(Us,"DefaultLangiumProfiler"),Us),Gs,tR=(Gs=class{constructor(e,t){this.stack=[],this.entries=new Tr,this.addRecord=e,this.identifier=t}start(){if(this.startTime!==void 0)throw new Error(`Task "${this.identifier}" is already started.`);this.startTime=performance.now()}stop(){if(this.startTime===void 0)throw new Error(`Task "${this.identifier}" was not started.`);if(this.stack.length!==0)throw new Error(`Task "${this.identifier}" cannot be stopped before sub-task(s): ${this.stack.map(t=>t.id).join(", ")}.`);let e={identifier:this.identifier,date:new Date,duration:performance.now()-this.startTime,entries:this.entries};this.addRecord(e),this.startTime=void 0,this.entries.clear()}startSubTask(e){this.stack.push({id:e,start:performance.now(),content:0})}stopSubTask(e){let t=this.stack.pop();if(!t)throw new Error(`Task "${this.identifier}.${e}" was not started.`);if(t.id!==e)throw new Error(`Sub-Task "${t.id}" is not already stopped.`);let n=performance.now()-t.start;this.stack.at(-1)!==void 0&&(this.stack[this.stack.length-1].content+=n);let i=n-t.content;this.entries.add(e,i)}},s(Gs,"ProfilingTask"),Gs),mE=Object.defineProperty,P=s((r,e)=>mE(r,"name",{value:e,configurable:!0}),"__name"),vp;(r=>{r.Terminals={ARROW_DIRECTION:/L|R|T|B/,ARROW_GROUP:/\{group\}/,ARROW_INTO:/<|>/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,ID:/[\w]([-\w]*\w)?/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/,ARCH_ICON:/\([\w-:]+\)/,ARCH_TITLE:/\[(?:"([^"\\]|\\.)*"|'([^'\\]|\\.)*'|[\w ]+)\]/}})(vp||(vp={}));var Rp;(r=>{r.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,INT:/0|[1-9][0-9]*(?!\.)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/,REFERENCE:/\w([-\./\w]*[-\w])?/}})(Rp||(Rp={}));var $p;(r=>{r.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})($p||($p={}));var Ep;(r=>{r.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,INT:/0|[1-9][0-9]*(?!\.)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(Ep||(Ep={}));var Cp;(r=>{r.Terminals={NUMBER_PIE:/(?:-?[0-9]+\.[0-9]+(?!\.))|(?:-?(0|[1-9][0-9]*)(?!\.))/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(Cp||(Cp={}));var Ap;(r=>{r.Terminals={GRATICULE:/circle|polygon/,BOOLEAN:/true|false/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,NUMBER:/(?:[0-9]+\.[0-9]+(?!\.))|(?:0|[1-9][0-9]*(?!\.))/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,ID:/[\w]([-\w]*\w)?/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(Ap||(Ap={}));var kp;(r=>{r.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,TREEMAP_KEYWORD:/treemap-beta|treemap/,CLASS_DEF:/classDef\s+([a-zA-Z_][a-zA-Z0-9_]+)(?:\s+([^;\r\n]*))?(?:;)?/,STYLE_SEPARATOR:/:::/,SEPARATOR:/:/,COMMA:/,/,INDENTATION:/[ \t]{1,}/,WS:/[ \t]+/,ML_COMMENT:/\%\%[^\n]*/,NL:/\r?\n/,ID2:/[a-zA-Z_][a-zA-Z0-9_]*/,NUMBER2:/[0-9_\.\,]+/,STRING2:/"[^"]*"|'[^']*'/}})(kp||(kp={}));var Sp;(r=>{r.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,INDENTATION:/[ \t]{1,}/,WS:/[ \t]+/,ML_COMMENT:/\%\%[^\n]*/,NL:/\r?\n/,STRING2:/"[^"]*"|'[^']*'/}})(Sp||(Sp={}));var bp;(r=>{r.Terminals={WARDLEY_NUMBER:/[0-9]+\.[0-9]+/,ARROW:/->/,LINK_PORT:/\+<>|\+>|\+</,LINK_ARROW:/-->|-\.->|>|\+'[^']*'<>|\+'[^']*'<|\+'[^']*'>/,LINK_LABEL:/;[^\n\r]+/,STRATEGY:/build|buy|outsource|market/,KW_WARDLEY:/wardley-beta/,KW_SIZE:/size/,KW_EVOLUTION:/evolution/,KW_ANCHOR:/anchor/,KW_COMPONENT:/component/,KW_LABEL:/label/,KW_INERTIA:/inertia/,KW_EVOLVE:/evolve/,KW_PIPELINE:/pipeline/,KW_NOTE:/note/,KW_ANNOTATIONS:/annotations/,KW_ANNOTATION:/annotation/,KW_ACCELERATOR:/accelerator/,KW_DEACCELERATOR:/deaccelerator/,NAME_WITH_SPACES:/(?!title\s|accTitle|accDescr)[A-Za-z][A-Za-z0-9_()&]*(?:[ \t]+[A-Za-z(][A-Za-z0-9_()&]*)*/,WS:/[ \t]+/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,INT:/0|[1-9][0-9]*(?!\.)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,ID:/[\w]([-\w]*\w)?/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(bp||(bp={}));({...vp.Terminals,...Rp.Terminals,...$p.Terminals,...Ep.Terminals,...Cp.Terminals,...Ap.Terminals,...Sp.Terminals,...kp.Terminals,...bp.Terminals});var wl={$type:"Accelerator",name:"name",x:"x",y:"y"},Il={$type:"Anchor",evolution:"evolution",name:"name",visibility:"visibility"},So={$type:"Annotation",number:"number",text:"text",x:"x",y:"y"},Oc={$type:"Annotations",x:"x",y:"y"},sr={$type:"Architecture",accDescr:"accDescr",accTitle:"accTitle",edges:"edges",groups:"groups",junctions:"junctions",services:"services",title:"title"};function rR(r){return Pt.isInstance(r,sr.$type)}s(rR,"isArchitecture");P(rR,"isArchitecture");var Pl={$type:"Axis",label:"label",name:"name"},iu={$type:"Branch",name:"name",order:"order"};function nR(r){return Pt.isInstance(r,iu.$type)}s(nR,"isBranch");P(nR,"isBranch");var vm={$type:"Checkout",branch:"branch"},Ll={$type:"CherryPicking",id:"id",parent:"parent",tags:"tags"},_c={$type:"ClassDefStatement",className:"className",styleText:"styleText"},di={$type:"Commit",id:"id",message:"message",tags:"tags",type:"type"};function iR(r){return Pt.isInstance(r,di.$type)}s(iR,"isCommit");P(iR,"isCommit");var qr={$type:"Component",decorator:"decorator",evolution:"evolution",inertia:"inertia",label:"label",name:"name",visibility:"visibility"},Dl={$type:"Curve",entries:"entries",label:"label",name:"name"},Ol={$type:"Deaccelerator",name:"name",x:"x",y:"y"},Rm={$type:"Decorator",strategy:"strategy"},ri={$type:"Direction",accDescr:"accDescr",accTitle:"accTitle",dir:"dir",statements:"statements",title:"title"},Bt={$type:"Edge",lhsDir:"lhsDir",lhsGroup:"lhsGroup",lhsId:"lhsId",lhsInto:"lhsInto",rhsDir:"rhsDir",rhsGroup:"rhsGroup",rhsId:"rhsId",rhsInto:"rhsInto",title:"title"},Mc={$type:"Entry",axis:"axis",value:"value"},$m={$type:"Evolution",stages:"stages"},_l={$type:"EvolutionStage",boundary:"boundary",name:"name",secondName:"secondName"},Fc={$type:"Evolve",component:"component",target:"target"},Vr={$type:"GitGraph",accDescr:"accDescr",accTitle:"accTitle",statements:"statements",title:"title"};function aR(r){return Pt.isInstance(r,Vr.$type)}s(aR,"isGitGraph");P(aR,"isGitGraph");var bo={$type:"Group",icon:"icon",id:"id",in:"in",title:"title"},Wo={$type:"Info",accDescr:"accDescr",accTitle:"accTitle",title:"title"};function sR(r){return Pt.isInstance(r,Wo.$type)}s(sR,"isInfo");P(sR,"isInfo");var xo={$type:"Item",classSelector:"classSelector",name:"name"},qc={$type:"Junction",id:"id",in:"in"},No={$type:"Label",negX:"negX",negY:"negY",offsetX:"offsetX",offsetY:"offsetY"},Ml={$type:"Leaf",classSelector:"classSelector",name:"name",value:"value"},Ur={$type:"Link",arrow:"arrow",from:"from",fromPort:"fromPort",linkLabel:"linkLabel",to:"to",toPort:"toPort"},pi={$type:"Merge",branch:"branch",id:"id",tags:"tags",type:"type"};function oR(r){return Pt.isInstance(r,pi.$type)}s(oR,"isMerge");P(oR,"isMerge");var Fl={$type:"Note",evolution:"evolution",text:"text",visibility:"visibility"},Uc={$type:"Option",name:"name",value:"value"},fi={$type:"Packet",accDescr:"accDescr",accTitle:"accTitle",blocks:"blocks",title:"title"};function lR(r){return Pt.isInstance(r,fi.$type)}s(lR,"isPacket");P(lR,"isPacket");var hi={$type:"PacketBlock",bits:"bits",end:"end",label:"label",start:"start"};function uR(r){return Pt.isInstance(r,hi.$type)}s(uR,"isPacketBlock");P(uR,"isPacketBlock");var Br={$type:"Pie",accDescr:"accDescr",accTitle:"accTitle",sections:"sections",showData:"showData",title:"title"};function cR(r){return Pt.isInstance(r,Br.$type)}s(cR,"isPie");P(cR,"isPie");var au={$type:"PieSection",label:"label",value:"value"};function dR(r){return Pt.isInstance(r,au.$type)}s(dR,"isPieSection");P(dR,"isPieSection");var Gc={$type:"Pipeline",components:"components",parent:"parent"},ql={$type:"PipelineComponent",evolution:"evolution",label:"label",name:"name"},Gr={$type:"Radar",accDescr:"accDescr",accTitle:"accTitle",axes:"axes",curves:"curves",options:"options",title:"title"},zc={$type:"Section",classSelector:"classSelector",name:"name"},ni={$type:"Service",icon:"icon",iconText:"iconText",id:"id",in:"in",title:"title"},Wc={$type:"Size",height:"height",width:"width"},ii={$type:"Statement"},mi={$type:"Treemap",accDescr:"accDescr",accTitle:"accTitle",title:"title",TreemapRows:"TreemapRows"};function pR(r){return Pt.isInstance(r,mi.$type)}s(pR,"isTreemap");P(pR,"isTreemap");var Kc={$type:"TreemapRow",indent:"indent",item:"item"},jc={$type:"TreeNode",indent:"indent",name:"name"},wo={$type:"TreeView",accDescr:"accDescr",accTitle:"accTitle",nodes:"nodes",title:"title"},He={$type:"Wardley",accDescr:"accDescr",accelerators:"accelerators",accTitle:"accTitle",anchors:"anchors",annotation:"annotation",annotations:"annotations",components:"components",deaccelerators:"deaccelerators",evolution:"evolution",evolves:"evolves",links:"links",notes:"notes",pipelines:"pipelines",size:"size",title:"title"};function fR(r){return Pt.isInstance(r,He.$type)}s(fR,"isWardley");P(fR,"isWardley");var mn,hR=(mn=class extends Op{constructor(){super(...arguments),this.types={Accelerator:{name:wl.$type,properties:{name:{name:wl.name},x:{name:wl.x},y:{name:wl.y}},superTypes:[]},Anchor:{name:Il.$type,properties:{evolution:{name:Il.evolution},name:{name:Il.name},visibility:{name:Il.visibility}},superTypes:[]},Annotation:{name:So.$type,properties:{number:{name:So.number},text:{name:So.text},x:{name:So.x},y:{name:So.y}},superTypes:[]},Annotations:{name:Oc.$type,properties:{x:{name:Oc.x},y:{name:Oc.y}},superTypes:[]},Architecture:{name:sr.$type,properties:{accDescr:{name:sr.accDescr},accTitle:{name:sr.accTitle},edges:{name:sr.edges,defaultValue:[]},groups:{name:sr.groups,defaultValue:[]},junctions:{name:sr.junctions,defaultValue:[]},services:{name:sr.services,defaultValue:[]},title:{name:sr.title}},superTypes:[]},Axis:{name:Pl.$type,properties:{label:{name:Pl.label},name:{name:Pl.name}},superTypes:[]},Branch:{name:iu.$type,properties:{name:{name:iu.name},order:{name:iu.order}},superTypes:[ii.$type]},Checkout:{name:vm.$type,properties:{branch:{name:vm.branch}},superTypes:[ii.$type]},CherryPicking:{name:Ll.$type,properties:{id:{name:Ll.id},parent:{name:Ll.parent},tags:{name:Ll.tags,defaultValue:[]}},superTypes:[ii.$type]},ClassDefStatement:{name:_c.$type,properties:{className:{name:_c.className},styleText:{name:_c.styleText}},superTypes:[]},Commit:{name:di.$type,properties:{id:{name:di.id},message:{name:di.message},tags:{name:di.tags,defaultValue:[]},type:{name:di.type}},superTypes:[ii.$type]},Component:{name:qr.$type,properties:{decorator:{name:qr.decorator},evolution:{name:qr.evolution},inertia:{name:qr.inertia,defaultValue:!1},label:{name:qr.label},name:{name:qr.name},visibility:{name:qr.visibility}},superTypes:[]},Curve:{name:Dl.$type,properties:{entries:{name:Dl.entries,defaultValue:[]},label:{name:Dl.label},name:{name:Dl.name}},superTypes:[]},Deaccelerator:{name:Ol.$type,properties:{name:{name:Ol.name},x:{name:Ol.x},y:{name:Ol.y}},superTypes:[]},Decorator:{name:Rm.$type,properties:{strategy:{name:Rm.strategy}},superTypes:[]},Direction:{name:ri.$type,properties:{accDescr:{name:ri.accDescr},accTitle:{name:ri.accTitle},dir:{name:ri.dir},statements:{name:ri.statements,defaultValue:[]},title:{name:ri.title}},superTypes:[Vr.$type]},Edge:{name:Bt.$type,properties:{lhsDir:{name:Bt.lhsDir},lhsGroup:{name:Bt.lhsGroup,defaultValue:!1},lhsId:{name:Bt.lhsId},lhsInto:{name:Bt.lhsInto,defaultValue:!1},rhsDir:{name:Bt.rhsDir},rhsGroup:{name:Bt.rhsGroup,defaultValue:!1},rhsId:{name:Bt.rhsId},rhsInto:{name:Bt.rhsInto,defaultValue:!1},title:{name:Bt.title}},superTypes:[]},Entry:{name:Mc.$type,properties:{axis:{name:Mc.axis,referenceType:Pl.$type},value:{name:Mc.value}},superTypes:[]},Evolution:{name:$m.$type,properties:{stages:{name:$m.stages,defaultValue:[]}},superTypes:[]},EvolutionStage:{name:_l.$type,properties:{boundary:{name:_l.boundary},name:{name:_l.name},secondName:{name:_l.secondName}},superTypes:[]},Evolve:{name:Fc.$type,properties:{component:{name:Fc.component},target:{name:Fc.target}},superTypes:[]},GitGraph:{name:Vr.$type,properties:{accDescr:{name:Vr.accDescr},accTitle:{name:Vr.accTitle},statements:{name:Vr.statements,defaultValue:[]},title:{name:Vr.title}},superTypes:[]},Group:{name:bo.$type,properties:{icon:{name:bo.icon},id:{name:bo.id},in:{name:bo.in},title:{name:bo.title}},superTypes:[]},Info:{name:Wo.$type,properties:{accDescr:{name:Wo.accDescr},accTitle:{name:Wo.accTitle},title:{name:Wo.title}},superTypes:[]},Item:{name:xo.$type,properties:{classSelector:{name:xo.classSelector},name:{name:xo.name}},superTypes:[]},Junction:{name:qc.$type,properties:{id:{name:qc.id},in:{name:qc.in}},superTypes:[]},Label:{name:No.$type,properties:{negX:{name:No.negX,defaultValue:!1},negY:{name:No.negY,defaultValue:!1},offsetX:{name:No.offsetX},offsetY:{name:No.offsetY}},superTypes:[]},Leaf:{name:Ml.$type,properties:{classSelector:{name:Ml.classSelector},name:{name:Ml.name},value:{name:Ml.value}},superTypes:[xo.$type]},Link:{name:Ur.$type,properties:{arrow:{name:Ur.arrow},from:{name:Ur.from},fromPort:{name:Ur.fromPort},linkLabel:{name:Ur.linkLabel},to:{name:Ur.to},toPort:{name:Ur.toPort}},superTypes:[]},Merge:{name:pi.$type,properties:{branch:{name:pi.branch},id:{name:pi.id},tags:{name:pi.tags,defaultValue:[]},type:{name:pi.type}},superTypes:[ii.$type]},Note:{name:Fl.$type,properties:{evolution:{name:Fl.evolution},text:{name:Fl.text},visibility:{name:Fl.visibility}},superTypes:[]},Option:{name:Uc.$type,properties:{name:{name:Uc.name},value:{name:Uc.value,defaultValue:!1}},superTypes:[]},Packet:{name:fi.$type,properties:{accDescr:{name:fi.accDescr},accTitle:{name:fi.accTitle},blocks:{name:fi.blocks,defaultValue:[]},title:{name:fi.title}},superTypes:[]},PacketBlock:{name:hi.$type,properties:{bits:{name:hi.bits},end:{name:hi.end},label:{name:hi.label},start:{name:hi.start}},superTypes:[]},Pie:{name:Br.$type,properties:{accDescr:{name:Br.accDescr},accTitle:{name:Br.accTitle},sections:{name:Br.sections,defaultValue:[]},showData:{name:Br.showData,defaultValue:!1},title:{name:Br.title}},superTypes:[]},PieSection:{name:au.$type,properties:{label:{name:au.label},value:{name:au.value}},superTypes:[]},Pipeline:{name:Gc.$type,properties:{components:{name:Gc.components,defaultValue:[]},parent:{name:Gc.parent}},superTypes:[]},PipelineComponent:{name:ql.$type,properties:{evolution:{name:ql.evolution},label:{name:ql.label},name:{name:ql.name}},superTypes:[]},Radar:{name:Gr.$type,properties:{accDescr:{name:Gr.accDescr},accTitle:{name:Gr.accTitle},axes:{name:Gr.axes,defaultValue:[]},curves:{name:Gr.curves,defaultValue:[]},options:{name:Gr.options,defaultValue:[]},title:{name:Gr.title}},superTypes:[]},Section:{name:zc.$type,properties:{classSelector:{name:zc.classSelector},name:{name:zc.name}},superTypes:[xo.$type]},Service:{name:ni.$type,properties:{icon:{name:ni.icon},iconText:{name:ni.iconText},id:{name:ni.id},in:{name:ni.in},title:{name:ni.title}},superTypes:[]},Size:{name:Wc.$type,properties:{height:{name:Wc.height},width:{name:Wc.width}},superTypes:[]},Statement:{name:ii.$type,properties:{},superTypes:[]},TreeNode:{name:jc.$type,properties:{indent:{name:jc.indent},name:{name:jc.name}},superTypes:[]},TreeView:{name:wo.$type,properties:{accDescr:{name:wo.accDescr},accTitle:{name:wo.accTitle},nodes:{name:wo.nodes,defaultValue:[]},title:{name:wo.title}},superTypes:[]},Treemap:{name:mi.$type,properties:{accDescr:{name:mi.accDescr},accTitle:{name:mi.accTitle},title:{name:mi.title},TreemapRows:{name:mi.TreemapRows,defaultValue:[]}},superTypes:[]},TreemapRow:{name:Kc.$type,properties:{indent:{name:Kc.indent},item:{name:Kc.item}},superTypes:[]},Wardley:{name:He.$type,properties:{accDescr:{name:He.accDescr},accelerators:{name:He.accelerators,defaultValue:[]},accTitle:{name:He.accTitle},anchors:{name:He.anchors,defaultValue:[]},annotation:{name:He.annotation,defaultValue:[]},annotations:{name:He.annotations,defaultValue:[]},components:{name:He.components,defaultValue:[]},deaccelerators:{name:He.deaccelerators,defaultValue:[]},evolution:{name:He.evolution},evolves:{name:He.evolves,defaultValue:[]},links:{name:He.links,defaultValue:[]},notes:{name:He.notes,defaultValue:[]},pipelines:{name:He.pipelines,defaultValue:[]},size:{name:He.size},title:{name:He.title}},superTypes:[]}}}},s(mn,"MermaidAstReflection"),P(mn,"MermaidAstReflection"),mn),Pt=new hR,Em,gE=P(()=>Em??(Em=It(`{"$type":"Grammar","isDeclared":true,"name":"ArchitectureGrammar","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":"*"}]},"fragment":false,"parameters":[]},{"$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":[]}}]},"entry":false,"parameters":[]},{"$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":[]}}]},"entry":false,"parameters":[]},{"$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":":"}]},"entry":false,"parameters":[]},{"$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":[]}]},"entry":false,"parameters":[]},{"$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":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$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":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$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":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$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":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"ARROW_DIRECTION","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"L"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"R"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"T"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"B"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW_GROUP","definition":{"$type":"RegexToken","regex":"/\\\\{group\\\\}/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW_INTO","definition":{"$type":"RegexToken","regex":"/<|>/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$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":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@18"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@19"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","name":"ARCH_ICON","definition":{"$type":"RegexToken","regex":"/\\\\([\\\\w-:]+\\\\)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARCH_TITLE","definition":{"$type":"RegexToken","regex":"/\\\\[(?:\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'|[\\\\w ]+)\\\\]/","parenthesized":false},"fragment":false,"hidden":false}],"interfaces":[],"types":[]}`)),"ArchitectureGrammarGrammar"),Cm,yE=P(()=>Cm??(Cm=It(`{"$type":"Grammar","isDeclared":true,"name":"GitGraphGrammar","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":"*"}]},"fragment":false,"parameters":[]},{"$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":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$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"}]}},"entry":false,"fragment":false,"parameters":[]},{"$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":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$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":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$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":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$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":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$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":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$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":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@14"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@15"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","name":"REFERENCE","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\\\w([-\\\\./\\\\w]*[-\\\\w])?/","parenthesized":false},"fragment":false,"hidden":false}],"interfaces":[],"types":[]}`)),"GitGraphGrammarGrammar"),Am,TE=P(()=>Am??(Am=It(`{"$type":"Grammar","isDeclared":true,"name":"InfoGrammar","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":"?"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$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":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@7"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@8"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}`)),"InfoGrammarGrammar"),km,vE=P(()=>km??(km=It(`{"$type":"Grammar","isDeclared":true,"name":"PacketGrammar","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":"*"}]},"fragment":false,"parameters":[]},{"$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":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$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":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@8"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@9"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}`)),"PacketGrammarGrammar"),Sm,RE=P(()=>Sm??(Sm=It(`{"$type":"Grammar","isDeclared":true,"name":"PieGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Pie","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"pie"},{"$type":"Assignment","feature":"showData","operator":"?=","terminal":{"$type":"Keyword","value":"showData"},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"Assignment","feature":"sections","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PieSection","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"FLOAT_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/-?[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/-?(0|[1-9][0-9]*)(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@2"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@3"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@11"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@12"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}`)),"PieGrammarGrammar"),bm,$E=P(()=>bm??(bm=It(`{"$type":"Grammar","isDeclared":true,"name":"RadarGrammar","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":"*"}]},"fragment":false,"parameters":[]},{"$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":"]"}]},"entry":false,"parameters":[]},{"$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":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$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":"}"}]},"entry":false,"fragment":false,"parameters":[]},{"$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":"*"}]}]},"entry":false,"parameters":[]},{"$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,"isMulti":false}},{"$type":"Keyword","value":":","cardinality":"?"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"NumberEntry","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},"entry":false,"fragment":false,"parameters":[]},{"$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":[]}}]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"GRATICULE","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"circle"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"polygon"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$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":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@15"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@16"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[{"$type":"Interface","name":"Entry","attributes":[{"$type":"TypeAttribute","name":"axis","isOptional":true,"type":{"$type":"ReferenceType","referenceType":{"$type":"SimpleType","typeRef":{"$ref":"#/rules@2"}},"isMulti":false}},{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"number"},"isOptional":false}],"superTypes":[]}],"types":[]}`)),"RadarGrammarGrammar"),xm,EE=P(()=>xm??(xm=It(`{"$type":"Grammar","isDeclared":true,"name":"TreemapGrammar","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":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"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@15"},"arguments":[]}}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"TREEMAP_KEYWORD","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"treemap-beta"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"treemap"},"parenthesized":false}],"parenthesized":false},"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]*))?(?:;)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STYLE_SEPARATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":":::"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"SEPARATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":":"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"COMMA","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":","},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INDENTATION","definition":{"$type":"RegexToken","regex":"/[ \\\\t]{1,}/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WS","definition":{"$type":"RegexToken","regex":"/[ \\\\t]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"ML_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\%\\\\%[^\\\\n]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"NL","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false},{"$type":"ParserRule","name":"TreemapRow","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"indent","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"item","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"ClassDef","dataType":"string","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Item","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$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":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$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@11"},"arguments":[],"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"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":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"ID2","definition":{"$type":"RegexToken","regex":"/[a-zA-Z_][a-zA-Z0-9_]*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER2","definition":{"$type":"RegexToken","regex":"/[0-9_\\\\.\\\\,]+/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"MyNumber","dataType":"number","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"STRING2","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]*\\"|'[^']*'/","parenthesized":false},"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@15"}}},"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":[]}],"imports":[],"types":[],"$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 */"}`)),"TreemapGrammarGrammar"),Nm,CE=P(()=>Nm??(Nm=It(`{"$type":"Grammar","isDeclared":true,"name":"TreeViewGrammar","rules":[{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","entry":true,"name":"TreeView","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"treeView-beta"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[],"cardinality":"?"},{"$type":"Assignment","feature":"nodes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]},"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@0"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"INDENTATION","definition":{"$type":"RegexToken","regex":"/[ \\\\t]{1,}/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WS","definition":{"$type":"RegexToken","regex":"/[ \\\\t]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"ML_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\%\\\\%[^\\\\n]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"NL","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false},{"$type":"ParserRule","name":"TreeNode","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"indent","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"STRING2","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]*\\"|'[^']*'/","parenthesized":false},"fragment":false,"hidden":false}],"interfaces":[{"$type":"Interface","name":"TreeView","attributes":[{"$type":"TypeAttribute","name":"nodes","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/rules@9"}}},"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":[]}],"imports":[],"types":[],"$comment":"/**\\n * TreeView grammar for Langium\\n * Converted from treemap 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 * treeView declaration.\\n */"}`)),"TreeViewGrammarGrammar"),wm,AE=P(()=>wm??(wm=It(`{"$type":"Grammar","isDeclared":true,"name":"WardleyGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Wardley","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@52"},"arguments":[],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@25"},"arguments":[]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@52"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@42"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Statement","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"size","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Assignment","feature":"anchors","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"components","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"links","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Assignment","feature":"evolves","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}},{"$type":"Assignment","feature":"pipelines","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"Assignment","feature":"notes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}},{"$type":"Assignment","feature":"annotations","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},{"$type":"Assignment","feature":"annotation","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Assignment","feature":"accelerators","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},{"$type":"Assignment","feature":"deaccelerators","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"Size","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@26"},"arguments":[]},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"width","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"height","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Evolution","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@27"},"arguments":[]},{"$type":"Assignment","feature":"stages","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]},{"$type":"Assignment","feature":"stages","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}}],"cardinality":"+"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EvolutionStage","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"@"},{"$type":"Assignment","feature":"boundary","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}}],"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"/"},{"$type":"Assignment","feature":"secondName","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}}],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Anchor","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@28"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"visibility","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Component","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"visibility","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"decorator","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"inertia","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@31"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"inertia","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@31"},"arguments":[]}},{"$type":"Keyword","value":")"}]}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Label","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@30"},"arguments":[]},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"negX","operator":"?=","terminal":{"$type":"Keyword","value":"-"},"cardinality":"?"},{"$type":"Assignment","feature":"offsetX","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"negY","operator":"?=","terminal":{"$type":"Keyword","value":"-"},"cardinality":"?"},{"$type":"Assignment","feature":"offsetY","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":"]"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Decorator","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"strategy","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]}},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Link","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"from","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Assignment","feature":"fromPort","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"arrow","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}]},"cardinality":"?"},{"$type":"Assignment","feature":"to","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Assignment","feature":"toPort","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"linkLabel","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Evolve","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@32"},"arguments":[]},{"$type":"Assignment","feature":"component","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Assignment","feature":"target","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Pipeline","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@33"},"arguments":[]},{"$type":"Assignment","feature":"parent","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"{"},{"$type":"RuleCall","rule":{"$ref":"#/rules@52"},"arguments":[],"cardinality":"+"},{"$type":"Assignment","feature":"components","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]},"cardinality":"+"},{"$type":"Keyword","value":"}"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PipelineComponent","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Note","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@34"},"arguments":[]},{"$type":"Assignment","feature":"text","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"visibility","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Annotations","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@35"},"arguments":[]},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"x","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"y","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Annotation","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@36"},"arguments":[]},{"$type":"Assignment","feature":"number","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"x","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"y","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"Assignment","feature":"text","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"CoordinateValue","dataType":"number","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Accelerator","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@37"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"x","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"y","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Deaccelerator","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@38"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"x","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"y","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"WARDLEY_NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"->"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"LINK_PORT","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"+<>"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"+>"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"+<"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"LINK_ARROW","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"-->"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"-.->"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":">"},"parenthesized":false}],"parenthesized":false},{"$type":"RegexToken","regex":"/\\\\+'[^']*'<>/","parenthesized":false}],"parenthesized":false},{"$type":"RegexToken","regex":"/\\\\+'[^']*'</","parenthesized":false}],"parenthesized":false},{"$type":"RegexToken","regex":"/\\\\+'[^']*'>/","parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"LINK_LABEL","definition":{"$type":"RegexToken","regex":"/;[^\\\\n\\\\r]+/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRATEGY","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"build"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"buy"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"outsource"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"market"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_WARDLEY","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"wardley-beta"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_SIZE","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"size"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_EVOLUTION","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"evolution"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_ANCHOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"anchor"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_COMPONENT","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"component"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_LABEL","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"label"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_INERTIA","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"inertia"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_EVOLVE","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"evolve"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_PIPELINE","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"pipeline"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_NOTE","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"note"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_ANNOTATIONS","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"annotations"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_ANNOTATION","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"annotation"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_ACCELERATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"accelerator"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_DEACCELERATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"deaccelerator"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NAME_WITH_SPACES","definition":{"$type":"RegexToken","regex":"/(?!title\\\\s|accTitle|accDescr)[A-Za-z][A-Za-z0-9_()&]*(?:[ \\\\t]+[A-Za-z(][A-Za-z0-9_()&]*)*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WS","definition":{"$type":"RegexToken","regex":"/[ \\\\t]+/","parenthesized":false},"fragment":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@52"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@44"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@45"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@46"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@47"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@48"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}`)),"WardleyGrammarGrammar"),kE={languageId:"architecture",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},SE={languageId:"gitGraph",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},bE={languageId:"info",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},xE={languageId:"packet",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},NE={languageId:"pie",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},wE={languageId:"radar",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},IE={languageId:"treemap",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},PE={languageId:"treeView",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},LE={languageId:"wardley",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},$r={AstReflection:P(()=>new hR,"AstReflection")},DE={Grammar:P(()=>gE(),"Grammar"),LanguageMetaData:P(()=>kE,"LanguageMetaData"),parser:{}},OE={Grammar:P(()=>yE(),"Grammar"),LanguageMetaData:P(()=>SE,"LanguageMetaData"),parser:{}},_E={Grammar:P(()=>TE(),"Grammar"),LanguageMetaData:P(()=>bE,"LanguageMetaData"),parser:{}},ME={Grammar:P(()=>vE(),"Grammar"),LanguageMetaData:P(()=>xE,"LanguageMetaData"),parser:{}},FE={Grammar:P(()=>RE(),"Grammar"),LanguageMetaData:P(()=>NE,"LanguageMetaData"),parser:{}},qE={Grammar:P(()=>$E(),"Grammar"),LanguageMetaData:P(()=>wE,"LanguageMetaData"),parser:{}},UE={Grammar:P(()=>EE(),"Grammar"),LanguageMetaData:P(()=>IE,"LanguageMetaData"),parser:{}},GE={Grammar:P(()=>CE(),"Grammar"),LanguageMetaData:P(()=>PE,"LanguageMetaData"),parser:{}},zE={Grammar:P(()=>AE(),"Grammar"),LanguageMetaData:P(()=>LE,"LanguageMetaData"),parser:{}},WE=/accDescr(?:[\t ]*:([^\n\r]*)|\s*{([^}]*)})/,KE=/accTitle[\t ]*:([^\n\r]*)/,jE=/title([\t ][^\n\r]*|)/,VE={ACC_DESCR:WE,ACC_TITLE:KE,TITLE:jE},gn,ao=(gn=class extends yh{runConverter(e,t,n){let i=this.runCommonConverter(e,t,n);return i===void 0&&(i=this.runCustomConverter(e,t,n)),i===void 0?super.runConverter(e,t,n):i}runCommonConverter(e,t,n){let i=VE[e.name];if(i===void 0)return;let a=i.exec(t);if(a!==null){if(a[1]!==void 0)return a[1].trim().replace(/[\t ]{2,}/gm," ");if(a[2]!==void 0)return a[2].replace(/^\s*/gm,"").replace(/\s+$/gm,"").replace(/[\t ]{2,}/gm," ").replace(/[\n\r]{2,}/gm,`
159
- `)}}},s(gn,"AbstractMermaidValueConverter"),P(gn,"AbstractMermaidValueConverter"),gn),yn,Ic=(yn=class extends ao{runCustomConverter(e,t,n){}},s(yn,"CommonValueConverter"),P(yn,"CommonValueConverter"),yn),Tn,Er=(Tn=class extends Ec{constructor(e){super(),this.keywords=new Set(e)}buildKeywordTokens(e,t,n){let i=super.buildKeywordTokens(e,t,n);return i.forEach(a=>{this.keywords.has(a.name)&&a.PATTERN!==void 0&&(a.PATTERN=new RegExp(a.PATTERN.toString()+"(?:(?=%%)|(?!\\S))"))}),i}},s(Tn,"AbstractMermaidTokenBuilder"),P(Tn,"AbstractMermaidTokenBuilder"),Tn),vn;vn=class extends Er{},s(vn,"CommonTokenBuilder"),P(vn,"CommonTokenBuilder");var Dt={},BE={info:P(async()=>{let{createInfoServices:r}=await ir(()=>Promise.resolve().then(()=>cC),void 0),e=r().Info.parser.LangiumParser;Dt.info=e},"info"),packet:P(async()=>{let{createPacketServices:r}=await ir(()=>Promise.resolve().then(()=>dC),void 0),e=r().Packet.parser.LangiumParser;Dt.packet=e},"packet"),pie:P(async()=>{let{createPieServices:r}=await ir(()=>Promise.resolve().then(()=>pC),void 0),e=r().Pie.parser.LangiumParser;Dt.pie=e},"pie"),treeView:P(async()=>{let{createTreeViewServices:r}=await ir(()=>Promise.resolve().then(()=>fC),void 0),e=r().TreeView.parser.LangiumParser;Dt.treeView=e},"treeView"),architecture:P(async()=>{let{createArchitectureServices:r}=await ir(()=>Promise.resolve().then(()=>hC),void 0),e=r().Architecture.parser.LangiumParser;Dt.architecture=e},"architecture"),gitGraph:P(async()=>{let{createGitGraphServices:r}=await ir(()=>Promise.resolve().then(()=>mC),void 0),e=r().GitGraph.parser.LangiumParser;Dt.gitGraph=e},"gitGraph"),radar:P(async()=>{let{createRadarServices:r}=await ir(()=>Promise.resolve().then(()=>gC),void 0),e=r().Radar.parser.LangiumParser;Dt.radar=e},"radar"),treemap:P(async()=>{let{createTreemapServices:r}=await ir(()=>Promise.resolve().then(()=>yC),void 0),e=r().Treemap.parser.LangiumParser;Dt.treemap=e},"treemap"),wardley:P(async()=>{let{createWardleyServices:r}=await ir(()=>Promise.resolve().then(()=>TC),void 0),e=r().Wardley.parser.LangiumParser;Dt.wardley=e},"wardley")};async function mR(r,e){let t=BE[r];if(!t)throw new Error(`Unknown diagram type: ${r}`);Dt[r]||await t();let n=Dt[r].parse(e);if(n.lexerErrors.length>0||n.parserErrors.length>0)throw new HE(n);return n.value}s(mR,"parse");P(mR,"parse");var Rn,HE=(Rn=class extends Error{constructor(e){let t=e.lexerErrors.map(i=>{let a=i.line!==void 0&&!isNaN(i.line)?i.line:"?",o=i.column!==void 0&&!isNaN(i.column)?i.column:"?";return`Lexer error on line ${a}, column ${o}: ${i.message}`}).join(`
160
- `),n=e.parserErrors.map(i=>{let a=i.token.startLine!==void 0&&!isNaN(i.token.startLine)?i.token.startLine:"?",o=i.token.startColumn!==void 0&&!isNaN(i.token.startColumn)?i.token.startColumn:"?";return`Parse error on line ${a}, column ${o}: ${i.message}`}).join(`
161
- `);super(`Parsing failed: ${t} ${n}`),this.result=e}},s(Rn,"MermaidParseError"),P(Rn,"MermaidParseError"),Rn),$n,XE=($n=class extends Er{constructor(){super(["packet"])}},s($n,"PacketTokenBuilder"),P($n,"PacketTokenBuilder"),$n),gR={parser:{TokenBuilder:P(()=>new XE,"TokenBuilder"),ValueConverter:P(()=>new Ic,"ValueConverter")}};function qh(r=zt){let e=De(wt(r),$r),t=De(Nt({shared:e}),ME,gR);return e.ServiceRegistry.register(t),{shared:e,Packet:t}}s(qh,"createPacketServices");P(qh,"createPacketServices");var En,YE=(En=class extends Er{constructor(){super(["pie","showData"])}},s(En,"PieTokenBuilder"),P(En,"PieTokenBuilder"),En),Cn,JE=(Cn=class extends ao{runCustomConverter(e,t,n){if(e.name==="PIE_SECTION_LABEL")return t.replace(/"/g,"").trim()}},s(Cn,"PieValueConverter"),P(Cn,"PieValueConverter"),Cn),yR={parser:{TokenBuilder:P(()=>new YE,"TokenBuilder"),ValueConverter:P(()=>new JE,"ValueConverter")}};function Uh(r=zt){let e=De(wt(r),$r),t=De(Nt({shared:e}),FE,yR);return e.ServiceRegistry.register(t),{shared:e,Pie:t}}s(Uh,"createPieServices");P(Uh,"createPieServices");var An,QE=(An=class extends ao{runCustomConverter(e,t,n){if(e.name==="INDENTATION")return(t==null?void 0:t.length)||0;if(e.name==="STRING2")return t.substring(1,t.length-1)}},s(An,"TreeViewValueConverter"),P(An,"TreeViewValueConverter"),An),kn,ZE=(kn=class extends Er{constructor(){super(["treeView-beta"])}},s(kn,"TreeViewTokenBuilder"),P(kn,"TreeViewTokenBuilder"),kn),TR={parser:{TokenBuilder:P(()=>new ZE,"TokenBuilder"),ValueConverter:P(()=>new QE,"ValueConverter")}};function Gh(r=zt){let e=De(wt(r),$r),t=De(Nt({shared:e}),GE,TR);return e.ServiceRegistry.register(t),{shared:e,TreeView:t}}s(Gh,"createTreeViewServices");P(Gh,"createTreeViewServices");var Sn,eC=(Sn=class extends Er{constructor(){super(["architecture"])}},s(Sn,"ArchitectureTokenBuilder"),P(Sn,"ArchitectureTokenBuilder"),Sn),bn,tC=(bn=class extends ao{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"){let i=t.replace(/^\[|]$/g,"").trim();return(i.startsWith('"')&&i.endsWith('"')||i.startsWith("'")&&i.endsWith("'"))&&(i=i.slice(1,-1),i=i.replace(/\\"/g,'"').replace(/\\'/g,"'")),i.trim()}}},s(bn,"ArchitectureValueConverter"),P(bn,"ArchitectureValueConverter"),bn),vR={parser:{TokenBuilder:P(()=>new eC,"TokenBuilder"),ValueConverter:P(()=>new tC,"ValueConverter")}};function zh(r=zt){let e=De(wt(r),$r),t=De(Nt({shared:e}),DE,vR);return e.ServiceRegistry.register(t),{shared:e,Architecture:t}}s(zh,"createArchitectureServices");P(zh,"createArchitectureServices");var xn,rC=(xn=class extends Er{constructor(){super(["gitGraph"])}},s(xn,"GitGraphTokenBuilder"),P(xn,"GitGraphTokenBuilder"),xn),RR={parser:{TokenBuilder:P(()=>new rC,"TokenBuilder"),ValueConverter:P(()=>new Ic,"ValueConverter")}};function Wh(r=zt){let e=De(wt(r),$r),t=De(Nt({shared:e}),OE,RR);return e.ServiceRegistry.register(t),{shared:e,GitGraph:t}}s(Wh,"createGitGraphServices");P(Wh,"createGitGraphServices");var Nn,nC=(Nn=class extends Er{constructor(){super(["radar-beta"])}},s(Nn,"RadarTokenBuilder"),P(Nn,"RadarTokenBuilder"),Nn),$R={parser:{TokenBuilder:P(()=>new nC,"TokenBuilder"),ValueConverter:P(()=>new Ic,"ValueConverter")}};function Kh(r=zt){let e=De(wt(r),$r),t=De(Nt({shared:e}),qE,$R);return e.ServiceRegistry.register(t),{shared:e,Radar:t}}s(Kh,"createRadarServices");P(Kh,"createRadarServices");var wn,iC=(wn=class extends Er{constructor(){super(["treemap"])}},s(wn,"TreemapTokenBuilder"),P(wn,"TreemapTokenBuilder"),wn),aC=/classDef\s+([A-Z_a-z]\w+)(?:\s+([^\n\r;]*))?;?/,In,sC=(In=class extends ao{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 i=aC.exec(t);if(i)return{$type:"ClassDefStatement",className:i[1],styleText:i[2]||void 0}}}},s(In,"TreemapValueConverter"),P(In,"TreemapValueConverter"),In);function jh(r){let e=r.validation.TreemapValidator,t=r.validation.ValidationRegistry;if(t){let n={Treemap:e.checkSingleRoot.bind(e)};t.register(n,e)}}s(jh,"registerValidationChecks");P(jh,"registerValidationChecks");var Pn,oC=(Pn=class{checkSingleRoot(e,t){let n;for(let i of e.TreemapRows)i.item&&(n===void 0&&i.indent===void 0?n=0:i.indent===void 0?t("error","Multiple root nodes are not allowed in a treemap.",{node:i,property:"item"}):n!==void 0&&n>=parseInt(i.indent,10)&&t("error","Multiple root nodes are not allowed in a treemap.",{node:i,property:"item"}))}},s(Pn,"TreemapValidator"),P(Pn,"TreemapValidator"),Pn),ER={parser:{TokenBuilder:P(()=>new iC,"TokenBuilder"),ValueConverter:P(()=>new sC,"ValueConverter")},validation:{TreemapValidator:P(()=>new oC,"TreemapValidator")}};function Vh(r=zt){let e=De(wt(r),$r),t=De(Nt({shared:e}),UE,ER);return e.ServiceRegistry.register(t),jh(t),{shared:e,Treemap:t}}s(Vh,"createTreemapServices");P(Vh,"createTreemapServices");var Ln,lC=(Ln=class extends ao{runCustomConverter(e,t,n){switch(e.name.toUpperCase()){case"LINK_LABEL":return t.substring(1).trim();default:return}}},s(Ln,"WardleyValueConverter"),P(Ln,"WardleyValueConverter"),Ln),CR={parser:{ValueConverter:P(()=>new lC,"ValueConverter")}};function Bh(r=zt){let e=De(wt(r),$r),t=De(Nt({shared:e}),zE,CR);return e.ServiceRegistry.register(t),{shared:e,Wardley:t}}s(Bh,"createWardleyServices");P(Bh,"createWardleyServices");var Dn,uC=(Dn=class extends Er{constructor(){super(["info","showInfo"])}},s(Dn,"InfoTokenBuilder"),P(Dn,"InfoTokenBuilder"),Dn),AR={parser:{TokenBuilder:P(()=>new uC,"TokenBuilder"),ValueConverter:P(()=>new Ic,"ValueConverter")}};function Hh(r=zt){let e=De(wt(r),$r),t=De(Nt({shared:e}),_E,AR);return e.ServiceRegistry.register(t),{shared:e,Info:t}}s(Hh,"createInfoServices");P(Hh,"createInfoServices");const cC=Object.freeze(Object.defineProperty({__proto__:null,InfoModule:AR,createInfoServices:Hh},Symbol.toStringTag,{value:"Module"})),dC=Object.freeze(Object.defineProperty({__proto__:null,PacketModule:gR,createPacketServices:qh},Symbol.toStringTag,{value:"Module"})),pC=Object.freeze(Object.defineProperty({__proto__:null,PieModule:yR,createPieServices:Uh},Symbol.toStringTag,{value:"Module"})),fC=Object.freeze(Object.defineProperty({__proto__:null,TreeViewModule:TR,createTreeViewServices:Gh},Symbol.toStringTag,{value:"Module"})),hC=Object.freeze(Object.defineProperty({__proto__:null,ArchitectureModule:vR,createArchitectureServices:zh},Symbol.toStringTag,{value:"Module"})),mC=Object.freeze(Object.defineProperty({__proto__:null,GitGraphModule:RR,createGitGraphServices:Wh},Symbol.toStringTag,{value:"Module"})),gC=Object.freeze(Object.defineProperty({__proto__:null,RadarModule:$R,createRadarServices:Kh},Symbol.toStringTag,{value:"Module"})),yC=Object.freeze(Object.defineProperty({__proto__:null,TreemapModule:ER,createTreemapServices:Vh},Symbol.toStringTag,{value:"Module"})),TC=Object.freeze(Object.defineProperty({__proto__:null,WardleyModule:CR,createWardleyServices:Bh},Symbol.toStringTag,{value:"Module"}));export{mR as d};