var tI=Object.create;var qo=Object.defineProperty;var rI=Object.getOwnPropertyDescriptor;var nI=Object.getOwnPropertyNames;var iI=Object.getPrototypeOf,aI=Object.prototype.hasOwnProperty;var a=(t,e)=>qo(t,"name",{value:e,configurable:!0});var sI=(t,e)=>()=>(t&&(e=t(t=0)),e);var J=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),Un=(t,e)=>{for(var r in e)qo(t,r,{get:e[r],enumerable:!0})},Vu=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of nI(e))!aI.call(t,i)&&i!==r&&qo(t,i,{get:()=>e[i],enumerable:!(n=rI(e,i))||n.enumerable});return t},se=(t,e,r)=>(Vu(t,e,"default"),r&&Vu(r,e,"default")),Nd=(t,e,r)=>(r=t!=null?tI(iI(t)):{},Vu(e||!t||!t.__esModule?qo(r,"default",{value:t,enumerable:!0}):r,t)),Id=t=>Vu(qo({},"__esModule",{value:!0}),t);var mp={};Un(mp,{AnnotatedTextEdit:()=>kn,ChangeAnnotation:()=>ya,ChangeAnnotationIdentifier:()=>$t,CodeAction:()=>Xh,CodeActionContext:()=>Yh,CodeActionKind:()=>Hh,CodeActionTriggerKind:()=>Wl,CodeDescription:()=>Ch,CodeLens:()=>Jh,Color:()=>op,ColorInformation:()=>xh,ColorPresentation:()=>Rh,Command:()=>ga,CompletionItem:()=>Mh,CompletionItemKind:()=>Ih,CompletionItemLabelDetails:()=>Lh,CompletionItemTag:()=>kh,CompletionList:()=>Dh,CreateFile:()=>to,DeleteFile:()=>no,Diagnostic:()=>zl,DiagnosticRelatedInformation:()=>lp,DiagnosticSeverity:()=>vh,DiagnosticTag:()=>Ah,DocumentHighlight:()=>zh,DocumentHighlightKind:()=>jh,DocumentLink:()=>Qh,DocumentSymbol:()=>Vh,DocumentUri:()=>yh,EOL:()=>Yz,FoldingRange:()=>Eh,FoldingRangeKind:()=>$h,FormattingOptions:()=>Zh,Hover:()=>Fh,InlayHint:()=>ly,InlayHintKind:()=>pp,InlayHintLabelPart:()=>dp,InlineCompletionContext:()=>my,InlineCompletionItem:()=>cy,InlineCompletionList:()=>fy,InlineCompletionTriggerKind:()=>py,InlineValueContext:()=>oy,InlineValueEvaluatableExpression:()=>sy,InlineValueText:()=>iy,InlineValueVariableLookup:()=>ay,InsertReplaceEdit:()=>Ph,InsertTextFormat:()=>_h,InsertTextMode:()=>Oh,Location:()=>jl,LocationLink:()=>Th,MarkedString:()=>ql,MarkupContent:()=>io,MarkupKind:()=>fp,OptionalVersionedTextDocumentIdentifier:()=>Kl,ParameterInformation:()=>Gh,Position:()=>le,Range:()=>ie,RenameFile:()=>ro,SelectedCompletionInfo:()=>dy,SelectionRange:()=>ey,SemanticTokenModifiers:()=>ry,SemanticTokenTypes:()=>ty,SemanticTokens:()=>ny,SignatureInformation:()=>Uh,StringValue:()=>uy,SymbolInformation:()=>qh,SymbolKind:()=>Bh,SymbolTag:()=>Kh,TextDocument:()=>yy,TextDocumentEdit:()=>Bl,TextDocumentIdentifier:()=>Sh,TextDocumentItem:()=>Nh,TextEdit:()=>rn,URI:()=>sp,VersionedTextDocumentIdentifier:()=>wh,WorkspaceChange:()=>bh,WorkspaceEdit:()=>up,WorkspaceFolder:()=>hy,WorkspaceSymbol:()=>Wh,integer:()=>gh,uinteger:()=>Ul});var yh,sp,gh,Ul,le,ie,jl,Th,op,xh,Rh,$h,Eh,lp,vh,Ah,Ch,zl,ga,rn,ya,$t,kn,Bl,to,ro,no,up,eo,cp,bh,Sh,wh,Kl,Nh,fp,io,Ih,_h,kh,Ph,Oh,Lh,Mh,Dh,ql,Fh,Gh,Uh,jh,zh,Bh,Kh,qh,Wh,Vh,Hh,Wl,Yh,Xh,Jh,Zh,Qh,ey,ty,ry,ny,iy,ay,sy,oy,pp,dp,ly,uy,cy,fy,py,dy,my,hy,Yz,yy,gy,g,ao=sI(()=>{"use strict";(function(t){function e(r){return typeof r=="string"}a(e,"is"),t.is=e})(yh||(yh={}));(function(t){function e(r){return typeof r=="string"}a(e,"is"),t.is=e})(sp||(sp={}));(function(t){t.MIN_VALUE=-2147483648,t.MAX_VALUE=2147483647;function e(r){return typeof r=="number"&&t.MIN_VALUE<=r&&r<=t.MAX_VALUE}a(e,"is"),t.is=e})(gh||(gh={}));(function(t){t.MIN_VALUE=0,t.MAX_VALUE=2147483647;function e(r){return typeof r=="number"&&t.MIN_VALUE<=r&&r<=t.MAX_VALUE}a(e,"is"),t.is=e})(Ul||(Ul={}));(function(t){function e(n,i){return n===Number.MAX_VALUE&&(n=Ul.MAX_VALUE),i===Number.MAX_VALUE&&(i=Ul.MAX_VALUE),{line:n,character:i}}a(e,"create"),t.create=e;function r(n){let i=n;return g.objectLiteral(i)&&g.uinteger(i.line)&&g.uinteger(i.character)}a(r,"is"),t.is=r})(le||(le={}));(function(t){function e(n,i,s,o){if(g.uinteger(n)&&g.uinteger(i)&&g.uinteger(s)&&g.uinteger(o))return{start:le.create(n,i),end:le.create(s,o)};if(le.is(n)&&le.is(i))return{start:n,end:i};throw new Error(`Range#create called with invalid arguments[${n}, ${i}, ${s}, ${o}]`)}a(e,"create"),t.create=e;function r(n){let i=n;return g.objectLiteral(i)&&le.is(i.start)&&le.is(i.end)}a(r,"is"),t.is=r})(ie||(ie={}));(function(t){function e(n,i){return{uri:n,range:i}}a(e,"create"),t.create=e;function r(n){let i=n;return g.objectLiteral(i)&&ie.is(i.range)&&(g.string(i.uri)||g.undefined(i.uri))}a(r,"is"),t.is=r})(jl||(jl={}));(function(t){function e(n,i,s,o){return{targetUri:n,targetRange:i,targetSelectionRange:s,originSelectionRange:o}}a(e,"create"),t.create=e;function r(n){let i=n;return g.objectLiteral(i)&&ie.is(i.targetRange)&&g.string(i.targetUri)&&ie.is(i.targetSelectionRange)&&(ie.is(i.originSelectionRange)||g.undefined(i.originSelectionRange))}a(r,"is"),t.is=r})(Th||(Th={}));(function(t){function e(n,i,s,o){return{red:n,green:i,blue:s,alpha:o}}a(e,"create"),t.create=e;function r(n){let i=n;return g.objectLiteral(i)&&g.numberRange(i.red,0,1)&&g.numberRange(i.green,0,1)&&g.numberRange(i.blue,0,1)&&g.numberRange(i.alpha,0,1)}a(r,"is"),t.is=r})(op||(op={}));(function(t){function e(n,i){return{range:n,color:i}}a(e,"create"),t.create=e;function r(n){let i=n;return g.objectLiteral(i)&&ie.is(i.range)&&op.is(i.color)}a(r,"is"),t.is=r})(xh||(xh={}));(function(t){function e(n,i,s){return{label:n,textEdit:i,additionalTextEdits:s}}a(e,"create"),t.create=e;function r(n){let i=n;return g.objectLiteral(i)&&g.string(i.label)&&(g.undefined(i.textEdit)||rn.is(i))&&(g.undefined(i.additionalTextEdits)||g.typedArray(i.additionalTextEdits,rn.is))}a(r,"is"),t.is=r})(Rh||(Rh={}));(function(t){t.Comment="comment",t.Imports="imports",t.Region="region"})($h||($h={}));(function(t){function e(n,i,s,o,l,u){let c={startLine:n,endLine:i};return g.defined(s)&&(c.startCharacter=s),g.defined(o)&&(c.endCharacter=o),g.defined(l)&&(c.kind=l),g.defined(u)&&(c.collapsedText=u),c}a(e,"create"),t.create=e;function r(n){let i=n;return g.objectLiteral(i)&&g.uinteger(i.startLine)&&g.uinteger(i.startLine)&&(g.undefined(i.startCharacter)||g.uinteger(i.startCharacter))&&(g.undefined(i.endCharacter)||g.uinteger(i.endCharacter))&&(g.undefined(i.kind)||g.string(i.kind))}a(r,"is"),t.is=r})(Eh||(Eh={}));(function(t){function e(n,i){return{location:n,message:i}}a(e,"create"),t.create=e;function r(n){let i=n;return g.defined(i)&&jl.is(i.location)&&g.string(i.message)}a(r,"is"),t.is=r})(lp||(lp={}));(function(t){t.Error=1,t.Warning=2,t.Information=3,t.Hint=4})(vh||(vh={}));(function(t){t.Unnecessary=1,t.Deprecated=2})(Ah||(Ah={}));(function(t){function e(r){let n=r;return g.objectLiteral(n)&&g.string(n.href)}a(e,"is"),t.is=e})(Ch||(Ch={}));(function(t){function e(n,i,s,o,l,u){let c={range:n,message:i};return g.defined(s)&&(c.severity=s),g.defined(o)&&(c.code=o),g.defined(l)&&(c.source=l),g.defined(u)&&(c.relatedInformation=u),c}a(e,"create"),t.create=e;function r(n){var i;let s=n;return g.defined(s)&&ie.is(s.range)&&g.string(s.message)&&(g.number(s.severity)||g.undefined(s.severity))&&(g.integer(s.code)||g.string(s.code)||g.undefined(s.code))&&(g.undefined(s.codeDescription)||g.string((i=s.codeDescription)===null||i===void 0?void 0:i.href))&&(g.string(s.source)||g.undefined(s.source))&&(g.undefined(s.relatedInformation)||g.typedArray(s.relatedInformation,lp.is))}a(r,"is"),t.is=r})(zl||(zl={}));(function(t){function e(n,i,...s){let o={title:n,command:i};return g.defined(s)&&s.length>0&&(o.arguments=s),o}a(e,"create"),t.create=e;function r(n){let i=n;return g.defined(i)&&g.string(i.title)&&g.string(i.command)}a(r,"is"),t.is=r})(ga||(ga={}));(function(t){function e(s,o){return{range:s,newText:o}}a(e,"replace"),t.replace=e;function r(s,o){return{range:{start:s,end:s},newText:o}}a(r,"insert"),t.insert=r;function n(s){return{range:s,newText:""}}a(n,"del"),t.del=n;function i(s){let o=s;return g.objectLiteral(o)&&g.string(o.newText)&&ie.is(o.range)}a(i,"is"),t.is=i})(rn||(rn={}));(function(t){function e(n,i,s){let o={label:n};return i!==void 0&&(o.needsConfirmation=i),s!==void 0&&(o.description=s),o}a(e,"create"),t.create=e;function r(n){let i=n;return g.objectLiteral(i)&&g.string(i.label)&&(g.boolean(i.needsConfirmation)||i.needsConfirmation===void 0)&&(g.string(i.description)||i.description===void 0)}a(r,"is"),t.is=r})(ya||(ya={}));(function(t){function e(r){let n=r;return g.string(n)}a(e,"is"),t.is=e})($t||($t={}));(function(t){function e(s,o,l){return{range:s,newText:o,annotationId:l}}a(e,"replace"),t.replace=e;function r(s,o,l){return{range:{start:s,end:s},newText:o,annotationId:l}}a(r,"insert"),t.insert=r;function n(s,o){return{range:s,newText:"",annotationId:o}}a(n,"del"),t.del=n;function i(s){let o=s;return rn.is(o)&&(ya.is(o.annotationId)||$t.is(o.annotationId))}a(i,"is"),t.is=i})(kn||(kn={}));(function(t){function e(n,i){return{textDocument:n,edits:i}}a(e,"create"),t.create=e;function r(n){let i=n;return g.defined(i)&&Kl.is(i.textDocument)&&Array.isArray(i.edits)}a(r,"is"),t.is=r})(Bl||(Bl={}));(function(t){function e(n,i,s){let o={kind:"create",uri:n};return i!==void 0&&(i.overwrite!==void 0||i.ignoreIfExists!==void 0)&&(o.options=i),s!==void 0&&(o.annotationId=s),o}a(e,"create"),t.create=e;function r(n){let i=n;return i&&i.kind==="create"&&g.string(i.uri)&&(i.options===void 0||(i.options.overwrite===void 0||g.boolean(i.options.overwrite))&&(i.options.ignoreIfExists===void 0||g.boolean(i.options.ignoreIfExists)))&&(i.annotationId===void 0||$t.is(i.annotationId))}a(r,"is"),t.is=r})(to||(to={}));(function(t){function e(n,i,s,o){let l={kind:"rename",oldUri:n,newUri:i};return s!==void 0&&(s.overwrite!==void 0||s.ignoreIfExists!==void 0)&&(l.options=s),o!==void 0&&(l.annotationId=o),l}a(e,"create"),t.create=e;function r(n){let i=n;return i&&i.kind==="rename"&&g.string(i.oldUri)&&g.string(i.newUri)&&(i.options===void 0||(i.options.overwrite===void 0||g.boolean(i.options.overwrite))&&(i.options.ignoreIfExists===void 0||g.boolean(i.options.ignoreIfExists)))&&(i.annotationId===void 0||$t.is(i.annotationId))}a(r,"is"),t.is=r})(ro||(ro={}));(function(t){function e(n,i,s){let o={kind:"delete",uri:n};return i!==void 0&&(i.recursive!==void 0||i.ignoreIfNotExists!==void 0)&&(o.options=i),s!==void 0&&(o.annotationId=s),o}a(e,"create"),t.create=e;function r(n){let i=n;return i&&i.kind==="delete"&&g.string(i.uri)&&(i.options===void 0||(i.options.recursive===void 0||g.boolean(i.options.recursive))&&(i.options.ignoreIfNotExists===void 0||g.boolean(i.options.ignoreIfNotExists)))&&(i.annotationId===void 0||$t.is(i.annotationId))}a(r,"is"),t.is=r})(no||(no={}));(function(t){function e(r){let n=r;return n&&(n.changes!==void 0||n.documentChanges!==void 0)&&(n.documentChanges===void 0||n.documentChanges.every(i=>g.string(i.kind)?to.is(i)||ro.is(i)||no.is(i):Bl.is(i)))}a(e,"is"),t.is=e})(up||(up={}));eo=class{static{a(this,"TextEditChangeImpl")}constructor(e,r){this.edits=e,this.changeAnnotations=r}insert(e,r,n){let i,s;if(n===void 0?i=rn.insert(e,r):$t.is(n)?(s=n,i=kn.insert(e,r,n)):(this.assertChangeAnnotations(this.changeAnnotations),s=this.changeAnnotations.manage(n),i=kn.insert(e,r,s)),this.edits.push(i),s!==void 0)return s}replace(e,r,n){let i,s;if(n===void 0?i=rn.replace(e,r):$t.is(n)?(s=n,i=kn.replace(e,r,n)):(this.assertChangeAnnotations(this.changeAnnotations),s=this.changeAnnotations.manage(n),i=kn.replace(e,r,s)),this.edits.push(i),s!==void 0)return s}delete(e,r){let n,i;if(r===void 0?n=rn.del(e):$t.is(r)?(i=r,n=kn.del(e,r)):(this.assertChangeAnnotations(this.changeAnnotations),i=this.changeAnnotations.manage(r),n=kn.del(e,i)),this.edits.push(n),i!==void 0)return i}add(e){this.edits.push(e)}all(){return this.edits}clear(){this.edits.splice(0,this.edits.length)}assertChangeAnnotations(e){if(e===void 0)throw new Error("Text edit change is not configured to manage change annotations.")}},cp=class{static{a(this,"ChangeAnnotations")}constructor(e){this._annotations=e===void 0?Object.create(null):e,this._counter=0,this._size=0}all(){return this._annotations}get size(){return this._size}manage(e,r){let n;if($t.is(e)?n=e:(n=this.nextId(),r=e),this._annotations[n]!==void 0)throw new Error(`Id ${n} is already in use.`);if(r===void 0)throw new Error(`No annotation provided for id ${n}`);return this._annotations[n]=r,this._size++,n}nextId(){return this._counter++,this._counter.toString()}},bh=class{static{a(this,"WorkspaceChange")}constructor(e){this._textEditChanges=Object.create(null),e!==void 0?(this._workspaceEdit=e,e.documentChanges?(this._changeAnnotations=new cp(e.changeAnnotations),e.changeAnnotations=this._changeAnnotations.all(),e.documentChanges.forEach(r=>{if(Bl.is(r)){let n=new eo(r.edits,this._changeAnnotations);this._textEditChanges[r.textDocument.uri]=n}})):e.changes&&Object.keys(e.changes).forEach(r=>{let n=new eo(e.changes[r]);this._textEditChanges[r]=n})):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(e){if(Kl.is(e)){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let r={uri:e.uri,version:e.version},n=this._textEditChanges[r.uri];if(!n){let i=[],s={textDocument:r,edits:i};this._workspaceEdit.documentChanges.push(s),n=new eo(i,this._changeAnnotations),this._textEditChanges[r.uri]=n}return n}else{if(this.initChanges(),this._workspaceEdit.changes===void 0)throw new Error("Workspace edit is not configured for normal text edit changes.");let r=this._textEditChanges[e];if(!r){let n=[];this._workspaceEdit.changes[e]=n,r=new eo(n),this._textEditChanges[e]=r}return r}}initDocumentChanges(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._changeAnnotations=new cp,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(e,r,n){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let i;ya.is(r)||$t.is(r)?i=r:n=r;let s,o;if(i===void 0?s=to.create(e,n):(o=$t.is(i)?i:this._changeAnnotations.manage(i),s=to.create(e,n,o)),this._workspaceEdit.documentChanges.push(s),o!==void 0)return o}renameFile(e,r,n,i){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let s;ya.is(n)||$t.is(n)?s=n:i=n;let o,l;if(s===void 0?o=ro.create(e,r,i):(l=$t.is(s)?s:this._changeAnnotations.manage(s),o=ro.create(e,r,i,l)),this._workspaceEdit.documentChanges.push(o),l!==void 0)return l}deleteFile(e,r,n){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let i;ya.is(r)||$t.is(r)?i=r:n=r;let s,o;if(i===void 0?s=no.create(e,n):(o=$t.is(i)?i:this._changeAnnotations.manage(i),s=no.create(e,n,o)),this._workspaceEdit.documentChanges.push(s),o!==void 0)return o}};(function(t){function e(n){return{uri:n}}a(e,"create"),t.create=e;function r(n){let i=n;return g.defined(i)&&g.string(i.uri)}a(r,"is"),t.is=r})(Sh||(Sh={}));(function(t){function e(n,i){return{uri:n,version:i}}a(e,"create"),t.create=e;function r(n){let i=n;return g.defined(i)&&g.string(i.uri)&&g.integer(i.version)}a(r,"is"),t.is=r})(wh||(wh={}));(function(t){function e(n,i){return{uri:n,version:i}}a(e,"create"),t.create=e;function r(n){let i=n;return g.defined(i)&&g.string(i.uri)&&(i.version===null||g.integer(i.version))}a(r,"is"),t.is=r})(Kl||(Kl={}));(function(t){function e(n,i,s,o){return{uri:n,languageId:i,version:s,text:o}}a(e,"create"),t.create=e;function r(n){let i=n;return g.defined(i)&&g.string(i.uri)&&g.string(i.languageId)&&g.integer(i.version)&&g.string(i.text)}a(r,"is"),t.is=r})(Nh||(Nh={}));(function(t){t.PlainText="plaintext",t.Markdown="markdown";function e(r){let n=r;return n===t.PlainText||n===t.Markdown}a(e,"is"),t.is=e})(fp||(fp={}));(function(t){function e(r){let n=r;return g.objectLiteral(r)&&fp.is(n.kind)&&g.string(n.value)}a(e,"is"),t.is=e})(io||(io={}));(function(t){t.Text=1,t.Method=2,t.Function=3,t.Constructor=4,t.Field=5,t.Variable=6,t.Class=7,t.Interface=8,t.Module=9,t.Property=10,t.Unit=11,t.Value=12,t.Enum=13,t.Keyword=14,t.Snippet=15,t.Color=16,t.File=17,t.Reference=18,t.Folder=19,t.EnumMember=20,t.Constant=21,t.Struct=22,t.Event=23,t.Operator=24,t.TypeParameter=25})(Ih||(Ih={}));(function(t){t.PlainText=1,t.Snippet=2})(_h||(_h={}));(function(t){t.Deprecated=1})(kh||(kh={}));(function(t){function e(n,i,s){return{newText:n,insert:i,replace:s}}a(e,"create"),t.create=e;function r(n){let i=n;return i&&g.string(i.newText)&&ie.is(i.insert)&&ie.is(i.replace)}a(r,"is"),t.is=r})(Ph||(Ph={}));(function(t){t.asIs=1,t.adjustIndentation=2})(Oh||(Oh={}));(function(t){function e(r){let n=r;return n&&(g.string(n.detail)||n.detail===void 0)&&(g.string(n.description)||n.description===void 0)}a(e,"is"),t.is=e})(Lh||(Lh={}));(function(t){function e(r){return{label:r}}a(e,"create"),t.create=e})(Mh||(Mh={}));(function(t){function e(r,n){return{items:r||[],isIncomplete:!!n}}a(e,"create"),t.create=e})(Dh||(Dh={}));(function(t){function e(n){return n.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}a(e,"fromPlainText"),t.fromPlainText=e;function r(n){let i=n;return g.string(i)||g.objectLiteral(i)&&g.string(i.language)&&g.string(i.value)}a(r,"is"),t.is=r})(ql||(ql={}));(function(t){function e(r){let n=r;return!!n&&g.objectLiteral(n)&&(io.is(n.contents)||ql.is(n.contents)||g.typedArray(n.contents,ql.is))&&(r.range===void 0||ie.is(r.range))}a(e,"is"),t.is=e})(Fh||(Fh={}));(function(t){function e(r,n){return n?{label:r,documentation:n}:{label:r}}a(e,"create"),t.create=e})(Gh||(Gh={}));(function(t){function e(r,n,...i){let s={label:r};return g.defined(n)&&(s.documentation=n),g.defined(i)?s.parameters=i:s.parameters=[],s}a(e,"create"),t.create=e})(Uh||(Uh={}));(function(t){t.Text=1,t.Read=2,t.Write=3})(jh||(jh={}));(function(t){function e(r,n){let i={range:r};return g.number(n)&&(i.kind=n),i}a(e,"create"),t.create=e})(zh||(zh={}));(function(t){t.File=1,t.Module=2,t.Namespace=3,t.Package=4,t.Class=5,t.Method=6,t.Property=7,t.Field=8,t.Constructor=9,t.Enum=10,t.Interface=11,t.Function=12,t.Variable=13,t.Constant=14,t.String=15,t.Number=16,t.Boolean=17,t.Array=18,t.Object=19,t.Key=20,t.Null=21,t.EnumMember=22,t.Struct=23,t.Event=24,t.Operator=25,t.TypeParameter=26})(Bh||(Bh={}));(function(t){t.Deprecated=1})(Kh||(Kh={}));(function(t){function e(r,n,i,s,o){let l={name:r,kind:n,location:{uri:s,range:i}};return o&&(l.containerName=o),l}a(e,"create"),t.create=e})(qh||(qh={}));(function(t){function e(r,n,i,s){return s!==void 0?{name:r,kind:n,location:{uri:i,range:s}}:{name:r,kind:n,location:{uri:i}}}a(e,"create"),t.create=e})(Wh||(Wh={}));(function(t){function e(n,i,s,o,l,u){let c={name:n,detail:i,kind:s,range:o,selectionRange:l};return u!==void 0&&(c.children=u),c}a(e,"create"),t.create=e;function r(n){let i=n;return i&&g.string(i.name)&&g.number(i.kind)&&ie.is(i.range)&&ie.is(i.selectionRange)&&(i.detail===void 0||g.string(i.detail))&&(i.deprecated===void 0||g.boolean(i.deprecated))&&(i.children===void 0||Array.isArray(i.children))&&(i.tags===void 0||Array.isArray(i.tags))}a(r,"is"),t.is=r})(Vh||(Vh={}));(function(t){t.Empty="",t.QuickFix="quickfix",t.Refactor="refactor",t.RefactorExtract="refactor.extract",t.RefactorInline="refactor.inline",t.RefactorRewrite="refactor.rewrite",t.Source="source",t.SourceOrganizeImports="source.organizeImports",t.SourceFixAll="source.fixAll"})(Hh||(Hh={}));(function(t){t.Invoked=1,t.Automatic=2})(Wl||(Wl={}));(function(t){function e(n,i,s){let o={diagnostics:n};return i!=null&&(o.only=i),s!=null&&(o.triggerKind=s),o}a(e,"create"),t.create=e;function r(n){let i=n;return g.defined(i)&&g.typedArray(i.diagnostics,zl.is)&&(i.only===void 0||g.typedArray(i.only,g.string))&&(i.triggerKind===void 0||i.triggerKind===Wl.Invoked||i.triggerKind===Wl.Automatic)}a(r,"is"),t.is=r})(Yh||(Yh={}));(function(t){function e(n,i,s){let o={title:n},l=!0;return typeof i=="string"?(l=!1,o.kind=i):ga.is(i)?o.command=i:o.edit=i,l&&s!==void 0&&(o.kind=s),o}a(e,"create"),t.create=e;function r(n){let i=n;return i&&g.string(i.title)&&(i.diagnostics===void 0||g.typedArray(i.diagnostics,zl.is))&&(i.kind===void 0||g.string(i.kind))&&(i.edit!==void 0||i.command!==void 0)&&(i.command===void 0||ga.is(i.command))&&(i.isPreferred===void 0||g.boolean(i.isPreferred))&&(i.edit===void 0||up.is(i.edit))}a(r,"is"),t.is=r})(Xh||(Xh={}));(function(t){function e(n,i){let s={range:n};return g.defined(i)&&(s.data=i),s}a(e,"create"),t.create=e;function r(n){let i=n;return g.defined(i)&&ie.is(i.range)&&(g.undefined(i.command)||ga.is(i.command))}a(r,"is"),t.is=r})(Jh||(Jh={}));(function(t){function e(n,i){return{tabSize:n,insertSpaces:i}}a(e,"create"),t.create=e;function r(n){let i=n;return g.defined(i)&&g.uinteger(i.tabSize)&&g.boolean(i.insertSpaces)}a(r,"is"),t.is=r})(Zh||(Zh={}));(function(t){function e(n,i,s){return{range:n,target:i,data:s}}a(e,"create"),t.create=e;function r(n){let i=n;return g.defined(i)&&ie.is(i.range)&&(g.undefined(i.target)||g.string(i.target))}a(r,"is"),t.is=r})(Qh||(Qh={}));(function(t){function e(n,i){return{range:n,parent:i}}a(e,"create"),t.create=e;function r(n){let i=n;return g.objectLiteral(i)&&ie.is(i.range)&&(i.parent===void 0||t.is(i.parent))}a(r,"is"),t.is=r})(ey||(ey={}));(function(t){t.namespace="namespace",t.type="type",t.class="class",t.enum="enum",t.interface="interface",t.struct="struct",t.typeParameter="typeParameter",t.parameter="parameter",t.variable="variable",t.property="property",t.enumMember="enumMember",t.event="event",t.function="function",t.method="method",t.macro="macro",t.keyword="keyword",t.modifier="modifier",t.comment="comment",t.string="string",t.number="number",t.regexp="regexp",t.operator="operator",t.decorator="decorator"})(ty||(ty={}));(function(t){t.declaration="declaration",t.definition="definition",t.readonly="readonly",t.static="static",t.deprecated="deprecated",t.abstract="abstract",t.async="async",t.modification="modification",t.documentation="documentation",t.defaultLibrary="defaultLibrary"})(ry||(ry={}));(function(t){function e(r){let n=r;return g.objectLiteral(n)&&(n.resultId===void 0||typeof n.resultId=="string")&&Array.isArray(n.data)&&(n.data.length===0||typeof n.data[0]=="number")}a(e,"is"),t.is=e})(ny||(ny={}));(function(t){function e(n,i){return{range:n,text:i}}a(e,"create"),t.create=e;function r(n){let i=n;return i!=null&&ie.is(i.range)&&g.string(i.text)}a(r,"is"),t.is=r})(iy||(iy={}));(function(t){function e(n,i,s){return{range:n,variableName:i,caseSensitiveLookup:s}}a(e,"create"),t.create=e;function r(n){let i=n;return i!=null&&ie.is(i.range)&&g.boolean(i.caseSensitiveLookup)&&(g.string(i.variableName)||i.variableName===void 0)}a(r,"is"),t.is=r})(ay||(ay={}));(function(t){function e(n,i){return{range:n,expression:i}}a(e,"create"),t.create=e;function r(n){let i=n;return i!=null&&ie.is(i.range)&&(g.string(i.expression)||i.expression===void 0)}a(r,"is"),t.is=r})(sy||(sy={}));(function(t){function e(n,i){return{frameId:n,stoppedLocation:i}}a(e,"create"),t.create=e;function r(n){let i=n;return g.defined(i)&&ie.is(n.stoppedLocation)}a(r,"is"),t.is=r})(oy||(oy={}));(function(t){t.Type=1,t.Parameter=2;function e(r){return r===1||r===2}a(e,"is"),t.is=e})(pp||(pp={}));(function(t){function e(n){return{value:n}}a(e,"create"),t.create=e;function r(n){let i=n;return g.objectLiteral(i)&&(i.tooltip===void 0||g.string(i.tooltip)||io.is(i.tooltip))&&(i.location===void 0||jl.is(i.location))&&(i.command===void 0||ga.is(i.command))}a(r,"is"),t.is=r})(dp||(dp={}));(function(t){function e(n,i,s){let o={position:n,label:i};return s!==void 0&&(o.kind=s),o}a(e,"create"),t.create=e;function r(n){let i=n;return g.objectLiteral(i)&&le.is(i.position)&&(g.string(i.label)||g.typedArray(i.label,dp.is))&&(i.kind===void 0||pp.is(i.kind))&&i.textEdits===void 0||g.typedArray(i.textEdits,rn.is)&&(i.tooltip===void 0||g.string(i.tooltip)||io.is(i.tooltip))&&(i.paddingLeft===void 0||g.boolean(i.paddingLeft))&&(i.paddingRight===void 0||g.boolean(i.paddingRight))}a(r,"is"),t.is=r})(ly||(ly={}));(function(t){function e(r){return{kind:"snippet",value:r}}a(e,"createSnippet"),t.createSnippet=e})(uy||(uy={}));(function(t){function e(r,n,i,s){return{insertText:r,filterText:n,range:i,command:s}}a(e,"create"),t.create=e})(cy||(cy={}));(function(t){function e(r){return{items:r}}a(e,"create"),t.create=e})(fy||(fy={}));(function(t){t.Invoked=0,t.Automatic=1})(py||(py={}));(function(t){function e(r,n){return{range:r,text:n}}a(e,"create"),t.create=e})(dy||(dy={}));(function(t){function e(r,n){return{triggerKind:r,selectedCompletionInfo:n}}a(e,"create"),t.create=e})(my||(my={}));(function(t){function e(r){let n=r;return g.objectLiteral(n)&&sp.is(n.uri)&&g.string(n.name)}a(e,"is"),t.is=e})(hy||(hy={}));Yz=[` `,`\r `,"\r"];(function(t){function e(s,o,l,u){return new gy(s,o,l,u)}a(e,"create"),t.create=e;function r(s){let o=s;return!!(g.defined(o)&&g.string(o.uri)&&(g.undefined(o.languageId)||g.string(o.languageId))&&g.uinteger(o.lineCount)&&g.func(o.getText)&&g.func(o.positionAt)&&g.func(o.offsetAt))}a(r,"is"),t.is=r;function n(s,o){let l=s.getText(),u=i(o,(f,p)=>{let m=f.range.start.line-p.range.start.line;return m===0?f.range.start.character-p.range.start.character:m}),c=l.length;for(let f=u.length-1;f>=0;f--){let p=u[f],m=s.offsetAt(p.range.start),y=s.offsetAt(p.range.end);if(y<=c)l=l.substring(0,m)+p.newText+l.substring(y,l.length);else throw new Error("Overlapping edit");c=m}return l}a(n,"applyEdits"),t.applyEdits=n;function i(s,o){if(s.length<=1)return s;let l=s.length/2|0,u=s.slice(0,l),c=s.slice(l);i(u,o),i(c,o);let f=0,p=0,m=0;for(;f0&&e.push(r.length),this._lineOffsets=e}return this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let r=this.getLineOffsets(),n=0,i=r.length;if(i===0)return le.create(0,e);for(;ne?i=o:n=o+1}let s=n-1;return le.create(s,e-r[s])}offsetAt(e){let r=this.getLineOffsets();if(e.line>=r.length)return this._content.length;if(e.line<0)return 0;let n=r[e.line],i=e.line+1"u"}a(n,"undefined"),t.undefined=n;function i(y){return y===!0||y===!1}a(i,"boolean"),t.boolean=i;function s(y){return e.call(y)==="[object String]"}a(s,"string"),t.string=s;function o(y){return e.call(y)==="[object Number]"}a(o,"number"),t.number=o;function l(y,A,C){return e.call(y)==="[object Number]"&&A<=y&&y<=C}a(l,"numberRange"),t.numberRange=l;function u(y){return e.call(y)==="[object Number]"&&-2147483648<=y&&y<=2147483647}a(u,"integer"),t.integer=u;function c(y){return e.call(y)==="[object Number]"&&0<=y&&y<=2147483647}a(c,"uinteger"),t.uinteger=c;function f(y){return e.call(y)==="[object Function]"}a(f,"func"),t.func=f;function p(y){return y!==null&&typeof y=="object"}a(p,"objectLiteral"),t.objectLiteral=p;function m(y,A){return Array.isArray(y)&&y.every(A)}a(m,"typedArray"),t.typedArray=m})(g||(g={}))});var Ni=J(Sy=>{"use strict";Object.defineProperty(Sy,"__esModule",{value:!0});var Cy;function by(){if(Cy===void 0)throw new Error("No runtime abstraction layer installed");return Cy}a(by,"RAL");(function(t){function e(r){if(r===void 0)throw new Error("No runtime abstraction layer provided");Cy=r}a(e,"install"),t.install=e})(by||(by={}));Sy.default=by});var lo=J(Nt=>{"use strict";Object.defineProperty(Nt,"__esModule",{value:!0});Nt.stringArray=Nt.array=Nt.func=Nt.error=Nt.number=Nt.string=Nt.boolean=void 0;function oB(t){return t===!0||t===!1}a(oB,"boolean");Nt.boolean=oB;function TC(t){return typeof t=="string"||t instanceof String}a(TC,"string");Nt.string=TC;function lB(t){return typeof t=="number"||t instanceof Number}a(lB,"number");Nt.number=lB;function uB(t){return t instanceof Error}a(uB,"error");Nt.error=uB;function cB(t){return typeof t=="function"}a(cB,"func");Nt.func=cB;function xC(t){return Array.isArray(t)}a(xC,"array");Nt.array=xC;function fB(t){return xC(t)&&t.every(e=>TC(e))}a(fB,"stringArray");Nt.stringArray=fB});var Ea=J(uo=>{"use strict";Object.defineProperty(uo,"__esModule",{value:!0});uo.Emitter=uo.Event=void 0;var pB=Ni(),RC;(function(t){let e={dispose(){}};t.None=function(){return e}})(RC||(uo.Event=RC={}));var wy=class{static{a(this,"CallbackList")}add(e,r=null,n){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(e),this._contexts.push(r),Array.isArray(n)&&n.push({dispose:a(()=>this.remove(e,r),"dispose")})}remove(e,r=null){if(!this._callbacks)return;let n=!1;for(let i=0,s=this._callbacks.length;i{this._callbacks||(this._callbacks=new wy),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(e,r);let i={dispose:a(()=>{this._callbacks&&(this._callbacks.remove(e,r),i.dispose=t._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))},"dispose")};return Array.isArray(n)&&n.push(i),i}),this._event}fire(e){this._callbacks&&this._callbacks.invoke.call(this._callbacks,e)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}};uo.Emitter=xp;xp._noop=function(){}});var Ql=J(co=>{"use strict";Object.defineProperty(co,"__esModule",{value:!0});co.CancellationTokenSource=co.CancellationToken=void 0;var dB=Ni(),mB=lo(),Ny=Ea(),Rp;(function(t){t.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:Ny.Event.None}),t.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:Ny.Event.None});function e(r){let n=r;return n&&(n===t.None||n===t.Cancelled||mB.boolean(n.isCancellationRequested)&&!!n.onCancellationRequested)}a(e,"is"),t.is=e})(Rp||(co.CancellationToken=Rp={}));var hB=Object.freeze(function(t,e){let r=(0,dB.default)().timer.setTimeout(t.bind(e),0);return{dispose(){r.dispose()}}}),$p=class{static{a(this,"MutableToken")}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?hB:(this._emitter||(this._emitter=new Ny.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}},Iy=class{static{a(this,"CancellationTokenSource")}get token(){return this._token||(this._token=new $p),this._token}cancel(){this._token?this._token.cancel():this._token=Rp.Cancelled}dispose(){this._token?this._token instanceof $p&&this._token.dispose():this._token=Rp.None}};co.CancellationTokenSource=Iy});var ag=J(q=>{"use strict";Object.defineProperty(q,"__esModule",{value:!0});q.Message=q.NotificationType9=q.NotificationType8=q.NotificationType7=q.NotificationType6=q.NotificationType5=q.NotificationType4=q.NotificationType3=q.NotificationType2=q.NotificationType1=q.NotificationType0=q.NotificationType=q.RequestType9=q.RequestType8=q.RequestType7=q.RequestType6=q.RequestType5=q.RequestType4=q.RequestType3=q.RequestType2=q.RequestType1=q.RequestType=q.RequestType0=q.AbstractMessageSignature=q.ParameterStructures=q.ResponseError=q.ErrorCodes=void 0;var Sa=lo(),Ly;(function(t){t.ParseError=-32700,t.InvalidRequest=-32600,t.MethodNotFound=-32601,t.InvalidParams=-32602,t.InternalError=-32603,t.jsonrpcReservedErrorRangeStart=-32099,t.serverErrorStart=-32099,t.MessageWriteError=-32099,t.MessageReadError=-32098,t.PendingResponseRejected=-32097,t.ConnectionInactive=-32096,t.ServerNotInitialized=-32002,t.UnknownErrorCode=-32001,t.jsonrpcReservedErrorRangeEnd=-32e3,t.serverErrorEnd=-32e3})(Ly||(q.ErrorCodes=Ly={}));var My=class t extends Error{static{a(this,"ResponseError")}constructor(e,r,n){super(r),this.code=Sa.number(e)?e:Ly.UnknownErrorCode,this.data=n,Object.setPrototypeOf(this,t.prototype)}toJson(){let e={code:this.code,message:this.message};return this.data!==void 0&&(e.data=this.data),e}};q.ResponseError=My;var Zt=class t{static{a(this,"ParameterStructures")}constructor(e){this.kind=e}static is(e){return e===t.auto||e===t.byName||e===t.byPosition}toString(){return this.kind}};q.ParameterStructures=Zt;Zt.auto=new Zt("auto");Zt.byPosition=new Zt("byPosition");Zt.byName=new Zt("byName");var ke=class{static{a(this,"AbstractMessageSignature")}constructor(e,r){this.method=e,this.numberOfParams=r}get parameterStructures(){return Zt.auto}};q.AbstractMessageSignature=ke;var Dy=class extends ke{static{a(this,"RequestType0")}constructor(e){super(e,0)}};q.RequestType0=Dy;var Fy=class extends ke{static{a(this,"RequestType")}constructor(e,r=Zt.auto){super(e,1),this._parameterStructures=r}get parameterStructures(){return this._parameterStructures}};q.RequestType=Fy;var Gy=class extends ke{static{a(this,"RequestType1")}constructor(e,r=Zt.auto){super(e,1),this._parameterStructures=r}get parameterStructures(){return this._parameterStructures}};q.RequestType1=Gy;var Uy=class extends ke{static{a(this,"RequestType2")}constructor(e){super(e,2)}};q.RequestType2=Uy;var jy=class extends ke{static{a(this,"RequestType3")}constructor(e){super(e,3)}};q.RequestType3=jy;var zy=class extends ke{static{a(this,"RequestType4")}constructor(e){super(e,4)}};q.RequestType4=zy;var By=class extends ke{static{a(this,"RequestType5")}constructor(e){super(e,5)}};q.RequestType5=By;var Ky=class extends ke{static{a(this,"RequestType6")}constructor(e){super(e,6)}};q.RequestType6=Ky;var qy=class extends ke{static{a(this,"RequestType7")}constructor(e){super(e,7)}};q.RequestType7=qy;var Wy=class extends ke{static{a(this,"RequestType8")}constructor(e){super(e,8)}};q.RequestType8=Wy;var Vy=class extends ke{static{a(this,"RequestType9")}constructor(e){super(e,9)}};q.RequestType9=Vy;var Hy=class extends ke{static{a(this,"NotificationType")}constructor(e,r=Zt.auto){super(e,1),this._parameterStructures=r}get parameterStructures(){return this._parameterStructures}};q.NotificationType=Hy;var Yy=class extends ke{static{a(this,"NotificationType0")}constructor(e){super(e,0)}};q.NotificationType0=Yy;var Xy=class extends ke{static{a(this,"NotificationType1")}constructor(e,r=Zt.auto){super(e,1),this._parameterStructures=r}get parameterStructures(){return this._parameterStructures}};q.NotificationType1=Xy;var Jy=class extends ke{static{a(this,"NotificationType2")}constructor(e){super(e,2)}};q.NotificationType2=Jy;var Zy=class extends ke{static{a(this,"NotificationType3")}constructor(e){super(e,3)}};q.NotificationType3=Zy;var Qy=class extends ke{static{a(this,"NotificationType4")}constructor(e){super(e,4)}};q.NotificationType4=Qy;var eg=class extends ke{static{a(this,"NotificationType5")}constructor(e){super(e,5)}};q.NotificationType5=eg;var tg=class extends ke{static{a(this,"NotificationType6")}constructor(e){super(e,6)}};q.NotificationType6=tg;var rg=class extends ke{static{a(this,"NotificationType7")}constructor(e){super(e,7)}};q.NotificationType7=rg;var ng=class extends ke{static{a(this,"NotificationType8")}constructor(e){super(e,8)}};q.NotificationType8=ng;var ig=class extends ke{static{a(this,"NotificationType9")}constructor(e){super(e,9)}};q.NotificationType9=ig;var kC;(function(t){function e(i){let s=i;return s&&Sa.string(s.method)&&(Sa.string(s.id)||Sa.number(s.id))}a(e,"isRequest"),t.isRequest=e;function r(i){let s=i;return s&&Sa.string(s.method)&&i.id===void 0}a(r,"isNotification"),t.isNotification=r;function n(i){let s=i;return s&&(s.result!==void 0||!!s.error)&&(Sa.string(s.id)||Sa.number(s.id)||s.id===null)}a(n,"isResponse"),t.isResponse=n})(kC||(q.Message=kC={}))});var og=J(Ii=>{"use strict";var PC;Object.defineProperty(Ii,"__esModule",{value:!0});Ii.LRUCache=Ii.LinkedMap=Ii.Touch=void 0;var _t;(function(t){t.None=0,t.First=1,t.AsOld=t.First,t.Last=2,t.AsNew=t.Last})(_t||(Ii.Touch=_t={}));var wp=class{static{a(this,"LinkedMap")}constructor(){this[PC]="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(){return this._head?.value}get last(){return this._tail?.value}has(e){return this._map.has(e)}get(e,r=_t.None){let n=this._map.get(e);if(n)return r!==_t.None&&this.touch(n,r),n.value}set(e,r,n=_t.None){let i=this._map.get(e);if(i)i.value=r,n!==_t.None&&this.touch(i,n);else{switch(i={key:e,value:r,next:void 0,previous:void 0},n){case _t.None:this.addItemLast(i);break;case _t.First:this.addItemFirst(i);break;case _t.Last:this.addItemLast(i);break;default:this.addItemLast(i);break}this._map.set(e,i),this._size++}return this}delete(e){return!!this.remove(e)}remove(e){let r=this._map.get(e);if(r)return this._map.delete(e),this.removeItem(r),this._size--,r.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");let e=this._head;return this._map.delete(e.key),this.removeItem(e),this._size--,e.value}forEach(e,r){let n=this._state,i=this._head;for(;i;){if(r?e.bind(r)(i.value,i.key,this):e(i.value,i.key,this),this._state!==n)throw new Error("LinkedMap got modified during iteration.");i=i.next}}keys(){let e=this._state,r=this._head,n={[Symbol.iterator]:()=>n,next:a(()=>{if(this._state!==e)throw new Error("LinkedMap got modified during iteration.");if(r){let i={value:r.key,done:!1};return r=r.next,i}else return{value:void 0,done:!0}},"next")};return n}values(){let e=this._state,r=this._head,n={[Symbol.iterator]:()=>n,next:a(()=>{if(this._state!==e)throw new Error("LinkedMap got modified during iteration.");if(r){let i={value:r.value,done:!1};return r=r.next,i}else return{value:void 0,done:!0}},"next")};return n}entries(){let e=this._state,r=this._head,n={[Symbol.iterator]:()=>n,next:a(()=>{if(this._state!==e)throw new Error("LinkedMap got modified during iteration.");if(r){let i={value:[r.key,r.value],done:!1};return r=r.next,i}else return{value:void 0,done:!0}},"next")};return n}[(PC=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(e){if(e>=this.size)return;if(e===0){this.clear();return}let r=this._head,n=this.size;for(;r&&n>e;)this._map.delete(r.key),r=r.next,n--;this._head=r,this._size=n,r&&(r.previous=void 0),this._state++}addItemFirst(e){if(!this._head&&!this._tail)this._tail=e;else if(this._head)e.next=this._head,this._head.previous=e;else throw new Error("Invalid list");this._head=e,this._state++}addItemLast(e){if(!this._head&&!this._tail)this._head=e;else if(this._tail)e.previous=this._tail,this._tail.next=e;else throw new Error("Invalid list");this._tail=e,this._state++}removeItem(e){if(e===this._head&&e===this._tail)this._head=void 0,this._tail=void 0;else if(e===this._head){if(!e.next)throw new Error("Invalid list");e.next.previous=void 0,this._head=e.next}else if(e===this._tail){if(!e.previous)throw new Error("Invalid list");e.previous.next=void 0,this._tail=e.previous}else{let r=e.next,n=e.previous;if(!r||!n)throw new Error("Invalid list");r.previous=n,n.next=r}e.next=void 0,e.previous=void 0,this._state++}touch(e,r){if(!this._head||!this._tail)throw new Error("Invalid list");if(!(r!==_t.First&&r!==_t.Last)){if(r===_t.First){if(e===this._head)return;let n=e.next,i=e.previous;e===this._tail?(i.next=void 0,this._tail=i):(n.previous=i,i.next=n),e.previous=void 0,e.next=this._head,this._head.previous=e,this._head=e,this._state++}else if(r===_t.Last){if(e===this._tail)return;let n=e.next,i=e.previous;e===this._head?(n.previous=void 0,this._head=n):(n.previous=i,i.next=n),e.next=void 0,e.previous=this._tail,this._tail.next=e,this._tail=e,this._state++}}}toJSON(){let e=[];return this.forEach((r,n)=>{e.push([n,r])}),e}fromJSON(e){this.clear();for(let[r,n]of e)this.set(r,n)}};Ii.LinkedMap=wp;var sg=class extends wp{static{a(this,"LRUCache")}constructor(e,r=1){super(),this._limit=e,this._ratio=Math.min(Math.max(0,r),1)}get limit(){return this._limit}set limit(e){this._limit=e,this.checkTrim()}get ratio(){return this._ratio}set ratio(e){this._ratio=Math.min(Math.max(0,e),1),this.checkTrim()}get(e,r=_t.AsNew){return super.get(e,r)}peek(e){return super.get(e,_t.None)}set(e,r){return super.set(e,r,_t.Last),this.checkTrim(),this}checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))}};Ii.LRUCache=sg});var LC=J(Np=>{"use strict";Object.defineProperty(Np,"__esModule",{value:!0});Np.Disposable=void 0;var OC;(function(t){function e(r){return{dispose:r}}a(e,"create"),t.create=e})(OC||(Np.Disposable=OC={}))});var MC=J(To=>{"use strict";Object.defineProperty(To,"__esModule",{value:!0});To.SharedArrayReceiverStrategy=To.SharedArraySenderStrategy=void 0;var TB=Ql(),gu;(function(t){t.Continue=0,t.Cancelled=1})(gu||(gu={}));var lg=class{static{a(this,"SharedArraySenderStrategy")}constructor(){this.buffers=new Map}enableCancellation(e){if(e.id===null)return;let r=new SharedArrayBuffer(4),n=new Int32Array(r,0,1);n[0]=gu.Continue,this.buffers.set(e.id,r),e.$cancellationData=r}async sendCancellation(e,r){let n=this.buffers.get(r);if(n===void 0)return;let i=new Int32Array(n,0,1);Atomics.store(i,0,gu.Cancelled)}cleanup(e){this.buffers.delete(e)}dispose(){this.buffers.clear()}};To.SharedArraySenderStrategy=lg;var ug=class{static{a(this,"SharedArrayBufferCancellationToken")}constructor(e){this.data=new Int32Array(e,0,1)}get isCancellationRequested(){return Atomics.load(this.data,0)===gu.Cancelled}get onCancellationRequested(){throw new Error("Cancellation over SharedArrayBuffer doesn't support cancellation events")}},cg=class{static{a(this,"SharedArrayBufferCancellationTokenSource")}constructor(e){this.token=new ug(e)}cancel(){}dispose(){}},fg=class{static{a(this,"SharedArrayReceiverStrategy")}constructor(){this.kind="request"}createCancellationTokenSource(e){let r=e.$cancellationData;return r===void 0?new TB.CancellationTokenSource:new cg(r)}};To.SharedArrayReceiverStrategy=fg});var dg=J(Ip=>{"use strict";Object.defineProperty(Ip,"__esModule",{value:!0});Ip.Semaphore=void 0;var xB=Ni(),pg=class{static{a(this,"Semaphore")}constructor(e=1){if(e<=0)throw new Error("Capacity must be greater than 0");this._capacity=e,this._active=0,this._waiting=[]}lock(e){return new Promise((r,n)=>{this._waiting.push({thunk:e,resolve:r,reject:n}),this.runNext()})}get active(){return this._active}runNext(){this._waiting.length===0||this._active===this._capacity||(0,xB.default)().timer.setImmediate(()=>this.doRunNext())}doRunNext(){if(this._waiting.length===0||this._active===this._capacity)return;let e=this._waiting.shift();if(this._active++,this._active>this._capacity)throw new Error("To many thunks active");try{let r=e.thunk();r instanceof Promise?r.then(n=>{this._active--,e.resolve(n),this.runNext()},n=>{this._active--,e.reject(n),this.runNext()}):(this._active--,e.resolve(r),this.runNext())}catch(r){this._active--,e.reject(r),this.runNext()}}};Ip.Semaphore=pg});var FC=J(_i=>{"use strict";Object.defineProperty(_i,"__esModule",{value:!0});_i.ReadableStreamMessageReader=_i.AbstractMessageReader=_i.MessageReader=void 0;var hg=Ni(),xo=lo(),mg=Ea(),RB=dg(),DC;(function(t){function e(r){let n=r;return n&&xo.func(n.listen)&&xo.func(n.dispose)&&xo.func(n.onError)&&xo.func(n.onClose)&&xo.func(n.onPartialMessage)}a(e,"is"),t.is=e})(DC||(_i.MessageReader=DC={}));var _p=class{static{a(this,"AbstractMessageReader")}constructor(){this.errorEmitter=new mg.Emitter,this.closeEmitter=new mg.Emitter,this.partialMessageEmitter=new mg.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e){this.errorEmitter.fire(this.asError(e))}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}get onPartialMessage(){return this.partialMessageEmitter.event}firePartialMessage(e){this.partialMessageEmitter.fire(e)}asError(e){return e instanceof Error?e:new Error(`Reader received error. Reason: ${xo.string(e.message)?e.message:"unknown"}`)}};_i.AbstractMessageReader=_p;var yg;(function(t){function e(r){let n,i,s,o=new Map,l,u=new Map;if(r===void 0||typeof r=="string")n=r??"utf-8";else{if(n=r.charset??"utf-8",r.contentDecoder!==void 0&&(s=r.contentDecoder,o.set(s.name,s)),r.contentDecoders!==void 0)for(let c of r.contentDecoders)o.set(c.name,c);if(r.contentTypeDecoder!==void 0&&(l=r.contentTypeDecoder,u.set(l.name,l)),r.contentTypeDecoders!==void 0)for(let c of r.contentTypeDecoders)u.set(c.name,c)}return l===void 0&&(l=(0,hg.default)().applicationJson.decoder,u.set(l.name,l)),{charset:n,contentDecoder:s,contentDecoders:o,contentTypeDecoder:l,contentTypeDecoders:u}}a(e,"fromOptions"),t.fromOptions=e})(yg||(yg={}));var gg=class extends _p{static{a(this,"ReadableStreamMessageReader")}constructor(e,r){super(),this.readable=e,this.options=yg.fromOptions(r),this.buffer=(0,hg.default)().messageBuffer.create(this.options.charset),this._partialMessageTimeout=1e4,this.nextMessageLength=-1,this.messageToken=0,this.readSemaphore=new RB.Semaphore(1)}set partialMessageTimeout(e){this._partialMessageTimeout=e}get partialMessageTimeout(){return this._partialMessageTimeout}listen(e){this.nextMessageLength=-1,this.messageToken=0,this.partialMessageTimer=void 0,this.callback=e;let r=this.readable.onData(n=>{this.onData(n)});return this.readable.onError(n=>this.fireError(n)),this.readable.onClose(()=>this.fireClose()),r}onData(e){try{for(this.buffer.append(e);;){if(this.nextMessageLength===-1){let n=this.buffer.tryReadHeaders(!0);if(!n)return;let i=n.get("content-length");if(!i){this.fireError(new Error(`Header must provide a Content-Length property. ${JSON.stringify(Object.fromEntries(n))}`));return}let s=parseInt(i);if(isNaN(s)){this.fireError(new Error(`Content-Length value must be a number. Got ${i}`));return}this.nextMessageLength=s}let r=this.buffer.tryReadBody(this.nextMessageLength);if(r===void 0){this.setPartialMessageTimer();return}this.clearPartialMessageTimer(),this.nextMessageLength=-1,this.readSemaphore.lock(async()=>{let n=this.options.contentDecoder!==void 0?await this.options.contentDecoder.decode(r):r,i=await this.options.contentTypeDecoder.decode(n,this.options);this.callback(i)}).catch(n=>{this.fireError(n)})}}catch(r){this.fireError(r)}}clearPartialMessageTimer(){this.partialMessageTimer&&(this.partialMessageTimer.dispose(),this.partialMessageTimer=void 0)}setPartialMessageTimer(){this.clearPartialMessageTimer(),!(this._partialMessageTimeout<=0)&&(this.partialMessageTimer=(0,hg.default)().timer.setTimeout((e,r)=>{this.partialMessageTimer=void 0,e===this.messageToken&&(this.firePartialMessage({messageToken:e,waitingTime:r}),this.setPartialMessageTimer())},this._partialMessageTimeout,this.messageToken,this._partialMessageTimeout))}};_i.ReadableStreamMessageReader=gg});var BC=J(ki=>{"use strict";Object.defineProperty(ki,"__esModule",{value:!0});ki.WriteableStreamMessageWriter=ki.AbstractMessageWriter=ki.MessageWriter=void 0;var GC=Ni(),Tu=lo(),$B=dg(),UC=Ea(),EB="Content-Length: ",jC=`\r `,zC;(function(t){function e(r){let n=r;return n&&Tu.func(n.dispose)&&Tu.func(n.onClose)&&Tu.func(n.onError)&&Tu.func(n.write)}a(e,"is"),t.is=e})(zC||(ki.MessageWriter=zC={}));var kp=class{static{a(this,"AbstractMessageWriter")}constructor(){this.errorEmitter=new UC.Emitter,this.closeEmitter=new UC.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e,r,n){this.errorEmitter.fire([this.asError(e),r,n])}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}asError(e){return e instanceof Error?e:new Error(`Writer received error. Reason: ${Tu.string(e.message)?e.message:"unknown"}`)}};ki.AbstractMessageWriter=kp;var Tg;(function(t){function e(r){return r===void 0||typeof r=="string"?{charset:r??"utf-8",contentTypeEncoder:(0,GC.default)().applicationJson.encoder}:{charset:r.charset??"utf-8",contentEncoder:r.contentEncoder,contentTypeEncoder:r.contentTypeEncoder??(0,GC.default)().applicationJson.encoder}}a(e,"fromOptions"),t.fromOptions=e})(Tg||(Tg={}));var xg=class extends kp{static{a(this,"WriteableStreamMessageWriter")}constructor(e,r){super(),this.writable=e,this.options=Tg.fromOptions(r),this.errorCount=0,this.writeSemaphore=new $B.Semaphore(1),this.writable.onError(n=>this.fireError(n)),this.writable.onClose(()=>this.fireClose())}async write(e){return this.writeSemaphore.lock(async()=>this.options.contentTypeEncoder.encode(e,this.options).then(n=>this.options.contentEncoder!==void 0?this.options.contentEncoder.encode(n):n).then(n=>{let i=[];return i.push(EB,n.byteLength.toString(),jC),i.push(jC),this.doWrite(e,i,n)},n=>{throw this.fireError(n),n}))}async doWrite(e,r,n){try{return await this.writable.write(r.join(""),"ascii"),this.writable.write(n)}catch(i){return this.handleError(i,e),Promise.reject(i)}}handleError(e,r){this.errorCount++,this.fireError(e,r,this.errorCount)}end(){this.writable.end()}};ki.WriteableStreamMessageWriter=xg});var KC=J(Pp=>{"use strict";Object.defineProperty(Pp,"__esModule",{value:!0});Pp.AbstractMessageBuffer=void 0;var vB=13,AB=10,CB=`\r `,Rg=class{static{a(this,"AbstractMessageBuffer")}constructor(e="utf-8"){this._encoding=e,this._chunks=[],this._totalLength=0}get encoding(){return this._encoding}append(e){let r=typeof e=="string"?this.fromString(e,this._encoding):e;this._chunks.push(r),this._totalLength+=r.byteLength}tryReadHeaders(e=!1){if(this._chunks.length===0)return;let r=0,n=0,i=0,s=0;e:for(;nthis._totalLength)throw new Error("Cannot read so many bytes!");if(this._chunks[0].byteLength===e){let s=this._chunks[0];return this._chunks.shift(),this._totalLength-=e,this.asNative(s)}if(this._chunks[0].byteLength>e){let s=this._chunks[0],o=this.asNative(s,e);return this._chunks[0]=s.slice(e),this._totalLength-=e,o}let r=this.allocNative(e),n=0,i=0;for(;e>0;){let s=this._chunks[i];if(s.byteLength>e){let o=s.slice(0,e);r.set(o,n),n+=e,this._chunks[i]=s.slice(e),this._totalLength-=e,e-=e}else r.set(s,n),n+=s.byteLength,this._chunks.shift(),this._totalLength-=s.byteLength,e-=s.byteLength}return r}};Pp.AbstractMessageBuffer=Rg});var YC=J(Z=>{"use strict";Object.defineProperty(Z,"__esModule",{value:!0});Z.createMessageConnection=Z.ConnectionOptions=Z.MessageStrategy=Z.CancellationStrategy=Z.CancellationSenderStrategy=Z.CancellationReceiverStrategy=Z.RequestCancellationReceiverStrategy=Z.IdCancellationReceiverStrategy=Z.ConnectionStrategy=Z.ConnectionError=Z.ConnectionErrors=Z.LogTraceNotification=Z.SetTraceNotification=Z.TraceFormat=Z.TraceValues=Z.Trace=Z.NullLogger=Z.ProgressType=Z.ProgressToken=void 0;var qC=Ni(),Ke=lo(),Y=ag(),WC=og(),xu=Ea(),$g=Ql(),Eu;(function(t){t.type=new Y.NotificationType("$/cancelRequest")})(Eu||(Eu={}));var Eg;(function(t){function e(r){return typeof r=="string"||typeof r=="number"}a(e,"is"),t.is=e})(Eg||(Z.ProgressToken=Eg={}));var Ru;(function(t){t.type=new Y.NotificationType("$/progress")})(Ru||(Ru={}));var vg=class{static{a(this,"ProgressType")}constructor(){}};Z.ProgressType=vg;var Ag;(function(t){function e(r){return Ke.func(r)}a(e,"is"),t.is=e})(Ag||(Ag={}));Z.NullLogger=Object.freeze({error:a(()=>{},"error"),warn:a(()=>{},"warn"),info:a(()=>{},"info"),log:a(()=>{},"log")});var fe;(function(t){t[t.Off=0]="Off",t[t.Messages=1]="Messages",t[t.Compact=2]="Compact",t[t.Verbose=3]="Verbose"})(fe||(Z.Trace=fe={}));var VC;(function(t){t.Off="off",t.Messages="messages",t.Compact="compact",t.Verbose="verbose"})(VC||(Z.TraceValues=VC={}));(function(t){function e(n){if(!Ke.string(n))return t.Off;switch(n=n.toLowerCase(),n){case"off":return t.Off;case"messages":return t.Messages;case"compact":return t.Compact;case"verbose":return t.Verbose;default:return t.Off}}a(e,"fromString"),t.fromString=e;function r(n){switch(n){case t.Off:return"off";case t.Messages:return"messages";case t.Compact:return"compact";case t.Verbose:return"verbose";default:return"off"}}a(r,"toString"),t.toString=r})(fe||(Z.Trace=fe={}));var lr;(function(t){t.Text="text",t.JSON="json"})(lr||(Z.TraceFormat=lr={}));(function(t){function e(r){return Ke.string(r)?(r=r.toLowerCase(),r==="json"?t.JSON:t.Text):t.Text}a(e,"fromString"),t.fromString=e})(lr||(Z.TraceFormat=lr={}));var Cg;(function(t){t.type=new Y.NotificationType("$/setTrace")})(Cg||(Z.SetTraceNotification=Cg={}));var Op;(function(t){t.type=new Y.NotificationType("$/logTrace")})(Op||(Z.LogTraceNotification=Op={}));var $u;(function(t){t[t.Closed=1]="Closed",t[t.Disposed=2]="Disposed",t[t.AlreadyListening=3]="AlreadyListening"})($u||(Z.ConnectionErrors=$u={}));var Ro=class t extends Error{static{a(this,"ConnectionError")}constructor(e,r){super(r),this.code=e,Object.setPrototypeOf(this,t.prototype)}};Z.ConnectionError=Ro;var bg;(function(t){function e(r){let n=r;return n&&Ke.func(n.cancelUndispatched)}a(e,"is"),t.is=e})(bg||(Z.ConnectionStrategy=bg={}));var Lp;(function(t){function e(r){let n=r;return n&&(n.kind===void 0||n.kind==="id")&&Ke.func(n.createCancellationTokenSource)&&(n.dispose===void 0||Ke.func(n.dispose))}a(e,"is"),t.is=e})(Lp||(Z.IdCancellationReceiverStrategy=Lp={}));var Sg;(function(t){function e(r){let n=r;return n&&n.kind==="request"&&Ke.func(n.createCancellationTokenSource)&&(n.dispose===void 0||Ke.func(n.dispose))}a(e,"is"),t.is=e})(Sg||(Z.RequestCancellationReceiverStrategy=Sg={}));var Mp;(function(t){t.Message=Object.freeze({createCancellationTokenSource(r){return new $g.CancellationTokenSource}});function e(r){return Lp.is(r)||Sg.is(r)}a(e,"is"),t.is=e})(Mp||(Z.CancellationReceiverStrategy=Mp={}));var Dp;(function(t){t.Message=Object.freeze({sendCancellation(r,n){return r.sendNotification(Eu.type,{id:n})},cleanup(r){}});function e(r){let n=r;return n&&Ke.func(n.sendCancellation)&&Ke.func(n.cleanup)}a(e,"is"),t.is=e})(Dp||(Z.CancellationSenderStrategy=Dp={}));var Fp;(function(t){t.Message=Object.freeze({receiver:Mp.Message,sender:Dp.Message});function e(r){let n=r;return n&&Mp.is(n.receiver)&&Dp.is(n.sender)}a(e,"is"),t.is=e})(Fp||(Z.CancellationStrategy=Fp={}));var Gp;(function(t){function e(r){let n=r;return n&&Ke.func(n.handleMessage)}a(e,"is"),t.is=e})(Gp||(Z.MessageStrategy=Gp={}));var HC;(function(t){function e(r){let n=r;return n&&(Fp.is(n.cancellationStrategy)||bg.is(n.connectionStrategy)||Gp.is(n.messageStrategy))}a(e,"is"),t.is=e})(HC||(Z.ConnectionOptions=HC={}));var Mr;(function(t){t[t.New=1]="New",t[t.Listening=2]="Listening",t[t.Closed=3]="Closed",t[t.Disposed=4]="Disposed"})(Mr||(Mr={}));function bB(t,e,r,n){let i=r!==void 0?r:Z.NullLogger,s=0,o=0,l=0,u="2.0",c,f=new Map,p,m=new Map,y=new Map,A,C=new WC.LinkedMap,_=new Map,S=new Set,w=new Map,$=fe.Off,K=lr.Text,M,ge=Mr.New,Fr=new xu.Emitter,at=new xu.Emitter,Er=new xu.Emitter,pr=new xu.Emitter,N=new xu.Emitter,T=n&&n.cancellationStrategy?n.cancellationStrategy:Fp.Message;function D(h){if(h===null)throw new Error("Can't send requests with id null since the response can't be correlated.");return"req-"+h.toString()}a(D,"createRequestQueueKey");function L(h){return h===null?"res-unknown-"+(++l).toString():"res-"+h.toString()}a(L,"createResponseQueueKey");function x(){return"not-"+(++o).toString()}a(x,"createNotificationQueueKey");function E(h,v){Y.Message.isRequest(v)?h.set(D(v.id),v):Y.Message.isResponse(v)?h.set(L(v.id),v):h.set(x(),v)}a(E,"addMessageToQueue");function b(h){}a(b,"cancelUndispatched");function O(){return ge===Mr.Listening}a(O,"isListening");function j(){return ge===Mr.Closed}a(j,"isClosed");function k(){return ge===Mr.Disposed}a(k,"isDisposed");function X(){(ge===Mr.New||ge===Mr.Listening)&&(ge=Mr.Closed,at.fire(void 0))}a(X,"closeHandler");function Q(h){Fr.fire([h,void 0,void 0])}a(Q,"readErrorHandler");function Ze(h){Fr.fire(h)}a(Ze,"writeErrorHandler"),t.onClose(X),t.onError(Q),e.onClose(X),e.onError(Ze);function ce(){A||C.size===0||(A=(0,qC.default)().timer.setImmediate(()=>{A=void 0,Gr()}))}a(ce,"triggerMessageQueue");function Fe(h){Y.Message.isRequest(h)?qt(h):Y.Message.isNotification(h)?Pt(h):Y.Message.isResponse(h)?Fn(h):vr(h)}a(Fe,"handleMessage");function Gr(){if(C.size===0)return;let h=C.shift();try{let v=n?.messageStrategy;Gp.is(v)?v.handleMessage(h,Fe):Fe(h)}finally{ce()}}a(Gr,"processMessageQueue");let pt=a(h=>{try{if(Y.Message.isNotification(h)&&h.method===Eu.type.method){let v=h.params.id,P=D(v),B=C.get(P);if(Y.Message.isRequest(B)){let Te=n?.connectionStrategy,qe=Te&&Te.cancelUndispatched?Te.cancelUndispatched(B,b):void 0;if(qe&&(qe.error!==void 0||qe.result!==void 0)){C.delete(P),w.delete(v),qe.id=B.id,Gn(qe,h.method,Date.now()),e.write(qe).catch(()=>i.error("Sending response for canceled message failed."));return}}let we=w.get(v);if(we!==void 0){we.cancel(),Sd(h);return}else S.add(v)}E(C,h)}finally{ce()}},"callback");function qt(h){if(k())return;function v(oe,Ge,me){let st={jsonrpc:u,id:h.id};oe instanceof Y.ResponseError?st.error=oe.toJson():st.result=oe===void 0?null:oe,Gn(st,Ge,me),e.write(st).catch(()=>i.error("Sending response failed."))}a(v,"reply");function P(oe,Ge,me){let st={jsonrpc:u,id:h.id,error:oe.toJson()};Gn(st,Ge,me),e.write(st).catch(()=>i.error("Sending response failed."))}a(P,"replyError");function B(oe,Ge,me){oe===void 0&&(oe=null);let st={jsonrpc:u,id:h.id,result:oe};Gn(st,Ge,me),e.write(st).catch(()=>i.error("Sending response failed."))}a(B,"replySuccess"),Wu(h);let we=f.get(h.method),Te,qe;we&&(Te=we.type,qe=we.handler);let He=Date.now();if(qe||c){let oe=h.id??String(Date.now()),Ge=Lp.is(T.receiver)?T.receiver.createCancellationTokenSource(oe):T.receiver.createCancellationTokenSource(h);h.id!==null&&S.has(h.id)&&Ge.cancel(),h.id!==null&&w.set(oe,Ge);try{let me;if(qe)if(h.params===void 0){if(Te!==void 0&&Te.numberOfParams!==0){P(new Y.ResponseError(Y.ErrorCodes.InvalidParams,`Request ${h.method} defines ${Te.numberOfParams} params but received none.`),h.method,He);return}me=qe(Ge.token)}else if(Array.isArray(h.params)){if(Te!==void 0&&Te.parameterStructures===Y.ParameterStructures.byName){P(new Y.ResponseError(Y.ErrorCodes.InvalidParams,`Request ${h.method} defines parameters by name but received parameters by position`),h.method,He);return}me=qe(...h.params,Ge.token)}else{if(Te!==void 0&&Te.parameterStructures===Y.ParameterStructures.byPosition){P(new Y.ResponseError(Y.ErrorCodes.InvalidParams,`Request ${h.method} defines parameters by position but received parameters by name`),h.method,He);return}me=qe(h.params,Ge.token)}else c&&(me=c(h.method,h.params,Ge.token));let st=me;me?st.then?st.then(Ot=>{w.delete(oe),v(Ot,h.method,He)},Ot=>{w.delete(oe),Ot instanceof Y.ResponseError?P(Ot,h.method,He):Ot&&Ke.string(Ot.message)?P(new Y.ResponseError(Y.ErrorCodes.InternalError,`Request ${h.method} failed with message: ${Ot.message}`),h.method,He):P(new Y.ResponseError(Y.ErrorCodes.InternalError,`Request ${h.method} failed unexpectedly without providing any details.`),h.method,He)}):(w.delete(oe),v(me,h.method,He)):(w.delete(oe),B(me,h.method,He))}catch(me){w.delete(oe),me instanceof Y.ResponseError?v(me,h.method,He):me&&Ke.string(me.message)?P(new Y.ResponseError(Y.ErrorCodes.InternalError,`Request ${h.method} failed with message: ${me.message}`),h.method,He):P(new Y.ResponseError(Y.ErrorCodes.InternalError,`Request ${h.method} failed unexpectedly without providing any details.`),h.method,He)}}else P(new Y.ResponseError(Y.ErrorCodes.MethodNotFound,`Unhandled method ${h.method}`),h.method,He)}a(qt,"handleRequest");function Fn(h){if(!k())if(h.id===null)h.error?i.error(`Received response message without id: Error is: ${JSON.stringify(h.error,void 0,4)}`):i.error("Received response message without id. No further error information provided.");else{let v=h.id,P=_.get(v);if(JN(h,P),P!==void 0){_.delete(v);try{if(h.error){let B=h.error;P.reject(new Y.ResponseError(B.code,B.message,B.data))}else if(h.result!==void 0)P.resolve(h.result);else throw new Error("Should never happen.")}catch(B){B.message?i.error(`Response handler '${P.method}' failed with message: ${B.message}`):i.error(`Response handler '${P.method}' failed unexpectedly.`)}}}}a(Fn,"handleResponse");function Pt(h){if(k())return;let v,P;if(h.method===Eu.type.method){let B=h.params.id;S.delete(B),Sd(h);return}else{let B=m.get(h.method);B&&(P=B.handler,v=B.type)}if(P||p)try{if(Sd(h),P)if(h.params===void 0)v!==void 0&&v.numberOfParams!==0&&v.parameterStructures!==Y.ParameterStructures.byName&&i.error(`Notification ${h.method} defines ${v.numberOfParams} params but received none.`),P();else if(Array.isArray(h.params)){let B=h.params;h.method===Ru.type.method&&B.length===2&&Eg.is(B[0])?P({token:B[0],value:B[1]}):(v!==void 0&&(v.parameterStructures===Y.ParameterStructures.byName&&i.error(`Notification ${h.method} defines parameters by name but received parameters by position`),v.numberOfParams!==h.params.length&&i.error(`Notification ${h.method} defines ${v.numberOfParams} params but received ${B.length} arguments`)),P(...B))}else v!==void 0&&v.parameterStructures===Y.ParameterStructures.byPosition&&i.error(`Notification ${h.method} defines parameters by position but received parameters by name`),P(h.params);else p&&p(h.method,h.params)}catch(B){B.message?i.error(`Notification handler '${h.method}' failed with message: ${B.message}`):i.error(`Notification handler '${h.method}' failed unexpectedly.`)}else Er.fire(h)}a(Pt,"handleNotification");function vr(h){if(!h){i.error("Received empty message.");return}i.error(`Received message which is neither a response nor a notification message: ${JSON.stringify(h,null,4)}`);let v=h;if(Ke.string(v.id)||Ke.number(v.id)){let P=v.id,B=_.get(P);B&&B.reject(new Error("The received response has neither a result nor an error property."))}}a(vr,"handleInvalidMessage");function xt(h){if(h!=null)switch($){case fe.Verbose:return JSON.stringify(h,null,4);case fe.Compact:return JSON.stringify(h);default:return}}a(xt,"stringifyTrace");function Ar(h){if(!($===fe.Off||!M))if(K===lr.Text){let v;($===fe.Verbose||$===fe.Compact)&&h.params&&(v=`Params: ${xt(h.params)} `),M.log(`Sending request '${h.method} - (${h.id})'.`,v)}else Fa("send-request",h)}a(Ar,"traceSendingRequest");function pn(h){if(!($===fe.Off||!M))if(K===lr.Text){let v;($===fe.Verbose||$===fe.Compact)&&(h.params?v=`Params: ${xt(h.params)} `:v=`No parameters provided. `),M.log(`Sending notification '${h.method}'.`,v)}else Fa("send-notification",h)}a(pn,"traceSendingNotification");function Gn(h,v,P){if(!($===fe.Off||!M))if(K===lr.Text){let B;($===fe.Verbose||$===fe.Compact)&&(h.error&&h.error.data?B=`Error data: ${xt(h.error.data)} `:h.result?B=`Result: ${xt(h.result)} `:h.error===void 0&&(B=`No result returned. `)),M.log(`Sending response '${v} - (${h.id})'. Processing request took ${Date.now()-P}ms`,B)}else Fa("send-response",h)}a(Gn,"traceSendingResponse");function Wu(h){if(!($===fe.Off||!M))if(K===lr.Text){let v;($===fe.Verbose||$===fe.Compact)&&h.params&&(v=`Params: ${xt(h.params)} `),M.log(`Received request '${h.method} - (${h.id})'.`,v)}else Fa("receive-request",h)}a(Wu,"traceReceivedRequest");function Sd(h){if(!($===fe.Off||!M||h.method===Op.type.method))if(K===lr.Text){let v;($===fe.Verbose||$===fe.Compact)&&(h.params?v=`Params: ${xt(h.params)} `:v=`No parameters provided. `),M.log(`Received notification '${h.method}'.`,v)}else Fa("receive-notification",h)}a(Sd,"traceReceivedNotification");function JN(h,v){if(!($===fe.Off||!M))if(K===lr.Text){let P;if(($===fe.Verbose||$===fe.Compact)&&(h.error&&h.error.data?P=`Error data: ${xt(h.error.data)} `:h.result?P=`Result: ${xt(h.result)} `:h.error===void 0&&(P=`No result returned. `)),v){let B=h.error?` Request failed: ${h.error.message} (${h.error.code}).`:"";M.log(`Received response '${v.method} - (${h.id})' in ${Date.now()-v.timerStart}ms.${B}`,P)}else M.log(`Received response ${h.id} without active response promise.`,P)}else Fa("receive-response",h)}a(JN,"traceReceivedResponse");function Fa(h,v){if(!M||$===fe.Off)return;let P={isLSPMessage:!0,type:h,message:v,timestamp:Date.now()};M.log(P)}a(Fa,"logLSPMessage");function Bo(){if(j())throw new Ro($u.Closed,"Connection is closed.");if(k())throw new Ro($u.Disposed,"Connection is disposed.")}a(Bo,"throwIfClosedOrDisposed");function ZN(){if(O())throw new Ro($u.AlreadyListening,"Connection is already listening")}a(ZN,"throwIfListening");function QN(){if(!O())throw new Error("Call listen() first.")}a(QN,"throwIfNotListening");function Ko(h){return h===void 0?null:h}a(Ko,"undefinedToNull");function IT(h){if(h!==null)return h}a(IT,"nullToUndefined");function _T(h){return h!=null&&!Array.isArray(h)&&typeof h=="object"}a(_T,"isNamedParam");function wd(h,v){switch(h){case Y.ParameterStructures.auto:return _T(v)?IT(v):[Ko(v)];case Y.ParameterStructures.byName:if(!_T(v))throw new Error("Received parameters by name but param is not an object literal.");return IT(v);case Y.ParameterStructures.byPosition:return[Ko(v)];default:throw new Error(`Unknown parameter structure ${h.toString()}`)}}a(wd,"computeSingleParam");function kT(h,v){let P,B=h.numberOfParams;switch(B){case 0:P=void 0;break;case 1:P=wd(h.parameterStructures,v[0]);break;default:P=[];for(let we=0;we{Bo();let P,B;if(Ke.string(h)){P=h;let Te=v[0],qe=0,He=Y.ParameterStructures.auto;Y.ParameterStructures.is(Te)&&(qe=1,He=Te);let oe=v.length,Ge=oe-qe;switch(Ge){case 0:B=void 0;break;case 1:B=wd(He,v[qe]);break;default:if(He===Y.ParameterStructures.byName)throw new Error(`Received ${Ge} parameters for 'by Name' notification parameter structure.`);B=v.slice(qe,oe).map(me=>Ko(me));break}}else{let Te=v;P=h.method,B=kT(h,Te)}let we={jsonrpc:u,method:P,params:B};return pn(we),e.write(we).catch(Te=>{throw i.error("Sending notification failed."),Te})},"sendNotification"),onNotification:a((h,v)=>{Bo();let P;return Ke.func(h)?p=h:v&&(Ke.string(h)?(P=h,m.set(h,{type:void 0,handler:v})):(P=h.method,m.set(h.method,{type:h,handler:v}))),{dispose:a(()=>{P!==void 0?m.delete(P):p=void 0},"dispose")}},"onNotification"),onProgress:a((h,v,P)=>{if(y.has(v))throw new Error(`Progress handler for token ${v} already registered`);return y.set(v,P),{dispose:a(()=>{y.delete(v)},"dispose")}},"onProgress"),sendProgress:a((h,v,P)=>Ga.sendNotification(Ru.type,{token:v,value:P}),"sendProgress"),onUnhandledProgress:pr.event,sendRequest:a((h,...v)=>{Bo(),QN();let P,B,we;if(Ke.string(h)){P=h;let oe=v[0],Ge=v[v.length-1],me=0,st=Y.ParameterStructures.auto;Y.ParameterStructures.is(oe)&&(me=1,st=oe);let Ot=v.length;$g.CancellationToken.is(Ge)&&(Ot=Ot-1,we=Ge);let Ur=Ot-me;switch(Ur){case 0:B=void 0;break;case 1:B=wd(st,v[me]);break;default:if(st===Y.ParameterStructures.byName)throw new Error(`Received ${Ur} parameters for 'by Name' request parameter structure.`);B=v.slice(me,Ot).map(eI=>Ko(eI));break}}else{let oe=v;P=h.method,B=kT(h,oe);let Ge=h.numberOfParams;we=$g.CancellationToken.is(oe[Ge])?oe[Ge]:void 0}let Te=s++,qe;we&&(qe=we.onCancellationRequested(()=>{let oe=T.sender.sendCancellation(Ga,Te);return oe===void 0?(i.log(`Received no promise from cancellation strategy when cancelling id ${Te}`),Promise.resolve()):oe.catch(()=>{i.log(`Sending cancellation messages for id ${Te} failed`)})}));let He={jsonrpc:u,id:Te,method:P,params:B};return Ar(He),typeof T.sender.enableCancellation=="function"&&T.sender.enableCancellation(He),new Promise(async(oe,Ge)=>{let me=a(Ur=>{oe(Ur),T.sender.cleanup(Te),qe?.dispose()},"resolveWithCleanup"),st=a(Ur=>{Ge(Ur),T.sender.cleanup(Te),qe?.dispose()},"rejectWithCleanup"),Ot={method:P,timerStart:Date.now(),resolve:me,reject:st};try{await e.write(He),_.set(Te,Ot)}catch(Ur){throw i.error("Sending request failed."),Ot.reject(new Y.ResponseError(Y.ErrorCodes.MessageWriteError,Ur.message?Ur.message:"Unknown reason")),Ur}})},"sendRequest"),onRequest:a((h,v)=>{Bo();let P=null;return Ag.is(h)?(P=void 0,c=h):Ke.string(h)?(P=null,v!==void 0&&(P=h,f.set(h,{handler:v,type:void 0}))):v!==void 0&&(P=h.method,f.set(h.method,{type:h,handler:v})),{dispose:a(()=>{P!==null&&(P!==void 0?f.delete(P):c=void 0)},"dispose")}},"onRequest"),hasPendingResponse:a(()=>_.size>0,"hasPendingResponse"),trace:a(async(h,v,P)=>{let B=!1,we=lr.Text;P!==void 0&&(Ke.boolean(P)?B=P:(B=P.sendNotification||!1,we=P.traceFormat||lr.Text)),$=h,K=we,$===fe.Off?M=void 0:M=v,B&&!j()&&!k()&&await Ga.sendNotification(Cg.type,{value:fe.toString(h)})},"trace"),onError:Fr.event,onClose:at.event,onUnhandledNotification:Er.event,onDispose:N.event,end:a(()=>{e.end()},"end"),dispose:a(()=>{if(k())return;ge=Mr.Disposed,N.fire(void 0);let h=new Y.ResponseError(Y.ErrorCodes.PendingResponseRejected,"Pending response rejected since connection got disposed");for(let v of _.values())v.reject(h);_=new Map,w=new Map,S=new Set,C=new WC.LinkedMap,Ke.func(e.dispose)&&e.dispose(),Ke.func(t.dispose)&&t.dispose()},"dispose"),listen:a(()=>{Bo(),ZN(),ge=Mr.Listening,t.listen(pt)},"listen"),inspect:a(()=>{(0,qC.default)().console.log("inspect")},"inspect")};return Ga.onNotification(Op.type,h=>{if($===fe.Off||!M)return;let v=$===fe.Verbose||$===fe.Compact;M.log(h.message,v?h.verbose:void 0)}),Ga.onNotification(Ru.type,h=>{let v=y.get(h.token);v?v(h.value):pr.fire(h)}),Ga}a(bB,"createMessageConnection");Z.createMessageConnection=bB});var Up=J(R=>{"use strict";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 Se=ag();Object.defineProperty(R,"Message",{enumerable:!0,get:a(function(){return Se.Message},"get")});Object.defineProperty(R,"RequestType",{enumerable:!0,get:a(function(){return Se.RequestType},"get")});Object.defineProperty(R,"RequestType0",{enumerable:!0,get:a(function(){return Se.RequestType0},"get")});Object.defineProperty(R,"RequestType1",{enumerable:!0,get:a(function(){return Se.RequestType1},"get")});Object.defineProperty(R,"RequestType2",{enumerable:!0,get:a(function(){return Se.RequestType2},"get")});Object.defineProperty(R,"RequestType3",{enumerable:!0,get:a(function(){return Se.RequestType3},"get")});Object.defineProperty(R,"RequestType4",{enumerable:!0,get:a(function(){return Se.RequestType4},"get")});Object.defineProperty(R,"RequestType5",{enumerable:!0,get:a(function(){return Se.RequestType5},"get")});Object.defineProperty(R,"RequestType6",{enumerable:!0,get:a(function(){return Se.RequestType6},"get")});Object.defineProperty(R,"RequestType7",{enumerable:!0,get:a(function(){return Se.RequestType7},"get")});Object.defineProperty(R,"RequestType8",{enumerable:!0,get:a(function(){return Se.RequestType8},"get")});Object.defineProperty(R,"RequestType9",{enumerable:!0,get:a(function(){return Se.RequestType9},"get")});Object.defineProperty(R,"ResponseError",{enumerable:!0,get:a(function(){return Se.ResponseError},"get")});Object.defineProperty(R,"ErrorCodes",{enumerable:!0,get:a(function(){return Se.ErrorCodes},"get")});Object.defineProperty(R,"NotificationType",{enumerable:!0,get:a(function(){return Se.NotificationType},"get")});Object.defineProperty(R,"NotificationType0",{enumerable:!0,get:a(function(){return Se.NotificationType0},"get")});Object.defineProperty(R,"NotificationType1",{enumerable:!0,get:a(function(){return Se.NotificationType1},"get")});Object.defineProperty(R,"NotificationType2",{enumerable:!0,get:a(function(){return Se.NotificationType2},"get")});Object.defineProperty(R,"NotificationType3",{enumerable:!0,get:a(function(){return Se.NotificationType3},"get")});Object.defineProperty(R,"NotificationType4",{enumerable:!0,get:a(function(){return Se.NotificationType4},"get")});Object.defineProperty(R,"NotificationType5",{enumerable:!0,get:a(function(){return Se.NotificationType5},"get")});Object.defineProperty(R,"NotificationType6",{enumerable:!0,get:a(function(){return Se.NotificationType6},"get")});Object.defineProperty(R,"NotificationType7",{enumerable:!0,get:a(function(){return Se.NotificationType7},"get")});Object.defineProperty(R,"NotificationType8",{enumerable:!0,get:a(function(){return Se.NotificationType8},"get")});Object.defineProperty(R,"NotificationType9",{enumerable:!0,get:a(function(){return Se.NotificationType9},"get")});Object.defineProperty(R,"ParameterStructures",{enumerable:!0,get:a(function(){return Se.ParameterStructures},"get")});var wg=og();Object.defineProperty(R,"LinkedMap",{enumerable:!0,get:a(function(){return wg.LinkedMap},"get")});Object.defineProperty(R,"LRUCache",{enumerable:!0,get:a(function(){return wg.LRUCache},"get")});Object.defineProperty(R,"Touch",{enumerable:!0,get:a(function(){return wg.Touch},"get")});var SB=LC();Object.defineProperty(R,"Disposable",{enumerable:!0,get:a(function(){return SB.Disposable},"get")});var XC=Ea();Object.defineProperty(R,"Event",{enumerable:!0,get:a(function(){return XC.Event},"get")});Object.defineProperty(R,"Emitter",{enumerable:!0,get:a(function(){return XC.Emitter},"get")});var JC=Ql();Object.defineProperty(R,"CancellationTokenSource",{enumerable:!0,get:a(function(){return JC.CancellationTokenSource},"get")});Object.defineProperty(R,"CancellationToken",{enumerable:!0,get:a(function(){return JC.CancellationToken},"get")});var ZC=MC();Object.defineProperty(R,"SharedArraySenderStrategy",{enumerable:!0,get:a(function(){return ZC.SharedArraySenderStrategy},"get")});Object.defineProperty(R,"SharedArrayReceiverStrategy",{enumerable:!0,get:a(function(){return ZC.SharedArrayReceiverStrategy},"get")});var Ng=FC();Object.defineProperty(R,"MessageReader",{enumerable:!0,get:a(function(){return Ng.MessageReader},"get")});Object.defineProperty(R,"AbstractMessageReader",{enumerable:!0,get:a(function(){return Ng.AbstractMessageReader},"get")});Object.defineProperty(R,"ReadableStreamMessageReader",{enumerable:!0,get:a(function(){return Ng.ReadableStreamMessageReader},"get")});var Ig=BC();Object.defineProperty(R,"MessageWriter",{enumerable:!0,get:a(function(){return Ig.MessageWriter},"get")});Object.defineProperty(R,"AbstractMessageWriter",{enumerable:!0,get:a(function(){return Ig.AbstractMessageWriter},"get")});Object.defineProperty(R,"WriteableStreamMessageWriter",{enumerable:!0,get:a(function(){return Ig.WriteableStreamMessageWriter},"get")});var wB=KC();Object.defineProperty(R,"AbstractMessageBuffer",{enumerable:!0,get:a(function(){return wB.AbstractMessageBuffer},"get")});var Et=YC();Object.defineProperty(R,"ConnectionStrategy",{enumerable:!0,get:a(function(){return Et.ConnectionStrategy},"get")});Object.defineProperty(R,"ConnectionOptions",{enumerable:!0,get:a(function(){return Et.ConnectionOptions},"get")});Object.defineProperty(R,"NullLogger",{enumerable:!0,get:a(function(){return Et.NullLogger},"get")});Object.defineProperty(R,"createMessageConnection",{enumerable:!0,get:a(function(){return Et.createMessageConnection},"get")});Object.defineProperty(R,"ProgressToken",{enumerable:!0,get:a(function(){return Et.ProgressToken},"get")});Object.defineProperty(R,"ProgressType",{enumerable:!0,get:a(function(){return Et.ProgressType},"get")});Object.defineProperty(R,"Trace",{enumerable:!0,get:a(function(){return Et.Trace},"get")});Object.defineProperty(R,"TraceValues",{enumerable:!0,get:a(function(){return Et.TraceValues},"get")});Object.defineProperty(R,"TraceFormat",{enumerable:!0,get:a(function(){return Et.TraceFormat},"get")});Object.defineProperty(R,"SetTraceNotification",{enumerable:!0,get:a(function(){return Et.SetTraceNotification},"get")});Object.defineProperty(R,"LogTraceNotification",{enumerable:!0,get:a(function(){return Et.LogTraceNotification},"get")});Object.defineProperty(R,"ConnectionErrors",{enumerable:!0,get:a(function(){return Et.ConnectionErrors},"get")});Object.defineProperty(R,"ConnectionError",{enumerable:!0,get:a(function(){return Et.ConnectionError},"get")});Object.defineProperty(R,"CancellationReceiverStrategy",{enumerable:!0,get:a(function(){return Et.CancellationReceiverStrategy},"get")});Object.defineProperty(R,"CancellationSenderStrategy",{enumerable:!0,get:a(function(){return Et.CancellationSenderStrategy},"get")});Object.defineProperty(R,"CancellationStrategy",{enumerable:!0,get:a(function(){return Et.CancellationStrategy},"get")});Object.defineProperty(R,"MessageStrategy",{enumerable:!0,get:a(function(){return Et.MessageStrategy},"get")});var NB=Ni();R.RAL=NB.default});var eb=J(Og=>{"use strict";Object.defineProperty(Og,"__esModule",{value:!0});var on=Up(),jp=class t extends on.AbstractMessageBuffer{static{a(this,"MessageBuffer")}constructor(e="utf-8"){super(e),this.asciiDecoder=new TextDecoder("ascii")}emptyBuffer(){return t.emptyBuffer}fromString(e,r){return new TextEncoder().encode(e)}toString(e,r){return r==="ascii"?this.asciiDecoder.decode(e):new TextDecoder(r).decode(e)}asNative(e,r){return r===void 0?e:e.slice(0,r)}allocNative(e){return new Uint8Array(e)}};jp.emptyBuffer=new Uint8Array(0);var _g=class{static{a(this,"ReadableStreamWrapper")}constructor(e){this.socket=e,this._onData=new on.Emitter,this._messageListener=r=>{r.data.arrayBuffer().then(i=>{this._onData.fire(new Uint8Array(i))},()=>{(0,on.RAL)().console.error("Converting blob to array buffer failed.")})},this.socket.addEventListener("message",this._messageListener)}onClose(e){return this.socket.addEventListener("close",e),on.Disposable.create(()=>this.socket.removeEventListener("close",e))}onError(e){return this.socket.addEventListener("error",e),on.Disposable.create(()=>this.socket.removeEventListener("error",e))}onEnd(e){return this.socket.addEventListener("end",e),on.Disposable.create(()=>this.socket.removeEventListener("end",e))}onData(e){return this._onData.event(e)}},kg=class{static{a(this,"WritableStreamWrapper")}constructor(e){this.socket=e}onClose(e){return this.socket.addEventListener("close",e),on.Disposable.create(()=>this.socket.removeEventListener("close",e))}onError(e){return this.socket.addEventListener("error",e),on.Disposable.create(()=>this.socket.removeEventListener("error",e))}onEnd(e){return this.socket.addEventListener("end",e),on.Disposable.create(()=>this.socket.removeEventListener("end",e))}write(e,r){if(typeof e=="string"){if(r!==void 0&&r!=="utf-8")throw new Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${r}`);this.socket.send(e)}else this.socket.send(e);return Promise.resolve()}end(){this.socket.close()}},IB=new TextEncoder,QC=Object.freeze({messageBuffer:Object.freeze({create:a(t=>new jp(t),"create")}),applicationJson:Object.freeze({encoder:Object.freeze({name:"application/json",encode:a((t,e)=>{if(e.charset!=="utf-8")throw new Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${e.charset}`);return Promise.resolve(IB.encode(JSON.stringify(t,void 0,0)))},"encode")}),decoder:Object.freeze({name:"application/json",decode:a((t,e)=>{if(!(t instanceof Uint8Array))throw new Error("In a Browser environments only Uint8Arrays are supported.");return Promise.resolve(JSON.parse(new TextDecoder(e.charset).decode(t)))},"decode")})}),stream:Object.freeze({asReadableStream:a(t=>new _g(t),"asReadableStream"),asWritableStream:a(t=>new kg(t),"asWritableStream")}),console,timer:Object.freeze({setTimeout(t,e,...r){let n=setTimeout(t,e,...r);return{dispose:a(()=>clearTimeout(n),"dispose")}},setImmediate(t,...e){let r=setTimeout(t,0,...e);return{dispose:a(()=>clearTimeout(r),"dispose")}},setInterval(t,e,...r){let n=setInterval(t,e,...r);return{dispose:a(()=>clearInterval(n),"dispose")}}})});function Pg(){return QC}a(Pg,"RIL");(function(t){function e(){on.RAL.install(QC)}a(e,"install"),t.install=e})(Pg||(Pg={}));Og.default=Pg});var wa=J(ur=>{"use strict";var _B=ur&&ur.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:a(function(){return e[r]},"get")}),Object.defineProperty(t,n,i)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),kB=ur&&ur.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&_B(e,t,r)};Object.defineProperty(ur,"__esModule",{value:!0});ur.createMessageConnection=ur.BrowserMessageWriter=ur.BrowserMessageReader=void 0;var PB=eb();PB.default.install();var $o=Up();kB(Up(),ur);var Lg=class extends $o.AbstractMessageReader{static{a(this,"BrowserMessageReader")}constructor(e){super(),this._onData=new $o.Emitter,this._messageListener=r=>{this._onData.fire(r.data)},e.addEventListener("error",r=>this.fireError(r)),e.onmessage=this._messageListener}listen(e){return this._onData.event(e)}};ur.BrowserMessageReader=Lg;var Mg=class extends $o.AbstractMessageWriter{static{a(this,"BrowserMessageWriter")}constructor(e){super(),this.port=e,this.errorCount=0,e.addEventListener("error",r=>this.fireError(r))}write(e){try{return this.port.postMessage(e),Promise.resolve()}catch(r){return this.handleError(r,e),Promise.reject(r)}}handleError(e,r){this.errorCount++,this.fireError(e,r,this.errorCount)}end(){}};ur.BrowserMessageWriter=Mg;function OB(t,e,r,n){return r===void 0&&(r=$o.NullLogger),$o.ConnectionStrategy.is(n)&&(n={connectionStrategy:n}),(0,$o.createMessageConnection)(t,e,r,n)}a(OB,"createMessageConnection");ur.createMessageConnection=OB});var Dg=J((Fge,tb)=>{"use strict";tb.exports=wa()});var De=J(Qt=>{"use strict";Object.defineProperty(Qt,"__esModule",{value:!0});Qt.ProtocolNotificationType=Qt.ProtocolNotificationType0=Qt.ProtocolRequestType=Qt.ProtocolRequestType0=Qt.RegistrationType=Qt.MessageDirection=void 0;var Eo=wa(),rb;(function(t){t.clientToServer="clientToServer",t.serverToClient="serverToClient",t.both="both"})(rb||(Qt.MessageDirection=rb={}));var Fg=class{static{a(this,"RegistrationType")}constructor(e){this.method=e}};Qt.RegistrationType=Fg;var Gg=class extends Eo.RequestType0{static{a(this,"ProtocolRequestType0")}constructor(e){super(e)}};Qt.ProtocolRequestType0=Gg;var Ug=class extends Eo.RequestType{static{a(this,"ProtocolRequestType")}constructor(e){super(e,Eo.ParameterStructures.byName)}};Qt.ProtocolRequestType=Ug;var jg=class extends Eo.NotificationType0{static{a(this,"ProtocolNotificationType0")}constructor(e){super(e)}};Qt.ProtocolNotificationType0=jg;var zg=class extends Eo.NotificationType{static{a(this,"ProtocolNotificationType")}constructor(e){super(e,Eo.ParameterStructures.byName)}};Qt.ProtocolNotificationType=zg});var zp=J(it=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0});it.objectLiteral=it.typedArray=it.stringArray=it.array=it.func=it.error=it.number=it.string=it.boolean=void 0;function LB(t){return t===!0||t===!1}a(LB,"boolean");it.boolean=LB;function nb(t){return typeof t=="string"||t instanceof String}a(nb,"string");it.string=nb;function MB(t){return typeof t=="number"||t instanceof Number}a(MB,"number");it.number=MB;function DB(t){return t instanceof Error}a(DB,"error");it.error=DB;function FB(t){return typeof t=="function"}a(FB,"func");it.func=FB;function ib(t){return Array.isArray(t)}a(ib,"array");it.array=ib;function GB(t){return ib(t)&&t.every(e=>nb(e))}a(GB,"stringArray");it.stringArray=GB;function UB(t,e){return Array.isArray(t)&&t.every(e)}a(UB,"typedArray");it.typedArray=UB;function jB(t){return t!==null&&typeof t=="object"}a(jB,"objectLiteral");it.objectLiteral=jB});var ob=J(Bp=>{"use strict";Object.defineProperty(Bp,"__esModule",{value:!0});Bp.ImplementationRequest=void 0;var ab=De(),sb;(function(t){t.method="textDocument/implementation",t.messageDirection=ab.MessageDirection.clientToServer,t.type=new ab.ProtocolRequestType(t.method)})(sb||(Bp.ImplementationRequest=sb={}))});var cb=J(Kp=>{"use strict";Object.defineProperty(Kp,"__esModule",{value:!0});Kp.TypeDefinitionRequest=void 0;var lb=De(),ub;(function(t){t.method="textDocument/typeDefinition",t.messageDirection=lb.MessageDirection.clientToServer,t.type=new lb.ProtocolRequestType(t.method)})(ub||(Kp.TypeDefinitionRequest=ub={}))});var db=J(vo=>{"use strict";Object.defineProperty(vo,"__esModule",{value:!0});vo.DidChangeWorkspaceFoldersNotification=vo.WorkspaceFoldersRequest=void 0;var qp=De(),fb;(function(t){t.method="workspace/workspaceFolders",t.messageDirection=qp.MessageDirection.serverToClient,t.type=new qp.ProtocolRequestType0(t.method)})(fb||(vo.WorkspaceFoldersRequest=fb={}));var pb;(function(t){t.method="workspace/didChangeWorkspaceFolders",t.messageDirection=qp.MessageDirection.clientToServer,t.type=new qp.ProtocolNotificationType(t.method)})(pb||(vo.DidChangeWorkspaceFoldersNotification=pb={}))});var yb=J(Wp=>{"use strict";Object.defineProperty(Wp,"__esModule",{value:!0});Wp.ConfigurationRequest=void 0;var mb=De(),hb;(function(t){t.method="workspace/configuration",t.messageDirection=mb.MessageDirection.serverToClient,t.type=new mb.ProtocolRequestType(t.method)})(hb||(Wp.ConfigurationRequest=hb={}))});var xb=J(Ao=>{"use strict";Object.defineProperty(Ao,"__esModule",{value:!0});Ao.ColorPresentationRequest=Ao.DocumentColorRequest=void 0;var Vp=De(),gb;(function(t){t.method="textDocument/documentColor",t.messageDirection=Vp.MessageDirection.clientToServer,t.type=new Vp.ProtocolRequestType(t.method)})(gb||(Ao.DocumentColorRequest=gb={}));var Tb;(function(t){t.method="textDocument/colorPresentation",t.messageDirection=Vp.MessageDirection.clientToServer,t.type=new Vp.ProtocolRequestType(t.method)})(Tb||(Ao.ColorPresentationRequest=Tb={}))});var Eb=J(Co=>{"use strict";Object.defineProperty(Co,"__esModule",{value:!0});Co.FoldingRangeRefreshRequest=Co.FoldingRangeRequest=void 0;var Hp=De(),Rb;(function(t){t.method="textDocument/foldingRange",t.messageDirection=Hp.MessageDirection.clientToServer,t.type=new Hp.ProtocolRequestType(t.method)})(Rb||(Co.FoldingRangeRequest=Rb={}));var $b;(function(t){t.method="workspace/foldingRange/refresh",t.messageDirection=Hp.MessageDirection.serverToClient,t.type=new Hp.ProtocolRequestType0(t.method)})($b||(Co.FoldingRangeRefreshRequest=$b={}))});var Cb=J(Yp=>{"use strict";Object.defineProperty(Yp,"__esModule",{value:!0});Yp.DeclarationRequest=void 0;var vb=De(),Ab;(function(t){t.method="textDocument/declaration",t.messageDirection=vb.MessageDirection.clientToServer,t.type=new vb.ProtocolRequestType(t.method)})(Ab||(Yp.DeclarationRequest=Ab={}))});var wb=J(Xp=>{"use strict";Object.defineProperty(Xp,"__esModule",{value:!0});Xp.SelectionRangeRequest=void 0;var bb=De(),Sb;(function(t){t.method="textDocument/selectionRange",t.messageDirection=bb.MessageDirection.clientToServer,t.type=new bb.ProtocolRequestType(t.method)})(Sb||(Xp.SelectionRangeRequest=Sb={}))});var kb=J(Pi=>{"use strict";Object.defineProperty(Pi,"__esModule",{value:!0});Pi.WorkDoneProgressCancelNotification=Pi.WorkDoneProgressCreateRequest=Pi.WorkDoneProgress=void 0;var zB=wa(),Jp=De(),Nb;(function(t){t.type=new zB.ProgressType;function e(r){return r===t.type}a(e,"is"),t.is=e})(Nb||(Pi.WorkDoneProgress=Nb={}));var Ib;(function(t){t.method="window/workDoneProgress/create",t.messageDirection=Jp.MessageDirection.serverToClient,t.type=new Jp.ProtocolRequestType(t.method)})(Ib||(Pi.WorkDoneProgressCreateRequest=Ib={}));var _b;(function(t){t.method="window/workDoneProgress/cancel",t.messageDirection=Jp.MessageDirection.clientToServer,t.type=new Jp.ProtocolNotificationType(t.method)})(_b||(Pi.WorkDoneProgressCancelNotification=_b={}))});var Mb=J(Oi=>{"use strict";Object.defineProperty(Oi,"__esModule",{value:!0});Oi.CallHierarchyOutgoingCallsRequest=Oi.CallHierarchyIncomingCallsRequest=Oi.CallHierarchyPrepareRequest=void 0;var bo=De(),Pb;(function(t){t.method="textDocument/prepareCallHierarchy",t.messageDirection=bo.MessageDirection.clientToServer,t.type=new bo.ProtocolRequestType(t.method)})(Pb||(Oi.CallHierarchyPrepareRequest=Pb={}));var Ob;(function(t){t.method="callHierarchy/incomingCalls",t.messageDirection=bo.MessageDirection.clientToServer,t.type=new bo.ProtocolRequestType(t.method)})(Ob||(Oi.CallHierarchyIncomingCallsRequest=Ob={}));var Lb;(function(t){t.method="callHierarchy/outgoingCalls",t.messageDirection=bo.MessageDirection.clientToServer,t.type=new bo.ProtocolRequestType(t.method)})(Lb||(Oi.CallHierarchyOutgoingCallsRequest=Lb={}))});var zb=J(er=>{"use strict";Object.defineProperty(er,"__esModule",{value:!0});er.SemanticTokensRefreshRequest=er.SemanticTokensRangeRequest=er.SemanticTokensDeltaRequest=er.SemanticTokensRequest=er.SemanticTokensRegistrationType=er.TokenFormat=void 0;var On=De(),Db;(function(t){t.Relative="relative"})(Db||(er.TokenFormat=Db={}));var vu;(function(t){t.method="textDocument/semanticTokens",t.type=new On.RegistrationType(t.method)})(vu||(er.SemanticTokensRegistrationType=vu={}));var Fb;(function(t){t.method="textDocument/semanticTokens/full",t.messageDirection=On.MessageDirection.clientToServer,t.type=new On.ProtocolRequestType(t.method),t.registrationMethod=vu.method})(Fb||(er.SemanticTokensRequest=Fb={}));var Gb;(function(t){t.method="textDocument/semanticTokens/full/delta",t.messageDirection=On.MessageDirection.clientToServer,t.type=new On.ProtocolRequestType(t.method),t.registrationMethod=vu.method})(Gb||(er.SemanticTokensDeltaRequest=Gb={}));var Ub;(function(t){t.method="textDocument/semanticTokens/range",t.messageDirection=On.MessageDirection.clientToServer,t.type=new On.ProtocolRequestType(t.method),t.registrationMethod=vu.method})(Ub||(er.SemanticTokensRangeRequest=Ub={}));var jb;(function(t){t.method="workspace/semanticTokens/refresh",t.messageDirection=On.MessageDirection.serverToClient,t.type=new On.ProtocolRequestType0(t.method)})(jb||(er.SemanticTokensRefreshRequest=jb={}))});var qb=J(Zp=>{"use strict";Object.defineProperty(Zp,"__esModule",{value:!0});Zp.ShowDocumentRequest=void 0;var Bb=De(),Kb;(function(t){t.method="window/showDocument",t.messageDirection=Bb.MessageDirection.serverToClient,t.type=new Bb.ProtocolRequestType(t.method)})(Kb||(Zp.ShowDocumentRequest=Kb={}))});var Hb=J(Qp=>{"use strict";Object.defineProperty(Qp,"__esModule",{value:!0});Qp.LinkedEditingRangeRequest=void 0;var Wb=De(),Vb;(function(t){t.method="textDocument/linkedEditingRange",t.messageDirection=Wb.MessageDirection.clientToServer,t.type=new Wb.ProtocolRequestType(t.method)})(Vb||(Qp.LinkedEditingRangeRequest=Vb={}))});var rS=J(kt=>{"use strict";Object.defineProperty(kt,"__esModule",{value:!0});kt.WillDeleteFilesRequest=kt.DidDeleteFilesNotification=kt.DidRenameFilesNotification=kt.WillRenameFilesRequest=kt.DidCreateFilesNotification=kt.WillCreateFilesRequest=kt.FileOperationPatternKind=void 0;var Rr=De(),Yb;(function(t){t.file="file",t.folder="folder"})(Yb||(kt.FileOperationPatternKind=Yb={}));var Xb;(function(t){t.method="workspace/willCreateFiles",t.messageDirection=Rr.MessageDirection.clientToServer,t.type=new Rr.ProtocolRequestType(t.method)})(Xb||(kt.WillCreateFilesRequest=Xb={}));var Jb;(function(t){t.method="workspace/didCreateFiles",t.messageDirection=Rr.MessageDirection.clientToServer,t.type=new Rr.ProtocolNotificationType(t.method)})(Jb||(kt.DidCreateFilesNotification=Jb={}));var Zb;(function(t){t.method="workspace/willRenameFiles",t.messageDirection=Rr.MessageDirection.clientToServer,t.type=new Rr.ProtocolRequestType(t.method)})(Zb||(kt.WillRenameFilesRequest=Zb={}));var Qb;(function(t){t.method="workspace/didRenameFiles",t.messageDirection=Rr.MessageDirection.clientToServer,t.type=new Rr.ProtocolNotificationType(t.method)})(Qb||(kt.DidRenameFilesNotification=Qb={}));var eS;(function(t){t.method="workspace/didDeleteFiles",t.messageDirection=Rr.MessageDirection.clientToServer,t.type=new Rr.ProtocolNotificationType(t.method)})(eS||(kt.DidDeleteFilesNotification=eS={}));var tS;(function(t){t.method="workspace/willDeleteFiles",t.messageDirection=Rr.MessageDirection.clientToServer,t.type=new Rr.ProtocolRequestType(t.method)})(tS||(kt.WillDeleteFilesRequest=tS={}))});var oS=J(Li=>{"use strict";Object.defineProperty(Li,"__esModule",{value:!0});Li.MonikerRequest=Li.MonikerKind=Li.UniquenessLevel=void 0;var nS=De(),iS;(function(t){t.document="document",t.project="project",t.group="group",t.scheme="scheme",t.global="global"})(iS||(Li.UniquenessLevel=iS={}));var aS;(function(t){t.$import="import",t.$export="export",t.local="local"})(aS||(Li.MonikerKind=aS={}));var sS;(function(t){t.method="textDocument/moniker",t.messageDirection=nS.MessageDirection.clientToServer,t.type=new nS.ProtocolRequestType(t.method)})(sS||(Li.MonikerRequest=sS={}))});var fS=J(Mi=>{"use strict";Object.defineProperty(Mi,"__esModule",{value:!0});Mi.TypeHierarchySubtypesRequest=Mi.TypeHierarchySupertypesRequest=Mi.TypeHierarchyPrepareRequest=void 0;var So=De(),lS;(function(t){t.method="textDocument/prepareTypeHierarchy",t.messageDirection=So.MessageDirection.clientToServer,t.type=new So.ProtocolRequestType(t.method)})(lS||(Mi.TypeHierarchyPrepareRequest=lS={}));var uS;(function(t){t.method="typeHierarchy/supertypes",t.messageDirection=So.MessageDirection.clientToServer,t.type=new So.ProtocolRequestType(t.method)})(uS||(Mi.TypeHierarchySupertypesRequest=uS={}));var cS;(function(t){t.method="typeHierarchy/subtypes",t.messageDirection=So.MessageDirection.clientToServer,t.type=new So.ProtocolRequestType(t.method)})(cS||(Mi.TypeHierarchySubtypesRequest=cS={}))});var mS=J(wo=>{"use strict";Object.defineProperty(wo,"__esModule",{value:!0});wo.InlineValueRefreshRequest=wo.InlineValueRequest=void 0;var ed=De(),pS;(function(t){t.method="textDocument/inlineValue",t.messageDirection=ed.MessageDirection.clientToServer,t.type=new ed.ProtocolRequestType(t.method)})(pS||(wo.InlineValueRequest=pS={}));var dS;(function(t){t.method="workspace/inlineValue/refresh",t.messageDirection=ed.MessageDirection.serverToClient,t.type=new ed.ProtocolRequestType0(t.method)})(dS||(wo.InlineValueRefreshRequest=dS={}))});var TS=J(Di=>{"use strict";Object.defineProperty(Di,"__esModule",{value:!0});Di.InlayHintRefreshRequest=Di.InlayHintResolveRequest=Di.InlayHintRequest=void 0;var No=De(),hS;(function(t){t.method="textDocument/inlayHint",t.messageDirection=No.MessageDirection.clientToServer,t.type=new No.ProtocolRequestType(t.method)})(hS||(Di.InlayHintRequest=hS={}));var yS;(function(t){t.method="inlayHint/resolve",t.messageDirection=No.MessageDirection.clientToServer,t.type=new No.ProtocolRequestType(t.method)})(yS||(Di.InlayHintResolveRequest=yS={}));var gS;(function(t){t.method="workspace/inlayHint/refresh",t.messageDirection=No.MessageDirection.serverToClient,t.type=new No.ProtocolRequestType0(t.method)})(gS||(Di.InlayHintRefreshRequest=gS={}))});var CS=J($r=>{"use strict";Object.defineProperty($r,"__esModule",{value:!0});$r.DiagnosticRefreshRequest=$r.WorkspaceDiagnosticRequest=$r.DocumentDiagnosticRequest=$r.DocumentDiagnosticReportKind=$r.DiagnosticServerCancellationData=void 0;var AS=wa(),BB=zp(),Io=De(),xS;(function(t){function e(r){let n=r;return n&&BB.boolean(n.retriggerRequest)}a(e,"is"),t.is=e})(xS||($r.DiagnosticServerCancellationData=xS={}));var RS;(function(t){t.Full="full",t.Unchanged="unchanged"})(RS||($r.DocumentDiagnosticReportKind=RS={}));var $S;(function(t){t.method="textDocument/diagnostic",t.messageDirection=Io.MessageDirection.clientToServer,t.type=new Io.ProtocolRequestType(t.method),t.partialResult=new AS.ProgressType})($S||($r.DocumentDiagnosticRequest=$S={}));var ES;(function(t){t.method="workspace/diagnostic",t.messageDirection=Io.MessageDirection.clientToServer,t.type=new Io.ProtocolRequestType(t.method),t.partialResult=new AS.ProgressType})(ES||($r.WorkspaceDiagnosticRequest=ES={}));var vS;(function(t){t.method="workspace/diagnostic/refresh",t.messageDirection=Io.MessageDirection.serverToClient,t.type=new Io.ProtocolRequestType0(t.method)})(vS||($r.DiagnosticRefreshRequest=vS={}))});var kS=J(Ve=>{"use strict";Object.defineProperty(Ve,"__esModule",{value:!0});Ve.DidCloseNotebookDocumentNotification=Ve.DidSaveNotebookDocumentNotification=Ve.DidChangeNotebookDocumentNotification=Ve.NotebookCellArrayChange=Ve.DidOpenNotebookDocumentNotification=Ve.NotebookDocumentSyncRegistrationType=Ve.NotebookDocument=Ve.NotebookCell=Ve.ExecutionSummary=Ve.NotebookCellKind=void 0;var Au=(ao(),Id(mp)),Dr=zp(),ln=De(),Bg;(function(t){t.Markup=1,t.Code=2;function e(r){return r===1||r===2}a(e,"is"),t.is=e})(Bg||(Ve.NotebookCellKind=Bg={}));var Kg;(function(t){function e(i,s){let o={executionOrder:i};return(s===!0||s===!1)&&(o.success=s),o}a(e,"create"),t.create=e;function r(i){let s=i;return Dr.objectLiteral(s)&&Au.uinteger.is(s.executionOrder)&&(s.success===void 0||Dr.boolean(s.success))}a(r,"is"),t.is=r;function n(i,s){return i===s?!0:i==null||s===null||s===void 0?!1:i.executionOrder===s.executionOrder&&i.success===s.success}a(n,"equals"),t.equals=n})(Kg||(Ve.ExecutionSummary=Kg={}));var td;(function(t){function e(s,o){return{kind:s,document:o}}a(e,"create"),t.create=e;function r(s){let o=s;return Dr.objectLiteral(o)&&Bg.is(o.kind)&&Au.DocumentUri.is(o.document)&&(o.metadata===void 0||Dr.objectLiteral(o.metadata))}a(r,"is"),t.is=r;function n(s,o){let l=new Set;return s.document!==o.document&&l.add("document"),s.kind!==o.kind&&l.add("kind"),s.executionSummary!==o.executionSummary&&l.add("executionSummary"),(s.metadata!==void 0||o.metadata!==void 0)&&!i(s.metadata,o.metadata)&&l.add("metadata"),(s.executionSummary!==void 0||o.executionSummary!==void 0)&&!Kg.equals(s.executionSummary,o.executionSummary)&&l.add("executionSummary"),l}a(n,"diff"),t.diff=n;function i(s,o){if(s===o)return!0;if(s==null||o===null||o===void 0||typeof s!=typeof o||typeof s!="object")return!1;let l=Array.isArray(s),u=Array.isArray(o);if(l!==u)return!1;if(l&&u){if(s.length!==o.length)return!1;for(let c=0;c{"use strict";Object.defineProperty(rd,"__esModule",{value:!0});rd.InlineCompletionRequest=void 0;var PS=De(),OS;(function(t){t.method="textDocument/inlineCompletion",t.messageDirection=PS.MessageDirection.clientToServer,t.type=new PS.ProtocolRequestType(t.method)})(OS||(rd.InlineCompletionRequest=OS={}))});var Hw=J(d=>{"use strict";Object.defineProperty(d,"__esModule",{value:!0});d.WorkspaceSymbolRequest=d.CodeActionResolveRequest=d.CodeActionRequest=d.DocumentSymbolRequest=d.DocumentHighlightRequest=d.ReferencesRequest=d.DefinitionRequest=d.SignatureHelpRequest=d.SignatureHelpTriggerKind=d.HoverRequest=d.CompletionResolveRequest=d.CompletionRequest=d.CompletionTriggerKind=d.PublishDiagnosticsNotification=d.WatchKind=d.RelativePattern=d.FileChangeType=d.DidChangeWatchedFilesNotification=d.WillSaveTextDocumentWaitUntilRequest=d.WillSaveTextDocumentNotification=d.TextDocumentSaveReason=d.DidSaveTextDocumentNotification=d.DidCloseTextDocumentNotification=d.DidChangeTextDocumentNotification=d.TextDocumentContentChangeEvent=d.DidOpenTextDocumentNotification=d.TextDocumentSyncKind=d.TelemetryEventNotification=d.LogMessageNotification=d.ShowMessageRequest=d.ShowMessageNotification=d.MessageType=d.DidChangeConfigurationNotification=d.ExitNotification=d.ShutdownRequest=d.InitializedNotification=d.InitializeErrorCodes=d.InitializeRequest=d.WorkDoneProgressOptions=d.TextDocumentRegistrationOptions=d.StaticRegistrationOptions=d.PositionEncodingKind=d.FailureHandlingKind=d.ResourceOperationKind=d.UnregistrationRequest=d.RegistrationRequest=d.DocumentSelector=d.NotebookCellTextDocumentFilter=d.NotebookDocumentFilter=d.TextDocumentFilter=void 0;d.MonikerRequest=d.MonikerKind=d.UniquenessLevel=d.WillDeleteFilesRequest=d.DidDeleteFilesNotification=d.WillRenameFilesRequest=d.DidRenameFilesNotification=d.WillCreateFilesRequest=d.DidCreateFilesNotification=d.FileOperationPatternKind=d.LinkedEditingRangeRequest=d.ShowDocumentRequest=d.SemanticTokensRegistrationType=d.SemanticTokensRefreshRequest=d.SemanticTokensRangeRequest=d.SemanticTokensDeltaRequest=d.SemanticTokensRequest=d.TokenFormat=d.CallHierarchyPrepareRequest=d.CallHierarchyOutgoingCallsRequest=d.CallHierarchyIncomingCallsRequest=d.WorkDoneProgressCancelNotification=d.WorkDoneProgressCreateRequest=d.WorkDoneProgress=d.SelectionRangeRequest=d.DeclarationRequest=d.FoldingRangeRefreshRequest=d.FoldingRangeRequest=d.ColorPresentationRequest=d.DocumentColorRequest=d.ConfigurationRequest=d.DidChangeWorkspaceFoldersNotification=d.WorkspaceFoldersRequest=d.TypeDefinitionRequest=d.ImplementationRequest=d.ApplyWorkspaceEditRequest=d.ExecuteCommandRequest=d.PrepareRenameRequest=d.RenameRequest=d.PrepareSupportDefaultBehavior=d.DocumentOnTypeFormattingRequest=d.DocumentRangesFormattingRequest=d.DocumentRangeFormattingRequest=d.DocumentFormattingRequest=d.DocumentLinkResolveRequest=d.DocumentLinkRequest=d.CodeLensRefreshRequest=d.CodeLensResolveRequest=d.CodeLensRequest=d.WorkspaceSymbolResolveRequest=void 0;d.InlineCompletionRequest=d.DidCloseNotebookDocumentNotification=d.DidSaveNotebookDocumentNotification=d.DidChangeNotebookDocumentNotification=d.NotebookCellArrayChange=d.DidOpenNotebookDocumentNotification=d.NotebookDocumentSyncRegistrationType=d.NotebookDocument=d.NotebookCell=d.ExecutionSummary=d.NotebookCellKind=d.DiagnosticRefreshRequest=d.WorkspaceDiagnosticRequest=d.DocumentDiagnosticRequest=d.DocumentDiagnosticReportKind=d.DiagnosticServerCancellationData=d.InlayHintRefreshRequest=d.InlayHintResolveRequest=d.InlayHintRequest=d.InlineValueRefreshRequest=d.InlineValueRequest=d.TypeHierarchySupertypesRequest=d.TypeHierarchySubtypesRequest=d.TypeHierarchyPrepareRequest=void 0;var I=De(),MS=(ao(),Id(mp)),Tt=zp(),KB=ob();Object.defineProperty(d,"ImplementationRequest",{enumerable:!0,get:a(function(){return KB.ImplementationRequest},"get")});var qB=cb();Object.defineProperty(d,"TypeDefinitionRequest",{enumerable:!0,get:a(function(){return qB.TypeDefinitionRequest},"get")});var Kw=db();Object.defineProperty(d,"WorkspaceFoldersRequest",{enumerable:!0,get:a(function(){return Kw.WorkspaceFoldersRequest},"get")});Object.defineProperty(d,"DidChangeWorkspaceFoldersNotification",{enumerable:!0,get:a(function(){return Kw.DidChangeWorkspaceFoldersNotification},"get")});var WB=yb();Object.defineProperty(d,"ConfigurationRequest",{enumerable:!0,get:a(function(){return WB.ConfigurationRequest},"get")});var qw=xb();Object.defineProperty(d,"DocumentColorRequest",{enumerable:!0,get:a(function(){return qw.DocumentColorRequest},"get")});Object.defineProperty(d,"ColorPresentationRequest",{enumerable:!0,get:a(function(){return qw.ColorPresentationRequest},"get")});var Ww=Eb();Object.defineProperty(d,"FoldingRangeRequest",{enumerable:!0,get:a(function(){return Ww.FoldingRangeRequest},"get")});Object.defineProperty(d,"FoldingRangeRefreshRequest",{enumerable:!0,get:a(function(){return Ww.FoldingRangeRefreshRequest},"get")});var VB=Cb();Object.defineProperty(d,"DeclarationRequest",{enumerable:!0,get:a(function(){return VB.DeclarationRequest},"get")});var HB=wb();Object.defineProperty(d,"SelectionRangeRequest",{enumerable:!0,get:a(function(){return HB.SelectionRangeRequest},"get")});var Yg=kb();Object.defineProperty(d,"WorkDoneProgress",{enumerable:!0,get:a(function(){return Yg.WorkDoneProgress},"get")});Object.defineProperty(d,"WorkDoneProgressCreateRequest",{enumerable:!0,get:a(function(){return Yg.WorkDoneProgressCreateRequest},"get")});Object.defineProperty(d,"WorkDoneProgressCancelNotification",{enumerable:!0,get:a(function(){return Yg.WorkDoneProgressCancelNotification},"get")});var Xg=Mb();Object.defineProperty(d,"CallHierarchyIncomingCallsRequest",{enumerable:!0,get:a(function(){return Xg.CallHierarchyIncomingCallsRequest},"get")});Object.defineProperty(d,"CallHierarchyOutgoingCallsRequest",{enumerable:!0,get:a(function(){return Xg.CallHierarchyOutgoingCallsRequest},"get")});Object.defineProperty(d,"CallHierarchyPrepareRequest",{enumerable:!0,get:a(function(){return Xg.CallHierarchyPrepareRequest},"get")});var ko=zb();Object.defineProperty(d,"TokenFormat",{enumerable:!0,get:a(function(){return ko.TokenFormat},"get")});Object.defineProperty(d,"SemanticTokensRequest",{enumerable:!0,get:a(function(){return ko.SemanticTokensRequest},"get")});Object.defineProperty(d,"SemanticTokensDeltaRequest",{enumerable:!0,get:a(function(){return ko.SemanticTokensDeltaRequest},"get")});Object.defineProperty(d,"SemanticTokensRangeRequest",{enumerable:!0,get:a(function(){return ko.SemanticTokensRangeRequest},"get")});Object.defineProperty(d,"SemanticTokensRefreshRequest",{enumerable:!0,get:a(function(){return ko.SemanticTokensRefreshRequest},"get")});Object.defineProperty(d,"SemanticTokensRegistrationType",{enumerable:!0,get:a(function(){return ko.SemanticTokensRegistrationType},"get")});var YB=qb();Object.defineProperty(d,"ShowDocumentRequest",{enumerable:!0,get:a(function(){return YB.ShowDocumentRequest},"get")});var XB=Hb();Object.defineProperty(d,"LinkedEditingRangeRequest",{enumerable:!0,get:a(function(){return XB.LinkedEditingRangeRequest},"get")});var Na=rS();Object.defineProperty(d,"FileOperationPatternKind",{enumerable:!0,get:a(function(){return Na.FileOperationPatternKind},"get")});Object.defineProperty(d,"DidCreateFilesNotification",{enumerable:!0,get:a(function(){return Na.DidCreateFilesNotification},"get")});Object.defineProperty(d,"WillCreateFilesRequest",{enumerable:!0,get:a(function(){return Na.WillCreateFilesRequest},"get")});Object.defineProperty(d,"DidRenameFilesNotification",{enumerable:!0,get:a(function(){return Na.DidRenameFilesNotification},"get")});Object.defineProperty(d,"WillRenameFilesRequest",{enumerable:!0,get:a(function(){return Na.WillRenameFilesRequest},"get")});Object.defineProperty(d,"DidDeleteFilesNotification",{enumerable:!0,get:a(function(){return Na.DidDeleteFilesNotification},"get")});Object.defineProperty(d,"WillDeleteFilesRequest",{enumerable:!0,get:a(function(){return Na.WillDeleteFilesRequest},"get")});var Jg=oS();Object.defineProperty(d,"UniquenessLevel",{enumerable:!0,get:a(function(){return Jg.UniquenessLevel},"get")});Object.defineProperty(d,"MonikerKind",{enumerable:!0,get:a(function(){return Jg.MonikerKind},"get")});Object.defineProperty(d,"MonikerRequest",{enumerable:!0,get:a(function(){return Jg.MonikerRequest},"get")});var Zg=fS();Object.defineProperty(d,"TypeHierarchyPrepareRequest",{enumerable:!0,get:a(function(){return Zg.TypeHierarchyPrepareRequest},"get")});Object.defineProperty(d,"TypeHierarchySubtypesRequest",{enumerable:!0,get:a(function(){return Zg.TypeHierarchySubtypesRequest},"get")});Object.defineProperty(d,"TypeHierarchySupertypesRequest",{enumerable:!0,get:a(function(){return Zg.TypeHierarchySupertypesRequest},"get")});var Vw=mS();Object.defineProperty(d,"InlineValueRequest",{enumerable:!0,get:a(function(){return Vw.InlineValueRequest},"get")});Object.defineProperty(d,"InlineValueRefreshRequest",{enumerable:!0,get:a(function(){return Vw.InlineValueRefreshRequest},"get")});var Qg=TS();Object.defineProperty(d,"InlayHintRequest",{enumerable:!0,get:a(function(){return Qg.InlayHintRequest},"get")});Object.defineProperty(d,"InlayHintResolveRequest",{enumerable:!0,get:a(function(){return Qg.InlayHintResolveRequest},"get")});Object.defineProperty(d,"InlayHintRefreshRequest",{enumerable:!0,get:a(function(){return Qg.InlayHintRefreshRequest},"get")});var Cu=CS();Object.defineProperty(d,"DiagnosticServerCancellationData",{enumerable:!0,get:a(function(){return Cu.DiagnosticServerCancellationData},"get")});Object.defineProperty(d,"DocumentDiagnosticReportKind",{enumerable:!0,get:a(function(){return Cu.DocumentDiagnosticReportKind},"get")});Object.defineProperty(d,"DocumentDiagnosticRequest",{enumerable:!0,get:a(function(){return Cu.DocumentDiagnosticRequest},"get")});Object.defineProperty(d,"WorkspaceDiagnosticRequest",{enumerable:!0,get:a(function(){return Cu.WorkspaceDiagnosticRequest},"get")});Object.defineProperty(d,"DiagnosticRefreshRequest",{enumerable:!0,get:a(function(){return Cu.DiagnosticRefreshRequest},"get")});var un=kS();Object.defineProperty(d,"NotebookCellKind",{enumerable:!0,get:a(function(){return un.NotebookCellKind},"get")});Object.defineProperty(d,"ExecutionSummary",{enumerable:!0,get:a(function(){return un.ExecutionSummary},"get")});Object.defineProperty(d,"NotebookCell",{enumerable:!0,get:a(function(){return un.NotebookCell},"get")});Object.defineProperty(d,"NotebookDocument",{enumerable:!0,get:a(function(){return un.NotebookDocument},"get")});Object.defineProperty(d,"NotebookDocumentSyncRegistrationType",{enumerable:!0,get:a(function(){return un.NotebookDocumentSyncRegistrationType},"get")});Object.defineProperty(d,"DidOpenNotebookDocumentNotification",{enumerable:!0,get:a(function(){return un.DidOpenNotebookDocumentNotification},"get")});Object.defineProperty(d,"NotebookCellArrayChange",{enumerable:!0,get:a(function(){return un.NotebookCellArrayChange},"get")});Object.defineProperty(d,"DidChangeNotebookDocumentNotification",{enumerable:!0,get:a(function(){return un.DidChangeNotebookDocumentNotification},"get")});Object.defineProperty(d,"DidSaveNotebookDocumentNotification",{enumerable:!0,get:a(function(){return un.DidSaveNotebookDocumentNotification},"get")});Object.defineProperty(d,"DidCloseNotebookDocumentNotification",{enumerable:!0,get:a(function(){return un.DidCloseNotebookDocumentNotification},"get")});var JB=LS();Object.defineProperty(d,"InlineCompletionRequest",{enumerable:!0,get:a(function(){return JB.InlineCompletionRequest},"get")});var qg;(function(t){function e(r){let n=r;return Tt.string(n)||Tt.string(n.language)||Tt.string(n.scheme)||Tt.string(n.pattern)}a(e,"is"),t.is=e})(qg||(d.TextDocumentFilter=qg={}));var Wg;(function(t){function e(r){let n=r;return Tt.objectLiteral(n)&&(Tt.string(n.notebookType)||Tt.string(n.scheme)||Tt.string(n.pattern))}a(e,"is"),t.is=e})(Wg||(d.NotebookDocumentFilter=Wg={}));var Vg;(function(t){function e(r){let n=r;return Tt.objectLiteral(n)&&(Tt.string(n.notebook)||Wg.is(n.notebook))&&(n.language===void 0||Tt.string(n.language))}a(e,"is"),t.is=e})(Vg||(d.NotebookCellTextDocumentFilter=Vg={}));var Hg;(function(t){function e(r){if(!Array.isArray(r))return!1;for(let n of r)if(!Tt.string(n)&&!qg.is(n)&&!Vg.is(n))return!1;return!0}a(e,"is"),t.is=e})(Hg||(d.DocumentSelector=Hg={}));var DS;(function(t){t.method="client/registerCapability",t.messageDirection=I.MessageDirection.serverToClient,t.type=new I.ProtocolRequestType(t.method)})(DS||(d.RegistrationRequest=DS={}));var FS;(function(t){t.method="client/unregisterCapability",t.messageDirection=I.MessageDirection.serverToClient,t.type=new I.ProtocolRequestType(t.method)})(FS||(d.UnregistrationRequest=FS={}));var GS;(function(t){t.Create="create",t.Rename="rename",t.Delete="delete"})(GS||(d.ResourceOperationKind=GS={}));var US;(function(t){t.Abort="abort",t.Transactional="transactional",t.TextOnlyTransactional="textOnlyTransactional",t.Undo="undo"})(US||(d.FailureHandlingKind=US={}));var jS;(function(t){t.UTF8="utf-8",t.UTF16="utf-16",t.UTF32="utf-32"})(jS||(d.PositionEncodingKind=jS={}));var zS;(function(t){function e(r){let n=r;return n&&Tt.string(n.id)&&n.id.length>0}a(e,"hasId"),t.hasId=e})(zS||(d.StaticRegistrationOptions=zS={}));var BS;(function(t){function e(r){let n=r;return n&&(n.documentSelector===null||Hg.is(n.documentSelector))}a(e,"is"),t.is=e})(BS||(d.TextDocumentRegistrationOptions=BS={}));var KS;(function(t){function e(n){let i=n;return Tt.objectLiteral(i)&&(i.workDoneProgress===void 0||Tt.boolean(i.workDoneProgress))}a(e,"is"),t.is=e;function r(n){let i=n;return i&&Tt.boolean(i.workDoneProgress)}a(r,"hasWorkDoneProgress"),t.hasWorkDoneProgress=r})(KS||(d.WorkDoneProgressOptions=KS={}));var qS;(function(t){t.method="initialize",t.messageDirection=I.MessageDirection.clientToServer,t.type=new I.ProtocolRequestType(t.method)})(qS||(d.InitializeRequest=qS={}));var WS;(function(t){t.unknownProtocolVersion=1})(WS||(d.InitializeErrorCodes=WS={}));var VS;(function(t){t.method="initialized",t.messageDirection=I.MessageDirection.clientToServer,t.type=new I.ProtocolNotificationType(t.method)})(VS||(d.InitializedNotification=VS={}));var HS;(function(t){t.method="shutdown",t.messageDirection=I.MessageDirection.clientToServer,t.type=new I.ProtocolRequestType0(t.method)})(HS||(d.ShutdownRequest=HS={}));var YS;(function(t){t.method="exit",t.messageDirection=I.MessageDirection.clientToServer,t.type=new I.ProtocolNotificationType0(t.method)})(YS||(d.ExitNotification=YS={}));var XS;(function(t){t.method="workspace/didChangeConfiguration",t.messageDirection=I.MessageDirection.clientToServer,t.type=new I.ProtocolNotificationType(t.method)})(XS||(d.DidChangeConfigurationNotification=XS={}));var JS;(function(t){t.Error=1,t.Warning=2,t.Info=3,t.Log=4,t.Debug=5})(JS||(d.MessageType=JS={}));var ZS;(function(t){t.method="window/showMessage",t.messageDirection=I.MessageDirection.serverToClient,t.type=new I.ProtocolNotificationType(t.method)})(ZS||(d.ShowMessageNotification=ZS={}));var QS;(function(t){t.method="window/showMessageRequest",t.messageDirection=I.MessageDirection.serverToClient,t.type=new I.ProtocolRequestType(t.method)})(QS||(d.ShowMessageRequest=QS={}));var ew;(function(t){t.method="window/logMessage",t.messageDirection=I.MessageDirection.serverToClient,t.type=new I.ProtocolNotificationType(t.method)})(ew||(d.LogMessageNotification=ew={}));var tw;(function(t){t.method="telemetry/event",t.messageDirection=I.MessageDirection.serverToClient,t.type=new I.ProtocolNotificationType(t.method)})(tw||(d.TelemetryEventNotification=tw={}));var rw;(function(t){t.None=0,t.Full=1,t.Incremental=2})(rw||(d.TextDocumentSyncKind=rw={}));var nw;(function(t){t.method="textDocument/didOpen",t.messageDirection=I.MessageDirection.clientToServer,t.type=new I.ProtocolNotificationType(t.method)})(nw||(d.DidOpenTextDocumentNotification=nw={}));var iw;(function(t){function e(n){let i=n;return i!=null&&typeof i.text=="string"&&i.range!==void 0&&(i.rangeLength===void 0||typeof i.rangeLength=="number")}a(e,"isIncremental"),t.isIncremental=e;function r(n){let i=n;return i!=null&&typeof i.text=="string"&&i.range===void 0&&i.rangeLength===void 0}a(r,"isFull"),t.isFull=r})(iw||(d.TextDocumentContentChangeEvent=iw={}));var aw;(function(t){t.method="textDocument/didChange",t.messageDirection=I.MessageDirection.clientToServer,t.type=new I.ProtocolNotificationType(t.method)})(aw||(d.DidChangeTextDocumentNotification=aw={}));var sw;(function(t){t.method="textDocument/didClose",t.messageDirection=I.MessageDirection.clientToServer,t.type=new I.ProtocolNotificationType(t.method)})(sw||(d.DidCloseTextDocumentNotification=sw={}));var ow;(function(t){t.method="textDocument/didSave",t.messageDirection=I.MessageDirection.clientToServer,t.type=new I.ProtocolNotificationType(t.method)})(ow||(d.DidSaveTextDocumentNotification=ow={}));var lw;(function(t){t.Manual=1,t.AfterDelay=2,t.FocusOut=3})(lw||(d.TextDocumentSaveReason=lw={}));var uw;(function(t){t.method="textDocument/willSave",t.messageDirection=I.MessageDirection.clientToServer,t.type=new I.ProtocolNotificationType(t.method)})(uw||(d.WillSaveTextDocumentNotification=uw={}));var cw;(function(t){t.method="textDocument/willSaveWaitUntil",t.messageDirection=I.MessageDirection.clientToServer,t.type=new I.ProtocolRequestType(t.method)})(cw||(d.WillSaveTextDocumentWaitUntilRequest=cw={}));var fw;(function(t){t.method="workspace/didChangeWatchedFiles",t.messageDirection=I.MessageDirection.clientToServer,t.type=new I.ProtocolNotificationType(t.method)})(fw||(d.DidChangeWatchedFilesNotification=fw={}));var pw;(function(t){t.Created=1,t.Changed=2,t.Deleted=3})(pw||(d.FileChangeType=pw={}));var dw;(function(t){function e(r){let n=r;return Tt.objectLiteral(n)&&(MS.URI.is(n.baseUri)||MS.WorkspaceFolder.is(n.baseUri))&&Tt.string(n.pattern)}a(e,"is"),t.is=e})(dw||(d.RelativePattern=dw={}));var mw;(function(t){t.Create=1,t.Change=2,t.Delete=4})(mw||(d.WatchKind=mw={}));var hw;(function(t){t.method="textDocument/publishDiagnostics",t.messageDirection=I.MessageDirection.serverToClient,t.type=new I.ProtocolNotificationType(t.method)})(hw||(d.PublishDiagnosticsNotification=hw={}));var yw;(function(t){t.Invoked=1,t.TriggerCharacter=2,t.TriggerForIncompleteCompletions=3})(yw||(d.CompletionTriggerKind=yw={}));var gw;(function(t){t.method="textDocument/completion",t.messageDirection=I.MessageDirection.clientToServer,t.type=new I.ProtocolRequestType(t.method)})(gw||(d.CompletionRequest=gw={}));var Tw;(function(t){t.method="completionItem/resolve",t.messageDirection=I.MessageDirection.clientToServer,t.type=new I.ProtocolRequestType(t.method)})(Tw||(d.CompletionResolveRequest=Tw={}));var xw;(function(t){t.method="textDocument/hover",t.messageDirection=I.MessageDirection.clientToServer,t.type=new I.ProtocolRequestType(t.method)})(xw||(d.HoverRequest=xw={}));var Rw;(function(t){t.Invoked=1,t.TriggerCharacter=2,t.ContentChange=3})(Rw||(d.SignatureHelpTriggerKind=Rw={}));var $w;(function(t){t.method="textDocument/signatureHelp",t.messageDirection=I.MessageDirection.clientToServer,t.type=new I.ProtocolRequestType(t.method)})($w||(d.SignatureHelpRequest=$w={}));var Ew;(function(t){t.method="textDocument/definition",t.messageDirection=I.MessageDirection.clientToServer,t.type=new I.ProtocolRequestType(t.method)})(Ew||(d.DefinitionRequest=Ew={}));var vw;(function(t){t.method="textDocument/references",t.messageDirection=I.MessageDirection.clientToServer,t.type=new I.ProtocolRequestType(t.method)})(vw||(d.ReferencesRequest=vw={}));var Aw;(function(t){t.method="textDocument/documentHighlight",t.messageDirection=I.MessageDirection.clientToServer,t.type=new I.ProtocolRequestType(t.method)})(Aw||(d.DocumentHighlightRequest=Aw={}));var Cw;(function(t){t.method="textDocument/documentSymbol",t.messageDirection=I.MessageDirection.clientToServer,t.type=new I.ProtocolRequestType(t.method)})(Cw||(d.DocumentSymbolRequest=Cw={}));var bw;(function(t){t.method="textDocument/codeAction",t.messageDirection=I.MessageDirection.clientToServer,t.type=new I.ProtocolRequestType(t.method)})(bw||(d.CodeActionRequest=bw={}));var Sw;(function(t){t.method="codeAction/resolve",t.messageDirection=I.MessageDirection.clientToServer,t.type=new I.ProtocolRequestType(t.method)})(Sw||(d.CodeActionResolveRequest=Sw={}));var ww;(function(t){t.method="workspace/symbol",t.messageDirection=I.MessageDirection.clientToServer,t.type=new I.ProtocolRequestType(t.method)})(ww||(d.WorkspaceSymbolRequest=ww={}));var Nw;(function(t){t.method="workspaceSymbol/resolve",t.messageDirection=I.MessageDirection.clientToServer,t.type=new I.ProtocolRequestType(t.method)})(Nw||(d.WorkspaceSymbolResolveRequest=Nw={}));var Iw;(function(t){t.method="textDocument/codeLens",t.messageDirection=I.MessageDirection.clientToServer,t.type=new I.ProtocolRequestType(t.method)})(Iw||(d.CodeLensRequest=Iw={}));var _w;(function(t){t.method="codeLens/resolve",t.messageDirection=I.MessageDirection.clientToServer,t.type=new I.ProtocolRequestType(t.method)})(_w||(d.CodeLensResolveRequest=_w={}));var kw;(function(t){t.method="workspace/codeLens/refresh",t.messageDirection=I.MessageDirection.serverToClient,t.type=new I.ProtocolRequestType0(t.method)})(kw||(d.CodeLensRefreshRequest=kw={}));var Pw;(function(t){t.method="textDocument/documentLink",t.messageDirection=I.MessageDirection.clientToServer,t.type=new I.ProtocolRequestType(t.method)})(Pw||(d.DocumentLinkRequest=Pw={}));var Ow;(function(t){t.method="documentLink/resolve",t.messageDirection=I.MessageDirection.clientToServer,t.type=new I.ProtocolRequestType(t.method)})(Ow||(d.DocumentLinkResolveRequest=Ow={}));var Lw;(function(t){t.method="textDocument/formatting",t.messageDirection=I.MessageDirection.clientToServer,t.type=new I.ProtocolRequestType(t.method)})(Lw||(d.DocumentFormattingRequest=Lw={}));var Mw;(function(t){t.method="textDocument/rangeFormatting",t.messageDirection=I.MessageDirection.clientToServer,t.type=new I.ProtocolRequestType(t.method)})(Mw||(d.DocumentRangeFormattingRequest=Mw={}));var Dw;(function(t){t.method="textDocument/rangesFormatting",t.messageDirection=I.MessageDirection.clientToServer,t.type=new I.ProtocolRequestType(t.method)})(Dw||(d.DocumentRangesFormattingRequest=Dw={}));var Fw;(function(t){t.method="textDocument/onTypeFormatting",t.messageDirection=I.MessageDirection.clientToServer,t.type=new I.ProtocolRequestType(t.method)})(Fw||(d.DocumentOnTypeFormattingRequest=Fw={}));var Gw;(function(t){t.Identifier=1})(Gw||(d.PrepareSupportDefaultBehavior=Gw={}));var Uw;(function(t){t.method="textDocument/rename",t.messageDirection=I.MessageDirection.clientToServer,t.type=new I.ProtocolRequestType(t.method)})(Uw||(d.RenameRequest=Uw={}));var jw;(function(t){t.method="textDocument/prepareRename",t.messageDirection=I.MessageDirection.clientToServer,t.type=new I.ProtocolRequestType(t.method)})(jw||(d.PrepareRenameRequest=jw={}));var zw;(function(t){t.method="workspace/executeCommand",t.messageDirection=I.MessageDirection.clientToServer,t.type=new I.ProtocolRequestType(t.method)})(zw||(d.ExecuteCommandRequest=zw={}));var Bw;(function(t){t.method="workspace/applyEdit",t.messageDirection=I.MessageDirection.serverToClient,t.type=new I.ProtocolRequestType("workspace/applyEdit")})(Bw||(d.ApplyWorkspaceEditRequest=Bw={}))});var Xw=J(nd=>{"use strict";Object.defineProperty(nd,"__esModule",{value:!0});nd.createProtocolConnection=void 0;var Yw=wa();function ZB(t,e,r,n){return Yw.ConnectionStrategy.is(n)&&(n={connectionStrategy:n}),(0,Yw.createMessageConnection)(t,e,r,n)}a(ZB,"createProtocolConnection");nd.createProtocolConnection=ZB});var Zw=J(tr=>{"use strict";var QB=tr&&tr.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:a(function(){return e[r]},"get")}),Object.defineProperty(t,n,i)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),id=tr&&tr.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&QB(e,t,r)};Object.defineProperty(tr,"__esModule",{value:!0});tr.LSPErrorCodes=tr.createProtocolConnection=void 0;id(wa(),tr);id((ao(),Id(mp)),tr);id(De(),tr);id(Hw(),tr);var eK=Xw();Object.defineProperty(tr,"createProtocolConnection",{enumerable:!0,get:a(function(){return eK.createProtocolConnection},"get")});var Jw;(function(t){t.lspReservedErrorRangeStart=-32899,t.RequestFailed=-32803,t.ServerCancelled=-32802,t.ContentModified=-32801,t.RequestCancelled=-32800,t.lspReservedErrorRangeEnd=-32800})(Jw||(tr.LSPErrorCodes=Jw={}))});var eN=J(cn=>{"use strict";var tK=cn&&cn.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:a(function(){return e[r]},"get")}),Object.defineProperty(t,n,i)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),Qw=cn&&cn.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&tK(e,t,r)};Object.defineProperty(cn,"__esModule",{value:!0});cn.createProtocolConnection=void 0;var rK=Dg();Qw(Dg(),cn);Qw(Zw(),cn);function nK(t,e,r,n){return(0,rK.createMessageConnection)(t,e,r,n)}a(nK,"createProtocolConnection");cn.createProtocolConnection=nK});var We={};Un(We,{AbstractAstReflection:()=>Ui,AbstractCstNode:()=>Hl,AbstractLangiumParser:()=>Yl,AbstractParserErrorMessageProvider:()=>yp,AbstractThreadedAsyncParser:()=>oT,AstUtils:()=>Xu,BiMap:()=>Aa,Cancellation:()=>V,CompositeCstNodeImpl:()=>xa,ContextCache:()=>Ca,CstNodeBuilder:()=>Vl,CstUtils:()=>yc,DEFAULT_TOKENIZE_OPTIONS:()=>ad,DONE_RESULT:()=>At,DatatypeSymbol:()=>hp,DefaultAstNodeDescriptionProvider:()=>du,DefaultAstNodeLocator:()=>hu,DefaultAsyncParser:()=>Ou,DefaultCommentProvider:()=>Pu,DefaultConfigurationProvider:()=>yu,DefaultDocumentBuilder:()=>bu,DefaultDocumentValidator:()=>pu,DefaultHydrator:()=>Mu,DefaultIndexManager:()=>Su,DefaultJsonSerializer:()=>uu,DefaultLangiumDocumentFactory:()=>eu,DefaultLangiumDocuments:()=>tu,DefaultLangiumProfiler:()=>hT,DefaultLexer:()=>Ia,DefaultLexerErrorMessageProvider:()=>Nu,DefaultLinker:()=>ru,DefaultNameProvider:()=>nu,DefaultReferenceDescriptionProvider:()=>mu,DefaultReferences:()=>iu,DefaultScopeComputation:()=>au,DefaultScopeProvider:()=>lu,DefaultServiceRegistry:()=>cu,DefaultTokenBuilder:()=>Pn,DefaultValueConverter:()=>$a,DefaultWorkspaceLock:()=>Lu,DefaultWorkspaceManager:()=>wu,Deferred:()=>Kt,Disposable:()=>Fi,DisposableCache:()=>yo,DocumentCache:()=>Cp,DocumentState:()=>ee,DocumentValidator:()=>xr,EMPTY_SCOPE:()=>gB,EMPTY_STREAM:()=>zn,EmptyFileSystem:()=>mT,EmptyFileSystemProvider:()=>fd,ErrorWithLocation:()=>ta,GrammarAST:()=>il,GrammarUtils:()=>Ec,IndentationAwareLexer:()=>dT,IndentationAwareTokenBuilder:()=>cd,JSDocDocumentationProvider:()=>ku,LangiumCompletionParser:()=>Jl,LangiumParser:()=>Xl,LangiumParserErrorMessageProvider:()=>oo,LeafCstNodeImpl:()=>Ta,LexingMode:()=>_a,MapScope:()=>Py,Module:()=>fT,MultiMap:()=>It,MultiMapScope:()=>su,OperationCancelled:()=>Tr,ParserWorker:()=>lT,ProfilingTask:()=>pd,Reduction:()=>Ua,RefResolving:()=>va,RegExpUtils:()=>xc,RootCstNodeImpl:()=>so,SimpleCache:()=>ou,StreamImpl:()=>nr,StreamScope:()=>ho,TextDocument:()=>fo,TreeStreamImpl:()=>jr,URI:()=>ft,UriTrie:()=>mo,UriUtils:()=>Je,VALIDATE_EACH_NODE:()=>NC,ValidationCategory:()=>bp,ValidationRegistry:()=>fu,ValueConverter:()=>an,WorkspaceCache:()=>go,assertCondition:()=>GT,assertUnreachable:()=>Kr,createCompletionParser:()=>vy,createDefaultCoreModule:()=>uT,createDefaultSharedCoreModule:()=>cT,createGrammarConfig:()=>$m,createLangiumParser:()=>Ay,createParser:()=>Zl,delayNextTick:()=>_y,diagnosticData:()=>ba,eagerLoad:()=>cN,getDiagnosticRange:()=>IC,indentationBuilderDefaultOptions:()=>pT,inject:()=>ud,interruptAndCheck:()=>Be,isAstNode:()=>Ue,isAstNodeDescription:()=>_d,isAstNodeWithComment:()=>Oy,isCompositeCstNode:()=>Cr,isIMultiModeLexerDefinition:()=>tT,isJSDoc:()=>aT,isLeafCstNode:()=>jn,isLinkingError:()=>ji,isMultiReference:()=>rr,isNamed:()=>SC,isOperationCancelled:()=>sn,isReference:()=>ot,isRootCstNode:()=>Wo,isTokenTypeArray:()=>sd,isTokenTypeDictionary:()=>eT,loadGrammarFromJson:()=>cr,parseJSDoc:()=>iT,prepareLangiumParser:()=>gC,setInterruptionPeriod:()=>EC,startCancelableOperation:()=>vp,stream:()=>te,toDiagnosticData:()=>_C,toDiagnosticSeverity:()=>Sp});var yc={};Un(yc,{DefaultNameRegexp:()=>hc,RangeComparison:()=>Br,compareRange:()=>LT,findCommentNode:()=>rm,findDeclarationNodeAtOffset:()=>NI,findLeafNodeAtOffset:()=>nm,findLeafNodeBeforeOffset:()=>MT,flattenCst:()=>wI,getDatatypeNode:()=>SI,getInteriorNodes:()=>kI,getNextNode:()=>II,getPreviousNode:()=>FT,getStartlineNode:()=>_I,inRange:()=>Ld,isChildNode:()=>tm,isCommentNode:()=>em,streamCst:()=>Qi,toDocumentSegment:()=>ea,tokenToRange:()=>Ja});function Ue(t){return typeof t=="object"&&t!==null&&typeof t.$type=="string"}a(Ue,"isAstNode");function ot(t){return typeof t=="object"&&t!==null&&typeof t.$refText=="string"&&"ref"in t}a(ot,"isReference");function rr(t){return typeof t=="object"&&t!==null&&typeof t.$refText=="string"&&"items"in t}a(rr,"isMultiReference");function _d(t){return typeof t=="object"&&t!==null&&typeof t.name=="string"&&typeof t.type=="string"&&typeof t.path=="string"}a(_d,"isAstNodeDescription");function ji(t){return typeof t=="object"&&t!==null&&typeof t.info=="object"&&typeof t.message=="string"}a(ji,"isLinkingError");var Ui=class{static{a(this,"AbstractAstReflection")}constructor(){this.subtypes={},this.allSubtypes={}}getAllTypes(){return Object.keys(this.types)}getReferenceType(e){let r=this.types[e.container.$type];if(!r)throw new Error(`Type ${e.container.$type||"undefined"} not found.`);let n=r.properties[e.property]?.referenceType;if(!n)throw new Error(`Property ${e.property||"undefined"} of type ${e.container.$type} is not a reference.`);return n}getTypeMetaData(e){let r=this.types[e];return r||{name:e,properties:{},superTypes:[]}}isInstance(e,r){return Ue(e)&&this.isSubtype(e.$type,r)}isSubtype(e,r){if(e===r)return!0;let n=this.subtypes[e];n||(n=this.subtypes[e]={});let i=n[r];if(i!==void 0)return i;{let s=this.types[e],o=s?s.superTypes.some(l=>this.isSubtype(l,r)):!1;return n[r]=o,o}}getAllSubTypes(e){let r=this.allSubtypes[e];if(r)return r;{let n=this.getAllTypes(),i=[];for(let s of n)this.isSubtype(s,e)&&i.push(s);return this.allSubtypes[e]=i,i}}};function Cr(t){return typeof t=="object"&&t!==null&&Array.isArray(t.content)}a(Cr,"isCompositeCstNode");function jn(t){return typeof t=="object"&&t!==null&&typeof t.tokenType=="object"}a(jn,"isLeafCstNode");function Wo(t){return Cr(t)&&typeof t.fullText=="string"}a(Wo,"isRootCstNode");var nr=class t{static{a(this,"StreamImpl")}constructor(e,r){this.startFn=e,this.nextFn=r}iterator(){let e={state:this.startFn(),next:a(()=>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(),r=0,n=e.next();for(;!n.done;)r++,n=e.next();return r}toArray(){let e=[],r=this.iterator(),n;do n=r.next(),n.value!==void 0&&e.push(n.value);while(!n.done);return e}toSet(){return new Set(this)}toMap(e,r){let n=this.map(i=>[e?e(i):i,r?r(i):i]);return new Map(n)}toString(){return this.join()}concat(e){return new t(()=>({first:this.startFn(),firstDone:!1,iterator:e[Symbol.iterator]()}),r=>{let n;if(!r.firstDone){do if(n=this.nextFn(r.first),!n.done)return n;while(!n.done);r.firstDone=!0}do if(n=r.iterator.next(),!n.done)return n;while(!n.done);return At})}join(e=","){let r=this.iterator(),n="",i,s=!1;do i=r.next(),i.done||(s&&(n+=e),n+=lI(i.value)),s=!0;while(!i.done);return n}indexOf(e,r=0){let n=this.iterator(),i=0,s=n.next();for(;!s.done;){if(i>=r&&s.value===e)return i;s=n.next(),i++}return-1}every(e){let r=this.iterator(),n=r.next();for(;!n.done;){if(!e(n.value))return!1;n=r.next()}return!0}some(e){let r=this.iterator(),n=r.next();for(;!n.done;){if(e(n.value))return!0;n=r.next()}return!1}forEach(e){let r=this.iterator(),n=0,i=r.next();for(;!i.done;)e(i.value,n),i=r.next(),n++}map(e){return new t(this.startFn,r=>{let{done:n,value:i}=this.nextFn(r);return n?At:{done:!1,value:e(i)}})}filter(e){return new t(this.startFn,r=>{let n;do if(n=this.nextFn(r),!n.done&&e(n.value))return n;while(!n.done);return At})}nonNullable(){return this.filter(e=>e!=null)}reduce(e,r){let n=this.iterator(),i=r,s=n.next();for(;!s.done;)i===void 0?i=s.value:i=e(i,s.value),s=n.next();return i}reduceRight(e,r){return this.recursiveReduce(this.iterator(),e,r)}recursiveReduce(e,r,n){let i=e.next();if(i.done)return n;let s=this.recursiveReduce(e,r,n);return s===void 0?i.value:r(s,i.value)}find(e){let r=this.iterator(),n=r.next();for(;!n.done;){if(e(n.value))return n.value;n=r.next()}}findIndex(e){let r=this.iterator(),n=0,i=r.next();for(;!i.done;){if(e(i.value))return n;i=r.next(),n++}return-1}includes(e){let r=this.iterator(),n=r.next();for(;!n.done;){if(n.value===e)return!0;n=r.next()}return!1}flatMap(e){return new t(()=>({this:this.startFn()}),r=>{do{if(r.iterator){let s=r.iterator.next();if(s.done)r.iterator=void 0;else return s}let{done:n,value:i}=this.nextFn(r.this);if(!n){let s=e(i);if(Hu(s))r.iterator=s[Symbol.iterator]();else return{done:!1,value:s}}}while(r.iterator);return At})}flat(e){if(e===void 0&&(e=1),e<=0)return this;let r=e>1?this.flat(e-1):this;return new t(()=>({this:r.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:s}=r.nextFn(n.this);if(!i)if(Hu(s))n.iterator=s[Symbol.iterator]();else return{done:!1,value:s}}while(n.iterator);return At})}head(){let r=this.iterator().next();if(!r.done)return r.value}tail(e=1){return new t(()=>{let r=this.startFn();for(let n=0;n({size:0,state:this.startFn()}),r=>(r.size++,r.size>e?At:this.nextFn(r.state)))}distinct(e){return new t(()=>({set:new Set,internalState:this.startFn()}),r=>{let n;do if(n=this.nextFn(r.internalState),!n.done){let i=e?e(n.value):n.value;if(!r.set.has(i))return r.set.add(i),n}while(!n.done);return At})}exclude(e,r){let n=new Set;for(let i of e){let s=r?r(i):i;n.add(s)}return this.filter(i=>{let s=r?r(i):i;return!n.has(s)})}};function lI(t){return typeof t=="string"?t:typeof t>"u"?"undefined":typeof t.toString=="function"?t.toString():Object.prototype.toString.call(t)}a(lI,"toString");function Hu(t){return!!t&&typeof t[Symbol.iterator]=="function"}a(Hu,"isIterable");var zn=new nr(()=>{},()=>At),At=Object.freeze({done:!0,value:void 0});function te(...t){if(t.length===1){let e=t[0];if(e instanceof nr)return e;if(Hu(e))return new nr(()=>e[Symbol.iterator](),r=>r.next());if(typeof e.length=="number")return new nr(()=>({index:0}),r=>r.index1?new nr(()=>({collIndex:0,arrIndex:0}),e=>{do{if(e.iterator){let r=e.iterator.next();if(!r.done)return r;e.iterator=void 0}if(e.array){if(e.arrIndex({iterators:n?.includeRoot?[[e][Symbol.iterator]()]:[r(e)[Symbol.iterator]()],pruned:!1}),i=>{for(i.pruned&&(i.iterators.pop(),i.pruned=!1);i.iterators.length>0;){let o=i.iterators[i.iterators.length-1].next();if(o.done)i.iterators.pop();else return i.iterators.push(r(o.value)[Symbol.iterator]()),o}return At})}iterator(){let e={state:this.startFn(),next:a(()=>this.nextFn(e.state),"next"),prune:a(()=>{e.state.pruned=!0},"prune"),[Symbol.iterator]:()=>e};return e}},Ua;(function(t){function e(s){return s.reduce((o,l)=>o+l,0)}a(e,"sum"),t.sum=e;function r(s){return s.reduce((o,l)=>o*l,0)}a(r,"product"),t.product=r;function n(s){return s.reduce((o,l)=>Math.min(o,l))}a(n,"min"),t.min=n;function i(s){return s.reduce((o,l)=>Math.max(o,l))}a(i,"max"),t.max=i})(Ua||(Ua={}));var Xu={};Un(Xu,{assignMandatoryProperties:()=>Od,copyAstNode:()=>Pd,findRootNode:()=>za,getContainerOfType:()=>dn,getDocument:()=>Ct,getReferenceNodes:()=>Yu,hasContainerOfType:()=>uI,linkContentToContainer:()=>ja,streamAllContents:()=>br,streamAst:()=>Lt,streamContents:()=>Vo,streamReferences:()=>Bn});function ja(t,e={}){for(let[r,n]of Object.entries(t))r.startsWith("$")||(Array.isArray(n)?n.forEach((i,s)=>{Ue(i)&&(i.$container=t,i.$containerProperty=r,i.$containerIndex=s,e.deep&&ja(i,e))}):Ue(n)&&(n.$container=t,n.$containerProperty=r,e.deep&&ja(n,e)))}a(ja,"linkContentToContainer");function dn(t,e){let r=t;for(;r;){if(e(r))return r;r=r.$container}}a(dn,"getContainerOfType");function uI(t,e){let r=t;for(;r;){if(e(r))return!0;r=r.$container}return!1}a(uI,"hasContainerOfType");function Ct(t){let r=za(t).$document;if(!r)throw new Error("AST node has no document.");return r}a(Ct,"getDocument");function za(t){for(;t.$container;)t=t.$container;return t}a(za,"findRootNode");function Yu(t){return ot(t)?t.ref?[t.ref]:[]:rr(t)?t.items.map(e=>e.ref):[]}a(Yu,"getReferenceNodes");function Vo(t,e){if(!t)throw new Error("Node must be an AstNode.");let r=e?.range;return new nr(()=>({keys:Object.keys(t),keyIndex:0,arrayIndex:0}),n=>{for(;n.keyIndexVo(r,e))}a(br,"streamAllContents");function Lt(t,e){if(t){if(e?.range&&!kd(t,e.range))return new jr(t,()=>[])}else throw new Error("Root node must be an AstNode.");return new jr(t,r=>Vo(r,e),{includeRoot:!0})}a(Lt,"streamAst");function kd(t,e){if(!e)return!0;let r=t.$cstNode?.range;return r?Ld(r,e):!1}a(kd,"isAstNodeInRange");function Bn(t){return new nr(()=>({keys:Object.keys(t),keyIndex:0,arrayIndex:0}),e=>{for(;e.keyIndexWt,AbstractParserRule:()=>Ho,AbstractRule:()=>Ba,AbstractType:()=>ir,Action:()=>Kn,Alternatives:()=>Yo,ArrayLiteral:()=>Ju,ArrayType:()=>Zu,Assignment:()=>qn,BooleanLiteral:()=>Qu,CharacterRange:()=>Wn,Condition:()=>Vn,Conjunction:()=>Xo,CrossReference:()=>Hn,Disjunction:()=>Jo,EndOfFile:()=>ec,Grammar:()=>mn,GrammarImport:()=>tc,Group:()=>zi,InferredType:()=>rc,InfixRule:()=>zr,InfixRuleOperatorList:()=>Zo,InfixRuleOperators:()=>nc,Interface:()=>Ka,Keyword:()=>qa,LangiumGrammarAstReflection:()=>Xa,LangiumGrammarTerminals:()=>cI,NamedArgument:()=>Wa,NegatedToken:()=>Bi,Negation:()=>ic,NumberLiteral:()=>ac,Parameter:()=>Va,ParameterReference:()=>sc,ParserRule:()=>Sr,ReferenceType:()=>Qo,RegexToken:()=>Ki,ReturnType:()=>oc,RuleCall:()=>qi,SimpleType:()=>Ha,StringLiteral:()=>lc,TerminalAlternatives:()=>Wi,TerminalElement:()=>Vt,TerminalGroup:()=>Vi,TerminalRule:()=>hn,TerminalRuleCall:()=>Hi,Type:()=>el,TypeAttribute:()=>Yi,TypeDefinition:()=>Xi,UnionType:()=>uc,UnorderedGroup:()=>tl,UntilToken:()=>Ji,ValueLiteral:()=>Zi,Wildcard:()=>Ya,isAbstractElement:()=>rl,isAbstractParserRule:()=>yn,isAbstractRule:()=>fI,isAbstractType:()=>pI,isAction:()=>gn,isAlternatives:()=>cc,isArrayLiteral:()=>dI,isArrayType:()=>Md,isAssignment:()=>wr,isBooleanLiteral:()=>Dd,isCharacterRange:()=>Fd,isCondition:()=>mI,isConjunction:()=>Gd,isCrossReference:()=>Nr,isDisjunction:()=>Ud,isEndOfFile:()=>jd,isGrammar:()=>hI,isGrammarImport:()=>yI,isGroup:()=>Yn,isInferredType:()=>nl,isInfixRule:()=>Xn,isInfixRuleOperatorList:()=>gI,isInfixRuleOperators:()=>TI,isInterface:()=>zd,isKeyword:()=>dr,isNamedArgument:()=>xI,isNegatedToken:()=>Bd,isNegation:()=>Kd,isNumberLiteral:()=>RI,isParameter:()=>$I,isParameterReference:()=>qd,isParserRule:()=>dt,isReferenceType:()=>Wd,isRegexToken:()=>Vd,isReturnType:()=>Hd,isRuleCall:()=>Ir,isSimpleType:()=>fc,isStringLiteral:()=>EI,isTerminalAlternatives:()=>Yd,isTerminalElement:()=>vI,isTerminalGroup:()=>Xd,isTerminalRule:()=>Mt,isTerminalRuleCall:()=>pc,isType:()=>dc,isTypeAttribute:()=>AI,isTypeDefinition:()=>CI,isUnionType:()=>Jd,isUnorderedGroup:()=>mc,isUntilToken:()=>Zd,isValueLiteral:()=>bI,isWildcard:()=>Qd,reflection:()=>W});var cI={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]*/},Wt={$type:"AbstractElement",cardinality:"cardinality"};function rl(t){return W.isInstance(t,Wt.$type)}a(rl,"isAbstractElement");var Ho={$type:"AbstractParserRule"};function yn(t){return W.isInstance(t,Ho.$type)}a(yn,"isAbstractParserRule");var Ba={$type:"AbstractRule"};function fI(t){return W.isInstance(t,Ba.$type)}a(fI,"isAbstractRule");var ir={$type:"AbstractType"};function pI(t){return W.isInstance(t,ir.$type)}a(pI,"isAbstractType");var Kn={$type:"Action",cardinality:"cardinality",feature:"feature",inferredType:"inferredType",operator:"operator",type:"type"};function gn(t){return W.isInstance(t,Kn.$type)}a(gn,"isAction");var Yo={$type:"Alternatives",cardinality:"cardinality",elements:"elements"};function cc(t){return W.isInstance(t,Yo.$type)}a(cc,"isAlternatives");var Ju={$type:"ArrayLiteral",elements:"elements"};function dI(t){return W.isInstance(t,Ju.$type)}a(dI,"isArrayLiteral");var Zu={$type:"ArrayType",elementType:"elementType"};function Md(t){return W.isInstance(t,Zu.$type)}a(Md,"isArrayType");var qn={$type:"Assignment",cardinality:"cardinality",feature:"feature",operator:"operator",predicate:"predicate",terminal:"terminal"};function wr(t){return W.isInstance(t,qn.$type)}a(wr,"isAssignment");var Qu={$type:"BooleanLiteral",true:"true"};function Dd(t){return W.isInstance(t,Qu.$type)}a(Dd,"isBooleanLiteral");var Wn={$type:"CharacterRange",cardinality:"cardinality",left:"left",lookahead:"lookahead",parenthesized:"parenthesized",right:"right"};function Fd(t){return W.isInstance(t,Wn.$type)}a(Fd,"isCharacterRange");var Vn={$type:"Condition"};function mI(t){return W.isInstance(t,Vn.$type)}a(mI,"isCondition");var Xo={$type:"Conjunction",left:"left",right:"right"};function Gd(t){return W.isInstance(t,Xo.$type)}a(Gd,"isConjunction");var Hn={$type:"CrossReference",cardinality:"cardinality",deprecatedSyntax:"deprecatedSyntax",isMulti:"isMulti",terminal:"terminal",type:"type"};function Nr(t){return W.isInstance(t,Hn.$type)}a(Nr,"isCrossReference");var Jo={$type:"Disjunction",left:"left",right:"right"};function Ud(t){return W.isInstance(t,Jo.$type)}a(Ud,"isDisjunction");var ec={$type:"EndOfFile",cardinality:"cardinality"};function jd(t){return W.isInstance(t,ec.$type)}a(jd,"isEndOfFile");var mn={$type:"Grammar",imports:"imports",interfaces:"interfaces",isDeclared:"isDeclared",name:"name",rules:"rules",types:"types"};function hI(t){return W.isInstance(t,mn.$type)}a(hI,"isGrammar");var tc={$type:"GrammarImport",path:"path"};function yI(t){return W.isInstance(t,tc.$type)}a(yI,"isGrammarImport");var zi={$type:"Group",cardinality:"cardinality",elements:"elements",guardCondition:"guardCondition",predicate:"predicate"};function Yn(t){return W.isInstance(t,zi.$type)}a(Yn,"isGroup");var rc={$type:"InferredType",name:"name"};function nl(t){return W.isInstance(t,rc.$type)}a(nl,"isInferredType");var zr={$type:"InfixRule",call:"call",dataType:"dataType",inferredType:"inferredType",name:"name",operators:"operators",parameters:"parameters",returnType:"returnType"};function Xn(t){return W.isInstance(t,zr.$type)}a(Xn,"isInfixRule");var Zo={$type:"InfixRuleOperatorList",associativity:"associativity",operators:"operators"};function gI(t){return W.isInstance(t,Zo.$type)}a(gI,"isInfixRuleOperatorList");var nc={$type:"InfixRuleOperators",precedences:"precedences"};function TI(t){return W.isInstance(t,nc.$type)}a(TI,"isInfixRuleOperators");var Ka={$type:"Interface",attributes:"attributes",name:"name",superTypes:"superTypes"};function zd(t){return W.isInstance(t,Ka.$type)}a(zd,"isInterface");var qa={$type:"Keyword",cardinality:"cardinality",predicate:"predicate",value:"value"};function dr(t){return W.isInstance(t,qa.$type)}a(dr,"isKeyword");var Wa={$type:"NamedArgument",calledByName:"calledByName",parameter:"parameter",value:"value"};function xI(t){return W.isInstance(t,Wa.$type)}a(xI,"isNamedArgument");var Bi={$type:"NegatedToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",terminal:"terminal"};function Bd(t){return W.isInstance(t,Bi.$type)}a(Bd,"isNegatedToken");var ic={$type:"Negation",value:"value"};function Kd(t){return W.isInstance(t,ic.$type)}a(Kd,"isNegation");var ac={$type:"NumberLiteral",value:"value"};function RI(t){return W.isInstance(t,ac.$type)}a(RI,"isNumberLiteral");var Va={$type:"Parameter",name:"name"};function $I(t){return W.isInstance(t,Va.$type)}a($I,"isParameter");var sc={$type:"ParameterReference",parameter:"parameter"};function qd(t){return W.isInstance(t,sc.$type)}a(qd,"isParameterReference");var Sr={$type:"ParserRule",dataType:"dataType",definition:"definition",entry:"entry",fragment:"fragment",inferredType:"inferredType",name:"name",parameters:"parameters",returnType:"returnType"};function dt(t){return W.isInstance(t,Sr.$type)}a(dt,"isParserRule");var Qo={$type:"ReferenceType",isMulti:"isMulti",referenceType:"referenceType"};function Wd(t){return W.isInstance(t,Qo.$type)}a(Wd,"isReferenceType");var Ki={$type:"RegexToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",regex:"regex"};function Vd(t){return W.isInstance(t,Ki.$type)}a(Vd,"isRegexToken");var oc={$type:"ReturnType",name:"name"};function Hd(t){return W.isInstance(t,oc.$type)}a(Hd,"isReturnType");var qi={$type:"RuleCall",arguments:"arguments",cardinality:"cardinality",predicate:"predicate",rule:"rule"};function Ir(t){return W.isInstance(t,qi.$type)}a(Ir,"isRuleCall");var Ha={$type:"SimpleType",primitiveType:"primitiveType",stringType:"stringType",typeRef:"typeRef"};function fc(t){return W.isInstance(t,Ha.$type)}a(fc,"isSimpleType");var lc={$type:"StringLiteral",value:"value"};function EI(t){return W.isInstance(t,lc.$type)}a(EI,"isStringLiteral");var Wi={$type:"TerminalAlternatives",cardinality:"cardinality",elements:"elements",lookahead:"lookahead",parenthesized:"parenthesized"};function Yd(t){return W.isInstance(t,Wi.$type)}a(Yd,"isTerminalAlternatives");var Vt={$type:"TerminalElement",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized"};function vI(t){return W.isInstance(t,Vt.$type)}a(vI,"isTerminalElement");var Vi={$type:"TerminalGroup",cardinality:"cardinality",elements:"elements",lookahead:"lookahead",parenthesized:"parenthesized"};function Xd(t){return W.isInstance(t,Vi.$type)}a(Xd,"isTerminalGroup");var hn={$type:"TerminalRule",definition:"definition",fragment:"fragment",hidden:"hidden",name:"name",type:"type"};function Mt(t){return W.isInstance(t,hn.$type)}a(Mt,"isTerminalRule");var Hi={$type:"TerminalRuleCall",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",rule:"rule"};function pc(t){return W.isInstance(t,Hi.$type)}a(pc,"isTerminalRuleCall");var el={$type:"Type",name:"name",type:"type"};function dc(t){return W.isInstance(t,el.$type)}a(dc,"isType");var Yi={$type:"TypeAttribute",defaultValue:"defaultValue",isOptional:"isOptional",name:"name",type:"type"};function AI(t){return W.isInstance(t,Yi.$type)}a(AI,"isTypeAttribute");var Xi={$type:"TypeDefinition"};function CI(t){return W.isInstance(t,Xi.$type)}a(CI,"isTypeDefinition");var uc={$type:"UnionType",types:"types"};function Jd(t){return W.isInstance(t,uc.$type)}a(Jd,"isUnionType");var tl={$type:"UnorderedGroup",cardinality:"cardinality",elements:"elements"};function mc(t){return W.isInstance(t,tl.$type)}a(mc,"isUnorderedGroup");var Ji={$type:"UntilToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",terminal:"terminal"};function Zd(t){return W.isInstance(t,Ji.$type)}a(Zd,"isUntilToken");var Zi={$type:"ValueLiteral"};function bI(t){return W.isInstance(t,Zi.$type)}a(bI,"isValueLiteral");var Ya={$type:"Wildcard",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized"};function Qd(t){return W.isInstance(t,Ya.$type)}a(Qd,"isWildcard");var Xa=class extends Ui{static{a(this,"LangiumGrammarAstReflection")}constructor(){super(...arguments),this.types={AbstractElement:{name:Wt.$type,properties:{cardinality:{name:Wt.cardinality}},superTypes:[]},AbstractParserRule:{name:Ho.$type,properties:{},superTypes:[Ba.$type,ir.$type]},AbstractRule:{name:Ba.$type,properties:{},superTypes:[]},AbstractType:{name:ir.$type,properties:{},superTypes:[]},Action:{name:Kn.$type,properties:{cardinality:{name:Kn.cardinality},feature:{name:Kn.feature},inferredType:{name:Kn.inferredType},operator:{name:Kn.operator},type:{name:Kn.type,referenceType:ir.$type}},superTypes:[Wt.$type]},Alternatives:{name:Yo.$type,properties:{cardinality:{name:Yo.cardinality},elements:{name:Yo.elements,defaultValue:[]}},superTypes:[Wt.$type]},ArrayLiteral:{name:Ju.$type,properties:{elements:{name:Ju.elements,defaultValue:[]}},superTypes:[Zi.$type]},ArrayType:{name:Zu.$type,properties:{elementType:{name:Zu.elementType}},superTypes:[Xi.$type]},Assignment:{name:qn.$type,properties:{cardinality:{name:qn.cardinality},feature:{name:qn.feature},operator:{name:qn.operator},predicate:{name:qn.predicate},terminal:{name:qn.terminal}},superTypes:[Wt.$type]},BooleanLiteral:{name:Qu.$type,properties:{true:{name:Qu.true,defaultValue:!1}},superTypes:[Vn.$type,Zi.$type]},CharacterRange:{name:Wn.$type,properties:{cardinality:{name:Wn.cardinality},left:{name:Wn.left},lookahead:{name:Wn.lookahead},parenthesized:{name:Wn.parenthesized,defaultValue:!1},right:{name:Wn.right}},superTypes:[Vt.$type]},Condition:{name:Vn.$type,properties:{},superTypes:[]},Conjunction:{name:Xo.$type,properties:{left:{name:Xo.left},right:{name:Xo.right}},superTypes:[Vn.$type]},CrossReference:{name:Hn.$type,properties:{cardinality:{name:Hn.cardinality},deprecatedSyntax:{name:Hn.deprecatedSyntax,defaultValue:!1},isMulti:{name:Hn.isMulti,defaultValue:!1},terminal:{name:Hn.terminal},type:{name:Hn.type,referenceType:ir.$type}},superTypes:[Wt.$type]},Disjunction:{name:Jo.$type,properties:{left:{name:Jo.left},right:{name:Jo.right}},superTypes:[Vn.$type]},EndOfFile:{name:ec.$type,properties:{cardinality:{name:ec.cardinality}},superTypes:[Wt.$type]},Grammar:{name:mn.$type,properties:{imports:{name:mn.imports,defaultValue:[]},interfaces:{name:mn.interfaces,defaultValue:[]},isDeclared:{name:mn.isDeclared,defaultValue:!1},name:{name:mn.name},rules:{name:mn.rules,defaultValue:[]},types:{name:mn.types,defaultValue:[]}},superTypes:[]},GrammarImport:{name:tc.$type,properties:{path:{name:tc.path}},superTypes:[]},Group:{name:zi.$type,properties:{cardinality:{name:zi.cardinality},elements:{name:zi.elements,defaultValue:[]},guardCondition:{name:zi.guardCondition},predicate:{name:zi.predicate}},superTypes:[Wt.$type]},InferredType:{name:rc.$type,properties:{name:{name:rc.name}},superTypes:[ir.$type]},InfixRule:{name:zr.$type,properties:{call:{name:zr.call},dataType:{name:zr.dataType},inferredType:{name:zr.inferredType},name:{name:zr.name},operators:{name:zr.operators},parameters:{name:zr.parameters,defaultValue:[]},returnType:{name:zr.returnType,referenceType:ir.$type}},superTypes:[Ho.$type]},InfixRuleOperatorList:{name:Zo.$type,properties:{associativity:{name:Zo.associativity},operators:{name:Zo.operators,defaultValue:[]}},superTypes:[]},InfixRuleOperators:{name:nc.$type,properties:{precedences:{name:nc.precedences,defaultValue:[]}},superTypes:[]},Interface:{name:Ka.$type,properties:{attributes:{name:Ka.attributes,defaultValue:[]},name:{name:Ka.name},superTypes:{name:Ka.superTypes,defaultValue:[],referenceType:ir.$type}},superTypes:[ir.$type]},Keyword:{name:qa.$type,properties:{cardinality:{name:qa.cardinality},predicate:{name:qa.predicate},value:{name:qa.value}},superTypes:[Wt.$type]},NamedArgument:{name:Wa.$type,properties:{calledByName:{name:Wa.calledByName,defaultValue:!1},parameter:{name:Wa.parameter,referenceType:Va.$type},value:{name:Wa.value}},superTypes:[]},NegatedToken:{name:Bi.$type,properties:{cardinality:{name:Bi.cardinality},lookahead:{name:Bi.lookahead},parenthesized:{name:Bi.parenthesized,defaultValue:!1},terminal:{name:Bi.terminal}},superTypes:[Vt.$type]},Negation:{name:ic.$type,properties:{value:{name:ic.value}},superTypes:[Vn.$type]},NumberLiteral:{name:ac.$type,properties:{value:{name:ac.value}},superTypes:[Zi.$type]},Parameter:{name:Va.$type,properties:{name:{name:Va.name}},superTypes:[]},ParameterReference:{name:sc.$type,properties:{parameter:{name:sc.parameter,referenceType:Va.$type}},superTypes:[Vn.$type]},ParserRule:{name:Sr.$type,properties:{dataType:{name:Sr.dataType},definition:{name:Sr.definition},entry:{name:Sr.entry,defaultValue:!1},fragment:{name:Sr.fragment,defaultValue:!1},inferredType:{name:Sr.inferredType},name:{name:Sr.name},parameters:{name:Sr.parameters,defaultValue:[]},returnType:{name:Sr.returnType,referenceType:ir.$type}},superTypes:[Ho.$type]},ReferenceType:{name:Qo.$type,properties:{isMulti:{name:Qo.isMulti,defaultValue:!1},referenceType:{name:Qo.referenceType}},superTypes:[Xi.$type]},RegexToken:{name:Ki.$type,properties:{cardinality:{name:Ki.cardinality},lookahead:{name:Ki.lookahead},parenthesized:{name:Ki.parenthesized,defaultValue:!1},regex:{name:Ki.regex}},superTypes:[Vt.$type]},ReturnType:{name:oc.$type,properties:{name:{name:oc.name}},superTypes:[]},RuleCall:{name:qi.$type,properties:{arguments:{name:qi.arguments,defaultValue:[]},cardinality:{name:qi.cardinality},predicate:{name:qi.predicate},rule:{name:qi.rule,referenceType:Ba.$type}},superTypes:[Wt.$type]},SimpleType:{name:Ha.$type,properties:{primitiveType:{name:Ha.primitiveType},stringType:{name:Ha.stringType},typeRef:{name:Ha.typeRef,referenceType:ir.$type}},superTypes:[Xi.$type]},StringLiteral:{name:lc.$type,properties:{value:{name:lc.value}},superTypes:[Zi.$type]},TerminalAlternatives:{name:Wi.$type,properties:{cardinality:{name:Wi.cardinality},elements:{name:Wi.elements,defaultValue:[]},lookahead:{name:Wi.lookahead},parenthesized:{name:Wi.parenthesized,defaultValue:!1}},superTypes:[Vt.$type]},TerminalElement:{name:Vt.$type,properties:{cardinality:{name:Vt.cardinality},lookahead:{name:Vt.lookahead},parenthesized:{name:Vt.parenthesized,defaultValue:!1}},superTypes:[Wt.$type]},TerminalGroup:{name:Vi.$type,properties:{cardinality:{name:Vi.cardinality},elements:{name:Vi.elements,defaultValue:[]},lookahead:{name:Vi.lookahead},parenthesized:{name:Vi.parenthesized,defaultValue:!1}},superTypes:[Vt.$type]},TerminalRule:{name:hn.$type,properties:{definition:{name:hn.definition},fragment:{name:hn.fragment,defaultValue:!1},hidden:{name:hn.hidden,defaultValue:!1},name:{name:hn.name},type:{name:hn.type}},superTypes:[Ba.$type]},TerminalRuleCall:{name:Hi.$type,properties:{cardinality:{name:Hi.cardinality},lookahead:{name:Hi.lookahead},parenthesized:{name:Hi.parenthesized,defaultValue:!1},rule:{name:Hi.rule,referenceType:hn.$type}},superTypes:[Vt.$type]},Type:{name:el.$type,properties:{name:{name:el.name},type:{name:el.type}},superTypes:[ir.$type]},TypeAttribute:{name:Yi.$type,properties:{defaultValue:{name:Yi.defaultValue},isOptional:{name:Yi.isOptional,defaultValue:!1},name:{name:Yi.name},type:{name:Yi.type}},superTypes:[]},TypeDefinition:{name:Xi.$type,properties:{},superTypes:[]},UnionType:{name:uc.$type,properties:{types:{name:uc.types,defaultValue:[]}},superTypes:[Xi.$type]},UnorderedGroup:{name:tl.$type,properties:{cardinality:{name:tl.cardinality},elements:{name:tl.elements,defaultValue:[]}},superTypes:[Wt.$type]},UntilToken:{name:Ji.$type,properties:{cardinality:{name:Ji.cardinality},lookahead:{name:Ji.lookahead},parenthesized:{name:Ji.parenthesized,defaultValue:!1},terminal:{name:Ji.terminal}},superTypes:[Vt.$type]},ValueLiteral:{name:Zi.$type,properties:{},superTypes:[]},Wildcard:{name:Ya.$type,properties:{cardinality:{name:Ya.cardinality},lookahead:{name:Ya.lookahead},parenthesized:{name:Ya.parenthesized,defaultValue:!1}},superTypes:[Vt.$type]}}}},W=new Xa;function SI(t){let e=t,r=!1;for(;e;){let n=dn(e.grammarSource,dt);if(n&&n.dataType)e=e.container,r=!0;else return r?e:void 0}}a(SI,"getDatatypeNode");function Qi(t){return new jr(t,e=>Cr(e)?e.content:[],{includeRoot:!0})}a(Qi,"streamCst");function wI(t){return Qi(t).filter(jn)}a(wI,"flattenCst");function tm(t,e){for(;t.container;)if(t=t.container,t===e)return!0;return!1}a(tm,"isChildNode");function Ja(t){return{start:{character:t.startColumn-1,line:t.startLine-1},end:{character:t.endColumn,line:t.endLine-1}}}a(Ja,"tokenToRange");function ea(t){if(!t)return;let{offset:e,end:r,range:n}=t;return{range:n,offset:e,end:r,length:r-e}}a(ea,"toDocumentSegment");var Br;(function(t){t[t.Before=0]="Before",t[t.After=1]="After",t[t.OverlapFront=2]="OverlapFront",t[t.OverlapBack=3]="OverlapBack",t[t.Inside=4]="Inside",t[t.Outside=5]="Outside"})(Br||(Br={}));function LT(t,e){if(t.end.linee.end.line||t.start.line===e.end.line&&t.start.character>=e.end.character)return Br.After;let r=t.start.line>e.start.line||t.start.line===e.start.line&&t.start.character>=e.start.character,n=t.end.lineBr.After}a(Ld,"inRange");var hc=/^[\w\p{L}]$/u;function NI(t,e,r=hc){if(t){if(e>0){let n=e-t.offset,i=t.text.charAt(n);r.test(i)||e--}return nm(t,e)}}a(NI,"findDeclarationNodeAtOffset");function rm(t,e){if(t){let r=FT(t,!0);if(r&&em(r,e))return r;if(Wo(t)){let n=t.content.findIndex(i=>!i.hidden);for(let i=n-1;i>=0;i--){let s=t.content[i];if(em(s,e))return s}}}}a(rm,"findCommentNode");function em(t,e){return jn(t)&&e.includes(t.tokenType.name)}a(em,"isCommentNode");function nm(t,e){if(jn(t))return t;if(Cr(t)){let r=DT(t,e,!1);if(r)return nm(r,e)}}a(nm,"findLeafNodeAtOffset");function MT(t,e){if(jn(t))return t;if(Cr(t)){let r=DT(t,e,!0);if(r)return MT(r,e)}}a(MT,"findLeafNodeBeforeOffset");function DT(t,e,r){let n=0,i=t.content.length-1,s;for(;n<=i;){let o=Math.floor((n+i)/2),l=t.content[o];if(l.offset<=e&&l.end>e)return l;l.end<=e?(s=r?l:void 0,n=o+1):i=o-1}return s}a(DT,"binarySearch");function FT(t,e=!0){for(;t.container;){let r=t.container,n=r.content.indexOf(t);for(;n>0;){n--;let i=r.content[n];if(e||!i.hidden)return i}t=r}}a(FT,"getPreviousNode");function II(t,e=!0){for(;t.container;){let r=t.container,n=r.content.indexOf(t),i=r.content.length-1;for(;nTm,findNameAssignment:()=>Rc,findNodeForKeyword:()=>ym,findNodeForProperty:()=>cl,findNodesForKeyword:()=>FI,findNodesForKeywordInternal:()=>gm,findNodesForProperty:()=>mm,getActionAtElement:()=>VT,getActionType:()=>YT,getAllReachableRules:()=>ul,getAllRulesUsedForCrossReferences:()=>DI,getCrossReferenceTerminal:()=>pm,getEntryRule:()=>BT,getExplicitRuleType:()=>$c,getHiddenRules:()=>KT,getRuleType:()=>xm,getRuleTypeName:()=>BI,getTypeName:()=>Zn,isArrayCardinality:()=>UI,isArrayOperator:()=>jI,isCommentTerminal:()=>dm,isDataType:()=>zI,isDataTypeRule:()=>fl,isOptionalCardinality:()=>GI,terminalRegex:()=>Qa});var ta=class extends Error{static{a(this,"ErrorWithLocation")}constructor(e,r){super(e?`${r} at ${e.range.start.line}:${e.range.start.character}`:r)}};function Kr(t,e="Error: Got unexpected value."){throw new Error(e)}a(Kr,"assertUnreachable");function GT(t,e="Error: Condition is violated."){if(!t)throw new Error(e)}a(GT,"assertCondition");var xc={};Un(xc,{NEWLINE_REGEXP:()=>om,escapeRegExp:()=>Jn,getTerminalParts:()=>MI,isMultilineComment:()=>lm,isWhitespace:()=>ll,partialMatches:()=>um,partialRegExp:()=>zT,whitespaceCharacters:()=>jT});function H(t){return t.charCodeAt(0)}a(H,"cc");function gc(t,e){Array.isArray(t)?t.forEach(function(r){e.push(r)}):e.push(t)}a(gc,"insertToSet");function Za(t,e){if(t[e]===!0)throw"duplicate flag "+e;let r=t[e];t[e]=!0}a(Za,"addFlag");function ra(t){if(t===void 0)throw Error("Internal Error - Should never get here!");return!0}a(ra,"ASSERT_EXISTS");function al(){throw Error("Internal Error - Should never get here!")}a(al,"ASSERT_NEVER_REACH_HERE");function im(t){return t.type==="Character"}a(im,"isCharacter");var sl=[];for(let t=H("0");t<=H("9");t++)sl.push(t);var ol=[H("_")].concat(sl);for(let t=H("a");t<=H("z");t++)ol.push(t);for(let t=H("A");t<=H("Z");t++)ol.push(t);var am=[H(" "),H("\f"),H(` `),H("\r"),H(" "),H("\v"),H(" "),H("\xA0"),H("\u1680"),H("\u2000"),H("\u2001"),H("\u2002"),H("\u2003"),H("\u2004"),H("\u2005"),H("\u2006"),H("\u2007"),H("\u2008"),H("\u2009"),H("\u200A"),H("\u2028"),H("\u2029"),H("\u202F"),H("\u205F"),H("\u3000"),H("\uFEFF")];var OI=/[0-9a-fA-F]/,Tc=/[0-9]/,LI=/[1-9]/,na=class{static{a(this,"RegExpParser")}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 r=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":Za(n,"global");break;case"i":Za(n,"ignoreCase");break;case"m":Za(n,"multiLine");break;case"u":Za(n,"unicode");break;case"y":Za(n,"sticky");break}if(this.idx!==this.input.length)throw Error("Redundant input: "+this.input.substring(this.idx));return{type:"Pattern",flags:n,value:r,loc:this.loc(0)}}disjunction(){let e=[],r=this.idx;for(e.push(this.alternative());this.peekChar()==="|";)this.consumeChar("|"),e.push(this.alternative());return{type:"Disjunction",value:e,loc:this.loc(r)}}alternative(){let e=[],r=this.idx;for(;this.isTerm();)e.push(this.term());return{type:"Alternative",value:e,loc:this.loc(r)}}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 r;switch(this.popChar()){case"=":r="Lookahead";break;case"!":r="NegativeLookahead";break;case"<":{switch(this.popChar()){case"=":r="Lookbehind";break;case"!":r="NegativeLookbehind"}break}}ra(r);let n=this.disjunction();return this.consumeChar(")"),{type:r,value:n,loc:this.loc(e)}}return al()}quantifier(e=!1){let r,n=this.idx;switch(this.popChar()){case"*":r={atLeast:0,atMost:1/0};break;case"+":r={atLeast:1,atMost:1/0};break;case"?":r={atLeast:0,atMost:1};break;case"{":let i=this.integerIncludingZero();switch(this.popChar()){case"}":r={atLeast:i,atMost:i};break;case",":let s;this.isDigit()?(s=this.integerIncludingZero(),r={atLeast:i,atMost:s}):r={atLeast:i,atMost:1/0},this.consumeChar("}");break}if(e===!0&&r===void 0)return;ra(r);break}if(!(e===!0&&r===void 0)&&ra(r))return this.peekChar(0)==="?"?(this.consumeChar("?"),r.greedy=!1):r.greedy=!0,r.type="Quantifier",r.loc=this.loc(n),r}atom(){let e,r=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()),ra(e)?(e.loc=this.loc(r),this.isQuantifier()&&(e.quantifier=this.quantifier()),e):al()}dotAll(){return this.consumeChar("."),{type:"Set",complement:!0,value:[H(` `),H("\r"),H("\u2028"),H("\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,r=!1;switch(this.popChar()){case"d":e=sl;break;case"D":e=sl,r=!0;break;case"s":e=am;break;case"S":e=am,r=!0;break;case"w":e=ol;break;case"W":e=ol,r=!0;break}return ra(e)?{type:"Set",value:e,complement:r}:al()}controlEscapeAtom(){let e;switch(this.popChar()){case"f":e=H("\f");break;case"n":e=H(` `);break;case"r":e=H("\r");break;case"t":e=H(" ");break;case"v":e=H("\v");break}return ra(e)?{type:"Character",value:e}:al()}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:H("\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:H(e)}}classPatternCharacterAtom(){switch(this.peekChar()){case` `:case"\r":case"\u2028":case"\u2029":case"\\":case"]":throw Error("TBD");default:let e=this.popChar();return{type:"Character",value:H(e)}}}characterClass(){let e=[],r=!1;for(this.consumeChar("["),this.peekChar(0)==="^"&&(this.consumeChar("^"),r=!0);this.isClassAtom();){let n=this.classAtom(),i=n.type==="Character";if(im(n)&&this.isRangeDash()){this.consumeChar("-");let s=this.classAtom(),o=s.type==="Character";if(im(s)){if(s.value=this.input.length)throw Error("Unexpected end of input");this.idx++}loc(e){return{begin:e,end:this.idx}}};var qr=class{static{a(this,"BaseRegExpVisitor")}visitChildren(e){for(let r in e){let n=e[r];e.hasOwnProperty(r)&&(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){}};var om=/\r?\n/gm,UT=new na,sm=class extends qr{static{a(this,"TerminalRegExpVisitor")}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 r=String.fromCharCode(e.value);if(!this.multiline&&r===` `&&(this.multiline=!0),e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{let n=Jn(r);this.endRegexpStack.push(n),this.isStarting&&(this.startRegexp+=n)}}visitSet(e){if(!this.multiline){let r=this.regex.substring(e.loc.begin,e.loc.end),n=new RegExp(r);this.multiline=!!` `.match(n)}if(e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{let r=this.regex.substring(e.loc.begin,e.loc.end);this.endRegexpStack.push(r),this.isStarting&&(this.startRegexp+=r)}}visitChildren(e){e.type==="Group"&&e.quantifier||super.visitChildren(e)}},ia=new sm;function MI(t){try{typeof t!="string"&&(t=t.source),t=`/${t}/`;let e=UT.pattern(t),r=[];for(let n of e.value.value)ia.reset(t),ia.visit(n),r.push({start:ia.startRegexp,end:ia.endRegex});return r}catch{return[]}}a(MI,"getTerminalParts");function lm(t){try{return typeof t=="string"&&(t=new RegExp(t)),t=t.toString(),ia.reset(t),ia.visit(UT.pattern(t)),ia.multiline}catch{return!1}}a(lm,"isMultilineComment");var jT=`\f \r \v \xA0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF`.split("");function ll(t){let e=typeof t=="string"?new RegExp(t):t;return jT.some(r=>e.test(r))}a(ll,"isWhitespace");function Jn(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}a(Jn,"escapeRegExp");function um(t,e){let r=zT(t),n=e.match(r);return!!n&&n[0].length>0}a(um,"partialMatches");function zT(t){typeof t=="string"&&(t=new RegExp(t));let e=t,r=t.source,n=0;function i(){let s="",o;function l(c){s+=r.substr(n,c),n+=c}a(l,"appendRaw");function u(c){s+="(?:"+r.substr(n,c)+"|$)",n+=c}for(a(u,"appendOptional");n",n)-n+1);break;default:u(2);break}break;case"[":o=/\[(?:\\.|.)*?\]/g,o.lastIndex=n,o=o.exec(r)||[],u(o[0].length);break;case"|":case"^":case"$":case"*":case"+":case"?":l(1);break;case"{":o=/\{\d+,?\d*\}/g,o.lastIndex=n,o=o.exec(r),o?l(o[0].length):u(1);break;case"(":if(r[n+1]==="?")switch(r[n+2]){case":":s+="(?:",n+=3,s+=i()+"|$)";break;case"=":s+="(?=",n+=3,s+=i()+")";break;case"!":o=n,n+=3,i(),s+=r.substr(o,n-o);break;case"<":switch(r[n+3]){case"=":case"!":o=n,n+=4,i(),s+=r.substr(o,n-o);break;default:l(r.indexOf(">",n)-n+1),s+=i()+"|$)";break}break}else l(1),s+=i()+"|$)";break;case")":return++n,s;default:u(1);break}return s}return a(i,"process"),new RegExp(i(),t.flags)}a(zT,"partialRegExp");function BT(t){return t.rules.find(e=>dt(e)&&e.entry)}a(BT,"getEntryRule");function KT(t){return t.rules.filter(e=>Mt(e)&&e.hidden)}a(KT,"getHiddenRules");function ul(t,e){let r=new Set,n=BT(t);if(!n)return new Set(t.rules);let i=[n].concat(KT(t));for(let o of i)qT(o,r,e);let s=new Set;for(let o of t.rules)(r.has(o.name)||Mt(o)&&o.hidden)&&s.add(o);return s}a(ul,"getAllReachableRules");function qT(t,e,r){e.add(t.name),br(t).forEach(n=>{if(Ir(n)||r&&pc(n)){let i=n.rule.ref;i&&!e.has(i.name)&&qT(i,e,r)}})}a(qT,"ruleDfs");function DI(t){let e=new Set;return br(t).forEach(r=>{Nr(r)&&(dt(r.type.ref)&&e.add(r.type.ref),nl(r.type.ref)&&dt(r.type.ref.$container)&&e.add(r.type.ref.$container))}),e}a(DI,"getAllRulesUsedForCrossReferences");function pm(t){if(t.terminal)return t.terminal;if(t.type.ref)return Rc(t.type.ref)?.terminal}a(pm,"getCrossReferenceTerminal");function dm(t){return t.hidden&&!ll(Qa(t))}a(dm,"isCommentTerminal");function mm(t,e){return!t||!e?[]:hm(t,e,t.astNode,!0)}a(mm,"findNodesForProperty");function cl(t,e,r){if(!t||!e)return;let n=hm(t,e,t.astNode,!0);if(n.length!==0)return r!==void 0?r=Math.max(0,Math.min(r,n.length-1)):r=0,n[r]}a(cl,"findNodeForProperty");function hm(t,e,r,n){if(!n){let i=dn(t.grammarSource,wr);if(i&&i.feature===e)return[t]}return Cr(t)&&t.astNode===r?t.content.flatMap(i=>hm(i,e,r,!1)):[]}a(hm,"findNodesForPropertyInternal");function FI(t,e){return t?gm(t,e,t?.astNode):[]}a(FI,"findNodesForKeyword");function ym(t,e,r){if(!t)return;let n=gm(t,e,t?.astNode);if(n.length!==0)return r!==void 0?r=Math.max(0,Math.min(r,n.length-1)):r=0,n[r]}a(ym,"findNodeForKeyword");function gm(t,e,r){if(t.astNode!==r)return[];if(dr(t.grammarSource)&&t.grammarSource.value===e)return[t];let n=Qi(t).iterator(),i,s=[];do if(i=n.next(),!i.done){let o=i.value;o.astNode===r?dr(o.grammarSource)&&o.grammarSource.value===e&&s.push(o):n.prune()}while(!i.done);return s}a(gm,"findNodesForKeywordInternal");function Tm(t){let e=t.astNode;for(;e===t.container?.astNode;){let r=dn(t.grammarSource,wr);if(r)return r;t=t.container}}a(Tm,"findAssignment");function Rc(t){let e=t;return nl(e)&&(gn(e.$container)?e=e.$container.$container:yn(e.$container)?e=e.$container:Kr(e.$container)),WT(t,e,new Map)}a(Rc,"findNameAssignment");function WT(t,e,r){function n(i,s){let o;return dn(i,wr)||(o=WT(s,s,r)),r.set(t,o),o}if(a(n,"go"),r.has(t))return r.get(t);r.set(t,void 0);for(let i of br(e)){if(wr(i)&&i.feature.toLowerCase()==="name")return r.set(t,i),i;if(Ir(i)&&dt(i.rule.ref))return n(i,i.rule.ref);if(fc(i)&&i.typeRef?.ref)return n(i,i.typeRef.ref)}}a(WT,"findNameAssignmentInternal");function VT(t){let e=t.$container;if(Yn(e)){let r=e.elements,n=r.indexOf(t);for(let i=n-1;i>=0;i--){let s=r[i];if(gn(s))return s;{let o=br(r[i]).find(gn);if(o)return o}}}if(rl(e))return VT(e)}a(VT,"getActionAtElement");function GI(t,e){return t==="?"||t==="*"||Yn(e)&&!!e.guardCondition}a(GI,"isOptionalCardinality");function UI(t){return t==="*"||t==="+"}a(UI,"isArrayCardinality");function jI(t){return t==="+="}a(jI,"isArrayOperator");function fl(t){return HT(t,new Set)}a(fl,"isDataTypeRule");function HT(t,e){if(e.has(t))return!0;e.add(t);for(let r of br(t))if(Ir(r)){if(!r.rule.ref||dt(r.rule.ref)&&!HT(r.rule.ref,e)||Xn(r.rule.ref))return!1}else{if(wr(r))return!1;if(gn(r))return!1}return!!t.definition}a(HT,"isDataTypeRuleInternal");function zI(t){return fm(t.type,new Set)}a(zI,"isDataType");function fm(t,e){if(e.has(t))return!0;if(e.add(t),Md(t))return!1;if(Wd(t))return!1;if(Jd(t))return t.types.every(r=>fm(r,e));if(fc(t)){if(t.primitiveType!==void 0)return!0;if(t.stringType!==void 0)return!0;if(t.typeRef!==void 0){let r=t.typeRef.ref;return dc(r)?fm(r.type,e):!1}else return!1}else return!1}a(fm,"isDataTypeInternal");function $c(t){if(!Mt(t)){if(t.inferredType)return t.inferredType.name;if(t.dataType)return t.dataType;if(t.returnType){let e=t.returnType.ref;if(e)return e.name}}}a($c,"getExplicitRuleType");function Zn(t){if(yn(t))return dt(t)&&fl(t)?t.name:$c(t)??t.name;if(zd(t)||dc(t)||Hd(t))return t.name;if(gn(t)){let e=YT(t);if(e)return e}else if(nl(t))return t.name;throw new Error("Cannot get name of Unknown Type")}a(Zn,"getTypeName");function YT(t){if(t.inferredType)return t.inferredType.name;if(t.type?.ref)return Zn(t.type.ref)}a(YT,"getActionType");function BI(t){return Mt(t)?t.type?.name??"string":dt(t)&&fl(t)?t.name:$c(t)??t.name}a(BI,"getRuleTypeName");function xm(t){return Mt(t)?t.type?.name??"string":$c(t)??t.name}a(xm,"getRuleType");function Qa(t){let e={s:!1,i:!1,u:!1},r=es(t.definition,e),n=Object.entries(e).filter(([,i])=>i).map(([i])=>i).join("");return new RegExp(r,n)}a(Qa,"terminalRegex");var Rm=/[\s\S]/.source;function es(t,e){if(Yd(t))return KI(t);if(Xd(t))return qI(t);if(Fd(t))return HI(t);if(pc(t)){let r=t.rule.ref;if(!r)throw new Error("Missing rule reference.");return Tn(es(r.definition),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}else{if(Bd(t))return VI(t);if(Zd(t))return WI(t);if(Vd(t)){let r=t.regex.lastIndexOf("/"),n=t.regex.substring(1,r),i=t.regex.substring(r+1);return e&&(e.i=i.includes("i"),e.s=i.includes("s"),e.u=i.includes("u")),Tn(n,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}else{if(Qd(t))return Tn(Rm,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized});throw new Error(`Invalid terminal element: ${t?.$type}, ${t?.$cstNode?.text}`)}}}a(es,"abstractElementToRegex");function KI(t){return Tn(t.elements.map(e=>es(e)).join("|"),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}a(KI,"terminalAlternativesToRegex");function qI(t){return Tn(t.elements.map(e=>es(e)).join(""),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}a(qI,"terminalGroupToRegex");function WI(t){return Tn(`${Rm}*?${es(t.terminal)}`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}a(WI,"untilTokenToRegex");function VI(t){return Tn(`(?!${es(t.terminal)})${Rm}*?`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}a(VI,"negateTokenToRegex");function HI(t){return t.right?Tn(`[${cm(t.left)}-${cm(t.right)}]`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1}):Tn(cm(t.left),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}a(HI,"characterRangeToRegex");function cm(t){return Jn(t.value)}a(cm,"keywordToRegex");function Tn(t,e){return(e.parenthesized||e.lookahead||e.wrap!==!1)&&(t=`(${e.lookahead??(e.parenthesized?"":"?:")}${t})`),e.cardinality?`${t}${e.cardinality}`:t}a(Tn,"withCardinality");function $m(t){let e=[],r=t.Grammar;for(let n of r.rules)Mt(n)&&dm(n)&&lm(Qa(n))&&e.push(n.name);return{multilineCommentRules:e,nameRegexp:hc}}a($m,"createGrammarConfig");var YI=typeof global=="object"&&global&&global.Object===Object&&global,vc=YI;var XI=typeof self=="object"&&self&&self.Object===Object&&self,JI=vc||XI||Function("return this")(),Qe=JI;var ZI=Qe.Symbol,mt=ZI;var XT=Object.prototype,QI=XT.hasOwnProperty,e_=XT.toString,pl=mt?mt.toStringTag:void 0;function t_(t){var e=QI.call(t,pl),r=t[pl];try{t[pl]=void 0;var n=!0}catch{}var i=e_.call(t);return n&&(e?t[pl]=r:delete t[pl]),i}a(t_,"getRawTag");var JT=t_;var r_=Object.prototype,n_=r_.toString;function i_(t){return n_.call(t)}a(i_,"objectToString");var ZT=i_;var a_="[object Null]",s_="[object Undefined]",QT=mt?mt.toStringTag:void 0;function o_(t){return t==null?t===void 0?s_:a_:QT&&QT in Object(t)?JT(t):ZT(t)}a(o_,"baseGetTag");var Dt=o_;function l_(t){return t!=null&&typeof t=="object"}a(l_,"isObjectLike");var Ye=l_;var u_="[object Symbol]";function c_(t){return typeof t=="symbol"||Ye(t)&&Dt(t)==u_}a(c_,"isSymbol");var Qn=c_;function f_(t,e){for(var r=-1,n=t==null?0:t.length,i=Array(n);++r0){if(++e>=Q_)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}a(rk,"shortOut");var Tx=rk;function nk(t){return function(){return t}}a(nk,"constant");var xx=nk;var ik=(function(){try{var t=Ht(Object,"defineProperty");return t({},"",{}),t}catch{}})(),ts=ik;var ak=ts?function(t,e){return ts(t,"toString",{configurable:!0,enumerable:!1,value:xx(e),writable:!0})}:mr,Rx=ak;var sk=Tx(Rx),$x=sk;function ok(t,e){for(var r=-1,n=t==null?0:t.length;++r-1}a(pk,"arrayIncludes");var wc=pk;var dk=9007199254740991,mk=/^(?:0|[1-9]\d*)$/;function hk(t,e){var r=typeof t;return e=e??dk,!!e&&(r=="number"||r!="symbol"&&mk.test(t))&&t>-1&&t%1==0&&t-1&&t%1==0&&t<=Ak}a(Ck,"isLength");var as=Ck;function bk(t){return t!=null&&as(t.length)&&!Ft(t)}a(bk,"isArrayLike");var et=bk;function Sk(t,e,r){if(!je(r))return!1;var n=typeof e;return(n=="number"?et(r)&&ei(e,r.length):n=="string"&&e in r)?Hr(r[e],t):!1}a(Sk,"isIterateeCall");var ri=Sk;function wk(t){return is(function(e,r){var n=-1,i=r.length,s=i>1?r[i-1]:void 0,o=i>2?r[2]:void 0;for(s=t.length>3&&typeof s=="function"?(i--,s):void 0,o&&ri(r[0],r[1],o)&&(s=i<3?void 0:s,i=1),e=Object(e);++n-1}a(eO,"listCacheHas");var Vx=eO;function tO(t,e){var r=this.__data__,n=ai(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this}a(tO,"listCacheSet");var Hx=tO;function us(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e0&&r(l)?e>1?lR(l,e-1,r,n,i):ps(i,l):n||(i[i.length]=l)}return i}a(lR,"baseFlatten");var ds=lR;function AO(t){var e=t==null?0:t.length;return e?ds(t,1):[]}a(AO,"flatten");var lt=AO;var CO=Ic(Object.getPrototypeOf,Object),kc=CO;function bO(t,e,r){var n=-1,i=t.length;e<0&&(e=-e>i?0:i+e),r=r>i?i:r,r<0&&(r+=i),i=e>r?0:r-e>>>0,e>>>=0;for(var s=Array(i);++nl))return!1;var c=s.get(t),f=s.get(e);if(c&&f)return c==e&&f==t;var p=-1,m=!0,y=r&vM?new xs:void 0;for(s.set(t,e),s.set(e,t);++p2?e[2]:void 0;for(i&&ri(e[0],e[1],i)&&(n=1);++r=vD&&(s=Rs,o=!1,e=new xs(e));e:for(;++i-1?i[s?e[o]:o]:void 0}}a(MD,"createFind");var S$=MD;var DD=Math.max;function FD(t,e,r){var n=t==null?0:t.length;if(!n)return-1;var i=r==null?0:Vr(r);return i<0&&(i=DD(n+i,0)),Sc(t,tt(e,3),i)}a(FD,"findIndex");var w$=FD;var GD=S$(w$),en=GD;function UD(t){return t&&t.length?t[0]:void 0}a(UD,"head");var ht=UD;function jD(t,e){var r=-1,n=et(t)?Array(t.length):[];return Yt(t,function(i,s,o){n[++r]=e(i,s,o)}),n}a(jD,"baseMap");var N$=jD;function zD(t,e){var r=z(t)?Wr:N$;return r(t,tt(e,3))}a(zD,"map");var F=zD;function BD(t,e){return ds(F(t,e),1)}a(BD,"flatMap");var Gt=BD;var KD=Object.prototype,qD=KD.hasOwnProperty,WD=$$(function(t,e,r){qD.call(t,r)?t[r].push(e):ns(t,r,[e])}),wm=WD;var VD=Object.prototype,HD=VD.hasOwnProperty;function YD(t,e){return t!=null&&HD.call(t,e)}a(YD,"baseHas");var I$=YD;function XD(t,e){return t!=null&&Hc(t,e,I$)}a(XD,"has");var U=XD;var JD="[object String]";function ZD(t){return typeof t=="string"||!z(t)&&Ye(t)&&Dt(t)==JD}a(ZD,"isString");var ut=ZD;function QD(t,e){return Wr(e,function(r){return t[r]})}a(QD,"baseValues");var _$=QD;function e0(t){return t==null?[]:_$(t,$e(t))}a(e0,"values");var ye=e0;var t0=Math.max;function r0(t,e,r,n){t=et(t)?t:ye(t),r=r&&!n?Vr(r):0;var i=t.length;return r<0&&(r=t0(i+r,0)),ut(t)?r<=i&&t.indexOf(e,r)>-1:!!i&&rs(t,e,r)>-1}a(r0,"includes");var Pe=r0;var n0=Math.max;function i0(t,e,r){var n=t==null?0:t.length;if(!n)return-1;var i=r==null?0:Vr(r);return i<0&&(i=n0(n+i,0)),rs(t,e,i)}a(i0,"indexOf");var Jc=i0;var a0="[object Map]",s0="[object Set]",o0=Object.prototype,l0=o0.hasOwnProperty;function u0(t){if(t==null)return!0;if(et(t)&&(z(t)||typeof t=="string"||typeof t.splice=="function"||Rn(t)||ss(t)||ni(t)))return!t.length;var e=_r(t);if(e==a0||e==s0)return!t.size;if(Xr(t))return!_c(t).length;for(var r in t)if(l0.call(t,r))return!1;return!0}a(u0,"isEmpty");var ne=u0;var c0="[object RegExp]";function f0(t){return Ye(t)&&Dt(t)==c0}a(f0,"baseIsRegExp");var k$=f0;var P$=hr&&hr.isRegExp,p0=P$?Jr(P$):k$,yr=p0;function d0(t){return t===void 0}a(d0,"isUndefined");var wt=d0;var m0="Expected a function";function h0(t){if(typeof t!="function")throw new TypeError(m0);return function(){var e=arguments;switch(e.length){case 0:return!t.call(this);case 1:return!t.call(this,e[0]);case 2:return!t.call(this,e[0],e[1]);case 3:return!t.call(this,e[0],e[1],e[2])}return!t.apply(this,e)}}a(h0,"negate");var O$=h0;function y0(t,e,r,n){if(!je(t))return t;e=ui(e,t);for(var i=-1,s=e.length,o=s-1,l=t;l!=null&&++i=b0){var c=e?null:G$(t);if(c)return $s(c);o=!1,i=Rs,u=new xs}else u=e?[]:l;e:for(;++n{r.accept(e)})}},pe=class extends ar{static{a(this,"NonTerminal")}constructor(e){super([]),this.idx=1,Rt(this,Xt(e,r=>r!==void 0))}set definition(e){}get definition(){return this.referencedRule!==void 0?this.referencedRule.definition:[]}accept(e){e.visit(this)}},Ut=class extends ar{static{a(this,"Rule")}constructor(e){super(e.definition),this.orgText="",Rt(this,Xt(e,r=>r!==void 0))}},Ae=class extends ar{static{a(this,"Alternative")}constructor(e){super(e.definition),this.ignoreAmbiguities=!1,Rt(this,Xt(e,r=>r!==void 0))}},de=class extends ar{static{a(this,"Option")}constructor(e){super(e.definition),this.idx=1,Rt(this,Xt(e,r=>r!==void 0))}},Ce=class extends ar{static{a(this,"RepetitionMandatory")}constructor(e){super(e.definition),this.idx=1,Rt(this,Xt(e,r=>r!==void 0))}},be=class extends ar{static{a(this,"RepetitionMandatoryWithSeparator")}constructor(e){super(e.definition),this.idx=1,Rt(this,Xt(e,r=>r!==void 0))}},ae=class extends ar{static{a(this,"Repetition")}constructor(e){super(e.definition),this.idx=1,Rt(this,Xt(e,r=>r!==void 0))}},xe=class extends ar{static{a(this,"RepetitionWithSeparator")}constructor(e){super(e.definition),this.idx=1,Rt(this,Xt(e,r=>r!==void 0))}},Re=class extends ar{static{a(this,"Alternation")}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,Rt(this,Xt(e,r=>r!==void 0))}},re=class{static{a(this,"Terminal")}constructor(e){this.idx=1,Rt(this,Xt(e,r=>r!==void 0))}accept(e){e.visit(this)}};function Zc(t){return F(t,Cs)}a(Zc,"serializeGrammar");function Cs(t){function e(r){return F(r,Cs)}if(a(e,"convertDefinition"),t instanceof pe){let r={type:"NonTerminal",name:t.nonTerminalName,idx:t.idx};return ut(t.label)&&(r.label=t.label),r}else{if(t instanceof Ae)return{type:"Alternative",definition:e(t.definition)};if(t instanceof de)return{type:"Option",idx:t.idx,definition:e(t.definition)};if(t instanceof Ce)return{type:"RepetitionMandatory",idx:t.idx,definition:e(t.definition)};if(t instanceof be)return{type:"RepetitionMandatoryWithSeparator",idx:t.idx,separator:Cs(new re({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof xe)return{type:"RepetitionWithSeparator",idx:t.idx,separator:Cs(new re({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof ae)return{type:"Repetition",idx:t.idx,definition:e(t.definition)};if(t instanceof Re)return{type:"Alternation",idx:t.idx,definition:e(t.definition)};if(t instanceof re){let r={type:"Terminal",name:t.terminalType.name,label:N0(t.terminalType),idx:t.idx};ut(t.label)&&(r.terminalLabel=t.label);let n=t.terminalType.PATTERN;return t.terminalType.PATTERN&&(r.pattern=yr(n)?n.source:n),r}else{if(t instanceof Ut)return{type:"Rule",name:t.name,orgText:t.orgText,definition:e(t.definition)};throw Error("non exhaustive match")}}}a(Cs,"serializeProduction");var jt=class{static{a(this,"GAstVisitor")}visit(e){let r=e;switch(r.constructor){case pe:return this.visitNonTerminal(r);case Ae:return this.visitAlternative(r);case de:return this.visitOption(r);case Ce:return this.visitRepetitionMandatory(r);case be:return this.visitRepetitionMandatoryWithSeparator(r);case xe:return this.visitRepetitionWithSeparator(r);case ae:return this.visitRepetition(r);case Re:return this.visitAlternation(r);case re:return this.visitTerminal(r);case Ut:return this.visitRule(r);default:throw Error("non exhaustive match")}}visitNonTerminal(e){}visitAlternative(e){}visitOption(e){}visitRepetition(e){}visitRepetitionMandatory(e){}visitRepetitionMandatoryWithSeparator(e){}visitRepetitionWithSeparator(e){}visitAlternation(e){}visitTerminal(e){}visitRule(e){}};function Nm(t){return t instanceof Ae||t instanceof de||t instanceof ae||t instanceof Ce||t instanceof be||t instanceof xe||t instanceof re||t instanceof Ut}a(Nm,"isSequenceProd");function oa(t,e=[]){return t instanceof de||t instanceof ae||t instanceof xe?!0:t instanceof Re?hl(t.definition,n=>oa(n,e)):t instanceof pe&&Pe(e,t)?!1:t instanceof ar?(t instanceof pe&&e.push(t),bt(t.definition,n=>oa(n,e))):!1}a(oa,"isOptionalProd");function Im(t){return t instanceof Re}a(Im,"isBranchingProd");function Jt(t){if(t instanceof pe)return"SUBRULE";if(t instanceof de)return"OPTION";if(t instanceof Re)return"OR";if(t instanceof Ce)return"AT_LEAST_ONE";if(t instanceof be)return"AT_LEAST_ONE_SEP";if(t instanceof xe)return"MANY_SEP";if(t instanceof ae)return"MANY";if(t instanceof re)return"CONSUME";throw Error("non exhaustive match")}a(Jt,"getProductionDslName");var vn=class{static{a(this,"RestWalker")}walk(e,r=[]){G(e.definition,(n,i)=>{let s=Xe(e.definition,i+1);if(n instanceof pe)this.walkProdRef(n,s,r);else if(n instanceof re)this.walkTerminal(n,s,r);else if(n instanceof Ae)this.walkFlat(n,s,r);else if(n instanceof de)this.walkOption(n,s,r);else if(n instanceof Ce)this.walkAtLeastOne(n,s,r);else if(n instanceof be)this.walkAtLeastOneSep(n,s,r);else if(n instanceof xe)this.walkManySep(n,s,r);else if(n instanceof ae)this.walkMany(n,s,r);else if(n instanceof Re)this.walkOr(n,s,r);else throw Error("non exhaustive match")})}walkTerminal(e,r,n){}walkProdRef(e,r,n){}walkFlat(e,r,n){let i=r.concat(n);this.walk(e,i)}walkOption(e,r,n){let i=r.concat(n);this.walk(e,i)}walkAtLeastOne(e,r,n){let i=[new de({definition:e.definition})].concat(r,n);this.walk(e,i)}walkAtLeastOneSep(e,r,n){let i=j$(e,r,n);this.walk(e,i)}walkMany(e,r,n){let i=[new de({definition:e.definition})].concat(r,n);this.walk(e,i)}walkManySep(e,r,n){let i=j$(e,r,n);this.walk(e,i)}walkOr(e,r,n){let i=r.concat(n);G(e.definition,s=>{let o=new Ae({definition:[s]});this.walk(o,i)})}};function j$(t,e,r){return[new de({definition:[new re({terminalType:t.separator})].concat(t.definition)})].concat(e,r)}a(j$,"restForRepetitionWithSeparator");function la(t){if(t instanceof pe)return la(t.referencedRule);if(t instanceof re)return P0(t);if(Nm(t))return _0(t);if(Im(t))return k0(t);throw Error("non exhaustive match")}a(la,"first");function _0(t){let e=[],r=t.definition,n=0,i=r.length>n,s,o=!0;for(;i&&o;)s=r[n],o=oa(s),e=e.concat(la(s)),n=n+1,i=r.length>n;return vs(e)}a(_0,"firstForSequence");function k0(t){let e=F(t.definition,r=>la(r));return vs(lt(e))}a(k0,"firstForBranching");function P0(t){return[t.terminalType]}a(P0,"firstForTerminal");var Qc="_~IN~_";var _m=class extends vn{static{a(this,"ResyncFollowsWalker")}constructor(e){super(),this.topProd=e,this.follows={}}startWalking(){return this.walk(this.topProd),this.follows}walkTerminal(e,r,n){}walkProdRef(e,r,n){let i=O0(e.referencedRule,e.idx)+this.topProd.name,s=r.concat(n),o=new Ae({definition:s}),l=la(o);this.follows[i]=l}};function z$(t){let e={};return G(t,r=>{let n=new _m(r).startWalking();Rt(e,n)}),e}a(z$,"computeAllProdsFollows");function O0(t,e){return t.name+e+Qc}a(O0,"buildBetweenProdsFollowPrefix");var ef={},L0=new na;function bs(t){let e=t.toString();if(ef.hasOwnProperty(e))return ef[e];{let r=L0.pattern(e);return ef[e]=r,r}}a(bs,"getRegExpAst");function B$(){ef={}}a(B$,"clearRegExpParserCache");var q$="Complement Sets are not supported for first char optimization",xl=`Unable to use "first char" lexer optimizations: `;function W$(t,e=!1){try{let r=bs(t);return km(r.value,{},r.flags.ignoreCase)}catch(r){if(r.message===q$)e&&yl(`${xl} Unable to optimize: < ${t.toString()} > Complement Sets cannot be automatically optimized. This will disable the lexer's first char optimizations. See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#COMPLEMENT for details.`);else{let n="";e&&(n=` This will disable the lexer's first char optimizations. See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#REGEXP_PARSING for details.`),As(`${xl} Failed parsing: < ${t.toString()} > Using the @chevrotain/regexp-to-ast library Please open an issue at: https://github.com/chevrotain/chevrotain/issues`+n)}}return[]}a(W$,"getOptimizedStartCodesIndices");function km(t,e,r){switch(t.type){case"Disjunction":for(let i=0;i{if(typeof u=="number")tf(u,e,r);else{let c=u;if(r===!0)for(let f=c.from;f<=c.to;f++)tf(f,e,r);else{for(let f=c.from;f<=c.to&&f=Ss){let f=c.from>=Ss?c.from:Ss,p=c.to,m=tn(f),y=tn(p);for(let A=m;A<=y;A++)e[A]=A}}}});break;case"Group":km(o.value,e,r);break;default:throw Error("Non Exhaustive Match")}let l=o.quantifier!==void 0&&o.quantifier.atLeast===0;if(o.type==="Group"&&Pm(o)===!1||o.type!=="Group"&&l===!1)break}break;default:throw Error("non exhaustive match!")}return ye(e)}a(km,"firstCharOptimizedIndices");function tf(t,e,r){let n=tn(t);e[n]=n,r===!0&&M0(t,e)}a(tf,"addOptimizedIdxToResult");function M0(t,e){let r=String.fromCharCode(t),n=r.toUpperCase();if(n!==r){let i=tn(n.charCodeAt(0));e[i]=i}else{let i=r.toLowerCase();if(i!==r){let s=tn(i.charCodeAt(0));e[s]=s}}}a(M0,"handleIgnoreCase");function K$(t,e){return en(t.value,r=>{if(typeof r=="number")return Pe(e,r);{let n=r;return en(e,i=>n.from<=i&&i<=n.to)!==void 0}})}a(K$,"findCode");function Pm(t){let e=t.quantifier;return e&&e.atLeast===0?!0:t.value?z(t.value)?bt(t.value,Pm):Pm(t.value):!1}a(Pm,"isWholeOptional");var Om=class extends qr{static{a(this,"CharCodeFinder")}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){Pe(this.targetCharCodes,e.value)&&(this.found=!0)}visitSet(e){e.complement?K$(e,this.targetCharCodes)===void 0&&(this.found=!0):K$(e,this.targetCharCodes)!==void 0&&(this.found=!0)}};function rf(t,e){if(e instanceof RegExp){let r=bs(e),n=new Om(t);return n.visit(r),n.found}else return en(e,r=>Pe(t,r.charCodeAt(0)))!==void 0}a(rf,"canMatchCharCode");var ua="PATTERN",ws="defaultMode",nf="modes",Mm=typeof new RegExp("(?:)").sticky=="boolean";function Y$(t,e){e=Es(e,{useSticky:Mm,debug:!1,safeMode:!1,positionTracking:"full",lineTerminatorCharacters:["\r",` `],tracer:a((w,$)=>$(),"tracer")});let r=e.tracer;r("initCharCodeToOptimizedIndexMap",()=>{t1()});let n;r("Reject Lexer.NA",()=>{n=di(t,w=>w[ua]===Le.NA)});let i=!1,s;r("Transform Patterns",()=>{i=!1,s=F(n,w=>{let $=w[ua];if(yr($)){let K=$.source;return K.length===1&&K!=="^"&&K!=="$"&&K!=="."&&!$.ignoreCase?K:K.length===2&&K[0]==="\\"&&!Pe(["d","D","s","S","t","r","n","t","0","c","b","B","f","v","w","W"],K[1])?K[1]:e.useSticky?H$($):V$($)}else{if(Ft($))return i=!0,{exec:$};if(typeof $=="object")return i=!0,$;if(typeof $=="string"){if($.length===1)return $;{let K=$.replace(/[\\^$.*+?()[\]{}|]/g,"\\$&"),M=new RegExp(K);return e.useSticky?H$(M):V$(M)}}else throw Error("non exhaustive match")}})});let o,l,u,c,f;r("misc mapping",()=>{o=F(n,w=>w.tokenTypeIdx),l=F(n,w=>{let $=w.GROUP;if($!==Le.SKIPPED){if(ut($))return $;if(wt($))return!1;throw Error("non exhaustive match")}}),u=F(n,w=>{let $=w.LONGER_ALT;if($)return z($)?F($,M=>Jc(n,M)):[Jc(n,$)]}),c=F(n,w=>w.PUSH_MODE),f=F(n,w=>U(w,"POP_MODE"))});let p;r("Line Terminator Handling",()=>{let w=nE(e.lineTerminatorCharacters);p=F(n,$=>!1),e.positionTracking!=="onlyOffset"&&(p=F(n,$=>U($,"LINE_BREAKS")?!!$.LINE_BREAKS:rE($,w)===!1&&rf(w,$.PATTERN)))});let m,y,A,C;r("Misc Mapping #2",()=>{m=F(n,eE),y=F(s,Q0),A=rt(n,(w,$)=>{let K=$.GROUP;return ut(K)&&K!==Le.SKIPPED&&(w[K]=[]),w},{}),C=F(s,(w,$)=>({pattern:s[$],longerAlt:u[$],canLineTerminator:p[$],isCustom:m[$],short:y[$],group:l[$],push:c[$],pop:f[$],tokenTypeIdx:o[$],tokenType:n[$]}))});let _=!0,S=[];return e.safeMode||r("First Char Optimization",()=>{S=rt(n,(w,$,K)=>{if(typeof $.PATTERN=="string"){let M=$.PATTERN.charCodeAt(0),ge=tn(M);Lm(w,ge,C[K])}else if(z($.START_CHARS_HINT)){let M;G($.START_CHARS_HINT,ge=>{let Fr=typeof ge=="string"?ge.charCodeAt(0):ge,at=tn(Fr);M!==at&&(M=at,Lm(w,at,C[K]))})}else if(yr($.PATTERN))if($.PATTERN.unicode)_=!1,e.ensureOptimizations&&As(`${xl} Unable to analyze < ${$.PATTERN.toString()} > pattern. The regexp unicode flag is not currently supported by the regexp-to-ast library. This will disable the lexer's first char optimizations. For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNICODE_OPTIMIZE`);else{let M=W$($.PATTERN,e.ensureOptimizations);ne(M)&&(_=!1),G(M,ge=>{Lm(w,ge,C[K])})}else e.ensureOptimizations&&As(`${xl} TokenType: <${$.name}> is using a custom token pattern without providing parameter. This will disable the lexer's first char optimizations. For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_OPTIMIZE`),_=!1;return w},[])}),{emptyGroups:A,patternIdxToConfig:C,charCodeToPatternIdxToConfig:S,hasCustom:i,canBeOptimized:_}}a(Y$,"analyzeTokenTypes");function X$(t,e){let r=[],n=F0(t);r=r.concat(n.errors);let i=G0(n.valid),s=i.valid;return r=r.concat(i.errors),r=r.concat(D0(s)),r=r.concat(V0(s)),r=r.concat(H0(s,e)),r=r.concat(Y0(s)),r}a(X$,"validatePatterns");function D0(t){let e=[],r=St(t,n=>yr(n[ua]));return e=e.concat(j0(r)),e=e.concat(K0(r)),e=e.concat(q0(r)),e=e.concat(W0(r)),e=e.concat(z0(r)),e}a(D0,"validateRegExpPattern");function F0(t){let e=St(t,i=>!U(i,ua)),r=F(e,i=>({message:"Token Type: ->"+i.name+"<- missing static 'PATTERN' property",type:Oe.MISSING_PATTERN,tokenTypes:[i]})),n=pi(t,e);return{errors:r,valid:n}}a(F0,"findMissingPatterns");function G0(t){let e=St(t,i=>{let s=i[ua];return!yr(s)&&!Ft(s)&&!U(s,"exec")&&!ut(s)}),r=F(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:Oe.INVALID_PATTERN,tokenTypes:[i]})),n=pi(t,e);return{errors:r,valid:n}}a(G0,"findInvalidPatterns");var U0=/[^\\][$]/;function j0(t){class e extends qr{static{a(this,"EndAnchorFinder")}constructor(){super(...arguments),this.found=!1}visitEndAnchor(s){this.found=!0}}let r=St(t,i=>{let s=i.PATTERN;try{let o=bs(s),l=new e;return l.visit(o),l.found}catch{return U0.test(s.source)}});return F(r,i=>({message:`Unexpected RegExp Anchor Error: Token Type: ->`+i.name+`<- static 'PATTERN' cannot contain end of input anchor '$' See chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:Oe.EOI_ANCHOR_FOUND,tokenTypes:[i]}))}a(j0,"findEndOfInputAnchor");function z0(t){let e=St(t,n=>n.PATTERN.test(""));return F(e,n=>({message:"Token Type: ->"+n.name+"<- static 'PATTERN' must not match an empty string",type:Oe.EMPTY_MATCH_PATTERN,tokenTypes:[n]}))}a(z0,"findEmptyMatchRegExps");var B0=/[^\\[][\^]|^\^/;function K0(t){class e extends qr{static{a(this,"StartAnchorFinder")}constructor(){super(...arguments),this.found=!1}visitStartAnchor(s){this.found=!0}}let r=St(t,i=>{let s=i.PATTERN;try{let o=bs(s),l=new e;return l.visit(o),l.found}catch{return B0.test(s.source)}});return F(r,i=>({message:`Unexpected RegExp Anchor Error: Token Type: ->`+i.name+`<- static 'PATTERN' cannot contain start of input anchor '^' See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:Oe.SOI_ANCHOR_FOUND,tokenTypes:[i]}))}a(K0,"findStartOfInputAnchor");function q0(t){let e=St(t,n=>{let i=n[ua];return i instanceof RegExp&&(i.multiline||i.global)});return F(e,n=>({message:"Token Type: ->"+n.name+"<- static 'PATTERN' may NOT contain global('g') or multiline('m')",type:Oe.UNSUPPORTED_FLAGS_FOUND,tokenTypes:[n]}))}a(q0,"findUnsupportedFlags");function W0(t){let e=[],r=F(t,s=>rt(t,(o,l)=>(s.PATTERN.source===l.PATTERN.source&&!Pe(e,l)&&l.PATTERN!==Le.NA&&(e.push(l),o.push(l)),o),[]));r=Qr(r);let n=St(r,s=>s.length>1);return F(n,s=>{let o=F(s,u=>u.name);return{message:`The same RegExp pattern ->${ht(s).PATTERN}<-has been used in all of the following Token Types: ${o.join(", ")} <-`,type:Oe.DUPLICATE_PATTERNS_FOUND,tokenTypes:s}})}a(W0,"findDuplicatePatterns");function V0(t){let e=St(t,n=>{if(!U(n,"GROUP"))return!1;let i=n.GROUP;return i!==Le.SKIPPED&&i!==Le.NA&&!ut(i)});return F(e,n=>({message:"Token Type: ->"+n.name+"<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String",type:Oe.INVALID_GROUP_TYPE_FOUND,tokenTypes:[n]}))}a(V0,"findInvalidGroupType");function H0(t,e){let r=St(t,i=>i.PUSH_MODE!==void 0&&!Pe(e,i.PUSH_MODE));return F(r,i=>({message:`Token Type: ->${i.name}<- static 'PUSH_MODE' value cannot refer to a Lexer Mode ->${i.PUSH_MODE}<-which does not exist`,type:Oe.PUSH_MODE_DOES_NOT_EXIST,tokenTypes:[i]}))}a(H0,"findModesThatDoNotExist");function Y0(t){let e=[],r=rt(t,(n,i,s)=>{let o=i.PATTERN;return o===Le.NA||(ut(o)?n.push({str:o,idx:s,tokenType:i}):yr(o)&&J0(o)&&n.push({str:o.source,idx:s,tokenType:i})),n},[]);return G(t,(n,i)=>{G(r,({str:s,idx:o,tokenType:l})=>{if(i${l.name}<- can never be matched. Because it appears AFTER the Token Type ->${n.name}<-in the lexer's definition. See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNREACHABLE`;e.push({message:u,type:Oe.UNREACHABLE_PATTERN,tokenTypes:[n,l]})}})}),e}a(Y0,"findUnreachablePatterns");function X0(t,e){if(yr(e)){if(Z0(e))return!1;let r=e.exec(t);return r!==null&&r.index===0}else{if(Ft(e))return e(t,0,[],{});if(U(e,"exec"))return e.exec(t,0,[],{});if(typeof e=="string")return e===t;throw Error("non exhaustive match")}}a(X0,"tryToMatchStrToPattern");function J0(t){return en([".","\\","[","]","|","^","$","(",")","?","*","+","{"],r=>t.source.indexOf(r)!==-1)===void 0}a(J0,"noMetaChar");function Z0(t){return/(\(\?=)|(\(\?!)|(\(\?<=)|(\(\? property in its definition `,type:Oe.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE}),U(t,nf)||n.push({message:"A MultiMode Lexer cannot be initialized without a <"+nf+`> property in its definition `,type:Oe.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY}),U(t,nf)&&U(t,ws)&&!U(t.modes,t.defaultMode)&&n.push({message:`A MultiMode Lexer cannot be initialized with a ${ws}: <${t.defaultMode}>which does not exist `,type:Oe.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST}),U(t,nf)&&G(t.modes,(i,s)=>{G(i,(o,l)=>{if(wt(o))n.push({message:`A Lexer cannot be initialized using an undefined Token Type. Mode:<${s}> at index: <${l}> `,type:Oe.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED});else if(U(o,"LONGER_ALT")){let u=z(o.LONGER_ALT)?o.LONGER_ALT:[o.LONGER_ALT];G(u,c=>{!wt(c)&&!Pe(i,c)&&n.push({message:`A MultiMode Lexer cannot be initialized with a longer_alt <${c.name}> on token <${o.name}> outside of mode <${s}> `,type:Oe.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE})})}})}),n}a(J$,"performRuntimeChecks");function Z$(t,e,r){let n=[],i=!1,s=Qr(lt(ye(t.modes))),o=di(s,u=>u[ua]===Le.NA),l=nE(r);return e&&G(o,u=>{let c=rE(u,l);if(c!==!1){let p={message:e1(u,c),type:c.issue,tokenType:u};n.push(p)}else U(u,"LINE_BREAKS")?u.LINE_BREAKS===!0&&(i=!0):rf(l,u.PATTERN)&&(i=!0)}),e&&!i&&n.push({message:`Warning: No LINE_BREAKS Found. This Lexer has been defined to track line and column information, But none of the Token Types can be identified as matching a line terminator. See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#LINE_BREAKS for details.`,type:Oe.NO_LINE_BREAKS_FLAGS}),n}a(Z$,"performWarningRuntimeChecks");function Q$(t){let e={},r=$e(t);return G(r,n=>{let i=t[n];if(z(i))e[n]=[];else throw Error("non exhaustive match")}),e}a(Q$,"cloneEmptyGroups");function eE(t){let e=t.PATTERN;if(yr(e))return!1;if(Ft(e))return!0;if(U(e,"exec"))return!0;if(ut(e))return!1;throw Error("non exhaustive match")}a(eE,"isCustomPattern");function Q0(t){return ut(t)&&t.length===1?t.charCodeAt(0):!1}a(Q0,"isShortPattern");var tE={test:a(function(t){let e=t.length;for(let r=this.lastIndex;r Token Type Root cause: ${e.errMsg}. For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#IDENTIFY_TERMINATOR`;if(e.issue===Oe.CUSTOM_LINE_BREAK)return`Warning: A Custom Token Pattern should specify the option. The problem is in the <${t.name}> Token Type For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_LINE_BREAK`;throw Error("non exhaustive match")}a(e1,"buildLineBreakIssueMessage");function nE(t){return F(t,r=>ut(r)?r.charCodeAt(0):r)}a(nE,"getCharCodes");function Lm(t,e,r){t[e]===void 0?t[e]=[r]:t[e].push(r)}a(Lm,"addToMapOfArrays");var Ss=256,af=[];function tn(t){return t255?255+~~(t/255):t}}a(t1,"initCharCodeToOptimizedIndexMap");function An(t,e){let r=t.tokenTypeIdx;return r===e.tokenTypeIdx?!0:e.isParent===!0&&e.categoryMatchesMap[r]===!0}a(An,"tokenStructuredMatcher");function Ns(t,e){return t.tokenTypeIdx===e.tokenTypeIdx}a(Ns,"tokenStructuredMatcherNoCategories");var iE=1,sE={};function Cn(t){let e=r1(t);n1(e),a1(e),i1(e),G(e,r=>{r.isParent=r.categoryMatches.length>0})}a(Cn,"augmentTokenTypes");function r1(t){let e=ve(t),r=t,n=!0;for(;n;){r=Qr(lt(F(r,s=>s.CATEGORIES)));let i=pi(r,e);e=e.concat(i),ne(i)?n=!1:r=i}return e}a(r1,"expandCategories");function n1(t){G(t,e=>{Dm(e)||(sE[iE]=e,e.tokenTypeIdx=iE++),aE(e)&&!z(e.CATEGORIES)&&(e.CATEGORIES=[e.CATEGORIES]),aE(e)||(e.CATEGORIES=[]),s1(e)||(e.categoryMatches=[]),o1(e)||(e.categoryMatchesMap={})})}a(n1,"assignTokenDefaultProps");function i1(t){G(t,e=>{e.categoryMatches=[],G(e.categoryMatchesMap,(r,n)=>{e.categoryMatches.push(sE[n].tokenTypeIdx)})})}a(i1,"assignCategoriesTokensProp");function a1(t){G(t,e=>{oE([],e)})}a(a1,"assignCategoriesMapProp");function oE(t,e){G(t,r=>{e.categoryMatchesMap[r.tokenTypeIdx]=!0}),G(e.CATEGORIES,r=>{let n=t.concat(e);Pe(n,r)||oE(n,r)})}a(oE,"singleAssignCategoriesToksMap");function Dm(t){return U(t,"tokenTypeIdx")}a(Dm,"hasShortKeyProperty");function aE(t){return U(t,"CATEGORIES")}a(aE,"hasCategoriesProperty");function s1(t){return U(t,"categoryMatches")}a(s1,"hasExtendingTokensTypesProperty");function o1(t){return U(t,"categoryMatchesMap")}a(o1,"hasExtendingTokensTypesMapProperty");function lE(t){return U(t,"tokenTypeIdx")}a(lE,"isTokenType");var Is={buildUnableToPopLexerModeMessage(t){return`Unable to pop Lexer Mode after encountering Token ->${t.image}<- The Mode Stack is empty`},buildUnexpectedCharactersMessage(t,e,r,n,i,s){return`unexpected character: ->${t.charAt(e)}<- at offset: ${e}, skipped ${r} characters.`}};var Oe;(function(t){t[t.MISSING_PATTERN=0]="MISSING_PATTERN",t[t.INVALID_PATTERN=1]="INVALID_PATTERN",t[t.EOI_ANCHOR_FOUND=2]="EOI_ANCHOR_FOUND",t[t.UNSUPPORTED_FLAGS_FOUND=3]="UNSUPPORTED_FLAGS_FOUND",t[t.DUPLICATE_PATTERNS_FOUND=4]="DUPLICATE_PATTERNS_FOUND",t[t.INVALID_GROUP_TYPE_FOUND=5]="INVALID_GROUP_TYPE_FOUND",t[t.PUSH_MODE_DOES_NOT_EXIST=6]="PUSH_MODE_DOES_NOT_EXIST",t[t.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE=7]="MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE",t[t.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY=8]="MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY",t[t.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST=9]="MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST",t[t.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED=10]="LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED",t[t.SOI_ANCHOR_FOUND=11]="SOI_ANCHOR_FOUND",t[t.EMPTY_MATCH_PATTERN=12]="EMPTY_MATCH_PATTERN",t[t.NO_LINE_BREAKS_FLAGS=13]="NO_LINE_BREAKS_FLAGS",t[t.UNREACHABLE_PATTERN=14]="UNREACHABLE_PATTERN",t[t.IDENTIFY_TERMINATOR=15]="IDENTIFY_TERMINATOR",t[t.CUSTOM_LINE_BREAK=16]="CUSTOM_LINE_BREAK",t[t.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE=17]="MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE"})(Oe||(Oe={}));var Rl={deferDefinitionErrorsHandling:!1,positionTracking:"full",lineTerminatorsPattern:/\n|\r\n?/g,lineTerminatorCharacters:[` `,"\r"],ensureOptimizations:!1,safeMode:!1,errorMessageProvider:Is,traceInitPerf:!1,skipValidations:!1,recoveryEnabled:!0};Object.freeze(Rl);var Le=class{static{a(this,"Lexer")}constructor(e,r=Rl){if(this.lexerDefinition=e,this.lexerDefinitionErrors=[],this.lexerDefinitionWarning=[],this.patternIdxToConfig={},this.charCodeToPatternIdxToConfig={},this.modes=[],this.emptyGroups={},this.trackStartLines=!0,this.trackEndLines=!0,this.hasCustom=!1,this.canModeBeOptimized={},this.TRACE_INIT=(i,s)=>{if(this.traceInitPerf===!0){this.traceInitIndent++;let o=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent <${i}>`);let{time:l,value:u}=gl(s),c=l>10?console.warn:console.log;return this.traceInitIndent time: ${l}ms`),this.traceInitIndent--,u}else return s()},typeof r=="boolean")throw Error(`The second argument to the Lexer constructor is now an ILexerConfig Object. a boolean 2nd argument is no longer supported`);this.config=Rt({},Rl,r);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,s=!0;this.TRACE_INIT("Lexer Config handling",()=>{if(this.config.lineTerminatorsPattern===Rl.lineTerminatorsPattern)this.config.lineTerminatorsPattern=tE;else if(this.config.lineTerminatorCharacters===Rl.lineTerminatorCharacters)throw Error(`Error: Missing property on the Lexer config. For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#MISSING_LINE_TERM_CHARS`);if(r.safeMode&&r.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),z(e)?i={modes:{defaultMode:ve(e)},defaultMode:ws}:(s=!1,i=ve(e))}),this.config.skipValidations===!1&&(this.TRACE_INIT("performRuntimeChecks",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(J$(i,this.trackStartLines,this.config.lineTerminatorCharacters))}),this.TRACE_INIT("performWarningRuntimeChecks",()=>{this.lexerDefinitionWarning=this.lexerDefinitionWarning.concat(Z$(i,this.trackStartLines,this.config.lineTerminatorCharacters))})),i.modes=i.modes?i.modes:{},G(i.modes,(l,u)=>{i.modes[u]=di(l,c=>wt(c))});let o=$e(i.modes);if(G(i.modes,(l,u)=>{this.TRACE_INIT(`Mode: <${u}> processing`,()=>{if(this.modes.push(u),this.config.skipValidations===!1&&this.TRACE_INIT("validatePatterns",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(X$(l,o))}),ne(this.lexerDefinitionErrors)){Cn(l);let c;this.TRACE_INIT("analyzeTokenTypes",()=>{c=Y$(l,{lineTerminatorCharacters:this.config.lineTerminatorCharacters,positionTracking:r.positionTracking,ensureOptimizations:r.ensureOptimizations,safeMode:r.safeMode,tracer:this.TRACE_INIT})}),this.patternIdxToConfig[u]=c.patternIdxToConfig,this.charCodeToPatternIdxToConfig[u]=c.charCodeToPatternIdxToConfig,this.emptyGroups=Rt({},this.emptyGroups,c.emptyGroups),this.hasCustom=c.hasCustom||this.hasCustom,this.canModeBeOptimized[u]=c.canBeOptimized}})}),this.defaultMode=i.defaultMode,!ne(this.lexerDefinitionErrors)&&!this.config.deferDefinitionErrorsHandling){let u=F(this.lexerDefinitionErrors,c=>c.message).join(`----------------------- `);throw new Error(`Errors detected in definition of Lexer: `+u)}G(this.lexerDefinitionWarning,l=>{yl(l.message)}),this.TRACE_INIT("Choosing sub-methods implementations",()=>{if(Mm?(this.chopInput=mr,this.match=this.matchWithTest):(this.updateLastIndex=ze,this.match=this.matchWithExec),s&&(this.handleModes=ze),this.trackStartLines===!1&&(this.computeNewColumn=mr),this.trackEndLines===!1&&(this.updateTokenEndLineColumnLocation=ze),/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 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 l=rt(this.canModeBeOptimized,(u,c,f)=>(c===!1&&u.push(f),u),[]);if(r.ensureOptimizations&&!ne(l))throw Error(`Lexer Modes: < ${l.join(", ")} > cannot be optimized. Disable the "ensureOptimizations" lexer config flag to silently ignore this and run the lexer in an un-optimized mode. Or inspect the console log for details on how to resolve these issues.`)}),this.TRACE_INIT("clearRegExpParserCache",()=>{B$()}),this.TRACE_INIT("toFastProperties",()=>{Tl(this)})})}tokenize(e,r=this.defaultMode){if(!ne(this.lexerDefinitionErrors)){let i=F(this.lexerDefinitionErrors,s=>s.message).join(`----------------------- `);throw new Error(`Unable to Tokenize because Errors detected in definition of Lexer: `+i)}return this.tokenizeInternal(e,r)}tokenizeInternal(e,r){let n,i,s,o,l,u,c,f,p,m,y,A,C,_,S,w,$=e,K=$.length,M=0,ge=0,Fr=this.hasCustom?0:Math.floor(e.length/10),at=new Array(Fr),Er=[],pr=this.trackStartLines?1:void 0,N=this.trackStartLines?1:void 0,T=Q$(this.emptyGroups),D=this.trackStartLines,L=this.config.lineTerminatorsPattern,x=0,E=[],b=[],O=[],j=[];Object.freeze(j);let k;function X(){return E}a(X,"getPossiblePatternsSlow");function Q(pt){let qt=tn(pt),Fn=b[qt];return Fn===void 0?j:Fn}a(Q,"getPossiblePatternsOptimized");let Ze=a(pt=>{if(O.length===1&&pt.tokenType.PUSH_MODE===void 0){let qt=this.config.errorMessageProvider.buildUnableToPopLexerModeMessage(pt);Er.push({offset:pt.startOffset,line:pt.startLine,column:pt.startColumn,length:pt.image.length,message:qt})}else{O.pop();let qt=kr(O);E=this.patternIdxToConfig[qt],b=this.charCodeToPatternIdxToConfig[qt],x=E.length;let Fn=this.canModeBeOptimized[qt]&&this.config.safeMode===!1;b&&Fn?k=Q:k=X}},"pop_mode");function ce(pt){O.push(pt),b=this.charCodeToPatternIdxToConfig[pt],E=this.patternIdxToConfig[pt],x=E.length,x=E.length;let qt=this.canModeBeOptimized[pt]&&this.config.safeMode===!1;b&&qt?k=Q:k=X}a(ce,"push_mode"),ce.call(this,r);let Fe,Gr=this.config.recoveryEnabled;for(;Mu.length){u=o,c=f,Fe=Ar;break}}}break}}if(u!==null){if(p=u.length,m=Fe.group,m!==void 0&&(y=Fe.tokenTypeIdx,A=this.createTokenInstance(u,M,y,Fe.tokenType,pr,N,p),this.handlePayload(A,c),m===!1?ge=this.addToken(at,ge,A):T[m].push(A)),e=this.chopInput(e,p),M=M+p,N=this.computeNewColumn(N,p),D===!0&&Fe.canLineTerminator===!0){let Pt=0,vr,xt;L.lastIndex=0;do vr=L.test(u),vr===!0&&(xt=L.lastIndex-1,Pt++);while(vr===!0);Pt!==0&&(pr=pr+Pt,N=p-xt,this.updateTokenEndLineColumnLocation(A,m,xt,Pt,pr,N,p))}this.handleModes(Fe,Ze,ce,A)}else{let Pt=M,vr=pr,xt=N,Ar=Gr===!1;for(;Ar===!1&&M ${bn(t)} <--`:`token of type --> ${t.name} <--`} but found --> '${e.image}' <--`},buildNotAllInputParsedMessage({firstRedundant:t,ruleName:e}){return"Redundant input, expecting EOF but found: "+t.image},buildNoViableAltMessage({expectedPathsPerAlt:t,actual:e,previous:r,customUserDescription:n,ruleName:i}){let s="Expecting: ",l=` but found: '`+ht(e).image+"'";if(n)return s+n+l;{let u=rt(t,(m,y)=>m.concat(y),[]),c=F(u,m=>`[${F(m,y=>bn(y)).join(", ")}]`),p=`one of these possible Token sequences: ${F(c,(m,y)=>` ${y+1}. ${m}`).join(` `)}`;return s+p+l}},buildEarlyExitMessage({expectedIterationPaths:t,actual:e,customUserDescription:r,ruleName:n}){let i="Expecting: ",o=` but found: '`+ht(e).image+"'";if(r)return i+r+o;{let u=`expecting at least one iteration which starts with one of these possible Token sequences:: <${F(t,c=>`[${F(c,f=>bn(f)).join(",")}]`).join(" ,")}>`;return i+u+o}}};Object.freeze(wn);var gE={buildRuleNotFoundError(t,e){return"Invalid grammar, reference to a rule which is not defined: ->"+e.nonTerminalName+`<- inside top level rule: ->`+t.name+"<-"}},Pr={buildDuplicateFoundError(t,e){function r(f){return f instanceof re?f.terminalType.name:f instanceof pe?f.nonTerminalName:""}a(r,"getExtraProductionArgument");let n=t.name,i=ht(e),s=i.idx,o=Jt(i),l=r(i),u=s>0,c=`->${o}${u?s:""}<- ${l?`with argument: ->${l}<-`:""} appears more than once (${e.length} times) in the top level rule: ->${n}<-. For further details see: https://chevrotain.io/docs/FAQ.html#NUMERICAL_SUFFIXES `;return c=c.replace(/[ \t]+/g," "),c=c.replace(/\s\s+/g,` `),c},buildNamespaceConflictError(t){return`Namespace conflict found in grammar. The grammar has both a Terminal(Token) and a Non-Terminal(Rule) named: <${t.name}>. To resolve this make sure each Terminal and Non-Terminal names are unique This is easy to accomplish by using the convention that Terminal names start with an uppercase letter and Non-Terminal names start with a lower case letter.`},buildAlternationPrefixAmbiguityError(t){let e=F(t.prefixPath,i=>bn(i)).join(", "),r=t.alternation.idx===0?"":t.alternation.idx;return`Ambiguous alternatives: <${t.ambiguityIndices.join(" ,")}> due to common lookahead prefix in inside <${t.topLevelRule.name}> Rule, <${e}> may appears as a prefix path in all these alternatives. See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#COMMON_PREFIX For Further details.`},buildAlternationAmbiguityError(t){let e=F(t.prefixPath,i=>bn(i)).join(", "),r=t.alternation.idx===0?"":t.alternation.idx,n=`Ambiguous Alternatives Detected: <${t.ambiguityIndices.join(" ,")}> in inside <${t.topLevelRule.name}> Rule, <${e}> may appears as a prefix path in all these alternatives. `;return n=n+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES For Further details.`,n},buildEmptyRepetitionError(t){let e=Jt(t.repetition);return t.repetition.idx!==0&&(e+=t.repetition.idx),`The repetition <${e}> within Rule <${t.topLevelRule.name}> can never consume any tokens. This could lead to an infinite loop.`},buildTokenNameError(t){return"deprecated"},buildEmptyAlternationError(t){return`Ambiguous empty alternative: <${t.emptyChoiceIdx+1}> in inside <${t.topLevelRule.name}> Rule. Only the last alternative may be an empty alternative.`},buildTooManyAlternativesError(t){return`An Alternation cannot have more than 256 alternatives: inside <${t.topLevelRule.name}> Rule. has ${t.alternation.definition.length+1} alternatives.`},buildLeftRecursionError(t){let e=t.topLevelRule.name,r=F(t.leftRecursionPath,s=>s.name),n=`${e} --> ${r.concat([e]).join(" --> ")}`;return`Left Recursion found in grammar. rule: <${e}> can be invoked from itself (directly or indirectly) without consuming any Tokens. The grammar path that causes this is: ${n} To fix this refactor your grammar to remove the left recursion. see: https://en.wikipedia.org/wiki/LL_parser#Left_factoring.`},buildInvalidRuleNameError(t){return"deprecated"},buildDuplicateRuleNameError(t){let e;return t.topLevelRule instanceof Ut?e=t.topLevelRule.name:e=t.topLevelRule,`Duplicate definition, rule: ->${e}<- is already defined in the grammar: ->${t.grammarName}<-`}};function TE(t,e){let r=new Gm(t,e);return r.resolveRefs(),r.errors}a(TE,"resolveGrammar");var Gm=class extends jt{static{a(this,"GastRefResolverVisitor")}constructor(e,r){super(),this.nameToTopRule=e,this.errMsgProvider=r,this.errors=[]}resolveRefs(){G(ye(this.nameToTopRule),e=>{this.currTopLevel=e,e.accept(this)})}visitNonTerminal(e){let r=this.nameToTopRule[e.nonTerminalName];if(r)e.referencedRule=r;else{let n=this.errMsgProvider.buildRuleNotFoundError(this.currTopLevel,e);this.errors.push({message:n,type:ct.UNRESOLVED_SUBRULE_REF,ruleName:this.currTopLevel.name,unresolvedRefName:e.nonTerminalName})}}};var Um=class extends vn{static{a(this,"AbstractNextPossibleTokensWalker")}constructor(e,r){super(),this.topProd=e,this.path=r,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=ve(this.path.ruleStack).reverse(),this.occurrenceStack=ve(this.path.occurrenceStack).reverse(),this.ruleStack.pop(),this.occurrenceStack.pop(),this.updateExpectedNext(),this.walk(this.topProd),this.possibleTokTypes}walk(e,r=[]){this.found||super.walk(e,r)}walkProdRef(e,r,n){if(e.referencedRule.name===this.nextProductionName&&e.idx===this.nextProductionOccurrence){let i=r.concat(n);this.updateExpectedNext(),this.walk(e.referencedRule,i)}}updateExpectedNext(){ne(this.ruleStack)?(this.nextProductionName="",this.nextProductionOccurrence=0,this.isAtEndOfPath=!0):(this.nextProductionName=this.ruleStack.pop(),this.nextProductionOccurrence=this.occurrenceStack.pop())}},sf=class extends Um{static{a(this,"NextAfterTokenWalker")}constructor(e,r){super(e,r),this.path=r,this.nextTerminalName="",this.nextTerminalOccurrence=0,this.nextTerminalName=this.path.lastTok.name,this.nextTerminalOccurrence=this.path.lastTokOccurrence}walkTerminal(e,r,n){if(this.isAtEndOfPath&&e.terminalType.name===this.nextTerminalName&&e.idx===this.nextTerminalOccurrence&&!this.found){let i=r.concat(n),s=new Ae({definition:i});this.possibleTokTypes=la(s),this.found=!0}}},_s=class extends vn{static{a(this,"AbstractNextTerminalAfterProductionWalker")}constructor(e,r){super(),this.topRule=e,this.occurrence=r,this.result={token:void 0,occurrence:void 0,isEndOfRule:void 0}}startWalking(){return this.walk(this.topRule),this.result}},of=class extends _s{static{a(this,"NextTerminalAfterManyWalker")}walkMany(e,r,n){if(e.idx===this.occurrence){let i=ht(r.concat(n));this.result.isEndOfRule=i===void 0,i instanceof re&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkMany(e,r,n)}},El=class extends _s{static{a(this,"NextTerminalAfterManySepWalker")}walkManySep(e,r,n){if(e.idx===this.occurrence){let i=ht(r.concat(n));this.result.isEndOfRule=i===void 0,i instanceof re&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkManySep(e,r,n)}},lf=class extends _s{static{a(this,"NextTerminalAfterAtLeastOneWalker")}walkAtLeastOne(e,r,n){if(e.idx===this.occurrence){let i=ht(r.concat(n));this.result.isEndOfRule=i===void 0,i instanceof re&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOne(e,r,n)}},vl=class extends _s{static{a(this,"NextTerminalAfterAtLeastOneSepWalker")}walkAtLeastOneSep(e,r,n){if(e.idx===this.occurrence){let i=ht(r.concat(n));this.result.isEndOfRule=i===void 0,i instanceof re&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOneSep(e,r,n)}};function uf(t,e,r=[]){r=ve(r);let n=[],i=0;function s(l){return l.concat(Xe(t,i+1))}a(s,"remainingPathWith");function o(l){let u=uf(s(l),e,r);return n.concat(u)}for(a(o,"getAlternativesForProd");r.length{ne(u.definition)===!1&&(n=o(u.definition))}),n;if(l instanceof re)r.push(l.terminalType);else throw Error("non exhaustive match")}i++}return n.push({partialPath:r,suffixDef:Xe(t,i)}),n}a(uf,"possiblePathsFrom");function cf(t,e,r,n){let i="EXIT_NONE_TERMINAL",s=[i],o="EXIT_ALTERNATIVE",l=!1,u=e.length,c=u-n-1,f=[],p=[];for(p.push({idx:-1,def:t,ruleStack:[],occurrenceStack:[]});!ne(p);){let m=p.pop();if(m===o){l&&kr(p).idx<=c&&p.pop();continue}let y=m.def,A=m.idx,C=m.ruleStack,_=m.occurrenceStack;if(ne(y))continue;let S=y[0];if(S===i){let w={idx:A,def:Xe(y),ruleStack:En(C),occurrenceStack:En(_)};p.push(w)}else if(S instanceof re)if(A=0;w--){let $=S.definition[w],K={idx:A,def:$.definition.concat(Xe(y)),ruleStack:C,occurrenceStack:_};p.push(K),p.push(o)}else if(S instanceof Ae)p.push({idx:A,def:S.definition.concat(Xe(y)),ruleStack:C,occurrenceStack:_});else if(S instanceof Ut)p.push(c1(S,A,C,_));else throw Error("non exhaustive match")}return f}a(cf,"nextPossibleTokensAfter");function c1(t,e,r,n){let i=ve(r);i.push(t.name);let s=ve(n);return s.push(1),{idx:e,def:t.definition,ruleStack:i,occurrenceStack:s}}a(c1,"expandTopLevelRule");var Me;(function(t){t[t.OPTION=0]="OPTION",t[t.REPETITION=1]="REPETITION",t[t.REPETITION_MANDATORY=2]="REPETITION_MANDATORY",t[t.REPETITION_MANDATORY_WITH_SEPARATOR=3]="REPETITION_MANDATORY_WITH_SEPARATOR",t[t.REPETITION_WITH_SEPARATOR=4]="REPETITION_WITH_SEPARATOR",t[t.ALTERNATION=5]="ALTERNATION"})(Me||(Me={}));function Al(t){if(t instanceof de||t==="Option")return Me.OPTION;if(t instanceof ae||t==="Repetition")return Me.REPETITION;if(t instanceof Ce||t==="RepetitionMandatory")return Me.REPETITION_MANDATORY;if(t instanceof be||t==="RepetitionMandatoryWithSeparator")return Me.REPETITION_MANDATORY_WITH_SEPARATOR;if(t instanceof xe||t==="RepetitionWithSeparator")return Me.REPETITION_WITH_SEPARATOR;if(t instanceof Re||t==="Alternation")return Me.ALTERNATION;throw Error("non exhaustive match")}a(Al,"getProdType");function pf(t){let{occurrence:e,rule:r,prodType:n,maxLookahead:i}=t,s=Al(n);return s===Me.ALTERNATION?ks(e,r,i):Ps(e,r,s,i)}a(pf,"getLookaheadPaths");function RE(t,e,r,n,i,s){let o=ks(t,e,r),l=bE(o)?Ns:An;return s(o,n,l,i)}a(RE,"buildLookaheadFuncForOr");function $E(t,e,r,n,i,s){let o=Ps(t,e,i,r),l=bE(o)?Ns:An;return s(o[0],l,n)}a($E,"buildLookaheadFuncForOptionalProd");function EE(t,e,r,n){let i=t.length,s=bt(t,o=>bt(o,l=>l.length===1));if(e)return function(o){let l=F(o,u=>u.GATE);for(let u=0;ult(u)),l=rt(o,(u,c,f)=>(G(c,p=>{U(u,p.tokenTypeIdx)||(u[p.tokenTypeIdx]=f),G(p.categoryMatches,m=>{U(u,m)||(u[m]=f)})}),u),{});return function(){let u=this.LA(1);return l[u.tokenTypeIdx]}}else return function(){for(let o=0;os.length===1),i=t.length;if(n&&!r){let s=lt(t);if(s.length===1&&ne(s[0].categoryMatches)){let l=s[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===l}}else{let o=rt(s,(l,u,c)=>(l[u.tokenTypeIdx]=!0,G(u.categoryMatches,f=>{l[f]=!0}),l),[]);return function(){let l=this.LA(1);return o[l.tokenTypeIdx]===!0}}}else return function(){e:for(let s=0;suf([o],1)),n=xE(r.length),i=F(r,o=>{let l={};return G(o,u=>{let c=jm(u.partialPath);G(c,f=>{l[f]=!0})}),l}),s=r;for(let o=1;o<=e;o++){let l=s;s=xE(l.length);for(let u=0;u{let S=jm(_.partialPath);G(S,w=>{i[u][w]=!0})})}}}}return n}a(AE,"lookAheadSequenceFromAlternatives");function ks(t,e,r,n){let i=new ff(t,Me.ALTERNATION,n);return e.accept(i),AE(i.result,r)}a(ks,"getLookaheadPathsForOr");function Ps(t,e,r,n){let i=new ff(t,r);e.accept(i);let s=i.result,l=new zm(e,t,r).startWalking(),u=new Ae({definition:s}),c=new Ae({definition:l});return AE([u,c],n)}a(Ps,"getLookaheadPathsForOptionalProd");function df(t,e){e:for(let r=0;r{let i=e[n];return r===i||i.categoryMatchesMap[r.tokenTypeIdx]})}a(CE,"isStrictPrefixOfPath");function bE(t){return bt(t,e=>bt(e,r=>bt(r,n=>ne(n.categoryMatches))))}a(bE,"areTokenCategoriesNotUsed");function SE(t){let e=t.lookaheadStrategy.validate({rules:t.rules,tokenTypes:t.tokenTypes,grammarName:t.grammarName});return F(e,r=>Object.assign({type:ct.CUSTOM_LOOKAHEAD_VALIDATION},r))}a(SE,"validateLookahead");function wE(t,e,r,n){let i=Gt(t,u=>p1(u,r)),s=T1(t,e,r),o=Gt(t,u=>h1(u,r)),l=Gt(t,u=>m1(u,t,n,r));return i.concat(s,o,l)}a(wE,"validateGrammar");function p1(t,e){let r=new Bm;t.accept(r);let n=r.allProductions,i=wm(n,d1),s=Xt(i,l=>l.length>1);return F(ye(s),l=>{let u=ht(l),c=e.buildDuplicateFoundError(t,l),f=Jt(u),p={message:c,type:ct.DUPLICATE_PRODUCTIONS,ruleName:t.name,dslName:f,occurrence:u.idx},m=NE(u);return m&&(p.parameter=m),p})}a(p1,"validateDuplicateProductions");function d1(t){return`${Jt(t)}_#_${t.idx}_#_${NE(t)}`}a(d1,"identifyProductionForDuplicates");function NE(t){return t instanceof re?t.terminalType.name:t instanceof pe?t.nonTerminalName:""}a(NE,"getExtraProductionArgument");var Bm=class extends jt{static{a(this,"OccurrenceValidationCollector")}constructor(){super(...arguments),this.allProductions=[]}visitNonTerminal(e){this.allProductions.push(e)}visitOption(e){this.allProductions.push(e)}visitRepetitionWithSeparator(e){this.allProductions.push(e)}visitRepetitionMandatory(e){this.allProductions.push(e)}visitRepetitionMandatoryWithSeparator(e){this.allProductions.push(e)}visitRepetition(e){this.allProductions.push(e)}visitAlternation(e){this.allProductions.push(e)}visitTerminal(e){this.allProductions.push(e)}};function m1(t,e,r,n){let i=[];if(rt(e,(o,l)=>l.name===t.name?o+1:o,0)>1){let o=n.buildDuplicateRuleNameError({topLevelRule:t,grammarName:r});i.push({message:o,type:ct.DUPLICATE_RULE_NAME,ruleName:t.name})}return i}a(m1,"validateRuleDoesNotAlreadyExist");function IE(t,e,r){let n=[],i;return Pe(e,t)||(i=`Invalid rule override, rule: ->${t}<- cannot be overridden in the grammar: ->${r}<-as it is not defined in any of the super grammars `,n.push({message:i,type:ct.INVALID_RULE_OVERRIDE,ruleName:t})),n}a(IE,"validateRuleIsOverridden");function qm(t,e,r,n=[]){let i=[],s=mf(e.definition);if(ne(s))return[];{let o=t.name;Pe(s,t)&&i.push({message:r.buildLeftRecursionError({topLevelRule:t,leftRecursionPath:n}),type:ct.LEFT_RECURSION,ruleName:o});let u=pi(s,n.concat([t])),c=Gt(u,f=>{let p=ve(n);return p.push(f),qm(t,f,r,p)});return i.concat(c)}}a(qm,"validateNoLeftRecursion");function mf(t){let e=[];if(ne(t))return e;let r=ht(t);if(r instanceof pe)e.push(r.referencedRule);else if(r instanceof Ae||r instanceof de||r instanceof Ce||r instanceof be||r instanceof xe||r instanceof ae)e=e.concat(mf(r.definition));else if(r instanceof Re)e=lt(F(r.definition,s=>mf(s.definition)));else if(!(r instanceof re))throw Error("non exhaustive match");let n=oa(r),i=t.length>1;if(n&&i){let s=Xe(t);return e.concat(mf(s))}else return e}a(mf,"getFirstNoneTerminal");var Cl=class extends jt{static{a(this,"OrCollector")}constructor(){super(...arguments),this.alternations=[]}visitAlternation(e){this.alternations.push(e)}};function _E(t,e){let r=new Cl;t.accept(r);let n=r.alternations;return Gt(n,s=>{let o=En(s.definition);return Gt(o,(l,u)=>{let c=cf([l],[],An,1);return ne(c)?[{message:e.buildEmptyAlternationError({topLevelRule:t,alternation:s,emptyChoiceIdx:u}),type:ct.NONE_LAST_EMPTY_ALT,ruleName:t.name,occurrence:s.idx,alternative:u+1}]:[]})})}a(_E,"validateEmptyOrAlternative");function kE(t,e,r){let n=new Cl;t.accept(n);let i=n.alternations;return i=di(i,o=>o.ignoreAmbiguities===!0),Gt(i,o=>{let l=o.idx,u=o.maxLookahead||e,c=ks(l,t,u,o),f=y1(c,o,t,r),p=g1(c,o,t,r);return f.concat(p)})}a(kE,"validateAmbiguousAlternationAlternatives");var Km=class extends jt{static{a(this,"RepetitionCollector")}constructor(){super(...arguments),this.allProductions=[]}visitRepetitionWithSeparator(e){this.allProductions.push(e)}visitRepetitionMandatory(e){this.allProductions.push(e)}visitRepetitionMandatoryWithSeparator(e){this.allProductions.push(e)}visitRepetition(e){this.allProductions.push(e)}};function h1(t,e){let r=new Cl;t.accept(r);let n=r.alternations;return Gt(n,s=>s.definition.length>255?[{message:e.buildTooManyAlternativesError({topLevelRule:t,alternation:s}),type:ct.TOO_MANY_ALTS,ruleName:t.name,occurrence:s.idx}]:[])}a(h1,"validateTooManyAlts");function PE(t,e,r){let n=[];return G(t,i=>{let s=new Km;i.accept(s);let o=s.allProductions;G(o,l=>{let u=Al(l),c=l.maxLookahead||e,f=l.idx,m=Ps(f,i,u,c)[0];if(ne(lt(m))){let y=r.buildEmptyRepetitionError({topLevelRule:i,repetition:l});n.push({message:y,type:ct.NO_NON_EMPTY_LOOKAHEAD,ruleName:i.name})}})}),n}a(PE,"validateSomeNonEmptyLookaheadPath");function y1(t,e,r,n){let i=[],s=rt(t,(l,u,c)=>(e.definition[c].ignoreAmbiguities===!0||G(u,f=>{let p=[c];G(t,(m,y)=>{c!==y&&df(m,f)&&e.definition[y].ignoreAmbiguities!==!0&&p.push(y)}),p.length>1&&!df(i,f)&&(i.push(f),l.push({alts:p,path:f}))}),l),[]);return F(s,l=>{let u=F(l.alts,f=>f+1);return{message:n.buildAlternationAmbiguityError({topLevelRule:r,alternation:e,ambiguityIndices:u,prefixPath:l.path}),type:ct.AMBIGUOUS_ALTS,ruleName:r.name,occurrence:e.idx,alternatives:l.alts}})}a(y1,"checkAlternativesAmbiguities");function g1(t,e,r,n){let i=rt(t,(o,l,u)=>{let c=F(l,f=>({idx:u,path:f}));return o.concat(c)},[]);return Qr(Gt(i,o=>{if(e.definition[o.idx].ignoreAmbiguities===!0)return[];let u=o.idx,c=o.path,f=St(i,m=>e.definition[m.idx].ignoreAmbiguities!==!0&&m.idx{let y=[m.idx+1,u+1],A=e.idx===0?"":e.idx;return{message:n.buildAlternationPrefixAmbiguityError({topLevelRule:r,alternation:e,ambiguityIndices:y,prefixPath:m.path}),type:ct.AMBIGUOUS_PREFIX_ALTS,ruleName:r.name,occurrence:A,alternatives:y}})}))}a(g1,"checkPrefixAlternativesAmbiguities");function T1(t,e,r){let n=[],i=F(e,s=>s.name);return G(t,s=>{let o=s.name;if(Pe(i,o)){let l=r.buildNamespaceConflictError(s);n.push({message:l,type:ct.CONFLICT_TOKENS_RULES_NAMESPACE,ruleName:o})}}),n}a(T1,"checkTerminalAndNoneTerminalsNameSpace");function OE(t){let e=Es(t,{errMsgProvider:gE}),r={};return G(t.rules,n=>{r[n.name]=n}),TE(r,e.errMsgProvider)}a(OE,"resolveGrammar");function LE(t){return t=Es(t,{errMsgProvider:Pr}),wE(t.rules,t.tokenTypes,t.errMsgProvider,t.grammarName)}a(LE,"validateGrammar");var ME="MismatchedTokenException",DE="NoViableAltException",FE="EarlyExitException",GE="NotAllInputParsedException",UE=[ME,DE,FE,GE];Object.freeze(UE);function hi(t){return Pe(UE,t.name)}a(hi,"isRecognitionException");var Os=class extends Error{static{a(this,"RecognitionException")}constructor(e,r){super(e),this.token=r,this.resyncedTokens=[],Object.setPrototypeOf(this,new.target.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}},ca=class extends Os{static{a(this,"MismatchedTokenException")}constructor(e,r,n){super(e,r),this.previousToken=n,this.name=ME}},bl=class extends Os{static{a(this,"NoViableAltException")}constructor(e,r,n){super(e,r),this.previousToken=n,this.name=DE}},Sl=class extends Os{static{a(this,"NotAllInputParsedException")}constructor(e,r){super(e,r),this.name=GE}},wl=class extends Os{static{a(this,"EarlyExitException")}constructor(e,r,n){super(e,r),this.previousToken=n,this.name=FE}};var Wm={},Hm="InRuleRecoveryException",Vm=class extends Error{static{a(this,"InRuleRecoveryException")}constructor(e){super(e),this.name=Hm}},hf=class{static{a(this,"Recoverable")}initRecoverable(e){this.firstAfterRepMap={},this.resyncFollows={},this.recoveryEnabled=U(e,"recoveryEnabled")?e.recoveryEnabled:zt.recoveryEnabled,this.recoveryEnabled&&(this.attemptInRepetitionRecovery=x1)}getTokenToInsert(e){let r=Sn(e,"",NaN,NaN,NaN,NaN,NaN,NaN);return r.isInsertedInRecovery=!0,r}canTokenTypeBeInsertedInRecovery(e){return!0}canTokenTypeBeDeletedInRecovery(e){return!0}tryInRepetitionRecovery(e,r,n,i){let s=this.findReSyncTokenType(),o=this.exportLexerState(),l=[],u=!1,c=this.LA(1),f=this.LA(1),p=a(()=>{let m=this.LA(0),y=this.errorMessageProvider.buildMismatchTokenMessage({expected:i,actual:c,previous:m,ruleName:this.getCurrRuleFullName()}),A=new ca(y,c,this.LA(0));A.resyncedTokens=En(l),this.SAVE_ERROR(A)},"generateErrorMessage");for(;!u;)if(this.tokenMatcher(f,i)){p();return}else if(n.call(this)){p(),e.apply(this,r);return}else this.tokenMatcher(f,s)?u=!0:(f=this.SKIP_TOKEN(),this.addToResyncTokens(f,l));this.importLexerState(o)}shouldInRepetitionRecoveryBeTried(e,r,n){return!(n===!1||this.tokenMatcher(this.LA(1),e)||this.isBackTracking()||this.canPerformInRuleRecovery(e,this.getFollowsForInRuleRecovery(e,r)))}getFollowsForInRuleRecovery(e,r){let n=this.getCurrentGrammarPath(e,r);return this.getNextPossibleTokenTypes(n)}tryInRuleRecovery(e,r){if(this.canRecoverWithSingleTokenInsertion(e,r))return this.getTokenToInsert(e);if(this.canRecoverWithSingleTokenDeletion(e)){let n=this.SKIP_TOKEN();return this.consumeToken(),n}throw new Vm("sad sad panda")}canPerformInRuleRecovery(e,r){return this.canRecoverWithSingleTokenInsertion(e,r)||this.canRecoverWithSingleTokenDeletion(e)}canRecoverWithSingleTokenInsertion(e,r){if(!this.canTokenTypeBeInsertedInRecovery(e)||ne(r))return!1;let n=this.LA(1);return en(r,s=>this.tokenMatcher(n,s))!==void 0}canRecoverWithSingleTokenDeletion(e){return this.canTokenTypeBeDeletedInRecovery(e)?this.tokenMatcher(this.LA(2),e):!1}isInCurrentRuleReSyncSet(e){let r=this.getCurrFollowKey(),n=this.getFollowSetFromFollowKey(r);return Pe(n,e)}findReSyncTokenType(){let e=this.flattenFollowSet(),r=this.LA(1),n=2;for(;;){let i=en(e,s=>$l(r,s));if(i!==void 0)return i;r=this.LA(n),n++}}getCurrFollowKey(){if(this.RULE_STACK.length===1)return Wm;let e=this.getLastExplicitRuleShortName(),r=this.getLastExplicitRuleOccurrenceIndex(),n=this.getPreviousExplicitRuleShortName();return{ruleName:this.shortRuleNameToFullName(e),idxInCallingRule:r,inRule:this.shortRuleNameToFullName(n)}}buildFullFollowKeyStack(){let e=this.RULE_STACK,r=this.RULE_OCCURRENCE_STACK;return F(e,(n,i)=>i===0?Wm:{ruleName:this.shortRuleNameToFullName(n),idxInCallingRule:r[i],inRule:this.shortRuleNameToFullName(e[i-1])})}flattenFollowSet(){let e=F(this.buildFullFollowKeyStack(),r=>this.getFollowSetFromFollowKey(r));return lt(e)}getFollowSetFromFollowKey(e){if(e===Wm)return[sr];let r=e.ruleName+e.idxInCallingRule+Qc+e.inRule;return this.resyncFollows[r]}addToResyncTokens(e,r){return this.tokenMatcher(e,sr)||r.push(e),r}reSyncTo(e){let r=[],n=this.LA(1);for(;this.tokenMatcher(n,e)===!1;)n=this.SKIP_TOKEN(),this.addToResyncTokens(n,r);return En(r)}attemptInRepetitionRecovery(e,r,n,i,s,o,l){}getCurrentGrammarPath(e,r){let n=this.getHumanReadableRuleStack(),i=ve(this.RULE_OCCURRENCE_STACK);return{ruleStack:n,occurrenceStack:i,lastTok:e,lastTokOccurrence:r}}getHumanReadableRuleStack(){return F(this.RULE_STACK,e=>this.shortRuleNameToFullName(e))}};function x1(t,e,r,n,i,s,o){let l=this.getKeyForAutomaticLookahead(n,i),u=this.firstAfterRepMap[l];if(u===void 0){let m=this.getCurrRuleFullName(),y=this.getGAstProductions()[m];u=new s(y,i).startWalking(),this.firstAfterRepMap[l]=u}let c=u.token,f=u.occurrence,p=u.isEndOfRule;this.RULE_STACK.length===1&&p&&c===void 0&&(c=sr,f=1),!(c===void 0||f===void 0)&&this.shouldInRepetitionRecoveryBeTried(c,f,o)&&this.tryInRepetitionRecovery(t,e,r,c)}a(x1,"attemptInRepetitionRecovery");function yf(t,e,r){return r|e|t}a(yf,"getKeyForAutomaticLookahead");var Nn=class{static{a(this,"LLkLookaheadStrategy")}constructor(e){var r;this.maxLookahead=(r=e?.maxLookahead)!==null&&r!==void 0?r:zt.maxLookahead}validate(e){let r=this.validateNoLeftRecursion(e.rules);if(ne(r)){let n=this.validateEmptyOrAlternatives(e.rules),i=this.validateAmbiguousAlternationAlternatives(e.rules,this.maxLookahead),s=this.validateSomeNonEmptyLookaheadPath(e.rules,this.maxLookahead);return[...r,...n,...i,...s]}return r}validateNoLeftRecursion(e){return Gt(e,r=>qm(r,r,Pr))}validateEmptyOrAlternatives(e){return Gt(e,r=>_E(r,Pr))}validateAmbiguousAlternationAlternatives(e,r){return Gt(e,n=>kE(n,r,Pr))}validateSomeNonEmptyLookaheadPath(e,r){return PE(e,r,Pr)}buildLookaheadForAlternation(e){return RE(e.prodOccurrence,e.rule,e.maxLookahead,e.hasPredicates,e.dynamicTokensEnabled,EE)}buildLookaheadForOptional(e){return $E(e.prodOccurrence,e.rule,e.maxLookahead,e.dynamicTokensEnabled,Al(e.prodType),vE)}};var Tf=class{static{a(this,"LooksAhead")}initLooksAhead(e){this.dynamicTokensEnabled=U(e,"dynamicTokensEnabled")?e.dynamicTokensEnabled:zt.dynamicTokensEnabled,this.maxLookahead=U(e,"maxLookahead")?e.maxLookahead:zt.maxLookahead,this.lookaheadStrategy=U(e,"lookaheadStrategy")?e.lookaheadStrategy:new Nn({maxLookahead:this.maxLookahead}),this.lookAheadFuncsCache=new Map}preComputeLookaheadFunctions(e){G(e,r=>{this.TRACE_INIT(`${r.name} Rule Lookahead`,()=>{let{alternation:n,repetition:i,option:s,repetitionMandatory:o,repetitionMandatoryWithSeparator:l,repetitionWithSeparator:u}=R1(r);G(n,c=>{let f=c.idx===0?"":c.idx;this.TRACE_INIT(`${Jt(c)}${f}`,()=>{let p=this.lookaheadStrategy.buildLookaheadForAlternation({prodOccurrence:c.idx,rule:r,maxLookahead:c.maxLookahead||this.maxLookahead,hasPredicates:c.hasPredicates,dynamicTokensEnabled:this.dynamicTokensEnabled}),m=yf(this.fullRuleNameToShort[r.name],256,c.idx);this.setLaFuncCache(m,p)})}),G(i,c=>{this.computeLookaheadFunc(r,c.idx,768,"Repetition",c.maxLookahead,Jt(c))}),G(s,c=>{this.computeLookaheadFunc(r,c.idx,512,"Option",c.maxLookahead,Jt(c))}),G(o,c=>{this.computeLookaheadFunc(r,c.idx,1024,"RepetitionMandatory",c.maxLookahead,Jt(c))}),G(l,c=>{this.computeLookaheadFunc(r,c.idx,1536,"RepetitionMandatoryWithSeparator",c.maxLookahead,Jt(c))}),G(u,c=>{this.computeLookaheadFunc(r,c.idx,1280,"RepetitionWithSeparator",c.maxLookahead,Jt(c))})})})}computeLookaheadFunc(e,r,n,i,s,o){this.TRACE_INIT(`${o}${r===0?"":r}`,()=>{let l=this.lookaheadStrategy.buildLookaheadForOptional({prodOccurrence:r,rule:e,maxLookahead:s||this.maxLookahead,dynamicTokensEnabled:this.dynamicTokensEnabled,prodType:i}),u=yf(this.fullRuleNameToShort[e.name],n,r);this.setLaFuncCache(u,l)})}getKeyForAutomaticLookahead(e,r){let n=this.getLastExplicitRuleShortName();return yf(n,e,r)}getLaFuncFromCache(e){return this.lookAheadFuncsCache.get(e)}setLaFuncCache(e,r){this.lookAheadFuncsCache.set(e,r)}},Ym=class extends jt{static{a(this,"DslMethodsCollectorVisitor")}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)}},gf=new Ym;function R1(t){gf.reset(),t.accept(gf);let e=gf.dslMethods;return gf.reset(),e}a(R1,"collectMethods");function Zm(t,e){isNaN(t.startOffset)===!0?(t.startOffset=e.startOffset,t.endOffset=e.endOffset):t.endOffseto.msg);throw Error(`Errors Detected in CST Visitor <${this.constructor.name}>: ${s.join(` `).replace(/\n/g,` `)}`)}},"validateVisitor")};return r.prototype=n,r.prototype.constructor=r,r._RULE_NAMES=e,r}a(BE,"createBaseSemanticVisitorConstructor");function KE(t,e,r){let n=a(function(){},"derivedConstructor");eh(n,t+"BaseSemanticsWithDefaults");let i=Object.create(r.prototype);return G(e,s=>{i[s]=E1}),n.prototype=i,n.prototype.constructor=n,n}a(KE,"createBaseVisitorConstructorWithDefaults");var th;(function(t){t[t.REDUNDANT_METHOD=0]="REDUNDANT_METHOD",t[t.MISSING_METHOD=1]="MISSING_METHOD"})(th||(th={}));function v1(t,e){return A1(t,e)}a(v1,"validateVisitor");function A1(t,e){let r=St(e,i=>Ft(t[i])===!1),n=F(r,i=>({msg:`Missing visitor method: <${i}> on ${t.constructor.name} CST Visitor.`,type:th.MISSING_METHOD,methodName:i}));return Qr(n)}a(A1,"validateMissingCstMethods");var Ef=class{static{a(this,"TreeBuilder")}initTreeBuilder(e){if(this.CST_STACK=[],this.outputCst=e.outputCst,this.nodeLocationTracking=U(e,"nodeLocationTracking")?e.nodeLocationTracking:zt.nodeLocationTracking,!this.outputCst)this.cstInvocationStateUpdate=ze,this.cstFinallyStateUpdate=ze,this.cstPostTerminal=ze,this.cstPostNonTerminal=ze,this.cstPostRule=ze;else if(/full/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=Qm,this.setNodeLocationFromNode=Qm,this.cstPostRule=ze,this.setInitialNodeLocation=this.setInitialNodeLocationFullRecovery):(this.setNodeLocationFromToken=ze,this.setNodeLocationFromNode=ze,this.cstPostRule=this.cstPostRuleFull,this.setInitialNodeLocation=this.setInitialNodeLocationFullRegular);else if(/onlyOffset/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=Zm,this.setNodeLocationFromNode=Zm,this.cstPostRule=ze,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRecovery):(this.setNodeLocationFromToken=ze,this.setNodeLocationFromNode=ze,this.cstPostRule=this.cstPostRuleOnlyOffset,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRegular);else if(/none/i.test(this.nodeLocationTracking))this.setNodeLocationFromToken=ze,this.setNodeLocationFromNode=ze,this.cstPostRule=ze,this.setInitialNodeLocation=ze;else throw Error(`Invalid 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 r=this.LA(1);e.location={startOffset:r.startOffset,startLine:r.startLine,startColumn:r.startColumn,endOffset:NaN,endLine:NaN,endColumn:NaN}}cstInvocationStateUpdate(e){let r={name:e,children:Object.create(null)};this.setInitialNodeLocation(r),this.CST_STACK.push(r)}cstFinallyStateUpdate(){this.CST_STACK.pop()}cstPostRuleFull(e){let r=this.LA(0),n=e.location;n.startOffset<=r.startOffset?(n.endOffset=r.endOffset,n.endLine=r.endLine,n.endColumn=r.endColumn):(n.startOffset=NaN,n.startLine=NaN,n.startColumn=NaN)}cstPostRuleOnlyOffset(e){let r=this.LA(0),n=e.location;n.startOffset<=r.startOffset?n.endOffset=r.endOffset:n.startOffset=NaN}cstPostTerminal(e,r){let n=this.CST_STACK[this.CST_STACK.length-1];jE(n,r,e),this.setNodeLocationFromToken(n.location,r)}cstPostNonTerminal(e,r){let n=this.CST_STACK[this.CST_STACK.length-1];zE(n,r,e),this.setNodeLocationFromNode(n.location,e.location)}getBaseCstVisitorConstructor(){if(wt(this.baseCstVisitorConstructor)){let e=BE(this.className,$e(this.gastProductionsCache));return this.baseCstVisitorConstructor=e,e}return this.baseCstVisitorConstructor}getBaseCstVisitorConstructorWithDefaults(){if(wt(this.baseCstVisitorWithDefaultsConstructor)){let e=KE(this.className,$e(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]}};var vf=class{static{a(this,"LexerAdapter")}initLexerAdapter(){this.tokVector=[],this.tokVectorLength=0,this.currIdx=-1}set input(e){if(this.selfAnalysisDone!==!0)throw Error("Missing 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)):Ls}LA(e){let r=this.currIdx+e;return r<0||this.tokVectorLength<=r?Ls:this.tokVector[r]}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()}};var Af=class{static{a(this,"RecognizerApi")}ACTION(e){return e.call(this)}consume(e,r,n){return this.consumeInternal(r,e,n)}subrule(e,r,n){return this.subruleInternal(r,e,n)}option(e,r){return this.optionInternal(r,e)}or(e,r){return this.orInternal(r,e)}many(e,r){return this.manyInternal(e,r)}atLeastOne(e,r){return this.atLeastOneInternal(e,r)}CONSUME(e,r){return this.consumeInternal(e,0,r)}CONSUME1(e,r){return this.consumeInternal(e,1,r)}CONSUME2(e,r){return this.consumeInternal(e,2,r)}CONSUME3(e,r){return this.consumeInternal(e,3,r)}CONSUME4(e,r){return this.consumeInternal(e,4,r)}CONSUME5(e,r){return this.consumeInternal(e,5,r)}CONSUME6(e,r){return this.consumeInternal(e,6,r)}CONSUME7(e,r){return this.consumeInternal(e,7,r)}CONSUME8(e,r){return this.consumeInternal(e,8,r)}CONSUME9(e,r){return this.consumeInternal(e,9,r)}SUBRULE(e,r){return this.subruleInternal(e,0,r)}SUBRULE1(e,r){return this.subruleInternal(e,1,r)}SUBRULE2(e,r){return this.subruleInternal(e,2,r)}SUBRULE3(e,r){return this.subruleInternal(e,3,r)}SUBRULE4(e,r){return this.subruleInternal(e,4,r)}SUBRULE5(e,r){return this.subruleInternal(e,5,r)}SUBRULE6(e,r){return this.subruleInternal(e,6,r)}SUBRULE7(e,r){return this.subruleInternal(e,7,r)}SUBRULE8(e,r){return this.subruleInternal(e,8,r)}SUBRULE9(e,r){return this.subruleInternal(e,9,r)}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,r,n=Ms){if(Pe(this.definedRulesNames,e)){let o={message:Pr.buildDuplicateRuleNameError({topLevelRule:e,grammarName:this.className}),type:ct.DUPLICATE_RULE_NAME,ruleName:e};this.definitionErrors.push(o)}this.definedRulesNames.push(e);let i=this.defineRule(e,r,n);return this[e]=i,i}OVERRIDE_RULE(e,r,n=Ms){let i=IE(e,this.definedRulesNames,this.className);this.definitionErrors=this.definitionErrors.concat(i);let s=this.defineRule(e,r,n);return this[e]=s,s}BACKTRACK(e,r){return function(){this.isBackTrackingStack.push(1);let n=this.saveRecogState();try{return e.apply(this,r),!0}catch(i){if(hi(i))return!1;throw i}finally{this.reloadRecogState(n),this.isBackTrackingStack.pop()}}}getGAstProductions(){return this.gastProductionsCache}getSerializedGastProductions(){return Zc(ye(this.gastProductionsCache))}};var Cf=class{static{a(this,"RecognizerEngine")}initRecognizerEngine(e,r){if(this.className=this.constructor.name,this.shortRuleNameToFull={},this.fullRuleNameToShort={},this.ruleShortNameIdx=256,this.tokenMatcher=Ns,this.subruleIdx=0,this.definedRulesNames=[],this.tokensMap={},this.isBackTrackingStack=[],this.RULE_STACK=[],this.RULE_OCCURRENCE_STACK=[],this.gastProductionsCache={},U(r,"serializedGrammar"))throw Error(`The Parser's configuration can no longer contain a property. See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_6-0-0 For Further details.`);if(z(e)){if(ne(e))throw Error(`A Token Vocabulary cannot be empty. Note that the first argument for the parser constructor 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. See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_4-0-0 For Further details.`)}if(z(e))this.tokensMap=rt(e,(s,o)=>(s[o.name]=o,s),{});else if(U(e,"modes")&&bt(lt(ye(e.modes)),lE)){let s=lt(ye(e.modes)),o=vs(s);this.tokensMap=rt(o,(l,u)=>(l[u.name]=u,l),{})}else if(je(e))this.tokensMap=ve(e);else throw new Error(" argument must be An Array of Token constructors, A dictionary of Token constructors or an IMultiModeLexerDefinition");this.tokensMap.EOF=sr;let n=U(e,"modes")?lt(ye(e.modes)):ye(e),i=bt(n,s=>ne(s.categoryMatches));this.tokenMatcher=i?Ns:An,Cn(ye(this.tokensMap))}defineRule(e,r,n){if(this.selfAnalysisDone)throw Error(`Grammar rule <${e}> may not be defined after the 'performSelfAnalysis' method has been called' Make sure that all grammar rule definitions are done before 'performSelfAnalysis' is called.`);let i=U(n,"resyncEnabled")?n.resyncEnabled:Ms.resyncEnabled,s=U(n,"recoveryValueFunc")?n.recoveryValueFunc:Ms.recoveryValueFunc,o=this.ruleShortNameIdx<<12;this.ruleShortNameIdx++,this.shortRuleNameToFull[o]=e,this.fullRuleNameToShort[e]=o;let l;return this.outputCst===!0?l=a(function(...f){try{this.ruleInvocationStateUpdate(o,e,this.subruleIdx),r.apply(this,f);let p=this.CST_STACK[this.CST_STACK.length-1];return this.cstPostRule(p),p}catch(p){return this.invokeRuleCatch(p,i,s)}finally{this.ruleFinallyStateUpdate()}},"invokeRuleWithTry"):l=a(function(...f){try{return this.ruleInvocationStateUpdate(o,e,this.subruleIdx),r.apply(this,f)}catch(p){return this.invokeRuleCatch(p,i,s)}finally{this.ruleFinallyStateUpdate()}},"invokeRuleWithTryCst"),Object.assign(l,{ruleName:e,originalGrammarAction:r})}invokeRuleCatch(e,r,n){let i=this.RULE_STACK.length===1,s=r&&!this.isBackTracking()&&this.recoveryEnabled;if(hi(e)){let o=e;if(s){let l=this.findReSyncTokenType();if(this.isInCurrentRuleReSyncSet(l))if(o.resyncedTokens=this.reSyncTo(l),this.outputCst){let u=this.CST_STACK[this.CST_STACK.length-1];return u.recoveredNode=!0,u}else return n(e);else{if(this.outputCst){let u=this.CST_STACK[this.CST_STACK.length-1];u.recoveredNode=!0,o.partialCstResult=u}throw o}}else{if(i)return this.moveToTerminatedState(),n(e);throw o}}else throw e}optionInternal(e,r){let n=this.getKeyForAutomaticLookahead(512,r);return this.optionInternalLogic(e,r,n)}optionInternalLogic(e,r,n){let i=this.getLaFuncFromCache(n),s;if(typeof e!="function"){s=e.DEF;let o=e.GATE;if(o!==void 0){let l=i;i=a(()=>o.call(this)&&l.call(this),"lookAheadFunc")}}else s=e;if(i.call(this)===!0)return s.call(this)}atLeastOneInternal(e,r){let n=this.getKeyForAutomaticLookahead(1024,e);return this.atLeastOneInternalLogic(e,r,n)}atLeastOneInternalLogic(e,r,n){let i=this.getLaFuncFromCache(n),s;if(typeof r!="function"){s=r.DEF;let o=r.GATE;if(o!==void 0){let l=i;i=a(()=>o.call(this)&&l.call(this),"lookAheadFunc")}}else s=r;if(i.call(this)===!0){let o=this.doSingleRepetition(s);for(;i.call(this)===!0&&o===!0;)o=this.doSingleRepetition(s)}else throw this.raiseEarlyExitException(e,Me.REPETITION_MANDATORY,r.ERR_MSG);this.attemptInRepetitionRecovery(this.atLeastOneInternal,[e,r],i,1024,e,lf)}atLeastOneSepFirstInternal(e,r){let n=this.getKeyForAutomaticLookahead(1536,e);this.atLeastOneSepFirstInternalLogic(e,r,n)}atLeastOneSepFirstInternalLogic(e,r,n){let i=r.DEF,s=r.SEP;if(this.getLaFuncFromCache(n).call(this)===!0){i.call(this);let l=a(()=>this.tokenMatcher(this.LA(1),s),"separatorLookAheadFunc");for(;this.tokenMatcher(this.LA(1),s)===!0;)this.CONSUME(s),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,s,l,i,vl],l,1536,e,vl)}else throw this.raiseEarlyExitException(e,Me.REPETITION_MANDATORY_WITH_SEPARATOR,r.ERR_MSG)}manyInternal(e,r){let n=this.getKeyForAutomaticLookahead(768,e);return this.manyInternalLogic(e,r,n)}manyInternalLogic(e,r,n){let i=this.getLaFuncFromCache(n),s;if(typeof r!="function"){s=r.DEF;let l=r.GATE;if(l!==void 0){let u=i;i=a(()=>l.call(this)&&u.call(this),"lookaheadFunction")}}else s=r;let o=!0;for(;i.call(this)===!0&&o===!0;)o=this.doSingleRepetition(s);this.attemptInRepetitionRecovery(this.manyInternal,[e,r],i,768,e,of,o)}manySepFirstInternal(e,r){let n=this.getKeyForAutomaticLookahead(1280,e);this.manySepFirstInternalLogic(e,r,n)}manySepFirstInternalLogic(e,r,n){let i=r.DEF,s=r.SEP;if(this.getLaFuncFromCache(n).call(this)===!0){i.call(this);let l=a(()=>this.tokenMatcher(this.LA(1),s),"separatorLookAheadFunc");for(;this.tokenMatcher(this.LA(1),s)===!0;)this.CONSUME(s),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,s,l,i,El],l,1280,e,El)}}repetitionSepSecondInternal(e,r,n,i,s){for(;n();)this.CONSUME(r),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,r,n,i,s],n,1536,e,s)}doSingleRepetition(e){let r=this.getLexerPosition();return e.call(this),this.getLexerPosition()>r}orInternal(e,r){let n=this.getKeyForAutomaticLookahead(256,r),i=z(e)?e:e.DEF,o=this.getLaFuncFromCache(n).call(this,i);if(o!==void 0)return i[o].ALT.call(this);this.raiseNoAltException(r,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),r=this.errorMessageProvider.buildNotAllInputParsedMessage({firstRedundant:e,ruleName:this.getCurrRuleFullName()});this.SAVE_ERROR(new Sl(r,e))}}subruleInternal(e,r,n){let i;try{let s=n!==void 0?n.ARGS:void 0;return this.subruleIdx=r,i=e.apply(this,s),this.cstPostNonTerminal(i,n!==void 0&&n.LABEL!==void 0?n.LABEL:e.ruleName),i}catch(s){throw this.subruleInternalError(s,n,e.ruleName)}}subruleInternalError(e,r,n){throw hi(e)&&e.partialCstResult!==void 0&&(this.cstPostNonTerminal(e.partialCstResult,r!==void 0&&r.LABEL!==void 0?r.LABEL:n),delete e.partialCstResult),e}consumeInternal(e,r,n){let i;try{let s=this.LA(1);this.tokenMatcher(s,e)===!0?(this.consumeToken(),i=s):this.consumeInternalError(e,s,n)}catch(s){i=this.consumeInternalRecovery(e,r,s)}return this.cstPostTerminal(n!==void 0&&n.LABEL!==void 0?n.LABEL:e.name,i),i}consumeInternalError(e,r,n){let i,s=this.LA(0);throw n!==void 0&&n.ERR_MSG?i=n.ERR_MSG:i=this.errorMessageProvider.buildMismatchTokenMessage({expected:e,actual:r,previous:s,ruleName:this.getCurrRuleFullName()}),this.SAVE_ERROR(new ca(i,r,s))}consumeInternalRecovery(e,r,n){if(this.recoveryEnabled&&n.name==="MismatchedTokenException"&&!this.isBackTracking()){let i=this.getFollowsForInRuleRecovery(e,r);try{return this.tryInRuleRecovery(e,i)}catch(s){throw s.name===Hm?n:s}}else throw n}saveRecogState(){let e=this.errors,r=ve(this.RULE_STACK);return{errors:e,lexerState:this.exportLexerState(),RULE_STACK:r,CST_STACK:this.CST_STACK}}reloadRecogState(e){this.errors=e.errors,this.importLexerState(e.lexerState),this.RULE_STACK=e.RULE_STACK}ruleInvocationStateUpdate(e,r,n){this.RULE_OCCURRENCE_STACK.push(n),this.RULE_STACK.push(e),this.cstInvocationStateUpdate(r)}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),sr)}reset(){this.resetLexerState(),this.subruleIdx=0,this.isBackTrackingStack=[],this.errors=[],this.RULE_STACK=[],this.CST_STACK=[],this.RULE_OCCURRENCE_STACK=[]}};var bf=class{static{a(this,"ErrorHandler")}initErrorHandler(e){this._errors=[],this.errorMessageProvider=U(e,"errorMessageProvider")?e.errorMessageProvider:zt.errorMessageProvider}SAVE_ERROR(e){if(hi(e))return e.context={ruleStack:this.getHumanReadableRuleStack(),ruleOccurrenceStack:ve(this.RULE_OCCURRENCE_STACK)},this._errors.push(e),e;throw Error("Trying to save an Error which is not a RecognitionException")}get errors(){return ve(this._errors)}set errors(e){this._errors=e}raiseEarlyExitException(e,r,n){let i=this.getCurrRuleFullName(),s=this.getGAstProductions()[i],l=Ps(e,s,r,this.maxLookahead)[0],u=[];for(let f=1;f<=this.maxLookahead;f++)u.push(this.LA(f));let c=this.errorMessageProvider.buildEarlyExitMessage({expectedIterationPaths:l,actual:u,previous:this.LA(0),customUserDescription:n,ruleName:i});throw this.SAVE_ERROR(new wl(c,this.LA(1),this.LA(0)))}raiseNoAltException(e,r){let n=this.getCurrRuleFullName(),i=this.getGAstProductions()[n],s=ks(e,i,this.maxLookahead),o=[];for(let c=1;c<=this.maxLookahead;c++)o.push(this.LA(c));let l=this.LA(0),u=this.errorMessageProvider.buildNoViableAltMessage({expectedPathsPerAlt:s,actual:o,previous:l,customUserDescription:r,ruleName:this.getCurrRuleFullName()});throw this.SAVE_ERROR(new bl(u,this.LA(1),l))}};var Sf=class{static{a(this,"ContentAssist")}initContentAssist(){}computeContentAssist(e,r){let n=this.gastProductionsCache[e];if(wt(n))throw Error(`Rule ->${e}<- does not exist in this grammar.`);return cf([n],r,this.tokenMatcher,this.maxLookahead)}getNextPossibleTokenTypes(e){let r=ht(e.ruleStack),i=this.getGAstProductions()[r];return new sf(i,e).startWalking()}};var If={description:"This Object indicates the Parser is during Recording Phase"};Object.freeze(If);var qE=!0,WE=Math.pow(2,8)-1,HE=mi({name:"RECORDING_PHASE_TOKEN",pattern:Le.NA});Cn([HE]);var YE=Sn(HE,`This IToken indicates the Parser is in Recording Phase See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,-1,-1,-1,-1,-1,-1);Object.freeze(YE);var b1={name:`This CSTNode indicates the Parser is in Recording Phase See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,children:{}},wf=class{static{a(this,"GastRecorder")}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 r=e>0?e:"";this[`CONSUME${r}`]=function(n,i){return this.consumeInternalRecord(n,e,i)},this[`SUBRULE${r}`]=function(n,i){return this.subruleInternalRecord(n,e,i)},this[`OPTION${r}`]=function(n){return this.optionInternalRecord(n,e)},this[`OR${r}`]=function(n){return this.orInternalRecord(n,e)},this[`MANY${r}`]=function(n){this.manyInternalRecord(e,n)},this[`MANY_SEP${r}`]=function(n){this.manySepFirstInternalRecord(e,n)},this[`AT_LEAST_ONE${r}`]=function(n){this.atLeastOneInternalRecord(e,n)},this[`AT_LEAST_ONE_SEP${r}`]=function(n){this.atLeastOneSepFirstInternalRecord(e,n)}}this.consume=function(e,r,n){return this.consumeInternalRecord(r,e,n)},this.subrule=function(e,r,n){return this.subruleInternalRecord(r,e,n)},this.option=function(e,r){return this.optionInternalRecord(r,e)},this.or=function(e,r){return this.orInternalRecord(r,e)},this.many=function(e,r){this.manyInternalRecord(e,r)},this.atLeastOne=function(e,r){this.atLeastOneInternalRecord(e,r)},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 r=0;r<10;r++){let n=r>0?r:"";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,r){return()=>!0}LA_RECORD(e){return Ls}topLevelRuleRecord(e,r){try{let n=new Ut({definition:[],name:e});return n.name=e,this.recordingProdStack.push(n),r.call(this),this.recordingProdStack.pop(),n}catch(n){if(n.KNOWN_RECORDER_ERROR!==!0)try{n.message=n.message+` This error was thrown during the "grammar recording phase" For more info see: https://chevrotain.io/docs/guide/internals.html#grammar-recording`}catch{throw n}throw n}}optionInternalRecord(e,r){return Il.call(this,de,e,r)}atLeastOneInternalRecord(e,r){Il.call(this,Ce,r,e)}atLeastOneSepFirstInternalRecord(e,r){Il.call(this,be,r,e,qE)}manyInternalRecord(e,r){Il.call(this,ae,r,e)}manySepFirstInternalRecord(e,r){Il.call(this,xe,r,e,qE)}orInternalRecord(e,r){return S1.call(this,e,r)}subruleInternalRecord(e,r,n){if(Nf(r),!e||U(e,"ruleName")===!1){let l=new Error(` argument is invalid expecting a Parser method reference but got: <${JSON.stringify(e)}> inside top level rule: <${this.recordingProdStack[0].name}>`);throw l.KNOWN_RECORDER_ERROR=!0,l}let i=kr(this.recordingProdStack),s=e.ruleName,o=new pe({idx:r,nonTerminalName:s,label:n?.LABEL,referencedRule:void 0});return i.definition.push(o),this.outputCst?b1:If}consumeInternalRecord(e,r,n){if(Nf(r),!Dm(e)){let o=new Error(` argument is invalid expecting a TokenType reference but got: <${JSON.stringify(e)}> inside top level rule: <${this.recordingProdStack[0].name}>`);throw o.KNOWN_RECORDER_ERROR=!0,o}let i=kr(this.recordingProdStack),s=new re({idx:r,terminalType:e,label:n?.LABEL});return i.definition.push(s),YE}};function Il(t,e,r,n=!1){Nf(r);let i=kr(this.recordingProdStack),s=Ft(e)?e:e.DEF,o=new t({definition:[],idx:r});return n&&(o.separator=e.SEP),U(e,"MAX_LOOKAHEAD")&&(o.maxLookahead=e.MAX_LOOKAHEAD),this.recordingProdStack.push(o),s.call(this),i.definition.push(o),this.recordingProdStack.pop(),If}a(Il,"recordProd");function S1(t,e){Nf(e);let r=kr(this.recordingProdStack),n=z(t)===!1,i=n===!1?t:t.DEF,s=new Re({definition:[],idx:e,ignoreAmbiguities:n&&t.IGNORE_AMBIGUITIES===!0});U(t,"MAX_LOOKAHEAD")&&(s.maxLookahead=t.MAX_LOOKAHEAD);let o=hl(i,l=>Ft(l.GATE));return s.hasPredicates=o,r.definition.push(s),G(i,l=>{let u=new Ae({definition:[]});s.definition.push(u),U(l,"IGNORE_AMBIGUITIES")?u.ignoreAmbiguities=l.IGNORE_AMBIGUITIES:U(l,"GATE")&&(u.ignoreAmbiguities=!0),this.recordingProdStack.push(u),l.ALT.call(this),this.recordingProdStack.pop()}),If}a(S1,"recordOrProd");function VE(t){return t===0?"":`${t}`}a(VE,"getIdxSuffix");function Nf(t){if(t<0||t>WE){let e=new Error(`Invalid DSL Method idx value: <${t}> Idx value must be a none negative value smaller than ${WE+1}`);throw e.KNOWN_RECORDER_ERROR=!0,e}}a(Nf,"assertMethodIdxIsValid");var _f=class{static{a(this,"PerformanceTracer")}initPerformanceTracer(e){if(U(e,"traceInitPerf")){let r=e.traceInitPerf,n=typeof r=="number";this.traceInitMaxIdent=n?r:1/0,this.traceInitPerf=n?r>0:r}else this.traceInitMaxIdent=0,this.traceInitPerf=zt.traceInitPerf;this.traceInitIndent=-1}TRACE_INIT(e,r){if(this.traceInitPerf===!0){this.traceInitIndent++;let n=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent <${e}>`);let{time:i,value:s}=gl(r),o=i>10?console.warn:console.log;return this.traceInitIndent time: ${i}ms`),this.traceInitIndent--,s}else return r()}};function XE(t,e){e.forEach(r=>{let n=r.prototype;Object.getOwnPropertyNames(n).forEach(i=>{if(i==="constructor")return;let s=Object.getOwnPropertyDescriptor(n,i);s&&(s.get||s.set)?Object.defineProperty(t.prototype,i,s):t.prototype[i]=r.prototype[i]})})}a(XE,"applyMixins");var Ls=Sn(sr,"",NaN,NaN,NaN,NaN,NaN,NaN);Object.freeze(Ls);var zt=Object.freeze({recoveryEnabled:!1,maxLookahead:3,dynamicTokensEnabled:!1,outputCst:!0,errorMessageProvider:wn,nodeLocationTracking:"none",traceInitPerf:!1,skipValidations:!1}),Ms=Object.freeze({recoveryValueFunc:a(()=>{},"recoveryValueFunc"),resyncEnabled:!0}),ct;(function(t){t[t.INVALID_RULE_NAME=0]="INVALID_RULE_NAME",t[t.DUPLICATE_RULE_NAME=1]="DUPLICATE_RULE_NAME",t[t.INVALID_RULE_OVERRIDE=2]="INVALID_RULE_OVERRIDE",t[t.DUPLICATE_PRODUCTIONS=3]="DUPLICATE_PRODUCTIONS",t[t.UNRESOLVED_SUBRULE_REF=4]="UNRESOLVED_SUBRULE_REF",t[t.LEFT_RECURSION=5]="LEFT_RECURSION",t[t.NONE_LAST_EMPTY_ALT=6]="NONE_LAST_EMPTY_ALT",t[t.AMBIGUOUS_ALTS=7]="AMBIGUOUS_ALTS",t[t.CONFLICT_TOKENS_RULES_NAMESPACE=8]="CONFLICT_TOKENS_RULES_NAMESPACE",t[t.INVALID_TOKEN_NAME=9]="INVALID_TOKEN_NAME",t[t.NO_NON_EMPTY_LOOKAHEAD=10]="NO_NON_EMPTY_LOOKAHEAD",t[t.AMBIGUOUS_PREFIX_ALTS=11]="AMBIGUOUS_PREFIX_ALTS",t[t.TOO_MANY_ALTS=12]="TOO_MANY_ALTS",t[t.CUSTOM_LOOKAHEAD_VALIDATION=13]="CUSTOM_LOOKAHEAD_VALIDATION"})(ct||(ct={}));function kf(t=void 0){return function(){return t}}a(kf,"EMPTY_ALT");var _l=class t{static{a(this,"Parser")}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 r=this.className;this.TRACE_INIT("toFastProps",()=>{Tl(this)}),this.TRACE_INIT("Grammar Recording",()=>{try{this.enableRecording(),G(this.definedRulesNames,i=>{let o=this[i].originalGrammarAction,l;this.TRACE_INIT(`${i} Rule`,()=>{l=this.topLevelRuleRecord(i,o)}),this.gastProductionsCache[i]=l})}finally{this.disableRecording()}});let n=[];if(this.TRACE_INIT("Grammar Resolving",()=>{n=OE({rules:ye(this.gastProductionsCache)}),this.definitionErrors=this.definitionErrors.concat(n)}),this.TRACE_INIT("Grammar Validations",()=>{if(ne(n)&&this.skipValidations===!1){let i=LE({rules:ye(this.gastProductionsCache),tokenTypes:ye(this.tokensMap),errMsgProvider:Pr,grammarName:r}),s=SE({lookaheadStrategy:this.lookaheadStrategy,rules:ye(this.gastProductionsCache),tokenTypes:ye(this.tokensMap),grammarName:r});this.definitionErrors=this.definitionErrors.concat(i,s)}}),ne(this.definitionErrors)&&(this.recoveryEnabled&&this.TRACE_INIT("computeAllProdsFollows",()=>{let i=z$(ye(this.gastProductionsCache));this.resyncFollows=i}),this.TRACE_INIT("ComputeLookaheadFunctions",()=>{var i,s;(s=(i=this.lookaheadStrategy).initialize)===null||s===void 0||s.call(i,{rules:ye(this.gastProductionsCache)}),this.preComputeLookaheadFunctions(ye(this.gastProductionsCache))})),!t.DEFER_DEFINITION_ERRORS_HANDLING&&!ne(this.definitionErrors))throw e=F(this.definitionErrors,i=>i.message),new Error(`Parser Definition Errors detected: ${e.join(` ------------------------------- `)}`)})}constructor(e,r){this.definitionErrors=[],this.selfAnalysisDone=!1;let n=this;if(n.initErrorHandler(r),n.initLexerAdapter(),n.initLooksAhead(r),n.initRecognizerEngine(e,r),n.initRecoverable(r),n.initTreeBuilder(r),n.initContentAssist(),n.initGastRecorder(r),n.initPerformanceTracer(r),U(r,"ignoredIssues"))throw new Error(`The IParserConfig property has been deprecated. Please use the flag on the relevant DSL method instead. See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#IGNORING_AMBIGUITIES For further details.`);this.skipValidations=U(r,"skipValidations")?r.skipValidations:zt.skipValidations}};_l.DEFER_DEFINITION_ERRORS_HANDLING=!1;XE(_l,[hf,Tf,Ef,vf,Cf,Af,bf,Sf,wf,_f]);var kl=class extends _l{static{a(this,"EmbeddedActionsParser")}constructor(e,r=zt){let n=ve(r);n.outputCst=!1,super(e,n)}};function N1(t,e){for(var r=-1,n=t==null?0:t.length,i=Array(n);++r-1}a(D1,"listCacheHas");var ev=D1;function F1(t,e){var r=this.__data__,n=yi(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this}a(F1,"listCacheSet");var tv=F1;function Ds(t){var e=-1,r=t==null?0:t.length;for(this.clear();++el))return!1;var c=s.get(t),f=s.get(e);if(c&&f)return c==e&&f==t;var p=-1,m=!0,y=r&JF?new Gf:void 0;for(s.set(t,e),s.set(e,t);++p-1&&t%1==0&&t-1&&t%1==0&&t<=FG}a(GG,"isLength");var Ks=GG;var UG="[object Arguments]",jG="[object Array]",zG="[object Boolean]",BG="[object Date]",KG="[object Error]",qG="[object Function]",WG="[object Map]",VG="[object Number]",HG="[object Object]",YG="[object RegExp]",XG="[object Set]",JG="[object String]",ZG="[object WeakMap]",QG="[object ArrayBuffer]",eU="[object DataView]",tU="[object Float32Array]",rU="[object Float64Array]",nU="[object Int8Array]",iU="[object Int16Array]",aU="[object Int32Array]",sU="[object Uint8Array]",oU="[object Uint8ClampedArray]",lU="[object Uint16Array]",uU="[object Uint32Array]",Ie={};Ie[tU]=Ie[rU]=Ie[nU]=Ie[iU]=Ie[aU]=Ie[sU]=Ie[oU]=Ie[lU]=Ie[uU]=!0;Ie[UG]=Ie[jG]=Ie[QG]=Ie[zG]=Ie[eU]=Ie[BG]=Ie[KG]=Ie[qG]=Ie[WG]=Ie[VG]=Ie[HG]=Ie[YG]=Ie[XG]=Ie[JG]=Ie[ZG]=!1;function cU(t){return Lr(t)&&Ks(t.length)&&!!Ie[Or(t)]}a(cU,"baseIsTypedArray");var zv=cU;function fU(t){return function(e){return t(e)}}a(fU,"baseUnary");var Bv=fU;var Kv=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Ol=Kv&&typeof module=="object"&&module&&!module.nodeType&&module,pU=Ol&&Ol.exports===Kv,oh=pU&&Lf.process,dU=(function(){try{var t=Ol&&Ol.require&&Ol.require("util").types;return t||oh&&oh.binding&&oh.binding("util")}catch{}})(),lh=dU;var qv=lh&&lh.isTypedArray,mU=qv?Bv(qv):zv,qs=mU;var hU=Object.prototype,yU=hU.hasOwnProperty;function gU(t,e){var r=he(t),n=!r&&Ri(t),i=!r&&!n&&pa(t),s=!r&&!n&&!i&&qs(t),o=r||n||i||s,l=o?Mv(t.length,String):[],u=l.length;for(var c in t)(e||yU.call(t,c))&&!(o&&(c=="length"||i&&(c=="offset"||c=="parent")||s&&(c=="buffer"||c=="byteLength"||c=="byteOffset")||Kf(c,u)))&&l.push(c);return l}a(gU,"arrayLikeKeys");var Wv=gU;var TU=Object.prototype;function xU(t){var e=t&&t.constructor,r=typeof e=="function"&&e.prototype||TU;return t===r}a(xU,"isPrototype");var qf=xU;function RU(t,e){return function(r){return t(e(r))}}a(RU,"overArg");var Vv=RU;var $U=Vv(Object.keys,Object),Hv=$U;var EU=Object.prototype,vU=EU.hasOwnProperty;function AU(t){if(!qf(t))return Hv(t);var e=[];for(var r in Object(t))vU.call(t,r)&&r!="constructor"&&e.push(r);return e}a(AU,"baseKeys");var Wf=AU;function CU(t){return t!=null&&Ks(t.length)&&!Mf(t)}a(CU,"isArrayLike");var $i=CU;function bU(t){return $i(t)?Wv(t):Wf(t)}a(bU,"keys");var Ws=bU;function SU(t){return kv(t,Ws,Lv)}a(SU,"getAllKeys");var uh=SU;var wU=1,NU=Object.prototype,IU=NU.hasOwnProperty;function _U(t,e,r,n,i,s){var o=r&wU,l=uh(t),u=l.length,c=uh(e),f=c.length;if(u!=f&&!o)return!1;for(var p=u;p--;){var m=l[p];if(!(o?m in e:IU.call(e,m)))return!1}var y=s.get(t),A=s.get(e);if(y&&A)return y==e&&A==t;var C=!0;s.set(t,e),s.set(e,t);for(var _=o;++pMA(t,e,o));return Zs(t,e,n,r,...i)}a(Wj,"alternation");function Vj(t,e,r){let n=gt(t,e,r,{type:Si});wi(t,n);let i=Zs(t,e,n,r,ha(t,e,r));return Hj(t,e,r,i)}a(Vj,"option");function ha(t,e,r){let n=_A(or(r.definition,i=>MA(t,e,i)),i=>i!==void 0);return n.length===1?n[0]:n.length===0?void 0:Xj(t,n)}a(ha,"block");function DA(t,e,r,n,i){let s=n.left,o=n.right,l=gt(t,e,r,{type:Uj});wi(t,l);let u=gt(t,e,r,{type:OA});return s.loopback=l,u.loopback=l,t.decisionMap[ma(e,i?"RepetitionMandatoryWithSeparator":"RepetitionMandatory",r.idx)]=l,nt(o,l),i===void 0?(nt(l,s),nt(l,u)):(nt(l,u),nt(l,i.left),nt(i.right,s)),{left:s,right:u}}a(DA,"plus");function FA(t,e,r,n,i){let s=n.left,o=n.right,l=gt(t,e,r,{type:Gj});wi(t,l);let u=gt(t,e,r,{type:OA}),c=gt(t,e,r,{type:Fj});return l.loopback=c,u.loopback=c,nt(l,s),nt(l,u),nt(o,c),i!==void 0?(nt(c,u),nt(c,i.left),nt(i.right,s)):nt(c,l),t.decisionMap[ma(e,i?"RepetitionWithSeparator":"Repetition",r.idx)]=l,{left:l,right:u}}a(FA,"star");function Hj(t,e,r,n){let i=n.left,s=n.right;return nt(i,s),t.decisionMap[ma(e,"Option",r.idx)]=i,n}a(Hj,"optional");function wi(t,e){return t.decisionStates.push(e),e.decision=t.decisionStates.length-1,e.decision}a(wi,"defineDecisionState");function Zs(t,e,r,n,...i){let s=gt(t,e,n,{type:Dj,start:r});r.end=s;for(let l of i)l!==void 0?(nt(r,l.left),nt(l.right,s)):nt(r,s);let o={left:r,right:s};return t.decisionMap[ma(e,Yj(n),n.idx)]=r,o}a(Zs,"makeAlts");function Yj(t){if(t instanceof Re)return"Alternation";if(t instanceof de)return"Option";if(t instanceof ae)return"Repetition";if(t instanceof xe)return"RepetitionWithSeparator";if(t instanceof Ce)return"RepetitionMandatory";if(t instanceof be)return"RepetitionMandatoryWithSeparator";throw new Error("Invalid production type encountered")}a(Yj,"getProdType");function Xj(t,e){let r=e.length;for(let s=0;se.alt)}get key(){let e="";for(let r in this.map)e+=r+":";return e}};function dh(t,e=!0){return`${e?`a${t.alt}`:""}s${t.state.stateNumber}:${t.stack.map(r=>r.stateNumber.toString()).join("_")}`}a(dh,"getATNConfigKey");function ez(t,e,r){for(var n=-1,i=t.length;++n0&&r(l)?e>1?KA(l,e-1,r,n,i):zf(i,l):n||(i[i.length]=l)}return i}a(KA,"baseFlatten");var rp=KA;function iz(t,e){return rp(or(t,e),1)}a(iz,"flatMap");var qA=iz;function az(t,e,r,n){for(var i=t.length,s=r+(n?1:-1);n?s--:++s-1}a(uz,"arrayIncludes");var XA=uz;function cz(t,e,r){for(var n=-1,i=t==null?0:t.length;++n=mz){var c=e?null:QA(t);if(c)return Bs(c);o=!1,i=Uf,u=new Gf}else u=e?[]:l;e:for(;++n{let i=n.toString(),s=r[i];return s!==void 0||(s={atnStartState:t,decision:e,states:{}},r[i]=s),s}}a(Nz,"createDFACache");var ip=class{static{a(this,"PredicateSet")}constructor(){this.predicates=[]}is(e){return e>=this.predicates.length||this.predicates[e]}set(e,r){this.predicates[e]=r}toString(){let e="",r=this.predicates.length;for(let n=0;nconsole.log(n))}initialize(e){this.atn=LA(e.rules),this.dfas=Iz(this.atn)}validateAmbiguousAlternationAlternatives(){return[]}validateEmptyOrAlternatives(){return[]}buildLookaheadForAlternation(e){let{prodOccurrence:r,rule:n,hasPredicates:i,dynamicTokensEnabled:s}=e,o=this.dfas,l=this.logging,u=ma(n,"Alternation",r),f=this.atn.decisionMap[u].decision,p=or(pf({maxLookahead:1,occurrence:r,prodType:"Alternation",rule:n}),m=>or(m,y=>y[0]));if(uC(p,!1)&&!s){let m=mh(p,(y,A,C)=>(np(A,_=>{_&&(y[_.tokenTypeIdx]=C,np(_.categoryMatches,S=>{y[S]=C}))}),y),{});return i?function(y){var A;let C=this.LA(1),_=m[C.tokenTypeIdx];if(y!==void 0&&_!==void 0){let S=(A=y[_])===null||A===void 0?void 0:A.GATE;if(S!==void 0&&S.call(this)===!1)return}return _}:function(){let y=this.LA(1);return m[y.tokenTypeIdx]}}else return i?function(m){let y=new ip,A=m===void 0?0:m.length;for(let _=0;_or(m,y=>y[0]));if(uC(p)&&p[0][0]&&!s){let m=p[0],y=rC(m);if(y.length===1&&aC(y[0].categoryMatches)){let C=y[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===C}}else{let A=mh(y,(C,_)=>(_!==void 0&&(C[_.tokenTypeIdx]=!0,np(_.categoryMatches,S=>{C[S]=!0})),C),{});return function(){let C=this.LA(1);return A[C.tokenTypeIdx]===!0}}}return function(){let m=hh.call(this,o,f,lC,l);return typeof m=="object"?!1:m===0}}};function uC(t,e=!0){let r=new Set;for(let n of t){let i=new Set;for(let s of n){if(s===void 0){if(e)break;return!1}let o=[s.tokenTypeIdx].concat(s.categoryMatches);for(let l of o)if(r.has(l)){if(!i.has(l))return!1}else r.add(l),i.add(l)}}return!0}a(uC,"isLL1Sequence");function Iz(t){let e=t.decisionStates.length,r=Array(e);for(let n=0;nbn(i)).join(", "),r=t.production.idx===0?"":t.production.idx,n=`Ambiguous Alternatives Detected: <${t.ambiguityIndices.join(", ")}> in <${Lz(t.production)}${r}> inside <${t.topLevelRule.name}> Rule, <${e}> may appears as a prefix path in all these alternatives. `;return n=n+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES For Further details.`,n}a(Oz,"buildAmbiguityError");function Lz(t){if(t instanceof pe)return"SUBRULE";if(t instanceof de)return"OPTION";if(t instanceof Re)return"OR";if(t instanceof Ce)return"AT_LEAST_ONE";if(t instanceof be)return"AT_LEAST_ONE_SEP";if(t instanceof xe)return"MANY_SEP";if(t instanceof ae)return"MANY";if(t instanceof re)return"CONSUME";throw Error("non exhaustive match")}a(Lz,"getProductionDslName");function Mz(t,e,r){let n=qA(e.configs.elements,s=>s.state.transitions),i=tC(n.filter(s=>s instanceof Ys).map(s=>s.tokenType),s=>s.tokenTypeIdx);return{actualToken:r,possibleTokenTypes:i,tokenPath:t}}a(Mz,"buildAdaptivePredictError");function Dz(t,e){return t.edges[e.tokenTypeIdx]}a(Dz,"getExistingTargetState");function Fz(t,e,r){let n=new Qs,i=[];for(let o of t.elements){if(r.is(o.alt)===!1)continue;if(o.state.type===Js){i.push(o);continue}let l=o.state.transitions.length;for(let u=0;u0&&!Bz(s))for(let o of i)s.add(o);return s}a(Fz,"computeReachSet");function Gz(t,e){if(t instanceof Ys&&$l(e,t.tokenType))return t.target}a(Gz,"getReachableTarget");function Uz(t,e){let r;for(let n of t.elements)if(e.is(n.alt)===!0){if(r===void 0)r=n.alt;else if(r!==n.alt)return}return r}a(Uz,"getUniqueAlt");function fC(t){return{configs:t,edges:{},isAcceptState:!1,prediction:-1}}a(fC,"newDFAState");function cC(t,e,r,n){return n=pC(t,n),e.edges[r.tokenTypeIdx]=n,n}a(cC,"addDFAEdge");function pC(t,e){if(e===Fl)return e;let r=e.configs.key,n=t.states[r];return n!==void 0?n:(e.configs.finalize(),t.states[r]=e,e)}a(pC,"addDFAState");function jz(t){let e=new Qs,r=t.transitions.length;for(let n=0;n0){let i=[...t.stack],o={state:i.pop(),alt:t.alt,stack:i};ap(o,e)}else e.add(t);return}r.epsilonOnlyTransitions||e.add(t);let n=r.transitions.length;for(let i=0;i1)return!0;return!1}a(Vz,"hasConflictingAltSet");function Hz(t){for(let e of Array.from(t.values()))if(Object.keys(e).length===1)return!0;return!1}a(Hz,"hasStateAssociatedWithOneAlt");ao();var Vl=class{static{a(this,"CstNodeBuilder")}constructor(){this.nodeStack=[]}get current(){return this.nodeStack[this.nodeStack.length-1]??this.rootNode}buildRootNode(e){return this.rootNode=new so(e),this.rootNode.root=this.rootNode,this.nodeStack=[this.rootNode],this.rootNode}buildCompositeNode(e){let r=new xa;return r.grammarSource=e,r.root=this.rootNode,this.current.content.push(r),this.nodeStack.push(r),r}buildLeafNode(e,r){let n=new Ta(e.startOffset,e.image.length,Ja(e),e.tokenType,!r);return n.grammarSource=r,n.root=this.rootNode,this.current.content.push(n),n}removeNode(e){let r=e.container;if(r){let n=r.content.indexOf(e);n>=0&&r.content.splice(n,1)}}addHiddenNodes(e){let r=[];for(let s of e){let o=new Ta(s.startOffset,s.image.length,Ja(s),s.tokenType,!0);o.root=this.rootNode,r.push(o)}let n=this.current,i=!1;if(n.content.length>0){n.content.push(...r);return}for(;n.container;){let s=n.container.content.indexOf(n);if(s>0){n.container.content.splice(s,0,...r),i=!0;break}n=n.container}i||this.rootNode.content.unshift(...r)}construct(e){let r=this.current;typeof e.$type=="string"&&!e.$infix&&(this.current.astNode=e),e.$cstNode=r;let n=this.nodeStack.pop();n?.content.length===0&&this.removeNode(n)}},Hl=class{static{a(this,"AbstractCstNode")}get hidden(){return!1}get astNode(){let e=typeof this._astNode?.$type=="string"?this._astNode:this.container?.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)}},Ta=class extends Hl{static{a(this,"LeafCstNodeImpl")}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,r,n,i,s=!1){super(),this._hidden=s,this._offset=e,this._tokenType=i,this._length=r,this._range=n}},xa=class extends Hl{static{a(this,"CompositeCstNodeImpl")}constructor(){super(...arguments),this.content=new Ty(this)}get offset(){return this.firstNonHiddenNode?.offset??0}get length(){return this.end-this.offset}get end(){return this.lastNonHiddenNode?.end??0}get range(){let e=this.firstNonHiddenNode,r=this.lastNonHiddenNode;if(e&&r){if(this._rangeCache===void 0){let{range:n}=e,{range:i}=r;this._rangeCache={start:n.start,end:i.end.line=0;e--){let r=this.content[e];if(!r.hidden)return r}return this.content[this.content.length-1]}},Ty=class t extends Array{static{a(this,"CstNodeContainer")}constructor(e){super(),this.parent=e,Object.setPrototypeOf(this,t.prototype)}push(...e){return this.addParents(e),super.push(...e)}unshift(...e){return this.addParents(e),super.unshift(...e)}splice(e,r,...n){return this.addParents(n),super.splice(e,r,...n)}addParents(e){for(let r of e)r.container=this.parent}},so=class extends xa{static{a(this,"RootCstNodeImpl")}get text(){return this._text.substring(this.offset,this.end)}get fullText(){return this._text}constructor(e){super(),this._text="",this._text=e??""}};var hp=Symbol("Datatype");function xy(t){return t.$type===hp}a(xy,"isDataTypeNode");var dC="\u200B",mC=a(t=>t.endsWith(dC)?t:t+dC,"withRuleSuffix"),Yl=class{static{a(this,"AbstractLangiumParser")}constructor(e){this._unorderedGroups=new Map,this.allRules=new Map,this.lexer=e.parser.Lexer;let r=this.lexer.definition,n=e.LanguageMetaData.mode==="production";e.shared.profilers.LangiumProfiler?.isActive("parsing")?this.wrapper=new Ry(r,{...e.parser.ParserConfig,skipValidations:n,errorMessageProvider:e.parser.ParserErrorMessageProvider},e.shared.profilers.LangiumProfiler.createTask("parsing",e.LanguageMetaData.languageId)):this.wrapper=new gp(r,{...e.parser.ParserConfig,skipValidations:n,errorMessageProvider:e.parser.ParserErrorMessageProvider})}alternatives(e,r){this.wrapper.wrapOr(e,r)}optional(e,r){this.wrapper.wrapOption(e,r)}many(e,r){this.wrapper.wrapMany(e,r)}atLeastOne(e,r){this.wrapper.wrapAtLeastOne(e,r)}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()}},Xl=class extends Yl{static{a(this,"LangiumParser")}get current(){return this.stack[this.stack.length-1]}constructor(e){super(e),this.nodeBuilder=new Vl,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,r){let n=this.computeRuleType(e),i;Xn(e)&&(i=e.name,this.registerPrecedenceMap(e));let s=this.wrapper.DEFINE_RULE(mC(e.name),this.startImplementation(n,i,r).bind(this));return this.allRules.set(e.name,s),dt(e)&&e.entry&&(this.mainRule=s),s}registerPrecedenceMap(e){let r=e.name,n=new Map;for(let i=0;i0&&(r=this.construct()),r===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 r}startImplementation(e,r,n){return i=>{let s=!this.isRecording()&&e!==void 0;if(s){let o={$type:e};this.stack.push(o),e===hp?o.value="":r!==void 0&&(o.$infixName=r)}return n(i),s?this.construct():void 0}}extractHiddenTokens(e){let r=this.lexerResult.hidden;if(!r.length)return[];let n=e.startOffset;for(let i=0;in)return r.splice(0,i);return r.splice(0,r.length)}consume(e,r,n){let i=this.wrapper.wrapConsume(e,r);if(!this.isRecording()&&this.isValidToken(i)){let s=this.extractHiddenTokens(i);this.nodeBuilder.addHiddenNodes(s);let o=this.nodeBuilder.buildLeafNode(i,n),{assignment:l,crossRef:u}=this.getAssignment(n),c=this.current;if(l){let f=dr(n)?i.image:this.converter.convert(i.image,o);this.assign(l.operator,l.feature,f,o,u)}else if(xy(c)){let f=i.image;dr(n)||(f=this.converter.convert(f,o).toString()),c.value+=f}}}isValidToken(e){return!e.isInsertedInRecovery&&!isNaN(e.startOffset)&&typeof e.endOffset=="number"&&!isNaN(e.endOffset)}subrule(e,r,n,i,s){let o;!this.isRecording()&&!n&&(o=this.nodeBuilder.buildCompositeNode(i));let l;try{l=this.wrapper.wrapSubrule(e,r,s)}finally{this.isRecording()||(l===void 0&&!n&&(l=this.construct()),l!==void 0&&o&&o.length>0&&this.performSubruleAssignment(l,i,o))}}performSubruleAssignment(e,r,n){let{assignment:i,crossRef:s}=this.getAssignment(r);if(i)this.assign(i.operator,i.feature,e,n,s);else if(!i){let o=this.current;if(xy(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,r){if(!this.isRecording()){let n=this.current;if(r.feature&&r.operator){n=this.construct(),this.nodeBuilder.removeNode(n.$cstNode),this.nodeBuilder.buildCompositeNode(r).content.push(n.$cstNode);let s={$type:e};this.stack.push(s),this.assign(r.operator,r.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)):xy(e)?this.converter.convert(e.value,e.$cstNode):(Od(this.astReflection,e),e)}constructInfix(e,r){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 s=0,o=-1;for(let C=0;Co?(o=S.precedence,s=C):S.precedence===o&&(S.rightAssoc||(s=C))}let l=i.slice(0,s),u=i.slice(s+1),c=n.slice(0,s+1),f=n.slice(s+1),p={$infixName:e.$infixName,$type:e.$type,$cstNode:e.$cstNode,parts:c,operators:l},m={$infixName:e.$infixName,$type:e.$type,$cstNode:e.$cstNode,parts:f,operators:u},y=this.constructInfix(p,r),A=this.constructInfix(m,r);return{$type:e.$type,$cstNode:e.$cstNode,left:y,operator:i[s],right:A}}getAssignment(e){if(!this.assignmentMap.has(e)){let r=dn(e,wr);this.assignmentMap.set(e,{assignment:r,crossRef:r&&Nr(r.terminal)?r.terminal.isMulti?"multi":"single":void 0})}return this.assignmentMap.get(e)}assign(e,r,n,i,s){let o=this.current,l;switch(s==="single"&&typeof n=="string"?l=this.linker.buildReference(o,r,i,n):s==="multi"&&typeof n=="string"?l=this.linker.buildMultiReference(o,r,i,n):l=n,e){case"=":{o[r]=l;break}case"?=":{o[r]=!0;break}case"+=":Array.isArray(o[r])||(o[r]=[]),o[r].push(l)}}assignWithoutOverride(e,r){for(let[i,s]of Object.entries(r)){let o=e[i];o===void 0?e[i]=s:Array.isArray(o)&&Array.isArray(s)&&(s.push(...o),e[i]=s)}let n=e.$cstNode;return n&&(n.astNode=void 0,e.$cstNode=void 0),e}get definitionErrors(){return this.wrapper.definitionErrors}},yp=class{static{a(this,"AbstractParserErrorMessageProvider")}buildMismatchTokenMessage(e){return wn.buildMismatchTokenMessage(e)}buildNotAllInputParsedMessage(e){return wn.buildNotAllInputParsedMessage(e)}buildNoViableAltMessage(e){return wn.buildNoViableAltMessage(e)}buildEarlyExitMessage(e){return wn.buildEarlyExitMessage(e)}},oo=class extends yp{static{a(this,"LangiumParserErrorMessageProvider")}buildMismatchTokenMessage({expected:e,actual:r}){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 \`${r.image}\`.`}buildNotAllInputParsedMessage({firstRedundant:e}){return`Expecting end of file but found \`${e.image}\`.`}},Jl=class extends Yl{static{a(this,"LangiumCompletionParser")}constructor(){super(...arguments),this.tokens=[],this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}action(){}construct(){}parse(e){this.resetState();let r=this.lexer.tokenize(e,{mode:"partial"});return this.tokens=r.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,r){let n=this.wrapper.DEFINE_RULE(mC(e.name),this.startImplementation(r).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 r=>{let n=this.keepStackSize();try{e(r)}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,r,n){this.wrapper.wrapConsume(e,r),this.isRecording()||(this.lastElementStack=[...this.elementStack,n],this.nextTokenIndex=this.currIdx+1)}subrule(e,r,n,i,s){this.before(i),this.wrapper.wrapSubrule(e,r,s),this.after(i)}before(e){this.isRecording()||this.elementStack.push(e)}after(e){if(!this.isRecording()){let r=this.elementStack.lastIndexOf(e);r>=0&&this.elementStack.splice(r)}}get currIdx(){return this.wrapper.currIdx}},Xz={recoveryEnabled:!0,nodeLocationTracking:"full",skipValidations:!0,errorMessageProvider:new oo},gp=class extends kl{static{a(this,"ChevrotainWrapper")}constructor(e,r){let n=r&&"maxLookahead"in r;super(e,{...Xz,lookaheadStrategy:n?new Nn({maxLookahead:r.maxLookahead}):new Gl({logging:r.skipValidations?()=>{}:void 0}),...r})}get IS_RECORDING(){return this.RECORDING_PHASE}DEFINE_RULE(e,r,n){return this.RULE(e,r,n)}wrapSelfAnalysis(){this.performSelfAnalysis()}wrapConsume(e,r){return this.consume(e,r,void 0)}wrapSubrule(e,r,n){return this.subrule(e,r,{ARGS:[n]})}wrapOr(e,r){this.or(e,r)}wrapOption(e,r){this.option(e,r)}wrapMany(e,r){this.many(e,r)}wrapAtLeastOne(e,r){this.atLeastOne(e,r)}rule(e){return e.call(this,{})}},Ry=class extends gp{static{a(this,"ProfilerWrapper")}constructor(e,r,n){super(e,r),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,r,n){this.task.startSubTask(this.ruleName(r));try{return super.subrule(e,r,n)}finally{this.task.stopSubTask(this.ruleName(r))}}};function Zl(t,e,r){return Jz({parser:e,tokens:r,ruleNames:new Map},t),e}a(Zl,"createParser");function Jz(t,e){let r=ul(e,!1),n=te(e.rules).filter(dt).filter(s=>r.has(s));for(let s of n){let o={...t,consume:1,optional:1,subrule:1,many:1,or:1};t.parser.rule(s,Ra(o,s.definition))}let i=te(e.rules).filter(Xn).filter(s=>r.has(s));for(let s of i)t.parser.rule(s,Zz(t,s))}a(Jz,"buildRules");function Zz(t,e){let r=e.call.rule.ref;if(!r)throw new Error("Could not resolve reference to infix operator rule: "+e.call.rule.$refText);if(Mt(r))throw new Error("Cannot use terminal rule in infix expression");let n=e.operators.precedences.flatMap(y=>y.operators),i={$type:"Group",elements:[]},s={$container:i,$type:"Assignment",feature:"parts",operator:"+=",terminal:e.call},o={$container:i,$type:"Group",elements:[],cardinality:"*"};i.elements.push(s,o);let u={$container:o,$type:"Assignment",feature:"operators",operator:"+=",terminal:{$type:"Alternatives",elements:n}},c={...s,$container:o};o.elements.push(u,c);let p=n.map(y=>t.tokens[y.value]).map((y,A)=>({ALT:a(()=>t.parser.consume(A,y,u),"ALT")})),m;return y=>{m??(m=Ey(t,r)),t.parser.subrule(0,m,!1,s,y),t.parser.many(0,{DEF:a(()=>{t.parser.alternatives(0,p),t.parser.subrule(1,m,!1,c,y)},"DEF")})}}a(Zz,"buildInfixRule");function Ra(t,e,r=!1){let n;if(dr(e))n=aB(t,e);else if(gn(e))n=Qz(t,e);else if(wr(e))n=Ra(t,e.terminal);else if(Nr(e))n=hC(t,e);else if(Ir(e))n=eB(t,e);else if(cc(e))n=rB(t,e);else if(mc(e))n=nB(t,e);else if(Yn(e))n=iB(t,e);else if(jd(e)){let i=t.consume++;n=a(()=>t.parser.consume(i,sr,e),"method")}else throw new ta(e.$cstNode,`Unexpected element type: ${e.$type}`);return yC(t,r?void 0:Tp(e),n,e.cardinality)}a(Ra,"buildElement");function Qz(t,e){let r=Zn(e);return()=>t.parser.action(r,e)}a(Qz,"buildAction");function eB(t,e){let r=e.rule.ref;if(yn(r)){let n=t.subrule++,i=dt(r)&&r.fragment,s=e.arguments.length>0?tB(r,e.arguments):()=>({}),o;return l=>{o??(o=Ey(t,r)),t.parser.subrule(n,o,i,e,s(l))}}else if(Mt(r)){let n=t.consume++,i=$y(t,r.name);return()=>t.parser.consume(n,i,e)}else if(r)Kr(r);else throw new ta(e.$cstNode,`Undefined rule: ${e.rule.$refText}`)}a(eB,"buildRuleCall");function tB(t,e){if(e.some(n=>n.calledByName)){let n=e.map(i=>({parameterName:i.parameter?.ref?.name,predicate:nn(i.value)}));return i=>{let s={};for(let{parameterName:o,predicate:l}of n)o&&(s[o]=l(i));return s}}else{let n=e.map(i=>nn(i.value));return i=>{let s={};for(let o=0;oe(n)||r(n)}else if(Gd(t)){let e=nn(t.left),r=nn(t.right);return n=>e(n)&&r(n)}else if(Kd(t)){let e=nn(t.value);return r=>!e(r)}else if(qd(t)){let e=t.parameter.ref.name;return r=>r!==void 0&&r[e]===!0}else if(Dd(t)){let e=!!t.true;return()=>e}Kr(t)}a(nn,"buildPredicate");function rB(t,e){if(e.elements.length===1)return Ra(t,e.elements[0]);{let r=[];for(let i of e.elements){let s={ALT:Ra(t,i,!0)},o=Tp(i);o&&(s.GATE=nn(o)),r.push(s)}let n=t.or++;return i=>t.parser.alternatives(n,r.map(s=>{let o={ALT:a(()=>s.ALT(i),"ALT")},l=s.GATE;return l&&(o.GATE=()=>l(i)),o}))}}a(rB,"buildAlternatives");function nB(t,e){if(e.elements.length===1)return Ra(t,e.elements[0]);let r=[];for(let l of e.elements){let u={ALT:Ra(t,l,!0)},c=Tp(l);c&&(u.GATE=nn(c)),r.push(u)}let n=t.or++,i=a((l,u)=>{let c=u.getRuleStack().join("-");return`uGroup_${l}_${c}`},"idFunc"),s=a(l=>t.parser.alternatives(n,r.map((u,c)=>{let f={ALT:a(()=>!0,"ALT")},p=t.parser;f.ALT=()=>{if(u.ALT(l),!p.isRecording()){let y=i(n,p);p.unorderedGroups.get(y)||p.unorderedGroups.set(y,[]);let A=p.unorderedGroups.get(y);typeof A?.[c]>"u"&&(A[c]=!0)}};let m=u.GATE;return m?f.GATE=()=>m(l):f.GATE=()=>!p.unorderedGroups.get(i(n,p))?.[c],f})),"alternatives"),o=yC(t,Tp(e),s,"*");return l=>{o(l),t.parser.isRecording()||t.parser.unorderedGroups.delete(i(n,t.parser))}}a(nB,"buildUnorderedGroup");function iB(t,e){let r=e.elements.map(n=>Ra(t,n));return n=>r.forEach(i=>i(n))}a(iB,"buildGroup");function Tp(t){if(Yn(t))return t.guardCondition}a(Tp,"getGuardCondition");function hC(t,e,r=e.terminal){if(r)if(Ir(r)&&dt(r.rule.ref)){let n=r.rule.ref,i=t.subrule++,s;return o=>{s??(s=Ey(t,n)),t.parser.subrule(i,s,!1,e,o)}}else if(Ir(r)&&Mt(r.rule.ref)){let n=t.consume++,i=$y(t,r.rule.ref.name);return()=>t.parser.consume(n,i,e)}else if(dr(r)){let n=t.consume++,i=$y(t,r.value);return()=>t.parser.consume(n,i,e)}else throw new Error("Could not build cross reference parser");else{if(!e.type.ref)throw new Error("Could not resolve reference to type: "+e.type.$refText);let i=Rc(e.type.ref)?.terminal;if(!i)throw new Error("Could not find name assignment for type: "+Zn(e.type.ref));return hC(t,e,i)}}a(hC,"buildCrossReference");function aB(t,e){let r=t.consume++,n=t.tokens[e.value];if(!n)throw new Error("Could not find token for keyword: "+e.value);return()=>t.parser.consume(r,n,e)}a(aB,"buildKeyword");function yC(t,e,r,n){let i=e&&nn(e);if(!n)if(i){let s=t.or++;return o=>t.parser.alternatives(s,[{ALT:a(()=>r(o),"ALT"),GATE:a(()=>i(o),"GATE")},{ALT:kf(),GATE:a(()=>!i(o),"GATE")}])}else return r;if(n==="*"){let s=t.many++;return o=>t.parser.many(s,{DEF:a(()=>r(o),"DEF"),GATE:i?()=>i(o):void 0})}else if(n==="+"){let s=t.many++;if(i){let o=t.or++;return l=>t.parser.alternatives(o,[{ALT:a(()=>t.parser.atLeastOne(s,{DEF:a(()=>r(l),"DEF")}),"ALT"),GATE:a(()=>i(l),"GATE")},{ALT:kf(),GATE:a(()=>!i(l),"GATE")}])}else return o=>t.parser.atLeastOne(s,{DEF:a(()=>r(o),"DEF")})}else if(n==="?"){let s=t.optional++;return o=>t.parser.optional(s,{DEF:a(()=>r(o),"DEF"),GATE:i?()=>i(o):void 0})}else Kr(n)}a(yC,"wrap");function Ey(t,e){let r=sB(t,e),n=t.parser.getRule(r);if(!n)throw new Error(`Rule "${r}" not found."`);return n}a(Ey,"getRule");function sB(t,e){if(yn(e))return e.name;if(t.ruleNames.has(e))return t.ruleNames.get(e);{let r=e,n=r.$container,i=e.$type;for(;!dt(n);)(Yn(n)||cc(n)||mc(n))&&(i=n.elements.indexOf(r).toString()+":"+i),r=n,n=n.$container;return i=n.name+":"+i,t.ruleNames.set(e,i),i}}a(sB,"getRuleName");function $y(t,e){let r=t.tokens[e];if(!r)throw new Error(`Token "${e}" not found."`);return r}a($y,"getToken");function vy(t){let e=t.Grammar,r=t.parser.Lexer,n=new Jl(t);return Zl(e,n,r.definition),n.finalize(),n}a(vy,"createCompletionParser");function Ay(t){let e=gC(t);return e.finalize(),e}a(Ay,"createLangiumParser");function gC(t){let e=t.Grammar,r=t.parser.Lexer,n=new Xl(t);return Zl(e,n,r.definition)}a(gC,"prepareLangiumParser");var Pn=class{static{a(this,"DefaultTokenBuilder")}constructor(){this.diagnostics=[]}buildTokens(e,r){let n=te(ul(e,!1)),i=this.buildTerminalTokens(n),s=this.buildKeywordTokens(n,i,r);return s.push(...i),s}flushLexingReport(e){return{diagnostics:this.popDiagnostics()}}popDiagnostics(){let e=[...this.diagnostics];return this.diagnostics=[],e}buildTerminalTokens(e){return e.filter(Mt).filter(r=>!r.fragment).map(r=>this.buildTerminalToken(r)).toArray()}buildTerminalToken(e){let r=Qa(e),n=this.requiresCustomPattern(r)?this.regexPatternFunction(r):r,i={name:e.name,PATTERN:n};return typeof n=="function"&&(i.LINE_BREAKS=!0),e.hidden&&(i.GROUP=ll(r)?Le.SKIPPED:"hidden"),i}requiresCustomPattern(e){return!!(e.flags.includes("u")||e.flags.includes("s"))}regexPatternFunction(e){let r=new RegExp(e,e.flags+"y");return(n,i)=>(r.lastIndex=i,r.exec(n))}buildKeywordTokens(e,r,n){return e.filter(yn).flatMap(i=>br(i).filter(dr)).distinct(i=>i.value).toArray().sort((i,s)=>s.value.length-i.value.length).map(i=>this.buildKeywordToken(i,r,!!n?.caseInsensitive))}buildKeywordToken(e,r,n){let i=this.buildKeywordPattern(e,n),s={name:e.value,PATTERN:i,LONGER_ALT:this.findLongerAlt(e,r)};return typeof i=="function"&&(s.LINE_BREAKS=!0),s}buildKeywordPattern(e,r){return r?new RegExp(Jn(e.value),"i"):e.value}findLongerAlt(e,r){return r.reduce((n,i)=>{let s=i?.PATTERN;return s?.source&&um("^"+s.source+"$",e.value)&&n.push(i),n},[])}};var $a=class{static{a(this,"DefaultValueConverter")}convert(e,r){let n=r.grammarSource;if(Nr(n)&&(n=pm(n)),Ir(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,r)}return e}runConverter(e,r,n){switch(e.name.toUpperCase()){case"INT":return an.convertInt(r);case"STRING":return an.convertString(r);case"ID":return an.convertID(r)}switch(xm(e)?.toLowerCase()){case"number":return an.convertNumber(r);case"boolean":return an.convertBoolean(r);case"bigint":return an.convertBigint(r);case"date":return an.convertDate(r);default:return r}}},an;(function(t){function e(c){let f="";for(let p=1;p{typeof setImmediate>"u"?setTimeout(t,0):setImmediate(t)})}a(_y,"delayNextTick");var Ep=0,$C=10;function vp(){return Ep=performance.now(),new V.CancellationTokenSource}a(vp,"startCancelableOperation");function EC(t){$C=t}a(EC,"setInterruptionPeriod");var Tr=Symbol("OperationCancelled");function sn(t){return t===Tr}a(sn,"isOperationCancelled");async function Be(t){if(t===V.CancellationToken.None)return;let e=performance.now();if(e-Ep>=$C&&(Ep=e,await _y(),Ep=performance.now()),t.isCancellationRequested)throw Tr}a(Be,"interruptAndCheck");var Kt=class{static{a(this,"Deferred")}constructor(){this.promise=new Promise((e,r)=>{this.resolve=n=>(e(n),this),this.reject=n=>(r(n),this)})}};var Ap=class t{static{a(this,"FullTextDocument")}constructor(e,r,n,i){this._uri=e,this._languageId=r,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 r=this.offsetAt(e.start),n=this.offsetAt(e.end);return this._content.substring(r,n)}return this._content}update(e,r){for(let n of e)if(t.isIncremental(n)){let i=CC(n.range),s=this.offsetAt(i.start),o=this.offsetAt(i.end);this._content=this._content.substring(0,s)+n.text+this._content.substring(o,this._content.length);let l=Math.max(i.start.line,0),u=Math.max(i.end.line,0),c=this._lineOffsets,f=vC(n.text,!1,s);if(u-l===f.length)for(let m=0,y=f.length;me?i=o:n=o+1}let s=n-1;return e=this.ensureBeforeEOL(e,r[s]),{line:s,character:e-r[s]}}offsetAt(e){let r=this.getLineOffsets();if(e.line>=r.length)return this._content.length;if(e.line<0)return 0;let n=r[e.line];if(e.character<=0)return n;let i=e.line+1r&&AC(this._content.charCodeAt(e-1));)e--;return e}get lineCount(){return this.getLineOffsets().length}static isIncremental(e){let r=e;return r!=null&&typeof r.text=="string"&&r.range!==void 0&&(r.rangeLength===void 0||typeof r.rangeLength=="number")}static isFull(e){let r=e;return r!=null&&typeof r.text=="string"&&r.range===void 0&&r.rangeLength===void 0}},fo;(function(t){function e(i,s,o,l){return new Ap(i,s,o,l)}a(e,"create"),t.create=e;function r(i,s,o){if(i instanceof Ap)return i.update(s,o),i;throw new Error("TextDocument.update: document must be created by TextDocument.create")}a(r,"update"),t.update=r;function n(i,s){let o=i.getText(),l=ky(s.map(yB),(f,p)=>{let m=f.range.start.line-p.range.start.line;return m===0?f.range.start.character-p.range.start.character:m}),u=0,c=[];for(let f of l){let p=i.offsetAt(f.range.start);if(pu&&c.push(o.substring(u,p)),f.newText.length&&c.push(f.newText),u=i.offsetAt(f.range.end)}return c.push(o.substr(u)),c.join("")}a(n,"applyEdits"),t.applyEdits=n})(fo||(fo={}));function ky(t,e){if(t.length<=1)return t;let r=t.length/2|0,n=t.slice(0,r),i=t.slice(r);ky(n,e),ky(i,e);let s=0,o=0,l=0;for(;sr.line||e.line===r.line&&e.character>r.character?{start:r,end:e}:t}a(CC,"getWellformedRange");function yB(t){let e=CC(t.range);return e!==t.range?{newText:t.newText,range:e}:t}a(yB,"getWellformedEdit");var bC;(()=>{"use strict";var t={975:N=>{function T(x){if(typeof x!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(x))}a(T,"e");function D(x,E){for(var b,O="",j=0,k=-1,X=0,Q=0;Q<=x.length;++Q){if(Q2){var Ze=O.lastIndexOf("/");if(Ze!==O.length-1){Ze===-1?(O="",j=0):j=(O=O.slice(0,Ze)).length-1-O.lastIndexOf("/"),k=Q,X=0;continue}}else if(O.length===2||O.length===1){O="",j=0,k=Q,X=0;continue}}E&&(O.length>0?O+="/..":O="..",j=2)}else O.length>0?O+="/"+x.slice(k+1,Q):O=x.slice(k+1,Q),j=Q-k-1;k=Q,X=0}else b===46&&X!==-1?++X:X=-1}return O}a(D,"r");var L={resolve:a(function(){for(var x,E="",b=!1,O=arguments.length-1;O>=-1&&!b;O--){var j;O>=0?j=arguments[O]:(x===void 0&&(x=process.cwd()),j=x),T(j),j.length!==0&&(E=j+"/"+E,b=j.charCodeAt(0)===47)}return E=D(E,!b),b?E.length>0?"/"+E:"/":E.length>0?E:"."},"resolve"),normalize:a(function(x){if(T(x),x.length===0)return".";var E=x.charCodeAt(0)===47,b=x.charCodeAt(x.length-1)===47;return(x=D(x,!E)).length!==0||E||(x="."),x.length>0&&b&&(x+="/"),E?"/"+x:x},"normalize"),isAbsolute:a(function(x){return T(x),x.length>0&&x.charCodeAt(0)===47},"isAbsolute"),join:a(function(){if(arguments.length===0)return".";for(var x,E=0;E0&&(x===void 0?x=b:x+="/"+b)}return x===void 0?".":L.normalize(x)},"join"),relative:a(function(x,E){if(T(x),T(E),x===E||(x=L.resolve(x))===(E=L.resolve(E)))return"";for(var b=1;bQ){if(E.charCodeAt(k+ce)===47)return E.slice(k+ce+1);if(ce===0)return E.slice(k+ce)}else j>Q&&(x.charCodeAt(b+ce)===47?Ze=ce:ce===0&&(Ze=0));break}var Fe=x.charCodeAt(b+ce);if(Fe!==E.charCodeAt(k+ce))break;Fe===47&&(Ze=ce)}var Gr="";for(ce=b+Ze+1;ce<=O;++ce)ce!==O&&x.charCodeAt(ce)!==47||(Gr.length===0?Gr+="..":Gr+="/..");return Gr.length>0?Gr+E.slice(k+Ze):(k+=Ze,E.charCodeAt(k)===47&&++k,E.slice(k))},"relative"),_makeLong:a(function(x){return x},"_makeLong"),dirname:a(function(x){if(T(x),x.length===0)return".";for(var E=x.charCodeAt(0),b=E===47,O=-1,j=!0,k=x.length-1;k>=1;--k)if((E=x.charCodeAt(k))===47){if(!j){O=k;break}}else j=!1;return O===-1?b?"/":".":b&&O===1?"//":x.slice(0,O)},"dirname"),basename:a(function(x,E){if(E!==void 0&&typeof E!="string")throw new TypeError('"ext" argument must be a string');T(x);var b,O=0,j=-1,k=!0;if(E!==void 0&&E.length>0&&E.length<=x.length){if(E.length===x.length&&E===x)return"";var X=E.length-1,Q=-1;for(b=x.length-1;b>=0;--b){var Ze=x.charCodeAt(b);if(Ze===47){if(!k){O=b+1;break}}else Q===-1&&(k=!1,Q=b+1),X>=0&&(Ze===E.charCodeAt(X)?--X==-1&&(j=b):(X=-1,j=Q))}return O===j?j=Q:j===-1&&(j=x.length),x.slice(O,j)}for(b=x.length-1;b>=0;--b)if(x.charCodeAt(b)===47){if(!k){O=b+1;break}}else j===-1&&(k=!1,j=b+1);return j===-1?"":x.slice(O,j)},"basename"),extname:a(function(x){T(x);for(var E=-1,b=0,O=-1,j=!0,k=0,X=x.length-1;X>=0;--X){var Q=x.charCodeAt(X);if(Q!==47)O===-1&&(j=!1,O=X+1),Q===46?E===-1?E=X:k!==1&&(k=1):E!==-1&&(k=-1);else if(!j){b=X+1;break}}return E===-1||O===-1||k===0||k===1&&E===O-1&&E===b+1?"":x.slice(E,O)},"extname"),format:a(function(x){if(x===null||typeof x!="object")throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof x);return(function(E,b){var O=b.dir||b.root,j=b.base||(b.name||"")+(b.ext||"");return O?O===b.root?O+j:O+"/"+j:j})(0,x)},"format"),parse:a(function(x){T(x);var E={root:"",dir:"",base:"",ext:"",name:""};if(x.length===0)return E;var b,O=x.charCodeAt(0),j=O===47;j?(E.root="/",b=1):b=0;for(var k=-1,X=0,Q=-1,Ze=!0,ce=x.length-1,Fe=0;ce>=b;--ce)if((O=x.charCodeAt(ce))!==47)Q===-1&&(Ze=!1,Q=ce+1),O===46?k===-1?k=ce:Fe!==1&&(Fe=1):k!==-1&&(Fe=-1);else if(!Ze){X=ce+1;break}return k===-1||Q===-1||Fe===0||Fe===1&&k===Q-1&&k===X+1?Q!==-1&&(E.base=E.name=X===0&&j?x.slice(1,Q):x.slice(X,Q)):(X===0&&j?(E.name=x.slice(1,k),E.base=x.slice(1,Q)):(E.name=x.slice(X,k),E.base=x.slice(X,Q)),E.ext=x.slice(k,Q)),X>0?E.dir=x.slice(0,X-1):j&&(E.dir="/"),E},"parse"),sep:"/",delimiter:":",win32:null,posix:null};L.posix=L,N.exports=L}},e={};function r(N){var T=e[N];if(T!==void 0)return T.exports;var D=e[N]={exports:{}};return t[N](D,D.exports,r),D.exports}a(r,"r"),r.d=(N,T)=>{for(var D in T)r.o(T,D)&&!r.o(N,D)&&Object.defineProperty(N,D,{enumerable:!0,get:T[D]})},r.o=(N,T)=>Object.prototype.hasOwnProperty.call(N,T),r.r=N=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(N,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(N,"__esModule",{value:!0})};var n={};let i;r.r(n),r.d(n,{URI:a(()=>m,"URI"),Utils:a(()=>pr,"Utils")}),typeof process=="object"?i=process.platform==="win32":typeof navigator=="object"&&(i=navigator.userAgent.indexOf("Windows")>=0);let s=/^\w[\w\d+.-]*$/,o=/^\//,l=/^\/\//;function u(N,T){if(!N.scheme&&T)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${N.authority}", path: "${N.path}", query: "${N.query}", fragment: "${N.fragment}"}`);if(N.scheme&&!s.test(N.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(N.path){if(N.authority){if(!o.test(N.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(l.test(N.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}a(u,"a");let c="",f="/",p=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class m{static{a(this,"l")}static isUri(T){return T instanceof m||!!T&&typeof T.authority=="string"&&typeof T.fragment=="string"&&typeof T.path=="string"&&typeof T.query=="string"&&typeof T.scheme=="string"&&typeof T.fsPath=="string"&&typeof T.with=="function"&&typeof T.toString=="function"}scheme;authority;path;query;fragment;constructor(T,D,L,x,E,b=!1){typeof T=="object"?(this.scheme=T.scheme||c,this.authority=T.authority||c,this.path=T.path||c,this.query=T.query||c,this.fragment=T.fragment||c):(this.scheme=(function(O,j){return O||j?O:"file"})(T,b),this.authority=D||c,this.path=(function(O,j){switch(O){case"https":case"http":case"file":j?j[0]!==f&&(j=f+j):j=f}return j})(this.scheme,L||c),this.query=x||c,this.fragment=E||c,u(this,b))}get fsPath(){return w(this,!1)}with(T){if(!T)return this;let{scheme:D,authority:L,path:x,query:E,fragment:b}=T;return D===void 0?D=this.scheme:D===null&&(D=c),L===void 0?L=this.authority:L===null&&(L=c),x===void 0?x=this.path:x===null&&(x=c),E===void 0?E=this.query:E===null&&(E=c),b===void 0?b=this.fragment:b===null&&(b=c),D===this.scheme&&L===this.authority&&x===this.path&&E===this.query&&b===this.fragment?this:new A(D,L,x,E,b)}static parse(T,D=!1){let L=p.exec(T);return L?new A(L[2]||c,ge(L[4]||c),ge(L[5]||c),ge(L[7]||c),ge(L[9]||c),D):new A(c,c,c,c,c)}static file(T){let D=c;if(i&&(T=T.replace(/\\/g,f)),T[0]===f&&T[1]===f){let L=T.indexOf(f,2);L===-1?(D=T.substring(2),T=f):(D=T.substring(2,L),T=T.substring(L)||f)}return new A("file",D,T,c,c)}static from(T){let D=new A(T.scheme,T.authority,T.path,T.query,T.fragment);return u(D,!0),D}toString(T=!1){return $(this,T)}toJSON(){return this}static revive(T){if(T){if(T instanceof m)return T;{let D=new A(T);return D._formatted=T.external,D._fsPath=T._sep===y?T.fsPath:null,D}}return T}}let y=i?1:void 0;class A extends m{static{a(this,"d")}_formatted=null;_fsPath=null;get fsPath(){return this._fsPath||(this._fsPath=w(this,!1)),this._fsPath}toString(T=!1){return T?$(this,!0):(this._formatted||(this._formatted=$(this,!1)),this._formatted)}toJSON(){let T={$mid:1};return this._fsPath&&(T.fsPath=this._fsPath,T._sep=y),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}}let C={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 _(N,T,D){let L,x=-1;for(let E=0;E=97&&b<=122||b>=65&&b<=90||b>=48&&b<=57||b===45||b===46||b===95||b===126||T&&b===47||D&&b===91||D&&b===93||D&&b===58)x!==-1&&(L+=encodeURIComponent(N.substring(x,E)),x=-1),L!==void 0&&(L+=N.charAt(E));else{L===void 0&&(L=N.substr(0,E));let O=C[b];O!==void 0?(x!==-1&&(L+=encodeURIComponent(N.substring(x,E)),x=-1),L+=O):x===-1&&(x=E)}}return x!==-1&&(L+=encodeURIComponent(N.substring(x))),L!==void 0?L:N}a(_,"m");function S(N){let T;for(let D=0;D1&&N.scheme==="file"?`//${N.authority}${N.path}`:N.path.charCodeAt(0)===47&&(N.path.charCodeAt(1)>=65&&N.path.charCodeAt(1)<=90||N.path.charCodeAt(1)>=97&&N.path.charCodeAt(1)<=122)&&N.path.charCodeAt(2)===58?T?N.path.substr(1):N.path[1].toLowerCase()+N.path.substr(2):N.path,i&&(D=D.replace(/\//g,"\\")),D}a(w,"v");function $(N,T){let D=T?S:_,L="",{scheme:x,authority:E,path:b,query:O,fragment:j}=N;if(x&&(L+=x,L+=":"),(E||x==="file")&&(L+=f,L+=f),E){let k=E.indexOf("@");if(k!==-1){let X=E.substr(0,k);E=E.substr(k+1),k=X.lastIndexOf(":"),k===-1?L+=D(X,!1,!1):(L+=D(X.substr(0,k),!1,!1),L+=":",L+=D(X.substr(k+1),!1,!0)),L+="@"}E=E.toLowerCase(),k=E.lastIndexOf(":"),k===-1?L+=D(E,!1,!0):(L+=D(E.substr(0,k),!1,!0),L+=E.substr(k))}if(b){if(b.length>=3&&b.charCodeAt(0)===47&&b.charCodeAt(2)===58){let k=b.charCodeAt(1);k>=65&&k<=90&&(b=`/${String.fromCharCode(k+32)}:${b.substr(3)}`)}else if(b.length>=2&&b.charCodeAt(1)===58){let k=b.charCodeAt(0);k>=65&&k<=90&&(b=`${String.fromCharCode(k+32)}:${b.substr(2)}`)}L+=D(b,!0,!1)}return O&&(L+="?",L+=D(O,!1,!1)),j&&(L+="#",L+=T?j:_(j,!1,!1)),L}a($,"b");function K(N){try{return decodeURIComponent(N)}catch{return N.length>3?N.substr(0,3)+K(N.substr(3)):N}}a(K,"C");let M=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function ge(N){return N.match(M)?N.replace(M,(T=>K(T))):N}a(ge,"w");var Fr=r(975);let at=Fr.posix||Fr,Er="/";var pr;(function(N){N.joinPath=function(T,...D){return T.with({path:at.join(T.path,...D)})},N.resolvePath=function(T,...D){let L=T.path,x=!1;L[0]!==Er&&(L=Er+L,x=!0);let E=at.resolve(L,...D);return x&&E[0]===Er&&!T.authority&&(E=E.substring(1)),T.with({path:E})},N.dirname=function(T){if(T.path.length===0||T.path===Er)return T;let D=at.dirname(T.path);return D.length===1&&D.charCodeAt(0)===46&&(D=""),T.with({path:D})},N.basename=function(T){return at.basename(T.path)},N.extname=function(T){return at.extname(T.path)}})(pr||(pr={})),bC=n})();var{URI:ft,Utils:po}=bC;var Je;(function(t){t.basename=po.basename,t.dirname=po.dirname,t.extname=po.extname,t.joinPath=po.joinPath,t.resolvePath=po.resolvePath;let e=typeof process=="object"&&process?.platform==="win32";function r(o,l){return o?.toString()===l?.toString()}a(r,"equals"),t.equals=r;function n(o,l){let u=typeof o=="string"?ft.parse(o).path:o.path,c=typeof l=="string"?ft.parse(l).path:l.path,f=u.split("/").filter(C=>C.length>0),p=c.split("/").filter(C=>C.length>0);if(e){let C=/^[A-Z]:$/;if(f[0]&&C.test(f[0])&&(f[0]=f[0].toLowerCase()),p[0]&&C.test(p[0])&&(p[0]=p[0].toLowerCase()),f[0]!==p[0])return c.substring(1)}let m=0;for(;m({name:i.name,uri:Je.joinPath(ft.parse(r),i.name).toString(),element:i.element})):[]}all(){return this.collectValues(this.root)}findAll(e){let r=this.getNode(Je.normalize(e),!1);return r?this.collectValues(r):[]}getNode(e,r){let n=e.split("/");e.charAt(e.length-1)==="/"&&n.pop();let i=this.root;for(let s of n){let o=i.children.get(s);if(!o)if(r)o={name:s,children:new Map,parent:i},i.children.set(s,o);else return;i=o}return i}collectValues(e){let r=[];e.element&&r.push(e.element);for(let n of e.children.values())r.push(...this.collectValues(n));return r}};var ee;(function(t){t[t.Changed=0]="Changed",t[t.Parsed=1]="Parsed",t[t.IndexedContent=2]="IndexedContent",t[t.ComputedScopes=3]="ComputedScopes",t[t.Linked=4]="Linked",t[t.IndexedReferences=5]="IndexedReferences",t[t.Validated=6]="Validated"})(ee||(ee={}));var eu=class{static{a(this,"DefaultLangiumDocumentFactory")}constructor(e){this.serviceRegistry=e.ServiceRegistry,this.textDocuments=e.workspace.TextDocuments,this.fileSystemProvider=e.workspace.FileSystemProvider}async fromUri(e,r=V.CancellationToken.None){let n=await this.fileSystemProvider.readFile(e);return this.createAsync(e,n,r)}fromTextDocument(e,r,n){return r=r??ft.parse(e.uri),V.CancellationToken.is(n)?this.createAsync(r,e,n):this.create(r,e,n)}fromString(e,r,n){return V.CancellationToken.is(n)?this.createAsync(r,e,n):this.create(r,e,n)}fromModel(e,r){return this.create(r,{$model:e})}create(e,r,n){if(typeof r=="string"){let i=this.parse(e,r,n);return this.createLangiumDocument(i,e,void 0,r)}else if("$model"in r){let i={value:r.$model,parserErrors:[],lexerErrors:[]};return this.createLangiumDocument(i,e)}else{let i=this.parse(e,r.getText(),n);return this.createLangiumDocument(i,e,r)}}async createAsync(e,r,n){if(typeof r=="string"){let i=await this.parseAsync(e,r,n);return this.createLangiumDocument(i,e,void 0,r)}else{let i=await this.parseAsync(e,r.getText(),n);return this.createLangiumDocument(i,e,r)}}createLangiumDocument(e,r,n,i){let s;if(n)s={parseResult:e,uri:r,state:ee.Parsed,references:[],textDocument:n};else{let o=this.createTextDocumentGetter(r,i);s={parseResult:e,uri:r,state:ee.Parsed,references:[],get textDocument(){return o()}}}return e.value.$document=s,s}async update(e,r){let n=e.parseResult.value.$cstNode?.root.fullText,i=this.textDocuments?.get(e.uri.toString()),s=i?i.getText():await this.fileSystemProvider.readFile(e.uri);if(i)Object.defineProperty(e,"textDocument",{value:i});else{let o=this.createTextDocumentGetter(e.uri,s);Object.defineProperty(e,"textDocument",{get:o})}return n!==s&&(e.parseResult=await this.parseAsync(e.uri,s,r),e.parseResult.value.$document=e),e.state=ee.Parsed,e}parse(e,r,n){return this.serviceRegistry.getServices(e).parser.LangiumParser.parse(r,n)}parseAsync(e,r,n){return this.serviceRegistry.getServices(e).parser.AsyncParser.parse(r,n)}createTextDocumentGetter(e,r){let n=this.serviceRegistry,i;return()=>i??(i=fo.create(e.toString(),n.getServices(e).LanguageMetaData.languageId,0,r??""))}},tu=class{static{a(this,"DefaultLangiumDocuments")}constructor(e){this.documentTrie=new mo,this.services=e,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.documentBuilder=()=>e.workspace.DocumentBuilder}get all(){return te(this.documentTrie.all())}addDocument(e){let r=e.uri.toString();if(this.documentTrie.has(r))throw new Error(`A document with the URI '${r}' is already present.`);this.documentTrie.insert(r,e)}getDocument(e){let r=e.toString();return this.documentTrie.find(r)}getDocuments(e){let r=e.toString();return this.documentTrie.findAll(r)}async getOrCreateDocument(e,r){let n=this.getDocument(e);return n||(n=await this.langiumDocumentFactory.fromUri(e,r),this.addDocument(n),n)}createDocument(e,r,n){if(n)return this.langiumDocumentFactory.fromString(r,e,n).then(i=>(this.addDocument(i),i));{let i=this.langiumDocumentFactory.fromString(r,e);return this.addDocument(i),i}}hasDocument(e){return this.documentTrie.has(e.toString())}invalidateDocument(e){let r=e.toString(),n=this.documentTrie.find(r);return n&&this.documentBuilder().resetToState(n,ee.Changed),n}deleteDocument(e){let r=e.toString(),n=this.documentTrie.find(r);return n&&(n.state=ee.Changed,this.documentTrie.delete(r)),n}deleteDocuments(e){let r=e.toString(),n=this.documentTrie.findAll(r);for(let i of n)i.state=ee.Changed;return this.documentTrie.delete(r),n}};var va=Symbol("RefResolving"),ru=class{static{a(this,"DefaultLinker")}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,r=V.CancellationToken.None){if(this.profiler?.isActive("linking")){let n=this.profiler.createTask("linking",this.languageId);n.start();try{for(let i of Lt(e.parseResult.value))await Be(r),Bn(i).forEach(s=>{let o=`${i.$type}:${s.property}`;n.startSubTask(o);try{this.doLink(s,e)}finally{n.stopSubTask(o)}})}finally{n.stop()}}else for(let n of Lt(e.parseResult.value))await Be(r),Bn(n).forEach(i=>this.doLink(i,e))}doLink(e,r){let n=e.reference;if("_ref"in n&&n._ref===void 0){n._ref=va;try{let i=this.getCandidate(e);if(ji(i))n._ref=i;else{n._nodeDescription=i;let s=this.loadAstNode(i);n._ref=s??this.createLinkingError(e,i)}}catch(i){console.error(`An error occurred while resolving reference to '${n.$refText}':`,i);let s=i.message??String(i);n._ref={info:e,message:`An error occurred while resolving reference to '${n.$refText}': ${s}`}}r.references.push(n)}else if("_items"in n&&n._items===void 0){n._items=va;try{let i=this.getCandidates(e),s=[];if(ji(i))n._linkingError=i;else for(let o of i){let l=this.loadAstNode(o);l&&s.push({ref:l,$nodeDescription:o})}n._items=s}catch(i){n._linkingError={info:e,message:`An error occurred while resolving reference to '${n.$refText}': ${i}`},n._items=[]}r.references.push(n)}}unlink(e){for(let r of e.references)"_ref"in r?(r._ref=void 0,delete r._nodeDescription):"_items"in r&&(r._items=void 0,delete r._linkingError);e.references=[]}getCandidate(e){return this.scopeProvider.getScope(e).getElement(e.reference.$refText)??this.createLinkingError(e)}getCandidates(e){let n=this.scopeProvider.getScope(e).getElements(e.reference.$refText).distinct(i=>`${i.documentUri}#${i.path}`).toArray();return n.length>0?n:this.createLinkingError(e)}buildReference(e,r,n,i){let s=this,o={$refNode:n,$refText:i,_ref:void 0,get ref(){if(Ue(this._ref))return this._ref;if(_d(this._nodeDescription)){let l=s.loadAstNode(this._nodeDescription);this._ref=l??s.createLinkingError({reference:o,container:e,property:r},this._nodeDescription)}else if(this._ref===void 0){this._ref=va;let l=za(e).$document,u=s.getLinkedNode({reference:o,container:e,property:r});if(u.error&&l&&l.state0))return this._linkingError=s.createLinkingError({reference:o,container:e,property:r})}};return o}throwCyclicReferenceError(e,r,n){throw new Error(`Cyclic reference resolution detected: ${this.astNodeLocator.getAstNodePath(e)}/${r} (symbol '${n}')`)}getLinkedNode(e){try{let r=this.getCandidate(e);if(ji(r))return{error:r};let n=this.loadAstNode(r);return n?{node:n,descr:r}:{descr:r,error:this.createLinkingError(e,r)}}catch(r){console.error(`An error occurred while resolving reference to '${e.reference.$refText}':`,r);let n=r.message??String(r);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 r=this.langiumDocuments().getDocument(e.documentUri);if(r)return this.astNodeLocator.getAstNode(r.parseResult.value,e.path)}createLinkingError(e,r){let n=za(e.container).$document;n&&n.stateNr(r)&&r.isMulti)}findDeclarations(e){if(e){let r=Tm(e),n=e.astNode;if(r&&n){let i=n[r.feature];if(ot(i)||rr(i))return Yu(i);if(Array.isArray(i)){for(let s of i)if((ot(s)||rr(s))&&s.$refNode&&s.$refNode.offset<=e.offset&&s.$refNode.end>=e.end)return Yu(s)}}if(n){let i=this.nameProvider.getNameNode(n);if(i&&(i===e||tm(e,i)))return this.getSelfNodes(n)}}return[]}getSelfNodes(e){if(this.hasMultiReference){let r=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e)),n=this.getNodeFromReferenceDescription(r.head());if(n){for(let i of Bn(n))if(rr(i.reference)&&i.reference.items.some(s=>s.ref===e))return i.reference.items.map(s=>s.ref)}return[e]}else return[e]}getNodeFromReferenceDescription(e){if(!e)return;let r=this.documents.getDocument(e.sourceUri);if(r)return this.nodeLocator.getAstNode(r.parseResult.value,e.sourcePath)}findDeclarationNodes(e){let r=this.findDeclarations(e),n=[];for(let i of r){let s=this.nameProvider.getNameNode(i)??i.$cstNode;s&&n.push(s)}return n}findReferences(e,r){let n=[];r.includeDeclaration&&n.push(...this.getSelfReferences(e));let i=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e));return r.documentUri&&(i=i.filter(s=>Je.equals(s.sourceUri,r.documentUri))),n.push(...i),te(n)}getSelfReferences(e){let r=this.getSelfNodes(e),n=[];for(let i of r){let s=this.nameProvider.getNameNode(i);if(s){let o=Ct(i),l=this.nodeLocator.getAstNodePath(i);n.push({sourceUri:o.uri,sourcePath:l,targetUri:o.uri,targetPath:l,segment:ea(s),local:!0})}}return n}};var It=class{static{a(this,"MultiMap")}constructor(e){if(this.map=new Map,e)for(let[r,n]of e)this.add(r,n)}get size(){return Ua.sum(te(this.map.values()).map(e=>e.length))}clear(){this.map.clear()}delete(e,r){if(r===void 0)return this.map.delete(e);{let n=this.map.get(e);if(n){let i=n.indexOf(r);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 r=this.map.get(e);return r?te(r):zn}has(e,r){if(r===void 0)return this.map.has(e);{let n=this.map.get(e);return n?n.indexOf(r)>=0:!1}}add(e,r){return this.map.has(e)?this.map.get(e).push(r):this.map.set(e,[r]),this}addAll(e,r){return this.map.has(e)?this.map.get(e).push(...r):this.map.set(e,Array.from(r)),this}forEach(e){this.map.forEach((r,n)=>r.forEach(i=>e(i,n,this)))}[Symbol.iterator](){return this.entries().iterator()}entries(){return te(this.map.entries()).flatMap(([e,r])=>r.map(n=>[e,n]))}keys(){return te(this.map.keys())}values(){return te(this.map.values()).flat()}entriesGroupedByKey(){return te(this.map.entries())}},Aa=class{static{a(this,"BiMap")}get size(){return this.map.size}constructor(e){if(this.map=new Map,this.inverse=new Map,e)for(let[r,n]of e)this.set(r,n)}clear(){this.map.clear(),this.inverse.clear()}set(e,r){return this.map.set(e,r),this.inverse.set(r,e),this}get(e){return this.map.get(e)}getKey(e){return this.inverse.get(e)}delete(e){let r=this.map.get(e);return r!==void 0?(this.map.delete(e),this.inverse.delete(r),!0):!1}};var au=class{static{a(this,"DefaultScopeComputation")}constructor(e){this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider}async collectExportedSymbols(e,r=V.CancellationToken.None){return this.collectExportedSymbolsForNode(e.parseResult.value,e,void 0,r)}async collectExportedSymbolsForNode(e,r,n=Vo,i=V.CancellationToken.None){let s=[];this.addExportedSymbol(e,s,r);for(let o of n(e))await Be(i),this.addExportedSymbol(o,s,r);return s}addExportedSymbol(e,r,n){let i=this.nameProvider.getName(e);i&&r.push(this.descriptions.createDescription(e,i,n))}async collectLocalSymbols(e,r=V.CancellationToken.None){let n=e.parseResult.value,i=new It;for(let s of br(n))await Be(r),this.addLocalSymbol(s,e,i);return i}addLocalSymbol(e,r,n){let i=e.$container;if(i){let s=this.nameProvider.getName(e);s&&n.add(i,this.descriptions.createDescription(e,s,r))}}};var ho=class{static{a(this,"StreamScope")}constructor(e,r,n){this.elements=e,this.outerScope=r,this.caseInsensitive=n?.caseInsensitive??!1,this.concatOuterScope=n?.concatOuterScope??!0}getAllElements(){return this.outerScope?this.elements.concat(this.outerScope.getAllElements()):this.elements}getElement(e){let r=this.caseInsensitive?e.toLowerCase():e,n=this.caseInsensitive?this.elements.find(i=>i.name.toLowerCase()===r):this.elements.find(i=>i.name===e);if(n)return n;if(this.outerScope)return this.outerScope.getElement(e)}getElements(e){let r=this.caseInsensitive?e.toLowerCase():e,n=this.caseInsensitive?this.elements.filter(i=>i.name.toLowerCase()===r):this.elements.filter(i=>i.name===e);return(this.concatOuterScope||n.isEmpty())&&this.outerScope?n.concat(this.outerScope.getElements(e)):n}},Py=class{static{a(this,"MapScope")}constructor(e,r,n){this.elements=new Map,this.caseInsensitive=n?.caseInsensitive??!1,this.concatOuterScope=n?.concatOuterScope??!0;for(let i of e){let s=this.caseInsensitive?i.name.toLowerCase():i.name;this.elements.set(s,i)}this.outerScope=r}getElement(e){let r=this.caseInsensitive?e.toLowerCase():e,n=this.elements.get(r);if(n)return n;if(this.outerScope)return this.outerScope.getElement(e)}getElements(e){let r=this.caseInsensitive?e.toLowerCase():e,n=this.elements.get(r),i=n?[n]:[];return(this.concatOuterScope||i.length>0)&&this.outerScope?te(i).concat(this.outerScope.getElements(e)):te(i)}getAllElements(){let e=te(this.elements.values());return this.outerScope&&(e=e.concat(this.outerScope.getAllElements())),e}},su=class{static{a(this,"MultiMapScope")}constructor(e,r,n){this.elements=new It,this.caseInsensitive=n?.caseInsensitive??!1,this.concatOuterScope=n?.concatOuterScope??!0;for(let i of e){let s=this.caseInsensitive?i.name.toLowerCase():i.name;this.elements.add(s,i)}this.outerScope=r}getElement(e){let r=this.caseInsensitive?e.toLowerCase():e,n=this.elements.get(r)[0];if(n)return n;if(this.outerScope)return this.outerScope.getElement(e)}getElements(e){let r=this.caseInsensitive?e.toLowerCase():e,n=this.elements.get(r);return(this.concatOuterScope||n.length===0)&&this.outerScope?te(n).concat(this.outerScope.getElements(e)):te(n)}getAllElements(){let e=te(this.elements.values());return this.outerScope&&(e=e.concat(this.outerScope.getAllElements())),e}},gB={getElement(){},getElements(){return zn},getAllElements(){return zn}};var yo=class{static{a(this,"DisposableCache")}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")}},ou=class extends yo{static{a(this,"SimpleCache")}constructor(){super(...arguments),this.cache=new Map}has(e){return this.throwIfDisposed(),this.cache.has(e)}set(e,r){this.throwIfDisposed(),this.cache.set(e,r)}get(e,r){if(this.throwIfDisposed(),this.cache.has(e))return this.cache.get(e);if(r){let n=r();return this.cache.set(e,n),n}else return}delete(e){return this.throwIfDisposed(),this.cache.delete(e)}clear(){this.throwIfDisposed(),this.cache.clear()}},Ca=class extends yo{static{a(this,"ContextCache")}constructor(e){super(),this.cache=new Map,this.converter=e??(r=>r)}has(e,r){return this.throwIfDisposed(),this.cacheForContext(e).has(r)}set(e,r,n){this.throwIfDisposed(),this.cacheForContext(e).set(r,n)}get(e,r,n){this.throwIfDisposed();let i=this.cacheForContext(e);if(i.has(r))return i.get(r);if(n){let s=n();return i.set(r,s),s}else return}delete(e,r){return this.throwIfDisposed(),this.cacheForContext(e).delete(r)}clear(e){if(this.throwIfDisposed(),e){let r=this.converter(e);this.cache.delete(r)}else this.cache.clear()}cacheForContext(e){let r=this.converter(e),n=this.cache.get(r);return n||(n=new Map,this.cache.set(r,n)),n}},Cp=class extends Ca{static{a(this,"DocumentCache")}constructor(e,r){super(n=>n.toString()),r?(this.toDispose.push(e.workspace.DocumentBuilder.onDocumentPhase(r,n=>{this.clear(n.uri.toString())})),this.toDispose.push(e.workspace.DocumentBuilder.onUpdate((n,i)=>{for(let s of i)this.clear(s)}))):this.toDispose.push(e.workspace.DocumentBuilder.onUpdate((n,i)=>{let s=n.concat(i);for(let o of s)this.clear(o)}))}},go=class extends ou{static{a(this,"WorkspaceCache")}constructor(e,r){super(),r?(this.toDispose.push(e.workspace.DocumentBuilder.onBuildPhase(r,()=>{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()}))}};var lu=class{static{a(this,"DefaultScopeProvider")}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 go(e.shared)}getScope(e){let r=[],n=this.reflection.getReferenceType(e),i=Ct(e.container).localSymbols;if(i){let o=e.container;do i.has(o)&&r.push(i.getStream(o).filter(l=>this.reflection.isSubtype(l.type,n))),o=o.$container;while(o)}let s=this.getGlobalScope(n,e);for(let o=r.length-1;o>=0;o--)s=this.createScope(r[o],s);return s}createScope(e,r,n){return new ho(te(e),r,n)}createScopeForNodes(e,r,n){let i=te(e).map(s=>{let o=this.nameProvider.getName(s);if(o)return this.descriptions.createDescription(s,o)}).nonNullable();return new ho(i,r,n)}getGlobalScope(e,r){return this.globalScopeCache.get(e,()=>new su(this.indexManager.allElements(e)))}};function Oy(t){return typeof t.$comment=="string"}a(Oy,"isAstNodeWithComment");function wC(t){return typeof t=="object"&&!!t&&("$ref"in t||"$error"in t)}a(wC,"isIntermediateReference");var uu=class{static{a(this,"DefaultJsonSerializer")}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,r){let n=r??{},i=r?.replacer,s=a((l,u)=>this.replacer(l,u,n),"defaultReplacer"),o=i?(l,u)=>i(l,u,s):s;try{return this.currentDocument=Ct(e),JSON.stringify(e,o,r?.space)}finally{this.currentDocument=void 0}}deserialize(e,r){let n=r??{},i=JSON.parse(e);return this.linkNode(i,i,n),i}replacer(e,r,{refText:n,sourceText:i,textRegions:s,comments:o,uriConverter:l}){if(!this.ignoreProperties.has(e))if(ot(r)){let u=r.ref,c=n?r.$refText:void 0;if(u){let f=Ct(u),p="";this.currentDocument&&this.currentDocument!==f&&(l?p=l(f.uri,u):p=f.uri.toString());let m=this.astNodeLocator.getAstNodePath(u);return{$ref:`${p}#${m}`,$refText:c}}else return{$error:r.error?.message??"Could not resolve reference",$refText:c}}else if(rr(r)){let u=n?r.$refText:void 0,c=[];for(let f of r.items){let p=f.ref,m=Ct(f.ref),y="";this.currentDocument&&this.currentDocument!==m&&(l?y=l(m.uri,p):y=m.uri.toString());let A=this.astNodeLocator.getAstNodePath(p);c.push(`${y}#${A}`)}return{$refs:c,$refText:u}}else if(Ue(r)){let u;if(s&&(u=this.addAstNodeRegionWithAssignmentsTo({...r}),(!e||r.$document)&&u?.$textRegion&&(u.$textRegion.documentURI=this.currentDocument?.uri.toString())),i&&!e&&(u??(u={...r}),u.$sourceText=r.$cstNode?.text),o){u??(u={...r});let c=this.commentProvider.getComment(r);c&&(u.$comment=c.replace(/\r/g,""))}return u??r}else return r}addAstNodeRegionWithAssignmentsTo(e){let r=a(n=>({offset:n.offset,end:n.end,length:n.length,range:n.range}),"createDocumentSegment");if(e.$cstNode){let n=e.$textRegion=r(e.$cstNode),i=n.assignments={};return Object.keys(e).filter(s=>!s.startsWith("$")).forEach(s=>{let o=mm(e.$cstNode,s).map(r);o.length!==0&&(i[s]=o)}),e}}linkNode(e,r,n,i,s,o){for(let[u,c]of Object.entries(e))if(Array.isArray(c))for(let f=0;f{await this.handleException(()=>e.call(r,n,i,s),"An error occurred during validation",i,n)}}async handleException(e,r,n,i){try{await e()}catch(s){if(sn(s))throw s;console.error(`${r}:`,s),s instanceof Error&&s.stack&&console.error(s.stack);let o=s instanceof Error?s.message:String(s);n("error",`${r}: ${o}`,{node:i})}}addEntry(e,r){if(e==="AstNode"){this.entries.add("AstNode",r);return}for(let n of this.reflection.getAllSubTypes(e))this.entries.add(n,r)}getChecks(e,r){let n=te(this.entries.get(e)).concat(this.entries.get("AstNode"));return r&&(n=n.filter(i=>r.includes(i.category))),n.map(i=>i.check)}registerBeforeDocument(e,r=this){this.entriesBefore.push(this.wrapPreparationException(e,"An error occurred during set-up of the validation",r))}registerAfterDocument(e,r=this){this.entriesAfter.push(this.wrapPreparationException(e,"An error occurred during tear-down of the validation",r))}wrapPreparationException(e,r,n){return async(i,s,o,l)=>{await this.handleException(()=>e.call(n,i,s,o,l),r,s,i)}}get checksBefore(){return this.entriesBefore}get checksAfter(){return this.entriesAfter}getAllValidationCategories(e){return this.knownCategories}};var NC=Object.freeze({validateNode:!0,validateChildren:!0}),pu=class{static{a(this,"DefaultDocumentValidator")}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,r={},n=V.CancellationToken.None){let i=e.parseResult,s=[];if(await Be(n),(!r.categories||r.categories.includes("built-in"))&&(this.processLexingErrors(i,s,r),r.stopAfterLexingErrors&&s.some(o=>o.data?.code===xr.LexingError)||(this.processParsingErrors(i,s,r),r.stopAfterParsingErrors&&s.some(o=>o.data?.code===xr.ParsingError))||(this.processLinkingErrors(e,s,r),r.stopAfterLinkingErrors&&s.some(o=>o.data?.code===xr.LinkingError))))return s;try{s.push(...await this.validateAst(i.value,r,n))}catch(o){if(sn(o))throw o;console.error("An error occurred during validation:",o)}return await Be(n),s}processLexingErrors(e,r,n){let i=[...e.lexerErrors,...e.lexerReport?.diagnostics??[]];for(let s of i){let o=s.severity??"error",l={severity:Sp(o),range:{start:{line:s.line-1,character:s.column-1},end:{line:s.line-1,character:s.column+s.length-1}},message:s.message,data:_C(o),source:this.getSource()};r.push(l)}}processParsingErrors(e,r,n){for(let i of e.parserErrors){let s;if(isNaN(i.token.startOffset)){if("previousToken"in i){let o=i.previousToken;if(isNaN(o.startOffset)){let l={line:0,character:0};s={start:l,end:l}}else{let l={line:o.endLine-1,character:o.endColumn};s={start:l,end:l}}}}else s=Ja(i.token);if(s){let o={severity:Sp("error"),range:s,message:i.message,data:ba(xr.ParsingError),source:this.getSource()};r.push(o)}}}processLinkingErrors(e,r,n){for(let i of e.references){let s=i.error;if(s){let o={node:s.info.container,range:i.$refNode?.range,property:s.info.property,index:s.info.index,data:{code:xr.LinkingError,containerType:s.info.container.$type,property:s.info.property,refText:s.info.reference.$refText}};r.push(this.toDiagnostic("error",s.message,o))}}}async validateAst(e,r,n=V.CancellationToken.None){let i=[],s=a((o,l,u)=>{i.push(this.toDiagnostic(o,l,u))},"acceptor");return await this.validateAstBefore(e,r,s,n),await this.validateAstNodes(e,r,s,n),await this.validateAstAfter(e,r,s,n),i}async validateAstBefore(e,r,n,i=V.CancellationToken.None){let s=this.validationRegistry.checksBefore;for(let o of s)await Be(i),await o(e,n,r.categories??[],i)}async validateAstNodes(e,r,n,i=V.CancellationToken.None){if(this.profiler?.isActive("validating")){let s=this.profiler.createTask("validating",this.languageId);s.start();try{let o=Lt(e).iterator();for(let l of o){s.startSubTask(l.$type);let u=this.validateSingleNodeOptions(l,r);if(u.validateNode)try{let c=this.validationRegistry.getChecks(l.$type,r.categories);for(let f of c)await f(l,n,i)}finally{s.stopSubTask(l.$type)}u.validateChildren||o.prune()}}finally{s.stop()}}else{let s=Lt(e).iterator();for(let o of s){await Be(i);let l=this.validateSingleNodeOptions(o,r);if(l.validateNode){let u=this.validationRegistry.getChecks(o.$type,r.categories);for(let c of u)await c(o,n,i)}l.validateChildren||s.prune()}}}validateSingleNodeOptions(e,r){return NC}async validateAstAfter(e,r,n,i=V.CancellationToken.None){let s=this.validationRegistry.checksAfter;for(let o of s)await Be(i),await o(e,n,r.categories??[],i)}toDiagnostic(e,r,n){return{message:r,range:IC(n),severity:Sp(e),code:n.code,codeDescription:n.codeDescription,tags:n.tags,relatedInformation:n.relatedInformation,data:n.data,source:this.getSource()}}getSource(){return this.metadata.languageId}};function IC(t){if(t.range)return t.range;let e;return typeof t.property=="string"?e=cl(t.node.$cstNode,t.property,t.index):typeof t.keyword=="string"&&(e=ym(t.node.$cstNode,t.keyword,t.index)),e??(e=t.node.$cstNode),e?e.range:{start:{line:0,character:0},end:{line:0,character:0}}}a(IC,"getDiagnosticRange");function Sp(t){switch(t){case"error":return 1;case"warning":return 2;case"info":return 3;case"hint":return 4;default:throw new Error("Invalid diagnostic severity: "+t)}}a(Sp,"toDiagnosticSeverity");function _C(t){switch(t){case"error":return ba(xr.LexingError);case"warning":return ba(xr.LexingWarning);case"info":return ba(xr.LexingInfo);case"hint":return ba(xr.LexingHint);default:throw new Error("Invalid diagnostic severity: "+t)}}a(_C,"toDiagnosticData");var xr;(function(t){t.LexingError="lexing-error",t.LexingWarning="lexing-warning",t.LexingInfo="lexing-info",t.LexingHint="lexing-hint",t.ParsingError="parsing-error",t.LinkingError="linking-error"})(xr||(xr={}));var du=class{static{a(this,"DefaultAstNodeDescriptionProvider")}constructor(e){this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider}createDescription(e,r,n){let i=n??Ct(e);r??(r=this.nameProvider.getName(e));let s=this.astNodeLocator.getAstNodePath(e);if(!r)throw new Error(`Node at path ${s} has no name.`);let o,l=a(()=>o??(o=ea(this.nameProvider.getNameNode(e)??e.$cstNode)),"nameSegmentGetter");return{node:e,name:r,get nameSegment(){return l()},selectionSegment:ea(e.$cstNode),type:e.$type,documentUri:i.uri,path:s}}},mu=class{static{a(this,"DefaultReferenceDescriptionProvider")}constructor(e){this.nodeLocator=e.workspace.AstNodeLocator}async createDescriptions(e,r=V.CancellationToken.None){let n=[],i=e.parseResult.value;for(let s of Lt(i))await Be(r),Bn(s).forEach(o=>{o.reference.error||n.push(...this.createInfoDescriptions(o))});return n}createInfoDescriptions(e){let r=e.reference;if(r.error||!r.$refNode)return[];let n=[];ot(r)&&r.$nodeDescription?n=[r.$nodeDescription]:rr(r)&&(n=r.items.map(u=>u.$nodeDescription).filter(u=>u!==void 0));let i=Ct(e.container).uri,s=this.nodeLocator.getAstNodePath(e.container),o=[],l=ea(r.$refNode);for(let u of n)o.push({sourceUri:i,sourcePath:s,targetUri:u.documentUri,targetPath:u.path,segment:l,local:Je.equals(u.documentUri,i)});return o}};var hu=class{static{a(this,"DefaultAstNodeLocator")}constructor(){this.segmentSeparator="/",this.indexSeparator="@"}getAstNodePath(e){if(e.$container){let r=this.getAstNodePath(e.$container),n=this.getPathSegment(e);return r+this.segmentSeparator+n}return""}getPathSegment({$containerProperty:e,$containerIndex:r}){if(!e)throw new Error("Missing '$containerProperty' in AST node.");return r!==void 0?e+this.indexSeparator+r:e}getAstNode(e,r){return r.split(this.segmentSeparator).reduce((i,s)=>{if(!i||s.length===0)return i;let o=s.indexOf(this.indexSeparator);if(o>0){let l=s.substring(0,o),u=parseInt(s.substring(o+1));return i[l]?.[u]}return i[s]},e)}};var _e={};se(_e,Nd(Ea(),1));var yu=class{static{a(this,"DefaultConfigurationProvider")}constructor(e){this._ready=new Kt,this.onConfigurationSectionUpdateEmitter=new _e.Emitter,this.settings={},this.workspaceConfig=!1,this.serviceRegistry=e.ServiceRegistry}get ready(){return this._ready.promise}initialize(e){this.workspaceConfig=e.capabilities.workspace?.configuration??!1}async initialized(e){if(this.workspaceConfig){if(e.register){let r=this.serviceRegistry.all;e.register({section:r.map(n=>this.toSectionName(n.LanguageMetaData.languageId))})}if(e.fetchConfiguration){let r=this.serviceRegistry.all.map(i=>({section:this.toSectionName(i.LanguageMetaData.languageId)})),n=await e.fetchConfiguration(r);r.forEach((i,s)=>{this.updateSectionConfiguration(i.section,n[s])})}}this._ready.resolve()}updateConfiguration(e){typeof e.settings!="object"||e.settings===null||Object.entries(e.settings).forEach(([r,n])=>{this.updateSectionConfiguration(r,n),this.onConfigurationSectionUpdateEmitter.fire({section:r,configuration:n})})}updateSectionConfiguration(e,r){this.settings[e]=r}async getConfiguration(e,r){await this.ready;let n=this.toSectionName(e);if(this.settings[n])return this.settings[n][r]}toSectionName(e){return`${e}`}get onConfigurationSectionUpdate(){return this.onConfigurationSectionUpdateEmitter.event}};var Po=Nd(eN(),1);var Fi;(function(t){function e(r){return{dispose:a(async()=>await r(),"dispose")}}a(e,"create"),t.create=e})(Fi||(Fi={}));var bu=class{static{a(this,"DefaultDocumentBuilder")}constructor(e){this.updateBuildOptions={validation:{categories:["built-in","fast"]}},this.updateListeners=[],this.buildPhaseListeners=new It,this.documentPhaseListeners=new It,this.buildState=new Map,this.documentBuildWaiters=new Map,this.currentState=ee.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,r={},n=V.CancellationToken.None){for(let i of e){let s=i.uri.toString();if(i.state===ee.Validated){if(typeof r.validation=="boolean"&&r.validation)this.resetToState(i,ee.IndexedReferences);else if(typeof r.validation=="object"){let o=this.findMissingValidationCategories(i,r);o.length>0&&(this.buildState.set(s,{completed:!1,options:{validation:{categories:o}},result:this.buildState.get(s)?.result}),i.state=ee.IndexedReferences)}}else this.buildState.delete(s)}this.currentState=ee.Changed,await this.emitUpdate(e.map(i=>i.uri),[]),await this.buildDocuments(e,r,n)}async update(e,r,n=V.CancellationToken.None){this.currentState=ee.Changed;let i=[];for(let u of r){let c=this.langiumDocuments.deleteDocuments(u);for(let f of c)i.push(f.uri),this.cleanUpDeleted(f)}let s=(await Promise.all(e.map(u=>this.findChangedUris(u)))).flat();for(let u of s){let c=this.langiumDocuments.getDocument(u);c===void 0&&(c=this.langiumDocumentFactory.fromModel({$type:"INVALID"},u),c.state=ee.Changed,this.langiumDocuments.addDocument(c)),this.resetToState(c,ee.Changed)}let o=te(s).concat(i).map(u=>u.toString()).toSet();this.langiumDocuments.all.filter(u=>!o.has(u.uri.toString())&&this.shouldRelink(u,o)).forEach(u=>this.resetToState(u,ee.ComputedScopes)),await this.emitUpdate(s,i),await Be(n);let l=this.sortDocuments(this.langiumDocuments.all.filter(u=>u.state=1}findMissingValidationCategories(e,r){let n=this.buildState.get(e.uri.toString()),i=this.serviceRegistry.getServices(e.uri).validation.ValidationRegistry.getAllValidationCategories(e),s=n?.result?.validationChecks?new Set(n?.result?.validationChecks):n?.completed?i:new Set,o=r===void 0||r.validation===!0?i:typeof r.validation=="object"?r.validation.categories??i:[];return te(o).filter(l=>!s.has(l)).toArray()}async findChangedUris(e){if(this.langiumDocuments.getDocument(e)??this.textDocuments?.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,r){await Promise.all(this.updateListeners.map(n=>n(e,r)))}sortDocuments(e){let r=0,n=e.length-1;for(;r=0&&!this.hasTextDocument(e[n]);)n--;rn.error!==void 0)?!0:this.indexManager.isAffected(e,r)}onUpdate(e){return this.updateListeners.push(e),Fi.create(()=>{let r=this.updateListeners.indexOf(e);r>=0&&this.updateListeners.splice(r,1)})}resetToState(e,r){switch(r){case ee.Changed:case ee.Parsed:this.indexManager.removeContent(e.uri);case ee.IndexedContent:e.localSymbols=void 0;case ee.ComputedScopes:this.serviceRegistry.getServices(e.uri).references.Linker.unlink(e);case ee.Linked:this.indexManager.removeReferences(e.uri);case ee.IndexedReferences:e.diagnostics=void 0,this.buildState.delete(e.uri.toString());case ee.Validated:}e.state>r&&(e.state=r)}cleanUpDeleted(e){this.buildState.delete(e.uri.toString()),this.indexManager.remove(e.uri),e.state=ee.Changed}async buildDocuments(e,r,n){this.prepareBuild(e,r),await this.runCancelable(e,ee.Parsed,n,o=>this.langiumDocumentFactory.update(o,n)),await this.runCancelable(e,ee.IndexedContent,n,o=>this.indexManager.updateContent(o,n)),await this.runCancelable(e,ee.ComputedScopes,n,async o=>{let l=this.serviceRegistry.getServices(o.uri).references.ScopeComputation;o.localSymbols=await l.collectLocalSymbols(o,n)});let i=e.filter(o=>this.shouldLink(o));await this.runCancelable(i,ee.Linked,n,o=>this.serviceRegistry.getServices(o.uri).references.Linker.link(o,n)),await this.runCancelable(i,ee.IndexedReferences,n,o=>this.indexManager.updateReferences(o,n));let s=e.filter(o=>this.shouldValidate(o)?!0:(this.markAsCompleted(o),!1));await this.runCancelable(s,ee.Validated,n,async o=>{await this.validate(o,n),this.markAsCompleted(o)})}markAsCompleted(e){let r=this.buildState.get(e.uri.toString());r&&(r.completed=!0)}prepareBuild(e,r){for(let n of e){let i=n.uri.toString(),s=this.buildState.get(i);(!s||s.completed)&&this.buildState.set(i,{completed:!1,options:r,result:s?.result})}}async runCancelable(e,r,n,i){for(let o of e)o.stateo.state===r);await this.notifyBuildPhase(s,r,n),this.currentState=r}onBuildPhase(e,r){return this.buildPhaseListeners.add(e,r),Fi.create(()=>{this.buildPhaseListeners.delete(e,r)})}onDocumentPhase(e,r){return this.documentPhaseListeners.add(e,r),Fi.create(()=>{this.documentPhaseListeners.delete(e,r)})}waitUntil(e,r,n){let i;return r&&"path"in r?i=r:n=r,n??(n=V.CancellationToken.None),i?this.awaitDocumentState(e,i,n):this.awaitBuilderState(e,n)}awaitDocumentState(e,r,n){let i=this.langiumDocuments.getDocument(r);if(i){if(i.state>=e)return Promise.resolve(r);if(n.isCancellationRequested)return Promise.reject(Tr);if(this.currentState>=e&&e>i.state)return Promise.reject(new Po.ResponseError(Po.LSPErrorCodes.RequestFailed,`Document state of ${r.toString()} is ${ee[i.state]}, requiring ${ee[e]}, but workspace state is already ${ee[this.currentState]}. Returning undefined.`))}else return Promise.reject(new Po.ResponseError(Po.LSPErrorCodes.ServerCancelled,`No document found for URI: ${r.toString()}`));return new Promise((s,o)=>{let l=this.onDocumentPhase(e,c=>{Je.equals(c.uri,r)&&(l.dispose(),u.dispose(),s(c.uri))}),u=n.onCancellationRequested(()=>{l.dispose(),u.dispose(),o(Tr)})})}awaitBuilderState(e,r){return this.currentState>=e?Promise.resolve():r.isCancellationRequested?Promise.reject(Tr):new Promise((n,i)=>{let s=this.onBuildPhase(e,()=>{s.dispose(),o.dispose(),n()}),o=r.onCancellationRequested(()=>{s.dispose(),o.dispose(),i(Tr)})})}async notifyDocumentPhase(e,r,n){let s=this.documentPhaseListeners.get(r).slice();for(let o of s)try{await Be(n),await o(e,n)}catch(l){if(!sn(l))throw l}}async notifyBuildPhase(e,r,n){if(e.length===0)return;let s=this.buildPhaseListeners.get(r).slice();for(let o of s)await Be(n),await o(e,n)}shouldLink(e){return this.getBuildOptions(e).eagerLinking??!0}shouldValidate(e){return!!this.getBuildOptions(e).validation}async validate(e,r){let n=this.serviceRegistry.getServices(e.uri).validation.DocumentValidator,i=this.getBuildOptions(e),s=typeof i.validation=="object"?{...i.validation}:{};s.categories=this.findMissingValidationCategories(e,i);let o=await n.validateDocument(e,s,r);e.diagnostics?e.diagnostics.push(...o):e.diagnostics=o;let l=this.buildState.get(e.uri.toString());l&&(l.result??(l.result={}),l.result.validationChecks?l.result.validationChecks=te(l.result.validationChecks).concat(s.categories).distinct().toArray():l.result.validationChecks=[...s.categories])}getBuildOptions(e){return this.buildState.get(e.uri.toString())?.options??{}}};var Su=class{static{a(this,"DefaultIndexManager")}constructor(e){this.symbolIndex=new Map,this.symbolByTypeIndex=new Ca,this.referenceIndex=new Map,this.documents=e.workspace.LangiumDocuments,this.serviceRegistry=e.ServiceRegistry,this.astReflection=e.AstReflection}findAllReferences(e,r){let n=Ct(e).uri,i=[];return this.referenceIndex.forEach(s=>{s.forEach(o=>{Je.equals(o.targetUri,n)&&o.targetPath===r&&i.push(o)})}),te(i)}allElements(e,r){let n=te(this.symbolIndex.keys());return r&&(n=n.filter(i=>!r||r.has(i))),n.map(i=>this.getFileDescriptions(i,e)).flat()}getFileDescriptions(e,r){return r?this.symbolByTypeIndex.get(e,r,()=>(this.symbolIndex.get(e)??[]).filter(s=>this.astReflection.isSubtype(s.type,r))):this.symbolIndex.get(e)??[]}remove(e){this.removeContent(e),this.removeReferences(e)}removeContent(e){let r=e.toString();this.symbolIndex.delete(r),this.symbolByTypeIndex.clear(r)}removeReferences(e){let r=e.toString();this.referenceIndex.delete(r)}async updateContent(e,r=V.CancellationToken.None){let i=await this.serviceRegistry.getServices(e.uri).references.ScopeComputation.collectExportedSymbols(e,r),s=e.uri.toString();this.symbolIndex.set(s,i),this.symbolByTypeIndex.clear(s)}async updateReferences(e,r=V.CancellationToken.None){let i=await this.serviceRegistry.getServices(e.uri).workspace.ReferenceDescriptionProvider.createDescriptions(e,r);this.referenceIndex.set(e.uri.toString(),i)}isAffected(e,r){let n=this.referenceIndex.get(e.uri.toString());return n?n.some(i=>!i.local&&r.has(i.targetUri.toString())):!1}};var wu=class{static{a(this,"DefaultWorkspaceManager")}constructor(e){this.initialBuildOptions={},this._ready=new Kt,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(r=>this.initializeWorkspace(this.folders??[],r))}async initializeWorkspace(e,r=V.CancellationToken.None){let n=await this.performStartup(e);await Be(r),await this.documentBuilder.build(n,this.initialBuildOptions,r)}async performStartup(e){let r=[],n=a(o=>{r.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 s=te(i).distinct(o=>o.toString()).filter(o=>!this.langiumDocuments.hasDocument(o));return await this.loadWorkspaceDocuments(s,n),this._ready.resolve(),r}async loadWorkspaceDocuments(e,r){await Promise.all(e.map(async n=>{let i=await this.langiumDocuments.getOrCreateDocument(n);r(i)}))}loadAdditionalDocuments(e,r){return Promise.resolve()}getRootFolder(e){return ft.parse(e.uri)}async traverseFolder(e,r){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,r):i.isFile&&r.push(i.uri))}))}catch(n){console.error("Failure to read directory content of "+e.toString(!0),n)}}async searchFolder(e){let r=[];return await this.traverseFolder(e,r),r}shouldIncludeEntry(e){let r=Je.basename(e.uri);return r.startsWith(".")?!1:e.isDirectory?r!=="node_modules"&&r!=="out":e.isFile?this.serviceRegistry.hasServices(e.uri):!1}};var Nu=class{static{a(this,"DefaultLexerErrorMessageProvider")}buildUnexpectedCharactersMessage(e,r,n,i,s){return Is.buildUnexpectedCharactersMessage(e,r,n,i,s)}buildUnableToPopLexerModeMessage(e){return Is.buildUnableToPopLexerModeMessage(e)}},ad={mode:"full"},Ia=class{static{a(this,"DefaultLexer")}constructor(e){this.errorMessageProvider=e.parser.LexerErrorMessageProvider,this.tokenBuilder=e.parser.TokenBuilder;let r=this.tokenBuilder.buildTokens(e.Grammar,{caseInsensitive:e.LanguageMetaData.caseInsensitive});this.tokenTypes=this.toTokenTypeDictionary(r);let n=eT(r)?Object.values(r):r,i=e.LanguageMetaData.mode==="production";this.chevrotainLexer=new Le(n,{positionTracking:"full",skipValidations:i,errorMessageProvider:this.errorMessageProvider})}get definition(){return this.tokenTypes}tokenize(e,r=ad){let n=this.chevrotainLexer.tokenize(e);return{tokens:n.tokens,errors:n.errors,hidden:n.groups.hidden??[],report:this.tokenBuilder.flushLexingReport?.(e)}}toTokenTypeDictionary(e){if(eT(e))return e;let r=tT(e)?Object.values(e.modes).flat():e,n={};return r.forEach(i=>n[i.name]=i),n}};function sd(t){return Array.isArray(t)&&(t.length===0||"name"in t[0])}a(sd,"isTokenTypeArray");function tT(t){return t&&"modes"in t&&"defaultMode"in t}a(tT,"isIMultiModeLexerDefinition");function eT(t){return!sd(t)&&!tT(t)}a(eT,"isTokenTypeDictionary");ao();function iT(t,e,r){let n,i;typeof t=="string"?(i=e,n=r):(i=t.range.start,n=e),i||(i=le.create(0,0));let s=nN(t),o=sT(n),l=aK({lines:s,position:i,options:o});return cK({index:0,tokens:l,position:i})}a(iT,"parseJSDoc");function aT(t,e){let r=sT(e),n=nN(t);if(n.length===0)return!1;let i=n[0],s=n[n.length-1],o=r.start,l=r.end;return!!o?.exec(i)&&!!l?.exec(s)}a(aT,"isJSDoc");function nN(t){let e="";return typeof t=="string"?e=t:e=t.text,e.split(om)}a(nN,"getLines");var tN=/\s*(@([\p{L}][\p{L}\p{N}]*)?)/uy,iK=/\{(@[\p{L}][\p{L}\p{N}]*)(\s*)([^\r\n}]+)?\}/gu;function aK(t){let e=[],r=t.position.line,n=t.position.character;for(let i=0;i=l.length){if(e.length>0){let f=le.create(r,n);e.push({type:"break",content:"",range:ie.create(f,f)})}}else{tN.lastIndex=u;let f=tN.exec(l);if(f){let p=f[0],m=f[1],y=le.create(r,n+u),A=le.create(r,n+u+p.length);e.push({type:"tag",content:m,range:ie.create(y,A)}),u+=p.length,u=nT(l,u)}if(u0&&e[e.length-1].type==="break"?e.slice(0,-1):e}a(aK,"tokenize");function sK(t,e,r,n){let i=[];if(t.length===0){let s=le.create(r,n),o=le.create(r,n+e.length);i.push({type:"text",content:e,range:ie.create(s,o)})}else{let s=0;for(let l of t){let u=l.index,c=e.substring(s,u);c.length>0&&i.push({type:"text",content:e.substring(s,u),range:ie.create(le.create(r,s+n),le.create(r,u+n))});let f=c.length+1,p=l[1];if(i.push({type:"inline-tag",content:p,range:ie.create(le.create(r,s+f+n),le.create(r,s+f+p.length+n))}),f+=p.length,l.length===4){f+=l[2].length;let m=l[3];i.push({type:"text",content:m,range:ie.create(le.create(r,s+f+n),le.create(r,s+f+m.length+n))})}else i.push({type:"text",content:"",range:ie.create(le.create(r,s+f+n),le.create(r,s+f+n))});s=u+l[0].length}let o=e.substring(s);o.length>0&&i.push({type:"text",content:o,range:ie.create(le.create(r,s+n),le.create(r,s+n+o.length))})}return i}a(sK,"buildInlineTokens");var oK=/\S/,lK=/\s*$/;function nT(t,e){let r=t.substring(e).match(oK);return r?e+r.index:t.length}a(nT,"skipWhitespace");function uK(t){let e=t.match(lK);if(e&&typeof e.index=="number")return e.index}a(uK,"lastCharacter");function cK(t){let e=le.create(t.position.line,t.position.character);if(t.tokens.length===0)return new od([],ie.create(e,e));let r=[];for(;t.indexr.name===e)}getTags(e){return this.getAllTags().filter(r=>r.name===e)}getAllTags(){return this.elements.filter(e=>"name"in e)}toString(){let e="";for(let r of this.elements)if(e.length===0)e=r.toString();else{let n=r.toString();e+=rN(e)+n}return e.trim()}toMarkdown(e){let r="";for(let n of this.elements)if(r.length===0)r=n.toMarkdown(e);else{let i=n.toMarkdown(e);r+=rN(r)+i}return r.trim()}},Iu=class{static{a(this,"JSDocTagImpl")}constructor(e,r,n,i){this.name=e,this.content=r,this.inline=n,this.range=i}toString(){let e=`@${this.name}`,r=this.content.toString();return this.content.inlines.length===1?e=`${e} ${r}`:this.content.inlines.length>1&&(e=`${e} ${r}`),this.inline?`{${e}}`:e}toMarkdown(e){return e?.renderTag?.(this)??this.toMarkdownDefault(e)}toMarkdownDefault(e){let r=this.content.toMarkdown(e);if(this.inline){let s=mK(this.name,r,e??{});if(typeof s=="string")return s}let n="";e?.tag==="italic"||e?.tag===void 0?n="*":e?.tag==="bold"?n="**":e?.tag==="bold-italic"&&(n="***");let i=`${n}@${this.name}${n}`;return this.content.inlines.length===1?i=`${i} \u2014 ${r}`:this.content.inlines.length>1&&(i=`${i} ${r}`),this.inline?`{${i}}`:i}};function mK(t,e,r){if(t==="linkplain"||t==="linkcode"||t==="link"){let n=e.indexOf(" "),i=e;if(n>0){let o=nT(e,n);i=e.substring(o),e=e.substring(0,n)}return(t==="linkcode"||t==="link"&&r.link==="code")&&(i=`\`${i}\``),r.renderLink?.(e,i)??hK(e,i)}}a(mK,"renderInlineTag");function hK(t,e){try{return ft.parse(t,!0),`[${e}](${t})`}catch{return t}}a(hK,"renderLinkDefault");var _u=class{static{a(this,"JSDocTextImpl")}constructor(e,r){this.inlines=e,this.range=r}toString(){let e="";for(let r=0;rn.range.start.line&&(e+=` `)}return e}toMarkdown(e){let r="";for(let n=0;ni.range.start.line&&(r+=` `)}return r}},ld=class{static{a(this,"JSDocLineImpl")}constructor(e,r){this.text=e,this.range=r}toString(){return this.text}toMarkdown(){return this.text}};function rN(t){return t.endsWith(` `)?` `:` `}a(rN,"fillNewlines");var ku=class{static{a(this,"JSDocDocumentationProvider")}constructor(e){this.indexManager=e.shared.workspace.IndexManager,this.commentProvider=e.documentation.CommentProvider}getDocumentation(e){let r=this.commentProvider.getComment(e);if(r&&aT(r))return iT(r).toMarkdown({renderLink:a((i,s)=>this.documentationLinkRenderer(e,i,s),"renderLink"),renderTag:a(i=>this.documentationTagRenderer(e,i),"renderTag")})}documentationLinkRenderer(e,r,n){let i=this.findNameInLocalSymbols(e,r)??this.findNameInGlobalScope(e,r);if(i&&i.nameSegment){let s=i.nameSegment.range.start.line+1,o=i.nameSegment.range.start.character+1,l=i.documentUri.with({fragment:`L${s},${o}`});return`[${n}](${l.toString()})`}else return}documentationTagRenderer(e,r){}findNameInLocalSymbols(e,r){let i=Ct(e).localSymbols;if(!i)return;let s=e;do{let l=i.getStream(s).find(u=>u.name===r);if(l)return l;s=s.$container}while(s)}findNameInGlobalScope(e,r){return this.indexManager.allElements().find(i=>i.name===r)}};var Pu=class{static{a(this,"DefaultCommentProvider")}constructor(e){this.grammarConfig=()=>e.parser.GrammarConfig}getComment(e){return Oy(e)?e.$comment:rm(e.$cstNode,this.grammarConfig().multilineCommentRules)?.text}};var Ou=class{static{a(this,"DefaultAsyncParser")}constructor(e){this.syncParser=e.parser.LangiumParser}parse(e,r){return Promise.resolve(this.syncParser.parse(e))}},oT=class{static{a(this,"AbstractThreadedAsyncParser")}constructor(e){this.threadCount=8,this.terminationDelay=200,this.workerPool=[],this.queue=[],this.hydrator=e.serializer.Hydrator}initializeWorkers(){for(;this.workerPool.length{if(this.queue.length>0){let r=this.queue.shift();r&&(e.lock(),r.resolve(e))}}),this.workerPool.push(e)}}async parse(e,r){let n=await this.acquireParserWorker(r),i=new Kt,s,o=r.onCancellationRequested(()=>{s=setTimeout(()=>{this.terminateWorker(n)},this.terminationDelay)});return n.parse(e).then(l=>{let u=this.hydrator.hydrate(l);i.resolve(u)}).catch(l=>{i.reject(l)}).finally(()=>{o.dispose(),clearTimeout(s)}),i.promise}terminateWorker(e){e.terminate();let r=this.workerPool.indexOf(e);r>=0&&this.workerPool.splice(r,1)}async acquireParserWorker(e){this.initializeWorkers();for(let n of this.workerPool)if(n.ready)return n.lock(),n;let r=new Kt;return e.onCancellationRequested(()=>{let n=this.queue.indexOf(r);n>=0&&this.queue.splice(n,1),r.reject(Tr)}),this.queue.push(r),r.promise}},lT=class{static{a(this,"ParserWorker")}get ready(){return this._ready}get onReady(){return this.onReadyEmitter.event}constructor(e,r,n,i){this.onReadyEmitter=new _e.Emitter,this.deferred=new Kt,this._ready=!0,this._parsing=!1,this.sendMessage=e,this._terminate=i,r(s=>{let o=s;this.deferred.resolve(o),this.unlock()}),n(s=>{this.deferred.reject(s),this.unlock()})}terminate(){this.deferred.reject(Tr),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 Kt,this.sendMessage(e),this.deferred.promise}};var Lu=class{static{a(this,"DefaultWorkspaceLock")}constructor(){this.previousTokenSource=new V.CancellationTokenSource,this.writeQueue=[],this.readQueue=[],this.done=!0}write(e){this.cancelWrite();let r=vp();return this.previousTokenSource=r,this.enqueue(this.writeQueue,e,r.token)}read(e){return this.enqueue(this.readQueue,e)}enqueue(e,r,n=V.CancellationToken.None){let i=new Kt,s={action:r,deferred:i,cancellationToken:n};return e.push(s),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:r,deferred:n,cancellationToken:i})=>{try{let s=await Promise.resolve().then(()=>r(i));n.resolve(s)}catch(s){sn(s)?n.resolve(void 0):n.reject(s)}})),this.done=!0,this.performNextOperation()}cancelWrite(){this.previousTokenSource.cancel()}};var Mu=class{static{a(this,"DefaultHydrator")}constructor(e){this.grammarElementIdMap=new Aa,this.tokenTypeIdMap=new Aa,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(r=>({...r,message:r.message})),value:this.dehydrateAstNode(e.value,this.createDehyrationContext(e.value))}}dehydrateLexerReport(e){return e}createDehyrationContext(e){let r=new Map,n=new Map;for(let i of Lt(e))r.set(i,{});if(e.$cstNode)for(let i of Qi(e.$cstNode))n.set(i,{});return{astNodes:r,cstNodes:n}}dehydrateAstNode(e,r){let n=r.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,r));for(let[i,s]of Object.entries(e))if(!i.startsWith("$"))if(Array.isArray(s)){let o=[];n[i]=o;for(let l of s)Ue(l)?o.push(this.dehydrateAstNode(l,r)):ot(l)?o.push(this.dehydrateReference(l,r)):o.push(l)}else Ue(s)?n[i]=this.dehydrateAstNode(s,r):ot(s)?n[i]=this.dehydrateReference(s,r):s!==void 0&&(n[i]=s);return n}dehydrateReference(e,r){let n={};return n.$refText=e.$refText,e.$refNode&&(n.$refNode=r.cstNodes.get(e.$refNode)),n}dehydrateCstNode(e,r){let n=r.cstNodes.get(e);return Wo(e)?n.fullText=e.fullText:n.grammarSource=this.getGrammarElementId(e.grammarSource),n.hidden=e.hidden,n.astNode=r.astNodes.get(e.astNode),Cr(e)?n.content=e.content.map(i=>this.dehydrateCstNode(i,r)):jn(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 r=e.value,n=this.createHydrationContext(r);return"$cstNode"in r&&this.hydrateCstNode(r.$cstNode,n),{lexerErrors:e.lexerErrors,lexerReport:e.lexerReport,parserErrors:e.parserErrors,value:this.hydrateAstNode(r,n)}}createHydrationContext(e){let r=new Map,n=new Map;for(let s of Lt(e))r.set(s,{});let i;if(e.$cstNode)for(let s of Qi(e.$cstNode)){let o;"fullText"in s?(o=new so(s.fullText),i=o):"content"in s?o=new xa:"tokenType"in s&&(o=this.hydrateCstLeafNode(s)),o&&(n.set(s,o),o.root=i)}return{astNodes:r,cstNodes:n}}hydrateAstNode(e,r){let n=r.astNodes.get(e);n.$type=e.$type,n.$containerIndex=e.$containerIndex,n.$containerProperty=e.$containerProperty,e.$cstNode&&(n.$cstNode=r.cstNodes.get(e.$cstNode));for(let[i,s]of Object.entries(e))if(!i.startsWith("$"))if(Array.isArray(s)){let o=[];n[i]=o;for(let l of s)Ue(l)?o.push(this.setParent(this.hydrateAstNode(l,r),n)):ot(l)?o.push(this.hydrateReference(l,n,i,r)):o.push(l)}else Ue(s)?n[i]=this.setParent(this.hydrateAstNode(s,r),n):ot(s)?n[i]=this.hydrateReference(s,n,i,r):s!==void 0&&(n[i]=s);return n}setParent(e,r){return e.$container=r,e}hydrateReference(e,r,n,i){return this.linker.buildReference(r,n,i.cstNodes.get(e.$refNode),e.$refText)}hydrateCstNode(e,r,n=0){let i=r.cstNodes.get(e);if(typeof e.grammarSource=="number"&&(i.grammarSource=this.getGrammarElement(e.grammarSource)),i.astNode=r.astNodes.get(e.astNode),Cr(i))for(let s of e.content){let o=this.hydrateCstNode(s,r,n++);i.content.push(o)}return i}hydrateCstLeafNode(e){let r=this.getTokenType(e.tokenType),n=e.offset,i=e.length,s=e.startLine,o=e.startColumn,l=e.endLine,u=e.endColumn,c=e.hidden;return new Ta(n,i,{start:{line:s,character:o},end:{line:l,character:u}},r,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 r of Lt(this.grammar))rl(r)&&this.grammarElementIdMap.set(r,e++)}};function uT(t){return{documentation:{CommentProvider:a(e=>new Pu(e),"CommentProvider"),DocumentationProvider:a(e=>new ku(e),"DocumentationProvider")},parser:{AsyncParser:a(e=>new Ou(e),"AsyncParser"),GrammarConfig:a(e=>$m(e),"GrammarConfig"),LangiumParser:a(e=>Ay(e),"LangiumParser"),CompletionParser:a(e=>vy(e),"CompletionParser"),ValueConverter:a(()=>new $a,"ValueConverter"),TokenBuilder:a(()=>new Pn,"TokenBuilder"),Lexer:a(e=>new Ia(e),"Lexer"),ParserErrorMessageProvider:a(()=>new oo,"ParserErrorMessageProvider"),LexerErrorMessageProvider:a(()=>new Nu,"LexerErrorMessageProvider")},workspace:{AstNodeLocator:a(()=>new hu,"AstNodeLocator"),AstNodeDescriptionProvider:a(e=>new du(e),"AstNodeDescriptionProvider"),ReferenceDescriptionProvider:a(e=>new mu(e),"ReferenceDescriptionProvider")},references:{Linker:a(e=>new ru(e),"Linker"),NameProvider:a(()=>new nu,"NameProvider"),ScopeProvider:a(e=>new lu(e),"ScopeProvider"),ScopeComputation:a(e=>new au(e),"ScopeComputation"),References:a(e=>new iu(e),"References")},serializer:{Hydrator:a(e=>new Mu(e),"Hydrator"),JsonSerializer:a(e=>new uu(e),"JsonSerializer")},validation:{DocumentValidator:a(e=>new pu(e),"DocumentValidator"),ValidationRegistry:a(e=>new fu(e),"ValidationRegistry")},shared:a(()=>t.shared,"shared")}}a(uT,"createDefaultCoreModule");function cT(t){return{ServiceRegistry:a(e=>new cu(e),"ServiceRegistry"),workspace:{LangiumDocuments:a(e=>new tu(e),"LangiumDocuments"),LangiumDocumentFactory:a(e=>new eu(e),"LangiumDocumentFactory"),DocumentBuilder:a(e=>new bu(e),"DocumentBuilder"),IndexManager:a(e=>new Su(e),"IndexManager"),WorkspaceManager:a(e=>new wu(e),"WorkspaceManager"),FileSystemProvider:a(e=>t.fileSystemProvider(e),"FileSystemProvider"),WorkspaceLock:a(()=>new Lu,"WorkspaceLock"),ConfigurationProvider:a(e=>new yu(e),"ConfigurationProvider")},profilers:{}}}a(cT,"createDefaultSharedCoreModule");var fT;(function(t){t.merge=(e,r)=>Du(Du({},e),r)})(fT||(fT={}));function ud(t,e,r,n,i,s,o,l,u){let c=[t,e,r,n,i,s,o,l,u].reduce(Du,{});return fN(c)}a(ud,"inject");var uN=Symbol("isProxy");function cN(t){if(t&&t[uN])for(let e of Object.values(t))cN(e);return t}a(cN,"eagerLoad");function fN(t,e){let r=new Proxy({},{deleteProperty:a(()=>!1,"deleteProperty"),set:a(()=>{throw new Error("Cannot set property on injected service container")},"set"),get:a((n,i)=>i===uN?!0:lN(n,i,t,e||r),"get"),getOwnPropertyDescriptor:a((n,i)=>(lN(n,i,t,e||r),Object.getOwnPropertyDescriptor(n,i)),"getOwnPropertyDescriptor"),has:a((n,i)=>i in t,"has"),ownKeys:a(()=>[...Object.getOwnPropertyNames(t)],"ownKeys")});return r}a(fN,"_inject");var oN=Symbol();function lN(t,e,r,n){if(e in t){if(t[e]instanceof Error)throw new Error("Construction failure. Please make sure that your dependencies are constructable. Cause: "+t[e]);if(t[e]===oN)throw new Error('Cycle detected. Please make "'+String(e)+'" lazy. Visit https://langium.org/docs/reference/configuration-services/#resolving-cyclic-dependencies');return t[e]}else if(e in r){let i=r[e];t[e]=oN;try{t[e]=typeof i=="function"?i(n):fN(i,n)}catch(s){throw t[e]=s instanceof Error?s:void 0,s}return t[e]}else return}a(lN,"_resolve");function Du(t,e){if(e){for(let[r,n]of Object.entries(e))if(n!=null)if(typeof n=="object"){let i=t[r];typeof i=="object"&&i!==null?t[r]=Du(i,n):t[r]=Du({},n)}else t[r]=n}return t}a(Du,"_merge");var pT={indentTokenName:"INDENT",dedentTokenName:"DEDENT",whitespaceTokenName:"WS",ignoreIndentationDelimiters:[]},_a;(function(t){t.REGULAR="indentation-sensitive",t.IGNORE_INDENTATION="ignore-indentation"})(_a||(_a={}));var cd=class extends Pn{static{a(this,"IndentationAwareTokenBuilder")}constructor(e=pT){super(),this.indentationStack=[0],this.whitespaceRegExp=/[ \t]+/y,this.options={...pT,...e},this.indentTokenType=mi({name:this.options.indentTokenName,pattern:this.indentMatcher.bind(this),line_breaks:!1}),this.dedentTokenType=mi({name:this.options.dedentTokenName,pattern:this.dedentMatcher.bind(this),line_breaks:!1})}buildTokens(e,r){let n=super.buildTokens(e,r);if(!sd(n))throw new Error("Invalid tokens built by default builder");let{indentTokenName:i,dedentTokenName:s,whitespaceTokenName:o,ignoreIndentationDelimiters:l}=this.options,u,c,f,p=[];for(let m of n){for(let[y,A]of l)m.name===y?m.PUSH_MODE=_a.IGNORE_INDENTATION:m.name===A&&(m.POP_MODE=!0);m.name===s?u=m:m.name===i?c=m:m.name===o?f=m:p.push(m)}if(!u||!c||!f)throw new Error("Some indentation/whitespace tokens not found!");return l.length>0?{modes:{[_a.REGULAR]:[u,c,...p,f],[_a.IGNORE_INDENTATION]:[...p,f]},defaultMode:_a.REGULAR}:[u,c,f,...p]}flushLexingReport(e){return{...super.flushLexingReport(e),remainingDedents:this.flushRemainingDedents(e)}}isStartOfLine(e,r){return r===0||`\r `.includes(e[r-1])}matchWhitespace(e,r,n,i){this.whitespaceRegExp.lastIndex=r;let s=this.whitespaceRegExp.exec(e);return{currIndentLevel:s?.[0].length??0,prevIndentLevel:this.indentationStack.at(-1),match:s}}createIndentationTokenInstance(e,r,n,i){let s=this.getLineNumber(r,i);return Sn(e,n,i,i+n.length,s,s,1,n.length)}getLineNumber(e,r){return e.substring(0,r).split(/\r\n|\r|\n/).length}indentMatcher(e,r,n,i){if(!this.isStartOfLine(e,r))return null;let{currIndentLevel:s,prevIndentLevel:o,match:l}=this.matchWhitespace(e,r,n,i);return s<=o?null:(this.indentationStack.push(s),l)}dedentMatcher(e,r,n,i){if(!this.isStartOfLine(e,r))return null;let{currIndentLevel:s,prevIndentLevel:o,match:l}=this.matchWhitespace(e,r,n,i);if(s>=o)return null;let u=this.indentationStack.lastIndexOf(s);if(u===-1)return this.diagnostics.push({severity:"error",message:`Invalid dedent level ${s} at offset: ${r}. Current indentation stack: ${this.indentationStack}`,offset:r,length:l?.[0]?.length??0,line:this.getLineNumber(e,r),column:1}),null;let c=this.indentationStack.length-u-1,f=e.substring(0,r).match(/[\r\n]+$/)?.[0].length??1;for(let p=0;p1;)r.push(this.createIndentationTokenInstance(this.dedentTokenType,e,"",e.length)),this.indentationStack.pop();return this.indentationStack=[0],r}},dT=class extends Ia{static{a(this,"IndentationAwareLexer")}constructor(e){if(super(e),e.parser.TokenBuilder instanceof cd)this.indentationTokenBuilder=e.parser.TokenBuilder;else throw new Error("IndentationAwareLexer requires an accompanying IndentationAwareTokenBuilder")}tokenize(e,r=ad){let n=super.tokenize(e),i=n.report;r?.mode==="full"&&n.tokens.push(...i.remainingDedents),i.remainingDedents=[];let{indentTokenType:s,dedentTokenType:o}=this.indentationTokenBuilder,l=s.tokenTypeIdx,u=o.tokenTypeIdx,c=[],f=n.tokens.length-1;for(let p=0;p=0&&c.push(n.tokens[f]),n.tokens=c,n}};var ue={};Un(ue,{AstUtils:()=>Xu,BiMap:()=>Aa,Cancellation:()=>V,ContextCache:()=>Ca,CstUtils:()=>yc,DONE_RESULT:()=>At,Deferred:()=>Kt,Disposable:()=>Fi,DisposableCache:()=>yo,DocumentCache:()=>Cp,EMPTY_STREAM:()=>zn,ErrorWithLocation:()=>ta,GrammarUtils:()=>Ec,MultiMap:()=>It,OperationCancelled:()=>Tr,Reduction:()=>Ua,RegExpUtils:()=>xc,SimpleCache:()=>ou,StreamImpl:()=>nr,TreeStreamImpl:()=>jr,URI:()=>ft,UriTrie:()=>mo,UriUtils:()=>Je,WorkspaceCache:()=>go,assertCondition:()=>GT,assertUnreachable:()=>Kr,delayNextTick:()=>_y,interruptAndCheck:()=>Be,isOperationCancelled:()=>sn,loadGrammarFromJson:()=>cr,setInterruptionPeriod:()=>EC,startCancelableOperation:()=>vp,stream:()=>te});se(ue,_e);var fd=class{static{a(this,"EmptyFileSystemProvider")}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[]}},mT={fileSystemProvider:a(()=>new fd,"fileSystemProvider")};var yK={Grammar:a(()=>{},"Grammar"),LanguageMetaData:a(()=>({caseInsensitive:!1,fileExtensions:[".langium"],languageId:"langium"}),"LanguageMetaData")},gK={AstReflection:a(()=>new Xa,"AstReflection")};function TK(){let t=ud(cT(mT),gK),e=ud(uT({shared:t}),yK);return t.ServiceRegistry.register(e),e}a(TK,"createMinimalGrammarServices");function cr(t){let e=TK(),r=e.serializer.JsonSerializer.deserialize(t);return e.shared.workspace.LangiumDocumentFactory.fromModel(r,ft.parse(`memory:/${r.name??"grammar"}.langium`)),r}a(cr,"loadGrammarFromJson");se(We,ue);var hT=class{static{a(this,"DefaultLangiumProfiler")}constructor(e){this.activeCategories=new Set,this.allCategories=new Set(["validating","parsing","linking"]),this.activeCategories=e??new Set(this.allCategories),this.records=new It}isActive(e){return this.activeCategories.has(e)}start(...e){e?e.forEach(r=>this.activeCategories.add(r)):this.activeCategories=new Set(this.allCategories)}stop(...e){e?e.forEach(r=>this.activeCategories.delete(r)):this.activeCategories.clear()}createTask(e,r){if(!this.isActive(e))throw new Error(`Category "${e}" is not active.`);return console.log(`Creating profiling task for '${e}.${r}'.`),new pd(n=>this.records.add(e,this.dumpRecord(e,n)),r)}dumpRecord(e,r){console.info(`Task ${e}.${r.identifier} executed in ${r.duration.toFixed(2)}ms and ended at ${r.date.toISOString()}`);let n=[];for(let o of r.entries.keys()){let l=r.entries.get(o),u=l.reduce((c,f)=>c+f);n.push({name:`${r.identifier}.${o}`,count:l.length,duration:u})}let i=r.duration-n.map(o=>o.duration).reduce((o,l)=>o+l,0);n.push({name:r.identifier,count:1,duration:i}),n.sort((o,l)=>l.duration-o.duration);function s(o){return Math.round(100*o)/100}return a(s,"Round"),console.table(n.map(o=>({Element:o.name,Count:o.count,"Self %":s(100*o.duration/r.duration),"Time (ms)":s(o.duration)}))),r}getRecords(...e){return e.length===0?this.records.values():this.records.entries().filter(r=>e.some(n=>n===r[0])).flatMap(r=>r[1])}},pd=class{static{a(this,"ProfilingTask")}constructor(e,r){this.stack=[],this.entries=new It,this.addRecord=e,this.identifier=r}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(r=>r.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 r=this.stack.pop();if(!r)throw new Error(`Task "${this.identifier}.${e}" was not started.`);if(r.id!==e)throw new Error(`Sub-Task "${r.id}" is not already stopped.`);let n=performance.now()-r.start;this.stack.at(-1)!==void 0&&(this.stack[this.stack.length-1].content+=n);let i=n-r.content;this.entries.add(e,i)}};var yN;(e=>e.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 ]+)\]/})(yN||={});var gN;(e=>e.Terminals={EM_ID:/[_a-zA-Z][\w_]*/,EM_FID:/\d{1,3}/,EM_DATA_INLINE:/\{(.*)\}|"(.*)"|'(.*)'/,EM_DATA_BLOCK:/\{[\t ]*\r?\n(?:[\S\s]*?\r?\n)?\}(?:\r?\n|(?!\S))/,EM_ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,EM_ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,EM_TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,EM_WS:/\s+/,EM_YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,EM_DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,EM_SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/,EM_ML_COMMENT:/\/\*[\s\S]*?\*\//,EM_SL_COMMENT:/\/\/[^\n\r]*/})(gN||={});var TN;(e=>e.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])?/})(TN||={});var xN;(e=>e.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]*/})(xN||={});var RN;(e=>e.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]*/})(RN||={});var $N;(e=>e.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]*/})($N||={});var EN;(e=>e.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]*/})(EN||={});var vN;(e=>e.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:/"[^"]*"|'[^']*'/})(vN||={});var AN;(e=>e.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:/"[^"]*"|'[^']*'/})(AN||={});var CN;(e=>e.Terminals={WARDLEY_NUMBER:/[0-9]+\.[0-9]+/,ARROW:/->/,LINK_PORT:/\+<>|\+>|\+|-\.->|>|\+'[^']*'<>|\+'[^']*'<|\+'[^']*'>/,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]*/})(CN||={});var GRe={...yN.Terminals,...gN.Terminals,...TN.Terminals,...xN.Terminals,...RN.Terminals,...$N.Terminals,...EN.Terminals,...AN.Terminals,...vN.Terminals,...CN.Terminals},dd={$type:"Accelerator",name:"name",x:"x",y:"y"};var md={$type:"Anchor",evolution:"evolution",name:"name",visibility:"visibility"};var Fu={$type:"Annotation",number:"number",text:"text",x:"x",y:"y"};var yT={$type:"Annotations",x:"x",y:"y"};var Mn={$type:"Architecture",accDescr:"accDescr",accTitle:"accTitle",edges:"edges",groups:"groups",junctions:"junctions",services:"services",title:"title"};function URe(t){return fr.isInstance(t,Mn.$type)}a(URe,"isArchitecture");var hd={$type:"Axis",label:"label",name:"name"};var Cd={$type:"Branch",name:"name",order:"order"};function jRe(t){return fr.isInstance(t,Cd.$type)}a(jRe,"isBranch");var pN={$type:"Checkout",branch:"branch"};var yd={$type:"CherryPicking",id:"id",parent:"parent",tags:"tags"};var gT={$type:"ClassDefStatement",className:"className",styleText:"styleText"};var Fo={$type:"Commit",id:"id",message:"message",tags:"tags",type:"type"};function zRe(t){return fr.isInstance(t,Fo.$type)}a(zRe,"isCommit");var gd={$type:"Common",accDescr:"accDescr",accTitle:"accTitle",title:"title"};var ka={$type:"Component",decorator:"decorator",evolution:"evolution",inertia:"inertia",label:"label",name:"name",visibility:"visibility"};var Td={$type:"Curve",entries:"entries",label:"label",name:"name"};var xd={$type:"Deaccelerator",name:"name",x:"x",y:"y"};var dN={$type:"Decorator",strategy:"strategy"};var Oo={$type:"Direction",accDescr:"accDescr",accTitle:"accTitle",dir:"dir",statements:"statements",title:"title"};var fn={$type:"Edge",lhsDir:"lhsDir",lhsGroup:"lhsGroup",lhsId:"lhsId",lhsInto:"lhsInto",rhsDir:"rhsDir",rhsGroup:"rhsGroup",rhsId:"rhsId",rhsInto:"rhsInto",title:"title"};var Lo={$type:"EmDataEntity",dataBlockValue:"dataBlockValue",dataType:"dataType",name:"name"};var Pa={$type:"EmFrame"};var Gu={$type:"EmGwt",givenStatements:"givenStatements",sourceFrame:"sourceFrame",thenStatements:"thenStatements",whenStatements:"whenStatements"};var mN={$type:"EmGwtStatement",entityIdentifier:"entityIdentifier"};var TT={$type:"EmModelEntity",name:"name"};function BRe(t){return t==="rmo"||t==="readmodel"||t==="ui"||t==="cmd"||t==="command"||t==="evt"||t==="event"||t==="pcr"||t==="processor"}a(BRe,"isEmModelEntityType");var Rd={$type:"EmNoteEntity",dataBlockValue:"dataBlockValue",dataType:"dataType",sourceFrame:"sourceFrame"};var Dn={$type:"EmResetFrame",dataInlineValue:"dataInlineValue",dataReference:"dataReference",dataType:"dataType",entityIdentifier:"entityIdentifier",modelEntityType:"modelEntityType",name:"name",sourceFrames:"sourceFrames"};function KRe(t){return fr.isInstance(t,Dn.$type)}a(KRe,"isEmResetFrame");var Gi={$type:"EmTimeFrame",dataInlineValue:"dataInlineValue",dataReference:"dataReference",dataType:"dataType",entityIdentifier:"entityIdentifier",modelEntityType:"modelEntityType",name:"name",sourceFrames:"sourceFrames"};var xT={$type:"Entry",axis:"axis",value:"value"};var Ln={$type:"EventModel",accDescr:"accDescr",accTitle:"accTitle",dataEntities:"dataEntities",frames:"frames",gwtEntities:"gwtEntities",modelEntities:"modelEntities",noteEntities:"noteEntities",title:"title"};var hN={$type:"Evolution",stages:"stages"};var $d={$type:"EvolutionStage",boundary:"boundary",name:"name",secondName:"secondName"};var RT={$type:"Evolve",component:"component",target:"target"};var Ma={$type:"GitGraph",accDescr:"accDescr",accTitle:"accTitle",statements:"statements",title:"title"};function qRe(t){return fr.isInstance(t,Ma.$type)}a(qRe,"isGitGraph");var Uu={$type:"Group",icon:"icon",id:"id",in:"in",title:"title"};var Ku={$type:"Info",accDescr:"accDescr",accTitle:"accTitle",title:"title"};function WRe(t){return fr.isInstance(t,Ku.$type)}a(WRe,"isInfo");var ju={$type:"Item",classSelector:"classSelector",name:"name"};var $T={$type:"Junction",id:"id",in:"in"};var zu={$type:"Label",negX:"negX",negY:"negY",offsetX:"offsetX",offsetY:"offsetY"};var Ed={$type:"Leaf",classSelector:"classSelector",name:"name",value:"value"};var Oa={$type:"Link",arrow:"arrow",from:"from",fromPort:"fromPort",linkLabel:"linkLabel",to:"to",toPort:"toPort"};var Go={$type:"Merge",branch:"branch",id:"id",tags:"tags",type:"type"};function VRe(t){return fr.isInstance(t,Go.$type)}a(VRe,"isMerge");var vd={$type:"Note",evolution:"evolution",text:"text",visibility:"visibility"};var ET={$type:"Option",name:"name",value:"value"};var Uo={$type:"Packet",accDescr:"accDescr",accTitle:"accTitle",blocks:"blocks",title:"title"};function HRe(t){return fr.isInstance(t,Uo.$type)}a(HRe,"isPacket");var jo={$type:"PacketBlock",bits:"bits",end:"end",label:"label",start:"start"};function YRe(t){return fr.isInstance(t,jo.$type)}a(YRe,"isPacketBlock");var Da={$type:"Pie",accDescr:"accDescr",accTitle:"accTitle",sections:"sections",showData:"showData",title:"title"};function XRe(t){return fr.isInstance(t,Da.$type)}a(XRe,"isPie");var bd={$type:"PieSection",label:"label",value:"value"};function JRe(t){return fr.isInstance(t,bd.$type)}a(JRe,"isPieSection");var vT={$type:"Pipeline",components:"components",parent:"parent"};var Ad={$type:"PipelineComponent",evolution:"evolution",label:"label",name:"name"};var La={$type:"Radar",accDescr:"accDescr",accTitle:"accTitle",axes:"axes",curves:"curves",options:"options",title:"title"};var AT={$type:"Section",classSelector:"classSelector",name:"name"};var Mo={$type:"Service",icon:"icon",iconText:"iconText",id:"id",in:"in",title:"title"};var CT={$type:"Size",height:"height",width:"width"};var Do={$type:"Statement"};var zo={$type:"Treemap",accDescr:"accDescr",accTitle:"accTitle",title:"title",TreemapRows:"TreemapRows"};function ZRe(t){return fr.isInstance(t,zo.$type)}a(ZRe,"isTreemap");var bT={$type:"TreemapRow",indent:"indent",item:"item"};var ST={$type:"TreeNode",indent:"indent",name:"name"};var Bu={$type:"TreeView",accDescr:"accDescr",accTitle:"accTitle",nodes:"nodes",title:"title"};var vt={$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 QRe(t){return fr.isInstance(t,vt.$type)}a(QRe,"isWardley");var qu=class extends Ui{constructor(){super(...arguments);this.types={Accelerator:{name:dd.$type,properties:{name:{name:dd.name},x:{name:dd.x},y:{name:dd.y}},superTypes:[]},Anchor:{name:md.$type,properties:{evolution:{name:md.evolution},name:{name:md.name},visibility:{name:md.visibility}},superTypes:[]},Annotation:{name:Fu.$type,properties:{number:{name:Fu.number},text:{name:Fu.text},x:{name:Fu.x},y:{name:Fu.y}},superTypes:[]},Annotations:{name:yT.$type,properties:{x:{name:yT.x},y:{name:yT.y}},superTypes:[]},Architecture:{name:Mn.$type,properties:{accDescr:{name:Mn.accDescr},accTitle:{name:Mn.accTitle},edges:{name:Mn.edges,defaultValue:[]},groups:{name:Mn.groups,defaultValue:[]},junctions:{name:Mn.junctions,defaultValue:[]},services:{name:Mn.services,defaultValue:[]},title:{name:Mn.title}},superTypes:[]},Axis:{name:hd.$type,properties:{label:{name:hd.label},name:{name:hd.name}},superTypes:[]},Branch:{name:Cd.$type,properties:{name:{name:Cd.name},order:{name:Cd.order}},superTypes:[Do.$type]},Checkout:{name:pN.$type,properties:{branch:{name:pN.branch}},superTypes:[Do.$type]},CherryPicking:{name:yd.$type,properties:{id:{name:yd.id},parent:{name:yd.parent},tags:{name:yd.tags,defaultValue:[]}},superTypes:[Do.$type]},ClassDefStatement:{name:gT.$type,properties:{className:{name:gT.className},styleText:{name:gT.styleText}},superTypes:[]},Commit:{name:Fo.$type,properties:{id:{name:Fo.id},message:{name:Fo.message},tags:{name:Fo.tags,defaultValue:[]},type:{name:Fo.type}},superTypes:[Do.$type]},Common:{name:gd.$type,properties:{accDescr:{name:gd.accDescr},accTitle:{name:gd.accTitle},title:{name:gd.title}},superTypes:[]},Component:{name:ka.$type,properties:{decorator:{name:ka.decorator},evolution:{name:ka.evolution},inertia:{name:ka.inertia,defaultValue:!1},label:{name:ka.label},name:{name:ka.name},visibility:{name:ka.visibility}},superTypes:[]},Curve:{name:Td.$type,properties:{entries:{name:Td.entries,defaultValue:[]},label:{name:Td.label},name:{name:Td.name}},superTypes:[]},Deaccelerator:{name:xd.$type,properties:{name:{name:xd.name},x:{name:xd.x},y:{name:xd.y}},superTypes:[]},Decorator:{name:dN.$type,properties:{strategy:{name:dN.strategy}},superTypes:[]},Direction:{name:Oo.$type,properties:{accDescr:{name:Oo.accDescr},accTitle:{name:Oo.accTitle},dir:{name:Oo.dir},statements:{name:Oo.statements,defaultValue:[]},title:{name:Oo.title}},superTypes:[Ma.$type]},Edge:{name:fn.$type,properties:{lhsDir:{name:fn.lhsDir},lhsGroup:{name:fn.lhsGroup,defaultValue:!1},lhsId:{name:fn.lhsId},lhsInto:{name:fn.lhsInto,defaultValue:!1},rhsDir:{name:fn.rhsDir},rhsGroup:{name:fn.rhsGroup,defaultValue:!1},rhsId:{name:fn.rhsId},rhsInto:{name:fn.rhsInto,defaultValue:!1},title:{name:fn.title}},superTypes:[]},EmDataEntity:{name:Lo.$type,properties:{dataBlockValue:{name:Lo.dataBlockValue},dataType:{name:Lo.dataType},name:{name:Lo.name}},superTypes:[]},EmFrame:{name:Pa.$type,properties:{},superTypes:[]},EmGwt:{name:Gu.$type,properties:{givenStatements:{name:Gu.givenStatements,defaultValue:[]},sourceFrame:{name:Gu.sourceFrame,referenceType:Pa.$type},thenStatements:{name:Gu.thenStatements,defaultValue:[]},whenStatements:{name:Gu.whenStatements,defaultValue:[]}},superTypes:[]},EmGwtStatement:{name:mN.$type,properties:{entityIdentifier:{name:mN.entityIdentifier,referenceType:TT.$type}},superTypes:[]},EmModelEntity:{name:TT.$type,properties:{name:{name:TT.name}},superTypes:[]},EmNoteEntity:{name:Rd.$type,properties:{dataBlockValue:{name:Rd.dataBlockValue},dataType:{name:Rd.dataType},sourceFrame:{name:Rd.sourceFrame,referenceType:Pa.$type}},superTypes:[]},EmResetFrame:{name:Dn.$type,properties:{dataInlineValue:{name:Dn.dataInlineValue},dataReference:{name:Dn.dataReference,referenceType:Lo.$type},dataType:{name:Dn.dataType},entityIdentifier:{name:Dn.entityIdentifier},modelEntityType:{name:Dn.modelEntityType},name:{name:Dn.name},sourceFrames:{name:Dn.sourceFrames,defaultValue:[],referenceType:Pa.$type}},superTypes:[Pa.$type]},EmTimeFrame:{name:Gi.$type,properties:{dataInlineValue:{name:Gi.dataInlineValue},dataReference:{name:Gi.dataReference,referenceType:Lo.$type},dataType:{name:Gi.dataType},entityIdentifier:{name:Gi.entityIdentifier},modelEntityType:{name:Gi.modelEntityType},name:{name:Gi.name},sourceFrames:{name:Gi.sourceFrames,defaultValue:[],referenceType:Pa.$type}},superTypes:[Pa.$type]},Entry:{name:xT.$type,properties:{axis:{name:xT.axis,referenceType:hd.$type},value:{name:xT.value}},superTypes:[]},EventModel:{name:Ln.$type,properties:{accDescr:{name:Ln.accDescr},accTitle:{name:Ln.accTitle},dataEntities:{name:Ln.dataEntities,defaultValue:[]},frames:{name:Ln.frames,defaultValue:[]},gwtEntities:{name:Ln.gwtEntities,defaultValue:[]},modelEntities:{name:Ln.modelEntities,defaultValue:[]},noteEntities:{name:Ln.noteEntities,defaultValue:[]},title:{name:Ln.title}},superTypes:[]},Evolution:{name:hN.$type,properties:{stages:{name:hN.stages,defaultValue:[]}},superTypes:[]},EvolutionStage:{name:$d.$type,properties:{boundary:{name:$d.boundary},name:{name:$d.name},secondName:{name:$d.secondName}},superTypes:[]},Evolve:{name:RT.$type,properties:{component:{name:RT.component},target:{name:RT.target}},superTypes:[]},GitGraph:{name:Ma.$type,properties:{accDescr:{name:Ma.accDescr},accTitle:{name:Ma.accTitle},statements:{name:Ma.statements,defaultValue:[]},title:{name:Ma.title}},superTypes:[]},Group:{name:Uu.$type,properties:{icon:{name:Uu.icon},id:{name:Uu.id},in:{name:Uu.in},title:{name:Uu.title}},superTypes:[]},Info:{name:Ku.$type,properties:{accDescr:{name:Ku.accDescr},accTitle:{name:Ku.accTitle},title:{name:Ku.title}},superTypes:[]},Item:{name:ju.$type,properties:{classSelector:{name:ju.classSelector},name:{name:ju.name}},superTypes:[]},Junction:{name:$T.$type,properties:{id:{name:$T.id},in:{name:$T.in}},superTypes:[]},Label:{name:zu.$type,properties:{negX:{name:zu.negX,defaultValue:!1},negY:{name:zu.negY,defaultValue:!1},offsetX:{name:zu.offsetX},offsetY:{name:zu.offsetY}},superTypes:[]},Leaf:{name:Ed.$type,properties:{classSelector:{name:Ed.classSelector},name:{name:Ed.name},value:{name:Ed.value}},superTypes:[ju.$type]},Link:{name:Oa.$type,properties:{arrow:{name:Oa.arrow},from:{name:Oa.from},fromPort:{name:Oa.fromPort},linkLabel:{name:Oa.linkLabel},to:{name:Oa.to},toPort:{name:Oa.toPort}},superTypes:[]},Merge:{name:Go.$type,properties:{branch:{name:Go.branch},id:{name:Go.id},tags:{name:Go.tags,defaultValue:[]},type:{name:Go.type}},superTypes:[Do.$type]},Note:{name:vd.$type,properties:{evolution:{name:vd.evolution},text:{name:vd.text},visibility:{name:vd.visibility}},superTypes:[]},Option:{name:ET.$type,properties:{name:{name:ET.name},value:{name:ET.value,defaultValue:!1}},superTypes:[]},Packet:{name:Uo.$type,properties:{accDescr:{name:Uo.accDescr},accTitle:{name:Uo.accTitle},blocks:{name:Uo.blocks,defaultValue:[]},title:{name:Uo.title}},superTypes:[]},PacketBlock:{name:jo.$type,properties:{bits:{name:jo.bits},end:{name:jo.end},label:{name:jo.label},start:{name:jo.start}},superTypes:[]},Pie:{name:Da.$type,properties:{accDescr:{name:Da.accDescr},accTitle:{name:Da.accTitle},sections:{name:Da.sections,defaultValue:[]},showData:{name:Da.showData,defaultValue:!1},title:{name:Da.title}},superTypes:[]},PieSection:{name:bd.$type,properties:{label:{name:bd.label},value:{name:bd.value}},superTypes:[]},Pipeline:{name:vT.$type,properties:{components:{name:vT.components,defaultValue:[]},parent:{name:vT.parent}},superTypes:[]},PipelineComponent:{name:Ad.$type,properties:{evolution:{name:Ad.evolution},label:{name:Ad.label},name:{name:Ad.name}},superTypes:[]},Radar:{name:La.$type,properties:{accDescr:{name:La.accDescr},accTitle:{name:La.accTitle},axes:{name:La.axes,defaultValue:[]},curves:{name:La.curves,defaultValue:[]},options:{name:La.options,defaultValue:[]},title:{name:La.title}},superTypes:[]},Section:{name:AT.$type,properties:{classSelector:{name:AT.classSelector},name:{name:AT.name}},superTypes:[ju.$type]},Service:{name:Mo.$type,properties:{icon:{name:Mo.icon},iconText:{name:Mo.iconText},id:{name:Mo.id},in:{name:Mo.in},title:{name:Mo.title}},superTypes:[]},Size:{name:CT.$type,properties:{height:{name:CT.height},width:{name:CT.width}},superTypes:[]},Statement:{name:Do.$type,properties:{},superTypes:[]},TreeNode:{name:ST.$type,properties:{indent:{name:ST.indent},name:{name:ST.name}},superTypes:[]},TreeView:{name:Bu.$type,properties:{accDescr:{name:Bu.accDescr},accTitle:{name:Bu.accTitle},nodes:{name:Bu.nodes,defaultValue:[]},title:{name:Bu.title}},superTypes:[]},Treemap:{name:zo.$type,properties:{accDescr:{name:zo.accDescr},accTitle:{name:zo.accTitle},title:{name:zo.title},TreemapRows:{name:zo.TreemapRows,defaultValue:[]}},superTypes:[]},TreemapRow:{name:bT.$type,properties:{indent:{name:bT.indent},item:{name:bT.item}},superTypes:[]},Wardley:{name:vt.$type,properties:{accDescr:{name:vt.accDescr},accelerators:{name:vt.accelerators,defaultValue:[]},accTitle:{name:vt.accTitle},anchors:{name:vt.anchors,defaultValue:[]},annotation:{name:vt.annotation,defaultValue:[]},annotations:{name:vt.annotations,defaultValue:[]},components:{name:vt.components,defaultValue:[]},deaccelerators:{name:vt.deaccelerators,defaultValue:[]},evolution:{name:vt.evolution},evolves:{name:vt.evolves,defaultValue:[]},links:{name:vt.links,defaultValue:[]},notes:{name:vt.notes,defaultValue:[]},pipelines:{name:vt.pipelines,defaultValue:[]},size:{name:vt.size},title:{name:vt.title}},superTypes:[]}}}static{a(this,"MermaidAstReflection")}},fr=new qu;var bN,MN=a(()=>bN??(bN=cr(`{"$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"),SN,DN=a(()=>SN??(SN=cr('{"$type":"Grammar","isDeclared":true,"name":"EventModeling","interfaces":[{"$type":"Interface","name":"Common","attributes":[{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"rules":[{"$type":"ParserRule","entry":true,"name":"EventModel","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"eventmodeling"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Assignment","feature":"modelEntities","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Assignment","feature":"frames","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}},{"$type":"Assignment","feature":"dataEntities","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}},{"$type":"Assignment","feature":"noteEntities","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"Assignment","feature":"gwtEntities","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmModelEntityType","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"rmo"},{"$type":"Keyword","value":"readmodel"},{"$type":"Keyword","value":"ui"},{"$type":"Keyword","value":"cmd"},{"$type":"Keyword","value":"command"},{"$type":"Keyword","value":"evt"},{"$type":"Keyword","value":"event"},{"$type":"Keyword","value":"pcr"},{"$type":"Keyword","value":"processor"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmDataType","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"json"},{"$type":"Keyword","value":"jsobj"},{"$type":"Keyword","value":"figma"},{"$type":"Keyword","value":"salt"},{"$type":"Keyword","value":"uri"},{"$type":"Keyword","value":"md"},{"$type":"Keyword","value":"html"},{"$type":"Keyword","value":"text"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"EmDataInline","definition":{"$type":"Group","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"`"},{"$type":"Assignment","feature":"dataType","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Keyword","value":"`"}],"cardinality":"?"},{"$type":"Assignment","feature":"dataInlineValue","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}}]},"entry":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"EmDataBlock","definition":{"$type":"Group","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"`"},{"$type":"Assignment","feature":"dataType","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Keyword","value":"`"}],"cardinality":"?"},{"$type":"Assignment","feature":"dataBlockValue","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"QualifiedName","dataType":"string","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},{"$type":"Group","elements":[{"$type":"Keyword","value":"."},{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}],"cardinality":"*"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmTimeFrame","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"tf"},{"$type":"Keyword","value":"timeframe"}]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Assignment","feature":"modelEntityType","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"Assignment","feature":"entityIdentifier","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"->>"},{"$type":"Assignment","feature":"sourceFrames","operator":"+=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@8"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}}],"cardinality":"*"},{"$type":"Group","elements":[{"$type":"Keyword","value":"[["},{"$type":"Assignment","feature":"dataReference","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@10"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}},{"$type":"Keyword","value":"]]"}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmResetFrame","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"rf"},{"$type":"Keyword","value":"resetframe"}]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Assignment","feature":"modelEntityType","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"Assignment","feature":"entityIdentifier","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"->>"},{"$type":"Assignment","feature":"sourceFrames","operator":"+=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@8"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}}],"cardinality":"*"},{"$type":"Group","elements":[{"$type":"Keyword","value":"[["},{"$type":"Assignment","feature":"dataReference","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@10"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}},{"$type":"Keyword","value":"]]"}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmFrame","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmModelEntity","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"entity"},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmDataEntity","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"data"},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmNoteEntity","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"note"},{"$type":"Assignment","feature":"sourceFrame","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@8"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmGwt","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"gwt"},{"$type":"Assignment","feature":"sourceFrame","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@8"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}},{"$type":"Keyword","value":"given"},{"$type":"Assignment","feature":"givenStatements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},"cardinality":"+"},{"$type":"Group","elements":[{"$type":"Keyword","value":"when"},{"$type":"Assignment","feature":"whenStatements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},"cardinality":"+"}],"cardinality":"?"},{"$type":"Keyword","value":"then"},{"$type":"Assignment","feature":"thenStatements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},"cardinality":"+"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmGwtStatement","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]},{"$type":"Assignment","feature":"entityIdentifier","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@9"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EM_EID","dataType":"string","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EM_FI","dataType":"string","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"EM_ID","definition":{"$type":"RegexToken","regex":"/[_a-zA-Z][\\\\w_]*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"EM_FID","definition":{"$type":"RegexToken","regex":"/\\\\d{1,3}/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"EM_DATA_INLINE","definition":{"$type":"RegexToken","regex":"/\\\\{(.*)\\\\}|\\"(.*)\\"|\'(.*)\'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"EM_DATA_BLOCK","definition":{"$type":"RegexToken","regex":"/\\\\{[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?\\\\}(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"EM_ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"EM_ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"EM_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"EM_WS","definition":{"$type":"RegexToken","regex":"/\\\\s+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"EM_YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"EM_DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"EM_SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"EM_ML_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\/\\\\*[\\\\s\\\\S]*?\\\\*\\\\//","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"EM_SL_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\/\\\\/[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"imports":[],"types":[]}')),"EventModelingGrammar"),wN,FN=a(()=>wN??(wN=cr(`{"$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"),NN,GN=a(()=>NN??(NN=cr(`{"$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"),IN,UN=a(()=>IN??(IN=cr(`{"$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"),_N,jN=a(()=>_N??(_N=cr(`{"$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"),kN,zN=a(()=>kN??(kN=cr(`{"$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"),PN,BN=a(()=>PN??(PN=cr(`{"$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"),ON,KN=a(()=>ON??(ON=cr(`{"$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"),LN,qN=a(()=>LN??(LN=cr(`{"$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},"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");var xK={languageId:"architecture",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},RK={languageId:"eventmodeling",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},$K={languageId:"gitGraph",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},EK={languageId:"info",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},vK={languageId:"packet",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},AK={languageId:"pie",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},CK={languageId:"radar",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},bK={languageId:"treemap",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},SK={languageId:"treeView",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},wK={languageId:"wardley",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},o$e={AstReflection:a(()=>new qu,"AstReflection")},l$e={Grammar:a(()=>MN(),"Grammar"),LanguageMetaData:a(()=>xK,"LanguageMetaData"),parser:{}},u$e={Grammar:a(()=>DN(),"Grammar"),LanguageMetaData:a(()=>RK,"LanguageMetaData"),parser:{}},c$e={Grammar:a(()=>FN(),"Grammar"),LanguageMetaData:a(()=>$K,"LanguageMetaData"),parser:{}},f$e={Grammar:a(()=>GN(),"Grammar"),LanguageMetaData:a(()=>EK,"LanguageMetaData"),parser:{}},p$e={Grammar:a(()=>UN(),"Grammar"),LanguageMetaData:a(()=>vK,"LanguageMetaData"),parser:{}},d$e={Grammar:a(()=>jN(),"Grammar"),LanguageMetaData:a(()=>AK,"LanguageMetaData"),parser:{}},m$e={Grammar:a(()=>zN(),"Grammar"),LanguageMetaData:a(()=>CK,"LanguageMetaData"),parser:{}},h$e={Grammar:a(()=>BN(),"Grammar"),LanguageMetaData:a(()=>bK,"LanguageMetaData"),parser:{}},y$e={Grammar:a(()=>KN(),"Grammar"),LanguageMetaData:a(()=>SK,"LanguageMetaData"),parser:{}},g$e={Grammar:a(()=>qN(),"Grammar"),LanguageMetaData:a(()=>wK,"LanguageMetaData"),parser:{}};var WN=/accDescr(?:[\t ]*:([^\n\r]*)|\s*{([^}]*)})/,VN=/accTitle[\t ]*:([^\n\r]*)/,HN=/title([\t ][^\n\r]*|)/;var NK={ACC_DESCR:WN,ACC_TITLE:VN,TITLE:HN},wT=class extends $a{static{a(this,"AbstractMermaidValueConverter")}runConverter(e,r,n){let i=this.runCommonConverter(e,r,n);return i===void 0&&(i=this.runCustomConverter(e,r,n)),i===void 0?super.runConverter(e,r,n):i}runCommonConverter(e,r,n){let i=NK[e.name];if(i===void 0)return;let s=i.exec(r);if(s!==null){if(s[1]!==void 0)return s[1].trim().replace(/[\t ]{2,}/gm," ");if(s[2]!==void 0)return s[2].replace(/^\s*/gm,"").replace(/\s+$/gm,"").replace(/[\t ]{2,}/gm," ").replace(/[\n\r]{2,}/gm,` `)}}},YN=class extends wT{static{a(this,"CommonValueConverter")}runCustomConverter(e,r,n){}};var NT=class extends Pn{static{a(this,"AbstractMermaidTokenBuilder")}constructor(e){super(),this.keywords=new Set(e)}buildKeywordTokens(e,r,n){let i=super.buildKeywordTokens(e,r,n);return i.forEach(s=>{this.keywords.has(s.name)&&s.PATTERN!==void 0&&(s.PATTERN=new RegExp(s.PATTERN.toString()+"(?:(?=%%)|(?!\\S))"))}),i}},XN=class extends NT{static{a(this,"CommonTokenBuilder")}};export{a,uT as b,cT as c,ud as d,mT as e,We as f,Mn as g,URe as h,Cd as i,jRe as j,Fo as k,zRe as l,Lo as m,Pa as n,BRe as o,KRe as p,Ln as q,Ma as r,qRe as s,Ku as t,WRe as u,Go as v,VRe as w,Uo as x,HRe as y,jo as z,YRe as A,Da as B,XRe as C,bd as D,JRe as E,La as F,Do as G,zo as H,ZRe as I,ST as J,Bu as K,vt as L,QRe as M,o$e as N,l$e as O,u$e as P,c$e as Q,f$e as R,p$e as S,d$e as T,m$e as U,h$e as V,y$e as W,g$e as X,wT as Y,YN as Z,NT as _,XN as $}; /*! Bundled license information: lodash-es/lodash.js: (** * @license * Lodash (Custom Build) * Build: `lodash modularize exports="es" -o ./` * Copyright OpenJS Foundation and other contributors * Released under MIT license * Based on Underscore.js 1.8.3 * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors *) */