export const __rspack_esm_id="8999";export const __rspack_esm_ids=["8999"];export const __webpack_modules__={10836(e,t,r){function n(e){return e.charCodeAt(0)}function i(e,t){Array.isArray(e)?e.forEach(function(e){t.push(e)}):t.push(e)}function a(e,t){if(!0===e[t])throw"duplicate flag "+t;e[t],e[t]=!0}function s(e){if(void 0===e)throw Error("Internal Error - Should never get here!");return!0}function o(){throw Error("Internal Error - Should never get here!")}function l(e){return"Character"===e.type}r.d(t,{z:()=>g,H:()=>m});let u=[];for(let e=n("0");e<=n("9");e++)u.push(e);let c=[n("_")].concat(u);for(let e=n("a");e<=n("z");e++)c.push(e);for(let e=n("A");e<=n("Z");e++)c.push(e);let h=[n(" "),n("\f"),n("\n"),n("\r"),n(" "),n("\v"),n(" "),n("\xa0"),n("\u1680"),n("\u2000"),n("\u2001"),n("\u2002"),n("\u2003"),n("\u2004"),n("\u2005"),n("\u2006"),n("\u2007"),n("\u2008"),n("\u2009"),n("\u200A"),n("\u2028"),n("\u2029"),n("\u202F"),n("\u205F"),n("\u3000"),n("\uFEFF")],d=/[0-9a-fA-F]/,f=/[0-9]/,p=/[1-9]/;class m{constructor(){this.idx=0,this.input="",this.groupIdx=0}saveState(){return{idx:this.idx,input:this.input,groupIdx:this.groupIdx}}restoreState(e){this.idx=e.idx,this.input=e.input,this.groupIdx=e.groupIdx}pattern(e){this.idx=0,this.input=e,this.groupIdx=0,this.consumeChar("/");let t=this.disjunction();this.consumeChar("/");let r={type:"Flags",loc:{begin:this.idx,end:e.length},global:!1,ignoreCase:!1,multiLine:!1,unicode:!1,sticky:!1};for(;this.isRegExpFlag();)switch(this.popChar()){case"g":a(r,"global");break;case"i":a(r,"ignoreCase");break;case"m":a(r,"multiLine");break;case"u":a(r,"unicode");break;case"y":a(r,"sticky")}if(this.idx!==this.input.length)throw Error("Redundant input: "+this.input.substring(this.idx));return{type:"Pattern",flags:r,value:t,loc:this.loc(0)}}disjunction(){let e=[],t=this.idx;for(e.push(this.alternative());"|"===this.peekChar();)this.consumeChar("|"),e.push(this.alternative());return{type:"Disjunction",value:e,loc:this.loc(t)}}alternative(){let e=[],t=this.idx;for(;this.isTerm();)e.push(this.term());return{type:"Alternative",value:e,loc:this.loc(t)}}term(){return this.isAssertion()?this.assertion():this.atom()}assertion(){let e=this.idx;switch(this.popChar()){case"^":return{type:"StartAnchor",loc:this.loc(e)};case"$":return{type:"EndAnchor",loc:this.loc(e)};case"\\":switch(this.popChar()){case"b":return{type:"WordBoundary",loc:this.loc(e)};case"B":return{type:"NonWordBoundary",loc:this.loc(e)}}throw Error("Invalid Assertion Escape");case"(":let t;switch(this.consumeChar("?"),this.popChar()){case"=":t="Lookahead";break;case"!":t="NegativeLookahead"}s(t);let r=this.disjunction();return this.consumeChar(")"),{type:t,value:r,loc:this.loc(e)}}return o()}quantifier(e=!1){let t,r=this.idx;switch(this.popChar()){case"*":t={atLeast:0,atMost:1/0};break;case"+":t={atLeast:1,atMost:1/0};break;case"?":t={atLeast:0,atMost:1};break;case"{":let n=this.integerIncludingZero();switch(this.popChar()){case"}":t={atLeast:n,atMost:n};break;case",":t=this.isDigit()?{atLeast:n,atMost:this.integerIncludingZero()}:{atLeast:n,atMost:1/0},this.consumeChar("}")}if(!0===e&&void 0===t)return;s(t)}if((!0!==e||void 0!==t)&&s(t))return"?"===this.peekChar(0)?(this.consumeChar("?"),t.greedy=!1):t.greedy=!0,t.type="Quantifier",t.loc=this.loc(r),t}atom(){let e,t=this.idx;switch(this.peekChar()){case".":e=this.dotAll();break;case"\\":e=this.atomEscape();break;case"[":e=this.characterClass();break;case"(":e=this.group()}return(void 0===e&&this.isPatternCharacter()&&(e=this.patternCharacter()),s(e))?(e.loc=this.loc(t),this.isQuantifier()&&(e.quantifier=this.quantifier()),e):o()}dotAll(){return this.consumeChar("."),{type:"Set",complement:!0,value:[n("\n"),n("\r"),n("\u2028"),n("\u2029")]}}atomEscape(){switch(this.consumeChar("\\"),this.peekChar()){case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":return this.decimalEscapeAtom();case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}decimalEscapeAtom(){return{type:"GroupBackReference",value:this.positiveInteger()}}characterClassEscape(){let e,t=!1;switch(this.popChar()){case"d":e=u;break;case"D":e=u,t=!0;break;case"s":e=h;break;case"S":e=h,t=!0;break;case"w":e=c;break;case"W":e=c,t=!0}return s(e)?{type:"Set",value:e,complement:t}:o()}controlEscapeAtom(){let e;switch(this.popChar()){case"f":e=n("\f");break;case"n":e=n("\n");break;case"r":e=n("\r");break;case"t":e=n(" ");break;case"v":e=n("\v")}return s(e)?{type:"Character",value:e}:o()}controlLetterEscapeAtom(){this.consumeChar("c");let e=this.popChar();if(!1===/[a-zA-Z]/.test(e))throw Error("Invalid ");return{type:"Character",value:e.toUpperCase().charCodeAt(0)-64}}nulCharacterAtom(){return this.consumeChar("0"),{type:"Character",value:n("\0")}}hexEscapeSequenceAtom(){return this.consumeChar("x"),this.parseHexDigits(2)}regExpUnicodeEscapeSequenceAtom(){return this.consumeChar("u"),this.parseHexDigits(4)}identityEscapeAtom(){return{type:"Character",value:n(this.popChar())}}classPatternCharacterAtom(){switch(this.peekChar()){case"\n":case"\r":case"\u2028":case"\u2029":case"\\":case"]":throw Error("TBD");default:return{type:"Character",value:n(this.popChar())}}}characterClass(){let e=[],t=!1;for(this.consumeChar("["),"^"===this.peekChar(0)&&(this.consumeChar("^"),t=!0);this.isClassAtom();){let t=this.classAtom();if(t.type,l(t)&&this.isRangeDash()){this.consumeChar("-");let r=this.classAtom();if(r.type,l(r)){if(r.value=this.input.length)throw Error("Unexpected end of input");this.idx++}loc(e){return{begin:e,end:this.idx}}}class g{visitChildren(e){for(let t in e){let r=e[t];e.hasOwnProperty(t)&&(void 0!==r.type?this.visit(r):Array.isArray(r)&&r.forEach(e=>{this.visit(e)},this))}}visit(e){switch(e.type){case"Pattern":this.visitPattern(e);break;case"Flags":this.visitFlags(e);break;case"Disjunction":this.visitDisjunction(e);break;case"Alternative":this.visitAlternative(e);break;case"StartAnchor":this.visitStartAnchor(e);break;case"EndAnchor":this.visitEndAnchor(e);break;case"WordBoundary":this.visitWordBoundary(e);break;case"NonWordBoundary":this.visitNonWordBoundary(e);break;case"Lookahead":this.visitLookahead(e);break;case"NegativeLookahead":this.visitNegativeLookahead(e);break;case"Character":this.visitCharacter(e);break;case"Set":this.visitSet(e);break;case"Group":this.visitGroup(e);break;case"GroupBackReference":this.visitGroupBackReference(e);break;case"Quantifier":this.visitQuantifier(e)}this.visitChildren(e)}visitPattern(e){}visitFlags(e){}visitDisjunction(e){}visitAlternative(e){}visitStartAnchor(e){}visitEndAnchor(e){}visitWordBoundary(e){}visitNonWordBoundary(e){}visitLookahead(e){}visitNegativeLookahead(e){}visitCharacter(e){}visitSet(e){}visitGroup(e){}visitGroupBackReference(e){}visitQuantifier(e){}}},59786(e,t,r){r.d(t,{b:()=>u});var n=r(83645),i=r(83111),a=r(80102),s=r(21324),o=class extends n.mR{static{(0,n.K2)(this,"GitGraphTokenBuilder")}constructor(){super(["gitGraph"])}},l={parser:{TokenBuilder:(0,n.K2)(()=>new o,"TokenBuilder"),ValueConverter:(0,n.K2)(()=>new n.Tm,"ValueConverter")}};function u(e=i.D){let t=(0,a.WQ)((0,s.u)(e),n.sr),r=(0,a.WQ)((0,s.t)({shared:t}),n.eZ,l);return t.ServiceRegistry.register(r),{shared:t,GitGraph:r}}(0,n.K2)(u,"createGitGraphServices")},52818(e,t,r){r.d(t,{f:()=>u});var n=r(83645),i=r(83111),a=r(80102),s=r(21324),o=class extends n.mR{static{(0,n.K2)(this,"RadarTokenBuilder")}constructor(){super(["radar-beta"])}},l={parser:{TokenBuilder:(0,n.K2)(()=>new o,"TokenBuilder"),ValueConverter:(0,n.K2)(()=>new n.Tm,"ValueConverter")}};function u(e=i.D){let t=(0,a.WQ)((0,s.u)(e),n.sr),r=(0,a.WQ)((0,s.t)({shared:t}),n.YP,l);return t.ServiceRegistry.register(r),{shared:t,Radar:r}}(0,n.K2)(u,"createRadarServices")},83645(e,t,r){r.d(t,{dg:()=>ef,K2:()=>A,YP:()=>eh,mR:()=>em,AM:()=>eo,KX:()=>el,sr:()=>ea,e5:()=>es,eZ:()=>ec,Tm:()=>ep,jE:()=>eu});var n,i,a,s,o,l,u=r(81457),c=r(21324),h=r(80102),d=r(22461),f=r(83111),p=r(89328);let m={Grammar:()=>void 0,LanguageMetaData:()=>({caseInsensitive:!1,fileExtensions:[".langium"],languageId:"langium"})},g={AstReflection:()=>new d.QX};function y(e){var t;let r,n,i=(r=(0,h.WQ)((0,c.u)(f.D),g),n=(0,h.WQ)((0,c.t)({shared:r}),m),r.ServiceRegistry.register(n),n),a=i.serializer.JsonSerializer.deserialize(e);return i.shared.workspace.LangiumDocumentFactory.fromModel(a,p.r.parse(`memory://${null!=(t=a.name)?t:"grammar"}.langium`)),a}var v=r(53663),T=r(75132),R=Object.defineProperty,A=(e,t)=>R(e,"name",{value:t,configurable:!0}),E="Statement",$="Architecture";A(function(e){return W.isInstance(e,$)},"isArchitecture");var k="Axis",x="Branch";A(function(e){return W.isInstance(e,x)},"isBranch");var S="Checkout",I="CherryPicking",N="Commit";A(function(e){return W.isInstance(e,N)},"isCommit");var C="Common";A(function(e){return W.isInstance(e,C)},"isCommon");var w="Curve",b="Edge",O="Entry",_="GitGraph";A(function(e){return W.isInstance(e,_)},"isGitGraph");var L="Group",P="Info";A(function(e){return W.isInstance(e,P)},"isInfo");var M="Junction",D="Merge";A(function(e){return W.isInstance(e,D)},"isMerge");var F="Option",U="Packet";A(function(e){return W.isInstance(e,U)},"isPacket");var G="PacketBlock";A(function(e){return W.isInstance(e,G)},"isPacketBlock"),A(function(e){return W.isInstance(e,"Pie")},"isPie");var j="PieSection";A(function(e){return W.isInstance(e,j)},"isPieSection");var K="Radar",B="Service",V="Direction",H=class extends u.kD{static{A(this,"MermaidAstReflection")}getAllTypes(){return[$,k,x,S,I,N,C,w,V,b,O,_,L,P,M,D,F,U,G,"Pie",j,K,B,E]}computeIsSubtype(e,t){switch(e){case x:case S:case I:case N:case D:return this.isSubtype(E,t);case V:return this.isSubtype(_,t);default:return!1}}getReferenceType(e){let t=`${e.container.$type}:${e.property}`;if("Entry:axis"===t)return k;throw Error(`${t} is not a valid reference id.`)}getTypeMetaData(e){switch(e){case $:return{name:$,properties:[{name:"accDescr"},{name:"accTitle"},{name:"edges",defaultValue:[]},{name:"groups",defaultValue:[]},{name:"junctions",defaultValue:[]},{name:"services",defaultValue:[]},{name:"title"}]};case k:return{name:k,properties:[{name:"label"},{name:"name"}]};case x:return{name:x,properties:[{name:"name"},{name:"order"}]};case S:return{name:S,properties:[{name:"branch"}]};case I:return{name:I,properties:[{name:"id"},{name:"parent"},{name:"tags",defaultValue:[]}]};case N:return{name:N,properties:[{name:"id"},{name:"message"},{name:"tags",defaultValue:[]},{name:"type"}]};case C:return{name:C,properties:[{name:"accDescr"},{name:"accTitle"},{name:"title"}]};case w:return{name:w,properties:[{name:"entries",defaultValue:[]},{name:"label"},{name:"name"}]};case b:return{name:b,properties:[{name:"lhsDir"},{name:"lhsGroup",defaultValue:!1},{name:"lhsId"},{name:"lhsInto",defaultValue:!1},{name:"rhsDir"},{name:"rhsGroup",defaultValue:!1},{name:"rhsId"},{name:"rhsInto",defaultValue:!1},{name:"title"}]};case O:return{name:O,properties:[{name:"axis"},{name:"value"}]};case _:return{name:_,properties:[{name:"accDescr"},{name:"accTitle"},{name:"statements",defaultValue:[]},{name:"title"}]};case L:return{name:L,properties:[{name:"icon"},{name:"id"},{name:"in"},{name:"title"}]};case P:return{name:P,properties:[{name:"accDescr"},{name:"accTitle"},{name:"title"}]};case M:return{name:M,properties:[{name:"id"},{name:"in"}]};case D:return{name:D,properties:[{name:"branch"},{name:"id"},{name:"tags",defaultValue:[]},{name:"type"}]};case F:return{name:F,properties:[{name:"name"},{name:"value",defaultValue:!1}]};case U:return{name:U,properties:[{name:"accDescr"},{name:"accTitle"},{name:"blocks",defaultValue:[]},{name:"title"}]};case G:return{name:G,properties:[{name:"end"},{name:"label"},{name:"start"}]};case"Pie":return{name:"Pie",properties:[{name:"accDescr"},{name:"accTitle"},{name:"sections",defaultValue:[]},{name:"showData",defaultValue:!1},{name:"title"}]};case j:return{name:j,properties:[{name:"label"},{name:"value"}]};case K:return{name:K,properties:[{name:"accDescr"},{name:"accTitle"},{name:"axes",defaultValue:[]},{name:"curves",defaultValue:[]},{name:"options",defaultValue:[]},{name:"title"}]};case B:return{name:B,properties:[{name:"icon"},{name:"iconText"},{name:"id"},{name:"in"},{name:"title"}]};case V:return{name:V,properties:[{name:"accDescr"},{name:"accTitle"},{name:"dir"},{name:"statements",defaultValue:[]},{name:"title"}]};default:return{name:e,properties:[]}}}},W=new H,z=A(()=>n??(n=y('{"$type":"Grammar","isDeclared":true,"name":"Info","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Info","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"info"},{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[],"cardinality":"*"},{"$type":"Group","elements":[{"$type":"Keyword","value":"showInfo"},{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[],"cardinality":"*"}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[],"cardinality":"?"}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false}],"definesHiddenTokens":false,"hiddenTokens":[],"interfaces":[{"$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":[]}],"types":[],"usedGrammars":[]}')),"InfoGrammar"),Y=A(()=>i??(i=y('{"$type":"Grammar","isDeclared":true,"name":"Packet","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Packet","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"packet-beta"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Assignment","feature":"blocks","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]},"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"+"},{"$type":"Assignment","feature":"blocks","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]},"cardinality":"+"}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"*"}]}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"PacketBlock","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"start","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"-"},{"$type":"Assignment","feature":"end","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}}],"cardinality":"?"},{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]*\\"|\'[^\']*\'/"},"fragment":false,"hidden":false},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false}],"definesHiddenTokens":false,"hiddenTokens":[],"interfaces":[{"$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":[]}],"types":[],"usedGrammars":[]}')),"PacketGrammar"),q=A(()=>a??(a=y('{"$type":"Grammar","isDeclared":true,"name":"Pie","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Pie","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"pie"},{"$type":"Assignment","feature":"showData","operator":"?=","terminal":{"$type":"Keyword","value":"showData"},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Assignment","feature":"sections","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]},"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"+"},{"$type":"Assignment","feature":"sections","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]},"cardinality":"+"}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"*"}]}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"PieSection","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"PIE_SECTION_LABEL","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]+\\"/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"PIE_SECTION_VALUE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/(0|[1-9][0-9]*)(\\\\.[0-9]+)?/"},"fragment":false,"hidden":false},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false}],"definesHiddenTokens":false,"hiddenTokens":[],"interfaces":[{"$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":[]}],"types":[],"usedGrammars":[]}')),"PieGrammar"),X=A(()=>s??(s=y('{"$type":"Grammar","isDeclared":true,"name":"Architecture","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Architecture","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"architecture-beta"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}]},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[],"cardinality":"*"}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[],"cardinality":"*"}]}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"Statement","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"groups","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"services","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"junctions","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Assignment","feature":"edges","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"LeftPort","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"lhsDir","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"RightPort","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"rhsDir","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Keyword","value":":"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"Arrow","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]},{"$type":"Assignment","feature":"lhsInto","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"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@13"},"arguments":[]}},{"$type":"Keyword","value":"-"}]}]},{"$type":"Assignment","feature":"rhsInto","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Group","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"group"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}},{"$type":"Assignment","feature":"icon","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Service","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"service"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"iconText","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"Assignment","feature":"icon","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}}],"cardinality":"?"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Junction","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"junction"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Edge","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"lhsId","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}},{"$type":"Assignment","feature":"lhsGroup","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Assignment","feature":"rhsId","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}},{"$type":"Assignment","feature":"rhsGroup","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"ARROW_DIRECTION","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"L"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"R"}}]},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"T"}}]},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"B"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARCH_ID","definition":{"$type":"RegexToken","regex":"/[\\\\w]+/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARCH_TEXT_ICON","definition":{"$type":"RegexToken","regex":"/\\\\(\\"[^\\"]+\\"\\\\)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARCH_ICON","definition":{"$type":"RegexToken","regex":"/\\\\([\\\\w-:]+\\\\)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARCH_TITLE","definition":{"$type":"RegexToken","regex":"/\\\\[[\\\\w ]+\\\\]/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW_GROUP","definition":{"$type":"RegexToken","regex":"/\\\\{group\\\\}/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW_INTO","definition":{"$type":"RegexToken","regex":"/<|>/"},"fragment":false,"hidden":false},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false}],"definesHiddenTokens":false,"hiddenTokens":[],"interfaces":[{"$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":[]}],"types":[],"usedGrammars":[]}')),"ArchitectureGrammar"),Q=A(()=>o??(o=y('{"$type":"Grammar","isDeclared":true,"name":"GitGraph","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","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false},{"$type":"ParserRule","entry":true,"name":"GitGraph","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"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@12"},"arguments":[]},{"$type":"Keyword","value":":"}]}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"*"},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@0"},"arguments":[]},{"$type":"Assignment","feature":"statements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}],"cardinality":"*"}]}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Statement","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Direction","definition":{"$type":"Assignment","feature":"dir","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"LR"},{"$type":"Keyword","value":"TB"},{"$type":"Keyword","value":"BT"}]}},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Commit","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"commit"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"msg:","cardinality":"?"},{"$type":"Assignment","feature":"message","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"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@1"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Branch","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"branch"},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"order:"},{"$type":"Assignment","feature":"order","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Merge","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"merge"},{"$type":"Assignment","feature":"branch","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}]}},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"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@1"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Checkout","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"checkout"},{"$type":"Keyword","value":"switch"}]},{"$type":"Assignment","feature":"branch","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"CherryPicking","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"cherry-pick"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"parent:"},{"$type":"Assignment","feature":"parent","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+(?=\\\\s)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\\\w([-\\\\./\\\\w]*[-\\\\w])?/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]*\\"|\'[^\']*\'/"},"fragment":false,"hidden":false}],"definesHiddenTokens":false,"hiddenTokens":[],"imports":[],"types":[],"usedGrammars":[]}')),"GitGraphGrammar"),Z=A(()=>l??(l=y('{"$type":"Grammar","isDeclared":true,"name":"Radar","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":[]},{"$type":"Interface","name":"Entry","attributes":[{"$type":"TypeAttribute","name":"axis","isOptional":true,"type":{"$type":"ReferenceType","referenceType":{"$type":"SimpleType","typeRef":{"$ref":"#/rules@12"}}}},{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"number"},"isOptional":false}],"superTypes":[]}],"rules":[{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false},{"$type":"ParserRule","entry":true,"name":"Radar","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"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@2"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@0"},"arguments":[]},{"$type":"Group","elements":[{"$type":"Keyword","value":"axis"},{"$type":"Assignment","feature":"axes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"axes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}}],"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"curve"},{"$type":"Assignment","feature":"curves","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"curves","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}}],"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"options","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"options","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}],"cardinality":"*"}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}],"cardinality":"*"}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"Label","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Keyword","value":"]"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Axis","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[],"cardinality":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Curve","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[],"cardinality":"?"},{"$type":"Keyword","value":"{"},{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},{"$type":"Keyword","value":"}"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"Entries","definition":{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"*"}]}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"DetailedEntry","returnType":{"$ref":"#/interfaces@1"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"axis","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@12"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]},"deprecatedSyntax":false}},{"$type":"Keyword","value":":","cardinality":"?"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"NumberEntry","returnType":{"$ref":"#/interfaces@1"},"definition":{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Option","definition":{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"showLegend"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"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@18"},"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@18"},"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@18"},"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@20"},"arguments":[]}}]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/(0|[1-9][0-9]*)(\\\\.[0-9]+)?/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"GRATICULE","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"circle"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"polygon"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[a-zA-Z_][a-zA-Z0-9\\\\-_]*/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]*\\"|\'[^\']*\'/"},"fragment":false,"hidden":false}],"definesHiddenTokens":false,"hiddenTokens":[],"imports":[],"types":[],"usedGrammars":[]}')),"RadarGrammar"),J={languageId:"info",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},ee={languageId:"packet",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},et={languageId:"pie",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},er={languageId:"architecture",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},en={languageId:"gitGraph",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},ei={languageId:"radar",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},ea={AstReflection:A(()=>new H,"AstReflection")},es={Grammar:A(()=>z(),"Grammar"),LanguageMetaData:A(()=>J,"LanguageMetaData"),parser:{}},eo={Grammar:A(()=>Y(),"Grammar"),LanguageMetaData:A(()=>ee,"LanguageMetaData"),parser:{}},el={Grammar:A(()=>q(),"Grammar"),LanguageMetaData:A(()=>et,"LanguageMetaData"),parser:{}},eu={Grammar:A(()=>X(),"Grammar"),LanguageMetaData:A(()=>er,"LanguageMetaData"),parser:{}},ec={Grammar:A(()=>Q(),"Grammar"),LanguageMetaData:A(()=>en,"LanguageMetaData"),parser:{}},eh={Grammar:A(()=>Z(),"Grammar"),LanguageMetaData:A(()=>ei,"LanguageMetaData"),parser:{}},ed={ACC_DESCR:/accDescr(?:[\t ]*:([^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/accTitle[\t ]*:([^\n\r]*)/,TITLE:/title([\t ][^\n\r]*|)/},ef=class extends v.d{static{A(this,"AbstractMermaidValueConverter")}runConverter(e,t,r){let n=this.runCommonConverter(e,t,r);return(void 0===n&&(n=this.runCustomConverter(e,t,r)),void 0===n)?super.runConverter(e,t,r):n}runCommonConverter(e,t,r){let n=ed[e.name];if(void 0===n)return;let i=n.exec(t);if(null!==i){if(void 0!==i[1])return i[1].trim().replace(/[\t ]{2,}/gm," ");if(void 0!==i[2])return i[2].replace(/^\s*/gm,"").replace(/\s+$/gm,"").replace(/[\t ]{2,}/gm," ").replace(/[\n\r]{2,}/gm,"\n")}}},ep=class extends ef{static{A(this,"CommonValueConverter")}runCustomConverter(e,t,r){}},em=class extends T.Q{static{A(this,"AbstractMermaidTokenBuilder")}constructor(e){super(),this.keywords=new Set(e)}buildKeywordTokens(e,t,r){let n=super.buildKeywordTokens(e,t,r);return n.forEach(e=>{this.keywords.has(e.name)&&void 0!==e.PATTERN&&(e.PATTERN=RegExp(e.PATTERN.toString()+"(?:(?=%%)|(?!\\S))"))}),n}};(class extends em{static{A(this,"CommonTokenBuilder")}})},88618(e,t,r){r.d(t,{S:()=>c});var n=r(83645),i=r(83111),a=r(80102),s=r(21324),o=class extends n.mR{static{(0,n.K2)(this,"ArchitectureTokenBuilder")}constructor(){super(["architecture"])}},l=class extends n.dg{static{(0,n.K2)(this,"ArchitectureValueConverter")}runCustomConverter(e,t,r){return"ARCH_ICON"===e.name?t.replace(/[()]/g,"").trim():"ARCH_TEXT_ICON"===e.name?t.replace(/["()]/g,""):"ARCH_TITLE"===e.name?t.replace(/[[\]]/g,"").trim():void 0}},u={parser:{TokenBuilder:(0,n.K2)(()=>new o,"TokenBuilder"),ValueConverter:(0,n.K2)(()=>new l,"ValueConverter")}};function c(e=i.D){let t=(0,a.WQ)((0,s.u)(e),n.sr),r=(0,a.WQ)((0,s.t)({shared:t}),n.jE,u);return t.ServiceRegistry.register(r),{shared:t,Architecture:r}}(0,n.K2)(c,"createArchitectureServices")},13199(e,t,r){r.d(t,{v:()=>u});var n=r(83645),i=r(83111),a=r(80102),s=r(21324),o=class extends n.mR{static{(0,n.K2)(this,"InfoTokenBuilder")}constructor(){super(["info","showInfo"])}},l={parser:{TokenBuilder:(0,n.K2)(()=>new o,"TokenBuilder"),ValueConverter:(0,n.K2)(()=>new n.Tm,"ValueConverter")}};function u(e=i.D){let t=(0,a.WQ)((0,s.u)(e),n.sr),r=(0,a.WQ)((0,s.t)({shared:t}),n.e5,l);return t.ServiceRegistry.register(r),{shared:t,Info:r}}(0,n.K2)(u,"createInfoServices")},42681(e,t,r){r.d(t,{f:()=>c});var n=r(83645),i=r(83111),a=r(80102),s=r(21324),o=class extends n.mR{static{(0,n.K2)(this,"PieTokenBuilder")}constructor(){super(["pie","showData"])}},l=class extends n.dg{static{(0,n.K2)(this,"PieValueConverter")}runCustomConverter(e,t,r){if("PIE_SECTION_LABEL"===e.name)return t.replace(/"/g,"").trim()}},u={parser:{TokenBuilder:(0,n.K2)(()=>new o,"TokenBuilder"),ValueConverter:(0,n.K2)(()=>new l,"ValueConverter")}};function c(e=i.D){let t=(0,a.WQ)((0,s.u)(e),n.sr),r=(0,a.WQ)((0,s.t)({shared:t}),n.KX,u);return t.ServiceRegistry.register(r),{shared:t,Pie:r}}(0,n.K2)(c,"createPieServices")},30930(e,t,r){r.d(t,{$:()=>u});var n=r(83645),i=r(83111),a=r(80102),s=r(21324),o=class extends n.mR{static{(0,n.K2)(this,"PacketTokenBuilder")}constructor(){super(["packet-beta"])}},l={parser:{TokenBuilder:(0,n.K2)(()=>new o,"TokenBuilder"),ValueConverter:(0,n.K2)(()=>new n.Tm,"ValueConverter")}};function u(e=i.D){let t=(0,a.WQ)((0,s.u)(e),n.sr),r=(0,a.WQ)((0,s.t)({shared:t}),n.AM,l);return t.ServiceRegistry.register(r),{shared:t,Packet:r}}(0,n.K2)(u,"createPacketServices")},47610(e,t,r){r.d(t,{qg:()=>s}),r(59786),r(13199),r(30930),r(42681),r(88618),r(52818);var n=r(83645),i={},a={info:(0,n.K2)(async()=>{let{createInfoServices:e}=await r.e("4409").then(r.bind(r,99840));i.info=e().Info.parser.LangiumParser},"info"),packet:(0,n.K2)(async()=>{let{createPacketServices:e}=await r.e("6447").then(r.bind(r,74466));i.packet=e().Packet.parser.LangiumParser},"packet"),pie:(0,n.K2)(async()=>{let{createPieServices:e}=await r.e("827").then(r.bind(r,72726));i.pie=e().Pie.parser.LangiumParser},"pie"),architecture:(0,n.K2)(async()=>{let{createArchitectureServices:e}=await r.e("3316").then(r.bind(r,33423));i.architecture=e().Architecture.parser.LangiumParser},"architecture"),gitGraph:(0,n.K2)(async()=>{let{createGitGraphServices:e}=await r.e("7327").then(r.bind(r,98962));i.gitGraph=e().GitGraph.parser.LangiumParser},"gitGraph"),radar:(0,n.K2)(async()=>{let{createRadarServices:e}=await r.e("8958").then(r.bind(r,20477));i.radar=e().Radar.parser.LangiumParser},"radar")};async function s(e,t){let r=a[e];if(!r)throw Error(`Unknown diagram type: ${e}`);i[e]||await r();let n=i[e].parse(t);if(n.lexerErrors.length>0||n.parserErrors.length>0)throw new o(n);return n.value}(0,n.K2)(s,"parse");var o=class extends Error{constructor(e){let t=e.lexerErrors.map(e=>e.message).join("\n"),r=e.parserErrors.map(e=>e.message).join("\n");super(`Parsing failed: ${t} ${r}`),this.result=e}static{(0,n.K2)(this,"MermaidParseError")}}},88215(e,t,r){r.d(t,{T6:()=>aP,Sk:()=>i_,wL:()=>r5,Y2:()=>nn,Pp:()=>ni,PW:()=>iw,my:()=>iz,jk:()=>an,G:()=>iW,$P:()=>nt,c$:()=>ne,mT:()=>aZ,LT:()=>iV,JG:()=>iO,BK:()=>ns,ak:()=>na,jr:()=>a0,Cy:()=>nr});let n=function(e,t){for(var r=-1,n=null==e?0:e.length;++r-1&&e%1==0&&e-1&&e%1==0&&e<=0x1fffffffffffff};var X={};X["[object Float32Array]"]=X["[object Float64Array]"]=X["[object Int8Array]"]=X["[object Int16Array]"]=X["[object Int32Array]"]=X["[object Uint8Array]"]=X["[object Uint8ClampedArray]"]=X["[object Uint16Array]"]=X["[object Uint32Array]"]=!0,X["[object Arguments]"]=X["[object Array]"]=X["[object ArrayBuffer]"]=X["[object Boolean]"]=X["[object DataView]"]=X["[object Date]"]=X["[object Error]"]=X["[object Function]"]=X["[object Map]"]=X["[object Number]"]=X["[object Object]"]=X["[object RegExp]"]=X["[object Set]"]=X["[object String]"]=X["[object WeakMap]"]=!1;let Q=function(e){return function(t){return e(t)}};var Z="object"==typeof exports&&exports&&!exports.nodeType&&exports,J=Z&&"object"==typeof module&&module&&!module.nodeType&&module,ee=J&&J.exports===Z&&k.process,et=function(){try{var e=J&&J.require&&J.require("util").types;if(e)return e;return ee&&ee.binding&&ee.binding("util")}catch(e){}}(),er=et&&et.isTypedArray,en=er?Q(er):function(e){return M(e)&&q(e.length)&&!!X[P(e)]},ei=Object.prototype.hasOwnProperty;let ea=function(e,t){var r=K(e),n=!r&&j(e),i=!r&&!n&&W(e),s=!r&&!n&&!i&&en(e),o=r||n||i||s,l=o?a(e.length,String):[],u=l.length;for(var c in e)(t||ei.call(e,c))&&!(o&&("length"==c||i&&("offset"==c||"parent"==c)||s&&("buffer"==c||"byteLength"==c||"byteOffset"==c)||Y(c,u)))&&l.push(c);return l};var es=Object.prototype;let eo=function(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||es)},el=function(e,t){return function(r){return e(t(r))}};var eu=el(Object.keys,Object),ec=Object.prototype.hasOwnProperty;let eh=function(e){if(!eo(e))return eu(e);var t=[];for(var r in Object(e))ec.call(e,r)&&"constructor"!=r&&t.push(r);return t},ed=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)},ef=function(e){if(!ed(e))return!1;var t=P(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t},ep=function(e){return null!=e&&q(e.length)&&!ef(e)},em=function(e){return ep(e)?ea(e):eh(e)};var eg=(c=function(e,t){return e&&i(e,t,em)},function(e,t){if(null==e)return e;if(!ep(e))return c(e,t);for(var r=e.length,n=-1,i=Object(e);++n-1},e0.prototype.set=function(e,t){var r=this.__data__,n=eZ(r,e);return n<0?(++this.size,r.push([e,t])):r[n][1]=t,this};var e1=eb(Object,"create"),e2=Object.prototype.hasOwnProperty,e3=Object.prototype.hasOwnProperty;function e8(e){var t=-1,r=null==e?0:e.length;for(this.clear();++to))return!1;var u=a.get(e),c=a.get(t);if(u&&c)return u==t&&c==e;var h=-1,d=!0,f=2&r?new e7:void 0;for(a.set(e,t),a.set(t,e);++hi?0:i+t),(r=r>i?i:r)<0&&(r+=i),i=t>r?0:r-t>>>0,t>>>=0;for(var a=Array(i);++n0){if(++m>=800)return arguments[0]}else m=0;return p.apply(void 0,arguments)});let rQ=function(e,t){var r;return rX((r=rY(void 0===(r=t)?e.length-1:r,0),function(){for(var t=arguments,n=-1,i=rY(t.length-r,0),a=Array(i);++n1?t[n-1]:void 0,a=n>2?t[2]:void 0;for(i=y.length>3&&"function"==typeof i?(n--,i):void 0,a&&rZ(t[0],t[1],a)&&(i=n<3?void 0:i,n=1),e=Object(e);++r{t.accept(e)})}}class r5 extends r6{constructor(e){super([]),this.idx=1,r0(this,r3(e,e=>void 0!==e))}set definition(e){}get definition(){return void 0!==this.referencedRule?this.referencedRule.definition:[]}accept(e){e.visit(this)}}class r9 extends r6{constructor(e){super(e.definition),this.orgText="",r0(this,r3(e,e=>void 0!==e))}}class r7 extends r6{constructor(e){super(e.definition),this.ignoreAmbiguities=!1,r0(this,r3(e,e=>void 0!==e))}}class ne extends r6{constructor(e){super(e.definition),this.idx=1,r0(this,r3(e,e=>void 0!==e))}}class nt extends r6{constructor(e){super(e.definition),this.idx=1,r0(this,r3(e,e=>void 0!==e))}}class nr extends r6{constructor(e){super(e.definition),this.idx=1,r0(this,r3(e,e=>void 0!==e))}}class nn extends r6{constructor(e){super(e.definition),this.idx=1,r0(this,r3(e,e=>void 0!==e))}}class ni extends r6{constructor(e){super(e.definition),this.idx=1,r0(this,r3(e,e=>void 0!==e))}}class na extends r6{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,r0(this,r3(e,e=>void 0!==e))}}class ns{constructor(e){this.idx=1,r0(this,r3(e,e=>void 0!==e))}accept(e){e.visit(this)}}class no{visit(e){switch(e.constructor){case r5:return this.visitNonTerminal(e);case r7:return this.visitAlternative(e);case ne:return this.visitOption(e);case nt:return this.visitRepetitionMandatory(e);case nr:return this.visitRepetitionMandatoryWithSeparator(e);case ni:return this.visitRepetitionWithSeparator(e);case nn:return this.visitRepetition(e);case na:return this.visitAlternation(e);case ns:return this.visitTerminal(e);case r9:return this.visitRule(e);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){}}let nl=function(e,t){var r;return eg(e,function(e,n,i){return!(r=t(e,n,i))}),!!r},nu=function(e,t,r){var n=K(e)?te:nl;return r&&rZ(e,t,r)&&(t=void 0),n(e,tX(t,3))},nc=function(e,t,r,n){for(var i=e.length,a=r+(n?1:-1);n?a--:++a-1:!!i&&nf(e,t,r)>-1},ng=function(e,t){for(var r=-1,n=null==e?0:e.length;++rnT(e,t)):!(e instanceof r5&&nm(t,e))&&e instanceof r6&&(e instanceof r5&&t.push(e),nv(e.definition,e=>nT(e,t))))}function nR(e){if(e instanceof r5)return"SUBRULE";if(e instanceof ne)return"OPTION";if(e instanceof na)return"OR";if(e instanceof nt)return"AT_LEAST_ONE";if(e instanceof nr)return"AT_LEAST_ONE_SEP";else if(e instanceof ni)return"MANY_SEP";else if(e instanceof nn)return"MANY";else if(e instanceof ns)return"CONSUME";else throw Error("non exhaustive match")}class nA{walk(e,t=[]){ev(e.definition,(r,n)=>{let i=rH(e.definition,n+1);if(r instanceof r5)this.walkProdRef(r,i,t);else if(r instanceof ns)this.walkTerminal(r,i,t);else if(r instanceof r7)this.walkFlat(r,i,t);else if(r instanceof ne)this.walkOption(r,i,t);else if(r instanceof nt)this.walkAtLeastOne(r,i,t);else if(r instanceof nr)this.walkAtLeastOneSep(r,i,t);else if(r instanceof ni)this.walkManySep(r,i,t);else if(r instanceof nn)this.walkMany(r,i,t);else if(r instanceof na)this.walkOr(r,i,t);else throw Error("non exhaustive match")})}walkTerminal(e,t,r){}walkProdRef(e,t,r){}walkFlat(e,t,r){let n=t.concat(r);this.walk(e,n)}walkOption(e,t,r){let n=t.concat(r);this.walk(e,n)}walkAtLeastOne(e,t,r){let n=[new ne({definition:e.definition})].concat(t,r);this.walk(e,n)}walkAtLeastOneSep(e,t,r){let n=nE(e,t,r);this.walk(e,n)}walkMany(e,t,r){let n=[new ne({definition:e.definition})].concat(t,r);this.walk(e,n)}walkManySep(e,t,r){let n=nE(e,t,r);this.walk(e,n)}walkOr(e,t,r){let n=t.concat(r);ev(e.definition,e=>{let t=new r7({definition:[e]});this.walk(t,n)})}}function nE(e,t,r){return[new ne({definition:[new ns({terminalType:e.separator})].concat(e.definition)})].concat(t,r)}let n$=function(e,t){return!!(null==e?0:e.length)&&nf(e,t,0)>-1},nk=function(e,t,r){for(var n=-1,i=null==e?0:e.length;++n=200){var u=t?null:nS(e);if(u)return ta(u);s=!1,i=tt,l=new e7}else l=t?[]:o;e:for(;++n0&&n(l)?r>1?e(l,r-1,n,i,a):tu(a,l):i||(a[a.length]=l)}return a},nO=function(e){return(null==e?0:e.length)?nb(e,1):[]};function n_(e){if(e instanceof r5)return n_(e.referencedRule);if(e instanceof ns)return[e.terminalType];if(e instanceof r7||e instanceof ne||e instanceof nn||e instanceof nt||e instanceof nr||e instanceof ni||e instanceof ns||e instanceof r9)return function(e){let t,r=[],n=e.definition,i=0,a=n.length>i,s=!0;for(;a&&s;)s=nT(t=n[i]),r=r.concat(n_(t)),i+=1,a=n.length>i;return nN(r)}(e);if(e instanceof na)return nN(nO(tZ(e.definition,e=>n_(e))));throw Error("non exhaustive match")}class nL extends nA{constructor(e){super(),this.topProd=e,this.follows={}}startWalking(){return this.walk(this.topProd),this.follows}walkTerminal(e,t,r){}walkProdRef(e,t,r){var n,i;let a=(n=e.referencedRule,i=e.idx,n.name+i+"_~IN~_"+this.topProd.name),s=n_(new r7({definition:t.concat(r)}));this.follows[a]=s}}let nP=function(e){return void 0===e};var nM=r(10836),nD=Object.prototype,nF=nD.hasOwnProperty,nU=rQ(function(e,t){e=Object(e);var r=-1,n=t.length,i=n>2?t[2]:void 0;for(i&&rZ(t[0],t[1],i)&&(n=1);++r=200&&(a=tt,s=!1,t=new e7(t));e:for(;++i-1?n[i?e[a]:a]:void 0});function n2(e){console&&console.error&&console.error(`Error: ${e}`)}let n3={},n8=new nM.H;function n4(e){let t=e.toString();if(n3.hasOwnProperty(t))return n3[t];{let e=n8.pattern(t);return n3[t]=e,e}}let n6="Complement Sets are not supported for first char optimization",n5='Unable to use "first char" lexer optimizations:\n';function n9(e,t,r){let n=iT(e);t[n]=n,!0===r&&function(e,t){let r=String.fromCharCode(e),n=r.toUpperCase();if(n!==r){let e=iT(n.charCodeAt(0));t[e]=e}else{let e=r.toLowerCase();if(e!==r){let r=iT(e.charCodeAt(0));t[r]=r}}}(e,t)}function n7(e,t){return n1(e.value,e=>"number"==typeof e?nm(t,e):void 0!==n1(t,t=>e.from<=t&&t<=e.to))}class ie extends nM.z{constructor(e){super(),this.targetCharCodes=e,this.found=!1}visitChildren(e){if(!0!==this.found){switch(e.type){case"Lookahead":this.visitLookahead(e);return;case"NegativeLookahead":this.visitNegativeLookahead(e);return}super.visitChildren(e)}}visitCharacter(e){nm(this.targetCharCodes,e.value)&&(this.found=!0)}visitSet(e){e.complement?void 0===n7(e,this.targetCharCodes)&&(this.found=!0):void 0!==n7(e,this.targetCharCodes)&&(this.found=!0)}}function it(e,t){if(!(t instanceof RegExp))return void 0!==n1(t,t=>nm(e,t.charCodeAt(0)));{let r=n4(t),n=new ie(e);return n.visit(r),n.found}}let ir="PATTERN",ii="defaultMode",ia="modes",is="boolean"==typeof RegExp("(?:)").sticky,io=/[^\\][$]/,il=/[^\\[][\^]|^\^/;function iu(e){let t=e.ignoreCase?"i":"";return RegExp(`^(?:${e.source})`,t)}function ic(e){let t=e.ignoreCase?"iy":"y";return RegExp(`${e.source}`,t)}function ih(e){let t=e.PATTERN;if(r4(t))return!1;if(ef(t))return!0;if(t1(t,"exec"))return!0;if(rW(t))return!1;throw Error("non exhaustive match")}function id(e){return!!rW(e)&&1===e.length&&e.charCodeAt(0)}let ip={test:function(e){let t=e.length;for(let r=this.lastIndex;rrW(e)?e.charCodeAt(0):e)}function iy(e,t,r){void 0===e[t]?e[t]=[r]:e[t].push(r)}let iv=[];function iT(e){return e<256?e:iv[e]}let iR=function(e){var t=null==e?0:e.length;return t?e[t-1]:void 0};function iA(e){let t=new Date().getTime(),r=e();return{time:new Date().getTime()-t,value:r}}function iE(e,t){let r=e.tokenTypeIdx;return r===t.tokenTypeIdx||!0===t.isParent&&!0===t.categoryMatchesMap[r]}function i$(e,t){return e.tokenTypeIdx===t.tokenTypeIdx}let ik=1,ix={};function iS(e){let t=function(e){let t=rb(e),r=e,n=!0;for(;n;){let e=nQ(r=nZ(nO(tZ(r,e=>e.CATEGORIES))),t);t=t.concat(e),eX(e)?n=!1:r=e}return t}(e);ev(t,e=>{iI(e)||(ix[ik]=e,e.tokenTypeIdx=ik++),iN(e)&&!K(e.CATEGORIES)&&(e.CATEGORIES=[e.CATEGORIES]),iN(e)||(e.CATEGORIES=[]),t1(e,"categoryMatches")||(e.categoryMatches=[]),t1(e,"categoryMatchesMap")||(e.categoryMatchesMap={})}),ev(t,e=>{!function e(t,r){ev(t,e=>{r.categoryMatchesMap[e.tokenTypeIdx]=!0}),ev(r.CATEGORIES,n=>{let i=t.concat(r);nm(i,n)||e(i,n)})}([],e)}),ev(t,e=>{e.categoryMatches=[],ev(e.categoryMatchesMap,(t,r)=>{e.categoryMatches.push(ix[r].tokenTypeIdx)})}),ev(t,e=>{e.isParent=e.categoryMatches.length>0})}function iI(e){return t1(e,"tokenTypeIdx")}function iN(e){return t1(e,"CATEGORIES")}function iC(e){return t1(e,"tokenTypeIdx")}let iw={buildUnableToPopLexerModeMessage:e=>`Unable to pop Lexer Mode after encountering Token ->${e.image}<- The Mode Stack is empty`,buildUnexpectedCharactersMessage:(e,t,r,n,i)=>`unexpected character: ->${e.charAt(t)}<- at offset: ${t}, skipped ${r} characters.`};(T=s||(s={}))[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";let ib={deferDefinitionErrorsHandling:!1,positionTracking:"full",lineTerminatorsPattern:/\n|\r\n?/g,lineTerminatorCharacters:["\n","\r"],ensureOptimizations:!1,safeMode:!1,errorMessageProvider:iw,traceInitPerf:!1,skipValidations:!1,recoveryEnabled:!0};Object.freeze(ib);class iO{constructor(e,t=ib){if(this.lexerDefinition=e,this.lexerDefinitionErrors=[],this.lexerDefinitionWarning=[],this.patternIdxToConfig={},this.charCodeToPatternIdxToConfig={},this.modes=[],this.emptyGroups={},this.trackStartLines=!0,this.trackEndLines=!0,this.hasCustom=!1,this.canModeBeOptimized={},this.TRACE_INIT=(e,t)=>{if(!0!==this.traceInitPerf)return t();{this.traceInitIndent++;let r=Array(this.traceInitIndent+1).join(" ");this.traceInitIndent,this.traceInitMaxIdent;let{time:n,value:i}=iA(t),a=n>10?console.warn:console.log;return this.traceInitIndent time: ${n}ms`),this.traceInitIndent--,i}},"boolean"==typeof t)throw Error("The second argument to the Lexer constructor is now an ILexerConfig Object.\na boolean 2nd argument is no longer supported");this.config=r0({},ib,t);let r=this.config.traceInitPerf;!0===r?(this.traceInitMaxIdent=1/0,this.traceInitPerf=!0):"number"==typeof r&&(this.traceInitMaxIdent=r,this.traceInitPerf=!0),this.traceInitIndent=-1,this.TRACE_INIT("Lexer Constructor",()=>{let r,n=!0;this.TRACE_INIT("Lexer Config handling",()=>{if(this.config.lineTerminatorsPattern===ib.lineTerminatorsPattern)this.config.lineTerminatorsPattern=ip;else if(this.config.lineTerminatorCharacters===ib.lineTerminatorCharacters)throw Error("Error: Missing property on the Lexer config.\n For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#MISSING_LINE_TERM_CHARS");if(t.safeMode&&t.ensureOptimizations)throw Error('"safeMode" and "ensureOptimizations" flags are mutually exclusive.');this.trackStartLines=/full|onlyStart/i.test(this.config.positionTracking),this.trackEndLines=/full/i.test(this.config.positionTracking),K(e)?r={modes:{defaultMode:rb(e)},defaultMode:ii}:(n=!1,r=rb(e))}),!1===this.config.skipValidations&&(this.TRACE_INIT("performRuntimeChecks",()=>{var e;let t;this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat((e=r,this.trackStartLines,this.config.lineTerminatorCharacters,t=[],t1(e,ii)||t.push({message:"A MultiMode Lexer cannot be initialized without a <"+ii+"> property in its definition\n",type:s.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE}),t1(e,ia)||t.push({message:"A MultiMode Lexer cannot be initialized without a <"+ia+"> property in its definition\n",type:s.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY}),t1(e,ia)&&t1(e,ii)&&!t1(e.modes,e.defaultMode)&&t.push({message:`A MultiMode Lexer cannot be initialized with a ${ii}: <${e.defaultMode}>which does not exist `,type:s.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST}),t1(e,ia)&&ev(e.modes,(e,r)=>{ev(e,(n,i)=>{nP(n)?t.push({message:`A Lexer cannot be initialized using an undefined Token Type. Mode:<${r}> at index: <${i}> `,type:s.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED}):t1(n,"LONGER_ALT")&&ev(K(n.LONGER_ALT)?n.LONGER_ALT:[n.LONGER_ALT],i=>{nP(i)||nm(e,i)||t.push({message:`A MultiMode Lexer cannot be initialized with a longer_alt <${i.name}> on token <${n.name}> outside of mode <${r}> `,type:s.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE})})})}),t))}),this.TRACE_INIT("performWarningRuntimeChecks",()=>{var e,t,n;let i,a,o,l;this.lexerDefinitionWarning=this.lexerDefinitionWarning.concat((e=r,t=this.trackStartLines,n=this.config.lineTerminatorCharacters,i=[],a=!1,o=nK(nZ(nO(eR(e.modes))),e=>e[ir]===iO.NA),l=ig(n),t&&ev(o,e=>{let t=im(e,l);if(!1!==t){let r={message:function(e,t){if(t.issue===s.IDENTIFY_TERMINATOR)return`Warning: unable to identify line terminator usage in pattern. The problem is in the <${e.name}> Token Type Root cause: ${t.errMsg}. For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#IDENTIFY_TERMINATOR`;if(t.issue===s.CUSTOM_LINE_BREAK)return`Warning: A Custom Token Pattern should specify the option. The problem is in the <${e.name}> Token Type For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_LINE_BREAK`;throw Error("non exhaustive match")}(e,t),type:t.issue,tokenType:e};i.push(r)}else t1(e,"LINE_BREAKS")?!0===e.LINE_BREAKS&&(a=!0):it(l,e.PATTERN)&&(a=!0)}),t&&!a&&i.push({message:"Warning: No LINE_BREAKS Found.\n This Lexer has been defined to track line and column information,\n But none of the Token Types can be identified as matching a line terminator.\n See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#LINE_BREAKS \n for details.",type:s.NO_LINE_BREAKS_FLAGS}),i))})),r.modes=r.modes?r.modes:{},ev(r.modes,(e,t)=>{r.modes[t]=nK(e,e=>nP(e))});let i=em(r.modes);if(ev(r.modes,(e,r)=>{this.TRACE_INIT(`Mode: <${r}> processing`,()=>{if(this.modes.push(r),!1===this.config.skipValidations&&this.TRACE_INIT("validatePatterns",()=>{var t,r,n,a,o,l;let u,c,h,d,f,p,m,g,y,v,T,R;this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat((u=[],c={errors:tZ(f=nY(t=e,e=>!t1(e,ir)),e=>({message:"Token Type: ->"+e.name+"<- missing static 'PATTERN' property",type:s.MISSING_PATTERN,tokenTypes:[e]})),valid:nQ(t,f)},u=u.concat(c.errors),d=(h={errors:tZ(p=nY(r=c.valid,e=>{let t=e[ir];return!r4(t)&&!ef(t)&&!t1(t,"exec")&&!rW(t)}),e=>({message:"Token Type: ->"+e.name+"<- static 'PATTERN' can only be a RegExp, a Function matching the {CustomPatternMatcherFunc} type or an Object matching the {ICustomPattern} interface.",type:s.INVALID_PATTERN,tokenTypes:[e]})),valid:nQ(r,p)}).valid,u=(u=(u=(u=(u=u.concat(h.errors)).concat((m=[],g=nY(d,e=>r4(e[ir])),(m=(m=(m=(m=m.concat(function(e){class t extends nM.z{constructor(){super(...arguments),this.found=!1}visitEndAnchor(e){this.found=!0}}return tZ(nY(e,e=>{let r=e.PATTERN;try{let e=n4(r),n=new t;return n.visit(e),n.found}catch(e){return io.test(r.source)}}),e=>({message:"Unexpected RegExp Anchor Error:\n Token Type: ->"+e.name+"<- static 'PATTERN' cannot contain end of input anchor '$'\n See chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.",type:s.EOI_ANCHOR_FOUND,tokenTypes:[e]}))}(g))).concat(function(e){class t extends nM.z{constructor(){super(...arguments),this.found=!1}visitStartAnchor(e){this.found=!0}}return tZ(nY(e,e=>{let r=e.PATTERN;try{let e=n4(r),n=new t;return n.visit(e),n.found}catch(e){return il.test(r.source)}}),e=>({message:"Unexpected RegExp Anchor Error:\n Token Type: ->"+e.name+"<- static 'PATTERN' cannot contain start of input anchor '^'\n See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.",type:s.SOI_ANCHOR_FOUND,tokenTypes:[e]}))}(g))).concat(tZ(nY(g,e=>{let t=e[ir];return t instanceof RegExp&&(t.multiline||t.global)}),e=>({message:"Token Type: ->"+e.name+"<- static 'PATTERN' may NOT contain global('g') or multiline('m')",type:s.UNSUPPORTED_FLAGS_FOUND,tokenTypes:[e]})))).concat((y=[],v=tZ(n=g,e=>nz(n,(t,r)=>(e.PATTERN.source!==r.PATTERN.source||nm(y,r)||r.PATTERN===iO.NA||(y.push(r),t.push(r)),t),[])),tZ(nY(v=nZ(v),e=>e.length>1),e=>{let t=tZ(e,e=>e.name),r=nJ(e).PATTERN;return{message:`The same RegExp pattern ->${r}<-has been used in all of the following Token Types: ${t.join(", ")} <-`,type:s.DUPLICATE_PATTERNS_FOUND,tokenTypes:e}})))).concat(tZ(nY(g,e=>e.PATTERN.test("")),e=>({message:"Token Type: ->"+e.name+"<- static 'PATTERN' must not match an empty string",type:s.EMPTY_MATCH_PATTERN,tokenTypes:[e]})))))).concat(tZ(nY(d,e=>{if(!t1(e,"GROUP"))return!1;let t=e.GROUP;return t!==iO.SKIPPED&&t!==iO.NA&&!rW(t)}),e=>({message:"Token Type: ->"+e.name+"<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String",type:s.INVALID_GROUP_TYPE_FOUND,tokenTypes:[e]})))).concat((a=d,o=i,tZ(nY(a,e=>void 0!==e.PUSH_MODE&&!nm(o,e.PUSH_MODE)),e=>({message:`Token Type: ->${e.name}<- static 'PUSH_MODE' value cannot refer to a Lexer Mode ->${e.PUSH_MODE}<-which does not exist`,type:s.PUSH_MODE_DOES_NOT_EXIST,tokenTypes:[e]}))))).concat((T=[],R=nz(l=d,(e,t,r)=>{var n;let i=t.PATTERN;return i===iO.NA||(rW(i)?e.push({str:i,idx:r,tokenType:t}):r4(i)&&(n=i,void 0===n1([".","\\","[","]","|","^","$","(",")","?","*","+","{"],e=>-1!==n.source.indexOf(e)))&&e.push({str:i.source,idx:r,tokenType:t})),e},[]),ev(l,(e,t)=>{ev(R,({str:r,idx:n,tokenType:i})=>{if(t${i.name}<- can never be matched. Because it appears AFTER the Token Type ->${e.name}<-in the lexer's definition. See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNREACHABLE`;T.push({message:t,type:s.UNREACHABLE_PATTERN,tokenTypes:[e,i]})}})}),T))))}),eX(this.lexerDefinitionErrors)){let n;iS(e),this.TRACE_INIT("analyzeTokenTypes",()=>{var r;let i,a,s,o,l,u,c,h,d,f,p,m,g,y,v,T;(g=(r=nU(r={lineTerminatorCharacters:this.config.lineTerminatorCharacters,positionTracking:t.positionTracking,ensureOptimizations:t.ensureOptimizations,safeMode:t.safeMode,tracer:this.TRACE_INIT},{useSticky:is,debug:!1,safeMode:!1,positionTracking:"full",lineTerminatorCharacters:["\r","\n"],tracer:(e,t)=>t()})).tracer)("initCharCodeToOptimizedIndexMap",()=>{if(eX(iv)){iv=Array(65536);for(let e=0;e<65536;e++)iv[e]=e>255?255+~~(e/255):e}}),g("Reject Lexer.NA",()=>{i=nK(e,e=>e[ir]===iO.NA)}),y=!1,g("Transform Patterns",()=>{y=!1,a=tZ(i,e=>{let t=e[ir];if(r4(t)){let e=t.source;return 1!==e.length||"^"===e||"$"===e||"."===e||t.ignoreCase?2!==e.length||"\\"!==e[0]||nm(["d","D","s","S","t","r","n","t","0","c","b","B","f","v","w","W"],e[1])?r.useSticky?ic(t):iu(t):e[1]:e}if(ef(t))return y=!0,{exec:t};if("object"==typeof t)return y=!0,t;if("string"==typeof t)if(1===t.length)return t;else{let e=new RegExp(t.replace(/[\\^$.*+?()[\]{}|]/g,"\\$&"));return r.useSticky?ic(e):iu(e)}throw Error("non exhaustive match")})}),g("misc mapping",()=>{s=tZ(i,e=>e.tokenTypeIdx),o=tZ(i,e=>{let t=e.GROUP;if(t!==iO.SKIPPED){if(rW(t))return t;if(nP(t))return!1;throw Error("non exhaustive match")}}),l=tZ(i,e=>{let t=e.LONGER_ALT;if(t)return K(t)?tZ(t,e=>nV(i,e)):[nV(i,t)]}),u=tZ(i,e=>e.PUSH_MODE),c=tZ(i,e=>t1(e,"POP_MODE"))}),g("Line Terminator Handling",()=>{let e=ig(r.lineTerminatorCharacters);h=tZ(i,e=>!1),"onlyOffset"!==r.positionTracking&&(h=tZ(i,t=>t1(t,"LINE_BREAKS")?!!t.LINE_BREAKS:!1===im(t,e)&&it(e,t.PATTERN)))}),g("Misc Mapping #2",()=>{d=tZ(i,ih),f=tZ(a,id),p=nz(i,(e,t)=>{let r=t.GROUP;return rW(r)&&r!==iO.SKIPPED&&(e[r]=[]),e},{}),m=tZ(a,(e,t)=>({pattern:a[t],longerAlt:l[t],canLineTerminator:h[t],isCustom:d[t],short:f[t],group:o[t],push:u[t],pop:c[t],tokenTypeIdx:s[t],tokenType:i[t]}))}),v=!0,T=[],r.safeMode||g("First Char Optimization",()=>{T=nz(i,(e,t,n)=>{if("string"==typeof t.PATTERN)iy(e,iT(t.PATTERN.charCodeAt(0)),m[n]);else if(K(t.START_CHARS_HINT)){let r;ev(t.START_CHARS_HINT,t=>{let i=iT("string"==typeof t?t.charCodeAt(0):t);r!==i&&(r=i,iy(e,i,m[n]))})}else if(r4(t.PATTERN))if(t.PATTERN.unicode)v=!1,r.ensureOptimizations&&n2(`${n5} Unable to analyze < ${t.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 i=function(e,t=!1){try{let t=n4(e);return function e(t,r,n){switch(t.type){case"Disjunction":for(let i=0;i{if("number"==typeof e)n9(e,r,n);else if(!0===n)for(let t=e.from;t<=e.to;t++)n9(t,r,n);else{for(let t=e.from;t<=e.to&&t<256;t++)n9(t,r,n);if(e.to>=256){let t=e.from>=256?e.from:256,n=e.to,i=iT(t),a=iT(n);for(let e=i;e<=a;e++)r[e]=e}}});break;case"Group":e(a.value,r,n);break;default:throw Error("Non Exhaustive Match")}let s=void 0!==a.quantifier&&0===a.quantifier.atLeast;if("Group"===a.type&&!1===function e(t){let r=t.quantifier;return!!r&&0===r.atLeast||!!t.value&&(K(t.value)?nv(t.value,e):e(t.value))}(a)||"Group"!==a.type&&!1===s)break}break;default:throw Error("non exhaustive match!")}return eR(r)}(t.value,{},t.flags.ignoreCase)}catch(n){if(n.message===n6){var r;t&&(r=`${n5} Unable to optimize: < ${e.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 r="";t&&(r="\n This will disable the lexer's first char optimizations.\n See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#REGEXP_PARSING for details."),n2(`${n5} Failed parsing: < ${e.toString()} > Using the @chevrotain/regexp-to-ast library Please open an issue at: https://github.com/chevrotain/chevrotain/issues`+r)}}return[]}(t.PATTERN,r.ensureOptimizations);eX(i)&&(v=!1),ev(i,t=>{iy(e,t,m[n])})}else r.ensureOptimizations&&n2(`${n5} TokenType: <${t.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`),v=!1;return e},[])}),n={emptyGroups:p,patternIdxToConfig:m,charCodeToPatternIdxToConfig:T,hasCustom:y,canBeOptimized:v}}),this.patternIdxToConfig[r]=n.patternIdxToConfig,this.charCodeToPatternIdxToConfig[r]=n.charCodeToPatternIdxToConfig,this.emptyGroups=r0({},this.emptyGroups,n.emptyGroups),this.hasCustom=n.hasCustom||this.hasCustom,this.canModeBeOptimized[r]=n.canBeOptimized}})}),this.defaultMode=r.defaultMode,!eX(this.lexerDefinitionErrors)&&!this.config.deferDefinitionErrorsHandling)throw Error("Errors detected in definition of Lexer:\n"+tZ(this.lexerDefinitionErrors,e=>e.message).join("-----------------------\n"));ev(this.lexerDefinitionWarning,e=>{var t;t=e.message}),this.TRACE_INIT("Choosing sub-methods implementations",()=>{if(is?(this.chopInput=ey,this.match=this.matchWithTest):(this.updateLastIndex=nx,this.match=this.matchWithExec),n&&(this.handleModes=nx),!1===this.trackStartLines&&(this.computeNewColumn=ey),!1===this.trackEndLines&&(this.updateTokenEndLineColumnLocation=nx),/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 e=nz(this.canModeBeOptimized,(e,t,r)=>(!1===t&&e.push(r),e),[]);if(t.ensureOptimizations&&!eX(e))throw Error(`Lexer Modes: < ${e.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",()=>{n3={}}),this.TRACE_INIT("toFastProperties",()=>{rO(this)})})}tokenize(e,t=this.defaultMode){if(!eX(this.lexerDefinitionErrors))throw Error("Unable to Tokenize because Errors detected in definition of Lexer:\n"+tZ(this.lexerDefinitionErrors,e=>e.message).join("-----------------------\n"));return this.tokenizeInternal(e,t)}tokenizeInternal(e,t){var r;let n,i,a,s,o,l,u,c,h,d,f,p,m,g,y,v,T,R,A=e,E=A.length,$=0,k=0,x=Array(this.hasCustom?0:Math.floor(e.length/10)),S=[],I=this.trackStartLines?1:void 0,N=this.trackStartLines?1:void 0,C=(r=this.emptyGroups,R={},ev(em(r),e=>{if(K(r[e]))R[e]=[];else throw Error("non exhaustive match")}),R),w=this.trackStartLines,b=this.config.lineTerminatorsPattern,O=0,_=[],L=[],P=[],M=[];function D(){return _}function F(e){let t=L[iT(e)];return void 0===t?M:t}Object.freeze(M);let U=e=>{if(1===P.length&&void 0===e.tokenType.PUSH_MODE){let t=this.config.errorMessageProvider.buildUnableToPopLexerModeMessage(e);S.push({offset:e.startOffset,line:e.startLine,column:e.startColumn,length:e.image.length,message:t})}else{P.pop();let e=iR(P);_=this.patternIdxToConfig[e],L=this.charCodeToPatternIdxToConfig[e],O=_.length;let t=this.canModeBeOptimized[e]&&!1===this.config.safeMode;v=L&&t?F:D}};function G(e){P.push(e),L=this.charCodeToPatternIdxToConfig[e],O=(_=this.patternIdxToConfig[e]).length,O=_.length;let t=this.canModeBeOptimized[e]&&!1===this.config.safeMode;v=L&&t?F:D}G.call(this,t);let j=this.config.recoveryEnabled;for(;$l.length){l=s,u=c,T=t;break}}}break}}if(null!==l){if(h=l.length,void 0!==(d=T.group)&&(f=T.tokenTypeIdx,p=this.createTokenInstance(l,$,f,T.tokenType,I,N,h),this.handlePayload(p,u),!1===d?k=this.addToken(x,k,p):C[d].push(p)),e=this.chopInput(e,h),$+=h,N=this.computeNewColumn(N,h),!0===w&&!0===T.canLineTerminator){let e,t,r=0;b.lastIndex=0;do!0===(e=b.test(l))&&(t=b.lastIndex-1,r++);while(!0===e);0!==r&&(I+=r,N=h-t,this.updateTokenEndLineColumnLocation(p,d,t,r,I,N,h))}this.handleModes(T,U,G,p)}else{let t=$,r=I,n=N,a=!1===j;for(;!1===a&&$ ${i_(e)} <--`:`token of type --> ${e.name} <--`;return`Expecting ${i} but found --> '${t.image}' <--`},buildNotAllInputParsedMessage:({firstRedundant:e,ruleName:t})=>"Redundant input, expecting EOF but found: "+e.image,buildNoViableAltMessage({expectedPathsPerAlt:e,actual:t,previous:r,customUserDescription:n,ruleName:i}){let a="Expecting: ",s="\nbut found: '"+nJ(t).image+"'";if(n)return a+n+s;{let t=tZ(nz(e,(e,t)=>e.concat(t),[]),e=>`[${tZ(e,e=>i_(e)).join(", ")}]`),r=tZ(t,(e,t)=>` ${t+1}. ${e}`);return a+`one of these possible Token sequences: ${r.join("\n")}`+s}},buildEarlyExitMessage({expectedIterationPaths:e,actual:t,customUserDescription:r,ruleName:n}){let i="Expecting: ",a="\nbut found: '"+nJ(t).image+"'";if(r)return i+r+a;{let t=tZ(e,e=>`[${tZ(e,e=>i_(e)).join(",")}]`);return i+`expecting at least one iteration which starts with one of these possible Token sequences:: <${t.join(" ,")}>`+a}}};Object.freeze(iz);let iY={buildRuleNotFoundError:(e,t)=>"Invalid grammar, reference to a rule which is not defined: ->"+t.nonTerminalName+"<-\ninside top level rule: ->"+e.name+"<-"},iq={buildDuplicateFoundError(e,t){let r=e.name,n=nJ(t),i=n.idx,a=nR(n),s=n instanceof ns?n.terminalType.name:n instanceof r5?n.nonTerminalName:"",o=`->${a}${i>0?i:""}<- ${s?`with argument: ->${s}<-`:""} appears more than once (${t.length} times) in the top level rule: ->${r}<-. For further details see: https://chevrotain.io/docs/FAQ.html#NUMERICAL_SUFFIXES `;return(o=o.replace(/[ \t]+/g," ")).replace(/\s\s+/g,"\n")},buildNamespaceConflictError:e=>`Namespace conflict found in grammar. The grammar has both a Terminal(Token) and a Non-Terminal(Rule) named: <${e.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(e){let t=tZ(e.prefixPath,e=>i_(e)).join(", "),r=0===e.alternation.idx?"":e.alternation.idx;return`Ambiguous alternatives: <${e.ambiguityIndices.join(" ,")}> due to common lookahead prefix in inside <${e.topLevelRule.name}> Rule, <${t}> 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(e){let t=tZ(e.prefixPath,e=>i_(e)).join(", "),r=0===e.alternation.idx?"":e.alternation.idx,n=`Ambiguous Alternatives Detected: <${e.ambiguityIndices.join(" ,")}> in inside <${e.topLevelRule.name}> Rule, <${t}> may appears as a prefix path in all these alternatives. `;return n+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES `+"For Further details."},buildEmptyRepetitionError(e){let t=nR(e.repetition);return 0!==e.repetition.idx&&(t+=e.repetition.idx),`The repetition <${t}> within Rule <${e.topLevelRule.name}> can never consume any tokens. This could lead to an infinite loop.`},buildTokenNameError:e=>"deprecated",buildEmptyAlternationError:e=>`Ambiguous empty alternative: <${e.emptyChoiceIdx+1}> in inside <${e.topLevelRule.name}> Rule. Only the last alternative may be an empty alternative.`,buildTooManyAlternativesError:e=>`An Alternation cannot have more than 256 alternatives: inside <${e.topLevelRule.name}> Rule. has ${e.alternation.definition.length+1} alternatives.`,buildLeftRecursionError(e){let t=e.topLevelRule.name,r=tZ(e.leftRecursionPath,e=>e.name),n=`${t} --> ${r.concat([t]).join(" --\x3e ")}`;return`Left Recursion found in grammar. rule: <${t}> 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:e=>"deprecated",buildDuplicateRuleNameError(e){let t;return t=e.topLevelRule instanceof r9?e.topLevelRule.name:e.topLevelRule,`Duplicate definition, rule: ->${t}<- is already defined in the grammar: ->${e.grammarName}<-`}};class iX extends no{constructor(e,t){super(),this.nameToTopRule=e,this.errMsgProvider=t,this.errors=[]}resolveRefs(){ev(eR(this.nameToTopRule),e=>{this.currTopLevel=e,e.accept(this)})}visitNonTerminal(e){let t=this.nameToTopRule[e.nonTerminalName];if(t)e.referencedRule=t;else{let t=this.errMsgProvider.buildRuleNotFoundError(this.currTopLevel,e);this.errors.push({message:t,type:u.UNRESOLVED_SUBRULE_REF,ruleName:this.currTopLevel.name,unresolvedRefName:e.nonTerminalName})}}}let iQ=function(e,t){return nb(tZ(e,t),1)},iZ=function(e,t,r,n){for(var i=-1,a=null==e?0:e.length;++i{!1===eX(e.definition)&&(n=a(e.definition))}),n;else if(t instanceof ns)r.push(t.terminalType);else throw Error("non exhaustive match");i++}return n.push({partialPath:r,suffixDef:rH(e,i)}),n}function at(e,t,r,n){let i="EXIT_NONE_TERMINAL",a=[i],s="EXIT_ALTERNATIVE",o=!1,l=t.length,u=l-n-1,c=[],h=[];for(h.push({idx:-1,def:e,ruleStack:[],occurrenceStack:[]});!eX(h);){let e=h.pop();if(e===s){o&&iR(h).idx<=u&&h.pop();continue}let n=e.def,d=e.idx,f=e.ruleStack,p=e.occurrenceStack;if(eX(n))continue;let m=n[0];if(m===i){let e={idx:d,def:rH(n),ruleStack:i2(f),occurrenceStack:i2(p)};h.push(e)}else if(m instanceof ns)if(d=0;e--){let t={idx:d,def:m.definition[e].definition.concat(rH(n)),ruleStack:f,occurrenceStack:p};h.push(t),h.push(s)}else if(m instanceof r7)h.push({idx:d,def:m.definition.concat(rH(n)),ruleStack:f,occurrenceStack:p});else if(m instanceof r9)h.push(function(e,t,r,n){let i=rb(r);i.push(e.name);let a=rb(n);return a.push(1),{idx:t,def:e.definition,ruleStack:i,occurrenceStack:a}}(m,d,f,p));else throw Error("non exhaustive match")}return c}function ar(e){if(e instanceof ne||"Option"===e)return o.OPTION;if(e instanceof nn||"Repetition"===e)return o.REPETITION;if(e instanceof nt||"RepetitionMandatory"===e)return o.REPETITION_MANDATORY;if(e instanceof nr||"RepetitionMandatoryWithSeparator"===e)return o.REPETITION_MANDATORY_WITH_SEPARATOR;if(e instanceof ni||"RepetitionWithSeparator"===e)return o.REPETITION_WITH_SEPARATOR;else if(e instanceof na||"Alternation"===e)return o.ALTERNATION;else throw Error("non exhaustive match")}function an(e){let{occurrence:t,rule:r,prodType:n,maxLookahead:i}=e,a=ar(n);return a===o.ALTERNATION?ah(t,r,i):ad(t,r,a,i)}function ai(e,t,r,n){let i=e.length,a=nv(e,e=>nv(e,e=>1===e.length));if(t)return function(t){let n=tZ(t,e=>e.GATE);for(let t=0;tnO(e)),(e,t,r)=>(ev(t,t=>{t1(e,t.tokenTypeIdx)||(e[t.tokenTypeIdx]=r),ev(t.categoryMatches,t=>{t1(e,t)||(e[t]=r)})}),e),{});return function(){return t[this.LA(1).tokenTypeIdx]}}}function aa(e,t,r){let n=nv(e,e=>1===e.length),i=e.length;if(!n||r)return function(){t:for(let r=0;r(e[t.tokenTypeIdx]=!0,ev(t.categoryMatches,t=>{e[t]=!0}),e),[]);return function(){return!0===e[this.LA(1).tokenTypeIdx]}}}}(A=o||(o={}))[A.OPTION=0]="OPTION",A[A.REPETITION=1]="REPETITION",A[A.REPETITION_MANDATORY=2]="REPETITION_MANDATORY",A[A.REPETITION_MANDATORY_WITH_SEPARATOR=3]="REPETITION_MANDATORY_WITH_SEPARATOR",A[A.REPETITION_WITH_SEPARATOR=4]="REPETITION_WITH_SEPARATOR",A[A.ALTERNATION=5]="ALTERNATION";class as extends nA{constructor(e,t,r){super(),this.topProd=e,this.targetOccurrence=t,this.targetProdType=r}startWalking(){return this.walk(this.topProd),this.restDef}checkIsTarget(e,t,r,n){return e.idx===this.targetOccurrence&&this.targetProdType===t&&(this.restDef=r.concat(n),!0)}walkOption(e,t,r){this.checkIsTarget(e,o.OPTION,t,r)||super.walkOption(e,t,r)}walkAtLeastOne(e,t,r){this.checkIsTarget(e,o.REPETITION_MANDATORY,t,r)||super.walkOption(e,t,r)}walkAtLeastOneSep(e,t,r){this.checkIsTarget(e,o.REPETITION_MANDATORY_WITH_SEPARATOR,t,r)||super.walkOption(e,t,r)}walkMany(e,t,r){this.checkIsTarget(e,o.REPETITION,t,r)||super.walkOption(e,t,r)}walkManySep(e,t,r){this.checkIsTarget(e,o.REPETITION_WITH_SEPARATOR,t,r)||super.walkOption(e,t,r)}}class ao extends no{constructor(e,t,r){super(),this.targetOccurrence=e,this.targetProdType=t,this.targetRef=r,this.result=[]}checkIsTarget(e,t){e.idx===this.targetOccurrence&&this.targetProdType===t&&(void 0===this.targetRef||e===this.targetRef)&&(this.result=e.definition)}visitOption(e){this.checkIsTarget(e,o.OPTION)}visitRepetition(e){this.checkIsTarget(e,o.REPETITION)}visitRepetitionMandatory(e){this.checkIsTarget(e,o.REPETITION_MANDATORY)}visitRepetitionMandatoryWithSeparator(e){this.checkIsTarget(e,o.REPETITION_MANDATORY_WITH_SEPARATOR)}visitRepetitionWithSeparator(e){this.checkIsTarget(e,o.REPETITION_WITH_SEPARATOR)}visitAlternation(e){this.checkIsTarget(e,o.ALTERNATION)}}function al(e){let t=Array(e);for(let r=0;rae([e],1)),n=al(r.length),i=tZ(r,e=>{let t={};return ev(e,e=>{ev(au(e.partialPath),e=>{t[e]=!0})}),t}),a=r;for(let e=1;e<=t;e++){let r=a;a=al(r.length);for(let s=0;s{ev(au(e.partialPath),e=>{i[s][e]=!0})})}}}}return n}function ah(e,t,r,n){let i=new ao(e,o.ALTERNATION,n);return t.accept(i),ac(i.result,r)}function ad(e,t,r,n){let i=new ao(e,r);t.accept(i);let a=i.result,s=new as(t,e,r).startWalking();return ac([new r7({definition:a}),new r7({definition:s})],n)}function af(e,t){r:for(let r=0;rnv(e,e=>nv(e,e=>eX(e.categoryMatches))))}function am(e){return`${nR(e)}_#_${e.idx}_#_${ag(e)}`}function ag(e){return e instanceof ns?e.terminalType.name:e instanceof r5?e.nonTerminalName:""}class ay extends no{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)}}class av extends no{constructor(){super(...arguments),this.alternations=[]}visitAlternation(e){this.alternations.push(e)}}class aT extends no{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)}}let aR="MismatchedTokenException",aA="NoViableAltException",aE="EarlyExitException",a$="NotAllInputParsedException",ak=[aR,aA,aE,a$];function ax(e){return nm(ak,e.name)}Object.freeze(ak);class aS extends Error{constructor(e,t){super(e),this.token=t,this.resyncedTokens=[],Object.setPrototypeOf(this,new.target.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}}class aI extends aS{constructor(e,t,r){super(e,t),this.previousToken=r,this.name=aR}}class aN extends aS{constructor(e,t,r){super(e,t),this.previousToken=r,this.name=aA}}class aC extends aS{constructor(e,t){super(e,t),this.name=a$}}class aw extends aS{constructor(e,t,r){super(e,t),this.previousToken=r,this.name=aE}}let ab={},aO="InRuleRecoveryException";class a_ extends Error{constructor(e){super(e),this.name=aO}}function aL(e,t,r,n,i,a,s){let o=this.getKeyForAutomaticLookahead(n,i),l=this.firstAfterRepMap[o];if(void 0===l){let e=this.getCurrRuleFullName();l=new a(this.getGAstProductions()[e],i).startWalking(),this.firstAfterRepMap[o]=l}let u=l.token,c=l.occurrence,h=l.isEndOfRule;1===this.RULE_STACK.length&&h&&void 0===u&&(u=iV,c=1),void 0!==u&&void 0!==c&&this.shouldInRepetitionRecoveryBeTried(u,c,s)&&this.tryInRepetitionRecovery(e,t,r,u)}class aP{constructor(e){var t;this.maxLookahead=null!=(t=null==e?void 0:e.maxLookahead)?t:aX.maxLookahead}validate(e){let t=this.validateNoLeftRecursion(e.rules);return eX(t)?[...t,...this.validateEmptyOrAlternatives(e.rules),...this.validateAmbiguousAlternationAlternatives(e.rules,this.maxLookahead),...this.validateSomeNonEmptyLookaheadPath(e.rules,this.maxLookahead)]:t}validateNoLeftRecursion(e){return iQ(e,e=>(function e(t,r,n,i=[]){let a=[],s=function e(t){let r=[];if(eX(t))return r;let n=nJ(t);if(n instanceof r5)r.push(n.referencedRule);else if(n instanceof r7||n instanceof ne||n instanceof nt||n instanceof nr||n instanceof ni||n instanceof nn)r=r.concat(e(n.definition));else if(n instanceof na)r=nO(tZ(n.definition,t=>e(t.definition)));else if(n instanceof ns);else throw Error("non exhaustive match");let i=nT(n),a=t.length>1;if(!i||!a)return r;{let n=rH(t);return r.concat(e(n))}}(r.definition);if(eX(s))return[];{let r=t.name;nm(s,t)&&a.push({message:n.buildLeftRecursionError({topLevelRule:t,leftRecursionPath:i}),type:u.LEFT_RECURSION,ruleName:r});let o=iQ(nQ(s,i.concat([t])),r=>{let a=rb(i);return a.push(r),e(t,r,n,a)});return a.concat(o)}})(e,e,iq))}validateEmptyOrAlternatives(e){return iQ(e,e=>{let t;return t=new av,e.accept(t),iQ(t.alternations,t=>iQ(i2(t.definition),(r,n)=>eX(at([r],[],iE,1))?[{message:iq.buildEmptyAlternationError({topLevelRule:e,alternation:t,emptyChoiceIdx:n}),type:u.NONE_LAST_EMPTY_ALT,ruleName:e.name,occurrence:t.idx,alternative:n+1}]:[]))})}validateAmbiguousAlternationAlternatives(e,t){return iQ(e,e=>{let r;return r=new av,e.accept(r),iQ(nK(r.alternations,e=>!0===e.ignoreAmbiguities),r=>{var n,i,a,s,o,l,c,h;let d,f,p=ah(r.idx,e,r.maxLookahead||t,r),m=(n=p,i=r,a=e,s=iq,d=[],tZ(nz(n,(e,t,r)=>(!0===i.definition[r].ignoreAmbiguities||ev(t,t=>{let a=[r];ev(n,(e,n)=>{r!==n&&af(e,t)&&!0!==i.definition[n].ignoreAmbiguities&&a.push(n)}),a.length>1&&!af(d,t)&&(d.push(t),e.push({alts:a,path:t}))}),e),[]),e=>{let t=tZ(e.alts,e=>e+1);return{message:s.buildAlternationAmbiguityError({topLevelRule:a,alternation:i,ambiguityIndices:t,prefixPath:e.path}),type:u.AMBIGUOUS_ALTS,ruleName:a.name,occurrence:i.idx,alternatives:e.alts}})),g=(o=p,l=r,c=e,h=iq,nZ(iQ(f=nz(o,(e,t,r)=>{let n=tZ(t,e=>({idx:r,path:e}));return e.concat(n)},[]),e=>{if(!0===l.definition[e.idx].ignoreAmbiguities)return[];let t=e.idx,r=e.path;return tZ(nY(f,e=>{var n;return!0!==l.definition[e.idx].ignoreAmbiguities&&e.idx{let n=r[t];return e===n||n.categoryMatchesMap[e.tokenTypeIdx]}))}),e=>{let r=[e.idx+1,t+1],n=0===l.idx?"":l.idx;return{message:h.buildAlternationPrefixAmbiguityError({topLevelRule:c,alternation:l,ambiguityIndices:r,prefixPath:e.path}),type:u.AMBIGUOUS_PREFIX_ALTS,ruleName:c.name,occurrence:n,alternatives:r}})})));return m.concat(g)})})}validateSomeNonEmptyLookaheadPath(e,t){let r;return r=[],ev(e,e=>{let n=new aT;e.accept(n),ev(n.allProductions,n=>{let i=ar(n),a=n.maxLookahead||t;if(eX(nO(ad(n.idx,e,i,a)[0]))){let t=iq.buildEmptyRepetitionError({topLevelRule:e,repetition:n});r.push({message:t,type:u.NO_NON_EMPTY_LOOKAHEAD,ruleName:e.name})}})}),r}buildLookaheadForAlternation(e){var t,r,n,i,a;let s,o;return t=e.prodOccurrence,r=e.rule,n=e.maxLookahead,i=e.hasPredicates,a=e.dynamicTokensEnabled,o=ap(s=ah(t,r,n))?i$:iE,ai(s,i,o,a)}buildLookaheadForOptional(e){var t,r,n,i,a;let s,o;return t=e.prodOccurrence,r=e.rule,n=e.maxLookahead,i=e.dynamicTokensEnabled,a=ar(e.prodType),o=ap(s=ad(t,r,a,n))?i$:iE,aa(s[0],o,i)}}let aM=new class extends no{constructor(){super(...arguments),this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}}reset(){this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}}visitOption(e){this.dslMethods.option.push(e)}visitRepetitionWithSeparator(e){this.dslMethods.repetitionWithSeparator.push(e)}visitRepetitionMandatory(e){this.dslMethods.repetitionMandatory.push(e)}visitRepetitionMandatoryWithSeparator(e){this.dslMethods.repetitionMandatoryWithSeparator.push(e)}visitRepetition(e){this.dslMethods.repetition.push(e)}visitAlternation(e){this.dslMethods.alternation.push(e)}};function aD(e,t){!0===isNaN(e.startOffset)?(e.startOffset=t.startOffset,e.endOffset=t.endOffset):e.endOffsetef(e.GATE)),r.definition.push(a),ev(i,e=>{let t=new r7({definition:[]});a.definition.push(t),t1(e,"IGNORE_AMBIGUITIES")?t.ignoreAmbiguities=e.IGNORE_AMBIGUITIES:t1(e,"GATE")&&(t.ignoreAmbiguities=!0),this.recordingProdStack.push(t),e.ALT.call(this),this.recordingProdStack.pop()}),aj}function az(e){return 0===e?"":`${e}`}function aY(e){if(e<0||e>255){let t=Error(`Invalid DSL Method idx value: <${e}> Idx value must be a none negative value smaller than ${256}`);throw t.KNOWN_RECORDER_ERROR=!0,t}}let aq=iH(iV,"",NaN,NaN,NaN,NaN,NaN,NaN);Object.freeze(aq);let aX=Object.freeze({recoveryEnabled:!1,maxLookahead:3,dynamicTokensEnabled:!1,outputCst:!0,errorMessageProvider:iz,nodeLocationTracking:"none",traceInitPerf:!1,skipValidations:!1}),aQ=Object.freeze({recoveryValueFunc:()=>void 0,resyncEnabled:!0});function aZ(e){return function(){return e}}($=u||(u={}))[$.INVALID_RULE_NAME=0]="INVALID_RULE_NAME",$[$.DUPLICATE_RULE_NAME=1]="DUPLICATE_RULE_NAME",$[$.INVALID_RULE_OVERRIDE=2]="INVALID_RULE_OVERRIDE",$[$.DUPLICATE_PRODUCTIONS=3]="DUPLICATE_PRODUCTIONS",$[$.UNRESOLVED_SUBRULE_REF=4]="UNRESOLVED_SUBRULE_REF",$[$.LEFT_RECURSION=5]="LEFT_RECURSION",$[$.NONE_LAST_EMPTY_ALT=6]="NONE_LAST_EMPTY_ALT",$[$.AMBIGUOUS_ALTS=7]="AMBIGUOUS_ALTS",$[$.CONFLICT_TOKENS_RULES_NAMESPACE=8]="CONFLICT_TOKENS_RULES_NAMESPACE",$[$.INVALID_TOKEN_NAME=9]="INVALID_TOKEN_NAME",$[$.NO_NON_EMPTY_LOOKAHEAD=10]="NO_NON_EMPTY_LOOKAHEAD",$[$.AMBIGUOUS_PREFIX_ALTS=11]="AMBIGUOUS_PREFIX_ALTS",$[$.TOO_MANY_ALTS=12]="TOO_MANY_ALTS",$[$.CUSTOM_LOOKAHEAD_VALIDATION=13]="CUSTOM_LOOKAHEAD_VALIDATION";class aJ{static performSelfAnalysis(e){throw Error("The **static** `performSelfAnalysis` method has been deprecated. \nUse the **instance** method with the same name instead.")}performSelfAnalysis(){this.TRACE_INIT("performSelfAnalysis",()=>{let e;this.selfAnalysisDone=!0;let t=this.className;this.TRACE_INIT("toFastProps",()=>{rO(this)}),this.TRACE_INIT("Grammar Recording",()=>{try{this.enableRecording(),ev(this.definedRulesNames,e=>{let t,r=this[e].originalGrammarAction;this.TRACE_INIT(`${e} Rule`,()=>{t=this.topLevelRuleRecord(e,r)}),this.gastProductionsCache[e]=t})}finally{this.disableRecording()}});let r=[];if(this.TRACE_INIT("Grammar Resolving",()=>{var e;let t,n,i;n=nU(e={rules:eR(this.gastProductionsCache)},{errMsgProvider:iY}),i={},ev(e.rules,e=>{i[e.name]=e}),(t=new iX(i,n.errMsgProvider)).resolveRefs(),r=t.errors,this.definitionErrors=this.definitionErrors.concat(r)}),this.TRACE_INIT("Grammar Validations",()=>{if(eX(r)&&!1===this.skipValidations){var e,n,i,a,s,o,l,c,h;let r,d,f,p,m,g,y=(n=(e=nU(e={rules:eR(this.gastProductionsCache),tokenTypes:eR(this.tokensMap),errMsgProvider:iq,grammarName:t},{errMsgProvider:iq})).rules,i=e.tokenTypes,a=e.errMsgProvider,s=e.grammarName,f=iQ(n,e=>{var t,r;let n;return t=e,r=a,n=new ay,t.accept(n),tZ(eR(r3(i1(n.allProductions,am),e=>e.length>1)),e=>{let n=nJ(e),i=r.buildDuplicateFoundError(t,e),a=nR(n),s={message:i,type:u.DUPLICATE_PRODUCTIONS,ruleName:t.name,dslName:a,occurrence:n.idx},o=ag(n);return o&&(s.parameter=o),s})}),l=n,c=i,h=a,r=[],d=tZ(c,e=>e.name),ev(l,e=>{let t=e.name;if(nm(d,t)){let n=h.buildNamespaceConflictError(e);r.push({message:n,type:u.CONFLICT_TOKENS_RULES_NAMESPACE,ruleName:t})}}),p=r,m=iQ(n,e=>{var t,r;let n;return t=e,r=a,n=new av,t.accept(n),iQ(n.alternations,e=>e.definition.length>255?[{message:r.buildTooManyAlternativesError({topLevelRule:t,alternation:e}),type:u.TOO_MANY_ALTS,ruleName:t.name,occurrence:e.idx}]:[])}),g=iQ(n,e=>(function(e,t,r,n){let i=[];if(nz(t,(t,r)=>r.name===e.name?t+1:t,0)>1){let t=n.buildDuplicateRuleNameError({topLevelRule:e,grammarName:r});i.push({message:t,type:u.DUPLICATE_RULE_NAME,ruleName:e.name})}return i})(e,n,s,a)),f.concat(p,m,g)),v=tZ((o={lookaheadStrategy:this.lookaheadStrategy,rules:eR(this.gastProductionsCache),tokenTypes:eR(this.tokensMap),grammarName:t}).lookaheadStrategy.validate({rules:o.rules,tokenTypes:o.tokenTypes,grammarName:o.grammarName}),e=>Object.assign({type:u.CUSTOM_LOOKAHEAD_VALIDATION},e));this.definitionErrors=this.definitionErrors.concat(y,v)}}),eX(this.definitionErrors)&&(this.recoveryEnabled&&this.TRACE_INIT("computeAllProdsFollows",()=>{var e;let t,r=(e=eR(this.gastProductionsCache),t={},ev(e,e=>{r0(t,new nL(e).startWalking())}),t);this.resyncFollows=r}),this.TRACE_INIT("ComputeLookaheadFunctions",()=>{var e,t;null==(t=(e=this.lookaheadStrategy).initialize)||t.call(e,{rules:eR(this.gastProductionsCache)}),this.preComputeLookaheadFunctions(eR(this.gastProductionsCache))})),!aJ.DEFER_DEFINITION_ERRORS_HANDLING&&!eX(this.definitionErrors))throw e=tZ(this.definitionErrors,e=>e.message),Error(`Parser Definition Errors detected: ${e.join("\n-------------------------------\n")}`)})}constructor(e,t){if(this.definitionErrors=[],this.selfAnalysisDone=!1,this.initErrorHandler(t),this.initLexerAdapter(),this.initLooksAhead(t),this.initRecognizerEngine(e,t),this.initRecoverable(t),this.initTreeBuilder(t),this.initContentAssist(),this.initGastRecorder(t),this.initPerformanceTracer(t),t1(t,"ignoredIssues"))throw Error("The IParserConfig property has been deprecated.\n Please use the flag on the relevant DSL method instead.\n See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#IGNORING_AMBIGUITIES\n For further details.");this.skipValidations=t1(t,"skipValidations")?t.skipValidations:aX.skipValidations}}aJ.DEFER_DEFINITION_ERRORS_HANDLING=!1,[class{initRecoverable(e){this.firstAfterRepMap={},this.resyncFollows={},this.recoveryEnabled=t1(e,"recoveryEnabled")?e.recoveryEnabled:aX.recoveryEnabled,this.recoveryEnabled&&(this.attemptInRepetitionRecovery=aL)}getTokenToInsert(e){let t=iH(e,"",NaN,NaN,NaN,NaN,NaN,NaN);return t.isInsertedInRecovery=!0,t}canTokenTypeBeInsertedInRecovery(e){return!0}canTokenTypeBeDeletedInRecovery(e){return!0}tryInRepetitionRecovery(e,t,r,n){let i=this.findReSyncTokenType(),a=this.exportLexerState(),s=[],o=!1,l=this.LA(1),u=this.LA(1),c=()=>{let e=this.LA(0),t=new aI(this.errorMessageProvider.buildMismatchTokenMessage({expected:n,actual:l,previous:e,ruleName:this.getCurrRuleFullName()}),l,this.LA(0));t.resyncedTokens=i2(s),this.SAVE_ERROR(t)};for(;!o;)if(this.tokenMatcher(u,n))return void c();else if(r.call(this)){c(),e.apply(this,t);return}else this.tokenMatcher(u,i)?o=!0:(u=this.SKIP_TOKEN(),this.addToResyncTokens(u,s));this.importLexerState(a)}shouldInRepetitionRecoveryBeTried(e,t,r){return!(!1===r||this.tokenMatcher(this.LA(1),e)||this.isBackTracking()||this.canPerformInRuleRecovery(e,this.getFollowsForInRuleRecovery(e,t)))}getFollowsForInRuleRecovery(e,t){let r=this.getCurrentGrammarPath(e,t);return this.getNextPossibleTokenTypes(r)}tryInRuleRecovery(e,t){if(this.canRecoverWithSingleTokenInsertion(e,t))return this.getTokenToInsert(e);if(this.canRecoverWithSingleTokenDeletion(e)){let e=this.SKIP_TOKEN();return this.consumeToken(),e}throw new a_("sad sad panda")}canPerformInRuleRecovery(e,t){return this.canRecoverWithSingleTokenInsertion(e,t)||this.canRecoverWithSingleTokenDeletion(e)}canRecoverWithSingleTokenInsertion(e,t){if(!this.canTokenTypeBeInsertedInRecovery(e)||eX(t))return!1;let r=this.LA(1);return void 0!==n1(t,e=>this.tokenMatcher(r,e))}canRecoverWithSingleTokenDeletion(e){return!!this.canTokenTypeBeDeletedInRecovery(e)&&this.tokenMatcher(this.LA(2),e)}isInCurrentRuleReSyncSet(e){let t=this.getCurrFollowKey();return nm(this.getFollowSetFromFollowKey(t),e)}findReSyncTokenType(){let e=this.flattenFollowSet(),t=this.LA(1),r=2;for(;;){let n=n1(e,e=>iE(t,e));if(void 0!==n)return n;t=this.LA(r),r++}}getCurrFollowKey(){if(1===this.RULE_STACK.length)return ab;let e=this.getLastExplicitRuleShortName(),t=this.getLastExplicitRuleOccurrenceIndex(),r=this.getPreviousExplicitRuleShortName();return{ruleName:this.shortRuleNameToFullName(e),idxInCallingRule:t,inRule:this.shortRuleNameToFullName(r)}}buildFullFollowKeyStack(){let e=this.RULE_STACK,t=this.RULE_OCCURRENCE_STACK;return tZ(e,(r,n)=>0===n?ab:{ruleName:this.shortRuleNameToFullName(r),idxInCallingRule:t[n],inRule:this.shortRuleNameToFullName(e[n-1])})}flattenFollowSet(){return nO(tZ(this.buildFullFollowKeyStack(),e=>this.getFollowSetFromFollowKey(e)))}getFollowSetFromFollowKey(e){if(e===ab)return[iV];let t=e.ruleName+e.idxInCallingRule+"_~IN~_"+e.inRule;return this.resyncFollows[t]}addToResyncTokens(e,t){return this.tokenMatcher(e,iV)||t.push(e),t}reSyncTo(e){let t=[],r=this.LA(1);for(;!1===this.tokenMatcher(r,e);)r=this.SKIP_TOKEN(),this.addToResyncTokens(r,t);return i2(t)}attemptInRepetitionRecovery(e,t,r,n,i,a,s){}getCurrentGrammarPath(e,t){return{ruleStack:this.getHumanReadableRuleStack(),occurrenceStack:rb(this.RULE_OCCURRENCE_STACK),lastTok:e,lastTokOccurrence:t}}getHumanReadableRuleStack(){return tZ(this.RULE_STACK,e=>this.shortRuleNameToFullName(e))}},class{initLooksAhead(e){this.dynamicTokensEnabled=t1(e,"dynamicTokensEnabled")?e.dynamicTokensEnabled:aX.dynamicTokensEnabled,this.maxLookahead=t1(e,"maxLookahead")?e.maxLookahead:aX.maxLookahead,this.lookaheadStrategy=t1(e,"lookaheadStrategy")?e.lookaheadStrategy:new aP({maxLookahead:this.maxLookahead}),this.lookAheadFuncsCache=new Map}preComputeLookaheadFunctions(e){ev(e,e=>{this.TRACE_INIT(`${e.name} Rule Lookahead`,()=>{var t;let r,{alternation:n,repetition:i,option:a,repetitionMandatory:s,repetitionMandatoryWithSeparator:o,repetitionWithSeparator:l}=(t=e,aM.reset(),t.accept(aM),r=aM.dslMethods,aM.reset(),r);ev(n,t=>{let r=0===t.idx?"":t.idx;this.TRACE_INIT(`${nR(t)}${r}`,()=>{var r;let n=this.lookaheadStrategy.buildLookaheadForAlternation({prodOccurrence:t.idx,rule:e,maxLookahead:t.maxLookahead||this.maxLookahead,hasPredicates:t.hasPredicates,dynamicTokensEnabled:this.dynamicTokensEnabled}),i=(r=this.fullRuleNameToShort[e.name],256|t.idx|r);this.setLaFuncCache(i,n)})}),ev(i,t=>{this.computeLookaheadFunc(e,t.idx,768,"Repetition",t.maxLookahead,nR(t))}),ev(a,t=>{this.computeLookaheadFunc(e,t.idx,512,"Option",t.maxLookahead,nR(t))}),ev(s,t=>{this.computeLookaheadFunc(e,t.idx,1024,"RepetitionMandatory",t.maxLookahead,nR(t))}),ev(o,t=>{this.computeLookaheadFunc(e,t.idx,1536,"RepetitionMandatoryWithSeparator",t.maxLookahead,nR(t))}),ev(l,t=>{this.computeLookaheadFunc(e,t.idx,1280,"RepetitionWithSeparator",t.maxLookahead,nR(t))})})})}computeLookaheadFunc(e,t,r,n,i,a){this.TRACE_INIT(`${a}${0===t?"":t}`,()=>{let a=this.lookaheadStrategy.buildLookaheadForOptional({prodOccurrence:t,rule:e,maxLookahead:i||this.maxLookahead,dynamicTokensEnabled:this.dynamicTokensEnabled,prodType:n}),s=t|r|this.fullRuleNameToShort[e.name];this.setLaFuncCache(s,a)})}getKeyForAutomaticLookahead(e,t){return t|e|this.getLastExplicitRuleShortName()}getLaFuncFromCache(e){return this.lookAheadFuncsCache.get(e)}setLaFuncCache(e,t){this.lookAheadFuncsCache.set(e,t)}},class{initTreeBuilder(e){if(this.CST_STACK=[],this.outputCst=e.outputCst,this.nodeLocationTracking=t1(e,"nodeLocationTracking")?e.nodeLocationTracking:aX.nodeLocationTracking,this.outputCst)if(/full/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=aF,this.setNodeLocationFromNode=aF,this.cstPostRule=nx,this.setInitialNodeLocation=this.setInitialNodeLocationFullRecovery):(this.setNodeLocationFromToken=nx,this.setNodeLocationFromNode=nx,this.cstPostRule=this.cstPostRuleFull,this.setInitialNodeLocation=this.setInitialNodeLocationFullRegular);else if(/onlyOffset/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=aD,this.setNodeLocationFromNode=aD,this.cstPostRule=nx,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRecovery):(this.setNodeLocationFromToken=nx,this.setNodeLocationFromNode=nx,this.cstPostRule=this.cstPostRuleOnlyOffset,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRegular);else if(/none/i.test(this.nodeLocationTracking))this.setNodeLocationFromToken=nx,this.setNodeLocationFromNode=nx,this.cstPostRule=nx,this.setInitialNodeLocation=nx;else throw Error(`Invalid config option: "${e.nodeLocationTracking}"`);else this.cstInvocationStateUpdate=nx,this.cstFinallyStateUpdate=nx,this.cstPostTerminal=nx,this.cstPostNonTerminal=nx,this.cstPostRule=nx}setInitialNodeLocationOnlyOffsetRecovery(e){e.location={startOffset:NaN,endOffset:NaN}}setInitialNodeLocationOnlyOffsetRegular(e){e.location={startOffset:this.LA(1).startOffset,endOffset:NaN}}setInitialNodeLocationFullRecovery(e){e.location={startOffset:NaN,startLine:NaN,startColumn:NaN,endOffset:NaN,endLine:NaN,endColumn:NaN}}setInitialNodeLocationFullRegular(e){let t=this.LA(1);e.location={startOffset:t.startOffset,startLine:t.startLine,startColumn:t.startColumn,endOffset:NaN,endLine:NaN,endColumn:NaN}}cstInvocationStateUpdate(e){let t={name:e,children:Object.create(null)};this.setInitialNodeLocation(t),this.CST_STACK.push(t)}cstFinallyStateUpdate(){this.CST_STACK.pop()}cstPostRuleFull(e){let t=this.LA(0),r=e.location;r.startOffset<=t.startOffset==!0?(r.endOffset=t.endOffset,r.endLine=t.endLine,r.endColumn=t.endColumn):(r.startOffset=NaN,r.startLine=NaN,r.startColumn=NaN)}cstPostRuleOnlyOffset(e){let t=this.LA(0),r=e.location;r.startOffset<=t.startOffset==!0?r.endOffset=t.endOffset:r.startOffset=NaN}cstPostTerminal(e,t){let r=this.CST_STACK[this.CST_STACK.length-1];void 0===r.children[e]?r.children[e]=[t]:r.children[e].push(t),this.setNodeLocationFromToken(r.location,t)}cstPostNonTerminal(e,t){let r=this.CST_STACK[this.CST_STACK.length-1];void 0===r.children[t]?r.children[t]=[e]:r.children[t].push(e),this.setNodeLocationFromNode(r.location,e.location)}getBaseCstVisitorConstructor(){if(nP(this.baseCstVisitorConstructor)){var e,t;let r,n=(e=this.className,t=em(this.gastProductionsCache),aU(r=function(){},e+"BaseSemantics"),r.prototype={visit:function(e,t){if(K(e)&&(e=e[0]),!nP(e))return this[e.name](e.children,t)},validateVisitor:function(){var e,r,n;let i=(e=this,r=t,n=e,nZ(tZ(nY(r,e=>!1===ef(n[e])),e=>({msg:`Missing visitor method: <${e}> on ${n.constructor.name} CST Visitor.`,type:l.MISSING_METHOD,methodName:e}))));if(!eX(i)){let e=tZ(i,e=>e.msg);throw Error(`Errors Detected in CST Visitor <${this.constructor.name}>: ${e.join("\n\n").replace(/\n/g,"\n ")}`)}}},r.prototype.constructor=r,r._RULE_NAMES=t,r);return this.baseCstVisitorConstructor=n,n}return this.baseCstVisitorConstructor}getBaseCstVisitorConstructorWithDefaults(){if(nP(this.baseCstVisitorWithDefaultsConstructor)){var e,t,r;let n,i,a=(e=this.className,t=em(this.gastProductionsCache),r=this.getBaseCstVisitorConstructor(),aU(n=function(){},e+"BaseSemanticsWithDefaults"),i=Object.create(r.prototype),ev(t,e=>{i[e]=aG}),n.prototype=i,n.prototype.constructor=n,n);return this.baseCstVisitorWithDefaultsConstructor=a,a}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]}},class{initLexerAdapter(){this.tokVector=[],this.tokVectorLength=0,this.currIdx=-1}set input(e){if(!0!==this.selfAnalysisDone)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)):aq}LA(e){let t=this.currIdx+e;return t<0||this.tokVectorLength<=t?aq:this.tokVector[t]}consumeToken(){this.currIdx++}exportLexerState(){return this.currIdx}importLexerState(e){this.currIdx=e}resetLexerState(){this.currIdx=-1}moveToTerminatedState(){this.currIdx=this.tokVector.length-1}getLexerPosition(){return this.exportLexerState()}},class{initRecognizerEngine(e,t){if(this.className=this.constructor.name,this.shortRuleNameToFull={},this.fullRuleNameToShort={},this.ruleShortNameIdx=256,this.tokenMatcher=i$,this.subruleIdx=0,this.definedRulesNames=[],this.tokensMap={},this.isBackTrackingStack=[],this.RULE_STACK=[],this.RULE_OCCURRENCE_STACK=[],this.gastProductionsCache={},t1(t,"serializedGrammar"))throw Error("The Parser's configuration can no longer contain a property.\n See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_6-0-0\n For Further details.");if(K(e)){if(eX(e))throw Error("A Token Vocabulary cannot be empty.\n Note that the first argument for the parser constructor\n is no longer a Token vector (since v4.0).");if("number"==typeof e[0].startOffset)throw Error("The Parser constructor no longer accepts a token vector as the first argument.\n See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_4-0-0\n For Further details.")}if(K(e))this.tokensMap=nz(e,(e,t)=>(e[t.name]=t,e),{});else if(t1(e,"modes")&&nv(nO(eR(e.modes)),iC)){let t=nN(nO(eR(e.modes)));this.tokensMap=nz(t,(e,t)=>(e[t.name]=t,e),{})}else if(ed(e))this.tokensMap=rb(e);else throw Error(" argument must be An Array of Token constructors, A dictionary of Token constructors or an IMultiModeLexerDefinition");this.tokensMap.EOF=iV;let r=nv(t1(e,"modes")?nO(eR(e.modes)):eR(e),e=>eX(e.categoryMatches));this.tokenMatcher=r?i$:iE,iS(eR(this.tokensMap))}defineRule(e,t,r){if(this.selfAnalysisDone)throw Error(`Grammar rule <${e}> may not be defined after the 'performSelfAnalysis' method has been called' Make sure that all grammar rule definitions are done before 'performSelfAnalysis' is called.`);let n=t1(r,"resyncEnabled")?r.resyncEnabled:aQ.resyncEnabled,i=t1(r,"recoveryValueFunc")?r.recoveryValueFunc:aQ.recoveryValueFunc,a=this.ruleShortNameIdx<<12;return this.ruleShortNameIdx++,this.shortRuleNameToFull[a]=e,this.fullRuleNameToShort[e]=a,Object.assign(!0===this.outputCst?function(...r){try{this.ruleInvocationStateUpdate(a,e,this.subruleIdx),t.apply(this,r);let n=this.CST_STACK[this.CST_STACK.length-1];return this.cstPostRule(n),n}catch(e){return this.invokeRuleCatch(e,n,i)}finally{this.ruleFinallyStateUpdate()}}:function(...r){try{return this.ruleInvocationStateUpdate(a,e,this.subruleIdx),t.apply(this,r)}catch(e){return this.invokeRuleCatch(e,n,i)}finally{this.ruleFinallyStateUpdate()}},{ruleName:e,originalGrammarAction:t})}invokeRuleCatch(e,t,r){let n=1===this.RULE_STACK.length,i=t&&!this.isBackTracking()&&this.recoveryEnabled;if(ax(e)){if(i){let t=this.findReSyncTokenType();if(this.isInCurrentRuleReSyncSet(t)){if(e.resyncedTokens=this.reSyncTo(t),!this.outputCst)return r(e);{let e=this.CST_STACK[this.CST_STACK.length-1];return e.recoveredNode=!0,e}}if(this.outputCst){let t=this.CST_STACK[this.CST_STACK.length-1];t.recoveredNode=!0,e.partialCstResult=t}throw e}if(n)return this.moveToTerminatedState(),r(e)}throw e}optionInternal(e,t){let r=this.getKeyForAutomaticLookahead(512,t);return this.optionInternalLogic(e,t,r)}optionInternalLogic(e,t,r){let n,i=this.getLaFuncFromCache(r);if("function"!=typeof e){n=e.DEF;let t=e.GATE;if(void 0!==t){let e=i;i=()=>t.call(this)&&e.call(this)}}else n=e;if(!0===i.call(this))return n.call(this)}atLeastOneInternal(e,t){let r=this.getKeyForAutomaticLookahead(1024,e);return this.atLeastOneInternalLogic(e,t,r)}atLeastOneInternalLogic(e,t,r){let n,i=this.getLaFuncFromCache(r);if("function"!=typeof t){n=t.DEF;let e=t.GATE;if(void 0!==e){let t=i;i=()=>e.call(this)&&t.call(this)}}else n=t;if(!0===i.call(this)){let e=this.doSingleRepetition(n);for(;!0===i.call(this)&&!0===e;)e=this.doSingleRepetition(n)}else throw this.raiseEarlyExitException(e,o.REPETITION_MANDATORY,t.ERR_MSG);this.attemptInRepetitionRecovery(this.atLeastOneInternal,[e,t],i,1024,e,i9)}atLeastOneSepFirstInternal(e,t){let r=this.getKeyForAutomaticLookahead(1536,e);this.atLeastOneSepFirstInternalLogic(e,t,r)}atLeastOneSepFirstInternalLogic(e,t,r){let n=t.DEF,i=t.SEP;if(!0===this.getLaFuncFromCache(r).call(this)){n.call(this);let t=()=>this.tokenMatcher(this.LA(1),i);for(;!0===this.tokenMatcher(this.LA(1),i);)this.CONSUME(i),n.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,i,t,n,i7],t,1536,e,i7)}else throw this.raiseEarlyExitException(e,o.REPETITION_MANDATORY_WITH_SEPARATOR,t.ERR_MSG)}manyInternal(e,t){let r=this.getKeyForAutomaticLookahead(768,e);return this.manyInternalLogic(e,t,r)}manyInternalLogic(e,t,r){let n,i=this.getLaFuncFromCache(r);if("function"!=typeof t){n=t.DEF;let e=t.GATE;if(void 0!==e){let t=i;i=()=>e.call(this)&&t.call(this)}}else n=t;let a=!0;for(;!0===i.call(this)&&!0===a;)a=this.doSingleRepetition(n);this.attemptInRepetitionRecovery(this.manyInternal,[e,t],i,768,e,i6,a)}manySepFirstInternal(e,t){let r=this.getKeyForAutomaticLookahead(1280,e);this.manySepFirstInternalLogic(e,t,r)}manySepFirstInternalLogic(e,t,r){let n=t.DEF,i=t.SEP;if(!0===this.getLaFuncFromCache(r).call(this)){n.call(this);let t=()=>this.tokenMatcher(this.LA(1),i);for(;!0===this.tokenMatcher(this.LA(1),i);)this.CONSUME(i),n.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,i,t,n,i5],t,1280,e,i5)}}repetitionSepSecondInternal(e,t,r,n,i){for(;r();)this.CONSUME(t),n.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,t,r,n,i],r,1536,e,i)}doSingleRepetition(e){let t=this.getLexerPosition();return e.call(this),this.getLexerPosition()>t}orInternal(e,t){let r=this.getKeyForAutomaticLookahead(256,t),n=K(e)?e:e.DEF,i=this.getLaFuncFromCache(r).call(this,n);if(void 0!==i)return n[i].ALT.call(this);this.raiseNoAltException(t,e.ERR_MSG)}ruleFinallyStateUpdate(){if(this.RULE_STACK.pop(),this.RULE_OCCURRENCE_STACK.pop(),this.cstFinallyStateUpdate(),0===this.RULE_STACK.length&&!1===this.isAtEndOfInput()){let e=this.LA(1),t=this.errorMessageProvider.buildNotAllInputParsedMessage({firstRedundant:e,ruleName:this.getCurrRuleFullName()});this.SAVE_ERROR(new aC(t,e))}}subruleInternal(e,t,r){let n;try{let i=void 0!==r?r.ARGS:void 0;return this.subruleIdx=t,n=e.apply(this,i),this.cstPostNonTerminal(n,void 0!==r&&void 0!==r.LABEL?r.LABEL:e.ruleName),n}catch(t){throw this.subruleInternalError(t,r,e.ruleName)}}subruleInternalError(e,t,r){throw ax(e)&&void 0!==e.partialCstResult&&(this.cstPostNonTerminal(e.partialCstResult,void 0!==t&&void 0!==t.LABEL?t.LABEL:r),delete e.partialCstResult),e}consumeInternal(e,t,r){let n;try{let t=this.LA(1);!0===this.tokenMatcher(t,e)?(this.consumeToken(),n=t):this.consumeInternalError(e,t,r)}catch(r){n=this.consumeInternalRecovery(e,t,r)}return this.cstPostTerminal(void 0!==r&&void 0!==r.LABEL?r.LABEL:e.name,n),n}consumeInternalError(e,t,r){let n,i=this.LA(0);throw n=void 0!==r&&r.ERR_MSG?r.ERR_MSG:this.errorMessageProvider.buildMismatchTokenMessage({expected:e,actual:t,previous:i,ruleName:this.getCurrRuleFullName()}),this.SAVE_ERROR(new aI(n,t,i))}consumeInternalRecovery(e,t,r){if(this.recoveryEnabled&&"MismatchedTokenException"===r.name&&!this.isBackTracking()){let n=this.getFollowsForInRuleRecovery(e,t);try{return this.tryInRuleRecovery(e,n)}catch(e){if(e.name===aO)throw r;throw e}}throw r}saveRecogState(){let e=this.errors,t=rb(this.RULE_STACK);return{errors:e,lexerState:this.exportLexerState(),RULE_STACK:t,CST_STACK:this.CST_STACK}}reloadRecogState(e){this.errors=e.errors,this.importLexerState(e.lexerState),this.RULE_STACK=e.RULE_STACK}ruleInvocationStateUpdate(e,t,r){this.RULE_OCCURRENCE_STACK.push(r),this.RULE_STACK.push(e),this.cstInvocationStateUpdate(t)}isBackTracking(){return 0!==this.isBackTrackingStack.length}getCurrRuleFullName(){let e=this.getLastExplicitRuleShortName();return this.shortRuleNameToFull[e]}shortRuleNameToFullName(e){return this.shortRuleNameToFull[e]}isAtEndOfInput(){return this.tokenMatcher(this.LA(1),iV)}reset(){this.resetLexerState(),this.subruleIdx=0,this.isBackTrackingStack=[],this.errors=[],this.RULE_STACK=[],this.CST_STACK=[],this.RULE_OCCURRENCE_STACK=[]}},class{ACTION(e){return e.call(this)}consume(e,t,r){return this.consumeInternal(t,e,r)}subrule(e,t,r){return this.subruleInternal(t,e,r)}option(e,t){return this.optionInternal(t,e)}or(e,t){return this.orInternal(t,e)}many(e,t){return this.manyInternal(e,t)}atLeastOne(e,t){return this.atLeastOneInternal(e,t)}CONSUME(e,t){return this.consumeInternal(e,0,t)}CONSUME1(e,t){return this.consumeInternal(e,1,t)}CONSUME2(e,t){return this.consumeInternal(e,2,t)}CONSUME3(e,t){return this.consumeInternal(e,3,t)}CONSUME4(e,t){return this.consumeInternal(e,4,t)}CONSUME5(e,t){return this.consumeInternal(e,5,t)}CONSUME6(e,t){return this.consumeInternal(e,6,t)}CONSUME7(e,t){return this.consumeInternal(e,7,t)}CONSUME8(e,t){return this.consumeInternal(e,8,t)}CONSUME9(e,t){return this.consumeInternal(e,9,t)}SUBRULE(e,t){return this.subruleInternal(e,0,t)}SUBRULE1(e,t){return this.subruleInternal(e,1,t)}SUBRULE2(e,t){return this.subruleInternal(e,2,t)}SUBRULE3(e,t){return this.subruleInternal(e,3,t)}SUBRULE4(e,t){return this.subruleInternal(e,4,t)}SUBRULE5(e,t){return this.subruleInternal(e,5,t)}SUBRULE6(e,t){return this.subruleInternal(e,6,t)}SUBRULE7(e,t){return this.subruleInternal(e,7,t)}SUBRULE8(e,t){return this.subruleInternal(e,8,t)}SUBRULE9(e,t){return this.subruleInternal(e,9,t)}OPTION(e){return this.optionInternal(e,0)}OPTION1(e){return this.optionInternal(e,1)}OPTION2(e){return this.optionInternal(e,2)}OPTION3(e){return this.optionInternal(e,3)}OPTION4(e){return this.optionInternal(e,4)}OPTION5(e){return this.optionInternal(e,5)}OPTION6(e){return this.optionInternal(e,6)}OPTION7(e){return this.optionInternal(e,7)}OPTION8(e){return this.optionInternal(e,8)}OPTION9(e){return this.optionInternal(e,9)}OR(e){return this.orInternal(e,0)}OR1(e){return this.orInternal(e,1)}OR2(e){return this.orInternal(e,2)}OR3(e){return this.orInternal(e,3)}OR4(e){return this.orInternal(e,4)}OR5(e){return this.orInternal(e,5)}OR6(e){return this.orInternal(e,6)}OR7(e){return this.orInternal(e,7)}OR8(e){return this.orInternal(e,8)}OR9(e){return this.orInternal(e,9)}MANY(e){this.manyInternal(0,e)}MANY1(e){this.manyInternal(1,e)}MANY2(e){this.manyInternal(2,e)}MANY3(e){this.manyInternal(3,e)}MANY4(e){this.manyInternal(4,e)}MANY5(e){this.manyInternal(5,e)}MANY6(e){this.manyInternal(6,e)}MANY7(e){this.manyInternal(7,e)}MANY8(e){this.manyInternal(8,e)}MANY9(e){this.manyInternal(9,e)}MANY_SEP(e){this.manySepFirstInternal(0,e)}MANY_SEP1(e){this.manySepFirstInternal(1,e)}MANY_SEP2(e){this.manySepFirstInternal(2,e)}MANY_SEP3(e){this.manySepFirstInternal(3,e)}MANY_SEP4(e){this.manySepFirstInternal(4,e)}MANY_SEP5(e){this.manySepFirstInternal(5,e)}MANY_SEP6(e){this.manySepFirstInternal(6,e)}MANY_SEP7(e){this.manySepFirstInternal(7,e)}MANY_SEP8(e){this.manySepFirstInternal(8,e)}MANY_SEP9(e){this.manySepFirstInternal(9,e)}AT_LEAST_ONE(e){this.atLeastOneInternal(0,e)}AT_LEAST_ONE1(e){return this.atLeastOneInternal(1,e)}AT_LEAST_ONE2(e){this.atLeastOneInternal(2,e)}AT_LEAST_ONE3(e){this.atLeastOneInternal(3,e)}AT_LEAST_ONE4(e){this.atLeastOneInternal(4,e)}AT_LEAST_ONE5(e){this.atLeastOneInternal(5,e)}AT_LEAST_ONE6(e){this.atLeastOneInternal(6,e)}AT_LEAST_ONE7(e){this.atLeastOneInternal(7,e)}AT_LEAST_ONE8(e){this.atLeastOneInternal(8,e)}AT_LEAST_ONE9(e){this.atLeastOneInternal(9,e)}AT_LEAST_ONE_SEP(e){this.atLeastOneSepFirstInternal(0,e)}AT_LEAST_ONE_SEP1(e){this.atLeastOneSepFirstInternal(1,e)}AT_LEAST_ONE_SEP2(e){this.atLeastOneSepFirstInternal(2,e)}AT_LEAST_ONE_SEP3(e){this.atLeastOneSepFirstInternal(3,e)}AT_LEAST_ONE_SEP4(e){this.atLeastOneSepFirstInternal(4,e)}AT_LEAST_ONE_SEP5(e){this.atLeastOneSepFirstInternal(5,e)}AT_LEAST_ONE_SEP6(e){this.atLeastOneSepFirstInternal(6,e)}AT_LEAST_ONE_SEP7(e){this.atLeastOneSepFirstInternal(7,e)}AT_LEAST_ONE_SEP8(e){this.atLeastOneSepFirstInternal(8,e)}AT_LEAST_ONE_SEP9(e){this.atLeastOneSepFirstInternal(9,e)}RULE(e,t,r=aQ){if(nm(this.definedRulesNames,e)){let t={message:iq.buildDuplicateRuleNameError({topLevelRule:e,grammarName:this.className}),type:u.DUPLICATE_RULE_NAME,ruleName:e};this.definitionErrors.push(t)}this.definedRulesNames.push(e);let n=this.defineRule(e,t,r);return this[e]=n,n}OVERRIDE_RULE(e,t,r=aQ){var n,i;let a,s,o=(n=this.definedRulesNames,i=this.className,s=[],nm(n,e)||(a=`Invalid rule override, rule: ->${e}<- cannot be overridden in the grammar: ->${i}<-as it is not defined in any of the super grammars `,s.push({message:a,type:u.INVALID_RULE_OVERRIDE,ruleName:e})),s);this.definitionErrors=this.definitionErrors.concat(o);let l=this.defineRule(e,t,r);return this[e]=l,l}BACKTRACK(e,t){return function(){this.isBackTrackingStack.push(1);let r=this.saveRecogState();try{return e.apply(this,t),!0}catch(e){if(ax(e))return!1;throw e}finally{this.reloadRecogState(r),this.isBackTrackingStack.pop()}}}getGAstProductions(){return this.gastProductionsCache}getSerializedGastProductions(){return tZ(eR(this.gastProductionsCache),function e(t){function r(t){return tZ(t,e)}if(t instanceof r5){let e={type:"NonTerminal",name:t.nonTerminalName,idx:t.idx};return rW(t.label)&&(e.label=t.label),e}if(t instanceof r7)return{type:"Alternative",definition:r(t.definition)};if(t instanceof ne)return{type:"Option",idx:t.idx,definition:r(t.definition)};if(t instanceof nt)return{type:"RepetitionMandatory",idx:t.idx,definition:r(t.definition)};if(t instanceof nr)return{type:"RepetitionMandatoryWithSeparator",idx:t.idx,separator:e(new ns({terminalType:t.separator})),definition:r(t.definition)};else if(t instanceof ni)return{type:"RepetitionWithSeparator",idx:t.idx,separator:e(new ns({terminalType:t.separator})),definition:r(t.definition)};else if(t instanceof nn)return{type:"Repetition",idx:t.idx,definition:r(t.definition)};else if(t instanceof na)return{type:"Alternation",idx:t.idx,definition:r(t.definition)};else if(t instanceof ns){var n,i;let e={type:"Terminal",name:t.terminalType.name,label:rW((i=n=t.terminalType).LABEL)&&""!==i.LABEL?n.LABEL:n.name,idx:t.idx};rW(t.label)&&(e.terminalLabel=t.label);let r=t.terminalType.PATTERN;return t.terminalType.PATTERN&&(e.pattern=r4(r)?r.source:r),e}else if(t instanceof r9)return{type:"Rule",name:t.name,orgText:t.orgText,definition:r(t.definition)};else throw Error("non exhaustive match")})}},class{initErrorHandler(e){this._errors=[],this.errorMessageProvider=t1(e,"errorMessageProvider")?e.errorMessageProvider:aX.errorMessageProvider}SAVE_ERROR(e){if(ax(e))return e.context={ruleStack:this.getHumanReadableRuleStack(),ruleOccurrenceStack:rb(this.RULE_OCCURRENCE_STACK)},this._errors.push(e),e;throw Error("Trying to save an Error which is not a RecognitionException")}get errors(){return rb(this._errors)}set errors(e){this._errors=e}raiseEarlyExitException(e,t,r){let n=this.getCurrRuleFullName(),i=ad(e,this.getGAstProductions()[n],t,this.maxLookahead)[0],a=[];for(let e=1;e<=this.maxLookahead;e++)a.push(this.LA(e));let s=this.errorMessageProvider.buildEarlyExitMessage({expectedIterationPaths:i,actual:a,previous:this.LA(0),customUserDescription:r,ruleName:n});throw this.SAVE_ERROR(new aw(s,this.LA(1),this.LA(0)))}raiseNoAltException(e,t){let r=this.getCurrRuleFullName(),n=ah(e,this.getGAstProductions()[r],this.maxLookahead),i=[];for(let e=1;e<=this.maxLookahead;e++)i.push(this.LA(e));let a=this.LA(0),s=this.errorMessageProvider.buildNoViableAltMessage({expectedPathsPerAlt:n,actual:i,previous:a,customUserDescription:t,ruleName:this.getCurrRuleFullName()});throw this.SAVE_ERROR(new aN(s,this.LA(1),a))}},class{initContentAssist(){}computeContentAssist(e,t){let r=this.gastProductionsCache[e];if(nP(r))throw Error(`Rule ->${e}<- does not exist in this grammar.`);return at([r],t,this.tokenMatcher,this.maxLookahead)}getNextPossibleTokenTypes(e){let t=nJ(e.ruleStack);return new i8(this.getGAstProductions()[t],e).startWalking()}},class{initGastRecorder(e){this.recordingProdStack=[],this.RECORDING_PHASE=!1}enableRecording(){this.RECORDING_PHASE=!0,this.TRACE_INIT("Enable Recording",()=>{for(let e=0;e<10;e++){let t=e>0?e:"";this[`CONSUME${t}`]=function(t,r){return this.consumeInternalRecord(t,e,r)},this[`SUBRULE${t}`]=function(t,r){return this.subruleInternalRecord(t,e,r)},this[`OPTION${t}`]=function(t){return this.optionInternalRecord(t,e)},this[`OR${t}`]=function(t){return this.orInternalRecord(t,e)},this[`MANY${t}`]=function(t){this.manyInternalRecord(e,t)},this[`MANY_SEP${t}`]=function(t){this.manySepFirstInternalRecord(e,t)},this[`AT_LEAST_ONE${t}`]=function(t){this.atLeastOneInternalRecord(e,t)},this[`AT_LEAST_ONE_SEP${t}`]=function(t){this.atLeastOneSepFirstInternalRecord(e,t)}}this.consume=function(e,t,r){return this.consumeInternalRecord(t,e,r)},this.subrule=function(e,t,r){return this.subruleInternalRecord(t,e,r)},this.option=function(e,t){return this.optionInternalRecord(t,e)},this.or=function(e,t){return this.orInternalRecord(t,e)},this.many=function(e,t){this.manyInternalRecord(e,t)},this.atLeastOne=function(e,t){this.atLeastOneInternalRecord(e,t)},this.ACTION=this.ACTION_RECORD,this.BACKTRACK=this.BACKTRACK_RECORD,this.LA=this.LA_RECORD})}disableRecording(){this.RECORDING_PHASE=!1,this.TRACE_INIT("Deleting Recording methods",()=>{for(let e=0;e<10;e++){let t=e>0?e:"";delete this[`CONSUME${t}`],delete this[`SUBRULE${t}`],delete this[`OPTION${t}`],delete this[`OR${t}`],delete this[`MANY${t}`],delete this[`MANY_SEP${t}`],delete this[`AT_LEAST_ONE${t}`],delete this[`AT_LEAST_ONE_SEP${t}`]}delete this.consume,delete this.subrule,delete this.option,delete this.or,delete this.many,delete this.atLeastOne,delete this.ACTION,delete this.BACKTRACK,delete this.LA})}ACTION_RECORD(e){}BACKTRACK_RECORD(e,t){return()=>!0}LA_RECORD(e){return aq}topLevelRuleRecord(e,t){try{let r=new r9({definition:[],name:e});return r.name=e,this.recordingProdStack.push(r),t.call(this),this.recordingProdStack.pop(),r}catch(e){if(!0!==e.KNOWN_RECORDER_ERROR)try{e.message=e.message+'\n This error was thrown during the "grammar recording phase" For more info see:\n https://chevrotain.io/docs/guide/internals.html#grammar-recording'}catch(e){}throw e}}optionInternalRecord(e,t){return aH.call(this,ne,e,t)}atLeastOneInternalRecord(e,t){aH.call(this,nt,t,e)}atLeastOneSepFirstInternalRecord(e,t){aH.call(this,nr,t,e,!0)}manyInternalRecord(e,t){aH.call(this,nn,t,e)}manySepFirstInternalRecord(e,t){aH.call(this,ni,t,e,!0)}orInternalRecord(e,t){return aW.call(this,e,t)}subruleInternalRecord(e,t,r){if(aY(t),!e||!1===t1(e,"ruleName")){let r=Error(` argument is invalid expecting a Parser method reference but got: <${JSON.stringify(e)}> inside top level rule: <${this.recordingProdStack[0].name}>`);throw r.KNOWN_RECORDER_ERROR=!0,r}let n=iR(this.recordingProdStack),i=new r5({idx:t,nonTerminalName:e.ruleName,label:null==r?void 0:r.LABEL,referencedRule:void 0});return n.definition.push(i),this.outputCst?aV:aj}consumeInternalRecord(e,t,r){if(aY(t),!iI(e)){let r=Error(` argument is invalid expecting a TokenType reference but got: <${JSON.stringify(e)}> inside top level rule: <${this.recordingProdStack[0].name}>`);throw r.KNOWN_RECORDER_ERROR=!0,r}let n=iR(this.recordingProdStack),i=new ns({idx:t,terminalType:e,label:null==r?void 0:r.LABEL});return n.definition.push(i),aB}},class{initPerformanceTracer(e){if(t1(e,"traceInitPerf")){let t=e.traceInitPerf,r="number"==typeof t;this.traceInitMaxIdent=r?t:1/0,this.traceInitPerf=r?t>0:t}else this.traceInitMaxIdent=0,this.traceInitPerf=aX.traceInitPerf;this.traceInitIndent=-1}TRACE_INIT(e,t){if(!0!==this.traceInitPerf)return t();{this.traceInitIndent++;let r=Array(this.traceInitIndent+1).join(" ");this.traceInitIndent,this.traceInitMaxIdent;let{time:n,value:i}=iA(t),a=n>10?console.warn:console.log;return this.traceInitIndent time: ${n}ms`),this.traceInitIndent--,i}}}].forEach(e=>{let t=e.prototype;Object.getOwnPropertyNames(t).forEach(r=>{if("constructor"===r)return;let n=Object.getOwnPropertyDescriptor(t,r);n&&(n.get||n.set)?Object.defineProperty(aJ.prototype,r,n):aJ.prototype[r]=e.prototype[r]})});class a0 extends aJ{constructor(e,t=aX){let r=rb(t);r.outputCst=!1,super(e,r)}}},21324(e,t,r){r.d(t,{t:()=>tP,u:()=>tM});var n,i,a,s,o,l,u,c,h,d,f=r(71823),p=r(81936),m=r(93180),g=r(22461),y=r(88215),v=r(23271),T=r(53338);function R(e,t,r){return`${e.name}_${t}_${r}`}class A{constructor(e){this.target=e}isEpsilon(){return!1}}class E extends A{constructor(e,t){super(e),this.tokenType=t}}class $ extends A{constructor(e){super(e)}isEpsilon(){return!0}}class k extends A{constructor(e,t,r){super(e),this.rule=t,this.followState=r}isEpsilon(){return!0}}function x(e,t,r){let n=(0,T.A)((0,v.A)(r.definition,r=>(function e(t,r,n){var i,a,s,o,l,u,c,h,d,f,p,m,g,T,A,E,$,L,P,M,D,F,U,G,j;if(n instanceof y.BK)return w(t,r,n.terminalType,n);if(n instanceof y.wL){let e,o,l,u;return i=t,a=r,e=(s=n).referencedRule,o=i.ruleToStartState.get(e),l=O(i,a,s,{type:1}),_(l,new k(o,e,u=O(i,a,s,{type:1}))),{left:l,right:u}}if(n instanceof y.ak){let i,a;return i=O(o=t,l=r,u=n,{type:1}),N(o,i),a=(0,v.A)(u.definition,t=>e(o,l,t)),C(o,l,i,u,...a)}if(n instanceof y.c$){let e,i,a;return e=O(c=t,h=r,d=n,{type:1}),N(c,e),i=C(c,h,e,d,x(c,h,d)),f=c,p=h,m=d,b(a=(g=i).left,g.right),f.decisionMap[R(p,"Option",m.idx)]=a,g}if(n instanceof y.Y2){let e,i;return e=O(T=t,A=r,E=n,{type:5}),N(T,e),i=C(T,A,e,E,x(T,A,E)),I(T,A,E,i)}else if(n instanceof y.Pp){let e,i,a;return e=O($=t,L=r,P=n,{type:5}),N($,e),i=C($,L,e,P,x($,L,P)),a=w($,L,P.separator,P),I($,L,P,i,a)}else if(n instanceof y.$P){let e,i;return e=O(M=t,D=r,F=n,{type:4}),N(M,e),i=C(M,D,e,F,x(M,D,F)),S(M,D,F,i)}else{if(!(n instanceof y.Cy))return x(t,r,n);let e,i,a;return e=O(U=t,G=r,j=n,{type:4}),N(U,e),i=C(U,G,e,j,x(U,G,j)),a=w(U,G,j.separator,j),S(U,G,j,i,a)}})(e,t,r)),e=>void 0!==e);return 1===n.length?n[0]:0===n.length?void 0:function(e,t){let r=t.length;for(let a=0;ae.alt)}get key(){let e="";for(let t in this.map)e+=t+":";return e}}function M(e,t=!0){return`${t?`a${e.alt}`:""}s${e.state.stateNumber}:${e.stack.map(e=>e.stateNumber.toString()).join("_")}`}var D=r(43925),F=r(44578),U=r(69429),G=r(13480),j=r(87583),K=r(47543),B=r(95252),V=r(67885);class H{constructor(){this.predicates=[]}is(e){return e>=this.predicates.length||this.predicates[e]}set(e,t){this.predicates[e]=t}toString(){let e="",t=this.predicates.length;for(let r=0;rconsole.log(e)}initialize(e){this.atn=function(e){let t={decisionMap:{},decisionStates:[],ruleToStartState:new Map,ruleToStopState:new Map,states:[]};!function(e,t){let r=t.length;for(let n=0;n{let i=n.toString(),a=r[i];return void 0!==a||(a={atnStartState:e,decision:t,states:{}},r[i]=a),a}}(e.decisionStates[n],n);return r}(this.atn)}validateAmbiguousAlternationAlternatives(){return[]}validateEmptyOrAlternatives(){return[]}buildLookaheadForAlternation(e){let{prodOccurrence:t,rule:r,hasPredicates:n,dynamicTokensEnabled:i}=e,a=this.dfas,s=this.logging,o=R(r,"Alternation",t),l=this.atn.decisionMap[o].decision,u=(0,v.A)((0,y.jk)({maxLookahead:1,occurrence:t,prodType:"Alternation",rule:r}),e=>(0,v.A)(e,e=>e[0]));if(Y(u,!1)&&!i){let e=(0,V.A)(u,(e,t,r)=>((0,K.A)(t,t=>{t&&(e[t.tokenTypeIdx]=r,(0,K.A)(t.categoryMatches,t=>{e[t]=r}))}),e),{});return n?function(t){var r;let n=e[this.LA(1).tokenTypeIdx];if(void 0!==t&&void 0!==n){let e=null==(r=t[n])?void 0:r.GATE;if(void 0!==e&&!1===e.call(this))return}return n}:function(){return e[this.LA(1).tokenTypeIdx]}}return n?function(e){let t=new H,r=void 0===e?0:e.length;for(let n=0;n(0,v.A)(e,e=>e[0]));if(Y(u)&&u[0][0]&&!i){let e=u[0],t=(0,j.A)(e);if(1===t.length&&(0,B.A)(t[0].categoryMatches)){let e=t[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===e}}{let e=(0,V.A)(t,(e,t)=>(void 0!==t&&(e[t.tokenTypeIdx]=!0,(0,K.A)(t.categoryMatches,t=>{e[t]=!0})),e),{});return function(){return!0===e[this.LA(1).tokenTypeIdx]}}}return function(){let e=q.call(this,a,l,W,s);return"object"!=typeof e&&0===e}}}function Y(e,t=!0){let r=new Set;for(let n of e){let e=new Set;for(let i of n){if(void 0===i)if(!t)return!1;else break;for(let t of[i.tokenTypeIdx].concat(i.categoryMatches))if(r.has(t)){if(!e.has(t))return!1}else r.add(t),e.add(t)}}return!0}function q(e,t,r,n){let i=e[t](r),a=i.start;if(void 0===a){let e=function(e){let t=new P,r=e.transitions.length;for(let n=0;ne.state.transitions,(0,F.A)((0,v.A)(n,i),1)).filter(e=>e instanceof E).map(e=>e.tokenType),s=e=>e.tokenTypeIdx,a&&a.length?(0,G.A)(a,(0,U.A)(s,2)):[]),tokenPath:e}}(s,i,o);if(!0===t.isAcceptState)return t.prediction;i=t,s.push(o),o=this.LA(a++)}}function Q(e,t,r,n,i,a){let s=function(e,t,r){let n,i=new P,a=[];for(let n of e.elements){if(!1===r.is(n.alt))continue;if(7===n.state.type){a.push(n);continue}let e=n.state.transitions.length;for(let r=0;r0&&!function(e){for(let t of e.elements)if(7===t.state.type)return!0;return!1}(n))for(let e of a)n.add(e);return n}(t.configs,r,i);if(0===s.size)return ee(e,t,r,L),L;let o=J(s),l=function(e,t){let r;for(let n of e.elements)if(!0===t.is(n.alt)){if(void 0===r)r=n.alt;else if(r!==n.alt)return}return r}(s,i);if(void 0!==l)o.isAcceptState=!0,o.prediction=l,o.configs.uniqueAlt=l;else if(function(e){if(function(e){for(let t of e.elements)if(7!==t.state.type)return!1;return!0}(e))return!0;let t=function(e){let t=new Map;for(let r of e){let e=M(r,!1),n=t.get(e);void 0===n&&(n={},t.set(e,n)),n[r.alt]=!0}return t}(e.elements);return function(e){for(let t of Array.from(e.values()))if(Object.keys(t).length>1)return!0;return!1}(t)&&!function(e){for(let t of Array.from(e.values()))if(1===Object.keys(t).length)return!0;return!1}(t)}(s)){let t=(0,D.A)(s.alts);o.isAcceptState=!0,o.prediction=t,o.configs.uniqueAlt=t,Z.apply(this,[e,n,s.alts,a])}return ee(e,t,r,o)}function Z(e,t,r,n){var i;let a,s,o,l=[];for(let e=1;e<=t;e++)l.push(this.LA(e).tokenType);let u=e.atnStartState;n((i={topLevelRule:u.rule,ambiguityIndices:r,production:u.production,prefixPath:l},a=(0,v.A)(i.prefixPath,e=>(0,y.Sk)(e)).join(", "),s=0===i.production.idx?"":i.production.idx,(o=`Ambiguous Alternatives Detected: <${i.ambiguityIndices.join(", ")}> in <${function(e){if(e instanceof y.wL)return"SUBRULE";if(e instanceof y.c$)return"OPTION";if(e instanceof y.ak)return"OR";if(e instanceof y.$P)return"AT_LEAST_ONE";if(e instanceof y.Cy)return"AT_LEAST_ONE_SEP";else if(e instanceof y.Pp)return"MANY_SEP";else if(e instanceof y.Y2)return"MANY";else if(e instanceof y.BK)return"CONSUME";else throw Error("non exhaustive match")}(i.production)}${s}> inside <${i.topLevelRule.name}> Rule, <${a}> may appears as a prefix path in all these alternatives. `)+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES `+"For Further details."))}function J(e){return{configs:e,edges:{},isAcceptState:!1,prediction:-1}}function ee(e,t,r,n){return n=et(e,n),t.edges[r.tokenTypeIdx]=n,n}function et(e,t){if(t===L)return t;let r=t.configs.key,n=e.states[r];return void 0!==n?n:(t.configs.finalize(),e.states[r]=t,t)}function er(e,t){let r=e.state;if(7===r.type){if(e.stack.length>0){let r=[...e.stack];er({state:r.pop(),alt:e.alt,stack:r},t)}else t.add(e);return}r.epsilonOnlyTransitions||t.add(e);let n=r.transitions.length;for(let i=0;i=0&&t.content.splice(r,1)}}addHiddenNodes(e){let t=[];for(let r of e){let e=new eo(r.startOffset,r.image.length,(0,f.wf)(r),r.tokenType,!0);e.root=this.rootNode,t.push(e)}let r=this.current,n=!1;if(r.content.length>0)return void r.content.push(...t);for(;r.container;){let e=r.container.content.indexOf(r);if(e>0){r.container.content.splice(e,0,...t),n=!0;break}r=r.container}n||this.rootNode.content.unshift(...t)}construct(e){let t=this.current;"string"==typeof e.$type&&(this.current.astNode=e),e.$cstNode=t;let r=this.nodeStack.pop();(null==r?void 0:r.content.length)===0&&this.removeNode(r)}}class es{get parent(){return this.container}get feature(){return this.grammarSource}get hidden(){return!1}get astNode(){var e,t;let r="string"==typeof(null==(e=this._astNode)?void 0:e.$type)?this._astNode:null==(t=this.container)?void 0:t.astNode;if(!r)throw Error("This node has no associated AST element");return r}set astNode(e){this._astNode=e}get element(){return this.astNode}get text(){return this.root.fullText.substring(this.offset,this.end)}}class eo extends es{get offset(){return this._offset}get length(){return this._length}get end(){return this._offset+this._length}get hidden(){return this._hidden}get tokenType(){return this._tokenType}get range(){return this._range}constructor(e,t,r,n,i=!1){super(),this._hidden=i,this._offset=e,this._tokenType=n,this._length=t,this._range=r}}class el extends es{constructor(){super(...arguments),this.content=new eu(this)}get children(){return this.content}get offset(){var e,t;return null!=(t=null==(e=this.firstNonHiddenNode)?void 0:e.offset)?t:0}get length(){return this.end-this.offset}get end(){var e,t;return null!=(t=null==(e=this.lastNonHiddenNode)?void 0:e.end)?t:0}get range(){let e=this.firstNonHiddenNode,t=this.lastNonHiddenNode;if(!e||!t)return{start:ei.Position.create(0,0),end:ei.Position.create(0,0)};if(void 0===this._rangeCache){let{range:r}=e,{range:n}=t;this._rangeCache={start:r.start,end:n.end.line=0;e--){let t=this.content[e];if(!t.hidden)return t}return this.content[this.content.length-1]}}class eu extends Array{constructor(e){super(),this.parent=e,Object.setPrototypeOf(this,eu.prototype)}push(...e){return this.addParents(e),super.push(...e)}unshift(...e){return this.addParents(e),super.unshift(...e)}splice(e,t,...r){return this.addParents(r),super.splice(e,t,...r)}addParents(e){for(let t of e)t.container=this.parent}}class ec extends el{get text(){return this._text.substring(this.offset,this.end)}get fullText(){return this._text}constructor(e){super(),this._text="",this._text=null!=e?e:""}}let eh=Symbol("Datatype");function ed(e){return e.$type===eh}let ef=e=>e.endsWith("\u200B")?e:e+"\u200B";class ep{constructor(e){this._unorderedGroups=new Map,this.allRules=new Map,this.lexer=e.parser.Lexer;let t=this.lexer.definition,r="production"===e.LanguageMetaData.mode;this.wrapper=new eR(t,Object.assign(Object.assign({},e.parser.ParserConfig),{skipValidations:r,errorMessageProvider:e.parser.ParserErrorMessageProvider}))}alternatives(e,t){this.wrapper.wrapOr(e,t)}optional(e,t){this.wrapper.wrapOption(e,t)}many(e,t){this.wrapper.wrapMany(e,t)}atLeastOne(e,t){this.wrapper.wrapAtLeastOne(e,t)}getRule(e){return this.allRules.get(e)}isRecording(){return this.wrapper.IS_RECORDING}get unorderedGroups(){return this._unorderedGroups}getRuleStack(){return this.wrapper.RULE_STACK}finalize(){this.wrapper.wrapSelfAnalysis()}}class em extends ep{get current(){return this.stack[this.stack.length-1]}constructor(e){super(e),this.nodeBuilder=new ea,this.stack=[],this.assignmentMap=new Map,this.linker=e.references.Linker,this.converter=e.parser.ValueConverter,this.astReflection=e.shared.AstReflection}rule(e,t){let r=this.computeRuleType(e),n=this.wrapper.DEFINE_RULE(ef(e.name),this.startImplementation(r,t).bind(this));return this.allRules.set(e.name,n),e.entry&&(this.mainRule=n),n}computeRuleType(e){if(!e.fragment){if((0,p.Xq)(e))return eh;let t=(0,p.PV)(e);return null!=t?t:e.name}}parse(e,t={}){this.nodeBuilder.buildRootNode(e);let r=this.lexerResult=this.lexer.tokenize(e);this.wrapper.input=r.tokens;let n=t.rule?this.allRules.get(t.rule):this.mainRule;if(!n)throw Error(t.rule?`No rule found with name '${t.rule}'`:"No main rule available.");let i=n.call(this.wrapper,{});return this.nodeBuilder.addHiddenNodes(r.hidden),this.unorderedGroups.clear(),this.lexerResult=void 0,{value:i,lexerErrors:r.errors,lexerReport:r.report,parserErrors:this.wrapper.errors}}startImplementation(e,t){return r=>{let n,i=!this.isRecording()&&void 0!==e;if(i){let t={$type:e};this.stack.push(t),e===eh&&(t.value="")}try{n=t(r)}catch(e){n=void 0}return void 0===n&&i&&(n=this.construct()),n}}extractHiddenTokens(e){let t=this.lexerResult.hidden;if(!t.length)return[];let r=e.startOffset;for(let e=0;er)return t.splice(0,e);return t.splice(0,t.length)}consume(e,t,r){let n=this.wrapper.wrapConsume(e,t);if(!this.isRecording()&&this.isValidToken(n)){let e=this.extractHiddenTokens(n);this.nodeBuilder.addHiddenNodes(e);let t=this.nodeBuilder.buildLeafNode(n,r),{assignment:i,isCrossRef:a}=this.getAssignment(r),s=this.current;if(i){let e=(0,g.wb)(r)?n.image:this.converter.convert(n.image,t);this.assign(i.operator,i.feature,e,t,a)}else if(ed(s)){let e=n.image;(0,g.wb)(r)||(e=this.converter.convert(e,t).toString()),s.value+=e}}}isValidToken(e){return!e.isInsertedInRecovery&&!isNaN(e.startOffset)&&"number"==typeof e.endOffset&&!isNaN(e.endOffset)}subrule(e,t,r,n,i){let a;this.isRecording()||r||(a=this.nodeBuilder.buildCompositeNode(n));let s=this.wrapper.wrapSubrule(e,t,i);!this.isRecording()&&a&&a.length>0&&this.performSubruleAssignment(s,n,a)}performSubruleAssignment(e,t,r){let{assignment:n,isCrossRef:i}=this.getAssignment(t);if(n)this.assign(n.operator,n.feature,e,r,i);else if(!n){let t=this.current;if(ed(t))t.value+=e.toString();else if("object"==typeof e&&e){let r=this.assignWithoutOverride(e,t);this.stack.pop(),this.stack.push(r)}}}action(e,t){if(!this.isRecording()){let r=this.current;t.feature&&t.operator?(r=this.construct(),this.nodeBuilder.removeNode(r.$cstNode),this.nodeBuilder.buildCompositeNode(t).content.push(r.$cstNode),this.stack.push({$type:e}),this.assign(t.operator,t.feature,r,r.$cstNode,!1)):r.$type=e}}construct(){if(this.isRecording())return;let e=this.current;return((0,en.SD)(e),this.nodeBuilder.construct(e),this.stack.pop(),ed(e))?this.converter.convert(e.value,e.$cstNode):((0,en.OP)(this.astReflection,e),e)}getAssignment(e){if(!this.assignmentMap.has(e)){let t=(0,en.XG)(e,g.wh);this.assignmentMap.set(e,{assignment:t,isCrossRef:!!t&&(0,g._c)(t.terminal)})}return this.assignmentMap.get(e)}assign(e,t,r,n,i){let a,s=this.current;switch(a=i&&"string"==typeof r?this.linker.buildReference(s,t,n,r):r,e){case"=":s[t]=a;break;case"?=":s[t]=!0;break;case"+=":Array.isArray(s[t])||(s[t]=[]),s[t].push(a)}}assignWithoutOverride(e,t){for(let[r,n]of Object.entries(t)){let t=e[r];void 0===t?e[r]=n:Array.isArray(t)&&Array.isArray(n)&&(n.push(...t),e[r]=n)}let r=e.$cstNode;return r&&(r.astNode=void 0,e.$cstNode=void 0),e}get definitionErrors(){return this.wrapper.definitionErrors}}class eg{buildMismatchTokenMessage(e){return y.my.buildMismatchTokenMessage(e)}buildNotAllInputParsedMessage(e){return y.my.buildNotAllInputParsedMessage(e)}buildNoViableAltMessage(e){return y.my.buildNoViableAltMessage(e)}buildEarlyExitMessage(e){return y.my.buildEarlyExitMessage(e)}}class ey extends eg{buildMismatchTokenMessage({expected:e,actual:t}){let r=e.LABEL?"`"+e.LABEL+"`":e.name.endsWith(":KW")?`keyword '${e.name.substring(0,e.name.length-3)}'`:`token of type '${e.name}'`;return`Expecting ${r} but found \`${t.image}\`.`}buildNotAllInputParsedMessage({firstRedundant:e}){return`Expecting end of file but found \`${e.image}\`.`}}class ev extends ep{constructor(){super(...arguments),this.tokens=[],this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}action(){}construct(){}parse(e){this.resetState();let t=this.lexer.tokenize(e,{mode:"partial"});return this.tokens=t.tokens,this.wrapper.input=[...this.tokens],this.mainRule.call(this.wrapper,{}),this.unorderedGroups.clear(),{tokens:this.tokens,elementStack:[...this.lastElementStack],tokenIndex:this.nextTokenIndex}}rule(e,t){let r=this.wrapper.DEFINE_RULE(ef(e.name),this.startImplementation(t).bind(this));return this.allRules.set(e.name,r),e.entry&&(this.mainRule=r),r}resetState(){this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}startImplementation(e){return t=>{let r=this.keepStackSize();try{e(t)}finally{this.resetStackSize(r)}}}removeUnexpectedElements(){this.elementStack.splice(this.stackSize)}keepStackSize(){let e=this.elementStack.length;return this.stackSize=e,e}resetStackSize(e){this.removeUnexpectedElements(),this.stackSize=e}consume(e,t,r){this.wrapper.wrapConsume(e,t),this.isRecording()||(this.lastElementStack=[...this.elementStack,r],this.nextTokenIndex=this.currIdx+1)}subrule(e,t,r,n,i){this.before(n),this.wrapper.wrapSubrule(e,t,i),this.after(n)}before(e){this.isRecording()||this.elementStack.push(e)}after(e){if(!this.isRecording()){let t=this.elementStack.lastIndexOf(e);t>=0&&this.elementStack.splice(t)}}get currIdx(){return this.wrapper.currIdx}}let eT={recoveryEnabled:!0,nodeLocationTracking:"full",skipValidations:!0,errorMessageProvider:new ey};class eR extends y.jr{constructor(e,t){let r=t&&"maxLookahead"in t;super(e,Object.assign(Object.assign(Object.assign({},eT),{lookaheadStrategy:r?new y.T6({maxLookahead:t.maxLookahead}):new z({logging:t.skipValidations?()=>{}:void 0})}),t))}get IS_RECORDING(){return this.RECORDING_PHASE}DEFINE_RULE(e,t){return this.RULE(e,t)}wrapSelfAnalysis(){this.performSelfAnalysis()}wrapConsume(e,t){return this.consume(e,t)}wrapSubrule(e,t,r){return this.subrule(e,t,{ARGS:[r]})}wrapOr(e,t){this.or(e,t)}wrapOption(e,t){this.option(e,t)}wrapMany(e,t){this.many(e,t)}wrapAtLeastOne(e,t){this.atLeastOne(e,t)}}var eA=r(1154),eE=r(6121);function e$(e,t,r){return function(e,t){let r=(0,p.YV)(t,!1);for(let n of(0,eE.Td)(t.rules).filter(g.s7).filter(e=>r.has(e))){let t=Object.assign(Object.assign({},e),{consume:1,optional:1,subrule:1,many:1,or:1});e.parser.rule(n,function e(t,r,n=!1){var i,a,s;let o;if((0,g.wb)(r))o=function(e,t){let r=e.consume++,n=e.tokens[t.value];if(!n)throw Error("Could not find token for keyword: "+t.value);return()=>e.parser.consume(r,n,t)}(t,r);else if((0,g.ve)(r)){let e;i=t,a=r,e=(0,p.Uz)(a),o=()=>i.parser.action(e,a)}else if((0,g.wh)(r))o=e(t,r.terminal);else if((0,g._c)(r))o=function e(t,r,n=r.terminal){if(n)if((0,g.$g)(n)&&(0,g.s7)(n.rule.ref)){let e=n.rule.ref,i=t.subrule++;return n=>t.parser.subrule(i,eI(t,e),!1,r,n)}else if((0,g.$g)(n)&&(0,g.rE)(n.rule.ref)){let e=t.consume++,i=eN(t,n.rule.ref.name);return()=>t.parser.consume(e,i,r)}else if((0,g.wb)(n)){let e=t.consume++,i=eN(t,n.value);return()=>t.parser.consume(e,i,r)}else throw Error("Could not build cross reference parser");{if(!r.type.ref)throw Error("Could not resolve reference to type: "+r.type.$refText);let n=(0,p.U5)(r.type.ref),i=null==n?void 0:n.terminal;if(!i)throw Error("Could not find name assignment for type: "+(0,p.Uz)(r.type.ref));return e(t,r,i)}}(t,r);else if((0,g.$g)(r))o=function(e,t){let r=t.rule.ref;if((0,g.s7)(r)){var n;let i,a=e.subrule++,s=r.fragment,o=t.arguments.length>0?(n=r,i=t.arguments.map(e=>ek(e.value)),e=>{let t={};for(let r=0;r({});return n=>e.parser.subrule(a,eI(e,r),s,t,o(n))}if((0,g.rE)(r)){let n=e.consume++,i=eN(e,r.name);return()=>e.parser.consume(n,i,t)}if(r)(0,eA.d)(r);else throw new eA.W(t.$cstNode,`Undefined rule: ${t.rule.$refText}`)}(t,r);else if((0,g.jp)(r))o=function(t,r){if(1===r.elements.length)return e(t,r.elements[0]);{let n=[];for(let i of r.elements){let r={ALT:e(t,i,!0)},a=ex(i);a&&(r.GATE=ek(a)),n.push(r)}let i=t.or++;return e=>t.parser.alternatives(i,n.map(t=>{let r={ALT:()=>t.ALT(e)},n=t.GATE;return n&&(r.GATE=()=>n(e)),r}))}}(t,r);else if((0,g.cY)(r))o=function(t,r){if(1===r.elements.length)return e(t,r.elements[0]);let n=[];for(let i of r.elements){let r={ALT:e(t,i,!0)},a=ex(i);a&&(r.GATE=ek(a)),n.push(r)}let i=t.or++,a=(e,t)=>{let r=t.getRuleStack().join("-");return`uGroup_${e}_${r}`},s=eS(t,ex(r),e=>t.parser.alternatives(i,n.map((r,n)=>{let s={ALT:()=>!0},o=t.parser;s.ALT=()=>{if(r.ALT(e),!o.isRecording()){let e=a(i,o);o.unorderedGroups.get(e)||o.unorderedGroups.set(e,[]);let t=o.unorderedGroups.get(e);void 0===(null==t?void 0:t[n])&&(t[n]=!0)}};let l=r.GATE;return l?s.GATE=()=>l(e):s.GATE=()=>{let e=o.unorderedGroups.get(a(i,o));return!(null==e?void 0:e[n])},s})),"*");return e=>{s(e),t.parser.isRecording()||t.parser.unorderedGroups.delete(a(i,t.parser))}}(t,r);else if((0,g.IZ)(r)){let n;s=t,n=r.elements.map(t=>e(s,t)),o=e=>n.forEach(t=>t(e))}else if((0,g.FO)(r)){let e=t.consume++;o=()=>t.parser.consume(e,y.LT,r)}else throw new eA.W(r.$cstNode,`Unexpected element type: ${r.$type}`);return eS(t,n?void 0:ex(r),o,r.cardinality)}(t,n.definition))}}({parser:t,tokens:r,ruleNames:new Map},e),t}function ek(e){if((0,g.RP)(e)){let t=ek(e.left),r=ek(e.right);return e=>t(e)||r(e)}if((0,g.Tu)(e)){let t=ek(e.left),r=ek(e.right);return e=>t(e)&&r(e)}if((0,g.Ct)(e)){let t=ek(e.value);return e=>!t(e)}if((0,g.TF)(e)){let t=e.parameter.ref.name;return e=>void 0!==e&&!0===e[t]}if((0,g.Cz)(e)){let t=!!e.true;return()=>t}(0,eA.d)(e)}function ex(e){if((0,g.IZ)(e))return e.guardCondition}function eS(e,t,r,n){let i=t&&ek(t);if(!n)if(!i)return r;else{let t=e.or++;return n=>e.parser.alternatives(t,[{ALT:()=>r(n),GATE:()=>i(n)},{ALT:(0,y.mT)(),GATE:()=>!i(n)}])}if("*"===n){let t=e.many++;return n=>e.parser.many(t,{DEF:()=>r(n),GATE:i?()=>i(n):void 0})}if("+"===n){let t=e.many++;if(!i)return n=>e.parser.atLeastOne(t,{DEF:()=>r(n)});{let n=e.or++;return a=>e.parser.alternatives(n,[{ALT:()=>e.parser.atLeastOne(t,{DEF:()=>r(a)}),GATE:()=>i(a)},{ALT:(0,y.mT)(),GATE:()=>!i(a)}])}}if("?"===n){let t=e.optional++;return n=>e.parser.optional(t,{DEF:()=>r(n),GATE:i?()=>i(n):void 0})}(0,eA.d)(n)}function eI(e,t){let r=function(e,t){if((0,g.s7)(t))return t.name;{if(e.ruleNames.has(t))return e.ruleNames.get(t);let r=t,n=r.$container,i=t.$type;for(;!(0,g.s7)(n);)((0,g.IZ)(n)||(0,g.jp)(n)||(0,g.cY)(n))&&(i=n.elements.indexOf(r).toString()+":"+i),r=n,n=n.$container;return i=n.name+":"+i,e.ruleNames.set(t,i),i}}(e,t),n=e.parser.getRule(r);if(!n)throw Error(`Rule "${r}" not found."`);return n}function eN(e,t){let r=e.tokens[t];if(!r)throw Error(`Token "${t}" not found."`);return r}var eC=r(75132),ew=r(53663),eb=r(13725),eO=r(81457);let e_=0,eL=Symbol("OperationCancelled");async function eP(e){if(e===eb.CancellationToken.None)return;let t=performance.now();if(t-e_>=10&&(e_=t,await new Promise(e=>{"u"{this.resolve=t=>(e(t),this),this.reject=e=>(t(e),this)})}}class eD{constructor(e,t,r,n){this._uri=e,this._languageId=t,this._version=r,this._content=n,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){let t=this.offsetAt(e.start),r=this.offsetAt(e.end);return this._content.substring(t,r)}return this._content}update(e,t){for(let t of e)if(eD.isIncremental(t)){let e=eG(t.range),r=this.offsetAt(e.start),n=this.offsetAt(e.end);this._content=this._content.substring(0,r)+t.text+this._content.substring(n,this._content.length);let i=Math.max(e.start.line,0),a=Math.max(e.end.line,0),s=this._lineOffsets,o=eF(t.text,!1,r);if(a-i===o.length)for(let e=0,t=o.length;ee?n=i:r=i+1}let i=r-1;return e=this.ensureBeforeEOL(e,t[i]),{line:i,character:e-t[i]}}offsetAt(e){let t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;let r=t[e.line];if(e.character<=0)return r;let n=e.line+1t&&eU(this._content.charCodeAt(e-1));)e--;return e}get lineCount(){return this.getLineOffsets().length}static isIncremental(e){return null!=e&&"string"==typeof e.text&&void 0!==e.range&&(void 0===e.rangeLength||"number"==typeof e.rangeLength)}static isFull(e){return null!=e&&"string"==typeof e.text&&void 0===e.range&&void 0===e.rangeLength}}function eF(e,t,r=0){let n=t?[r]:[];for(let t=0;tr.line||t.line===r.line&&t.character>r.character?{start:r,end:t}:e}function ej(e){let t=eG(e.range);return t!==e.range?{newText:e.newText,range:t}:e}(n=o||(o={})).create=function(e,t,r,n){return new eD(e,t,r,n)},n.update=function(e,t,r){if(e instanceof eD)return e.update(t,r),e;throw Error("TextDocument.update: document must be created by TextDocument.create")},n.applyEdits=function(e,t){let r=e.getText(),n=function e(t,r){if(t.length<=1)return t;let n=t.length/2|0,i=t.slice(0,n),a=t.slice(n);e(i,r),e(a,r);let s=0,o=0,l=0;for(;s=r(i[s],a[o])?t[l++]=i[s++]:t[l++]=a[o++];for(;s{let r=e.range.start.line-t.range.start.line;return 0===r?e.range.start.character-t.range.start.character:r}),i=0,a=[];for(let t of n){let n=e.offsetAt(t.range.start);if(ni&&a.push(r.substring(i,n)),t.newText.length&&a.push(t.newText),i=e.offsetAt(t.range.end)}return a.push(r.substr(i)),a.join("")};var eK=r(89328);(i=l||(l={}))[i.Changed=0]="Changed",i[i.Parsed=1]="Parsed",i[i.IndexedContent=2]="IndexedContent",i[i.ComputedScopes=3]="ComputedScopes",i[i.Linked=4]="Linked",i[i.IndexedReferences=5]="IndexedReferences",i[i.Validated=6]="Validated";class eB{constructor(e){this.serviceRegistry=e.ServiceRegistry,this.textDocuments=e.workspace.TextDocuments,this.fileSystemProvider=e.workspace.FileSystemProvider}async fromUri(e,t=eb.CancellationToken.None){let r=await this.fileSystemProvider.readFile(e);return this.createAsync(e,r,t)}fromTextDocument(e,t,r){return(t=null!=t?t:eK.r.parse(e.uri),eb.CancellationToken.is(r))?this.createAsync(t,e,r):this.create(t,e,r)}fromString(e,t,r){return eb.CancellationToken.is(r)?this.createAsync(t,e,r):this.create(t,e,r)}fromModel(e,t){return this.create(t,{$model:e})}create(e,t,r){if("string"==typeof t){let n=this.parse(e,t,r);return this.createLangiumDocument(n,e,void 0,t)}if("$model"in t){let r={value:t.$model,parserErrors:[],lexerErrors:[]};return this.createLangiumDocument(r,e)}{let n=this.parse(e,t.getText(),r);return this.createLangiumDocument(n,e,t)}}async createAsync(e,t,r){if("string"==typeof t){let n=await this.parseAsync(e,t,r);return this.createLangiumDocument(n,e,void 0,t)}{let n=await this.parseAsync(e,t.getText(),r);return this.createLangiumDocument(n,e,t)}}createLangiumDocument(e,t,r,n){let i;if(r)i={parseResult:e,uri:t,state:l.Parsed,references:[],textDocument:r};else{let r=this.createTextDocumentGetter(t,n);i={parseResult:e,uri:t,state:l.Parsed,references:[],get textDocument(){return r()}}}return e.value.$document=i,i}async update(e,t){var r,n;let i=null==(r=e.parseResult.value.$cstNode)?void 0:r.root.fullText,a=null==(n=this.textDocuments)?void 0:n.get(e.uri.toString()),s=a?a.getText():await this.fileSystemProvider.readFile(e.uri);if(a)Object.defineProperty(e,"textDocument",{value:a});else{let t=this.createTextDocumentGetter(e.uri,s);Object.defineProperty(e,"textDocument",{get:t})}return i!==s&&(e.parseResult=await this.parseAsync(e.uri,s,t),e.parseResult.value.$document=e),e.state=l.Parsed,e}parse(e,t,r){return this.serviceRegistry.getServices(e).parser.LangiumParser.parse(t,r)}parseAsync(e,t,r){return this.serviceRegistry.getServices(e).parser.AsyncParser.parse(t,r)}createTextDocumentGetter(e,t){let r,n=this.serviceRegistry;return()=>null!=r?r:r=o.create(e.toString(),n.getServices(e).LanguageMetaData.languageId,0,null!=t?t:"")}}class eV{constructor(e){this.documentMap=new Map,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.serviceRegistry=e.ServiceRegistry}get all(){return(0,eE.Td)(this.documentMap.values())}addDocument(e){let t=e.uri.toString();if(this.documentMap.has(t))throw Error(`A document with the URI '${t}' is already present.`);this.documentMap.set(t,e)}getDocument(e){let t=e.toString();return this.documentMap.get(t)}async getOrCreateDocument(e,t){let r=this.getDocument(e);return r||(r=await this.langiumDocumentFactory.fromUri(e,t),this.addDocument(r)),r}createDocument(e,t,r){if(r)return this.langiumDocumentFactory.fromString(t,e,r).then(e=>(this.addDocument(e),e));{let r=this.langiumDocumentFactory.fromString(t,e);return this.addDocument(r),r}}hasDocument(e){return this.documentMap.has(e.toString())}invalidateDocument(e){let t=e.toString(),r=this.documentMap.get(t);return r&&(this.serviceRegistry.getServices(e).references.Linker.unlink(r),r.state=l.Changed,r.precomputedScopes=void 0,r.diagnostics=void 0),r}deleteDocument(e){let t=e.toString(),r=this.documentMap.get(t);return r&&(r.state=l.Changed,this.documentMap.delete(t)),r}}let eH=Symbol("ref_resolving");class eW{constructor(e){this.reflection=e.shared.AstReflection,this.langiumDocuments=()=>e.shared.workspace.LangiumDocuments,this.scopeProvider=e.references.ScopeProvider,this.astNodeLocator=e.workspace.AstNodeLocator}async link(e,t=eb.CancellationToken.None){for(let r of(0,en.jm)(e.parseResult.value))await eP(t),(0,en.DM)(r).forEach(t=>this.doLink(t,e))}doLink(e,t){var r;let n=e.reference;if(void 0===n._ref){n._ref=eH;try{let t=this.getCandidate(e);if((0,eO.Zl)(t))n._ref=t;else if(n._nodeDescription=t,this.langiumDocuments().hasDocument(t.documentUri)){let r=this.loadAstNode(t);n._ref=null!=r?r:this.createLinkingError(e,t)}else n._ref=void 0}catch(i){console.error(`An error occurred while resolving reference to '${n.$refText}':`,i);let t=null!=(r=i.message)?r:String(i);n._ref=Object.assign(Object.assign({},e),{message:`An error occurred while resolving reference to '${n.$refText}': ${t}`})}t.references.push(n)}}unlink(e){for(let t of e.references)delete t._ref,delete t._nodeDescription;e.references=[]}getCandidate(e){let t=this.scopeProvider.getScope(e).getElement(e.reference.$refText);return null!=t?t:this.createLinkingError(e)}buildReference(e,t,r,n){let i=this,a={$refNode:r,$refText:n,get ref(){var s;if((0,eO.ng)(this._ref))return this._ref;if((0,eO.Nr)(this._nodeDescription)){let r=i.loadAstNode(this._nodeDescription);this._ref=null!=r?r:i.createLinkingError({reference:a,container:e,property:t},this._nodeDescription)}else if(void 0===this._ref){this._ref=eH;let r=(0,en.cQ)(e).$document,n=i.getLinkedNode({reference:a,container:e,property:t});if(n.error&&r&&r.statee.length>0),a=n.split("/").filter(e=>e.length>0),s=0;for(;s=e.end)return t.ref}}if(r){let t=this.nameProvider.getNameNode(r);if(t&&(t===e||(0,f.pO)(e,t)))return r}}}findDeclarationNode(e){let t=this.findDeclaration(e);if(null==t?void 0:t.$cstNode){let e=this.nameProvider.getNameNode(t);return null!=e?e:t.$cstNode}}findReferences(e,t){let r=[];if(t.includeDeclaration){let t=this.getReferenceToSelf(e);t&&r.push(t)}let n=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e));return t.documentUri&&(n=n.filter(e=>u.equals(e.sourceUri,t.documentUri))),r.push(...n),(0,eE.Td)(r)}getReferenceToSelf(e){let t=this.nameProvider.getNameNode(e);if(t){let r=(0,en.YE)(e),n=this.nodeLocator.getAstNodePath(e);return{sourceUri:r.uri,sourcePath:n,targetUri:r.uri,targetPath:n,segment:(0,f.SX)(t),local:!0}}}}class eq{constructor(e){if(this.map=new Map,e)for(let[t,r]of e)this.add(t,r)}get size(){return eE.iD.sum((0,eE.Td)(this.map.values()).map(e=>e.length))}clear(){this.map.clear()}delete(e,t){if(void 0===t)return this.map.delete(e);{let r=this.map.get(e);if(r){let n=r.indexOf(t);if(n>=0)return 1===r.length?this.map.delete(e):r.splice(n,1),!0}return!1}}get(e){var t;return null!=(t=this.map.get(e))?t:[]}has(e,t){if(void 0===t)return this.map.has(e);{let r=this.map.get(e);return!!r&&r.indexOf(t)>=0}}add(e,t){return this.map.has(e)?this.map.get(e).push(t):this.map.set(e,[t]),this}addAll(e,t){return this.map.has(e)?this.map.get(e).push(...t):this.map.set(e,Array.from(t)),this}forEach(e){this.map.forEach((t,r)=>t.forEach(t=>e(t,r,this)))}[Symbol.iterator](){return this.entries().iterator()}entries(){return(0,eE.Td)(this.map.entries()).flatMap(([e,t])=>t.map(t=>[e,t]))}keys(){return(0,eE.Td)(this.map.keys())}values(){return(0,eE.Td)(this.map.values()).flat()}entriesGroupedByKey(){return(0,eE.Td)(this.map.entries())}}class eX{get size(){return this.map.size}constructor(e){if(this.map=new Map,this.inverse=new Map,e)for(let[t,r]of e)this.set(t,r)}clear(){this.map.clear(),this.inverse.clear()}set(e,t){return this.map.set(e,t),this.inverse.set(t,e),this}get(e){return this.map.get(e)}getKey(e){return this.inverse.get(e)}delete(e){let t=this.map.get(e);return void 0!==t&&(this.map.delete(e),this.inverse.delete(t),!0)}}class eQ{constructor(e){this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider}async computeExports(e,t=eb.CancellationToken.None){return this.computeExportsForNode(e.parseResult.value,e,void 0,t)}async computeExportsForNode(e,t,r=en.VN,n=eb.CancellationToken.None){let i=[];for(let a of(this.exportNode(e,i,t),r(e)))await eP(n),this.exportNode(a,i,t);return i}exportNode(e,t,r){let n=this.nameProvider.getName(e);n&&t.push(this.descriptions.createDescription(e,n,r))}async computeLocalScopes(e,t=eb.CancellationToken.None){let r=e.parseResult.value,n=new eq;for(let i of(0,en.Uo)(r))await eP(t),this.processNode(i,e,n);return n}processNode(e,t,r){let n=e.$container;if(n){let i=this.nameProvider.getName(e);i&&r.add(n,this.descriptions.createDescription(e,i,t))}}}class eZ{constructor(e,t,r){var n;this.elements=e,this.outerScope=t,this.caseInsensitive=null!=(n=null==r?void 0:r.caseInsensitive)&&n}getAllElements(){return this.outerScope?this.elements.concat(this.outerScope.getAllElements()):this.elements}getElement(e){let t=this.caseInsensitive?this.elements.find(t=>t.name.toLowerCase()===e.toLowerCase()):this.elements.find(t=>t.name===e);return t||(this.outerScope?this.outerScope.getElement(e):void 0)}}class eJ{constructor(e,t,r){var n;for(let t of(this.elements=new Map,this.caseInsensitive=null!=(n=null==r?void 0:r.caseInsensitive)&&n,e)){let e=this.caseInsensitive?t.name.toLowerCase():t.name;this.elements.set(e,t)}this.outerScope=t}getElement(e){let t=this.caseInsensitive?e.toLowerCase():e,r=this.elements.get(t);return r||(this.outerScope?this.outerScope.getElement(e):void 0)}getAllElements(){let e=(0,eE.Td)(this.elements.values());return this.outerScope&&(e=e.concat(this.outerScope.getAllElements())),e}}class e0{constructor(){this.toDispose=[],this.isDisposed=!1}onDispose(e){this.toDispose.push(e)}dispose(){this.throwIfDisposed(),this.clear(),this.isDisposed=!0,this.toDispose.forEach(e=>e.dispose())}throwIfDisposed(){if(this.isDisposed)throw Error("This cache has already been disposed")}}class e1 extends e0{constructor(){super(...arguments),this.cache=new Map}has(e){return this.throwIfDisposed(),this.cache.has(e)}set(e,t){this.throwIfDisposed(),this.cache.set(e,t)}get(e,t){if(this.throwIfDisposed(),this.cache.has(e))return this.cache.get(e);if(t){let r=t();return this.cache.set(e,r),r}}delete(e){return this.throwIfDisposed(),this.cache.delete(e)}clear(){this.throwIfDisposed(),this.cache.clear()}}class e2 extends e0{constructor(e){super(),this.cache=new Map,this.converter=null!=e?e:e=>e}has(e,t){return this.throwIfDisposed(),this.cacheForContext(e).has(t)}set(e,t,r){this.throwIfDisposed(),this.cacheForContext(e).set(t,r)}get(e,t,r){this.throwIfDisposed();let n=this.cacheForContext(e);if(n.has(t))return n.get(t);if(r){let e=r();return n.set(t,e),e}}delete(e,t){return this.throwIfDisposed(),this.cacheForContext(e).delete(t)}clear(e){if(this.throwIfDisposed(),e){let t=this.converter(e);this.cache.delete(t)}else this.cache.clear()}cacheForContext(e){let t=this.converter(e),r=this.cache.get(t);return r||(r=new Map,this.cache.set(t,r)),r}}class e3 extends e1{constructor(e,t){super(),t?(this.toDispose.push(e.workspace.DocumentBuilder.onBuildPhase(t,()=>{this.clear()})),this.toDispose.push(e.workspace.DocumentBuilder.onUpdate((e,t)=>{t.length>0&&this.clear()}))):this.toDispose.push(e.workspace.DocumentBuilder.onUpdate(()=>{this.clear()}))}}class e8{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 e3(e.shared)}getScope(e){let t=[],r=this.reflection.getReferenceType(e),n=(0,en.YE)(e.container).precomputedScopes;if(n){let i=e.container;do{let e=n.get(i);e.length>0&&t.push((0,eE.Td)(e).filter(e=>this.reflection.isSubtype(e.type,r))),i=i.$container}while(i)}let i=this.getGlobalScope(r,e);for(let e=t.length-1;e>=0;e--)i=this.createScope(t[e],i);return i}createScope(e,t,r){return new eZ((0,eE.Td)(e),t,r)}createScopeForNodes(e,t,r){return new eZ((0,eE.Td)(e).map(e=>{let t=this.nameProvider.getName(e);if(t)return this.descriptions.createDescription(e,t)}).nonNullable(),t,r)}getGlobalScope(e,t){return this.globalScopeCache.get(e,()=>new eJ(this.indexManager.allElements(e)))}}function e4(e){return"object"==typeof e&&!!e&&("$ref"in e||"$error"in e)}class e6{constructor(e){this.ignoreProperties=new Set(["$container","$containerProperty","$containerIndex","$document","$cstNode"]),this.langiumDocuments=e.shared.workspace.LangiumDocuments,this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider,this.commentProvider=e.documentation.CommentProvider}serialize(e,t){let r=null!=t?t:{},n=null==t?void 0:t.replacer,i=(e,t)=>this.replacer(e,t,r),a=n?(e,t)=>n(e,t,i):i;try{return this.currentDocument=(0,en.YE)(e),JSON.stringify(e,a,null==t?void 0:t.space)}finally{this.currentDocument=void 0}}deserialize(e,t){let r=JSON.parse(e);return this.linkNode(r,r,null!=t?t:{}),r}replacer(e,t,{refText:r,sourceText:n,textRegions:i,comments:a,uriConverter:s}){var o,l,u,c;if(!this.ignoreProperties.has(e)){if((0,eO.A_)(t)){let e=t.ref,n=r?t.$refText:void 0;if(!e)return{$error:null!=(l=null==(o=t.error)?void 0:o.message)?l:"Could not resolve reference",$refText:n};{let r=(0,en.YE)(e),i="";this.currentDocument&&this.currentDocument!==r&&(i=s?s(r.uri,t):r.uri.toString());let a=this.astNodeLocator.getAstNodePath(e);return{$ref:`${i}#${a}`,$refText:n}}}if(!(0,eO.ng)(t))return t;{let r;if(i&&(r=this.addAstNodeRegionWithAssignmentsTo(Object.assign({},t)),(!e||t.$document)&&(null==r?void 0:r.$textRegion)&&(r.$textRegion.documentURI=null==(u=this.currentDocument)?void 0:u.uri.toString())),n&&!e&&(null!=r||(r=Object.assign({},t)),r.$sourceText=null==(c=t.$cstNode)?void 0:c.text),a){null!=r||(r=Object.assign({},t));let e=this.commentProvider.getComment(t);e&&(r.$comment=e.replace(/\r/g,""))}return null!=r?r:t}}}addAstNodeRegionWithAssignmentsTo(e){let t=e=>({offset:e.offset,end:e.end,length:e.length,range:e.range});if(e.$cstNode){let r=(e.$textRegion=t(e.$cstNode)).assignments={};return Object.keys(e).filter(e=>!e.startsWith("$")).forEach(n=>{let i=(0,p.Bd)(e.$cstNode,n).map(t);0!==i.length&&(r[n]=i)}),e}}linkNode(e,t,r,n,i,a){for(let[n,i]of Object.entries(e))if(Array.isArray(i))for(let a=0;a{await this.handleException(()=>e.call(t,r,n,i),"An error occurred during validation",n,r)}}async handleException(e,t,r,n){try{await e()}catch(i){if(i===eL)throw i;console.error(`${t}:`,i),i instanceof Error&&i.stack&&console.error(i.stack);let e=i instanceof Error?i.message:String(i);r("error",`${t}: ${e}`,{node:n})}}addEntry(e,t){if("AstNode"===e)return void this.entries.add("AstNode",t);for(let r of this.reflection.getAllSubTypes(e))this.entries.add(r,t)}getChecks(e,t){let r=(0,eE.Td)(this.entries.get(e)).concat(this.entries.get("AstNode"));return t&&(r=r.filter(e=>t.includes(e.category))),r.map(e=>e.check)}registerBeforeDocument(e,t=this){this.entriesBefore.push(this.wrapPreparationException(e,"An error occurred during set-up of the validation",t))}registerAfterDocument(e,t=this){this.entriesAfter.push(this.wrapPreparationException(e,"An error occurred during tear-down of the validation",t))}wrapPreparationException(e,t,r){return async(n,i,a,s)=>{await this.handleException(()=>e.call(r,n,i,a,s),t,i,n)}}get checksBefore(){return this.entriesBefore}get checksAfter(){return this.entriesAfter}}class e7{constructor(e){this.validationRegistry=e.validation.ValidationRegistry,this.metadata=e.LanguageMetaData}async validateDocument(e,t={},r=eb.CancellationToken.None){let n=e.parseResult,i=[];if((await eP(r),!t.categories||t.categories.includes("built-in"))&&(this.processLexingErrors(n,i,t),t.stopAfterLexingErrors&&i.some(e=>{var t;return(null==(t=e.data)?void 0:t.code)===h.LexingError})||(this.processParsingErrors(n,i,t),t.stopAfterParsingErrors&&i.some(e=>{var t;return(null==(t=e.data)?void 0:t.code)===h.ParsingError}))||(this.processLinkingErrors(e,i,t),t.stopAfterLinkingErrors&&i.some(e=>{var t;return(null==(t=e.data)?void 0:t.code)===h.LinkingError}))))return i;try{i.push(...await this.validateAst(n.value,t,r))}catch(e){if(e===eL)throw e;console.error("An error occurred during validation:",e)}return await eP(r),i}processLexingErrors(e,t,r){var n,i,a;for(let r of[...e.lexerErrors,...null!=(i=null==(n=e.lexerReport)?void 0:n.diagnostics)?i:[]]){let e=null!=(a=r.severity)?a:"error",n={severity:te(e),range:{start:{line:r.line-1,character:r.column-1},end:{line:r.line-1,character:r.column+r.length-1}},message:r.message,data:function(e){switch(e){case"error":return{code:h.LexingError};case"warning":return{code:h.LexingWarning};case"info":return{code:h.LexingInfo};case"hint":return{code:h.LexingHint};default:throw Error("Invalid diagnostic severity: "+e)}}(e),source:this.getSource()};t.push(n)}}processParsingErrors(e,t,r){for(let r of e.parserErrors){let e;if(isNaN(r.token.startOffset)){if("previousToken"in r){let t=r.previousToken;if(isNaN(t.startOffset)){let t={line:0,character:0};e={start:t,end:t}}else{let r={line:t.endLine-1,character:t.endColumn};e={start:r,end:r}}}}else e=(0,f.wf)(r.token);if(e){let n={severity:te("error"),range:e,message:r.message,data:{code:h.ParsingError},source:this.getSource()};t.push(n)}}}processLinkingErrors(e,t,r){for(let r of e.references){let e=r.error;if(e){let r={node:e.container,property:e.property,index:e.index,data:{code:h.LinkingError,containerType:e.container.$type,property:e.property,refText:e.reference.$refText}};t.push(this.toDiagnostic("error",e.message,r))}}}async validateAst(e,t,r=eb.CancellationToken.None){let n=[],i=(e,t,r)=>{n.push(this.toDiagnostic(e,t,r))};return await this.validateAstBefore(e,t,i,r),await this.validateAstNodes(e,t,i,r),await this.validateAstAfter(e,t,i,r),n}async validateAstBefore(e,t,r,n=eb.CancellationToken.None){var i;for(let a of this.validationRegistry.checksBefore)await eP(n),await a(e,r,null!=(i=t.categories)?i:[],n)}async validateAstNodes(e,t,r,n=eb.CancellationToken.None){await Promise.all((0,en.jm)(e).map(async e=>{for(let i of(await eP(n),this.validationRegistry.getChecks(e.$type,t.categories)))await i(e,r,n)}))}async validateAstAfter(e,t,r,n=eb.CancellationToken.None){var i;for(let a of this.validationRegistry.checksAfter)await eP(n),await a(e,r,null!=(i=t.categories)?i:[],n)}toDiagnostic(e,t,r){var n;let i;return{message:t,range:(n=r).range?n.range:("string"==typeof n.property?i=(0,p.qO)(n.node.$cstNode,n.property,n.index):"string"==typeof n.keyword&&(i=(0,p.SS)(n.node.$cstNode,n.keyword,n.index)),null!=i||(i=n.node.$cstNode),i)?i.range:{start:{line:0,character:0},end:{line:0,character:0}},severity:te(e),code:r.code,codeDescription:r.codeDescription,tags:r.tags,relatedInformation:r.relatedInformation,data:r.data,source:this.getSource()}}getSource(){return this.metadata.languageId}}function te(e){switch(e){case"error":return 1;case"warning":return 2;case"info":return 3;case"hint":return 4;default:throw Error("Invalid diagnostic severity: "+e)}}(s=h||(h={})).LexingError="lexing-error",s.LexingWarning="lexing-warning",s.LexingInfo="lexing-info",s.LexingHint="lexing-hint",s.ParsingError="parsing-error",s.LinkingError="linking-error";class tt{constructor(e){this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider}createDescription(e,t,r){let n,i=null!=r?r:(0,en.YE)(e);null!=t||(t=this.nameProvider.getName(e));let a=this.astNodeLocator.getAstNodePath(e);if(!t)throw Error(`Node at path ${a} has no name.`);let s=()=>{var t;return null!=n?n:n=(0,f.SX)(null!=(t=this.nameProvider.getNameNode(e))?t:e.$cstNode)};return{node:e,name:t,get nameSegment(){return s()},selectionSegment:(0,f.SX)(e.$cstNode),type:e.$type,documentUri:i.uri,path:a}}}class tr{constructor(e){this.nodeLocator=e.workspace.AstNodeLocator}async createDescriptions(e,t=eb.CancellationToken.None){let r=[],n=e.parseResult.value;for(let e of(0,en.jm)(n))await eP(t),(0,en.DM)(e).filter(e=>!(0,eO.Zl)(e)).forEach(e=>{let t=this.createDescription(e);t&&r.push(t)});return r}createDescription(e){let t=e.reference.$nodeDescription,r=e.reference.$refNode;if(!t||!r)return;let n=(0,en.YE)(e.container).uri;return{sourceUri:n,sourcePath:this.nodeLocator.getAstNodePath(e.container),targetUri:t.documentUri,targetPath:t.path,segment:(0,f.SX)(r),local:u.equals(t.documentUri,n)}}}class tn{constructor(){this.segmentSeparator="/",this.indexSeparator="@"}getAstNodePath(e){if(e.$container){let t=this.getAstNodePath(e.$container),r=this.getPathSegment(e);return t+this.segmentSeparator+r}return""}getPathSegment({$containerProperty:e,$containerIndex:t}){if(!e)throw Error("Missing '$containerProperty' in AST node.");return void 0!==t?e+this.indexSeparator+t:e}getAstNode(e,t){return t.split(this.segmentSeparator).reduce((e,t)=>{if(!e||0===t.length)return e;let r=t.indexOf(this.indexSeparator);if(r>0){let n=t.substring(0,r),i=parseInt(t.substring(r+1)),a=e[n];return null==a?void 0:a[i]}return e[t]},e)}}var ti=r(12111);class ta{constructor(e){this._ready=new eM,this.settings={},this.workspaceConfig=!1,this.onConfigurationSectionUpdateEmitter=new ti.Emitter,this.serviceRegistry=e.ServiceRegistry}get ready(){return this._ready.promise}initialize(e){var t,r;this.workspaceConfig=null!=(r=null==(t=e.capabilities.workspace)?void 0:t.configuration)&&r}async initialized(e){if(this.workspaceConfig){if(e.register){let t=this.serviceRegistry.all;e.register({section:t.map(e=>this.toSectionName(e.LanguageMetaData.languageId))})}if(e.fetchConfiguration){let t=this.serviceRegistry.all.map(e=>({section:this.toSectionName(e.LanguageMetaData.languageId)})),r=await e.fetchConfiguration(t);t.forEach((e,t)=>{this.updateSectionConfiguration(e.section,r[t])})}}this._ready.resolve()}updateConfiguration(e){e.settings&&Object.keys(e.settings).forEach(t=>{let r=e.settings[t];this.updateSectionConfiguration(t,r),this.onConfigurationSectionUpdateEmitter.fire({section:t,configuration:r})})}updateSectionConfiguration(e,t){this.settings[e]=t}async getConfiguration(e,t){await this.ready;let r=this.toSectionName(e);if(this.settings[r])return this.settings[r][t]}toSectionName(e){return`${e}`}get onConfigurationSectionUpdate(){return this.onConfigurationSectionUpdateEmitter.event}}(d||(d={})).create=function(e){return{dispose:async()=>await e()}};class ts{constructor(e){this.updateBuildOptions={validation:{categories:["built-in","fast"]}},this.updateListeners=[],this.buildPhaseListeners=new eq,this.documentPhaseListeners=new eq,this.buildState=new Map,this.documentBuildWaiters=new Map,this.currentState=l.Changed,this.langiumDocuments=e.workspace.LangiumDocuments,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.textDocuments=e.workspace.TextDocuments,this.indexManager=e.workspace.IndexManager,this.serviceRegistry=e.ServiceRegistry}async build(e,t={},r=eb.CancellationToken.None){var n,i;for(let r of e){let e=r.uri.toString();if(r.state===l.Validated){if("boolean"==typeof t.validation&&t.validation)r.state=l.IndexedReferences,r.diagnostics=void 0,this.buildState.delete(e);else if("object"==typeof t.validation){let a=this.buildState.get(e),s=null==(n=null==a?void 0:a.result)?void 0:n.validationChecks;if(s){let n=(null!=(i=t.validation.categories)?i:c.all).filter(e=>!s.includes(e));n.length>0&&(this.buildState.set(e,{completed:!1,options:{validation:Object.assign(Object.assign({},t.validation),{categories:n})},result:a.result}),r.state=l.IndexedReferences)}}}else this.buildState.delete(e)}this.currentState=l.Changed,await this.emitUpdate(e.map(e=>e.uri),[]),await this.buildDocuments(e,t,r)}async update(e,t,r=eb.CancellationToken.None){for(let e of(this.currentState=l.Changed,t))this.langiumDocuments.deleteDocument(e),this.buildState.delete(e.toString()),this.indexManager.remove(e);for(let t of e){if(!this.langiumDocuments.invalidateDocument(t)){let e=this.langiumDocumentFactory.fromModel({$type:"INVALID"},t);e.state=l.Changed,this.langiumDocuments.addDocument(e)}this.buildState.delete(t.toString())}let n=(0,eE.Td)(e).concat(t).map(e=>e.toString()).toSet();this.langiumDocuments.all.filter(e=>!n.has(e.uri.toString())&&this.shouldRelink(e,n)).forEach(e=>{this.serviceRegistry.getServices(e.uri).references.Linker.unlink(e),e.state=Math.min(e.state,l.ComputedScopes),e.diagnostics=void 0}),await this.emitUpdate(e,t),await eP(r);let i=this.sortDocuments(this.langiumDocuments.all.filter(e=>{var t;return e.stater(e,t)))}sortDocuments(e){let t=0,r=e.length-1;for(;t=0&&!this.hasTextDocument(e[r]);)r--;tvoid 0!==e.error)||this.indexManager.isAffected(e,t)}onUpdate(e){return this.updateListeners.push(e),d.create(()=>{let t=this.updateListeners.indexOf(e);t>=0&&this.updateListeners.splice(t,1)})}async buildDocuments(e,t,r){this.prepareBuild(e,t),await this.runCancelable(e,l.Parsed,r,e=>this.langiumDocumentFactory.update(e,r)),await this.runCancelable(e,l.IndexedContent,r,e=>this.indexManager.updateContent(e,r)),await this.runCancelable(e,l.ComputedScopes,r,async e=>{let t=this.serviceRegistry.getServices(e.uri).references.ScopeComputation;e.precomputedScopes=await t.computeLocalScopes(e,r)}),await this.runCancelable(e,l.Linked,r,e=>this.serviceRegistry.getServices(e.uri).references.Linker.link(e,r)),await this.runCancelable(e,l.IndexedReferences,r,e=>this.indexManager.updateReferences(e,r));let n=e.filter(e=>this.shouldValidate(e));for(let t of(await this.runCancelable(n,l.Validated,r,e=>this.validate(e,r)),e)){let e=this.buildState.get(t.uri.toString());e&&(e.completed=!0)}}prepareBuild(e,t){for(let r of e){let e=r.uri.toString(),n=this.buildState.get(e);(!n||n.completed)&&this.buildState.set(e,{completed:!1,options:t,result:null==n?void 0:n.result})}}async runCancelable(e,t,r,n){for(let i of e.filter(e=>e.statee.state===t);await this.notifyBuildPhase(i,t,r),this.currentState=t}onBuildPhase(e,t){return this.buildPhaseListeners.add(e,t),d.create(()=>{this.buildPhaseListeners.delete(e,t)})}onDocumentPhase(e,t){return this.documentPhaseListeners.add(e,t),d.create(()=>{this.documentPhaseListeners.delete(e,t)})}waitUntil(e,t,r){let n;if(t&&"path"in t?n=t:r=t,null!=r||(r=eb.CancellationToken.None),n){let t=this.langiumDocuments.getDocument(n);if(t&&t.state>e)return Promise.resolve(n)}return this.currentState>=e?Promise.resolve(void 0):r.isCancellationRequested?Promise.reject(eL):new Promise((t,i)=>{let a=this.onBuildPhase(e,()=>{if(a.dispose(),s.dispose(),n){let e=this.langiumDocuments.getDocument(n);t(null==e?void 0:e.uri)}else t(void 0)}),s=r.onCancellationRequested(()=>{a.dispose(),s.dispose(),i(eL)})})}async notifyDocumentPhase(e,t,r){for(let n of this.documentPhaseListeners.get(t).slice())try{await n(e,r)}catch(e){if(e!==eL)throw e}}async notifyBuildPhase(e,t,r){if(0!==e.length)for(let n of this.buildPhaseListeners.get(t).slice())await eP(r),await n(e,r)}shouldValidate(e){return!!this.getBuildOptions(e).validation}async validate(e,t){var r;let n=this.serviceRegistry.getServices(e.uri).validation.DocumentValidator,i=this.getBuildOptions(e).validation,a="object"==typeof i?i:void 0,s=await n.validateDocument(e,a,t);e.diagnostics?e.diagnostics.push(...s):e.diagnostics=s;let o=this.buildState.get(e.uri.toString());if(o){null!=o.result||(o.result={});let e=null!=(r=null==a?void 0:a.categories)?r:c.all;o.result.validationChecks?o.result.validationChecks.push(...e):o.result.validationChecks=[...e]}}getBuildOptions(e){var t,r;return null!=(r=null==(t=this.buildState.get(e.uri.toString()))?void 0:t.options)?r:{}}}class to{constructor(e){this.symbolIndex=new Map,this.symbolByTypeIndex=new e2,this.referenceIndex=new Map,this.documents=e.workspace.LangiumDocuments,this.serviceRegistry=e.ServiceRegistry,this.astReflection=e.AstReflection}findAllReferences(e,t){let r=(0,en.YE)(e).uri,n=[];return this.referenceIndex.forEach(e=>{e.forEach(e=>{u.equals(e.targetUri,r)&&e.targetPath===t&&n.push(e)})}),(0,eE.Td)(n)}allElements(e,t){let r=(0,eE.Td)(this.symbolIndex.keys());return t&&(r=r.filter(e=>!t||t.has(e))),r.map(t=>this.getFileDescriptions(t,e)).flat()}getFileDescriptions(e,t){var r;return t?this.symbolByTypeIndex.get(e,t,()=>{var r;return(null!=(r=this.symbolIndex.get(e))?r:[]).filter(e=>this.astReflection.isSubtype(e.type,t))}):null!=(r=this.symbolIndex.get(e))?r:[]}remove(e){let t=e.toString();this.symbolIndex.delete(t),this.symbolByTypeIndex.clear(t),this.referenceIndex.delete(t)}async updateContent(e,t=eb.CancellationToken.None){let r=this.serviceRegistry.getServices(e.uri),n=await r.references.ScopeComputation.computeExports(e,t),i=e.uri.toString();this.symbolIndex.set(i,n),this.symbolByTypeIndex.clear(i)}async updateReferences(e,t=eb.CancellationToken.None){let r=this.serviceRegistry.getServices(e.uri),n=await r.workspace.ReferenceDescriptionProvider.createDescriptions(e,t);this.referenceIndex.set(e.uri.toString(),n)}isAffected(e,t){let r=this.referenceIndex.get(e.uri.toString());return!!r&&r.some(e=>!e.local&&t.has(e.targetUri.toString()))}}class tl{constructor(e){this.initialBuildOptions={},this._ready=new eM,this.serviceRegistry=e.ServiceRegistry,this.langiumDocuments=e.workspace.LangiumDocuments,this.documentBuilder=e.workspace.DocumentBuilder,this.fileSystemProvider=e.workspace.FileSystemProvider,this.mutex=e.workspace.WorkspaceLock}get ready(){return this._ready.promise}get workspaceFolders(){return this.folders}initialize(e){var t;this.folders=null!=(t=e.workspaceFolders)?t:void 0}initialized(e){return this.mutex.write(e=>{var t;return this.initializeWorkspace(null!=(t=this.folders)?t:[],e)})}async initializeWorkspace(e,t=eb.CancellationToken.None){let r=await this.performStartup(e);await eP(t),await this.documentBuilder.build(r,this.initialBuildOptions,t)}async performStartup(e){let t=this.serviceRegistry.all.flatMap(e=>e.LanguageMetaData.fileExtensions),r=[],n=e=>{r.push(e),this.langiumDocuments.hasDocument(e.uri)||this.langiumDocuments.addDocument(e)};return await this.loadAdditionalDocuments(e,n),await Promise.all(e.map(e=>[e,this.getRootFolder(e)]).map(async e=>this.traverseFolder(...e,t,n))),this._ready.resolve(),r}loadAdditionalDocuments(e,t){return Promise.resolve()}getRootFolder(e){return eK.r.parse(e.uri)}async traverseFolder(e,t,r,n){let i=await this.fileSystemProvider.readDirectory(t);await Promise.all(i.map(async t=>{this.includeEntry(e,t,r)&&(t.isDirectory?await this.traverseFolder(e,t.uri,r,n):t.isFile&&n(await this.langiumDocuments.getOrCreateDocument(t.uri)))}))}includeEntry(e,t,r){let n=u.basename(t.uri);if(n.startsWith("."))return!1;if(t.isDirectory)return"node_modules"!==n&&"out"!==n;if(t.isFile){let e=u.extname(t.uri);return r.includes(e)}return!1}}class tu{buildUnexpectedCharactersMessage(e,t,r,n,i){return y.PW.buildUnexpectedCharactersMessage(e,t,r,n,i)}buildUnableToPopLexerModeMessage(e){return y.PW.buildUnableToPopLexerModeMessage(e)}}let tc={mode:"full"};class th{constructor(e){this.errorMessageProvider=e.parser.LexerErrorMessageProvider,this.tokenBuilder=e.parser.TokenBuilder;let t=this.tokenBuilder.buildTokens(e.Grammar,{caseInsensitive:e.LanguageMetaData.caseInsensitive});this.tokenTypes=this.toTokenTypeDictionary(t);let r=tf(t)?Object.values(t):t,n="production"===e.LanguageMetaData.mode;this.chevrotainLexer=new y.JG(r,{positionTracking:"full",skipValidations:n,errorMessageProvider:this.errorMessageProvider})}get definition(){return this.tokenTypes}tokenize(e,t=tc){var r,n,i;let a=this.chevrotainLexer.tokenize(e);return{tokens:a.tokens,errors:a.errors,hidden:null!=(r=a.groups.hidden)?r:[],report:null==(i=(n=this.tokenBuilder).flushLexingReport)?void 0:i.call(n,e)}}toTokenTypeDictionary(e){if(tf(e))return e;let t=td(e)?Object.values(e.modes).flat():e,r={};return t.forEach(e=>r[e.name]=e),r}}function td(e){return e&&"modes"in e&&"defaultMode"in e}function tf(e){return!(Array.isArray(e)&&(0===e.length||"name"in e[0]))&&!td(e)}function tp(e){return("string"==typeof e?e:e.text).split(m.TH)}let tm=/\s*(@([\p{L}][\p{L}\p{N}]*)?)/uy,tg=/\{(@[\p{L}][\p{L}\p{N}]*)(\s*)([^\r\n}]+)?\}/gu,ty=/\S/,tv=/\s*$/;function tT(e,t){let r=e.substring(t).match(ty);return r?t+r.index:e.length}function tR(e){let t=e.tokens[e.index],r=t,n=t,i=[];for(;t&&"break"!==t.type&&"tag"!==t.type;){var a;i.push("inline-tag"===(a=e).tokens[a.index].type?tA(a,!0):tE(a)),n=t,t=e.tokens[e.index]}return new tI(i,ei.Range.create(r.range.start,n.range.end))}function tA(e,t){let r=e.tokens[e.index++],n=r.content.substring(1),i=e.tokens[e.index];if((null==i?void 0:i.type)==="text")if(t){let i=tE(e);return new tS(n,new tI([i],i.range),t,ei.Range.create(r.range.start,i.range.end))}else{let i=tR(e);return new tS(n,i,t,ei.Range.create(r.range.start,i.range.end))}{let e=r.range;return new tS(n,new tI([],e),t,e)}}function tE(e){let t=e.tokens[e.index++];return new tN(t.content,t.range)}function t$(e){if(!e)return t$({start:"/**",end:"*/",line:"*"});let{start:t,end:r,line:n}=e;return{start:tk(t,!0),end:tk(r,!1),line:tk(n,!0)}}function tk(e,t){if("string"!=typeof e&&"object"!=typeof e)return e;{let r="string"==typeof e?(0,m.Nt)(e):e.source;return t?RegExp(`^\\s*${r}`):RegExp(`\\s*${r}\\s*$`)}}class tx{constructor(e,t){this.elements=e,this.range=t}getTag(e){return this.getAllTags().find(t=>t.name===e)}getTags(e){return this.getAllTags().filter(t=>t.name===e)}getAllTags(){return this.elements.filter(e=>"name"in e)}toString(){let e="";for(let t of this.elements)if(0===e.length)e=t.toString();else{let r=t.toString();e+=tC(e)+r}return e.trim()}toMarkdown(e){let t="";for(let r of this.elements)if(0===t.length)t=r.toMarkdown(e);else{let n=r.toMarkdown(e);t+=tC(t)+n}return t.trim()}}class tS{constructor(e,t,r,n){this.name=e,this.content=t,this.inline=r,this.range=n}toString(){let e=`@${this.name}`,t=this.content.toString();return(1===this.content.inlines.length?e=`${e} ${t}`:this.content.inlines.length>1&&(e=`${e} ${t}`),this.inline)?`{${e}}`:e}toMarkdown(e){var t,r;return null!=(r=null==(t=null==e?void 0:e.renderTag)?void 0:t.call(e,this))?r:this.toMarkdownDefault(e)}toMarkdownDefault(e){let t=this.content.toMarkdown(e);if(this.inline){let r=function(e,t,r){var n,i;if("linkplain"===e||"linkcode"===e||"link"===e){let a=t.indexOf(" "),s=t;if(a>0){let e=tT(t,a);s=t.substring(e),t=t.substring(0,a)}return("linkcode"===e||"link"===e&&"code"===r.link)&&(s=`\`${s}\``),null!=(i=null==(n=r.renderLink)?void 0:n.call(r,t,s))?i:function(e,t){try{return eK.r.parse(e,!0),`[${t}](${e})`}catch(t){return e}}(t,s)}}(this.name,t,null!=e?e:{});if("string"==typeof r)return r}let r="";(null==e?void 0:e.tag)==="italic"||(null==e?void 0:e.tag)===void 0?r="*":(null==e?void 0:e.tag)==="bold"?r="**":(null==e?void 0:e.tag)==="bold-italic"&&(r="***");let n=`${r}@${this.name}${r}`;return(1===this.content.inlines.length?n=`${n} \u{2014} ${t}`:this.content.inlines.length>1&&(n=`${n} ${t}`),this.inline)?`{${n}}`:n}}class tI{constructor(e,t){this.inlines=e,this.range=t}toString(){let e="";for(let t=0;tr.range.start.line&&(e+="\n")}return e}toMarkdown(e){let t="";for(let r=0;rn.range.start.line&&(t+="\n")}return t}}class tN{constructor(e,t){this.text=e,this.range=t}toString(){return this.text}toMarkdown(){return this.text}}function tC(e){return e.endsWith("\n")?"\n":"\n\n"}class tw{constructor(e){this.indexManager=e.shared.workspace.IndexManager,this.commentProvider=e.documentation.CommentProvider}getDocumentation(e){let t=this.commentProvider.getComment(e);if(t&&function(e,t){let r=t$(void 0),n=tp(e);if(0===n.length)return!1;let i=n[0],a=n[n.length-1],s=r.start,o=r.end;return!!(null==s?void 0:s.exec(i))&&!!(null==o?void 0:o.exec(a))}(t)){let r,n;return("string"==typeof t?n=void 0:n=t.range.start,r=void 0,!n&&(n=ei.Position.create(0,0)),function(e){var t,r,n,i;let a=ei.Position.create(e.position.line,e.position.character);if(0===e.tokens.length)return new tx([],ei.Range.create(a,a));let s=[];for(;e.index=c.length){if(i.length>0){let e=ei.Position.create(a,s);i.push({type:"break",content:"",range:ei.Range.create(e,e)})}}else{tm.lastIndex=h;let e=tm.exec(c);if(e){let t=e[0],r=e[1],n=ei.Position.create(a,s+h),o=ei.Position.create(a,s+h+t.length);i.push({type:"tag",content:r,range:ei.Range.create(n,o)}),h+=t.length,h=tT(c,h)}if(h0&&i.push({type:"text",content:t.substring(a,e),range:ei.Range.create(ei.Position.create(r,a+n),ei.Position.create(r,e+n))});let l=o.length+1,u=s[1];if(i.push({type:"inline-tag",content:u,range:ei.Range.create(ei.Position.create(r,a+l+n),ei.Position.create(r,a+l+u.length+n))}),l+=u.length,4===s.length){l+=s[2].length;let e=s[3];i.push({type:"text",content:e,range:ei.Range.create(ei.Position.create(r,a+l+n),ei.Position.create(r,a+l+e.length+n))})}else i.push({type:"text",content:"",range:ei.Range.create(ei.Position.create(r,a+l+n),ei.Position.create(r,a+l+n))});a=e+s[0].length}let s=t.substring(a);s.length>0&&i.push({type:"text",content:s,range:ei.Range.create(ei.Position.create(r,a+n),ei.Position.create(r,a+n+s.length))})}return i}(t,e,a,s+h))}}a++,s=0}return i.length>0&&"break"===i[i.length-1].type?i.slice(0,-1):i}({lines:tp(t),position:n,options:t$(r)}),position:n})).toMarkdown({renderLink:(t,r)=>this.documentationLinkRenderer(e,t,r),renderTag:t=>this.documentationTagRenderer(e,t)})}}documentationLinkRenderer(e,t,r){var n;let i=null!=(n=this.findNameInPrecomputedScopes(e,t))?n:this.findNameInGlobalScope(e,t);if(i&&i.nameSegment){let e=i.nameSegment.range.start.line+1,t=i.nameSegment.range.start.character+1,n=i.documentUri.with({fragment:`L${e},${t}`});return`[${r}](${n.toString()})`}}documentationTagRenderer(e,t){}findNameInPrecomputedScopes(e,t){let r=(0,en.YE)(e).precomputedScopes;if(!r)return;let n=e;do{let e=r.get(n).find(e=>e.name===t);if(e)return e;n=n.$container}while(n)}findNameInGlobalScope(e,t){return this.indexManager.allElements().find(e=>e.name===t)}}class tb{constructor(e){this.grammarConfig=()=>e.parser.GrammarConfig}getComment(e){var t;return"string"==typeof e.$comment?e.$comment:null==(t=(0,f.v)(e.$cstNode,this.grammarConfig().multilineCommentRules))?void 0:t.text}}class tO{constructor(e){this.syncParser=e.parser.LangiumParser}parse(e,t){return Promise.resolve(this.syncParser.parse(e))}}class t_{constructor(){this.previousTokenSource=new eb.CancellationTokenSource,this.writeQueue=[],this.readQueue=[],this.done=!0}write(e){this.cancelWrite();let t=(e_=performance.now(),new eb.CancellationTokenSource);return this.previousTokenSource=t,this.enqueue(this.writeQueue,e,t.token)}read(e){return this.enqueue(this.readQueue,e)}enqueue(e,t,r=eb.CancellationToken.None){let n=new eM;return e.push({action:t,deferred:n,cancellationToken:r}),this.performNextOperation(),n.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))return;e.push(...this.readQueue.splice(0,this.readQueue.length))}this.done=!1,await Promise.all(e.map(async({action:e,deferred:t,cancellationToken:r})=>{try{let n=await Promise.resolve().then(()=>e(r));t.resolve(n)}catch(e){e===eL?t.resolve(void 0):t.reject(e)}})),this.done=!0,this.performNextOperation()}cancelWrite(){this.previousTokenSource.cancel()}}class tL{constructor(e){this.grammarElementIdMap=new eX,this.tokenTypeIdMap=new eX,this.grammar=e.Grammar,this.lexer=e.parser.Lexer,this.linker=e.references.Linker}dehydrate(e){return{lexerErrors:e.lexerErrors,lexerReport:e.lexerReport?this.dehydrateLexerReport(e.lexerReport):void 0,parserErrors:e.parserErrors.map(e=>Object.assign(Object.assign({},e),{message:e.message})),value:this.dehydrateAstNode(e.value,this.createDehyrationContext(e.value))}}dehydrateLexerReport(e){return e}createDehyrationContext(e){let t=new Map,r=new Map;for(let r of(0,en.jm)(e))t.set(r,{});if(e.$cstNode)for(let t of(0,f.NS)(e.$cstNode))r.set(t,{});return{astNodes:t,cstNodes:r}}dehydrateAstNode(e,t){let r=t.astNodes.get(e);for(let[n,i]of(r.$type=e.$type,r.$containerIndex=e.$containerIndex,r.$containerProperty=e.$containerProperty,void 0!==e.$cstNode&&(r.$cstNode=this.dehydrateCstNode(e.$cstNode,t)),Object.entries(e)))if(!n.startsWith("$"))if(Array.isArray(i)){let e=[];for(let a of(r[n]=e,i))(0,eO.ng)(a)?e.push(this.dehydrateAstNode(a,t)):(0,eO.A_)(a)?e.push(this.dehydrateReference(a,t)):e.push(a)}else(0,eO.ng)(i)?r[n]=this.dehydrateAstNode(i,t):(0,eO.A_)(i)?r[n]=this.dehydrateReference(i,t):void 0!==i&&(r[n]=i);return r}dehydrateReference(e,t){let r={};return r.$refText=e.$refText,e.$refNode&&(r.$refNode=t.cstNodes.get(e.$refNode)),r}dehydrateCstNode(e,t){let r=t.cstNodes.get(e);return(0,eO.br)(e)?r.fullText=e.fullText:r.grammarSource=this.getGrammarElementId(e.grammarSource),r.hidden=e.hidden,r.astNode=t.astNodes.get(e.astNode),(0,eO.mD)(e)?r.content=e.content.map(e=>this.dehydrateCstNode(e,t)):(0,eO.FC)(e)&&(r.tokenType=e.tokenType.name,r.offset=e.offset,r.length=e.length,r.startLine=e.range.start.line,r.startColumn=e.range.start.character,r.endLine=e.range.end.line,r.endColumn=e.range.end.character),r}hydrate(e){let t=e.value,r=this.createHydrationContext(t);return"$cstNode"in t&&this.hydrateCstNode(t.$cstNode,r),{lexerErrors:e.lexerErrors,lexerReport:e.lexerReport,parserErrors:e.parserErrors,value:this.hydrateAstNode(t,r)}}createHydrationContext(e){let t,r=new Map,n=new Map;for(let t of(0,en.jm)(e))r.set(t,{});if(e.$cstNode)for(let r of(0,f.NS)(e.$cstNode)){let e;"fullText"in r?t=e=new ec(r.fullText):"content"in r?e=new el:"tokenType"in r&&(e=this.hydrateCstLeafNode(r)),e&&(n.set(r,e),e.root=t)}return{astNodes:r,cstNodes:n}}hydrateAstNode(e,t){let r=t.astNodes.get(e);for(let[n,i]of(r.$type=e.$type,r.$containerIndex=e.$containerIndex,r.$containerProperty=e.$containerProperty,e.$cstNode&&(r.$cstNode=t.cstNodes.get(e.$cstNode)),Object.entries(e)))if(!n.startsWith("$"))if(Array.isArray(i)){let e=[];for(let a of(r[n]=e,i))(0,eO.ng)(a)?e.push(this.setParent(this.hydrateAstNode(a,t),r)):(0,eO.A_)(a)?e.push(this.hydrateReference(a,r,n,t)):e.push(a)}else(0,eO.ng)(i)?r[n]=this.setParent(this.hydrateAstNode(i,t),r):(0,eO.A_)(i)?r[n]=this.hydrateReference(i,r,n,t):void 0!==i&&(r[n]=i);return r}setParent(e,t){return e.$container=t,e}hydrateReference(e,t,r,n){return this.linker.buildReference(t,r,n.cstNodes.get(e.$refNode),e.$refText)}hydrateCstNode(e,t,r=0){let n=t.cstNodes.get(e);if("number"==typeof e.grammarSource&&(n.grammarSource=this.getGrammarElement(e.grammarSource)),n.astNode=t.astNodes.get(e.astNode),(0,eO.mD)(n))for(let i of e.content){let e=this.hydrateCstNode(i,t,r++);n.content.push(e)}return n}hydrateCstLeafNode(e){let t=this.getTokenType(e.tokenType);return new eo(e.offset,e.length,{start:{line:e.startLine,character:e.startColumn},end:{line:e.endLine,character:e.endColumn}},t,e.hidden)}getTokenType(e){return this.lexer.definition[e]}getGrammarElementId(e){if(e)return 0===this.grammarElementIdMap.size&&this.createGrammarElementIdMap(),this.grammarElementIdMap.get(e)}getGrammarElement(e){return 0===this.grammarElementIdMap.size&&this.createGrammarElementIdMap(),this.grammarElementIdMap.getKey(e)}createGrammarElementIdMap(){let e=0;for(let t of(0,en.jm)(this.grammar))(0,g.r1)(t)&&this.grammarElementIdMap.set(t,e++)}}function tP(e){return{documentation:{CommentProvider:e=>new tb(e),DocumentationProvider:e=>new tw(e)},parser:{AsyncParser:e=>new tO(e),GrammarConfig:e=>(function(e){let t=[];for(let r of e.Grammar.rules)(0,g.rE)(r)&&(0,p.eb)(r)&&(0,m.lU)((0,p.S)(r))&&t.push(r.name);return{multilineCommentRules:t,nameRegexp:f.El}})(e),LangiumParser:e=>{var t;let r,n,i;return n=(t=e).Grammar,i=t.parser.Lexer,(r=e$(n,new em(t),i.definition)).finalize(),r},CompletionParser:e=>{let t,r,n;return t=e.Grammar,r=e.parser.Lexer,e$(t,n=new ev(e),r.definition),n.finalize(),n},ValueConverter:()=>new ew.d,TokenBuilder:()=>new eC.Q,Lexer:e=>new th(e),ParserErrorMessageProvider:()=>new ey,LexerErrorMessageProvider:()=>new tu},workspace:{AstNodeLocator:()=>new tn,AstNodeDescriptionProvider:e=>new tt(e),ReferenceDescriptionProvider:e=>new tr(e)},references:{Linker:e=>new eW(e),NameProvider:()=>new ez,ScopeProvider:e=>new e8(e),ScopeComputation:e=>new eQ(e),References:e=>new eY(e)},serializer:{Hydrator:e=>new tL(e),JsonSerializer:e=>new e6(e)},validation:{DocumentValidator:e=>new e7(e),ValidationRegistry:e=>new e9(e)},shared:()=>e.shared}}function tM(e){return{ServiceRegistry:e=>new e5(e),workspace:{LangiumDocuments:e=>new eV(e),LangiumDocumentFactory:e=>new eB(e),DocumentBuilder:e=>new ts(e),IndexManager:e=>new to(e),WorkspaceManager:e=>new tl(e),FileSystemProvider:t=>e.fileSystemProvider(t),WorkspaceLock:()=>new t_,ConfigurationProvider:e=>new ta(e)}}}},80102(e,t,r){var n;function i(e,t,r,n,i,a,o,l,c){return s([e,t,r,n,i,a,o,l,c].reduce(u,{}))}r.d(t,{WQ:()=>i}),(n||(n={})).merge=(e,t)=>u(u({},e),t);let a=Symbol("isProxy");function s(e,t){let r=new Proxy({},{deleteProperty:()=>!1,set:()=>{throw Error("Cannot set property on injected service container")},get:(n,i)=>i===a||l(n,i,e,t||r),getOwnPropertyDescriptor:(n,i)=>(l(n,i,e,t||r),Object.getOwnPropertyDescriptor(n,i)),has:(t,r)=>r in e,ownKeys:()=>[...Object.getOwnPropertyNames(e)]});return r}let o=Symbol();function l(e,t,r,n){if(t in e){if(e[t]instanceof Error)throw Error("Construction failure. Please make sure that your dependencies are constructable.",{cause:e[t]});if(e[t]===o)throw Error('Cycle detected. Please make "'+String(t)+'" lazy. Visit https://langium.org/docs/reference/configuration-services/#resolving-cyclic-dependencies');return e[t]}if(t in r){let i=r[t];e[t]=o;try{e[t]="function"==typeof i?i(n):s(i,n)}catch(r){throw e[t]=r instanceof Error?r:void 0,r}return e[t]}}function u(e,t){if(t){for(let[r,n]of Object.entries(t))if(void 0!==n){let t=e[r];null!==t&&null!==n&&"object"==typeof t&&"object"==typeof n?e[r]=u(t,n):e[r]=n}}return e}},22461(e,t,r){r.d(t,{$g:()=>ef,Bg:()=>J,Ct:()=>I,Cz:()=>p,D8:()=>F,FO:()=>en,Fy:()=>em,GL:()=>eu,IZ:()=>ea,Mz:()=>e$,O4:()=>ey,QX:()=>eS,RP:()=>v,S2:()=>k,SP:()=>E,TF:()=>b,Tu:()=>g,Xj:()=>B,_c:()=>et,cY:()=>eA,fG:()=>M,jp:()=>q,lF:()=>eT,r1:()=>c,rE:()=>j,s7:()=>_,vd:()=>eh,ve:()=>z,wb:()=>eo,wh:()=>Q,z2:()=>ex});var n=r(81457);let i="AbstractRule",a="AbstractType",s="Condition",o="TypeDefinition",l="ValueLiteral",u="AbstractElement";function c(e){return eI.isInstance(e,u)}let h="ArrayLiteral",d="ArrayType",f="BooleanLiteral";function p(e){return eI.isInstance(e,f)}let m="Conjunction";function g(e){return eI.isInstance(e,m)}let y="Disjunction";function v(e){return eI.isInstance(e,y)}let T="Grammar",R="GrammarImport",A="InferredType";function E(e){return eI.isInstance(e,A)}let $="Interface";function k(e){return eI.isInstance(e,$)}let x="NamedArgument",S="Negation";function I(e){return eI.isInstance(e,S)}let N="NumberLiteral",C="Parameter",w="ParameterReference";function b(e){return eI.isInstance(e,w)}let O="ParserRule";function _(e){return eI.isInstance(e,O)}let L="ReferenceType",P="ReturnType";function M(e){return eI.isInstance(e,P)}let D="SimpleType";function F(e){return eI.isInstance(e,D)}let U="StringLiteral",G="TerminalRule";function j(e){return eI.isInstance(e,G)}let K="Type";function B(e){return eI.isInstance(e,K)}let V="TypeAttribute",H="UnionType",W="Action";function z(e){return eI.isInstance(e,W)}let Y="Alternatives";function q(e){return eI.isInstance(e,Y)}let X="Assignment";function Q(e){return eI.isInstance(e,X)}let Z="CharacterRange";function J(e){return eI.isInstance(e,Z)}let ee="CrossReference";function et(e){return eI.isInstance(e,ee)}let er="EndOfFile";function en(e){return eI.isInstance(e,er)}let ei="Group";function ea(e){return eI.isInstance(e,ei)}let es="Keyword";function eo(e){return eI.isInstance(e,es)}let el="NegatedToken";function eu(e){return eI.isInstance(e,el)}let ec="RegexToken";function eh(e){return eI.isInstance(e,ec)}let ed="RuleCall";function ef(e){return eI.isInstance(e,ed)}let ep="TerminalAlternatives";function em(e){return eI.isInstance(e,ep)}let eg="TerminalGroup";function ey(e){return eI.isInstance(e,eg)}let ev="TerminalRuleCall";function eT(e){return eI.isInstance(e,ev)}let eR="UnorderedGroup";function eA(e){return eI.isInstance(e,eR)}let eE="UntilToken";function e$(e){return eI.isInstance(e,eE)}let ek="Wildcard";function ex(e){return eI.isInstance(e,ek)}class eS extends n.kD{getAllTypes(){return[u,i,a,W,Y,h,d,X,f,Z,s,m,ee,y,er,T,R,ei,A,$,es,x,el,S,N,C,w,O,L,ec,P,ed,D,U,ep,eg,G,ev,K,V,o,H,eR,eE,l,ek]}computeIsSubtype(e,t){switch(e){case W:case Y:case X:case Z:case ee:case er:case ei:case es:case el:case ec:case ed:case ep:case eg:case ev:case eR:case eE:case ek:return this.isSubtype(u,t);case h:case N:case U:return this.isSubtype(l,t);case d:case L:case D:case H:return this.isSubtype(o,t);case f:return this.isSubtype(s,t)||this.isSubtype(l,t);case m:case y:case S:case w:return this.isSubtype(s,t);case A:case $:case K:return this.isSubtype(a,t);case O:return this.isSubtype(i,t)||this.isSubtype(a,t);case G:return this.isSubtype(i,t);default:return!1}}getReferenceType(e){let t=`${e.container.$type}:${e.property}`;switch(t){case"Action:type":case"CrossReference:type":case"Interface:superTypes":case"ParserRule:returnType":case"SimpleType:typeRef":return a;case"Grammar:hiddenTokens":case"ParserRule:hiddenTokens":case"RuleCall:rule":return i;case"Grammar:usedGrammars":return T;case"NamedArgument:parameter":case"ParameterReference:parameter":return C;case"TerminalRuleCall:rule":return G;default:throw Error(`${t} is not a valid reference id.`)}}getTypeMetaData(e){switch(e){case u:return{name:u,properties:[{name:"cardinality"},{name:"lookahead"}]};case h:return{name:h,properties:[{name:"elements",defaultValue:[]}]};case d:return{name:d,properties:[{name:"elementType"}]};case f:return{name:f,properties:[{name:"true",defaultValue:!1}]};case m:return{name:m,properties:[{name:"left"},{name:"right"}]};case y:return{name:y,properties:[{name:"left"},{name:"right"}]};case T:return{name:T,properties:[{name:"definesHiddenTokens",defaultValue:!1},{name:"hiddenTokens",defaultValue:[]},{name:"imports",defaultValue:[]},{name:"interfaces",defaultValue:[]},{name:"isDeclared",defaultValue:!1},{name:"name"},{name:"rules",defaultValue:[]},{name:"types",defaultValue:[]},{name:"usedGrammars",defaultValue:[]}]};case R:return{name:R,properties:[{name:"path"}]};case A:return{name:A,properties:[{name:"name"}]};case $:return{name:$,properties:[{name:"attributes",defaultValue:[]},{name:"name"},{name:"superTypes",defaultValue:[]}]};case x:return{name:x,properties:[{name:"calledByName",defaultValue:!1},{name:"parameter"},{name:"value"}]};case S:return{name:S,properties:[{name:"value"}]};case N:return{name:N,properties:[{name:"value"}]};case C:return{name:C,properties:[{name:"name"}]};case w:return{name:w,properties:[{name:"parameter"}]};case O:return{name:O,properties:[{name:"dataType"},{name:"definesHiddenTokens",defaultValue:!1},{name:"definition"},{name:"entry",defaultValue:!1},{name:"fragment",defaultValue:!1},{name:"hiddenTokens",defaultValue:[]},{name:"inferredType"},{name:"name"},{name:"parameters",defaultValue:[]},{name:"returnType"},{name:"wildcard",defaultValue:!1}]};case L:return{name:L,properties:[{name:"referenceType"}]};case P:return{name:P,properties:[{name:"name"}]};case D:return{name:D,properties:[{name:"primitiveType"},{name:"stringType"},{name:"typeRef"}]};case U:return{name:U,properties:[{name:"value"}]};case G:return{name:G,properties:[{name:"definition"},{name:"fragment",defaultValue:!1},{name:"hidden",defaultValue:!1},{name:"name"},{name:"type"}]};case K:return{name:K,properties:[{name:"name"},{name:"type"}]};case V:return{name:V,properties:[{name:"defaultValue"},{name:"isOptional",defaultValue:!1},{name:"name"},{name:"type"}]};case H:return{name:H,properties:[{name:"types",defaultValue:[]}]};case W:return{name:W,properties:[{name:"cardinality"},{name:"feature"},{name:"inferredType"},{name:"lookahead"},{name:"operator"},{name:"type"}]};case Y:return{name:Y,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case X:return{name:X,properties:[{name:"cardinality"},{name:"feature"},{name:"lookahead"},{name:"operator"},{name:"terminal"}]};case Z:return{name:Z,properties:[{name:"cardinality"},{name:"left"},{name:"lookahead"},{name:"right"}]};case ee:return{name:ee,properties:[{name:"cardinality"},{name:"deprecatedSyntax",defaultValue:!1},{name:"lookahead"},{name:"terminal"},{name:"type"}]};case er:return{name:er,properties:[{name:"cardinality"},{name:"lookahead"}]};case ei:return{name:ei,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"guardCondition"},{name:"lookahead"}]};case es:return{name:es,properties:[{name:"cardinality"},{name:"lookahead"},{name:"value"}]};case el:return{name:el,properties:[{name:"cardinality"},{name:"lookahead"},{name:"terminal"}]};case ec:return{name:ec,properties:[{name:"cardinality"},{name:"lookahead"},{name:"regex"}]};case ed:return{name:ed,properties:[{name:"arguments",defaultValue:[]},{name:"cardinality"},{name:"lookahead"},{name:"rule"}]};case ep:return{name:ep,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case eg:return{name:eg,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case ev:return{name:ev,properties:[{name:"cardinality"},{name:"lookahead"},{name:"rule"}]};case eR:return{name:eR,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case eE:return{name:eE,properties:[{name:"cardinality"},{name:"lookahead"},{name:"terminal"}]};case ek:return{name:ek,properties:[{name:"cardinality"},{name:"lookahead"}]};default:return{name:e,properties:[]}}}}let eI=new eS},75132(e,t,r){r.d(t,{Q:()=>u});var n=r(88215),i=r(22461),a=r(81329),s=r(81936),o=r(93180),l=r(6121);class u{constructor(){this.diagnostics=[]}buildTokens(e,t){let r=(0,l.Td)((0,s.YV)(e,!1)),n=this.buildTerminalTokens(r),i=this.buildKeywordTokens(r,n,t);return n.forEach(e=>{let t=e.PATTERN;"object"==typeof t&&t&&"test"in t&&(0,o.Yv)(t)?i.unshift(e):i.push(e)}),i}flushLexingReport(e){return{diagnostics:this.popDiagnostics()}}popDiagnostics(){let e=[...this.diagnostics];return this.diagnostics=[],e}buildTerminalTokens(e){return e.filter(i.rE).filter(e=>!e.fragment).map(e=>this.buildTerminalToken(e)).toArray()}buildTerminalToken(e){let t=(0,s.S)(e),r=this.requiresCustomPattern(t)?this.regexPatternFunction(t):t,i={name:e.name,PATTERN:r};return"function"==typeof r&&(i.LINE_BREAKS=!0),e.hidden&&(i.GROUP=(0,o.Yv)(t)?n.JG.SKIPPED:"hidden"),i}requiresCustomPattern(e){return!!(e.flags.includes("u")||e.flags.includes("s"))||!!(e.source.includes("?<=")||e.source.includes("?(t.lastIndex=r,t.exec(e))}buildKeywordTokens(e,t,r){return e.filter(i.s7).flatMap(e=>(0,a.Uo)(e).filter(i.wb)).distinct(e=>e.value).toArray().sort((e,t)=>t.value.length-e.value.length).map(e=>this.buildKeywordToken(e,t,!!(null==r?void 0:r.caseInsensitive)))}buildKeywordToken(e,t,r){let n=this.buildKeywordPattern(e,r),i={name:e.value,PATTERN:n,LONGER_ALT:this.findLongerAlt(e,t)};return"function"==typeof n&&(i.LINE_BREAKS=!0),i}buildKeywordPattern(e,t){return t?new RegExp((0,o.Ao)(e.value)):e.value}findLongerAlt(e,t){return t.reduce((t,r)=>{let n=null==r?void 0:r.PATTERN;return(null==n?void 0:n.source)&&(0,o.PC)("^"+n.source+"$",e.value)&&t.push(r),t},[])}}},53663(e,t,r){r.d(t,{d:()=>o});var n,i,a=r(22461),s=r(81936);class o{convert(e,t){let r=t.grammarSource;if((0,a._c)(r)&&(r=(0,s.g4)(r)),(0,a.$g)(r)){let n=r.rule.ref;if(!n)throw Error("This cst node was not parsed by a rule.");return this.runConverter(n,e,t)}return e}runConverter(e,t,r){var n;switch(e.name.toUpperCase()){case"INT":return i.convertInt(t);case"STRING":return i.convertString(t);case"ID":return i.convertID(t)}switch(null==(n=(0,s.P3)(e))?void 0:n.toLowerCase()){case"number":return i.convertNumber(t);case"boolean":return i.convertBoolean(t);case"bigint":return i.convertBigint(t);case"date":return i.convertDate(t);default:return t}}}(n=i||(i={})).convertString=function(e){let t="";for(let r=1;ri,FC:()=>u,Nr:()=>a,Zl:()=>s,br:()=>c,kD:()=>o,mD:()=>l,ng:()=>n});class o{constructor(){this.subtypes={},this.allSubtypes={}}isInstance(e,t){return n(e)&&this.isSubtype(e.$type,t)}isSubtype(e,t){if(e===t)return!0;let r=this.subtypes[e];r||(r=this.subtypes[e]={});let n=r[t];if(void 0!==n)return n;{let n=this.computeIsSubtype(e,t);return r[t]=n,n}}getAllSubTypes(e){let t=this.allSubtypes[e];if(t)return t;{let t=this.getAllTypes(),r=[];for(let n of t)this.isSubtype(n,e)&&r.push(n);return this.allSubtypes[e]=r,r}}}function l(e){return"object"==typeof e&&null!==e&&Array.isArray(e.content)}function u(e){return"object"==typeof e&&null!==e&&"object"==typeof e.tokenType}function c(e){return l(e)&&"string"==typeof e.fullText}},81329(e,t,r){r.d(t,{DM:()=>p,OP:()=>m,SD:()=>s,Uo:()=>h,VN:()=>c,XG:()=>o,YE:()=>l,cQ:()=>u,jm:()=>d});var n=r(81457),i=r(6121),a=r(71823);function s(e){for(let[t,r]of Object.entries(e))!t.startsWith("$")&&(Array.isArray(r)?r.forEach((r,i)=>{(0,n.ng)(r)&&(r.$container=e,r.$containerProperty=t,r.$containerIndex=i)}):(0,n.ng)(r)&&(r.$container=e,r.$containerProperty=t))}function o(e,t){let r=e;for(;r;){if(t(r))return r;r=r.$container}}function l(e){let t=u(e).$document;if(!t)throw Error("AST node has no document.");return t}function u(e){for(;e.$container;)e=e.$container;return e}function c(e,t){if(!e)throw Error("Node must be an AstNode.");let r=null==t?void 0:t.range;return new i.fq(()=>({keys:Object.keys(e),keyIndex:0,arrayIndex:0}),t=>{for(;t.keyIndexc(e,t))}function d(e,t){if(e){if((null==t?void 0:t.range)&&!f(e,t.range))return new i.Vj(e,()=>[])}else throw Error("Root node must be an AstNode.");return new i.Vj(e,e=>c(e,t),{includeRoot:!0})}function f(e,t){var r;if(!t)return!0;let n=null==(r=e.$cstNode)?void 0:r.range;return!!n&&(0,a.r4)(n,t)}function p(e){return new i.fq(()=>({keys:Object.keys(e),keyIndex:0,arrayIndex:0}),t=>{for(;t.keyIndexd,NS:()=>o,SX:()=>c,pO:()=>l,r4:()=>h,v:()=>f,wf:()=>u});var n,i,a=r(81457),s=r(6121);function o(e){return new s.Vj(e,e=>(0,a.mD)(e)?e.content:[],{includeRoot:!0})}function l(e,t){for(;e.container;)if((e=e.container)===t)return!0;return!1}function u(e){return{start:{character:e.startColumn-1,line:e.startLine-1},end:{character:e.endColumn,line:e.endLine-1}}}function c(e){if(!e)return;let{offset:t,end:r,range:n}=e;return{range:n,offset:t,end:r,length:r-t}}function h(e,t){return function(e,t){if(e.end.linet.end.line||e.start.line===t.end.line&&e.start.character>=t.end.character)return i.After;let r=e.start.line>t.start.line||e.start.line===t.start.line&&e.start.character>=t.start.character,n=e.end.linei.After}(n=i||(i={}))[n.Before=0]="Before",n[n.After=1]="After",n[n.OverlapFront=2]="OverlapFront",n[n.OverlapBack=3]="OverlapBack",n[n.Inside=4]="Inside",n[n.Outside=5]="Outside";let d=/^[\w\p{L}]$/u;function f(e,t){if(e){let r=function(e,t=!0){for(;e.container;){let r=e.container,n=r.content.indexOf(e);for(;n>0;){n--;let e=r.content[n];if(t||!e.hidden)return e}e=r}}(e,!0);if(r&&p(r,t))return r;if((0,a.br)(e)){let r=e.content.findIndex(e=>!e.hidden);for(let n=r-1;n>=0;n--){let r=e.content[n];if(p(r,t))return r}}}}function p(e,t){return(0,a.FC)(e)&&t.includes(e.tokenType.name)}},1154(e,t,r){r.d(t,{W:()=>n,d:()=>i});class n extends Error{constructor(e,t){super(e?`${t} at ${e.range.start.line}:${e.range.start.character}`:t)}}function i(e){throw Error("Error! The input value was not handled.")}},81936(e,t,r){r.d(t,{Bd:()=>d,P3:()=>R,PV:()=>T,Rp:()=>g,S:()=>A,SS:()=>m,U5:()=>y,Uz:()=>function e(t){var r,n,a;if(i.s7(t))return v(t)?t.name:null!=(r=T(t))?r:t.name;if(i.S2(t)||i.Xj(t)||i.fG(t))return t.name;if(i.ve(t)){let r=(n=t).inferredType?n.inferredType.name:(null==(a=n.type)?void 0:a.ref)?e(n.type.ref):void 0;if(r)return r}else if(i.SP(t))return t.name;throw Error("Cannot get name of Unknown Type")},Xq:()=>v,YV:()=>u,eb:()=>h,g4:()=>c,qO:()=>f});var n=r(1154),i=r(22461),a=r(81457),s=r(81329),o=r(71823),l=r(93180);function u(e,t){let r=new Set,n=e.rules.find(e=>i.s7(e)&&e.entry);if(!n)return new Set(e.rules);for(let a of[n].concat(e.rules.filter(e=>i.rE(e)&&e.hidden)))!function e(t,r,n){r.add(t.name),(0,s.Uo)(t).forEach(t=>{if(i.$g(t)||n&&i.lF(t)){let i=t.rule.ref;i&&!r.has(i.name)&&e(i,r,n)}})}(a,r,t);let a=new Set;for(let t of e.rules)(r.has(t.name)||i.rE(t)&&t.hidden)&&a.add(t);return a}function c(e){if(e.terminal)return e.terminal;if(e.type.ref){let t=y(e.type.ref);return null==t?void 0:t.terminal}}function h(e){return e.hidden&&!(0,l.Yv)(A(e))}function d(e,t){return e&&t?p(e,t,e.astNode,!0):[]}function f(e,t,r){if(!e||!t)return;let n=p(e,t,e.astNode,!0);if(0!==n.length)return r=void 0!==r?Math.max(0,Math.min(r,n.length-1)):0,n[r]}function p(e,t,r,n){if(!n){let r=(0,s.XG)(e.grammarSource,i.wh);if(r&&r.feature===t)return[e]}return(0,a.mD)(e)&&e.astNode===r?e.content.flatMap(e=>p(e,t,r,!1)):[]}function m(e,t,r){if(!e)return;let n=function(e,t,r){let n;if(e.astNode!==r)return[];if(i.wb(e.grammarSource)&&e.grammarSource.value===t)return[e];let a=(0,o.NS)(e).iterator(),s=[];do if(!(n=a.next()).done){let e=n.value;e.astNode===r?i.wb(e.grammarSource)&&e.grammarSource.value===t&&s.push(e):a.prune()}while(!n.done);return s}(e,t,null==e?void 0:e.astNode);if(0!==n.length)return r=void 0!==r?Math.max(0,Math.min(r,n.length-1)):0,n[r]}function g(e){var t;let r=e.astNode;for(;r===(null==(t=e.container)?void 0:t.astNode);){let t=(0,s.XG)(e.grammarSource,i.wh);if(t)return t;e=e.container}}function y(e){let t=e;return i.SP(t)&&(i.ve(t.$container)?t=t.$container.$container:i.s7(t.$container)?t=t.$container:(0,n.d)(t.$container)),function e(t,r,n){var a;function o(r,a){let o;return(0,s.XG)(r,i.wh)||(o=e(a,a,n)),n.set(t,o),o}if(n.has(t))return n.get(t);for(let e of(n.set(t,void 0),(0,s.Uo)(r)))if(i.wh(e)&&"name"===e.feature.toLowerCase())return n.set(t,e),e;else if(i.$g(e)&&i.s7(e.rule.ref))return o(e,e.rule.ref);else if(i.D8(e)&&(null==(a=e.typeRef)?void 0:a.ref))return o(e,e.typeRef.ref)}(e,t,new Map)}function v(e){return function e(t,r){if(r.has(t))return!0;for(let n of(r.add(t),(0,s.Uo)(t)))if(i.$g(n)){if(!n.rule.ref||i.s7(n.rule.ref)&&!e(n.rule.ref,r))return!1}else if(i.wh(n))return!1;else if(i.ve(n))return!1;return!!t.definition}(e,new Set)}function T(e){if(e.inferredType)return e.inferredType.name;if(e.dataType)return e.dataType;if(e.returnType){let t=e.returnType.ref;if(t){if(i.s7(t))return t.name;else if(i.S2(t)||i.Xj(t))return t.name}}}function R(e){var t,r,n;return i.rE(e)?null!=(r=null==(t=e.type)?void 0:t.name)?r:"string":null!=(n=T(e))?n:e.name}function A(e){let t={s:!1,i:!1,u:!1};return new RegExp(function e(t,r){var n,a,s,o,l;if(i.Fy(t)){return k((n=t).elements.map(t=>e(t)).join("|"),{cardinality:n.cardinality,lookahead:n.lookahead})}if(i.O4(t)){return k((a=t).elements.map(t=>e(t)).join(""),{cardinality:a.cardinality,lookahead:a.lookahead})}if(i.Bg(t)){return(s=t).right?k(`[${$(s.left)}-${$(s.right)}]`,{cardinality:s.cardinality,lookahead:s.lookahead,wrap:!1}):k($(s.left),{cardinality:s.cardinality,lookahead:s.lookahead,wrap:!1})}if(i.lF(t)){let r=t.rule.ref;if(!r)throw Error("Missing rule reference.");return k(e(r.definition),{cardinality:t.cardinality,lookahead:t.lookahead})}if(i.GL(t)){return o=t,k(`(?!${e(o.terminal)})${E}*?`,{cardinality:o.cardinality,lookahead:o.lookahead})}else if(i.Mz(t)){return l=t,k(`${E}*?${e(l.terminal)}`,{cardinality:l.cardinality,lookahead:l.lookahead})}else if(i.vd(t)){let e=t.regex.lastIndexOf("/"),n=t.regex.substring(1,e),i=t.regex.substring(e+1);return r&&(r.i=i.includes("i"),r.s=i.includes("s"),r.u=i.includes("u")),k(n,{cardinality:t.cardinality,lookahead:t.lookahead,wrap:!1})}else if(i.z2(t))return k(E,{cardinality:t.cardinality,lookahead:t.lookahead});else throw Error(`Invalid terminal element: ${null==t?void 0:t.$type}`)}(e.definition,t),Object.entries(t).filter(([,e])=>e).map(([e])=>e).join(""))}let E=/[\s\S]/.source;function $(e){return(0,l.Nt)(e.value)}function k(e,t){var r;return((!1!==t.wrap||t.lookahead)&&(e=`(${null!=(r=t.lookahead)?r:""}${e})`),t.cardinality)?`${e}${t.cardinality}`:e}},93180(e,t,r){r.d(t,{Ao:()=>d,Nt:()=>h,PC:()=>f,TH:()=>i,Yv:()=>c,lU:()=>l});var n=r(10836);let i=/\r?\n/gm,a=new n.H;class s extends n.z{constructor(){super(...arguments),this.isStarting=!0,this.endRegexpStack=[],this.multiline=!1}get endRegex(){return this.endRegexpStack.join("")}reset(e){this.multiline=!1,this.regex=e,this.startRegexp="",this.isStarting=!0,this.endRegexpStack=[]}visitGroup(e){e.quantifier&&(this.isStarting=!1,this.endRegexpStack=[])}visitCharacter(e){let t=String.fromCharCode(e.value);if(this.multiline||"\n"!==t||(this.multiline=!0),e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{let e=h(t);this.endRegexpStack.push(e),this.isStarting&&(this.startRegexp+=e)}}visitSet(e){if(!this.multiline){let t=new RegExp(this.regex.substring(e.loc.begin,e.loc.end));this.multiline=!!"\n".match(t)}if(e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{let t=this.regex.substring(e.loc.begin,e.loc.end);this.endRegexpStack.push(t),this.isStarting&&(this.startRegexp+=t)}}visitChildren(e){"Group"===e.type&&e.quantifier||super.visitChildren(e)}}let o=new s;function l(e){try{return"string"==typeof e&&(e=new RegExp(e)),e=e.toString(),o.reset(e),o.visit(a.pattern(e)),o.multiline}catch(e){return!1}}let u="\f\n\r \v \xa0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF".split("");function c(e){let t="string"==typeof e?new RegExp(e):e;return u.some(e=>t.test(e))}function h(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function d(e){return Array.prototype.map.call(e,e=>/\w/.test(e)?`[${e.toLowerCase()}${e.toUpperCase()}]`:h(e)).join("")}function f(e,t){var r;let n,i,a,s=("string"==typeof(r=e)&&(r=new RegExp(r)),n=r,i=r.source,a=0,new RegExp(function e(){let t="",r;function s(e){t+=i.substr(a,e),a+=e}function o(e){t+="(?:"+i.substr(a,e)+"|$)",a+=e}for(;a",a)-a+1);break;default:o(2)}break;case"[":(r=/\[(?:\\.|.)*?\]/g).lastIndex=a,o((r=r.exec(i)||[])[0].length);break;case"|":case"^":case"$":case"*":case"+":case"?":s(1);break;case"{":(r=/\{\d+,?\d*\}/g).lastIndex=a,(r=r.exec(i))?s(r[0].length):o(1);break;case"(":if("?"===i[a+1])switch(i[a+2]){case":":t+="(?:",a+=3,t+=e()+"|$)";break;case"=":t+="(?=",a+=3,t+=e()+")";break;case"!":r=a,a+=3,e(),t+=i.substr(r,a-r);break;case"<":switch(i[a+3]){case"=":case"!":r=a,a+=4,e(),t+=i.substr(r,a-r);break;default:s(i.indexOf(">",a)-a+1),t+=e()+"|$)"}}else s(1),t+=e()+"|$)";break;case")":return++a,t;default:o(1)}return t}(),r.flags)),o=t.match(s);return!!o&&o[0].length>0}},6121(e,t,r){var n,i;r.d(t,{Rf:()=>l,Td:()=>u,Vj:()=>c,fq:()=>a,iD:()=>n});class a{constructor(e,t){this.startFn=e,this.nextFn=t}iterator(){let e={state:this.startFn(),next:()=>this.nextFn(e.state),[Symbol.iterator]:()=>e};return e}[Symbol.iterator](){return this.iterator()}isEmpty(){return!!this.iterator().next().done}count(){let e=this.iterator(),t=0,r=e.next();for(;!r.done;)t++,r=e.next();return t}toArray(){let e,t=[],r=this.iterator();do void 0!==(e=r.next()).value&&t.push(e.value);while(!e.done);return t}toSet(){return new Set(this)}toMap(e,t){return new Map(this.map(r=>[e?e(r):r,t?t(r):r]))}toString(){return this.join()}concat(e){return new a(()=>({first:this.startFn(),firstDone:!1,iterator:e[Symbol.iterator]()}),e=>{let t;if(!e.firstDone){do if(!(t=this.nextFn(e.first)).done)return t;while(!t.done);e.firstDone=!0}do if(!(t=e.iterator.next()).done)return t;while(!t.done);return l})}join(e=","){let t,r=this.iterator(),n="",i=!1;do{var a;(t=r.next()).done||(i&&(n+=e),n+="string"==typeof(a=t.value)?a:void 0===a?"undefined":"function"==typeof a.toString?a.toString():Object.prototype.toString.call(a)),i=!0}while(!t.done);return n}indexOf(e,t=0){let r=this.iterator(),n=0,i=r.next();for(;!i.done;){if(n>=t&&i.value===e)return n;i=r.next(),n++}return -1}every(e){let t=this.iterator(),r=t.next();for(;!r.done;){if(!e(r.value))return!1;r=t.next()}return!0}some(e){let t=this.iterator(),r=t.next();for(;!r.done;){if(e(r.value))return!0;r=t.next()}return!1}forEach(e){let t=this.iterator(),r=0,n=t.next();for(;!n.done;)e(n.value,r),n=t.next(),r++}map(e){return new a(this.startFn,t=>{let{done:r,value:n}=this.nextFn(t);return r?l:{done:!1,value:e(n)}})}filter(e){return new a(this.startFn,t=>{let r;do if(!(r=this.nextFn(t)).done&&e(r.value))return r;while(!r.done);return l})}nonNullable(){return this.filter(e=>null!=e)}reduce(e,t){let r=this.iterator(),n=t,i=r.next();for(;!i.done;)n=void 0===n?i.value:e(n,i.value),i=r.next();return n}reduceRight(e,t){return this.recursiveReduce(this.iterator(),e,t)}recursiveReduce(e,t,r){let n=e.next();if(n.done)return r;let i=this.recursiveReduce(e,t,r);return void 0===i?n.value:t(i,n.value)}find(e){let t=this.iterator(),r=t.next();for(;!r.done;){if(e(r.value))return r.value;r=t.next()}}findIndex(e){let t=this.iterator(),r=0,n=t.next();for(;!n.done;){if(e(n.value))return r;n=t.next(),r++}return -1}includes(e){let t=this.iterator(),r=t.next();for(;!r.done;){if(r.value===e)return!0;r=t.next()}return!1}flatMap(e){return new a(()=>({this:this.startFn()}),t=>{do{if(t.iterator){let e=t.iterator.next();if(!e.done)return e;t.iterator=void 0}let{done:r,value:n}=this.nextFn(t.this);if(!r){let r=e(n);if(!s(r))return{done:!1,value:r};t.iterator=r[Symbol.iterator]()}}while(t.iterator);return l})}flat(e){if(void 0===e&&(e=1),e<=0)return this;let t=e>1?this.flat(e-1):this;return new a(()=>({this:t.startFn()}),e=>{do{if(e.iterator){let t=e.iterator.next();if(!t.done)return t;e.iterator=void 0}let{done:r,value:n}=t.nextFn(e.this);if(!r)if(!s(n))return{done:!1,value:n};else e.iterator=n[Symbol.iterator]()}while(e.iterator);return l})}head(){let e=this.iterator().next();if(!e.done)return e.value}tail(e=1){return new a(()=>{let t=this.startFn();for(let r=0;r({size:0,state:this.startFn()}),t=>(t.size++,t.size>e)?l:this.nextFn(t.state))}distinct(e){return new a(()=>({set:new Set,internalState:this.startFn()}),t=>{let r;do if(!(r=this.nextFn(t.internalState)).done){let n=e?e(r.value):r.value;if(!t.set.has(n))return t.set.add(n),r}while(!r.done);return l})}exclude(e,t){let r=new Set;for(let n of e){let e=t?t(n):n;r.add(e)}return this.filter(e=>{let n=t?t(e):e;return!r.has(n)})}}function s(e){return!!e&&"function"==typeof e[Symbol.iterator]}let o=new a(()=>void 0,()=>l),l=Object.freeze({done:!0,value:void 0});function u(...e){if(1===e.length){let t=e[0];if(t instanceof a)return t;if(s(t))return new a(()=>t[Symbol.iterator](),e=>e.next());if("number"==typeof t.length)return new a(()=>({index:0}),e=>e.index1?new a(()=>({collIndex:0,arrIndex:0}),t=>{do{if(t.iterator){let e=t.iterator.next();if(!e.done)return e;t.iterator=void 0}if(t.array){if(t.arrIndex({iterators:(null==r?void 0:r.includeRoot)?[[e][Symbol.iterator]()]:[t(e)[Symbol.iterator]()],pruned:!1}),e=>{for(e.pruned&&(e.iterators.pop(),e.pruned=!1);e.iterators.length>0;){let r=e.iterators[e.iterators.length-1].next();if(!r.done)return e.iterators.push(t(r.value)[Symbol.iterator]()),r;e.iterators.pop()}return l})}iterator(){let e={state:this.startFn(),next:()=>this.nextFn(e.state),prune:()=>{e.state.pruned=!0},[Symbol.iterator]:()=>e};return e}}(i=n||(n={})).sum=function(e){return e.reduce((e,t)=>e+t,0)},i.product=function(e){return e.reduce((e,t)=>e*t,0)},i.min=function(e){return e.reduce((e,t)=>Math.min(e,t))},i.max=function(e){return e.reduce((e,t)=>Math.max(e,t))}},83111(e,t,r){r.d(t,{D:()=>i});class n{readFile(){throw Error("No file system is available.")}async readDirectory(){return[]}}let i={fileSystemProvider:()=>new n}},79668(e,t,r){r.d(t,{A:()=>s});var n,i=r(48012),a=r(97831);let s=(n=i.A,function(e,t){if(null==e)return e;if(!(0,a.A)(e))return n(e,t);for(var r=e.length,i=-1,s=Object(e);++ii});var n=r(88397);let i=function(e,t,r){for(var i=-1,a=e.length;++ia});var n=r(45059),i=r(57293);let a=function(e,t){return e&&(0,n.A)(e,t,i.A)}},36793(e,t,r){r.d(t,{A:()=>n});let n=function(e,t){return ea});var n=r(79668),i=r(97831);let a=function(e,t){var r=-1,a=(0,i.A)(e)?Array(e.length):[];return(0,n.A)(e,function(e,n,i){a[++r]=t(e,n,i)}),a}},13480(e,t,r){r.d(t,{A:()=>f});var n=r(68192),i=r(93276);let a=function(e){return e!=e},s=function(e,t,r){for(var n=r-1,i=e.length;++n-1},l=function(e,t,r){for(var n=-1,i=null==e?0:e.length;++n=200){var m=t?null:d(e);if(m)return(0,h.A)(m);c=!1,a=u.A,p=new n.A}else p=t?[]:f;e:for(;++ii});var n=r(55995);let i=function(e){return"function"==typeof e?e:n.A}},53338(e,t,r){r.d(t,{A:()=>l});var n=r(16005),i=r(79668);let a=function(e,t){var r=[];return(0,i.A)(e,function(e,n,i){t(e,n,i)&&r.push(e)}),r};var s=r(69429),o=r(35952);let l=function(e,t){return((0,o.A)(e)?n.A:a)(e,(0,s.A)(t,3))}},47543(e,t,r){r.d(t,{A:()=>o});var n=r(96842),i=r(79668),a=r(67315),s=r(35952);let o=function(e,t){return((0,s.A)(e)?n.A:i.A)(e,(0,a.A)(t))}},23271(e,t,r){r.d(t,{A:()=>o});var n=r(17281),i=r(69429),a=r(55823),s=r(35952);let o=function(e,t){return((0,s.A)(e)?n.A:a.A)(e,(0,i.A)(t,3))}},43925(e,t,r){r.d(t,{A:()=>s});var n=r(23274),i=r(36793),a=r(55995);let s=function(e){return e&&e.length?(0,n.A)(e,a.A,i.A):void 0}},67885(e,t,r){r.d(t,{A:()=>l});let n=function(e,t,r,n){var i=-1,a=null==e?0:e.length;for(n&&a&&(r=e[++i]);++ia,r:()=>i}),(()=>{"use strict";var e={470:e=>{function t(e){if("string"!=typeof e)throw TypeError("Path must be a string. Received "+JSON.stringify(e))}function r(e,t){for(var r,n="",i=0,a=-1,s=0,o=0;o<=e.length;++o){if(o2){var l=n.lastIndexOf("/");if(l!==n.length-1){-1===l?(n="",i=0):i=(n=n.slice(0,l)).length-1-n.lastIndexOf("/"),a=o,s=0;continue}}else if(2===n.length||1===n.length){n="",i=0,a=o,s=0;continue}}t&&(n.length>0?n+="/..":n="..",i=2)}else n.length>0?n+="/"+e.slice(a+1,o):n=e.slice(a+1,o),i=o-a-1;a=o,s=0}else 46===r&&-1!==s?++s:s=-1}return n}var n={resolve:function(){for(var e,n,i="",a=!1,s=arguments.length-1;s>=-1&&!a;s--)s>=0?e=arguments[s]:(void 0===n&&(n=process.cwd()),e=n),t(e),0!==e.length&&(i=e+"/"+i,a=47===e.charCodeAt(0));return i=r(i,!a),a?i.length>0?"/"+i:"/":i.length>0?i:"."},normalize:function(e){if(t(e),0===e.length)return".";var n=47===e.charCodeAt(0),i=47===e.charCodeAt(e.length-1);return 0!==(e=r(e,!n)).length||n||(e="."),e.length>0&&i&&(e+="/"),n?"/"+e:e},isAbsolute:function(e){return t(e),e.length>0&&47===e.charCodeAt(0)},join:function(){if(0==arguments.length)return".";for(var e,r=0;r0&&(void 0===e?e=i:e+="/"+i)}return void 0===e?".":n.normalize(e)},relative:function(e,r){if(t(e),t(r),e===r||(e=n.resolve(e))===(r=n.resolve(r)))return"";for(var i=1;iu){if(47===r.charCodeAt(o+h))return r.slice(o+h+1);if(0===h)return r.slice(o+h)}else s>u&&(47===e.charCodeAt(i+h)?c=h:0===h&&(c=0));break}var d=e.charCodeAt(i+h);if(d!==r.charCodeAt(o+h))break;47===d&&(c=h)}var f="";for(h=i+c+1;h<=a;++h)h!==a&&47!==e.charCodeAt(h)||(0===f.length?f+="..":f+="/..");return f.length>0?f+r.slice(o+c):(o+=c,47===r.charCodeAt(o)&&++o,r.slice(o))},_makeLong:function(e){return e},dirname:function(e){if(t(e),0===e.length)return".";for(var r=e.charCodeAt(0),n=47===r,i=-1,a=!0,s=e.length-1;s>=1;--s)if(47===(r=e.charCodeAt(s))){if(!a){i=s;break}}else a=!1;return -1===i?n?"/":".":n&&1===i?"//":e.slice(0,i)},basename:function(e,r){if(void 0!==r&&"string"!=typeof r)throw TypeError('"ext" argument must be a string');t(e);var n,i=0,a=-1,s=!0;if(void 0!==r&&r.length>0&&r.length<=e.length){if(r.length===e.length&&r===e)return"";var o=r.length-1,l=-1;for(n=e.length-1;n>=0;--n){var u=e.charCodeAt(n);if(47===u){if(!s){i=n+1;break}}else -1===l&&(s=!1,l=n+1),o>=0&&(u===r.charCodeAt(o)?-1==--o&&(a=n):(o=-1,a=l))}return i===a?a=l:-1===a&&(a=e.length),e.slice(i,a)}for(n=e.length-1;n>=0;--n)if(47===e.charCodeAt(n)){if(!s){i=n+1;break}}else -1===a&&(s=!1,a=n+1);return -1===a?"":e.slice(i,a)},extname:function(e){t(e);for(var r=-1,n=0,i=-1,a=!0,s=0,o=e.length-1;o>=0;--o){var l=e.charCodeAt(o);if(47!==l)-1===i&&(a=!1,i=o+1),46===l?-1===r?r=o:1!==s&&(s=1):-1!==r&&(s=-1);else if(!a){n=o+1;break}}return -1===r||-1===i||0===s||1===s&&r===i-1&&r===n+1?"":e.slice(r,i)},format:function(e){var t,r;if(null===e||"object"!=typeof e)throw TypeError('The "pathObject" argument must be of type Object. Received type '+typeof e);return t=e.dir||e.root,r=e.base||(e.name||"")+(e.ext||""),t?t===e.root?t+r:t+"/"+r:r},parse:function(e){t(e);var r={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return r;var n,i=e.charCodeAt(0),a=47===i;a?(r.root="/",n=1):n=0;for(var s=-1,o=0,l=-1,u=!0,c=e.length-1,h=0;c>=n;--c)if(47!==(i=e.charCodeAt(c)))-1===l&&(u=!1,l=c+1),46===i?-1===s?s=c:1!==h&&(h=1):-1!==s&&(h=-1);else if(!u){o=c+1;break}return -1===s||-1===l||0===h||1===h&&s===l-1&&s===o+1?-1!==l&&(r.base=r.name=0===o&&a?e.slice(1,l):e.slice(o,l)):(0===o&&a?(r.name=e.slice(1,s),r.base=e.slice(1,l)):(r.name=e.slice(o,s),r.base=e.slice(o,l)),r.ext=e.slice(s,l)),o>0?r.dir=e.slice(0,o-1):a&&(r.dir="/"),r},sep:"/",delimiter:":",win32:null,posix:null};n.posix=n,e.exports=n}},t={};function r(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n](a,a.exports,r),a.exports}r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var i={};(()=>{let e;(r.r(i),r.d(i,{URI:()=>l,Utils:()=>T}),"object"==typeof process)?e="win32"===process.platform:"object"==typeof navigator&&(e=navigator.userAgent.indexOf("Windows")>=0);let t=/^\w[\w\d+.-]*$/,n=/^\//,a=/^\/\//;function s(e,r){if(!e.scheme&&r)throw Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${e.authority}", path: "${e.path}", query: "${e.query}", fragment: "${e.fragment}"}`);if(e.scheme&&!t.test(e.scheme))throw Error("[UriError]: Scheme contains illegal characters.");if(e.path){if(e.authority){if(!n.test(e.path))throw Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(a.test(e.path))throw Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}let o=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class l{static isUri(e){return e instanceof l||!!e&&"string"==typeof e.authority&&"string"==typeof e.fragment&&"string"==typeof e.path&&"string"==typeof e.query&&"string"==typeof e.scheme&&"string"==typeof e.fsPath&&"function"==typeof e.with&&"function"==typeof e.toString}scheme;authority;path;query;fragment;constructor(e,t,r,n,i,a=!1){"object"==typeof e?(this.scheme=e.scheme||"",this.authority=e.authority||"",this.path=e.path||"",this.query=e.query||"",this.fragment=e.fragment||""):(this.scheme=e||a?e:"file",this.authority=t||"",this.path=function(e,t){switch(e){case"https":case"http":case"file":t?"/"!==t[0]&&(t="/"+t):t="/"}return t}(this.scheme,r||""),this.query=n||"",this.fragment=i||"",s(this,a))}get fsPath(){return p(this,!1)}with(e){if(!e)return this;let{scheme:t,authority:r,path:n,query:i,fragment:a}=e;return void 0===t?t=this.scheme:null===t&&(t=""),void 0===r?r=this.authority:null===r&&(r=""),void 0===n?n=this.path:null===n&&(n=""),void 0===i?i=this.query:null===i&&(i=""),void 0===a?a=this.fragment:null===a&&(a=""),t===this.scheme&&r===this.authority&&n===this.path&&i===this.query&&a===this.fragment?this:new c(t,r,n,i,a)}static parse(e,t=!1){let r=o.exec(e);return r?new c(r[2]||"",y(r[4]||""),y(r[5]||""),y(r[7]||""),y(r[9]||""),t):new c("","","","","")}static file(t){let r="";if(e&&(t=t.replace(/\\/g,"/")),"/"===t[0]&&"/"===t[1]){let e=t.indexOf("/",2);-1===e?(r=t.substring(2),t="/"):(r=t.substring(2,e),t=t.substring(e)||"/")}return new c("file",r,t,"","")}static from(e){let t=new c(e.scheme,e.authority,e.path,e.query,e.fragment);return s(t,!0),t}toString(e=!1){return m(this,e)}toJSON(){return this}static revive(e){if(e){if(e instanceof l)return e;{let t=new c(e);return t._formatted=e.external,t._fsPath=e._sep===u?e.fsPath:null,t}}return e}}let u=e?1:void 0;class c extends l{_formatted=null;_fsPath=null;get fsPath(){return this._fsPath||(this._fsPath=p(this,!1)),this._fsPath}toString(e=!1){return e?m(this,!0):(this._formatted||(this._formatted=m(this,!1)),this._formatted)}toJSON(){let e={$mid:1};return this._fsPath&&(e.fsPath=this._fsPath,e._sep=u),this._formatted&&(e.external=this._formatted),this.path&&(e.path=this.path),this.scheme&&(e.scheme=this.scheme),this.authority&&(e.authority=this.authority),this.query&&(e.query=this.query),this.fragment&&(e.fragment=this.fragment),e}}let h={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 d(e,t,r){let n,i=-1;for(let a=0;a=97&&s<=122||s>=65&&s<=90||s>=48&&s<=57||45===s||46===s||95===s||126===s||t&&47===s||r&&91===s||r&&93===s||r&&58===s)-1!==i&&(n+=encodeURIComponent(e.substring(i,a)),i=-1),void 0!==n&&(n+=e.charAt(a));else{void 0===n&&(n=e.substr(0,a));let t=h[s];void 0!==t?(-1!==i&&(n+=encodeURIComponent(e.substring(i,a)),i=-1),n+=t):-1===i&&(i=a)}}return -1!==i&&(n+=encodeURIComponent(e.substring(i))),void 0!==n?n:e}function f(e){let t;for(let r=0;r1&&"file"===t.scheme?`//${t.authority}${t.path}`:47===t.path.charCodeAt(0)&&(t.path.charCodeAt(1)>=65&&90>=t.path.charCodeAt(1)||t.path.charCodeAt(1)>=97&&122>=t.path.charCodeAt(1))&&58===t.path.charCodeAt(2)?r?t.path.substr(1):t.path[1].toLowerCase()+t.path.substr(2):t.path,e&&(n=n.replace(/\//g,"\\")),n}function m(e,t){let r=t?f:d,n="",{scheme:i,authority:a,path:s,query:o,fragment:l}=e;if(i&&(n+=i,n+=":"),(a||"file"===i)&&(n+="/",n+="/"),a){let e=a.indexOf("@");if(-1!==e){let t=a.substr(0,e);a=a.substr(e+1),-1===(e=t.lastIndexOf(":"))?n+=r(t,!1,!1):(n+=r(t.substr(0,e),!1,!1),n+=":",n+=r(t.substr(e+1),!1,!0)),n+="@"}-1===(e=(a=a.toLowerCase()).lastIndexOf(":"))?n+=r(a,!1,!0):(n+=r(a.substr(0,e),!1,!0),n+=a.substr(e))}if(s){if(s.length>=3&&47===s.charCodeAt(0)&&58===s.charCodeAt(2)){let e=s.charCodeAt(1);e>=65&&e<=90&&(s=`/${String.fromCharCode(e+32)}:${s.substr(3)}`)}else if(s.length>=2&&58===s.charCodeAt(1)){let e=s.charCodeAt(0);e>=65&&e<=90&&(s=`${String.fromCharCode(e+32)}:${s.substr(2)}`)}n+=r(s,!0,!1)}return o&&(n+="?",n+=r(o,!1,!1)),l&&(n+="#",n+=t?l:d(l,!1,!1)),n}let g=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function y(e){return e.match(g)?e.replace(g,e=>(function e(t){try{return decodeURIComponent(t)}catch{return t.length>3?t.substr(0,3)+e(t.substr(3)):t}})(e)):e}var v,T,R=r(470);let A=R.posix||R;(v=T||(T={})).joinPath=function(e,...t){return e.with({path:A.join(e.path,...t)})},v.resolvePath=function(e,...t){let r=e.path,n=!1;"/"!==r[0]&&(r="/"+r,n=!0);let i=A.resolve(r,...t);return n&&"/"===i[0]&&!e.authority&&(i=i.substring(1)),e.with({path:i})},v.dirname=function(e){if(0===e.path.length||"/"===e.path)return e;let t=A.dirname(e.path);return 1===t.length&&46===t.charCodeAt(0)&&(t=""),e.with({path:t})},v.basename=function(e){return A.basename(e.path)},v.extname=function(e){return A.extname(e.path)}})(),n=i})();let{URI:i,Utils:a}=n}};