@nowline/embed 0.4.2 → 0.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +14 -26
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -19
- package/dist/index.js.map +1 -1
- package/dist/meta.json +78 -48
- package/dist/nowline.esm.js +396 -109
- package/dist/nowline.esm.js.map +4 -4
- package/dist/nowline.min.js +76 -76
- package/dist/nowline.min.js.map +4 -4
- package/dist/share.d.ts +0 -1
- package/dist/share.d.ts.map +1 -1
- package/dist/share.js +0 -1
- package/dist/share.js.map +1 -1
- package/dist/theme.d.ts +3 -3
- package/dist/theme.d.ts.map +1 -1
- package/dist/theme.js +5 -3
- package/dist/theme.js.map +1 -1
- package/package.json +5 -7
- package/src/index.ts +12 -31
- package/src/share.ts +0 -1
- package/src/theme.ts +7 -5
- package/dist/auth/allowlist.d.ts +0 -20
- package/dist/auth/allowlist.d.ts.map +0 -1
- package/dist/auth/allowlist.js +0 -33
- package/dist/auth/allowlist.js.map +0 -1
- package/dist/auth/env.d.ts +0 -23
- package/dist/auth/env.d.ts.map +0 -1
- package/dist/auth/env.js +0 -24
- package/dist/auth/env.js.map +0 -1
- package/dist/auth/firebase-auth.client.d.ts +0 -21
- package/dist/auth/firebase-auth.client.d.ts.map +0 -1
- package/dist/auth/firebase-auth.client.js +0 -146
- package/dist/auth/firebase-auth.client.js.map +0 -1
- package/src/auth/allowlist.ts +0 -32
- package/src/auth/env.ts +0 -37
- package/src/auth/firebase-auth.client.ts +0 -178
package/dist/nowline.min.js
CHANGED
|
@@ -1,101 +1,101 @@
|
|
|
1
|
-
/*! @nowline/embed 0.
|
|
2
|
-
"use strict";var nowline=(()=>{var xC=Object.create;var _c=Object.defineProperty;var TC=Object.getOwnPropertyDescriptor;var _C=Object.getOwnPropertyNames;var EC=Object.getPrototypeOf,vC=Object.prototype.hasOwnProperty;var RC=(t,e,r)=>e in t?_c(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r;var BE=(t,e)=>()=>(t&&(e=t(t=0)),e);var ue=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),on=(t,e)=>{for(var r in e)_c(t,r,{get:e[r],enumerable:!0})},ef=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of _C(e))!vC.call(t,i)&&i!==r&&_c(t,i,{get:()=>e[i],enumerable:!(n=TC(e,i))||n.enumerable});return t},Ae=(t,e,r)=>(ef(t,e,"default"),r&&ef(r,e,"default")),dm=(t,e,r)=>(r=t!=null?xC(EC(t)):{},ef(e||!t||!t.__esModule?_c(r,"default",{value:t,enumerable:!0}):r,t)),tf=t=>ef(_c({},"__esModule",{value:!0}),t);var fe=(t,e,r)=>RC(t,typeof e!="symbol"?e+"":e,r);var jd={};on(jd,{AnnotatedTextEdit:()=>jn,ChangeAnnotation:()=>Io,ChangeAnnotationIdentifier:()=>Dt,CodeAction:()=>wy,CodeActionContext:()=>Ry,CodeActionKind:()=>vy,CodeActionTriggerKind:()=>gl,CodeDescription:()=>Qg,CodeLens:()=>by,Color:()=>Md,ColorInformation:()=>Wg,ColorPresentation:()=>Vg,Command:()=>ko,CompletionItem:()=>uy,CompletionItemKind:()=>iy,CompletionItemLabelDetails:()=>ly,CompletionItemTag:()=>sy,CompletionList:()=>fy,CreateFile:()=>Qs,DeleteFile:()=>ta,Diagnostic:()=>dl,DiagnosticRelatedInformation:()=>Fd,DiagnosticSeverity:()=>Zg,DiagnosticTag:()=>Jg,DocumentHighlight:()=>gy,DocumentHighlightKind:()=>my,DocumentLink:()=>Sy,DocumentSymbol:()=>Ey,DocumentUri:()=>jg,EOL:()=>MF,FoldingRange:()=>Kg,FoldingRangeKind:()=>Yg,FormattingOptions:()=>Ay,Hover:()=>dy,InlayHint:()=>$y,InlayHintKind:()=>Xd,InlayHintLabelPart:()=>Hd,InlineCompletionContext:()=>Xy,InlineCompletionItem:()=>Fy,InlineCompletionList:()=>Uy,InlineCompletionTriggerKind:()=>By,InlineValueContext:()=>Dy,InlineValueEvaluatableExpression:()=>Ly,InlineValueText:()=>Cy,InlineValueVariableLookup:()=>Oy,InsertReplaceEdit:()=>ay,InsertTextFormat:()=>oy,InsertTextMode:()=>cy,Location:()=>fl,LocationLink:()=>qg,MarkedString:()=>ml,MarkupContent:()=>ra,MarkupKind:()=>Gd,OptionalVersionedTextDocumentIdentifier:()=>hl,ParameterInformation:()=>py,Position:()=>ke,Range:()=>ve,RenameFile:()=>ea,SelectedCompletionInfo:()=>Gy,SelectionRange:()=>Iy,SemanticTokenModifiers:()=>Ny,SemanticTokenTypes:()=>ky,SemanticTokens:()=>Py,SignatureInformation:()=>hy,StringValue:()=>My,SymbolInformation:()=>Ty,SymbolKind:()=>yy,SymbolTag:()=>xy,TextDocument:()=>jy,TextDocumentEdit:()=>pl,TextDocumentIdentifier:()=>ty,TextDocumentItem:()=>ny,TextEdit:()=>pn,URI:()=>$d,VersionedTextDocumentIdentifier:()=>ry,WorkspaceChange:()=>ey,WorkspaceEdit:()=>Ud,WorkspaceFolder:()=>Hy,WorkspaceSymbol:()=>_y,integer:()=>zg,uinteger:()=>ul});var jg,$d,zg,ul,ke,ve,fl,qg,Md,Wg,Vg,Yg,Kg,Fd,Zg,Jg,Qg,dl,ko,pn,Io,Dt,jn,pl,Qs,ea,ta,Ud,Js,Bd,ey,ty,ry,hl,ny,Gd,ra,iy,oy,sy,ay,cy,ly,uy,fy,ml,dy,py,hy,my,gy,yy,xy,Ty,_y,Ey,vy,gl,Ry,wy,by,Ay,Sy,Iy,ky,Ny,Py,Cy,Oy,Ly,Dy,Xd,Hd,$y,My,Fy,Uy,By,Gy,Xy,Hy,MF,jy,zy,w,na=BE(()=>{"use strict";(function(t){function e(r){return typeof r=="string"}t.is=e})(jg||(jg={}));(function(t){function e(r){return typeof r=="string"}t.is=e})($d||($d={}));(function(t){t.MIN_VALUE=-2147483648,t.MAX_VALUE=2147483647;function e(r){return typeof r=="number"&&t.MIN_VALUE<=r&&r<=t.MAX_VALUE}t.is=e})(zg||(zg={}));(function(t){t.MIN_VALUE=0,t.MAX_VALUE=2147483647;function e(r){return typeof r=="number"&&t.MIN_VALUE<=r&&r<=t.MAX_VALUE}t.is=e})(ul||(ul={}));(function(t){function e(n,i){return n===Number.MAX_VALUE&&(n=ul.MAX_VALUE),i===Number.MAX_VALUE&&(i=ul.MAX_VALUE),{line:n,character:i}}t.create=e;function r(n){let i=n;return w.objectLiteral(i)&&w.uinteger(i.line)&&w.uinteger(i.character)}t.is=r})(ke||(ke={}));(function(t){function e(n,i,o,s){if(w.uinteger(n)&&w.uinteger(i)&&w.uinteger(o)&&w.uinteger(s))return{start:ke.create(n,i),end:ke.create(o,s)};if(ke.is(n)&&ke.is(i))return{start:n,end:i};throw new Error(`Range#create called with invalid arguments[${n}, ${i}, ${o}, ${s}]`)}t.create=e;function r(n){let i=n;return w.objectLiteral(i)&&ke.is(i.start)&&ke.is(i.end)}t.is=r})(ve||(ve={}));(function(t){function e(n,i){return{uri:n,range:i}}t.create=e;function r(n){let i=n;return w.objectLiteral(i)&&ve.is(i.range)&&(w.string(i.uri)||w.undefined(i.uri))}t.is=r})(fl||(fl={}));(function(t){function e(n,i,o,s){return{targetUri:n,targetRange:i,targetSelectionRange:o,originSelectionRange:s}}t.create=e;function r(n){let i=n;return w.objectLiteral(i)&&ve.is(i.targetRange)&&w.string(i.targetUri)&&ve.is(i.targetSelectionRange)&&(ve.is(i.originSelectionRange)||w.undefined(i.originSelectionRange))}t.is=r})(qg||(qg={}));(function(t){function e(n,i,o,s){return{red:n,green:i,blue:o,alpha:s}}t.create=e;function r(n){let i=n;return w.objectLiteral(i)&&w.numberRange(i.red,0,1)&&w.numberRange(i.green,0,1)&&w.numberRange(i.blue,0,1)&&w.numberRange(i.alpha,0,1)}t.is=r})(Md||(Md={}));(function(t){function e(n,i){return{range:n,color:i}}t.create=e;function r(n){let i=n;return w.objectLiteral(i)&&ve.is(i.range)&&Md.is(i.color)}t.is=r})(Wg||(Wg={}));(function(t){function e(n,i,o){return{label:n,textEdit:i,additionalTextEdits:o}}t.create=e;function r(n){let i=n;return w.objectLiteral(i)&&w.string(i.label)&&(w.undefined(i.textEdit)||pn.is(i))&&(w.undefined(i.additionalTextEdits)||w.typedArray(i.additionalTextEdits,pn.is))}t.is=r})(Vg||(Vg={}));(function(t){t.Comment="comment",t.Imports="imports",t.Region="region"})(Yg||(Yg={}));(function(t){function e(n,i,o,s,a,c){let l={startLine:n,endLine:i};return w.defined(o)&&(l.startCharacter=o),w.defined(s)&&(l.endCharacter=s),w.defined(a)&&(l.kind=a),w.defined(c)&&(l.collapsedText=c),l}t.create=e;function r(n){let i=n;return w.objectLiteral(i)&&w.uinteger(i.startLine)&&w.uinteger(i.startLine)&&(w.undefined(i.startCharacter)||w.uinteger(i.startCharacter))&&(w.undefined(i.endCharacter)||w.uinteger(i.endCharacter))&&(w.undefined(i.kind)||w.string(i.kind))}t.is=r})(Kg||(Kg={}));(function(t){function e(n,i){return{location:n,message:i}}t.create=e;function r(n){let i=n;return w.defined(i)&&fl.is(i.location)&&w.string(i.message)}t.is=r})(Fd||(Fd={}));(function(t){t.Error=1,t.Warning=2,t.Information=3,t.Hint=4})(Zg||(Zg={}));(function(t){t.Unnecessary=1,t.Deprecated=2})(Jg||(Jg={}));(function(t){function e(r){let n=r;return w.objectLiteral(n)&&w.string(n.href)}t.is=e})(Qg||(Qg={}));(function(t){function e(n,i,o,s,a,c){let l={range:n,message:i};return w.defined(o)&&(l.severity=o),w.defined(s)&&(l.code=s),w.defined(a)&&(l.source=a),w.defined(c)&&(l.relatedInformation=c),l}t.create=e;function r(n){var i;let o=n;return w.defined(o)&&ve.is(o.range)&&w.string(o.message)&&(w.number(o.severity)||w.undefined(o.severity))&&(w.integer(o.code)||w.string(o.code)||w.undefined(o.code))&&(w.undefined(o.codeDescription)||w.string((i=o.codeDescription)===null||i===void 0?void 0:i.href))&&(w.string(o.source)||w.undefined(o.source))&&(w.undefined(o.relatedInformation)||w.typedArray(o.relatedInformation,Fd.is))}t.is=r})(dl||(dl={}));(function(t){function e(n,i,...o){let s={title:n,command:i};return w.defined(o)&&o.length>0&&(s.arguments=o),s}t.create=e;function r(n){let i=n;return w.defined(i)&&w.string(i.title)&&w.string(i.command)}t.is=r})(ko||(ko={}));(function(t){function e(o,s){return{range:o,newText:s}}t.replace=e;function r(o,s){return{range:{start:o,end:o},newText:s}}t.insert=r;function n(o){return{range:o,newText:""}}t.del=n;function i(o){let s=o;return w.objectLiteral(s)&&w.string(s.newText)&&ve.is(s.range)}t.is=i})(pn||(pn={}));(function(t){function e(n,i,o){let s={label:n};return i!==void 0&&(s.needsConfirmation=i),o!==void 0&&(s.description=o),s}t.create=e;function r(n){let i=n;return w.objectLiteral(i)&&w.string(i.label)&&(w.boolean(i.needsConfirmation)||i.needsConfirmation===void 0)&&(w.string(i.description)||i.description===void 0)}t.is=r})(Io||(Io={}));(function(t){function e(r){let n=r;return w.string(n)}t.is=e})(Dt||(Dt={}));(function(t){function e(o,s,a){return{range:o,newText:s,annotationId:a}}t.replace=e;function r(o,s,a){return{range:{start:o,end:o},newText:s,annotationId:a}}t.insert=r;function n(o,s){return{range:o,newText:"",annotationId:s}}t.del=n;function i(o){let s=o;return pn.is(s)&&(Io.is(s.annotationId)||Dt.is(s.annotationId))}t.is=i})(jn||(jn={}));(function(t){function e(n,i){return{textDocument:n,edits:i}}t.create=e;function r(n){let i=n;return w.defined(i)&&hl.is(i.textDocument)&&Array.isArray(i.edits)}t.is=r})(pl||(pl={}));(function(t){function e(n,i,o){let s={kind:"create",uri:n};return i!==void 0&&(i.overwrite!==void 0||i.ignoreIfExists!==void 0)&&(s.options=i),o!==void 0&&(s.annotationId=o),s}t.create=e;function r(n){let i=n;return i&&i.kind==="create"&&w.string(i.uri)&&(i.options===void 0||(i.options.overwrite===void 0||w.boolean(i.options.overwrite))&&(i.options.ignoreIfExists===void 0||w.boolean(i.options.ignoreIfExists)))&&(i.annotationId===void 0||Dt.is(i.annotationId))}t.is=r})(Qs||(Qs={}));(function(t){function e(n,i,o,s){let a={kind:"rename",oldUri:n,newUri:i};return o!==void 0&&(o.overwrite!==void 0||o.ignoreIfExists!==void 0)&&(a.options=o),s!==void 0&&(a.annotationId=s),a}t.create=e;function r(n){let i=n;return i&&i.kind==="rename"&&w.string(i.oldUri)&&w.string(i.newUri)&&(i.options===void 0||(i.options.overwrite===void 0||w.boolean(i.options.overwrite))&&(i.options.ignoreIfExists===void 0||w.boolean(i.options.ignoreIfExists)))&&(i.annotationId===void 0||Dt.is(i.annotationId))}t.is=r})(ea||(ea={}));(function(t){function e(n,i,o){let s={kind:"delete",uri:n};return i!==void 0&&(i.recursive!==void 0||i.ignoreIfNotExists!==void 0)&&(s.options=i),o!==void 0&&(s.annotationId=o),s}t.create=e;function r(n){let i=n;return i&&i.kind==="delete"&&w.string(i.uri)&&(i.options===void 0||(i.options.recursive===void 0||w.boolean(i.options.recursive))&&(i.options.ignoreIfNotExists===void 0||w.boolean(i.options.ignoreIfNotExists)))&&(i.annotationId===void 0||Dt.is(i.annotationId))}t.is=r})(ta||(ta={}));(function(t){function e(r){let n=r;return n&&(n.changes!==void 0||n.documentChanges!==void 0)&&(n.documentChanges===void 0||n.documentChanges.every(i=>w.string(i.kind)?Qs.is(i)||ea.is(i)||ta.is(i):pl.is(i)))}t.is=e})(Ud||(Ud={}));Js=class{constructor(e,r){this.edits=e,this.changeAnnotations=r}insert(e,r,n){let i,o;if(n===void 0?i=pn.insert(e,r):Dt.is(n)?(o=n,i=jn.insert(e,r,n)):(this.assertChangeAnnotations(this.changeAnnotations),o=this.changeAnnotations.manage(n),i=jn.insert(e,r,o)),this.edits.push(i),o!==void 0)return o}replace(e,r,n){let i,o;if(n===void 0?i=pn.replace(e,r):Dt.is(n)?(o=n,i=jn.replace(e,r,n)):(this.assertChangeAnnotations(this.changeAnnotations),o=this.changeAnnotations.manage(n),i=jn.replace(e,r,o)),this.edits.push(i),o!==void 0)return o}delete(e,r){let n,i;if(r===void 0?n=pn.del(e):Dt.is(r)?(i=r,n=jn.del(e,r)):(this.assertChangeAnnotations(this.changeAnnotations),i=this.changeAnnotations.manage(r),n=jn.del(e,i)),this.edits.push(n),i!==void 0)return i}add(e){this.edits.push(e)}all(){return this.edits}clear(){this.edits.splice(0,this.edits.length)}assertChangeAnnotations(e){if(e===void 0)throw new Error("Text edit change is not configured to manage change annotations.")}},Bd=class{constructor(e){this._annotations=e===void 0?Object.create(null):e,this._counter=0,this._size=0}all(){return this._annotations}get size(){return this._size}manage(e,r){let n;if(Dt.is(e)?n=e:(n=this.nextId(),r=e),this._annotations[n]!==void 0)throw new Error(`Id ${n} is already in use.`);if(r===void 0)throw new Error(`No annotation provided for id ${n}`);return this._annotations[n]=r,this._size++,n}nextId(){return this._counter++,this._counter.toString()}},ey=class{constructor(e){this._textEditChanges=Object.create(null),e!==void 0?(this._workspaceEdit=e,e.documentChanges?(this._changeAnnotations=new Bd(e.changeAnnotations),e.changeAnnotations=this._changeAnnotations.all(),e.documentChanges.forEach(r=>{if(pl.is(r)){let n=new Js(r.edits,this._changeAnnotations);this._textEditChanges[r.textDocument.uri]=n}})):e.changes&&Object.keys(e.changes).forEach(r=>{let n=new Js(e.changes[r]);this._textEditChanges[r]=n})):this._workspaceEdit={}}get edit(){return this.initDocumentChanges(),this._changeAnnotations!==void 0&&(this._changeAnnotations.size===0?this._workspaceEdit.changeAnnotations=void 0:this._workspaceEdit.changeAnnotations=this._changeAnnotations.all()),this._workspaceEdit}getTextEditChange(e){if(hl.is(e)){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let r={uri:e.uri,version:e.version},n=this._textEditChanges[r.uri];if(!n){let i=[],o={textDocument:r,edits:i};this._workspaceEdit.documentChanges.push(o),n=new Js(i,this._changeAnnotations),this._textEditChanges[r.uri]=n}return n}else{if(this.initChanges(),this._workspaceEdit.changes===void 0)throw new Error("Workspace edit is not configured for normal text edit changes.");let r=this._textEditChanges[e];if(!r){let n=[];this._workspaceEdit.changes[e]=n,r=new Js(n),this._textEditChanges[e]=r}return r}}initDocumentChanges(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._changeAnnotations=new Bd,this._workspaceEdit.documentChanges=[],this._workspaceEdit.changeAnnotations=this._changeAnnotations.all())}initChanges(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._workspaceEdit.changes=Object.create(null))}createFile(e,r,n){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let i;Io.is(r)||Dt.is(r)?i=r:n=r;let o,s;if(i===void 0?o=Qs.create(e,n):(s=Dt.is(i)?i:this._changeAnnotations.manage(i),o=Qs.create(e,n,s)),this._workspaceEdit.documentChanges.push(o),s!==void 0)return s}renameFile(e,r,n,i){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let o;Io.is(n)||Dt.is(n)?o=n:i=n;let s,a;if(o===void 0?s=ea.create(e,r,i):(a=Dt.is(o)?o:this._changeAnnotations.manage(o),s=ea.create(e,r,i,a)),this._workspaceEdit.documentChanges.push(s),a!==void 0)return a}deleteFile(e,r,n){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let i;Io.is(r)||Dt.is(r)?i=r:n=r;let o,s;if(i===void 0?o=ta.create(e,n):(s=Dt.is(i)?i:this._changeAnnotations.manage(i),o=ta.create(e,n,s)),this._workspaceEdit.documentChanges.push(o),s!==void 0)return s}};(function(t){function e(n){return{uri:n}}t.create=e;function r(n){let i=n;return w.defined(i)&&w.string(i.uri)}t.is=r})(ty||(ty={}));(function(t){function e(n,i){return{uri:n,version:i}}t.create=e;function r(n){let i=n;return w.defined(i)&&w.string(i.uri)&&w.integer(i.version)}t.is=r})(ry||(ry={}));(function(t){function e(n,i){return{uri:n,version:i}}t.create=e;function r(n){let i=n;return w.defined(i)&&w.string(i.uri)&&(i.version===null||w.integer(i.version))}t.is=r})(hl||(hl={}));(function(t){function e(n,i,o,s){return{uri:n,languageId:i,version:o,text:s}}t.create=e;function r(n){let i=n;return w.defined(i)&&w.string(i.uri)&&w.string(i.languageId)&&w.integer(i.version)&&w.string(i.text)}t.is=r})(ny||(ny={}));(function(t){t.PlainText="plaintext",t.Markdown="markdown";function e(r){let n=r;return n===t.PlainText||n===t.Markdown}t.is=e})(Gd||(Gd={}));(function(t){function e(r){let n=r;return w.objectLiteral(r)&&Gd.is(n.kind)&&w.string(n.value)}t.is=e})(ra||(ra={}));(function(t){t.Text=1,t.Method=2,t.Function=3,t.Constructor=4,t.Field=5,t.Variable=6,t.Class=7,t.Interface=8,t.Module=9,t.Property=10,t.Unit=11,t.Value=12,t.Enum=13,t.Keyword=14,t.Snippet=15,t.Color=16,t.File=17,t.Reference=18,t.Folder=19,t.EnumMember=20,t.Constant=21,t.Struct=22,t.Event=23,t.Operator=24,t.TypeParameter=25})(iy||(iy={}));(function(t){t.PlainText=1,t.Snippet=2})(oy||(oy={}));(function(t){t.Deprecated=1})(sy||(sy={}));(function(t){function e(n,i,o){return{newText:n,insert:i,replace:o}}t.create=e;function r(n){let i=n;return i&&w.string(i.newText)&&ve.is(i.insert)&&ve.is(i.replace)}t.is=r})(ay||(ay={}));(function(t){t.asIs=1,t.adjustIndentation=2})(cy||(cy={}));(function(t){function e(r){let n=r;return n&&(w.string(n.detail)||n.detail===void 0)&&(w.string(n.description)||n.description===void 0)}t.is=e})(ly||(ly={}));(function(t){function e(r){return{label:r}}t.create=e})(uy||(uy={}));(function(t){function e(r,n){return{items:r||[],isIncomplete:!!n}}t.create=e})(fy||(fy={}));(function(t){function e(n){return n.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}t.fromPlainText=e;function r(n){let i=n;return w.string(i)||w.objectLiteral(i)&&w.string(i.language)&&w.string(i.value)}t.is=r})(ml||(ml={}));(function(t){function e(r){let n=r;return!!n&&w.objectLiteral(n)&&(ra.is(n.contents)||ml.is(n.contents)||w.typedArray(n.contents,ml.is))&&(r.range===void 0||ve.is(r.range))}t.is=e})(dy||(dy={}));(function(t){function e(r,n){return n?{label:r,documentation:n}:{label:r}}t.create=e})(py||(py={}));(function(t){function e(r,n,...i){let o={label:r};return w.defined(n)&&(o.documentation=n),w.defined(i)?o.parameters=i:o.parameters=[],o}t.create=e})(hy||(hy={}));(function(t){t.Text=1,t.Read=2,t.Write=3})(my||(my={}));(function(t){function e(r,n){let i={range:r};return w.number(n)&&(i.kind=n),i}t.create=e})(gy||(gy={}));(function(t){t.File=1,t.Module=2,t.Namespace=3,t.Package=4,t.Class=5,t.Method=6,t.Property=7,t.Field=8,t.Constructor=9,t.Enum=10,t.Interface=11,t.Function=12,t.Variable=13,t.Constant=14,t.String=15,t.Number=16,t.Boolean=17,t.Array=18,t.Object=19,t.Key=20,t.Null=21,t.EnumMember=22,t.Struct=23,t.Event=24,t.Operator=25,t.TypeParameter=26})(yy||(yy={}));(function(t){t.Deprecated=1})(xy||(xy={}));(function(t){function e(r,n,i,o,s){let a={name:r,kind:n,location:{uri:o,range:i}};return s&&(a.containerName=s),a}t.create=e})(Ty||(Ty={}));(function(t){function e(r,n,i,o){return o!==void 0?{name:r,kind:n,location:{uri:i,range:o}}:{name:r,kind:n,location:{uri:i}}}t.create=e})(_y||(_y={}));(function(t){function e(n,i,o,s,a,c){let l={name:n,detail:i,kind:o,range:s,selectionRange:a};return c!==void 0&&(l.children=c),l}t.create=e;function r(n){let i=n;return i&&w.string(i.name)&&w.number(i.kind)&&ve.is(i.range)&&ve.is(i.selectionRange)&&(i.detail===void 0||w.string(i.detail))&&(i.deprecated===void 0||w.boolean(i.deprecated))&&(i.children===void 0||Array.isArray(i.children))&&(i.tags===void 0||Array.isArray(i.tags))}t.is=r})(Ey||(Ey={}));(function(t){t.Empty="",t.QuickFix="quickfix",t.Refactor="refactor",t.RefactorExtract="refactor.extract",t.RefactorInline="refactor.inline",t.RefactorRewrite="refactor.rewrite",t.Source="source",t.SourceOrganizeImports="source.organizeImports",t.SourceFixAll="source.fixAll"})(vy||(vy={}));(function(t){t.Invoked=1,t.Automatic=2})(gl||(gl={}));(function(t){function e(n,i,o){let s={diagnostics:n};return i!=null&&(s.only=i),o!=null&&(s.triggerKind=o),s}t.create=e;function r(n){let i=n;return w.defined(i)&&w.typedArray(i.diagnostics,dl.is)&&(i.only===void 0||w.typedArray(i.only,w.string))&&(i.triggerKind===void 0||i.triggerKind===gl.Invoked||i.triggerKind===gl.Automatic)}t.is=r})(Ry||(Ry={}));(function(t){function e(n,i,o){let s={title:n},a=!0;return typeof i=="string"?(a=!1,s.kind=i):ko.is(i)?s.command=i:s.edit=i,a&&o!==void 0&&(s.kind=o),s}t.create=e;function r(n){let i=n;return i&&w.string(i.title)&&(i.diagnostics===void 0||w.typedArray(i.diagnostics,dl.is))&&(i.kind===void 0||w.string(i.kind))&&(i.edit!==void 0||i.command!==void 0)&&(i.command===void 0||ko.is(i.command))&&(i.isPreferred===void 0||w.boolean(i.isPreferred))&&(i.edit===void 0||Ud.is(i.edit))}t.is=r})(wy||(wy={}));(function(t){function e(n,i){let o={range:n};return w.defined(i)&&(o.data=i),o}t.create=e;function r(n){let i=n;return w.defined(i)&&ve.is(i.range)&&(w.undefined(i.command)||ko.is(i.command))}t.is=r})(by||(by={}));(function(t){function e(n,i){return{tabSize:n,insertSpaces:i}}t.create=e;function r(n){let i=n;return w.defined(i)&&w.uinteger(i.tabSize)&&w.boolean(i.insertSpaces)}t.is=r})(Ay||(Ay={}));(function(t){function e(n,i,o){return{range:n,target:i,data:o}}t.create=e;function r(n){let i=n;return w.defined(i)&&ve.is(i.range)&&(w.undefined(i.target)||w.string(i.target))}t.is=r})(Sy||(Sy={}));(function(t){function e(n,i){return{range:n,parent:i}}t.create=e;function r(n){let i=n;return w.objectLiteral(i)&&ve.is(i.range)&&(i.parent===void 0||t.is(i.parent))}t.is=r})(Iy||(Iy={}));(function(t){t.namespace="namespace",t.type="type",t.class="class",t.enum="enum",t.interface="interface",t.struct="struct",t.typeParameter="typeParameter",t.parameter="parameter",t.variable="variable",t.property="property",t.enumMember="enumMember",t.event="event",t.function="function",t.method="method",t.macro="macro",t.keyword="keyword",t.modifier="modifier",t.comment="comment",t.string="string",t.number="number",t.regexp="regexp",t.operator="operator",t.decorator="decorator"})(ky||(ky={}));(function(t){t.declaration="declaration",t.definition="definition",t.readonly="readonly",t.static="static",t.deprecated="deprecated",t.abstract="abstract",t.async="async",t.modification="modification",t.documentation="documentation",t.defaultLibrary="defaultLibrary"})(Ny||(Ny={}));(function(t){function e(r){let n=r;return w.objectLiteral(n)&&(n.resultId===void 0||typeof n.resultId=="string")&&Array.isArray(n.data)&&(n.data.length===0||typeof n.data[0]=="number")}t.is=e})(Py||(Py={}));(function(t){function e(n,i){return{range:n,text:i}}t.create=e;function r(n){let i=n;return i!=null&&ve.is(i.range)&&w.string(i.text)}t.is=r})(Cy||(Cy={}));(function(t){function e(n,i,o){return{range:n,variableName:i,caseSensitiveLookup:o}}t.create=e;function r(n){let i=n;return i!=null&&ve.is(i.range)&&w.boolean(i.caseSensitiveLookup)&&(w.string(i.variableName)||i.variableName===void 0)}t.is=r})(Oy||(Oy={}));(function(t){function e(n,i){return{range:n,expression:i}}t.create=e;function r(n){let i=n;return i!=null&&ve.is(i.range)&&(w.string(i.expression)||i.expression===void 0)}t.is=r})(Ly||(Ly={}));(function(t){function e(n,i){return{frameId:n,stoppedLocation:i}}t.create=e;function r(n){let i=n;return w.defined(i)&&ve.is(n.stoppedLocation)}t.is=r})(Dy||(Dy={}));(function(t){t.Type=1,t.Parameter=2;function e(r){return r===1||r===2}t.is=e})(Xd||(Xd={}));(function(t){function e(n){return{value:n}}t.create=e;function r(n){let i=n;return w.objectLiteral(i)&&(i.tooltip===void 0||w.string(i.tooltip)||ra.is(i.tooltip))&&(i.location===void 0||fl.is(i.location))&&(i.command===void 0||ko.is(i.command))}t.is=r})(Hd||(Hd={}));(function(t){function e(n,i,o){let s={position:n,label:i};return o!==void 0&&(s.kind=o),s}t.create=e;function r(n){let i=n;return w.objectLiteral(i)&&ke.is(i.position)&&(w.string(i.label)||w.typedArray(i.label,Hd.is))&&(i.kind===void 0||Xd.is(i.kind))&&i.textEdits===void 0||w.typedArray(i.textEdits,pn.is)&&(i.tooltip===void 0||w.string(i.tooltip)||ra.is(i.tooltip))&&(i.paddingLeft===void 0||w.boolean(i.paddingLeft))&&(i.paddingRight===void 0||w.boolean(i.paddingRight))}t.is=r})($y||($y={}));(function(t){function e(r){return{kind:"snippet",value:r}}t.createSnippet=e})(My||(My={}));(function(t){function e(r,n,i,o){return{insertText:r,filterText:n,range:i,command:o}}t.create=e})(Fy||(Fy={}));(function(t){function e(r){return{items:r}}t.create=e})(Uy||(Uy={}));(function(t){t.Invoked=0,t.Automatic=1})(By||(By={}));(function(t){function e(r,n){return{range:r,text:n}}t.create=e})(Gy||(Gy={}));(function(t){function e(r,n){return{triggerKind:r,selectedCompletionInfo:n}}t.create=e})(Xy||(Xy={}));(function(t){function e(r){let n=r;return w.objectLiteral(n)&&$d.is(n.uri)&&w.string(n.name)}t.is=e})(Hy||(Hy={}));MF=[`
|
|
1
|
+
/*! @nowline/embed 0.5.1 sha=fc40638 built=2026-06-01T09:54:57Z */
|
|
2
|
+
"use strict";var nowline=(()=>{var NC=Object.create;var vc=Object.defineProperty;var PC=Object.getOwnPropertyDescriptor;var CC=Object.getOwnPropertyNames;var OC=Object.getPrototypeOf,LC=Object.prototype.hasOwnProperty;var DC=(t,e,r)=>e in t?vc(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r;var ZE=(t,e)=>()=>(t&&(e=t(t=0)),e);var fe=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),sn=(t,e)=>{for(var r in e)vc(t,r,{get:e[r],enumerable:!0})},of=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of CC(e))!LC.call(t,i)&&i!==r&&vc(t,i,{get:()=>e[i],enumerable:!(n=PC(e,i))||n.enumerable});return t},Se=(t,e,r)=>(of(t,e,"default"),r&&of(r,e,"default")),mm=(t,e,r)=>(r=t!=null?NC(OC(t)):{},of(e||!t||!t.__esModule?vc(r,"default",{value:t,enumerable:!0}):r,t)),sf=t=>of(vc({},"__esModule",{value:!0}),t);var de=(t,e,r)=>DC(t,typeof e!="symbol"?e+"":e,r);var Vd={};sn(Vd,{AnnotatedTextEdit:()=>qn,ChangeAnnotation:()=>No,ChangeAnnotationIdentifier:()=>Dt,CodeAction:()=>Ny,CodeActionContext:()=>ky,CodeActionKind:()=>Iy,CodeActionTriggerKind:()=>xl,CodeDescription:()=>oy,CodeLens:()=>Py,Color:()=>Gd,ColorInformation:()=>Qg,ColorPresentation:()=>ey,Command:()=>Po,CompletionItem:()=>gy,CompletionItemKind:()=>uy,CompletionItemLabelDetails:()=>my,CompletionItemTag:()=>dy,CompletionList:()=>yy,CreateFile:()=>ra,DeleteFile:()=>ia,Diagnostic:()=>hl,DiagnosticRelatedInformation:()=>Xd,DiagnosticSeverity:()=>ny,DiagnosticTag:()=>iy,DocumentHighlight:()=>vy,DocumentHighlightKind:()=>Ey,DocumentLink:()=>Oy,DocumentSymbol:()=>Sy,DocumentUri:()=>Kg,EOL:()=>qF,FoldingRange:()=>ry,FoldingRangeKind:()=>ty,FormattingOptions:()=>Cy,Hover:()=>xy,InlayHint:()=>Xy,InlayHintKind:()=>qd,InlayHintLabelPart:()=>Wd,InlineCompletionContext:()=>Vy,InlineCompletionItem:()=>jy,InlineCompletionList:()=>zy,InlineCompletionTriggerKind:()=>qy,InlineValueContext:()=>Gy,InlineValueEvaluatableExpression:()=>By,InlineValueText:()=>Fy,InlineValueVariableLookup:()=>Uy,InsertReplaceEdit:()=>py,InsertTextFormat:()=>fy,InsertTextMode:()=>hy,Location:()=>pl,LocationLink:()=>Jg,MarkedString:()=>yl,MarkupContent:()=>oa,MarkupKind:()=>zd,OptionalVersionedTextDocumentIdentifier:()=>gl,ParameterInformation:()=>Ty,Position:()=>Ie,Range:()=>Ee,RenameFile:()=>na,SelectedCompletionInfo:()=>Wy,SelectionRange:()=>Ly,SemanticTokenModifiers:()=>$y,SemanticTokenTypes:()=>Dy,SemanticTokens:()=>My,SignatureInformation:()=>_y,StringValue:()=>Hy,SymbolInformation:()=>wy,SymbolKind:()=>Ry,SymbolTag:()=>by,TextDocument:()=>Ky,TextDocumentEdit:()=>ml,TextDocumentIdentifier:()=>ay,TextDocumentItem:()=>ly,TextEdit:()=>hn,URI:()=>Bd,VersionedTextDocumentIdentifier:()=>cy,WorkspaceChange:()=>sy,WorkspaceEdit:()=>Hd,WorkspaceFolder:()=>Yy,WorkspaceSymbol:()=>Ay,integer:()=>Zg,uinteger:()=>dl});var Kg,Bd,Zg,dl,Ie,Ee,pl,Jg,Gd,Qg,ey,ty,ry,Xd,ny,iy,oy,hl,Po,hn,No,Dt,qn,ml,ra,na,ia,Hd,ta,jd,sy,ay,cy,gl,ly,zd,oa,uy,fy,dy,py,hy,my,gy,yy,yl,xy,Ty,_y,Ey,vy,Ry,by,wy,Ay,Sy,Iy,xl,ky,Ny,Py,Cy,Oy,Ly,Dy,$y,My,Fy,Uy,By,Gy,qd,Wd,Xy,Hy,jy,zy,qy,Wy,Vy,Yy,qF,Ky,Zy,b,sa=ZE(()=>{"use strict";(function(t){function e(r){return typeof r=="string"}t.is=e})(Kg||(Kg={}));(function(t){function e(r){return typeof r=="string"}t.is=e})(Bd||(Bd={}));(function(t){t.MIN_VALUE=-2147483648,t.MAX_VALUE=2147483647;function e(r){return typeof r=="number"&&t.MIN_VALUE<=r&&r<=t.MAX_VALUE}t.is=e})(Zg||(Zg={}));(function(t){t.MIN_VALUE=0,t.MAX_VALUE=2147483647;function e(r){return typeof r=="number"&&t.MIN_VALUE<=r&&r<=t.MAX_VALUE}t.is=e})(dl||(dl={}));(function(t){function e(n,i){return n===Number.MAX_VALUE&&(n=dl.MAX_VALUE),i===Number.MAX_VALUE&&(i=dl.MAX_VALUE),{line:n,character:i}}t.create=e;function r(n){let i=n;return b.objectLiteral(i)&&b.uinteger(i.line)&&b.uinteger(i.character)}t.is=r})(Ie||(Ie={}));(function(t){function e(n,i,o,s){if(b.uinteger(n)&&b.uinteger(i)&&b.uinteger(o)&&b.uinteger(s))return{start:Ie.create(n,i),end:Ie.create(o,s)};if(Ie.is(n)&&Ie.is(i))return{start:n,end:i};throw new Error(`Range#create called with invalid arguments[${n}, ${i}, ${o}, ${s}]`)}t.create=e;function r(n){let i=n;return b.objectLiteral(i)&&Ie.is(i.start)&&Ie.is(i.end)}t.is=r})(Ee||(Ee={}));(function(t){function e(n,i){return{uri:n,range:i}}t.create=e;function r(n){let i=n;return b.objectLiteral(i)&&Ee.is(i.range)&&(b.string(i.uri)||b.undefined(i.uri))}t.is=r})(pl||(pl={}));(function(t){function e(n,i,o,s){return{targetUri:n,targetRange:i,targetSelectionRange:o,originSelectionRange:s}}t.create=e;function r(n){let i=n;return b.objectLiteral(i)&&Ee.is(i.targetRange)&&b.string(i.targetUri)&&Ee.is(i.targetSelectionRange)&&(Ee.is(i.originSelectionRange)||b.undefined(i.originSelectionRange))}t.is=r})(Jg||(Jg={}));(function(t){function e(n,i,o,s){return{red:n,green:i,blue:o,alpha:s}}t.create=e;function r(n){let i=n;return b.objectLiteral(i)&&b.numberRange(i.red,0,1)&&b.numberRange(i.green,0,1)&&b.numberRange(i.blue,0,1)&&b.numberRange(i.alpha,0,1)}t.is=r})(Gd||(Gd={}));(function(t){function e(n,i){return{range:n,color:i}}t.create=e;function r(n){let i=n;return b.objectLiteral(i)&&Ee.is(i.range)&&Gd.is(i.color)}t.is=r})(Qg||(Qg={}));(function(t){function e(n,i,o){return{label:n,textEdit:i,additionalTextEdits:o}}t.create=e;function r(n){let i=n;return b.objectLiteral(i)&&b.string(i.label)&&(b.undefined(i.textEdit)||hn.is(i))&&(b.undefined(i.additionalTextEdits)||b.typedArray(i.additionalTextEdits,hn.is))}t.is=r})(ey||(ey={}));(function(t){t.Comment="comment",t.Imports="imports",t.Region="region"})(ty||(ty={}));(function(t){function e(n,i,o,s,a,c){let l={startLine:n,endLine:i};return b.defined(o)&&(l.startCharacter=o),b.defined(s)&&(l.endCharacter=s),b.defined(a)&&(l.kind=a),b.defined(c)&&(l.collapsedText=c),l}t.create=e;function r(n){let i=n;return b.objectLiteral(i)&&b.uinteger(i.startLine)&&b.uinteger(i.startLine)&&(b.undefined(i.startCharacter)||b.uinteger(i.startCharacter))&&(b.undefined(i.endCharacter)||b.uinteger(i.endCharacter))&&(b.undefined(i.kind)||b.string(i.kind))}t.is=r})(ry||(ry={}));(function(t){function e(n,i){return{location:n,message:i}}t.create=e;function r(n){let i=n;return b.defined(i)&&pl.is(i.location)&&b.string(i.message)}t.is=r})(Xd||(Xd={}));(function(t){t.Error=1,t.Warning=2,t.Information=3,t.Hint=4})(ny||(ny={}));(function(t){t.Unnecessary=1,t.Deprecated=2})(iy||(iy={}));(function(t){function e(r){let n=r;return b.objectLiteral(n)&&b.string(n.href)}t.is=e})(oy||(oy={}));(function(t){function e(n,i,o,s,a,c){let l={range:n,message:i};return b.defined(o)&&(l.severity=o),b.defined(s)&&(l.code=s),b.defined(a)&&(l.source=a),b.defined(c)&&(l.relatedInformation=c),l}t.create=e;function r(n){var i;let o=n;return b.defined(o)&&Ee.is(o.range)&&b.string(o.message)&&(b.number(o.severity)||b.undefined(o.severity))&&(b.integer(o.code)||b.string(o.code)||b.undefined(o.code))&&(b.undefined(o.codeDescription)||b.string((i=o.codeDescription)===null||i===void 0?void 0:i.href))&&(b.string(o.source)||b.undefined(o.source))&&(b.undefined(o.relatedInformation)||b.typedArray(o.relatedInformation,Xd.is))}t.is=r})(hl||(hl={}));(function(t){function e(n,i,...o){let s={title:n,command:i};return b.defined(o)&&o.length>0&&(s.arguments=o),s}t.create=e;function r(n){let i=n;return b.defined(i)&&b.string(i.title)&&b.string(i.command)}t.is=r})(Po||(Po={}));(function(t){function e(o,s){return{range:o,newText:s}}t.replace=e;function r(o,s){return{range:{start:o,end:o},newText:s}}t.insert=r;function n(o){return{range:o,newText:""}}t.del=n;function i(o){let s=o;return b.objectLiteral(s)&&b.string(s.newText)&&Ee.is(s.range)}t.is=i})(hn||(hn={}));(function(t){function e(n,i,o){let s={label:n};return i!==void 0&&(s.needsConfirmation=i),o!==void 0&&(s.description=o),s}t.create=e;function r(n){let i=n;return b.objectLiteral(i)&&b.string(i.label)&&(b.boolean(i.needsConfirmation)||i.needsConfirmation===void 0)&&(b.string(i.description)||i.description===void 0)}t.is=r})(No||(No={}));(function(t){function e(r){let n=r;return b.string(n)}t.is=e})(Dt||(Dt={}));(function(t){function e(o,s,a){return{range:o,newText:s,annotationId:a}}t.replace=e;function r(o,s,a){return{range:{start:o,end:o},newText:s,annotationId:a}}t.insert=r;function n(o,s){return{range:o,newText:"",annotationId:s}}t.del=n;function i(o){let s=o;return hn.is(s)&&(No.is(s.annotationId)||Dt.is(s.annotationId))}t.is=i})(qn||(qn={}));(function(t){function e(n,i){return{textDocument:n,edits:i}}t.create=e;function r(n){let i=n;return b.defined(i)&&gl.is(i.textDocument)&&Array.isArray(i.edits)}t.is=r})(ml||(ml={}));(function(t){function e(n,i,o){let s={kind:"create",uri:n};return i!==void 0&&(i.overwrite!==void 0||i.ignoreIfExists!==void 0)&&(s.options=i),o!==void 0&&(s.annotationId=o),s}t.create=e;function r(n){let i=n;return i&&i.kind==="create"&&b.string(i.uri)&&(i.options===void 0||(i.options.overwrite===void 0||b.boolean(i.options.overwrite))&&(i.options.ignoreIfExists===void 0||b.boolean(i.options.ignoreIfExists)))&&(i.annotationId===void 0||Dt.is(i.annotationId))}t.is=r})(ra||(ra={}));(function(t){function e(n,i,o,s){let a={kind:"rename",oldUri:n,newUri:i};return o!==void 0&&(o.overwrite!==void 0||o.ignoreIfExists!==void 0)&&(a.options=o),s!==void 0&&(a.annotationId=s),a}t.create=e;function r(n){let i=n;return i&&i.kind==="rename"&&b.string(i.oldUri)&&b.string(i.newUri)&&(i.options===void 0||(i.options.overwrite===void 0||b.boolean(i.options.overwrite))&&(i.options.ignoreIfExists===void 0||b.boolean(i.options.ignoreIfExists)))&&(i.annotationId===void 0||Dt.is(i.annotationId))}t.is=r})(na||(na={}));(function(t){function e(n,i,o){let s={kind:"delete",uri:n};return i!==void 0&&(i.recursive!==void 0||i.ignoreIfNotExists!==void 0)&&(s.options=i),o!==void 0&&(s.annotationId=o),s}t.create=e;function r(n){let i=n;return i&&i.kind==="delete"&&b.string(i.uri)&&(i.options===void 0||(i.options.recursive===void 0||b.boolean(i.options.recursive))&&(i.options.ignoreIfNotExists===void 0||b.boolean(i.options.ignoreIfNotExists)))&&(i.annotationId===void 0||Dt.is(i.annotationId))}t.is=r})(ia||(ia={}));(function(t){function e(r){let n=r;return n&&(n.changes!==void 0||n.documentChanges!==void 0)&&(n.documentChanges===void 0||n.documentChanges.every(i=>b.string(i.kind)?ra.is(i)||na.is(i)||ia.is(i):ml.is(i)))}t.is=e})(Hd||(Hd={}));ta=class{constructor(e,r){this.edits=e,this.changeAnnotations=r}insert(e,r,n){let i,o;if(n===void 0?i=hn.insert(e,r):Dt.is(n)?(o=n,i=qn.insert(e,r,n)):(this.assertChangeAnnotations(this.changeAnnotations),o=this.changeAnnotations.manage(n),i=qn.insert(e,r,o)),this.edits.push(i),o!==void 0)return o}replace(e,r,n){let i,o;if(n===void 0?i=hn.replace(e,r):Dt.is(n)?(o=n,i=qn.replace(e,r,n)):(this.assertChangeAnnotations(this.changeAnnotations),o=this.changeAnnotations.manage(n),i=qn.replace(e,r,o)),this.edits.push(i),o!==void 0)return o}delete(e,r){let n,i;if(r===void 0?n=hn.del(e):Dt.is(r)?(i=r,n=qn.del(e,r)):(this.assertChangeAnnotations(this.changeAnnotations),i=this.changeAnnotations.manage(r),n=qn.del(e,i)),this.edits.push(n),i!==void 0)return i}add(e){this.edits.push(e)}all(){return this.edits}clear(){this.edits.splice(0,this.edits.length)}assertChangeAnnotations(e){if(e===void 0)throw new Error("Text edit change is not configured to manage change annotations.")}},jd=class{constructor(e){this._annotations=e===void 0?Object.create(null):e,this._counter=0,this._size=0}all(){return this._annotations}get size(){return this._size}manage(e,r){let n;if(Dt.is(e)?n=e:(n=this.nextId(),r=e),this._annotations[n]!==void 0)throw new Error(`Id ${n} is already in use.`);if(r===void 0)throw new Error(`No annotation provided for id ${n}`);return this._annotations[n]=r,this._size++,n}nextId(){return this._counter++,this._counter.toString()}},sy=class{constructor(e){this._textEditChanges=Object.create(null),e!==void 0?(this._workspaceEdit=e,e.documentChanges?(this._changeAnnotations=new jd(e.changeAnnotations),e.changeAnnotations=this._changeAnnotations.all(),e.documentChanges.forEach(r=>{if(ml.is(r)){let n=new ta(r.edits,this._changeAnnotations);this._textEditChanges[r.textDocument.uri]=n}})):e.changes&&Object.keys(e.changes).forEach(r=>{let n=new ta(e.changes[r]);this._textEditChanges[r]=n})):this._workspaceEdit={}}get edit(){return this.initDocumentChanges(),this._changeAnnotations!==void 0&&(this._changeAnnotations.size===0?this._workspaceEdit.changeAnnotations=void 0:this._workspaceEdit.changeAnnotations=this._changeAnnotations.all()),this._workspaceEdit}getTextEditChange(e){if(gl.is(e)){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let r={uri:e.uri,version:e.version},n=this._textEditChanges[r.uri];if(!n){let i=[],o={textDocument:r,edits:i};this._workspaceEdit.documentChanges.push(o),n=new ta(i,this._changeAnnotations),this._textEditChanges[r.uri]=n}return n}else{if(this.initChanges(),this._workspaceEdit.changes===void 0)throw new Error("Workspace edit is not configured for normal text edit changes.");let r=this._textEditChanges[e];if(!r){let n=[];this._workspaceEdit.changes[e]=n,r=new ta(n),this._textEditChanges[e]=r}return r}}initDocumentChanges(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._changeAnnotations=new jd,this._workspaceEdit.documentChanges=[],this._workspaceEdit.changeAnnotations=this._changeAnnotations.all())}initChanges(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._workspaceEdit.changes=Object.create(null))}createFile(e,r,n){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let i;No.is(r)||Dt.is(r)?i=r:n=r;let o,s;if(i===void 0?o=ra.create(e,n):(s=Dt.is(i)?i:this._changeAnnotations.manage(i),o=ra.create(e,n,s)),this._workspaceEdit.documentChanges.push(o),s!==void 0)return s}renameFile(e,r,n,i){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let o;No.is(n)||Dt.is(n)?o=n:i=n;let s,a;if(o===void 0?s=na.create(e,r,i):(a=Dt.is(o)?o:this._changeAnnotations.manage(o),s=na.create(e,r,i,a)),this._workspaceEdit.documentChanges.push(s),a!==void 0)return a}deleteFile(e,r,n){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let i;No.is(r)||Dt.is(r)?i=r:n=r;let o,s;if(i===void 0?o=ia.create(e,n):(s=Dt.is(i)?i:this._changeAnnotations.manage(i),o=ia.create(e,n,s)),this._workspaceEdit.documentChanges.push(o),s!==void 0)return s}};(function(t){function e(n){return{uri:n}}t.create=e;function r(n){let i=n;return b.defined(i)&&b.string(i.uri)}t.is=r})(ay||(ay={}));(function(t){function e(n,i){return{uri:n,version:i}}t.create=e;function r(n){let i=n;return b.defined(i)&&b.string(i.uri)&&b.integer(i.version)}t.is=r})(cy||(cy={}));(function(t){function e(n,i){return{uri:n,version:i}}t.create=e;function r(n){let i=n;return b.defined(i)&&b.string(i.uri)&&(i.version===null||b.integer(i.version))}t.is=r})(gl||(gl={}));(function(t){function e(n,i,o,s){return{uri:n,languageId:i,version:o,text:s}}t.create=e;function r(n){let i=n;return b.defined(i)&&b.string(i.uri)&&b.string(i.languageId)&&b.integer(i.version)&&b.string(i.text)}t.is=r})(ly||(ly={}));(function(t){t.PlainText="plaintext",t.Markdown="markdown";function e(r){let n=r;return n===t.PlainText||n===t.Markdown}t.is=e})(zd||(zd={}));(function(t){function e(r){let n=r;return b.objectLiteral(r)&&zd.is(n.kind)&&b.string(n.value)}t.is=e})(oa||(oa={}));(function(t){t.Text=1,t.Method=2,t.Function=3,t.Constructor=4,t.Field=5,t.Variable=6,t.Class=7,t.Interface=8,t.Module=9,t.Property=10,t.Unit=11,t.Value=12,t.Enum=13,t.Keyword=14,t.Snippet=15,t.Color=16,t.File=17,t.Reference=18,t.Folder=19,t.EnumMember=20,t.Constant=21,t.Struct=22,t.Event=23,t.Operator=24,t.TypeParameter=25})(uy||(uy={}));(function(t){t.PlainText=1,t.Snippet=2})(fy||(fy={}));(function(t){t.Deprecated=1})(dy||(dy={}));(function(t){function e(n,i,o){return{newText:n,insert:i,replace:o}}t.create=e;function r(n){let i=n;return i&&b.string(i.newText)&&Ee.is(i.insert)&&Ee.is(i.replace)}t.is=r})(py||(py={}));(function(t){t.asIs=1,t.adjustIndentation=2})(hy||(hy={}));(function(t){function e(r){let n=r;return n&&(b.string(n.detail)||n.detail===void 0)&&(b.string(n.description)||n.description===void 0)}t.is=e})(my||(my={}));(function(t){function e(r){return{label:r}}t.create=e})(gy||(gy={}));(function(t){function e(r,n){return{items:r||[],isIncomplete:!!n}}t.create=e})(yy||(yy={}));(function(t){function e(n){return n.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}t.fromPlainText=e;function r(n){let i=n;return b.string(i)||b.objectLiteral(i)&&b.string(i.language)&&b.string(i.value)}t.is=r})(yl||(yl={}));(function(t){function e(r){let n=r;return!!n&&b.objectLiteral(n)&&(oa.is(n.contents)||yl.is(n.contents)||b.typedArray(n.contents,yl.is))&&(r.range===void 0||Ee.is(r.range))}t.is=e})(xy||(xy={}));(function(t){function e(r,n){return n?{label:r,documentation:n}:{label:r}}t.create=e})(Ty||(Ty={}));(function(t){function e(r,n,...i){let o={label:r};return b.defined(n)&&(o.documentation=n),b.defined(i)?o.parameters=i:o.parameters=[],o}t.create=e})(_y||(_y={}));(function(t){t.Text=1,t.Read=2,t.Write=3})(Ey||(Ey={}));(function(t){function e(r,n){let i={range:r};return b.number(n)&&(i.kind=n),i}t.create=e})(vy||(vy={}));(function(t){t.File=1,t.Module=2,t.Namespace=3,t.Package=4,t.Class=5,t.Method=6,t.Property=7,t.Field=8,t.Constructor=9,t.Enum=10,t.Interface=11,t.Function=12,t.Variable=13,t.Constant=14,t.String=15,t.Number=16,t.Boolean=17,t.Array=18,t.Object=19,t.Key=20,t.Null=21,t.EnumMember=22,t.Struct=23,t.Event=24,t.Operator=25,t.TypeParameter=26})(Ry||(Ry={}));(function(t){t.Deprecated=1})(by||(by={}));(function(t){function e(r,n,i,o,s){let a={name:r,kind:n,location:{uri:o,range:i}};return s&&(a.containerName=s),a}t.create=e})(wy||(wy={}));(function(t){function e(r,n,i,o){return o!==void 0?{name:r,kind:n,location:{uri:i,range:o}}:{name:r,kind:n,location:{uri:i}}}t.create=e})(Ay||(Ay={}));(function(t){function e(n,i,o,s,a,c){let l={name:n,detail:i,kind:o,range:s,selectionRange:a};return c!==void 0&&(l.children=c),l}t.create=e;function r(n){let i=n;return i&&b.string(i.name)&&b.number(i.kind)&&Ee.is(i.range)&&Ee.is(i.selectionRange)&&(i.detail===void 0||b.string(i.detail))&&(i.deprecated===void 0||b.boolean(i.deprecated))&&(i.children===void 0||Array.isArray(i.children))&&(i.tags===void 0||Array.isArray(i.tags))}t.is=r})(Sy||(Sy={}));(function(t){t.Empty="",t.QuickFix="quickfix",t.Refactor="refactor",t.RefactorExtract="refactor.extract",t.RefactorInline="refactor.inline",t.RefactorRewrite="refactor.rewrite",t.Source="source",t.SourceOrganizeImports="source.organizeImports",t.SourceFixAll="source.fixAll"})(Iy||(Iy={}));(function(t){t.Invoked=1,t.Automatic=2})(xl||(xl={}));(function(t){function e(n,i,o){let s={diagnostics:n};return i!=null&&(s.only=i),o!=null&&(s.triggerKind=o),s}t.create=e;function r(n){let i=n;return b.defined(i)&&b.typedArray(i.diagnostics,hl.is)&&(i.only===void 0||b.typedArray(i.only,b.string))&&(i.triggerKind===void 0||i.triggerKind===xl.Invoked||i.triggerKind===xl.Automatic)}t.is=r})(ky||(ky={}));(function(t){function e(n,i,o){let s={title:n},a=!0;return typeof i=="string"?(a=!1,s.kind=i):Po.is(i)?s.command=i:s.edit=i,a&&o!==void 0&&(s.kind=o),s}t.create=e;function r(n){let i=n;return i&&b.string(i.title)&&(i.diagnostics===void 0||b.typedArray(i.diagnostics,hl.is))&&(i.kind===void 0||b.string(i.kind))&&(i.edit!==void 0||i.command!==void 0)&&(i.command===void 0||Po.is(i.command))&&(i.isPreferred===void 0||b.boolean(i.isPreferred))&&(i.edit===void 0||Hd.is(i.edit))}t.is=r})(Ny||(Ny={}));(function(t){function e(n,i){let o={range:n};return b.defined(i)&&(o.data=i),o}t.create=e;function r(n){let i=n;return b.defined(i)&&Ee.is(i.range)&&(b.undefined(i.command)||Po.is(i.command))}t.is=r})(Py||(Py={}));(function(t){function e(n,i){return{tabSize:n,insertSpaces:i}}t.create=e;function r(n){let i=n;return b.defined(i)&&b.uinteger(i.tabSize)&&b.boolean(i.insertSpaces)}t.is=r})(Cy||(Cy={}));(function(t){function e(n,i,o){return{range:n,target:i,data:o}}t.create=e;function r(n){let i=n;return b.defined(i)&&Ee.is(i.range)&&(b.undefined(i.target)||b.string(i.target))}t.is=r})(Oy||(Oy={}));(function(t){function e(n,i){return{range:n,parent:i}}t.create=e;function r(n){let i=n;return b.objectLiteral(i)&&Ee.is(i.range)&&(i.parent===void 0||t.is(i.parent))}t.is=r})(Ly||(Ly={}));(function(t){t.namespace="namespace",t.type="type",t.class="class",t.enum="enum",t.interface="interface",t.struct="struct",t.typeParameter="typeParameter",t.parameter="parameter",t.variable="variable",t.property="property",t.enumMember="enumMember",t.event="event",t.function="function",t.method="method",t.macro="macro",t.keyword="keyword",t.modifier="modifier",t.comment="comment",t.string="string",t.number="number",t.regexp="regexp",t.operator="operator",t.decorator="decorator"})(Dy||(Dy={}));(function(t){t.declaration="declaration",t.definition="definition",t.readonly="readonly",t.static="static",t.deprecated="deprecated",t.abstract="abstract",t.async="async",t.modification="modification",t.documentation="documentation",t.defaultLibrary="defaultLibrary"})($y||($y={}));(function(t){function e(r){let n=r;return b.objectLiteral(n)&&(n.resultId===void 0||typeof n.resultId=="string")&&Array.isArray(n.data)&&(n.data.length===0||typeof n.data[0]=="number")}t.is=e})(My||(My={}));(function(t){function e(n,i){return{range:n,text:i}}t.create=e;function r(n){let i=n;return i!=null&&Ee.is(i.range)&&b.string(i.text)}t.is=r})(Fy||(Fy={}));(function(t){function e(n,i,o){return{range:n,variableName:i,caseSensitiveLookup:o}}t.create=e;function r(n){let i=n;return i!=null&&Ee.is(i.range)&&b.boolean(i.caseSensitiveLookup)&&(b.string(i.variableName)||i.variableName===void 0)}t.is=r})(Uy||(Uy={}));(function(t){function e(n,i){return{range:n,expression:i}}t.create=e;function r(n){let i=n;return i!=null&&Ee.is(i.range)&&(b.string(i.expression)||i.expression===void 0)}t.is=r})(By||(By={}));(function(t){function e(n,i){return{frameId:n,stoppedLocation:i}}t.create=e;function r(n){let i=n;return b.defined(i)&&Ee.is(n.stoppedLocation)}t.is=r})(Gy||(Gy={}));(function(t){t.Type=1,t.Parameter=2;function e(r){return r===1||r===2}t.is=e})(qd||(qd={}));(function(t){function e(n){return{value:n}}t.create=e;function r(n){let i=n;return b.objectLiteral(i)&&(i.tooltip===void 0||b.string(i.tooltip)||oa.is(i.tooltip))&&(i.location===void 0||pl.is(i.location))&&(i.command===void 0||Po.is(i.command))}t.is=r})(Wd||(Wd={}));(function(t){function e(n,i,o){let s={position:n,label:i};return o!==void 0&&(s.kind=o),s}t.create=e;function r(n){let i=n;return b.objectLiteral(i)&&Ie.is(i.position)&&(b.string(i.label)||b.typedArray(i.label,Wd.is))&&(i.kind===void 0||qd.is(i.kind))&&i.textEdits===void 0||b.typedArray(i.textEdits,hn.is)&&(i.tooltip===void 0||b.string(i.tooltip)||oa.is(i.tooltip))&&(i.paddingLeft===void 0||b.boolean(i.paddingLeft))&&(i.paddingRight===void 0||b.boolean(i.paddingRight))}t.is=r})(Xy||(Xy={}));(function(t){function e(r){return{kind:"snippet",value:r}}t.createSnippet=e})(Hy||(Hy={}));(function(t){function e(r,n,i,o){return{insertText:r,filterText:n,range:i,command:o}}t.create=e})(jy||(jy={}));(function(t){function e(r){return{items:r}}t.create=e})(zy||(zy={}));(function(t){t.Invoked=0,t.Automatic=1})(qy||(qy={}));(function(t){function e(r,n){return{range:r,text:n}}t.create=e})(Wy||(Wy={}));(function(t){function e(r,n){return{triggerKind:r,selectedCompletionInfo:n}}t.create=e})(Vy||(Vy={}));(function(t){function e(r){let n=r;return b.objectLiteral(n)&&Bd.is(n.uri)&&b.string(n.name)}t.is=e})(Yy||(Yy={}));qF=[`
|
|
3
3
|
`,`\r
|
|
4
|
-
`,"\r"];(function(t){function e(o,s,a,c){return new
|
|
4
|
+
`,"\r"];(function(t){function e(o,s,a,c){return new Zy(o,s,a,c)}t.create=e;function r(o){let s=o;return!!(b.defined(s)&&b.string(s.uri)&&(b.undefined(s.languageId)||b.string(s.languageId))&&b.uinteger(s.lineCount)&&b.func(s.getText)&&b.func(s.positionAt)&&b.func(s.offsetAt))}t.is=r;function n(o,s){let a=o.getText(),c=i(s,(u,f)=>{let d=u.range.start.line-f.range.start.line;return d===0?u.range.start.character-f.range.start.character:d}),l=a.length;for(let u=c.length-1;u>=0;u--){let f=c[u],d=o.offsetAt(f.range.start),p=o.offsetAt(f.range.end);if(p<=l)a=a.substring(0,d)+f.newText+a.substring(p,a.length);else throw new Error("Overlapping edit");l=d}return a}t.applyEdits=n;function i(o,s){if(o.length<=1)return o;let a=o.length/2|0,c=o.slice(0,a),l=o.slice(a);i(c,s),i(l,s);let u=0,f=0,d=0;for(;u<c.length&&f<l.length;)s(c[u],l[f])<=0?o[d++]=c[u++]:o[d++]=l[f++];for(;u<c.length;)o[d++]=c[u++];for(;f<l.length;)o[d++]=l[f++];return o}})(Ky||(Ky={}));Zy=class{constructor(e,r,n,i){this._uri=e,this._languageId=r,this._version=n,this._content=i,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){let r=this.offsetAt(e.start),n=this.offsetAt(e.end);return this._content.substring(r,n)}return this._content}update(e,r){this._content=e.text,this._version=r,this._lineOffsets=void 0}getLineOffsets(){if(this._lineOffsets===void 0){let e=[],r=this._content,n=!0;for(let i=0;i<r.length;i++){n&&(e.push(i),n=!1);let o=r.charAt(i);n=o==="\r"||o===`
|
|
5
5
|
`,o==="\r"&&i+1<r.length&&r.charAt(i+1)===`
|
|
6
|
-
`&&i++}n&&r.length>0&&e.push(r.length),this._lineOffsets=e}return this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let r=this.getLineOffsets(),n=0,i=r.length;if(i===0)return ke.create(0,e);for(;n<i;){let s=Math.floor((n+i)/2);r[s]>e?i=s:n=s+1}let o=n-1;return ke.create(o,e-r[o])}offsetAt(e){let r=this.getLineOffsets();if(e.line>=r.length)return this._content.length;if(e.line<0)return 0;let n=r[e.line],i=e.line+1<r.length?r[e.line+1]:this._content.length;return Math.max(Math.min(n+e.character,i),n)}get lineCount(){return this.getLineOffsets().length}};(function(t){let e=Object.prototype.toString;function r(p){return typeof p<"u"}t.defined=r;function n(p){return typeof p>"u"}t.undefined=n;function i(p){return p===!0||p===!1}t.boolean=i;function o(p){return e.call(p)==="[object String]"}t.string=o;function s(p){return e.call(p)==="[object Number]"}t.number=s;function a(p,m,g){return e.call(p)==="[object Number]"&&m<=p&&p<=g}t.numberRange=a;function c(p){return e.call(p)==="[object Number]"&&-2147483648<=p&&p<=2147483647}t.integer=c;function l(p){return e.call(p)==="[object Number]"&&0<=p&&p<=2147483647}t.uinteger=l;function u(p){return e.call(p)==="[object Function]"}t.func=u;function f(p){return p!==null&&typeof p=="object"}t.objectLiteral=f;function d(p,m){return Array.isArray(p)&&p.every(m)}t.typedArray=d})(w||(w={}))});var rx=ue(tx=>{"use strict";Object.defineProperty(tx,"__esModule",{value:!0});var Qy;function ex(){if(Qy===void 0)throw new Error("No runtime abstraction layer installed");return Qy}(function(t){function e(r){if(r===void 0)throw new Error("No runtime abstraction layer provided");Qy=r}t.install=e})(ex||(ex={}));tx.default=ex});var Ww=ue(Bt=>{"use strict";Object.defineProperty(Bt,"__esModule",{value:!0});Bt.stringArray=Bt.array=Bt.func=Bt.error=Bt.number=Bt.string=Bt.boolean=void 0;function YF(t){return t===!0||t===!1}Bt.boolean=YF;function zw(t){return typeof t=="string"||t instanceof String}Bt.string=zw;function KF(t){return typeof t=="number"||t instanceof Number}Bt.number=KF;function ZF(t){return t instanceof Error}Bt.error=ZF;function JF(t){return typeof t=="function"}Bt.func=JF;function qw(t){return Array.isArray(t)}Bt.array=qw;function QF(t){return qw(t)&&t.every(e=>zw(e))}Bt.stringArray=QF});var ix=ue(sa=>{"use strict";Object.defineProperty(sa,"__esModule",{value:!0});sa.Emitter=sa.Event=void 0;var e2=rx(),Vw;(function(t){let e={dispose(){}};t.None=function(){return e}})(Vw||(sa.Event=Vw={}));var nx=class{add(e,r=null,n){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(e),this._contexts.push(r),Array.isArray(n)&&n.push({dispose:()=>this.remove(e,r)})}remove(e,r=null){if(!this._callbacks)return;let n=!1;for(let i=0,o=this._callbacks.length;i<o;i++)if(this._callbacks[i]===e)if(this._contexts[i]===r){this._callbacks.splice(i,1),this._contexts.splice(i,1);return}else n=!0;if(n)throw new Error("When adding a listener with a context, you should remove it with the same context")}invoke(...e){if(!this._callbacks)return[];let r=[],n=this._callbacks.slice(0),i=this._contexts.slice(0);for(let o=0,s=n.length;o<s;o++)try{r.push(n[o].apply(i[o],e))}catch(a){(0,e2.default)().console.error(a)}return r}isEmpty(){return!this._callbacks||this._callbacks.length===0}dispose(){this._callbacks=void 0,this._contexts=void 0}},Yd=class t{constructor(e){this._options=e}get event(){return this._event||(this._event=(e,r,n)=>{this._callbacks||(this._callbacks=new nx),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(e,r);let i={dispose:()=>{this._callbacks&&(this._callbacks.remove(e,r),i.dispose=t._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))}};return Array.isArray(n)&&n.push(i),i}),this._event}fire(e){this._callbacks&&this._callbacks.invoke.call(this._callbacks,e)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}};sa.Emitter=Yd;Yd._noop=function(){}});var Yw=ue(aa=>{"use strict";Object.defineProperty(aa,"__esModule",{value:!0});aa.CancellationTokenSource=aa.CancellationToken=void 0;var t2=rx(),r2=Ww(),ox=ix(),Kd;(function(t){t.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:ox.Event.None}),t.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:ox.Event.None});function e(r){let n=r;return n&&(n===t.None||n===t.Cancelled||r2.boolean(n.isCancellationRequested)&&!!n.onCancellationRequested)}t.is=e})(Kd||(aa.CancellationToken=Kd={}));var n2=Object.freeze(function(t,e){let r=(0,t2.default)().timer.setTimeout(t.bind(e),0);return{dispose(){r.dispose()}}}),Zd=class{constructor(){this._isCancelled=!1}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?n2:(this._emitter||(this._emitter=new ox.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}},sx=class{get token(){return this._token||(this._token=new Zd),this._token}cancel(){this._token?this._token.cancel():this._token=Kd.Cancelled}dispose(){this._token?this._token instanceof Zd&&this._token.dispose():this._token=Kd.None}};aa.CancellationTokenSource=sx});var ha=ue(Xt=>{"use strict";Object.defineProperty(Xt,"__esModule",{value:!0});Xt.stringArray=Xt.array=Xt.func=Xt.error=Xt.number=Xt.string=Xt.boolean=void 0;function s2(t){return t===!0||t===!1}Xt.boolean=s2;function ab(t){return typeof t=="string"||t instanceof String}Xt.string=ab;function a2(t){return typeof t=="number"||t instanceof Number}Xt.number=a2;function c2(t){return t instanceof Error}Xt.error=c2;function l2(t){return typeof t=="function"}Xt.func=l2;function cb(t){return Array.isArray(t)}Xt.array=cb;function u2(t){return cb(t)&&t.every(e=>ab(e))}Xt.stringArray=u2});var Dx=ue(re=>{"use strict";Object.defineProperty(re,"__esModule",{value:!0});re.Message=re.NotificationType9=re.NotificationType8=re.NotificationType7=re.NotificationType6=re.NotificationType5=re.NotificationType4=re.NotificationType3=re.NotificationType2=re.NotificationType1=re.NotificationType0=re.NotificationType=re.RequestType9=re.RequestType8=re.RequestType7=re.RequestType6=re.RequestType5=re.RequestType4=re.RequestType3=re.RequestType2=re.RequestType1=re.RequestType=re.RequestType0=re.AbstractMessageSignature=re.ParameterStructures=re.ResponseError=re.ErrorCodes=void 0;var Uo=ha(),fx;(function(t){t.ParseError=-32700,t.InvalidRequest=-32600,t.MethodNotFound=-32601,t.InvalidParams=-32602,t.InternalError=-32603,t.jsonrpcReservedErrorRangeStart=-32099,t.serverErrorStart=-32099,t.MessageWriteError=-32099,t.MessageReadError=-32098,t.PendingResponseRejected=-32097,t.ConnectionInactive=-32096,t.ServerNotInitialized=-32002,t.UnknownErrorCode=-32001,t.jsonrpcReservedErrorRangeEnd=-32e3,t.serverErrorEnd=-32e3})(fx||(re.ErrorCodes=fx={}));var dx=class t extends Error{constructor(e,r,n){super(r),this.code=Uo.number(e)?e:fx.UnknownErrorCode,this.data=n,Object.setPrototypeOf(this,t.prototype)}toJson(){let e={code:this.code,message:this.message};return this.data!==void 0&&(e.data=this.data),e}};re.ResponseError=dx;var nr=class t{constructor(e){this.kind=e}static is(e){return e===t.auto||e===t.byName||e===t.byPosition}toString(){return this.kind}};re.ParameterStructures=nr;nr.auto=new nr("auto");nr.byPosition=new nr("byPosition");nr.byName=new nr("byName");var ot=class{constructor(e,r){this.method=e,this.numberOfParams=r}get parameterStructures(){return nr.auto}};re.AbstractMessageSignature=ot;var px=class extends ot{constructor(e){super(e,0)}};re.RequestType0=px;var hx=class extends ot{constructor(e,r=nr.auto){super(e,1),this._parameterStructures=r}get parameterStructures(){return this._parameterStructures}};re.RequestType=hx;var mx=class extends ot{constructor(e,r=nr.auto){super(e,1),this._parameterStructures=r}get parameterStructures(){return this._parameterStructures}};re.RequestType1=mx;var gx=class extends ot{constructor(e){super(e,2)}};re.RequestType2=gx;var yx=class extends ot{constructor(e){super(e,3)}};re.RequestType3=yx;var xx=class extends ot{constructor(e){super(e,4)}};re.RequestType4=xx;var Tx=class extends ot{constructor(e){super(e,5)}};re.RequestType5=Tx;var _x=class extends ot{constructor(e){super(e,6)}};re.RequestType6=_x;var Ex=class extends ot{constructor(e){super(e,7)}};re.RequestType7=Ex;var vx=class extends ot{constructor(e){super(e,8)}};re.RequestType8=vx;var Rx=class extends ot{constructor(e){super(e,9)}};re.RequestType9=Rx;var wx=class extends ot{constructor(e,r=nr.auto){super(e,1),this._parameterStructures=r}get parameterStructures(){return this._parameterStructures}};re.NotificationType=wx;var bx=class extends ot{constructor(e){super(e,0)}};re.NotificationType0=bx;var Ax=class extends ot{constructor(e,r=nr.auto){super(e,1),this._parameterStructures=r}get parameterStructures(){return this._parameterStructures}};re.NotificationType1=Ax;var Sx=class extends ot{constructor(e){super(e,2)}};re.NotificationType2=Sx;var Ix=class extends ot{constructor(e){super(e,3)}};re.NotificationType3=Ix;var kx=class extends ot{constructor(e){super(e,4)}};re.NotificationType4=kx;var Nx=class extends ot{constructor(e){super(e,5)}};re.NotificationType5=Nx;var Px=class extends ot{constructor(e){super(e,6)}};re.NotificationType6=Px;var Cx=class extends ot{constructor(e){super(e,7)}};re.NotificationType7=Cx;var Ox=class extends ot{constructor(e){super(e,8)}};re.NotificationType8=Ox;var Lx=class extends ot{constructor(e){super(e,9)}};re.NotificationType9=Lx;var lb;(function(t){function e(i){let o=i;return o&&Uo.string(o.method)&&(Uo.string(o.id)||Uo.number(o.id))}t.isRequest=e;function r(i){let o=i;return o&&Uo.string(o.method)&&i.id===void 0}t.isNotification=r;function n(i){let o=i;return o&&(o.result!==void 0||!!o.error)&&(Uo.string(o.id)||Uo.number(o.id)||o.id===null)}t.isResponse=n})(lb||(re.Message=lb={}))});var Mx=ue(Ii=>{"use strict";var ub;Object.defineProperty(Ii,"__esModule",{value:!0});Ii.LRUCache=Ii.LinkedMap=Ii.Touch=void 0;var Ht;(function(t){t.None=0,t.First=1,t.AsOld=t.First,t.Last=2,t.AsNew=t.Last})(Ht||(Ii.Touch=Ht={}));var ip=class{constructor(){this[ub]="LinkedMap",this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0,this._state=0}clear(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0,this._state++}isEmpty(){return!this._head&&!this._tail}get size(){return this._size}get first(){return this._head?.value}get last(){return this._tail?.value}has(e){return this._map.has(e)}get(e,r=Ht.None){let n=this._map.get(e);if(n)return r!==Ht.None&&this.touch(n,r),n.value}set(e,r,n=Ht.None){let i=this._map.get(e);if(i)i.value=r,n!==Ht.None&&this.touch(i,n);else{switch(i={key:e,value:r,next:void 0,previous:void 0},n){case Ht.None:this.addItemLast(i);break;case Ht.First:this.addItemFirst(i);break;case Ht.Last:this.addItemLast(i);break;default:this.addItemLast(i);break}this._map.set(e,i),this._size++}return this}delete(e){return!!this.remove(e)}remove(e){let r=this._map.get(e);if(r)return this._map.delete(e),this.removeItem(r),this._size--,r.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");let e=this._head;return this._map.delete(e.key),this.removeItem(e),this._size--,e.value}forEach(e,r){let n=this._state,i=this._head;for(;i;){if(r?e.bind(r)(i.value,i.key,this):e(i.value,i.key,this),this._state!==n)throw new Error("LinkedMap got modified during iteration.");i=i.next}}keys(){let e=this._state,r=this._head,n={[Symbol.iterator]:()=>n,next:()=>{if(this._state!==e)throw new Error("LinkedMap got modified during iteration.");if(r){let i={value:r.key,done:!1};return r=r.next,i}else return{value:void 0,done:!0}}};return n}values(){let e=this._state,r=this._head,n={[Symbol.iterator]:()=>n,next:()=>{if(this._state!==e)throw new Error("LinkedMap got modified during iteration.");if(r){let i={value:r.value,done:!1};return r=r.next,i}else return{value:void 0,done:!0}}};return n}entries(){let e=this._state,r=this._head,n={[Symbol.iterator]:()=>n,next:()=>{if(this._state!==e)throw new Error("LinkedMap got modified during iteration.");if(r){let i={value:[r.key,r.value],done:!1};return r=r.next,i}else return{value:void 0,done:!0}}};return n}[(ub=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(e){if(e>=this.size)return;if(e===0){this.clear();return}let r=this._head,n=this.size;for(;r&&n>e;)this._map.delete(r.key),r=r.next,n--;this._head=r,this._size=n,r&&(r.previous=void 0),this._state++}addItemFirst(e){if(!this._head&&!this._tail)this._tail=e;else if(this._head)e.next=this._head,this._head.previous=e;else throw new Error("Invalid list");this._head=e,this._state++}addItemLast(e){if(!this._head&&!this._tail)this._head=e;else if(this._tail)e.previous=this._tail,this._tail.next=e;else throw new Error("Invalid list");this._tail=e,this._state++}removeItem(e){if(e===this._head&&e===this._tail)this._head=void 0,this._tail=void 0;else if(e===this._head){if(!e.next)throw new Error("Invalid list");e.next.previous=void 0,this._head=e.next}else if(e===this._tail){if(!e.previous)throw new Error("Invalid list");e.previous.next=void 0,this._tail=e.previous}else{let r=e.next,n=e.previous;if(!r||!n)throw new Error("Invalid list");r.previous=n,n.next=r}e.next=void 0,e.previous=void 0,this._state++}touch(e,r){if(!this._head||!this._tail)throw new Error("Invalid list");if(!(r!==Ht.First&&r!==Ht.Last)){if(r===Ht.First){if(e===this._head)return;let n=e.next,i=e.previous;e===this._tail?(i.next=void 0,this._tail=i):(n.previous=i,i.next=n),e.previous=void 0,e.next=this._head,this._head.previous=e,this._head=e,this._state++}else if(r===Ht.Last){if(e===this._tail)return;let n=e.next,i=e.previous;e===this._head?(n.previous=void 0,this._head=n):(n.previous=i,i.next=n),e.next=void 0,e.previous=this._tail,this._tail.next=e,this._tail=e,this._state++}}}toJSON(){let e=[];return this.forEach((r,n)=>{e.push([n,r])}),e}fromJSON(e){this.clear();for(let[r,n]of e)this.set(r,n)}};Ii.LinkedMap=ip;var $x=class extends ip{constructor(e,r=1){super(),this._limit=e,this._ratio=Math.min(Math.max(0,r),1)}get limit(){return this._limit}set limit(e){this._limit=e,this.checkTrim()}get ratio(){return this._ratio}set ratio(e){this._ratio=Math.min(Math.max(0,e),1),this.checkTrim()}get(e,r=Ht.AsNew){return super.get(e,r)}peek(e){return super.get(e,Ht.None)}set(e,r){return super.set(e,r,Ht.Last),this.checkTrim(),this}checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))}};Ii.LRUCache=$x});var db=ue(op=>{"use strict";Object.defineProperty(op,"__esModule",{value:!0});op.Disposable=void 0;var fb;(function(t){function e(r){return{dispose:r}}t.create=e})(fb||(op.Disposable=fb={}))});var ki=ue(Bx=>{"use strict";Object.defineProperty(Bx,"__esModule",{value:!0});var Fx;function Ux(){if(Fx===void 0)throw new Error("No runtime abstraction layer installed");return Fx}(function(t){function e(r){if(r===void 0)throw new Error("No runtime abstraction layer provided");Fx=r}t.install=e})(Ux||(Ux={}));Bx.default=Ux});var ga=ue(ma=>{"use strict";Object.defineProperty(ma,"__esModule",{value:!0});ma.Emitter=ma.Event=void 0;var f2=ki(),pb;(function(t){let e={dispose(){}};t.None=function(){return e}})(pb||(ma.Event=pb={}));var Gx=class{add(e,r=null,n){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(e),this._contexts.push(r),Array.isArray(n)&&n.push({dispose:()=>this.remove(e,r)})}remove(e,r=null){if(!this._callbacks)return;let n=!1;for(let i=0,o=this._callbacks.length;i<o;i++)if(this._callbacks[i]===e)if(this._contexts[i]===r){this._callbacks.splice(i,1),this._contexts.splice(i,1);return}else n=!0;if(n)throw new Error("When adding a listener with a context, you should remove it with the same context")}invoke(...e){if(!this._callbacks)return[];let r=[],n=this._callbacks.slice(0),i=this._contexts.slice(0);for(let o=0,s=n.length;o<s;o++)try{r.push(n[o].apply(i[o],e))}catch(a){(0,f2.default)().console.error(a)}return r}isEmpty(){return!this._callbacks||this._callbacks.length===0}dispose(){this._callbacks=void 0,this._contexts=void 0}},sp=class t{constructor(e){this._options=e}get event(){return this._event||(this._event=(e,r,n)=>{this._callbacks||(this._callbacks=new Gx),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(e,r);let i={dispose:()=>{this._callbacks&&(this._callbacks.remove(e,r),i.dispose=t._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))}};return Array.isArray(n)&&n.push(i),i}),this._event}fire(e){this._callbacks&&this._callbacks.invoke.call(this._callbacks,e)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}};ma.Emitter=sp;sp._noop=function(){}});var lp=ue(ya=>{"use strict";Object.defineProperty(ya,"__esModule",{value:!0});ya.CancellationTokenSource=ya.CancellationToken=void 0;var d2=ki(),p2=ha(),Xx=ga(),ap;(function(t){t.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:Xx.Event.None}),t.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:Xx.Event.None});function e(r){let n=r;return n&&(n===t.None||n===t.Cancelled||p2.boolean(n.isCancellationRequested)&&!!n.onCancellationRequested)}t.is=e})(ap||(ya.CancellationToken=ap={}));var h2=Object.freeze(function(t,e){let r=(0,d2.default)().timer.setTimeout(t.bind(e),0);return{dispose(){r.dispose()}}}),cp=class{constructor(){this._isCancelled=!1}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?h2:(this._emitter||(this._emitter=new Xx.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}},Hx=class{get token(){return this._token||(this._token=new cp),this._token}cancel(){this._token?this._token.cancel():this._token=ap.Cancelled}dispose(){this._token?this._token instanceof cp&&this._token.dispose():this._token=ap.None}};ya.CancellationTokenSource=Hx});var hb=ue(xa=>{"use strict";Object.defineProperty(xa,"__esModule",{value:!0});xa.SharedArrayReceiverStrategy=xa.SharedArraySenderStrategy=void 0;var m2=lp(),Bl;(function(t){t.Continue=0,t.Cancelled=1})(Bl||(Bl={}));var jx=class{constructor(){this.buffers=new Map}enableCancellation(e){if(e.id===null)return;let r=new SharedArrayBuffer(4),n=new Int32Array(r,0,1);n[0]=Bl.Continue,this.buffers.set(e.id,r),e.$cancellationData=r}async sendCancellation(e,r){let n=this.buffers.get(r);if(n===void 0)return;let i=new Int32Array(n,0,1);Atomics.store(i,0,Bl.Cancelled)}cleanup(e){this.buffers.delete(e)}dispose(){this.buffers.clear()}};xa.SharedArraySenderStrategy=jx;var zx=class{constructor(e){this.data=new Int32Array(e,0,1)}get isCancellationRequested(){return Atomics.load(this.data,0)===Bl.Cancelled}get onCancellationRequested(){throw new Error("Cancellation over SharedArrayBuffer doesn't support cancellation events")}},qx=class{constructor(e){this.token=new zx(e)}cancel(){}dispose(){}},Wx=class{constructor(){this.kind="request"}createCancellationTokenSource(e){let r=e.$cancellationData;return r===void 0?new m2.CancellationTokenSource:new qx(r)}};xa.SharedArrayReceiverStrategy=Wx});var Yx=ue(up=>{"use strict";Object.defineProperty(up,"__esModule",{value:!0});up.Semaphore=void 0;var g2=ki(),Vx=class{constructor(e=1){if(e<=0)throw new Error("Capacity must be greater than 0");this._capacity=e,this._active=0,this._waiting=[]}lock(e){return new Promise((r,n)=>{this._waiting.push({thunk:e,resolve:r,reject:n}),this.runNext()})}get active(){return this._active}runNext(){this._waiting.length===0||this._active===this._capacity||(0,g2.default)().timer.setImmediate(()=>this.doRunNext())}doRunNext(){if(this._waiting.length===0||this._active===this._capacity)return;let e=this._waiting.shift();if(this._active++,this._active>this._capacity)throw new Error("To many thunks active");try{let r=e.thunk();r instanceof Promise?r.then(n=>{this._active--,e.resolve(n),this.runNext()},n=>{this._active--,e.reject(n),this.runNext()}):(this._active--,e.resolve(r),this.runNext())}catch(r){this._active--,e.reject(r),this.runNext()}}};up.Semaphore=Vx});var gb=ue(Ni=>{"use strict";Object.defineProperty(Ni,"__esModule",{value:!0});Ni.ReadableStreamMessageReader=Ni.AbstractMessageReader=Ni.MessageReader=void 0;var Zx=ki(),Ta=ha(),Kx=ga(),y2=Yx(),mb;(function(t){function e(r){let n=r;return n&&Ta.func(n.listen)&&Ta.func(n.dispose)&&Ta.func(n.onError)&&Ta.func(n.onClose)&&Ta.func(n.onPartialMessage)}t.is=e})(mb||(Ni.MessageReader=mb={}));var fp=class{constructor(){this.errorEmitter=new Kx.Emitter,this.closeEmitter=new Kx.Emitter,this.partialMessageEmitter=new Kx.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e){this.errorEmitter.fire(this.asError(e))}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}get onPartialMessage(){return this.partialMessageEmitter.event}firePartialMessage(e){this.partialMessageEmitter.fire(e)}asError(e){return e instanceof Error?e:new Error(`Reader received error. Reason: ${Ta.string(e.message)?e.message:"unknown"}`)}};Ni.AbstractMessageReader=fp;var Jx;(function(t){function e(r){let n,i,o,s=new Map,a,c=new Map;if(r===void 0||typeof r=="string")n=r??"utf-8";else{if(n=r.charset??"utf-8",r.contentDecoder!==void 0&&(o=r.contentDecoder,s.set(o.name,o)),r.contentDecoders!==void 0)for(let l of r.contentDecoders)s.set(l.name,l);if(r.contentTypeDecoder!==void 0&&(a=r.contentTypeDecoder,c.set(a.name,a)),r.contentTypeDecoders!==void 0)for(let l of r.contentTypeDecoders)c.set(l.name,l)}return a===void 0&&(a=(0,Zx.default)().applicationJson.decoder,c.set(a.name,a)),{charset:n,contentDecoder:o,contentDecoders:s,contentTypeDecoder:a,contentTypeDecoders:c}}t.fromOptions=e})(Jx||(Jx={}));var Qx=class extends fp{constructor(e,r){super(),this.readable=e,this.options=Jx.fromOptions(r),this.buffer=(0,Zx.default)().messageBuffer.create(this.options.charset),this._partialMessageTimeout=1e4,this.nextMessageLength=-1,this.messageToken=0,this.readSemaphore=new y2.Semaphore(1)}set partialMessageTimeout(e){this._partialMessageTimeout=e}get partialMessageTimeout(){return this._partialMessageTimeout}listen(e){this.nextMessageLength=-1,this.messageToken=0,this.partialMessageTimer=void 0,this.callback=e;let r=this.readable.onData(n=>{this.onData(n)});return this.readable.onError(n=>this.fireError(n)),this.readable.onClose(()=>this.fireClose()),r}onData(e){try{for(this.buffer.append(e);;){if(this.nextMessageLength===-1){let n=this.buffer.tryReadHeaders(!0);if(!n)return;let i=n.get("content-length");if(!i){this.fireError(new Error(`Header must provide a Content-Length property.
|
|
7
|
-
${JSON.stringify(Object.fromEntries(n))}`));return}let o=parseInt(i);if(isNaN(o)){this.fireError(new Error(`Content-Length value must be a number. Got ${i}`));return}this.nextMessageLength=o}let r=this.buffer.tryReadBody(this.nextMessageLength);if(r===void 0){this.setPartialMessageTimer();return}this.clearPartialMessageTimer(),this.nextMessageLength=-1,this.readSemaphore.lock(async()=>{let n=this.options.contentDecoder!==void 0?await this.options.contentDecoder.decode(r):r,i=await this.options.contentTypeDecoder.decode(n,this.options);this.callback(i)}).catch(n=>{this.fireError(n)})}}catch(r){this.fireError(r)}}clearPartialMessageTimer(){this.partialMessageTimer&&(this.partialMessageTimer.dispose(),this.partialMessageTimer=void 0)}setPartialMessageTimer(){this.clearPartialMessageTimer(),!(this._partialMessageTimeout<=0)&&(this.partialMessageTimer=(0,
|
|
8
|
-
`,
|
|
9
|
-
`,
|
|
10
|
-
${u}`);let d=u.substr(0,f),p=u.substr(f+1).trim();a.set(e?d.toLowerCase():d,p)}return a}tryReadBody(e){if(!(this._totalLength<e))return this._read(e)}get numberOfBytes(){return this._totalLength}_read(e){if(e===0)return this.emptyBuffer();if(e>this._totalLength)throw new Error("Cannot read so many bytes!");if(this._chunks[0].byteLength===e){let o=this._chunks[0];return this._chunks.shift(),this._totalLength-=e,this.asNative(o)}if(this._chunks[0].byteLength>e){let o=this._chunks[0],s=this.asNative(o,e);return this._chunks[0]=o.slice(e),this._totalLength-=e,s}let r=this.allocNative(e),n=0,i=0;for(;e>0;){let o=this._chunks[i];if(o.byteLength>e){let s=o.slice(0,e);r.set(s,n),n+=e,this._chunks[i]=o.slice(e),this._totalLength-=e,e-=e}else r.set(o,n),n+=o.byteLength,this._chunks.shift(),this._totalLength-=o.byteLength,e-=o.byteLength}return r}};
|
|
11
|
-
${JSON.stringify(x.error,void 0,4)}`):i.error("Received response message without id. No further error information provided.");else{let C=x.id,j=v.get(C);if(Cr(x,j),j!==void 0){v.delete(C);try{if(x.error){let
|
|
12
|
-
${JSON.stringify(x,null,4)}`);let C=x;if(
|
|
6
|
+
`&&i++}n&&r.length>0&&e.push(r.length),this._lineOffsets=e}return this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let r=this.getLineOffsets(),n=0,i=r.length;if(i===0)return Ie.create(0,e);for(;n<i;){let s=Math.floor((n+i)/2);r[s]>e?i=s:n=s+1}let o=n-1;return Ie.create(o,e-r[o])}offsetAt(e){let r=this.getLineOffsets();if(e.line>=r.length)return this._content.length;if(e.line<0)return 0;let n=r[e.line],i=e.line+1<r.length?r[e.line+1]:this._content.length;return Math.max(Math.min(n+e.character,i),n)}get lineCount(){return this.getLineOffsets().length}};(function(t){let e=Object.prototype.toString;function r(p){return typeof p<"u"}t.defined=r;function n(p){return typeof p>"u"}t.undefined=n;function i(p){return p===!0||p===!1}t.boolean=i;function o(p){return e.call(p)==="[object String]"}t.string=o;function s(p){return e.call(p)==="[object Number]"}t.number=s;function a(p,m,g){return e.call(p)==="[object Number]"&&m<=p&&p<=g}t.numberRange=a;function c(p){return e.call(p)==="[object Number]"&&-2147483648<=p&&p<=2147483647}t.integer=c;function l(p){return e.call(p)==="[object Number]"&&0<=p&&p<=2147483647}t.uinteger=l;function u(p){return e.call(p)==="[object Function]"}t.func=u;function f(p){return p!==null&&typeof p=="object"}t.objectLiteral=f;function d(p,m){return Array.isArray(p)&&p.every(m)}t.typedArray=d})(b||(b={}))});var cx=fe(ax=>{"use strict";Object.defineProperty(ax,"__esModule",{value:!0});var ox;function sx(){if(ox===void 0)throw new Error("No runtime abstraction layer installed");return ox}(function(t){function e(r){if(r===void 0)throw new Error("No runtime abstraction layer provided");ox=r}t.install=e})(sx||(sx={}));ax.default=sx});var Qb=fe(Ut=>{"use strict";Object.defineProperty(Ut,"__esModule",{value:!0});Ut.stringArray=Ut.array=Ut.func=Ut.error=Ut.number=Ut.string=Ut.boolean=void 0;function i2(t){return t===!0||t===!1}Ut.boolean=i2;function Zb(t){return typeof t=="string"||t instanceof String}Ut.string=Zb;function o2(t){return typeof t=="number"||t instanceof Number}Ut.number=o2;function s2(t){return t instanceof Error}Ut.error=s2;function a2(t){return typeof t=="function"}Ut.func=a2;function Jb(t){return Array.isArray(t)}Ut.array=Jb;function c2(t){return Jb(t)&&t.every(e=>Zb(e))}Ut.stringArray=c2});var ux=fe(la=>{"use strict";Object.defineProperty(la,"__esModule",{value:!0});la.Emitter=la.Event=void 0;var l2=cx(),ew;(function(t){let e={dispose(){}};t.None=function(){return e}})(ew||(la.Event=ew={}));var lx=class{add(e,r=null,n){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(e),this._contexts.push(r),Array.isArray(n)&&n.push({dispose:()=>this.remove(e,r)})}remove(e,r=null){if(!this._callbacks)return;let n=!1;for(let i=0,o=this._callbacks.length;i<o;i++)if(this._callbacks[i]===e)if(this._contexts[i]===r){this._callbacks.splice(i,1),this._contexts.splice(i,1);return}else n=!0;if(n)throw new Error("When adding a listener with a context, you should remove it with the same context")}invoke(...e){if(!this._callbacks)return[];let r=[],n=this._callbacks.slice(0),i=this._contexts.slice(0);for(let o=0,s=n.length;o<s;o++)try{r.push(n[o].apply(i[o],e))}catch(a){(0,l2.default)().console.error(a)}return r}isEmpty(){return!this._callbacks||this._callbacks.length===0}dispose(){this._callbacks=void 0,this._contexts=void 0}},Qd=class t{constructor(e){this._options=e}get event(){return this._event||(this._event=(e,r,n)=>{this._callbacks||(this._callbacks=new lx),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(e,r);let i={dispose:()=>{this._callbacks&&(this._callbacks.remove(e,r),i.dispose=t._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))}};return Array.isArray(n)&&n.push(i),i}),this._event}fire(e){this._callbacks&&this._callbacks.invoke.call(this._callbacks,e)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}};la.Emitter=Qd;Qd._noop=function(){}});var tw=fe(ua=>{"use strict";Object.defineProperty(ua,"__esModule",{value:!0});ua.CancellationTokenSource=ua.CancellationToken=void 0;var u2=cx(),f2=Qb(),fx=ux(),ep;(function(t){t.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:fx.Event.None}),t.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:fx.Event.None});function e(r){let n=r;return n&&(n===t.None||n===t.Cancelled||f2.boolean(n.isCancellationRequested)&&!!n.onCancellationRequested)}t.is=e})(ep||(ua.CancellationToken=ep={}));var d2=Object.freeze(function(t,e){let r=(0,u2.default)().timer.setTimeout(t.bind(e),0);return{dispose(){r.dispose()}}}),tp=class{constructor(){this._isCancelled=!1}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?d2:(this._emitter||(this._emitter=new fx.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}},dx=class{get token(){return this._token||(this._token=new tp),this._token}cancel(){this._token?this._token.cancel():this._token=ep.Cancelled}dispose(){this._token?this._token instanceof tp&&this._token.dispose():this._token=ep.None}};ua.CancellationTokenSource=dx});var ya=fe(Gt=>{"use strict";Object.defineProperty(Gt,"__esModule",{value:!0});Gt.stringArray=Gt.array=Gt.func=Gt.error=Gt.number=Gt.string=Gt.boolean=void 0;function m2(t){return t===!0||t===!1}Gt.boolean=m2;function pw(t){return typeof t=="string"||t instanceof String}Gt.string=pw;function g2(t){return typeof t=="number"||t instanceof Number}Gt.number=g2;function y2(t){return t instanceof Error}Gt.error=y2;function x2(t){return typeof t=="function"}Gt.func=x2;function hw(t){return Array.isArray(t)}Gt.array=hw;function T2(t){return hw(t)&&t.every(e=>pw(e))}Gt.stringArray=T2});var Gx=fe(ee=>{"use strict";Object.defineProperty(ee,"__esModule",{value:!0});ee.Message=ee.NotificationType9=ee.NotificationType8=ee.NotificationType7=ee.NotificationType6=ee.NotificationType5=ee.NotificationType4=ee.NotificationType3=ee.NotificationType2=ee.NotificationType1=ee.NotificationType0=ee.NotificationType=ee.RequestType9=ee.RequestType8=ee.RequestType7=ee.RequestType6=ee.RequestType5=ee.RequestType4=ee.RequestType3=ee.RequestType2=ee.RequestType1=ee.RequestType=ee.RequestType0=ee.AbstractMessageSignature=ee.ParameterStructures=ee.ResponseError=ee.ErrorCodes=void 0;var Go=ya(),yx;(function(t){t.ParseError=-32700,t.InvalidRequest=-32600,t.MethodNotFound=-32601,t.InvalidParams=-32602,t.InternalError=-32603,t.jsonrpcReservedErrorRangeStart=-32099,t.serverErrorStart=-32099,t.MessageWriteError=-32099,t.MessageReadError=-32098,t.PendingResponseRejected=-32097,t.ConnectionInactive=-32096,t.ServerNotInitialized=-32002,t.UnknownErrorCode=-32001,t.jsonrpcReservedErrorRangeEnd=-32e3,t.serverErrorEnd=-32e3})(yx||(ee.ErrorCodes=yx={}));var xx=class t extends Error{constructor(e,r,n){super(r),this.code=Go.number(e)?e:yx.UnknownErrorCode,this.data=n,Object.setPrototypeOf(this,t.prototype)}toJson(){let e={code:this.code,message:this.message};return this.data!==void 0&&(e.data=this.data),e}};ee.ResponseError=xx;var ir=class t{constructor(e){this.kind=e}static is(e){return e===t.auto||e===t.byName||e===t.byPosition}toString(){return this.kind}};ee.ParameterStructures=ir;ir.auto=new ir("auto");ir.byPosition=new ir("byPosition");ir.byName=new ir("byName");var ot=class{constructor(e,r){this.method=e,this.numberOfParams=r}get parameterStructures(){return ir.auto}};ee.AbstractMessageSignature=ot;var Tx=class extends ot{constructor(e){super(e,0)}};ee.RequestType0=Tx;var _x=class extends ot{constructor(e,r=ir.auto){super(e,1),this._parameterStructures=r}get parameterStructures(){return this._parameterStructures}};ee.RequestType=_x;var Ex=class extends ot{constructor(e,r=ir.auto){super(e,1),this._parameterStructures=r}get parameterStructures(){return this._parameterStructures}};ee.RequestType1=Ex;var vx=class extends ot{constructor(e){super(e,2)}};ee.RequestType2=vx;var Rx=class extends ot{constructor(e){super(e,3)}};ee.RequestType3=Rx;var bx=class extends ot{constructor(e){super(e,4)}};ee.RequestType4=bx;var wx=class extends ot{constructor(e){super(e,5)}};ee.RequestType5=wx;var Ax=class extends ot{constructor(e){super(e,6)}};ee.RequestType6=Ax;var Sx=class extends ot{constructor(e){super(e,7)}};ee.RequestType7=Sx;var Ix=class extends ot{constructor(e){super(e,8)}};ee.RequestType8=Ix;var kx=class extends ot{constructor(e){super(e,9)}};ee.RequestType9=kx;var Nx=class extends ot{constructor(e,r=ir.auto){super(e,1),this._parameterStructures=r}get parameterStructures(){return this._parameterStructures}};ee.NotificationType=Nx;var Px=class extends ot{constructor(e){super(e,0)}};ee.NotificationType0=Px;var Cx=class extends ot{constructor(e,r=ir.auto){super(e,1),this._parameterStructures=r}get parameterStructures(){return this._parameterStructures}};ee.NotificationType1=Cx;var Ox=class extends ot{constructor(e){super(e,2)}};ee.NotificationType2=Ox;var Lx=class extends ot{constructor(e){super(e,3)}};ee.NotificationType3=Lx;var Dx=class extends ot{constructor(e){super(e,4)}};ee.NotificationType4=Dx;var $x=class extends ot{constructor(e){super(e,5)}};ee.NotificationType5=$x;var Mx=class extends ot{constructor(e){super(e,6)}};ee.NotificationType6=Mx;var Fx=class extends ot{constructor(e){super(e,7)}};ee.NotificationType7=Fx;var Ux=class extends ot{constructor(e){super(e,8)}};ee.NotificationType8=Ux;var Bx=class extends ot{constructor(e){super(e,9)}};ee.NotificationType9=Bx;var mw;(function(t){function e(i){let o=i;return o&&Go.string(o.method)&&(Go.string(o.id)||Go.number(o.id))}t.isRequest=e;function r(i){let o=i;return o&&Go.string(o.method)&&i.id===void 0}t.isNotification=r;function n(i){let o=i;return o&&(o.result!==void 0||!!o.error)&&(Go.string(o.id)||Go.number(o.id)||o.id===null)}t.isResponse=n})(mw||(ee.Message=mw={}))});var Hx=fe(Pi=>{"use strict";var gw;Object.defineProperty(Pi,"__esModule",{value:!0});Pi.LRUCache=Pi.LinkedMap=Pi.Touch=void 0;var Xt;(function(t){t.None=0,t.First=1,t.AsOld=t.First,t.Last=2,t.AsNew=t.Last})(Xt||(Pi.Touch=Xt={}));var cp=class{constructor(){this[gw]="LinkedMap",this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0,this._state=0}clear(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0,this._state++}isEmpty(){return!this._head&&!this._tail}get size(){return this._size}get first(){return this._head?.value}get last(){return this._tail?.value}has(e){return this._map.has(e)}get(e,r=Xt.None){let n=this._map.get(e);if(n)return r!==Xt.None&&this.touch(n,r),n.value}set(e,r,n=Xt.None){let i=this._map.get(e);if(i)i.value=r,n!==Xt.None&&this.touch(i,n);else{switch(i={key:e,value:r,next:void 0,previous:void 0},n){case Xt.None:this.addItemLast(i);break;case Xt.First:this.addItemFirst(i);break;case Xt.Last:this.addItemLast(i);break;default:this.addItemLast(i);break}this._map.set(e,i),this._size++}return this}delete(e){return!!this.remove(e)}remove(e){let r=this._map.get(e);if(r)return this._map.delete(e),this.removeItem(r),this._size--,r.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");let e=this._head;return this._map.delete(e.key),this.removeItem(e),this._size--,e.value}forEach(e,r){let n=this._state,i=this._head;for(;i;){if(r?e.bind(r)(i.value,i.key,this):e(i.value,i.key,this),this._state!==n)throw new Error("LinkedMap got modified during iteration.");i=i.next}}keys(){let e=this._state,r=this._head,n={[Symbol.iterator]:()=>n,next:()=>{if(this._state!==e)throw new Error("LinkedMap got modified during iteration.");if(r){let i={value:r.key,done:!1};return r=r.next,i}else return{value:void 0,done:!0}}};return n}values(){let e=this._state,r=this._head,n={[Symbol.iterator]:()=>n,next:()=>{if(this._state!==e)throw new Error("LinkedMap got modified during iteration.");if(r){let i={value:r.value,done:!1};return r=r.next,i}else return{value:void 0,done:!0}}};return n}entries(){let e=this._state,r=this._head,n={[Symbol.iterator]:()=>n,next:()=>{if(this._state!==e)throw new Error("LinkedMap got modified during iteration.");if(r){let i={value:[r.key,r.value],done:!1};return r=r.next,i}else return{value:void 0,done:!0}}};return n}[(gw=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(e){if(e>=this.size)return;if(e===0){this.clear();return}let r=this._head,n=this.size;for(;r&&n>e;)this._map.delete(r.key),r=r.next,n--;this._head=r,this._size=n,r&&(r.previous=void 0),this._state++}addItemFirst(e){if(!this._head&&!this._tail)this._tail=e;else if(this._head)e.next=this._head,this._head.previous=e;else throw new Error("Invalid list");this._head=e,this._state++}addItemLast(e){if(!this._head&&!this._tail)this._head=e;else if(this._tail)e.previous=this._tail,this._tail.next=e;else throw new Error("Invalid list");this._tail=e,this._state++}removeItem(e){if(e===this._head&&e===this._tail)this._head=void 0,this._tail=void 0;else if(e===this._head){if(!e.next)throw new Error("Invalid list");e.next.previous=void 0,this._head=e.next}else if(e===this._tail){if(!e.previous)throw new Error("Invalid list");e.previous.next=void 0,this._tail=e.previous}else{let r=e.next,n=e.previous;if(!r||!n)throw new Error("Invalid list");r.previous=n,n.next=r}e.next=void 0,e.previous=void 0,this._state++}touch(e,r){if(!this._head||!this._tail)throw new Error("Invalid list");if(!(r!==Xt.First&&r!==Xt.Last)){if(r===Xt.First){if(e===this._head)return;let n=e.next,i=e.previous;e===this._tail?(i.next=void 0,this._tail=i):(n.previous=i,i.next=n),e.previous=void 0,e.next=this._head,this._head.previous=e,this._head=e,this._state++}else if(r===Xt.Last){if(e===this._tail)return;let n=e.next,i=e.previous;e===this._head?(n.previous=void 0,this._head=n):(n.previous=i,i.next=n),e.next=void 0,e.previous=this._tail,this._tail.next=e,this._tail=e,this._state++}}}toJSON(){let e=[];return this.forEach((r,n)=>{e.push([n,r])}),e}fromJSON(e){this.clear();for(let[r,n]of e)this.set(r,n)}};Pi.LinkedMap=cp;var Xx=class extends cp{constructor(e,r=1){super(),this._limit=e,this._ratio=Math.min(Math.max(0,r),1)}get limit(){return this._limit}set limit(e){this._limit=e,this.checkTrim()}get ratio(){return this._ratio}set ratio(e){this._ratio=Math.min(Math.max(0,e),1),this.checkTrim()}get(e,r=Xt.AsNew){return super.get(e,r)}peek(e){return super.get(e,Xt.None)}set(e,r){return super.set(e,r,Xt.Last),this.checkTrim(),this}checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))}};Pi.LRUCache=Xx});var xw=fe(lp=>{"use strict";Object.defineProperty(lp,"__esModule",{value:!0});lp.Disposable=void 0;var yw;(function(t){function e(r){return{dispose:r}}t.create=e})(yw||(lp.Disposable=yw={}))});var Ci=fe(qx=>{"use strict";Object.defineProperty(qx,"__esModule",{value:!0});var jx;function zx(){if(jx===void 0)throw new Error("No runtime abstraction layer installed");return jx}(function(t){function e(r){if(r===void 0)throw new Error("No runtime abstraction layer provided");jx=r}t.install=e})(zx||(zx={}));qx.default=zx});var Ta=fe(xa=>{"use strict";Object.defineProperty(xa,"__esModule",{value:!0});xa.Emitter=xa.Event=void 0;var _2=Ci(),Tw;(function(t){let e={dispose(){}};t.None=function(){return e}})(Tw||(xa.Event=Tw={}));var Wx=class{add(e,r=null,n){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(e),this._contexts.push(r),Array.isArray(n)&&n.push({dispose:()=>this.remove(e,r)})}remove(e,r=null){if(!this._callbacks)return;let n=!1;for(let i=0,o=this._callbacks.length;i<o;i++)if(this._callbacks[i]===e)if(this._contexts[i]===r){this._callbacks.splice(i,1),this._contexts.splice(i,1);return}else n=!0;if(n)throw new Error("When adding a listener with a context, you should remove it with the same context")}invoke(...e){if(!this._callbacks)return[];let r=[],n=this._callbacks.slice(0),i=this._contexts.slice(0);for(let o=0,s=n.length;o<s;o++)try{r.push(n[o].apply(i[o],e))}catch(a){(0,_2.default)().console.error(a)}return r}isEmpty(){return!this._callbacks||this._callbacks.length===0}dispose(){this._callbacks=void 0,this._contexts=void 0}},up=class t{constructor(e){this._options=e}get event(){return this._event||(this._event=(e,r,n)=>{this._callbacks||(this._callbacks=new Wx),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(e,r);let i={dispose:()=>{this._callbacks&&(this._callbacks.remove(e,r),i.dispose=t._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))}};return Array.isArray(n)&&n.push(i),i}),this._event}fire(e){this._callbacks&&this._callbacks.invoke.call(this._callbacks,e)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}};xa.Emitter=up;up._noop=function(){}});var pp=fe(_a=>{"use strict";Object.defineProperty(_a,"__esModule",{value:!0});_a.CancellationTokenSource=_a.CancellationToken=void 0;var E2=Ci(),v2=ya(),Vx=Ta(),fp;(function(t){t.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:Vx.Event.None}),t.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:Vx.Event.None});function e(r){let n=r;return n&&(n===t.None||n===t.Cancelled||v2.boolean(n.isCancellationRequested)&&!!n.onCancellationRequested)}t.is=e})(fp||(_a.CancellationToken=fp={}));var R2=Object.freeze(function(t,e){let r=(0,E2.default)().timer.setTimeout(t.bind(e),0);return{dispose(){r.dispose()}}}),dp=class{constructor(){this._isCancelled=!1}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?R2:(this._emitter||(this._emitter=new Vx.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}},Yx=class{get token(){return this._token||(this._token=new dp),this._token}cancel(){this._token?this._token.cancel():this._token=fp.Cancelled}dispose(){this._token?this._token instanceof dp&&this._token.dispose():this._token=fp.None}};_a.CancellationTokenSource=Yx});var _w=fe(Ea=>{"use strict";Object.defineProperty(Ea,"__esModule",{value:!0});Ea.SharedArrayReceiverStrategy=Ea.SharedArraySenderStrategy=void 0;var b2=pp(),Xl;(function(t){t.Continue=0,t.Cancelled=1})(Xl||(Xl={}));var Kx=class{constructor(){this.buffers=new Map}enableCancellation(e){if(e.id===null)return;let r=new SharedArrayBuffer(4),n=new Int32Array(r,0,1);n[0]=Xl.Continue,this.buffers.set(e.id,r),e.$cancellationData=r}async sendCancellation(e,r){let n=this.buffers.get(r);if(n===void 0)return;let i=new Int32Array(n,0,1);Atomics.store(i,0,Xl.Cancelled)}cleanup(e){this.buffers.delete(e)}dispose(){this.buffers.clear()}};Ea.SharedArraySenderStrategy=Kx;var Zx=class{constructor(e){this.data=new Int32Array(e,0,1)}get isCancellationRequested(){return Atomics.load(this.data,0)===Xl.Cancelled}get onCancellationRequested(){throw new Error("Cancellation over SharedArrayBuffer doesn't support cancellation events")}},Jx=class{constructor(e){this.token=new Zx(e)}cancel(){}dispose(){}},Qx=class{constructor(){this.kind="request"}createCancellationTokenSource(e){let r=e.$cancellationData;return r===void 0?new b2.CancellationTokenSource:new Jx(r)}};Ea.SharedArrayReceiverStrategy=Qx});var tT=fe(hp=>{"use strict";Object.defineProperty(hp,"__esModule",{value:!0});hp.Semaphore=void 0;var w2=Ci(),eT=class{constructor(e=1){if(e<=0)throw new Error("Capacity must be greater than 0");this._capacity=e,this._active=0,this._waiting=[]}lock(e){return new Promise((r,n)=>{this._waiting.push({thunk:e,resolve:r,reject:n}),this.runNext()})}get active(){return this._active}runNext(){this._waiting.length===0||this._active===this._capacity||(0,w2.default)().timer.setImmediate(()=>this.doRunNext())}doRunNext(){if(this._waiting.length===0||this._active===this._capacity)return;let e=this._waiting.shift();if(this._active++,this._active>this._capacity)throw new Error("To many thunks active");try{let r=e.thunk();r instanceof Promise?r.then(n=>{this._active--,e.resolve(n),this.runNext()},n=>{this._active--,e.reject(n),this.runNext()}):(this._active--,e.resolve(r),this.runNext())}catch(r){this._active--,e.reject(r),this.runNext()}}};hp.Semaphore=eT});var vw=fe(Oi=>{"use strict";Object.defineProperty(Oi,"__esModule",{value:!0});Oi.ReadableStreamMessageReader=Oi.AbstractMessageReader=Oi.MessageReader=void 0;var nT=Ci(),va=ya(),rT=Ta(),A2=tT(),Ew;(function(t){function e(r){let n=r;return n&&va.func(n.listen)&&va.func(n.dispose)&&va.func(n.onError)&&va.func(n.onClose)&&va.func(n.onPartialMessage)}t.is=e})(Ew||(Oi.MessageReader=Ew={}));var mp=class{constructor(){this.errorEmitter=new rT.Emitter,this.closeEmitter=new rT.Emitter,this.partialMessageEmitter=new rT.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e){this.errorEmitter.fire(this.asError(e))}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}get onPartialMessage(){return this.partialMessageEmitter.event}firePartialMessage(e){this.partialMessageEmitter.fire(e)}asError(e){return e instanceof Error?e:new Error(`Reader received error. Reason: ${va.string(e.message)?e.message:"unknown"}`)}};Oi.AbstractMessageReader=mp;var iT;(function(t){function e(r){let n,i,o,s=new Map,a,c=new Map;if(r===void 0||typeof r=="string")n=r??"utf-8";else{if(n=r.charset??"utf-8",r.contentDecoder!==void 0&&(o=r.contentDecoder,s.set(o.name,o)),r.contentDecoders!==void 0)for(let l of r.contentDecoders)s.set(l.name,l);if(r.contentTypeDecoder!==void 0&&(a=r.contentTypeDecoder,c.set(a.name,a)),r.contentTypeDecoders!==void 0)for(let l of r.contentTypeDecoders)c.set(l.name,l)}return a===void 0&&(a=(0,nT.default)().applicationJson.decoder,c.set(a.name,a)),{charset:n,contentDecoder:o,contentDecoders:s,contentTypeDecoder:a,contentTypeDecoders:c}}t.fromOptions=e})(iT||(iT={}));var oT=class extends mp{constructor(e,r){super(),this.readable=e,this.options=iT.fromOptions(r),this.buffer=(0,nT.default)().messageBuffer.create(this.options.charset),this._partialMessageTimeout=1e4,this.nextMessageLength=-1,this.messageToken=0,this.readSemaphore=new A2.Semaphore(1)}set partialMessageTimeout(e){this._partialMessageTimeout=e}get partialMessageTimeout(){return this._partialMessageTimeout}listen(e){this.nextMessageLength=-1,this.messageToken=0,this.partialMessageTimer=void 0,this.callback=e;let r=this.readable.onData(n=>{this.onData(n)});return this.readable.onError(n=>this.fireError(n)),this.readable.onClose(()=>this.fireClose()),r}onData(e){try{for(this.buffer.append(e);;){if(this.nextMessageLength===-1){let n=this.buffer.tryReadHeaders(!0);if(!n)return;let i=n.get("content-length");if(!i){this.fireError(new Error(`Header must provide a Content-Length property.
|
|
7
|
+
${JSON.stringify(Object.fromEntries(n))}`));return}let o=parseInt(i);if(isNaN(o)){this.fireError(new Error(`Content-Length value must be a number. Got ${i}`));return}this.nextMessageLength=o}let r=this.buffer.tryReadBody(this.nextMessageLength);if(r===void 0){this.setPartialMessageTimer();return}this.clearPartialMessageTimer(),this.nextMessageLength=-1,this.readSemaphore.lock(async()=>{let n=this.options.contentDecoder!==void 0?await this.options.contentDecoder.decode(r):r,i=await this.options.contentTypeDecoder.decode(n,this.options);this.callback(i)}).catch(n=>{this.fireError(n)})}}catch(r){this.fireError(r)}}clearPartialMessageTimer(){this.partialMessageTimer&&(this.partialMessageTimer.dispose(),this.partialMessageTimer=void 0)}setPartialMessageTimer(){this.clearPartialMessageTimer(),!(this._partialMessageTimeout<=0)&&(this.partialMessageTimer=(0,nT.default)().timer.setTimeout((e,r)=>{this.partialMessageTimer=void 0,e===this.messageToken&&(this.firePartialMessage({messageToken:e,waitingTime:r}),this.setPartialMessageTimer())},this._partialMessageTimeout,this.messageToken,this._partialMessageTimeout))}};Oi.ReadableStreamMessageReader=oT});var Sw=fe(Li=>{"use strict";Object.defineProperty(Li,"__esModule",{value:!0});Li.WriteableStreamMessageWriter=Li.AbstractMessageWriter=Li.MessageWriter=void 0;var Rw=Ci(),Hl=ya(),S2=tT(),bw=Ta(),I2="Content-Length: ",ww=`\r
|
|
8
|
+
`,Aw;(function(t){function e(r){let n=r;return n&&Hl.func(n.dispose)&&Hl.func(n.onClose)&&Hl.func(n.onError)&&Hl.func(n.write)}t.is=e})(Aw||(Li.MessageWriter=Aw={}));var gp=class{constructor(){this.errorEmitter=new bw.Emitter,this.closeEmitter=new bw.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e,r,n){this.errorEmitter.fire([this.asError(e),r,n])}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}asError(e){return e instanceof Error?e:new Error(`Writer received error. Reason: ${Hl.string(e.message)?e.message:"unknown"}`)}};Li.AbstractMessageWriter=gp;var sT;(function(t){function e(r){return r===void 0||typeof r=="string"?{charset:r??"utf-8",contentTypeEncoder:(0,Rw.default)().applicationJson.encoder}:{charset:r.charset??"utf-8",contentEncoder:r.contentEncoder,contentTypeEncoder:r.contentTypeEncoder??(0,Rw.default)().applicationJson.encoder}}t.fromOptions=e})(sT||(sT={}));var aT=class extends gp{constructor(e,r){super(),this.writable=e,this.options=sT.fromOptions(r),this.errorCount=0,this.writeSemaphore=new S2.Semaphore(1),this.writable.onError(n=>this.fireError(n)),this.writable.onClose(()=>this.fireClose())}async write(e){return this.writeSemaphore.lock(async()=>this.options.contentTypeEncoder.encode(e,this.options).then(n=>this.options.contentEncoder!==void 0?this.options.contentEncoder.encode(n):n).then(n=>{let i=[];return i.push(I2,n.byteLength.toString(),ww),i.push(ww),this.doWrite(e,i,n)},n=>{throw this.fireError(n),n}))}async doWrite(e,r,n){try{return await this.writable.write(r.join(""),"ascii"),this.writable.write(n)}catch(i){return this.handleError(i,e),Promise.reject(i)}}handleError(e,r){this.errorCount++,this.fireError(e,r,this.errorCount)}end(){this.writable.end()}};Li.WriteableStreamMessageWriter=aT});var Iw=fe(yp=>{"use strict";Object.defineProperty(yp,"__esModule",{value:!0});yp.AbstractMessageBuffer=void 0;var k2=13,N2=10,P2=`\r
|
|
9
|
+
`,cT=class{constructor(e="utf-8"){this._encoding=e,this._chunks=[],this._totalLength=0}get encoding(){return this._encoding}append(e){let r=typeof e=="string"?this.fromString(e,this._encoding):e;this._chunks.push(r),this._totalLength+=r.byteLength}tryReadHeaders(e=!1){if(this._chunks.length===0)return;let r=0,n=0,i=0,o=0;e:for(;n<this._chunks.length;){let l=this._chunks[n];for(i=0;i<l.length;){switch(l[i]){case k2:switch(r){case 0:r=1;break;case 2:r=3;break;default:r=0}break;case N2:switch(r){case 1:r=2;break;case 3:r=4,i++;break e;default:r=0}break;default:r=0}i++}o+=l.byteLength,n++}if(r!==4)return;let s=this._read(o+i),a=new Map,c=this.toString(s,"ascii").split(P2);if(c.length<2)return a;for(let l=0;l<c.length-2;l++){let u=c[l],f=u.indexOf(":");if(f===-1)throw new Error(`Message header must separate key and value using ':'
|
|
10
|
+
${u}`);let d=u.substr(0,f),p=u.substr(f+1).trim();a.set(e?d.toLowerCase():d,p)}return a}tryReadBody(e){if(!(this._totalLength<e))return this._read(e)}get numberOfBytes(){return this._totalLength}_read(e){if(e===0)return this.emptyBuffer();if(e>this._totalLength)throw new Error("Cannot read so many bytes!");if(this._chunks[0].byteLength===e){let o=this._chunks[0];return this._chunks.shift(),this._totalLength-=e,this.asNative(o)}if(this._chunks[0].byteLength>e){let o=this._chunks[0],s=this.asNative(o,e);return this._chunks[0]=o.slice(e),this._totalLength-=e,s}let r=this.allocNative(e),n=0,i=0;for(;e>0;){let o=this._chunks[i];if(o.byteLength>e){let s=o.slice(0,e);r.set(s,n),n+=e,this._chunks[i]=o.slice(e),this._totalLength-=e,e-=e}else r.set(o,n),n+=o.byteLength,this._chunks.shift(),this._totalLength-=o.byteLength,e-=o.byteLength}return r}};yp.AbstractMessageBuffer=cT});var Ow=fe(he=>{"use strict";Object.defineProperty(he,"__esModule",{value:!0});he.createMessageConnection=he.ConnectionOptions=he.MessageStrategy=he.CancellationStrategy=he.CancellationSenderStrategy=he.CancellationReceiverStrategy=he.RequestCancellationReceiverStrategy=he.IdCancellationReceiverStrategy=he.ConnectionStrategy=he.ConnectionError=he.ConnectionErrors=he.LogTraceNotification=he.SetTraceNotification=he.TraceFormat=he.TraceValues=he.Trace=he.NullLogger=he.ProgressType=he.ProgressToken=void 0;var kw=Ci(),mt=ya(),ce=Gx(),Nw=Hx(),jl=Ta(),lT=pp(),Wl;(function(t){t.type=new ce.NotificationType("$/cancelRequest")})(Wl||(Wl={}));var uT;(function(t){function e(r){return typeof r=="string"||typeof r=="number"}t.is=e})(uT||(he.ProgressToken=uT={}));var zl;(function(t){t.type=new ce.NotificationType("$/progress")})(zl||(zl={}));var fT=class{constructor(){}};he.ProgressType=fT;var dT;(function(t){function e(r){return mt.func(r)}t.is=e})(dT||(dT={}));he.NullLogger=Object.freeze({error:()=>{},warn:()=>{},info:()=>{},log:()=>{}});var Me;(function(t){t[t.Off=0]="Off",t[t.Messages=1]="Messages",t[t.Compact=2]="Compact",t[t.Verbose=3]="Verbose"})(Me||(he.Trace=Me={}));var Pw;(function(t){t.Off="off",t.Messages="messages",t.Compact="compact",t.Verbose="verbose"})(Pw||(he.TraceValues=Pw={}));(function(t){function e(n){if(!mt.string(n))return t.Off;switch(n=n.toLowerCase(),n){case"off":return t.Off;case"messages":return t.Messages;case"compact":return t.Compact;case"verbose":return t.Verbose;default:return t.Off}}t.fromString=e;function r(n){switch(n){case t.Off:return"off";case t.Messages:return"messages";case t.Compact:return"compact";case t.Verbose:return"verbose";default:return"off"}}t.toString=r})(Me||(he.Trace=Me={}));var mr;(function(t){t.Text="text",t.JSON="json"})(mr||(he.TraceFormat=mr={}));(function(t){function e(r){return mt.string(r)?(r=r.toLowerCase(),r==="json"?t.JSON:t.Text):t.Text}t.fromString=e})(mr||(he.TraceFormat=mr={}));var pT;(function(t){t.type=new ce.NotificationType("$/setTrace")})(pT||(he.SetTraceNotification=pT={}));var xp;(function(t){t.type=new ce.NotificationType("$/logTrace")})(xp||(he.LogTraceNotification=xp={}));var ql;(function(t){t[t.Closed=1]="Closed",t[t.Disposed=2]="Disposed",t[t.AlreadyListening=3]="AlreadyListening"})(ql||(he.ConnectionErrors=ql={}));var Ra=class t extends Error{constructor(e,r){super(r),this.code=e,Object.setPrototypeOf(this,t.prototype)}};he.ConnectionError=Ra;var hT;(function(t){function e(r){let n=r;return n&&mt.func(n.cancelUndispatched)}t.is=e})(hT||(he.ConnectionStrategy=hT={}));var Tp;(function(t){function e(r){let n=r;return n&&(n.kind===void 0||n.kind==="id")&&mt.func(n.createCancellationTokenSource)&&(n.dispose===void 0||mt.func(n.dispose))}t.is=e})(Tp||(he.IdCancellationReceiverStrategy=Tp={}));var mT;(function(t){function e(r){let n=r;return n&&n.kind==="request"&&mt.func(n.createCancellationTokenSource)&&(n.dispose===void 0||mt.func(n.dispose))}t.is=e})(mT||(he.RequestCancellationReceiverStrategy=mT={}));var _p;(function(t){t.Message=Object.freeze({createCancellationTokenSource(r){return new lT.CancellationTokenSource}});function e(r){return Tp.is(r)||mT.is(r)}t.is=e})(_p||(he.CancellationReceiverStrategy=_p={}));var Ep;(function(t){t.Message=Object.freeze({sendCancellation(r,n){return r.sendNotification(Wl.type,{id:n})},cleanup(r){}});function e(r){let n=r;return n&&mt.func(n.sendCancellation)&&mt.func(n.cleanup)}t.is=e})(Ep||(he.CancellationSenderStrategy=Ep={}));var vp;(function(t){t.Message=Object.freeze({receiver:_p.Message,sender:Ep.Message});function e(r){let n=r;return n&&_p.is(n.receiver)&&Ep.is(n.sender)}t.is=e})(vp||(he.CancellationStrategy=vp={}));var Rp;(function(t){function e(r){let n=r;return n&&mt.func(n.handleMessage)}t.is=e})(Rp||(he.MessageStrategy=Rp={}));var Cw;(function(t){function e(r){let n=r;return n&&(vp.is(n.cancellationStrategy)||hT.is(n.connectionStrategy)||Rp.is(n.messageStrategy))}t.is=e})(Cw||(he.ConnectionOptions=Cw={}));var zr;(function(t){t[t.New=1]="New",t[t.Listening=2]="Listening",t[t.Closed=3]="Closed",t[t.Disposed=4]="Disposed"})(zr||(zr={}));function C2(t,e,r,n){let i=r!==void 0?r:he.NullLogger,o=0,s=0,a=0,c="2.0",l,u=new Map,f,d=new Map,p=new Map,m,g=new Nw.LinkedMap,v=new Map,T=new Set,_=new Map,E=Me.Off,I=mr.Text,D,k=zr.New,B=new jl.Emitter,U=new jl.Emitter,z=new jl.Emitter,le=new jl.Emitter,O=new jl.Emitter,R=n&&n.cancellationStrategy?n.cancellationStrategy:vp.Message;function L(x){if(x===null)throw new Error("Can't send requests with id null since the response can't be correlated.");return"req-"+x.toString()}function $(x){return x===null?"res-unknown-"+(++a).toString():"res-"+x.toString()}function w(){return"not-"+(++s).toString()}function A(x,C){ce.Message.isRequest(C)?x.set(L(C.id),C):ce.Message.isResponse(C)?x.set($(C.id),C):x.set(w(),C)}function S(x){}function M(){return k===zr.Listening}function X(){return k===zr.Closed}function F(){return k===zr.Disposed}function W(){(k===zr.New||k===zr.Listening)&&(k=zr.Closed,U.fire(void 0))}function Z(x){B.fire([x,void 0,void 0])}function pe(x){B.fire(x)}t.onClose(W),t.onError(Z),e.onClose(W),e.onError(pe);function V(){m||g.size===0||(m=(0,kw.default)().timer.setImmediate(()=>{m=void 0,De()}))}function te(x){ce.Message.isRequest(x)?Xe(x):ce.Message.isNotification(x)?J(x):ce.Message.isResponse(x)?q(x):re(x)}function De(){if(g.size===0)return;let x=g.shift();try{let C=n?.messageStrategy;Rp.is(C)?C.handleMessage(x,te):te(x)}finally{V()}}let Ne=x=>{try{if(ce.Message.isNotification(x)&&x.method===Wl.type.method){let C=x.params.id,j=L(C),Y=g.get(j);if(ce.Message.isRequest(Y)){let Pe=n?.connectionStrategy,qe=Pe&&Pe.cancelUndispatched?Pe.cancelUndispatched(Y,S):void 0;if(qe&&(qe.error!==void 0||qe.result!==void 0)){g.delete(j),_.delete(C),qe.id=Y.id,ve(qe,x.method,Date.now()),e.write(qe).catch(()=>i.error("Sending response for canceled message failed."));return}}let $e=_.get(C);if($e!==void 0){$e.cancel(),H(x);return}else T.add(C)}A(g,x)}finally{V()}};function Xe(x){if(F())return;function C(ge,Ue,Ae){let Je={jsonrpc:c,id:x.id};ge instanceof ce.ResponseError?Je.error=ge.toJson():Je.result=ge===void 0?null:ge,ve(Je,Ue,Ae),e.write(Je).catch(()=>i.error("Sending response failed."))}function j(ge,Ue,Ae){let Je={jsonrpc:c,id:x.id,error:ge.toJson()};ve(Je,Ue,Ae),e.write(Je).catch(()=>i.error("Sending response failed."))}function Y(ge,Ue,Ae){ge===void 0&&(ge=null);let Je={jsonrpc:c,id:x.id,result:ge};ve(Je,Ue,Ae),e.write(Je).catch(()=>i.error("Sending response failed."))}_t(x);let $e=u.get(x.method),Pe,qe;$e&&(Pe=$e.type,qe=$e.handler);let Ze=Date.now();if(qe||l){let ge=x.id??String(Date.now()),Ue=Tp.is(R.receiver)?R.receiver.createCancellationTokenSource(ge):R.receiver.createCancellationTokenSource(x);x.id!==null&&T.has(x.id)&&Ue.cancel(),x.id!==null&&_.set(ge,Ue);try{let Ae;if(qe)if(x.params===void 0){if(Pe!==void 0&&Pe.numberOfParams!==0){j(new ce.ResponseError(ce.ErrorCodes.InvalidParams,`Request ${x.method} defines ${Pe.numberOfParams} params but received none.`),x.method,Ze);return}Ae=qe(Ue.token)}else if(Array.isArray(x.params)){if(Pe!==void 0&&Pe.parameterStructures===ce.ParameterStructures.byName){j(new ce.ResponseError(ce.ErrorCodes.InvalidParams,`Request ${x.method} defines parameters by name but received parameters by position`),x.method,Ze);return}Ae=qe(...x.params,Ue.token)}else{if(Pe!==void 0&&Pe.parameterStructures===ce.ParameterStructures.byPosition){j(new ce.ResponseError(ce.ErrorCodes.InvalidParams,`Request ${x.method} defines parameters by position but received parameters by name`),x.method,Ze);return}Ae=qe(x.params,Ue.token)}else l&&(Ae=l(x.method,x.params,Ue.token));let Je=Ae;Ae?Je.then?Je.then(st=>{_.delete(ge),C(st,x.method,Ze)},st=>{_.delete(ge),st instanceof ce.ResponseError?j(st,x.method,Ze):st&&mt.string(st.message)?j(new ce.ResponseError(ce.ErrorCodes.InternalError,`Request ${x.method} failed with message: ${st.message}`),x.method,Ze):j(new ce.ResponseError(ce.ErrorCodes.InternalError,`Request ${x.method} failed unexpectedly without providing any details.`),x.method,Ze)}):(_.delete(ge),C(Ae,x.method,Ze)):(_.delete(ge),Y(Ae,x.method,Ze))}catch(Ae){_.delete(ge),Ae instanceof ce.ResponseError?C(Ae,x.method,Ze):Ae&&mt.string(Ae.message)?j(new ce.ResponseError(ce.ErrorCodes.InternalError,`Request ${x.method} failed with message: ${Ae.message}`),x.method,Ze):j(new ce.ResponseError(ce.ErrorCodes.InternalError,`Request ${x.method} failed unexpectedly without providing any details.`),x.method,Ze)}}else j(new ce.ResponseError(ce.ErrorCodes.MethodNotFound,`Unhandled method ${x.method}`),x.method,Ze)}function q(x){if(!F())if(x.id===null)x.error?i.error(`Received response message without id: Error is:
|
|
11
|
+
${JSON.stringify(x.error,void 0,4)}`):i.error("Received response message without id. No further error information provided.");else{let C=x.id,j=v.get(C);if(Cr(x,j),j!==void 0){v.delete(C);try{if(x.error){let Y=x.error;j.reject(new ce.ResponseError(Y.code,Y.message,Y.data))}else if(x.result!==void 0)j.resolve(x.result);else throw new Error("Should never happen.")}catch(Y){Y.message?i.error(`Response handler '${j.method}' failed with message: ${Y.message}`):i.error(`Response handler '${j.method}' failed unexpectedly.`)}}}}function J(x){if(F())return;let C,j;if(x.method===Wl.type.method){let Y=x.params.id;T.delete(Y),H(x);return}else{let Y=d.get(x.method);Y&&(j=Y.handler,C=Y.type)}if(j||f)try{if(H(x),j)if(x.params===void 0)C!==void 0&&C.numberOfParams!==0&&C.parameterStructures!==ce.ParameterStructures.byName&&i.error(`Notification ${x.method} defines ${C.numberOfParams} params but received none.`),j();else if(Array.isArray(x.params)){let Y=x.params;x.method===zl.type.method&&Y.length===2&&uT.is(Y[0])?j({token:Y[0],value:Y[1]}):(C!==void 0&&(C.parameterStructures===ce.ParameterStructures.byName&&i.error(`Notification ${x.method} defines parameters by name but received parameters by position`),C.numberOfParams!==x.params.length&&i.error(`Notification ${x.method} defines ${C.numberOfParams} params but received ${Y.length} arguments`)),j(...Y))}else C!==void 0&&C.parameterStructures===ce.ParameterStructures.byPosition&&i.error(`Notification ${x.method} defines parameters by position but received parameters by name`),j(x.params);else f&&f(x.method,x.params)}catch(Y){Y.message?i.error(`Notification handler '${x.method}' failed with message: ${Y.message}`):i.error(`Notification handler '${x.method}' failed unexpectedly.`)}else z.fire(x)}function re(x){if(!x){i.error("Received empty message.");return}i.error(`Received message which is neither a response nor a notification message:
|
|
12
|
+
${JSON.stringify(x,null,4)}`);let C=x;if(mt.string(C.id)||mt.number(C.id)){let j=C.id,Y=v.get(j);Y&&Y.reject(new Error("The received response has neither a result nor an error property."))}}function P(x){if(x!=null)switch(E){case Me.Verbose:return JSON.stringify(x,null,4);case Me.Compact:return JSON.stringify(x);default:return}}function we(x){if(!(E===Me.Off||!D))if(I===mr.Text){let C;(E===Me.Verbose||E===Me.Compact)&&x.params&&(C=`Params: ${P(x.params)}
|
|
13
13
|
|
|
14
|
-
`),D.log(`Sending request '${x.method} - (${x.id})'.`,C)}else
|
|
14
|
+
`),D.log(`Sending request '${x.method} - (${x.id})'.`,C)}else _r("send-request",x)}function me(x){if(!(E===Me.Off||!D))if(I===mr.Text){let C;(E===Me.Verbose||E===Me.Compact)&&(x.params?C=`Params: ${P(x.params)}
|
|
15
15
|
|
|
16
16
|
`:C=`No parameters provided.
|
|
17
17
|
|
|
18
|
-
`),D.log(`Sending notification '${x.method}'.`,C)}else
|
|
18
|
+
`),D.log(`Sending notification '${x.method}'.`,C)}else _r("send-notification",x)}function ve(x,C,j){if(!(E===Me.Off||!D))if(I===mr.Text){let Y;(E===Me.Verbose||E===Me.Compact)&&(x.error&&x.error.data?Y=`Error data: ${P(x.error.data)}
|
|
19
19
|
|
|
20
|
-
`:x.result?
|
|
20
|
+
`:x.result?Y=`Result: ${P(x.result)}
|
|
21
21
|
|
|
22
|
-
`:x.error===void 0&&(
|
|
22
|
+
`:x.error===void 0&&(Y=`No result returned.
|
|
23
23
|
|
|
24
|
-
`)),D.log(`Sending response '${C} - (${x.id})'. Processing request took ${Date.now()-j}ms`,
|
|
24
|
+
`)),D.log(`Sending response '${C} - (${x.id})'. Processing request took ${Date.now()-j}ms`,Y)}else _r("send-response",x)}function _t(x){if(!(E===Me.Off||!D))if(I===mr.Text){let C;(E===Me.Verbose||E===Me.Compact)&&x.params&&(C=`Params: ${P(x.params)}
|
|
25
25
|
|
|
26
|
-
`),D.log(`Received request '${x.method} - (${x.id})'.`,C)}else
|
|
26
|
+
`),D.log(`Received request '${x.method} - (${x.id})'.`,C)}else _r("receive-request",x)}function H(x){if(!(E===Me.Off||!D||x.method===xp.type.method))if(I===mr.Text){let C;(E===Me.Verbose||E===Me.Compact)&&(x.params?C=`Params: ${P(x.params)}
|
|
27
27
|
|
|
28
28
|
`:C=`No parameters provided.
|
|
29
29
|
|
|
30
|
-
`),D.log(`Received notification '${x.method}'.`,C)}else
|
|
30
|
+
`),D.log(`Received notification '${x.method}'.`,C)}else _r("receive-notification",x)}function Cr(x,C){if(!(E===Me.Off||!D))if(I===mr.Text){let j;if((E===Me.Verbose||E===Me.Compact)&&(x.error&&x.error.data?j=`Error data: ${P(x.error.data)}
|
|
31
31
|
|
|
32
32
|
`:x.result?j=`Result: ${P(x.result)}
|
|
33
33
|
|
|
34
34
|
`:x.error===void 0&&(j=`No result returned.
|
|
35
35
|
|
|
36
|
-
`)),C){let Z=x.error?` Request failed: ${x.error.message} (${x.error.code}).`:"";D.log(`Received response '${C.method} - (${x.id})' in ${Date.now()-C.timerStart}ms.${Z}`,j)}else D.log(`Received response ${x.id} without active response promise.`,j)}else Or("receive-response",x)}function Or(x,C){if(!D||E===$e.Off)return;let j={isLSPMessage:!0,type:x,message:C,timestamp:Date.now()};D.log(j)}function me(){if(X())throw new _a(jl.Closed,"Connection is closed.");if(F())throw new _a(jl.Disposed,"Connection is disposed.")}function Ki(){if(M())throw new _a(jl.AlreadyListening,"Connection is already listening")}function Zi(){if(!M())throw new Error("Call listen() first.")}function Lr(x){return x===void 0?null:x}function ss(x){if(x!==null)return x}function _r(x){return x!=null&&!Array.isArray(x)&&typeof x=="object"}function Lt(x,C){switch(x){case ce.ParameterStructures.auto:return _r(C)?ss(C):[Lr(C)];case ce.ParameterStructures.byName:if(!_r(C))throw new Error("Received parameters by name but param is not an object literal.");return ss(C);case ce.ParameterStructures.byPosition:return[Lr(C)];default:throw new Error(`Unknown parameter structure ${x.toString()}`)}}function nn(x,C){let j,Z=x.numberOfParams;switch(Z){case 0:j=void 0;break;case 1:j=Lt(x.parameterStructures,C[0]);break;default:j=[];for(let je=0;je<C.length&&je<Z;je++)j.push(Lr(C[je]));if(C.length<Z)for(let je=C.length;je<Z;je++)j.push(null);break}return j}let zt={sendNotification:(x,...C)=>{me();let j,Z;if(yt.string(x)){j=x;let Se=C[0],De=0,Ve=ce.ParameterStructures.auto;ce.ParameterStructures.is(Se)&&(De=1,Ve=Se);let Ee=C.length,Be=Ee-De;switch(Be){case 0:Z=void 0;break;case 1:Z=Lt(Ve,C[De]);break;default:if(Ve===ce.ParameterStructures.byName)throw new Error(`Received ${Be} parameters for 'by Name' notification parameter structure.`);Z=C.slice(De,Ee).map(Ie=>Lr(Ie));break}}else{let Se=C;j=x.method,Z=nn(x,Se)}let je={jsonrpc:c,method:j,params:Z};return xe(je),e.write(je).catch(Se=>{throw i.error("Sending notification failed."),Se})},onNotification:(x,C)=>{me();let j;return yt.func(x)?f=x:C&&(yt.string(x)?(j=x,d.set(x,{type:void 0,handler:C})):(j=x.method,d.set(x.method,{type:x,handler:C}))),{dispose:()=>{j!==void 0?d.delete(j):f=void 0}}},onProgress:(x,C,j)=>{if(p.has(C))throw new Error(`Progress handler for token ${C} already registered`);return p.set(C,j),{dispose:()=>{p.delete(C)}}},sendProgress:(x,C,j)=>zt.sendNotification(Hl.type,{token:C,value:j}),onUnhandledProgress:le.event,sendRequest:(x,...C)=>{me(),Zi();let j,Z,je;if(yt.string(x)){j=x;let Ee=C[0],Be=C[C.length-1],Ie=0,pt=ce.ParameterStructures.auto;ce.ParameterStructures.is(Ee)&&(Ie=1,pt=Ee);let rt=C.length;nT.CancellationToken.is(Be)&&(rt=rt-1,je=Be);let lr=rt-Ie;switch(lr){case 0:Z=void 0;break;case 1:Z=Lt(pt,C[Ie]);break;default:if(pt===ce.ParameterStructures.byName)throw new Error(`Received ${lr} parameters for 'by Name' request parameter structure.`);Z=C.slice(Ie,rt).map(Mt=>Lr(Mt));break}}else{let Ee=C;j=x.method,Z=nn(x,Ee);let Be=x.numberOfParams;je=nT.CancellationToken.is(Ee[Be])?Ee[Be]:void 0}let Se=o++,De;je&&(De=je.onCancellationRequested(()=>{let Ee=R.sender.sendCancellation(zt,Se);return Ee===void 0?(i.log(`Received no promise from cancellation strategy when cancelling id ${Se}`),Promise.resolve()):Ee.catch(()=>{i.log(`Sending cancellation messages for id ${Se} failed`)})}));let Ve={jsonrpc:c,id:Se,method:j,params:Z};return ge(Ve),typeof R.sender.enableCancellation=="function"&&R.sender.enableCancellation(Ve),new Promise(async(Ee,Be)=>{let Ie=lr=>{Ee(lr),R.sender.cleanup(Se),De?.dispose()},pt=lr=>{Be(lr),R.sender.cleanup(Se),De?.dispose()},rt={method:j,timerStart:Date.now(),resolve:Ie,reject:pt};try{await e.write(Ve),v.set(Se,rt)}catch(lr){throw i.error("Sending request failed."),rt.reject(new ce.ResponseError(ce.ErrorCodes.MessageWriteError,lr.message?lr.message:"Unknown reason")),lr}})},onRequest:(x,C)=>{me();let j=null;return sT.is(x)?(j=void 0,l=x):yt.string(x)?(j=null,C!==void 0&&(j=x,u.set(x,{handler:C,type:void 0}))):C!==void 0&&(j=x.method,u.set(x.method,{type:x,handler:C})),{dispose:()=>{j!==null&&(j!==void 0?u.delete(j):l=void 0)}}},hasPendingResponse:()=>v.size>0,trace:async(x,C,j)=>{let Z=!1,je=mr.Text;j!==void 0&&(yt.boolean(j)?Z=j:(Z=j.sendNotification||!1,je=j.traceFormat||mr.Text)),E=x,I=je,E===$e.Off?D=void 0:D=C,Z&&!X()&&!F()&&await zt.sendNotification(aT.type,{value:$e.toString(x)})},onError:B.event,onClose:U.event,onUnhandledNotification:z.event,onDispose:O.event,end:()=>{e.end()},dispose:()=>{if(F())return;k=jr.Disposed,O.fire(void 0);let x=new ce.ResponseError(ce.ErrorCodes.PendingResponseRejected,"Pending response rejected since connection got disposed");for(let C of v.values())C.reject(x);v=new Map,_=new Map,T=new Set,g=new wb.LinkedMap,yt.func(e.dispose)&&e.dispose(),yt.func(t.dispose)&&t.dispose()},listen:()=>{me(),Ki(),k=jr.Listening,t.listen(Fe)},inspect:()=>{(0,Rb.default)().console.log("inspect")}};return zt.onNotification(hp.type,x=>{if(E===$e.Off||!D)return;let C=E===$e.Verbose||E===$e.Compact;D.log(x.message,C?x.verbose:void 0)}),zt.onNotification(Hl.type,x=>{let C=p.get(x.token);C?C(x.value):le.fire(x)}),zt}he.createMessageConnection=R2});var _p=ue(N=>{"use strict";Object.defineProperty(N,"__esModule",{value:!0});N.ProgressType=N.ProgressToken=N.createMessageConnection=N.NullLogger=N.ConnectionOptions=N.ConnectionStrategy=N.AbstractMessageBuffer=N.WriteableStreamMessageWriter=N.AbstractMessageWriter=N.MessageWriter=N.ReadableStreamMessageReader=N.AbstractMessageReader=N.MessageReader=N.SharedArrayReceiverStrategy=N.SharedArraySenderStrategy=N.CancellationToken=N.CancellationTokenSource=N.Emitter=N.Event=N.Disposable=N.LRUCache=N.Touch=N.LinkedMap=N.ParameterStructures=N.NotificationType9=N.NotificationType8=N.NotificationType7=N.NotificationType6=N.NotificationType5=N.NotificationType4=N.NotificationType3=N.NotificationType2=N.NotificationType1=N.NotificationType0=N.NotificationType=N.ErrorCodes=N.ResponseError=N.RequestType9=N.RequestType8=N.RequestType7=N.RequestType6=N.RequestType5=N.RequestType4=N.RequestType3=N.RequestType2=N.RequestType1=N.RequestType0=N.RequestType=N.Message=N.RAL=void 0;N.MessageStrategy=N.CancellationStrategy=N.CancellationSenderStrategy=N.CancellationReceiverStrategy=N.ConnectionError=N.ConnectionErrors=N.LogTraceNotification=N.SetTraceNotification=N.TraceFormat=N.TraceValues=N.Trace=void 0;var tt=Dx();Object.defineProperty(N,"Message",{enumerable:!0,get:function(){return tt.Message}});Object.defineProperty(N,"RequestType",{enumerable:!0,get:function(){return tt.RequestType}});Object.defineProperty(N,"RequestType0",{enumerable:!0,get:function(){return tt.RequestType0}});Object.defineProperty(N,"RequestType1",{enumerable:!0,get:function(){return tt.RequestType1}});Object.defineProperty(N,"RequestType2",{enumerable:!0,get:function(){return tt.RequestType2}});Object.defineProperty(N,"RequestType3",{enumerable:!0,get:function(){return tt.RequestType3}});Object.defineProperty(N,"RequestType4",{enumerable:!0,get:function(){return tt.RequestType4}});Object.defineProperty(N,"RequestType5",{enumerable:!0,get:function(){return tt.RequestType5}});Object.defineProperty(N,"RequestType6",{enumerable:!0,get:function(){return tt.RequestType6}});Object.defineProperty(N,"RequestType7",{enumerable:!0,get:function(){return tt.RequestType7}});Object.defineProperty(N,"RequestType8",{enumerable:!0,get:function(){return tt.RequestType8}});Object.defineProperty(N,"RequestType9",{enumerable:!0,get:function(){return tt.RequestType9}});Object.defineProperty(N,"ResponseError",{enumerable:!0,get:function(){return tt.ResponseError}});Object.defineProperty(N,"ErrorCodes",{enumerable:!0,get:function(){return tt.ErrorCodes}});Object.defineProperty(N,"NotificationType",{enumerable:!0,get:function(){return tt.NotificationType}});Object.defineProperty(N,"NotificationType0",{enumerable:!0,get:function(){return tt.NotificationType0}});Object.defineProperty(N,"NotificationType1",{enumerable:!0,get:function(){return tt.NotificationType1}});Object.defineProperty(N,"NotificationType2",{enumerable:!0,get:function(){return tt.NotificationType2}});Object.defineProperty(N,"NotificationType3",{enumerable:!0,get:function(){return tt.NotificationType3}});Object.defineProperty(N,"NotificationType4",{enumerable:!0,get:function(){return tt.NotificationType4}});Object.defineProperty(N,"NotificationType5",{enumerable:!0,get:function(){return tt.NotificationType5}});Object.defineProperty(N,"NotificationType6",{enumerable:!0,get:function(){return tt.NotificationType6}});Object.defineProperty(N,"NotificationType7",{enumerable:!0,get:function(){return tt.NotificationType7}});Object.defineProperty(N,"NotificationType8",{enumerable:!0,get:function(){return tt.NotificationType8}});Object.defineProperty(N,"NotificationType9",{enumerable:!0,get:function(){return tt.NotificationType9}});Object.defineProperty(N,"ParameterStructures",{enumerable:!0,get:function(){return tt.ParameterStructures}});var uT=Mx();Object.defineProperty(N,"LinkedMap",{enumerable:!0,get:function(){return uT.LinkedMap}});Object.defineProperty(N,"LRUCache",{enumerable:!0,get:function(){return uT.LRUCache}});Object.defineProperty(N,"Touch",{enumerable:!0,get:function(){return uT.Touch}});var w2=db();Object.defineProperty(N,"Disposable",{enumerable:!0,get:function(){return w2.Disposable}});var Ib=ga();Object.defineProperty(N,"Event",{enumerable:!0,get:function(){return Ib.Event}});Object.defineProperty(N,"Emitter",{enumerable:!0,get:function(){return Ib.Emitter}});var kb=lp();Object.defineProperty(N,"CancellationTokenSource",{enumerable:!0,get:function(){return kb.CancellationTokenSource}});Object.defineProperty(N,"CancellationToken",{enumerable:!0,get:function(){return kb.CancellationToken}});var Nb=hb();Object.defineProperty(N,"SharedArraySenderStrategy",{enumerable:!0,get:function(){return Nb.SharedArraySenderStrategy}});Object.defineProperty(N,"SharedArrayReceiverStrategy",{enumerable:!0,get:function(){return Nb.SharedArrayReceiverStrategy}});var fT=gb();Object.defineProperty(N,"MessageReader",{enumerable:!0,get:function(){return fT.MessageReader}});Object.defineProperty(N,"AbstractMessageReader",{enumerable:!0,get:function(){return fT.AbstractMessageReader}});Object.defineProperty(N,"ReadableStreamMessageReader",{enumerable:!0,get:function(){return fT.ReadableStreamMessageReader}});var dT=Eb();Object.defineProperty(N,"MessageWriter",{enumerable:!0,get:function(){return dT.MessageWriter}});Object.defineProperty(N,"AbstractMessageWriter",{enumerable:!0,get:function(){return dT.AbstractMessageWriter}});Object.defineProperty(N,"WriteableStreamMessageWriter",{enumerable:!0,get:function(){return dT.WriteableStreamMessageWriter}});var b2=vb();Object.defineProperty(N,"AbstractMessageBuffer",{enumerable:!0,get:function(){return b2.AbstractMessageBuffer}});var $t=Sb();Object.defineProperty(N,"ConnectionStrategy",{enumerable:!0,get:function(){return $t.ConnectionStrategy}});Object.defineProperty(N,"ConnectionOptions",{enumerable:!0,get:function(){return $t.ConnectionOptions}});Object.defineProperty(N,"NullLogger",{enumerable:!0,get:function(){return $t.NullLogger}});Object.defineProperty(N,"createMessageConnection",{enumerable:!0,get:function(){return $t.createMessageConnection}});Object.defineProperty(N,"ProgressToken",{enumerable:!0,get:function(){return $t.ProgressToken}});Object.defineProperty(N,"ProgressType",{enumerable:!0,get:function(){return $t.ProgressType}});Object.defineProperty(N,"Trace",{enumerable:!0,get:function(){return $t.Trace}});Object.defineProperty(N,"TraceValues",{enumerable:!0,get:function(){return $t.TraceValues}});Object.defineProperty(N,"TraceFormat",{enumerable:!0,get:function(){return $t.TraceFormat}});Object.defineProperty(N,"SetTraceNotification",{enumerable:!0,get:function(){return $t.SetTraceNotification}});Object.defineProperty(N,"LogTraceNotification",{enumerable:!0,get:function(){return $t.LogTraceNotification}});Object.defineProperty(N,"ConnectionErrors",{enumerable:!0,get:function(){return $t.ConnectionErrors}});Object.defineProperty(N,"ConnectionError",{enumerable:!0,get:function(){return $t.ConnectionError}});Object.defineProperty(N,"CancellationReceiverStrategy",{enumerable:!0,get:function(){return $t.CancellationReceiverStrategy}});Object.defineProperty(N,"CancellationSenderStrategy",{enumerable:!0,get:function(){return $t.CancellationSenderStrategy}});Object.defineProperty(N,"CancellationStrategy",{enumerable:!0,get:function(){return $t.CancellationStrategy}});Object.defineProperty(N,"MessageStrategy",{enumerable:!0,get:function(){return $t.MessageStrategy}});var A2=ki();N.RAL=A2.default});var Cb=ue(gT=>{"use strict";Object.defineProperty(gT,"__esModule",{value:!0});var yn=_p(),Ep=class t extends yn.AbstractMessageBuffer{constructor(e="utf-8"){super(e),this.asciiDecoder=new TextDecoder("ascii")}emptyBuffer(){return t.emptyBuffer}fromString(e,r){return new TextEncoder().encode(e)}toString(e,r){return r==="ascii"?this.asciiDecoder.decode(e):new TextDecoder(r).decode(e)}asNative(e,r){return r===void 0?e:e.slice(0,r)}allocNative(e){return new Uint8Array(e)}};Ep.emptyBuffer=new Uint8Array(0);var pT=class{constructor(e){this.socket=e,this._onData=new yn.Emitter,this._messageListener=r=>{r.data.arrayBuffer().then(i=>{this._onData.fire(new Uint8Array(i))},()=>{(0,yn.RAL)().console.error("Converting blob to array buffer failed.")})},this.socket.addEventListener("message",this._messageListener)}onClose(e){return this.socket.addEventListener("close",e),yn.Disposable.create(()=>this.socket.removeEventListener("close",e))}onError(e){return this.socket.addEventListener("error",e),yn.Disposable.create(()=>this.socket.removeEventListener("error",e))}onEnd(e){return this.socket.addEventListener("end",e),yn.Disposable.create(()=>this.socket.removeEventListener("end",e))}onData(e){return this._onData.event(e)}},hT=class{constructor(e){this.socket=e}onClose(e){return this.socket.addEventListener("close",e),yn.Disposable.create(()=>this.socket.removeEventListener("close",e))}onError(e){return this.socket.addEventListener("error",e),yn.Disposable.create(()=>this.socket.removeEventListener("error",e))}onEnd(e){return this.socket.addEventListener("end",e),yn.Disposable.create(()=>this.socket.removeEventListener("end",e))}write(e,r){if(typeof e=="string"){if(r!==void 0&&r!=="utf-8")throw new Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${r}`);this.socket.send(e)}else this.socket.send(e);return Promise.resolve()}end(){this.socket.close()}},S2=new TextEncoder,Pb=Object.freeze({messageBuffer:Object.freeze({create:t=>new Ep(t)}),applicationJson:Object.freeze({encoder:Object.freeze({name:"application/json",encode:(t,e)=>{if(e.charset!=="utf-8")throw new Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${e.charset}`);return Promise.resolve(S2.encode(JSON.stringify(t,void 0,0)))}}),decoder:Object.freeze({name:"application/json",decode:(t,e)=>{if(!(t instanceof Uint8Array))throw new Error("In a Browser environments only Uint8Arrays are supported.");return Promise.resolve(JSON.parse(new TextDecoder(e.charset).decode(t)))}})}),stream:Object.freeze({asReadableStream:t=>new pT(t),asWritableStream:t=>new hT(t)}),console,timer:Object.freeze({setTimeout(t,e,...r){let n=setTimeout(t,e,...r);return{dispose:()=>clearTimeout(n)}},setImmediate(t,...e){let r=setTimeout(t,0,...e);return{dispose:()=>clearTimeout(r)}},setInterval(t,e,...r){let n=setInterval(t,e,...r);return{dispose:()=>clearInterval(n)}}})});function mT(){return Pb}(function(t){function e(){yn.RAL.install(Pb)}t.install=e})(mT||(mT={}));gT.default=mT});var Bo=ue(gr=>{"use strict";var I2=gr&&gr.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,i)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),k2=gr&&gr.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&I2(e,t,r)};Object.defineProperty(gr,"__esModule",{value:!0});gr.createMessageConnection=gr.BrowserMessageWriter=gr.BrowserMessageReader=void 0;var N2=Cb();N2.default.install();var Ea=_p();k2(_p(),gr);var yT=class extends Ea.AbstractMessageReader{constructor(e){super(),this._onData=new Ea.Emitter,this._messageListener=r=>{this._onData.fire(r.data)},e.addEventListener("error",r=>this.fireError(r)),e.onmessage=this._messageListener}listen(e){return this._onData.event(e)}};gr.BrowserMessageReader=yT;var xT=class extends Ea.AbstractMessageWriter{constructor(e){super(),this.port=e,this.errorCount=0,e.addEventListener("error",r=>this.fireError(r))}write(e){try{return this.port.postMessage(e),Promise.resolve()}catch(r){return this.handleError(r,e),Promise.reject(r)}}handleError(e,r){this.errorCount++,this.fireError(e,r,this.errorCount)}end(){}};gr.BrowserMessageWriter=xT;function P2(t,e,r,n){return r===void 0&&(r=Ea.NullLogger),Ea.ConnectionStrategy.is(n)&&(n={connectionStrategy:n}),(0,Ea.createMessageConnection)(t,e,r,n)}gr.createMessageConnection=P2});var TT=ue((XZ,Ob)=>{"use strict";Ob.exports=Bo()});var ft=ue(ir=>{"use strict";Object.defineProperty(ir,"__esModule",{value:!0});ir.ProtocolNotificationType=ir.ProtocolNotificationType0=ir.ProtocolRequestType=ir.ProtocolRequestType0=ir.RegistrationType=ir.MessageDirection=void 0;var va=Bo(),Lb;(function(t){t.clientToServer="clientToServer",t.serverToClient="serverToClient",t.both="both"})(Lb||(ir.MessageDirection=Lb={}));var _T=class{constructor(e){this.method=e}};ir.RegistrationType=_T;var ET=class extends va.RequestType0{constructor(e){super(e)}};ir.ProtocolRequestType0=ET;var vT=class extends va.RequestType{constructor(e){super(e,va.ParameterStructures.byName)}};ir.ProtocolRequestType=vT;var RT=class extends va.NotificationType0{constructor(e){super(e)}};ir.ProtocolNotificationType0=RT;var wT=class extends va.NotificationType{constructor(e){super(e,va.ParameterStructures.byName)}};ir.ProtocolNotificationType=wT});var vp=ue(bt=>{"use strict";Object.defineProperty(bt,"__esModule",{value:!0});bt.objectLiteral=bt.typedArray=bt.stringArray=bt.array=bt.func=bt.error=bt.number=bt.string=bt.boolean=void 0;function C2(t){return t===!0||t===!1}bt.boolean=C2;function Db(t){return typeof t=="string"||t instanceof String}bt.string=Db;function O2(t){return typeof t=="number"||t instanceof Number}bt.number=O2;function L2(t){return t instanceof Error}bt.error=L2;function D2(t){return typeof t=="function"}bt.func=D2;function $b(t){return Array.isArray(t)}bt.array=$b;function $2(t){return $b(t)&&t.every(e=>Db(e))}bt.stringArray=$2;function M2(t,e){return Array.isArray(t)&&t.every(e)}bt.typedArray=M2;function F2(t){return t!==null&&typeof t=="object"}bt.objectLiteral=F2});var Ub=ue(Rp=>{"use strict";Object.defineProperty(Rp,"__esModule",{value:!0});Rp.ImplementationRequest=void 0;var Mb=ft(),Fb;(function(t){t.method="textDocument/implementation",t.messageDirection=Mb.MessageDirection.clientToServer,t.type=new Mb.ProtocolRequestType(t.method)})(Fb||(Rp.ImplementationRequest=Fb={}))});var Xb=ue(wp=>{"use strict";Object.defineProperty(wp,"__esModule",{value:!0});wp.TypeDefinitionRequest=void 0;var Bb=ft(),Gb;(function(t){t.method="textDocument/typeDefinition",t.messageDirection=Bb.MessageDirection.clientToServer,t.type=new Bb.ProtocolRequestType(t.method)})(Gb||(wp.TypeDefinitionRequest=Gb={}))});var zb=ue(Ra=>{"use strict";Object.defineProperty(Ra,"__esModule",{value:!0});Ra.DidChangeWorkspaceFoldersNotification=Ra.WorkspaceFoldersRequest=void 0;var bp=ft(),Hb;(function(t){t.method="workspace/workspaceFolders",t.messageDirection=bp.MessageDirection.serverToClient,t.type=new bp.ProtocolRequestType0(t.method)})(Hb||(Ra.WorkspaceFoldersRequest=Hb={}));var jb;(function(t){t.method="workspace/didChangeWorkspaceFolders",t.messageDirection=bp.MessageDirection.clientToServer,t.type=new bp.ProtocolNotificationType(t.method)})(jb||(Ra.DidChangeWorkspaceFoldersNotification=jb={}))});var Vb=ue(Ap=>{"use strict";Object.defineProperty(Ap,"__esModule",{value:!0});Ap.ConfigurationRequest=void 0;var qb=ft(),Wb;(function(t){t.method="workspace/configuration",t.messageDirection=qb.MessageDirection.serverToClient,t.type=new qb.ProtocolRequestType(t.method)})(Wb||(Ap.ConfigurationRequest=Wb={}))});var Zb=ue(wa=>{"use strict";Object.defineProperty(wa,"__esModule",{value:!0});wa.ColorPresentationRequest=wa.DocumentColorRequest=void 0;var Sp=ft(),Yb;(function(t){t.method="textDocument/documentColor",t.messageDirection=Sp.MessageDirection.clientToServer,t.type=new Sp.ProtocolRequestType(t.method)})(Yb||(wa.DocumentColorRequest=Yb={}));var Kb;(function(t){t.method="textDocument/colorPresentation",t.messageDirection=Sp.MessageDirection.clientToServer,t.type=new Sp.ProtocolRequestType(t.method)})(Kb||(wa.ColorPresentationRequest=Kb={}))});var eA=ue(ba=>{"use strict";Object.defineProperty(ba,"__esModule",{value:!0});ba.FoldingRangeRefreshRequest=ba.FoldingRangeRequest=void 0;var Ip=ft(),Jb;(function(t){t.method="textDocument/foldingRange",t.messageDirection=Ip.MessageDirection.clientToServer,t.type=new Ip.ProtocolRequestType(t.method)})(Jb||(ba.FoldingRangeRequest=Jb={}));var Qb;(function(t){t.method="workspace/foldingRange/refresh",t.messageDirection=Ip.MessageDirection.serverToClient,t.type=new Ip.ProtocolRequestType0(t.method)})(Qb||(ba.FoldingRangeRefreshRequest=Qb={}))});var nA=ue(kp=>{"use strict";Object.defineProperty(kp,"__esModule",{value:!0});kp.DeclarationRequest=void 0;var tA=ft(),rA;(function(t){t.method="textDocument/declaration",t.messageDirection=tA.MessageDirection.clientToServer,t.type=new tA.ProtocolRequestType(t.method)})(rA||(kp.DeclarationRequest=rA={}))});var sA=ue(Np=>{"use strict";Object.defineProperty(Np,"__esModule",{value:!0});Np.SelectionRangeRequest=void 0;var iA=ft(),oA;(function(t){t.method="textDocument/selectionRange",t.messageDirection=iA.MessageDirection.clientToServer,t.type=new iA.ProtocolRequestType(t.method)})(oA||(Np.SelectionRangeRequest=oA={}))});var uA=ue(Ci=>{"use strict";Object.defineProperty(Ci,"__esModule",{value:!0});Ci.WorkDoneProgressCancelNotification=Ci.WorkDoneProgressCreateRequest=Ci.WorkDoneProgress=void 0;var U2=Bo(),Pp=ft(),aA;(function(t){t.type=new U2.ProgressType;function e(r){return r===t.type}t.is=e})(aA||(Ci.WorkDoneProgress=aA={}));var cA;(function(t){t.method="window/workDoneProgress/create",t.messageDirection=Pp.MessageDirection.serverToClient,t.type=new Pp.ProtocolRequestType(t.method)})(cA||(Ci.WorkDoneProgressCreateRequest=cA={}));var lA;(function(t){t.method="window/workDoneProgress/cancel",t.messageDirection=Pp.MessageDirection.clientToServer,t.type=new Pp.ProtocolNotificationType(t.method)})(lA||(Ci.WorkDoneProgressCancelNotification=lA={}))});var hA=ue(Oi=>{"use strict";Object.defineProperty(Oi,"__esModule",{value:!0});Oi.CallHierarchyOutgoingCallsRequest=Oi.CallHierarchyIncomingCallsRequest=Oi.CallHierarchyPrepareRequest=void 0;var Aa=ft(),fA;(function(t){t.method="textDocument/prepareCallHierarchy",t.messageDirection=Aa.MessageDirection.clientToServer,t.type=new Aa.ProtocolRequestType(t.method)})(fA||(Oi.CallHierarchyPrepareRequest=fA={}));var dA;(function(t){t.method="callHierarchy/incomingCalls",t.messageDirection=Aa.MessageDirection.clientToServer,t.type=new Aa.ProtocolRequestType(t.method)})(dA||(Oi.CallHierarchyIncomingCallsRequest=dA={}));var pA;(function(t){t.method="callHierarchy/outgoingCalls",t.messageDirection=Aa.MessageDirection.clientToServer,t.type=new Aa.ProtocolRequestType(t.method)})(pA||(Oi.CallHierarchyOutgoingCallsRequest=pA={}))});var _A=ue(or=>{"use strict";Object.defineProperty(or,"__esModule",{value:!0});or.SemanticTokensRefreshRequest=or.SemanticTokensRangeRequest=or.SemanticTokensDeltaRequest=or.SemanticTokensRequest=or.SemanticTokensRegistrationType=or.TokenFormat=void 0;var zn=ft(),mA;(function(t){t.Relative="relative"})(mA||(or.TokenFormat=mA={}));var ql;(function(t){t.method="textDocument/semanticTokens",t.type=new zn.RegistrationType(t.method)})(ql||(or.SemanticTokensRegistrationType=ql={}));var gA;(function(t){t.method="textDocument/semanticTokens/full",t.messageDirection=zn.MessageDirection.clientToServer,t.type=new zn.ProtocolRequestType(t.method),t.registrationMethod=ql.method})(gA||(or.SemanticTokensRequest=gA={}));var yA;(function(t){t.method="textDocument/semanticTokens/full/delta",t.messageDirection=zn.MessageDirection.clientToServer,t.type=new zn.ProtocolRequestType(t.method),t.registrationMethod=ql.method})(yA||(or.SemanticTokensDeltaRequest=yA={}));var xA;(function(t){t.method="textDocument/semanticTokens/range",t.messageDirection=zn.MessageDirection.clientToServer,t.type=new zn.ProtocolRequestType(t.method),t.registrationMethod=ql.method})(xA||(or.SemanticTokensRangeRequest=xA={}));var TA;(function(t){t.method="workspace/semanticTokens/refresh",t.messageDirection=zn.MessageDirection.serverToClient,t.type=new zn.ProtocolRequestType0(t.method)})(TA||(or.SemanticTokensRefreshRequest=TA={}))});var RA=ue(Cp=>{"use strict";Object.defineProperty(Cp,"__esModule",{value:!0});Cp.ShowDocumentRequest=void 0;var EA=ft(),vA;(function(t){t.method="window/showDocument",t.messageDirection=EA.MessageDirection.serverToClient,t.type=new EA.ProtocolRequestType(t.method)})(vA||(Cp.ShowDocumentRequest=vA={}))});var AA=ue(Op=>{"use strict";Object.defineProperty(Op,"__esModule",{value:!0});Op.LinkedEditingRangeRequest=void 0;var wA=ft(),bA;(function(t){t.method="textDocument/linkedEditingRange",t.messageDirection=wA.MessageDirection.clientToServer,t.type=new wA.ProtocolRequestType(t.method)})(bA||(Op.LinkedEditingRangeRequest=bA={}))});var LA=ue(jt=>{"use strict";Object.defineProperty(jt,"__esModule",{value:!0});jt.WillDeleteFilesRequest=jt.DidDeleteFilesNotification=jt.DidRenameFilesNotification=jt.WillRenameFilesRequest=jt.DidCreateFilesNotification=jt.WillCreateFilesRequest=jt.FileOperationPatternKind=void 0;var Sr=ft(),SA;(function(t){t.file="file",t.folder="folder"})(SA||(jt.FileOperationPatternKind=SA={}));var IA;(function(t){t.method="workspace/willCreateFiles",t.messageDirection=Sr.MessageDirection.clientToServer,t.type=new Sr.ProtocolRequestType(t.method)})(IA||(jt.WillCreateFilesRequest=IA={}));var kA;(function(t){t.method="workspace/didCreateFiles",t.messageDirection=Sr.MessageDirection.clientToServer,t.type=new Sr.ProtocolNotificationType(t.method)})(kA||(jt.DidCreateFilesNotification=kA={}));var NA;(function(t){t.method="workspace/willRenameFiles",t.messageDirection=Sr.MessageDirection.clientToServer,t.type=new Sr.ProtocolRequestType(t.method)})(NA||(jt.WillRenameFilesRequest=NA={}));var PA;(function(t){t.method="workspace/didRenameFiles",t.messageDirection=Sr.MessageDirection.clientToServer,t.type=new Sr.ProtocolNotificationType(t.method)})(PA||(jt.DidRenameFilesNotification=PA={}));var CA;(function(t){t.method="workspace/didDeleteFiles",t.messageDirection=Sr.MessageDirection.clientToServer,t.type=new Sr.ProtocolNotificationType(t.method)})(CA||(jt.DidDeleteFilesNotification=CA={}));var OA;(function(t){t.method="workspace/willDeleteFiles",t.messageDirection=Sr.MessageDirection.clientToServer,t.type=new Sr.ProtocolRequestType(t.method)})(OA||(jt.WillDeleteFilesRequest=OA={}))});var UA=ue(Li=>{"use strict";Object.defineProperty(Li,"__esModule",{value:!0});Li.MonikerRequest=Li.MonikerKind=Li.UniquenessLevel=void 0;var DA=ft(),$A;(function(t){t.document="document",t.project="project",t.group="group",t.scheme="scheme",t.global="global"})($A||(Li.UniquenessLevel=$A={}));var MA;(function(t){t.$import="import",t.$export="export",t.local="local"})(MA||(Li.MonikerKind=MA={}));var FA;(function(t){t.method="textDocument/moniker",t.messageDirection=DA.MessageDirection.clientToServer,t.type=new DA.ProtocolRequestType(t.method)})(FA||(Li.MonikerRequest=FA={}))});var HA=ue(Di=>{"use strict";Object.defineProperty(Di,"__esModule",{value:!0});Di.TypeHierarchySubtypesRequest=Di.TypeHierarchySupertypesRequest=Di.TypeHierarchyPrepareRequest=void 0;var Sa=ft(),BA;(function(t){t.method="textDocument/prepareTypeHierarchy",t.messageDirection=Sa.MessageDirection.clientToServer,t.type=new Sa.ProtocolRequestType(t.method)})(BA||(Di.TypeHierarchyPrepareRequest=BA={}));var GA;(function(t){t.method="typeHierarchy/supertypes",t.messageDirection=Sa.MessageDirection.clientToServer,t.type=new Sa.ProtocolRequestType(t.method)})(GA||(Di.TypeHierarchySupertypesRequest=GA={}));var XA;(function(t){t.method="typeHierarchy/subtypes",t.messageDirection=Sa.MessageDirection.clientToServer,t.type=new Sa.ProtocolRequestType(t.method)})(XA||(Di.TypeHierarchySubtypesRequest=XA={}))});var qA=ue(Ia=>{"use strict";Object.defineProperty(Ia,"__esModule",{value:!0});Ia.InlineValueRefreshRequest=Ia.InlineValueRequest=void 0;var Lp=ft(),jA;(function(t){t.method="textDocument/inlineValue",t.messageDirection=Lp.MessageDirection.clientToServer,t.type=new Lp.ProtocolRequestType(t.method)})(jA||(Ia.InlineValueRequest=jA={}));var zA;(function(t){t.method="workspace/inlineValue/refresh",t.messageDirection=Lp.MessageDirection.serverToClient,t.type=new Lp.ProtocolRequestType0(t.method)})(zA||(Ia.InlineValueRefreshRequest=zA={}))});var KA=ue($i=>{"use strict";Object.defineProperty($i,"__esModule",{value:!0});$i.InlayHintRefreshRequest=$i.InlayHintResolveRequest=$i.InlayHintRequest=void 0;var ka=ft(),WA;(function(t){t.method="textDocument/inlayHint",t.messageDirection=ka.MessageDirection.clientToServer,t.type=new ka.ProtocolRequestType(t.method)})(WA||($i.InlayHintRequest=WA={}));var VA;(function(t){t.method="inlayHint/resolve",t.messageDirection=ka.MessageDirection.clientToServer,t.type=new ka.ProtocolRequestType(t.method)})(VA||($i.InlayHintResolveRequest=VA={}));var YA;(function(t){t.method="workspace/inlayHint/refresh",t.messageDirection=ka.MessageDirection.serverToClient,t.type=new ka.ProtocolRequestType0(t.method)})(YA||($i.InlayHintRefreshRequest=YA={}))});var nS=ue(Ir=>{"use strict";Object.defineProperty(Ir,"__esModule",{value:!0});Ir.DiagnosticRefreshRequest=Ir.WorkspaceDiagnosticRequest=Ir.DocumentDiagnosticRequest=Ir.DocumentDiagnosticReportKind=Ir.DiagnosticServerCancellationData=void 0;var rS=Bo(),B2=vp(),Na=ft(),ZA;(function(t){function e(r){let n=r;return n&&B2.boolean(n.retriggerRequest)}t.is=e})(ZA||(Ir.DiagnosticServerCancellationData=ZA={}));var JA;(function(t){t.Full="full",t.Unchanged="unchanged"})(JA||(Ir.DocumentDiagnosticReportKind=JA={}));var QA;(function(t){t.method="textDocument/diagnostic",t.messageDirection=Na.MessageDirection.clientToServer,t.type=new Na.ProtocolRequestType(t.method),t.partialResult=new rS.ProgressType})(QA||(Ir.DocumentDiagnosticRequest=QA={}));var eS;(function(t){t.method="workspace/diagnostic",t.messageDirection=Na.MessageDirection.clientToServer,t.type=new Na.ProtocolRequestType(t.method),t.partialResult=new rS.ProgressType})(eS||(Ir.WorkspaceDiagnosticRequest=eS={}));var tS;(function(t){t.method="workspace/diagnostic/refresh",t.messageDirection=Na.MessageDirection.serverToClient,t.type=new Na.ProtocolRequestType0(t.method)})(tS||(Ir.DiagnosticRefreshRequest=tS={}))});var uS=ue(_t=>{"use strict";Object.defineProperty(_t,"__esModule",{value:!0});_t.DidCloseNotebookDocumentNotification=_t.DidSaveNotebookDocumentNotification=_t.DidChangeNotebookDocumentNotification=_t.NotebookCellArrayChange=_t.DidOpenNotebookDocumentNotification=_t.NotebookDocumentSyncRegistrationType=_t.NotebookDocument=_t.NotebookCell=_t.ExecutionSummary=_t.NotebookCellKind=void 0;var Wl=(na(),tf(jd)),zr=vp(),xn=ft(),bT;(function(t){t.Markup=1,t.Code=2;function e(r){return r===1||r===2}t.is=e})(bT||(_t.NotebookCellKind=bT={}));var AT;(function(t){function e(i,o){let s={executionOrder:i};return(o===!0||o===!1)&&(s.success=o),s}t.create=e;function r(i){let o=i;return zr.objectLiteral(o)&&Wl.uinteger.is(o.executionOrder)&&(o.success===void 0||zr.boolean(o.success))}t.is=r;function n(i,o){return i===o?!0:i==null||o===null||o===void 0?!1:i.executionOrder===o.executionOrder&&i.success===o.success}t.equals=n})(AT||(_t.ExecutionSummary=AT={}));var Dp;(function(t){function e(o,s){return{kind:o,document:s}}t.create=e;function r(o){let s=o;return zr.objectLiteral(s)&&bT.is(s.kind)&&Wl.DocumentUri.is(s.document)&&(s.metadata===void 0||zr.objectLiteral(s.metadata))}t.is=r;function n(o,s){let a=new Set;return o.document!==s.document&&a.add("document"),o.kind!==s.kind&&a.add("kind"),o.executionSummary!==s.executionSummary&&a.add("executionSummary"),(o.metadata!==void 0||s.metadata!==void 0)&&!i(o.metadata,s.metadata)&&a.add("metadata"),(o.executionSummary!==void 0||s.executionSummary!==void 0)&&!AT.equals(o.executionSummary,s.executionSummary)&&a.add("executionSummary"),a}t.diff=n;function i(o,s){if(o===s)return!0;if(o==null||s===null||s===void 0||typeof o!=typeof s||typeof o!="object")return!1;let a=Array.isArray(o),c=Array.isArray(s);if(a!==c)return!1;if(a&&c){if(o.length!==s.length)return!1;for(let l=0;l<o.length;l++)if(!i(o[l],s[l]))return!1}if(zr.objectLiteral(o)&&zr.objectLiteral(s)){let l=Object.keys(o),u=Object.keys(s);if(l.length!==u.length||(l.sort(),u.sort(),!i(l,u)))return!1;for(let f=0;f<l.length;f++){let d=l[f];if(!i(o[d],s[d]))return!1}}return!0}})(Dp||(_t.NotebookCell=Dp={}));var iS;(function(t){function e(n,i,o,s){return{uri:n,notebookType:i,version:o,cells:s}}t.create=e;function r(n){let i=n;return zr.objectLiteral(i)&&zr.string(i.uri)&&Wl.integer.is(i.version)&&zr.typedArray(i.cells,Dp.is)}t.is=r})(iS||(_t.NotebookDocument=iS={}));var Pa;(function(t){t.method="notebookDocument/sync",t.messageDirection=xn.MessageDirection.clientToServer,t.type=new xn.RegistrationType(t.method)})(Pa||(_t.NotebookDocumentSyncRegistrationType=Pa={}));var oS;(function(t){t.method="notebookDocument/didOpen",t.messageDirection=xn.MessageDirection.clientToServer,t.type=new xn.ProtocolNotificationType(t.method),t.registrationMethod=Pa.method})(oS||(_t.DidOpenNotebookDocumentNotification=oS={}));var sS;(function(t){function e(n){let i=n;return zr.objectLiteral(i)&&Wl.uinteger.is(i.start)&&Wl.uinteger.is(i.deleteCount)&&(i.cells===void 0||zr.typedArray(i.cells,Dp.is))}t.is=e;function r(n,i,o){let s={start:n,deleteCount:i};return o!==void 0&&(s.cells=o),s}t.create=r})(sS||(_t.NotebookCellArrayChange=sS={}));var aS;(function(t){t.method="notebookDocument/didChange",t.messageDirection=xn.MessageDirection.clientToServer,t.type=new xn.ProtocolNotificationType(t.method),t.registrationMethod=Pa.method})(aS||(_t.DidChangeNotebookDocumentNotification=aS={}));var cS;(function(t){t.method="notebookDocument/didSave",t.messageDirection=xn.MessageDirection.clientToServer,t.type=new xn.ProtocolNotificationType(t.method),t.registrationMethod=Pa.method})(cS||(_t.DidSaveNotebookDocumentNotification=cS={}));var lS;(function(t){t.method="notebookDocument/didClose",t.messageDirection=xn.MessageDirection.clientToServer,t.type=new xn.ProtocolNotificationType(t.method),t.registrationMethod=Pa.method})(lS||(_t.DidCloseNotebookDocumentNotification=lS={}))});var pS=ue($p=>{"use strict";Object.defineProperty($p,"__esModule",{value:!0});$p.InlineCompletionRequest=void 0;var fS=ft(),dS;(function(t){t.method="textDocument/inlineCompletion",t.messageDirection=fS.MessageDirection.clientToServer,t.type=new fS.ProtocolRequestType(t.method)})(dS||($p.InlineCompletionRequest=dS={}))});var AI=ue(y=>{"use strict";Object.defineProperty(y,"__esModule",{value:!0});y.WorkspaceSymbolRequest=y.CodeActionResolveRequest=y.CodeActionRequest=y.DocumentSymbolRequest=y.DocumentHighlightRequest=y.ReferencesRequest=y.DefinitionRequest=y.SignatureHelpRequest=y.SignatureHelpTriggerKind=y.HoverRequest=y.CompletionResolveRequest=y.CompletionRequest=y.CompletionTriggerKind=y.PublishDiagnosticsNotification=y.WatchKind=y.RelativePattern=y.FileChangeType=y.DidChangeWatchedFilesNotification=y.WillSaveTextDocumentWaitUntilRequest=y.WillSaveTextDocumentNotification=y.TextDocumentSaveReason=y.DidSaveTextDocumentNotification=y.DidCloseTextDocumentNotification=y.DidChangeTextDocumentNotification=y.TextDocumentContentChangeEvent=y.DidOpenTextDocumentNotification=y.TextDocumentSyncKind=y.TelemetryEventNotification=y.LogMessageNotification=y.ShowMessageRequest=y.ShowMessageNotification=y.MessageType=y.DidChangeConfigurationNotification=y.ExitNotification=y.ShutdownRequest=y.InitializedNotification=y.InitializeErrorCodes=y.InitializeRequest=y.WorkDoneProgressOptions=y.TextDocumentRegistrationOptions=y.StaticRegistrationOptions=y.PositionEncodingKind=y.FailureHandlingKind=y.ResourceOperationKind=y.UnregistrationRequest=y.RegistrationRequest=y.DocumentSelector=y.NotebookCellTextDocumentFilter=y.NotebookDocumentFilter=y.TextDocumentFilter=void 0;y.MonikerRequest=y.MonikerKind=y.UniquenessLevel=y.WillDeleteFilesRequest=y.DidDeleteFilesNotification=y.WillRenameFilesRequest=y.DidRenameFilesNotification=y.WillCreateFilesRequest=y.DidCreateFilesNotification=y.FileOperationPatternKind=y.LinkedEditingRangeRequest=y.ShowDocumentRequest=y.SemanticTokensRegistrationType=y.SemanticTokensRefreshRequest=y.SemanticTokensRangeRequest=y.SemanticTokensDeltaRequest=y.SemanticTokensRequest=y.TokenFormat=y.CallHierarchyPrepareRequest=y.CallHierarchyOutgoingCallsRequest=y.CallHierarchyIncomingCallsRequest=y.WorkDoneProgressCancelNotification=y.WorkDoneProgressCreateRequest=y.WorkDoneProgress=y.SelectionRangeRequest=y.DeclarationRequest=y.FoldingRangeRefreshRequest=y.FoldingRangeRequest=y.ColorPresentationRequest=y.DocumentColorRequest=y.ConfigurationRequest=y.DidChangeWorkspaceFoldersNotification=y.WorkspaceFoldersRequest=y.TypeDefinitionRequest=y.ImplementationRequest=y.ApplyWorkspaceEditRequest=y.ExecuteCommandRequest=y.PrepareRenameRequest=y.RenameRequest=y.PrepareSupportDefaultBehavior=y.DocumentOnTypeFormattingRequest=y.DocumentRangesFormattingRequest=y.DocumentRangeFormattingRequest=y.DocumentFormattingRequest=y.DocumentLinkResolveRequest=y.DocumentLinkRequest=y.CodeLensRefreshRequest=y.CodeLensResolveRequest=y.CodeLensRequest=y.WorkspaceSymbolResolveRequest=void 0;y.InlineCompletionRequest=y.DidCloseNotebookDocumentNotification=y.DidSaveNotebookDocumentNotification=y.DidChangeNotebookDocumentNotification=y.NotebookCellArrayChange=y.DidOpenNotebookDocumentNotification=y.NotebookDocumentSyncRegistrationType=y.NotebookDocument=y.NotebookCell=y.ExecutionSummary=y.NotebookCellKind=y.DiagnosticRefreshRequest=y.WorkspaceDiagnosticRequest=y.DocumentDiagnosticRequest=y.DocumentDiagnosticReportKind=y.DiagnosticServerCancellationData=y.InlayHintRefreshRequest=y.InlayHintResolveRequest=y.InlayHintRequest=y.InlineValueRefreshRequest=y.InlineValueRequest=y.TypeHierarchySupertypesRequest=y.TypeHierarchySubtypesRequest=y.TypeHierarchyPrepareRequest=void 0;var G=ft(),hS=(na(),tf(jd)),Ct=vp(),G2=Ub();Object.defineProperty(y,"ImplementationRequest",{enumerable:!0,get:function(){return G2.ImplementationRequest}});var X2=Xb();Object.defineProperty(y,"TypeDefinitionRequest",{enumerable:!0,get:function(){return X2.TypeDefinitionRequest}});var vI=zb();Object.defineProperty(y,"WorkspaceFoldersRequest",{enumerable:!0,get:function(){return vI.WorkspaceFoldersRequest}});Object.defineProperty(y,"DidChangeWorkspaceFoldersNotification",{enumerable:!0,get:function(){return vI.DidChangeWorkspaceFoldersNotification}});var H2=Vb();Object.defineProperty(y,"ConfigurationRequest",{enumerable:!0,get:function(){return H2.ConfigurationRequest}});var RI=Zb();Object.defineProperty(y,"DocumentColorRequest",{enumerable:!0,get:function(){return RI.DocumentColorRequest}});Object.defineProperty(y,"ColorPresentationRequest",{enumerable:!0,get:function(){return RI.ColorPresentationRequest}});var wI=eA();Object.defineProperty(y,"FoldingRangeRequest",{enumerable:!0,get:function(){return wI.FoldingRangeRequest}});Object.defineProperty(y,"FoldingRangeRefreshRequest",{enumerable:!0,get:function(){return wI.FoldingRangeRefreshRequest}});var j2=nA();Object.defineProperty(y,"DeclarationRequest",{enumerable:!0,get:function(){return j2.DeclarationRequest}});var z2=sA();Object.defineProperty(y,"SelectionRangeRequest",{enumerable:!0,get:function(){return z2.SelectionRangeRequest}});var PT=uA();Object.defineProperty(y,"WorkDoneProgress",{enumerable:!0,get:function(){return PT.WorkDoneProgress}});Object.defineProperty(y,"WorkDoneProgressCreateRequest",{enumerable:!0,get:function(){return PT.WorkDoneProgressCreateRequest}});Object.defineProperty(y,"WorkDoneProgressCancelNotification",{enumerable:!0,get:function(){return PT.WorkDoneProgressCancelNotification}});var CT=hA();Object.defineProperty(y,"CallHierarchyIncomingCallsRequest",{enumerable:!0,get:function(){return CT.CallHierarchyIncomingCallsRequest}});Object.defineProperty(y,"CallHierarchyOutgoingCallsRequest",{enumerable:!0,get:function(){return CT.CallHierarchyOutgoingCallsRequest}});Object.defineProperty(y,"CallHierarchyPrepareRequest",{enumerable:!0,get:function(){return CT.CallHierarchyPrepareRequest}});var Ca=_A();Object.defineProperty(y,"TokenFormat",{enumerable:!0,get:function(){return Ca.TokenFormat}});Object.defineProperty(y,"SemanticTokensRequest",{enumerable:!0,get:function(){return Ca.SemanticTokensRequest}});Object.defineProperty(y,"SemanticTokensDeltaRequest",{enumerable:!0,get:function(){return Ca.SemanticTokensDeltaRequest}});Object.defineProperty(y,"SemanticTokensRangeRequest",{enumerable:!0,get:function(){return Ca.SemanticTokensRangeRequest}});Object.defineProperty(y,"SemanticTokensRefreshRequest",{enumerable:!0,get:function(){return Ca.SemanticTokensRefreshRequest}});Object.defineProperty(y,"SemanticTokensRegistrationType",{enumerable:!0,get:function(){return Ca.SemanticTokensRegistrationType}});var q2=RA();Object.defineProperty(y,"ShowDocumentRequest",{enumerable:!0,get:function(){return q2.ShowDocumentRequest}});var W2=AA();Object.defineProperty(y,"LinkedEditingRangeRequest",{enumerable:!0,get:function(){return W2.LinkedEditingRangeRequest}});var Go=LA();Object.defineProperty(y,"FileOperationPatternKind",{enumerable:!0,get:function(){return Go.FileOperationPatternKind}});Object.defineProperty(y,"DidCreateFilesNotification",{enumerable:!0,get:function(){return Go.DidCreateFilesNotification}});Object.defineProperty(y,"WillCreateFilesRequest",{enumerable:!0,get:function(){return Go.WillCreateFilesRequest}});Object.defineProperty(y,"DidRenameFilesNotification",{enumerable:!0,get:function(){return Go.DidRenameFilesNotification}});Object.defineProperty(y,"WillRenameFilesRequest",{enumerable:!0,get:function(){return Go.WillRenameFilesRequest}});Object.defineProperty(y,"DidDeleteFilesNotification",{enumerable:!0,get:function(){return Go.DidDeleteFilesNotification}});Object.defineProperty(y,"WillDeleteFilesRequest",{enumerable:!0,get:function(){return Go.WillDeleteFilesRequest}});var OT=UA();Object.defineProperty(y,"UniquenessLevel",{enumerable:!0,get:function(){return OT.UniquenessLevel}});Object.defineProperty(y,"MonikerKind",{enumerable:!0,get:function(){return OT.MonikerKind}});Object.defineProperty(y,"MonikerRequest",{enumerable:!0,get:function(){return OT.MonikerRequest}});var LT=HA();Object.defineProperty(y,"TypeHierarchyPrepareRequest",{enumerable:!0,get:function(){return LT.TypeHierarchyPrepareRequest}});Object.defineProperty(y,"TypeHierarchySubtypesRequest",{enumerable:!0,get:function(){return LT.TypeHierarchySubtypesRequest}});Object.defineProperty(y,"TypeHierarchySupertypesRequest",{enumerable:!0,get:function(){return LT.TypeHierarchySupertypesRequest}});var bI=qA();Object.defineProperty(y,"InlineValueRequest",{enumerable:!0,get:function(){return bI.InlineValueRequest}});Object.defineProperty(y,"InlineValueRefreshRequest",{enumerable:!0,get:function(){return bI.InlineValueRefreshRequest}});var DT=KA();Object.defineProperty(y,"InlayHintRequest",{enumerable:!0,get:function(){return DT.InlayHintRequest}});Object.defineProperty(y,"InlayHintResolveRequest",{enumerable:!0,get:function(){return DT.InlayHintResolveRequest}});Object.defineProperty(y,"InlayHintRefreshRequest",{enumerable:!0,get:function(){return DT.InlayHintRefreshRequest}});var Vl=nS();Object.defineProperty(y,"DiagnosticServerCancellationData",{enumerable:!0,get:function(){return Vl.DiagnosticServerCancellationData}});Object.defineProperty(y,"DocumentDiagnosticReportKind",{enumerable:!0,get:function(){return Vl.DocumentDiagnosticReportKind}});Object.defineProperty(y,"DocumentDiagnosticRequest",{enumerable:!0,get:function(){return Vl.DocumentDiagnosticRequest}});Object.defineProperty(y,"WorkspaceDiagnosticRequest",{enumerable:!0,get:function(){return Vl.WorkspaceDiagnosticRequest}});Object.defineProperty(y,"DiagnosticRefreshRequest",{enumerable:!0,get:function(){return Vl.DiagnosticRefreshRequest}});var Tn=uS();Object.defineProperty(y,"NotebookCellKind",{enumerable:!0,get:function(){return Tn.NotebookCellKind}});Object.defineProperty(y,"ExecutionSummary",{enumerable:!0,get:function(){return Tn.ExecutionSummary}});Object.defineProperty(y,"NotebookCell",{enumerable:!0,get:function(){return Tn.NotebookCell}});Object.defineProperty(y,"NotebookDocument",{enumerable:!0,get:function(){return Tn.NotebookDocument}});Object.defineProperty(y,"NotebookDocumentSyncRegistrationType",{enumerable:!0,get:function(){return Tn.NotebookDocumentSyncRegistrationType}});Object.defineProperty(y,"DidOpenNotebookDocumentNotification",{enumerable:!0,get:function(){return Tn.DidOpenNotebookDocumentNotification}});Object.defineProperty(y,"NotebookCellArrayChange",{enumerable:!0,get:function(){return Tn.NotebookCellArrayChange}});Object.defineProperty(y,"DidChangeNotebookDocumentNotification",{enumerable:!0,get:function(){return Tn.DidChangeNotebookDocumentNotification}});Object.defineProperty(y,"DidSaveNotebookDocumentNotification",{enumerable:!0,get:function(){return Tn.DidSaveNotebookDocumentNotification}});Object.defineProperty(y,"DidCloseNotebookDocumentNotification",{enumerable:!0,get:function(){return Tn.DidCloseNotebookDocumentNotification}});var V2=pS();Object.defineProperty(y,"InlineCompletionRequest",{enumerable:!0,get:function(){return V2.InlineCompletionRequest}});var ST;(function(t){function e(r){let n=r;return Ct.string(n)||Ct.string(n.language)||Ct.string(n.scheme)||Ct.string(n.pattern)}t.is=e})(ST||(y.TextDocumentFilter=ST={}));var IT;(function(t){function e(r){let n=r;return Ct.objectLiteral(n)&&(Ct.string(n.notebookType)||Ct.string(n.scheme)||Ct.string(n.pattern))}t.is=e})(IT||(y.NotebookDocumentFilter=IT={}));var kT;(function(t){function e(r){let n=r;return Ct.objectLiteral(n)&&(Ct.string(n.notebook)||IT.is(n.notebook))&&(n.language===void 0||Ct.string(n.language))}t.is=e})(kT||(y.NotebookCellTextDocumentFilter=kT={}));var NT;(function(t){function e(r){if(!Array.isArray(r))return!1;for(let n of r)if(!Ct.string(n)&&!ST.is(n)&&!kT.is(n))return!1;return!0}t.is=e})(NT||(y.DocumentSelector=NT={}));var mS;(function(t){t.method="client/registerCapability",t.messageDirection=G.MessageDirection.serverToClient,t.type=new G.ProtocolRequestType(t.method)})(mS||(y.RegistrationRequest=mS={}));var gS;(function(t){t.method="client/unregisterCapability",t.messageDirection=G.MessageDirection.serverToClient,t.type=new G.ProtocolRequestType(t.method)})(gS||(y.UnregistrationRequest=gS={}));var yS;(function(t){t.Create="create",t.Rename="rename",t.Delete="delete"})(yS||(y.ResourceOperationKind=yS={}));var xS;(function(t){t.Abort="abort",t.Transactional="transactional",t.TextOnlyTransactional="textOnlyTransactional",t.Undo="undo"})(xS||(y.FailureHandlingKind=xS={}));var TS;(function(t){t.UTF8="utf-8",t.UTF16="utf-16",t.UTF32="utf-32"})(TS||(y.PositionEncodingKind=TS={}));var _S;(function(t){function e(r){let n=r;return n&&Ct.string(n.id)&&n.id.length>0}t.hasId=e})(_S||(y.StaticRegistrationOptions=_S={}));var ES;(function(t){function e(r){let n=r;return n&&(n.documentSelector===null||NT.is(n.documentSelector))}t.is=e})(ES||(y.TextDocumentRegistrationOptions=ES={}));var vS;(function(t){function e(n){let i=n;return Ct.objectLiteral(i)&&(i.workDoneProgress===void 0||Ct.boolean(i.workDoneProgress))}t.is=e;function r(n){let i=n;return i&&Ct.boolean(i.workDoneProgress)}t.hasWorkDoneProgress=r})(vS||(y.WorkDoneProgressOptions=vS={}));var RS;(function(t){t.method="initialize",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolRequestType(t.method)})(RS||(y.InitializeRequest=RS={}));var wS;(function(t){t.unknownProtocolVersion=1})(wS||(y.InitializeErrorCodes=wS={}));var bS;(function(t){t.method="initialized",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolNotificationType(t.method)})(bS||(y.InitializedNotification=bS={}));var AS;(function(t){t.method="shutdown",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolRequestType0(t.method)})(AS||(y.ShutdownRequest=AS={}));var SS;(function(t){t.method="exit",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolNotificationType0(t.method)})(SS||(y.ExitNotification=SS={}));var IS;(function(t){t.method="workspace/didChangeConfiguration",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolNotificationType(t.method)})(IS||(y.DidChangeConfigurationNotification=IS={}));var kS;(function(t){t.Error=1,t.Warning=2,t.Info=3,t.Log=4,t.Debug=5})(kS||(y.MessageType=kS={}));var NS;(function(t){t.method="window/showMessage",t.messageDirection=G.MessageDirection.serverToClient,t.type=new G.ProtocolNotificationType(t.method)})(NS||(y.ShowMessageNotification=NS={}));var PS;(function(t){t.method="window/showMessageRequest",t.messageDirection=G.MessageDirection.serverToClient,t.type=new G.ProtocolRequestType(t.method)})(PS||(y.ShowMessageRequest=PS={}));var CS;(function(t){t.method="window/logMessage",t.messageDirection=G.MessageDirection.serverToClient,t.type=new G.ProtocolNotificationType(t.method)})(CS||(y.LogMessageNotification=CS={}));var OS;(function(t){t.method="telemetry/event",t.messageDirection=G.MessageDirection.serverToClient,t.type=new G.ProtocolNotificationType(t.method)})(OS||(y.TelemetryEventNotification=OS={}));var LS;(function(t){t.None=0,t.Full=1,t.Incremental=2})(LS||(y.TextDocumentSyncKind=LS={}));var DS;(function(t){t.method="textDocument/didOpen",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolNotificationType(t.method)})(DS||(y.DidOpenTextDocumentNotification=DS={}));var $S;(function(t){function e(n){let i=n;return i!=null&&typeof i.text=="string"&&i.range!==void 0&&(i.rangeLength===void 0||typeof i.rangeLength=="number")}t.isIncremental=e;function r(n){let i=n;return i!=null&&typeof i.text=="string"&&i.range===void 0&&i.rangeLength===void 0}t.isFull=r})($S||(y.TextDocumentContentChangeEvent=$S={}));var MS;(function(t){t.method="textDocument/didChange",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolNotificationType(t.method)})(MS||(y.DidChangeTextDocumentNotification=MS={}));var FS;(function(t){t.method="textDocument/didClose",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolNotificationType(t.method)})(FS||(y.DidCloseTextDocumentNotification=FS={}));var US;(function(t){t.method="textDocument/didSave",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolNotificationType(t.method)})(US||(y.DidSaveTextDocumentNotification=US={}));var BS;(function(t){t.Manual=1,t.AfterDelay=2,t.FocusOut=3})(BS||(y.TextDocumentSaveReason=BS={}));var GS;(function(t){t.method="textDocument/willSave",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolNotificationType(t.method)})(GS||(y.WillSaveTextDocumentNotification=GS={}));var XS;(function(t){t.method="textDocument/willSaveWaitUntil",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolRequestType(t.method)})(XS||(y.WillSaveTextDocumentWaitUntilRequest=XS={}));var HS;(function(t){t.method="workspace/didChangeWatchedFiles",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolNotificationType(t.method)})(HS||(y.DidChangeWatchedFilesNotification=HS={}));var jS;(function(t){t.Created=1,t.Changed=2,t.Deleted=3})(jS||(y.FileChangeType=jS={}));var zS;(function(t){function e(r){let n=r;return Ct.objectLiteral(n)&&(hS.URI.is(n.baseUri)||hS.WorkspaceFolder.is(n.baseUri))&&Ct.string(n.pattern)}t.is=e})(zS||(y.RelativePattern=zS={}));var qS;(function(t){t.Create=1,t.Change=2,t.Delete=4})(qS||(y.WatchKind=qS={}));var WS;(function(t){t.method="textDocument/publishDiagnostics",t.messageDirection=G.MessageDirection.serverToClient,t.type=new G.ProtocolNotificationType(t.method)})(WS||(y.PublishDiagnosticsNotification=WS={}));var VS;(function(t){t.Invoked=1,t.TriggerCharacter=2,t.TriggerForIncompleteCompletions=3})(VS||(y.CompletionTriggerKind=VS={}));var YS;(function(t){t.method="textDocument/completion",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolRequestType(t.method)})(YS||(y.CompletionRequest=YS={}));var KS;(function(t){t.method="completionItem/resolve",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolRequestType(t.method)})(KS||(y.CompletionResolveRequest=KS={}));var ZS;(function(t){t.method="textDocument/hover",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolRequestType(t.method)})(ZS||(y.HoverRequest=ZS={}));var JS;(function(t){t.Invoked=1,t.TriggerCharacter=2,t.ContentChange=3})(JS||(y.SignatureHelpTriggerKind=JS={}));var QS;(function(t){t.method="textDocument/signatureHelp",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolRequestType(t.method)})(QS||(y.SignatureHelpRequest=QS={}));var eI;(function(t){t.method="textDocument/definition",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolRequestType(t.method)})(eI||(y.DefinitionRequest=eI={}));var tI;(function(t){t.method="textDocument/references",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolRequestType(t.method)})(tI||(y.ReferencesRequest=tI={}));var rI;(function(t){t.method="textDocument/documentHighlight",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolRequestType(t.method)})(rI||(y.DocumentHighlightRequest=rI={}));var nI;(function(t){t.method="textDocument/documentSymbol",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolRequestType(t.method)})(nI||(y.DocumentSymbolRequest=nI={}));var iI;(function(t){t.method="textDocument/codeAction",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolRequestType(t.method)})(iI||(y.CodeActionRequest=iI={}));var oI;(function(t){t.method="codeAction/resolve",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolRequestType(t.method)})(oI||(y.CodeActionResolveRequest=oI={}));var sI;(function(t){t.method="workspace/symbol",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolRequestType(t.method)})(sI||(y.WorkspaceSymbolRequest=sI={}));var aI;(function(t){t.method="workspaceSymbol/resolve",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolRequestType(t.method)})(aI||(y.WorkspaceSymbolResolveRequest=aI={}));var cI;(function(t){t.method="textDocument/codeLens",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolRequestType(t.method)})(cI||(y.CodeLensRequest=cI={}));var lI;(function(t){t.method="codeLens/resolve",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolRequestType(t.method)})(lI||(y.CodeLensResolveRequest=lI={}));var uI;(function(t){t.method="workspace/codeLens/refresh",t.messageDirection=G.MessageDirection.serverToClient,t.type=new G.ProtocolRequestType0(t.method)})(uI||(y.CodeLensRefreshRequest=uI={}));var fI;(function(t){t.method="textDocument/documentLink",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolRequestType(t.method)})(fI||(y.DocumentLinkRequest=fI={}));var dI;(function(t){t.method="documentLink/resolve",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolRequestType(t.method)})(dI||(y.DocumentLinkResolveRequest=dI={}));var pI;(function(t){t.method="textDocument/formatting",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolRequestType(t.method)})(pI||(y.DocumentFormattingRequest=pI={}));var hI;(function(t){t.method="textDocument/rangeFormatting",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolRequestType(t.method)})(hI||(y.DocumentRangeFormattingRequest=hI={}));var mI;(function(t){t.method="textDocument/rangesFormatting",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolRequestType(t.method)})(mI||(y.DocumentRangesFormattingRequest=mI={}));var gI;(function(t){t.method="textDocument/onTypeFormatting",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolRequestType(t.method)})(gI||(y.DocumentOnTypeFormattingRequest=gI={}));var yI;(function(t){t.Identifier=1})(yI||(y.PrepareSupportDefaultBehavior=yI={}));var xI;(function(t){t.method="textDocument/rename",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolRequestType(t.method)})(xI||(y.RenameRequest=xI={}));var TI;(function(t){t.method="textDocument/prepareRename",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolRequestType(t.method)})(TI||(y.PrepareRenameRequest=TI={}));var _I;(function(t){t.method="workspace/executeCommand",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolRequestType(t.method)})(_I||(y.ExecuteCommandRequest=_I={}));var EI;(function(t){t.method="workspace/applyEdit",t.messageDirection=G.MessageDirection.serverToClient,t.type=new G.ProtocolRequestType("workspace/applyEdit")})(EI||(y.ApplyWorkspaceEditRequest=EI={}))});var II=ue(Mp=>{"use strict";Object.defineProperty(Mp,"__esModule",{value:!0});Mp.createProtocolConnection=void 0;var SI=Bo();function Y2(t,e,r,n){return SI.ConnectionStrategy.is(n)&&(n={connectionStrategy:n}),(0,SI.createMessageConnection)(t,e,r,n)}Mp.createProtocolConnection=Y2});var NI=ue(sr=>{"use strict";var K2=sr&&sr.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,i)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),Fp=sr&&sr.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&K2(e,t,r)};Object.defineProperty(sr,"__esModule",{value:!0});sr.LSPErrorCodes=sr.createProtocolConnection=void 0;Fp(Bo(),sr);Fp((na(),tf(jd)),sr);Fp(ft(),sr);Fp(AI(),sr);var Z2=II();Object.defineProperty(sr,"createProtocolConnection",{enumerable:!0,get:function(){return Z2.createProtocolConnection}});var kI;(function(t){t.lspReservedErrorRangeStart=-32899,t.RequestFailed=-32803,t.ServerCancelled=-32802,t.ContentModified=-32801,t.RequestCancelled=-32800,t.lspReservedErrorRangeEnd=-32800})(kI||(sr.LSPErrorCodes=kI={}))});var CI=ue(_n=>{"use strict";var J2=_n&&_n.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,i)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),PI=_n&&_n.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&J2(e,t,r)};Object.defineProperty(_n,"__esModule",{value:!0});_n.createProtocolConnection=void 0;var Q2=TT();PI(TT(),_n);PI(NI(),_n);function eU(t,e,r,n){return(0,Q2.createMessageConnection)(t,e,r,n)}_n.createProtocolConnection=eU});var sk={};on(sk,{nodeReadFile:()=>vU});async function vU(){throw new Error("nowline: filesystem readers are unavailable in the browser embed")}var ak=BE(()=>{});var FX={};on(FX,{EmbedRenderError:()=>Yu,__resetForTests:()=>MX,init:()=>ME,initialize:()=>OX,parse:()=>DX,render:()=>LX,run:()=>$X,sha:()=>PX,version:()=>NX});var GE="0.4.2",XE="1625fac";var wC=/did you mean ['"]?([^'"?]+)['"]?\??/i;function HE(t,e){return{severity:t.severity===2?"warning":"error",code:bC(t),message:t.message,suggestion:SC(t.message),file:e,line:(t.range?.start.line??0)+1,column:(t.range?.start.character??0)+1}}function jE(t,e){return{severity:"error",code:"parse-error",message:t.message,file:e,line:t.token?.startLine??1,column:t.token?.startColumn??1}}function zE(t,e){return{severity:"error",code:"lex-error",message:t.message,file:e,line:t.line??1,column:t.column??1}}function qE(t){return{severity:t.severity,code:"include",message:t.message,file:t.sourcePath,line:t.line!==void 0?t.line+1:1,column:1}}function WE(t,e,r="warning"){return{severity:r,code:"render.warning",message:t,file:e,line:1,column:1}}function bC(t){return typeof t.code=="string"&&t.code!==""?t.code:typeof t.code=="number"?String(t.code):AC(t.message)}function AC(t){let e=t.toLowerCase();return e.includes("duplicate identifier")?"duplicate-identifier":e.includes("unknown reference")||e.includes("did you mean")?"unknown-reference":e.includes("circular")?"circular-dependency":e.includes("requires")&&e.includes("date:")?"missing-date":e.includes("duration")?"duration":e.includes("include")?"include":e.includes("indent")?"indentation":"validation"}function SC(t){let e=t.match(wC);return e?e[1].trim():void 0}var VE="__nowline_browser_noop_include__";async function YE(t){throw new Error(`${VE}: include "${t}" was skipped \u2014 running in single-file mode.`)}function KE(t){return t.includes(VE)}var ut={};on(ut,{AbstractAstReflection:()=>Ji,AbstractCstNode:()=>xl,AbstractLangiumParser:()=>Tl,AbstractParserErrorMessageProvider:()=>qd,AbstractThreadedAsyncParser:()=>HT,AstUtils:()=>of,BiMap:()=>$o,Cancellation:()=>oe,CompositeCstNodeImpl:()=>Po,ContextCache:()=>Mo,CstNodeBuilder:()=>yl,CstUtils:()=>bf,DEFAULT_TOKENIZE_OPTIONS:()=>Up,DONE_RESULT:()=>Ft,DatatypeSymbol:()=>zd,DefaultAstNodeDescriptionProvider:()=>$l,DefaultAstNodeLocator:()=>Fl,DefaultAsyncParser:()=>nu,DefaultCommentProvider:()=>ru,DefaultConfigurationProvider:()=>Ul,DefaultDocumentBuilder:()=>Yl,DefaultDocumentValidator:()=>Dl,DefaultHydrator:()=>ou,DefaultIndexManager:()=>Kl,DefaultJsonSerializer:()=>Cl,DefaultLangiumDocumentFactory:()=>Rl,DefaultLangiumDocuments:()=>wl,DefaultLangiumProfiler:()=>WT,DefaultLexer:()=>Xo,DefaultLexerErrorMessageProvider:()=>Jl,DefaultLinker:()=>bl,DefaultNameProvider:()=>Al,DefaultReferenceDescriptionProvider:()=>Ml,DefaultReferences:()=>Sl,DefaultScopeComputation:()=>Il,DefaultScopeProvider:()=>Pl,DefaultServiceRegistry:()=>Ol,DefaultTokenBuilder:()=>Oo,DefaultValueConverter:()=>Lo,DefaultWorkspaceLock:()=>iu,DefaultWorkspaceManager:()=>Zl,Deferred:()=>Qt,Disposable:()=>Mi,DisposableCache:()=>da,DocumentCache:()=>tp,DocumentState:()=>ye,DocumentValidator:()=>Ar,EMPTY_SCOPE:()=>o2,EMPTY_STREAM:()=>ri,EmptyFileSystem:()=>uu,EmptyFileSystemProvider:()=>Hp,ErrorWithLocation:()=>ho,GrammarAST:()=>Oc,GrammarUtils:()=>vs,IndentationAwareLexer:()=>lu,IndentationAwareTokenBuilder:()=>La,JSDocDocumentationProvider:()=>tu,LangiumCompletionParser:()=>El,LangiumParser:()=>_l,LangiumParserErrorMessageProvider:()=>oa,LeafCstNodeImpl:()=>No,LexingMode:()=>jo,MapScope:()=>lx,Module:()=>zT,MultiMap:()=>Gt,MultiMapScope:()=>kl,OperationCancelled:()=>br,ParserWorker:()=>jT,ProfilingTask:()=>zp,Reduction:()=>as,RefResolving:()=>Do,RegExpUtils:()=>If,RootCstNodeImpl:()=>ia,SimpleCache:()=>Nl,StreamImpl:()=>fr,StreamScope:()=>fa,TextDocument:()=>ca,TreeStreamImpl:()=>sn,URI:()=>gt,UriTrie:()=>ua,UriUtils:()=>vt,VALIDATE_EACH_NODE:()=>ib,ValidationCategory:()=>rp,ValidationRegistry:()=>Ll,ValueConverter:()=>mn,WorkspaceCache:()=>pa,assertCondition:()=>n0,assertUnreachable:()=>ln,createCompletionParser:()=>Zy,createDefaultCoreModule:()=>su,createDefaultSharedCoreModule:()=>au,createGrammarConfig:()=>ng,createLangiumParser:()=>Jy,createParser:()=>vl,delayNextTick:()=>ax,diagnosticData:()=>Fo,eagerLoad:()=>XI,getDiagnosticRange:()=>ob,indentationBuilderDefaultOptions:()=>qT,inject:()=>Ho,interruptAndCheck:()=>mt,isAstNode:()=>ht,isAstNodeDescription:()=>pm,isAstNodeWithComment:()=>ux,isCompositeCstNode:()=>Dr,isIMultiModeLexerDefinition:()=>MT,isJSDoc:()=>GT,isLeafCstNode:()=>ti,isLinkingError:()=>Qi,isMultiReference:()=>ur,isNamed:()=>rb,isOperationCancelled:()=>gn,isReference:()=>At,isRootCstNode:()=>Ec,isTokenTypeArray:()=>Bp,isTokenTypeDictionary:()=>$T,loadGrammarFromJson:()=>jp,parseJSDoc:()=>BT,prepareLangiumParser:()=>jw,setInterruptionPeriod:()=>Zw,startCancelableOperation:()=>Qd,stream:()=>Te,toDiagnosticData:()=>sb,toDiagnosticSeverity:()=>np});var bf={};on(bf,{DefaultNameRegexp:()=>wf,RangeComparison:()=>cn,compareRange:()=>QE,findCommentNode:()=>Fm,findDeclarationNodeAtOffset:()=>KC,findLeafNodeAtOffset:()=>Um,findLeafNodeBeforeOffset:()=>e0,flattenCst:()=>YC,getDatatypeNode:()=>VC,getInteriorNodes:()=>QC,getNextNode:()=>ZC,getPreviousNode:()=>r0,getStartlineNode:()=>JC,inRange:()=>ym,isChildNode:()=>Mm,isCommentNode:()=>$m,streamCst:()=>fo,toDocumentSegment:()=>po,tokenToRange:()=>xs});function ht(t){return typeof t=="object"&&t!==null&&typeof t.$type=="string"}function At(t){return typeof t=="object"&&t!==null&&typeof t.$refText=="string"&&"ref"in t}function ur(t){return typeof t=="object"&&t!==null&&typeof t.$refText=="string"&&"items"in t}function pm(t){return typeof t=="object"&&t!==null&&typeof t.name=="string"&&typeof t.type=="string"&&typeof t.path=="string"}function Qi(t){return typeof t=="object"&&t!==null&&typeof t.info=="object"&&typeof t.message=="string"}var Ji=class{constructor(){this.subtypes={},this.allSubtypes={}}getAllTypes(){return Object.keys(this.types)}getReferenceType(e){let r=this.types[e.container.$type];if(!r)throw new Error(`Type ${e.container.$type||"undefined"} not found.`);let n=r.properties[e.property]?.referenceType;if(!n)throw new Error(`Property ${e.property||"undefined"} of type ${e.container.$type} is not a reference.`);return n}getTypeMetaData(e){let r=this.types[e];return r||{name:e,properties:{},superTypes:[]}}isInstance(e,r){return ht(e)&&this.isSubtype(e.$type,r)}isSubtype(e,r){if(e===r)return!0;let n=this.subtypes[e];n||(n=this.subtypes[e]={});let i=n[r];if(i!==void 0)return i;{let o=this.types[e],s=o?o.superTypes.some(a=>this.isSubtype(a,r)):!1;return n[r]=s,s}}getAllSubTypes(e){let r=this.allSubtypes[e];if(r)return r;{let n=this.getAllTypes(),i=[];for(let o of n)this.isSubtype(o,e)&&i.push(o);return this.allSubtypes[e]=i,i}}};function Dr(t){return typeof t=="object"&&t!==null&&Array.isArray(t.content)}function ti(t){return typeof t=="object"&&t!==null&&typeof t.tokenType=="object"}function Ec(t){return Dr(t)&&typeof t.fullText=="string"}var fr=class t{constructor(e,r){this.startFn=e,this.nextFn=r}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(),r=0,n=e.next();for(;!n.done;)r++,n=e.next();return r}toArray(){let e=[],r=this.iterator(),n;do n=r.next(),n.value!==void 0&&e.push(n.value);while(!n.done);return e}toSet(){return new Set(this)}toMap(e,r){let n=this.map(i=>[e?e(i):i,r?r(i):i]);return new Map(n)}toString(){return this.join()}concat(e){return new t(()=>({first:this.startFn(),firstDone:!1,iterator:e[Symbol.iterator]()}),r=>{let n;if(!r.firstDone){do if(n=this.nextFn(r.first),!n.done)return n;while(!n.done);r.firstDone=!0}do if(n=r.iterator.next(),!n.done)return n;while(!n.done);return Ft})}join(e=","){let r=this.iterator(),n="",i,o=!1;do i=r.next(),i.done||(o&&(n+=e),n+=kC(i.value)),o=!0;while(!i.done);return n}indexOf(e,r=0){let n=this.iterator(),i=0,o=n.next();for(;!o.done;){if(i>=r&&o.value===e)return i;o=n.next(),i++}return-1}every(e){let r=this.iterator(),n=r.next();for(;!n.done;){if(!e(n.value))return!1;n=r.next()}return!0}some(e){let r=this.iterator(),n=r.next();for(;!n.done;){if(e(n.value))return!0;n=r.next()}return!1}forEach(e){let r=this.iterator(),n=0,i=r.next();for(;!i.done;)e(i.value,n),i=r.next(),n++}map(e){return new t(this.startFn,r=>{let{done:n,value:i}=this.nextFn(r);return n?Ft:{done:!1,value:e(i)}})}filter(e){return new t(this.startFn,r=>{let n;do if(n=this.nextFn(r),!n.done&&e(n.value))return n;while(!n.done);return Ft})}nonNullable(){return this.filter(e=>e!=null)}reduce(e,r){let n=this.iterator(),i=r,o=n.next();for(;!o.done;)i===void 0?i=o.value:i=e(i,o.value),o=n.next();return i}reduceRight(e,r){return this.recursiveReduce(this.iterator(),e,r)}recursiveReduce(e,r,n){let i=e.next();if(i.done)return n;let o=this.recursiveReduce(e,r,n);return o===void 0?i.value:r(o,i.value)}find(e){let r=this.iterator(),n=r.next();for(;!n.done;){if(e(n.value))return n.value;n=r.next()}}findIndex(e){let r=this.iterator(),n=0,i=r.next();for(;!i.done;){if(e(i.value))return n;i=r.next(),n++}return-1}includes(e){let r=this.iterator(),n=r.next();for(;!n.done;){if(n.value===e)return!0;n=r.next()}return!1}flatMap(e){return new t(()=>({this:this.startFn()}),r=>{do{if(r.iterator){let o=r.iterator.next();if(o.done)r.iterator=void 0;else return o}let{done:n,value:i}=this.nextFn(r.this);if(!n){let o=e(i);if(rf(o))r.iterator=o[Symbol.iterator]();else return{done:!1,value:o}}}while(r.iterator);return Ft})}flat(e){if(e===void 0&&(e=1),e<=0)return this;let r=e>1?this.flat(e-1):this;return new t(()=>({this:r.startFn()}),n=>{do{if(n.iterator){let s=n.iterator.next();if(s.done)n.iterator=void 0;else return s}let{done:i,value:o}=r.nextFn(n.this);if(!i)if(rf(o))n.iterator=o[Symbol.iterator]();else return{done:!1,value:o}}while(n.iterator);return Ft})}head(){let r=this.iterator().next();if(!r.done)return r.value}tail(e=1){return new t(()=>{let r=this.startFn();for(let n=0;n<e;n++)if(this.nextFn(r).done)return r;return r},this.nextFn)}limit(e){return new t(()=>({size:0,state:this.startFn()}),r=>(r.size++,r.size>e?Ft:this.nextFn(r.state)))}distinct(e){return new t(()=>({set:new Set,internalState:this.startFn()}),r=>{let n;do if(n=this.nextFn(r.internalState),!n.done){let i=e?e(n.value):n.value;if(!r.set.has(i))return r.set.add(i),n}while(!n.done);return Ft})}exclude(e,r){let n=new Set;for(let i of e){let o=r?r(i):i;n.add(o)}return this.filter(i=>{let o=r?r(i):i;return!n.has(o)})}};function kC(t){return typeof t=="string"?t:typeof t>"u"?"undefined":typeof t.toString=="function"?t.toString():Object.prototype.toString.call(t)}function rf(t){return!!t&&typeof t[Symbol.iterator]=="function"}var ri=new fr(()=>{},()=>Ft),Ft=Object.freeze({done:!0,value:void 0});function Te(...t){if(t.length===1){let e=t[0];if(e instanceof fr)return e;if(rf(e))return new fr(()=>e[Symbol.iterator](),r=>r.next());if(typeof e.length=="number")return new fr(()=>({index:0}),r=>r.index<e.length?{done:!1,value:e[r.index++]}:Ft)}return t.length>1?new fr(()=>({collIndex:0,arrIndex:0}),e=>{do{if(e.iterator){let r=e.iterator.next();if(!r.done)return r;e.iterator=void 0}if(e.array){if(e.arrIndex<e.array.length)return{done:!1,value:e.array[e.arrIndex++]};e.array=void 0,e.arrIndex=0}if(e.collIndex<t.length){let r=t[e.collIndex++];rf(r)?e.iterator=r[Symbol.iterator]():r&&typeof r.length=="number"&&(e.array=r)}}while(e.iterator||e.array||e.collIndex<t.length);return Ft}):ri}var sn=class extends fr{constructor(e,r,n){super(()=>({iterators:n?.includeRoot?[[e][Symbol.iterator]()]:[r(e)[Symbol.iterator]()],pruned:!1}),i=>{for(i.pruned&&(i.iterators.pop(),i.pruned=!1);i.iterators.length>0;){let s=i.iterators[i.iterators.length-1].next();if(s.done)i.iterators.pop();else return i.iterators.push(r(s.value)[Symbol.iterator]()),s}return Ft})}iterator(){let e={state:this.startFn(),next:()=>this.nextFn(e.state),prune:()=>{e.state.pruned=!0},[Symbol.iterator]:()=>e};return e}},as;(function(t){function e(o){return o.reduce((s,a)=>s+a,0)}t.sum=e;function r(o){return o.reduce((s,a)=>s*a,0)}t.product=r;function n(o){return o.reduce((s,a)=>Math.min(s,a))}t.min=n;function i(o){return o.reduce((s,a)=>Math.max(s,a))}t.max=i})(as||(as={}));var of={};on(of,{assignMandatoryProperties:()=>gm,copyAstNode:()=>mm,findRootNode:()=>ls,getContainerOfType:()=>In,getDocument:()=>Ut,getReferenceNodes:()=>nf,hasContainerOfType:()=>NC,linkContentToContainer:()=>cs,streamAllContents:()=>$r,streamAst:()=>qt,streamContents:()=>vc,streamReferences:()=>ni});function cs(t,e={}){for(let[r,n]of Object.entries(t))r.startsWith("$")||(Array.isArray(n)?n.forEach((i,o)=>{ht(i)&&(i.$container=t,i.$containerProperty=r,i.$containerIndex=o,e.deep&&cs(i,e))}):ht(n)&&(n.$container=t,n.$containerProperty=r,e.deep&&cs(n,e)))}function In(t,e){let r=t;for(;r;){if(e(r))return r;r=r.$container}}function NC(t,e){let r=t;for(;r;){if(e(r))return!0;r=r.$container}return!1}function Ut(t){let r=ls(t).$document;if(!r)throw new Error("AST node has no document.");return r}function ls(t){for(;t.$container;)t=t.$container;return t}function nf(t){return At(t)?t.ref?[t.ref]:[]:ur(t)?t.items.map(e=>e.ref):[]}function vc(t,e){if(!t)throw new Error("Node must be an AstNode.");let r=e?.range;return new fr(()=>({keys:Object.keys(t),keyIndex:0,arrayIndex:0}),n=>{for(;n.keyIndex<n.keys.length;){let i=n.keys[n.keyIndex];if(!i.startsWith("$")){let o=t[i];if(ht(o)){if(n.keyIndex++,hm(o,r))return{done:!1,value:o}}else if(Array.isArray(o)){for(;n.arrayIndex<o.length;){let s=n.arrayIndex++,a=o[s];if(ht(a)&&hm(a,r))return{done:!1,value:a}}n.arrayIndex=0}}n.keyIndex++}return Ft})}function $r(t,e){if(!t)throw new Error("Root node must be an AstNode.");return new sn(t,r=>vc(r,e))}function qt(t,e){if(t){if(e?.range&&!hm(t,e.range))return new sn(t,()=>[])}else throw new Error("Root node must be an AstNode.");return new sn(t,r=>vc(r,e),{includeRoot:!0})}function hm(t,e){if(!e)return!0;let r=t.$cstNode?.range;return r?ym(r,e):!1}function ni(t){return new fr(()=>({keys:Object.keys(t),keyIndex:0,arrayIndex:0}),e=>{for(;e.keyIndex<e.keys.length;){let r=e.keys[e.keyIndex];if(!r.startsWith("$")){let n=t[r];if(At(n)||ur(n))return e.keyIndex++,{done:!1,value:{reference:n,container:t,property:r}};if(Array.isArray(n)){for(;e.arrayIndex<n.length;){let i=e.arrayIndex++,o=n[i];if(At(o)||ur(n))return{done:!1,value:{reference:o,container:t,property:r,index:i}}}e.arrayIndex=0}}e.keyIndex++}return Ft})}function gm(t,e){let r=t.getTypeMetaData(e.$type),n=e;for(let i of Object.values(r.properties))i.defaultValue!==void 0&&n[i.name]===void 0&&(n[i.name]=ZE(i.defaultValue))}function ZE(t){return Array.isArray(t)?[...t.map(ZE)]:t}function mm(t,e,r){let n={$type:t.$type};r&&(r.set(t,n),r.set(n,t));for(let[i,o]of Object.entries(t))if(!i.startsWith("$"))if(ht(o))n[i]=mm(o,e,r);else if(At(o))n[i]=e(n,i,o.$refNode,o.$refText,o);else if(Array.isArray(o)){let s=[];for(let a of o)ht(a)?s.push(mm(a,e,r)):At(a)?s.push(e(n,i,a.$refNode,a.$refText,a)):s.push(a);n[i]=s}else n[i]=o;return cs(n,{deep:!0}),n}var Oc={};on(Oc,{AbstractElement:()=>er,AbstractParserRule:()=>Rc,AbstractRule:()=>us,AbstractType:()=>dr,Action:()=>ii,Alternatives:()=>wc,ArrayLiteral:()=>sf,ArrayType:()=>af,Assignment:()=>oi,BooleanLiteral:()=>cf,CharacterRange:()=>si,Condition:()=>ai,Conjunction:()=>bc,CrossReference:()=>ci,Disjunction:()=>Ac,EndOfFile:()=>lf,Grammar:()=>kn,GrammarImport:()=>uf,Group:()=>eo,InferredType:()=>ff,InfixRule:()=>an,InfixRuleOperatorList:()=>Sc,InfixRuleOperators:()=>df,Interface:()=>fs,Keyword:()=>ds,LangiumGrammarAstReflection:()=>ys,LangiumGrammarTerminals:()=>PC,NamedArgument:()=>ps,NegatedToken:()=>to,Negation:()=>pf,NumberLiteral:()=>hf,Parameter:()=>hs,ParameterReference:()=>mf,ParserRule:()=>Mr,ReferenceType:()=>Ic,RegexToken:()=>ro,ReturnType:()=>gf,RuleCall:()=>no,SimpleType:()=>ms,StringLiteral:()=>yf,TerminalAlternatives:()=>io,TerminalElement:()=>tr,TerminalGroup:()=>oo,TerminalRule:()=>Nn,TerminalRuleCall:()=>so,Type:()=>kc,TypeAttribute:()=>ao,TypeDefinition:()=>co,UnionType:()=>xf,UnorderedGroup:()=>Nc,UntilToken:()=>lo,ValueLiteral:()=>uo,Wildcard:()=>gs,isAbstractElement:()=>Pc,isAbstractParserRule:()=>Pn,isAbstractRule:()=>CC,isAbstractType:()=>OC,isAction:()=>Cn,isAlternatives:()=>Tf,isArrayLiteral:()=>LC,isArrayType:()=>xm,isAssignment:()=>Fr,isBooleanLiteral:()=>Tm,isCharacterRange:()=>_m,isCondition:()=>DC,isConjunction:()=>Em,isCrossReference:()=>Ur,isDisjunction:()=>vm,isEndOfFile:()=>Rm,isGrammar:()=>$C,isGrammarImport:()=>MC,isGroup:()=>li,isInferredType:()=>Cc,isInfixRule:()=>ui,isInfixRuleOperatorList:()=>FC,isInfixRuleOperators:()=>UC,isInterface:()=>wm,isKeyword:()=>Rr,isNamedArgument:()=>BC,isNegatedToken:()=>bm,isNegation:()=>Am,isNumberLiteral:()=>GC,isParameter:()=>XC,isParameterReference:()=>Sm,isParserRule:()=>kt,isReferenceType:()=>Im,isRegexToken:()=>km,isReturnType:()=>Nm,isRuleCall:()=>Br,isSimpleType:()=>_f,isStringLiteral:()=>HC,isTerminalAlternatives:()=>Pm,isTerminalElement:()=>jC,isTerminalGroup:()=>Cm,isTerminalRule:()=>Wt,isTerminalRuleCall:()=>Ef,isType:()=>vf,isTypeAttribute:()=>zC,isTypeDefinition:()=>qC,isUnionType:()=>Om,isUnorderedGroup:()=>Rf,isUntilToken:()=>Lm,isValueLiteral:()=>WC,isWildcard:()=>Dm,reflection:()=>ie});var PC={ID:/\^?[_a-zA-Z][\w_]*/,STRING:/"(\\.|[^"\\])*"|'(\\.|[^'\\])*'/,NUMBER:/NaN|-?((\d*\.\d+|\d+)([Ee][+-]?\d+)?|Infinity)/,RegexLiteral:/\/(?![*+?])(?:[^\r\n\[/\\]|\\.|\[(?:[^\r\n\]\\]|\\.)*\])+\/[a-z]*/,WS:/\s+/,ML_COMMENT:/\/\*[\s\S]*?\*\//,SL_COMMENT:/\/\/[^\n\r]*/},er={$type:"AbstractElement",cardinality:"cardinality"};function Pc(t){return ie.isInstance(t,er.$type)}var Rc={$type:"AbstractParserRule"};function Pn(t){return ie.isInstance(t,Rc.$type)}var us={$type:"AbstractRule"};function CC(t){return ie.isInstance(t,us.$type)}var dr={$type:"AbstractType"};function OC(t){return ie.isInstance(t,dr.$type)}var ii={$type:"Action",cardinality:"cardinality",feature:"feature",inferredType:"inferredType",operator:"operator",type:"type"};function Cn(t){return ie.isInstance(t,ii.$type)}var wc={$type:"Alternatives",cardinality:"cardinality",elements:"elements"};function Tf(t){return ie.isInstance(t,wc.$type)}var sf={$type:"ArrayLiteral",elements:"elements"};function LC(t){return ie.isInstance(t,sf.$type)}var af={$type:"ArrayType",elementType:"elementType"};function xm(t){return ie.isInstance(t,af.$type)}var oi={$type:"Assignment",cardinality:"cardinality",feature:"feature",operator:"operator",predicate:"predicate",terminal:"terminal"};function Fr(t){return ie.isInstance(t,oi.$type)}var cf={$type:"BooleanLiteral",true:"true"};function Tm(t){return ie.isInstance(t,cf.$type)}var si={$type:"CharacterRange",cardinality:"cardinality",left:"left",lookahead:"lookahead",parenthesized:"parenthesized",right:"right"};function _m(t){return ie.isInstance(t,si.$type)}var ai={$type:"Condition"};function DC(t){return ie.isInstance(t,ai.$type)}var bc={$type:"Conjunction",left:"left",right:"right"};function Em(t){return ie.isInstance(t,bc.$type)}var ci={$type:"CrossReference",cardinality:"cardinality",deprecatedSyntax:"deprecatedSyntax",isMulti:"isMulti",terminal:"terminal",type:"type"};function Ur(t){return ie.isInstance(t,ci.$type)}var Ac={$type:"Disjunction",left:"left",right:"right"};function vm(t){return ie.isInstance(t,Ac.$type)}var lf={$type:"EndOfFile",cardinality:"cardinality"};function Rm(t){return ie.isInstance(t,lf.$type)}var kn={$type:"Grammar",imports:"imports",interfaces:"interfaces",isDeclared:"isDeclared",name:"name",rules:"rules",types:"types"};function $C(t){return ie.isInstance(t,kn.$type)}var uf={$type:"GrammarImport",path:"path"};function MC(t){return ie.isInstance(t,uf.$type)}var eo={$type:"Group",cardinality:"cardinality",elements:"elements",guardCondition:"guardCondition",predicate:"predicate"};function li(t){return ie.isInstance(t,eo.$type)}var ff={$type:"InferredType",name:"name"};function Cc(t){return ie.isInstance(t,ff.$type)}var an={$type:"InfixRule",call:"call",dataType:"dataType",inferredType:"inferredType",name:"name",operators:"operators",parameters:"parameters",returnType:"returnType"};function ui(t){return ie.isInstance(t,an.$type)}var Sc={$type:"InfixRuleOperatorList",associativity:"associativity",operators:"operators"};function FC(t){return ie.isInstance(t,Sc.$type)}var df={$type:"InfixRuleOperators",precedences:"precedences"};function UC(t){return ie.isInstance(t,df.$type)}var fs={$type:"Interface",attributes:"attributes",name:"name",superTypes:"superTypes"};function wm(t){return ie.isInstance(t,fs.$type)}var ds={$type:"Keyword",cardinality:"cardinality",predicate:"predicate",value:"value"};function Rr(t){return ie.isInstance(t,ds.$type)}var ps={$type:"NamedArgument",calledByName:"calledByName",parameter:"parameter",value:"value"};function BC(t){return ie.isInstance(t,ps.$type)}var to={$type:"NegatedToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",terminal:"terminal"};function bm(t){return ie.isInstance(t,to.$type)}var pf={$type:"Negation",value:"value"};function Am(t){return ie.isInstance(t,pf.$type)}var hf={$type:"NumberLiteral",value:"value"};function GC(t){return ie.isInstance(t,hf.$type)}var hs={$type:"Parameter",name:"name"};function XC(t){return ie.isInstance(t,hs.$type)}var mf={$type:"ParameterReference",parameter:"parameter"};function Sm(t){return ie.isInstance(t,mf.$type)}var Mr={$type:"ParserRule",dataType:"dataType",definition:"definition",entry:"entry",fragment:"fragment",inferredType:"inferredType",name:"name",parameters:"parameters",returnType:"returnType"};function kt(t){return ie.isInstance(t,Mr.$type)}var Ic={$type:"ReferenceType",isMulti:"isMulti",referenceType:"referenceType"};function Im(t){return ie.isInstance(t,Ic.$type)}var ro={$type:"RegexToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",regex:"regex"};function km(t){return ie.isInstance(t,ro.$type)}var gf={$type:"ReturnType",name:"name"};function Nm(t){return ie.isInstance(t,gf.$type)}var no={$type:"RuleCall",arguments:"arguments",cardinality:"cardinality",predicate:"predicate",rule:"rule"};function Br(t){return ie.isInstance(t,no.$type)}var ms={$type:"SimpleType",primitiveType:"primitiveType",stringType:"stringType",typeRef:"typeRef"};function _f(t){return ie.isInstance(t,ms.$type)}var yf={$type:"StringLiteral",value:"value"};function HC(t){return ie.isInstance(t,yf.$type)}var io={$type:"TerminalAlternatives",cardinality:"cardinality",elements:"elements",lookahead:"lookahead",parenthesized:"parenthesized"};function Pm(t){return ie.isInstance(t,io.$type)}var tr={$type:"TerminalElement",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized"};function jC(t){return ie.isInstance(t,tr.$type)}var oo={$type:"TerminalGroup",cardinality:"cardinality",elements:"elements",lookahead:"lookahead",parenthesized:"parenthesized"};function Cm(t){return ie.isInstance(t,oo.$type)}var Nn={$type:"TerminalRule",definition:"definition",fragment:"fragment",hidden:"hidden",name:"name",type:"type"};function Wt(t){return ie.isInstance(t,Nn.$type)}var so={$type:"TerminalRuleCall",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",rule:"rule"};function Ef(t){return ie.isInstance(t,so.$type)}var kc={$type:"Type",name:"name",type:"type"};function vf(t){return ie.isInstance(t,kc.$type)}var ao={$type:"TypeAttribute",defaultValue:"defaultValue",isOptional:"isOptional",name:"name",type:"type"};function zC(t){return ie.isInstance(t,ao.$type)}var co={$type:"TypeDefinition"};function qC(t){return ie.isInstance(t,co.$type)}var xf={$type:"UnionType",types:"types"};function Om(t){return ie.isInstance(t,xf.$type)}var Nc={$type:"UnorderedGroup",cardinality:"cardinality",elements:"elements"};function Rf(t){return ie.isInstance(t,Nc.$type)}var lo={$type:"UntilToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",terminal:"terminal"};function Lm(t){return ie.isInstance(t,lo.$type)}var uo={$type:"ValueLiteral"};function WC(t){return ie.isInstance(t,uo.$type)}var gs={$type:"Wildcard",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized"};function Dm(t){return ie.isInstance(t,gs.$type)}var ys=class extends Ji{constructor(){super(...arguments),this.types={AbstractElement:{name:er.$type,properties:{cardinality:{name:er.cardinality}},superTypes:[]},AbstractParserRule:{name:Rc.$type,properties:{},superTypes:[us.$type,dr.$type]},AbstractRule:{name:us.$type,properties:{},superTypes:[]},AbstractType:{name:dr.$type,properties:{},superTypes:[]},Action:{name:ii.$type,properties:{cardinality:{name:ii.cardinality},feature:{name:ii.feature},inferredType:{name:ii.inferredType},operator:{name:ii.operator},type:{name:ii.type,referenceType:dr.$type}},superTypes:[er.$type]},Alternatives:{name:wc.$type,properties:{cardinality:{name:wc.cardinality},elements:{name:wc.elements,defaultValue:[]}},superTypes:[er.$type]},ArrayLiteral:{name:sf.$type,properties:{elements:{name:sf.elements,defaultValue:[]}},superTypes:[uo.$type]},ArrayType:{name:af.$type,properties:{elementType:{name:af.elementType}},superTypes:[co.$type]},Assignment:{name:oi.$type,properties:{cardinality:{name:oi.cardinality},feature:{name:oi.feature},operator:{name:oi.operator},predicate:{name:oi.predicate},terminal:{name:oi.terminal}},superTypes:[er.$type]},BooleanLiteral:{name:cf.$type,properties:{true:{name:cf.true,defaultValue:!1}},superTypes:[ai.$type,uo.$type]},CharacterRange:{name:si.$type,properties:{cardinality:{name:si.cardinality},left:{name:si.left},lookahead:{name:si.lookahead},parenthesized:{name:si.parenthesized,defaultValue:!1},right:{name:si.right}},superTypes:[tr.$type]},Condition:{name:ai.$type,properties:{},superTypes:[]},Conjunction:{name:bc.$type,properties:{left:{name:bc.left},right:{name:bc.right}},superTypes:[ai.$type]},CrossReference:{name:ci.$type,properties:{cardinality:{name:ci.cardinality},deprecatedSyntax:{name:ci.deprecatedSyntax,defaultValue:!1},isMulti:{name:ci.isMulti,defaultValue:!1},terminal:{name:ci.terminal},type:{name:ci.type,referenceType:dr.$type}},superTypes:[er.$type]},Disjunction:{name:Ac.$type,properties:{left:{name:Ac.left},right:{name:Ac.right}},superTypes:[ai.$type]},EndOfFile:{name:lf.$type,properties:{cardinality:{name:lf.cardinality}},superTypes:[er.$type]},Grammar:{name:kn.$type,properties:{imports:{name:kn.imports,defaultValue:[]},interfaces:{name:kn.interfaces,defaultValue:[]},isDeclared:{name:kn.isDeclared,defaultValue:!1},name:{name:kn.name},rules:{name:kn.rules,defaultValue:[]},types:{name:kn.types,defaultValue:[]}},superTypes:[]},GrammarImport:{name:uf.$type,properties:{path:{name:uf.path}},superTypes:[]},Group:{name:eo.$type,properties:{cardinality:{name:eo.cardinality},elements:{name:eo.elements,defaultValue:[]},guardCondition:{name:eo.guardCondition},predicate:{name:eo.predicate}},superTypes:[er.$type]},InferredType:{name:ff.$type,properties:{name:{name:ff.name}},superTypes:[dr.$type]},InfixRule:{name:an.$type,properties:{call:{name:an.call},dataType:{name:an.dataType},inferredType:{name:an.inferredType},name:{name:an.name},operators:{name:an.operators},parameters:{name:an.parameters,defaultValue:[]},returnType:{name:an.returnType,referenceType:dr.$type}},superTypes:[Rc.$type]},InfixRuleOperatorList:{name:Sc.$type,properties:{associativity:{name:Sc.associativity},operators:{name:Sc.operators,defaultValue:[]}},superTypes:[]},InfixRuleOperators:{name:df.$type,properties:{precedences:{name:df.precedences,defaultValue:[]}},superTypes:[]},Interface:{name:fs.$type,properties:{attributes:{name:fs.attributes,defaultValue:[]},name:{name:fs.name},superTypes:{name:fs.superTypes,defaultValue:[],referenceType:dr.$type}},superTypes:[dr.$type]},Keyword:{name:ds.$type,properties:{cardinality:{name:ds.cardinality},predicate:{name:ds.predicate},value:{name:ds.value}},superTypes:[er.$type]},NamedArgument:{name:ps.$type,properties:{calledByName:{name:ps.calledByName,defaultValue:!1},parameter:{name:ps.parameter,referenceType:hs.$type},value:{name:ps.value}},superTypes:[]},NegatedToken:{name:to.$type,properties:{cardinality:{name:to.cardinality},lookahead:{name:to.lookahead},parenthesized:{name:to.parenthesized,defaultValue:!1},terminal:{name:to.terminal}},superTypes:[tr.$type]},Negation:{name:pf.$type,properties:{value:{name:pf.value}},superTypes:[ai.$type]},NumberLiteral:{name:hf.$type,properties:{value:{name:hf.value}},superTypes:[uo.$type]},Parameter:{name:hs.$type,properties:{name:{name:hs.name}},superTypes:[]},ParameterReference:{name:mf.$type,properties:{parameter:{name:mf.parameter,referenceType:hs.$type}},superTypes:[ai.$type]},ParserRule:{name:Mr.$type,properties:{dataType:{name:Mr.dataType},definition:{name:Mr.definition},entry:{name:Mr.entry,defaultValue:!1},fragment:{name:Mr.fragment,defaultValue:!1},inferredType:{name:Mr.inferredType},name:{name:Mr.name},parameters:{name:Mr.parameters,defaultValue:[]},returnType:{name:Mr.returnType,referenceType:dr.$type}},superTypes:[Rc.$type]},ReferenceType:{name:Ic.$type,properties:{isMulti:{name:Ic.isMulti,defaultValue:!1},referenceType:{name:Ic.referenceType}},superTypes:[co.$type]},RegexToken:{name:ro.$type,properties:{cardinality:{name:ro.cardinality},lookahead:{name:ro.lookahead},parenthesized:{name:ro.parenthesized,defaultValue:!1},regex:{name:ro.regex}},superTypes:[tr.$type]},ReturnType:{name:gf.$type,properties:{name:{name:gf.name}},superTypes:[]},RuleCall:{name:no.$type,properties:{arguments:{name:no.arguments,defaultValue:[]},cardinality:{name:no.cardinality},predicate:{name:no.predicate},rule:{name:no.rule,referenceType:us.$type}},superTypes:[er.$type]},SimpleType:{name:ms.$type,properties:{primitiveType:{name:ms.primitiveType},stringType:{name:ms.stringType},typeRef:{name:ms.typeRef,referenceType:dr.$type}},superTypes:[co.$type]},StringLiteral:{name:yf.$type,properties:{value:{name:yf.value}},superTypes:[uo.$type]},TerminalAlternatives:{name:io.$type,properties:{cardinality:{name:io.cardinality},elements:{name:io.elements,defaultValue:[]},lookahead:{name:io.lookahead},parenthesized:{name:io.parenthesized,defaultValue:!1}},superTypes:[tr.$type]},TerminalElement:{name:tr.$type,properties:{cardinality:{name:tr.cardinality},lookahead:{name:tr.lookahead},parenthesized:{name:tr.parenthesized,defaultValue:!1}},superTypes:[er.$type]},TerminalGroup:{name:oo.$type,properties:{cardinality:{name:oo.cardinality},elements:{name:oo.elements,defaultValue:[]},lookahead:{name:oo.lookahead},parenthesized:{name:oo.parenthesized,defaultValue:!1}},superTypes:[tr.$type]},TerminalRule:{name:Nn.$type,properties:{definition:{name:Nn.definition},fragment:{name:Nn.fragment,defaultValue:!1},hidden:{name:Nn.hidden,defaultValue:!1},name:{name:Nn.name},type:{name:Nn.type}},superTypes:[us.$type]},TerminalRuleCall:{name:so.$type,properties:{cardinality:{name:so.cardinality},lookahead:{name:so.lookahead},parenthesized:{name:so.parenthesized,defaultValue:!1},rule:{name:so.rule,referenceType:Nn.$type}},superTypes:[tr.$type]},Type:{name:kc.$type,properties:{name:{name:kc.name},type:{name:kc.type}},superTypes:[dr.$type]},TypeAttribute:{name:ao.$type,properties:{defaultValue:{name:ao.defaultValue},isOptional:{name:ao.isOptional,defaultValue:!1},name:{name:ao.name},type:{name:ao.type}},superTypes:[]},TypeDefinition:{name:co.$type,properties:{},superTypes:[]},UnionType:{name:xf.$type,properties:{types:{name:xf.types,defaultValue:[]}},superTypes:[co.$type]},UnorderedGroup:{name:Nc.$type,properties:{cardinality:{name:Nc.cardinality},elements:{name:Nc.elements,defaultValue:[]}},superTypes:[er.$type]},UntilToken:{name:lo.$type,properties:{cardinality:{name:lo.cardinality},lookahead:{name:lo.lookahead},parenthesized:{name:lo.parenthesized,defaultValue:!1},terminal:{name:lo.terminal}},superTypes:[tr.$type]},ValueLiteral:{name:uo.$type,properties:{},superTypes:[]},Wildcard:{name:gs.$type,properties:{cardinality:{name:gs.cardinality},lookahead:{name:gs.lookahead},parenthesized:{name:gs.parenthesized,defaultValue:!1}},superTypes:[tr.$type]}}}},ie=new ys;function VC(t){let e=t,r=!1;for(;e;){let n=In(e.grammarSource,kt);if(n&&n.dataType)e=e.container,r=!0;else return r?e:void 0}}function fo(t){return new sn(t,e=>Dr(e)?e.content:[],{includeRoot:!0})}function YC(t){return fo(t).filter(ti)}function Mm(t,e){for(;t.container;)if(t=t.container,t===e)return!0;return!1}function xs(t){return{start:{character:t.startColumn-1,line:t.startLine-1},end:{character:t.endColumn,line:t.endLine-1}}}function po(t){if(!t)return;let{offset:e,end:r,range:n}=t;return{range:n,offset:e,end:r,length:r-e}}var cn;(function(t){t[t.Before=0]="Before",t[t.After=1]="After",t[t.OverlapFront=2]="OverlapFront",t[t.OverlapBack=3]="OverlapBack",t[t.Inside=4]="Inside",t[t.Outside=5]="Outside"})(cn||(cn={}));function QE(t,e){if(t.end.line<e.start.line||t.end.line===e.start.line&&t.end.character<=e.start.character)return cn.Before;if(t.start.line>e.end.line||t.start.line===e.end.line&&t.start.character>=e.end.character)return cn.After;let r=t.start.line>e.start.line||t.start.line===e.start.line&&t.start.character>=e.start.character,n=t.end.line<e.end.line||t.end.line===e.end.line&&t.end.character<=e.end.character;return r&&n?cn.Inside:r?cn.OverlapBack:n?cn.OverlapFront:cn.Outside}function ym(t,e){return QE(t,e)>cn.After}var wf=/^[\w\p{L}]$/u;function KC(t,e,r=wf){if(t){if(e>0){let n=e-t.offset,i=t.text.charAt(n);r.test(i)||e--}return Um(t,e)}}function Fm(t,e){if(t){let r=r0(t,!0);if(r&&$m(r,e))return r;if(Ec(t)){let n=t.content.findIndex(i=>!i.hidden);for(let i=n-1;i>=0;i--){let o=t.content[i];if($m(o,e))return o}}}}function $m(t,e){return ti(t)&&e.includes(t.tokenType.name)}function Um(t,e){if(ti(t))return t;if(Dr(t)){let r=t0(t,e,!1);if(r)return Um(r,e)}}function e0(t,e){if(ti(t))return t;if(Dr(t)){let r=t0(t,e,!0);if(r)return e0(r,e)}}function t0(t,e,r){let n=0,i=t.content.length-1,o;for(;n<=i;){let s=Math.floor((n+i)/2),a=t.content[s];if(a.offset<=e&&a.end>e)return a;a.end<=e?(o=r?a:void 0,n=s+1):i=s-1}return o}function r0(t,e=!0){for(;t.container;){let r=t.container,n=r.content.indexOf(t);for(;n>0;){n--;let i=r.content[n];if(e||!i.hidden)return i}t=r}}function ZC(t,e=!0){for(;t.container;){let r=t.container,n=r.content.indexOf(t),i=r.content.length-1;for(;n<i;){n++;let o=r.content[n];if(e||!o.hidden)return o}t=r}}function JC(t){if(t.range.start.character===0)return t;let e=t.range.start.line,r=t,n;for(;t.container;){let i=t.container,o=n??i.content.indexOf(t);if(o===0?(t=i,n=void 0):(n=o-1,t=i.content[n]),t.range.start.line!==e)break;r=t}return r}function QC(t,e){let r=eO(t,e);return r?r.parent.content.slice(r.a+1,r.b):[]}function eO(t,e){let r=JE(t),n=JE(e),i;for(let o=0;o<r.length&&o<n.length;o++){let s=r[o],a=n[o];if(s.parent===a.parent)i={parent:s.parent,a:s.index,b:a.index};else break}return i}function JE(t){let e=[];for(;t.container;){let r=t.container,n=r.content.indexOf(t);e.push({parent:r,index:n}),t=r}return e.reverse()}var vs={};on(vs,{findAssignment:()=>eg,findNameAssignment:()=>kf,findNodeForKeyword:()=>Jm,findNodeForProperty:()=>Uc,findNodesForKeyword:()=>oO,findNodesForKeywordInternal:()=>Qm,findNodesForProperty:()=>Km,getActionAtElement:()=>f0,getActionType:()=>p0,getAllReachableRules:()=>Fc,getAllRulesUsedForCrossReferences:()=>iO,getCrossReferenceTerminal:()=>Vm,getEntryRule:()=>a0,getExplicitRuleType:()=>Nf,getHiddenRules:()=>c0,getRuleType:()=>tg,getRuleTypeName:()=>uO,getTypeName:()=>di,isArrayCardinality:()=>aO,isArrayOperator:()=>cO,isCommentTerminal:()=>Ym,isDataType:()=>lO,isDataTypeRule:()=>Bc,isOptionalCardinality:()=>sO,terminalRegex:()=>_s});var ho=class extends Error{constructor(e,r){super(e?`${r} at ${e.range.start.line}:${e.range.start.character}`:r)}};function ln(t,e="Error: Got unexpected value."){throw new Error(e)}function n0(t,e="Error: Condition is violated."){if(!t)throw new Error(e)}var If={};on(If,{NEWLINE_REGEXP:()=>Hm,escapeRegExp:()=>fi,getTerminalParts:()=>nO,isMultilineComment:()=>jm,isWhitespace:()=>Mc,partialMatches:()=>zm,partialRegExp:()=>s0,whitespaceCharacters:()=>o0});function se(t){return t.charCodeAt(0)}function Af(t,e){Array.isArray(t)?t.forEach(function(r){e.push(r)}):e.push(t)}function Ts(t,e){if(t[e]===!0)throw"duplicate flag "+e;let r=t[e];t[e]=!0}function mo(t){if(t===void 0)throw Error("Internal Error - Should never get here!");return!0}function Lc(){throw Error("Internal Error - Should never get here!")}function Bm(t){return t.type==="Character"}var Dc=[];for(let t=se("0");t<=se("9");t++)Dc.push(t);var $c=[se("_")].concat(Dc);for(let t=se("a");t<=se("z");t++)$c.push(t);for(let t=se("A");t<=se("Z");t++)$c.push(t);var Gm=[se(" "),se("\f"),se(`
|
|
37
|
-
`),se("\r"),se(" "),se("\v"),se(" "),se("\xA0"),se("\u1680"),se("\u2000"),se("\u2001"),se("\u2002"),se("\u2003"),se("\u2004"),se("\u2005"),se("\u2006"),se("\u2007"),se("\u2008"),se("\u2009"),se("\u200A"),se("\u2028"),se("\u2029"),se("\u202F"),se("\u205F"),se("\u3000"),se("\uFEFF")];var
|
|
38
|
-
`),se("\r"),se("\u2028"),se("\u2029")]}}atomEscape(){switch(this.consumeChar("\\"),this.peekChar()){case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":return this.decimalEscapeAtom();case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}decimalEscapeAtom(){return{type:"GroupBackReference",value:this.positiveInteger()}}characterClassEscape(){let e,r=!1;switch(this.popChar()){case"d":e=
|
|
39
|
-
`);break;case"r":e=se("\r");break;case"t":e=se(" ");break;case"v":e=se("\v");break}return
|
|
40
|
-
`:case"\r":case"\u2028":case"\u2029":case"\\":case"]":throw Error("TBD");default:let e=this.popChar();return{type:"Character",value:se(e)}}}characterClass(){let e=[],r=!1;for(this.consumeChar("["),this.peekChar(0)==="^"&&(this.consumeChar("^"),r=!0);this.isClassAtom();){let n=this.classAtom(),i=n.type==="Character";if(
|
|
41
|
-
`:case"\r":case"\u2028":case"\u2029":throw Error("TBD");case"\\":return this.classEscape();default:return this.classPatternCharacterAtom()}}classEscape(){switch(this.consumeChar("\\"),this.peekChar()){case"b":return this.consumeChar("b"),{type:"Character",value:se("\b")};case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}group(){let e=!0;this.consumeChar("("),this.peekChar(0)==="?"?(this.consumeChar("?"),this.consumeChar(":"),e=!1):this.groupIdx++;let r=this.disjunction();this.consumeChar(")");let n={type:"Group",capturing:e,value:r};return e&&(n.idx=this.groupIdx),n}positiveInteger(){let e=this.popChar();if(
|
|
42
|
-
`:case"\r":case"\u2028":case"\u2029":case"^":case"$":case"\\":case".":case"*":case"+":case"?":case"(":case")":case"[":case"|":throw Error("TBD");default:return{type:"Character",value:se(e)}}}isRegExpFlag(){switch(this.peekChar(0)){case"g":case"i":case"m":case"u":case"y":return!0;default:return!1}}isRangeDash(){return this.peekChar()==="-"&&this.isClassAtom(1)}isDigit(){return
|
|
36
|
+
`)),C){let Y=x.error?` Request failed: ${x.error.message} (${x.error.code}).`:"";D.log(`Received response '${C.method} - (${x.id})' in ${Date.now()-C.timerStart}ms.${Y}`,j)}else D.log(`Received response ${x.id} without active response promise.`,j)}else _r("receive-response",x)}function _r(x,C){if(!D||E===Me.Off)return;let j={isLSPMessage:!0,type:x,message:C,timestamp:Date.now()};D.log(j)}function Or(){if(X())throw new Ra(ql.Closed,"Connection is closed.");if(F())throw new Ra(ql.Disposed,"Connection is disposed.")}function cs(){if(M())throw new Ra(ql.AlreadyListening,"Connection is already listening")}function _e(){if(!M())throw new Error("Call listen() first.")}function Lr(x){return x===void 0?null:x}function Qi(x){if(x!==null)return x}function In(x){return x!=null&&!Array.isArray(x)&&typeof x=="object"}function Er(x,C){switch(x){case ce.ParameterStructures.auto:return In(C)?Qi(C):[Lr(C)];case ce.ParameterStructures.byName:if(!In(C))throw new Error("Received parameters by name but param is not an object literal.");return Qi(C);case ce.ParameterStructures.byPosition:return[Lr(C)];default:throw new Error(`Unknown parameter structure ${x.toString()}`)}}function jt(x,C){let j,Y=x.numberOfParams;switch(Y){case 0:j=void 0;break;case 1:j=Er(x.parameterStructures,C[0]);break;default:j=[];for(let $e=0;$e<C.length&&$e<Y;$e++)j.push(Lr(C[$e]));if(C.length<Y)for(let $e=C.length;$e<Y;$e++)j.push(null);break}return j}let At={sendNotification:(x,...C)=>{Or();let j,Y;if(mt.string(x)){j=x;let Pe=C[0],qe=0,Ze=ce.ParameterStructures.auto;ce.ParameterStructures.is(Pe)&&(qe=1,Ze=Pe);let ge=C.length,Ue=ge-qe;switch(Ue){case 0:Y=void 0;break;case 1:Y=Er(Ze,C[qe]);break;default:if(Ze===ce.ParameterStructures.byName)throw new Error(`Received ${Ue} parameters for 'by Name' notification parameter structure.`);Y=C.slice(qe,ge).map(Ae=>Lr(Ae));break}}else{let Pe=C;j=x.method,Y=jt(x,Pe)}let $e={jsonrpc:c,method:j,params:Y};return me($e),e.write($e).catch(Pe=>{throw i.error("Sending notification failed."),Pe})},onNotification:(x,C)=>{Or();let j;return mt.func(x)?f=x:C&&(mt.string(x)?(j=x,d.set(x,{type:void 0,handler:C})):(j=x.method,d.set(x.method,{type:x,handler:C}))),{dispose:()=>{j!==void 0?d.delete(j):f=void 0}}},onProgress:(x,C,j)=>{if(p.has(C))throw new Error(`Progress handler for token ${C} already registered`);return p.set(C,j),{dispose:()=>{p.delete(C)}}},sendProgress:(x,C,j)=>At.sendNotification(zl.type,{token:C,value:j}),onUnhandledProgress:le.event,sendRequest:(x,...C)=>{Or(),_e();let j,Y,$e;if(mt.string(x)){j=x;let ge=C[0],Ue=C[C.length-1],Ae=0,Je=ce.ParameterStructures.auto;ce.ParameterStructures.is(ge)&&(Ae=1,Je=ge);let st=C.length;lT.CancellationToken.is(Ue)&&(st=st-1,$e=Ue);let Qt=st-Ae;switch(Qt){case 0:Y=void 0;break;case 1:Y=Er(Je,C[Ae]);break;default:if(Je===ce.ParameterStructures.byName)throw new Error(`Received ${Qt} parameters for 'by Name' request parameter structure.`);Y=C.slice(Ae,st).map(ls=>Lr(ls));break}}else{let ge=C;j=x.method,Y=jt(x,ge);let Ue=x.numberOfParams;$e=lT.CancellationToken.is(ge[Ue])?ge[Ue]:void 0}let Pe=o++,qe;$e&&(qe=$e.onCancellationRequested(()=>{let ge=R.sender.sendCancellation(At,Pe);return ge===void 0?(i.log(`Received no promise from cancellation strategy when cancelling id ${Pe}`),Promise.resolve()):ge.catch(()=>{i.log(`Sending cancellation messages for id ${Pe} failed`)})}));let Ze={jsonrpc:c,id:Pe,method:j,params:Y};return we(Ze),typeof R.sender.enableCancellation=="function"&&R.sender.enableCancellation(Ze),new Promise(async(ge,Ue)=>{let Ae=Qt=>{ge(Qt),R.sender.cleanup(Pe),qe?.dispose()},Je=Qt=>{Ue(Qt),R.sender.cleanup(Pe),qe?.dispose()},st={method:j,timerStart:Date.now(),resolve:Ae,reject:Je};try{await e.write(Ze),v.set(Pe,st)}catch(Qt){throw i.error("Sending request failed."),st.reject(new ce.ResponseError(ce.ErrorCodes.MessageWriteError,Qt.message?Qt.message:"Unknown reason")),Qt}})},onRequest:(x,C)=>{Or();let j=null;return dT.is(x)?(j=void 0,l=x):mt.string(x)?(j=null,C!==void 0&&(j=x,u.set(x,{handler:C,type:void 0}))):C!==void 0&&(j=x.method,u.set(x.method,{type:x,handler:C})),{dispose:()=>{j!==null&&(j!==void 0?u.delete(j):l=void 0)}}},hasPendingResponse:()=>v.size>0,trace:async(x,C,j)=>{let Y=!1,$e=mr.Text;j!==void 0&&(mt.boolean(j)?Y=j:(Y=j.sendNotification||!1,$e=j.traceFormat||mr.Text)),E=x,I=$e,E===Me.Off?D=void 0:D=C,Y&&!X()&&!F()&&await At.sendNotification(pT.type,{value:Me.toString(x)})},onError:B.event,onClose:U.event,onUnhandledNotification:z.event,onDispose:O.event,end:()=>{e.end()},dispose:()=>{if(F())return;k=zr.Disposed,O.fire(void 0);let x=new ce.ResponseError(ce.ErrorCodes.PendingResponseRejected,"Pending response rejected since connection got disposed");for(let C of v.values())C.reject(x);v=new Map,_=new Map,T=new Set,g=new Nw.LinkedMap,mt.func(e.dispose)&&e.dispose(),mt.func(t.dispose)&&t.dispose()},listen:()=>{Or(),cs(),k=zr.Listening,t.listen(Ne)},inspect:()=>{(0,kw.default)().console.log("inspect")}};return At.onNotification(xp.type,x=>{if(E===Me.Off||!D)return;let C=E===Me.Verbose||E===Me.Compact;D.log(x.message,C?x.verbose:void 0)}),At.onNotification(zl.type,x=>{let C=p.get(x.token);C?C(x.value):le.fire(x)}),At}he.createMessageConnection=C2});var bp=fe(N=>{"use strict";Object.defineProperty(N,"__esModule",{value:!0});N.ProgressType=N.ProgressToken=N.createMessageConnection=N.NullLogger=N.ConnectionOptions=N.ConnectionStrategy=N.AbstractMessageBuffer=N.WriteableStreamMessageWriter=N.AbstractMessageWriter=N.MessageWriter=N.ReadableStreamMessageReader=N.AbstractMessageReader=N.MessageReader=N.SharedArrayReceiverStrategy=N.SharedArraySenderStrategy=N.CancellationToken=N.CancellationTokenSource=N.Emitter=N.Event=N.Disposable=N.LRUCache=N.Touch=N.LinkedMap=N.ParameterStructures=N.NotificationType9=N.NotificationType8=N.NotificationType7=N.NotificationType6=N.NotificationType5=N.NotificationType4=N.NotificationType3=N.NotificationType2=N.NotificationType1=N.NotificationType0=N.NotificationType=N.ErrorCodes=N.ResponseError=N.RequestType9=N.RequestType8=N.RequestType7=N.RequestType6=N.RequestType5=N.RequestType4=N.RequestType3=N.RequestType2=N.RequestType1=N.RequestType0=N.RequestType=N.Message=N.RAL=void 0;N.MessageStrategy=N.CancellationStrategy=N.CancellationSenderStrategy=N.CancellationReceiverStrategy=N.ConnectionError=N.ConnectionErrors=N.LogTraceNotification=N.SetTraceNotification=N.TraceFormat=N.TraceValues=N.Trace=void 0;var rt=Gx();Object.defineProperty(N,"Message",{enumerable:!0,get:function(){return rt.Message}});Object.defineProperty(N,"RequestType",{enumerable:!0,get:function(){return rt.RequestType}});Object.defineProperty(N,"RequestType0",{enumerable:!0,get:function(){return rt.RequestType0}});Object.defineProperty(N,"RequestType1",{enumerable:!0,get:function(){return rt.RequestType1}});Object.defineProperty(N,"RequestType2",{enumerable:!0,get:function(){return rt.RequestType2}});Object.defineProperty(N,"RequestType3",{enumerable:!0,get:function(){return rt.RequestType3}});Object.defineProperty(N,"RequestType4",{enumerable:!0,get:function(){return rt.RequestType4}});Object.defineProperty(N,"RequestType5",{enumerable:!0,get:function(){return rt.RequestType5}});Object.defineProperty(N,"RequestType6",{enumerable:!0,get:function(){return rt.RequestType6}});Object.defineProperty(N,"RequestType7",{enumerable:!0,get:function(){return rt.RequestType7}});Object.defineProperty(N,"RequestType8",{enumerable:!0,get:function(){return rt.RequestType8}});Object.defineProperty(N,"RequestType9",{enumerable:!0,get:function(){return rt.RequestType9}});Object.defineProperty(N,"ResponseError",{enumerable:!0,get:function(){return rt.ResponseError}});Object.defineProperty(N,"ErrorCodes",{enumerable:!0,get:function(){return rt.ErrorCodes}});Object.defineProperty(N,"NotificationType",{enumerable:!0,get:function(){return rt.NotificationType}});Object.defineProperty(N,"NotificationType0",{enumerable:!0,get:function(){return rt.NotificationType0}});Object.defineProperty(N,"NotificationType1",{enumerable:!0,get:function(){return rt.NotificationType1}});Object.defineProperty(N,"NotificationType2",{enumerable:!0,get:function(){return rt.NotificationType2}});Object.defineProperty(N,"NotificationType3",{enumerable:!0,get:function(){return rt.NotificationType3}});Object.defineProperty(N,"NotificationType4",{enumerable:!0,get:function(){return rt.NotificationType4}});Object.defineProperty(N,"NotificationType5",{enumerable:!0,get:function(){return rt.NotificationType5}});Object.defineProperty(N,"NotificationType6",{enumerable:!0,get:function(){return rt.NotificationType6}});Object.defineProperty(N,"NotificationType7",{enumerable:!0,get:function(){return rt.NotificationType7}});Object.defineProperty(N,"NotificationType8",{enumerable:!0,get:function(){return rt.NotificationType8}});Object.defineProperty(N,"NotificationType9",{enumerable:!0,get:function(){return rt.NotificationType9}});Object.defineProperty(N,"ParameterStructures",{enumerable:!0,get:function(){return rt.ParameterStructures}});var gT=Hx();Object.defineProperty(N,"LinkedMap",{enumerable:!0,get:function(){return gT.LinkedMap}});Object.defineProperty(N,"LRUCache",{enumerable:!0,get:function(){return gT.LRUCache}});Object.defineProperty(N,"Touch",{enumerable:!0,get:function(){return gT.Touch}});var O2=xw();Object.defineProperty(N,"Disposable",{enumerable:!0,get:function(){return O2.Disposable}});var Lw=Ta();Object.defineProperty(N,"Event",{enumerable:!0,get:function(){return Lw.Event}});Object.defineProperty(N,"Emitter",{enumerable:!0,get:function(){return Lw.Emitter}});var Dw=pp();Object.defineProperty(N,"CancellationTokenSource",{enumerable:!0,get:function(){return Dw.CancellationTokenSource}});Object.defineProperty(N,"CancellationToken",{enumerable:!0,get:function(){return Dw.CancellationToken}});var $w=_w();Object.defineProperty(N,"SharedArraySenderStrategy",{enumerable:!0,get:function(){return $w.SharedArraySenderStrategy}});Object.defineProperty(N,"SharedArrayReceiverStrategy",{enumerable:!0,get:function(){return $w.SharedArrayReceiverStrategy}});var yT=vw();Object.defineProperty(N,"MessageReader",{enumerable:!0,get:function(){return yT.MessageReader}});Object.defineProperty(N,"AbstractMessageReader",{enumerable:!0,get:function(){return yT.AbstractMessageReader}});Object.defineProperty(N,"ReadableStreamMessageReader",{enumerable:!0,get:function(){return yT.ReadableStreamMessageReader}});var xT=Sw();Object.defineProperty(N,"MessageWriter",{enumerable:!0,get:function(){return xT.MessageWriter}});Object.defineProperty(N,"AbstractMessageWriter",{enumerable:!0,get:function(){return xT.AbstractMessageWriter}});Object.defineProperty(N,"WriteableStreamMessageWriter",{enumerable:!0,get:function(){return xT.WriteableStreamMessageWriter}});var L2=Iw();Object.defineProperty(N,"AbstractMessageBuffer",{enumerable:!0,get:function(){return L2.AbstractMessageBuffer}});var $t=Ow();Object.defineProperty(N,"ConnectionStrategy",{enumerable:!0,get:function(){return $t.ConnectionStrategy}});Object.defineProperty(N,"ConnectionOptions",{enumerable:!0,get:function(){return $t.ConnectionOptions}});Object.defineProperty(N,"NullLogger",{enumerable:!0,get:function(){return $t.NullLogger}});Object.defineProperty(N,"createMessageConnection",{enumerable:!0,get:function(){return $t.createMessageConnection}});Object.defineProperty(N,"ProgressToken",{enumerable:!0,get:function(){return $t.ProgressToken}});Object.defineProperty(N,"ProgressType",{enumerable:!0,get:function(){return $t.ProgressType}});Object.defineProperty(N,"Trace",{enumerable:!0,get:function(){return $t.Trace}});Object.defineProperty(N,"TraceValues",{enumerable:!0,get:function(){return $t.TraceValues}});Object.defineProperty(N,"TraceFormat",{enumerable:!0,get:function(){return $t.TraceFormat}});Object.defineProperty(N,"SetTraceNotification",{enumerable:!0,get:function(){return $t.SetTraceNotification}});Object.defineProperty(N,"LogTraceNotification",{enumerable:!0,get:function(){return $t.LogTraceNotification}});Object.defineProperty(N,"ConnectionErrors",{enumerable:!0,get:function(){return $t.ConnectionErrors}});Object.defineProperty(N,"ConnectionError",{enumerable:!0,get:function(){return $t.ConnectionError}});Object.defineProperty(N,"CancellationReceiverStrategy",{enumerable:!0,get:function(){return $t.CancellationReceiverStrategy}});Object.defineProperty(N,"CancellationSenderStrategy",{enumerable:!0,get:function(){return $t.CancellationSenderStrategy}});Object.defineProperty(N,"CancellationStrategy",{enumerable:!0,get:function(){return $t.CancellationStrategy}});Object.defineProperty(N,"MessageStrategy",{enumerable:!0,get:function(){return $t.MessageStrategy}});var D2=Ci();N.RAL=D2.default});var Fw=fe(vT=>{"use strict";Object.defineProperty(vT,"__esModule",{value:!0});var xn=bp(),wp=class t extends xn.AbstractMessageBuffer{constructor(e="utf-8"){super(e),this.asciiDecoder=new TextDecoder("ascii")}emptyBuffer(){return t.emptyBuffer}fromString(e,r){return new TextEncoder().encode(e)}toString(e,r){return r==="ascii"?this.asciiDecoder.decode(e):new TextDecoder(r).decode(e)}asNative(e,r){return r===void 0?e:e.slice(0,r)}allocNative(e){return new Uint8Array(e)}};wp.emptyBuffer=new Uint8Array(0);var TT=class{constructor(e){this.socket=e,this._onData=new xn.Emitter,this._messageListener=r=>{r.data.arrayBuffer().then(i=>{this._onData.fire(new Uint8Array(i))},()=>{(0,xn.RAL)().console.error("Converting blob to array buffer failed.")})},this.socket.addEventListener("message",this._messageListener)}onClose(e){return this.socket.addEventListener("close",e),xn.Disposable.create(()=>this.socket.removeEventListener("close",e))}onError(e){return this.socket.addEventListener("error",e),xn.Disposable.create(()=>this.socket.removeEventListener("error",e))}onEnd(e){return this.socket.addEventListener("end",e),xn.Disposable.create(()=>this.socket.removeEventListener("end",e))}onData(e){return this._onData.event(e)}},_T=class{constructor(e){this.socket=e}onClose(e){return this.socket.addEventListener("close",e),xn.Disposable.create(()=>this.socket.removeEventListener("close",e))}onError(e){return this.socket.addEventListener("error",e),xn.Disposable.create(()=>this.socket.removeEventListener("error",e))}onEnd(e){return this.socket.addEventListener("end",e),xn.Disposable.create(()=>this.socket.removeEventListener("end",e))}write(e,r){if(typeof e=="string"){if(r!==void 0&&r!=="utf-8")throw new Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${r}`);this.socket.send(e)}else this.socket.send(e);return Promise.resolve()}end(){this.socket.close()}},$2=new TextEncoder,Mw=Object.freeze({messageBuffer:Object.freeze({create:t=>new wp(t)}),applicationJson:Object.freeze({encoder:Object.freeze({name:"application/json",encode:(t,e)=>{if(e.charset!=="utf-8")throw new Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${e.charset}`);return Promise.resolve($2.encode(JSON.stringify(t,void 0,0)))}}),decoder:Object.freeze({name:"application/json",decode:(t,e)=>{if(!(t instanceof Uint8Array))throw new Error("In a Browser environments only Uint8Arrays are supported.");return Promise.resolve(JSON.parse(new TextDecoder(e.charset).decode(t)))}})}),stream:Object.freeze({asReadableStream:t=>new TT(t),asWritableStream:t=>new _T(t)}),console,timer:Object.freeze({setTimeout(t,e,...r){let n=setTimeout(t,e,...r);return{dispose:()=>clearTimeout(n)}},setImmediate(t,...e){let r=setTimeout(t,0,...e);return{dispose:()=>clearTimeout(r)}},setInterval(t,e,...r){let n=setInterval(t,e,...r);return{dispose:()=>clearInterval(n)}}})});function ET(){return Mw}(function(t){function e(){xn.RAL.install(Mw)}t.install=e})(ET||(ET={}));vT.default=ET});var Xo=fe(gr=>{"use strict";var M2=gr&&gr.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,i)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),F2=gr&&gr.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&M2(e,t,r)};Object.defineProperty(gr,"__esModule",{value:!0});gr.createMessageConnection=gr.BrowserMessageWriter=gr.BrowserMessageReader=void 0;var U2=Fw();U2.default.install();var ba=bp();F2(bp(),gr);var RT=class extends ba.AbstractMessageReader{constructor(e){super(),this._onData=new ba.Emitter,this._messageListener=r=>{this._onData.fire(r.data)},e.addEventListener("error",r=>this.fireError(r)),e.onmessage=this._messageListener}listen(e){return this._onData.event(e)}};gr.BrowserMessageReader=RT;var bT=class extends ba.AbstractMessageWriter{constructor(e){super(),this.port=e,this.errorCount=0,e.addEventListener("error",r=>this.fireError(r))}write(e){try{return this.port.postMessage(e),Promise.resolve()}catch(r){return this.handleError(r,e),Promise.reject(r)}}handleError(e,r){this.errorCount++,this.fireError(e,r,this.errorCount)}end(){}};gr.BrowserMessageWriter=bT;function B2(t,e,r,n){return r===void 0&&(r=ba.NullLogger),ba.ConnectionStrategy.is(n)&&(n={connectionStrategy:n}),(0,ba.createMessageConnection)(t,e,r,n)}gr.createMessageConnection=B2});var wT=fe((KZ,Uw)=>{"use strict";Uw.exports=Xo()});var ft=fe(or=>{"use strict";Object.defineProperty(or,"__esModule",{value:!0});or.ProtocolNotificationType=or.ProtocolNotificationType0=or.ProtocolRequestType=or.ProtocolRequestType0=or.RegistrationType=or.MessageDirection=void 0;var wa=Xo(),Bw;(function(t){t.clientToServer="clientToServer",t.serverToClient="serverToClient",t.both="both"})(Bw||(or.MessageDirection=Bw={}));var AT=class{constructor(e){this.method=e}};or.RegistrationType=AT;var ST=class extends wa.RequestType0{constructor(e){super(e)}};or.ProtocolRequestType0=ST;var IT=class extends wa.RequestType{constructor(e){super(e,wa.ParameterStructures.byName)}};or.ProtocolRequestType=IT;var kT=class extends wa.NotificationType0{constructor(e){super(e)}};or.ProtocolNotificationType0=kT;var NT=class extends wa.NotificationType{constructor(e){super(e,wa.ParameterStructures.byName)}};or.ProtocolNotificationType=NT});var Ap=fe(wt=>{"use strict";Object.defineProperty(wt,"__esModule",{value:!0});wt.objectLiteral=wt.typedArray=wt.stringArray=wt.array=wt.func=wt.error=wt.number=wt.string=wt.boolean=void 0;function G2(t){return t===!0||t===!1}wt.boolean=G2;function Gw(t){return typeof t=="string"||t instanceof String}wt.string=Gw;function X2(t){return typeof t=="number"||t instanceof Number}wt.number=X2;function H2(t){return t instanceof Error}wt.error=H2;function j2(t){return typeof t=="function"}wt.func=j2;function Xw(t){return Array.isArray(t)}wt.array=Xw;function z2(t){return Xw(t)&&t.every(e=>Gw(e))}wt.stringArray=z2;function q2(t,e){return Array.isArray(t)&&t.every(e)}wt.typedArray=q2;function W2(t){return t!==null&&typeof t=="object"}wt.objectLiteral=W2});var zw=fe(Sp=>{"use strict";Object.defineProperty(Sp,"__esModule",{value:!0});Sp.ImplementationRequest=void 0;var Hw=ft(),jw;(function(t){t.method="textDocument/implementation",t.messageDirection=Hw.MessageDirection.clientToServer,t.type=new Hw.ProtocolRequestType(t.method)})(jw||(Sp.ImplementationRequest=jw={}))});var Vw=fe(Ip=>{"use strict";Object.defineProperty(Ip,"__esModule",{value:!0});Ip.TypeDefinitionRequest=void 0;var qw=ft(),Ww;(function(t){t.method="textDocument/typeDefinition",t.messageDirection=qw.MessageDirection.clientToServer,t.type=new qw.ProtocolRequestType(t.method)})(Ww||(Ip.TypeDefinitionRequest=Ww={}))});var Zw=fe(Aa=>{"use strict";Object.defineProperty(Aa,"__esModule",{value:!0});Aa.DidChangeWorkspaceFoldersNotification=Aa.WorkspaceFoldersRequest=void 0;var kp=ft(),Yw;(function(t){t.method="workspace/workspaceFolders",t.messageDirection=kp.MessageDirection.serverToClient,t.type=new kp.ProtocolRequestType0(t.method)})(Yw||(Aa.WorkspaceFoldersRequest=Yw={}));var Kw;(function(t){t.method="workspace/didChangeWorkspaceFolders",t.messageDirection=kp.MessageDirection.clientToServer,t.type=new kp.ProtocolNotificationType(t.method)})(Kw||(Aa.DidChangeWorkspaceFoldersNotification=Kw={}))});var eA=fe(Np=>{"use strict";Object.defineProperty(Np,"__esModule",{value:!0});Np.ConfigurationRequest=void 0;var Jw=ft(),Qw;(function(t){t.method="workspace/configuration",t.messageDirection=Jw.MessageDirection.serverToClient,t.type=new Jw.ProtocolRequestType(t.method)})(Qw||(Np.ConfigurationRequest=Qw={}))});var nA=fe(Sa=>{"use strict";Object.defineProperty(Sa,"__esModule",{value:!0});Sa.ColorPresentationRequest=Sa.DocumentColorRequest=void 0;var Pp=ft(),tA;(function(t){t.method="textDocument/documentColor",t.messageDirection=Pp.MessageDirection.clientToServer,t.type=new Pp.ProtocolRequestType(t.method)})(tA||(Sa.DocumentColorRequest=tA={}));var rA;(function(t){t.method="textDocument/colorPresentation",t.messageDirection=Pp.MessageDirection.clientToServer,t.type=new Pp.ProtocolRequestType(t.method)})(rA||(Sa.ColorPresentationRequest=rA={}))});var sA=fe(Ia=>{"use strict";Object.defineProperty(Ia,"__esModule",{value:!0});Ia.FoldingRangeRefreshRequest=Ia.FoldingRangeRequest=void 0;var Cp=ft(),iA;(function(t){t.method="textDocument/foldingRange",t.messageDirection=Cp.MessageDirection.clientToServer,t.type=new Cp.ProtocolRequestType(t.method)})(iA||(Ia.FoldingRangeRequest=iA={}));var oA;(function(t){t.method="workspace/foldingRange/refresh",t.messageDirection=Cp.MessageDirection.serverToClient,t.type=new Cp.ProtocolRequestType0(t.method)})(oA||(Ia.FoldingRangeRefreshRequest=oA={}))});var lA=fe(Op=>{"use strict";Object.defineProperty(Op,"__esModule",{value:!0});Op.DeclarationRequest=void 0;var aA=ft(),cA;(function(t){t.method="textDocument/declaration",t.messageDirection=aA.MessageDirection.clientToServer,t.type=new aA.ProtocolRequestType(t.method)})(cA||(Op.DeclarationRequest=cA={}))});var dA=fe(Lp=>{"use strict";Object.defineProperty(Lp,"__esModule",{value:!0});Lp.SelectionRangeRequest=void 0;var uA=ft(),fA;(function(t){t.method="textDocument/selectionRange",t.messageDirection=uA.MessageDirection.clientToServer,t.type=new uA.ProtocolRequestType(t.method)})(fA||(Lp.SelectionRangeRequest=fA={}))});var gA=fe(Di=>{"use strict";Object.defineProperty(Di,"__esModule",{value:!0});Di.WorkDoneProgressCancelNotification=Di.WorkDoneProgressCreateRequest=Di.WorkDoneProgress=void 0;var V2=Xo(),Dp=ft(),pA;(function(t){t.type=new V2.ProgressType;function e(r){return r===t.type}t.is=e})(pA||(Di.WorkDoneProgress=pA={}));var hA;(function(t){t.method="window/workDoneProgress/create",t.messageDirection=Dp.MessageDirection.serverToClient,t.type=new Dp.ProtocolRequestType(t.method)})(hA||(Di.WorkDoneProgressCreateRequest=hA={}));var mA;(function(t){t.method="window/workDoneProgress/cancel",t.messageDirection=Dp.MessageDirection.clientToServer,t.type=new Dp.ProtocolNotificationType(t.method)})(mA||(Di.WorkDoneProgressCancelNotification=mA={}))});var _A=fe($i=>{"use strict";Object.defineProperty($i,"__esModule",{value:!0});$i.CallHierarchyOutgoingCallsRequest=$i.CallHierarchyIncomingCallsRequest=$i.CallHierarchyPrepareRequest=void 0;var ka=ft(),yA;(function(t){t.method="textDocument/prepareCallHierarchy",t.messageDirection=ka.MessageDirection.clientToServer,t.type=new ka.ProtocolRequestType(t.method)})(yA||($i.CallHierarchyPrepareRequest=yA={}));var xA;(function(t){t.method="callHierarchy/incomingCalls",t.messageDirection=ka.MessageDirection.clientToServer,t.type=new ka.ProtocolRequestType(t.method)})(xA||($i.CallHierarchyIncomingCallsRequest=xA={}));var TA;(function(t){t.method="callHierarchy/outgoingCalls",t.messageDirection=ka.MessageDirection.clientToServer,t.type=new ka.ProtocolRequestType(t.method)})(TA||($i.CallHierarchyOutgoingCallsRequest=TA={}))});var AA=fe(sr=>{"use strict";Object.defineProperty(sr,"__esModule",{value:!0});sr.SemanticTokensRefreshRequest=sr.SemanticTokensRangeRequest=sr.SemanticTokensDeltaRequest=sr.SemanticTokensRequest=sr.SemanticTokensRegistrationType=sr.TokenFormat=void 0;var Wn=ft(),EA;(function(t){t.Relative="relative"})(EA||(sr.TokenFormat=EA={}));var Vl;(function(t){t.method="textDocument/semanticTokens",t.type=new Wn.RegistrationType(t.method)})(Vl||(sr.SemanticTokensRegistrationType=Vl={}));var vA;(function(t){t.method="textDocument/semanticTokens/full",t.messageDirection=Wn.MessageDirection.clientToServer,t.type=new Wn.ProtocolRequestType(t.method),t.registrationMethod=Vl.method})(vA||(sr.SemanticTokensRequest=vA={}));var RA;(function(t){t.method="textDocument/semanticTokens/full/delta",t.messageDirection=Wn.MessageDirection.clientToServer,t.type=new Wn.ProtocolRequestType(t.method),t.registrationMethod=Vl.method})(RA||(sr.SemanticTokensDeltaRequest=RA={}));var bA;(function(t){t.method="textDocument/semanticTokens/range",t.messageDirection=Wn.MessageDirection.clientToServer,t.type=new Wn.ProtocolRequestType(t.method),t.registrationMethod=Vl.method})(bA||(sr.SemanticTokensRangeRequest=bA={}));var wA;(function(t){t.method="workspace/semanticTokens/refresh",t.messageDirection=Wn.MessageDirection.serverToClient,t.type=new Wn.ProtocolRequestType0(t.method)})(wA||(sr.SemanticTokensRefreshRequest=wA={}))});var kA=fe($p=>{"use strict";Object.defineProperty($p,"__esModule",{value:!0});$p.ShowDocumentRequest=void 0;var SA=ft(),IA;(function(t){t.method="window/showDocument",t.messageDirection=SA.MessageDirection.serverToClient,t.type=new SA.ProtocolRequestType(t.method)})(IA||($p.ShowDocumentRequest=IA={}))});var CA=fe(Mp=>{"use strict";Object.defineProperty(Mp,"__esModule",{value:!0});Mp.LinkedEditingRangeRequest=void 0;var NA=ft(),PA;(function(t){t.method="textDocument/linkedEditingRange",t.messageDirection=NA.MessageDirection.clientToServer,t.type=new NA.ProtocolRequestType(t.method)})(PA||(Mp.LinkedEditingRangeRequest=PA={}))});var BA=fe(Ht=>{"use strict";Object.defineProperty(Ht,"__esModule",{value:!0});Ht.WillDeleteFilesRequest=Ht.DidDeleteFilesNotification=Ht.DidRenameFilesNotification=Ht.WillRenameFilesRequest=Ht.DidCreateFilesNotification=Ht.WillCreateFilesRequest=Ht.FileOperationPatternKind=void 0;var Sr=ft(),OA;(function(t){t.file="file",t.folder="folder"})(OA||(Ht.FileOperationPatternKind=OA={}));var LA;(function(t){t.method="workspace/willCreateFiles",t.messageDirection=Sr.MessageDirection.clientToServer,t.type=new Sr.ProtocolRequestType(t.method)})(LA||(Ht.WillCreateFilesRequest=LA={}));var DA;(function(t){t.method="workspace/didCreateFiles",t.messageDirection=Sr.MessageDirection.clientToServer,t.type=new Sr.ProtocolNotificationType(t.method)})(DA||(Ht.DidCreateFilesNotification=DA={}));var $A;(function(t){t.method="workspace/willRenameFiles",t.messageDirection=Sr.MessageDirection.clientToServer,t.type=new Sr.ProtocolRequestType(t.method)})($A||(Ht.WillRenameFilesRequest=$A={}));var MA;(function(t){t.method="workspace/didRenameFiles",t.messageDirection=Sr.MessageDirection.clientToServer,t.type=new Sr.ProtocolNotificationType(t.method)})(MA||(Ht.DidRenameFilesNotification=MA={}));var FA;(function(t){t.method="workspace/didDeleteFiles",t.messageDirection=Sr.MessageDirection.clientToServer,t.type=new Sr.ProtocolNotificationType(t.method)})(FA||(Ht.DidDeleteFilesNotification=FA={}));var UA;(function(t){t.method="workspace/willDeleteFiles",t.messageDirection=Sr.MessageDirection.clientToServer,t.type=new Sr.ProtocolRequestType(t.method)})(UA||(Ht.WillDeleteFilesRequest=UA={}))});var zA=fe(Mi=>{"use strict";Object.defineProperty(Mi,"__esModule",{value:!0});Mi.MonikerRequest=Mi.MonikerKind=Mi.UniquenessLevel=void 0;var GA=ft(),XA;(function(t){t.document="document",t.project="project",t.group="group",t.scheme="scheme",t.global="global"})(XA||(Mi.UniquenessLevel=XA={}));var HA;(function(t){t.$import="import",t.$export="export",t.local="local"})(HA||(Mi.MonikerKind=HA={}));var jA;(function(t){t.method="textDocument/moniker",t.messageDirection=GA.MessageDirection.clientToServer,t.type=new GA.ProtocolRequestType(t.method)})(jA||(Mi.MonikerRequest=jA={}))});var YA=fe(Fi=>{"use strict";Object.defineProperty(Fi,"__esModule",{value:!0});Fi.TypeHierarchySubtypesRequest=Fi.TypeHierarchySupertypesRequest=Fi.TypeHierarchyPrepareRequest=void 0;var Na=ft(),qA;(function(t){t.method="textDocument/prepareTypeHierarchy",t.messageDirection=Na.MessageDirection.clientToServer,t.type=new Na.ProtocolRequestType(t.method)})(qA||(Fi.TypeHierarchyPrepareRequest=qA={}));var WA;(function(t){t.method="typeHierarchy/supertypes",t.messageDirection=Na.MessageDirection.clientToServer,t.type=new Na.ProtocolRequestType(t.method)})(WA||(Fi.TypeHierarchySupertypesRequest=WA={}));var VA;(function(t){t.method="typeHierarchy/subtypes",t.messageDirection=Na.MessageDirection.clientToServer,t.type=new Na.ProtocolRequestType(t.method)})(VA||(Fi.TypeHierarchySubtypesRequest=VA={}))});var JA=fe(Pa=>{"use strict";Object.defineProperty(Pa,"__esModule",{value:!0});Pa.InlineValueRefreshRequest=Pa.InlineValueRequest=void 0;var Fp=ft(),KA;(function(t){t.method="textDocument/inlineValue",t.messageDirection=Fp.MessageDirection.clientToServer,t.type=new Fp.ProtocolRequestType(t.method)})(KA||(Pa.InlineValueRequest=KA={}));var ZA;(function(t){t.method="workspace/inlineValue/refresh",t.messageDirection=Fp.MessageDirection.serverToClient,t.type=new Fp.ProtocolRequestType0(t.method)})(ZA||(Pa.InlineValueRefreshRequest=ZA={}))});var rS=fe(Ui=>{"use strict";Object.defineProperty(Ui,"__esModule",{value:!0});Ui.InlayHintRefreshRequest=Ui.InlayHintResolveRequest=Ui.InlayHintRequest=void 0;var Ca=ft(),QA;(function(t){t.method="textDocument/inlayHint",t.messageDirection=Ca.MessageDirection.clientToServer,t.type=new Ca.ProtocolRequestType(t.method)})(QA||(Ui.InlayHintRequest=QA={}));var eS;(function(t){t.method="inlayHint/resolve",t.messageDirection=Ca.MessageDirection.clientToServer,t.type=new Ca.ProtocolRequestType(t.method)})(eS||(Ui.InlayHintResolveRequest=eS={}));var tS;(function(t){t.method="workspace/inlayHint/refresh",t.messageDirection=Ca.MessageDirection.serverToClient,t.type=new Ca.ProtocolRequestType0(t.method)})(tS||(Ui.InlayHintRefreshRequest=tS={}))});var lS=fe(Ir=>{"use strict";Object.defineProperty(Ir,"__esModule",{value:!0});Ir.DiagnosticRefreshRequest=Ir.WorkspaceDiagnosticRequest=Ir.DocumentDiagnosticRequest=Ir.DocumentDiagnosticReportKind=Ir.DiagnosticServerCancellationData=void 0;var cS=Xo(),Y2=Ap(),Oa=ft(),nS;(function(t){function e(r){let n=r;return n&&Y2.boolean(n.retriggerRequest)}t.is=e})(nS||(Ir.DiagnosticServerCancellationData=nS={}));var iS;(function(t){t.Full="full",t.Unchanged="unchanged"})(iS||(Ir.DocumentDiagnosticReportKind=iS={}));var oS;(function(t){t.method="textDocument/diagnostic",t.messageDirection=Oa.MessageDirection.clientToServer,t.type=new Oa.ProtocolRequestType(t.method),t.partialResult=new cS.ProgressType})(oS||(Ir.DocumentDiagnosticRequest=oS={}));var sS;(function(t){t.method="workspace/diagnostic",t.messageDirection=Oa.MessageDirection.clientToServer,t.type=new Oa.ProtocolRequestType(t.method),t.partialResult=new cS.ProgressType})(sS||(Ir.WorkspaceDiagnosticRequest=sS={}));var aS;(function(t){t.method="workspace/diagnostic/refresh",t.messageDirection=Oa.MessageDirection.serverToClient,t.type=new Oa.ProtocolRequestType0(t.method)})(aS||(Ir.DiagnosticRefreshRequest=aS={}))});var gS=fe(xt=>{"use strict";Object.defineProperty(xt,"__esModule",{value:!0});xt.DidCloseNotebookDocumentNotification=xt.DidSaveNotebookDocumentNotification=xt.DidChangeNotebookDocumentNotification=xt.NotebookCellArrayChange=xt.DidOpenNotebookDocumentNotification=xt.NotebookDocumentSyncRegistrationType=xt.NotebookDocument=xt.NotebookCell=xt.ExecutionSummary=xt.NotebookCellKind=void 0;var Yl=(sa(),sf(Vd)),qr=Ap(),Tn=ft(),PT;(function(t){t.Markup=1,t.Code=2;function e(r){return r===1||r===2}t.is=e})(PT||(xt.NotebookCellKind=PT={}));var CT;(function(t){function e(i,o){let s={executionOrder:i};return(o===!0||o===!1)&&(s.success=o),s}t.create=e;function r(i){let o=i;return qr.objectLiteral(o)&&Yl.uinteger.is(o.executionOrder)&&(o.success===void 0||qr.boolean(o.success))}t.is=r;function n(i,o){return i===o?!0:i==null||o===null||o===void 0?!1:i.executionOrder===o.executionOrder&&i.success===o.success}t.equals=n})(CT||(xt.ExecutionSummary=CT={}));var Up;(function(t){function e(o,s){return{kind:o,document:s}}t.create=e;function r(o){let s=o;return qr.objectLiteral(s)&&PT.is(s.kind)&&Yl.DocumentUri.is(s.document)&&(s.metadata===void 0||qr.objectLiteral(s.metadata))}t.is=r;function n(o,s){let a=new Set;return o.document!==s.document&&a.add("document"),o.kind!==s.kind&&a.add("kind"),o.executionSummary!==s.executionSummary&&a.add("executionSummary"),(o.metadata!==void 0||s.metadata!==void 0)&&!i(o.metadata,s.metadata)&&a.add("metadata"),(o.executionSummary!==void 0||s.executionSummary!==void 0)&&!CT.equals(o.executionSummary,s.executionSummary)&&a.add("executionSummary"),a}t.diff=n;function i(o,s){if(o===s)return!0;if(o==null||s===null||s===void 0||typeof o!=typeof s||typeof o!="object")return!1;let a=Array.isArray(o),c=Array.isArray(s);if(a!==c)return!1;if(a&&c){if(o.length!==s.length)return!1;for(let l=0;l<o.length;l++)if(!i(o[l],s[l]))return!1}if(qr.objectLiteral(o)&&qr.objectLiteral(s)){let l=Object.keys(o),u=Object.keys(s);if(l.length!==u.length||(l.sort(),u.sort(),!i(l,u)))return!1;for(let f=0;f<l.length;f++){let d=l[f];if(!i(o[d],s[d]))return!1}}return!0}})(Up||(xt.NotebookCell=Up={}));var uS;(function(t){function e(n,i,o,s){return{uri:n,notebookType:i,version:o,cells:s}}t.create=e;function r(n){let i=n;return qr.objectLiteral(i)&&qr.string(i.uri)&&Yl.integer.is(i.version)&&qr.typedArray(i.cells,Up.is)}t.is=r})(uS||(xt.NotebookDocument=uS={}));var La;(function(t){t.method="notebookDocument/sync",t.messageDirection=Tn.MessageDirection.clientToServer,t.type=new Tn.RegistrationType(t.method)})(La||(xt.NotebookDocumentSyncRegistrationType=La={}));var fS;(function(t){t.method="notebookDocument/didOpen",t.messageDirection=Tn.MessageDirection.clientToServer,t.type=new Tn.ProtocolNotificationType(t.method),t.registrationMethod=La.method})(fS||(xt.DidOpenNotebookDocumentNotification=fS={}));var dS;(function(t){function e(n){let i=n;return qr.objectLiteral(i)&&Yl.uinteger.is(i.start)&&Yl.uinteger.is(i.deleteCount)&&(i.cells===void 0||qr.typedArray(i.cells,Up.is))}t.is=e;function r(n,i,o){let s={start:n,deleteCount:i};return o!==void 0&&(s.cells=o),s}t.create=r})(dS||(xt.NotebookCellArrayChange=dS={}));var pS;(function(t){t.method="notebookDocument/didChange",t.messageDirection=Tn.MessageDirection.clientToServer,t.type=new Tn.ProtocolNotificationType(t.method),t.registrationMethod=La.method})(pS||(xt.DidChangeNotebookDocumentNotification=pS={}));var hS;(function(t){t.method="notebookDocument/didSave",t.messageDirection=Tn.MessageDirection.clientToServer,t.type=new Tn.ProtocolNotificationType(t.method),t.registrationMethod=La.method})(hS||(xt.DidSaveNotebookDocumentNotification=hS={}));var mS;(function(t){t.method="notebookDocument/didClose",t.messageDirection=Tn.MessageDirection.clientToServer,t.type=new Tn.ProtocolNotificationType(t.method),t.registrationMethod=La.method})(mS||(xt.DidCloseNotebookDocumentNotification=mS={}))});var TS=fe(Bp=>{"use strict";Object.defineProperty(Bp,"__esModule",{value:!0});Bp.InlineCompletionRequest=void 0;var yS=ft(),xS;(function(t){t.method="textDocument/inlineCompletion",t.messageDirection=yS.MessageDirection.clientToServer,t.type=new yS.ProtocolRequestType(t.method)})(xS||(Bp.InlineCompletionRequest=xS={}))});var CI=fe(y=>{"use strict";Object.defineProperty(y,"__esModule",{value:!0});y.WorkspaceSymbolRequest=y.CodeActionResolveRequest=y.CodeActionRequest=y.DocumentSymbolRequest=y.DocumentHighlightRequest=y.ReferencesRequest=y.DefinitionRequest=y.SignatureHelpRequest=y.SignatureHelpTriggerKind=y.HoverRequest=y.CompletionResolveRequest=y.CompletionRequest=y.CompletionTriggerKind=y.PublishDiagnosticsNotification=y.WatchKind=y.RelativePattern=y.FileChangeType=y.DidChangeWatchedFilesNotification=y.WillSaveTextDocumentWaitUntilRequest=y.WillSaveTextDocumentNotification=y.TextDocumentSaveReason=y.DidSaveTextDocumentNotification=y.DidCloseTextDocumentNotification=y.DidChangeTextDocumentNotification=y.TextDocumentContentChangeEvent=y.DidOpenTextDocumentNotification=y.TextDocumentSyncKind=y.TelemetryEventNotification=y.LogMessageNotification=y.ShowMessageRequest=y.ShowMessageNotification=y.MessageType=y.DidChangeConfigurationNotification=y.ExitNotification=y.ShutdownRequest=y.InitializedNotification=y.InitializeErrorCodes=y.InitializeRequest=y.WorkDoneProgressOptions=y.TextDocumentRegistrationOptions=y.StaticRegistrationOptions=y.PositionEncodingKind=y.FailureHandlingKind=y.ResourceOperationKind=y.UnregistrationRequest=y.RegistrationRequest=y.DocumentSelector=y.NotebookCellTextDocumentFilter=y.NotebookDocumentFilter=y.TextDocumentFilter=void 0;y.MonikerRequest=y.MonikerKind=y.UniquenessLevel=y.WillDeleteFilesRequest=y.DidDeleteFilesNotification=y.WillRenameFilesRequest=y.DidRenameFilesNotification=y.WillCreateFilesRequest=y.DidCreateFilesNotification=y.FileOperationPatternKind=y.LinkedEditingRangeRequest=y.ShowDocumentRequest=y.SemanticTokensRegistrationType=y.SemanticTokensRefreshRequest=y.SemanticTokensRangeRequest=y.SemanticTokensDeltaRequest=y.SemanticTokensRequest=y.TokenFormat=y.CallHierarchyPrepareRequest=y.CallHierarchyOutgoingCallsRequest=y.CallHierarchyIncomingCallsRequest=y.WorkDoneProgressCancelNotification=y.WorkDoneProgressCreateRequest=y.WorkDoneProgress=y.SelectionRangeRequest=y.DeclarationRequest=y.FoldingRangeRefreshRequest=y.FoldingRangeRequest=y.ColorPresentationRequest=y.DocumentColorRequest=y.ConfigurationRequest=y.DidChangeWorkspaceFoldersNotification=y.WorkspaceFoldersRequest=y.TypeDefinitionRequest=y.ImplementationRequest=y.ApplyWorkspaceEditRequest=y.ExecuteCommandRequest=y.PrepareRenameRequest=y.RenameRequest=y.PrepareSupportDefaultBehavior=y.DocumentOnTypeFormattingRequest=y.DocumentRangesFormattingRequest=y.DocumentRangeFormattingRequest=y.DocumentFormattingRequest=y.DocumentLinkResolveRequest=y.DocumentLinkRequest=y.CodeLensRefreshRequest=y.CodeLensResolveRequest=y.CodeLensRequest=y.WorkspaceSymbolResolveRequest=void 0;y.InlineCompletionRequest=y.DidCloseNotebookDocumentNotification=y.DidSaveNotebookDocumentNotification=y.DidChangeNotebookDocumentNotification=y.NotebookCellArrayChange=y.DidOpenNotebookDocumentNotification=y.NotebookDocumentSyncRegistrationType=y.NotebookDocument=y.NotebookCell=y.ExecutionSummary=y.NotebookCellKind=y.DiagnosticRefreshRequest=y.WorkspaceDiagnosticRequest=y.DocumentDiagnosticRequest=y.DocumentDiagnosticReportKind=y.DiagnosticServerCancellationData=y.InlayHintRefreshRequest=y.InlayHintResolveRequest=y.InlayHintRequest=y.InlineValueRefreshRequest=y.InlineValueRequest=y.TypeHierarchySupertypesRequest=y.TypeHierarchySubtypesRequest=y.TypeHierarchyPrepareRequest=void 0;var G=ft(),_S=(sa(),sf(Vd)),Ot=Ap(),K2=zw();Object.defineProperty(y,"ImplementationRequest",{enumerable:!0,get:function(){return K2.ImplementationRequest}});var Z2=Vw();Object.defineProperty(y,"TypeDefinitionRequest",{enumerable:!0,get:function(){return Z2.TypeDefinitionRequest}});var II=Zw();Object.defineProperty(y,"WorkspaceFoldersRequest",{enumerable:!0,get:function(){return II.WorkspaceFoldersRequest}});Object.defineProperty(y,"DidChangeWorkspaceFoldersNotification",{enumerable:!0,get:function(){return II.DidChangeWorkspaceFoldersNotification}});var J2=eA();Object.defineProperty(y,"ConfigurationRequest",{enumerable:!0,get:function(){return J2.ConfigurationRequest}});var kI=nA();Object.defineProperty(y,"DocumentColorRequest",{enumerable:!0,get:function(){return kI.DocumentColorRequest}});Object.defineProperty(y,"ColorPresentationRequest",{enumerable:!0,get:function(){return kI.ColorPresentationRequest}});var NI=sA();Object.defineProperty(y,"FoldingRangeRequest",{enumerable:!0,get:function(){return NI.FoldingRangeRequest}});Object.defineProperty(y,"FoldingRangeRefreshRequest",{enumerable:!0,get:function(){return NI.FoldingRangeRefreshRequest}});var Q2=lA();Object.defineProperty(y,"DeclarationRequest",{enumerable:!0,get:function(){return Q2.DeclarationRequest}});var eU=dA();Object.defineProperty(y,"SelectionRangeRequest",{enumerable:!0,get:function(){return eU.SelectionRangeRequest}});var MT=gA();Object.defineProperty(y,"WorkDoneProgress",{enumerable:!0,get:function(){return MT.WorkDoneProgress}});Object.defineProperty(y,"WorkDoneProgressCreateRequest",{enumerable:!0,get:function(){return MT.WorkDoneProgressCreateRequest}});Object.defineProperty(y,"WorkDoneProgressCancelNotification",{enumerable:!0,get:function(){return MT.WorkDoneProgressCancelNotification}});var FT=_A();Object.defineProperty(y,"CallHierarchyIncomingCallsRequest",{enumerable:!0,get:function(){return FT.CallHierarchyIncomingCallsRequest}});Object.defineProperty(y,"CallHierarchyOutgoingCallsRequest",{enumerable:!0,get:function(){return FT.CallHierarchyOutgoingCallsRequest}});Object.defineProperty(y,"CallHierarchyPrepareRequest",{enumerable:!0,get:function(){return FT.CallHierarchyPrepareRequest}});var Da=AA();Object.defineProperty(y,"TokenFormat",{enumerable:!0,get:function(){return Da.TokenFormat}});Object.defineProperty(y,"SemanticTokensRequest",{enumerable:!0,get:function(){return Da.SemanticTokensRequest}});Object.defineProperty(y,"SemanticTokensDeltaRequest",{enumerable:!0,get:function(){return Da.SemanticTokensDeltaRequest}});Object.defineProperty(y,"SemanticTokensRangeRequest",{enumerable:!0,get:function(){return Da.SemanticTokensRangeRequest}});Object.defineProperty(y,"SemanticTokensRefreshRequest",{enumerable:!0,get:function(){return Da.SemanticTokensRefreshRequest}});Object.defineProperty(y,"SemanticTokensRegistrationType",{enumerable:!0,get:function(){return Da.SemanticTokensRegistrationType}});var tU=kA();Object.defineProperty(y,"ShowDocumentRequest",{enumerable:!0,get:function(){return tU.ShowDocumentRequest}});var rU=CA();Object.defineProperty(y,"LinkedEditingRangeRequest",{enumerable:!0,get:function(){return rU.LinkedEditingRangeRequest}});var Ho=BA();Object.defineProperty(y,"FileOperationPatternKind",{enumerable:!0,get:function(){return Ho.FileOperationPatternKind}});Object.defineProperty(y,"DidCreateFilesNotification",{enumerable:!0,get:function(){return Ho.DidCreateFilesNotification}});Object.defineProperty(y,"WillCreateFilesRequest",{enumerable:!0,get:function(){return Ho.WillCreateFilesRequest}});Object.defineProperty(y,"DidRenameFilesNotification",{enumerable:!0,get:function(){return Ho.DidRenameFilesNotification}});Object.defineProperty(y,"WillRenameFilesRequest",{enumerable:!0,get:function(){return Ho.WillRenameFilesRequest}});Object.defineProperty(y,"DidDeleteFilesNotification",{enumerable:!0,get:function(){return Ho.DidDeleteFilesNotification}});Object.defineProperty(y,"WillDeleteFilesRequest",{enumerable:!0,get:function(){return Ho.WillDeleteFilesRequest}});var UT=zA();Object.defineProperty(y,"UniquenessLevel",{enumerable:!0,get:function(){return UT.UniquenessLevel}});Object.defineProperty(y,"MonikerKind",{enumerable:!0,get:function(){return UT.MonikerKind}});Object.defineProperty(y,"MonikerRequest",{enumerable:!0,get:function(){return UT.MonikerRequest}});var BT=YA();Object.defineProperty(y,"TypeHierarchyPrepareRequest",{enumerable:!0,get:function(){return BT.TypeHierarchyPrepareRequest}});Object.defineProperty(y,"TypeHierarchySubtypesRequest",{enumerable:!0,get:function(){return BT.TypeHierarchySubtypesRequest}});Object.defineProperty(y,"TypeHierarchySupertypesRequest",{enumerable:!0,get:function(){return BT.TypeHierarchySupertypesRequest}});var PI=JA();Object.defineProperty(y,"InlineValueRequest",{enumerable:!0,get:function(){return PI.InlineValueRequest}});Object.defineProperty(y,"InlineValueRefreshRequest",{enumerable:!0,get:function(){return PI.InlineValueRefreshRequest}});var GT=rS();Object.defineProperty(y,"InlayHintRequest",{enumerable:!0,get:function(){return GT.InlayHintRequest}});Object.defineProperty(y,"InlayHintResolveRequest",{enumerable:!0,get:function(){return GT.InlayHintResolveRequest}});Object.defineProperty(y,"InlayHintRefreshRequest",{enumerable:!0,get:function(){return GT.InlayHintRefreshRequest}});var Kl=lS();Object.defineProperty(y,"DiagnosticServerCancellationData",{enumerable:!0,get:function(){return Kl.DiagnosticServerCancellationData}});Object.defineProperty(y,"DocumentDiagnosticReportKind",{enumerable:!0,get:function(){return Kl.DocumentDiagnosticReportKind}});Object.defineProperty(y,"DocumentDiagnosticRequest",{enumerable:!0,get:function(){return Kl.DocumentDiagnosticRequest}});Object.defineProperty(y,"WorkspaceDiagnosticRequest",{enumerable:!0,get:function(){return Kl.WorkspaceDiagnosticRequest}});Object.defineProperty(y,"DiagnosticRefreshRequest",{enumerable:!0,get:function(){return Kl.DiagnosticRefreshRequest}});var _n=gS();Object.defineProperty(y,"NotebookCellKind",{enumerable:!0,get:function(){return _n.NotebookCellKind}});Object.defineProperty(y,"ExecutionSummary",{enumerable:!0,get:function(){return _n.ExecutionSummary}});Object.defineProperty(y,"NotebookCell",{enumerable:!0,get:function(){return _n.NotebookCell}});Object.defineProperty(y,"NotebookDocument",{enumerable:!0,get:function(){return _n.NotebookDocument}});Object.defineProperty(y,"NotebookDocumentSyncRegistrationType",{enumerable:!0,get:function(){return _n.NotebookDocumentSyncRegistrationType}});Object.defineProperty(y,"DidOpenNotebookDocumentNotification",{enumerable:!0,get:function(){return _n.DidOpenNotebookDocumentNotification}});Object.defineProperty(y,"NotebookCellArrayChange",{enumerable:!0,get:function(){return _n.NotebookCellArrayChange}});Object.defineProperty(y,"DidChangeNotebookDocumentNotification",{enumerable:!0,get:function(){return _n.DidChangeNotebookDocumentNotification}});Object.defineProperty(y,"DidSaveNotebookDocumentNotification",{enumerable:!0,get:function(){return _n.DidSaveNotebookDocumentNotification}});Object.defineProperty(y,"DidCloseNotebookDocumentNotification",{enumerable:!0,get:function(){return _n.DidCloseNotebookDocumentNotification}});var nU=TS();Object.defineProperty(y,"InlineCompletionRequest",{enumerable:!0,get:function(){return nU.InlineCompletionRequest}});var OT;(function(t){function e(r){let n=r;return Ot.string(n)||Ot.string(n.language)||Ot.string(n.scheme)||Ot.string(n.pattern)}t.is=e})(OT||(y.TextDocumentFilter=OT={}));var LT;(function(t){function e(r){let n=r;return Ot.objectLiteral(n)&&(Ot.string(n.notebookType)||Ot.string(n.scheme)||Ot.string(n.pattern))}t.is=e})(LT||(y.NotebookDocumentFilter=LT={}));var DT;(function(t){function e(r){let n=r;return Ot.objectLiteral(n)&&(Ot.string(n.notebook)||LT.is(n.notebook))&&(n.language===void 0||Ot.string(n.language))}t.is=e})(DT||(y.NotebookCellTextDocumentFilter=DT={}));var $T;(function(t){function e(r){if(!Array.isArray(r))return!1;for(let n of r)if(!Ot.string(n)&&!OT.is(n)&&!DT.is(n))return!1;return!0}t.is=e})($T||(y.DocumentSelector=$T={}));var ES;(function(t){t.method="client/registerCapability",t.messageDirection=G.MessageDirection.serverToClient,t.type=new G.ProtocolRequestType(t.method)})(ES||(y.RegistrationRequest=ES={}));var vS;(function(t){t.method="client/unregisterCapability",t.messageDirection=G.MessageDirection.serverToClient,t.type=new G.ProtocolRequestType(t.method)})(vS||(y.UnregistrationRequest=vS={}));var RS;(function(t){t.Create="create",t.Rename="rename",t.Delete="delete"})(RS||(y.ResourceOperationKind=RS={}));var bS;(function(t){t.Abort="abort",t.Transactional="transactional",t.TextOnlyTransactional="textOnlyTransactional",t.Undo="undo"})(bS||(y.FailureHandlingKind=bS={}));var wS;(function(t){t.UTF8="utf-8",t.UTF16="utf-16",t.UTF32="utf-32"})(wS||(y.PositionEncodingKind=wS={}));var AS;(function(t){function e(r){let n=r;return n&&Ot.string(n.id)&&n.id.length>0}t.hasId=e})(AS||(y.StaticRegistrationOptions=AS={}));var SS;(function(t){function e(r){let n=r;return n&&(n.documentSelector===null||$T.is(n.documentSelector))}t.is=e})(SS||(y.TextDocumentRegistrationOptions=SS={}));var IS;(function(t){function e(n){let i=n;return Ot.objectLiteral(i)&&(i.workDoneProgress===void 0||Ot.boolean(i.workDoneProgress))}t.is=e;function r(n){let i=n;return i&&Ot.boolean(i.workDoneProgress)}t.hasWorkDoneProgress=r})(IS||(y.WorkDoneProgressOptions=IS={}));var kS;(function(t){t.method="initialize",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolRequestType(t.method)})(kS||(y.InitializeRequest=kS={}));var NS;(function(t){t.unknownProtocolVersion=1})(NS||(y.InitializeErrorCodes=NS={}));var PS;(function(t){t.method="initialized",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolNotificationType(t.method)})(PS||(y.InitializedNotification=PS={}));var CS;(function(t){t.method="shutdown",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolRequestType0(t.method)})(CS||(y.ShutdownRequest=CS={}));var OS;(function(t){t.method="exit",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolNotificationType0(t.method)})(OS||(y.ExitNotification=OS={}));var LS;(function(t){t.method="workspace/didChangeConfiguration",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolNotificationType(t.method)})(LS||(y.DidChangeConfigurationNotification=LS={}));var DS;(function(t){t.Error=1,t.Warning=2,t.Info=3,t.Log=4,t.Debug=5})(DS||(y.MessageType=DS={}));var $S;(function(t){t.method="window/showMessage",t.messageDirection=G.MessageDirection.serverToClient,t.type=new G.ProtocolNotificationType(t.method)})($S||(y.ShowMessageNotification=$S={}));var MS;(function(t){t.method="window/showMessageRequest",t.messageDirection=G.MessageDirection.serverToClient,t.type=new G.ProtocolRequestType(t.method)})(MS||(y.ShowMessageRequest=MS={}));var FS;(function(t){t.method="window/logMessage",t.messageDirection=G.MessageDirection.serverToClient,t.type=new G.ProtocolNotificationType(t.method)})(FS||(y.LogMessageNotification=FS={}));var US;(function(t){t.method="telemetry/event",t.messageDirection=G.MessageDirection.serverToClient,t.type=new G.ProtocolNotificationType(t.method)})(US||(y.TelemetryEventNotification=US={}));var BS;(function(t){t.None=0,t.Full=1,t.Incremental=2})(BS||(y.TextDocumentSyncKind=BS={}));var GS;(function(t){t.method="textDocument/didOpen",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolNotificationType(t.method)})(GS||(y.DidOpenTextDocumentNotification=GS={}));var XS;(function(t){function e(n){let i=n;return i!=null&&typeof i.text=="string"&&i.range!==void 0&&(i.rangeLength===void 0||typeof i.rangeLength=="number")}t.isIncremental=e;function r(n){let i=n;return i!=null&&typeof i.text=="string"&&i.range===void 0&&i.rangeLength===void 0}t.isFull=r})(XS||(y.TextDocumentContentChangeEvent=XS={}));var HS;(function(t){t.method="textDocument/didChange",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolNotificationType(t.method)})(HS||(y.DidChangeTextDocumentNotification=HS={}));var jS;(function(t){t.method="textDocument/didClose",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolNotificationType(t.method)})(jS||(y.DidCloseTextDocumentNotification=jS={}));var zS;(function(t){t.method="textDocument/didSave",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolNotificationType(t.method)})(zS||(y.DidSaveTextDocumentNotification=zS={}));var qS;(function(t){t.Manual=1,t.AfterDelay=2,t.FocusOut=3})(qS||(y.TextDocumentSaveReason=qS={}));var WS;(function(t){t.method="textDocument/willSave",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolNotificationType(t.method)})(WS||(y.WillSaveTextDocumentNotification=WS={}));var VS;(function(t){t.method="textDocument/willSaveWaitUntil",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolRequestType(t.method)})(VS||(y.WillSaveTextDocumentWaitUntilRequest=VS={}));var YS;(function(t){t.method="workspace/didChangeWatchedFiles",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolNotificationType(t.method)})(YS||(y.DidChangeWatchedFilesNotification=YS={}));var KS;(function(t){t.Created=1,t.Changed=2,t.Deleted=3})(KS||(y.FileChangeType=KS={}));var ZS;(function(t){function e(r){let n=r;return Ot.objectLiteral(n)&&(_S.URI.is(n.baseUri)||_S.WorkspaceFolder.is(n.baseUri))&&Ot.string(n.pattern)}t.is=e})(ZS||(y.RelativePattern=ZS={}));var JS;(function(t){t.Create=1,t.Change=2,t.Delete=4})(JS||(y.WatchKind=JS={}));var QS;(function(t){t.method="textDocument/publishDiagnostics",t.messageDirection=G.MessageDirection.serverToClient,t.type=new G.ProtocolNotificationType(t.method)})(QS||(y.PublishDiagnosticsNotification=QS={}));var eI;(function(t){t.Invoked=1,t.TriggerCharacter=2,t.TriggerForIncompleteCompletions=3})(eI||(y.CompletionTriggerKind=eI={}));var tI;(function(t){t.method="textDocument/completion",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolRequestType(t.method)})(tI||(y.CompletionRequest=tI={}));var rI;(function(t){t.method="completionItem/resolve",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolRequestType(t.method)})(rI||(y.CompletionResolveRequest=rI={}));var nI;(function(t){t.method="textDocument/hover",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolRequestType(t.method)})(nI||(y.HoverRequest=nI={}));var iI;(function(t){t.Invoked=1,t.TriggerCharacter=2,t.ContentChange=3})(iI||(y.SignatureHelpTriggerKind=iI={}));var oI;(function(t){t.method="textDocument/signatureHelp",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolRequestType(t.method)})(oI||(y.SignatureHelpRequest=oI={}));var sI;(function(t){t.method="textDocument/definition",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolRequestType(t.method)})(sI||(y.DefinitionRequest=sI={}));var aI;(function(t){t.method="textDocument/references",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolRequestType(t.method)})(aI||(y.ReferencesRequest=aI={}));var cI;(function(t){t.method="textDocument/documentHighlight",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolRequestType(t.method)})(cI||(y.DocumentHighlightRequest=cI={}));var lI;(function(t){t.method="textDocument/documentSymbol",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolRequestType(t.method)})(lI||(y.DocumentSymbolRequest=lI={}));var uI;(function(t){t.method="textDocument/codeAction",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolRequestType(t.method)})(uI||(y.CodeActionRequest=uI={}));var fI;(function(t){t.method="codeAction/resolve",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolRequestType(t.method)})(fI||(y.CodeActionResolveRequest=fI={}));var dI;(function(t){t.method="workspace/symbol",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolRequestType(t.method)})(dI||(y.WorkspaceSymbolRequest=dI={}));var pI;(function(t){t.method="workspaceSymbol/resolve",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolRequestType(t.method)})(pI||(y.WorkspaceSymbolResolveRequest=pI={}));var hI;(function(t){t.method="textDocument/codeLens",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolRequestType(t.method)})(hI||(y.CodeLensRequest=hI={}));var mI;(function(t){t.method="codeLens/resolve",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolRequestType(t.method)})(mI||(y.CodeLensResolveRequest=mI={}));var gI;(function(t){t.method="workspace/codeLens/refresh",t.messageDirection=G.MessageDirection.serverToClient,t.type=new G.ProtocolRequestType0(t.method)})(gI||(y.CodeLensRefreshRequest=gI={}));var yI;(function(t){t.method="textDocument/documentLink",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolRequestType(t.method)})(yI||(y.DocumentLinkRequest=yI={}));var xI;(function(t){t.method="documentLink/resolve",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolRequestType(t.method)})(xI||(y.DocumentLinkResolveRequest=xI={}));var TI;(function(t){t.method="textDocument/formatting",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolRequestType(t.method)})(TI||(y.DocumentFormattingRequest=TI={}));var _I;(function(t){t.method="textDocument/rangeFormatting",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolRequestType(t.method)})(_I||(y.DocumentRangeFormattingRequest=_I={}));var EI;(function(t){t.method="textDocument/rangesFormatting",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolRequestType(t.method)})(EI||(y.DocumentRangesFormattingRequest=EI={}));var vI;(function(t){t.method="textDocument/onTypeFormatting",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolRequestType(t.method)})(vI||(y.DocumentOnTypeFormattingRequest=vI={}));var RI;(function(t){t.Identifier=1})(RI||(y.PrepareSupportDefaultBehavior=RI={}));var bI;(function(t){t.method="textDocument/rename",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolRequestType(t.method)})(bI||(y.RenameRequest=bI={}));var wI;(function(t){t.method="textDocument/prepareRename",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolRequestType(t.method)})(wI||(y.PrepareRenameRequest=wI={}));var AI;(function(t){t.method="workspace/executeCommand",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolRequestType(t.method)})(AI||(y.ExecuteCommandRequest=AI={}));var SI;(function(t){t.method="workspace/applyEdit",t.messageDirection=G.MessageDirection.serverToClient,t.type=new G.ProtocolRequestType("workspace/applyEdit")})(SI||(y.ApplyWorkspaceEditRequest=SI={}))});var LI=fe(Gp=>{"use strict";Object.defineProperty(Gp,"__esModule",{value:!0});Gp.createProtocolConnection=void 0;var OI=Xo();function iU(t,e,r,n){return OI.ConnectionStrategy.is(n)&&(n={connectionStrategy:n}),(0,OI.createMessageConnection)(t,e,r,n)}Gp.createProtocolConnection=iU});var $I=fe(ar=>{"use strict";var oU=ar&&ar.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,i)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),Xp=ar&&ar.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&oU(e,t,r)};Object.defineProperty(ar,"__esModule",{value:!0});ar.LSPErrorCodes=ar.createProtocolConnection=void 0;Xp(Xo(),ar);Xp((sa(),sf(Vd)),ar);Xp(ft(),ar);Xp(CI(),ar);var sU=LI();Object.defineProperty(ar,"createProtocolConnection",{enumerable:!0,get:function(){return sU.createProtocolConnection}});var DI;(function(t){t.lspReservedErrorRangeStart=-32899,t.RequestFailed=-32803,t.ServerCancelled=-32802,t.ContentModified=-32801,t.RequestCancelled=-32800,t.lspReservedErrorRangeEnd=-32800})(DI||(ar.LSPErrorCodes=DI={}))});var FI=fe(En=>{"use strict";var aU=En&&En.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,i)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),MI=En&&En.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&aU(e,t,r)};Object.defineProperty(En,"__esModule",{value:!0});En.createProtocolConnection=void 0;var cU=wT();MI(wT(),En);MI($I(),En);function lU(t,e,r,n){return(0,cU.createMessageConnection)(t,e,r,n)}En.createProtocolConnection=lU});var dk={};sn(dk,{nodeReadFile:()=>PU});async function PU(){throw new Error("nowline: filesystem readers are unavailable in the browser embed")}var pk=ZE(()=>{});var VX={};sn(VX,{EmbedRenderError:()=>Zu,__resetForTests:()=>WX,init:()=>VE,initialize:()=>HX,parse:()=>zX,render:()=>jX,run:()=>qX,sha:()=>GX,version:()=>BX});var JE="lexing-error",QE="parsing-error";function e0(t){if(!t||typeof t!="object")return!1;let e=t.code;return e===JE||e===QE}function gm(t){let e=[];for(let r of t.parseResult.lexerErrors)e.push({origin:"lexer",error:r});for(let r of t.parseResult.parserErrors)e.push({origin:"parser",error:r});for(let r of t.diagnostics??[]){let n=r;e0(n.data)||e.push({origin:"validation",diagnostic:n})}return e}var $C=/did you mean ['"]?([^'"?]+)['"]?\??/i;function ym(t){let e=t.match($C);return e?e[1].trim():void 0}function t0(t){let e=t.toLowerCase();return e.includes("duplicate identifier")?"duplicate-identifier":e.includes("unknown reference")||e.includes("did you mean")?"unknown-reference":e.includes("circular")?"circular-dependency":e.includes("requires")&&e.includes("date:")?"missing-date":e.includes("duration")?"duration":e.includes("include")?"include":e.includes("indent")?"indentation":"validation"}function r0(t){if(!t||typeof t!="object")return;let e=t;if(typeof e.code=="string"&&Array.isArray(e.args))return e.code}function xm(t){let e=r0(t.data);return e||(typeof t.code=="string"&&t.code!==""?t.code:typeof t.code=="number"?String(t.code):t0(t.message))}var ut={};sn(ut,{AbstractAstReflection:()=>eo,AbstractCstNode:()=>_l,AbstractLangiumParser:()=>El,AbstractParserErrorMessageProvider:()=>Kd,AbstractThreadedAsyncParser:()=>YT,AstUtils:()=>lf,BiMap:()=>Fo,Cancellation:()=>oe,CompositeCstNodeImpl:()=>Oo,ContextCache:()=>Uo,CstNodeBuilder:()=>Tl,CstUtils:()=>kf,DEFAULT_TOKENIZE_OPTIONS:()=>Hp,DONE_RESULT:()=>Mt,DatatypeSymbol:()=>Yd,DefaultAstNodeDescriptionProvider:()=>Fl,DefaultAstNodeLocator:()=>Bl,DefaultAsyncParser:()=>ou,DefaultCommentProvider:()=>iu,DefaultConfigurationProvider:()=>Gl,DefaultDocumentBuilder:()=>Zl,DefaultDocumentValidator:()=>Ml,DefaultHydrator:()=>au,DefaultIndexManager:()=>Jl,DefaultJsonSerializer:()=>Ll,DefaultLangiumDocumentFactory:()=>wl,DefaultLangiumDocuments:()=>Al,DefaultLangiumProfiler:()=>QT,DefaultLexer:()=>jo,DefaultLexerErrorMessageProvider:()=>eu,DefaultLinker:()=>Sl,DefaultNameProvider:()=>Il,DefaultReferenceDescriptionProvider:()=>Ul,DefaultReferences:()=>kl,DefaultScopeComputation:()=>Nl,DefaultScopeProvider:()=>Ol,DefaultServiceRegistry:()=>Dl,DefaultTokenBuilder:()=>Do,DefaultValueConverter:()=>$o,DefaultWorkspaceLock:()=>su,DefaultWorkspaceManager:()=>Ql,Deferred:()=>Jt,Disposable:()=>Bi,DisposableCache:()=>ma,DocumentCache:()=>op,DocumentState:()=>ye,DocumentValidator:()=>Ar,EMPTY_SCOPE:()=>h2,EMPTY_STREAM:()=>oi,EmptyFileSystem:()=>du,EmptyFileSystemProvider:()=>Wp,ErrorWithLocation:()=>go,GrammarAST:()=>Dc,GrammarUtils:()=>ws,IndentationAwareLexer:()=>fu,IndentationAwareTokenBuilder:()=>Ma,JSDocDocumentationProvider:()=>nu,LangiumCompletionParser:()=>Rl,LangiumParser:()=>vl,LangiumParserErrorMessageProvider:()=>ca,LeafCstNodeImpl:()=>Co,LexingMode:()=>qo,MapScope:()=>mx,Module:()=>ZT,MultiMap:()=>Bt,MultiMapScope:()=>Pl,OperationCancelled:()=>wr,ParserWorker:()=>KT,ProfilingTask:()=>Yp,Reduction:()=>us,RefResolving:()=>Mo,RegExpUtils:()=>Cf,RootCstNodeImpl:()=>aa,SimpleCache:()=>Cl,StreamImpl:()=>fr,StreamScope:()=>ha,TextDocument:()=>fa,TreeStreamImpl:()=>an,URI:()=>ht,UriTrie:()=>pa,UriUtils:()=>vt,VALIDATE_EACH_NODE:()=>uw,ValidationCategory:()=>sp,ValidationRegistry:()=>$l,ValueConverter:()=>gn,WorkspaceCache:()=>ga,assertCondition:()=>l0,assertUnreachable:()=>un,createCompletionParser:()=>nx,createDefaultCoreModule:()=>cu,createDefaultSharedCoreModule:()=>lu,createGrammarConfig:()=>lg,createLangiumParser:()=>ix,createParser:()=>bl,delayNextTick:()=>px,diagnosticData:()=>Bo,eagerLoad:()=>VI,getDiagnosticRange:()=>fw,indentationBuilderDefaultOptions:()=>JT,inject:()=>zo,interruptAndCheck:()=>pt,isAstNode:()=>dt,isAstNodeDescription:()=>Tm,isAstNodeWithComment:()=>gx,isCompositeCstNode:()=>$r,isIMultiModeLexerDefinition:()=>HT,isJSDoc:()=>WT,isLeafCstNode:()=>ii,isLinkingError:()=>to,isMultiReference:()=>ur,isNamed:()=>cw,isOperationCancelled:()=>yn,isReference:()=>St,isRootCstNode:()=>Rc,isTokenTypeArray:()=>jp,isTokenTypeDictionary:()=>XT,loadGrammarFromJson:()=>Vp,parseJSDoc:()=>qT,prepareLangiumParser:()=>Kb,setInterruptionPeriod:()=>nw,startCancelableOperation:()=>np,stream:()=>xe,toDiagnosticData:()=>dw,toDiagnosticSeverity:()=>ap});var kf={};sn(kf,{DefaultNameRegexp:()=>If,RangeComparison:()=>ln,compareRange:()=>o0,findCommentNode:()=>jm,findDeclarationNodeAtOffset:()=>oO,findLeafNodeAtOffset:()=>zm,findLeafNodeBeforeOffset:()=>s0,flattenCst:()=>iO,getDatatypeNode:()=>nO,getInteriorNodes:()=>cO,getNextNode:()=>sO,getPreviousNode:()=>c0,getStartlineNode:()=>aO,inRange:()=>Rm,isChildNode:()=>Hm,isCommentNode:()=>Xm,streamCst:()=>ho,toDocumentSegment:()=>mo,tokenToRange:()=>Es});function dt(t){return typeof t=="object"&&t!==null&&typeof t.$type=="string"}function St(t){return typeof t=="object"&&t!==null&&typeof t.$refText=="string"&&"ref"in t}function ur(t){return typeof t=="object"&&t!==null&&typeof t.$refText=="string"&&"items"in t}function Tm(t){return typeof t=="object"&&t!==null&&typeof t.name=="string"&&typeof t.type=="string"&&typeof t.path=="string"}function to(t){return typeof t=="object"&&t!==null&&typeof t.info=="object"&&typeof t.message=="string"}var eo=class{constructor(){this.subtypes={},this.allSubtypes={}}getAllTypes(){return Object.keys(this.types)}getReferenceType(e){let r=this.types[e.container.$type];if(!r)throw new Error(`Type ${e.container.$type||"undefined"} not found.`);let n=r.properties[e.property]?.referenceType;if(!n)throw new Error(`Property ${e.property||"undefined"} of type ${e.container.$type} is not a reference.`);return n}getTypeMetaData(e){let r=this.types[e];return r||{name:e,properties:{},superTypes:[]}}isInstance(e,r){return dt(e)&&this.isSubtype(e.$type,r)}isSubtype(e,r){if(e===r)return!0;let n=this.subtypes[e];n||(n=this.subtypes[e]={});let i=n[r];if(i!==void 0)return i;{let o=this.types[e],s=o?o.superTypes.some(a=>this.isSubtype(a,r)):!1;return n[r]=s,s}}getAllSubTypes(e){let r=this.allSubtypes[e];if(r)return r;{let n=this.getAllTypes(),i=[];for(let o of n)this.isSubtype(o,e)&&i.push(o);return this.allSubtypes[e]=i,i}}};function $r(t){return typeof t=="object"&&t!==null&&Array.isArray(t.content)}function ii(t){return typeof t=="object"&&t!==null&&typeof t.tokenType=="object"}function Rc(t){return $r(t)&&typeof t.fullText=="string"}var fr=class t{constructor(e,r){this.startFn=e,this.nextFn=r}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(),r=0,n=e.next();for(;!n.done;)r++,n=e.next();return r}toArray(){let e=[],r=this.iterator(),n;do n=r.next(),n.value!==void 0&&e.push(n.value);while(!n.done);return e}toSet(){return new Set(this)}toMap(e,r){let n=this.map(i=>[e?e(i):i,r?r(i):i]);return new Map(n)}toString(){return this.join()}concat(e){return new t(()=>({first:this.startFn(),firstDone:!1,iterator:e[Symbol.iterator]()}),r=>{let n;if(!r.firstDone){do if(n=this.nextFn(r.first),!n.done)return n;while(!n.done);r.firstDone=!0}do if(n=r.iterator.next(),!n.done)return n;while(!n.done);return Mt})}join(e=","){let r=this.iterator(),n="",i,o=!1;do i=r.next(),i.done||(o&&(n+=e),n+=FC(i.value)),o=!0;while(!i.done);return n}indexOf(e,r=0){let n=this.iterator(),i=0,o=n.next();for(;!o.done;){if(i>=r&&o.value===e)return i;o=n.next(),i++}return-1}every(e){let r=this.iterator(),n=r.next();for(;!n.done;){if(!e(n.value))return!1;n=r.next()}return!0}some(e){let r=this.iterator(),n=r.next();for(;!n.done;){if(e(n.value))return!0;n=r.next()}return!1}forEach(e){let r=this.iterator(),n=0,i=r.next();for(;!i.done;)e(i.value,n),i=r.next(),n++}map(e){return new t(this.startFn,r=>{let{done:n,value:i}=this.nextFn(r);return n?Mt:{done:!1,value:e(i)}})}filter(e){return new t(this.startFn,r=>{let n;do if(n=this.nextFn(r),!n.done&&e(n.value))return n;while(!n.done);return Mt})}nonNullable(){return this.filter(e=>e!=null)}reduce(e,r){let n=this.iterator(),i=r,o=n.next();for(;!o.done;)i===void 0?i=o.value:i=e(i,o.value),o=n.next();return i}reduceRight(e,r){return this.recursiveReduce(this.iterator(),e,r)}recursiveReduce(e,r,n){let i=e.next();if(i.done)return n;let o=this.recursiveReduce(e,r,n);return o===void 0?i.value:r(o,i.value)}find(e){let r=this.iterator(),n=r.next();for(;!n.done;){if(e(n.value))return n.value;n=r.next()}}findIndex(e){let r=this.iterator(),n=0,i=r.next();for(;!i.done;){if(e(i.value))return n;i=r.next(),n++}return-1}includes(e){let r=this.iterator(),n=r.next();for(;!n.done;){if(n.value===e)return!0;n=r.next()}return!1}flatMap(e){return new t(()=>({this:this.startFn()}),r=>{do{if(r.iterator){let o=r.iterator.next();if(o.done)r.iterator=void 0;else return o}let{done:n,value:i}=this.nextFn(r.this);if(!n){let o=e(i);if(af(o))r.iterator=o[Symbol.iterator]();else return{done:!1,value:o}}}while(r.iterator);return Mt})}flat(e){if(e===void 0&&(e=1),e<=0)return this;let r=e>1?this.flat(e-1):this;return new t(()=>({this:r.startFn()}),n=>{do{if(n.iterator){let s=n.iterator.next();if(s.done)n.iterator=void 0;else return s}let{done:i,value:o}=r.nextFn(n.this);if(!i)if(af(o))n.iterator=o[Symbol.iterator]();else return{done:!1,value:o}}while(n.iterator);return Mt})}head(){let r=this.iterator().next();if(!r.done)return r.value}tail(e=1){return new t(()=>{let r=this.startFn();for(let n=0;n<e;n++)if(this.nextFn(r).done)return r;return r},this.nextFn)}limit(e){return new t(()=>({size:0,state:this.startFn()}),r=>(r.size++,r.size>e?Mt:this.nextFn(r.state)))}distinct(e){return new t(()=>({set:new Set,internalState:this.startFn()}),r=>{let n;do if(n=this.nextFn(r.internalState),!n.done){let i=e?e(n.value):n.value;if(!r.set.has(i))return r.set.add(i),n}while(!n.done);return Mt})}exclude(e,r){let n=new Set;for(let i of e){let o=r?r(i):i;n.add(o)}return this.filter(i=>{let o=r?r(i):i;return!n.has(o)})}};function FC(t){return typeof t=="string"?t:typeof t>"u"?"undefined":typeof t.toString=="function"?t.toString():Object.prototype.toString.call(t)}function af(t){return!!t&&typeof t[Symbol.iterator]=="function"}var oi=new fr(()=>{},()=>Mt),Mt=Object.freeze({done:!0,value:void 0});function xe(...t){if(t.length===1){let e=t[0];if(e instanceof fr)return e;if(af(e))return new fr(()=>e[Symbol.iterator](),r=>r.next());if(typeof e.length=="number")return new fr(()=>({index:0}),r=>r.index<e.length?{done:!1,value:e[r.index++]}:Mt)}return t.length>1?new fr(()=>({collIndex:0,arrIndex:0}),e=>{do{if(e.iterator){let r=e.iterator.next();if(!r.done)return r;e.iterator=void 0}if(e.array){if(e.arrIndex<e.array.length)return{done:!1,value:e.array[e.arrIndex++]};e.array=void 0,e.arrIndex=0}if(e.collIndex<t.length){let r=t[e.collIndex++];af(r)?e.iterator=r[Symbol.iterator]():r&&typeof r.length=="number"&&(e.array=r)}}while(e.iterator||e.array||e.collIndex<t.length);return Mt}):oi}var an=class extends fr{constructor(e,r,n){super(()=>({iterators:n?.includeRoot?[[e][Symbol.iterator]()]:[r(e)[Symbol.iterator]()],pruned:!1}),i=>{for(i.pruned&&(i.iterators.pop(),i.pruned=!1);i.iterators.length>0;){let s=i.iterators[i.iterators.length-1].next();if(s.done)i.iterators.pop();else return i.iterators.push(r(s.value)[Symbol.iterator]()),s}return Mt})}iterator(){let e={state:this.startFn(),next:()=>this.nextFn(e.state),prune:()=>{e.state.pruned=!0},[Symbol.iterator]:()=>e};return e}},us;(function(t){function e(o){return o.reduce((s,a)=>s+a,0)}t.sum=e;function r(o){return o.reduce((s,a)=>s*a,0)}t.product=r;function n(o){return o.reduce((s,a)=>Math.min(s,a))}t.min=n;function i(o){return o.reduce((s,a)=>Math.max(s,a))}t.max=i})(us||(us={}));var lf={};sn(lf,{assignMandatoryProperties:()=>vm,copyAstNode:()=>Em,findRootNode:()=>ds,getContainerOfType:()=>Nn,getDocument:()=>Ft,getReferenceNodes:()=>cf,hasContainerOfType:()=>UC,linkContentToContainer:()=>fs,streamAllContents:()=>Mr,streamAst:()=>zt,streamContents:()=>bc,streamReferences:()=>si});function fs(t,e={}){for(let[r,n]of Object.entries(t))r.startsWith("$")||(Array.isArray(n)?n.forEach((i,o)=>{dt(i)&&(i.$container=t,i.$containerProperty=r,i.$containerIndex=o,e.deep&&fs(i,e))}):dt(n)&&(n.$container=t,n.$containerProperty=r,e.deep&&fs(n,e)))}function Nn(t,e){let r=t;for(;r;){if(e(r))return r;r=r.$container}}function UC(t,e){let r=t;for(;r;){if(e(r))return!0;r=r.$container}return!1}function Ft(t){let r=ds(t).$document;if(!r)throw new Error("AST node has no document.");return r}function ds(t){for(;t.$container;)t=t.$container;return t}function cf(t){return St(t)?t.ref?[t.ref]:[]:ur(t)?t.items.map(e=>e.ref):[]}function bc(t,e){if(!t)throw new Error("Node must be an AstNode.");let r=e?.range;return new fr(()=>({keys:Object.keys(t),keyIndex:0,arrayIndex:0}),n=>{for(;n.keyIndex<n.keys.length;){let i=n.keys[n.keyIndex];if(!i.startsWith("$")){let o=t[i];if(dt(o)){if(n.keyIndex++,_m(o,r))return{done:!1,value:o}}else if(Array.isArray(o)){for(;n.arrayIndex<o.length;){let s=n.arrayIndex++,a=o[s];if(dt(a)&&_m(a,r))return{done:!1,value:a}}n.arrayIndex=0}}n.keyIndex++}return Mt})}function Mr(t,e){if(!t)throw new Error("Root node must be an AstNode.");return new an(t,r=>bc(r,e))}function zt(t,e){if(t){if(e?.range&&!_m(t,e.range))return new an(t,()=>[])}else throw new Error("Root node must be an AstNode.");return new an(t,r=>bc(r,e),{includeRoot:!0})}function _m(t,e){if(!e)return!0;let r=t.$cstNode?.range;return r?Rm(r,e):!1}function si(t){return new fr(()=>({keys:Object.keys(t),keyIndex:0,arrayIndex:0}),e=>{for(;e.keyIndex<e.keys.length;){let r=e.keys[e.keyIndex];if(!r.startsWith("$")){let n=t[r];if(St(n)||ur(n))return e.keyIndex++,{done:!1,value:{reference:n,container:t,property:r}};if(Array.isArray(n)){for(;e.arrayIndex<n.length;){let i=e.arrayIndex++,o=n[i];if(St(o)||ur(n))return{done:!1,value:{reference:o,container:t,property:r,index:i}}}e.arrayIndex=0}}e.keyIndex++}return Mt})}function vm(t,e){let r=t.getTypeMetaData(e.$type),n=e;for(let i of Object.values(r.properties))i.defaultValue!==void 0&&n[i.name]===void 0&&(n[i.name]=n0(i.defaultValue))}function n0(t){return Array.isArray(t)?[...t.map(n0)]:t}function Em(t,e,r){let n={$type:t.$type};r&&(r.set(t,n),r.set(n,t));for(let[i,o]of Object.entries(t))if(!i.startsWith("$"))if(dt(o))n[i]=Em(o,e,r);else if(St(o))n[i]=e(n,i,o.$refNode,o.$refText,o);else if(Array.isArray(o)){let s=[];for(let a of o)dt(a)?s.push(Em(a,e,r)):St(a)?s.push(e(n,i,a.$refNode,a.$refText,a)):s.push(a);n[i]=s}else n[i]=o;return fs(n,{deep:!0}),n}var Dc={};sn(Dc,{AbstractElement:()=>tr,AbstractParserRule:()=>wc,AbstractRule:()=>ps,AbstractType:()=>dr,Action:()=>ai,Alternatives:()=>Ac,ArrayLiteral:()=>uf,ArrayType:()=>ff,Assignment:()=>ci,BooleanLiteral:()=>df,CharacterRange:()=>li,Condition:()=>ui,Conjunction:()=>Sc,CrossReference:()=>fi,Disjunction:()=>Ic,EndOfFile:()=>pf,Grammar:()=>Pn,GrammarImport:()=>hf,Group:()=>ro,InferredType:()=>mf,InfixRule:()=>cn,InfixRuleOperatorList:()=>kc,InfixRuleOperators:()=>gf,Interface:()=>hs,Keyword:()=>ms,LangiumGrammarAstReflection:()=>_s,LangiumGrammarTerminals:()=>BC,NamedArgument:()=>gs,NegatedToken:()=>no,Negation:()=>yf,NumberLiteral:()=>xf,Parameter:()=>ys,ParameterReference:()=>Tf,ParserRule:()=>Fr,ReferenceType:()=>Nc,RegexToken:()=>io,ReturnType:()=>_f,RuleCall:()=>oo,SimpleType:()=>xs,StringLiteral:()=>Ef,TerminalAlternatives:()=>so,TerminalElement:()=>rr,TerminalGroup:()=>ao,TerminalRule:()=>Cn,TerminalRuleCall:()=>co,Type:()=>Pc,TypeAttribute:()=>lo,TypeDefinition:()=>uo,UnionType:()=>vf,UnorderedGroup:()=>Cc,UntilToken:()=>fo,ValueLiteral:()=>po,Wildcard:()=>Ts,isAbstractElement:()=>Oc,isAbstractParserRule:()=>On,isAbstractRule:()=>GC,isAbstractType:()=>XC,isAction:()=>Ln,isAlternatives:()=>Rf,isArrayLiteral:()=>HC,isArrayType:()=>bm,isAssignment:()=>Ur,isBooleanLiteral:()=>wm,isCharacterRange:()=>Am,isCondition:()=>jC,isConjunction:()=>Sm,isCrossReference:()=>Br,isDisjunction:()=>Im,isEndOfFile:()=>km,isGrammar:()=>zC,isGrammarImport:()=>qC,isGroup:()=>di,isInferredType:()=>Lc,isInfixRule:()=>pi,isInfixRuleOperatorList:()=>WC,isInfixRuleOperators:()=>VC,isInterface:()=>Nm,isKeyword:()=>Rr,isNamedArgument:()=>YC,isNegatedToken:()=>Pm,isNegation:()=>Cm,isNumberLiteral:()=>KC,isParameter:()=>ZC,isParameterReference:()=>Om,isParserRule:()=>Nt,isReferenceType:()=>Lm,isRegexToken:()=>Dm,isReturnType:()=>$m,isRuleCall:()=>Gr,isSimpleType:()=>bf,isStringLiteral:()=>JC,isTerminalAlternatives:()=>Mm,isTerminalElement:()=>QC,isTerminalGroup:()=>Fm,isTerminalRule:()=>qt,isTerminalRuleCall:()=>wf,isType:()=>Af,isTypeAttribute:()=>eO,isTypeDefinition:()=>tO,isUnionType:()=>Um,isUnorderedGroup:()=>Sf,isUntilToken:()=>Bm,isValueLiteral:()=>rO,isWildcard:()=>Gm,reflection:()=>ie});var BC={ID:/\^?[_a-zA-Z][\w_]*/,STRING:/"(\\.|[^"\\])*"|'(\\.|[^'\\])*'/,NUMBER:/NaN|-?((\d*\.\d+|\d+)([Ee][+-]?\d+)?|Infinity)/,RegexLiteral:/\/(?![*+?])(?:[^\r\n\[/\\]|\\.|\[(?:[^\r\n\]\\]|\\.)*\])+\/[a-z]*/,WS:/\s+/,ML_COMMENT:/\/\*[\s\S]*?\*\//,SL_COMMENT:/\/\/[^\n\r]*/},tr={$type:"AbstractElement",cardinality:"cardinality"};function Oc(t){return ie.isInstance(t,tr.$type)}var wc={$type:"AbstractParserRule"};function On(t){return ie.isInstance(t,wc.$type)}var ps={$type:"AbstractRule"};function GC(t){return ie.isInstance(t,ps.$type)}var dr={$type:"AbstractType"};function XC(t){return ie.isInstance(t,dr.$type)}var ai={$type:"Action",cardinality:"cardinality",feature:"feature",inferredType:"inferredType",operator:"operator",type:"type"};function Ln(t){return ie.isInstance(t,ai.$type)}var Ac={$type:"Alternatives",cardinality:"cardinality",elements:"elements"};function Rf(t){return ie.isInstance(t,Ac.$type)}var uf={$type:"ArrayLiteral",elements:"elements"};function HC(t){return ie.isInstance(t,uf.$type)}var ff={$type:"ArrayType",elementType:"elementType"};function bm(t){return ie.isInstance(t,ff.$type)}var ci={$type:"Assignment",cardinality:"cardinality",feature:"feature",operator:"operator",predicate:"predicate",terminal:"terminal"};function Ur(t){return ie.isInstance(t,ci.$type)}var df={$type:"BooleanLiteral",true:"true"};function wm(t){return ie.isInstance(t,df.$type)}var li={$type:"CharacterRange",cardinality:"cardinality",left:"left",lookahead:"lookahead",parenthesized:"parenthesized",right:"right"};function Am(t){return ie.isInstance(t,li.$type)}var ui={$type:"Condition"};function jC(t){return ie.isInstance(t,ui.$type)}var Sc={$type:"Conjunction",left:"left",right:"right"};function Sm(t){return ie.isInstance(t,Sc.$type)}var fi={$type:"CrossReference",cardinality:"cardinality",deprecatedSyntax:"deprecatedSyntax",isMulti:"isMulti",terminal:"terminal",type:"type"};function Br(t){return ie.isInstance(t,fi.$type)}var Ic={$type:"Disjunction",left:"left",right:"right"};function Im(t){return ie.isInstance(t,Ic.$type)}var pf={$type:"EndOfFile",cardinality:"cardinality"};function km(t){return ie.isInstance(t,pf.$type)}var Pn={$type:"Grammar",imports:"imports",interfaces:"interfaces",isDeclared:"isDeclared",name:"name",rules:"rules",types:"types"};function zC(t){return ie.isInstance(t,Pn.$type)}var hf={$type:"GrammarImport",path:"path"};function qC(t){return ie.isInstance(t,hf.$type)}var ro={$type:"Group",cardinality:"cardinality",elements:"elements",guardCondition:"guardCondition",predicate:"predicate"};function di(t){return ie.isInstance(t,ro.$type)}var mf={$type:"InferredType",name:"name"};function Lc(t){return ie.isInstance(t,mf.$type)}var cn={$type:"InfixRule",call:"call",dataType:"dataType",inferredType:"inferredType",name:"name",operators:"operators",parameters:"parameters",returnType:"returnType"};function pi(t){return ie.isInstance(t,cn.$type)}var kc={$type:"InfixRuleOperatorList",associativity:"associativity",operators:"operators"};function WC(t){return ie.isInstance(t,kc.$type)}var gf={$type:"InfixRuleOperators",precedences:"precedences"};function VC(t){return ie.isInstance(t,gf.$type)}var hs={$type:"Interface",attributes:"attributes",name:"name",superTypes:"superTypes"};function Nm(t){return ie.isInstance(t,hs.$type)}var ms={$type:"Keyword",cardinality:"cardinality",predicate:"predicate",value:"value"};function Rr(t){return ie.isInstance(t,ms.$type)}var gs={$type:"NamedArgument",calledByName:"calledByName",parameter:"parameter",value:"value"};function YC(t){return ie.isInstance(t,gs.$type)}var no={$type:"NegatedToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",terminal:"terminal"};function Pm(t){return ie.isInstance(t,no.$type)}var yf={$type:"Negation",value:"value"};function Cm(t){return ie.isInstance(t,yf.$type)}var xf={$type:"NumberLiteral",value:"value"};function KC(t){return ie.isInstance(t,xf.$type)}var ys={$type:"Parameter",name:"name"};function ZC(t){return ie.isInstance(t,ys.$type)}var Tf={$type:"ParameterReference",parameter:"parameter"};function Om(t){return ie.isInstance(t,Tf.$type)}var Fr={$type:"ParserRule",dataType:"dataType",definition:"definition",entry:"entry",fragment:"fragment",inferredType:"inferredType",name:"name",parameters:"parameters",returnType:"returnType"};function Nt(t){return ie.isInstance(t,Fr.$type)}var Nc={$type:"ReferenceType",isMulti:"isMulti",referenceType:"referenceType"};function Lm(t){return ie.isInstance(t,Nc.$type)}var io={$type:"RegexToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",regex:"regex"};function Dm(t){return ie.isInstance(t,io.$type)}var _f={$type:"ReturnType",name:"name"};function $m(t){return ie.isInstance(t,_f.$type)}var oo={$type:"RuleCall",arguments:"arguments",cardinality:"cardinality",predicate:"predicate",rule:"rule"};function Gr(t){return ie.isInstance(t,oo.$type)}var xs={$type:"SimpleType",primitiveType:"primitiveType",stringType:"stringType",typeRef:"typeRef"};function bf(t){return ie.isInstance(t,xs.$type)}var Ef={$type:"StringLiteral",value:"value"};function JC(t){return ie.isInstance(t,Ef.$type)}var so={$type:"TerminalAlternatives",cardinality:"cardinality",elements:"elements",lookahead:"lookahead",parenthesized:"parenthesized"};function Mm(t){return ie.isInstance(t,so.$type)}var rr={$type:"TerminalElement",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized"};function QC(t){return ie.isInstance(t,rr.$type)}var ao={$type:"TerminalGroup",cardinality:"cardinality",elements:"elements",lookahead:"lookahead",parenthesized:"parenthesized"};function Fm(t){return ie.isInstance(t,ao.$type)}var Cn={$type:"TerminalRule",definition:"definition",fragment:"fragment",hidden:"hidden",name:"name",type:"type"};function qt(t){return ie.isInstance(t,Cn.$type)}var co={$type:"TerminalRuleCall",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",rule:"rule"};function wf(t){return ie.isInstance(t,co.$type)}var Pc={$type:"Type",name:"name",type:"type"};function Af(t){return ie.isInstance(t,Pc.$type)}var lo={$type:"TypeAttribute",defaultValue:"defaultValue",isOptional:"isOptional",name:"name",type:"type"};function eO(t){return ie.isInstance(t,lo.$type)}var uo={$type:"TypeDefinition"};function tO(t){return ie.isInstance(t,uo.$type)}var vf={$type:"UnionType",types:"types"};function Um(t){return ie.isInstance(t,vf.$type)}var Cc={$type:"UnorderedGroup",cardinality:"cardinality",elements:"elements"};function Sf(t){return ie.isInstance(t,Cc.$type)}var fo={$type:"UntilToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",terminal:"terminal"};function Bm(t){return ie.isInstance(t,fo.$type)}var po={$type:"ValueLiteral"};function rO(t){return ie.isInstance(t,po.$type)}var Ts={$type:"Wildcard",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized"};function Gm(t){return ie.isInstance(t,Ts.$type)}var _s=class extends eo{constructor(){super(...arguments),this.types={AbstractElement:{name:tr.$type,properties:{cardinality:{name:tr.cardinality}},superTypes:[]},AbstractParserRule:{name:wc.$type,properties:{},superTypes:[ps.$type,dr.$type]},AbstractRule:{name:ps.$type,properties:{},superTypes:[]},AbstractType:{name:dr.$type,properties:{},superTypes:[]},Action:{name:ai.$type,properties:{cardinality:{name:ai.cardinality},feature:{name:ai.feature},inferredType:{name:ai.inferredType},operator:{name:ai.operator},type:{name:ai.type,referenceType:dr.$type}},superTypes:[tr.$type]},Alternatives:{name:Ac.$type,properties:{cardinality:{name:Ac.cardinality},elements:{name:Ac.elements,defaultValue:[]}},superTypes:[tr.$type]},ArrayLiteral:{name:uf.$type,properties:{elements:{name:uf.elements,defaultValue:[]}},superTypes:[po.$type]},ArrayType:{name:ff.$type,properties:{elementType:{name:ff.elementType}},superTypes:[uo.$type]},Assignment:{name:ci.$type,properties:{cardinality:{name:ci.cardinality},feature:{name:ci.feature},operator:{name:ci.operator},predicate:{name:ci.predicate},terminal:{name:ci.terminal}},superTypes:[tr.$type]},BooleanLiteral:{name:df.$type,properties:{true:{name:df.true,defaultValue:!1}},superTypes:[ui.$type,po.$type]},CharacterRange:{name:li.$type,properties:{cardinality:{name:li.cardinality},left:{name:li.left},lookahead:{name:li.lookahead},parenthesized:{name:li.parenthesized,defaultValue:!1},right:{name:li.right}},superTypes:[rr.$type]},Condition:{name:ui.$type,properties:{},superTypes:[]},Conjunction:{name:Sc.$type,properties:{left:{name:Sc.left},right:{name:Sc.right}},superTypes:[ui.$type]},CrossReference:{name:fi.$type,properties:{cardinality:{name:fi.cardinality},deprecatedSyntax:{name:fi.deprecatedSyntax,defaultValue:!1},isMulti:{name:fi.isMulti,defaultValue:!1},terminal:{name:fi.terminal},type:{name:fi.type,referenceType:dr.$type}},superTypes:[tr.$type]},Disjunction:{name:Ic.$type,properties:{left:{name:Ic.left},right:{name:Ic.right}},superTypes:[ui.$type]},EndOfFile:{name:pf.$type,properties:{cardinality:{name:pf.cardinality}},superTypes:[tr.$type]},Grammar:{name:Pn.$type,properties:{imports:{name:Pn.imports,defaultValue:[]},interfaces:{name:Pn.interfaces,defaultValue:[]},isDeclared:{name:Pn.isDeclared,defaultValue:!1},name:{name:Pn.name},rules:{name:Pn.rules,defaultValue:[]},types:{name:Pn.types,defaultValue:[]}},superTypes:[]},GrammarImport:{name:hf.$type,properties:{path:{name:hf.path}},superTypes:[]},Group:{name:ro.$type,properties:{cardinality:{name:ro.cardinality},elements:{name:ro.elements,defaultValue:[]},guardCondition:{name:ro.guardCondition},predicate:{name:ro.predicate}},superTypes:[tr.$type]},InferredType:{name:mf.$type,properties:{name:{name:mf.name}},superTypes:[dr.$type]},InfixRule:{name:cn.$type,properties:{call:{name:cn.call},dataType:{name:cn.dataType},inferredType:{name:cn.inferredType},name:{name:cn.name},operators:{name:cn.operators},parameters:{name:cn.parameters,defaultValue:[]},returnType:{name:cn.returnType,referenceType:dr.$type}},superTypes:[wc.$type]},InfixRuleOperatorList:{name:kc.$type,properties:{associativity:{name:kc.associativity},operators:{name:kc.operators,defaultValue:[]}},superTypes:[]},InfixRuleOperators:{name:gf.$type,properties:{precedences:{name:gf.precedences,defaultValue:[]}},superTypes:[]},Interface:{name:hs.$type,properties:{attributes:{name:hs.attributes,defaultValue:[]},name:{name:hs.name},superTypes:{name:hs.superTypes,defaultValue:[],referenceType:dr.$type}},superTypes:[dr.$type]},Keyword:{name:ms.$type,properties:{cardinality:{name:ms.cardinality},predicate:{name:ms.predicate},value:{name:ms.value}},superTypes:[tr.$type]},NamedArgument:{name:gs.$type,properties:{calledByName:{name:gs.calledByName,defaultValue:!1},parameter:{name:gs.parameter,referenceType:ys.$type},value:{name:gs.value}},superTypes:[]},NegatedToken:{name:no.$type,properties:{cardinality:{name:no.cardinality},lookahead:{name:no.lookahead},parenthesized:{name:no.parenthesized,defaultValue:!1},terminal:{name:no.terminal}},superTypes:[rr.$type]},Negation:{name:yf.$type,properties:{value:{name:yf.value}},superTypes:[ui.$type]},NumberLiteral:{name:xf.$type,properties:{value:{name:xf.value}},superTypes:[po.$type]},Parameter:{name:ys.$type,properties:{name:{name:ys.name}},superTypes:[]},ParameterReference:{name:Tf.$type,properties:{parameter:{name:Tf.parameter,referenceType:ys.$type}},superTypes:[ui.$type]},ParserRule:{name:Fr.$type,properties:{dataType:{name:Fr.dataType},definition:{name:Fr.definition},entry:{name:Fr.entry,defaultValue:!1},fragment:{name:Fr.fragment,defaultValue:!1},inferredType:{name:Fr.inferredType},name:{name:Fr.name},parameters:{name:Fr.parameters,defaultValue:[]},returnType:{name:Fr.returnType,referenceType:dr.$type}},superTypes:[wc.$type]},ReferenceType:{name:Nc.$type,properties:{isMulti:{name:Nc.isMulti,defaultValue:!1},referenceType:{name:Nc.referenceType}},superTypes:[uo.$type]},RegexToken:{name:io.$type,properties:{cardinality:{name:io.cardinality},lookahead:{name:io.lookahead},parenthesized:{name:io.parenthesized,defaultValue:!1},regex:{name:io.regex}},superTypes:[rr.$type]},ReturnType:{name:_f.$type,properties:{name:{name:_f.name}},superTypes:[]},RuleCall:{name:oo.$type,properties:{arguments:{name:oo.arguments,defaultValue:[]},cardinality:{name:oo.cardinality},predicate:{name:oo.predicate},rule:{name:oo.rule,referenceType:ps.$type}},superTypes:[tr.$type]},SimpleType:{name:xs.$type,properties:{primitiveType:{name:xs.primitiveType},stringType:{name:xs.stringType},typeRef:{name:xs.typeRef,referenceType:dr.$type}},superTypes:[uo.$type]},StringLiteral:{name:Ef.$type,properties:{value:{name:Ef.value}},superTypes:[po.$type]},TerminalAlternatives:{name:so.$type,properties:{cardinality:{name:so.cardinality},elements:{name:so.elements,defaultValue:[]},lookahead:{name:so.lookahead},parenthesized:{name:so.parenthesized,defaultValue:!1}},superTypes:[rr.$type]},TerminalElement:{name:rr.$type,properties:{cardinality:{name:rr.cardinality},lookahead:{name:rr.lookahead},parenthesized:{name:rr.parenthesized,defaultValue:!1}},superTypes:[tr.$type]},TerminalGroup:{name:ao.$type,properties:{cardinality:{name:ao.cardinality},elements:{name:ao.elements,defaultValue:[]},lookahead:{name:ao.lookahead},parenthesized:{name:ao.parenthesized,defaultValue:!1}},superTypes:[rr.$type]},TerminalRule:{name:Cn.$type,properties:{definition:{name:Cn.definition},fragment:{name:Cn.fragment,defaultValue:!1},hidden:{name:Cn.hidden,defaultValue:!1},name:{name:Cn.name},type:{name:Cn.type}},superTypes:[ps.$type]},TerminalRuleCall:{name:co.$type,properties:{cardinality:{name:co.cardinality},lookahead:{name:co.lookahead},parenthesized:{name:co.parenthesized,defaultValue:!1},rule:{name:co.rule,referenceType:Cn.$type}},superTypes:[rr.$type]},Type:{name:Pc.$type,properties:{name:{name:Pc.name},type:{name:Pc.type}},superTypes:[dr.$type]},TypeAttribute:{name:lo.$type,properties:{defaultValue:{name:lo.defaultValue},isOptional:{name:lo.isOptional,defaultValue:!1},name:{name:lo.name},type:{name:lo.type}},superTypes:[]},TypeDefinition:{name:uo.$type,properties:{},superTypes:[]},UnionType:{name:vf.$type,properties:{types:{name:vf.types,defaultValue:[]}},superTypes:[uo.$type]},UnorderedGroup:{name:Cc.$type,properties:{cardinality:{name:Cc.cardinality},elements:{name:Cc.elements,defaultValue:[]}},superTypes:[tr.$type]},UntilToken:{name:fo.$type,properties:{cardinality:{name:fo.cardinality},lookahead:{name:fo.lookahead},parenthesized:{name:fo.parenthesized,defaultValue:!1},terminal:{name:fo.terminal}},superTypes:[rr.$type]},ValueLiteral:{name:po.$type,properties:{},superTypes:[]},Wildcard:{name:Ts.$type,properties:{cardinality:{name:Ts.cardinality},lookahead:{name:Ts.lookahead},parenthesized:{name:Ts.parenthesized,defaultValue:!1}},superTypes:[rr.$type]}}}},ie=new _s;function nO(t){let e=t,r=!1;for(;e;){let n=Nn(e.grammarSource,Nt);if(n&&n.dataType)e=e.container,r=!0;else return r?e:void 0}}function ho(t){return new an(t,e=>$r(e)?e.content:[],{includeRoot:!0})}function iO(t){return ho(t).filter(ii)}function Hm(t,e){for(;t.container;)if(t=t.container,t===e)return!0;return!1}function Es(t){return{start:{character:t.startColumn-1,line:t.startLine-1},end:{character:t.endColumn,line:t.endLine-1}}}function mo(t){if(!t)return;let{offset:e,end:r,range:n}=t;return{range:n,offset:e,end:r,length:r-e}}var ln;(function(t){t[t.Before=0]="Before",t[t.After=1]="After",t[t.OverlapFront=2]="OverlapFront",t[t.OverlapBack=3]="OverlapBack",t[t.Inside=4]="Inside",t[t.Outside=5]="Outside"})(ln||(ln={}));function o0(t,e){if(t.end.line<e.start.line||t.end.line===e.start.line&&t.end.character<=e.start.character)return ln.Before;if(t.start.line>e.end.line||t.start.line===e.end.line&&t.start.character>=e.end.character)return ln.After;let r=t.start.line>e.start.line||t.start.line===e.start.line&&t.start.character>=e.start.character,n=t.end.line<e.end.line||t.end.line===e.end.line&&t.end.character<=e.end.character;return r&&n?ln.Inside:r?ln.OverlapBack:n?ln.OverlapFront:ln.Outside}function Rm(t,e){return o0(t,e)>ln.After}var If=/^[\w\p{L}]$/u;function oO(t,e,r=If){if(t){if(e>0){let n=e-t.offset,i=t.text.charAt(n);r.test(i)||e--}return zm(t,e)}}function jm(t,e){if(t){let r=c0(t,!0);if(r&&Xm(r,e))return r;if(Rc(t)){let n=t.content.findIndex(i=>!i.hidden);for(let i=n-1;i>=0;i--){let o=t.content[i];if(Xm(o,e))return o}}}}function Xm(t,e){return ii(t)&&e.includes(t.tokenType.name)}function zm(t,e){if(ii(t))return t;if($r(t)){let r=a0(t,e,!1);if(r)return zm(r,e)}}function s0(t,e){if(ii(t))return t;if($r(t)){let r=a0(t,e,!0);if(r)return s0(r,e)}}function a0(t,e,r){let n=0,i=t.content.length-1,o;for(;n<=i;){let s=Math.floor((n+i)/2),a=t.content[s];if(a.offset<=e&&a.end>e)return a;a.end<=e?(o=r?a:void 0,n=s+1):i=s-1}return o}function c0(t,e=!0){for(;t.container;){let r=t.container,n=r.content.indexOf(t);for(;n>0;){n--;let i=r.content[n];if(e||!i.hidden)return i}t=r}}function sO(t,e=!0){for(;t.container;){let r=t.container,n=r.content.indexOf(t),i=r.content.length-1;for(;n<i;){n++;let o=r.content[n];if(e||!o.hidden)return o}t=r}}function aO(t){if(t.range.start.character===0)return t;let e=t.range.start.line,r=t,n;for(;t.container;){let i=t.container,o=n??i.content.indexOf(t);if(o===0?(t=i,n=void 0):(n=o-1,t=i.content[n]),t.range.start.line!==e)break;r=t}return r}function cO(t,e){let r=lO(t,e);return r?r.parent.content.slice(r.a+1,r.b):[]}function lO(t,e){let r=i0(t),n=i0(e),i;for(let o=0;o<r.length&&o<n.length;o++){let s=r[o],a=n[o];if(s.parent===a.parent)i={parent:s.parent,a:s.index,b:a.index};else break}return i}function i0(t){let e=[];for(;t.container;){let r=t.container,n=r.content.indexOf(t);e.push({parent:r,index:n}),t=r}return e.reverse()}var ws={};sn(ws,{findAssignment:()=>sg,findNameAssignment:()=>Of,findNodeForKeyword:()=>ig,findNodeForProperty:()=>Gc,findNodesForKeyword:()=>hO,findNodesForKeywordInternal:()=>og,findNodesForProperty:()=>rg,getActionAtElement:()=>y0,getActionType:()=>T0,getAllReachableRules:()=>Bc,getAllRulesUsedForCrossReferences:()=>pO,getCrossReferenceTerminal:()=>eg,getEntryRule:()=>p0,getExplicitRuleType:()=>Lf,getHiddenRules:()=>h0,getRuleType:()=>ag,getRuleTypeName:()=>TO,getTypeName:()=>mi,isArrayCardinality:()=>gO,isArrayOperator:()=>yO,isCommentTerminal:()=>tg,isDataType:()=>xO,isDataTypeRule:()=>Xc,isOptionalCardinality:()=>mO,terminalRegex:()=>Rs});var go=class extends Error{constructor(e,r){super(e?`${r} at ${e.range.start.line}:${e.range.start.character}`:r)}};function un(t,e="Error: Got unexpected value."){throw new Error(e)}function l0(t,e="Error: Condition is violated."){if(!t)throw new Error(e)}var Cf={};sn(Cf,{NEWLINE_REGEXP:()=>Ym,escapeRegExp:()=>hi,getTerminalParts:()=>dO,isMultilineComment:()=>Km,isWhitespace:()=>Uc,partialMatches:()=>Zm,partialRegExp:()=>d0,whitespaceCharacters:()=>f0});function se(t){return t.charCodeAt(0)}function Nf(t,e){Array.isArray(t)?t.forEach(function(r){e.push(r)}):e.push(t)}function vs(t,e){if(t[e]===!0)throw"duplicate flag "+e;let r=t[e];t[e]=!0}function yo(t){if(t===void 0)throw Error("Internal Error - Should never get here!");return!0}function $c(){throw Error("Internal Error - Should never get here!")}function qm(t){return t.type==="Character"}var Mc=[];for(let t=se("0");t<=se("9");t++)Mc.push(t);var Fc=[se("_")].concat(Mc);for(let t=se("a");t<=se("z");t++)Fc.push(t);for(let t=se("A");t<=se("Z");t++)Fc.push(t);var Wm=[se(" "),se("\f"),se(`
|
|
37
|
+
`),se("\r"),se(" "),se("\v"),se(" "),se("\xA0"),se("\u1680"),se("\u2000"),se("\u2001"),se("\u2002"),se("\u2003"),se("\u2004"),se("\u2005"),se("\u2006"),se("\u2007"),se("\u2008"),se("\u2009"),se("\u200A"),se("\u2028"),se("\u2029"),se("\u202F"),se("\u205F"),se("\u3000"),se("\uFEFF")];var uO=/[0-9a-fA-F]/,Pf=/[0-9]/,fO=/[1-9]/,xo=class{constructor(){this.idx=0,this.input="",this.groupIdx=0}saveState(){return{idx:this.idx,input:this.input,groupIdx:this.groupIdx}}restoreState(e){this.idx=e.idx,this.input=e.input,this.groupIdx=e.groupIdx}pattern(e){this.idx=0,this.input=e,this.groupIdx=0,this.consumeChar("/");let r=this.disjunction();this.consumeChar("/");let n={type:"Flags",loc:{begin:this.idx,end:e.length},global:!1,ignoreCase:!1,multiLine:!1,unicode:!1,sticky:!1};for(;this.isRegExpFlag();)switch(this.popChar()){case"g":vs(n,"global");break;case"i":vs(n,"ignoreCase");break;case"m":vs(n,"multiLine");break;case"u":vs(n,"unicode");break;case"y":vs(n,"sticky");break}if(this.idx!==this.input.length)throw Error("Redundant input: "+this.input.substring(this.idx));return{type:"Pattern",flags:n,value:r,loc:this.loc(0)}}disjunction(){let e=[],r=this.idx;for(e.push(this.alternative());this.peekChar()==="|";)this.consumeChar("|"),e.push(this.alternative());return{type:"Disjunction",value:e,loc:this.loc(r)}}alternative(){let e=[],r=this.idx;for(;this.isTerm();)e.push(this.term());return{type:"Alternative",value:e,loc:this.loc(r)}}term(){return this.isAssertion()?this.assertion():this.atom()}assertion(){let e=this.idx;switch(this.popChar()){case"^":return{type:"StartAnchor",loc:this.loc(e)};case"$":return{type:"EndAnchor",loc:this.loc(e)};case"\\":switch(this.popChar()){case"b":return{type:"WordBoundary",loc:this.loc(e)};case"B":return{type:"NonWordBoundary",loc:this.loc(e)}}throw Error("Invalid Assertion Escape");case"(":this.consumeChar("?");let r;switch(this.popChar()){case"=":r="Lookahead";break;case"!":r="NegativeLookahead";break;case"<":{switch(this.popChar()){case"=":r="Lookbehind";break;case"!":r="NegativeLookbehind"}break}}yo(r);let n=this.disjunction();return this.consumeChar(")"),{type:r,value:n,loc:this.loc(e)}}return $c()}quantifier(e=!1){let r,n=this.idx;switch(this.popChar()){case"*":r={atLeast:0,atMost:1/0};break;case"+":r={atLeast:1,atMost:1/0};break;case"?":r={atLeast:0,atMost:1};break;case"{":let i=this.integerIncludingZero();switch(this.popChar()){case"}":r={atLeast:i,atMost:i};break;case",":let o;this.isDigit()?(o=this.integerIncludingZero(),r={atLeast:i,atMost:o}):r={atLeast:i,atMost:1/0},this.consumeChar("}");break}if(e===!0&&r===void 0)return;yo(r);break}if(!(e===!0&&r===void 0)&&yo(r))return this.peekChar(0)==="?"?(this.consumeChar("?"),r.greedy=!1):r.greedy=!0,r.type="Quantifier",r.loc=this.loc(n),r}atom(){let e,r=this.idx;switch(this.peekChar()){case".":e=this.dotAll();break;case"\\":e=this.atomEscape();break;case"[":e=this.characterClass();break;case"(":e=this.group();break}return e===void 0&&this.isPatternCharacter()&&(e=this.patternCharacter()),yo(e)?(e.loc=this.loc(r),this.isQuantifier()&&(e.quantifier=this.quantifier()),e):$c()}dotAll(){return this.consumeChar("."),{type:"Set",complement:!0,value:[se(`
|
|
38
|
+
`),se("\r"),se("\u2028"),se("\u2029")]}}atomEscape(){switch(this.consumeChar("\\"),this.peekChar()){case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":return this.decimalEscapeAtom();case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}decimalEscapeAtom(){return{type:"GroupBackReference",value:this.positiveInteger()}}characterClassEscape(){let e,r=!1;switch(this.popChar()){case"d":e=Mc;break;case"D":e=Mc,r=!0;break;case"s":e=Wm;break;case"S":e=Wm,r=!0;break;case"w":e=Fc;break;case"W":e=Fc,r=!0;break}return yo(e)?{type:"Set",value:e,complement:r}:$c()}controlEscapeAtom(){let e;switch(this.popChar()){case"f":e=se("\f");break;case"n":e=se(`
|
|
39
|
+
`);break;case"r":e=se("\r");break;case"t":e=se(" ");break;case"v":e=se("\v");break}return yo(e)?{type:"Character",value:e}:$c()}controlLetterEscapeAtom(){this.consumeChar("c");let e=this.popChar();if(/[a-zA-Z]/.test(e)===!1)throw Error("Invalid ");return{type:"Character",value:e.toUpperCase().charCodeAt(0)-64}}nulCharacterAtom(){return this.consumeChar("0"),{type:"Character",value:se("\0")}}hexEscapeSequenceAtom(){return this.consumeChar("x"),this.parseHexDigits(2)}regExpUnicodeEscapeSequenceAtom(){return this.consumeChar("u"),this.parseHexDigits(4)}identityEscapeAtom(){let e=this.popChar();return{type:"Character",value:se(e)}}classPatternCharacterAtom(){switch(this.peekChar()){case`
|
|
40
|
+
`:case"\r":case"\u2028":case"\u2029":case"\\":case"]":throw Error("TBD");default:let e=this.popChar();return{type:"Character",value:se(e)}}}characterClass(){let e=[],r=!1;for(this.consumeChar("["),this.peekChar(0)==="^"&&(this.consumeChar("^"),r=!0);this.isClassAtom();){let n=this.classAtom(),i=n.type==="Character";if(qm(n)&&this.isRangeDash()){this.consumeChar("-");let o=this.classAtom(),s=o.type==="Character";if(qm(o)){if(o.value<n.value)throw Error("Range out of order in character class");e.push({from:n.value,to:o.value})}else Nf(n.value,e),e.push(se("-")),Nf(o.value,e)}else Nf(n.value,e)}return this.consumeChar("]"),{type:"Set",complement:r,value:e}}classAtom(){switch(this.peekChar()){case"]":case`
|
|
41
|
+
`:case"\r":case"\u2028":case"\u2029":throw Error("TBD");case"\\":return this.classEscape();default:return this.classPatternCharacterAtom()}}classEscape(){switch(this.consumeChar("\\"),this.peekChar()){case"b":return this.consumeChar("b"),{type:"Character",value:se("\b")};case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}group(){let e=!0;this.consumeChar("("),this.peekChar(0)==="?"?(this.consumeChar("?"),this.consumeChar(":"),e=!1):this.groupIdx++;let r=this.disjunction();this.consumeChar(")");let n={type:"Group",capturing:e,value:r};return e&&(n.idx=this.groupIdx),n}positiveInteger(){let e=this.popChar();if(fO.test(e)===!1)throw Error("Expecting a positive integer");for(;Pf.test(this.peekChar(0));)e+=this.popChar();return parseInt(e,10)}integerIncludingZero(){let e=this.popChar();if(Pf.test(e)===!1)throw Error("Expecting an integer");for(;Pf.test(this.peekChar(0));)e+=this.popChar();return parseInt(e,10)}patternCharacter(){let e=this.popChar();switch(e){case`
|
|
42
|
+
`:case"\r":case"\u2028":case"\u2029":case"^":case"$":case"\\":case".":case"*":case"+":case"?":case"(":case")":case"[":case"|":throw Error("TBD");default:return{type:"Character",value:se(e)}}}isRegExpFlag(){switch(this.peekChar(0)){case"g":case"i":case"m":case"u":case"y":return!0;default:return!1}}isRangeDash(){return this.peekChar()==="-"&&this.isClassAtom(1)}isDigit(){return Pf.test(this.peekChar(0))}isClassAtom(e=0){switch(this.peekChar(e)){case"]":case`
|
|
43
43
|
`:case"\r":case"\u2028":case"\u2029":return!1;default:return!0}}isTerm(){return this.isAtom()||this.isAssertion()}isAtom(){if(this.isPatternCharacter())return!0;switch(this.peekChar(0)){case".":case"\\":case"[":case"(":return!0;default:return!1}}isAssertion(){switch(this.peekChar(0)){case"^":case"$":return!0;case"\\":switch(this.peekChar(1)){case"b":case"B":return!0;default:return!1}case"(":return this.peekChar(1)==="?"&&(this.peekChar(2)==="="||this.peekChar(2)==="!"||this.peekChar(2)==="<"&&(this.peekChar(3)==="="||this.peekChar(3)==="!"));default:return!1}}isQuantifier(){let e=this.saveState();try{return this.quantifier(!0)!==void 0}catch{return!1}finally{this.restoreState(e)}}isPatternCharacter(){switch(this.peekChar()){case"^":case"$":case"\\":case".":case"*":case"+":case"?":case"(":case")":case"[":case"|":case"/":case`
|
|
44
|
-
`:case"\r":case"\u2028":case"\u2029":return!1;default:return!0}}parseHexDigits(e){let r="";for(let i=0;i<e;i++){let o=this.popChar();if(
|
|
45
|
-
`&&(this.multiline=!0),e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{let n=
|
|
46
|
-
`.match(n)}if(e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{let r=this.regex.substring(e.loc.begin,e.loc.end);this.endRegexpStack.push(r),this.isStarting&&(this.startRegexp+=r)}}visitChildren(e){e.type==="Group"&&e.quantifier||super.visitChildren(e)}},
|
|
47
|
-
\r \v \xA0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF`.split("");function Mc(t){let e=typeof t=="string"?new RegExp(t):t;return o0.some(r=>e.test(r))}function fi(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function zm(t,e){let r=s0(t),n=e.match(r);return!!n&&n[0].length>0}function s0(t){typeof t=="string"&&(t=new RegExp(t));let e=t,r=t.source,n=0;function i(){let o="",s;function a(l){o+=r.substr(n,l),n+=l}function c(l){o+="(?:"+r.substr(n,l)+"|$)",n+=l}for(;n<r.length;)switch(r[n]){case"\\":switch(r[n+1]){case"c":c(3);break;case"x":c(4);break;case"u":e.unicode?r[n+2]==="{"?c(r.indexOf("}",n)-n+1):c(6):c(2);break;case"p":case"P":e.unicode?c(r.indexOf("}",n)-n+1):c(2);break;case"k":c(r.indexOf(">",n)-n+1);break;default:c(2);break}break;case"[":s=/\[(?:\\.|.)*?\]/g,s.lastIndex=n,s=s.exec(r)||[],c(s[0].length);break;case"|":case"^":case"$":case"*":case"+":case"?":a(1);break;case"{":s=/\{\d+,?\d*\}/g,s.lastIndex=n,s=s.exec(r),s?a(s[0].length):c(1);break;case"(":if(r[n+1]==="?")switch(r[n+2]){case":":o+="(?:",n+=3,o+=i()+"|$)";break;case"=":o+="(?=",n+=3,o+=i()+")";break;case"!":s=n,n+=3,i(),o+=r.substr(s,n-s);break;case"<":switch(r[n+3]){case"=":case"!":s=n,n+=4,i(),o+=r.substr(s,n-s);break;default:a(r.indexOf(">",n)-n+1),o+=i()+"|$)";break}break}else a(1),o+=i()+"|$)";break;case")":return++n,o;default:c(1);break}return o}return new RegExp(i(),t.flags)}function a0(t){return t.rules.find(e=>kt(e)&&e.entry)}function c0(t){return t.rules.filter(e=>Wt(e)&&e.hidden)}function Fc(t,e){let r=new Set,n=a0(t);if(!n)return new Set(t.rules);let i=[n].concat(c0(t));for(let s of i)l0(s,r,e);let o=new Set;for(let s of t.rules)(r.has(s.name)||Wt(s)&&s.hidden)&&o.add(s);return o}function l0(t,e,r){e.add(t.name),$r(t).forEach(n=>{if(Br(n)||r&&Ef(n)){let i=n.rule.ref;i&&!e.has(i.name)&&l0(i,e,r)}})}function iO(t){let e=new Set;return $r(t).forEach(r=>{Ur(r)&&(kt(r.type.ref)&&e.add(r.type.ref),Cc(r.type.ref)&&kt(r.type.ref.$container)&&e.add(r.type.ref.$container))}),e}function Vm(t){if(t.terminal)return t.terminal;if(t.type.ref)return kf(t.type.ref)?.terminal}function Ym(t){return t.hidden&&!Mc(_s(t))}function Km(t,e){return!t||!e?[]:Zm(t,e,t.astNode,!0)}function Uc(t,e,r){if(!t||!e)return;let n=Zm(t,e,t.astNode,!0);if(n.length!==0)return r!==void 0?r=Math.max(0,Math.min(r,n.length-1)):r=0,n[r]}function Zm(t,e,r,n){if(!n){let i=In(t.grammarSource,Fr);if(i&&i.feature===e)return[t]}return Dr(t)&&t.astNode===r?t.content.flatMap(i=>Zm(i,e,r,!1)):[]}function oO(t,e){return t?Qm(t,e,t?.astNode):[]}function Jm(t,e,r){if(!t)return;let n=Qm(t,e,t?.astNode);if(n.length!==0)return r!==void 0?r=Math.max(0,Math.min(r,n.length-1)):r=0,n[r]}function Qm(t,e,r){if(t.astNode!==r)return[];if(Rr(t.grammarSource)&&t.grammarSource.value===e)return[t];let n=fo(t).iterator(),i,o=[];do if(i=n.next(),!i.done){let s=i.value;s.astNode===r?Rr(s.grammarSource)&&s.grammarSource.value===e&&o.push(s):n.prune()}while(!i.done);return o}function eg(t){let e=t.astNode;for(;e===t.container?.astNode;){let r=In(t.grammarSource,Fr);if(r)return r;t=t.container}}function kf(t){let e=t;return Cc(e)&&(Cn(e.$container)?e=e.$container.$container:Pn(e.$container)?e=e.$container:ln(e.$container)),u0(t,e,new Map)}function u0(t,e,r){function n(i,o){let s;return In(i,Fr)||(s=u0(o,o,r)),r.set(t,s),s}if(r.has(t))return r.get(t);r.set(t,void 0);for(let i of $r(e)){if(Fr(i)&&i.feature.toLowerCase()==="name")return r.set(t,i),i;if(Br(i)&&kt(i.rule.ref))return n(i,i.rule.ref);if(_f(i)&&i.typeRef?.ref)return n(i,i.typeRef.ref)}}function f0(t){let e=t.$container;if(li(e)){let r=e.elements,n=r.indexOf(t);for(let i=n-1;i>=0;i--){let o=r[i];if(Cn(o))return o;{let s=$r(r[i]).find(Cn);if(s)return s}}}if(Pc(e))return f0(e)}function sO(t,e){return t==="?"||t==="*"||li(e)&&!!e.guardCondition}function aO(t){return t==="*"||t==="+"}function cO(t){return t==="+="}function Bc(t){return d0(t,new Set)}function d0(t,e){if(e.has(t))return!0;e.add(t);for(let r of $r(t))if(Br(r)){if(!r.rule.ref||kt(r.rule.ref)&&!d0(r.rule.ref,e)||ui(r.rule.ref))return!1}else{if(Fr(r))return!1;if(Cn(r))return!1}return!!t.definition}function lO(t){return Wm(t.type,new Set)}function Wm(t,e){if(e.has(t))return!0;if(e.add(t),xm(t))return!1;if(Im(t))return!1;if(Om(t))return t.types.every(r=>Wm(r,e));if(_f(t)){if(t.primitiveType!==void 0)return!0;if(t.stringType!==void 0)return!0;if(t.typeRef!==void 0){let r=t.typeRef.ref;return vf(r)?Wm(r.type,e):!1}else return!1}else return!1}function Nf(t){if(!Wt(t)){if(t.inferredType)return t.inferredType.name;if(t.dataType)return t.dataType;if(t.returnType){let e=t.returnType.ref;if(e)return e.name}}}function di(t){if(Pn(t))return kt(t)&&Bc(t)?t.name:Nf(t)??t.name;if(wm(t)||vf(t)||Nm(t))return t.name;if(Cn(t)){let e=p0(t);if(e)return e}else if(Cc(t))return t.name;throw new Error("Cannot get name of Unknown Type")}function p0(t){if(t.inferredType)return t.inferredType.name;if(t.type?.ref)return di(t.type.ref)}function uO(t){return Wt(t)?t.type?.name??"string":kt(t)&&Bc(t)?t.name:Nf(t)??t.name}function tg(t){return Wt(t)?t.type?.name??"string":Nf(t)??t.name}function _s(t){let e={s:!1,i:!1,u:!1},r=Es(t.definition,e),n=Object.entries(e).filter(([,i])=>i).map(([i])=>i).join("");return new RegExp(r,n)}var rg=/[\s\S]/.source;function Es(t,e){if(Pm(t))return fO(t);if(Cm(t))return dO(t);if(_m(t))return mO(t);if(Ef(t)){let r=t.rule.ref;if(!r)throw new Error("Missing rule reference.");return On(Es(r.definition),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}else{if(bm(t))return hO(t);if(Lm(t))return pO(t);if(km(t)){let r=t.regex.lastIndexOf("/"),n=t.regex.substring(1,r),i=t.regex.substring(r+1);return e&&(e.i=i.includes("i"),e.s=i.includes("s"),e.u=i.includes("u")),On(n,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}else{if(Dm(t))return On(rg,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized});throw new Error(`Invalid terminal element: ${t?.$type}, ${t?.$cstNode?.text}`)}}}function fO(t){return On(t.elements.map(e=>Es(e)).join("|"),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}function dO(t){return On(t.elements.map(e=>Es(e)).join(""),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}function pO(t){return On(`${rg}*?${Es(t.terminal)}`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}function hO(t){return On(`(?!${Es(t.terminal)})${rg}*?`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}function mO(t){return t.right?On(`[${qm(t.left)}-${qm(t.right)}]`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1}):On(qm(t.left),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}function qm(t){return fi(t.value)}function On(t,e){return(e.parenthesized||e.lookahead||e.wrap!==!1)&&(t=`(${e.lookahead??(e.parenthesized?"":"?:")}${t})`),e.cardinality?`${t}${e.cardinality}`:t}function ng(t){let e=[],r=t.Grammar;for(let n of r.rules)Wt(n)&&Ym(n)&&jm(_s(n))&&e.push(n.name);return{multilineCommentRules:e,nameRegexp:wf}}function Rs(t){console&&console.error&&console.error(`Error: ${t}`)}function Gc(t){console&&console.warn&&console.warn(`Warning: ${t}`)}function Xc(t){let e=new Date().getTime(),r=t();return{time:new Date().getTime()-e,value:r}}function Hc(t){function e(){}e.prototype=t;let r=new e;function n(){return typeof r.bar}return n(),n(),t;(0,eval)(t)}function gO(t){return yO(t)?t.LABEL:t.name}function yO(t){return typeof t.LABEL=="string"&&t.LABEL!==""}var pr=class{get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){this._definition=e}accept(e){e.visit(this),this.definition.forEach(r=>{r.accept(e)})}},Ge=class extends pr{constructor(e){super([]),this.idx=1,Object.assign(this,fn(e))}set definition(e){}get definition(){return this.referencedRule!==void 0?this.referencedRule.definition:[]}accept(e){e.visit(this)}},Vt=class extends pr{constructor(e){super(e.definition),this.orgText="",Object.assign(this,fn(e))}},Je=class extends pr{constructor(e){super(e.definition),this.ignoreAmbiguities=!1,Object.assign(this,fn(e))}},Xe=class extends pr{constructor(e){super(e.definition),this.idx=1,Object.assign(this,fn(e))}},Qe=class extends pr{constructor(e){super(e.definition),this.idx=1,Object.assign(this,fn(e))}},et=class extends pr{constructor(e){super(e.definition),this.idx=1,Object.assign(this,fn(e))}},we=class extends pr{constructor(e){super(e.definition),this.idx=1,Object.assign(this,fn(e))}},Ye=class extends pr{constructor(e){super(e.definition),this.idx=1,Object.assign(this,fn(e))}},Ke=class extends pr{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,Object.assign(this,fn(e))}},_e=class{constructor(e){this.idx=1,Object.assign(this,fn(e))}accept(e){e.visit(this)}};function Pf(t){return t.map(ws)}function ws(t){function e(r){return r.map(ws)}if(t instanceof Ge){let r={type:"NonTerminal",name:t.nonTerminalName,idx:t.idx};return typeof t.label=="string"&&(r.label=t.label),r}else{if(t instanceof Je)return{type:"Alternative",definition:e(t.definition)};if(t instanceof Xe)return{type:"Option",idx:t.idx,definition:e(t.definition)};if(t instanceof Qe)return{type:"RepetitionMandatory",idx:t.idx,definition:e(t.definition)};if(t instanceof et)return{type:"RepetitionMandatoryWithSeparator",idx:t.idx,separator:ws(new _e({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof Ye)return{type:"RepetitionWithSeparator",idx:t.idx,separator:ws(new _e({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof we)return{type:"Repetition",idx:t.idx,definition:e(t.definition)};if(t instanceof Ke)return{type:"Alternation",idx:t.idx,definition:e(t.definition)};if(t instanceof _e){let r={type:"Terminal",name:t.terminalType.name,label:gO(t.terminalType),idx:t.idx};typeof t.label=="string"&&(r.terminalLabel=t.label);let n=t.terminalType.PATTERN;return t.terminalType.PATTERN&&(r.pattern=n instanceof RegExp?n.source:n),r}else{if(t instanceof Vt)return{type:"Rule",name:t.name,orgText:t.orgText,definition:e(t.definition)};throw Error("non exhaustive match")}}}function fn(t){return Object.fromEntries(Object.entries(t).filter(([,e])=>e!==void 0))}var Yt=class{visit(e){let r=e;switch(r.constructor){case Ge:return this.visitNonTerminal(r);case Je:return this.visitAlternative(r);case Xe:return this.visitOption(r);case Qe:return this.visitRepetitionMandatory(r);case et:return this.visitRepetitionMandatoryWithSeparator(r);case Ye:return this.visitRepetitionWithSeparator(r);case we:return this.visitRepetition(r);case Ke:return this.visitAlternation(r);case _e:return this.visitTerminal(r);case Vt:return this.visitRule(r);default:throw Error("non exhaustive match")}}visitNonTerminal(e){}visitAlternative(e){}visitOption(e){}visitRepetition(e){}visitRepetitionMandatory(e){}visitRepetitionMandatoryWithSeparator(e){}visitRepetitionWithSeparator(e){}visitAlternation(e){}visitTerminal(e){}visitRule(e){}};function ig(t){return t instanceof Je||t instanceof Xe||t instanceof we||t instanceof Qe||t instanceof et||t instanceof Ye||t instanceof _e||t instanceof Vt}function xo(t,e=[]){return t instanceof Xe||t instanceof we||t instanceof Ye?!0:t instanceof Ke?t.definition.some(n=>xo(n,e)):t instanceof Ge&&e.includes(t)?!1:t instanceof pr?(t instanceof Ge&&e.push(t),t.definition.every(n=>xo(n,e))):!1}function og(t){return t instanceof Ke}function rr(t){if(t instanceof Ge)return"SUBRULE";if(t instanceof Xe)return"OPTION";if(t instanceof Ke)return"OR";if(t instanceof Qe)return"AT_LEAST_ONE";if(t instanceof et)return"AT_LEAST_ONE_SEP";if(t instanceof Ye)return"MANY_SEP";if(t instanceof we)return"MANY";if(t instanceof _e)return"CONSUME";throw Error("non exhaustive match")}var Ln=class{walk(e,r=[]){e.definition.forEach((n,i)=>{let o=e.definition.slice(i+1);if(n instanceof Ge)this.walkProdRef(n,o,r);else if(n instanceof _e)this.walkTerminal(n,o,r);else if(n instanceof Je)this.walkFlat(n,o,r);else if(n instanceof Xe)this.walkOption(n,o,r);else if(n instanceof Qe)this.walkAtLeastOne(n,o,r);else if(n instanceof et)this.walkAtLeastOneSep(n,o,r);else if(n instanceof Ye)this.walkManySep(n,o,r);else if(n instanceof we)this.walkMany(n,o,r);else if(n instanceof Ke)this.walkOr(n,o,r);else throw Error("non exhaustive match")})}walkTerminal(e,r,n){}walkProdRef(e,r,n){}walkFlat(e,r,n){let i=r.concat(n);this.walk(e,i)}walkOption(e,r,n){let i=r.concat(n);this.walk(e,i)}walkAtLeastOne(e,r,n){let i=[new Xe({definition:e.definition})].concat(r,n);this.walk(e,i)}walkAtLeastOneSep(e,r,n){let i=h0(e,r,n);this.walk(e,i)}walkMany(e,r,n){let i=[new Xe({definition:e.definition})].concat(r,n);this.walk(e,i)}walkManySep(e,r,n){let i=h0(e,r,n);this.walk(e,i)}walkOr(e,r,n){let i=r.concat(n);e.definition.forEach(o=>{let s=new Je({definition:[o]});this.walk(s,i)})}};function h0(t,e,r){return[new Xe({definition:[new _e({terminalType:t.separator})].concat(t.definition)})].concat(e,r)}function To(t){if(t instanceof Ge)return To(t.referencedRule);if(t instanceof _e)return _O(t);if(ig(t))return xO(t);if(og(t))return TO(t);throw Error("non exhaustive match")}function xO(t){let e=[],r=t.definition,n=0,i=r.length>n,o,s=!0;for(;i&&s;)o=r[n],s=xo(o),e=e.concat(To(o)),n=n+1,i=r.length>n;return[...new Set(e)]}function TO(t){let e=t.definition.map(r=>To(r));return[...new Set(e.flat())]}function _O(t){return[t.terminalType]}var Cf="_~IN~_";var sg=class extends Ln{constructor(e){super(),this.topProd=e,this.follows={}}startWalking(){return this.walk(this.topProd),this.follows}walkTerminal(e,r,n){}walkProdRef(e,r,n){let i=EO(e.referencedRule,e.idx)+this.topProd.name,o=r.concat(n),s=new Je({definition:o}),a=To(s);this.follows[i]=a}};function m0(t){let e={};return t.forEach(r=>{let n=new sg(r).startWalking();Object.assign(e,n)}),e}function EO(t,e){return t.name+e+Cf}var Of={},vO=new go;function bs(t){let e=t.toString();if(Of.hasOwnProperty(e))return Of[e];{let r=vO.pattern(e);return Of[e]=r,r}}function g0(){Of={}}var x0="Complement Sets are not supported for first char optimization",jc=`Unable to use "first char" lexer optimizations:
|
|
48
|
-
`;function
|
|
44
|
+
`:case"\r":case"\u2028":case"\u2029":return!1;default:return!0}}parseHexDigits(e){let r="";for(let i=0;i<e;i++){let o=this.popChar();if(uO.test(o)===!1)throw Error("Expecting a HexDecimal digits");r+=o}return{type:"Character",value:parseInt(r,16)}}peekChar(e=0){return this.input[this.idx+e]}popChar(){let e=this.peekChar(0);return this.consumeChar(void 0),e}consumeChar(e){if(e!==void 0&&this.input[this.idx]!==e)throw Error("Expected: '"+e+"' but found: '"+this.input[this.idx]+"' at offset: "+this.idx);if(this.idx>=this.input.length)throw Error("Unexpected end of input");this.idx++}loc(e){return{begin:e,end:this.idx}}};var fn=class{visitChildren(e){for(let r in e){let n=e[r];e.hasOwnProperty(r)&&(n.type!==void 0?this.visit(n):Array.isArray(n)&&n.forEach(i=>{this.visit(i)},this))}}visit(e){switch(e.type){case"Pattern":this.visitPattern(e);break;case"Flags":this.visitFlags(e);break;case"Disjunction":this.visitDisjunction(e);break;case"Alternative":this.visitAlternative(e);break;case"StartAnchor":this.visitStartAnchor(e);break;case"EndAnchor":this.visitEndAnchor(e);break;case"WordBoundary":this.visitWordBoundary(e);break;case"NonWordBoundary":this.visitNonWordBoundary(e);break;case"Lookahead":this.visitLookahead(e);break;case"NegativeLookahead":this.visitNegativeLookahead(e);break;case"Lookbehind":this.visitLookbehind(e);break;case"NegativeLookbehind":this.visitNegativeLookbehind(e);break;case"Character":this.visitCharacter(e);break;case"Set":this.visitSet(e);break;case"Group":this.visitGroup(e);break;case"GroupBackReference":this.visitGroupBackReference(e);break;case"Quantifier":this.visitQuantifier(e);break}this.visitChildren(e)}visitPattern(e){}visitFlags(e){}visitDisjunction(e){}visitAlternative(e){}visitStartAnchor(e){}visitEndAnchor(e){}visitWordBoundary(e){}visitNonWordBoundary(e){}visitLookahead(e){}visitNegativeLookahead(e){}visitLookbehind(e){}visitNegativeLookbehind(e){}visitCharacter(e){}visitSet(e){}visitGroup(e){}visitGroupBackReference(e){}visitQuantifier(e){}};var Ym=/\r?\n/gm,u0=new xo,Vm=class extends fn{constructor(){super(...arguments),this.isStarting=!0,this.endRegexpStack=[],this.multiline=!1}get endRegex(){return this.endRegexpStack.join("")}reset(e){this.multiline=!1,this.regex=e,this.startRegexp="",this.isStarting=!0,this.endRegexpStack=[]}visitGroup(e){e.quantifier&&(this.isStarting=!1,this.endRegexpStack=[])}visitCharacter(e){let r=String.fromCharCode(e.value);if(!this.multiline&&r===`
|
|
45
|
+
`&&(this.multiline=!0),e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{let n=hi(r);this.endRegexpStack.push(n),this.isStarting&&(this.startRegexp+=n)}}visitSet(e){if(!this.multiline){let r=this.regex.substring(e.loc.begin,e.loc.end),n=new RegExp(r);this.multiline=!!`
|
|
46
|
+
`.match(n)}if(e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{let r=this.regex.substring(e.loc.begin,e.loc.end);this.endRegexpStack.push(r),this.isStarting&&(this.startRegexp+=r)}}visitChildren(e){e.type==="Group"&&e.quantifier||super.visitChildren(e)}},To=new Vm;function dO(t){try{typeof t!="string"&&(t=t.source),t=`/${t}/`;let e=u0.pattern(t),r=[];for(let n of e.value.value)To.reset(t),To.visit(n),r.push({start:To.startRegexp,end:To.endRegex});return r}catch{return[]}}function Km(t){try{return typeof t=="string"&&(t=new RegExp(t)),t=t.toString(),To.reset(t),To.visit(u0.pattern(t)),To.multiline}catch{return!1}}var f0=`\f
|
|
47
|
+
\r \v \xA0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF`.split("");function Uc(t){let e=typeof t=="string"?new RegExp(t):t;return f0.some(r=>e.test(r))}function hi(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Zm(t,e){let r=d0(t),n=e.match(r);return!!n&&n[0].length>0}function d0(t){typeof t=="string"&&(t=new RegExp(t));let e=t,r=t.source,n=0;function i(){let o="",s;function a(l){o+=r.substr(n,l),n+=l}function c(l){o+="(?:"+r.substr(n,l)+"|$)",n+=l}for(;n<r.length;)switch(r[n]){case"\\":switch(r[n+1]){case"c":c(3);break;case"x":c(4);break;case"u":e.unicode?r[n+2]==="{"?c(r.indexOf("}",n)-n+1):c(6):c(2);break;case"p":case"P":e.unicode?c(r.indexOf("}",n)-n+1):c(2);break;case"k":c(r.indexOf(">",n)-n+1);break;default:c(2);break}break;case"[":s=/\[(?:\\.|.)*?\]/g,s.lastIndex=n,s=s.exec(r)||[],c(s[0].length);break;case"|":case"^":case"$":case"*":case"+":case"?":a(1);break;case"{":s=/\{\d+,?\d*\}/g,s.lastIndex=n,s=s.exec(r),s?a(s[0].length):c(1);break;case"(":if(r[n+1]==="?")switch(r[n+2]){case":":o+="(?:",n+=3,o+=i()+"|$)";break;case"=":o+="(?=",n+=3,o+=i()+")";break;case"!":s=n,n+=3,i(),o+=r.substr(s,n-s);break;case"<":switch(r[n+3]){case"=":case"!":s=n,n+=4,i(),o+=r.substr(s,n-s);break;default:a(r.indexOf(">",n)-n+1),o+=i()+"|$)";break}break}else a(1),o+=i()+"|$)";break;case")":return++n,o;default:c(1);break}return o}return new RegExp(i(),t.flags)}function p0(t){return t.rules.find(e=>Nt(e)&&e.entry)}function h0(t){return t.rules.filter(e=>qt(e)&&e.hidden)}function Bc(t,e){let r=new Set,n=p0(t);if(!n)return new Set(t.rules);let i=[n].concat(h0(t));for(let s of i)m0(s,r,e);let o=new Set;for(let s of t.rules)(r.has(s.name)||qt(s)&&s.hidden)&&o.add(s);return o}function m0(t,e,r){e.add(t.name),Mr(t).forEach(n=>{if(Gr(n)||r&&wf(n)){let i=n.rule.ref;i&&!e.has(i.name)&&m0(i,e,r)}})}function pO(t){let e=new Set;return Mr(t).forEach(r=>{Br(r)&&(Nt(r.type.ref)&&e.add(r.type.ref),Lc(r.type.ref)&&Nt(r.type.ref.$container)&&e.add(r.type.ref.$container))}),e}function eg(t){if(t.terminal)return t.terminal;if(t.type.ref)return Of(t.type.ref)?.terminal}function tg(t){return t.hidden&&!Uc(Rs(t))}function rg(t,e){return!t||!e?[]:ng(t,e,t.astNode,!0)}function Gc(t,e,r){if(!t||!e)return;let n=ng(t,e,t.astNode,!0);if(n.length!==0)return r!==void 0?r=Math.max(0,Math.min(r,n.length-1)):r=0,n[r]}function ng(t,e,r,n){if(!n){let i=Nn(t.grammarSource,Ur);if(i&&i.feature===e)return[t]}return $r(t)&&t.astNode===r?t.content.flatMap(i=>ng(i,e,r,!1)):[]}function hO(t,e){return t?og(t,e,t?.astNode):[]}function ig(t,e,r){if(!t)return;let n=og(t,e,t?.astNode);if(n.length!==0)return r!==void 0?r=Math.max(0,Math.min(r,n.length-1)):r=0,n[r]}function og(t,e,r){if(t.astNode!==r)return[];if(Rr(t.grammarSource)&&t.grammarSource.value===e)return[t];let n=ho(t).iterator(),i,o=[];do if(i=n.next(),!i.done){let s=i.value;s.astNode===r?Rr(s.grammarSource)&&s.grammarSource.value===e&&o.push(s):n.prune()}while(!i.done);return o}function sg(t){let e=t.astNode;for(;e===t.container?.astNode;){let r=Nn(t.grammarSource,Ur);if(r)return r;t=t.container}}function Of(t){let e=t;return Lc(e)&&(Ln(e.$container)?e=e.$container.$container:On(e.$container)?e=e.$container:un(e.$container)),g0(t,e,new Map)}function g0(t,e,r){function n(i,o){let s;return Nn(i,Ur)||(s=g0(o,o,r)),r.set(t,s),s}if(r.has(t))return r.get(t);r.set(t,void 0);for(let i of Mr(e)){if(Ur(i)&&i.feature.toLowerCase()==="name")return r.set(t,i),i;if(Gr(i)&&Nt(i.rule.ref))return n(i,i.rule.ref);if(bf(i)&&i.typeRef?.ref)return n(i,i.typeRef.ref)}}function y0(t){let e=t.$container;if(di(e)){let r=e.elements,n=r.indexOf(t);for(let i=n-1;i>=0;i--){let o=r[i];if(Ln(o))return o;{let s=Mr(r[i]).find(Ln);if(s)return s}}}if(Oc(e))return y0(e)}function mO(t,e){return t==="?"||t==="*"||di(e)&&!!e.guardCondition}function gO(t){return t==="*"||t==="+"}function yO(t){return t==="+="}function Xc(t){return x0(t,new Set)}function x0(t,e){if(e.has(t))return!0;e.add(t);for(let r of Mr(t))if(Gr(r)){if(!r.rule.ref||Nt(r.rule.ref)&&!x0(r.rule.ref,e)||pi(r.rule.ref))return!1}else{if(Ur(r))return!1;if(Ln(r))return!1}return!!t.definition}function xO(t){return Qm(t.type,new Set)}function Qm(t,e){if(e.has(t))return!0;if(e.add(t),bm(t))return!1;if(Lm(t))return!1;if(Um(t))return t.types.every(r=>Qm(r,e));if(bf(t)){if(t.primitiveType!==void 0)return!0;if(t.stringType!==void 0)return!0;if(t.typeRef!==void 0){let r=t.typeRef.ref;return Af(r)?Qm(r.type,e):!1}else return!1}else return!1}function Lf(t){if(!qt(t)){if(t.inferredType)return t.inferredType.name;if(t.dataType)return t.dataType;if(t.returnType){let e=t.returnType.ref;if(e)return e.name}}}function mi(t){if(On(t))return Nt(t)&&Xc(t)?t.name:Lf(t)??t.name;if(Nm(t)||Af(t)||$m(t))return t.name;if(Ln(t)){let e=T0(t);if(e)return e}else if(Lc(t))return t.name;throw new Error("Cannot get name of Unknown Type")}function T0(t){if(t.inferredType)return t.inferredType.name;if(t.type?.ref)return mi(t.type.ref)}function TO(t){return qt(t)?t.type?.name??"string":Nt(t)&&Xc(t)?t.name:Lf(t)??t.name}function ag(t){return qt(t)?t.type?.name??"string":Lf(t)??t.name}function Rs(t){let e={s:!1,i:!1,u:!1},r=bs(t.definition,e),n=Object.entries(e).filter(([,i])=>i).map(([i])=>i).join("");return new RegExp(r,n)}var cg=/[\s\S]/.source;function bs(t,e){if(Mm(t))return _O(t);if(Fm(t))return EO(t);if(Am(t))return bO(t);if(wf(t)){let r=t.rule.ref;if(!r)throw new Error("Missing rule reference.");return Dn(bs(r.definition),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}else{if(Pm(t))return RO(t);if(Bm(t))return vO(t);if(Dm(t)){let r=t.regex.lastIndexOf("/"),n=t.regex.substring(1,r),i=t.regex.substring(r+1);return e&&(e.i=i.includes("i"),e.s=i.includes("s"),e.u=i.includes("u")),Dn(n,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}else{if(Gm(t))return Dn(cg,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized});throw new Error(`Invalid terminal element: ${t?.$type}, ${t?.$cstNode?.text}`)}}}function _O(t){return Dn(t.elements.map(e=>bs(e)).join("|"),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}function EO(t){return Dn(t.elements.map(e=>bs(e)).join(""),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}function vO(t){return Dn(`${cg}*?${bs(t.terminal)}`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}function RO(t){return Dn(`(?!${bs(t.terminal)})${cg}*?`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}function bO(t){return t.right?Dn(`[${Jm(t.left)}-${Jm(t.right)}]`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1}):Dn(Jm(t.left),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}function Jm(t){return hi(t.value)}function Dn(t,e){return(e.parenthesized||e.lookahead||e.wrap!==!1)&&(t=`(${e.lookahead??(e.parenthesized?"":"?:")}${t})`),e.cardinality?`${t}${e.cardinality}`:t}function lg(t){let e=[],r=t.Grammar;for(let n of r.rules)qt(n)&&tg(n)&&Km(Rs(n))&&e.push(n.name);return{multilineCommentRules:e,nameRegexp:If}}function As(t){console&&console.error&&console.error(`Error: ${t}`)}function Hc(t){console&&console.warn&&console.warn(`Warning: ${t}`)}function jc(t){let e=new Date().getTime(),r=t();return{time:new Date().getTime()-e,value:r}}function zc(t){function e(){}e.prototype=t;let r=new e;function n(){return typeof r.bar}return n(),n(),t;(0,eval)(t)}function wO(t){return AO(t)?t.LABEL:t.name}function AO(t){return typeof t.LABEL=="string"&&t.LABEL!==""}var pr=class{get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){this._definition=e}accept(e){e.visit(this),this.definition.forEach(r=>{r.accept(e)})}},Be=class extends pr{constructor(e){super([]),this.idx=1,Object.assign(this,dn(e))}set definition(e){}get definition(){return this.referencedRule!==void 0?this.referencedRule.definition:[]}accept(e){e.visit(this)}},Wt=class extends pr{constructor(e){super(e.definition),this.orgText="",Object.assign(this,dn(e))}},Qe=class extends pr{constructor(e){super(e.definition),this.ignoreAmbiguities=!1,Object.assign(this,dn(e))}},Ge=class extends pr{constructor(e){super(e.definition),this.idx=1,Object.assign(this,dn(e))}},et=class extends pr{constructor(e){super(e.definition),this.idx=1,Object.assign(this,dn(e))}},tt=class extends pr{constructor(e){super(e.definition),this.idx=1,Object.assign(this,dn(e))}},Re=class extends pr{constructor(e){super(e.definition),this.idx=1,Object.assign(this,dn(e))}},Ve=class extends pr{constructor(e){super(e.definition),this.idx=1,Object.assign(this,dn(e))}},Ye=class extends pr{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,Object.assign(this,dn(e))}},Te=class{constructor(e){this.idx=1,Object.assign(this,dn(e))}accept(e){e.visit(this)}};function Df(t){return t.map(Ss)}function Ss(t){function e(r){return r.map(Ss)}if(t instanceof Be){let r={type:"NonTerminal",name:t.nonTerminalName,idx:t.idx};return typeof t.label=="string"&&(r.label=t.label),r}else{if(t instanceof Qe)return{type:"Alternative",definition:e(t.definition)};if(t instanceof Ge)return{type:"Option",idx:t.idx,definition:e(t.definition)};if(t instanceof et)return{type:"RepetitionMandatory",idx:t.idx,definition:e(t.definition)};if(t instanceof tt)return{type:"RepetitionMandatoryWithSeparator",idx:t.idx,separator:Ss(new Te({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof Ve)return{type:"RepetitionWithSeparator",idx:t.idx,separator:Ss(new Te({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof Re)return{type:"Repetition",idx:t.idx,definition:e(t.definition)};if(t instanceof Ye)return{type:"Alternation",idx:t.idx,definition:e(t.definition)};if(t instanceof Te){let r={type:"Terminal",name:t.terminalType.name,label:wO(t.terminalType),idx:t.idx};typeof t.label=="string"&&(r.terminalLabel=t.label);let n=t.terminalType.PATTERN;return t.terminalType.PATTERN&&(r.pattern=n instanceof RegExp?n.source:n),r}else{if(t instanceof Wt)return{type:"Rule",name:t.name,orgText:t.orgText,definition:e(t.definition)};throw Error("non exhaustive match")}}}function dn(t){return Object.fromEntries(Object.entries(t).filter(([,e])=>e!==void 0))}var Vt=class{visit(e){let r=e;switch(r.constructor){case Be:return this.visitNonTerminal(r);case Qe:return this.visitAlternative(r);case Ge:return this.visitOption(r);case et:return this.visitRepetitionMandatory(r);case tt:return this.visitRepetitionMandatoryWithSeparator(r);case Ve:return this.visitRepetitionWithSeparator(r);case Re:return this.visitRepetition(r);case Ye:return this.visitAlternation(r);case Te:return this.visitTerminal(r);case Wt:return this.visitRule(r);default:throw Error("non exhaustive match")}}visitNonTerminal(e){}visitAlternative(e){}visitOption(e){}visitRepetition(e){}visitRepetitionMandatory(e){}visitRepetitionMandatoryWithSeparator(e){}visitRepetitionWithSeparator(e){}visitAlternation(e){}visitTerminal(e){}visitRule(e){}};function ug(t){return t instanceof Qe||t instanceof Ge||t instanceof Re||t instanceof et||t instanceof tt||t instanceof Ve||t instanceof Te||t instanceof Wt}function _o(t,e=[]){return t instanceof Ge||t instanceof Re||t instanceof Ve?!0:t instanceof Ye?t.definition.some(n=>_o(n,e)):t instanceof Be&&e.includes(t)?!1:t instanceof pr?(t instanceof Be&&e.push(t),t.definition.every(n=>_o(n,e))):!1}function fg(t){return t instanceof Ye}function nr(t){if(t instanceof Be)return"SUBRULE";if(t instanceof Ge)return"OPTION";if(t instanceof Ye)return"OR";if(t instanceof et)return"AT_LEAST_ONE";if(t instanceof tt)return"AT_LEAST_ONE_SEP";if(t instanceof Ve)return"MANY_SEP";if(t instanceof Re)return"MANY";if(t instanceof Te)return"CONSUME";throw Error("non exhaustive match")}var $n=class{walk(e,r=[]){e.definition.forEach((n,i)=>{let o=e.definition.slice(i+1);if(n instanceof Be)this.walkProdRef(n,o,r);else if(n instanceof Te)this.walkTerminal(n,o,r);else if(n instanceof Qe)this.walkFlat(n,o,r);else if(n instanceof Ge)this.walkOption(n,o,r);else if(n instanceof et)this.walkAtLeastOne(n,o,r);else if(n instanceof tt)this.walkAtLeastOneSep(n,o,r);else if(n instanceof Ve)this.walkManySep(n,o,r);else if(n instanceof Re)this.walkMany(n,o,r);else if(n instanceof Ye)this.walkOr(n,o,r);else throw Error("non exhaustive match")})}walkTerminal(e,r,n){}walkProdRef(e,r,n){}walkFlat(e,r,n){let i=r.concat(n);this.walk(e,i)}walkOption(e,r,n){let i=r.concat(n);this.walk(e,i)}walkAtLeastOne(e,r,n){let i=[new Ge({definition:e.definition})].concat(r,n);this.walk(e,i)}walkAtLeastOneSep(e,r,n){let i=_0(e,r,n);this.walk(e,i)}walkMany(e,r,n){let i=[new Ge({definition:e.definition})].concat(r,n);this.walk(e,i)}walkManySep(e,r,n){let i=_0(e,r,n);this.walk(e,i)}walkOr(e,r,n){let i=r.concat(n);e.definition.forEach(o=>{let s=new Qe({definition:[o]});this.walk(s,i)})}};function _0(t,e,r){return[new Ge({definition:[new Te({terminalType:t.separator})].concat(t.definition)})].concat(e,r)}function Eo(t){if(t instanceof Be)return Eo(t.referencedRule);if(t instanceof Te)return kO(t);if(ug(t))return SO(t);if(fg(t))return IO(t);throw Error("non exhaustive match")}function SO(t){let e=[],r=t.definition,n=0,i=r.length>n,o,s=!0;for(;i&&s;)o=r[n],s=_o(o),e=e.concat(Eo(o)),n=n+1,i=r.length>n;return[...new Set(e)]}function IO(t){let e=t.definition.map(r=>Eo(r));return[...new Set(e.flat())]}function kO(t){return[t.terminalType]}var $f="_~IN~_";var dg=class extends $n{constructor(e){super(),this.topProd=e,this.follows={}}startWalking(){return this.walk(this.topProd),this.follows}walkTerminal(e,r,n){}walkProdRef(e,r,n){let i=NO(e.referencedRule,e.idx)+this.topProd.name,o=r.concat(n),s=new Qe({definition:o}),a=Eo(s);this.follows[i]=a}};function E0(t){let e={};return t.forEach(r=>{let n=new dg(r).startWalking();Object.assign(e,n)}),e}function NO(t,e){return t.name+e+$f}var Mf={},PO=new xo;function Is(t){let e=t.toString();if(Mf.hasOwnProperty(e))return Mf[e];{let r=PO.pattern(e);return Mf[e]=r,r}}function v0(){Mf={}}var b0="Complement Sets are not supported for first char optimization",qc=`Unable to use "first char" lexer optimizations:
|
|
48
|
+
`;function w0(t,e=!1){try{let r=Is(t);return pg(r.value,{},r.flags.ignoreCase)}catch(r){if(r.message===b0)e&&Hc(`${qc} Unable to optimize: < ${t.toString()} >
|
|
49
49
|
Complement Sets cannot be automatically optimized.
|
|
50
50
|
This will disable the lexer's first char optimizations.
|
|
51
51
|
See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#COMPLEMENT for details.`);else{let n="";e&&(n=`
|
|
52
52
|
This will disable the lexer's first char optimizations.
|
|
53
|
-
See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#REGEXP_PARSING for details.`),
|
|
53
|
+
See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#REGEXP_PARSING for details.`),As(`${qc}
|
|
54
54
|
Failed parsing: < ${t.toString()} >
|
|
55
55
|
Using the @chevrotain/regexp-to-ast library
|
|
56
|
-
Please open an issue at: https://github.com/chevrotain/chevrotain/issues`+n)}}return[]}function
|
|
57
|
-
`],tracer:(_,E)=>E()},e);let r=e.tracer;r("initCharCodeToOptimizedIndexMap",()=>{
|
|
56
|
+
Please open an issue at: https://github.com/chevrotain/chevrotain/issues`+n)}}return[]}function pg(t,e,r){switch(t.type){case"Disjunction":for(let i=0;i<t.value.length;i++)pg(t.value[i],e,r);break;case"Alternative":let n=t.value;for(let i=0;i<n.length;i++){let o=n[i];switch(o.type){case"EndAnchor":case"GroupBackReference":case"Lookahead":case"NegativeLookahead":case"Lookbehind":case"NegativeLookbehind":case"StartAnchor":case"WordBoundary":case"NonWordBoundary":continue}let s=o;switch(s.type){case"Character":Ff(s.value,e,r);break;case"Set":if(s.complement===!0)throw Error(b0);s.value.forEach(c=>{if(typeof c=="number")Ff(c,e,r);else{let l=c;if(r===!0)for(let u=l.from;u<=l.to;u++)Ff(u,e,r);else{for(let u=l.from;u<=l.to&&u<ks;u++)Ff(u,e,r);if(l.to>=ks){let u=l.from>=ks?l.from:ks,f=l.to,d=pn(u),p=pn(f);for(let m=d;m<=p;m++)e[m]=m}}}});break;case"Group":pg(s.value,e,r);break;default:throw Error("Non Exhaustive Match")}let a=s.quantifier!==void 0&&s.quantifier.atLeast===0;if(s.type==="Group"&&hg(s)===!1||s.type!=="Group"&&a===!1)break}break;default:throw Error("non exhaustive match!")}return Object.values(e)}function Ff(t,e,r){let n=pn(t);e[n]=n,r===!0&&CO(t,e)}function CO(t,e){let r=String.fromCharCode(t),n=r.toUpperCase();if(n!==r){let i=pn(n.charCodeAt(0));e[i]=i}else{let i=r.toLowerCase();if(i!==r){let o=pn(i.charCodeAt(0));e[o]=o}}}function R0(t,e){return t.value.find(r=>{if(typeof r=="number")return e.includes(r);{let n=r;return e.find(i=>n.from<=i&&i<=n.to)!==void 0}})}function hg(t){let e=t.quantifier;return e&&e.atLeast===0?!0:t.value?Array.isArray(t.value)?t.value.every(hg):hg(t.value):!1}var mg=class extends fn{constructor(e){super(),this.targetCharCodes=e,this.found=!1}visitChildren(e){if(this.found!==!0){switch(e.type){case"Lookahead":this.visitLookahead(e);return;case"NegativeLookahead":this.visitNegativeLookahead(e);return;case"Lookbehind":this.visitLookbehind(e);return;case"NegativeLookbehind":this.visitNegativeLookbehind(e);return}super.visitChildren(e)}}visitCharacter(e){this.targetCharCodes.includes(e.value)&&(this.found=!0)}visitSet(e){e.complement?R0(e,this.targetCharCodes)===void 0&&(this.found=!0):R0(e,this.targetCharCodes)!==void 0&&(this.found=!0)}};function Uf(t,e){if(e instanceof RegExp){let r=Is(e),n=new mg(t);return n.visit(r),n.found}else{for(let r of e){let n=r.charCodeAt(0);if(t.includes(n))return!0}return!1}}var vo="PATTERN",Ns="defaultMode",Bf="modes";function S0(t,e){e=Object.assign({safeMode:!1,positionTracking:"full",lineTerminatorCharacters:["\r",`
|
|
57
|
+
`],tracer:(_,E)=>E()},e);let r=e.tracer;r("initCharCodeToOptimizedIndexMap",()=>{ZO()});let n;r("Reject Lexer.NA",()=>{n=t.filter(_=>_[vo]!==ct.NA)});let i=!1,o;r("Transform Patterns",()=>{i=!1,o=n.map(_=>{let E=_[vo];if(E instanceof RegExp){let I=E.source;return I.length===1&&I!=="^"&&I!=="$"&&I!=="."&&!E.ignoreCase?I:I.length===2&&I[0]==="\\"&&!["d","D","s","S","t","r","n","t","0","c","b","B","f","v","w","W"].includes(I[1])?I[1]:A0(E)}else{if(typeof E=="function")return i=!0,{exec:E};if(typeof E=="object")return i=!0,E;if(typeof E=="string"){if(E.length===1)return E;{let I=E.replace(/[\\^$.*+?()[\]{}|]/g,"\\$&"),D=new RegExp(I);return A0(D)}}else throw Error("non exhaustive match")}})});let s,a,c,l,u;r("misc mapping",()=>{s=n.map(_=>_.tokenTypeIdx),a=n.map(_=>{let E=_.GROUP;if(E!==ct.SKIPPED){if(typeof E=="string")return E;if(E===void 0)return!1;throw Error("non exhaustive match")}}),c=n.map(_=>{let E=_.LONGER_ALT;if(E)return Array.isArray(E)?E.map(D=>n.indexOf(D)):[n.indexOf(E)]}),l=n.map(_=>_.PUSH_MODE),u=n.map(_=>Object.hasOwn(_,"POP_MODE"))});let f;r("Line Terminator Handling",()=>{let _=D0(e.lineTerminatorCharacters);f=n.map(E=>!1),e.positionTracking!=="onlyOffset"&&(f=n.map(E=>Object.hasOwn(E,"LINE_BREAKS")?!!E.LINE_BREAKS:L0(E,_)===!1&&Uf(_,E.PATTERN)))});let d,p,m,g;r("Misc Mapping #2",()=>{d=n.map(C0),p=o.map(YO),m=n.reduce((_,E)=>{let I=E.GROUP;return typeof I=="string"&&I!==ct.SKIPPED&&(_[I]=[]),_},{}),g=o.map((_,E)=>({pattern:o[E],longerAlt:c[E],canLineTerminator:f[E],isCustom:d[E],short:p[E],group:a[E],push:l[E],pop:u[E],tokenTypeIdx:s[E],tokenType:n[E]}))});let v=!0,T=[];return e.safeMode||r("First Char Optimization",()=>{T=n.reduce((_,E,I)=>{if(typeof E.PATTERN=="string"){let D=E.PATTERN.charCodeAt(0),k=pn(D);gg(_,k,g[I])}else if(Array.isArray(E.START_CHARS_HINT)){let D;E.START_CHARS_HINT.forEach(k=>{let B=typeof k=="string"?k.charCodeAt(0):k,U=pn(B);D!==U&&(D=U,gg(_,U,g[I]))})}else if(E.PATTERN instanceof RegExp)if(E.PATTERN.unicode)v=!1,e.ensureOptimizations&&As(`${qc} Unable to analyze < ${E.PATTERN.toString()} > pattern.
|
|
58
58
|
The regexp unicode flag is not currently supported by the regexp-to-ast library.
|
|
59
59
|
This will disable the lexer's first char optimizations.
|
|
60
|
-
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNICODE_OPTIMIZE`);else{let D=
|
|
60
|
+
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNICODE_OPTIMIZE`);else{let D=w0(E.PATTERN,e.ensureOptimizations);D.length===0&&(v=!1),D.forEach(k=>{gg(_,k,g[I])})}else e.ensureOptimizations&&As(`${qc} TokenType: <${E.name}> is using a custom token pattern without providing <start_chars_hint> parameter.
|
|
61
61
|
This will disable the lexer's first char optimizations.
|
|
62
|
-
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_OPTIMIZE`),v=!1;return _},[])}),{emptyGroups:m,patternIdxToConfig:g,charCodeToPatternIdxToConfig:T,hasCustom:i,canBeOptimized:v}}function
|
|
62
|
+
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_OPTIMIZE`),v=!1;return _},[])}),{emptyGroups:m,patternIdxToConfig:g,charCodeToPatternIdxToConfig:T,hasCustom:i,canBeOptimized:v}}function I0(t,e){let r=[],n=LO(t);r=r.concat(n.errors);let i=DO(n.valid),o=i.valid;return r=r.concat(i.errors),r=r.concat(OO(o)),r=r.concat(HO(o)),r=r.concat(jO(o,e)),r=r.concat(zO(o)),r}function OO(t){let e=[],r=t.filter(n=>n[vo]instanceof RegExp);return e=e.concat(MO(r)),e=e.concat(BO(r)),e=e.concat(GO(r)),e=e.concat(XO(r)),e=e.concat(FO(r)),e}function LO(t){let e=t.filter(i=>!Object.hasOwn(i,vo)),r=e.map(i=>({message:"Token Type: ->"+i.name+"<- missing static 'PATTERN' property",type:at.MISSING_PATTERN,tokenTypes:[i]})),n=t.filter(i=>!e.includes(i));return{errors:r,valid:n}}function DO(t){let e=t.filter(i=>{let o=i[vo];return!(o instanceof RegExp)&&typeof o!="function"&&!Object.hasOwn(o,"exec")&&typeof o!="string"}),r=e.map(i=>({message:"Token Type: ->"+i.name+"<- static 'PATTERN' can only be a RegExp, a Function matching the {CustomPatternMatcherFunc} type or an Object matching the {ICustomPattern} interface.",type:at.INVALID_PATTERN,tokenTypes:[i]})),n=t.filter(i=>!e.includes(i));return{errors:r,valid:n}}var $O=/[^\\][$]/;function MO(t){class e extends fn{constructor(){super(...arguments),this.found=!1}visitEndAnchor(o){this.found=!0}}return t.filter(i=>{let o=i.PATTERN;try{let s=Is(o),a=new e;return a.visit(s),a.found}catch{return $O.test(o.source)}}).map(i=>({message:`Unexpected RegExp Anchor Error:
|
|
63
63
|
Token Type: ->`+i.name+`<- static 'PATTERN' cannot contain end of input anchor '$'
|
|
64
|
-
See chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:at.EOI_ANCHOR_FOUND,tokenTypes:[i]}))}function
|
|
64
|
+
See chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:at.EOI_ANCHOR_FOUND,tokenTypes:[i]}))}function FO(t){return t.filter(n=>n.PATTERN.test("")).map(n=>({message:"Token Type: ->"+n.name+"<- static 'PATTERN' must not match an empty string",type:at.EMPTY_MATCH_PATTERN,tokenTypes:[n]}))}var UO=/[^\\[][\^]|^\^/;function BO(t){class e extends fn{constructor(){super(...arguments),this.found=!1}visitStartAnchor(o){this.found=!0}}return t.filter(i=>{let o=i.PATTERN;try{let s=Is(o),a=new e;return a.visit(s),a.found}catch{return UO.test(o.source)}}).map(i=>({message:`Unexpected RegExp Anchor Error:
|
|
65
65
|
Token Type: ->`+i.name+`<- static 'PATTERN' cannot contain start of input anchor '^'
|
|
66
|
-
See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:at.SOI_ANCHOR_FOUND,tokenTypes:[i]}))}function
|
|
66
|
+
See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:at.SOI_ANCHOR_FOUND,tokenTypes:[i]}))}function GO(t){return t.filter(n=>{let i=n[vo];return i instanceof RegExp&&(i.multiline||i.global)}).map(n=>({message:"Token Type: ->"+n.name+"<- static 'PATTERN' may NOT contain global('g') or multiline('m')",type:at.UNSUPPORTED_FLAGS_FOUND,tokenTypes:[n]}))}function XO(t){let e=[],r=t.map(o=>t.reduce((s,a)=>(o.PATTERN.source===a.PATTERN.source&&!e.includes(a)&&a.PATTERN!==ct.NA&&(e.push(a),s.push(a)),s),[]));return r=r.filter(Boolean),r.filter(o=>o.length>1).map(o=>{let s=o.map(c=>c.name);return{message:`The same RegExp pattern ->${o[0].PATTERN}<-has been used in all of the following Token Types: ${s.join(", ")} <-`,type:at.DUPLICATE_PATTERNS_FOUND,tokenTypes:o}})}function HO(t){return t.filter(n=>{if(!Object.hasOwn(n,"GROUP"))return!1;let i=n.GROUP;return i!==ct.SKIPPED&&i!==ct.NA&&typeof i!="string"}).map(n=>({message:"Token Type: ->"+n.name+"<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String",type:at.INVALID_GROUP_TYPE_FOUND,tokenTypes:[n]}))}function jO(t,e){return t.filter(i=>i.PUSH_MODE!==void 0&&!e.includes(i.PUSH_MODE)).map(i=>({message:`Token Type: ->${i.name}<- static 'PUSH_MODE' value cannot refer to a Lexer Mode ->${i.PUSH_MODE}<-which does not exist`,type:at.PUSH_MODE_DOES_NOT_EXIST,tokenTypes:[i]}))}function zO(t){let e=[],r=t.reduce((n,i,o)=>{let s=i.PATTERN;return s===ct.NA||(typeof s=="string"?n.push({str:s,idx:o,tokenType:i}):s instanceof RegExp&&WO(s)&&n.push({str:s.source,idx:o,tokenType:i})),n},[]);return t.forEach((n,i)=>{r.forEach(({str:o,idx:s,tokenType:a})=>{if(i<s&&qO(o,n.PATTERN)){let c=`Token: ->${a.name}<- can never be matched.
|
|
67
67
|
Because it appears AFTER the Token Type ->${n.name}<-in the lexer's definition.
|
|
68
|
-
See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNREACHABLE`;e.push({message:c,type:at.UNREACHABLE_PATTERN,tokenTypes:[n,a]})}})}),e}function
|
|
69
|
-
`,type:at.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE}),Object.hasOwn(t
|
|
70
|
-
`,type:at.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY}),Object.hasOwn(t
|
|
71
|
-
`,type:at.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST}),Object.hasOwn(t
|
|
68
|
+
See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNREACHABLE`;e.push({message:c,type:at.UNREACHABLE_PATTERN,tokenTypes:[n,a]})}})}),e}function qO(t,e){if(e instanceof RegExp){if(VO(e))return!1;let r=e.exec(t);return r!==null&&r.index===0}else{if(typeof e=="function")return e(t,0,[],{});if(Object.hasOwn(e,"exec"))return e.exec(t,0,[],{});if(typeof e=="string")return e===t;throw Error("non exhaustive match")}}function WO(t){return[".","\\","[","]","|","^","$","(",")","?","*","+","{"].find(r=>t.source.indexOf(r)!==-1)===void 0}function VO(t){return/(\(\?=)|(\(\?!)|(\(\?<=)|(\(\?<!)/.test(t.source)}function A0(t){let e=t.ignoreCase?"iy":"y";return new RegExp(`${t.source}`,e)}function k0(t,e,r){let n=[];return Object.hasOwn(t,Ns)||n.push({message:"A MultiMode Lexer cannot be initialized without a <"+Ns+`> property in its definition
|
|
69
|
+
`,type:at.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE}),Object.hasOwn(t,Bf)||n.push({message:"A MultiMode Lexer cannot be initialized without a <"+Bf+`> property in its definition
|
|
70
|
+
`,type:at.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY}),Object.hasOwn(t,Bf)&&Object.hasOwn(t,Ns)&&!Object.hasOwn(t.modes,t.defaultMode)&&n.push({message:`A MultiMode Lexer cannot be initialized with a ${Ns}: <${t.defaultMode}>which does not exist
|
|
71
|
+
`,type:at.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST}),Object.hasOwn(t,Bf)&&Object.keys(t.modes).forEach(i=>{let o=t.modes[i];o.forEach((s,a)=>{s===void 0?n.push({message:`A Lexer cannot be initialized using an undefined Token Type. Mode:<${i}> at index: <${a}>
|
|
72
72
|
`,type:at.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED}):Object.hasOwn(s,"LONGER_ALT")&&(Array.isArray(s.LONGER_ALT)?s.LONGER_ALT:[s.LONGER_ALT]).forEach(l=>{l!==void 0&&!o.includes(l)&&n.push({message:`A MultiMode Lexer cannot be initialized with a longer_alt <${l.name}> on token <${s.name}> outside of mode <${i}>
|
|
73
|
-
`,type:at.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE})})})}),n}function
|
|
73
|
+
`,type:at.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE})})})}),n}function N0(t,e,r){let n=[],i=!1,s=Object.values(t.modes||{}).flat().filter(Boolean).filter(c=>c[vo]!==ct.NA),a=D0(r);return e&&s.forEach(c=>{let l=L0(c,a);if(l!==!1){let f={message:KO(c,l),type:l.issue,tokenType:c};n.push(f)}else Object.hasOwn(c,"LINE_BREAKS")?c.LINE_BREAKS===!0&&(i=!0):Uf(a,c.PATTERN)&&(i=!0)}),e&&!i&&n.push({message:`Warning: No LINE_BREAKS Found.
|
|
74
74
|
This Lexer has been defined to track line and column information,
|
|
75
75
|
But none of the Token Types can be identified as matching a line terminator.
|
|
76
76
|
See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#LINE_BREAKS
|
|
77
|
-
for details.`,type:at.NO_LINE_BREAKS_FLAGS}),n}function
|
|
77
|
+
for details.`,type:at.NO_LINE_BREAKS_FLAGS}),n}function P0(t){let e={};return Object.keys(t).forEach(n=>{let i=t[n];if(Array.isArray(i))e[n]=[];else throw Error("non exhaustive match")}),e}function C0(t){let e=t.PATTERN;if(e instanceof RegExp)return!1;if(typeof e=="function")return!0;if(Object.hasOwn(e,"exec"))return!0;if(typeof e=="string")return!1;throw Error("non exhaustive match")}function YO(t){return typeof t=="string"&&t.length===1?t.charCodeAt(0):!1}var O0={test:function(t){let e=t.length;for(let r=this.lastIndex;r<e;r++){let n=t.charCodeAt(r);if(n===10)return this.lastIndex=r+1,!0;if(n===13)return t.charCodeAt(r+1)===10?this.lastIndex=r+2:this.lastIndex=r+1,!0}return!1},lastIndex:0};function L0(t,e){if(Object.hasOwn(t,"LINE_BREAKS"))return!1;if(t.PATTERN instanceof RegExp){try{Uf(e,t.PATTERN)}catch(r){return{issue:at.IDENTIFY_TERMINATOR,errMsg:r.message}}return!1}else{if(typeof t.PATTERN=="string")return!1;if(C0(t))return{issue:at.CUSTOM_LINE_BREAK};throw Error("non exhaustive match")}}function KO(t,e){if(e.issue===at.IDENTIFY_TERMINATOR)return`Warning: unable to identify line terminator usage in pattern.
|
|
78
78
|
The problem is in the <${t.name}> Token Type
|
|
79
79
|
Root cause: ${e.errMsg}.
|
|
80
80
|
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#IDENTIFY_TERMINATOR`;if(e.issue===at.CUSTOM_LINE_BREAK)return`Warning: A Custom Token Pattern should specify the <line_breaks> option.
|
|
81
81
|
The problem is in the <${t.name}> Token Type
|
|
82
|
-
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_LINE_BREAK`;throw Error("non exhaustive match")}function
|
|
83
|
-
`,"\r"],ensureOptimizations:!1,safeMode:!1,errorMessageProvider:
|
|
84
|
-
a boolean 2nd argument is no longer supported`);this.config=Object.assign({},
|
|
85
|
-
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#MISSING_LINE_TERM_CHARS`);if(r.safeMode&&r.ensureOptimizations)throw Error('"safeMode" and "ensureOptimizations" flags are mutually exclusive.');this.trackStartLines=/full|onlyStart/i.test(this.config.positionTracking),this.trackEndLines=/full/i.test(this.config.positionTracking),Array.isArray(e)?i={modes:{defaultMode:[...e]},defaultMode:
|
|
82
|
+
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_LINE_BREAK`;throw Error("non exhaustive match")}function D0(t){return t.map(r=>typeof r=="string"?r.charCodeAt(0):r)}function gg(t,e,r){t[e]===void 0?t[e]=[r]:t[e].push(r)}var ks=256,Gf=[];function pn(t){return t<ks?t:Gf[t]}function ZO(){if(Gf.length===0){Gf=new Array(65536);for(let t=0;t<65536;t++)Gf[t]=t>255?255+~~(t/255):t}}function Mn(t,e){let r=t.tokenTypeIdx;return r===e.tokenTypeIdx?!0:e.isParent===!0&&e.categoryMatchesMap[r]===!0}function Ps(t,e){return t.tokenTypeIdx===e.tokenTypeIdx}var $0=1,F0={};function Fn(t){let e=JO(t);QO(e),tL(e),eL(e),e.forEach(r=>{r.isParent=r.categoryMatches.length>0})}function JO(t){let e=[...t],r=t,n=!0;for(;n;){r=r.map(o=>o.CATEGORIES).flat().filter(Boolean);let i=r.filter(o=>!e.includes(o));e=e.concat(i),i.length===0?n=!1:r=i}return e}function QO(t){t.forEach(e=>{yg(e)||(F0[$0]=e,e.tokenTypeIdx=$0++),M0(e)&&!Array.isArray(e.CATEGORIES)&&(e.CATEGORIES=[e.CATEGORIES]),M0(e)||(e.CATEGORIES=[]),rL(e)||(e.categoryMatches=[]),nL(e)||(e.categoryMatchesMap={})})}function eL(t){t.forEach(e=>{e.categoryMatches=[],Object.keys(e.categoryMatchesMap).forEach(r=>{e.categoryMatches.push(F0[r].tokenTypeIdx)})})}function tL(t){t.forEach(e=>{U0([],e)})}function U0(t,e){t.forEach(r=>{e.categoryMatchesMap[r.tokenTypeIdx]=!0}),e.CATEGORIES.forEach(r=>{let n=t.concat(e);n.includes(r)||U0(n,r)})}function yg(t){return Object.hasOwn(t??{},"tokenTypeIdx")}function M0(t){return Object.hasOwn(t??{},"CATEGORIES")}function rL(t){return Object.hasOwn(t??{},"categoryMatches")}function nL(t){return Object.hasOwn(t??{},"categoryMatchesMap")}function B0(t){return Object.hasOwn(t??{},"tokenTypeIdx")}var Cs={buildUnableToPopLexerModeMessage(t){return`Unable to pop Lexer Mode after encountering Token ->${t.image}<- The Mode Stack is empty`},buildUnexpectedCharactersMessage(t,e,r,n,i,o){return`unexpected character: ->${t.charAt(e)}<- at offset: ${e}, skipped ${r} characters.`}};var at;(function(t){t[t.MISSING_PATTERN=0]="MISSING_PATTERN",t[t.INVALID_PATTERN=1]="INVALID_PATTERN",t[t.EOI_ANCHOR_FOUND=2]="EOI_ANCHOR_FOUND",t[t.UNSUPPORTED_FLAGS_FOUND=3]="UNSUPPORTED_FLAGS_FOUND",t[t.DUPLICATE_PATTERNS_FOUND=4]="DUPLICATE_PATTERNS_FOUND",t[t.INVALID_GROUP_TYPE_FOUND=5]="INVALID_GROUP_TYPE_FOUND",t[t.PUSH_MODE_DOES_NOT_EXIST=6]="PUSH_MODE_DOES_NOT_EXIST",t[t.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE=7]="MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE",t[t.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY=8]="MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY",t[t.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST=9]="MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST",t[t.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED=10]="LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED",t[t.SOI_ANCHOR_FOUND=11]="SOI_ANCHOR_FOUND",t[t.EMPTY_MATCH_PATTERN=12]="EMPTY_MATCH_PATTERN",t[t.NO_LINE_BREAKS_FLAGS=13]="NO_LINE_BREAKS_FLAGS",t[t.UNREACHABLE_PATTERN=14]="UNREACHABLE_PATTERN",t[t.IDENTIFY_TERMINATOR=15]="IDENTIFY_TERMINATOR",t[t.CUSTOM_LINE_BREAK=16]="CUSTOM_LINE_BREAK",t[t.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE=17]="MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE"})(at||(at={}));var Wc={deferDefinitionErrorsHandling:!1,positionTracking:"full",lineTerminatorsPattern:/\n|\r\n?/g,lineTerminatorCharacters:[`
|
|
83
|
+
`,"\r"],ensureOptimizations:!1,safeMode:!1,errorMessageProvider:Cs,traceInitPerf:!1,skipValidations:!1,recoveryEnabled:!0};Object.freeze(Wc);var ct=class{constructor(e,r=Wc){if(this.lexerDefinition=e,this.lexerDefinitionErrors=[],this.lexerDefinitionWarning=[],this.patternIdxToConfig={},this.charCodeToPatternIdxToConfig={},this.modes=[],this.emptyGroups={},this.trackStartLines=!0,this.trackEndLines=!0,this.hasCustom=!1,this.canModeBeOptimized={},this.TRACE_INIT=(i,o)=>{if(this.traceInitPerf===!0){this.traceInitIndent++;let s=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent<this.traceInitMaxIdent&&console.log(`${s}--> <${i}>`);let{time:a,value:c}=jc(o),l=a>10?console.warn:console.log;return this.traceInitIndent<this.traceInitMaxIdent&&l(`${s}<-- <${i}> time: ${a}ms`),this.traceInitIndent--,c}else return o()},typeof r=="boolean")throw Error(`The second argument to the Lexer constructor is now an ILexerConfig Object.
|
|
84
|
+
a boolean 2nd argument is no longer supported`);this.config=Object.assign({},Wc,r);let n=this.config.traceInitPerf;n===!0?(this.traceInitMaxIdent=1/0,this.traceInitPerf=!0):typeof n=="number"&&(this.traceInitMaxIdent=n,this.traceInitPerf=!0),this.traceInitIndent=-1,this.TRACE_INIT("Lexer Constructor",()=>{let i,o=!0;this.TRACE_INIT("Lexer Config handling",()=>{if(this.config.lineTerminatorsPattern===Wc.lineTerminatorsPattern)this.config.lineTerminatorsPattern=O0;else if(this.config.lineTerminatorCharacters===Wc.lineTerminatorCharacters)throw Error(`Error: Missing <lineTerminatorCharacters> property on the Lexer config.
|
|
85
|
+
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#MISSING_LINE_TERM_CHARS`);if(r.safeMode&&r.ensureOptimizations)throw Error('"safeMode" and "ensureOptimizations" flags are mutually exclusive.');this.trackStartLines=/full|onlyStart/i.test(this.config.positionTracking),this.trackEndLines=/full/i.test(this.config.positionTracking),Array.isArray(e)?i={modes:{defaultMode:[...e]},defaultMode:Ns}:(o=!1,i=Object.assign({},e))}),this.config.skipValidations===!1&&(this.TRACE_INIT("performRuntimeChecks",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(k0(i,this.trackStartLines,this.config.lineTerminatorCharacters))}),this.TRACE_INIT("performWarningRuntimeChecks",()=>{this.lexerDefinitionWarning=this.lexerDefinitionWarning.concat(N0(i,this.trackStartLines,this.config.lineTerminatorCharacters))})),i.modes=i.modes?i.modes:{},Object.entries(i.modes).forEach(([a,c])=>{i.modes[a]=c.filter(l=>l!==void 0)});let s=Object.keys(i.modes);if(Object.entries(i.modes).forEach(([a,c])=>{this.TRACE_INIT(`Mode: <${a}> processing`,()=>{if(this.modes.push(a),this.config.skipValidations===!1&&this.TRACE_INIT("validatePatterns",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(I0(c,s))}),this.lexerDefinitionErrors.length===0){Fn(c);let l;this.TRACE_INIT("analyzeTokenTypes",()=>{l=S0(c,{lineTerminatorCharacters:this.config.lineTerminatorCharacters,positionTracking:r.positionTracking,ensureOptimizations:r.ensureOptimizations,safeMode:r.safeMode,tracer:this.TRACE_INIT})}),this.patternIdxToConfig[a]=l.patternIdxToConfig,this.charCodeToPatternIdxToConfig[a]=l.charCodeToPatternIdxToConfig,this.emptyGroups=Object.assign({},this.emptyGroups,l.emptyGroups),this.hasCustom=l.hasCustom||this.hasCustom,this.canModeBeOptimized[a]=l.canBeOptimized}})}),this.defaultMode=i.defaultMode,this.lexerDefinitionErrors.length>0&&!this.config.deferDefinitionErrorsHandling){let c=this.lexerDefinitionErrors.map(l=>l.message).join(`-----------------------
|
|
86
86
|
`);throw new Error(`Errors detected in definition of Lexer:
|
|
87
|
-
`+c)}this.lexerDefinitionWarning.forEach(a=>{
|
|
87
|
+
`+c)}this.lexerDefinitionWarning.forEach(a=>{Hc(a.message)}),this.TRACE_INIT("Choosing sub-methods implementations",()=>{if(o&&(this.handleModes=()=>{}),this.trackStartLines===!1&&(this.computeNewColumn=a=>a),this.trackEndLines===!1&&(this.updateTokenEndLineColumnLocation=()=>{}),/full/i.test(this.config.positionTracking))this.createTokenInstance=this.createFullToken;else if(/onlyStart/i.test(this.config.positionTracking))this.createTokenInstance=this.createStartOnlyToken;else if(/onlyOffset/i.test(this.config.positionTracking))this.createTokenInstance=this.createOffsetOnlyToken;else throw Error(`Invalid <positionTracking> config option: "${this.config.positionTracking}"`);this.hasCustom?(this.addToken=this.addTokenUsingPush,this.handlePayload=this.handlePayloadWithCustom):(this.addToken=this.addTokenUsingMemberAccess,this.handlePayload=this.handlePayloadNoCustom)}),this.TRACE_INIT("Failed Optimization Warnings",()=>{let a=Object.entries(this.canModeBeOptimized).reduce((c,[l,u])=>(u===!1&&c.push(l),c),[]);if(r.ensureOptimizations&&a.length>0)throw Error(`Lexer Modes: < ${a.join(", ")} > cannot be optimized.
|
|
88
88
|
Disable the "ensureOptimizations" lexer config flag to silently ignore this and run the lexer in an un-optimized mode.
|
|
89
|
-
Or inspect the console log for details on how to resolve these issues.`)}),this.TRACE_INIT("clearRegExpParserCache",()=>{
|
|
89
|
+
Or inspect the console log for details on how to resolve these issues.`)}),this.TRACE_INIT("clearRegExpParserCache",()=>{v0()}),this.TRACE_INIT("toFastProperties",()=>{zc(this)})})}tokenize(e,r=this.defaultMode){if(this.lexerDefinitionErrors.length>0){let i=this.lexerDefinitionErrors.map(o=>o.message).join(`-----------------------
|
|
90
90
|
`);throw new Error(`Unable to Tokenize because Errors detected in definition of Lexer:
|
|
91
|
-
`+i)}return this.tokenizeInternal(e,r)}tokenizeInternal(e,r){let n,i,o,s,a,c,l,u,f,d,p,m,g,v,T,_=e,E=_.length,I=0,D=0,k=this.hasCustom?0:Math.floor(e.length/10),B=new Array(k),U=[],z=this.trackStartLines?1:void 0,le=this.trackStartLines?1:void 0,O=
|
|
92
|
-
See: https://github.com/chevrotain/chevrotain/issues/564#issuecomment-349062346 for details.`;return Object.hasOwn(t,
|
|
91
|
+
`+i)}return this.tokenizeInternal(e,r)}tokenizeInternal(e,r){let n,i,o,s,a,c,l,u,f,d,p,m,g,v,T,_=e,E=_.length,I=0,D=0,k=this.hasCustom?0:Math.floor(e.length/10),B=new Array(k),U=[],z=this.trackStartLines?1:void 0,le=this.trackStartLines?1:void 0,O=P0(this.emptyGroups),R=this.trackStartLines,L=this.config.lineTerminatorsPattern,$=0,w=[],A=[],S=[],M=[];Object.freeze(M);let X=!1,F=V=>{if(S.length===1&&V.tokenType.PUSH_MODE===void 0){let te=this.config.errorMessageProvider.buildUnableToPopLexerModeMessage(V);U.push({offset:V.startOffset,line:V.startLine,column:V.startColumn,length:V.image.length,message:te})}else{S.pop();let te=S.at(-1);w=this.patternIdxToConfig[te],A=this.charCodeToPatternIdxToConfig[te],$=w.length;let De=this.canModeBeOptimized[te]&&this.config.safeMode===!1;A&&De?X=!0:X=!1}};function W(V){S.push(V),A=this.charCodeToPatternIdxToConfig[V],w=this.patternIdxToConfig[V],$=w.length,$=w.length;let te=this.canModeBeOptimized[V]&&this.config.safeMode===!1;A&&te?X=!0:X=!1}W.call(this,r);let Z,pe=this.config.recoveryEnabled;for(;I<E;){c=null,f=-1;let V=_.charCodeAt(I),te;if(X){let Ne=pn(V),Xe=A[Ne];te=Xe!==void 0?Xe:M}else te=w;let De=te.length;for(n=0;n<De;n++){Z=te[n];let Ne=Z.pattern;l=null;let Xe=Z.short;if(Xe!==!1?V===Xe&&(f=1,c=Ne):Z.isCustom===!0?(T=Ne.exec(_,I,B,O),T!==null?(c=T[0],f=c.length,T.payload!==void 0&&(l=T.payload)):c=null):(Ne.lastIndex=I,f=this.matchLength(Ne,e,I)),f!==-1){if(a=Z.longerAlt,a!==void 0){c=e.substring(I,I+f);let q=a.length;for(o=0;o<q;o++){let J=w[a[o]],re=J.pattern;if(u=null,J.isCustom===!0?(T=re.exec(_,I,B,O),T!==null?(s=T[0],T.payload!==void 0&&(u=T.payload)):s=null):(re.lastIndex=I,s=this.match(re,e,I)),s&&s.length>c.length){c=s,f=s.length,l=u,Z=J;break}}}break}}if(f!==-1){if(d=Z.group,d!==void 0&&(c=c!==null?c:e.substring(I,I+f),p=Z.tokenTypeIdx,m=this.createTokenInstance(c,I,p,Z.tokenType,z,le,f),this.handlePayload(m,l),d===!1?D=this.addToken(B,D,m):O[d].push(m)),R===!0&&Z.canLineTerminator===!0){let Ne=0,Xe,q;L.lastIndex=0;do c=c!==null?c:e.substring(I,I+f),Xe=L.test(c),Xe===!0&&(q=L.lastIndex-1,Ne++);while(Xe===!0);Ne!==0?(z=z+Ne,le=f-q,this.updateTokenEndLineColumnLocation(m,d,q,Ne,z,le,f)):le=this.computeNewColumn(le,f)}else le=this.computeNewColumn(le,f);I=I+f,this.handleModes(Z,F,W,m)}else{let Ne=I,Xe=z,q=le,J=pe===!1;for(;J===!1&&I<E;)for(I++,i=0;i<$;i++){let re=w[i],P=re.pattern,we=re.short;if(we!==!1?_.charCodeAt(I)===we&&(J=!0):re.isCustom===!0?J=P.exec(_,I,B,O)!==null:(P.lastIndex=I,J=P.exec(e)!==null),J===!0)break}if(g=I-Ne,le=this.computeNewColumn(le,g),v=this.config.errorMessageProvider.buildUnexpectedCharactersMessage(_,Ne,g,Xe,q,S.at(-1)),U.push({offset:Ne,line:Xe,column:q,length:g,message:v}),pe===!1)break}}return this.hasCustom||(B.length=D),{tokens:B,groups:O,errors:U}}handleModes(e,r,n,i){if(e.pop===!0){let o=e.push;r(i),o!==void 0&&n.call(this,o)}else e.push!==void 0&&n.call(this,e.push)}updateTokenEndLineColumnLocation(e,r,n,i,o,s,a){let c,l;r!==void 0&&(c=n===a-1,l=c?-1:0,i===1&&c===!0||(e.endLine=o+l,e.endColumn=s-1+-l))}computeNewColumn(e,r){return e+r}createOffsetOnlyToken(e,r,n,i){return{image:e,startOffset:r,tokenTypeIdx:n,tokenType:i}}createStartOnlyToken(e,r,n,i,o,s){return{image:e,startOffset:r,startLine:o,startColumn:s,tokenTypeIdx:n,tokenType:i}}createFullToken(e,r,n,i,o,s,a){return{image:e,startOffset:r,endOffset:r+a-1,startLine:o,endLine:o,startColumn:s,endColumn:s+a-1,tokenTypeIdx:n,tokenType:i}}addTokenUsingPush(e,r,n){return e.push(n),r}addTokenUsingMemberAccess(e,r,n){return e[r]=n,r++,r}handlePayloadNoCustom(e,r){}handlePayloadWithCustom(e,r){r!==null&&(e.payload=r)}match(e,r,n){return e.test(r)===!0?r.substring(n,e.lastIndex):null}matchLength(e,r,n){return e.test(r)===!0?e.lastIndex-n:-1}};ct.SKIPPED="This marks a skipped Token pattern, this means each token identified by it will be consumed and then thrown into oblivion, this can be used to for example to completely ignore whitespace.";ct.NA=/NOT_APPLICABLE/;function Un(t){return xg(t)?t.LABEL:t.name}function xg(t){return typeof t.LABEL=="string"&&t.LABEL!==""}var iL="parent",G0="categories",X0="label",H0="group",j0="push_mode",z0="pop_mode",q0="longer_alt",W0="line_breaks",V0="start_chars_hint";function gi(t){return oL(t)}function oL(t){let e=t.pattern,r={};if(r.name=t.name,e!==void 0&&(r.PATTERN=e),Object.hasOwn(t,iL))throw`The parent property is no longer supported.
|
|
92
|
+
See: https://github.com/chevrotain/chevrotain/issues/564#issuecomment-349062346 for details.`;return Object.hasOwn(t,G0)&&(r.CATEGORIES=t[G0]),Fn([r]),Object.hasOwn(t,X0)&&(r.LABEL=t[X0]),Object.hasOwn(t,H0)&&(r.GROUP=t[H0]),Object.hasOwn(t,z0)&&(r.POP_MODE=t[z0]),Object.hasOwn(t,j0)&&(r.PUSH_MODE=t[j0]),Object.hasOwn(t,q0)&&(r.LONGER_ALT=t[q0]),Object.hasOwn(t,W0)&&(r.LINE_BREAKS=t[W0]),Object.hasOwn(t,V0)&&(r.START_CHARS_HINT=t[V0]),r}var Yt=gi({name:"EOF",pattern:ct.NA});Fn([Yt]);function Bn(t,e,r,n,i,o,s,a){return{image:e,startOffset:r,endOffset:n,startLine:i,endLine:o,startColumn:s,endColumn:a,tokenTypeIdx:t.tokenTypeIdx,tokenType:t}}function Os(t,e){return Mn(t,e)}var Gn={buildMismatchTokenMessage({expected:t,actual:e,previous:r,ruleName:n}){return`Expecting ${xg(t)?`--> ${Un(t)} <--`:`token of type --> ${t.name} <--`} but found --> '${e.image}' <--`},buildNotAllInputParsedMessage({firstRedundant:t,ruleName:e}){return"Redundant input, expecting EOF but found: "+t.image},buildNoViableAltMessage({expectedPathsPerAlt:t,actual:e,previous:r,customUserDescription:n,ruleName:i}){let o="Expecting: ",a=`
|
|
93
93
|
but found: '`+e[0].image+"'";if(n)return o+n+a;{let f=`one of these possible Token sequences:
|
|
94
|
-
${t.reduce((d,p)=>d.concat(p),[]).map(d=>`[${d.map(p=>
|
|
94
|
+
${t.reduce((d,p)=>d.concat(p),[]).map(d=>`[${d.map(p=>Un(p)).join(", ")}]`).map((d,p)=>` ${p+1}. ${d}`).join(`
|
|
95
95
|
`)}`;return o+f+a}},buildEarlyExitMessage({expectedIterationPaths:t,actual:e,customUserDescription:r,ruleName:n}){let i="Expecting: ",s=`
|
|
96
96
|
but found: '`+e[0].image+"'";if(r)return i+r+s;{let c=`expecting at least one iteration which starts with one of these possible Token sequences::
|
|
97
|
-
<${t.map(l=>`[${l.map(u=>
|
|
98
|
-
inside top level rule: ->`+t.name+"<-"}},
|
|
97
|
+
<${t.map(l=>`[${l.map(u=>Un(u)).join(",")}]`).join(" ,")}>`;return i+c+s}}};Object.freeze(Gn);var Y0={buildRuleNotFoundError(t,e){return"Invalid grammar, reference to a rule which is not defined: ->"+e.nonTerminalName+`<-
|
|
98
|
+
inside top level rule: ->`+t.name+"<-"}},Xr={buildDuplicateFoundError(t,e){function r(u){return u instanceof Te?u.terminalType.name:u instanceof Be?u.nonTerminalName:""}let n=t.name,i=e[0],o=i.idx,s=nr(i),a=r(i),c=o>0,l=`->${s}${c?o:""}<- ${a?`with argument: ->${a}<-`:""}
|
|
99
99
|
appears more than once (${e.length} times) in the top level rule: ->${n}<-.
|
|
100
100
|
For further details see: https://chevrotain.io/docs/FAQ.html#NUMERICAL_SUFFIXES
|
|
101
101
|
`;return l=l.replace(/[ \t]+/g," "),l=l.replace(/\s\s+/g,`
|
|
@@ -103,16 +103,16 @@ inside top level rule: ->`+t.name+"<-"}},Gr={buildDuplicateFoundError(t,e){funct
|
|
|
103
103
|
The grammar has both a Terminal(Token) and a Non-Terminal(Rule) named: <${t.name}>.
|
|
104
104
|
To resolve this make sure each Terminal and Non-Terminal names are unique
|
|
105
105
|
This is easy to accomplish by using the convention that Terminal names start with an uppercase letter
|
|
106
|
-
and Non-Terminal names start with a lower case letter.`},buildAlternationPrefixAmbiguityError(t){let e=t.prefixPath.map(i=>
|
|
106
|
+
and Non-Terminal names start with a lower case letter.`},buildAlternationPrefixAmbiguityError(t){let e=t.prefixPath.map(i=>Un(i)).join(", "),r=t.alternation.idx===0?"":t.alternation.idx;return`Ambiguous alternatives: <${t.ambiguityIndices.join(" ,")}> due to common lookahead prefix
|
|
107
107
|
in <OR${r}> inside <${t.topLevelRule.name}> Rule,
|
|
108
108
|
<${e}> may appears as a prefix path in all these alternatives.
|
|
109
109
|
See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#COMMON_PREFIX
|
|
110
110
|
For Further details.`},buildAlternationAmbiguityError(t){let e=t.alternation.idx===0?"":t.alternation.idx,r=t.prefixPath.length===0,n=`Ambiguous Alternatives Detected: <${t.ambiguityIndices.join(" ,")}> in <OR${e}> inside <${t.topLevelRule.name}> Rule,
|
|
111
111
|
`;if(r)n+=`These alternatives are all empty (match no tokens), making them indistinguishable.
|
|
112
112
|
Only the last alternative may be empty.
|
|
113
|
-
`;else{let i=t.prefixPath.map(o=>
|
|
113
|
+
`;else{let i=t.prefixPath.map(o=>Un(o)).join(", ");n+=`<${i}> may appears as a prefix path in all these alternatives.
|
|
114
114
|
`}return n+=`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES
|
|
115
|
-
For Further details.`,n},buildEmptyRepetitionError(t){let e=
|
|
115
|
+
For Further details.`,n},buildEmptyRepetitionError(t){let e=nr(t.repetition);return t.repetition.idx!==0&&(e+=t.repetition.idx),`The repetition <${e}> within Rule <${t.topLevelRule.name}> can never consume any tokens.
|
|
116
116
|
This could lead to an infinite loop.`},buildTokenNameError(t){return"deprecated"},buildEmptyAlternationError(t){return`Ambiguous empty alternative: <${t.emptyChoiceIdx+1}> in <OR${t.alternation.idx}> inside <${t.topLevelRule.name}> Rule.
|
|
117
117
|
Only the last alternative may be an empty alternative.`},buildTooManyAlternativesError(t){return`An Alternation cannot have more than 256 alternatives:
|
|
118
118
|
<OR${t.alternation.idx}> inside <${t.topLevelRule.name}> Rule.
|
|
@@ -121,44 +121,44 @@ rule: <${e}> can be invoked from itself (directly or indirectly)
|
|
|
121
121
|
without consuming any Tokens. The grammar path that causes this is:
|
|
122
122
|
${n}
|
|
123
123
|
To fix this refactor your grammar to remove the left recursion.
|
|
124
|
-
see: https://en.wikipedia.org/wiki/LL_parser#Left_factoring.`},buildInvalidRuleNameError(t){return"deprecated"},buildDuplicateRuleNameError(t){let e;return t.topLevelRule instanceof Vt?e=t.topLevelRule.name:e=t.topLevelRule,`Duplicate definition, rule: ->${e}<- is already defined in the grammar: ->${t.grammarName}<-`}};function j0(t,e){let r=new pg(t,e);return r.resolveRefs(),r.errors}var pg=class extends Yt{constructor(e,r){super(),this.nameToTopRule=e,this.errMsgProvider=r,this.errors=[]}resolveRefs(){Object.values(this.nameToTopRule).forEach(e=>{this.currTopLevel=e,e.accept(this)})}visitNonTerminal(e){let r=this.nameToTopRule[e.nonTerminalName];if(r)e.referencedRule=r;else{let n=this.errMsgProvider.buildRuleNotFoundError(this.currTopLevel,e);this.errors.push({message:n,type:St.UNRESOLVED_SUBRULE_REF,ruleName:this.currTopLevel.name,unresolvedRefName:e.nonTerminalName})}}};var hg=class extends Ln{constructor(e,r){super(),this.topProd=e,this.path=r,this.possibleTokTypes=[],this.nextProductionName="",this.nextProductionOccurrence=0,this.found=!1,this.isAtEndOfPath=!1}startWalking(){if(this.found=!1,this.path.ruleStack[0]!==this.topProd.name)throw Error("The path does not start with the walker's top Rule!");return this.ruleStack=[...this.path.ruleStack].reverse(),this.occurrenceStack=[...this.path.occurrenceStack].reverse(),this.ruleStack.pop(),this.occurrenceStack.pop(),this.updateExpectedNext(),this.walk(this.topProd),this.possibleTokTypes}walk(e,r=[]){this.found||super.walk(e,r)}walkProdRef(e,r,n){if(e.referencedRule.name===this.nextProductionName&&e.idx===this.nextProductionOccurrence){let i=r.concat(n);this.updateExpectedNext(),this.walk(e.referencedRule,i)}}updateExpectedNext(){this.ruleStack.length===0?(this.nextProductionName="",this.nextProductionOccurrence=0,this.isAtEndOfPath=!0):(this.nextProductionName=this.ruleStack.pop(),this.nextProductionOccurrence=this.occurrenceStack.pop())}},Ff=class extends hg{constructor(e,r){super(e,r),this.path=r,this.nextTerminalName="",this.nextTerminalOccurrence=0,this.nextTerminalName=this.path.lastTok.name,this.nextTerminalOccurrence=this.path.lastTokOccurrence}walkTerminal(e,r,n){if(this.isAtEndOfPath&&e.terminalType.name===this.nextTerminalName&&e.idx===this.nextTerminalOccurrence&&!this.found){let i=r.concat(n),o=new Je({definition:i});this.possibleTokTypes=To(o),this.found=!0}}},Ps=class extends Ln{constructor(e,r){super(),this.topRule=e,this.occurrence=r,this.result={token:void 0,occurrence:void 0,isEndOfRule:void 0}}startWalking(){return this.walk(this.topRule),this.result}},Uf=class extends Ps{walkMany(e,r,n){if(e.idx===this.occurrence){let i=r.concat(n)[0];this.result.isEndOfRule=i===void 0,i instanceof _e&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkMany(e,r,n)}},qc=class extends Ps{walkManySep(e,r,n){if(e.idx===this.occurrence){let i=r.concat(n)[0];this.result.isEndOfRule=i===void 0,i instanceof _e&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkManySep(e,r,n)}},Bf=class extends Ps{walkAtLeastOne(e,r,n){if(e.idx===this.occurrence){let i=r.concat(n)[0];this.result.isEndOfRule=i===void 0,i instanceof _e&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOne(e,r,n)}},Wc=class extends Ps{walkAtLeastOneSep(e,r,n){if(e.idx===this.occurrence){let i=r.concat(n)[0];this.result.isEndOfRule=i===void 0,i instanceof _e&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOneSep(e,r,n)}};function Gf(t,e,r=[]){r=[...r];let n=[],i=0;function o(a){return a.concat(t.slice(i+1))}function s(a){let c=Gf(o(a),e,r);return n.concat(c)}for(;r.length<e&&i<t.length;){let a=t[i];if(a instanceof Je)return s(a.definition);if(a instanceof Ge)return s(a.definition);if(a instanceof Xe)n=s(a.definition);else if(a instanceof Qe){let c=a.definition.concat([new we({definition:a.definition})]);return s(c)}else if(a instanceof et){let c=[new Je({definition:a.definition}),new we({definition:[new _e({terminalType:a.separator})].concat(a.definition)})];return s(c)}else if(a instanceof Ye){let c=a.definition.concat([new we({definition:[new _e({terminalType:a.separator})].concat(a.definition)})]);n=s(c)}else if(a instanceof we){let c=a.definition.concat([new we({definition:a.definition})]);n=s(c)}else{if(a instanceof Ke)return a.definition.forEach(c=>{c.definition.length!==0&&(n=s(c.definition))}),n;if(a instanceof _e)r.push(a.terminalType);else throw Error("non exhaustive match")}i++}return n.push({partialPath:r,suffixDef:t.slice(i)}),n}function z0(t,e,r,n){let i="EXIT_NONE_TERMINAL",o=[i],s="EXIT_ALTERNATIVE",a=!1,c=e.length,l=c-n-1,u=[],f=[];for(f.push({idx:-1,def:t,ruleStack:[],occurrenceStack:[]});f.length!==0;){let d=f.pop();if(d===s){a&&f.at(-1).idx<=l&&f.pop();continue}let p=d.def,m=d.idx,g=d.ruleStack,v=d.occurrenceStack;if(p.length===0)continue;let T=p[0];if(T===i){let _={idx:m,def:p.slice(1),ruleStack:g.slice(0,-1),occurrenceStack:v.slice(0,-1)};f.push(_)}else if(T instanceof _e)if(m<c-1){let _=m+1,E=e[_];if(r(E,T.terminalType)){let I={idx:_,def:p.slice(1),ruleStack:g,occurrenceStack:v};f.push(I)}}else if(m===c-1)u.push({nextTokenType:T.terminalType,nextTokenOccurrence:T.idx,ruleStack:g,occurrenceStack:v}),a=!0;else throw Error("non exhaustive match");else if(T instanceof Ge){let _=[...g];_.push(T.nonTerminalName);let E=[...v];E.push(T.idx);let I={idx:m,def:T.definition.concat(o,p.slice(1)),ruleStack:_,occurrenceStack:E};f.push(I)}else if(T instanceof Xe){let _={idx:m,def:p.slice(1),ruleStack:g,occurrenceStack:v};f.push(_),f.push(s);let E={idx:m,def:T.definition.concat(p.slice(1)),ruleStack:g,occurrenceStack:v};f.push(E)}else if(T instanceof Qe){let _=new we({definition:T.definition,idx:T.idx}),E=T.definition.concat([_],p.slice(1)),I={idx:m,def:E,ruleStack:g,occurrenceStack:v};f.push(I)}else if(T instanceof et){let _=new _e({terminalType:T.separator}),E=new we({definition:[_].concat(T.definition),idx:T.idx}),I=T.definition.concat([E],p.slice(1)),D={idx:m,def:I,ruleStack:g,occurrenceStack:v};f.push(D)}else if(T instanceof Ye){let _={idx:m,def:p.slice(1),ruleStack:g,occurrenceStack:v};f.push(_),f.push(s);let E=new _e({terminalType:T.separator}),I=new we({definition:[E].concat(T.definition),idx:T.idx}),D=T.definition.concat([I],p.slice(1)),k={idx:m,def:D,ruleStack:g,occurrenceStack:v};f.push(k)}else if(T instanceof we){let _={idx:m,def:p.slice(1),ruleStack:g,occurrenceStack:v};f.push(_),f.push(s);let E=new we({definition:T.definition,idx:T.idx}),I=T.definition.concat([E],p.slice(1)),D={idx:m,def:I,ruleStack:g,occurrenceStack:v};f.push(D)}else if(T instanceof Ke)for(let _=T.definition.length-1;_>=0;_--){let E=T.definition[_],I={idx:m,def:E.definition.concat(p.slice(1)),ruleStack:g,occurrenceStack:v};f.push(I),f.push(s)}else if(T instanceof Je)f.push({idx:m,def:T.definition.concat(p.slice(1)),ruleStack:g,occurrenceStack:v});else if(T instanceof Vt)f.push(ZO(T,m,g,v));else throw Error("non exhaustive match")}return u}function ZO(t,e,r,n){let i=[...r];i.push(t.name);let o=[...n];return o.push(1),{idx:e,def:t.definition,ruleStack:i,occurrenceStack:o}}var lt;(function(t){t[t.OPTION=0]="OPTION",t[t.REPETITION=1]="REPETITION",t[t.REPETITION_MANDATORY=2]="REPETITION_MANDATORY",t[t.REPETITION_MANDATORY_WITH_SEPARATOR=3]="REPETITION_MANDATORY_WITH_SEPARATOR",t[t.REPETITION_WITH_SEPARATOR=4]="REPETITION_WITH_SEPARATOR",t[t.ALTERNATION=5]="ALTERNATION"})(lt||(lt={}));function Vc(t){if(t instanceof Xe||t==="Option")return lt.OPTION;if(t instanceof we||t==="Repetition")return lt.REPETITION;if(t instanceof Qe||t==="RepetitionMandatory")return lt.REPETITION_MANDATORY;if(t instanceof et||t==="RepetitionMandatoryWithSeparator")return lt.REPETITION_MANDATORY_WITH_SEPARATOR;if(t instanceof Ye||t==="RepetitionWithSeparator")return lt.REPETITION_WITH_SEPARATOR;if(t instanceof Ke||t==="Alternation")return lt.ALTERNATION;throw Error("non exhaustive match")}function Hf(t){let{occurrence:e,rule:r,prodType:n,maxLookahead:i}=t,o=Vc(n);return o===lt.ALTERNATION?Cs(e,r,i):Os(e,r,o,i)}function W0(t,e,r,n,i,o){let s=Cs(t,e,r),a=Q0(s)?Is:Dn;return o(s,n,a,i)}function V0(t,e,r,n,i,o){let s=Os(t,e,i,r),a=Q0(s)?Is:Dn;return o(s[0],a,n)}function Y0(t,e,r,n){let i=t.length,o=t.every(s=>s.every(a=>a.length===1));if(e)return function(s){let a=s.map(c=>c.GATE);for(let c=0;c<i;c++){let l=t[c],u=l.length,f=a[c];if(!(f!==void 0&&f.call(this)===!1))e:for(let d=0;d<u;d++){let p=l[d],m=p.length;for(let g=0;g<m;g++){let v=this.LA_FAST(g+1);if(r(v,p[g])===!1)continue e}return c}}};if(o&&!n){let a=t.map(c=>c.flat()).reduce((c,l,u)=>(l.forEach(f=>{f.tokenTypeIdx in c||(c[f.tokenTypeIdx]=u),f.categoryMatches.forEach(d=>{Object.hasOwn(c,d)||(c[d]=u)})}),c),{});return function(){let c=this.LA_FAST(1);return a[c.tokenTypeIdx]}}else return function(){for(let s=0;s<i;s++){let a=t[s],c=a.length;e:for(let l=0;l<c;l++){let u=a[l],f=u.length;for(let d=0;d<f;d++){let p=this.LA_FAST(d+1);if(r(p,u[d])===!1)continue e}return s}}}}function K0(t,e,r){let n=t.every(o=>o.length===1),i=t.length;if(n&&!r){let o=t.flat();if(o.length===1&&o[0].categoryMatches.length===0){let a=o[0].tokenTypeIdx;return function(){return this.LA_FAST(1).tokenTypeIdx===a}}else{let s=o.reduce((a,c,l)=>(a[c.tokenTypeIdx]=!0,c.categoryMatches.forEach(u=>{a[u]=!0}),a),[]);return function(){let a=this.LA_FAST(1);return s[a.tokenTypeIdx]===!0}}}else return function(){e:for(let o=0;o<i;o++){let s=t[o],a=s.length;for(let c=0;c<a;c++){let l=this.LA_FAST(c+1);if(e(l,s[c])===!1)continue e}return!0}return!1}}var gg=class extends Ln{constructor(e,r,n){super(),this.topProd=e,this.targetOccurrence=r,this.targetProdType=n}startWalking(){return this.walk(this.topProd),this.restDef}checkIsTarget(e,r,n,i){return e.idx===this.targetOccurrence&&this.targetProdType===r?(this.restDef=n.concat(i),!0):!1}walkOption(e,r,n){this.checkIsTarget(e,lt.OPTION,r,n)||super.walkOption(e,r,n)}walkAtLeastOne(e,r,n){this.checkIsTarget(e,lt.REPETITION_MANDATORY,r,n)||super.walkOption(e,r,n)}walkAtLeastOneSep(e,r,n){this.checkIsTarget(e,lt.REPETITION_MANDATORY_WITH_SEPARATOR,r,n)||super.walkOption(e,r,n)}walkMany(e,r,n){this.checkIsTarget(e,lt.REPETITION,r,n)||super.walkOption(e,r,n)}walkManySep(e,r,n){this.checkIsTarget(e,lt.REPETITION_WITH_SEPARATOR,r,n)||super.walkOption(e,r,n)}},Xf=class extends Yt{constructor(e,r,n){super(),this.targetOccurrence=e,this.targetProdType=r,this.targetRef=n,this.result=[]}checkIsTarget(e,r){e.idx===this.targetOccurrence&&this.targetProdType===r&&(this.targetRef===void 0||e===this.targetRef)&&(this.result=e.definition)}visitOption(e){this.checkIsTarget(e,lt.OPTION)}visitRepetition(e){this.checkIsTarget(e,lt.REPETITION)}visitRepetitionMandatory(e){this.checkIsTarget(e,lt.REPETITION_MANDATORY)}visitRepetitionMandatoryWithSeparator(e){this.checkIsTarget(e,lt.REPETITION_MANDATORY_WITH_SEPARATOR)}visitRepetitionWithSeparator(e){this.checkIsTarget(e,lt.REPETITION_WITH_SEPARATOR)}visitAlternation(e){this.checkIsTarget(e,lt.ALTERNATION)}};function q0(t){let e=new Array(t);for(let r=0;r<t;r++)e[r]=[];return e}function mg(t){let e=[""];for(let r=0;r<t.length;r++){let n=t[r],i=[];for(let o=0;o<e.length;o++){let s=e[o];i.push(s+"_"+n.tokenTypeIdx);for(let a=0;a<n.categoryMatches.length;a++){let c="_"+n.categoryMatches[a];i.push(s+c)}}e=i}return e}function JO(t,e,r){for(let n=0;n<t.length;n++){if(n===r)continue;let i=t[n];for(let o=0;o<e.length;o++){let s=e[o];if(i[s]===!0)return!1}}return!0}function Z0(t,e){let r=t.map(s=>Gf([s],1)),n=q0(r.length),i=r.map(s=>{let a={};return s.forEach(c=>{mg(c.partialPath).forEach(u=>{a[u]=!0})}),a}),o=r;for(let s=1;s<=e;s++){let a=o;o=q0(a.length);for(let c=0;c<a.length;c++){let l=a[c];for(let u=0;u<l.length;u++){let f=l[u].partialPath,d=l[u].suffixDef,p=mg(f);if(JO(i,p,c)||d.length===0||f.length===e){let g=n[c];if(jf(g,f)===!1){g.push(f);for(let v=0;v<p.length;v++){let T=p[v];i[c][T]=!0}}}else{let g=Gf(d,s+1,f);o[c]=o[c].concat(g),g.forEach(v=>{mg(v.partialPath).forEach(_=>{i[c][_]=!0})})}}}}return n}function Cs(t,e,r,n){let i=new Xf(t,lt.ALTERNATION,n);return e.accept(i),Z0(i.result,r)}function Os(t,e,r,n){let i=new Xf(t,r);e.accept(i);let o=i.result,a=new gg(e,t,r).startWalking(),c=new Je({definition:o}),l=new Je({definition:a});return Z0([c,l],n)}function jf(t,e){e:for(let r=0;r<t.length;r++){let n=t[r];if(n.length===e.length){for(let i=0;i<n.length;i++){let o=e[i],s=n[i];if((o===s||s.categoryMatchesMap[o.tokenTypeIdx]!==void 0)===!1)continue e}return!0}}return!1}function J0(t,e){return t.length<e.length&&t.every((r,n)=>{let i=e[n];return r===i||i.categoryMatchesMap[r.tokenTypeIdx]})}function Q0(t){return t.every(e=>e.every(r=>r.every(n=>n.categoryMatches.length===0)))}function ev(t){return t.lookaheadStrategy.validate({rules:t.rules,tokenTypes:t.tokenTypes,grammarName:t.grammarName}).map(r=>Object.assign({type:St.CUSTOM_LOOKAHEAD_VALIDATION},r))}function tv(t,e,r,n){let i=t.flatMap(c=>QO(c,r)),o=oL(t,e,r),s=t.flatMap(c=>rL(c,r)),a=t.flatMap(c=>tL(c,t,n,r));return i.concat(o,s,a)}function QO(t,e){let r=new yg;t.accept(r);let n=r.allProductions,i=Object.groupBy(n,eL),o=Object.fromEntries(Object.entries(i).filter(([a,c])=>c.length>1));return Object.values(o).map(a=>{let c=a[0],l=e.buildDuplicateFoundError(t,a),u=rr(c),f={message:l,type:St.DUPLICATE_PRODUCTIONS,ruleName:t.name,dslName:u,occurrence:c.idx},d=rv(c);return d&&(f.parameter=d),f})}function eL(t){return`${rr(t)}_#_${t.idx}_#_${rv(t)}`}function rv(t){return t instanceof _e?t.terminalType.name:t instanceof Ge?t.nonTerminalName:""}var yg=class extends Yt{constructor(){super(...arguments),this.allProductions=[]}visitNonTerminal(e){this.allProductions.push(e)}visitOption(e){this.allProductions.push(e)}visitRepetitionWithSeparator(e){this.allProductions.push(e)}visitRepetitionMandatory(e){this.allProductions.push(e)}visitRepetitionMandatoryWithSeparator(e){this.allProductions.push(e)}visitRepetition(e){this.allProductions.push(e)}visitAlternation(e){this.allProductions.push(e)}visitTerminal(e){this.allProductions.push(e)}};function tL(t,e,r,n){let i=[];if(e.reduce((s,a)=>a.name===t.name?s+1:s,0)>1){let s=n.buildDuplicateRuleNameError({topLevelRule:t,grammarName:r});i.push({message:s,type:St.DUPLICATE_RULE_NAME,ruleName:t.name})}return i}function nv(t,e,r){let n=[],i;return e.includes(t)||(i=`Invalid rule override, rule: ->${t}<- cannot be overridden in the grammar: ->${r}<-as it is not defined in any of the super grammars `,n.push({message:i,type:St.INVALID_RULE_OVERRIDE,ruleName:t})),n}function Tg(t,e,r,n=[]){let i=[],o=zf(e.definition);if(o.length===0)return[];{let s=t.name;o.includes(t)&&i.push({message:r.buildLeftRecursionError({topLevelRule:t,leftRecursionPath:n}),type:St.LEFT_RECURSION,ruleName:s});let c=n.concat([t]),u=o.filter(f=>!c.includes(f)).flatMap(f=>{let d=[...n];return d.push(f),Tg(t,f,r,d)});return i.concat(u)}}function zf(t){let e=[];if(t.length===0)return e;let r=t[0];if(r instanceof Ge)e.push(r.referencedRule);else if(r instanceof Je||r instanceof Xe||r instanceof Qe||r instanceof et||r instanceof Ye||r instanceof we)e=e.concat(zf(r.definition));else if(r instanceof Ke)e=r.definition.map(o=>zf(o.definition)).flat();else if(!(r instanceof _e))throw Error("non exhaustive match");let n=xo(r),i=t.length>1;if(n&&i){let o=t.slice(1);return e.concat(zf(o))}else return e}var Yc=class extends Yt{constructor(){super(...arguments),this.alternations=[]}visitAlternation(e){this.alternations.push(e)}};function iv(t,e){let r=new Yc;return t.accept(r),r.alternations.flatMap(o=>o.definition.slice(0,-1).flatMap((a,c)=>z0([a],[],Dn,1).length===0?[{message:e.buildEmptyAlternationError({topLevelRule:t,alternation:o,emptyChoiceIdx:c}),type:St.NONE_LAST_EMPTY_ALT,ruleName:t.name,occurrence:o.idx,alternative:c+1}]:[]))}function ov(t,e,r){let n=new Yc;t.accept(n);let i=n.alternations;return i=i.filter(s=>s.ignoreAmbiguities!==!0),i.flatMap(s=>{let a=s.idx,c=s.maxLookahead||e,l=Cs(a,t,c,s),u=nL(l,s,t,r),f=iL(l,s,t,r);return u.concat(f)})}var xg=class extends Yt{constructor(){super(...arguments),this.allProductions=[]}visitRepetitionWithSeparator(e){this.allProductions.push(e)}visitRepetitionMandatory(e){this.allProductions.push(e)}visitRepetitionMandatoryWithSeparator(e){this.allProductions.push(e)}visitRepetition(e){this.allProductions.push(e)}};function rL(t,e){let r=new Yc;return t.accept(r),r.alternations.flatMap(o=>o.definition.length>255?[{message:e.buildTooManyAlternativesError({topLevelRule:t,alternation:o}),type:St.TOO_MANY_ALTS,ruleName:t.name,occurrence:o.idx}]:[])}function sv(t,e,r){let n=[];return t.forEach(i=>{let o=new xg;i.accept(o),o.allProductions.forEach(a=>{let c=Vc(a),l=a.maxLookahead||e,u=a.idx;if(Os(u,i,c,l)[0].flat().length===0){let p=r.buildEmptyRepetitionError({topLevelRule:i,repetition:a});n.push({message:p,type:St.NO_NON_EMPTY_LOOKAHEAD,ruleName:i.name})}})}),n}function nL(t,e,r,n){let i=[];return t.reduce((a,c,l)=>(e.definition[l].ignoreAmbiguities===!0||c.forEach(u=>{let f=[l];t.forEach((d,p)=>{l!==p&&jf(d,u)&&e.definition[p].ignoreAmbiguities!==!0&&f.push(p)}),f.length>1&&!jf(i,u)&&(i.push(u),a.push({alts:f,path:u}))}),a),[]).map(a=>{let c=a.alts.map(u=>u+1);return{message:n.buildAlternationAmbiguityError({topLevelRule:r,alternation:e,ambiguityIndices:c,prefixPath:a.path}),type:St.AMBIGUOUS_ALTS,ruleName:r.name,occurrence:e.idx,alternatives:a.alts}})}function iL(t,e,r,n){let i=t.reduce((s,a,c)=>{let l=a.map(u=>({idx:c,path:u}));return s.concat(l)},[]);return i.flatMap(s=>{if(e.definition[s.idx].ignoreAmbiguities===!0)return[];let c=s.idx,l=s.path;return i.filter(d=>e.definition[d.idx].ignoreAmbiguities!==!0&&d.idx<c&&J0(d.path,l)).map(d=>{let p=[d.idx+1,c+1],m=e.idx===0?"":e.idx;return{message:n.buildAlternationPrefixAmbiguityError({topLevelRule:r,alternation:e,ambiguityIndices:p,prefixPath:d.path}),type:St.AMBIGUOUS_PREFIX_ALTS,ruleName:r.name,occurrence:m,alternatives:p}})})}function oL(t,e,r){let n=[],i=e.map(o=>o.name);return t.forEach(o=>{let s=o.name;if(i.includes(s)){let a=r.buildNamespaceConflictError(o);n.push({message:a,type:St.CONFLICT_TOKENS_RULES_NAMESPACE,ruleName:s})}}),n}function av(t){let e=Object.assign({errMsgProvider:H0},t),r={};return t.rules.forEach(n=>{r[n.name]=n}),j0(r,e.errMsgProvider)}function cv(t){var e;let r=(e=t.errMsgProvider)!==null&&e!==void 0?e:Gr;return tv(t.rules,t.tokenTypes,r,t.grammarName)}var lv="MismatchedTokenException",uv="NoViableAltException",fv="EarlyExitException",dv="NotAllInputParsedException",pv=[lv,uv,fv,dv];Object.freeze(pv);function hi(t){return pv.includes(t.name)}var Ls=class extends Error{constructor(e,r){super(e),this.token=r,this.resyncedTokens=[],Object.setPrototypeOf(this,new.target.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}},Eo=class extends Ls{constructor(e,r,n){super(e,r),this.previousToken=n,this.name=lv}},Kc=class extends Ls{constructor(e,r,n){super(e,r),this.previousToken=n,this.name=uv}},Zc=class extends Ls{constructor(e,r){super(e,r),this.name=dv}},Jc=class extends Ls{constructor(e,r,n){super(e,r),this.previousToken=n,this.name=fv}};var _g={},vg="InRuleRecoveryException",Eg=class extends Error{constructor(e){super(e),this.name=vg}},qf=class{initRecoverable(e){this.firstAfterRepMap={},this.resyncFollows={},this.recoveryEnabled=Object.hasOwn(e,"recoveryEnabled")?e.recoveryEnabled:Zt.recoveryEnabled,this.recoveryEnabled&&(this.attemptInRepetitionRecovery=sL)}getTokenToInsert(e){let r=Fn(e,"",NaN,NaN,NaN,NaN,NaN,NaN);return r.isInsertedInRecovery=!0,r}canTokenTypeBeInsertedInRecovery(e){return!0}canTokenTypeBeDeletedInRecovery(e){return!0}tryInRepetitionRecovery(e,r,n,i){let o=this.findReSyncTokenType(),s=this.exportLexerState(),a=[],c=!1,l=this.LA_FAST(1),u=this.LA_FAST(1),f=()=>{let d=this.LA(0),p=this.errorMessageProvider.buildMismatchTokenMessage({expected:i,actual:l,previous:d,ruleName:this.getCurrRuleFullName()}),m=new Eo(p,l,this.LA(0));m.resyncedTokens=a.slice(0,-1),this.SAVE_ERROR(m)};for(;!c;)if(this.tokenMatcher(u,i)){f();return}else if(n.call(this)){f(),e.apply(this,r);return}else this.tokenMatcher(u,o)?c=!0:(u=this.SKIP_TOKEN(),this.addToResyncTokens(u,a));this.importLexerState(s)}shouldInRepetitionRecoveryBeTried(e,r,n){return!(n===!1||this.tokenMatcher(this.LA_FAST(1),e)||this.isBackTracking()||this.canPerformInRuleRecovery(e,this.getFollowsForInRuleRecovery(e,r)))}getNextPossibleTokenTypes(e){let r=e.ruleStack[0],i=this.getGAstProductions()[r];return new Ff(i,e).startWalking()}getFollowsForInRuleRecovery(e,r){let n=this.getCurrentGrammarPath(e,r);return this.getNextPossibleTokenTypes(n)}tryInRuleRecovery(e,r){if(this.canRecoverWithSingleTokenInsertion(e,r))return this.getTokenToInsert(e);if(this.canRecoverWithSingleTokenDeletion(e)){let n=this.SKIP_TOKEN();return this.consumeToken(),n}throw new Eg("sad sad panda")}canPerformInRuleRecovery(e,r){return this.canRecoverWithSingleTokenInsertion(e,r)||this.canRecoverWithSingleTokenDeletion(e)}canRecoverWithSingleTokenInsertion(e,r){if(!this.canTokenTypeBeInsertedInRecovery(e)||r.length===0)return!1;let n=this.LA_FAST(1);return r.find(o=>this.tokenMatcher(n,o))!==void 0}canRecoverWithSingleTokenDeletion(e){return this.canTokenTypeBeDeletedInRecovery(e)?this.tokenMatcher(this.LA(2),e):!1}isInCurrentRuleReSyncSet(e){let r=this.getCurrFollowKey();return this.getFollowSetFromFollowKey(r).includes(e)}findReSyncTokenType(){let e=this.flattenFollowSet(),r=this.LA_FAST(1),n=2;for(;;){let i=e.find(o=>Ns(r,o));if(i!==void 0)return i;r=this.LA(n),n++}}getCurrFollowKey(){if(this.RULE_STACK_IDX===0)return _g;let e=this.currRuleShortName,r=this.getLastExplicitRuleOccurrenceIndex(),n=this.getPreviousExplicitRuleShortName();return{ruleName:this.shortRuleNameToFullName(e),idxInCallingRule:r,inRule:this.shortRuleNameToFullName(n)}}buildFullFollowKeyStack(){let e=this.RULE_STACK,r=this.RULE_OCCURRENCE_STACK,n=this.RULE_STACK_IDX+1,i=new Array(n);for(let o=0;o<n;o++)o===0?i[o]=_g:i[o]={ruleName:this.shortRuleNameToFullName(e[o]),idxInCallingRule:r[o],inRule:this.shortRuleNameToFullName(e[o-1])};return i}flattenFollowSet(){return this.buildFullFollowKeyStack().map(r=>this.getFollowSetFromFollowKey(r)).flat()}getFollowSetFromFollowKey(e){if(e===_g)return[Kt];let r=e.ruleName+e.idxInCallingRule+Cf+e.inRule;return this.resyncFollows[r]}addToResyncTokens(e,r){return this.tokenMatcher(e,Kt)||r.push(e),r}reSyncTo(e){let r=[],n=this.LA_FAST(1);for(;this.tokenMatcher(n,e)===!1;)n=this.SKIP_TOKEN(),this.addToResyncTokens(n,r);return r.slice(0,-1)}attemptInRepetitionRecovery(e,r,n,i,o,s,a){}getCurrentGrammarPath(e,r){let n=this.getHumanReadableRuleStack(),i=this.RULE_OCCURRENCE_STACK.slice(0,this.RULE_OCCURRENCE_STACK_IDX+1);return{ruleStack:n,occurrenceStack:i,lastTok:e,lastTokOccurrence:r}}getHumanReadableRuleStack(){let e=this.RULE_STACK_IDX+1,r=new Array(e);for(let n=0;n<e;n++)r[n]=this.shortRuleNameToFullName(this.RULE_STACK[n]);return r}};function sL(t,e,r,n,i,o,s){let a=this.getKeyForAutomaticLookahead(n,i),c=this.firstAfterRepMap[a];if(c===void 0){let d=this.getCurrRuleFullName(),p=this.getGAstProductions()[d];c=new o(p,i).startWalking(),this.firstAfterRepMap[a]=c}let l=c.token,u=c.occurrence,f=c.isEndOfRule;this.RULE_STACK_IDX===0&&f&&l===void 0&&(l=Kt,u=1),!(l===void 0||u===void 0)&&this.shouldInRepetitionRecoveryBeTried(l,u,s)&&this.tryInRepetitionRecovery(t,e,r,l)}function Wf(t,e,r){return r|e|t}var Bn=class{constructor(e){var r;this.maxLookahead=(r=e?.maxLookahead)!==null&&r!==void 0?r:Zt.maxLookahead}validate(e){let r=this.validateNoLeftRecursion(e.rules);if(r.length===0){let n=this.validateEmptyOrAlternatives(e.rules),i=this.validateAmbiguousAlternationAlternatives(e.rules,this.maxLookahead),o=this.validateSomeNonEmptyLookaheadPath(e.rules,this.maxLookahead);return[...r,...n,...i,...o]}return r}validateNoLeftRecursion(e){return e.flatMap(r=>Tg(r,r,Gr))}validateEmptyOrAlternatives(e){return e.flatMap(r=>iv(r,Gr))}validateAmbiguousAlternationAlternatives(e,r){return e.flatMap(n=>ov(n,r,Gr))}validateSomeNonEmptyLookaheadPath(e,r){return sv(e,r,Gr)}buildLookaheadForAlternation(e){return W0(e.prodOccurrence,e.rule,e.maxLookahead,e.hasPredicates,e.dynamicTokensEnabled,Y0)}buildLookaheadForOptional(e){return V0(e.prodOccurrence,e.rule,e.maxLookahead,e.dynamicTokensEnabled,Vc(e.prodType),K0)}};var Yf=class{initLooksAhead(e){this.dynamicTokensEnabled=Object.hasOwn(e,"dynamicTokensEnabled")?e.dynamicTokensEnabled:Zt.dynamicTokensEnabled,this.maxLookahead=Object.hasOwn(e,"maxLookahead")?e.maxLookahead:Zt.maxLookahead,this.lookaheadStrategy=Object.hasOwn(e,"lookaheadStrategy")?e.lookaheadStrategy:new Bn({maxLookahead:this.maxLookahead}),this.lookAheadFuncsCache=new Map}preComputeLookaheadFunctions(e){e.forEach(r=>{this.TRACE_INIT(`${r.name} Rule Lookahead`,()=>{let{alternation:n,repetition:i,option:o,repetitionMandatory:s,repetitionMandatoryWithSeparator:a,repetitionWithSeparator:c}=aL(r);n.forEach(l=>{let u=l.idx===0?"":l.idx;this.TRACE_INIT(`${rr(l)}${u}`,()=>{let f=this.lookaheadStrategy.buildLookaheadForAlternation({prodOccurrence:l.idx,rule:r,maxLookahead:l.maxLookahead||this.maxLookahead,hasPredicates:l.hasPredicates,dynamicTokensEnabled:this.dynamicTokensEnabled}),d=Wf(this.fullRuleNameToShort[r.name],256,l.idx);this.setLaFuncCache(d,f)})}),i.forEach(l=>{this.computeLookaheadFunc(r,l.idx,768,"Repetition",l.maxLookahead,rr(l))}),o.forEach(l=>{this.computeLookaheadFunc(r,l.idx,512,"Option",l.maxLookahead,rr(l))}),s.forEach(l=>{this.computeLookaheadFunc(r,l.idx,1024,"RepetitionMandatory",l.maxLookahead,rr(l))}),a.forEach(l=>{this.computeLookaheadFunc(r,l.idx,1536,"RepetitionMandatoryWithSeparator",l.maxLookahead,rr(l))}),c.forEach(l=>{this.computeLookaheadFunc(r,l.idx,1280,"RepetitionWithSeparator",l.maxLookahead,rr(l))})})})}computeLookaheadFunc(e,r,n,i,o,s){this.TRACE_INIT(`${s}${r===0?"":r}`,()=>{let a=this.lookaheadStrategy.buildLookaheadForOptional({prodOccurrence:r,rule:e,maxLookahead:o||this.maxLookahead,dynamicTokensEnabled:this.dynamicTokensEnabled,prodType:i}),c=Wf(this.fullRuleNameToShort[e.name],n,r);this.setLaFuncCache(c,a)})}getKeyForAutomaticLookahead(e,r){return Wf(this.currRuleShortName,e,r)}getLaFuncFromCache(e){return this.lookAheadFuncsCache.get(e)}setLaFuncCache(e,r){this.lookAheadFuncsCache.set(e,r)}},Rg=class extends Yt{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)}},Vf=new Rg;function aL(t){Vf.reset(),t.accept(Vf);let e=Vf.dslMethods;return Vf.reset(),e}function Ag(t,e){isNaN(t.startOffset)===!0?(t.startOffset=e.startOffset,t.endOffset=e.endOffset):t.endOffset<e.endOffset&&(t.endOffset=e.endOffset)}function Sg(t,e){isNaN(t.startOffset)===!0?(t.startOffset=e.startOffset,t.startColumn=e.startColumn,t.startLine=e.startLine,t.endOffset=e.endOffset,t.endColumn=e.endColumn,t.endLine=e.endLine):t.endOffset<e.endOffset&&(t.endOffset=e.endOffset,t.endColumn=e.endColumn,t.endLine=e.endLine)}function hv(t,e,r){t.children[r]===void 0?t.children[r]=[e]:t.children[r].push(e)}function mv(t,e,r){t.children[e]===void 0?t.children[e]=[r]:t.children[e].push(r)}var cL="name";function Ig(t,e){Object.defineProperty(t,cL,{enumerable:!1,configurable:!0,writable:!1,value:e})}function lL(t,e){let r=Object.keys(t),n=r.length;for(let i=0;i<n;i++){let o=r[i],s=t[o],a=s.length;for(let c=0;c<a;c++){let l=s[c];l.tokenTypeIdx===void 0&&this[l.name](l.children,e)}}}function gv(t,e){let r=function(){};Ig(r,t+"BaseSemantics");let n={visit:function(i,o){if(Array.isArray(i)&&(i=i[0]),i!==void 0)return this[i.name](i.children,o)},validateVisitor:function(){let i=uL(this,e);if(i.length!==0){let o=i.map(s=>s.msg);throw Error(`Errors Detected in CST Visitor <${this.constructor.name}>:
|
|
124
|
+
see: https://en.wikipedia.org/wiki/LL_parser#Left_factoring.`},buildInvalidRuleNameError(t){return"deprecated"},buildDuplicateRuleNameError(t){let e;return t.topLevelRule instanceof Wt?e=t.topLevelRule.name:e=t.topLevelRule,`Duplicate definition, rule: ->${e}<- is already defined in the grammar: ->${t.grammarName}<-`}};function K0(t,e){let r=new Tg(t,e);return r.resolveRefs(),r.errors}var Tg=class extends Vt{constructor(e,r){super(),this.nameToTopRule=e,this.errMsgProvider=r,this.errors=[]}resolveRefs(){Object.values(this.nameToTopRule).forEach(e=>{this.currTopLevel=e,e.accept(this)})}visitNonTerminal(e){let r=this.nameToTopRule[e.nonTerminalName];if(r)e.referencedRule=r;else{let n=this.errMsgProvider.buildRuleNotFoundError(this.currTopLevel,e);this.errors.push({message:n,type:It.UNRESOLVED_SUBRULE_REF,ruleName:this.currTopLevel.name,unresolvedRefName:e.nonTerminalName})}}};var _g=class extends $n{constructor(e,r){super(),this.topProd=e,this.path=r,this.possibleTokTypes=[],this.nextProductionName="",this.nextProductionOccurrence=0,this.found=!1,this.isAtEndOfPath=!1}startWalking(){if(this.found=!1,this.path.ruleStack[0]!==this.topProd.name)throw Error("The path does not start with the walker's top Rule!");return this.ruleStack=[...this.path.ruleStack].reverse(),this.occurrenceStack=[...this.path.occurrenceStack].reverse(),this.ruleStack.pop(),this.occurrenceStack.pop(),this.updateExpectedNext(),this.walk(this.topProd),this.possibleTokTypes}walk(e,r=[]){this.found||super.walk(e,r)}walkProdRef(e,r,n){if(e.referencedRule.name===this.nextProductionName&&e.idx===this.nextProductionOccurrence){let i=r.concat(n);this.updateExpectedNext(),this.walk(e.referencedRule,i)}}updateExpectedNext(){this.ruleStack.length===0?(this.nextProductionName="",this.nextProductionOccurrence=0,this.isAtEndOfPath=!0):(this.nextProductionName=this.ruleStack.pop(),this.nextProductionOccurrence=this.occurrenceStack.pop())}},Xf=class extends _g{constructor(e,r){super(e,r),this.path=r,this.nextTerminalName="",this.nextTerminalOccurrence=0,this.nextTerminalName=this.path.lastTok.name,this.nextTerminalOccurrence=this.path.lastTokOccurrence}walkTerminal(e,r,n){if(this.isAtEndOfPath&&e.terminalType.name===this.nextTerminalName&&e.idx===this.nextTerminalOccurrence&&!this.found){let i=r.concat(n),o=new Qe({definition:i});this.possibleTokTypes=Eo(o),this.found=!0}}},Ls=class extends $n{constructor(e,r){super(),this.topRule=e,this.occurrence=r,this.result={token:void 0,occurrence:void 0,isEndOfRule:void 0}}startWalking(){return this.walk(this.topRule),this.result}},Hf=class extends Ls{walkMany(e,r,n){if(e.idx===this.occurrence){let i=r.concat(n)[0];this.result.isEndOfRule=i===void 0,i instanceof Te&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkMany(e,r,n)}},Vc=class extends Ls{walkManySep(e,r,n){if(e.idx===this.occurrence){let i=r.concat(n)[0];this.result.isEndOfRule=i===void 0,i instanceof Te&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkManySep(e,r,n)}},jf=class extends Ls{walkAtLeastOne(e,r,n){if(e.idx===this.occurrence){let i=r.concat(n)[0];this.result.isEndOfRule=i===void 0,i instanceof Te&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOne(e,r,n)}},Yc=class extends Ls{walkAtLeastOneSep(e,r,n){if(e.idx===this.occurrence){let i=r.concat(n)[0];this.result.isEndOfRule=i===void 0,i instanceof Te&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOneSep(e,r,n)}};function zf(t,e,r=[]){r=[...r];let n=[],i=0;function o(a){return a.concat(t.slice(i+1))}function s(a){let c=zf(o(a),e,r);return n.concat(c)}for(;r.length<e&&i<t.length;){let a=t[i];if(a instanceof Qe)return s(a.definition);if(a instanceof Be)return s(a.definition);if(a instanceof Ge)n=s(a.definition);else if(a instanceof et){let c=a.definition.concat([new Re({definition:a.definition})]);return s(c)}else if(a instanceof tt){let c=[new Qe({definition:a.definition}),new Re({definition:[new Te({terminalType:a.separator})].concat(a.definition)})];return s(c)}else if(a instanceof Ve){let c=a.definition.concat([new Re({definition:[new Te({terminalType:a.separator})].concat(a.definition)})]);n=s(c)}else if(a instanceof Re){let c=a.definition.concat([new Re({definition:a.definition})]);n=s(c)}else{if(a instanceof Ye)return a.definition.forEach(c=>{c.definition.length!==0&&(n=s(c.definition))}),n;if(a instanceof Te)r.push(a.terminalType);else throw Error("non exhaustive match")}i++}return n.push({partialPath:r,suffixDef:t.slice(i)}),n}function Z0(t,e,r,n){let i="EXIT_NONE_TERMINAL",o=[i],s="EXIT_ALTERNATIVE",a=!1,c=e.length,l=c-n-1,u=[],f=[];for(f.push({idx:-1,def:t,ruleStack:[],occurrenceStack:[]});f.length!==0;){let d=f.pop();if(d===s){a&&f.at(-1).idx<=l&&f.pop();continue}let p=d.def,m=d.idx,g=d.ruleStack,v=d.occurrenceStack;if(p.length===0)continue;let T=p[0];if(T===i){let _={idx:m,def:p.slice(1),ruleStack:g.slice(0,-1),occurrenceStack:v.slice(0,-1)};f.push(_)}else if(T instanceof Te)if(m<c-1){let _=m+1,E=e[_];if(r(E,T.terminalType)){let I={idx:_,def:p.slice(1),ruleStack:g,occurrenceStack:v};f.push(I)}}else if(m===c-1)u.push({nextTokenType:T.terminalType,nextTokenOccurrence:T.idx,ruleStack:g,occurrenceStack:v}),a=!0;else throw Error("non exhaustive match");else if(T instanceof Be){let _=[...g];_.push(T.nonTerminalName);let E=[...v];E.push(T.idx);let I={idx:m,def:T.definition.concat(o,p.slice(1)),ruleStack:_,occurrenceStack:E};f.push(I)}else if(T instanceof Ge){let _={idx:m,def:p.slice(1),ruleStack:g,occurrenceStack:v};f.push(_),f.push(s);let E={idx:m,def:T.definition.concat(p.slice(1)),ruleStack:g,occurrenceStack:v};f.push(E)}else if(T instanceof et){let _=new Re({definition:T.definition,idx:T.idx}),E=T.definition.concat([_],p.slice(1)),I={idx:m,def:E,ruleStack:g,occurrenceStack:v};f.push(I)}else if(T instanceof tt){let _=new Te({terminalType:T.separator}),E=new Re({definition:[_].concat(T.definition),idx:T.idx}),I=T.definition.concat([E],p.slice(1)),D={idx:m,def:I,ruleStack:g,occurrenceStack:v};f.push(D)}else if(T instanceof Ve){let _={idx:m,def:p.slice(1),ruleStack:g,occurrenceStack:v};f.push(_),f.push(s);let E=new Te({terminalType:T.separator}),I=new Re({definition:[E].concat(T.definition),idx:T.idx}),D=T.definition.concat([I],p.slice(1)),k={idx:m,def:D,ruleStack:g,occurrenceStack:v};f.push(k)}else if(T instanceof Re){let _={idx:m,def:p.slice(1),ruleStack:g,occurrenceStack:v};f.push(_),f.push(s);let E=new Re({definition:T.definition,idx:T.idx}),I=T.definition.concat([E],p.slice(1)),D={idx:m,def:I,ruleStack:g,occurrenceStack:v};f.push(D)}else if(T instanceof Ye)for(let _=T.definition.length-1;_>=0;_--){let E=T.definition[_],I={idx:m,def:E.definition.concat(p.slice(1)),ruleStack:g,occurrenceStack:v};f.push(I),f.push(s)}else if(T instanceof Qe)f.push({idx:m,def:T.definition.concat(p.slice(1)),ruleStack:g,occurrenceStack:v});else if(T instanceof Wt)f.push(sL(T,m,g,v));else throw Error("non exhaustive match")}return u}function sL(t,e,r,n){let i=[...r];i.push(t.name);let o=[...n];return o.push(1),{idx:e,def:t.definition,ruleStack:i,occurrenceStack:o}}var lt;(function(t){t[t.OPTION=0]="OPTION",t[t.REPETITION=1]="REPETITION",t[t.REPETITION_MANDATORY=2]="REPETITION_MANDATORY",t[t.REPETITION_MANDATORY_WITH_SEPARATOR=3]="REPETITION_MANDATORY_WITH_SEPARATOR",t[t.REPETITION_WITH_SEPARATOR=4]="REPETITION_WITH_SEPARATOR",t[t.ALTERNATION=5]="ALTERNATION"})(lt||(lt={}));function Kc(t){if(t instanceof Ge||t==="Option")return lt.OPTION;if(t instanceof Re||t==="Repetition")return lt.REPETITION;if(t instanceof et||t==="RepetitionMandatory")return lt.REPETITION_MANDATORY;if(t instanceof tt||t==="RepetitionMandatoryWithSeparator")return lt.REPETITION_MANDATORY_WITH_SEPARATOR;if(t instanceof Ve||t==="RepetitionWithSeparator")return lt.REPETITION_WITH_SEPARATOR;if(t instanceof Ye||t==="Alternation")return lt.ALTERNATION;throw Error("non exhaustive match")}function Wf(t){let{occurrence:e,rule:r,prodType:n,maxLookahead:i}=t,o=Kc(n);return o===lt.ALTERNATION?Ds(e,r,i):$s(e,r,o,i)}function Q0(t,e,r,n,i,o){let s=Ds(t,e,r),a=ov(s)?Ps:Mn;return o(s,n,a,i)}function ev(t,e,r,n,i,o){let s=$s(t,e,i,r),a=ov(s)?Ps:Mn;return o(s[0],a,n)}function tv(t,e,r,n){let i=t.length,o=t.every(s=>s.every(a=>a.length===1));if(e)return function(s){let a=s.map(c=>c.GATE);for(let c=0;c<i;c++){let l=t[c],u=l.length,f=a[c];if(!(f!==void 0&&f.call(this)===!1))e:for(let d=0;d<u;d++){let p=l[d],m=p.length;for(let g=0;g<m;g++){let v=this.LA_FAST(g+1);if(r(v,p[g])===!1)continue e}return c}}};if(o&&!n){let a=t.map(c=>c.flat()).reduce((c,l,u)=>(l.forEach(f=>{f.tokenTypeIdx in c||(c[f.tokenTypeIdx]=u),f.categoryMatches.forEach(d=>{Object.hasOwn(c,d)||(c[d]=u)})}),c),{});return function(){let c=this.LA_FAST(1);return a[c.tokenTypeIdx]}}else return function(){for(let s=0;s<i;s++){let a=t[s],c=a.length;e:for(let l=0;l<c;l++){let u=a[l],f=u.length;for(let d=0;d<f;d++){let p=this.LA_FAST(d+1);if(r(p,u[d])===!1)continue e}return s}}}}function rv(t,e,r){let n=t.every(o=>o.length===1),i=t.length;if(n&&!r){let o=t.flat();if(o.length===1&&o[0].categoryMatches.length===0){let a=o[0].tokenTypeIdx;return function(){return this.LA_FAST(1).tokenTypeIdx===a}}else{let s=o.reduce((a,c,l)=>(a[c.tokenTypeIdx]=!0,c.categoryMatches.forEach(u=>{a[u]=!0}),a),[]);return function(){let a=this.LA_FAST(1);return s[a.tokenTypeIdx]===!0}}}else return function(){e:for(let o=0;o<i;o++){let s=t[o],a=s.length;for(let c=0;c<a;c++){let l=this.LA_FAST(c+1);if(e(l,s[c])===!1)continue e}return!0}return!1}}var vg=class extends $n{constructor(e,r,n){super(),this.topProd=e,this.targetOccurrence=r,this.targetProdType=n}startWalking(){return this.walk(this.topProd),this.restDef}checkIsTarget(e,r,n,i){return e.idx===this.targetOccurrence&&this.targetProdType===r?(this.restDef=n.concat(i),!0):!1}walkOption(e,r,n){this.checkIsTarget(e,lt.OPTION,r,n)||super.walkOption(e,r,n)}walkAtLeastOne(e,r,n){this.checkIsTarget(e,lt.REPETITION_MANDATORY,r,n)||super.walkOption(e,r,n)}walkAtLeastOneSep(e,r,n){this.checkIsTarget(e,lt.REPETITION_MANDATORY_WITH_SEPARATOR,r,n)||super.walkOption(e,r,n)}walkMany(e,r,n){this.checkIsTarget(e,lt.REPETITION,r,n)||super.walkOption(e,r,n)}walkManySep(e,r,n){this.checkIsTarget(e,lt.REPETITION_WITH_SEPARATOR,r,n)||super.walkOption(e,r,n)}},qf=class extends Vt{constructor(e,r,n){super(),this.targetOccurrence=e,this.targetProdType=r,this.targetRef=n,this.result=[]}checkIsTarget(e,r){e.idx===this.targetOccurrence&&this.targetProdType===r&&(this.targetRef===void 0||e===this.targetRef)&&(this.result=e.definition)}visitOption(e){this.checkIsTarget(e,lt.OPTION)}visitRepetition(e){this.checkIsTarget(e,lt.REPETITION)}visitRepetitionMandatory(e){this.checkIsTarget(e,lt.REPETITION_MANDATORY)}visitRepetitionMandatoryWithSeparator(e){this.checkIsTarget(e,lt.REPETITION_MANDATORY_WITH_SEPARATOR)}visitRepetitionWithSeparator(e){this.checkIsTarget(e,lt.REPETITION_WITH_SEPARATOR)}visitAlternation(e){this.checkIsTarget(e,lt.ALTERNATION)}};function J0(t){let e=new Array(t);for(let r=0;r<t;r++)e[r]=[];return e}function Eg(t){let e=[""];for(let r=0;r<t.length;r++){let n=t[r],i=[];for(let o=0;o<e.length;o++){let s=e[o];i.push(s+"_"+n.tokenTypeIdx);for(let a=0;a<n.categoryMatches.length;a++){let c="_"+n.categoryMatches[a];i.push(s+c)}}e=i}return e}function aL(t,e,r){for(let n=0;n<t.length;n++){if(n===r)continue;let i=t[n];for(let o=0;o<e.length;o++){let s=e[o];if(i[s]===!0)return!1}}return!0}function nv(t,e){let r=t.map(s=>zf([s],1)),n=J0(r.length),i=r.map(s=>{let a={};return s.forEach(c=>{Eg(c.partialPath).forEach(u=>{a[u]=!0})}),a}),o=r;for(let s=1;s<=e;s++){let a=o;o=J0(a.length);for(let c=0;c<a.length;c++){let l=a[c];for(let u=0;u<l.length;u++){let f=l[u].partialPath,d=l[u].suffixDef,p=Eg(f);if(aL(i,p,c)||d.length===0||f.length===e){let g=n[c];if(Vf(g,f)===!1){g.push(f);for(let v=0;v<p.length;v++){let T=p[v];i[c][T]=!0}}}else{let g=zf(d,s+1,f);o[c]=o[c].concat(g),g.forEach(v=>{Eg(v.partialPath).forEach(_=>{i[c][_]=!0})})}}}}return n}function Ds(t,e,r,n){let i=new qf(t,lt.ALTERNATION,n);return e.accept(i),nv(i.result,r)}function $s(t,e,r,n){let i=new qf(t,r);e.accept(i);let o=i.result,a=new vg(e,t,r).startWalking(),c=new Qe({definition:o}),l=new Qe({definition:a});return nv([c,l],n)}function Vf(t,e){e:for(let r=0;r<t.length;r++){let n=t[r];if(n.length===e.length){for(let i=0;i<n.length;i++){let o=e[i],s=n[i];if((o===s||s.categoryMatchesMap[o.tokenTypeIdx]!==void 0)===!1)continue e}return!0}}return!1}function iv(t,e){return t.length<e.length&&t.every((r,n)=>{let i=e[n];return r===i||i.categoryMatchesMap[r.tokenTypeIdx]})}function ov(t){return t.every(e=>e.every(r=>r.every(n=>n.categoryMatches.length===0)))}function sv(t){return t.lookaheadStrategy.validate({rules:t.rules,tokenTypes:t.tokenTypes,grammarName:t.grammarName}).map(r=>Object.assign({type:It.CUSTOM_LOOKAHEAD_VALIDATION},r))}function av(t,e,r,n){let i=t.flatMap(c=>cL(c,r)),o=hL(t,e,r),s=t.flatMap(c=>fL(c,r)),a=t.flatMap(c=>uL(c,t,n,r));return i.concat(o,s,a)}function cL(t,e){let r=new Rg;t.accept(r);let n=r.allProductions,i=Object.groupBy(n,lL),o=Object.fromEntries(Object.entries(i).filter(([a,c])=>c.length>1));return Object.values(o).map(a=>{let c=a[0],l=e.buildDuplicateFoundError(t,a),u=nr(c),f={message:l,type:It.DUPLICATE_PRODUCTIONS,ruleName:t.name,dslName:u,occurrence:c.idx},d=cv(c);return d&&(f.parameter=d),f})}function lL(t){return`${nr(t)}_#_${t.idx}_#_${cv(t)}`}function cv(t){return t instanceof Te?t.terminalType.name:t instanceof Be?t.nonTerminalName:""}var Rg=class extends Vt{constructor(){super(...arguments),this.allProductions=[]}visitNonTerminal(e){this.allProductions.push(e)}visitOption(e){this.allProductions.push(e)}visitRepetitionWithSeparator(e){this.allProductions.push(e)}visitRepetitionMandatory(e){this.allProductions.push(e)}visitRepetitionMandatoryWithSeparator(e){this.allProductions.push(e)}visitRepetition(e){this.allProductions.push(e)}visitAlternation(e){this.allProductions.push(e)}visitTerminal(e){this.allProductions.push(e)}};function uL(t,e,r,n){let i=[];if(e.reduce((s,a)=>a.name===t.name?s+1:s,0)>1){let s=n.buildDuplicateRuleNameError({topLevelRule:t,grammarName:r});i.push({message:s,type:It.DUPLICATE_RULE_NAME,ruleName:t.name})}return i}function lv(t,e,r){let n=[],i;return e.includes(t)||(i=`Invalid rule override, rule: ->${t}<- cannot be overridden in the grammar: ->${r}<-as it is not defined in any of the super grammars `,n.push({message:i,type:It.INVALID_RULE_OVERRIDE,ruleName:t})),n}function wg(t,e,r,n=[]){let i=[],o=Yf(e.definition);if(o.length===0)return[];{let s=t.name;o.includes(t)&&i.push({message:r.buildLeftRecursionError({topLevelRule:t,leftRecursionPath:n}),type:It.LEFT_RECURSION,ruleName:s});let c=n.concat([t]),u=o.filter(f=>!c.includes(f)).flatMap(f=>{let d=[...n];return d.push(f),wg(t,f,r,d)});return i.concat(u)}}function Yf(t){let e=[];if(t.length===0)return e;let r=t[0];if(r instanceof Be)e.push(r.referencedRule);else if(r instanceof Qe||r instanceof Ge||r instanceof et||r instanceof tt||r instanceof Ve||r instanceof Re)e=e.concat(Yf(r.definition));else if(r instanceof Ye)e=r.definition.map(o=>Yf(o.definition)).flat();else if(!(r instanceof Te))throw Error("non exhaustive match");let n=_o(r),i=t.length>1;if(n&&i){let o=t.slice(1);return e.concat(Yf(o))}else return e}var Zc=class extends Vt{constructor(){super(...arguments),this.alternations=[]}visitAlternation(e){this.alternations.push(e)}};function uv(t,e){let r=new Zc;return t.accept(r),r.alternations.flatMap(o=>o.definition.slice(0,-1).flatMap((a,c)=>Z0([a],[],Mn,1).length===0?[{message:e.buildEmptyAlternationError({topLevelRule:t,alternation:o,emptyChoiceIdx:c}),type:It.NONE_LAST_EMPTY_ALT,ruleName:t.name,occurrence:o.idx,alternative:c+1}]:[]))}function fv(t,e,r){let n=new Zc;t.accept(n);let i=n.alternations;return i=i.filter(s=>s.ignoreAmbiguities!==!0),i.flatMap(s=>{let a=s.idx,c=s.maxLookahead||e,l=Ds(a,t,c,s),u=dL(l,s,t,r),f=pL(l,s,t,r);return u.concat(f)})}var bg=class extends Vt{constructor(){super(...arguments),this.allProductions=[]}visitRepetitionWithSeparator(e){this.allProductions.push(e)}visitRepetitionMandatory(e){this.allProductions.push(e)}visitRepetitionMandatoryWithSeparator(e){this.allProductions.push(e)}visitRepetition(e){this.allProductions.push(e)}};function fL(t,e){let r=new Zc;return t.accept(r),r.alternations.flatMap(o=>o.definition.length>255?[{message:e.buildTooManyAlternativesError({topLevelRule:t,alternation:o}),type:It.TOO_MANY_ALTS,ruleName:t.name,occurrence:o.idx}]:[])}function dv(t,e,r){let n=[];return t.forEach(i=>{let o=new bg;i.accept(o),o.allProductions.forEach(a=>{let c=Kc(a),l=a.maxLookahead||e,u=a.idx;if($s(u,i,c,l)[0].flat().length===0){let p=r.buildEmptyRepetitionError({topLevelRule:i,repetition:a});n.push({message:p,type:It.NO_NON_EMPTY_LOOKAHEAD,ruleName:i.name})}})}),n}function dL(t,e,r,n){let i=[];return t.reduce((a,c,l)=>(e.definition[l].ignoreAmbiguities===!0||c.forEach(u=>{let f=[l];t.forEach((d,p)=>{l!==p&&Vf(d,u)&&e.definition[p].ignoreAmbiguities!==!0&&f.push(p)}),f.length>1&&!Vf(i,u)&&(i.push(u),a.push({alts:f,path:u}))}),a),[]).map(a=>{let c=a.alts.map(u=>u+1);return{message:n.buildAlternationAmbiguityError({topLevelRule:r,alternation:e,ambiguityIndices:c,prefixPath:a.path}),type:It.AMBIGUOUS_ALTS,ruleName:r.name,occurrence:e.idx,alternatives:a.alts}})}function pL(t,e,r,n){let i=t.reduce((s,a,c)=>{let l=a.map(u=>({idx:c,path:u}));return s.concat(l)},[]);return i.flatMap(s=>{if(e.definition[s.idx].ignoreAmbiguities===!0)return[];let c=s.idx,l=s.path;return i.filter(d=>e.definition[d.idx].ignoreAmbiguities!==!0&&d.idx<c&&iv(d.path,l)).map(d=>{let p=[d.idx+1,c+1],m=e.idx===0?"":e.idx;return{message:n.buildAlternationPrefixAmbiguityError({topLevelRule:r,alternation:e,ambiguityIndices:p,prefixPath:d.path}),type:It.AMBIGUOUS_PREFIX_ALTS,ruleName:r.name,occurrence:m,alternatives:p}})})}function hL(t,e,r){let n=[],i=e.map(o=>o.name);return t.forEach(o=>{let s=o.name;if(i.includes(s)){let a=r.buildNamespaceConflictError(o);n.push({message:a,type:It.CONFLICT_TOKENS_RULES_NAMESPACE,ruleName:s})}}),n}function pv(t){let e=Object.assign({errMsgProvider:Y0},t),r={};return t.rules.forEach(n=>{r[n.name]=n}),K0(r,e.errMsgProvider)}function hv(t){var e;let r=(e=t.errMsgProvider)!==null&&e!==void 0?e:Xr;return av(t.rules,t.tokenTypes,r,t.grammarName)}var mv="MismatchedTokenException",gv="NoViableAltException",yv="EarlyExitException",xv="NotAllInputParsedException",Tv=[mv,gv,yv,xv];Object.freeze(Tv);function yi(t){return Tv.includes(t.name)}var Ms=class extends Error{constructor(e,r){super(e),this.token=r,this.resyncedTokens=[],Object.setPrototypeOf(this,new.target.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}},Ro=class extends Ms{constructor(e,r,n){super(e,r),this.previousToken=n,this.name=mv}},Jc=class extends Ms{constructor(e,r,n){super(e,r),this.previousToken=n,this.name=gv}},Qc=class extends Ms{constructor(e,r){super(e,r),this.name=xv}},el=class extends Ms{constructor(e,r,n){super(e,r),this.previousToken=n,this.name=yv}};var Ag={},Ig="InRuleRecoveryException",Sg=class extends Error{constructor(e){super(e),this.name=Ig}},Kf=class{initRecoverable(e){this.firstAfterRepMap={},this.resyncFollows={},this.recoveryEnabled=Object.hasOwn(e,"recoveryEnabled")?e.recoveryEnabled:Kt.recoveryEnabled,this.recoveryEnabled&&(this.attemptInRepetitionRecovery=mL)}getTokenToInsert(e){let r=Bn(e,"",NaN,NaN,NaN,NaN,NaN,NaN);return r.isInsertedInRecovery=!0,r}canTokenTypeBeInsertedInRecovery(e){return!0}canTokenTypeBeDeletedInRecovery(e){return!0}tryInRepetitionRecovery(e,r,n,i){let o=this.findReSyncTokenType(),s=this.exportLexerState(),a=[],c=!1,l=this.LA_FAST(1),u=this.LA_FAST(1),f=()=>{let d=this.LA(0),p=this.errorMessageProvider.buildMismatchTokenMessage({expected:i,actual:l,previous:d,ruleName:this.getCurrRuleFullName()}),m=new Ro(p,l,this.LA(0));m.resyncedTokens=a.slice(0,-1),this.SAVE_ERROR(m)};for(;!c;)if(this.tokenMatcher(u,i)){f();return}else if(n.call(this)){f(),e.apply(this,r);return}else this.tokenMatcher(u,o)?c=!0:(u=this.SKIP_TOKEN(),this.addToResyncTokens(u,a));this.importLexerState(s)}shouldInRepetitionRecoveryBeTried(e,r,n){return!(n===!1||this.tokenMatcher(this.LA_FAST(1),e)||this.isBackTracking()||this.canPerformInRuleRecovery(e,this.getFollowsForInRuleRecovery(e,r)))}getNextPossibleTokenTypes(e){let r=e.ruleStack[0],i=this.getGAstProductions()[r];return new Xf(i,e).startWalking()}getFollowsForInRuleRecovery(e,r){let n=this.getCurrentGrammarPath(e,r);return this.getNextPossibleTokenTypes(n)}tryInRuleRecovery(e,r){if(this.canRecoverWithSingleTokenInsertion(e,r))return this.getTokenToInsert(e);if(this.canRecoverWithSingleTokenDeletion(e)){let n=this.SKIP_TOKEN();return this.consumeToken(),n}throw new Sg("sad sad panda")}canPerformInRuleRecovery(e,r){return this.canRecoverWithSingleTokenInsertion(e,r)||this.canRecoverWithSingleTokenDeletion(e)}canRecoverWithSingleTokenInsertion(e,r){if(!this.canTokenTypeBeInsertedInRecovery(e)||r.length===0)return!1;let n=this.LA_FAST(1);return r.find(o=>this.tokenMatcher(n,o))!==void 0}canRecoverWithSingleTokenDeletion(e){return this.canTokenTypeBeDeletedInRecovery(e)?this.tokenMatcher(this.LA(2),e):!1}isInCurrentRuleReSyncSet(e){let r=this.getCurrFollowKey();return this.getFollowSetFromFollowKey(r).includes(e)}findReSyncTokenType(){let e=this.flattenFollowSet(),r=this.LA_FAST(1),n=2;for(;;){let i=e.find(o=>Os(r,o));if(i!==void 0)return i;r=this.LA(n),n++}}getCurrFollowKey(){if(this.RULE_STACK_IDX===0)return Ag;let e=this.currRuleShortName,r=this.getLastExplicitRuleOccurrenceIndex(),n=this.getPreviousExplicitRuleShortName();return{ruleName:this.shortRuleNameToFullName(e),idxInCallingRule:r,inRule:this.shortRuleNameToFullName(n)}}buildFullFollowKeyStack(){let e=this.RULE_STACK,r=this.RULE_OCCURRENCE_STACK,n=this.RULE_STACK_IDX+1,i=new Array(n);for(let o=0;o<n;o++)o===0?i[o]=Ag:i[o]={ruleName:this.shortRuleNameToFullName(e[o]),idxInCallingRule:r[o],inRule:this.shortRuleNameToFullName(e[o-1])};return i}flattenFollowSet(){return this.buildFullFollowKeyStack().map(r=>this.getFollowSetFromFollowKey(r)).flat()}getFollowSetFromFollowKey(e){if(e===Ag)return[Yt];let r=e.ruleName+e.idxInCallingRule+$f+e.inRule;return this.resyncFollows[r]}addToResyncTokens(e,r){return this.tokenMatcher(e,Yt)||r.push(e),r}reSyncTo(e){let r=[],n=this.LA_FAST(1);for(;this.tokenMatcher(n,e)===!1;)n=this.SKIP_TOKEN(),this.addToResyncTokens(n,r);return r.slice(0,-1)}attemptInRepetitionRecovery(e,r,n,i,o,s,a){}getCurrentGrammarPath(e,r){let n=this.getHumanReadableRuleStack(),i=this.RULE_OCCURRENCE_STACK.slice(0,this.RULE_OCCURRENCE_STACK_IDX+1);return{ruleStack:n,occurrenceStack:i,lastTok:e,lastTokOccurrence:r}}getHumanReadableRuleStack(){let e=this.RULE_STACK_IDX+1,r=new Array(e);for(let n=0;n<e;n++)r[n]=this.shortRuleNameToFullName(this.RULE_STACK[n]);return r}};function mL(t,e,r,n,i,o,s){let a=this.getKeyForAutomaticLookahead(n,i),c=this.firstAfterRepMap[a];if(c===void 0){let d=this.getCurrRuleFullName(),p=this.getGAstProductions()[d];c=new o(p,i).startWalking(),this.firstAfterRepMap[a]=c}let l=c.token,u=c.occurrence,f=c.isEndOfRule;this.RULE_STACK_IDX===0&&f&&l===void 0&&(l=Yt,u=1),!(l===void 0||u===void 0)&&this.shouldInRepetitionRecoveryBeTried(l,u,s)&&this.tryInRepetitionRecovery(t,e,r,l)}function Zf(t,e,r){return r|e|t}var Xn=class{constructor(e){var r;this.maxLookahead=(r=e?.maxLookahead)!==null&&r!==void 0?r:Kt.maxLookahead}validate(e){let r=this.validateNoLeftRecursion(e.rules);if(r.length===0){let n=this.validateEmptyOrAlternatives(e.rules),i=this.validateAmbiguousAlternationAlternatives(e.rules,this.maxLookahead),o=this.validateSomeNonEmptyLookaheadPath(e.rules,this.maxLookahead);return[...r,...n,...i,...o]}return r}validateNoLeftRecursion(e){return e.flatMap(r=>wg(r,r,Xr))}validateEmptyOrAlternatives(e){return e.flatMap(r=>uv(r,Xr))}validateAmbiguousAlternationAlternatives(e,r){return e.flatMap(n=>fv(n,r,Xr))}validateSomeNonEmptyLookaheadPath(e,r){return dv(e,r,Xr)}buildLookaheadForAlternation(e){return Q0(e.prodOccurrence,e.rule,e.maxLookahead,e.hasPredicates,e.dynamicTokensEnabled,tv)}buildLookaheadForOptional(e){return ev(e.prodOccurrence,e.rule,e.maxLookahead,e.dynamicTokensEnabled,Kc(e.prodType),rv)}};var Qf=class{initLooksAhead(e){this.dynamicTokensEnabled=Object.hasOwn(e,"dynamicTokensEnabled")?e.dynamicTokensEnabled:Kt.dynamicTokensEnabled,this.maxLookahead=Object.hasOwn(e,"maxLookahead")?e.maxLookahead:Kt.maxLookahead,this.lookaheadStrategy=Object.hasOwn(e,"lookaheadStrategy")?e.lookaheadStrategy:new Xn({maxLookahead:this.maxLookahead}),this.lookAheadFuncsCache=new Map}preComputeLookaheadFunctions(e){e.forEach(r=>{this.TRACE_INIT(`${r.name} Rule Lookahead`,()=>{let{alternation:n,repetition:i,option:o,repetitionMandatory:s,repetitionMandatoryWithSeparator:a,repetitionWithSeparator:c}=gL(r);n.forEach(l=>{let u=l.idx===0?"":l.idx;this.TRACE_INIT(`${nr(l)}${u}`,()=>{let f=this.lookaheadStrategy.buildLookaheadForAlternation({prodOccurrence:l.idx,rule:r,maxLookahead:l.maxLookahead||this.maxLookahead,hasPredicates:l.hasPredicates,dynamicTokensEnabled:this.dynamicTokensEnabled}),d=Zf(this.fullRuleNameToShort[r.name],256,l.idx);this.setLaFuncCache(d,f)})}),i.forEach(l=>{this.computeLookaheadFunc(r,l.idx,768,"Repetition",l.maxLookahead,nr(l))}),o.forEach(l=>{this.computeLookaheadFunc(r,l.idx,512,"Option",l.maxLookahead,nr(l))}),s.forEach(l=>{this.computeLookaheadFunc(r,l.idx,1024,"RepetitionMandatory",l.maxLookahead,nr(l))}),a.forEach(l=>{this.computeLookaheadFunc(r,l.idx,1536,"RepetitionMandatoryWithSeparator",l.maxLookahead,nr(l))}),c.forEach(l=>{this.computeLookaheadFunc(r,l.idx,1280,"RepetitionWithSeparator",l.maxLookahead,nr(l))})})})}computeLookaheadFunc(e,r,n,i,o,s){this.TRACE_INIT(`${s}${r===0?"":r}`,()=>{let a=this.lookaheadStrategy.buildLookaheadForOptional({prodOccurrence:r,rule:e,maxLookahead:o||this.maxLookahead,dynamicTokensEnabled:this.dynamicTokensEnabled,prodType:i}),c=Zf(this.fullRuleNameToShort[e.name],n,r);this.setLaFuncCache(c,a)})}getKeyForAutomaticLookahead(e,r){return Zf(this.currRuleShortName,e,r)}getLaFuncFromCache(e){return this.lookAheadFuncsCache.get(e)}setLaFuncCache(e,r){this.lookAheadFuncsCache.set(e,r)}},kg=class extends Vt{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)}},Jf=new kg;function gL(t){Jf.reset(),t.accept(Jf);let e=Jf.dslMethods;return Jf.reset(),e}function Cg(t,e){isNaN(t.startOffset)===!0?(t.startOffset=e.startOffset,t.endOffset=e.endOffset):t.endOffset<e.endOffset&&(t.endOffset=e.endOffset)}function Og(t,e){isNaN(t.startOffset)===!0?(t.startOffset=e.startOffset,t.startColumn=e.startColumn,t.startLine=e.startLine,t.endOffset=e.endOffset,t.endColumn=e.endColumn,t.endLine=e.endLine):t.endOffset<e.endOffset&&(t.endOffset=e.endOffset,t.endColumn=e.endColumn,t.endLine=e.endLine)}function _v(t,e,r){t.children[r]===void 0?t.children[r]=[e]:t.children[r].push(e)}function Ev(t,e,r){t.children[e]===void 0?t.children[e]=[r]:t.children[e].push(r)}var yL="name";function Lg(t,e){Object.defineProperty(t,yL,{enumerable:!1,configurable:!0,writable:!1,value:e})}function xL(t,e){let r=Object.keys(t),n=r.length;for(let i=0;i<n;i++){let o=r[i],s=t[o],a=s.length;for(let c=0;c<a;c++){let l=s[c];l.tokenTypeIdx===void 0&&this[l.name](l.children,e)}}}function vv(t,e){let r=function(){};Lg(r,t+"BaseSemantics");let n={visit:function(i,o){if(Array.isArray(i)&&(i=i[0]),i!==void 0)return this[i.name](i.children,o)},validateVisitor:function(){let i=TL(this,e);if(i.length!==0){let o=i.map(s=>s.msg);throw Error(`Errors Detected in CST Visitor <${this.constructor.name}>:
|
|
125
125
|
${o.join(`
|
|
126
126
|
|
|
127
127
|
`).replace(/\n/g,`
|
|
128
|
-
`)}`)}}};return r.prototype=n,r.prototype.constructor=r,r._RULE_NAMES=e,r}function yv(t,e,r){let n=function(){};Ig(n,t+"BaseSemanticsWithDefaults");let i=Object.create(r.prototype);return e.forEach(o=>{i[o]=lL}),n.prototype=i,n.prototype.constructor=n,n}var kg;(function(t){t[t.REDUNDANT_METHOD=0]="REDUNDANT_METHOD",t[t.MISSING_METHOD=1]="MISSING_METHOD"})(kg||(kg={}));function uL(t,e){return fL(t,e)}function fL(t,e){return e.filter(i=>typeof t[i]!="function").map(i=>({msg:`Missing visitor method: <${i}> on ${t.constructor.name} CST Visitor.`,type:kg.MISSING_METHOD,methodName:i})).filter(Boolean)}var Qf=class{initTreeBuilder(e){if(this.CST_STACK=[],this.outputCst=e.outputCst,this.nodeLocationTracking=Object.hasOwn(e,"nodeLocationTracking")?e.nodeLocationTracking:Zt.nodeLocationTracking,!this.outputCst)this.cstInvocationStateUpdate=()=>{},this.cstFinallyStateUpdate=()=>{},this.cstPostTerminal=()=>{},this.cstPostNonTerminal=()=>{},this.cstPostRule=()=>{};else if(/full/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=Sg,this.setNodeLocationFromNode=Sg,this.cstPostRule=()=>{},this.setInitialNodeLocation=this.setInitialNodeLocationFullRecovery):(this.setNodeLocationFromToken=()=>{},this.setNodeLocationFromNode=()=>{},this.cstPostRule=this.cstPostRuleFull,this.setInitialNodeLocation=this.setInitialNodeLocationFullRegular);else if(/onlyOffset/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=Ag,this.setNodeLocationFromNode=Ag,this.cstPostRule=()=>{},this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRecovery):(this.setNodeLocationFromToken=()=>{},this.setNodeLocationFromNode=()=>{},this.cstPostRule=this.cstPostRuleOnlyOffset,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRegular);else if(/none/i.test(this.nodeLocationTracking))this.setNodeLocationFromToken=()=>{},this.setNodeLocationFromNode=()=>{},this.cstPostRule=()=>{},this.setInitialNodeLocation=()=>{};else throw Error(`Invalid <nodeLocationTracking> config option: "${e.nodeLocationTracking}"`)}setInitialNodeLocationOnlyOffsetRecovery(e){e.location={startOffset:NaN,endOffset:NaN}}setInitialNodeLocationOnlyOffsetRegular(e){e.location={startOffset:this.LA_FAST(1).startOffset,endOffset:NaN}}setInitialNodeLocationFullRecovery(e){e.location={startOffset:NaN,startLine:NaN,startColumn:NaN,endOffset:NaN,endLine:NaN,endColumn:NaN}}setInitialNodeLocationFullRegular(e){let r=this.LA_FAST(1);e.location={startOffset:r.startOffset,startLine:r.startLine,startColumn:r.startColumn,endOffset:NaN,endLine:NaN,endColumn:NaN}}cstInvocationStateUpdate(e){let r={name:e,children:Object.create(null)};this.setInitialNodeLocation(r),this.CST_STACK.push(r)}cstFinallyStateUpdate(){this.CST_STACK.pop()}cstPostRuleFull(e){let r=this.LA(0),n=e.location;n.startOffset<=r.startOffset?(n.endOffset=r.endOffset,n.endLine=r.endLine,n.endColumn=r.endColumn):(n.startOffset=NaN,n.startLine=NaN,n.startColumn=NaN)}cstPostRuleOnlyOffset(e){let r=this.LA(0),n=e.location;n.startOffset<=r.startOffset?n.endOffset=r.endOffset:n.startOffset=NaN}cstPostTerminal(e,r){let n=this.CST_STACK[this.CST_STACK.length-1];hv(n,r,e),this.setNodeLocationFromToken(n.location,r)}cstPostNonTerminal(e,r){let n=this.CST_STACK[this.CST_STACK.length-1];mv(n,r,e),this.setNodeLocationFromNode(n.location,e.location)}getBaseCstVisitorConstructor(){if(this.baseCstVisitorConstructor===void 0){let e=gv(this.className,Object.keys(this.gastProductionsCache));return this.baseCstVisitorConstructor=e,e}return this.baseCstVisitorConstructor}getBaseCstVisitorConstructorWithDefaults(){if(this.baseCstVisitorWithDefaultsConstructor===void 0){let e=yv(this.className,Object.keys(this.gastProductionsCache),this.getBaseCstVisitorConstructor());return this.baseCstVisitorWithDefaultsConstructor=e,e}return this.baseCstVisitorWithDefaultsConstructor}getPreviousExplicitRuleShortName(){return this.RULE_STACK[this.RULE_STACK_IDX-1]}getLastExplicitRuleOccurrenceIndex(){return this.RULE_OCCURRENCE_STACK[this.RULE_OCCURRENCE_STACK_IDX]}};var ed=class{initLexerAdapter(){this.tokVector=[],this.tokVectorLength=0,this.currIdx=-1}set input(e){if(this.selfAnalysisDone!==!0)throw Error("Missing <performSelfAnalysis> invocation at the end of the Parser's constructor.");this.reset(),this.tokVector=e,this.tokVectorLength=e.length}get input(){return this.tokVector}SKIP_TOKEN(){return this.currIdx<=this.tokVectorLength-2?(this.consumeToken(),this.LA_FAST(1)):Gn}LA_FAST(e){let r=this.currIdx+e;return this.tokVector[r]}LA(e){let r=this.currIdx+e;return r<0||this.tokVectorLength<=r?Gn:this.tokVector[r]}consumeToken(){this.currIdx++}exportLexerState(){return this.currIdx}importLexerState(e){this.currIdx=e}resetLexerState(){this.currIdx=-1}moveToTerminatedState(){this.currIdx=this.tokVectorLength-1}getLexerPosition(){return this.exportLexerState()}};var td=class{ACTION(e){return e.call(this)}consume(e,r,n){return this.consumeInternal(r,e,n)}subrule(e,r,n){return this.subruleInternal(r,e,n)}option(e,r){return this.optionInternal(r,e)}or(e,r){return this.orInternal(r,e)}many(e,r){return this.manyInternal(e,r)}atLeastOne(e,r){return this.atLeastOneInternal(e,r)}CONSUME(e,r){return this.consumeInternal(e,0,r)}CONSUME1(e,r){return this.consumeInternal(e,1,r)}CONSUME2(e,r){return this.consumeInternal(e,2,r)}CONSUME3(e,r){return this.consumeInternal(e,3,r)}CONSUME4(e,r){return this.consumeInternal(e,4,r)}CONSUME5(e,r){return this.consumeInternal(e,5,r)}CONSUME6(e,r){return this.consumeInternal(e,6,r)}CONSUME7(e,r){return this.consumeInternal(e,7,r)}CONSUME8(e,r){return this.consumeInternal(e,8,r)}CONSUME9(e,r){return this.consumeInternal(e,9,r)}SUBRULE(e,r){return this.subruleInternal(e,0,r)}SUBRULE1(e,r){return this.subruleInternal(e,1,r)}SUBRULE2(e,r){return this.subruleInternal(e,2,r)}SUBRULE3(e,r){return this.subruleInternal(e,3,r)}SUBRULE4(e,r){return this.subruleInternal(e,4,r)}SUBRULE5(e,r){return this.subruleInternal(e,5,r)}SUBRULE6(e,r){return this.subruleInternal(e,6,r)}SUBRULE7(e,r){return this.subruleInternal(e,7,r)}SUBRULE8(e,r){return this.subruleInternal(e,8,r)}SUBRULE9(e,r){return this.subruleInternal(e,9,r)}OPTION(e){return this.optionInternal(e,0)}OPTION1(e){return this.optionInternal(e,1)}OPTION2(e){return this.optionInternal(e,2)}OPTION3(e){return this.optionInternal(e,3)}OPTION4(e){return this.optionInternal(e,4)}OPTION5(e){return this.optionInternal(e,5)}OPTION6(e){return this.optionInternal(e,6)}OPTION7(e){return this.optionInternal(e,7)}OPTION8(e){return this.optionInternal(e,8)}OPTION9(e){return this.optionInternal(e,9)}OR(e){return this.orInternal(e,0)}OR1(e){return this.orInternal(e,1)}OR2(e){return this.orInternal(e,2)}OR3(e){return this.orInternal(e,3)}OR4(e){return this.orInternal(e,4)}OR5(e){return this.orInternal(e,5)}OR6(e){return this.orInternal(e,6)}OR7(e){return this.orInternal(e,7)}OR8(e){return this.orInternal(e,8)}OR9(e){return this.orInternal(e,9)}MANY(e){this.manyInternal(0,e)}MANY1(e){this.manyInternal(1,e)}MANY2(e){this.manyInternal(2,e)}MANY3(e){this.manyInternal(3,e)}MANY4(e){this.manyInternal(4,e)}MANY5(e){this.manyInternal(5,e)}MANY6(e){this.manyInternal(6,e)}MANY7(e){this.manyInternal(7,e)}MANY8(e){this.manyInternal(8,e)}MANY9(e){this.manyInternal(9,e)}MANY_SEP(e){this.manySepFirstInternal(0,e)}MANY_SEP1(e){this.manySepFirstInternal(1,e)}MANY_SEP2(e){this.manySepFirstInternal(2,e)}MANY_SEP3(e){this.manySepFirstInternal(3,e)}MANY_SEP4(e){this.manySepFirstInternal(4,e)}MANY_SEP5(e){this.manySepFirstInternal(5,e)}MANY_SEP6(e){this.manySepFirstInternal(6,e)}MANY_SEP7(e){this.manySepFirstInternal(7,e)}MANY_SEP8(e){this.manySepFirstInternal(8,e)}MANY_SEP9(e){this.manySepFirstInternal(9,e)}AT_LEAST_ONE(e){this.atLeastOneInternal(0,e)}AT_LEAST_ONE1(e){return this.atLeastOneInternal(1,e)}AT_LEAST_ONE2(e){this.atLeastOneInternal(2,e)}AT_LEAST_ONE3(e){this.atLeastOneInternal(3,e)}AT_LEAST_ONE4(e){this.atLeastOneInternal(4,e)}AT_LEAST_ONE5(e){this.atLeastOneInternal(5,e)}AT_LEAST_ONE6(e){this.atLeastOneInternal(6,e)}AT_LEAST_ONE7(e){this.atLeastOneInternal(7,e)}AT_LEAST_ONE8(e){this.atLeastOneInternal(8,e)}AT_LEAST_ONE9(e){this.atLeastOneInternal(9,e)}AT_LEAST_ONE_SEP(e){this.atLeastOneSepFirstInternal(0,e)}AT_LEAST_ONE_SEP1(e){this.atLeastOneSepFirstInternal(1,e)}AT_LEAST_ONE_SEP2(e){this.atLeastOneSepFirstInternal(2,e)}AT_LEAST_ONE_SEP3(e){this.atLeastOneSepFirstInternal(3,e)}AT_LEAST_ONE_SEP4(e){this.atLeastOneSepFirstInternal(4,e)}AT_LEAST_ONE_SEP5(e){this.atLeastOneSepFirstInternal(5,e)}AT_LEAST_ONE_SEP6(e){this.atLeastOneSepFirstInternal(6,e)}AT_LEAST_ONE_SEP7(e){this.atLeastOneSepFirstInternal(7,e)}AT_LEAST_ONE_SEP8(e){this.atLeastOneSepFirstInternal(8,e)}AT_LEAST_ONE_SEP9(e){this.atLeastOneSepFirstInternal(9,e)}RULE(e,r,n=Ds){if(this.definedRulesNames.includes(e)){let s={message:Gr.buildDuplicateRuleNameError({topLevelRule:e,grammarName:this.className}),type:St.DUPLICATE_RULE_NAME,ruleName:e};this.definitionErrors.push(s)}this.definedRulesNames.push(e);let i=this.defineRule(e,r,n);return this[e]=i,i}OVERRIDE_RULE(e,r,n=Ds){let i=nv(e,this.definedRulesNames,this.className);this.definitionErrors=this.definitionErrors.concat(i);let o=this.defineRule(e,r,n);return this[e]=o,o}BACKTRACK(e,r){var n;let i=(n=e.coreRule)!==null&&n!==void 0?n:e;return function(){this.isBackTrackingStack.push(1);let o=this.saveRecogState();try{return i.apply(this,r),!0}catch(s){if(hi(s))return!1;throw s}finally{this.reloadRecogState(o),this.isBackTrackingStack.pop()}}}getGAstProductions(){return this.gastProductionsCache}getSerializedGastProductions(){return Pf(Object.values(this.gastProductionsCache))}};var rd=class{initRecognizerEngine(e,r){if(this.className=this.constructor.name,this.shortRuleNameToFull={},this.fullRuleNameToShort={},this.ruleShortNameIdx=256,this.tokenMatcher=Is,this.subruleIdx=0,this.currRuleShortName=0,this.definedRulesNames=[],this.tokensMap={},this.isBackTrackingStack=[],this.RULE_STACK=[],this.RULE_STACK_IDX=-1,this.RULE_OCCURRENCE_STACK=[],this.RULE_OCCURRENCE_STACK_IDX=-1,this.gastProductionsCache={},Object.hasOwn(r,"serializedGrammar"))throw Error(`The Parser's configuration can no longer contain a <serializedGrammar> property.
|
|
128
|
+
`)}`)}}};return r.prototype=n,r.prototype.constructor=r,r._RULE_NAMES=e,r}function Rv(t,e,r){let n=function(){};Lg(n,t+"BaseSemanticsWithDefaults");let i=Object.create(r.prototype);return e.forEach(o=>{i[o]=xL}),n.prototype=i,n.prototype.constructor=n,n}var Dg;(function(t){t[t.REDUNDANT_METHOD=0]="REDUNDANT_METHOD",t[t.MISSING_METHOD=1]="MISSING_METHOD"})(Dg||(Dg={}));function TL(t,e){return _L(t,e)}function _L(t,e){return e.filter(i=>typeof t[i]!="function").map(i=>({msg:`Missing visitor method: <${i}> on ${t.constructor.name} CST Visitor.`,type:Dg.MISSING_METHOD,methodName:i})).filter(Boolean)}var nd=class{initTreeBuilder(e){if(this.CST_STACK=[],this.outputCst=e.outputCst,this.nodeLocationTracking=Object.hasOwn(e,"nodeLocationTracking")?e.nodeLocationTracking:Kt.nodeLocationTracking,!this.outputCst)this.cstInvocationStateUpdate=()=>{},this.cstFinallyStateUpdate=()=>{},this.cstPostTerminal=()=>{},this.cstPostNonTerminal=()=>{},this.cstPostRule=()=>{};else if(/full/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=Og,this.setNodeLocationFromNode=Og,this.cstPostRule=()=>{},this.setInitialNodeLocation=this.setInitialNodeLocationFullRecovery):(this.setNodeLocationFromToken=()=>{},this.setNodeLocationFromNode=()=>{},this.cstPostRule=this.cstPostRuleFull,this.setInitialNodeLocation=this.setInitialNodeLocationFullRegular);else if(/onlyOffset/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=Cg,this.setNodeLocationFromNode=Cg,this.cstPostRule=()=>{},this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRecovery):(this.setNodeLocationFromToken=()=>{},this.setNodeLocationFromNode=()=>{},this.cstPostRule=this.cstPostRuleOnlyOffset,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRegular);else if(/none/i.test(this.nodeLocationTracking))this.setNodeLocationFromToken=()=>{},this.setNodeLocationFromNode=()=>{},this.cstPostRule=()=>{},this.setInitialNodeLocation=()=>{};else throw Error(`Invalid <nodeLocationTracking> config option: "${e.nodeLocationTracking}"`)}setInitialNodeLocationOnlyOffsetRecovery(e){e.location={startOffset:NaN,endOffset:NaN}}setInitialNodeLocationOnlyOffsetRegular(e){e.location={startOffset:this.LA_FAST(1).startOffset,endOffset:NaN}}setInitialNodeLocationFullRecovery(e){e.location={startOffset:NaN,startLine:NaN,startColumn:NaN,endOffset:NaN,endLine:NaN,endColumn:NaN}}setInitialNodeLocationFullRegular(e){let r=this.LA_FAST(1);e.location={startOffset:r.startOffset,startLine:r.startLine,startColumn:r.startColumn,endOffset:NaN,endLine:NaN,endColumn:NaN}}cstInvocationStateUpdate(e){let r={name:e,children:Object.create(null)};this.setInitialNodeLocation(r),this.CST_STACK.push(r)}cstFinallyStateUpdate(){this.CST_STACK.pop()}cstPostRuleFull(e){let r=this.LA(0),n=e.location;n.startOffset<=r.startOffset?(n.endOffset=r.endOffset,n.endLine=r.endLine,n.endColumn=r.endColumn):(n.startOffset=NaN,n.startLine=NaN,n.startColumn=NaN)}cstPostRuleOnlyOffset(e){let r=this.LA(0),n=e.location;n.startOffset<=r.startOffset?n.endOffset=r.endOffset:n.startOffset=NaN}cstPostTerminal(e,r){let n=this.CST_STACK[this.CST_STACK.length-1];_v(n,r,e),this.setNodeLocationFromToken(n.location,r)}cstPostNonTerminal(e,r){let n=this.CST_STACK[this.CST_STACK.length-1];Ev(n,r,e),this.setNodeLocationFromNode(n.location,e.location)}getBaseCstVisitorConstructor(){if(this.baseCstVisitorConstructor===void 0){let e=vv(this.className,Object.keys(this.gastProductionsCache));return this.baseCstVisitorConstructor=e,e}return this.baseCstVisitorConstructor}getBaseCstVisitorConstructorWithDefaults(){if(this.baseCstVisitorWithDefaultsConstructor===void 0){let e=Rv(this.className,Object.keys(this.gastProductionsCache),this.getBaseCstVisitorConstructor());return this.baseCstVisitorWithDefaultsConstructor=e,e}return this.baseCstVisitorWithDefaultsConstructor}getPreviousExplicitRuleShortName(){return this.RULE_STACK[this.RULE_STACK_IDX-1]}getLastExplicitRuleOccurrenceIndex(){return this.RULE_OCCURRENCE_STACK[this.RULE_OCCURRENCE_STACK_IDX]}};var id=class{initLexerAdapter(){this.tokVector=[],this.tokVectorLength=0,this.currIdx=-1}set input(e){if(this.selfAnalysisDone!==!0)throw Error("Missing <performSelfAnalysis> invocation at the end of the Parser's constructor.");this.reset(),this.tokVector=e,this.tokVectorLength=e.length}get input(){return this.tokVector}SKIP_TOKEN(){return this.currIdx<=this.tokVectorLength-2?(this.consumeToken(),this.LA_FAST(1)):Hn}LA_FAST(e){let r=this.currIdx+e;return this.tokVector[r]}LA(e){let r=this.currIdx+e;return r<0||this.tokVectorLength<=r?Hn:this.tokVector[r]}consumeToken(){this.currIdx++}exportLexerState(){return this.currIdx}importLexerState(e){this.currIdx=e}resetLexerState(){this.currIdx=-1}moveToTerminatedState(){this.currIdx=this.tokVectorLength-1}getLexerPosition(){return this.exportLexerState()}};var od=class{ACTION(e){return e.call(this)}consume(e,r,n){return this.consumeInternal(r,e,n)}subrule(e,r,n){return this.subruleInternal(r,e,n)}option(e,r){return this.optionInternal(r,e)}or(e,r){return this.orInternal(r,e)}many(e,r){return this.manyInternal(e,r)}atLeastOne(e,r){return this.atLeastOneInternal(e,r)}CONSUME(e,r){return this.consumeInternal(e,0,r)}CONSUME1(e,r){return this.consumeInternal(e,1,r)}CONSUME2(e,r){return this.consumeInternal(e,2,r)}CONSUME3(e,r){return this.consumeInternal(e,3,r)}CONSUME4(e,r){return this.consumeInternal(e,4,r)}CONSUME5(e,r){return this.consumeInternal(e,5,r)}CONSUME6(e,r){return this.consumeInternal(e,6,r)}CONSUME7(e,r){return this.consumeInternal(e,7,r)}CONSUME8(e,r){return this.consumeInternal(e,8,r)}CONSUME9(e,r){return this.consumeInternal(e,9,r)}SUBRULE(e,r){return this.subruleInternal(e,0,r)}SUBRULE1(e,r){return this.subruleInternal(e,1,r)}SUBRULE2(e,r){return this.subruleInternal(e,2,r)}SUBRULE3(e,r){return this.subruleInternal(e,3,r)}SUBRULE4(e,r){return this.subruleInternal(e,4,r)}SUBRULE5(e,r){return this.subruleInternal(e,5,r)}SUBRULE6(e,r){return this.subruleInternal(e,6,r)}SUBRULE7(e,r){return this.subruleInternal(e,7,r)}SUBRULE8(e,r){return this.subruleInternal(e,8,r)}SUBRULE9(e,r){return this.subruleInternal(e,9,r)}OPTION(e){return this.optionInternal(e,0)}OPTION1(e){return this.optionInternal(e,1)}OPTION2(e){return this.optionInternal(e,2)}OPTION3(e){return this.optionInternal(e,3)}OPTION4(e){return this.optionInternal(e,4)}OPTION5(e){return this.optionInternal(e,5)}OPTION6(e){return this.optionInternal(e,6)}OPTION7(e){return this.optionInternal(e,7)}OPTION8(e){return this.optionInternal(e,8)}OPTION9(e){return this.optionInternal(e,9)}OR(e){return this.orInternal(e,0)}OR1(e){return this.orInternal(e,1)}OR2(e){return this.orInternal(e,2)}OR3(e){return this.orInternal(e,3)}OR4(e){return this.orInternal(e,4)}OR5(e){return this.orInternal(e,5)}OR6(e){return this.orInternal(e,6)}OR7(e){return this.orInternal(e,7)}OR8(e){return this.orInternal(e,8)}OR9(e){return this.orInternal(e,9)}MANY(e){this.manyInternal(0,e)}MANY1(e){this.manyInternal(1,e)}MANY2(e){this.manyInternal(2,e)}MANY3(e){this.manyInternal(3,e)}MANY4(e){this.manyInternal(4,e)}MANY5(e){this.manyInternal(5,e)}MANY6(e){this.manyInternal(6,e)}MANY7(e){this.manyInternal(7,e)}MANY8(e){this.manyInternal(8,e)}MANY9(e){this.manyInternal(9,e)}MANY_SEP(e){this.manySepFirstInternal(0,e)}MANY_SEP1(e){this.manySepFirstInternal(1,e)}MANY_SEP2(e){this.manySepFirstInternal(2,e)}MANY_SEP3(e){this.manySepFirstInternal(3,e)}MANY_SEP4(e){this.manySepFirstInternal(4,e)}MANY_SEP5(e){this.manySepFirstInternal(5,e)}MANY_SEP6(e){this.manySepFirstInternal(6,e)}MANY_SEP7(e){this.manySepFirstInternal(7,e)}MANY_SEP8(e){this.manySepFirstInternal(8,e)}MANY_SEP9(e){this.manySepFirstInternal(9,e)}AT_LEAST_ONE(e){this.atLeastOneInternal(0,e)}AT_LEAST_ONE1(e){return this.atLeastOneInternal(1,e)}AT_LEAST_ONE2(e){this.atLeastOneInternal(2,e)}AT_LEAST_ONE3(e){this.atLeastOneInternal(3,e)}AT_LEAST_ONE4(e){this.atLeastOneInternal(4,e)}AT_LEAST_ONE5(e){this.atLeastOneInternal(5,e)}AT_LEAST_ONE6(e){this.atLeastOneInternal(6,e)}AT_LEAST_ONE7(e){this.atLeastOneInternal(7,e)}AT_LEAST_ONE8(e){this.atLeastOneInternal(8,e)}AT_LEAST_ONE9(e){this.atLeastOneInternal(9,e)}AT_LEAST_ONE_SEP(e){this.atLeastOneSepFirstInternal(0,e)}AT_LEAST_ONE_SEP1(e){this.atLeastOneSepFirstInternal(1,e)}AT_LEAST_ONE_SEP2(e){this.atLeastOneSepFirstInternal(2,e)}AT_LEAST_ONE_SEP3(e){this.atLeastOneSepFirstInternal(3,e)}AT_LEAST_ONE_SEP4(e){this.atLeastOneSepFirstInternal(4,e)}AT_LEAST_ONE_SEP5(e){this.atLeastOneSepFirstInternal(5,e)}AT_LEAST_ONE_SEP6(e){this.atLeastOneSepFirstInternal(6,e)}AT_LEAST_ONE_SEP7(e){this.atLeastOneSepFirstInternal(7,e)}AT_LEAST_ONE_SEP8(e){this.atLeastOneSepFirstInternal(8,e)}AT_LEAST_ONE_SEP9(e){this.atLeastOneSepFirstInternal(9,e)}RULE(e,r,n=Fs){if(this.definedRulesNames.includes(e)){let s={message:Xr.buildDuplicateRuleNameError({topLevelRule:e,grammarName:this.className}),type:It.DUPLICATE_RULE_NAME,ruleName:e};this.definitionErrors.push(s)}this.definedRulesNames.push(e);let i=this.defineRule(e,r,n);return this[e]=i,i}OVERRIDE_RULE(e,r,n=Fs){let i=lv(e,this.definedRulesNames,this.className);this.definitionErrors=this.definitionErrors.concat(i);let o=this.defineRule(e,r,n);return this[e]=o,o}BACKTRACK(e,r){var n;let i=(n=e.coreRule)!==null&&n!==void 0?n:e;return function(){this.isBackTrackingStack.push(1);let o=this.saveRecogState();try{return i.apply(this,r),!0}catch(s){if(yi(s))return!1;throw s}finally{this.reloadRecogState(o),this.isBackTrackingStack.pop()}}}getGAstProductions(){return this.gastProductionsCache}getSerializedGastProductions(){return Df(Object.values(this.gastProductionsCache))}};var sd=class{initRecognizerEngine(e,r){if(this.className=this.constructor.name,this.shortRuleNameToFull={},this.fullRuleNameToShort={},this.ruleShortNameIdx=256,this.tokenMatcher=Ps,this.subruleIdx=0,this.currRuleShortName=0,this.definedRulesNames=[],this.tokensMap={},this.isBackTrackingStack=[],this.RULE_STACK=[],this.RULE_STACK_IDX=-1,this.RULE_OCCURRENCE_STACK=[],this.RULE_OCCURRENCE_STACK_IDX=-1,this.gastProductionsCache={},Object.hasOwn(r,"serializedGrammar"))throw Error(`The Parser's configuration can no longer contain a <serializedGrammar> property.
|
|
129
129
|
See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_6-0-0
|
|
130
130
|
For Further details.`);if(Array.isArray(e)){if(e.length===0)throw Error(`A Token Vocabulary cannot be empty.
|
|
131
131
|
Note that the first argument for the parser constructor
|
|
132
132
|
is no longer a Token vector (since v4.0).`);if(typeof e[0].startOffset=="number")throw Error(`The Parser constructor no longer accepts a token vector as the first argument.
|
|
133
133
|
See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_4-0-0
|
|
134
|
-
For Further details.`)}if(Array.isArray(e))this.tokensMap=e.reduce((o,s)=>(o[s.name]=s,o),{});else if(Object.hasOwn(e,"modes")&&Object.values(e.modes).flat().every(
|
|
135
|
-
Make sure that all grammar rule definitions are done before 'performSelfAnalysis' is called.`);let i=Object.hasOwn(n,"resyncEnabled")?n.resyncEnabled:
|
|
136
|
-
See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,-1,-1,-1,-1,-1,-1);Object.freeze(
|
|
137
|
-
See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,children:{}},
|
|
134
|
+
For Further details.`)}if(Array.isArray(e))this.tokensMap=e.reduce((o,s)=>(o[s.name]=s,o),{});else if(Object.hasOwn(e,"modes")&&Object.values(e.modes).flat().every(B0)){let o=Object.values(e.modes).flat(),s=[...new Set(o)];this.tokensMap=s.reduce((a,c)=>(a[c.name]=c,a),{})}else if(typeof e=="object"&&e!==null)this.tokensMap=Object.assign({},e);else throw new Error("<tokensDictionary> argument must be An Array of Token constructors, A dictionary of Token constructors or an IMultiModeLexerDefinition");this.tokensMap.EOF=Yt;let i=(Object.hasOwn(e,"modes")?Object.values(e.modes).flat():Object.values(e)).every(o=>{var s;return((s=o.categoryMatches)===null||s===void 0?void 0:s.length)==0});this.tokenMatcher=i?Ps:Mn,Fn(Object.values(this.tokensMap))}defineRule(e,r,n){if(this.selfAnalysisDone)throw Error(`Grammar rule <${e}> may not be defined after the 'performSelfAnalysis' method has been called'
|
|
135
|
+
Make sure that all grammar rule definitions are done before 'performSelfAnalysis' is called.`);let i=Object.hasOwn(n,"resyncEnabled")?n.resyncEnabled:Fs.resyncEnabled,o=Object.hasOwn(n,"recoveryValueFunc")?n.recoveryValueFunc:Fs.recoveryValueFunc,s=this.ruleShortNameIdx<<12;this.ruleShortNameIdx++,this.shortRuleNameToFull[s]=e,this.fullRuleNameToShort[e]=s;let a;return this.outputCst===!0?a=function(...f){try{this.ruleInvocationStateUpdate(s,e,this.subruleIdx),r.apply(this,f);let d=this.CST_STACK[this.CST_STACK.length-1];return this.cstPostRule(d),d}catch(d){return this.invokeRuleCatch(d,i,o)}finally{this.ruleFinallyStateUpdate()}}:a=function(...f){try{return this.ruleInvocationStateUpdate(s,e,this.subruleIdx),r.apply(this,f)}catch(d){return this.invokeRuleCatch(d,i,o)}finally{this.ruleFinallyStateUpdate()}},Object.assign(function(...f){this.onBeforeParse(e);try{return a.apply(this,f)}finally{this.onAfterParse(e)}},{ruleName:e,originalGrammarAction:r,coreRule:a})}invokeRuleCatch(e,r,n){let i=this.RULE_STACK_IDX===0,o=r&&!this.isBackTracking()&&this.recoveryEnabled;if(yi(e)){let s=e;if(o){let a=this.findReSyncTokenType();if(this.isInCurrentRuleReSyncSet(a))if(s.resyncedTokens=this.reSyncTo(a),this.outputCst){let c=this.CST_STACK[this.CST_STACK.length-1];return c.recoveredNode=!0,c}else return n(e);else{if(this.outputCst){let c=this.CST_STACK[this.CST_STACK.length-1];c.recoveredNode=!0,s.partialCstResult=c}throw s}}else{if(i)return this.moveToTerminatedState(),n(e);throw s}}else throw e}optionInternal(e,r){let n=this.getKeyForAutomaticLookahead(512,r);return this.optionInternalLogic(e,r,n)}optionInternalLogic(e,r,n){let i=this.getLaFuncFromCache(n),o;if(typeof e!="function"){o=e.DEF;let s=e.GATE;if(s!==void 0){let a=i;i=()=>s.call(this)&&a.call(this)}}else o=e;if(i.call(this)===!0)return o.call(this)}atLeastOneInternal(e,r){let n=this.getKeyForAutomaticLookahead(1024,e);return this.atLeastOneInternalLogic(e,r,n)}atLeastOneInternalLogic(e,r,n){let i=this.getLaFuncFromCache(n),o;if(typeof r!="function"){o=r.DEF;let s=r.GATE;if(s!==void 0){let a=i;i=()=>s.call(this)&&a.call(this)}}else o=r;if(i.call(this)===!0){let s=this.doSingleRepetition(o);for(;i.call(this)===!0&&s===!0;)s=this.doSingleRepetition(o)}else throw this.raiseEarlyExitException(e,lt.REPETITION_MANDATORY,r.ERR_MSG);this.attemptInRepetitionRecovery(this.atLeastOneInternal,[e,r],i,1024,e,jf)}atLeastOneSepFirstInternal(e,r){let n=this.getKeyForAutomaticLookahead(1536,e);this.atLeastOneSepFirstInternalLogic(e,r,n)}atLeastOneSepFirstInternalLogic(e,r,n){let i=r.DEF,o=r.SEP;if(this.getLaFuncFromCache(n).call(this)===!0){i.call(this);let a=()=>this.tokenMatcher(this.LA_FAST(1),o);for(;this.tokenMatcher(this.LA_FAST(1),o)===!0;)this.CONSUME(o),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,o,a,i,Yc],a,1536,e,Yc)}else throw this.raiseEarlyExitException(e,lt.REPETITION_MANDATORY_WITH_SEPARATOR,r.ERR_MSG)}manyInternal(e,r){let n=this.getKeyForAutomaticLookahead(768,e);return this.manyInternalLogic(e,r,n)}manyInternalLogic(e,r,n){let i=this.getLaFuncFromCache(n),o;if(typeof r!="function"){o=r.DEF;let a=r.GATE;if(a!==void 0){let c=i;i=()=>a.call(this)&&c.call(this)}}else o=r;let s=!0;for(;i.call(this)===!0&&s===!0;)s=this.doSingleRepetition(o);this.attemptInRepetitionRecovery(this.manyInternal,[e,r],i,768,e,Hf,s)}manySepFirstInternal(e,r){let n=this.getKeyForAutomaticLookahead(1280,e);this.manySepFirstInternalLogic(e,r,n)}manySepFirstInternalLogic(e,r,n){let i=r.DEF,o=r.SEP;if(this.getLaFuncFromCache(n).call(this)===!0){i.call(this);let a=()=>this.tokenMatcher(this.LA_FAST(1),o);for(;this.tokenMatcher(this.LA_FAST(1),o)===!0;)this.CONSUME(o),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,o,a,i,Vc],a,1280,e,Vc)}}repetitionSepSecondInternal(e,r,n,i,o){for(;n();)this.CONSUME(r),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,r,n,i,o],n,1536,e,o)}doSingleRepetition(e){let r=this.getLexerPosition();return e.call(this),this.getLexerPosition()>r}orInternal(e,r){let n=this.getKeyForAutomaticLookahead(256,r),i=Array.isArray(e)?e:e.DEF,s=this.getLaFuncFromCache(n).call(this,i);if(s!==void 0)return i[s].ALT.call(this);this.raiseNoAltException(r,e.ERR_MSG)}ruleFinallyStateUpdate(){this.RULE_STACK_IDX--,this.RULE_OCCURRENCE_STACK_IDX--,this.RULE_STACK_IDX>=0&&(this.currRuleShortName=this.RULE_STACK[this.RULE_STACK_IDX]),this.cstFinallyStateUpdate()}subruleInternal(e,r,n){let i;try{let o=n!==void 0?n.ARGS:void 0;return this.subruleIdx=r,i=e.coreRule.apply(this,o),this.cstPostNonTerminal(i,n!==void 0&&n.LABEL!==void 0?n.LABEL:e.ruleName),i}catch(o){throw this.subruleInternalError(o,n,e.ruleName)}}subruleInternalError(e,r,n){throw yi(e)&&e.partialCstResult!==void 0&&(this.cstPostNonTerminal(e.partialCstResult,r!==void 0&&r.LABEL!==void 0?r.LABEL:n),delete e.partialCstResult),e}consumeInternal(e,r,n){let i;try{let o=this.LA_FAST(1);this.tokenMatcher(o,e)===!0?(this.consumeToken(),i=o):this.consumeInternalError(e,o,n)}catch(o){i=this.consumeInternalRecovery(e,r,o)}return this.cstPostTerminal(n!==void 0&&n.LABEL!==void 0?n.LABEL:e.name,i),i}consumeInternalError(e,r,n){let i,o=this.LA(0);throw n!==void 0&&n.ERR_MSG?i=n.ERR_MSG:i=this.errorMessageProvider.buildMismatchTokenMessage({expected:e,actual:r,previous:o,ruleName:this.getCurrRuleFullName()}),this.SAVE_ERROR(new Ro(i,r,o))}consumeInternalRecovery(e,r,n){if(this.recoveryEnabled&&n.name==="MismatchedTokenException"&&!this.isBackTracking()){let i=this.getFollowsForInRuleRecovery(e,r);try{return this.tryInRuleRecovery(e,i)}catch(o){throw o.name===Ig?n:o}}else throw n}saveRecogState(){let e=this.errors,r=this.RULE_STACK.slice(0,this.RULE_STACK_IDX+1);return{errors:e,lexerState:this.exportLexerState(),RULE_STACK:r,CST_STACK:this.CST_STACK}}reloadRecogState(e){this.errors=e.errors,this.importLexerState(e.lexerState);let r=e.RULE_STACK;for(let n=0;n<r.length;n++)this.RULE_STACK[n]=r[n];this.RULE_STACK_IDX=r.length-1,this.RULE_STACK_IDX>=0&&(this.currRuleShortName=this.RULE_STACK[this.RULE_STACK_IDX])}ruleInvocationStateUpdate(e,r,n){this.RULE_OCCURRENCE_STACK[++this.RULE_OCCURRENCE_STACK_IDX]=n,this.RULE_STACK[++this.RULE_STACK_IDX]=e,this.currRuleShortName=e,this.cstInvocationStateUpdate(r)}isBackTracking(){return this.isBackTrackingStack.length!==0}getCurrRuleFullName(){let e=this.currRuleShortName;return this.shortRuleNameToFull[e]}shortRuleNameToFullName(e){return this.shortRuleNameToFull[e]}isAtEndOfInput(){return this.tokenMatcher(this.LA(1),Yt)}reset(){this.resetLexerState(),this.subruleIdx=0,this.currRuleShortName=0,this.isBackTrackingStack=[],this.errors=[],this.RULE_STACK_IDX=-1,this.RULE_OCCURRENCE_STACK_IDX=-1,this.CST_STACK=[]}onBeforeParse(e){for(let r=0;r<this.maxLookahead+1;r++)this.tokVector.push(Hn)}onAfterParse(e){if(this.isAtEndOfInput()===!1){let r=this.LA(1),n=this.errorMessageProvider.buildNotAllInputParsedMessage({firstRedundant:r,ruleName:this.getCurrRuleFullName()});this.SAVE_ERROR(new Qc(n,r))}for(;this.tokVector.at(-1)===Hn;)this.tokVector.pop()}};var ad=class{initErrorHandler(e){this._errors=[],this.errorMessageProvider=Object.hasOwn(e,"errorMessageProvider")?e.errorMessageProvider:Kt.errorMessageProvider}SAVE_ERROR(e){if(yi(e))return e.context={ruleStack:this.getHumanReadableRuleStack(),ruleOccurrenceStack:this.RULE_OCCURRENCE_STACK.slice(0,this.RULE_OCCURRENCE_STACK_IDX+1)},this._errors.push(e),e;throw Error("Trying to save an Error which is not a RecognitionException")}get errors(){return[...this._errors]}set errors(e){this._errors=e}raiseEarlyExitException(e,r,n){let i=this.getCurrRuleFullName(),o=this.getGAstProductions()[i],a=$s(e,o,r,this.maxLookahead)[0],c=[];for(let u=1;u<=this.maxLookahead;u++)c.push(this.LA(u));let l=this.errorMessageProvider.buildEarlyExitMessage({expectedIterationPaths:a,actual:c,previous:this.LA(0),customUserDescription:n,ruleName:i});throw this.SAVE_ERROR(new el(l,this.LA(1),this.LA(0)))}raiseNoAltException(e,r){let n=this.getCurrRuleFullName(),i=this.getGAstProductions()[n],o=Ds(e,i,this.maxLookahead),s=[];for(let l=1;l<=this.maxLookahead;l++)s.push(this.LA(l));let a=this.LA(0),c=this.errorMessageProvider.buildNoViableAltMessage({expectedPathsPerAlt:o,actual:s,previous:a,customUserDescription:r,ruleName:this.getCurrRuleFullName()});throw this.SAVE_ERROR(new Jc(c,this.LA(1),a))}};var ud={description:"This Object indicates the Parser is during Recording Phase"};Object.freeze(ud);var bv=!0,wv=Math.pow(2,8)-1,Sv=gi({name:"RECORDING_PHASE_TOKEN",pattern:ct.NA});Fn([Sv]);var Iv=Bn(Sv,`This IToken indicates the Parser is in Recording Phase
|
|
136
|
+
See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,-1,-1,-1,-1,-1,-1);Object.freeze(Iv);var vL={name:`This CSTNode indicates the Parser is in Recording Phase
|
|
137
|
+
See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,children:{}},cd=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 r=e>0?e:"";this[`CONSUME${r}`]=function(n,i){return this.consumeInternalRecord(n,e,i)},this[`SUBRULE${r}`]=function(n,i){return this.subruleInternalRecord(n,e,i)},this[`OPTION${r}`]=function(n){return this.optionInternalRecord(n,e)},this[`OR${r}`]=function(n){return this.orInternalRecord(n,e)},this[`MANY${r}`]=function(n){this.manyInternalRecord(e,n)},this[`MANY_SEP${r}`]=function(n){this.manySepFirstInternalRecord(e,n)},this[`AT_LEAST_ONE${r}`]=function(n){this.atLeastOneInternalRecord(e,n)},this[`AT_LEAST_ONE_SEP${r}`]=function(n){this.atLeastOneSepFirstInternalRecord(e,n)}}this.consume=function(e,r,n){return this.consumeInternalRecord(r,e,n)},this.subrule=function(e,r,n){return this.subruleInternalRecord(r,e,n)},this.option=function(e,r){return this.optionInternalRecord(r,e)},this.or=function(e,r){return this.orInternalRecord(r,e)},this.many=function(e,r){this.manyInternalRecord(e,r)},this.atLeastOne=function(e,r){this.atLeastOneInternalRecord(e,r)},this.ACTION=this.ACTION_RECORD,this.BACKTRACK=this.BACKTRACK_RECORD,this.LA=this.LA_RECORD})}disableRecording(){this.RECORDING_PHASE=!1,this.TRACE_INIT("Deleting Recording methods",()=>{let e=this;for(let r=0;r<10;r++){let n=r>0?r:"";delete e[`CONSUME${n}`],delete e[`SUBRULE${n}`],delete e[`OPTION${n}`],delete e[`OR${n}`],delete e[`MANY${n}`],delete e[`MANY_SEP${n}`],delete e[`AT_LEAST_ONE${n}`],delete e[`AT_LEAST_ONE_SEP${n}`]}delete e.consume,delete e.subrule,delete e.option,delete e.or,delete e.many,delete e.atLeastOne,delete e.ACTION,delete e.BACKTRACK,delete e.LA})}ACTION_RECORD(e){}BACKTRACK_RECORD(e,r){return()=>!0}LA_RECORD(e){return Hn}topLevelRuleRecord(e,r){try{let n=new Wt({definition:[],name:e});return n.name=e,this.recordingProdStack.push(n),r.call(this),this.recordingProdStack.pop(),n}catch(n){if(n.KNOWN_RECORDER_ERROR!==!0)try{n.message=n.message+`
|
|
138
138
|
This error was thrown during the "grammar recording phase" For more info see:
|
|
139
|
-
https://chevrotain.io/docs/guide/internals.html#grammar-recording`}catch{throw n}throw n}}optionInternalRecord(e,r){return
|
|
140
|
-
inside top level rule: <${this.recordingProdStack[0].name}>`);throw a.KNOWN_RECORDER_ERROR=!0,a}let i=this.recordingProdStack.at(-1),o=e.ruleName,s=new
|
|
141
|
-
inside top level rule: <${this.recordingProdStack[0].name}>`);throw s.KNOWN_RECORDER_ERROR=!0,s}let i=this.recordingProdStack.at(-1),o=new
|
|
142
|
-
Idx value must be a none negative value smaller than ${
|
|
139
|
+
https://chevrotain.io/docs/guide/internals.html#grammar-recording`}catch{throw n}throw n}}optionInternalRecord(e,r){return rl.call(this,Ge,e,r)}atLeastOneInternalRecord(e,r){rl.call(this,et,r,e)}atLeastOneSepFirstInternalRecord(e,r){rl.call(this,tt,r,e,bv)}manyInternalRecord(e,r){rl.call(this,Re,r,e)}manySepFirstInternalRecord(e,r){rl.call(this,Ve,r,e,bv)}orInternalRecord(e,r){return RL.call(this,e,r)}subruleInternalRecord(e,r,n){if(ld(r),!e||!Object.hasOwn(e,"ruleName")){let a=new Error(`<SUBRULE${Av(r)}> argument is invalid expecting a Parser method reference but got: <${JSON.stringify(e)}>
|
|
140
|
+
inside top level rule: <${this.recordingProdStack[0].name}>`);throw a.KNOWN_RECORDER_ERROR=!0,a}let i=this.recordingProdStack.at(-1),o=e.ruleName,s=new Be({idx:r,nonTerminalName:o,label:n?.LABEL,referencedRule:void 0});return i.definition.push(s),this.outputCst?vL:ud}consumeInternalRecord(e,r,n){if(ld(r),!yg(e)){let s=new Error(`<CONSUME${Av(r)}> argument is invalid expecting a TokenType reference but got: <${JSON.stringify(e)}>
|
|
141
|
+
inside top level rule: <${this.recordingProdStack[0].name}>`);throw s.KNOWN_RECORDER_ERROR=!0,s}let i=this.recordingProdStack.at(-1),o=new Te({idx:r,terminalType:e,label:n?.LABEL});return i.definition.push(o),Iv}};function rl(t,e,r,n=!1){ld(r);let i=this.recordingProdStack.at(-1),o=typeof e=="function"?e:e.DEF,s=new t({definition:[],idx:r});return n&&(s.separator=e.SEP),Object.hasOwn(e,"MAX_LOOKAHEAD")&&(s.maxLookahead=e.MAX_LOOKAHEAD),this.recordingProdStack.push(s),o.call(this),i.definition.push(s),this.recordingProdStack.pop(),ud}function RL(t,e){ld(e);let r=this.recordingProdStack.at(-1),n=Array.isArray(t)===!1,i=n===!1?t:t.DEF,o=new Ye({definition:[],idx:e,ignoreAmbiguities:n&&t.IGNORE_AMBIGUITIES===!0});Object.hasOwn(t,"MAX_LOOKAHEAD")&&(o.maxLookahead=t.MAX_LOOKAHEAD);let s=i.some(a=>typeof a.GATE=="function");return o.hasPredicates=s,r.definition.push(o),i.forEach(a=>{let c=new Qe({definition:[]});o.definition.push(c),Object.hasOwn(a,"IGNORE_AMBIGUITIES")?c.ignoreAmbiguities=a.IGNORE_AMBIGUITIES:Object.hasOwn(a,"GATE")&&(c.ignoreAmbiguities=!0),this.recordingProdStack.push(c),a.ALT.call(this),this.recordingProdStack.pop()}),ud}function Av(t){return t===0?"":`${t}`}function ld(t){if(t<0||t>wv){let e=new Error(`Invalid DSL Method idx value: <${t}>
|
|
142
|
+
Idx value must be a none negative value smaller than ${wv+1}`);throw e.KNOWN_RECORDER_ERROR=!0,e}}var fd=class{initPerformanceTracer(e){if(Object.hasOwn(e,"traceInitPerf")){let r=e.traceInitPerf,n=typeof r=="number";this.traceInitMaxIdent=n?r:1/0,this.traceInitPerf=n?r>0:r}else this.traceInitMaxIdent=0,this.traceInitPerf=Kt.traceInitPerf;this.traceInitIndent=-1}TRACE_INIT(e,r){if(this.traceInitPerf===!0){this.traceInitIndent++;let n=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent<this.traceInitMaxIdent&&console.log(`${n}--> <${e}>`);let{time:i,value:o}=jc(r),s=i>10?console.warn:console.log;return this.traceInitIndent<this.traceInitMaxIdent&&s(`${n}<-- <${e}> time: ${i}ms`),this.traceInitIndent--,o}else return r()}};function kv(t,e){e.forEach(r=>{let n=r.prototype;Object.getOwnPropertyNames(n).forEach(i=>{if(i==="constructor")return;let o=Object.getOwnPropertyDescriptor(n,i);o&&(o.get||o.set)?Object.defineProperty(t.prototype,i,o):t.prototype[i]=r.prototype[i]})})}var Hn=Bn(Yt,"",NaN,NaN,NaN,NaN,NaN,NaN);Object.freeze(Hn);var Kt=Object.freeze({recoveryEnabled:!1,maxLookahead:3,dynamicTokensEnabled:!1,outputCst:!0,errorMessageProvider:Gn,nodeLocationTracking:"none",traceInitPerf:!1,skipValidations:!1}),Fs=Object.freeze({recoveryValueFunc:()=>{},resyncEnabled:!0}),It;(function(t){t[t.INVALID_RULE_NAME=0]="INVALID_RULE_NAME",t[t.DUPLICATE_RULE_NAME=1]="DUPLICATE_RULE_NAME",t[t.INVALID_RULE_OVERRIDE=2]="INVALID_RULE_OVERRIDE",t[t.DUPLICATE_PRODUCTIONS=3]="DUPLICATE_PRODUCTIONS",t[t.UNRESOLVED_SUBRULE_REF=4]="UNRESOLVED_SUBRULE_REF",t[t.LEFT_RECURSION=5]="LEFT_RECURSION",t[t.NONE_LAST_EMPTY_ALT=6]="NONE_LAST_EMPTY_ALT",t[t.AMBIGUOUS_ALTS=7]="AMBIGUOUS_ALTS",t[t.CONFLICT_TOKENS_RULES_NAMESPACE=8]="CONFLICT_TOKENS_RULES_NAMESPACE",t[t.INVALID_TOKEN_NAME=9]="INVALID_TOKEN_NAME",t[t.NO_NON_EMPTY_LOOKAHEAD=10]="NO_NON_EMPTY_LOOKAHEAD",t[t.AMBIGUOUS_PREFIX_ALTS=11]="AMBIGUOUS_PREFIX_ALTS",t[t.TOO_MANY_ALTS=12]="TOO_MANY_ALTS",t[t.CUSTOM_LOOKAHEAD_VALIDATION=13]="CUSTOM_LOOKAHEAD_VALIDATION"})(It||(It={}));function dd(t=void 0){return function(){return t}}var nl=class t{static performSelfAnalysis(e){throw Error("The **static** `performSelfAnalysis` method has been deprecated. \nUse the **instance** method with the same name instead.")}performSelfAnalysis(){this.TRACE_INIT("performSelfAnalysis",()=>{let e;this.selfAnalysisDone=!0;let r=this.className;this.TRACE_INIT("toFastProps",()=>{zc(this)}),this.TRACE_INIT("Grammar Recording",()=>{try{this.enableRecording(),this.definedRulesNames.forEach(i=>{let s=this[i].originalGrammarAction,a;this.TRACE_INIT(`${i} Rule`,()=>{a=this.topLevelRuleRecord(i,s)}),this.gastProductionsCache[i]=a})}finally{this.disableRecording()}});let n=[];if(this.TRACE_INIT("Grammar Resolving",()=>{n=pv({rules:Object.values(this.gastProductionsCache)}),this.definitionErrors=this.definitionErrors.concat(n)}),this.TRACE_INIT("Grammar Validations",()=>{if(n.length===0&&this.skipValidations===!1){let i=hv({rules:Object.values(this.gastProductionsCache),tokenTypes:Object.values(this.tokensMap),errMsgProvider:Xr,grammarName:r}),o=sv({lookaheadStrategy:this.lookaheadStrategy,rules:Object.values(this.gastProductionsCache),tokenTypes:Object.values(this.tokensMap),grammarName:r});this.definitionErrors=this.definitionErrors.concat(i,o)}}),this.definitionErrors.length===0&&(this.recoveryEnabled&&this.TRACE_INIT("computeAllProdsFollows",()=>{let i=E0(Object.values(this.gastProductionsCache));this.resyncFollows=i}),this.TRACE_INIT("ComputeLookaheadFunctions",()=>{var i,o;(o=(i=this.lookaheadStrategy).initialize)===null||o===void 0||o.call(i,{rules:Object.values(this.gastProductionsCache)}),this.preComputeLookaheadFunctions(Object.values(this.gastProductionsCache))})),!t.DEFER_DEFINITION_ERRORS_HANDLING&&this.definitionErrors.length!==0)throw e=this.definitionErrors.map(i=>i.message),new Error(`Parser Definition Errors detected:
|
|
143
143
|
${e.join(`
|
|
144
144
|
-------------------------------
|
|
145
145
|
`)}`)})}constructor(e,r){this.definitionErrors=[],this.selfAnalysisDone=!1;let n=this;if(n.initErrorHandler(r),n.initLexerAdapter(),n.initLooksAhead(r),n.initRecognizerEngine(e,r),n.initRecoverable(r),n.initTreeBuilder(r),n.initGastRecorder(r),n.initPerformanceTracer(r),Object.hasOwn(r,"ignoredIssues"))throw new Error(`The <ignoredIssues> IParserConfig property has been deprecated.
|
|
146
146
|
Please use the <IGNORE_AMBIGUITIES> flag on the relevant DSL method instead.
|
|
147
147
|
See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#IGNORING_AMBIGUITIES
|
|
148
|
-
For further details.`);this.skipValidations=Object.hasOwn(r,"skipValidations")?r.skipValidations:Zt.skipValidations}};tl.DEFER_DEFINITION_ERRORS_HANDLING=!1;Rv(tl,[qf,Yf,Qf,ed,rd,td,nd,id,ad]);var rl=class extends tl{constructor(e,r=Zt){let n=Object.assign({},r);n.outputCst=!1,super(e,n)}};function gL(t,e){for(var r=-1,n=t==null?0:t.length,i=Array(n);++r<n;)i[r]=e(t[r],r,t);return i}var ld=gL;function yL(){this.__data__=[],this.size=0}var wv=yL;function xL(t,e){return t===e||t!==t&&e!==e}var ud=xL;function TL(t,e){for(var r=t.length;r--;)if(ud(t[r][0],e))return r;return-1}var mi=TL;var _L=Array.prototype,EL=_L.splice;function vL(t){var e=this.__data__,r=mi(e,t);if(r<0)return!1;var n=e.length-1;return r==n?e.pop():EL.call(e,r,1),--this.size,!0}var bv=vL;function RL(t){var e=this.__data__,r=mi(e,t);return r<0?void 0:e[r][1]}var Av=RL;function wL(t){return mi(this.__data__,t)>-1}var Sv=wL;function bL(t,e){var r=this.__data__,n=mi(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this}var Iv=bL;function $s(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}$s.prototype.clear=wv;$s.prototype.delete=bv;$s.prototype.get=Av;$s.prototype.has=Sv;$s.prototype.set=Iv;var gi=$s;function AL(){this.__data__=new gi,this.size=0}var kv=AL;function SL(t){var e=this.__data__,r=e.delete(t);return this.size=e.size,r}var Nv=SL;function IL(t){return this.__data__.get(t)}var Pv=IL;function kL(t){return this.__data__.has(t)}var Cv=kL;var NL=typeof global=="object"&&global&&global.Object===Object&&global,fd=NL;var PL=typeof self=="object"&&self&&self.Object===Object&&self,CL=fd||PL||Function("return this")(),Nt=CL;var OL=Nt.Symbol,Jt=OL;var Ov=Object.prototype,LL=Ov.hasOwnProperty,DL=Ov.toString,nl=Jt?Jt.toStringTag:void 0;function $L(t){var e=LL.call(t,nl),r=t[nl];try{t[nl]=void 0;var n=!0}catch{}var i=DL.call(t);return n&&(e?t[nl]=r:delete t[nl]),i}var Lv=$L;var ML=Object.prototype,FL=ML.toString;function UL(t){return FL.call(t)}var Dv=UL;var BL="[object Null]",GL="[object Undefined]",$v=Jt?Jt.toStringTag:void 0;function XL(t){return t==null?t===void 0?GL:BL:$v&&$v in Object(t)?Lv(t):Dv(t)}var Xr=XL;function HL(t){var e=typeof t;return t!=null&&(e=="object"||e=="function")}var Ms=HL;var jL="[object AsyncFunction]",zL="[object Function]",qL="[object GeneratorFunction]",WL="[object Proxy]";function VL(t){if(!Ms(t))return!1;var e=Xr(t);return e==zL||e==qL||e==jL||e==WL}var dd=VL;var YL=Nt["__core-js_shared__"],pd=YL;var Mv=(function(){var t=/[^.]+$/.exec(pd&&pd.keys&&pd.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""})();function KL(t){return!!Mv&&Mv in t}var Fv=KL;var ZL=Function.prototype,JL=ZL.toString;function QL(t){if(t!=null){try{return JL.call(t)}catch{}try{return t+""}catch{}}return""}var Xn=QL;var eD=/[\\^$.*+?()[\]{}|]/g,tD=/^\[object .+?Constructor\]$/,rD=Function.prototype,nD=Object.prototype,iD=rD.toString,oD=nD.hasOwnProperty,sD=RegExp("^"+iD.call(oD).replace(eD,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function aD(t){if(!Ms(t)||Fv(t))return!1;var e=dd(t)?sD:tD;return e.test(Xn(t))}var Uv=aD;function cD(t,e){return t?.[e]}var Bv=cD;function lD(t,e){var r=Bv(t,e);return Uv(r)?r:void 0}var wr=lD;var uD=wr(Nt,"Map"),yi=uD;var fD=wr(Object,"create"),Hn=fD;function dD(){this.__data__=Hn?Hn(null):{},this.size=0}var Gv=dD;function pD(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}var Xv=pD;var hD="__lodash_hash_undefined__",mD=Object.prototype,gD=mD.hasOwnProperty;function yD(t){var e=this.__data__;if(Hn){var r=e[t];return r===hD?void 0:r}return gD.call(e,t)?e[t]:void 0}var Hv=yD;var xD=Object.prototype,TD=xD.hasOwnProperty;function _D(t){var e=this.__data__;return Hn?e[t]!==void 0:TD.call(e,t)}var jv=_D;var ED="__lodash_hash_undefined__";function vD(t,e){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=Hn&&e===void 0?ED:e,this}var zv=vD;function Fs(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}Fs.prototype.clear=Gv;Fs.prototype.delete=Xv;Fs.prototype.get=Hv;Fs.prototype.has=jv;Fs.prototype.set=zv;var Pg=Fs;function RD(){this.size=0,this.__data__={hash:new Pg,map:new(yi||gi),string:new Pg}}var qv=RD;function wD(t){var e=typeof t;return e=="string"||e=="number"||e=="symbol"||e=="boolean"?t!=="__proto__":t===null}var Wv=wD;function bD(t,e){var r=t.__data__;return Wv(e)?r[typeof e=="string"?"string":"hash"]:r.map}var xi=bD;function AD(t){var e=xi(this,t).delete(t);return this.size-=e?1:0,e}var Vv=AD;function SD(t){return xi(this,t).get(t)}var Yv=SD;function ID(t){return xi(this,t).has(t)}var Kv=ID;function kD(t,e){var r=xi(this,t),n=r.size;return r.set(t,e),this.size+=r.size==n?0:1,this}var Zv=kD;function Us(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}Us.prototype.clear=qv;Us.prototype.delete=Vv;Us.prototype.get=Yv;Us.prototype.has=Kv;Us.prototype.set=Zv;var vo=Us;var ND=200;function PD(t,e){var r=this.__data__;if(r instanceof gi){var n=r.__data__;if(!yi||n.length<ND-1)return n.push([t,e]),this.size=++r.size,this;r=this.__data__=new vo(n)}return r.set(t,e),this.size=r.size,this}var Jv=PD;function Bs(t){var e=this.__data__=new gi(t);this.size=e.size}Bs.prototype.clear=kv;Bs.prototype.delete=Nv;Bs.prototype.get=Pv;Bs.prototype.has=Cv;Bs.prototype.set=Jv;var Gs=Bs;var CD="__lodash_hash_undefined__";function OD(t){return this.__data__.set(t,CD),this}var Qv=OD;function LD(t){return this.__data__.has(t)}var eR=LD;function hd(t){var e=-1,r=t==null?0:t.length;for(this.__data__=new vo;++e<r;)this.add(t[e])}hd.prototype.add=hd.prototype.push=Qv;hd.prototype.has=eR;var md=hd;function DD(t,e){for(var r=-1,n=t==null?0:t.length;++r<n;)if(e(t[r],r,t))return!0;return!1}var tR=DD;function $D(t,e){return t.has(e)}var gd=$D;var MD=1,FD=2;function UD(t,e,r,n,i,o){var s=r&MD,a=t.length,c=e.length;if(a!=c&&!(s&&c>a))return!1;var l=o.get(t),u=o.get(e);if(l&&u)return l==e&&u==t;var f=-1,d=!0,p=r&FD?new md:void 0;for(o.set(t,e),o.set(e,t);++f<a;){var m=t[f],g=e[f];if(n)var v=s?n(g,m,f,e,t,o):n(m,g,f,t,e,o);if(v!==void 0){if(v)continue;d=!1;break}if(p){if(!tR(e,function(T,_){if(!gd(p,_)&&(m===T||i(m,T,r,n,o)))return p.push(_)})){d=!1;break}}else if(!(m===g||i(m,g,r,n,o))){d=!1;break}}return o.delete(t),o.delete(e),d}var yd=UD;var BD=Nt.Uint8Array,Cg=BD;function GD(t){var e=-1,r=Array(t.size);return t.forEach(function(n,i){r[++e]=[i,n]}),r}var rR=GD;function XD(t){var e=-1,r=Array(t.size);return t.forEach(function(n){r[++e]=n}),r}var Xs=XD;var HD=1,jD=2,zD="[object Boolean]",qD="[object Date]",WD="[object Error]",VD="[object Map]",YD="[object Number]",KD="[object RegExp]",ZD="[object Set]",JD="[object String]",QD="[object Symbol]",e1="[object ArrayBuffer]",t1="[object DataView]",nR=Jt?Jt.prototype:void 0,Og=nR?nR.valueOf:void 0;function r1(t,e,r,n,i,o,s){switch(r){case t1:if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case e1:return!(t.byteLength!=e.byteLength||!o(new Cg(t),new Cg(e)));case zD:case qD:case YD:return ud(+t,+e);case WD:return t.name==e.name&&t.message==e.message;case KD:case JD:return t==e+"";case VD:var a=rR;case ZD:var c=n&HD;if(a||(a=Xs),t.size!=e.size&&!c)return!1;var l=s.get(t);if(l)return l==e;n|=jD,s.set(t,e);var u=yd(a(t),a(e),n,i,o,s);return s.delete(t),u;case QD:if(Og)return Og.call(t)==Og.call(e)}return!1}var iR=r1;function n1(t,e){for(var r=-1,n=e.length,i=t.length;++r<n;)t[i+r]=e[r];return t}var xd=n1;var i1=Array.isArray,qe=i1;function o1(t,e,r){var n=e(t);return qe(t)?n:xd(n,r(t))}var oR=o1;function s1(t,e){for(var r=-1,n=t==null?0:t.length,i=0,o=[];++r<n;){var s=t[r];e(s,r,t)&&(o[i++]=s)}return o}var Td=s1;function a1(){return[]}var sR=a1;var c1=Object.prototype,l1=c1.propertyIsEnumerable,aR=Object.getOwnPropertySymbols,u1=aR?function(t){return t==null?[]:(t=Object(t),Td(aR(t),function(e){return l1.call(t,e)}))}:sR,cR=u1;function f1(t,e){for(var r=-1,n=Array(t);++r<t;)n[r]=e(r);return n}var lR=f1;function d1(t){return t!=null&&typeof t=="object"}var Hr=d1;var p1="[object Arguments]";function h1(t){return Hr(t)&&Xr(t)==p1}var Lg=h1;var uR=Object.prototype,m1=uR.hasOwnProperty,g1=uR.propertyIsEnumerable,y1=Lg((function(){return arguments})())?Lg:function(t){return Hr(t)&&m1.call(t,"callee")&&!g1.call(t,"callee")},Ti=y1;function x1(){return!1}var fR=x1;var hR=typeof exports=="object"&&exports&&!exports.nodeType&&exports,dR=hR&&typeof module=="object"&&module&&!module.nodeType&&module,T1=dR&&dR.exports===hR,pR=T1?Nt.Buffer:void 0,_1=pR?pR.isBuffer:void 0,E1=_1||fR,Ro=E1;var v1=9007199254740991,R1=/^(?:0|[1-9]\d*)$/;function w1(t,e){var r=typeof t;return e=e??v1,!!e&&(r=="number"||r!="symbol"&&R1.test(t))&&t>-1&&t%1==0&&t<e}var _d=w1;var b1=9007199254740991;function A1(t){return typeof t=="number"&&t>-1&&t%1==0&&t<=b1}var Hs=A1;var S1="[object Arguments]",I1="[object Array]",k1="[object Boolean]",N1="[object Date]",P1="[object Error]",C1="[object Function]",O1="[object Map]",L1="[object Number]",D1="[object Object]",$1="[object RegExp]",M1="[object Set]",F1="[object String]",U1="[object WeakMap]",B1="[object ArrayBuffer]",G1="[object DataView]",X1="[object Float32Array]",H1="[object Float64Array]",j1="[object Int8Array]",z1="[object Int16Array]",q1="[object Int32Array]",W1="[object Uint8Array]",V1="[object Uint8ClampedArray]",Y1="[object Uint16Array]",K1="[object Uint32Array]",nt={};nt[X1]=nt[H1]=nt[j1]=nt[z1]=nt[q1]=nt[W1]=nt[V1]=nt[Y1]=nt[K1]=!0;nt[S1]=nt[I1]=nt[B1]=nt[k1]=nt[G1]=nt[N1]=nt[P1]=nt[C1]=nt[O1]=nt[L1]=nt[D1]=nt[$1]=nt[M1]=nt[F1]=nt[U1]=!1;function Z1(t){return Hr(t)&&Hs(t.length)&&!!nt[Xr(t)]}var mR=Z1;function J1(t){return function(e){return t(e)}}var gR=J1;var yR=typeof exports=="object"&&exports&&!exports.nodeType&&exports,il=yR&&typeof module=="object"&&module&&!module.nodeType&&module,Q1=il&&il.exports===yR,Dg=Q1&&fd.process,e$=(function(){try{var t=il&&il.require&&il.require("util").types;return t||Dg&&Dg.binding&&Dg.binding("util")}catch{}})(),$g=e$;var xR=$g&&$g.isTypedArray,t$=xR?gR(xR):mR,js=t$;var r$=Object.prototype,n$=r$.hasOwnProperty;function i$(t,e){var r=qe(t),n=!r&&Ti(t),i=!r&&!n&&Ro(t),o=!r&&!n&&!i&&js(t),s=r||n||i||o,a=s?lR(t.length,String):[],c=a.length;for(var l in t)(e||n$.call(t,l))&&!(s&&(l=="length"||i&&(l=="offset"||l=="parent")||o&&(l=="buffer"||l=="byteLength"||l=="byteOffset")||_d(l,c)))&&a.push(l);return a}var TR=i$;var o$=Object.prototype;function s$(t){var e=t&&t.constructor,r=typeof e=="function"&&e.prototype||o$;return t===r}var Ed=s$;function a$(t,e){return function(r){return t(e(r))}}var _R=a$;var c$=_R(Object.keys,Object),ER=c$;var l$=Object.prototype,u$=l$.hasOwnProperty;function f$(t){if(!Ed(t))return ER(t);var e=[];for(var r in Object(t))u$.call(t,r)&&r!="constructor"&&e.push(r);return e}var vd=f$;function d$(t){return t!=null&&Hs(t.length)&&!dd(t)}var _i=d$;function p$(t){return _i(t)?TR(t):vd(t)}var zs=p$;function h$(t){return oR(t,zs,cR)}var Mg=h$;var m$=1,g$=Object.prototype,y$=g$.hasOwnProperty;function x$(t,e,r,n,i,o){var s=r&m$,a=Mg(t),c=a.length,l=Mg(e),u=l.length;if(c!=u&&!s)return!1;for(var f=c;f--;){var d=a[f];if(!(s?d in e:y$.call(e,d)))return!1}var p=o.get(t),m=o.get(e);if(p&&m)return p==e&&m==t;var g=!0;o.set(t,e),o.set(e,t);for(var v=s;++f<c;){d=a[f];var T=t[d],_=e[d];if(n)var E=s?n(_,T,d,e,t,o):n(T,_,d,t,e,o);if(!(E===void 0?T===_||i(T,_,r,n,o):E)){g=!1;break}v||(v=d=="constructor")}if(g&&!v){var I=t.constructor,D=e.constructor;I!=D&&"constructor"in t&&"constructor"in e&&!(typeof I=="function"&&I instanceof I&&typeof D=="function"&&D instanceof D)&&(g=!1)}return o.delete(t),o.delete(e),g}var vR=x$;var T$=wr(Nt,"DataView"),Rd=T$;var _$=wr(Nt,"Promise"),wd=_$;var E$=wr(Nt,"Set"),Ei=E$;var v$=wr(Nt,"WeakMap"),bd=v$;var RR="[object Map]",R$="[object Object]",wR="[object Promise]",bR="[object Set]",AR="[object WeakMap]",SR="[object DataView]",w$=Xn(Rd),b$=Xn(yi),A$=Xn(wd),S$=Xn(Ei),I$=Xn(bd),wo=Xr;(Rd&&wo(new Rd(new ArrayBuffer(1)))!=SR||yi&&wo(new yi)!=RR||wd&&wo(wd.resolve())!=wR||Ei&&wo(new Ei)!=bR||bd&&wo(new bd)!=AR)&&(wo=function(t){var e=Xr(t),r=e==R$?t.constructor:void 0,n=r?Xn(r):"";if(n)switch(n){case w$:return SR;case b$:return RR;case A$:return wR;case S$:return bR;case I$:return AR}return e});var ol=wo;var k$=1,IR="[object Arguments]",kR="[object Array]",Ad="[object Object]",N$=Object.prototype,NR=N$.hasOwnProperty;function P$(t,e,r,n,i,o){var s=qe(t),a=qe(e),c=s?kR:ol(t),l=a?kR:ol(e);c=c==IR?Ad:c,l=l==IR?Ad:l;var u=c==Ad,f=l==Ad,d=c==l;if(d&&Ro(t)){if(!Ro(e))return!1;s=!0,u=!1}if(d&&!u)return o||(o=new Gs),s||js(t)?yd(t,e,r,n,i,o):iR(t,e,c,r,n,i,o);if(!(r&k$)){var p=u&&NR.call(t,"__wrapped__"),m=f&&NR.call(e,"__wrapped__");if(p||m){var g=p?t.value():t,v=m?e.value():e;return o||(o=new Gs),i(g,v,r,n,o)}}return d?(o||(o=new Gs),vR(t,e,r,n,i,o)):!1}var PR=P$;function CR(t,e,r,n,i){return t===e?!0:t==null||e==null||!Hr(t)&&!Hr(e)?t!==t&&e!==e:PR(t,e,r,n,CR,i)}var Sd=CR;var C$=1,O$=2;function L$(t,e,r,n){var i=r.length,o=i,s=!n;if(t==null)return!o;for(t=Object(t);i--;){var a=r[i];if(s&&a[2]?a[1]!==t[a[0]]:!(a[0]in t))return!1}for(;++i<o;){a=r[i];var c=a[0],l=t[c],u=a[1];if(s&&a[2]){if(l===void 0&&!(c in t))return!1}else{var f=new Gs;if(n)var d=n(l,u,c,t,e,f);if(!(d===void 0?Sd(u,l,C$|O$,n,f):d))return!1}}return!0}var OR=L$;function D$(t){return t===t&&!Ms(t)}var Id=D$;function $$(t){for(var e=zs(t),r=e.length;r--;){var n=e[r],i=t[n];e[r]=[n,i,Id(i)]}return e}var LR=$$;function M$(t,e){return function(r){return r==null?!1:r[t]===e&&(e!==void 0||t in Object(r))}}var kd=M$;function F$(t){var e=LR(t);return e.length==1&&e[0][2]?kd(e[0][0],e[0][1]):function(r){return r===t||OR(r,t,e)}}var DR=F$;var U$="[object Symbol]";function B$(t){return typeof t=="symbol"||Hr(t)&&Xr(t)==U$}var vi=B$;var G$=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,X$=/^\w*$/;function H$(t,e){if(qe(t))return!1;var r=typeof t;return r=="number"||r=="symbol"||r=="boolean"||t==null||vi(t)?!0:X$.test(t)||!G$.test(t)||e!=null&&t in Object(e)}var qs=H$;var j$="Expected a function";function Fg(t,e){if(typeof t!="function"||e!=null&&typeof e!="function")throw new TypeError(j$);var r=function(){var n=arguments,i=e?e.apply(this,n):n[0],o=r.cache;if(o.has(i))return o.get(i);var s=t.apply(this,n);return r.cache=o.set(i,s)||o,s};return r.cache=new(Fg.Cache||vo),r}Fg.Cache=vo;var $R=Fg;var z$=500;function q$(t){var e=$R(t,function(n){return r.size===z$&&r.clear(),n}),r=e.cache;return e}var MR=q$;var W$=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,V$=/\\(\\)?/g,Y$=MR(function(t){var e=[];return t.charCodeAt(0)===46&&e.push(""),t.replace(W$,function(r,n,i,o){e.push(i?o.replace(V$,"$1"):n||r)}),e}),FR=Y$;var K$=1/0,UR=Jt?Jt.prototype:void 0,BR=UR?UR.toString:void 0;function GR(t){if(typeof t=="string")return t;if(qe(t))return ld(t,GR)+"";if(vi(t))return BR?BR.call(t):"";var e=t+"";return e=="0"&&1/t==-K$?"-0":e}var XR=GR;function Z$(t){return t==null?"":XR(t)}var HR=Z$;function J$(t,e){return qe(t)?t:qs(t,e)?[t]:FR(HR(t))}var Nd=J$;var Q$=1/0;function eM(t){if(typeof t=="string"||vi(t))return t;var e=t+"";return e=="0"&&1/t==-Q$?"-0":e}var Ri=eM;function tM(t,e){e=Nd(e,t);for(var r=0,n=e.length;t!=null&&r<n;)t=t[Ri(e[r++])];return r&&r==n?t:void 0}var Pd=tM;function rM(t,e,r){var n=t==null?void 0:Pd(t,e);return n===void 0?r:n}var jR=rM;function nM(t,e){return t!=null&&e in Object(t)}var zR=nM;function iM(t,e,r){e=Nd(e,t);for(var n=-1,i=e.length,o=!1;++n<i;){var s=Ri(e[n]);if(!(o=t!=null&&r(t,s)))break;t=t[s]}return o||++n!=i?o:(i=t==null?0:t.length,!!i&&Hs(i)&&_d(s,i)&&(qe(t)||Ti(t)))}var qR=iM;function oM(t,e){return t!=null&&qR(t,e,zR)}var WR=oM;var sM=1,aM=2;function cM(t,e){return qs(t)&&Id(e)?kd(Ri(t),e):function(r){var n=jR(r,t);return n===void 0&&n===e?WR(r,t):Sd(e,n,sM|aM)}}var VR=cM;function lM(t){return t}var Ws=lM;function uM(t){return function(e){return e?.[t]}}var YR=uM;function fM(t){return function(e){return Pd(e,t)}}var KR=fM;function dM(t){return qs(t)?YR(Ri(t)):KR(t)}var ZR=dM;function pM(t){return typeof t=="function"?t:t==null?Ws:typeof t=="object"?qe(t)?VR(t[0],t[1]):DR(t):ZR(t)}var wi=pM;function hM(t){return function(e,r,n){for(var i=-1,o=Object(e),s=n(e),a=s.length;a--;){var c=s[t?a:++i];if(r(o[c],c,o)===!1)break}return e}}var JR=hM;var mM=JR(),QR=mM;function gM(t,e){return t&&QR(t,e,zs)}var ew=gM;function yM(t,e){return function(r,n){if(r==null)return r;if(!_i(r))return t(r,n);for(var i=r.length,o=e?i:-1,s=Object(r);(e?o--:++o<i)&&n(s[o],o,s)!==!1;);return r}}var tw=yM;var xM=tw(ew),bi=xM;function TM(t,e){var r=-1,n=_i(t)?Array(t.length):[];return bi(t,function(i,o,s){n[++r]=e(i,o,s)}),n}var rw=TM;function _M(t,e){var r=qe(t)?ld:rw;return r(t,wi(e,3))}var hr=_M;function EM(t,e){var r=[];return bi(t,function(n,i,o){e(n,i,o)&&r.push(n)}),r}var nw=EM;function vM(t,e){var r=qe(t)?Td:nw;return r(t,wi(e,3))}var iw=vM;function bo(t,e,r){return`${t.name}_${e}_${r}`}var Ai=1,RM=2,ow=4,sw=5;var Ao=7,wM=8,bM=9,AM=10,SM=11,aw=12,sl=class{constructor(e){this.target=e}isEpsilon(){return!1}},Vs=class extends sl{constructor(e,r){super(e),this.tokenType=r}},al=class extends sl{constructor(e){super(e)}isEpsilon(){return!0}},Ys=class extends sl{constructor(e,r,n){super(e),this.rule=r,this.followState=n}isEpsilon(){return!0}};function cw(t){let e={decisionMap:{},decisionStates:[],ruleToStartState:new Map,ruleToStopState:new Map,states:[]};IM(e,t);let r=t.length;for(let n=0;n<r;n++){let i=t[n],o=So(e,i,i);o!==void 0&&UM(e,i,o)}return e}function IM(t,e){let r=e.length;for(let n=0;n<r;n++){let i=e[n],o=Pt(t,i,void 0,{type:RM}),s=Pt(t,i,void 0,{type:Ao});o.stop=s,t.ruleToStartState.set(i,o),t.ruleToStopState.set(i,s)}}function lw(t,e,r){return r instanceof _e?Ug(t,e,r.terminalType,r):r instanceof Ge?FM(t,e,r):r instanceof Ke?OM(t,e,r):r instanceof Xe?LM(t,e,r):r instanceof we?kM(t,e,r):r instanceof Ye?NM(t,e,r):r instanceof Qe?PM(t,e,r):r instanceof et?CM(t,e,r):So(t,e,r)}function kM(t,e,r){let n=Pt(t,e,r,{type:sw});Si(t,n);let i=Ks(t,e,n,r,So(t,e,r));return fw(t,e,r,i)}function NM(t,e,r){let n=Pt(t,e,r,{type:sw});Si(t,n);let i=Ks(t,e,n,r,So(t,e,r)),o=Ug(t,e,r.separator,r);return fw(t,e,r,i,o)}function PM(t,e,r){let n=Pt(t,e,r,{type:ow});Si(t,n);let i=Ks(t,e,n,r,So(t,e,r));return uw(t,e,r,i)}function CM(t,e,r){let n=Pt(t,e,r,{type:ow});Si(t,n);let i=Ks(t,e,n,r,So(t,e,r)),o=Ug(t,e,r.separator,r);return uw(t,e,r,i,o)}function OM(t,e,r){let n=Pt(t,e,r,{type:Ai});Si(t,n);let i=hr(r.definition,s=>lw(t,e,s));return Ks(t,e,n,r,...i)}function LM(t,e,r){let n=Pt(t,e,r,{type:Ai});Si(t,n);let i=Ks(t,e,n,r,So(t,e,r));return DM(t,e,r,i)}function So(t,e,r){let n=iw(hr(r.definition,i=>lw(t,e,i)),i=>i!==void 0);return n.length===1?n[0]:n.length===0?void 0:MM(t,n)}function uw(t,e,r,n,i){let o=n.left,s=n.right,a=Pt(t,e,r,{type:SM});Si(t,a);let c=Pt(t,e,r,{type:aw});return o.loopback=a,c.loopback=a,t.decisionMap[bo(e,i?"RepetitionMandatoryWithSeparator":"RepetitionMandatory",r.idx)]=a,wt(s,a),i===void 0?(wt(a,o),wt(a,c)):(wt(a,c),wt(a,i.left),wt(i.right,o)),{left:o,right:c}}function fw(t,e,r,n,i){let o=n.left,s=n.right,a=Pt(t,e,r,{type:AM});Si(t,a);let c=Pt(t,e,r,{type:aw}),l=Pt(t,e,r,{type:bM});return a.loopback=l,c.loopback=l,wt(a,o),wt(a,c),wt(s,l),i!==void 0?(wt(l,c),wt(l,i.left),wt(i.right,o)):wt(l,a),t.decisionMap[bo(e,i?"RepetitionWithSeparator":"Repetition",r.idx)]=a,{left:a,right:c}}function DM(t,e,r,n){let i=n.left,o=n.right;return wt(i,o),t.decisionMap[bo(e,"Option",r.idx)]=i,n}function Si(t,e){return t.decisionStates.push(e),e.decision=t.decisionStates.length-1,e.decision}function Ks(t,e,r,n,...i){let o=Pt(t,e,n,{type:wM,start:r});r.end=o;for(let a of i)a!==void 0?(wt(r,a.left),wt(a.right,o)):wt(r,o);let s={left:r,right:o};return t.decisionMap[bo(e,$M(n),n.idx)]=r,s}function $M(t){if(t instanceof Ke)return"Alternation";if(t instanceof Xe)return"Option";if(t instanceof we)return"Repetition";if(t instanceof Ye)return"RepetitionWithSeparator";if(t instanceof Qe)return"RepetitionMandatory";if(t instanceof et)return"RepetitionMandatoryWithSeparator";throw new Error("Invalid production type encountered")}function MM(t,e){let r=e.length;for(let o=0;o<r-1;o++){let s=e[o],a;s.left.transitions.length===1&&(a=s.left.transitions[0]);let c=a instanceof Ys,l=a,u=e[o+1].left;s.left.type===Ai&&s.right.type===Ai&&a!==void 0&&(c&&l.followState===s.right||a.target===s.right)?(c?l.followState=u:a.target=u,BM(t,s.right)):wt(s.right,u)}let n=e[0],i=e[r-1];return{left:n.left,right:i.right}}function Ug(t,e,r,n){let i=Pt(t,e,n,{type:Ai}),o=Pt(t,e,n,{type:Ai});return Bg(i,new Vs(o,r)),{left:i,right:o}}function FM(t,e,r){let n=r.referencedRule,i=t.ruleToStartState.get(n),o=Pt(t,e,r,{type:Ai}),s=Pt(t,e,r,{type:Ai}),a=new Ys(i,n,s);return Bg(o,a),{left:o,right:s}}function UM(t,e,r){let n=t.ruleToStartState.get(e);wt(n,r.left);let i=t.ruleToStopState.get(e);return wt(r.right,i),{left:n,right:i}}function wt(t,e){let r=new al(e);Bg(t,r)}function Pt(t,e,r,n){let i=Object.assign({atn:t,production:r,epsilonOnlyTransitions:!1,rule:e,transitions:[],nextTokenWithinRule:[],stateNumber:t.states.length},n);return t.states.push(i),i}function Bg(t,e){t.transitions.length===0&&(t.epsilonOnlyTransitions=e.isEpsilon()),t.transitions.push(e)}function BM(t,e){t.states.splice(t.states.indexOf(e),1)}var cl={},Zs=class{constructor(){this.map={},this.configs=[]}get size(){return this.configs.length}finalize(){this.map={}}add(e){let r=Gg(e);r in this.map||(this.map[r]=this.configs.length,this.configs.push(e))}get elements(){return this.configs}get alts(){return hr(this.configs,e=>e.alt)}get key(){let e="";for(let r in this.map)e+=r+":";return e}};function Gg(t,e=!0){return`${e?`a${t.alt}`:""}s${t.state.stateNumber}:${t.stack.map(r=>r.stateNumber.toString()).join("_")}`}function GM(t,e,r){for(var n=-1,i=t.length;++n<i;){var o=t[n],s=e(o);if(s!=null&&(a===void 0?s===s&&!vi(s):r(s,a)))var a=s,c=o}return c}var dw=GM;function XM(t,e){return t<e}var pw=XM;function HM(t){return t&&t.length?dw(t,Ws,pw):void 0}var hw=HM;var mw=Jt?Jt.isConcatSpreadable:void 0;function jM(t){return qe(t)||Ti(t)||!!(mw&&t&&t[mw])}var gw=jM;function yw(t,e,r,n,i){var o=-1,s=t.length;for(r||(r=gw),i||(i=[]);++o<s;){var a=t[o];e>0&&r(a)?e>1?yw(a,e-1,r,n,i):xd(i,a):n||(i[i.length]=a)}return i}var Cd=yw;function zM(t,e){return Cd(hr(t,e),1)}var xw=zM;function qM(t,e,r,n){for(var i=t.length,o=r+(n?1:-1);n?o--:++o<i;)if(e(t[o],o,t))return o;return-1}var Tw=qM;function WM(t){return t!==t}var _w=WM;function VM(t,e,r){for(var n=r-1,i=t.length;++n<i;)if(t[n]===e)return n;return-1}var Ew=VM;function YM(t,e,r){return e===e?Ew(t,e,r):Tw(t,_w,r)}var vw=YM;function KM(t,e){var r=t==null?0:t.length;return!!r&&vw(t,e,0)>-1}var Rw=KM;function ZM(t,e,r){for(var n=-1,i=t==null?0:t.length;++n<i;)if(r(e,t[n]))return!0;return!1}var ww=ZM;function JM(){}var bw=JM;var QM=1/0,eF=Ei&&1/Xs(new Ei([,-0]))[1]==QM?function(t){return new Ei(t)}:bw,Aw=eF;var tF=200;function rF(t,e,r){var n=-1,i=Rw,o=t.length,s=!0,a=[],c=a;if(r)s=!1,i=ww;else if(o>=tF){var l=e?null:Aw(t);if(l)return Xs(l);s=!1,i=gd,c=new md}else c=e?[]:a;e:for(;++n<o;){var u=t[n],f=e?e(u):u;if(u=r||u!==0?u:0,s&&f===f){for(var d=c.length;d--;)if(c[d]===f)continue e;e&&c.push(f),a.push(u)}else i(c,f,r)||(c!==a&&c.push(f),a.push(u))}return a}var Sw=rF;function nF(t,e){return t&&t.length?Sw(t,wi(e,2)):[]}var Iw=nF;function iF(t){var e=t==null?0:t.length;return e?Cd(t,1):[]}var kw=iF;function oF(t,e){for(var r=-1,n=t==null?0:t.length;++r<n&&e(t[r],r,t)!==!1;);return t}var Nw=oF;function sF(t){return typeof t=="function"?t:Ws}var Pw=sF;function aF(t,e){var r=qe(t)?Nw:bi;return r(t,Pw(e))}var Od=aF;var cF="[object Map]",lF="[object Set]",uF=Object.prototype,fF=uF.hasOwnProperty;function dF(t){if(t==null)return!0;if(_i(t)&&(qe(t)||typeof t=="string"||typeof t.splice=="function"||Ro(t)||js(t)||Ti(t)))return!t.length;var e=ol(t);if(e==cF||e==lF)return!t.size;if(Ed(t))return!vd(t).length;for(var r in t)if(fF.call(t,r))return!1;return!0}var Cw=dF;function pF(t,e,r,n){var i=-1,o=t==null?0:t.length;for(n&&o&&(r=t[++i]);++i<o;)r=e(r,t[i],i,t);return r}var Ow=pF;function hF(t,e,r,n,i){return i(t,function(o,s,a){r=n?(n=!1,o):e(r,o,s,a)}),r}var Lw=hF;function mF(t,e,r){var n=qe(t)?Ow:Lw,i=arguments.length<3;return n(t,wi(e,4),r,i,bi)}var Xg=mF;function gF(t,e){let r={};return n=>{let i=n.toString(),o=r[i];return o!==void 0||(o={atnStartState:t,decision:e,states:{}},r[i]=o),o}}var Ld=class{constructor(){this.predicates=[]}is(e){return e>=this.predicates.length||this.predicates[e]}set(e,r){this.predicates[e]=r}toString(){let e="",r=this.predicates.length;for(let n=0;n<r;n++)e+=this.predicates[n]===!0?"1":"0";return e}},Dw=new Ld,ll=class extends Bn{constructor(e){var r,n;super(),this.logging=(r=e?.logging)!==null&&r!==void 0?r:(i=>console.log(i)),this.incomplete=(n=e?.incomplete)!==null&&n!==void 0?n:!1}initialize(e){this.atn=cw(e.rules),this.dfas=yF(this.atn)}validateAmbiguousAlternationAlternatives(){return[]}validateEmptyOrAlternatives(){return[]}buildLookaheadForAlternation(e){let{prodOccurrence:r,rule:n,hasPredicates:i,dynamicTokensEnabled:o}=e,s=this.dfas,a=this.logging,c=this.incomplete,l=bo(n,"Alternation",r),f=this.atn.decisionMap[l].decision,d=hr(Hf({maxLookahead:1,occurrence:r,prodType:"Alternation",rule:n}),p=>hr(p,m=>m[0]));if($w(d,!1)&&!o){let p=Xg(d,(m,g,v)=>(Od(g,T=>{T&&(m[T.tokenTypeIdx]=v,Od(T.categoryMatches,_=>{m[_]=v}))}),m),{});return i?function(m){var g;let v=this.LA_FAST(1),T=p[v.tokenTypeIdx];if(m!==void 0&&T!==void 0){let _=(g=m[T])===null||g===void 0?void 0:g.GATE;if(_!==void 0&&_.call(this)===!1)return}return T}:function(){let m=this.LA_FAST(1);return p[m.tokenTypeIdx]}}else return i?function(p){let m=new Ld,g=p===void 0?0:p.length;for(let T=0;T<g;T++){let _=p?.[T].GATE;m.set(T,_===void 0||_.call(this))}let v=Hg.call(this,s,f,m,a,c);return typeof v=="number"?v:void 0}:function(){let p=Hg.call(this,s,f,Dw,a,c);return typeof p=="number"?p:void 0}}buildLookaheadForOptional(e){let{prodOccurrence:r,rule:n,prodType:i,dynamicTokensEnabled:o}=e,s=this.dfas,a=this.logging,c=this.incomplete,l=bo(n,i,r),f=this.atn.decisionMap[l].decision,d=hr(Hf({maxLookahead:1,occurrence:r,prodType:i,rule:n}),p=>hr(p,m=>m[0]));if($w(d)&&d[0][0]&&!o){let p=d[0],m=kw(p);if(m.length===1&&Cw(m[0].categoryMatches)){let v=m[0].tokenTypeIdx;return function(){return this.LA_FAST(1).tokenTypeIdx===v}}else{let g=Xg(m,(v,T)=>(T!==void 0&&(v[T.tokenTypeIdx]=!0,Od(T.categoryMatches,_=>{v[_]=!0})),v),{});return function(){let v=this.LA_FAST(1);return g[v.tokenTypeIdx]===!0}}}return function(){let p=Hg.call(this,s,f,Dw,a,c);return typeof p=="object"?!1:p===0}}};function $w(t,e=!0){let r=new Set;for(let n of t){let i=new Set;for(let o of n){if(o===void 0){if(e)break;return!1}let s=[o.tokenTypeIdx].concat(o.categoryMatches);for(let a of s)if(r.has(a)){if(!i.has(a))return!1}else r.add(a),i.add(a)}}return!0}function yF(t){let e=t.decisionStates.length,r=Array(e);for(let n=0;n<e;n++)r[n]=gF(t.decisionStates[n],n);return r}function Hg(t,e,r,n,i){let o=t[e](r),s=o.start;if(s===void 0){let c=IF(o.atnStartState);s=Uw(o,Fw(c)),o.start=s}return xF.apply(this,[o,s,r,n,i])}function xF(t,e,r,n,i){let o=e,s=1,a=[],c=this.LA_FAST(s++);for(;;){let l=wF(o,c);if(l===void 0&&(l=TF.apply(this,[t,o,c,s,r,n])),l===cl)return RF(a,o,c);if(l.isAcceptState===!0){if(i===!0&&Ns(c,Kt)){let u=$F(o,r);if(u!==void 0)return u}return l.prediction}o=l,a.push(c),c=this.LA(s++)}}function TF(t,e,r,n,i,o){let s=bF(e.configs,r,i);if(s.size===0)return Mw(t,e,r,cl),cl;let a=Fw(s),c=SF(s,i);if(c!==void 0)a.isAcceptState=!0,a.prediction=c,a.configs.uniqueAlt=c;else if(CF(s)){let l=hw(s.alts);a.isAcceptState=!0,a.prediction=l,a.configs.uniqueAlt=l,_F.apply(this,[t,n,s.alts,o])}return a=Mw(t,e,r,a),a}function _F(t,e,r,n){let i=[];for(let l=1;l<=e;l++)i.push(this.LA(l).tokenType);let o=t.atnStartState,s=o.rule,a=o.production,c=EF({topLevelRule:s,ambiguityIndices:r,production:a,prefixPath:i});n(c)}function EF(t){let e=hr(t.prefixPath,i=>Mn(i)).join(", "),r=t.production.idx===0?"":t.production.idx,n=`Ambiguous Alternatives Detected: <${t.ambiguityIndices.join(", ")}> in <${vF(t.production)}${r}> inside <${t.topLevelRule.name}> Rule,
|
|
148
|
+
For further details.`);this.skipValidations=Object.hasOwn(r,"skipValidations")?r.skipValidations:Kt.skipValidations}};nl.DEFER_DEFINITION_ERRORS_HANDLING=!1;kv(nl,[Kf,Qf,nd,id,sd,od,ad,cd,fd]);var il=class extends nl{constructor(e,r=Kt){let n=Object.assign({},r);n.outputCst=!1,super(e,n)}};function wL(t,e){for(var r=-1,n=t==null?0:t.length,i=Array(n);++r<n;)i[r]=e(t[r],r,t);return i}var pd=wL;function AL(){this.__data__=[],this.size=0}var Nv=AL;function SL(t,e){return t===e||t!==t&&e!==e}var hd=SL;function IL(t,e){for(var r=t.length;r--;)if(hd(t[r][0],e))return r;return-1}var xi=IL;var kL=Array.prototype,NL=kL.splice;function PL(t){var e=this.__data__,r=xi(e,t);if(r<0)return!1;var n=e.length-1;return r==n?e.pop():NL.call(e,r,1),--this.size,!0}var Pv=PL;function CL(t){var e=this.__data__,r=xi(e,t);return r<0?void 0:e[r][1]}var Cv=CL;function OL(t){return xi(this.__data__,t)>-1}var Ov=OL;function LL(t,e){var r=this.__data__,n=xi(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this}var Lv=LL;function Us(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}Us.prototype.clear=Nv;Us.prototype.delete=Pv;Us.prototype.get=Cv;Us.prototype.has=Ov;Us.prototype.set=Lv;var Ti=Us;function DL(){this.__data__=new Ti,this.size=0}var Dv=DL;function $L(t){var e=this.__data__,r=e.delete(t);return this.size=e.size,r}var $v=$L;function ML(t){return this.__data__.get(t)}var Mv=ML;function FL(t){return this.__data__.has(t)}var Fv=FL;var UL=typeof global=="object"&&global&&global.Object===Object&&global,md=UL;var BL=typeof self=="object"&&self&&self.Object===Object&&self,GL=md||BL||Function("return this")(),Pt=GL;var XL=Pt.Symbol,Zt=XL;var Uv=Object.prototype,HL=Uv.hasOwnProperty,jL=Uv.toString,ol=Zt?Zt.toStringTag:void 0;function zL(t){var e=HL.call(t,ol),r=t[ol];try{t[ol]=void 0;var n=!0}catch{}var i=jL.call(t);return n&&(e?t[ol]=r:delete t[ol]),i}var Bv=zL;var qL=Object.prototype,WL=qL.toString;function VL(t){return WL.call(t)}var Gv=VL;var YL="[object Null]",KL="[object Undefined]",Xv=Zt?Zt.toStringTag:void 0;function ZL(t){return t==null?t===void 0?KL:YL:Xv&&Xv in Object(t)?Bv(t):Gv(t)}var Hr=ZL;function JL(t){var e=typeof t;return t!=null&&(e=="object"||e=="function")}var Bs=JL;var QL="[object AsyncFunction]",e1="[object Function]",t1="[object GeneratorFunction]",r1="[object Proxy]";function n1(t){if(!Bs(t))return!1;var e=Hr(t);return e==e1||e==t1||e==QL||e==r1}var gd=n1;var i1=Pt["__core-js_shared__"],yd=i1;var Hv=(function(){var t=/[^.]+$/.exec(yd&&yd.keys&&yd.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""})();function o1(t){return!!Hv&&Hv in t}var jv=o1;var s1=Function.prototype,a1=s1.toString;function c1(t){if(t!=null){try{return a1.call(t)}catch{}try{return t+""}catch{}}return""}var jn=c1;var l1=/[\\^$.*+?()[\]{}|]/g,u1=/^\[object .+?Constructor\]$/,f1=Function.prototype,d1=Object.prototype,p1=f1.toString,h1=d1.hasOwnProperty,m1=RegExp("^"+p1.call(h1).replace(l1,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function g1(t){if(!Bs(t)||jv(t))return!1;var e=gd(t)?m1:u1;return e.test(jn(t))}var zv=g1;function y1(t,e){return t?.[e]}var qv=y1;function x1(t,e){var r=qv(t,e);return zv(r)?r:void 0}var br=x1;var T1=br(Pt,"Map"),_i=T1;var _1=br(Object,"create"),zn=_1;function E1(){this.__data__=zn?zn(null):{},this.size=0}var Wv=E1;function v1(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}var Vv=v1;var R1="__lodash_hash_undefined__",b1=Object.prototype,w1=b1.hasOwnProperty;function A1(t){var e=this.__data__;if(zn){var r=e[t];return r===R1?void 0:r}return w1.call(e,t)?e[t]:void 0}var Yv=A1;var S1=Object.prototype,I1=S1.hasOwnProperty;function k1(t){var e=this.__data__;return zn?e[t]!==void 0:I1.call(e,t)}var Kv=k1;var N1="__lodash_hash_undefined__";function P1(t,e){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=zn&&e===void 0?N1:e,this}var Zv=P1;function Gs(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}Gs.prototype.clear=Wv;Gs.prototype.delete=Vv;Gs.prototype.get=Yv;Gs.prototype.has=Kv;Gs.prototype.set=Zv;var Mg=Gs;function C1(){this.size=0,this.__data__={hash:new Mg,map:new(_i||Ti),string:new Mg}}var Jv=C1;function O1(t){var e=typeof t;return e=="string"||e=="number"||e=="symbol"||e=="boolean"?t!=="__proto__":t===null}var Qv=O1;function L1(t,e){var r=t.__data__;return Qv(e)?r[typeof e=="string"?"string":"hash"]:r.map}var Ei=L1;function D1(t){var e=Ei(this,t).delete(t);return this.size-=e?1:0,e}var eR=D1;function $1(t){return Ei(this,t).get(t)}var tR=$1;function M1(t){return Ei(this,t).has(t)}var rR=M1;function F1(t,e){var r=Ei(this,t),n=r.size;return r.set(t,e),this.size+=r.size==n?0:1,this}var nR=F1;function Xs(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}Xs.prototype.clear=Jv;Xs.prototype.delete=eR;Xs.prototype.get=tR;Xs.prototype.has=rR;Xs.prototype.set=nR;var bo=Xs;var U1=200;function B1(t,e){var r=this.__data__;if(r instanceof Ti){var n=r.__data__;if(!_i||n.length<U1-1)return n.push([t,e]),this.size=++r.size,this;r=this.__data__=new bo(n)}return r.set(t,e),this.size=r.size,this}var iR=B1;function Hs(t){var e=this.__data__=new Ti(t);this.size=e.size}Hs.prototype.clear=Dv;Hs.prototype.delete=$v;Hs.prototype.get=Mv;Hs.prototype.has=Fv;Hs.prototype.set=iR;var js=Hs;var G1="__lodash_hash_undefined__";function X1(t){return this.__data__.set(t,G1),this}var oR=X1;function H1(t){return this.__data__.has(t)}var sR=H1;function xd(t){var e=-1,r=t==null?0:t.length;for(this.__data__=new bo;++e<r;)this.add(t[e])}xd.prototype.add=xd.prototype.push=oR;xd.prototype.has=sR;var Td=xd;function j1(t,e){for(var r=-1,n=t==null?0:t.length;++r<n;)if(e(t[r],r,t))return!0;return!1}var aR=j1;function z1(t,e){return t.has(e)}var _d=z1;var q1=1,W1=2;function V1(t,e,r,n,i,o){var s=r&q1,a=t.length,c=e.length;if(a!=c&&!(s&&c>a))return!1;var l=o.get(t),u=o.get(e);if(l&&u)return l==e&&u==t;var f=-1,d=!0,p=r&W1?new Td:void 0;for(o.set(t,e),o.set(e,t);++f<a;){var m=t[f],g=e[f];if(n)var v=s?n(g,m,f,e,t,o):n(m,g,f,t,e,o);if(v!==void 0){if(v)continue;d=!1;break}if(p){if(!aR(e,function(T,_){if(!_d(p,_)&&(m===T||i(m,T,r,n,o)))return p.push(_)})){d=!1;break}}else if(!(m===g||i(m,g,r,n,o))){d=!1;break}}return o.delete(t),o.delete(e),d}var Ed=V1;var Y1=Pt.Uint8Array,Fg=Y1;function K1(t){var e=-1,r=Array(t.size);return t.forEach(function(n,i){r[++e]=[i,n]}),r}var cR=K1;function Z1(t){var e=-1,r=Array(t.size);return t.forEach(function(n){r[++e]=n}),r}var zs=Z1;var J1=1,Q1=2,eD="[object Boolean]",tD="[object Date]",rD="[object Error]",nD="[object Map]",iD="[object Number]",oD="[object RegExp]",sD="[object Set]",aD="[object String]",cD="[object Symbol]",lD="[object ArrayBuffer]",uD="[object DataView]",lR=Zt?Zt.prototype:void 0,Ug=lR?lR.valueOf:void 0;function fD(t,e,r,n,i,o,s){switch(r){case uD:if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case lD:return!(t.byteLength!=e.byteLength||!o(new Fg(t),new Fg(e)));case eD:case tD:case iD:return hd(+t,+e);case rD:return t.name==e.name&&t.message==e.message;case oD:case aD:return t==e+"";case nD:var a=cR;case sD:var c=n&J1;if(a||(a=zs),t.size!=e.size&&!c)return!1;var l=s.get(t);if(l)return l==e;n|=Q1,s.set(t,e);var u=Ed(a(t),a(e),n,i,o,s);return s.delete(t),u;case cD:if(Ug)return Ug.call(t)==Ug.call(e)}return!1}var uR=fD;function dD(t,e){for(var r=-1,n=e.length,i=t.length;++r<n;)t[i+r]=e[r];return t}var vd=dD;var pD=Array.isArray,He=pD;function hD(t,e,r){var n=e(t);return He(t)?n:vd(n,r(t))}var fR=hD;function mD(t,e){for(var r=-1,n=t==null?0:t.length,i=0,o=[];++r<n;){var s=t[r];e(s,r,t)&&(o[i++]=s)}return o}var Rd=mD;function gD(){return[]}var dR=gD;var yD=Object.prototype,xD=yD.propertyIsEnumerable,pR=Object.getOwnPropertySymbols,TD=pR?function(t){return t==null?[]:(t=Object(t),Rd(pR(t),function(e){return xD.call(t,e)}))}:dR,hR=TD;function _D(t,e){for(var r=-1,n=Array(t);++r<t;)n[r]=e(r);return n}var mR=_D;function ED(t){return t!=null&&typeof t=="object"}var jr=ED;var vD="[object Arguments]";function RD(t){return jr(t)&&Hr(t)==vD}var Bg=RD;var gR=Object.prototype,bD=gR.hasOwnProperty,wD=gR.propertyIsEnumerable,AD=Bg((function(){return arguments})())?Bg:function(t){return jr(t)&&bD.call(t,"callee")&&!wD.call(t,"callee")},vi=AD;function SD(){return!1}var yR=SD;var _R=typeof exports=="object"&&exports&&!exports.nodeType&&exports,xR=_R&&typeof module=="object"&&module&&!module.nodeType&&module,ID=xR&&xR.exports===_R,TR=ID?Pt.Buffer:void 0,kD=TR?TR.isBuffer:void 0,ND=kD||yR,wo=ND;var PD=9007199254740991,CD=/^(?:0|[1-9]\d*)$/;function OD(t,e){var r=typeof t;return e=e??PD,!!e&&(r=="number"||r!="symbol"&&CD.test(t))&&t>-1&&t%1==0&&t<e}var bd=OD;var LD=9007199254740991;function DD(t){return typeof t=="number"&&t>-1&&t%1==0&&t<=LD}var qs=DD;var $D="[object Arguments]",MD="[object Array]",FD="[object Boolean]",UD="[object Date]",BD="[object Error]",GD="[object Function]",XD="[object Map]",HD="[object Number]",jD="[object Object]",zD="[object RegExp]",qD="[object Set]",WD="[object String]",VD="[object WeakMap]",YD="[object ArrayBuffer]",KD="[object DataView]",ZD="[object Float32Array]",JD="[object Float64Array]",QD="[object Int8Array]",e$="[object Int16Array]",t$="[object Int32Array]",r$="[object Uint8Array]",n$="[object Uint8ClampedArray]",i$="[object Uint16Array]",o$="[object Uint32Array]",nt={};nt[ZD]=nt[JD]=nt[QD]=nt[e$]=nt[t$]=nt[r$]=nt[n$]=nt[i$]=nt[o$]=!0;nt[$D]=nt[MD]=nt[YD]=nt[FD]=nt[KD]=nt[UD]=nt[BD]=nt[GD]=nt[XD]=nt[HD]=nt[jD]=nt[zD]=nt[qD]=nt[WD]=nt[VD]=!1;function s$(t){return jr(t)&&qs(t.length)&&!!nt[Hr(t)]}var ER=s$;function a$(t){return function(e){return t(e)}}var vR=a$;var RR=typeof exports=="object"&&exports&&!exports.nodeType&&exports,sl=RR&&typeof module=="object"&&module&&!module.nodeType&&module,c$=sl&&sl.exports===RR,Gg=c$&&md.process,l$=(function(){try{var t=sl&&sl.require&&sl.require("util").types;return t||Gg&&Gg.binding&&Gg.binding("util")}catch{}})(),Xg=l$;var bR=Xg&&Xg.isTypedArray,u$=bR?vR(bR):ER,Ws=u$;var f$=Object.prototype,d$=f$.hasOwnProperty;function p$(t,e){var r=He(t),n=!r&&vi(t),i=!r&&!n&&wo(t),o=!r&&!n&&!i&&Ws(t),s=r||n||i||o,a=s?mR(t.length,String):[],c=a.length;for(var l in t)(e||d$.call(t,l))&&!(s&&(l=="length"||i&&(l=="offset"||l=="parent")||o&&(l=="buffer"||l=="byteLength"||l=="byteOffset")||bd(l,c)))&&a.push(l);return a}var wR=p$;var h$=Object.prototype;function m$(t){var e=t&&t.constructor,r=typeof e=="function"&&e.prototype||h$;return t===r}var wd=m$;function g$(t,e){return function(r){return t(e(r))}}var AR=g$;var y$=AR(Object.keys,Object),SR=y$;var x$=Object.prototype,T$=x$.hasOwnProperty;function _$(t){if(!wd(t))return SR(t);var e=[];for(var r in Object(t))T$.call(t,r)&&r!="constructor"&&e.push(r);return e}var Ad=_$;function E$(t){return t!=null&&qs(t.length)&&!gd(t)}var Ri=E$;function v$(t){return Ri(t)?wR(t):Ad(t)}var Vs=v$;function R$(t){return fR(t,Vs,hR)}var Hg=R$;var b$=1,w$=Object.prototype,A$=w$.hasOwnProperty;function S$(t,e,r,n,i,o){var s=r&b$,a=Hg(t),c=a.length,l=Hg(e),u=l.length;if(c!=u&&!s)return!1;for(var f=c;f--;){var d=a[f];if(!(s?d in e:A$.call(e,d)))return!1}var p=o.get(t),m=o.get(e);if(p&&m)return p==e&&m==t;var g=!0;o.set(t,e),o.set(e,t);for(var v=s;++f<c;){d=a[f];var T=t[d],_=e[d];if(n)var E=s?n(_,T,d,e,t,o):n(T,_,d,t,e,o);if(!(E===void 0?T===_||i(T,_,r,n,o):E)){g=!1;break}v||(v=d=="constructor")}if(g&&!v){var I=t.constructor,D=e.constructor;I!=D&&"constructor"in t&&"constructor"in e&&!(typeof I=="function"&&I instanceof I&&typeof D=="function"&&D instanceof D)&&(g=!1)}return o.delete(t),o.delete(e),g}var IR=S$;var I$=br(Pt,"DataView"),Sd=I$;var k$=br(Pt,"Promise"),Id=k$;var N$=br(Pt,"Set"),bi=N$;var P$=br(Pt,"WeakMap"),kd=P$;var kR="[object Map]",C$="[object Object]",NR="[object Promise]",PR="[object Set]",CR="[object WeakMap]",OR="[object DataView]",O$=jn(Sd),L$=jn(_i),D$=jn(Id),$$=jn(bi),M$=jn(kd),Ao=Hr;(Sd&&Ao(new Sd(new ArrayBuffer(1)))!=OR||_i&&Ao(new _i)!=kR||Id&&Ao(Id.resolve())!=NR||bi&&Ao(new bi)!=PR||kd&&Ao(new kd)!=CR)&&(Ao=function(t){var e=Hr(t),r=e==C$?t.constructor:void 0,n=r?jn(r):"";if(n)switch(n){case O$:return OR;case L$:return kR;case D$:return NR;case $$:return PR;case M$:return CR}return e});var al=Ao;var F$=1,LR="[object Arguments]",DR="[object Array]",Nd="[object Object]",U$=Object.prototype,$R=U$.hasOwnProperty;function B$(t,e,r,n,i,o){var s=He(t),a=He(e),c=s?DR:al(t),l=a?DR:al(e);c=c==LR?Nd:c,l=l==LR?Nd:l;var u=c==Nd,f=l==Nd,d=c==l;if(d&&wo(t)){if(!wo(e))return!1;s=!0,u=!1}if(d&&!u)return o||(o=new js),s||Ws(t)?Ed(t,e,r,n,i,o):uR(t,e,c,r,n,i,o);if(!(r&F$)){var p=u&&$R.call(t,"__wrapped__"),m=f&&$R.call(e,"__wrapped__");if(p||m){var g=p?t.value():t,v=m?e.value():e;return o||(o=new js),i(g,v,r,n,o)}}return d?(o||(o=new js),IR(t,e,r,n,i,o)):!1}var MR=B$;function FR(t,e,r,n,i){return t===e?!0:t==null||e==null||!jr(t)&&!jr(e)?t!==t&&e!==e:MR(t,e,r,n,FR,i)}var Pd=FR;var G$=1,X$=2;function H$(t,e,r,n){var i=r.length,o=i,s=!n;if(t==null)return!o;for(t=Object(t);i--;){var a=r[i];if(s&&a[2]?a[1]!==t[a[0]]:!(a[0]in t))return!1}for(;++i<o;){a=r[i];var c=a[0],l=t[c],u=a[1];if(s&&a[2]){if(l===void 0&&!(c in t))return!1}else{var f=new js;if(n)var d=n(l,u,c,t,e,f);if(!(d===void 0?Pd(u,l,G$|X$,n,f):d))return!1}}return!0}var UR=H$;function j$(t){return t===t&&!Bs(t)}var Cd=j$;function z$(t){for(var e=Vs(t),r=e.length;r--;){var n=e[r],i=t[n];e[r]=[n,i,Cd(i)]}return e}var BR=z$;function q$(t,e){return function(r){return r==null?!1:r[t]===e&&(e!==void 0||t in Object(r))}}var Od=q$;function W$(t){var e=BR(t);return e.length==1&&e[0][2]?Od(e[0][0],e[0][1]):function(r){return r===t||UR(r,t,e)}}var GR=W$;var V$="[object Symbol]";function Y$(t){return typeof t=="symbol"||jr(t)&&Hr(t)==V$}var wi=Y$;var K$=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Z$=/^\w*$/;function J$(t,e){if(He(t))return!1;var r=typeof t;return r=="number"||r=="symbol"||r=="boolean"||t==null||wi(t)?!0:Z$.test(t)||!K$.test(t)||e!=null&&t in Object(e)}var Ys=J$;var Q$="Expected a function";function jg(t,e){if(typeof t!="function"||e!=null&&typeof e!="function")throw new TypeError(Q$);var r=function(){var n=arguments,i=e?e.apply(this,n):n[0],o=r.cache;if(o.has(i))return o.get(i);var s=t.apply(this,n);return r.cache=o.set(i,s)||o,s};return r.cache=new(jg.Cache||bo),r}jg.Cache=bo;var XR=jg;var eM=500;function tM(t){var e=XR(t,function(n){return r.size===eM&&r.clear(),n}),r=e.cache;return e}var HR=tM;var rM=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,nM=/\\(\\)?/g,iM=HR(function(t){var e=[];return t.charCodeAt(0)===46&&e.push(""),t.replace(rM,function(r,n,i,o){e.push(i?o.replace(nM,"$1"):n||r)}),e}),jR=iM;var oM=1/0,zR=Zt?Zt.prototype:void 0,qR=zR?zR.toString:void 0;function WR(t){if(typeof t=="string")return t;if(He(t))return pd(t,WR)+"";if(wi(t))return qR?qR.call(t):"";var e=t+"";return e=="0"&&1/t==-oM?"-0":e}var VR=WR;function sM(t){return t==null?"":VR(t)}var YR=sM;function aM(t,e){return He(t)?t:Ys(t,e)?[t]:jR(YR(t))}var Ld=aM;var cM=1/0;function lM(t){if(typeof t=="string"||wi(t))return t;var e=t+"";return e=="0"&&1/t==-cM?"-0":e}var Ai=lM;function uM(t,e){e=Ld(e,t);for(var r=0,n=e.length;t!=null&&r<n;)t=t[Ai(e[r++])];return r&&r==n?t:void 0}var Dd=uM;function fM(t,e,r){var n=t==null?void 0:Dd(t,e);return n===void 0?r:n}var KR=fM;function dM(t,e){return t!=null&&e in Object(t)}var ZR=dM;function pM(t,e,r){e=Ld(e,t);for(var n=-1,i=e.length,o=!1;++n<i;){var s=Ai(e[n]);if(!(o=t!=null&&r(t,s)))break;t=t[s]}return o||++n!=i?o:(i=t==null?0:t.length,!!i&&qs(i)&&bd(s,i)&&(He(t)||vi(t)))}var JR=pM;function hM(t,e){return t!=null&&JR(t,e,ZR)}var QR=hM;var mM=1,gM=2;function yM(t,e){return Ys(t)&&Cd(e)?Od(Ai(t),e):function(r){var n=KR(r,t);return n===void 0&&n===e?QR(r,t):Pd(e,n,mM|gM)}}var eb=yM;function xM(t){return t}var Ks=xM;function TM(t){return function(e){return e?.[t]}}var tb=TM;function _M(t){return function(e){return Dd(e,t)}}var rb=_M;function EM(t){return Ys(t)?tb(Ai(t)):rb(t)}var nb=EM;function vM(t){return typeof t=="function"?t:t==null?Ks:typeof t=="object"?He(t)?eb(t[0],t[1]):GR(t):nb(t)}var Si=vM;function RM(t){return function(e,r,n){for(var i=-1,o=Object(e),s=n(e),a=s.length;a--;){var c=s[t?a:++i];if(r(o[c],c,o)===!1)break}return e}}var ib=RM;var bM=ib(),ob=bM;function wM(t,e){return t&&ob(t,e,Vs)}var sb=wM;function AM(t,e){return function(r,n){if(r==null)return r;if(!Ri(r))return t(r,n);for(var i=r.length,o=e?i:-1,s=Object(r);(e?o--:++o<i)&&n(s[o],o,s)!==!1;);return r}}var ab=AM;var SM=ab(sb),Ii=SM;function IM(t,e){var r=-1,n=Ri(t)?Array(t.length):[];return Ii(t,function(i,o,s){n[++r]=e(i,o,s)}),n}var cb=IM;function kM(t,e){var r=He(t)?pd:cb;return r(t,Si(e,3))}var hr=kM;function NM(t,e){var r=[];return Ii(t,function(n,i,o){e(n,i,o)&&r.push(n)}),r}var lb=NM;function PM(t,e){var r=He(t)?Rd:lb;return r(t,Si(e,3))}var ub=PM;function So(t,e,r){return`${t.name}_${e}_${r}`}var ki=1,CM=2,fb=4,db=5;var Io=7,OM=8,LM=9,DM=10,$M=11,pb=12,cl=class{constructor(e){this.target=e}isEpsilon(){return!1}},Zs=class extends cl{constructor(e,r){super(e),this.tokenType=r}},ll=class extends cl{constructor(e){super(e)}isEpsilon(){return!0}},Js=class extends cl{constructor(e,r,n){super(e),this.rule=r,this.followState=n}isEpsilon(){return!0}};function hb(t){let e={decisionMap:{},decisionStates:[],ruleToStartState:new Map,ruleToStopState:new Map,states:[]};MM(e,t);let r=t.length;for(let n=0;n<r;n++){let i=t[n],o=ko(e,i,i);o!==void 0&&VM(e,i,o)}return e}function MM(t,e){let r=e.length;for(let n=0;n<r;n++){let i=e[n],o=Ct(t,i,void 0,{type:CM}),s=Ct(t,i,void 0,{type:Io});o.stop=s,t.ruleToStartState.set(i,o),t.ruleToStopState.set(i,s)}}function mb(t,e,r){return r instanceof Te?zg(t,e,r.terminalType,r):r instanceof Be?WM(t,e,r):r instanceof Ye?XM(t,e,r):r instanceof Ge?HM(t,e,r):r instanceof Re?FM(t,e,r):r instanceof Ve?UM(t,e,r):r instanceof et?BM(t,e,r):r instanceof tt?GM(t,e,r):ko(t,e,r)}function FM(t,e,r){let n=Ct(t,e,r,{type:db});Ni(t,n);let i=Qs(t,e,n,r,ko(t,e,r));return yb(t,e,r,i)}function UM(t,e,r){let n=Ct(t,e,r,{type:db});Ni(t,n);let i=Qs(t,e,n,r,ko(t,e,r)),o=zg(t,e,r.separator,r);return yb(t,e,r,i,o)}function BM(t,e,r){let n=Ct(t,e,r,{type:fb});Ni(t,n);let i=Qs(t,e,n,r,ko(t,e,r));return gb(t,e,r,i)}function GM(t,e,r){let n=Ct(t,e,r,{type:fb});Ni(t,n);let i=Qs(t,e,n,r,ko(t,e,r)),o=zg(t,e,r.separator,r);return gb(t,e,r,i,o)}function XM(t,e,r){let n=Ct(t,e,r,{type:ki});Ni(t,n);let i=hr(r.definition,s=>mb(t,e,s));return Qs(t,e,n,r,...i)}function HM(t,e,r){let n=Ct(t,e,r,{type:ki});Ni(t,n);let i=Qs(t,e,n,r,ko(t,e,r));return jM(t,e,r,i)}function ko(t,e,r){let n=ub(hr(r.definition,i=>mb(t,e,i)),i=>i!==void 0);return n.length===1?n[0]:n.length===0?void 0:qM(t,n)}function gb(t,e,r,n,i){let o=n.left,s=n.right,a=Ct(t,e,r,{type:$M});Ni(t,a);let c=Ct(t,e,r,{type:pb});return o.loopback=a,c.loopback=a,t.decisionMap[So(e,i?"RepetitionMandatoryWithSeparator":"RepetitionMandatory",r.idx)]=a,bt(s,a),i===void 0?(bt(a,o),bt(a,c)):(bt(a,c),bt(a,i.left),bt(i.right,o)),{left:o,right:c}}function yb(t,e,r,n,i){let o=n.left,s=n.right,a=Ct(t,e,r,{type:DM});Ni(t,a);let c=Ct(t,e,r,{type:pb}),l=Ct(t,e,r,{type:LM});return a.loopback=l,c.loopback=l,bt(a,o),bt(a,c),bt(s,l),i!==void 0?(bt(l,c),bt(l,i.left),bt(i.right,o)):bt(l,a),t.decisionMap[So(e,i?"RepetitionWithSeparator":"Repetition",r.idx)]=a,{left:a,right:c}}function jM(t,e,r,n){let i=n.left,o=n.right;return bt(i,o),t.decisionMap[So(e,"Option",r.idx)]=i,n}function Ni(t,e){return t.decisionStates.push(e),e.decision=t.decisionStates.length-1,e.decision}function Qs(t,e,r,n,...i){let o=Ct(t,e,n,{type:OM,start:r});r.end=o;for(let a of i)a!==void 0?(bt(r,a.left),bt(a.right,o)):bt(r,o);let s={left:r,right:o};return t.decisionMap[So(e,zM(n),n.idx)]=r,s}function zM(t){if(t instanceof Ye)return"Alternation";if(t instanceof Ge)return"Option";if(t instanceof Re)return"Repetition";if(t instanceof Ve)return"RepetitionWithSeparator";if(t instanceof et)return"RepetitionMandatory";if(t instanceof tt)return"RepetitionMandatoryWithSeparator";throw new Error("Invalid production type encountered")}function qM(t,e){let r=e.length;for(let o=0;o<r-1;o++){let s=e[o],a;s.left.transitions.length===1&&(a=s.left.transitions[0]);let c=a instanceof Js,l=a,u=e[o+1].left;s.left.type===ki&&s.right.type===ki&&a!==void 0&&(c&&l.followState===s.right||a.target===s.right)?(c?l.followState=u:a.target=u,YM(t,s.right)):bt(s.right,u)}let n=e[0],i=e[r-1];return{left:n.left,right:i.right}}function zg(t,e,r,n){let i=Ct(t,e,n,{type:ki}),o=Ct(t,e,n,{type:ki});return qg(i,new Zs(o,r)),{left:i,right:o}}function WM(t,e,r){let n=r.referencedRule,i=t.ruleToStartState.get(n),o=Ct(t,e,r,{type:ki}),s=Ct(t,e,r,{type:ki}),a=new Js(i,n,s);return qg(o,a),{left:o,right:s}}function VM(t,e,r){let n=t.ruleToStartState.get(e);bt(n,r.left);let i=t.ruleToStopState.get(e);return bt(r.right,i),{left:n,right:i}}function bt(t,e){let r=new ll(e);qg(t,r)}function Ct(t,e,r,n){let i=Object.assign({atn:t,production:r,epsilonOnlyTransitions:!1,rule:e,transitions:[],nextTokenWithinRule:[],stateNumber:t.states.length},n);return t.states.push(i),i}function qg(t,e){t.transitions.length===0&&(t.epsilonOnlyTransitions=e.isEpsilon()),t.transitions.push(e)}function YM(t,e){t.states.splice(t.states.indexOf(e),1)}var ul={},ea=class{constructor(){this.map={},this.configs=[]}get size(){return this.configs.length}finalize(){this.map={}}add(e){let r=Wg(e);r in this.map||(this.map[r]=this.configs.length,this.configs.push(e))}get elements(){return this.configs}get alts(){return hr(this.configs,e=>e.alt)}get key(){let e="";for(let r in this.map)e+=r+":";return e}};function Wg(t,e=!0){return`${e?`a${t.alt}`:""}s${t.state.stateNumber}:${t.stack.map(r=>r.stateNumber.toString()).join("_")}`}function KM(t,e,r){for(var n=-1,i=t.length;++n<i;){var o=t[n],s=e(o);if(s!=null&&(a===void 0?s===s&&!wi(s):r(s,a)))var a=s,c=o}return c}var xb=KM;function ZM(t,e){return t<e}var Tb=ZM;function JM(t){return t&&t.length?xb(t,Ks,Tb):void 0}var _b=JM;var Eb=Zt?Zt.isConcatSpreadable:void 0;function QM(t){return He(t)||vi(t)||!!(Eb&&t&&t[Eb])}var vb=QM;function Rb(t,e,r,n,i){var o=-1,s=t.length;for(r||(r=vb),i||(i=[]);++o<s;){var a=t[o];e>0&&r(a)?e>1?Rb(a,e-1,r,n,i):vd(i,a):n||(i[i.length]=a)}return i}var $d=Rb;function eF(t,e){return $d(hr(t,e),1)}var bb=eF;function tF(t,e,r,n){for(var i=t.length,o=r+(n?1:-1);n?o--:++o<i;)if(e(t[o],o,t))return o;return-1}var wb=tF;function rF(t){return t!==t}var Ab=rF;function nF(t,e,r){for(var n=r-1,i=t.length;++n<i;)if(t[n]===e)return n;return-1}var Sb=nF;function iF(t,e,r){return e===e?Sb(t,e,r):wb(t,Ab,r)}var Ib=iF;function oF(t,e){var r=t==null?0:t.length;return!!r&&Ib(t,e,0)>-1}var kb=oF;function sF(t,e,r){for(var n=-1,i=t==null?0:t.length;++n<i;)if(r(e,t[n]))return!0;return!1}var Nb=sF;function aF(){}var Pb=aF;var cF=1/0,lF=bi&&1/zs(new bi([,-0]))[1]==cF?function(t){return new bi(t)}:Pb,Cb=lF;var uF=200;function fF(t,e,r){var n=-1,i=kb,o=t.length,s=!0,a=[],c=a;if(r)s=!1,i=Nb;else if(o>=uF){var l=e?null:Cb(t);if(l)return zs(l);s=!1,i=_d,c=new Td}else c=e?[]:a;e:for(;++n<o;){var u=t[n],f=e?e(u):u;if(u=r||u!==0?u:0,s&&f===f){for(var d=c.length;d--;)if(c[d]===f)continue e;e&&c.push(f),a.push(u)}else i(c,f,r)||(c!==a&&c.push(f),a.push(u))}return a}var Ob=fF;function dF(t,e){return t&&t.length?Ob(t,Si(e,2)):[]}var Lb=dF;function pF(t){var e=t==null?0:t.length;return e?$d(t,1):[]}var Db=pF;function hF(t,e){for(var r=-1,n=t==null?0:t.length;++r<n&&e(t[r],r,t)!==!1;);return t}var $b=hF;function mF(t){return typeof t=="function"?t:Ks}var Mb=mF;function gF(t,e){var r=He(t)?$b:Ii;return r(t,Mb(e))}var Md=gF;var yF="[object Map]",xF="[object Set]",TF=Object.prototype,_F=TF.hasOwnProperty;function EF(t){if(t==null)return!0;if(Ri(t)&&(He(t)||typeof t=="string"||typeof t.splice=="function"||wo(t)||Ws(t)||vi(t)))return!t.length;var e=al(t);if(e==yF||e==xF)return!t.size;if(wd(t))return!Ad(t).length;for(var r in t)if(_F.call(t,r))return!1;return!0}var Fb=EF;function vF(t,e,r,n){var i=-1,o=t==null?0:t.length;for(n&&o&&(r=t[++i]);++i<o;)r=e(r,t[i],i,t);return r}var Ub=vF;function RF(t,e,r,n,i){return i(t,function(o,s,a){r=n?(n=!1,o):e(r,o,s,a)}),r}var Bb=RF;function bF(t,e,r){var n=He(t)?Ub:Bb,i=arguments.length<3;return n(t,Si(e,4),r,i,Ii)}var Vg=bF;function wF(t,e){let r={};return n=>{let i=n.toString(),o=r[i];return o!==void 0||(o={atnStartState:t,decision:e,states:{}},r[i]=o),o}}var Fd=class{constructor(){this.predicates=[]}is(e){return e>=this.predicates.length||this.predicates[e]}set(e,r){this.predicates[e]=r}toString(){let e="",r=this.predicates.length;for(let n=0;n<r;n++)e+=this.predicates[n]===!0?"1":"0";return e}},Gb=new Fd,fl=class extends Xn{constructor(e){var r,n;super(),this.logging=(r=e?.logging)!==null&&r!==void 0?r:(i=>console.log(i)),this.incomplete=(n=e?.incomplete)!==null&&n!==void 0?n:!1}initialize(e){this.atn=hb(e.rules),this.dfas=AF(this.atn)}validateAmbiguousAlternationAlternatives(){return[]}validateEmptyOrAlternatives(){return[]}buildLookaheadForAlternation(e){let{prodOccurrence:r,rule:n,hasPredicates:i,dynamicTokensEnabled:o}=e,s=this.dfas,a=this.logging,c=this.incomplete,l=So(n,"Alternation",r),f=this.atn.decisionMap[l].decision,d=hr(Wf({maxLookahead:1,occurrence:r,prodType:"Alternation",rule:n}),p=>hr(p,m=>m[0]));if(Xb(d,!1)&&!o){let p=Vg(d,(m,g,v)=>(Md(g,T=>{T&&(m[T.tokenTypeIdx]=v,Md(T.categoryMatches,_=>{m[_]=v}))}),m),{});return i?function(m){var g;let v=this.LA_FAST(1),T=p[v.tokenTypeIdx];if(m!==void 0&&T!==void 0){let _=(g=m[T])===null||g===void 0?void 0:g.GATE;if(_!==void 0&&_.call(this)===!1)return}return T}:function(){let m=this.LA_FAST(1);return p[m.tokenTypeIdx]}}else return i?function(p){let m=new Fd,g=p===void 0?0:p.length;for(let T=0;T<g;T++){let _=p?.[T].GATE;m.set(T,_===void 0||_.call(this))}let v=Yg.call(this,s,f,m,a,c);return typeof v=="number"?v:void 0}:function(){let p=Yg.call(this,s,f,Gb,a,c);return typeof p=="number"?p:void 0}}buildLookaheadForOptional(e){let{prodOccurrence:r,rule:n,prodType:i,dynamicTokensEnabled:o}=e,s=this.dfas,a=this.logging,c=this.incomplete,l=So(n,i,r),f=this.atn.decisionMap[l].decision,d=hr(Wf({maxLookahead:1,occurrence:r,prodType:i,rule:n}),p=>hr(p,m=>m[0]));if(Xb(d)&&d[0][0]&&!o){let p=d[0],m=Db(p);if(m.length===1&&Fb(m[0].categoryMatches)){let v=m[0].tokenTypeIdx;return function(){return this.LA_FAST(1).tokenTypeIdx===v}}else{let g=Vg(m,(v,T)=>(T!==void 0&&(v[T.tokenTypeIdx]=!0,Md(T.categoryMatches,_=>{v[_]=!0})),v),{});return function(){let v=this.LA_FAST(1);return g[v.tokenTypeIdx]===!0}}}return function(){let p=Yg.call(this,s,f,Gb,a,c);return typeof p=="object"?!1:p===0}}};function Xb(t,e=!0){let r=new Set;for(let n of t){let i=new Set;for(let o of n){if(o===void 0){if(e)break;return!1}let s=[o.tokenTypeIdx].concat(o.categoryMatches);for(let a of s)if(r.has(a)){if(!i.has(a))return!1}else r.add(a),i.add(a)}}return!0}function AF(t){let e=t.decisionStates.length,r=Array(e);for(let n=0;n<e;n++)r[n]=wF(t.decisionStates[n],n);return r}function Yg(t,e,r,n,i){let o=t[e](r),s=o.start;if(s===void 0){let c=MF(o.atnStartState);s=zb(o,jb(c)),o.start=s}return SF.apply(this,[o,s,r,n,i])}function SF(t,e,r,n,i){let o=e,s=1,a=[],c=this.LA_FAST(s++);for(;;){let l=OF(o,c);if(l===void 0&&(l=IF.apply(this,[t,o,c,s,r,n])),l===ul)return CF(a,o,c);if(l.isAcceptState===!0){if(i===!0&&Os(c,Yt)){let u=zF(o,r);if(u!==void 0)return u}return l.prediction}o=l,a.push(c),c=this.LA(s++)}}function IF(t,e,r,n,i,o){let s=LF(e.configs,r,i);if(s.size===0)return Hb(t,e,r,ul),ul;let a=jb(s),c=$F(s,i);if(c!==void 0)a.isAcceptState=!0,a.prediction=c,a.configs.uniqueAlt=c;else if(GF(s)){let l=_b(s.alts);a.isAcceptState=!0,a.prediction=l,a.configs.uniqueAlt=l,kF.apply(this,[t,n,s.alts,o])}return a=Hb(t,e,r,a),a}function kF(t,e,r,n){let i=[];for(let l=1;l<=e;l++)i.push(this.LA(l).tokenType);let o=t.atnStartState,s=o.rule,a=o.production,c=NF({topLevelRule:s,ambiguityIndices:r,production:a,prefixPath:i});n(c)}function NF(t){let e=hr(t.prefixPath,i=>Un(i)).join(", "),r=t.production.idx===0?"":t.production.idx,n=`Ambiguous Alternatives Detected: <${t.ambiguityIndices.join(", ")}> in <${PF(t.production)}${r}> inside <${t.topLevelRule.name}> Rule,
|
|
149
149
|
<${e}> may appears as a prefix path in all these alternatives.
|
|
150
150
|
`;return n=n+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES
|
|
151
|
-
For Further details.`,n}function vF(t){if(t instanceof Ge)return"SUBRULE";if(t instanceof Xe)return"OPTION";if(t instanceof Ke)return"OR";if(t instanceof Qe)return"AT_LEAST_ONE";if(t instanceof et)return"AT_LEAST_ONE_SEP";if(t instanceof Ye)return"MANY_SEP";if(t instanceof we)return"MANY";if(t instanceof _e)return"CONSUME";throw Error("non exhaustive match")}function RF(t,e,r){let n=xw(e.configs.elements,o=>o.state.transitions),i=Iw(n.filter(o=>o instanceof Vs).map(o=>o.tokenType),o=>o.tokenTypeIdx);return{actualToken:r,possibleTokenTypes:i,tokenPath:t}}function wF(t,e){return t.edges[e.tokenTypeIdx]}function bF(t,e,r){let n=new Zs,i=[];for(let s of t.elements){if(r.is(s.alt)===!1)continue;if(s.state.type===Ao){i.push(s);continue}let a=s.state.transitions.length;for(let c=0;c<a;c++){let l=s.state.transitions[c],u=AF(l,e);u!==void 0&&n.add({state:u,alt:s.alt,stack:s.stack})}}let o;if(i.length===0&&n.size===1&&(o=n),o===void 0){o=new Zs;for(let s of n.elements)Dd(s,o)}if(i.length>0&&!NF(o))for(let s of i)o.add(s);return o}function AF(t,e){if(t instanceof Vs&&Ns(e,t.tokenType))return t.target}function SF(t,e){let r;for(let n of t.elements)if(e.is(n.alt)===!0){if(r===void 0)r=n.alt;else if(r!==n.alt)return}return r}function Fw(t){return{configs:t,edges:{},isAcceptState:!1,prediction:-1}}function Mw(t,e,r,n){return n=Uw(t,n),e.edges[r.tokenTypeIdx]=n,n}function Uw(t,e){if(e===cl)return e;let r=e.configs.key,n=t.states[r];return n!==void 0?n:(e.configs.finalize(),t.states[r]=e,e)}function IF(t){let e=new Zs,r=t.transitions.length;for(let n=0;n<r;n++){let o={state:t.transitions[n].target,alt:n,stack:[]};Dd(o,e)}return e}function Dd(t,e){let r=t.state;if(r.type===Ao){if(t.stack.length>0){let i=[...t.stack],s={state:i.pop(),alt:t.alt,stack:i};Dd(s,e)}else e.add(t);return}r.epsilonOnlyTransitions||e.add(t);let n=r.transitions.length;for(let i=0;i<n;i++){let o=r.transitions[i],s=kF(t,o);s!==void 0&&Dd(s,e)}}function kF(t,e){if(e instanceof al)return{state:e.target,alt:t.alt,stack:t.stack};if(e instanceof Ys){let r=[...t.stack,e.followState];return{state:e.target,alt:t.alt,stack:r}}}function NF(t){for(let e of t.elements)if(e.state.type===Ao)return!0;return!1}function PF(t){for(let e of t.elements)if(e.state.type!==Ao)return!1;return!0}function CF(t){if(PF(t))return!0;let e=OF(t.elements);return LF(e)&&!DF(e)}function OF(t){let e=new Map;for(let r of t){let n=Gg(r,!1),i=e.get(n);i===void 0&&(i={},e.set(n,i)),i[r.alt]=!0}return e}function LF(t){for(let e of Array.from(t.values()))if(Object.keys(e).length>1)return!0;return!1}function DF(t){for(let e of Array.from(t.values()))if(Object.keys(e).length===1)return!0;return!1}function $F(t,e){let r;for(let n of t.configs.elements)if(!(e.is(n.alt)===!1||n.state.type===Ao)){if(r===void 0)r=n.alt;else if(r!==n.alt)return}return r}na();var yl=class{constructor(){this.nodeStack=[]}get current(){return this.nodeStack[this.nodeStack.length-1]??this.rootNode}buildRootNode(e){return this.rootNode=new ia(e),this.rootNode.root=this.rootNode,this.nodeStack=[this.rootNode],this.rootNode}buildCompositeNode(e){let r=new Po;return r.grammarSource=e,r.root=this.rootNode,this.current.content.push(r),this.nodeStack.push(r),r}buildLeafNode(e,r){let n=new No(e.startOffset,e.image.length,xs(e),e.tokenType,!r);return n.grammarSource=r,n.root=this.rootNode,this.current.content.push(n),n}removeNode(e){let r=e.container;if(r){let n=r.content.indexOf(e);n>=0&&r.content.splice(n,1)}}addHiddenNodes(e){let r=[];for(let o of e){let s=new No(o.startOffset,o.image.length,xs(o),o.tokenType,!0);s.root=this.rootNode,r.push(s)}let n=this.current,i=!1;if(n.content.length>0){n.content.push(...r);return}for(;n.container;){let o=n.container.content.indexOf(n);if(o>0){n.container.content.splice(o,0,...r),i=!0;break}n=n.container}i||this.rootNode.content.unshift(...r)}construct(e){let r=this.current;typeof e.$type=="string"&&!e.$infixName&&(this.current.astNode=e),e.$cstNode=r;let n=this.nodeStack.pop();n?.content.length===0&&this.removeNode(n)}},xl=class{get hidden(){return!1}get astNode(){let e=typeof this._astNode?.$type=="string"?this._astNode:this.container?.astNode;if(!e)throw new Error("This node has no associated AST element");return e}set astNode(e){this._astNode=e}get text(){return this.root.fullText.substring(this.offset,this.end)}},No=class extends xl{get offset(){return this._offset}get length(){return this._length}get end(){return this._offset+this._length}get hidden(){return this._hidden}get tokenType(){return this._tokenType}get range(){return this._range}constructor(e,r,n,i,o=!1){super(),this._hidden=o,this._offset=e,this._tokenType=i,this._length=r,this._range=n}},Po=class extends xl{constructor(){super(...arguments),this.content=new qy(this)}get offset(){return this.firstNonHiddenNode?.offset??0}get length(){return this.end-this.offset}get end(){return this.lastNonHiddenNode?.end??0}get range(){let e=this.firstNonHiddenNode,r=this.lastNonHiddenNode;if(e&&r){if(this._rangeCache===void 0){let{range:n}=e,{range:i}=r;this._rangeCache={start:n.start,end:i.end.line<n.start.line?n.start:i.end}}return this._rangeCache}else return{start:ke.create(0,0),end:ke.create(0,0)}}get firstNonHiddenNode(){for(let e of this.content)if(!e.hidden)return e;return this.content[0]}get lastNonHiddenNode(){for(let e=this.content.length-1;e>=0;e--){let r=this.content[e];if(!r.hidden)return r}return this.content[this.content.length-1]}},qy=class t extends Array{constructor(e){super(),this.parent=e,Object.setPrototypeOf(this,t.prototype)}push(...e){return this.addParents(e),super.push(...e)}unshift(...e){return this.addParents(e),super.unshift(...e)}splice(e,r,...n){return this.addParents(n),super.splice(e,r,...n)}addParents(e){for(let r of e)r.container=this.parent}},ia=class extends Po{get text(){return this._text.substring(this.offset,this.end)}get fullText(){return this._text}constructor(e){super(),this._text="",this._text=e??""}};var zd=Symbol("Datatype");function Wy(t){return t.$type===zd}var Bw="\u200B",Gw=t=>t.endsWith(Bw)?t:t+Bw,Tl=class{constructor(e,r){this._unorderedGroups=new Map,this.allRules=new Map,this.lexer=e.parser.Lexer;let n=this.lexer.definition,i=e.LanguageMetaData.mode==="production";e.shared.profilers.LangiumProfiler?.isActive("parsing")?this.wrapper=new Vy(n,{...e.parser.ParserConfig,skipValidations:i,errorMessageProvider:e.parser.ParserErrorMessageProvider},r,e.shared.profilers.LangiumProfiler.createTask("parsing",e.LanguageMetaData.languageId)):this.wrapper=new Wd(n,{...e.parser.ParserConfig,skipValidations:i,errorMessageProvider:e.parser.ParserErrorMessageProvider},r)}alternatives(e,r){this.wrapper.wrapOr(e,r)}optional(e,r){this.wrapper.wrapOption(e,r)}many(e,r){this.wrapper.wrapMany(e,r)}atLeastOne(e,r){this.wrapper.wrapAtLeastOne(e,r)}getRule(e){return this.allRules.get(e)}isRecording(){return this.wrapper.IS_RECORDING}get unorderedGroups(){return this._unorderedGroups}getRuleStack(){return this.wrapper.RULE_STACK}finalize(){this.wrapper.wrapSelfAnalysis()}},_l=class extends Tl{get current(){return this.stack[this.stack.length-1]}constructor(e){super(e,!1),this.nodeBuilder=new yl,this.stack=[],this.assignmentMap=new Map,this.operatorPrecedence=new Map,this.linker=e.references.Linker,this.converter=e.parser.ValueConverter,this.astReflection=e.shared.AstReflection}rule(e,r){let n=this.computeRuleType(e),i;ui(e)&&(i=e.name,this.registerPrecedenceMap(e));let o=this.wrapper.DEFINE_RULE(Gw(e.name),this.startImplementation(n,i,r).bind(this));return this.allRules.set(e.name,o),kt(e)&&e.entry&&(this.mainRule=o),o}registerPrecedenceMap(e){let r=e.name,n=new Map;for(let i=0;i<e.operators.precedences.length;i++){let o=e.operators.precedences[i];for(let s of o.operators)n.set(s.value,{precedence:i,rightAssoc:o.associativity==="right"})}this.operatorPrecedence.set(r,n)}computeRuleType(e){return ui(e)?di(e):e.fragment?void 0:Bc(e)?zd:di(e)}parse(e,r={}){this.nodeBuilder.buildRootNode(e);let n=this.lexerResult=this.lexer.tokenize(e);this.wrapper.input=n.tokens;let i=r.rule?this.allRules.get(r.rule):this.mainRule;if(!i)throw new Error(r.rule?`No rule found with name '${r.rule}'`:"No main rule available.");let o=this.doParse(i);return this.nodeBuilder.addHiddenNodes(n.hidden),this.unorderedGroups.clear(),this.lexerResult=void 0,cs(o,{deep:!0}),{value:o,lexerErrors:n.errors,lexerReport:n.report,parserErrors:this.wrapper.errors}}doParse(e){let r=this.wrapper.rule(e);if(this.stack.length>0&&(r=this.construct()),r===void 0)throw new Error("No result from parser");if(this.stack.length>0)throw new Error("Parser stack is not empty after parsing");return r}startImplementation(e,r,n){return i=>{let o=!this.isRecording()&&e!==void 0;if(o){let s={$type:e};this.stack.push(s),e===zd?s.value="":r!==void 0&&(s.$infixName=r)}return n(i),o?this.construct():void 0}}extractHiddenTokens(e){let r=this.lexerResult.hidden;if(!r.length)return[];let n=e.startOffset;for(let i=0;i<r.length;i++)if(r[i].startOffset>n)return r.splice(0,i);return r.splice(0,r.length)}consume(e,r,n){let i=this.wrapper.wrapConsume(e,r);if(!this.isRecording()&&this.isValidToken(i)){let o=this.extractHiddenTokens(i);this.nodeBuilder.addHiddenNodes(o);let s=this.nodeBuilder.buildLeafNode(i,n),{assignment:a,crossRef:c}=this.getAssignment(n),l=this.current;if(a){let u=Rr(n)?i.image:this.converter.convert(i.image,s);this.assign(a.operator,a.feature,u,s,c)}else if(Wy(l)){let u=i.image;Rr(n)||(u=this.converter.convert(u,s).toString()),l.value+=u}}}isValidToken(e){return!e.isInsertedInRecovery&&!isNaN(e.startOffset)&&typeof e.endOffset=="number"&&!isNaN(e.endOffset)}subrule(e,r,n,i,o){let s;!this.isRecording()&&!n&&(s=this.nodeBuilder.buildCompositeNode(i));let a;try{a=this.wrapper.wrapSubrule(e,r,o)}finally{this.isRecording()||(a===void 0&&!n&&(a=this.construct()),a!==void 0&&s&&s.length>0&&this.performSubruleAssignment(a,i,s))}}performSubruleAssignment(e,r,n){let{assignment:i,crossRef:o}=this.getAssignment(r);if(i)this.assign(i.operator,i.feature,e,n,o);else if(!i){let s=this.current;if(Wy(s))s.value+=e.toString();else if(typeof e=="object"&&e){let c=this.assignWithoutOverride(e,s);this.stack.pop(),this.stack.push(c)}}}action(e,r){if(!this.isRecording()){let n=this.current;if(r.feature&&r.operator){n=this.construct(),this.nodeBuilder.removeNode(n.$cstNode),this.nodeBuilder.buildCompositeNode(r).content.push(n.$cstNode);let o={$type:e};this.stack.push(o),this.assign(r.operator,r.feature,n,n.$cstNode)}else n.$type=e}}construct(){if(this.isRecording())return;let e=this.stack.pop();return this.nodeBuilder.construct(e),"$infixName"in e?this.constructInfix(e,this.operatorPrecedence.get(e.$infixName)):Wy(e)?this.converter.convert(e.value,e.$cstNode):(gm(this.astReflection,e),e)}constructInfix(e,r){let n=e.parts;if(!Array.isArray(n)||n.length===0)return;let i=e.operators;if(!Array.isArray(i)||n.length<2)return n[0];let o=0,s=-1;for(let g=0;g<i.length;g++){let v=i[g],T=r.get(v)??{precedence:1/0,rightAssoc:!1};T.precedence>s?(s=T.precedence,o=g):T.precedence===s&&(T.rightAssoc||(o=g))}let a=i.slice(0,o),c=i.slice(o+1),l=n.slice(0,o+1),u=n.slice(o+1),f={$infixName:e.$infixName,$type:e.$type,$cstNode:e.$cstNode,parts:l,operators:a},d={$infixName:e.$infixName,$type:e.$type,$cstNode:e.$cstNode,parts:u,operators:c},p=this.constructInfix(f,r),m=this.constructInfix(d,r);return{$type:e.$type,$cstNode:e.$cstNode,left:p,operator:i[o],right:m}}getAssignment(e){if(!this.assignmentMap.has(e)){let r=In(e,Fr);this.assignmentMap.set(e,{assignment:r,crossRef:r&&Ur(r.terminal)?r.terminal.isMulti?"multi":"single":void 0})}return this.assignmentMap.get(e)}assign(e,r,n,i,o){let s=this.current,a;switch(o==="single"&&typeof n=="string"?a=this.linker.buildReference(s,r,i,n):o==="multi"&&typeof n=="string"?a=this.linker.buildMultiReference(s,r,i,n):a=n,e){case"=":{s[r]=a;break}case"?=":{s[r]=!0;break}case"+=":Array.isArray(s[r])||(s[r]=[]),s[r].push(a)}}assignWithoutOverride(e,r){for(let[i,o]of Object.entries(r)){let s=e[i];s===void 0?e[i]=o:Array.isArray(s)&&Array.isArray(o)&&(o.push(...s),e[i]=o)}let n=e.$cstNode;return n&&(n.astNode=void 0,e.$cstNode=void 0),e}get definitionErrors(){return this.wrapper.definitionErrors}},qd=class{buildMismatchTokenMessage(e){return Un.buildMismatchTokenMessage(e)}buildNotAllInputParsedMessage(e){return Un.buildNotAllInputParsedMessage(e)}buildNoViableAltMessage(e){return Un.buildNoViableAltMessage(e)}buildEarlyExitMessage(e){return Un.buildEarlyExitMessage(e)}},oa=class extends qd{buildMismatchTokenMessage({expected:e,actual:r}){return`Expecting ${e.LABEL?"`"+e.LABEL+"`":e.name.endsWith(":KW")?`keyword '${e.name.substring(0,e.name.length-3)}'`:`token of type '${e.name}'`} but found \`${r.image}\`.`}buildNotAllInputParsedMessage({firstRedundant:e}){return`Expecting end of file but found \`${e.image}\`.`}},El=class extends Tl{constructor(e){super(e,!0),this.tokens=[],this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}action(){}construct(){}parse(e){this.resetState();let r=this.lexer.tokenize(e,{mode:"partial"});return this.tokens=r.tokens,this.wrapper.input=[...this.tokens],this.mainRule.call(this.wrapper,{}),this.unorderedGroups.clear(),{tokens:this.tokens,elementStack:[...this.lastElementStack],tokenIndex:this.nextTokenIndex}}rule(e,r){let n=this.wrapper.DEFINE_RULE(Gw(e.name),this.startImplementation(r).bind(this));return this.allRules.set(e.name,n),e.entry&&(this.mainRule=n),n}resetState(){this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}startImplementation(e){return r=>{let n=this.keepStackSize();try{e(r)}finally{this.resetStackSize(n)}}}removeUnexpectedElements(){this.elementStack.splice(this.stackSize)}keepStackSize(){let e=this.elementStack.length;return this.stackSize=e,e}resetStackSize(e){this.removeUnexpectedElements(),this.stackSize=e}consume(e,r,n){this.wrapper.wrapConsume(e,r),this.isRecording()||(this.lastElementStack=[...this.elementStack,n],this.nextTokenIndex=this.currIdx+1)}subrule(e,r,n,i,o){this.before(i),this.wrapper.wrapSubrule(e,r,o),this.after(i)}before(e){this.isRecording()||this.elementStack.push(e)}after(e){if(!this.isRecording()){let r=this.elementStack.lastIndexOf(e);r>=0&&this.elementStack.splice(r)}}get currIdx(){return this.wrapper.currIdx}},FF={recoveryEnabled:!0,nodeLocationTracking:"full",skipValidations:!0,errorMessageProvider:new oa},Wd=class extends rl{constructor(e,r,n){let i=r&&"maxLookahead"in r;super(e,{...FF,lookaheadStrategy:i?new Bn({maxLookahead:r.maxLookahead}):new ll({logging:r.skipValidations?()=>{}:void 0,incomplete:n}),...r})}get IS_RECORDING(){return this.RECORDING_PHASE}DEFINE_RULE(e,r,n){return this.RULE(e,r,n)}wrapSelfAnalysis(){this.performSelfAnalysis()}wrapConsume(e,r){return this.consume(e,r,void 0)}wrapSubrule(e,r,n){return this.subrule(e,r,{ARGS:[n]})}wrapOr(e,r){this.or(e,r)}wrapOption(e,r){this.option(e,r)}wrapMany(e,r){this.many(e,r)}wrapAtLeastOne(e,r){this.atLeastOne(e,r)}rule(e){return e.call(this,{})}},Vy=class extends Wd{constructor(e,r,n,i){super(e,r,n),this.task=i}rule(e){this.task.start(),this.task.startSubTask(this.ruleName(e));try{return super.rule(e)}finally{this.task.stopSubTask(this.ruleName(e)),this.task.stop()}}ruleName(e){return e.ruleName}subrule(e,r,n){this.task.startSubTask(this.ruleName(r));try{return super.subrule(e,r,n)}finally{this.task.stopSubTask(this.ruleName(r))}}};function vl(t,e,r){return UF({parser:e,tokens:r,ruleNames:new Map},t),e}function UF(t,e){let r=Fc(e,!1),n=Te(e.rules).filter(kt).filter(o=>r.has(o));for(let o of n){let s={...t,consume:1,optional:1,subrule:1,many:1,or:1};t.parser.rule(o,Co(s,o.definition))}let i=Te(e.rules).filter(ui).filter(o=>r.has(o));for(let o of i)t.parser.rule(o,BF(t,o))}function BF(t,e){let r=e.call.rule.ref;if(!r)throw new Error("Could not resolve reference to infix operator rule: "+e.call.rule.$refText);if(Wt(r))throw new Error("Cannot use terminal rule in infix expression");let n=e.operators.precedences.flatMap(p=>p.operators),i={$type:"Group",elements:[]},o={$container:i,$type:"Assignment",feature:"parts",operator:"+=",terminal:e.call},s={$container:i,$type:"Group",elements:[],cardinality:"*"};i.elements.push(o,s);let c={$container:s,$type:"Assignment",feature:"operators",operator:"+=",terminal:{$type:"Alternatives",elements:n}},l={...o,$container:s};s.elements.push(c,l);let f=n.map(p=>t.tokens[p.value]).map((p,m)=>({ALT:()=>t.parser.consume(m,p,c)})),d;return p=>{d??(d=Ky(t,r)),t.parser.subrule(0,d,!1,o,p),t.parser.many(0,{DEF:()=>{t.parser.alternatives(0,f),t.parser.subrule(1,d,!1,l,p)}})}}function Co(t,e,r=!1){let n;if(Rr(e))n=WF(t,e);else if(Cn(e))n=GF(t,e);else if(Fr(e))n=Co(t,e.terminal);else if(Ur(e))n=Xw(t,e);else if(Br(e))n=XF(t,e);else if(Tf(e))n=jF(t,e);else if(Rf(e))n=zF(t,e);else if(li(e))n=qF(t,e);else if(Rm(e)){let i=t.consume++;n=()=>t.parser.consume(i,Kt,e)}else throw new ho(e.$cstNode,`Unexpected element type: ${e.$type}`);return Hw(t,r?void 0:Vd(e),n,e.cardinality)}function GF(t,e){let r=di(e);return()=>t.parser.action(r,e)}function XF(t,e){let r=e.rule.ref;if(Pn(r)){let n=t.subrule++,i=kt(r)&&r.fragment,o=e.arguments.length>0?HF(r,e.arguments):()=>({}),s;return a=>{s??(s=Ky(t,r)),t.parser.subrule(n,s,i,e,o(a))}}else if(Wt(r)){let n=t.consume++,i=Yy(t,r.name);return()=>t.parser.consume(n,i,e)}else if(r)ln(r);else throw new ho(e.$cstNode,`Undefined rule: ${e.rule.$refText}`)}function HF(t,e){if(e.some(n=>n.calledByName)){let n=e.map(i=>({parameterName:i.parameter?.ref?.name,predicate:hn(i.value)}));return i=>{let o={};for(let{parameterName:s,predicate:a}of n)s&&(o[s]=a(i));return o}}else{let n=e.map(i=>hn(i.value));return i=>{let o={};for(let s=0;s<n.length;s++)if(s<t.parameters.length){let a=t.parameters[s].name,c=n[s];o[a]=c(i)}return o}}}function hn(t){if(vm(t)){let e=hn(t.left),r=hn(t.right);return n=>e(n)||r(n)}else if(Em(t)){let e=hn(t.left),r=hn(t.right);return n=>e(n)&&r(n)}else if(Am(t)){let e=hn(t.value);return r=>!e(r)}else if(Sm(t)){let e=t.parameter.ref.name;return r=>r!==void 0&&r[e]===!0}else if(Tm(t)){let e=!!t.true;return()=>e}ln(t)}function jF(t,e){if(e.elements.length===1)return Co(t,e.elements[0]);{let r=[];for(let i of e.elements){let o={ALT:Co(t,i,!0)},s=Vd(i);s&&(o.GATE=hn(s)),r.push(o)}let n=t.or++;return i=>t.parser.alternatives(n,r.map(o=>{let s={ALT:()=>o.ALT(i)},a=o.GATE;return a&&(s.GATE=()=>a(i)),s}))}}function zF(t,e){if(e.elements.length===1)return Co(t,e.elements[0]);let r=[];for(let a of e.elements){let c={ALT:Co(t,a,!0)},l=Vd(a);l&&(c.GATE=hn(l)),r.push(c)}let n=t.or++,i=(a,c)=>{let l=c.getRuleStack().join("-");return`uGroup_${a}_${l}`},o=a=>t.parser.alternatives(n,r.map((c,l)=>{let u={ALT:()=>!0},f=t.parser;u.ALT=()=>{if(c.ALT(a),!f.isRecording()){let p=i(n,f);f.unorderedGroups.get(p)||f.unorderedGroups.set(p,[]);let m=f.unorderedGroups.get(p);typeof m?.[l]>"u"&&(m[l]=!0)}};let d=c.GATE;return d?u.GATE=()=>d(a):u.GATE=()=>!f.unorderedGroups.get(i(n,f))?.[l],u})),s=Hw(t,Vd(e),o,"*");return a=>{s(a),t.parser.isRecording()||t.parser.unorderedGroups.delete(i(n,t.parser))}}function qF(t,e){let r=e.elements.map(n=>Co(t,n));return n=>r.forEach(i=>i(n))}function Vd(t){if(li(t))return t.guardCondition}function Xw(t,e,r=e.terminal){if(r)if(Br(r)&&kt(r.rule.ref)){let n=r.rule.ref,i=t.subrule++,o;return s=>{o??(o=Ky(t,n)),t.parser.subrule(i,o,!1,e,s)}}else if(Br(r)&&Wt(r.rule.ref)){let n=t.consume++,i=Yy(t,r.rule.ref.name);return()=>t.parser.consume(n,i,e)}else if(Rr(r)){let n=t.consume++,i=Yy(t,r.value);return()=>t.parser.consume(n,i,e)}else throw new Error("Could not build cross reference parser");else{if(!e.type.ref)throw new Error("Could not resolve reference to type: "+e.type.$refText);let i=kf(e.type.ref)?.terminal;if(!i)throw new Error("Could not find name assignment for type: "+di(e.type.ref));return Xw(t,e,i)}}function WF(t,e){let r=t.consume++,n=t.tokens[e.value];if(!n)throw new Error("Could not find token for keyword: "+e.value);return()=>t.parser.consume(r,n,e)}function Hw(t,e,r,n){let i=e&&hn(e);if(!n)if(i){let o=t.or++;return s=>t.parser.alternatives(o,[{ALT:()=>r(s),GATE:()=>i(s)},{ALT:cd(),GATE:()=>!i(s)}])}else return r;if(n==="*"){let o=t.many++;return s=>t.parser.many(o,{DEF:()=>r(s),GATE:i?()=>i(s):void 0})}else if(n==="+"){let o=t.many++;if(i){let s=t.or++;return a=>t.parser.alternatives(s,[{ALT:()=>t.parser.atLeastOne(o,{DEF:()=>r(a)}),GATE:()=>i(a)},{ALT:cd(),GATE:()=>!i(a)}])}else return s=>t.parser.atLeastOne(o,{DEF:()=>r(s)})}else if(n==="?"){let o=t.optional++;return s=>t.parser.optional(o,{DEF:()=>r(s),GATE:i?()=>i(s):void 0})}else ln(n)}function Ky(t,e){let r=VF(t,e),n=t.parser.getRule(r);if(!n)throw new Error(`Rule "${r}" not found."`);return n}function VF(t,e){if(Pn(e))return e.name;if(t.ruleNames.has(e))return t.ruleNames.get(e);{let r=e,n=r.$container,i=e.$type;for(;!kt(n);)(li(n)||Tf(n)||Rf(n))&&(i=n.elements.indexOf(r).toString()+":"+i),r=n,n=n.$container;return i=n.name+":"+i,t.ruleNames.set(e,i),i}}function Yy(t,e){let r=t.tokens[e];if(!r)throw new Error(`Token "${e}" not found."`);return r}function Zy(t){let e=t.Grammar,r=t.parser.Lexer,n=new El(t);return vl(e,n,r.definition),n.finalize(),n}function Jy(t){let e=jw(t);return e.finalize(),e}function jw(t){let e=t.Grammar,r=t.parser.Lexer,n=new _l(t);return vl(e,n,r.definition)}var Oo=class{constructor(){this.diagnostics=[]}buildTokens(e,r){let n=Te(Fc(e,!1)),i=this.buildTerminalTokens(n),o=this.buildKeywordTokens(n,i,r);return o.push(...i),o}flushLexingReport(e){return{diagnostics:this.popDiagnostics()}}popDiagnostics(){let e=[...this.diagnostics];return this.diagnostics=[],e}buildTerminalTokens(e){return e.filter(Wt).filter(r=>!r.fragment).map(r=>this.buildTerminalToken(r)).toArray()}buildTerminalToken(e){let r=_s(e),n=this.requiresCustomPattern(r)?this.regexPatternFunction(r):r,i={name:e.name,PATTERN:n};return typeof n=="function"&&(i.LINE_BREAKS=!0),e.hidden&&(i.GROUP=Mc(r)?ct.SKIPPED:"hidden"),i}requiresCustomPattern(e){return!!(e.flags.includes("u")||e.flags.includes("s"))}regexPatternFunction(e){let r=new RegExp(e,e.flags+"y");return(n,i)=>(r.lastIndex=i,r.exec(n))}buildKeywordTokens(e,r,n){return e.filter(Pn).flatMap(i=>$r(i).filter(Rr)).distinct(i=>i.value).toArray().sort((i,o)=>o.value.length-i.value.length).map(i=>this.buildKeywordToken(i,r,!!n?.caseInsensitive))}buildKeywordToken(e,r,n){let i=this.buildKeywordPattern(e,n),o={name:e.value,PATTERN:i,LONGER_ALT:this.findLongerAlt(e,r)};return typeof i=="function"&&(o.LINE_BREAKS=!0),o}buildKeywordPattern(e,r){return r?new RegExp(fi(e.value),"i"):e.value}findLongerAlt(e,r){return r.reduce((n,i)=>{let o=i?.PATTERN;return o?.source&&zm("^"+o.source+"$",e.value)&&n.push(i),n},[])}};var Lo=class{convert(e,r){let n=r.grammarSource;if(Ur(n)&&(n=Vm(n)),Br(n)){let i=n.rule.ref;if(!i)throw new Error("This cst node was not parsed by a rule.");return this.runConverter(i,e,r)}return e}runConverter(e,r,n){switch(e.name.toUpperCase()){case"INT":return mn.convertInt(r);case"STRING":return mn.convertString(r);case"ID":return mn.convertID(r)}switch(tg(e)?.toLowerCase()){case"number":return mn.convertNumber(r);case"boolean":return mn.convertBoolean(r);case"bigint":return mn.convertBigint(r);case"date":return mn.convertDate(r);default:return r}}},mn;(function(t){function e(l){let u="";for(let f=1;f<l.length-1;f++){let d=l.charAt(f);if(d==="\\"){let p=l.charAt(++f);u+=r(p)}else u+=d}return u}t.convertString=e;function r(l){switch(l){case"b":return"\b";case"f":return"\f";case"n":return`
|
|
152
|
-
`;case"r":return"\r";case"t":return" ";case"v":return"\v";case"0":return"\0";default:return l}}function n(l){return l.charAt(0)==="^"?l.substring(1):l}t.convertID=n;function i(l){return parseInt(l)}t.convertInt=i;function o(l){return BigInt(l)}t.convertBigint=o;function s(l){return new Date(l)}t.convertDate=s;function a(l){return Number(l)}t.convertNumber=a;function c(l){return l.toLowerCase()==="true"}t.convertBoolean=c})(mn||(mn={}));var oe={};Ae(oe,dm(Yw(),1));function ax(){return new Promise(t=>{typeof setImmediate>"u"?setTimeout(t,0):setImmediate(t)})}var Jd=0,Kw=10;function Qd(){return Jd=performance.now(),new oe.CancellationTokenSource}function Zw(t){Kw=t}var br=Symbol("OperationCancelled");function gn(t){return t===br}async function mt(t){if(t===oe.CancellationToken.None)return;let e=performance.now();if(e-Jd>=Kw&&(Jd=e,await ax(),Jd=performance.now()),t.isCancellationRequested)throw br}var Qt=class{constructor(){this.promise=new Promise((e,r)=>{this.resolve=n=>(e(n),this),this.reject=n=>(r(n),this)})}};var ep=class t{constructor(e,r,n,i){this._uri=e,this._languageId=r,this._version=n,this._content=i,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){let r=this.offsetAt(e.start),n=this.offsetAt(e.end);return this._content.substring(r,n)}return this._content}update(e,r){for(let n of e)if(t.isIncremental(n)){let i=eb(n.range),o=this.offsetAt(i.start),s=this.offsetAt(i.end);this._content=this._content.substring(0,o)+n.text+this._content.substring(s,this._content.length);let a=Math.max(i.start.line,0),c=Math.max(i.end.line,0),l=this._lineOffsets,u=Jw(n.text,!1,o);if(c-a===u.length)for(let d=0,p=u.length;d<p;d++)l[d+a+1]=u[d];else u.length<1e4?l.splice(a+1,c-a,...u):this._lineOffsets=l=l.slice(0,a+1).concat(u,l.slice(c+1));let f=n.text.length-(s-o);if(f!==0)for(let d=a+1+u.length,p=l.length;d<p;d++)l[d]=l[d]+f}else if(t.isFull(n))this._content=n.text,this._lineOffsets=void 0;else throw new Error("Unknown change event received");this._version=r}getLineOffsets(){return this._lineOffsets===void 0&&(this._lineOffsets=Jw(this._content,!0)),this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let r=this.getLineOffsets(),n=0,i=r.length;if(i===0)return{line:0,character:e};for(;n<i;){let s=Math.floor((n+i)/2);r[s]>e?i=s:n=s+1}let o=n-1;return e=this.ensureBeforeEOL(e,r[o]),{line:o,character:e-r[o]}}offsetAt(e){let r=this.getLineOffsets();if(e.line>=r.length)return this._content.length;if(e.line<0)return 0;let n=r[e.line];if(e.character<=0)return n;let i=e.line+1<r.length?r[e.line+1]:this._content.length,o=Math.min(n+e.character,i);return this.ensureBeforeEOL(o,n)}ensureBeforeEOL(e,r){for(;e>r&&Qw(this._content.charCodeAt(e-1));)e--;return e}get lineCount(){return this.getLineOffsets().length}static isIncremental(e){let r=e;return r!=null&&typeof r.text=="string"&&r.range!==void 0&&(r.rangeLength===void 0||typeof r.rangeLength=="number")}static isFull(e){let r=e;return r!=null&&typeof r.text=="string"&&r.range===void 0&&r.rangeLength===void 0}},ca;(function(t){function e(i,o,s,a){return new ep(i,o,s,a)}t.create=e;function r(i,o,s){if(i instanceof ep)return i.update(o,s),i;throw new Error("TextDocument.update: document must be created by TextDocument.create")}t.update=r;function n(i,o){let s=i.getText(),a=cx(o.map(i2),(u,f)=>{let d=u.range.start.line-f.range.start.line;return d===0?u.range.start.character-f.range.start.character:d}),c=0,l=[];for(let u of a){let f=i.offsetAt(u.range.start);if(f<c)throw new Error("Overlapping edit");f>c&&l.push(s.substring(c,f)),u.newText.length&&l.push(u.newText),c=i.offsetAt(u.range.end)}return l.push(s.substr(c)),l.join("")}t.applyEdits=n})(ca||(ca={}));function cx(t,e){if(t.length<=1)return t;let r=t.length/2|0,n=t.slice(0,r),i=t.slice(r);cx(n,e),cx(i,e);let o=0,s=0,a=0;for(;o<n.length&&s<i.length;)e(n[o],i[s])<=0?t[a++]=n[o++]:t[a++]=i[s++];for(;o<n.length;)t[a++]=n[o++];for(;s<i.length;)t[a++]=i[s++];return t}function Jw(t,e,r=0){let n=e?[r]:[];for(let i=0;i<t.length;i++){let o=t.charCodeAt(i);Qw(o)&&(o===13&&i+1<t.length&&t.charCodeAt(i+1)===10&&i++,n.push(r+i+1))}return n}function Qw(t){return t===13||t===10}function eb(t){let e=t.start,r=t.end;return e.line>r.line||e.line===r.line&&e.character>r.character?{start:r,end:e}:t}function i2(t){let e=eb(t.range);return e!==t.range?{newText:t.newText,range:e}:t}var tb;(()=>{"use strict";var t={975:O=>{function R(b){if(typeof b!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(b))}function L(b,A){for(var S,M="",X=0,F=-1,W=0,K=0;K<=b.length;++K){if(K<b.length)S=b.charCodeAt(K);else{if(S===47)break;S=47}if(S===47){if(!(F===K-1||W===1))if(F!==K-1&&W===2){if(M.length<2||X!==2||M.charCodeAt(M.length-1)!==46||M.charCodeAt(M.length-2)!==46){if(M.length>2){var pe=M.lastIndexOf("/");if(pe!==M.length-1){pe===-1?(M="",X=0):X=(M=M.slice(0,pe)).length-1-M.lastIndexOf("/"),F=K,W=0;continue}}else if(M.length===2||M.length===1){M="",X=0,F=K,W=0;continue}}A&&(M.length>0?M+="/..":M="..",X=2)}else M.length>0?M+="/"+b.slice(F+1,K):M=b.slice(F+1,K),X=K-F-1;F=K,W=0}else S===46&&W!==-1?++W:W=-1}return M}var $={resolve:function(){for(var b,A="",S=!1,M=arguments.length-1;M>=-1&&!S;M--){var X;M>=0?X=arguments[M]:(b===void 0&&(b=process.cwd()),X=b),R(X),X.length!==0&&(A=X+"/"+A,S=X.charCodeAt(0)===47)}return A=L(A,!S),S?A.length>0?"/"+A:"/":A.length>0?A:"."},normalize:function(b){if(R(b),b.length===0)return".";var A=b.charCodeAt(0)===47,S=b.charCodeAt(b.length-1)===47;return(b=L(b,!A)).length!==0||A||(b="."),b.length>0&&S&&(b+="/"),A?"/"+b:b},isAbsolute:function(b){return R(b),b.length>0&&b.charCodeAt(0)===47},join:function(){if(arguments.length===0)return".";for(var b,A=0;A<arguments.length;++A){var S=arguments[A];R(S),S.length>0&&(b===void 0?b=S:b+="/"+S)}return b===void 0?".":$.normalize(b)},relative:function(b,A){if(R(b),R(A),b===A||(b=$.resolve(b))===(A=$.resolve(A)))return"";for(var S=1;S<b.length&&b.charCodeAt(S)===47;++S);for(var M=b.length,X=M-S,F=1;F<A.length&&A.charCodeAt(F)===47;++F);for(var W=A.length-F,K=X<W?X:W,pe=-1,V=0;V<=K;++V){if(V===K){if(W>K){if(A.charCodeAt(F+V)===47)return A.slice(F+V+1);if(V===0)return A.slice(F+V)}else X>K&&(b.charCodeAt(S+V)===47?pe=V:V===0&&(pe=0));break}var ee=b.charCodeAt(S+V);if(ee!==A.charCodeAt(F+V))break;ee===47&&(pe=V)}var Le="";for(V=S+pe+1;V<=M;++V)V!==M&&b.charCodeAt(V)!==47||(Le.length===0?Le+="..":Le+="/..");return Le.length>0?Le+A.slice(F+pe):(F+=pe,A.charCodeAt(F)===47&&++F,A.slice(F))},_makeLong:function(b){return b},dirname:function(b){if(R(b),b.length===0)return".";for(var A=b.charCodeAt(0),S=A===47,M=-1,X=!0,F=b.length-1;F>=1;--F)if((A=b.charCodeAt(F))===47){if(!X){M=F;break}}else X=!1;return M===-1?S?"/":".":S&&M===1?"//":b.slice(0,M)},basename:function(b,A){if(A!==void 0&&typeof A!="string")throw new TypeError('"ext" argument must be a string');R(b);var S,M=0,X=-1,F=!0;if(A!==void 0&&A.length>0&&A.length<=b.length){if(A.length===b.length&&A===b)return"";var W=A.length-1,K=-1;for(S=b.length-1;S>=0;--S){var pe=b.charCodeAt(S);if(pe===47){if(!F){M=S+1;break}}else K===-1&&(F=!1,K=S+1),W>=0&&(pe===A.charCodeAt(W)?--W==-1&&(X=S):(W=-1,X=K))}return M===X?X=K:X===-1&&(X=b.length),b.slice(M,X)}for(S=b.length-1;S>=0;--S)if(b.charCodeAt(S)===47){if(!F){M=S+1;break}}else X===-1&&(F=!1,X=S+1);return X===-1?"":b.slice(M,X)},extname:function(b){R(b);for(var A=-1,S=0,M=-1,X=!0,F=0,W=b.length-1;W>=0;--W){var K=b.charCodeAt(W);if(K!==47)M===-1&&(X=!1,M=W+1),K===46?A===-1?A=W:F!==1&&(F=1):A!==-1&&(F=-1);else if(!X){S=W+1;break}}return A===-1||M===-1||F===0||F===1&&A===M-1&&A===S+1?"":b.slice(A,M)},format:function(b){if(b===null||typeof b!="object")throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof b);return(function(A,S){var M=S.dir||S.root,X=S.base||(S.name||"")+(S.ext||"");return M?M===S.root?M+X:M+"/"+X:X})(0,b)},parse:function(b){R(b);var A={root:"",dir:"",base:"",ext:"",name:""};if(b.length===0)return A;var S,M=b.charCodeAt(0),X=M===47;X?(A.root="/",S=1):S=0;for(var F=-1,W=0,K=-1,pe=!0,V=b.length-1,ee=0;V>=S;--V)if((M=b.charCodeAt(V))!==47)K===-1&&(pe=!1,K=V+1),M===46?F===-1?F=V:ee!==1&&(ee=1):F!==-1&&(ee=-1);else if(!pe){W=V+1;break}return F===-1||K===-1||ee===0||ee===1&&F===K-1&&F===W+1?K!==-1&&(A.base=A.name=W===0&&X?b.slice(1,K):b.slice(W,K)):(W===0&&X?(A.name=b.slice(1,F),A.base=b.slice(1,K)):(A.name=b.slice(W,F),A.base=b.slice(W,K)),A.ext=b.slice(F,K)),W>0?A.dir=b.slice(0,W-1):X&&(A.dir="/"),A},sep:"/",delimiter:":",win32:null,posix:null};$.posix=$,O.exports=$}},e={};function r(O){var R=e[O];if(R!==void 0)return R.exports;var L=e[O]={exports:{}};return t[O](L,L.exports,r),L.exports}r.d=(O,R)=>{for(var L in R)r.o(R,L)&&!r.o(O,L)&&Object.defineProperty(O,L,{enumerable:!0,get:R[L]})},r.o=(O,R)=>Object.prototype.hasOwnProperty.call(O,R),r.r=O=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(O,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(O,"__esModule",{value:!0})};var n={};let i;r.r(n),r.d(n,{URI:()=>d,Utils:()=>le}),typeof process=="object"?i=process.platform==="win32":typeof navigator=="object"&&(i=navigator.userAgent.indexOf("Windows")>=0);let o=/^\w[\w\d+.-]*$/,s=/^\//,a=/^\/\//;function c(O,R){if(!O.scheme&&R)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${O.authority}", path: "${O.path}", query: "${O.query}", fragment: "${O.fragment}"}`);if(O.scheme&&!o.test(O.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(O.path){if(O.authority){if(!s.test(O.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(a.test(O.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}let l="",u="/",f=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class d{constructor(R,L,$,b,A,S=!1){fe(this,"scheme");fe(this,"authority");fe(this,"path");fe(this,"query");fe(this,"fragment");typeof R=="object"?(this.scheme=R.scheme||l,this.authority=R.authority||l,this.path=R.path||l,this.query=R.query||l,this.fragment=R.fragment||l):(this.scheme=(function(M,X){return M||X?M:"file"})(R,S),this.authority=L||l,this.path=(function(M,X){switch(M){case"https":case"http":case"file":X?X[0]!==u&&(X=u+X):X=u}return X})(this.scheme,$||l),this.query=b||l,this.fragment=A||l,c(this,S))}static isUri(R){return R instanceof d||!!R&&typeof R.authority=="string"&&typeof R.fragment=="string"&&typeof R.path=="string"&&typeof R.query=="string"&&typeof R.scheme=="string"&&typeof R.fsPath=="string"&&typeof R.with=="function"&&typeof R.toString=="function"}get fsPath(){return _(this,!1)}with(R){if(!R)return this;let{scheme:L,authority:$,path:b,query:A,fragment:S}=R;return L===void 0?L=this.scheme:L===null&&(L=l),$===void 0?$=this.authority:$===null&&($=l),b===void 0?b=this.path:b===null&&(b=l),A===void 0?A=this.query:A===null&&(A=l),S===void 0?S=this.fragment:S===null&&(S=l),L===this.scheme&&$===this.authority&&b===this.path&&A===this.query&&S===this.fragment?this:new m(L,$,b,A,S)}static parse(R,L=!1){let $=f.exec(R);return $?new m($[2]||l,k($[4]||l),k($[5]||l),k($[7]||l),k($[9]||l),L):new m(l,l,l,l,l)}static file(R){let L=l;if(i&&(R=R.replace(/\\/g,u)),R[0]===u&&R[1]===u){let $=R.indexOf(u,2);$===-1?(L=R.substring(2),R=u):(L=R.substring(2,$),R=R.substring($)||u)}return new m("file",L,R,l,l)}static from(R){let L=new m(R.scheme,R.authority,R.path,R.query,R.fragment);return c(L,!0),L}toString(R=!1){return E(this,R)}toJSON(){return this}static revive(R){if(R){if(R instanceof d)return R;{let L=new m(R);return L._formatted=R.external,L._fsPath=R._sep===p?R.fsPath:null,L}}return R}}let p=i?1:void 0;class m extends d{constructor(){super(...arguments);fe(this,"_formatted",null);fe(this,"_fsPath",null)}get fsPath(){return this._fsPath||(this._fsPath=_(this,!1)),this._fsPath}toString(L=!1){return L?E(this,!0):(this._formatted||(this._formatted=E(this,!1)),this._formatted)}toJSON(){let L={$mid:1};return this._fsPath&&(L.fsPath=this._fsPath,L._sep=p),this._formatted&&(L.external=this._formatted),this.path&&(L.path=this.path),this.scheme&&(L.scheme=this.scheme),this.authority&&(L.authority=this.authority),this.query&&(L.query=this.query),this.fragment&&(L.fragment=this.fragment),L}}let g={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 v(O,R,L){let $,b=-1;for(let A=0;A<O.length;A++){let S=O.charCodeAt(A);if(S>=97&&S<=122||S>=65&&S<=90||S>=48&&S<=57||S===45||S===46||S===95||S===126||R&&S===47||L&&S===91||L&&S===93||L&&S===58)b!==-1&&($+=encodeURIComponent(O.substring(b,A)),b=-1),$!==void 0&&($+=O.charAt(A));else{$===void 0&&($=O.substr(0,A));let M=g[S];M!==void 0?(b!==-1&&($+=encodeURIComponent(O.substring(b,A)),b=-1),$+=M):b===-1&&(b=A)}}return b!==-1&&($+=encodeURIComponent(O.substring(b))),$!==void 0?$:O}function T(O){let R;for(let L=0;L<O.length;L++){let $=O.charCodeAt(L);$===35||$===63?(R===void 0&&(R=O.substr(0,L)),R+=g[$]):R!==void 0&&(R+=O[L])}return R!==void 0?R:O}function _(O,R){let L;return L=O.authority&&O.path.length>1&&O.scheme==="file"?`//${O.authority}${O.path}`:O.path.charCodeAt(0)===47&&(O.path.charCodeAt(1)>=65&&O.path.charCodeAt(1)<=90||O.path.charCodeAt(1)>=97&&O.path.charCodeAt(1)<=122)&&O.path.charCodeAt(2)===58?R?O.path.substr(1):O.path[1].toLowerCase()+O.path.substr(2):O.path,i&&(L=L.replace(/\//g,"\\")),L}function E(O,R){let L=R?T:v,$="",{scheme:b,authority:A,path:S,query:M,fragment:X}=O;if(b&&($+=b,$+=":"),(A||b==="file")&&($+=u,$+=u),A){let F=A.indexOf("@");if(F!==-1){let W=A.substr(0,F);A=A.substr(F+1),F=W.lastIndexOf(":"),F===-1?$+=L(W,!1,!1):($+=L(W.substr(0,F),!1,!1),$+=":",$+=L(W.substr(F+1),!1,!0)),$+="@"}A=A.toLowerCase(),F=A.lastIndexOf(":"),F===-1?$+=L(A,!1,!0):($+=L(A.substr(0,F),!1,!0),$+=A.substr(F))}if(S){if(S.length>=3&&S.charCodeAt(0)===47&&S.charCodeAt(2)===58){let F=S.charCodeAt(1);F>=65&&F<=90&&(S=`/${String.fromCharCode(F+32)}:${S.substr(3)}`)}else if(S.length>=2&&S.charCodeAt(1)===58){let F=S.charCodeAt(0);F>=65&&F<=90&&(S=`${String.fromCharCode(F+32)}:${S.substr(2)}`)}$+=L(S,!0,!1)}return M&&($+="?",$+=L(M,!1,!1)),X&&($+="#",$+=R?X:v(X,!1,!1)),$}function I(O){try{return decodeURIComponent(O)}catch{return O.length>3?O.substr(0,3)+I(O.substr(3)):O}}let D=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function k(O){return O.match(D)?O.replace(D,(R=>I(R))):O}var B=r(975);let U=B.posix||B,z="/";var le;(function(O){O.joinPath=function(R,...L){return R.with({path:U.join(R.path,...L)})},O.resolvePath=function(R,...L){let $=R.path,b=!1;$[0]!==z&&($=z+$,b=!0);let A=U.resolve($,...L);return b&&A[0]===z&&!R.authority&&(A=A.substring(1)),R.with({path:A})},O.dirname=function(R){if(R.path.length===0||R.path===z)return R;let L=U.dirname(R.path);return L.length===1&&L.charCodeAt(0)===46&&(L=""),R.with({path:L})},O.basename=function(R){return U.basename(R.path)},O.extname=function(R){return U.extname(R.path)}})(le||(le={})),tb=n})();var{URI:gt,Utils:la}=tb;var vt;(function(t){t.basename=la.basename,t.dirname=la.dirname,t.extname=la.extname,t.joinPath=la.joinPath,t.resolvePath=la.resolvePath;let e=typeof process=="object"&&process?.platform==="win32";function r(s,a){return s?.toString()===a?.toString()}t.equals=r;function n(s,a){let c=typeof s=="string"?gt.parse(s).path:s.path,l=typeof a=="string"?gt.parse(a).path:a.path,u=c.split("/").filter(g=>g.length>0),f=l.split("/").filter(g=>g.length>0);if(e){let g=/^[A-Z]:$/;if(u[0]&&g.test(u[0])&&(u[0]=u[0].toLowerCase()),f[0]&&g.test(f[0])&&(f[0]=f[0].toLowerCase()),u[0]!==f[0])return l.substring(1)}let d=0;for(;d<u.length&&u[d]===f[d];d++);let p="../".repeat(u.length-d),m=f.slice(d).join("/");return p+m}t.relative=n;function i(s){return gt.parse(s.toString()).toString()}t.normalize=i;function o(s,a){let c=typeof s=="string"?s:s.path,l=typeof a=="string"?a:a.path;return l.charAt(l.length-1)==="/"&&(l=l.slice(0,-1)),c.charAt(c.length-1)==="/"&&(c=c.slice(0,-1)),l===c?!0:l.length<c.length||l.charAt(c.length)!=="/"?!1:l.startsWith(c)}t.contains=o})(vt||(vt={}));var ua=class{constructor(){this.root={name:"",children:new Map}}normalizeUri(e){return vt.normalize(e)}clear(){this.root.children.clear()}insert(e,r){let n=this.getNode(this.normalizeUri(e),!0);n.element=r}delete(e){let r=this.getNode(this.normalizeUri(e),!1);r?.parent&&r.parent.children.delete(r.name)}has(e){return this.getNode(this.normalizeUri(e),!1)?.element!==void 0}hasNode(e){return this.getNode(this.normalizeUri(e),!1)!==void 0}find(e){return this.getNode(this.normalizeUri(e),!1)?.element}findNode(e){let r=this.normalizeUri(e),n=this.getNode(r,!1);if(n)return{name:n.name,uri:vt.joinPath(gt.parse(r),n.name).toString(),element:n.element}}findChildren(e){let r=this.normalizeUri(e),n=this.getNode(r,!1);return n?Array.from(n.children.values()).map(i=>({name:i.name,uri:vt.joinPath(gt.parse(r),i.name).toString(),element:i.element})):[]}all(){return this.collectValues(this.root)}findAll(e){let r=this.getNode(vt.normalize(e),!1);return r?this.collectValues(r):[]}getNode(e,r){let n=e.split("/");e.charAt(e.length-1)==="/"&&n.pop();let i=this.root;for(let o of n){let s=i.children.get(o);if(!s)if(r)s={name:o,children:new Map,parent:i},i.children.set(o,s);else return;i=s}return i}collectValues(e){let r=[];e.element&&r.push(e.element);for(let n of e.children.values())r.push(...this.collectValues(n));return r}};var ye;(function(t){t[t.Changed=0]="Changed",t[t.Parsed=1]="Parsed",t[t.IndexedContent=2]="IndexedContent",t[t.ComputedScopes=3]="ComputedScopes",t[t.Linked=4]="Linked",t[t.IndexedReferences=5]="IndexedReferences",t[t.Validated=6]="Validated"})(ye||(ye={}));var Rl=class{constructor(e){this.serviceRegistry=e.ServiceRegistry,this.textDocuments=e.workspace.TextDocuments,this.fileSystemProvider=e.workspace.FileSystemProvider}async fromUri(e,r=oe.CancellationToken.None){let n=await this.fileSystemProvider.readFile(e);return this.createAsync(e,n,r)}fromTextDocument(e,r,n){return r=r??gt.parse(e.uri),oe.CancellationToken.is(n)?this.createAsync(r,e,n):this.create(r,e,n)}fromString(e,r,n){return oe.CancellationToken.is(n)?this.createAsync(r,e,n):this.create(r,e,n)}fromModel(e,r){return this.create(r,{$model:e})}create(e,r,n){if(typeof r=="string"){let i=this.parse(e,r,n);return this.createLangiumDocument(i,e,void 0,r)}else if("$model"in r){let i={value:r.$model,parserErrors:[],lexerErrors:[]};return this.createLangiumDocument(i,e)}else{let i=this.parse(e,r.getText(),n);return this.createLangiumDocument(i,e,r)}}async createAsync(e,r,n){if(typeof r=="string"){let i=await this.parseAsync(e,r,n);return this.createLangiumDocument(i,e,void 0,r)}else{let i=await this.parseAsync(e,r.getText(),n);return this.createLangiumDocument(i,e,r)}}createLangiumDocument(e,r,n,i){let o;if(n)o={parseResult:e,uri:r,state:ye.Parsed,references:[],textDocument:n};else{let s=this.createTextDocumentGetter(r,i);o={parseResult:e,uri:r,state:ye.Parsed,references:[],get textDocument(){return s()}}}return e.value.$document=o,o}async update(e,r){let n=e.parseResult.value.$cstNode?.root.fullText,i=this.textDocuments?.get(e.uri.toString()),o=i?i.getText():await this.fileSystemProvider.readFile(e.uri);if(i)Object.defineProperty(e,"textDocument",{value:i});else{let s=this.createTextDocumentGetter(e.uri,o);Object.defineProperty(e,"textDocument",{get:s})}return n!==o&&(e.parseResult=await this.parseAsync(e.uri,o,r),e.parseResult.value.$document=e),e.state=ye.Parsed,e}parse(e,r,n){return this.serviceRegistry.getServices(e).parser.LangiumParser.parse(r,n)}parseAsync(e,r,n){return this.serviceRegistry.getServices(e).parser.AsyncParser.parse(r,n)}createTextDocumentGetter(e,r){let n=this.serviceRegistry,i;return()=>i??(i=ca.create(e.toString(),n.getServices(e).LanguageMetaData.languageId,0,r??""))}},wl=class{constructor(e){this.documentTrie=new ua,this.services=e,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.documentBuilder=()=>e.workspace.DocumentBuilder}get all(){return Te(this.documentTrie.all())}addDocument(e){let r=e.uri.toString();if(this.documentTrie.has(r))throw new Error(`A document with the URI '${r}' is already present.`);this.documentTrie.insert(r,e)}getDocument(e){let r=e.toString();return this.documentTrie.find(r)}getDocuments(e){let r=e.toString();return this.documentTrie.findAll(r)}async getOrCreateDocument(e,r){let n=this.getDocument(e);return n||(n=await this.langiumDocumentFactory.fromUri(e,r),this.addDocument(n),n)}createDocument(e,r,n){if(n)return this.langiumDocumentFactory.fromString(r,e,n).then(i=>(this.addDocument(i),i));{let i=this.langiumDocumentFactory.fromString(r,e);return this.addDocument(i),i}}hasDocument(e){return this.documentTrie.has(e.toString())}invalidateDocument(e){let r=e.toString(),n=this.documentTrie.find(r);return n&&this.documentBuilder().resetToState(n,ye.Changed),n}deleteDocument(e){let r=e.toString(),n=this.documentTrie.find(r);return n&&(n.state=ye.Changed,this.documentTrie.delete(r)),n}deleteDocuments(e){let r=e.toString(),n=this.documentTrie.findAll(r);for(let i of n)i.state=ye.Changed;return this.documentTrie.delete(r),n}};var Do=Symbol("RefResolving"),bl=class{constructor(e){this.reflection=e.shared.AstReflection,this.langiumDocuments=()=>e.shared.workspace.LangiumDocuments,this.scopeProvider=e.references.ScopeProvider,this.astNodeLocator=e.workspace.AstNodeLocator,this.profiler=e.shared.profilers.LangiumProfiler,this.languageId=e.LanguageMetaData.languageId}async link(e,r=oe.CancellationToken.None){if(this.profiler?.isActive("linking")){let n=this.profiler.createTask("linking",this.languageId);n.start();try{for(let i of qt(e.parseResult.value))await mt(r),ni(i).forEach(o=>{let s=`${i.$type}:${o.property}`;n.startSubTask(s);try{this.doLink(o,e)}finally{n.stopSubTask(s)}})}finally{n.stop()}}else for(let n of qt(e.parseResult.value))await mt(r),ni(n).forEach(i=>this.doLink(i,e))}doLink(e,r){let n=e.reference;if("_ref"in n&&n._ref===void 0){n._ref=Do;try{let i=this.getCandidate(e);if(Qi(i))n._ref=i;else{n._nodeDescription=i;let o=this.loadAstNode(i);n._ref=o??this.createLinkingError(e,i)}}catch(i){console.error(`An error occurred while resolving reference to '${n.$refText}':`,i);let o=i.message??String(i);n._ref={info:e,message:`An error occurred while resolving reference to '${n.$refText}': ${o}`}}r.references.push(n)}else if("_items"in n&&n._items===void 0){n._items=Do;try{let i=this.getCandidates(e),o=[];if(Qi(i))n._linkingError=i;else for(let s of i){let a=this.loadAstNode(s);a&&o.push({ref:a,$nodeDescription:s})}n._items=o}catch(i){n._linkingError={info:e,message:`An error occurred while resolving reference to '${n.$refText}': ${i}`},n._items=[]}r.references.push(n)}}unlink(e){for(let r of e.references)"_ref"in r?(r._ref=void 0,delete r._nodeDescription):"_items"in r&&(r._items=void 0,delete r._linkingError);e.references=[]}getCandidate(e){return this.scopeProvider.getScope(e).getElement(e.reference.$refText)??this.createLinkingError(e)}getCandidates(e){let n=this.scopeProvider.getScope(e).getElements(e.reference.$refText).distinct(i=>`${i.documentUri}#${i.path}`).toArray();return n.length>0?n:this.createLinkingError(e)}buildReference(e,r,n,i){let o=this,s={$refNode:n,$refText:i,_ref:void 0,get ref(){if(ht(this._ref))return this._ref;if(pm(this._nodeDescription)){let a=o.loadAstNode(this._nodeDescription);this._ref=a??o.createLinkingError({reference:s,container:e,property:r},this._nodeDescription)}else if(this._ref===void 0){this._ref=Do;let a=ls(e).$document,c=o.getLinkedNode({reference:s,container:e,property:r});if(c.error&&a&&a.state<ye.ComputedScopes)return this._ref=void 0;this._ref=c.node??c.error,this._nodeDescription=c.descr,a?.references.push(this)}else this._ref===Do&&o.throwCyclicReferenceError(e,r,i);return ht(this._ref)?this._ref:void 0},get $nodeDescription(){return this._nodeDescription},get error(){return Qi(this._ref)?this._ref:void 0}};return s}buildMultiReference(e,r,n,i){let o=this,s={$refNode:n,$refText:i,_items:void 0,get items(){if(Array.isArray(this._items))return this._items;if(this._items===void 0){this._items=Do;let a=ls(e).$document,c=o.getCandidates({reference:s,container:e,property:r}),l=[];if(Qi(c))this._linkingError=c;else for(let u of c){let f=o.loadAstNode(u);f&&l.push({ref:f,$nodeDescription:u})}this._items=l,a?.references.push(this)}else this._items===Do&&o.throwCyclicReferenceError(e,r,i);return Array.isArray(this._items)?this._items:[]},get error(){if(this._linkingError)return this._linkingError;if(!(this.items.length>0))return this._linkingError=o.createLinkingError({reference:s,container:e,property:r})}};return s}throwCyclicReferenceError(e,r,n){throw new Error(`Cyclic reference resolution detected: ${this.astNodeLocator.getAstNodePath(e)}/${r} (symbol '${n}')`)}getLinkedNode(e){try{let r=this.getCandidate(e);if(Qi(r))return{error:r};let n=this.loadAstNode(r);return n?{node:n,descr:r}:{descr:r,error:this.createLinkingError(e,r)}}catch(r){console.error(`An error occurred while resolving reference to '${e.reference.$refText}':`,r);let n=r.message??String(r);return{error:{info:e,message:`An error occurred while resolving reference to '${e.reference.$refText}': ${n}`}}}}loadAstNode(e){if(e.node)return e.node;let r=this.langiumDocuments().getDocument(e.documentUri);if(r)return this.astNodeLocator.getAstNode(r.parseResult.value,e.path)}createLinkingError(e,r){let n=ls(e.container).$document;n&&n.state<ye.ComputedScopes&&console.warn(`Attempted reference resolution before document reached ComputedScopes state (${n.uri}).`);let i=this.reflection.getReferenceType(e);return{info:e,message:`Could not resolve reference to ${i} named '${e.reference.$refText}'.`,targetDescription:r}}};function rb(t){return typeof t.name=="string"}var Al=class{getName(e){if(rb(e))return e.name}getNameNode(e){return Uc(e.$cstNode,"name")}};var Sl=class{constructor(e){this.nameProvider=e.references.NameProvider,this.index=e.shared.workspace.IndexManager,this.nodeLocator=e.workspace.AstNodeLocator,this.documents=e.shared.workspace.LangiumDocuments,this.hasMultiReference=qt(e.Grammar).some(r=>Ur(r)&&r.isMulti)}findDeclarations(e){if(e){let r=eg(e),n=e.astNode;if(r&&n){let i=n[r.feature];if(At(i)||ur(i))return nf(i);if(Array.isArray(i)){for(let o of i)if((At(o)||ur(o))&&o.$refNode&&o.$refNode.offset<=e.offset&&o.$refNode.end>=e.end)return nf(o)}}if(n){let i=this.nameProvider.getNameNode(n);if(i&&(i===e||Mm(e,i)))return this.getSelfNodes(n)}}return[]}getSelfNodes(e){if(this.hasMultiReference){let r=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e)),n=this.getNodeFromReferenceDescription(r.head());if(n){for(let i of ni(n))if(ur(i.reference)&&i.reference.items.some(o=>o.ref===e))return i.reference.items.map(o=>o.ref)}return[e]}else return[e]}getNodeFromReferenceDescription(e){if(!e)return;let r=this.documents.getDocument(e.sourceUri);if(r)return this.nodeLocator.getAstNode(r.parseResult.value,e.sourcePath)}findDeclarationNodes(e){let r=this.findDeclarations(e),n=[];for(let i of r){let o=this.nameProvider.getNameNode(i)??i.$cstNode;o&&n.push(o)}return n}findReferences(e,r){let n=[];r.includeDeclaration&&n.push(...this.getSelfReferences(e));let i=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e));return r.documentUri&&(i=i.filter(o=>vt.equals(o.sourceUri,r.documentUri))),n.push(...i),Te(n)}getSelfReferences(e){let r=this.getSelfNodes(e),n=[];for(let i of r){let o=this.nameProvider.getNameNode(i);if(o){let s=Ut(i),a=this.nodeLocator.getAstNodePath(i);n.push({sourceUri:s.uri,sourcePath:a,targetUri:s.uri,targetPath:a,segment:po(o),local:!0})}}return n}};var Gt=class{constructor(e){if(this.map=new Map,e)for(let[r,n]of e)this.add(r,n)}get size(){return as.sum(Te(this.map.values()).map(e=>e.length))}clear(){this.map.clear()}delete(e,r){if(r===void 0)return this.map.delete(e);{let n=this.map.get(e);if(n){let i=n.indexOf(r);if(i>=0)return n.length===1?this.map.delete(e):n.splice(i,1),!0}return!1}}get(e){return this.map.get(e)??[]}getStream(e){let r=this.map.get(e);return r?Te(r):ri}has(e,r){if(r===void 0)return this.map.has(e);{let n=this.map.get(e);return n?n.indexOf(r)>=0:!1}}add(e,r){return this.map.has(e)?this.map.get(e).push(r):this.map.set(e,[r]),this}addAll(e,r){return this.map.has(e)?this.map.get(e).push(...r):this.map.set(e,Array.from(r)),this}forEach(e){this.map.forEach((r,n)=>r.forEach(i=>e(i,n,this)))}[Symbol.iterator](){return this.entries().iterator()}entries(){return Te(this.map.entries()).flatMap(([e,r])=>r.map(n=>[e,n]))}keys(){return Te(this.map.keys())}values(){return Te(this.map.values()).flat()}entriesGroupedByKey(){return Te(this.map.entries())}},$o=class{get size(){return this.map.size}constructor(e){if(this.map=new Map,this.inverse=new Map,e)for(let[r,n]of e)this.set(r,n)}clear(){this.map.clear(),this.inverse.clear()}set(e,r){return this.map.set(e,r),this.inverse.set(r,e),this}get(e){return this.map.get(e)}getKey(e){return this.inverse.get(e)}delete(e){let r=this.map.get(e);return r!==void 0?(this.map.delete(e),this.inverse.delete(r),!0):!1}};var Il=class{constructor(e){this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider}async collectExportedSymbols(e,r=oe.CancellationToken.None){return this.collectExportedSymbolsForNode(e.parseResult.value,e,void 0,r)}async collectExportedSymbolsForNode(e,r,n=vc,i=oe.CancellationToken.None){let o=[];this.addExportedSymbol(e,o,r);for(let s of n(e))await mt(i),this.addExportedSymbol(s,o,r);return o}addExportedSymbol(e,r,n){let i=this.nameProvider.getName(e);i&&r.push(this.descriptions.createDescription(e,i,n))}async collectLocalSymbols(e,r=oe.CancellationToken.None){let n=e.parseResult.value,i=new Gt;for(let o of $r(n))await mt(r),this.addLocalSymbol(o,e,i);return i}addLocalSymbol(e,r,n){let i=e.$container;if(i){let o=this.nameProvider.getName(e);o&&n.add(i,this.descriptions.createDescription(e,o,r))}}};var fa=class{constructor(e,r,n){this.elements=e,this.outerScope=r,this.caseInsensitive=n?.caseInsensitive??!1,this.concatOuterScope=n?.concatOuterScope??!0}getAllElements(){return this.outerScope?this.elements.concat(this.outerScope.getAllElements()):this.elements}getElement(e){let r=this.caseInsensitive?e.toLowerCase():e,n=this.caseInsensitive?this.elements.find(i=>i.name.toLowerCase()===r):this.elements.find(i=>i.name===e);if(n)return n;if(this.outerScope)return this.outerScope.getElement(e)}getElements(e){let r=this.caseInsensitive?e.toLowerCase():e,n=this.caseInsensitive?this.elements.filter(i=>i.name.toLowerCase()===r):this.elements.filter(i=>i.name===e);return(this.concatOuterScope||n.isEmpty())&&this.outerScope?n.concat(this.outerScope.getElements(e)):n}},lx=class{constructor(e,r,n){this.elements=new Map,this.caseInsensitive=n?.caseInsensitive??!1,this.concatOuterScope=n?.concatOuterScope??!0;for(let i of e){let o=this.caseInsensitive?i.name.toLowerCase():i.name;this.elements.set(o,i)}this.outerScope=r}getElement(e){let r=this.caseInsensitive?e.toLowerCase():e,n=this.elements.get(r);if(n)return n;if(this.outerScope)return this.outerScope.getElement(e)}getElements(e){let r=this.caseInsensitive?e.toLowerCase():e,n=this.elements.get(r),i=n?[n]:[];return(this.concatOuterScope||i.length>0)&&this.outerScope?Te(i).concat(this.outerScope.getElements(e)):Te(i)}getAllElements(){let e=Te(this.elements.values());return this.outerScope&&(e=e.concat(this.outerScope.getAllElements())),e}},kl=class{constructor(e,r,n){this.elements=new Gt,this.caseInsensitive=n?.caseInsensitive??!1,this.concatOuterScope=n?.concatOuterScope??!0;for(let i of e){let o=this.caseInsensitive?i.name.toLowerCase():i.name;this.elements.add(o,i)}this.outerScope=r}getElement(e){let r=this.caseInsensitive?e.toLowerCase():e,n=this.elements.get(r)[0];if(n)return n;if(this.outerScope)return this.outerScope.getElement(e)}getElements(e){let r=this.caseInsensitive?e.toLowerCase():e,n=this.elements.get(r);return(this.concatOuterScope||n.length===0)&&this.outerScope?Te(n).concat(this.outerScope.getElements(e)):Te(n)}getAllElements(){let e=Te(this.elements.values());return this.outerScope&&(e=e.concat(this.outerScope.getAllElements())),e}},o2={getElement(){},getElements(){return ri},getAllElements(){return ri}};var da=class{constructor(){this.toDispose=[],this.isDisposed=!1}onDispose(e){this.toDispose.push(e)}dispose(){this.throwIfDisposed(),this.clear(),this.isDisposed=!0,this.toDispose.forEach(e=>e.dispose())}throwIfDisposed(){if(this.isDisposed)throw new Error("This cache has already been disposed")}},Nl=class extends da{constructor(){super(...arguments),this.cache=new Map}has(e){return this.throwIfDisposed(),this.cache.has(e)}set(e,r){this.throwIfDisposed(),this.cache.set(e,r)}get(e,r){if(this.throwIfDisposed(),this.cache.has(e))return this.cache.get(e);if(r){let n=r();return this.cache.set(e,n),n}else return}delete(e){return this.throwIfDisposed(),this.cache.delete(e)}clear(){this.throwIfDisposed(),this.cache.clear()}},Mo=class extends da{constructor(e){super(),this.cache=new Map,this.converter=e??(r=>r)}has(e,r){return this.throwIfDisposed(),this.cacheForContext(e).has(r)}set(e,r,n){this.throwIfDisposed(),this.cacheForContext(e).set(r,n)}get(e,r,n){this.throwIfDisposed();let i=this.cacheForContext(e);if(i.has(r))return i.get(r);if(n){let o=n();return i.set(r,o),o}else return}delete(e,r){return this.throwIfDisposed(),this.cacheForContext(e).delete(r)}clear(e){if(this.throwIfDisposed(),e){let r=this.converter(e);this.cache.delete(r)}else this.cache.clear()}cacheForContext(e){let r=this.converter(e),n=this.cache.get(r);return n||(n=new Map,this.cache.set(r,n)),n}},tp=class extends Mo{constructor(e,r){super(n=>n.toString()),r?(this.toDispose.push(e.workspace.DocumentBuilder.onDocumentPhase(r,n=>{this.clear(n.uri.toString())})),this.toDispose.push(e.workspace.DocumentBuilder.onUpdate((n,i)=>{for(let o of i)this.clear(o)}))):this.toDispose.push(e.workspace.DocumentBuilder.onUpdate((n,i)=>{let o=n.concat(i);for(let s of o)this.clear(s)}))}},pa=class extends Nl{constructor(e,r){super(),r?(this.toDispose.push(e.workspace.DocumentBuilder.onBuildPhase(r,()=>{this.clear()})),this.toDispose.push(e.workspace.DocumentBuilder.onUpdate((n,i)=>{i.length>0&&this.clear()}))):this.toDispose.push(e.workspace.DocumentBuilder.onUpdate(()=>{this.clear()}))}};var Pl=class{constructor(e){this.reflection=e.shared.AstReflection,this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider,this.indexManager=e.shared.workspace.IndexManager,this.globalScopeCache=new pa(e.shared)}getScope(e){let r=[],n=this.reflection.getReferenceType(e),i=Ut(e.container).localSymbols;if(i){let s=e.container;do i.has(s)&&r.push(i.getStream(s).filter(a=>this.reflection.isSubtype(a.type,n))),s=s.$container;while(s)}let o=this.getGlobalScope(n,e);for(let s=r.length-1;s>=0;s--)o=this.createScope(r[s],o);return o}createScope(e,r,n){return new fa(Te(e),r,n)}createScopeForNodes(e,r,n){let i=Te(e).map(o=>{let s=this.nameProvider.getName(o);if(s)return this.descriptions.createDescription(o,s)}).nonNullable();return new fa(i,r,n)}getGlobalScope(e,r){return this.globalScopeCache.get(e,()=>new kl(this.indexManager.allElements(e)))}};function ux(t){return typeof t.$comment=="string"}function nb(t){return typeof t=="object"&&!!t&&("$ref"in t||"$error"in t)}var Cl=class{constructor(e){this.ignoreProperties=new Set(["$container","$containerProperty","$containerIndex","$document","$cstNode"]),this.langiumDocuments=e.shared.workspace.LangiumDocuments,this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider,this.commentProvider=e.documentation.CommentProvider}serialize(e,r){let n=r??{},i=r?.replacer,o=(a,c)=>this.replacer(a,c,n),s=i?(a,c)=>i(a,c,o):o;try{return this.currentDocument=Ut(e),JSON.stringify(e,s,r?.space)}finally{this.currentDocument=void 0}}deserialize(e,r){let n=r??{},i=JSON.parse(e);return this.linkNode(i,i,n),i}replacer(e,r,{refText:n,sourceText:i,textRegions:o,comments:s,uriConverter:a}){if(!this.ignoreProperties.has(e))if(At(r)){let c=r.ref,l=n?r.$refText:void 0;if(c){let u=Ut(c),f="";this.currentDocument&&this.currentDocument!==u&&(a?f=a(u.uri,c):f=u.uri.toString());let d=this.astNodeLocator.getAstNodePath(c);return{$ref:`${f}#${d}`,$refText:l}}else return{$error:r.error?.message??"Could not resolve reference",$refText:l}}else if(ur(r)){let c=n?r.$refText:void 0,l=[];for(let u of r.items){let f=u.ref,d=Ut(u.ref),p="";this.currentDocument&&this.currentDocument!==d&&(a?p=a(d.uri,f):p=d.uri.toString());let m=this.astNodeLocator.getAstNodePath(f);l.push(`${p}#${m}`)}return{$refs:l,$refText:c}}else if(ht(r)){let c;if(o&&(c=this.addAstNodeRegionWithAssignmentsTo({...r}),(!e||r.$document)&&c?.$textRegion&&(c.$textRegion.documentURI=this.currentDocument?.uri.toString())),i&&!e&&(c??(c={...r}),c.$sourceText=r.$cstNode?.text),s){c??(c={...r});let l=this.commentProvider.getComment(r);l&&(c.$comment=l.replace(/\r/g,""))}return c??r}else return r}addAstNodeRegionWithAssignmentsTo(e){let r=n=>({offset:n.offset,end:n.end,length:n.length,range:n.range});if(e.$cstNode){let n=e.$textRegion=r(e.$cstNode),i=n.assignments={};return Object.keys(e).filter(o=>!o.startsWith("$")).forEach(o=>{let s=Km(e.$cstNode,o).map(r);s.length!==0&&(i[o]=s)}),e}}linkNode(e,r,n,i,o,s){for(let[c,l]of Object.entries(e))if(Array.isArray(l))for(let u=0;u<l.length;u++){let f=l[u];nb(f)?l[u]=this.reviveReference(e,c,r,f,n):ht(f)&&this.linkNode(f,r,n,e,c,u)}else nb(l)?e[c]=this.reviveReference(e,c,r,l,n):ht(l)&&this.linkNode(l,r,n,e,c);let a=e;a.$container=i,a.$containerProperty=o,a.$containerIndex=s}reviveReference(e,r,n,i,o){let s=i.$refText,a=i.$error,c;if(i.$ref){let l=this.getRefNode(n,i.$ref,o.uriConverter);if(ht(l))return s||(s=this.nameProvider.getName(l)),{$refText:s??"",ref:l};a=l}else if(i.$refs){let l=[];for(let u of i.$refs){let f=this.getRefNode(n,u,o.uriConverter);ht(f)&&l.push({ref:f})}if(l.length===0)c={$refText:s??"",items:l},a??(a="Could not resolve multi-reference");else return{$refText:s??"",items:l}}if(a)return c??(c={$refText:s??"",ref:void 0}),c.error={info:{container:e,property:r,reference:c},message:a},c}getRefNode(e,r,n){try{let i=r.indexOf("#");if(i===0){let c=this.astNodeLocator.getAstNode(e,r.substring(1));return c||"Could not resolve path: "+r}if(i<0){let c=n?n(r):gt.parse(r),l=this.langiumDocuments.getDocument(c);return l?l.parseResult.value:"Could not find document for URI: "+r}let o=n?n(r.substring(0,i)):gt.parse(r.substring(0,i)),s=this.langiumDocuments.getDocument(o);if(!s)return"Could not find document for URI: "+r;if(i===r.length-1)return s.parseResult.value;let a=this.astNodeLocator.getAstNode(s.parseResult.value,r.substring(i+1));return a||"Could not resolve URI: "+r}catch(i){return String(i)}}};var Ol=class{get map(){return this.fileExtensionMap}constructor(e){this.languageIdMap=new Map,this.fileExtensionMap=new Map,this.fileNameMap=new Map,this.textDocuments=e?.workspace.TextDocuments}register(e){let r=e.LanguageMetaData;for(let n of r.fileExtensions)this.fileExtensionMap.has(n)&&console.warn(`The file extension ${n} is used by multiple languages. It is now assigned to '${r.languageId}'.`),this.fileExtensionMap.set(n,e);if(r.fileNames)for(let n of r.fileNames)this.fileNameMap.has(n)&&console.warn(`The file name ${n} is used by multiple languages. It is now assigned to '${r.languageId}'.`),this.fileNameMap.set(n,e);this.languageIdMap.set(r.languageId,e)}getServices(e){if(this.languageIdMap.size===0)throw new Error("The service registry is empty. Use `register` to register the services of a language.");let r=this.textDocuments?.get(e)?.languageId;if(r!==void 0){let s=this.languageIdMap.get(r);if(s)return s}let n=vt.extname(e),i=vt.basename(e),o=this.fileNameMap.get(i)??this.fileExtensionMap.get(n);if(!o)throw r?new Error(`The service registry contains no services for the extension '${n}' for language '${r}'.`):new Error(`The service registry contains no services for the extension '${n}'.`);return o}hasServices(e){try{return this.getServices(e),!0}catch{return!1}}get all(){return Array.from(this.languageIdMap.values())}};function Fo(t){return{code:t}}var rp;(function(t){t.defaults=["fast","slow","built-in"],t.all=t.defaults})(rp||(rp={}));var Ll=class{constructor(e){this.entries=new Gt,this.knownCategories=new Set(rp.defaults),this.entriesBefore=[],this.entriesAfter=[],this.reflection=e.shared.AstReflection}register(e,r=this,n="fast"){if(n==="built-in")throw new Error("The 'built-in' category is reserved for lexer, parser, and linker errors.");this.knownCategories.add(n);for(let[i,o]of Object.entries(e)){let s=o;if(Array.isArray(s))for(let a of s){let c={check:this.wrapValidationException(a,r),category:n};this.addEntry(i,c)}else if(typeof s=="function"){let a={check:this.wrapValidationException(s,r),category:n};this.addEntry(i,a)}else ln(s)}}wrapValidationException(e,r){return async(n,i,o)=>{await this.handleException(()=>e.call(r,n,i,o),"An error occurred during validation",i,n)}}async handleException(e,r,n,i){try{await e()}catch(o){if(gn(o))throw o;console.error(`${r}:`,o),o instanceof Error&&o.stack&&console.error(o.stack);let s=o instanceof Error?o.message:String(o);n("error",`${r}: ${s}`,{node:i})}}addEntry(e,r){if(e==="AstNode"){this.entries.add("AstNode",r);return}for(let n of this.reflection.getAllSubTypes(e))this.entries.add(n,r)}getChecks(e,r){let n=Te(this.entries.get(e)).concat(this.entries.get("AstNode"));return r&&(n=n.filter(i=>r.includes(i.category))),n.map(i=>i.check)}registerBeforeDocument(e,r=this){this.entriesBefore.push(this.wrapPreparationException(e,"An error occurred during set-up of the validation",r))}registerAfterDocument(e,r=this){this.entriesAfter.push(this.wrapPreparationException(e,"An error occurred during tear-down of the validation",r))}wrapPreparationException(e,r,n){return async(i,o,s,a)=>{await this.handleException(()=>e.call(n,i,o,s,a),r,o,i)}}get checksBefore(){return this.entriesBefore}get checksAfter(){return this.entriesAfter}getAllValidationCategories(e){return this.knownCategories}};var ib=Object.freeze({validateNode:!0,validateChildren:!0}),Dl=class{constructor(e){this.validationRegistry=e.validation.ValidationRegistry,this.metadata=e.LanguageMetaData,this.profiler=e.shared.profilers.LangiumProfiler,this.languageId=e.LanguageMetaData.languageId}async validateDocument(e,r={},n=oe.CancellationToken.None){let i=e.parseResult,o=[];if(await mt(n),(!r.categories||r.categories.includes("built-in"))&&(this.processLexingErrors(i,o,r),r.stopAfterLexingErrors&&o.some(s=>s.data?.code===Ar.LexingError)||(this.processParsingErrors(i,o,r),r.stopAfterParsingErrors&&o.some(s=>s.data?.code===Ar.ParsingError))||(this.processLinkingErrors(e,o,r),r.stopAfterLinkingErrors&&o.some(s=>s.data?.code===Ar.LinkingError))))return o;try{o.push(...await this.validateAst(i.value,r,n))}catch(s){if(gn(s))throw s;console.error("An error occurred during validation:",s)}return await mt(n),o}processLexingErrors(e,r,n){let i=[...e.lexerErrors,...e.lexerReport?.diagnostics??[]];for(let o of i){let s=o.severity??"error",a={severity:np(s),range:{start:{line:o.line-1,character:o.column-1},end:{line:o.line-1,character:o.column+o.length-1}},message:o.message,data:sb(s),source:this.getSource()};r.push(a)}}processParsingErrors(e,r,n){for(let i of e.parserErrors){let o;if(isNaN(i.token.startOffset)){if("previousToken"in i){let s=i.previousToken;if(isNaN(s.startOffset)){let a={line:0,character:0};o={start:a,end:a}}else{let a={line:s.endLine-1,character:s.endColumn};o={start:a,end:a}}}}else o=xs(i.token);if(o){let s={severity:np("error"),range:o,message:i.message,data:Fo(Ar.ParsingError),source:this.getSource()};r.push(s)}}}processLinkingErrors(e,r,n){for(let i of e.references){let o=i.error;if(o){let s={node:o.info.container,range:i.$refNode?.range,property:o.info.property,index:o.info.index,data:{code:Ar.LinkingError,containerType:o.info.container.$type,property:o.info.property,refText:o.info.reference.$refText}};r.push(this.toDiagnostic("error",o.message,s))}}}async validateAst(e,r,n=oe.CancellationToken.None){let i=[],o=(s,a,c)=>{i.push(this.toDiagnostic(s,a,c))};return await this.validateAstBefore(e,r,o,n),await this.validateAstNodes(e,r,o,n),await this.validateAstAfter(e,r,o,n),i}async validateAstBefore(e,r,n,i=oe.CancellationToken.None){let o=this.validationRegistry.checksBefore;for(let s of o)await mt(i),await s(e,n,r.categories??[],i)}async validateAstNodes(e,r,n,i=oe.CancellationToken.None){if(this.profiler?.isActive("validating")){let o=this.profiler.createTask("validating",this.languageId);o.start();try{let s=qt(e).iterator();for(let a of s){o.startSubTask(a.$type);let c=this.validateSingleNodeOptions(a,r);if(c.validateNode)try{let l=this.validationRegistry.getChecks(a.$type,r.categories);for(let u of l)await u(a,n,i)}finally{o.stopSubTask(a.$type)}c.validateChildren||s.prune()}}finally{o.stop()}}else{let o=qt(e).iterator();for(let s of o){await mt(i);let a=this.validateSingleNodeOptions(s,r);if(a.validateNode){let c=this.validationRegistry.getChecks(s.$type,r.categories);for(let l of c)await l(s,n,i)}a.validateChildren||o.prune()}}}validateSingleNodeOptions(e,r){return ib}async validateAstAfter(e,r,n,i=oe.CancellationToken.None){let o=this.validationRegistry.checksAfter;for(let s of o)await mt(i),await s(e,n,r.categories??[],i)}toDiagnostic(e,r,n){return{message:r,range:ob(n),severity:np(e),code:n.code,codeDescription:n.codeDescription,tags:n.tags,relatedInformation:n.relatedInformation,data:n.data,source:this.getSource()}}getSource(){return this.metadata.languageId}};function ob(t){if(t.range)return t.range;let e;return typeof t.property=="string"?e=Uc(t.node.$cstNode,t.property,t.index):typeof t.keyword=="string"&&(e=Jm(t.node.$cstNode,t.keyword,t.index)),e??(e=t.node.$cstNode),e?e.range:{start:{line:0,character:0},end:{line:0,character:0}}}function np(t){switch(t){case"error":return 1;case"warning":return 2;case"info":return 3;case"hint":return 4;default:throw new Error("Invalid diagnostic severity: "+t)}}function sb(t){switch(t){case"error":return Fo(Ar.LexingError);case"warning":return Fo(Ar.LexingWarning);case"info":return Fo(Ar.LexingInfo);case"hint":return Fo(Ar.LexingHint);default:throw new Error("Invalid diagnostic severity: "+t)}}var Ar;(function(t){t.LexingError="lexing-error",t.LexingWarning="lexing-warning",t.LexingInfo="lexing-info",t.LexingHint="lexing-hint",t.ParsingError="parsing-error",t.LinkingError="linking-error"})(Ar||(Ar={}));var $l=class{constructor(e){this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider}createDescription(e,r,n){let i=n??Ut(e);r??(r=this.nameProvider.getName(e));let o=this.astNodeLocator.getAstNodePath(e);if(!r)throw new Error(`Node at path ${o} has no name.`);let s,a=()=>s??(s=po(this.nameProvider.getNameNode(e)??e.$cstNode));return{node:e,name:r,get nameSegment(){return a()},selectionSegment:po(e.$cstNode),type:e.$type,documentUri:i.uri,path:o}}},Ml=class{constructor(e){this.nodeLocator=e.workspace.AstNodeLocator}async createDescriptions(e,r=oe.CancellationToken.None){let n=[],i=e.parseResult.value;for(let o of qt(i))await mt(r),ni(o).forEach(s=>{s.reference.error||n.push(...this.createInfoDescriptions(s))});return n}createInfoDescriptions(e){let r=e.reference;if(r.error||!r.$refNode)return[];let n=[];At(r)&&r.$nodeDescription?n=[r.$nodeDescription]:ur(r)&&(n=r.items.map(c=>c.$nodeDescription).filter(c=>c!==void 0));let i=Ut(e.container).uri,o=this.nodeLocator.getAstNodePath(e.container),s=[],a=po(r.$refNode);for(let c of n)s.push({sourceUri:i,sourcePath:o,targetUri:c.documentUri,targetPath:c.path,segment:a,local:vt.equals(c.documentUri,i)});return s}};var Fl=class{constructor(){this.segmentSeparator="/",this.indexSeparator="@"}getAstNodePath(e){if(e.$container){let r=this.getAstNodePath(e.$container),n=this.getPathSegment(e);return r+this.segmentSeparator+n}return""}getPathSegment({$containerProperty:e,$containerIndex:r}){if(!e)throw new Error("Missing '$containerProperty' in AST node.");return r!==void 0?e+this.indexSeparator+r:e}getAstNode(e,r){return r.split(this.segmentSeparator).reduce((i,o)=>{if(!i||o.length===0)return i;let s=o.indexOf(this.indexSeparator);if(s>0){let a=o.substring(0,s),c=parseInt(o.substring(s+1));return i[a]?.[c]}return i[o]},e)}};var it={};Ae(it,dm(ix(),1));var Ul=class{constructor(e){this._ready=new Qt,this.onConfigurationSectionUpdateEmitter=new it.Emitter,this.settings={},this.workspaceConfig=!1,this.serviceRegistry=e.ServiceRegistry}get ready(){return this._ready.promise}initialize(e){this.workspaceConfig=e.capabilities.workspace?.configuration??!1}async initialized(e){if(this.workspaceConfig){if(e.register){let r=this.serviceRegistry.all;e.register({section:r.map(n=>this.toSectionName(n.LanguageMetaData.languageId))})}if(e.fetchConfiguration){let r=this.serviceRegistry.all.map(i=>({section:this.toSectionName(i.LanguageMetaData.languageId)})),n=await e.fetchConfiguration(r);r.forEach((i,o)=>{this.updateSectionConfiguration(i.section,n[o])})}}this._ready.resolve()}updateConfiguration(e){typeof e.settings!="object"||e.settings===null||Object.entries(e.settings).forEach(([r,n])=>{this.updateSectionConfiguration(r,n),this.onConfigurationSectionUpdateEmitter.fire({section:r,configuration:n})})}updateSectionConfiguration(e,r){this.settings[e]=r}async getConfiguration(e,r){await this.ready;let n=this.toSectionName(e);if(this.settings[n])return this.settings[n][r]}toSectionName(e){return`${e}`}get onConfigurationSectionUpdate(){return this.onConfigurationSectionUpdateEmitter.event}};var Oa=dm(CI(),1);var Mi;(function(t){function e(r){return{dispose:async()=>await r()}}t.create=e})(Mi||(Mi={}));var Yl=class{constructor(e){this.updateBuildOptions={validation:{categories:["built-in","fast"]}},this.updateListeners=[],this.buildPhaseListeners=new Gt,this.documentPhaseListeners=new Gt,this.buildState=new Map,this.documentBuildWaiters=new Map,this.currentState=ye.Changed,this.langiumDocuments=e.workspace.LangiumDocuments,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.textDocuments=e.workspace.TextDocuments,this.indexManager=e.workspace.IndexManager,this.fileSystemProvider=e.workspace.FileSystemProvider,this.workspaceManager=()=>e.workspace.WorkspaceManager,this.serviceRegistry=e.ServiceRegistry}async build(e,r={},n=oe.CancellationToken.None){for(let i of e){let o=i.uri.toString();if(i.state===ye.Validated){if(typeof r.validation=="boolean"&&r.validation)this.resetToState(i,ye.IndexedReferences);else if(typeof r.validation=="object"){let s=this.findMissingValidationCategories(i,r);s.length>0&&(this.buildState.set(o,{completed:!1,options:{validation:{categories:s}},result:this.buildState.get(o)?.result}),i.state=ye.IndexedReferences)}}else this.buildState.delete(o)}this.currentState=ye.Changed,await this.emitUpdate(e.map(i=>i.uri),[]),await this.buildDocuments(e,r,n)}async update(e,r,n=oe.CancellationToken.None){this.currentState=ye.Changed;let i=[];for(let c of r){let l=this.langiumDocuments.deleteDocuments(c);for(let u of l)i.push(u.uri),this.cleanUpDeleted(u)}let o=(await Promise.all(e.map(c=>this.findChangedUris(c)))).flat();for(let c of o){let l=this.langiumDocuments.getDocument(c);l===void 0&&(l=this.langiumDocumentFactory.fromModel({$type:"INVALID"},c),l.state=ye.Changed,this.langiumDocuments.addDocument(l)),this.resetToState(l,ye.Changed)}let s=Te(o).concat(i).map(c=>c.toString()).toSet();this.langiumDocuments.all.filter(c=>!s.has(c.uri.toString())&&this.shouldRelink(c,s)).forEach(c=>this.resetToState(c,ye.ComputedScopes)),await this.emitUpdate(o,i),await mt(n);let a=this.sortDocuments(this.langiumDocuments.all.filter(c=>c.state<ye.Validated||!this.buildState.get(c.uri.toString())?.completed||this.resultsAreIncomplete(c,this.updateBuildOptions)).toArray());await this.buildDocuments(a,this.updateBuildOptions,n)}resultsAreIncomplete(e,r){return this.findMissingValidationCategories(e,r).length>=1}findMissingValidationCategories(e,r){let n=this.buildState.get(e.uri.toString()),i=this.serviceRegistry.getServices(e.uri).validation.ValidationRegistry.getAllValidationCategories(e),o=n?.result?.validationChecks?new Set(n?.result?.validationChecks):n?.completed?i:new Set,s=r===void 0||r.validation===!0?i:typeof r.validation=="object"?r.validation.categories??i:[];return Te(s).filter(a=>!o.has(a)).toArray()}async findChangedUris(e){if(this.langiumDocuments.getDocument(e)??this.textDocuments?.get(e))return[e];try{let n=await this.fileSystemProvider.stat(e);if(n.isDirectory)return await this.workspaceManager().searchFolder(e);if(this.workspaceManager().shouldIncludeEntry(n))return[e]}catch{}return[]}async emitUpdate(e,r){await Promise.all(this.updateListeners.map(n=>n(e,r)))}sortDocuments(e){let r=0,n=e.length-1;for(;r<n;){for(;r<e.length&&this.hasTextDocument(e[r]);)r++;for(;n>=0&&!this.hasTextDocument(e[n]);)n--;r<n&&([e[r],e[n]]=[e[n],e[r]])}return e}hasTextDocument(e){return!!this.textDocuments?.get(e.uri)}shouldRelink(e,r){return e.references.some(n=>n.error!==void 0)?!0:this.indexManager.isAffected(e,r)}onUpdate(e){return this.updateListeners.push(e),Mi.create(()=>{let r=this.updateListeners.indexOf(e);r>=0&&this.updateListeners.splice(r,1)})}resetToState(e,r){switch(r){case ye.Changed:case ye.Parsed:this.indexManager.removeContent(e.uri);case ye.IndexedContent:e.localSymbols=void 0;case ye.ComputedScopes:this.serviceRegistry.getServices(e.uri).references.Linker.unlink(e);case ye.Linked:this.indexManager.removeReferences(e.uri);case ye.IndexedReferences:e.diagnostics=void 0,this.buildState.delete(e.uri.toString());case ye.Validated:}e.state>r&&(e.state=r)}cleanUpDeleted(e){this.buildState.delete(e.uri.toString()),this.indexManager.remove(e.uri),e.state=ye.Changed}async buildDocuments(e,r,n){this.prepareBuild(e,r),await this.runCancelable(e,ye.Parsed,n,s=>this.langiumDocumentFactory.update(s,n)),await this.runCancelable(e,ye.IndexedContent,n,s=>this.indexManager.updateContent(s,n)),await this.runCancelable(e,ye.ComputedScopes,n,async s=>{let a=this.serviceRegistry.getServices(s.uri).references.ScopeComputation;s.localSymbols=await a.collectLocalSymbols(s,n)});let i=e.filter(s=>this.shouldLink(s));await this.runCancelable(i,ye.Linked,n,s=>this.serviceRegistry.getServices(s.uri).references.Linker.link(s,n)),await this.runCancelable(i,ye.IndexedReferences,n,s=>this.indexManager.updateReferences(s,n));let o=e.filter(s=>this.shouldValidate(s)?!0:(this.markAsCompleted(s),!1));await this.runCancelable(o,ye.Validated,n,async s=>{await this.validate(s,n),this.markAsCompleted(s)})}markAsCompleted(e){let r=this.buildState.get(e.uri.toString());r&&(r.completed=!0)}prepareBuild(e,r){for(let n of e){let i=n.uri.toString(),o=this.buildState.get(i);(!o||o.completed)&&this.buildState.set(i,{completed:!1,options:r,result:o?.result})}}async runCancelable(e,r,n,i){for(let s of e)s.state<r&&(await mt(n),await i(s),s.state=r,await this.notifyDocumentPhase(s,r,n));let o=e.filter(s=>s.state===r);await this.notifyBuildPhase(o,r,n),this.currentState=r}onBuildPhase(e,r){return this.buildPhaseListeners.add(e,r),Mi.create(()=>{this.buildPhaseListeners.delete(e,r)})}onDocumentPhase(e,r){return this.documentPhaseListeners.add(e,r),Mi.create(()=>{this.documentPhaseListeners.delete(e,r)})}waitUntil(e,r,n){let i;return r&&"path"in r?i=r:n=r,n??(n=oe.CancellationToken.None),i?this.awaitDocumentState(e,i,n):this.awaitBuilderState(e,n)}awaitDocumentState(e,r,n){let i=this.langiumDocuments.getDocument(r);if(i){if(i.state>=e)return Promise.resolve(r);if(n.isCancellationRequested)return Promise.reject(br);if(this.currentState>=e&&e>i.state)return Promise.reject(new Oa.ResponseError(Oa.LSPErrorCodes.RequestFailed,`Document state of ${r.toString()} is ${ye[i.state]}, requiring ${ye[e]}, but workspace state is already ${ye[this.currentState]}. Returning undefined.`))}else return Promise.reject(new Oa.ResponseError(Oa.LSPErrorCodes.ServerCancelled,`No document found for URI: ${r.toString()}`));return new Promise((o,s)=>{let a=this.onDocumentPhase(e,l=>{vt.equals(l.uri,r)&&(a.dispose(),c.dispose(),o(l.uri))}),c=n.onCancellationRequested(()=>{a.dispose(),c.dispose(),s(br)})})}awaitBuilderState(e,r){return this.currentState>=e?Promise.resolve():r.isCancellationRequested?Promise.reject(br):new Promise((n,i)=>{let o=this.onBuildPhase(e,()=>{o.dispose(),s.dispose(),n()}),s=r.onCancellationRequested(()=>{o.dispose(),s.dispose(),i(br)})})}async notifyDocumentPhase(e,r,n){let o=this.documentPhaseListeners.get(r).slice();for(let s of o)try{await mt(n),await s(e,n)}catch(a){if(!gn(a))throw a}}async notifyBuildPhase(e,r,n){if(e.length===0)return;let o=this.buildPhaseListeners.get(r).slice();for(let s of o)await mt(n),await s(e,n)}shouldLink(e){return this.getBuildOptions(e).eagerLinking??!0}shouldValidate(e){return!!this.getBuildOptions(e).validation}async validate(e,r){let n=this.serviceRegistry.getServices(e.uri).validation.DocumentValidator,i=this.getBuildOptions(e),o=typeof i.validation=="object"?{...i.validation}:{};o.categories=this.findMissingValidationCategories(e,i);let s=await n.validateDocument(e,o,r);e.diagnostics?e.diagnostics.push(...s):e.diagnostics=s;let a=this.buildState.get(e.uri.toString());a&&(a.result??(a.result={}),a.result.validationChecks?a.result.validationChecks=Te(a.result.validationChecks).concat(o.categories).distinct().toArray():a.result.validationChecks=[...o.categories])}getBuildOptions(e){return this.buildState.get(e.uri.toString())?.options??{}}};var Kl=class{constructor(e){this.symbolIndex=new Map,this.symbolByTypeIndex=new Mo,this.referenceIndex=new Map,this.documents=e.workspace.LangiumDocuments,this.serviceRegistry=e.ServiceRegistry,this.astReflection=e.AstReflection}findAllReferences(e,r){let n=Ut(e).uri,i=[];return this.referenceIndex.forEach(o=>{o.forEach(s=>{vt.equals(s.targetUri,n)&&s.targetPath===r&&i.push(s)})}),Te(i)}allElements(e,r){let n=Te(this.symbolIndex.keys());return r&&(n=n.filter(i=>!r||r.has(i))),n.map(i=>this.getFileDescriptions(i,e)).flat()}getFileDescriptions(e,r){return r?this.symbolByTypeIndex.get(e,r,()=>(this.symbolIndex.get(e)??[]).filter(o=>this.astReflection.isSubtype(o.type,r))):this.symbolIndex.get(e)??[]}remove(e){this.removeContent(e),this.removeReferences(e)}removeContent(e){let r=e.toString();this.symbolIndex.delete(r),this.symbolByTypeIndex.clear(r)}removeReferences(e){let r=e.toString();this.referenceIndex.delete(r)}async updateContent(e,r=oe.CancellationToken.None){let i=await this.serviceRegistry.getServices(e.uri).references.ScopeComputation.collectExportedSymbols(e,r),o=e.uri.toString();this.symbolIndex.set(o,i),this.symbolByTypeIndex.clear(o)}async updateReferences(e,r=oe.CancellationToken.None){let i=await this.serviceRegistry.getServices(e.uri).workspace.ReferenceDescriptionProvider.createDescriptions(e,r);this.referenceIndex.set(e.uri.toString(),i)}isAffected(e,r){let n=this.referenceIndex.get(e.uri.toString());return n?n.some(i=>!i.local&&r.has(i.targetUri.toString())):!1}};var Zl=class{constructor(e){this.initialBuildOptions={},this._ready=new Qt,this.serviceRegistry=e.ServiceRegistry,this.langiumDocuments=e.workspace.LangiumDocuments,this.documentBuilder=e.workspace.DocumentBuilder,this.fileSystemProvider=e.workspace.FileSystemProvider,this.mutex=e.workspace.WorkspaceLock}get ready(){return this._ready.promise}get workspaceFolders(){return this.folders}initialize(e){this.folders=e.workspaceFolders??void 0}initialized(e){return this.mutex.write(r=>this.initializeWorkspace(this.folders??[],r))}async initializeWorkspace(e,r=oe.CancellationToken.None){let n=await this.performStartup(e);await mt(r),await this.documentBuilder.build(n,this.initialBuildOptions,r)}async performStartup(e){let r=[],n=s=>{r.push(s),this.langiumDocuments.hasDocument(s.uri)||this.langiumDocuments.addDocument(s)};await this.loadAdditionalDocuments(e,n);let i=[];await Promise.all(e.map(s=>this.getRootFolder(s)).map(async s=>this.traverseFolder(s,i)));let o=Te(i).distinct(s=>s.toString()).filter(s=>!this.langiumDocuments.hasDocument(s));return await this.loadWorkspaceDocuments(o,n),this._ready.resolve(),r}async loadWorkspaceDocuments(e,r){await Promise.all(e.map(async n=>{let i=await this.langiumDocuments.getOrCreateDocument(n);r(i)}))}loadAdditionalDocuments(e,r){return Promise.resolve()}getRootFolder(e){return gt.parse(e.uri)}async traverseFolder(e,r){try{let n=await this.fileSystemProvider.readDirectory(e);await Promise.all(n.map(async i=>{this.shouldIncludeEntry(i)&&(i.isDirectory?await this.traverseFolder(i.uri,r):i.isFile&&r.push(i.uri))}))}catch(n){console.error("Failure to read directory content of "+e.toString(!0),n)}}async searchFolder(e){let r=[];return await this.traverseFolder(e,r),r}shouldIncludeEntry(e){let r=vt.basename(e.uri);return r.startsWith(".")?!1:e.isDirectory?r!=="node_modules"&&r!=="out":e.isFile?this.serviceRegistry.hasServices(e.uri):!1}};var Jl=class{buildUnexpectedCharactersMessage(e,r,n,i,o){return ks.buildUnexpectedCharactersMessage(e,r,n,i,o)}buildUnableToPopLexerModeMessage(e){return ks.buildUnableToPopLexerModeMessage(e)}},Up={mode:"full"},Xo=class{constructor(e){this.errorMessageProvider=e.parser.LexerErrorMessageProvider,this.tokenBuilder=e.parser.TokenBuilder;let r=this.tokenBuilder.buildTokens(e.Grammar,{caseInsensitive:e.LanguageMetaData.caseInsensitive});this.tokenTypes=this.toTokenTypeDictionary(r);let n=$T(r)?Object.values(r):r,i=e.LanguageMetaData.mode==="production";this.chevrotainLexer=new ct(n,{positionTracking:"full",skipValidations:i,errorMessageProvider:this.errorMessageProvider})}get definition(){return this.tokenTypes}tokenize(e,r=Up){let n=this.chevrotainLexer.tokenize(e);return{tokens:n.tokens,errors:n.errors,hidden:n.groups.hidden??[],report:this.tokenBuilder.flushLexingReport?.(e)}}toTokenTypeDictionary(e){if($T(e))return e;let r=MT(e)?Object.values(e.modes).flat():e,n={};return r.forEach(i=>n[i.name]=i),n}};function Bp(t){return Array.isArray(t)&&(t.length===0||"name"in t[0])}function MT(t){return t&&"modes"in t&&"defaultMode"in t}function $T(t){return!Bp(t)&&!MT(t)}na();function BT(t,e,r){let n,i;typeof t=="string"?(i=e,n=r):(i=t.range.start,n=e),i||(i=ke.create(0,0));let o=DI(t),s=XT(n),a=rU({lines:o,position:i,options:s});return aU({index:0,tokens:a,position:i})}function GT(t,e){let r=XT(e),n=DI(t);if(n.length===0)return!1;let i=n[0],o=n[n.length-1],s=r.start,a=r.end;return!!s?.exec(i)&&!!a?.exec(o)}function DI(t){let e="";return typeof t=="string"?e=t:e=t.text,e.split(Hm)}var OI=/\s*(@([\p{L}][\p{L}\p{N}]*)?)/uy,tU=/\{(@[\p{L}][\p{L}\p{N}]*)(\s*)([^\r\n}]+)?\}/gu;function rU(t){let e=[],r=t.position.line,n=t.position.character;for(let i=0;i<t.lines.length;i++){let o=i===0,s=i===t.lines.length-1,a=t.lines[i],c=0;if(o&&t.options.start){let u=t.options.start?.exec(a);u&&(c=u.index+u[0].length)}else{let u=t.options.line?.exec(a);u&&(c=u.index+u[0].length)}if(s){let u=t.options.end?.exec(a);u&&(a=a.substring(0,u.index))}if(a=a.substring(0,sU(a)),UT(a,c)>=a.length){if(e.length>0){let u=ke.create(r,n);e.push({type:"break",content:"",range:ve.create(u,u)})}}else{OI.lastIndex=c;let u=OI.exec(a);if(u){let f=u[0],d=u[1],p=ke.create(r,n+c),m=ke.create(r,n+c+f.length);e.push({type:"tag",content:d,range:ve.create(p,m)}),c+=f.length,c=UT(a,c)}if(c<a.length){let f=a.substring(c),d=Array.from(f.matchAll(tU));e.push(...nU(d,f,r,n+c))}}r++,n=0}return e.length>0&&e[e.length-1].type==="break"?e.slice(0,-1):e}function nU(t,e,r,n){let i=[];if(t.length===0){let o=ke.create(r,n),s=ke.create(r,n+e.length);i.push({type:"text",content:e,range:ve.create(o,s)})}else{let o=0;for(let a of t){let c=a.index,l=e.substring(o,c);l.length>0&&i.push({type:"text",content:e.substring(o,c),range:ve.create(ke.create(r,o+n),ke.create(r,c+n))});let u=l.length+1,f=a[1];if(i.push({type:"inline-tag",content:f,range:ve.create(ke.create(r,o+u+n),ke.create(r,o+u+f.length+n))}),u+=f.length,a.length===4){u+=a[2].length;let d=a[3];i.push({type:"text",content:d,range:ve.create(ke.create(r,o+u+n),ke.create(r,o+u+d.length+n))})}else i.push({type:"text",content:"",range:ve.create(ke.create(r,o+u+n),ke.create(r,o+u+n))});o=c+a[0].length}let s=e.substring(o);s.length>0&&i.push({type:"text",content:s,range:ve.create(ke.create(r,o+n),ke.create(r,o+n+s.length))})}return i}var iU=/\S/,oU=/\s*$/;function UT(t,e){let r=t.substring(e).match(iU);return r?e+r.index:t.length}function sU(t){let e=t.match(oU);if(e&&typeof e.index=="number")return e.index}function aU(t){let e=ke.create(t.position.line,t.position.character);if(t.tokens.length===0)return new Gp([],ve.create(e,e));let r=[];for(;t.index<t.tokens.length;){let o=cU(t,r[r.length-1]);o&&r.push(o)}let n=r[0]?.range.start??e,i=r[r.length-1]?.range.end??e;return new Gp(r,ve.create(n,i))}function cU(t,e){let r=t.tokens[t.index];if(r.type==="tag")return MI(t,!1);if(r.type==="text"||r.type==="inline-tag")return $I(t);lU(r,e),t.index++}function lU(t,e){if(e){let r=new Xp("",t.range);"inlines"in e?e.inlines.push(r):e.content.inlines.push(r)}}function $I(t){let e=t.tokens[t.index],r=e,n=e,i=[];for(;e&&e.type!=="break"&&e.type!=="tag";)i.push(uU(t)),n=e,e=t.tokens[t.index];return new eu(i,ve.create(r.range.start,n.range.end))}function uU(t){return t.tokens[t.index].type==="inline-tag"?MI(t,!0):FI(t)}function MI(t,e){let r=t.tokens[t.index++],n=r.content.substring(1);if(t.tokens[t.index]?.type==="text")if(e){let o=FI(t);return new Ql(n,new eu([o],o.range),e,ve.create(r.range.start,o.range.end))}else{let o=$I(t);return new Ql(n,o,e,ve.create(r.range.start,o.range.end))}else{let o=r.range;return new Ql(n,new eu([],o),e,o)}}function FI(t){let e=t.tokens[t.index++];return new Xp(e.content,e.range)}function XT(t){if(!t)return XT({start:"/**",end:"*/",line:"*"});let{start:e,end:r,line:n}=t;return{start:FT(e,!0),end:FT(r,!1),line:FT(n,!0)}}function FT(t,e){if(typeof t=="string"||typeof t=="object"){let r=typeof t=="string"?fi(t):t.source;return e?new RegExp(`^\\s*${r}`):new RegExp(`\\s*${r}\\s*$`)}else return t}var Gp=class{constructor(e,r){this.elements=e,this.range=r}getTag(e){return this.getAllTags().find(r=>r.name===e)}getTags(e){return this.getAllTags().filter(r=>r.name===e)}getAllTags(){return this.elements.filter(e=>"name"in e)}toString(){let e="";for(let r of this.elements)if(e.length===0)e=r.toString();else{let n=r.toString();e+=LI(e)+n}return e.trim()}toMarkdown(e){let r="";for(let n of this.elements)if(r.length===0)r=n.toMarkdown(e);else{let i=n.toMarkdown(e);r+=LI(r)+i}return r.trim()}},Ql=class{constructor(e,r,n,i){this.name=e,this.content=r,this.inline=n,this.range=i}toString(){let e=`@${this.name}`,r=this.content.toString();return this.content.inlines.length===1?e=`${e} ${r}`:this.content.inlines.length>1&&(e=`${e}
|
|
153
|
-
${r}`),this.inline?`{${e}}`:e}toMarkdown(e){return e?.renderTag?.(this)??this.toMarkdownDefault(e)}toMarkdownDefault(e){let r=this.content.toMarkdown(e);if(this.inline){let o=
|
|
154
|
-
${r}`),this.inline?`{${i}}`:i}};function
|
|
151
|
+
For Further details.`,n}function PF(t){if(t instanceof Be)return"SUBRULE";if(t instanceof Ge)return"OPTION";if(t instanceof Ye)return"OR";if(t instanceof et)return"AT_LEAST_ONE";if(t instanceof tt)return"AT_LEAST_ONE_SEP";if(t instanceof Ve)return"MANY_SEP";if(t instanceof Re)return"MANY";if(t instanceof Te)return"CONSUME";throw Error("non exhaustive match")}function CF(t,e,r){let n=bb(e.configs.elements,o=>o.state.transitions),i=Lb(n.filter(o=>o instanceof Zs).map(o=>o.tokenType),o=>o.tokenTypeIdx);return{actualToken:r,possibleTokenTypes:i,tokenPath:t}}function OF(t,e){return t.edges[e.tokenTypeIdx]}function LF(t,e,r){let n=new ea,i=[];for(let s of t.elements){if(r.is(s.alt)===!1)continue;if(s.state.type===Io){i.push(s);continue}let a=s.state.transitions.length;for(let c=0;c<a;c++){let l=s.state.transitions[c],u=DF(l,e);u!==void 0&&n.add({state:u,alt:s.alt,stack:s.stack})}}let o;if(i.length===0&&n.size===1&&(o=n),o===void 0){o=new ea;for(let s of n.elements)Ud(s,o)}if(i.length>0&&!UF(o))for(let s of i)o.add(s);return o}function DF(t,e){if(t instanceof Zs&&Os(e,t.tokenType))return t.target}function $F(t,e){let r;for(let n of t.elements)if(e.is(n.alt)===!0){if(r===void 0)r=n.alt;else if(r!==n.alt)return}return r}function jb(t){return{configs:t,edges:{},isAcceptState:!1,prediction:-1}}function Hb(t,e,r,n){return n=zb(t,n),e.edges[r.tokenTypeIdx]=n,n}function zb(t,e){if(e===ul)return e;let r=e.configs.key,n=t.states[r];return n!==void 0?n:(e.configs.finalize(),t.states[r]=e,e)}function MF(t){let e=new ea,r=t.transitions.length;for(let n=0;n<r;n++){let o={state:t.transitions[n].target,alt:n,stack:[]};Ud(o,e)}return e}function Ud(t,e){let r=t.state;if(r.type===Io){if(t.stack.length>0){let i=[...t.stack],s={state:i.pop(),alt:t.alt,stack:i};Ud(s,e)}else e.add(t);return}r.epsilonOnlyTransitions||e.add(t);let n=r.transitions.length;for(let i=0;i<n;i++){let o=r.transitions[i],s=FF(t,o);s!==void 0&&Ud(s,e)}}function FF(t,e){if(e instanceof ll)return{state:e.target,alt:t.alt,stack:t.stack};if(e instanceof Js){let r=[...t.stack,e.followState];return{state:e.target,alt:t.alt,stack:r}}}function UF(t){for(let e of t.elements)if(e.state.type===Io)return!0;return!1}function BF(t){for(let e of t.elements)if(e.state.type!==Io)return!1;return!0}function GF(t){if(BF(t))return!0;let e=XF(t.elements);return HF(e)&&!jF(e)}function XF(t){let e=new Map;for(let r of t){let n=Wg(r,!1),i=e.get(n);i===void 0&&(i={},e.set(n,i)),i[r.alt]=!0}return e}function HF(t){for(let e of Array.from(t.values()))if(Object.keys(e).length>1)return!0;return!1}function jF(t){for(let e of Array.from(t.values()))if(Object.keys(e).length===1)return!0;return!1}function zF(t,e){let r;for(let n of t.configs.elements)if(!(e.is(n.alt)===!1||n.state.type===Io)){if(r===void 0)r=n.alt;else if(r!==n.alt)return}return r}sa();var Tl=class{constructor(){this.nodeStack=[]}get current(){return this.nodeStack[this.nodeStack.length-1]??this.rootNode}buildRootNode(e){return this.rootNode=new aa(e),this.rootNode.root=this.rootNode,this.nodeStack=[this.rootNode],this.rootNode}buildCompositeNode(e){let r=new Oo;return r.grammarSource=e,r.root=this.rootNode,this.current.content.push(r),this.nodeStack.push(r),r}buildLeafNode(e,r){let n=new Co(e.startOffset,e.image.length,Es(e),e.tokenType,!r);return n.grammarSource=r,n.root=this.rootNode,this.current.content.push(n),n}removeNode(e){let r=e.container;if(r){let n=r.content.indexOf(e);n>=0&&r.content.splice(n,1)}}addHiddenNodes(e){let r=[];for(let o of e){let s=new Co(o.startOffset,o.image.length,Es(o),o.tokenType,!0);s.root=this.rootNode,r.push(s)}let n=this.current,i=!1;if(n.content.length>0){n.content.push(...r);return}for(;n.container;){let o=n.container.content.indexOf(n);if(o>0){n.container.content.splice(o,0,...r),i=!0;break}n=n.container}i||this.rootNode.content.unshift(...r)}construct(e){let r=this.current;typeof e.$type=="string"&&!e.$infixName&&(this.current.astNode=e),e.$cstNode=r;let n=this.nodeStack.pop();n?.content.length===0&&this.removeNode(n)}},_l=class{get hidden(){return!1}get astNode(){let e=typeof this._astNode?.$type=="string"?this._astNode:this.container?.astNode;if(!e)throw new Error("This node has no associated AST element");return e}set astNode(e){this._astNode=e}get text(){return this.root.fullText.substring(this.offset,this.end)}},Co=class extends _l{get offset(){return this._offset}get length(){return this._length}get end(){return this._offset+this._length}get hidden(){return this._hidden}get tokenType(){return this._tokenType}get range(){return this._range}constructor(e,r,n,i,o=!1){super(),this._hidden=o,this._offset=e,this._tokenType=i,this._length=r,this._range=n}},Oo=class extends _l{constructor(){super(...arguments),this.content=new Jy(this)}get offset(){return this.firstNonHiddenNode?.offset??0}get length(){return this.end-this.offset}get end(){return this.lastNonHiddenNode?.end??0}get range(){let e=this.firstNonHiddenNode,r=this.lastNonHiddenNode;if(e&&r){if(this._rangeCache===void 0){let{range:n}=e,{range:i}=r;this._rangeCache={start:n.start,end:i.end.line<n.start.line?n.start:i.end}}return this._rangeCache}else return{start:Ie.create(0,0),end:Ie.create(0,0)}}get firstNonHiddenNode(){for(let e of this.content)if(!e.hidden)return e;return this.content[0]}get lastNonHiddenNode(){for(let e=this.content.length-1;e>=0;e--){let r=this.content[e];if(!r.hidden)return r}return this.content[this.content.length-1]}},Jy=class t extends Array{constructor(e){super(),this.parent=e,Object.setPrototypeOf(this,t.prototype)}push(...e){return this.addParents(e),super.push(...e)}unshift(...e){return this.addParents(e),super.unshift(...e)}splice(e,r,...n){return this.addParents(n),super.splice(e,r,...n)}addParents(e){for(let r of e)r.container=this.parent}},aa=class extends Oo{get text(){return this._text.substring(this.offset,this.end)}get fullText(){return this._text}constructor(e){super(),this._text="",this._text=e??""}};var Yd=Symbol("Datatype");function Qy(t){return t.$type===Yd}var qb="\u200B",Wb=t=>t.endsWith(qb)?t:t+qb,El=class{constructor(e,r){this._unorderedGroups=new Map,this.allRules=new Map,this.lexer=e.parser.Lexer;let n=this.lexer.definition,i=e.LanguageMetaData.mode==="production";e.shared.profilers.LangiumProfiler?.isActive("parsing")?this.wrapper=new ex(n,{...e.parser.ParserConfig,skipValidations:i,errorMessageProvider:e.parser.ParserErrorMessageProvider},r,e.shared.profilers.LangiumProfiler.createTask("parsing",e.LanguageMetaData.languageId)):this.wrapper=new Zd(n,{...e.parser.ParserConfig,skipValidations:i,errorMessageProvider:e.parser.ParserErrorMessageProvider},r)}alternatives(e,r){this.wrapper.wrapOr(e,r)}optional(e,r){this.wrapper.wrapOption(e,r)}many(e,r){this.wrapper.wrapMany(e,r)}atLeastOne(e,r){this.wrapper.wrapAtLeastOne(e,r)}getRule(e){return this.allRules.get(e)}isRecording(){return this.wrapper.IS_RECORDING}get unorderedGroups(){return this._unorderedGroups}getRuleStack(){return this.wrapper.RULE_STACK}finalize(){this.wrapper.wrapSelfAnalysis()}},vl=class extends El{get current(){return this.stack[this.stack.length-1]}constructor(e){super(e,!1),this.nodeBuilder=new Tl,this.stack=[],this.assignmentMap=new Map,this.operatorPrecedence=new Map,this.linker=e.references.Linker,this.converter=e.parser.ValueConverter,this.astReflection=e.shared.AstReflection}rule(e,r){let n=this.computeRuleType(e),i;pi(e)&&(i=e.name,this.registerPrecedenceMap(e));let o=this.wrapper.DEFINE_RULE(Wb(e.name),this.startImplementation(n,i,r).bind(this));return this.allRules.set(e.name,o),Nt(e)&&e.entry&&(this.mainRule=o),o}registerPrecedenceMap(e){let r=e.name,n=new Map;for(let i=0;i<e.operators.precedences.length;i++){let o=e.operators.precedences[i];for(let s of o.operators)n.set(s.value,{precedence:i,rightAssoc:o.associativity==="right"})}this.operatorPrecedence.set(r,n)}computeRuleType(e){return pi(e)?mi(e):e.fragment?void 0:Xc(e)?Yd:mi(e)}parse(e,r={}){this.nodeBuilder.buildRootNode(e);let n=this.lexerResult=this.lexer.tokenize(e);this.wrapper.input=n.tokens;let i=r.rule?this.allRules.get(r.rule):this.mainRule;if(!i)throw new Error(r.rule?`No rule found with name '${r.rule}'`:"No main rule available.");let o=this.doParse(i);return this.nodeBuilder.addHiddenNodes(n.hidden),this.unorderedGroups.clear(),this.lexerResult=void 0,fs(o,{deep:!0}),{value:o,lexerErrors:n.errors,lexerReport:n.report,parserErrors:this.wrapper.errors}}doParse(e){let r=this.wrapper.rule(e);if(this.stack.length>0&&(r=this.construct()),r===void 0)throw new Error("No result from parser");if(this.stack.length>0)throw new Error("Parser stack is not empty after parsing");return r}startImplementation(e,r,n){return i=>{let o=!this.isRecording()&&e!==void 0;if(o){let s={$type:e};this.stack.push(s),e===Yd?s.value="":r!==void 0&&(s.$infixName=r)}return n(i),o?this.construct():void 0}}extractHiddenTokens(e){let r=this.lexerResult.hidden;if(!r.length)return[];let n=e.startOffset;for(let i=0;i<r.length;i++)if(r[i].startOffset>n)return r.splice(0,i);return r.splice(0,r.length)}consume(e,r,n){let i=this.wrapper.wrapConsume(e,r);if(!this.isRecording()&&this.isValidToken(i)){let o=this.extractHiddenTokens(i);this.nodeBuilder.addHiddenNodes(o);let s=this.nodeBuilder.buildLeafNode(i,n),{assignment:a,crossRef:c}=this.getAssignment(n),l=this.current;if(a){let u=Rr(n)?i.image:this.converter.convert(i.image,s);this.assign(a.operator,a.feature,u,s,c)}else if(Qy(l)){let u=i.image;Rr(n)||(u=this.converter.convert(u,s).toString()),l.value+=u}}}isValidToken(e){return!e.isInsertedInRecovery&&!isNaN(e.startOffset)&&typeof e.endOffset=="number"&&!isNaN(e.endOffset)}subrule(e,r,n,i,o){let s;!this.isRecording()&&!n&&(s=this.nodeBuilder.buildCompositeNode(i));let a;try{a=this.wrapper.wrapSubrule(e,r,o)}finally{this.isRecording()||(a===void 0&&!n&&(a=this.construct()),a!==void 0&&s&&s.length>0&&this.performSubruleAssignment(a,i,s))}}performSubruleAssignment(e,r,n){let{assignment:i,crossRef:o}=this.getAssignment(r);if(i)this.assign(i.operator,i.feature,e,n,o);else if(!i){let s=this.current;if(Qy(s))s.value+=e.toString();else if(typeof e=="object"&&e){let c=this.assignWithoutOverride(e,s);this.stack.pop(),this.stack.push(c)}}}action(e,r){if(!this.isRecording()){let n=this.current;if(r.feature&&r.operator){n=this.construct(),this.nodeBuilder.removeNode(n.$cstNode),this.nodeBuilder.buildCompositeNode(r).content.push(n.$cstNode);let o={$type:e};this.stack.push(o),this.assign(r.operator,r.feature,n,n.$cstNode)}else n.$type=e}}construct(){if(this.isRecording())return;let e=this.stack.pop();return this.nodeBuilder.construct(e),"$infixName"in e?this.constructInfix(e,this.operatorPrecedence.get(e.$infixName)):Qy(e)?this.converter.convert(e.value,e.$cstNode):(vm(this.astReflection,e),e)}constructInfix(e,r){let n=e.parts;if(!Array.isArray(n)||n.length===0)return;let i=e.operators;if(!Array.isArray(i)||n.length<2)return n[0];let o=0,s=-1;for(let g=0;g<i.length;g++){let v=i[g],T=r.get(v)??{precedence:1/0,rightAssoc:!1};T.precedence>s?(s=T.precedence,o=g):T.precedence===s&&(T.rightAssoc||(o=g))}let a=i.slice(0,o),c=i.slice(o+1),l=n.slice(0,o+1),u=n.slice(o+1),f={$infixName:e.$infixName,$type:e.$type,$cstNode:e.$cstNode,parts:l,operators:a},d={$infixName:e.$infixName,$type:e.$type,$cstNode:e.$cstNode,parts:u,operators:c},p=this.constructInfix(f,r),m=this.constructInfix(d,r);return{$type:e.$type,$cstNode:e.$cstNode,left:p,operator:i[o],right:m}}getAssignment(e){if(!this.assignmentMap.has(e)){let r=Nn(e,Ur);this.assignmentMap.set(e,{assignment:r,crossRef:r&&Br(r.terminal)?r.terminal.isMulti?"multi":"single":void 0})}return this.assignmentMap.get(e)}assign(e,r,n,i,o){let s=this.current,a;switch(o==="single"&&typeof n=="string"?a=this.linker.buildReference(s,r,i,n):o==="multi"&&typeof n=="string"?a=this.linker.buildMultiReference(s,r,i,n):a=n,e){case"=":{s[r]=a;break}case"?=":{s[r]=!0;break}case"+=":Array.isArray(s[r])||(s[r]=[]),s[r].push(a)}}assignWithoutOverride(e,r){for(let[i,o]of Object.entries(r)){let s=e[i];s===void 0?e[i]=o:Array.isArray(s)&&Array.isArray(o)&&(o.push(...s),e[i]=o)}let n=e.$cstNode;return n&&(n.astNode=void 0,e.$cstNode=void 0),e}get definitionErrors(){return this.wrapper.definitionErrors}},Kd=class{buildMismatchTokenMessage(e){return Gn.buildMismatchTokenMessage(e)}buildNotAllInputParsedMessage(e){return Gn.buildNotAllInputParsedMessage(e)}buildNoViableAltMessage(e){return Gn.buildNoViableAltMessage(e)}buildEarlyExitMessage(e){return Gn.buildEarlyExitMessage(e)}},ca=class extends Kd{buildMismatchTokenMessage({expected:e,actual:r}){return`Expecting ${e.LABEL?"`"+e.LABEL+"`":e.name.endsWith(":KW")?`keyword '${e.name.substring(0,e.name.length-3)}'`:`token of type '${e.name}'`} but found \`${r.image}\`.`}buildNotAllInputParsedMessage({firstRedundant:e}){return`Expecting end of file but found \`${e.image}\`.`}},Rl=class extends El{constructor(e){super(e,!0),this.tokens=[],this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}action(){}construct(){}parse(e){this.resetState();let r=this.lexer.tokenize(e,{mode:"partial"});return this.tokens=r.tokens,this.wrapper.input=[...this.tokens],this.mainRule.call(this.wrapper,{}),this.unorderedGroups.clear(),{tokens:this.tokens,elementStack:[...this.lastElementStack],tokenIndex:this.nextTokenIndex}}rule(e,r){let n=this.wrapper.DEFINE_RULE(Wb(e.name),this.startImplementation(r).bind(this));return this.allRules.set(e.name,n),e.entry&&(this.mainRule=n),n}resetState(){this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}startImplementation(e){return r=>{let n=this.keepStackSize();try{e(r)}finally{this.resetStackSize(n)}}}removeUnexpectedElements(){this.elementStack.splice(this.stackSize)}keepStackSize(){let e=this.elementStack.length;return this.stackSize=e,e}resetStackSize(e){this.removeUnexpectedElements(),this.stackSize=e}consume(e,r,n){this.wrapper.wrapConsume(e,r),this.isRecording()||(this.lastElementStack=[...this.elementStack,n],this.nextTokenIndex=this.currIdx+1)}subrule(e,r,n,i,o){this.before(i),this.wrapper.wrapSubrule(e,r,o),this.after(i)}before(e){this.isRecording()||this.elementStack.push(e)}after(e){if(!this.isRecording()){let r=this.elementStack.lastIndexOf(e);r>=0&&this.elementStack.splice(r)}}get currIdx(){return this.wrapper.currIdx}},WF={recoveryEnabled:!0,nodeLocationTracking:"full",skipValidations:!0,errorMessageProvider:new ca},Zd=class extends il{constructor(e,r,n){let i=r&&"maxLookahead"in r;super(e,{...WF,lookaheadStrategy:i?new Xn({maxLookahead:r.maxLookahead}):new fl({logging:r.skipValidations?()=>{}:void 0,incomplete:n}),...r})}get IS_RECORDING(){return this.RECORDING_PHASE}DEFINE_RULE(e,r,n){return this.RULE(e,r,n)}wrapSelfAnalysis(){this.performSelfAnalysis()}wrapConsume(e,r){return this.consume(e,r,void 0)}wrapSubrule(e,r,n){return this.subrule(e,r,{ARGS:[n]})}wrapOr(e,r){this.or(e,r)}wrapOption(e,r){this.option(e,r)}wrapMany(e,r){this.many(e,r)}wrapAtLeastOne(e,r){this.atLeastOne(e,r)}rule(e){return e.call(this,{})}},ex=class extends Zd{constructor(e,r,n,i){super(e,r,n),this.task=i}rule(e){this.task.start(),this.task.startSubTask(this.ruleName(e));try{return super.rule(e)}finally{this.task.stopSubTask(this.ruleName(e)),this.task.stop()}}ruleName(e){return e.ruleName}subrule(e,r,n){this.task.startSubTask(this.ruleName(r));try{return super.subrule(e,r,n)}finally{this.task.stopSubTask(this.ruleName(r))}}};function bl(t,e,r){return VF({parser:e,tokens:r,ruleNames:new Map},t),e}function VF(t,e){let r=Bc(e,!1),n=xe(e.rules).filter(Nt).filter(o=>r.has(o));for(let o of n){let s={...t,consume:1,optional:1,subrule:1,many:1,or:1};t.parser.rule(o,Lo(s,o.definition))}let i=xe(e.rules).filter(pi).filter(o=>r.has(o));for(let o of i)t.parser.rule(o,YF(t,o))}function YF(t,e){let r=e.call.rule.ref;if(!r)throw new Error("Could not resolve reference to infix operator rule: "+e.call.rule.$refText);if(qt(r))throw new Error("Cannot use terminal rule in infix expression");let n=e.operators.precedences.flatMap(p=>p.operators),i={$type:"Group",elements:[]},o={$container:i,$type:"Assignment",feature:"parts",operator:"+=",terminal:e.call},s={$container:i,$type:"Group",elements:[],cardinality:"*"};i.elements.push(o,s);let c={$container:s,$type:"Assignment",feature:"operators",operator:"+=",terminal:{$type:"Alternatives",elements:n}},l={...o,$container:s};s.elements.push(c,l);let f=n.map(p=>t.tokens[p.value]).map((p,m)=>({ALT:()=>t.parser.consume(m,p,c)})),d;return p=>{d??(d=rx(t,r)),t.parser.subrule(0,d,!1,o,p),t.parser.many(0,{DEF:()=>{t.parser.alternatives(0,f),t.parser.subrule(1,d,!1,l,p)}})}}function Lo(t,e,r=!1){let n;if(Rr(e))n=r2(t,e);else if(Ln(e))n=KF(t,e);else if(Ur(e))n=Lo(t,e.terminal);else if(Br(e))n=Vb(t,e);else if(Gr(e))n=ZF(t,e);else if(Rf(e))n=QF(t,e);else if(Sf(e))n=e2(t,e);else if(di(e))n=t2(t,e);else if(km(e)){let i=t.consume++;n=()=>t.parser.consume(i,Yt,e)}else throw new go(e.$cstNode,`Unexpected element type: ${e.$type}`);return Yb(t,r?void 0:Jd(e),n,e.cardinality)}function KF(t,e){let r=mi(e);return()=>t.parser.action(r,e)}function ZF(t,e){let r=e.rule.ref;if(On(r)){let n=t.subrule++,i=Nt(r)&&r.fragment,o=e.arguments.length>0?JF(r,e.arguments):()=>({}),s;return a=>{s??(s=rx(t,r)),t.parser.subrule(n,s,i,e,o(a))}}else if(qt(r)){let n=t.consume++,i=tx(t,r.name);return()=>t.parser.consume(n,i,e)}else if(r)un(r);else throw new go(e.$cstNode,`Undefined rule: ${e.rule.$refText}`)}function JF(t,e){if(e.some(n=>n.calledByName)){let n=e.map(i=>({parameterName:i.parameter?.ref?.name,predicate:mn(i.value)}));return i=>{let o={};for(let{parameterName:s,predicate:a}of n)s&&(o[s]=a(i));return o}}else{let n=e.map(i=>mn(i.value));return i=>{let o={};for(let s=0;s<n.length;s++)if(s<t.parameters.length){let a=t.parameters[s].name,c=n[s];o[a]=c(i)}return o}}}function mn(t){if(Im(t)){let e=mn(t.left),r=mn(t.right);return n=>e(n)||r(n)}else if(Sm(t)){let e=mn(t.left),r=mn(t.right);return n=>e(n)&&r(n)}else if(Cm(t)){let e=mn(t.value);return r=>!e(r)}else if(Om(t)){let e=t.parameter.ref.name;return r=>r!==void 0&&r[e]===!0}else if(wm(t)){let e=!!t.true;return()=>e}un(t)}function QF(t,e){if(e.elements.length===1)return Lo(t,e.elements[0]);{let r=[];for(let i of e.elements){let o={ALT:Lo(t,i,!0)},s=Jd(i);s&&(o.GATE=mn(s)),r.push(o)}let n=t.or++;return i=>t.parser.alternatives(n,r.map(o=>{let s={ALT:()=>o.ALT(i)},a=o.GATE;return a&&(s.GATE=()=>a(i)),s}))}}function e2(t,e){if(e.elements.length===1)return Lo(t,e.elements[0]);let r=[];for(let a of e.elements){let c={ALT:Lo(t,a,!0)},l=Jd(a);l&&(c.GATE=mn(l)),r.push(c)}let n=t.or++,i=(a,c)=>{let l=c.getRuleStack().join("-");return`uGroup_${a}_${l}`},o=a=>t.parser.alternatives(n,r.map((c,l)=>{let u={ALT:()=>!0},f=t.parser;u.ALT=()=>{if(c.ALT(a),!f.isRecording()){let p=i(n,f);f.unorderedGroups.get(p)||f.unorderedGroups.set(p,[]);let m=f.unorderedGroups.get(p);typeof m?.[l]>"u"&&(m[l]=!0)}};let d=c.GATE;return d?u.GATE=()=>d(a):u.GATE=()=>!f.unorderedGroups.get(i(n,f))?.[l],u})),s=Yb(t,Jd(e),o,"*");return a=>{s(a),t.parser.isRecording()||t.parser.unorderedGroups.delete(i(n,t.parser))}}function t2(t,e){let r=e.elements.map(n=>Lo(t,n));return n=>r.forEach(i=>i(n))}function Jd(t){if(di(t))return t.guardCondition}function Vb(t,e,r=e.terminal){if(r)if(Gr(r)&&Nt(r.rule.ref)){let n=r.rule.ref,i=t.subrule++,o;return s=>{o??(o=rx(t,n)),t.parser.subrule(i,o,!1,e,s)}}else if(Gr(r)&&qt(r.rule.ref)){let n=t.consume++,i=tx(t,r.rule.ref.name);return()=>t.parser.consume(n,i,e)}else if(Rr(r)){let n=t.consume++,i=tx(t,r.value);return()=>t.parser.consume(n,i,e)}else throw new Error("Could not build cross reference parser");else{if(!e.type.ref)throw new Error("Could not resolve reference to type: "+e.type.$refText);let i=Of(e.type.ref)?.terminal;if(!i)throw new Error("Could not find name assignment for type: "+mi(e.type.ref));return Vb(t,e,i)}}function r2(t,e){let r=t.consume++,n=t.tokens[e.value];if(!n)throw new Error("Could not find token for keyword: "+e.value);return()=>t.parser.consume(r,n,e)}function Yb(t,e,r,n){let i=e&&mn(e);if(!n)if(i){let o=t.or++;return s=>t.parser.alternatives(o,[{ALT:()=>r(s),GATE:()=>i(s)},{ALT:dd(),GATE:()=>!i(s)}])}else return r;if(n==="*"){let o=t.many++;return s=>t.parser.many(o,{DEF:()=>r(s),GATE:i?()=>i(s):void 0})}else if(n==="+"){let o=t.many++;if(i){let s=t.or++;return a=>t.parser.alternatives(s,[{ALT:()=>t.parser.atLeastOne(o,{DEF:()=>r(a)}),GATE:()=>i(a)},{ALT:dd(),GATE:()=>!i(a)}])}else return s=>t.parser.atLeastOne(o,{DEF:()=>r(s)})}else if(n==="?"){let o=t.optional++;return s=>t.parser.optional(o,{DEF:()=>r(s),GATE:i?()=>i(s):void 0})}else un(n)}function rx(t,e){let r=n2(t,e),n=t.parser.getRule(r);if(!n)throw new Error(`Rule "${r}" not found."`);return n}function n2(t,e){if(On(e))return e.name;if(t.ruleNames.has(e))return t.ruleNames.get(e);{let r=e,n=r.$container,i=e.$type;for(;!Nt(n);)(di(n)||Rf(n)||Sf(n))&&(i=n.elements.indexOf(r).toString()+":"+i),r=n,n=n.$container;return i=n.name+":"+i,t.ruleNames.set(e,i),i}}function tx(t,e){let r=t.tokens[e];if(!r)throw new Error(`Token "${e}" not found."`);return r}function nx(t){let e=t.Grammar,r=t.parser.Lexer,n=new Rl(t);return bl(e,n,r.definition),n.finalize(),n}function ix(t){let e=Kb(t);return e.finalize(),e}function Kb(t){let e=t.Grammar,r=t.parser.Lexer,n=new vl(t);return bl(e,n,r.definition)}var Do=class{constructor(){this.diagnostics=[]}buildTokens(e,r){let n=xe(Bc(e,!1)),i=this.buildTerminalTokens(n),o=this.buildKeywordTokens(n,i,r);return o.push(...i),o}flushLexingReport(e){return{diagnostics:this.popDiagnostics()}}popDiagnostics(){let e=[...this.diagnostics];return this.diagnostics=[],e}buildTerminalTokens(e){return e.filter(qt).filter(r=>!r.fragment).map(r=>this.buildTerminalToken(r)).toArray()}buildTerminalToken(e){let r=Rs(e),n=this.requiresCustomPattern(r)?this.regexPatternFunction(r):r,i={name:e.name,PATTERN:n};return typeof n=="function"&&(i.LINE_BREAKS=!0),e.hidden&&(i.GROUP=Uc(r)?ct.SKIPPED:"hidden"),i}requiresCustomPattern(e){return!!(e.flags.includes("u")||e.flags.includes("s"))}regexPatternFunction(e){let r=new RegExp(e,e.flags+"y");return(n,i)=>(r.lastIndex=i,r.exec(n))}buildKeywordTokens(e,r,n){return e.filter(On).flatMap(i=>Mr(i).filter(Rr)).distinct(i=>i.value).toArray().sort((i,o)=>o.value.length-i.value.length).map(i=>this.buildKeywordToken(i,r,!!n?.caseInsensitive))}buildKeywordToken(e,r,n){let i=this.buildKeywordPattern(e,n),o={name:e.value,PATTERN:i,LONGER_ALT:this.findLongerAlt(e,r)};return typeof i=="function"&&(o.LINE_BREAKS=!0),o}buildKeywordPattern(e,r){return r?new RegExp(hi(e.value),"i"):e.value}findLongerAlt(e,r){return r.reduce((n,i)=>{let o=i?.PATTERN;return o?.source&&Zm("^"+o.source+"$",e.value)&&n.push(i),n},[])}};var $o=class{convert(e,r){let n=r.grammarSource;if(Br(n)&&(n=eg(n)),Gr(n)){let i=n.rule.ref;if(!i)throw new Error("This cst node was not parsed by a rule.");return this.runConverter(i,e,r)}return e}runConverter(e,r,n){switch(e.name.toUpperCase()){case"INT":return gn.convertInt(r);case"STRING":return gn.convertString(r);case"ID":return gn.convertID(r)}switch(ag(e)?.toLowerCase()){case"number":return gn.convertNumber(r);case"boolean":return gn.convertBoolean(r);case"bigint":return gn.convertBigint(r);case"date":return gn.convertDate(r);default:return r}}},gn;(function(t){function e(l){let u="";for(let f=1;f<l.length-1;f++){let d=l.charAt(f);if(d==="\\"){let p=l.charAt(++f);u+=r(p)}else u+=d}return u}t.convertString=e;function r(l){switch(l){case"b":return"\b";case"f":return"\f";case"n":return`
|
|
152
|
+
`;case"r":return"\r";case"t":return" ";case"v":return"\v";case"0":return"\0";default:return l}}function n(l){return l.charAt(0)==="^"?l.substring(1):l}t.convertID=n;function i(l){return parseInt(l)}t.convertInt=i;function o(l){return BigInt(l)}t.convertBigint=o;function s(l){return new Date(l)}t.convertDate=s;function a(l){return Number(l)}t.convertNumber=a;function c(l){return l.toLowerCase()==="true"}t.convertBoolean=c})(gn||(gn={}));var oe={};Se(oe,mm(tw(),1));function px(){return new Promise(t=>{typeof setImmediate>"u"?setTimeout(t,0):setImmediate(t)})}var rp=0,rw=10;function np(){return rp=performance.now(),new oe.CancellationTokenSource}function nw(t){rw=t}var wr=Symbol("OperationCancelled");function yn(t){return t===wr}async function pt(t){if(t===oe.CancellationToken.None)return;let e=performance.now();if(e-rp>=rw&&(rp=e,await px(),rp=performance.now()),t.isCancellationRequested)throw wr}var Jt=class{constructor(){this.promise=new Promise((e,r)=>{this.resolve=n=>(e(n),this),this.reject=n=>(r(n),this)})}};var ip=class t{constructor(e,r,n,i){this._uri=e,this._languageId=r,this._version=n,this._content=i,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){let r=this.offsetAt(e.start),n=this.offsetAt(e.end);return this._content.substring(r,n)}return this._content}update(e,r){for(let n of e)if(t.isIncremental(n)){let i=sw(n.range),o=this.offsetAt(i.start),s=this.offsetAt(i.end);this._content=this._content.substring(0,o)+n.text+this._content.substring(s,this._content.length);let a=Math.max(i.start.line,0),c=Math.max(i.end.line,0),l=this._lineOffsets,u=iw(n.text,!1,o);if(c-a===u.length)for(let d=0,p=u.length;d<p;d++)l[d+a+1]=u[d];else u.length<1e4?l.splice(a+1,c-a,...u):this._lineOffsets=l=l.slice(0,a+1).concat(u,l.slice(c+1));let f=n.text.length-(s-o);if(f!==0)for(let d=a+1+u.length,p=l.length;d<p;d++)l[d]=l[d]+f}else if(t.isFull(n))this._content=n.text,this._lineOffsets=void 0;else throw new Error("Unknown change event received");this._version=r}getLineOffsets(){return this._lineOffsets===void 0&&(this._lineOffsets=iw(this._content,!0)),this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let r=this.getLineOffsets(),n=0,i=r.length;if(i===0)return{line:0,character:e};for(;n<i;){let s=Math.floor((n+i)/2);r[s]>e?i=s:n=s+1}let o=n-1;return e=this.ensureBeforeEOL(e,r[o]),{line:o,character:e-r[o]}}offsetAt(e){let r=this.getLineOffsets();if(e.line>=r.length)return this._content.length;if(e.line<0)return 0;let n=r[e.line];if(e.character<=0)return n;let i=e.line+1<r.length?r[e.line+1]:this._content.length,o=Math.min(n+e.character,i);return this.ensureBeforeEOL(o,n)}ensureBeforeEOL(e,r){for(;e>r&&ow(this._content.charCodeAt(e-1));)e--;return e}get lineCount(){return this.getLineOffsets().length}static isIncremental(e){let r=e;return r!=null&&typeof r.text=="string"&&r.range!==void 0&&(r.rangeLength===void 0||typeof r.rangeLength=="number")}static isFull(e){let r=e;return r!=null&&typeof r.text=="string"&&r.range===void 0&&r.rangeLength===void 0}},fa;(function(t){function e(i,o,s,a){return new ip(i,o,s,a)}t.create=e;function r(i,o,s){if(i instanceof ip)return i.update(o,s),i;throw new Error("TextDocument.update: document must be created by TextDocument.create")}t.update=r;function n(i,o){let s=i.getText(),a=hx(o.map(p2),(u,f)=>{let d=u.range.start.line-f.range.start.line;return d===0?u.range.start.character-f.range.start.character:d}),c=0,l=[];for(let u of a){let f=i.offsetAt(u.range.start);if(f<c)throw new Error("Overlapping edit");f>c&&l.push(s.substring(c,f)),u.newText.length&&l.push(u.newText),c=i.offsetAt(u.range.end)}return l.push(s.substr(c)),l.join("")}t.applyEdits=n})(fa||(fa={}));function hx(t,e){if(t.length<=1)return t;let r=t.length/2|0,n=t.slice(0,r),i=t.slice(r);hx(n,e),hx(i,e);let o=0,s=0,a=0;for(;o<n.length&&s<i.length;)e(n[o],i[s])<=0?t[a++]=n[o++]:t[a++]=i[s++];for(;o<n.length;)t[a++]=n[o++];for(;s<i.length;)t[a++]=i[s++];return t}function iw(t,e,r=0){let n=e?[r]:[];for(let i=0;i<t.length;i++){let o=t.charCodeAt(i);ow(o)&&(o===13&&i+1<t.length&&t.charCodeAt(i+1)===10&&i++,n.push(r+i+1))}return n}function ow(t){return t===13||t===10}function sw(t){let e=t.start,r=t.end;return e.line>r.line||e.line===r.line&&e.character>r.character?{start:r,end:e}:t}function p2(t){let e=sw(t.range);return e!==t.range?{newText:t.newText,range:e}:t}var aw;(()=>{"use strict";var t={975:O=>{function R(w){if(typeof w!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(w))}function L(w,A){for(var S,M="",X=0,F=-1,W=0,Z=0;Z<=w.length;++Z){if(Z<w.length)S=w.charCodeAt(Z);else{if(S===47)break;S=47}if(S===47){if(!(F===Z-1||W===1))if(F!==Z-1&&W===2){if(M.length<2||X!==2||M.charCodeAt(M.length-1)!==46||M.charCodeAt(M.length-2)!==46){if(M.length>2){var pe=M.lastIndexOf("/");if(pe!==M.length-1){pe===-1?(M="",X=0):X=(M=M.slice(0,pe)).length-1-M.lastIndexOf("/"),F=Z,W=0;continue}}else if(M.length===2||M.length===1){M="",X=0,F=Z,W=0;continue}}A&&(M.length>0?M+="/..":M="..",X=2)}else M.length>0?M+="/"+w.slice(F+1,Z):M=w.slice(F+1,Z),X=Z-F-1;F=Z,W=0}else S===46&&W!==-1?++W:W=-1}return M}var $={resolve:function(){for(var w,A="",S=!1,M=arguments.length-1;M>=-1&&!S;M--){var X;M>=0?X=arguments[M]:(w===void 0&&(w=process.cwd()),X=w),R(X),X.length!==0&&(A=X+"/"+A,S=X.charCodeAt(0)===47)}return A=L(A,!S),S?A.length>0?"/"+A:"/":A.length>0?A:"."},normalize:function(w){if(R(w),w.length===0)return".";var A=w.charCodeAt(0)===47,S=w.charCodeAt(w.length-1)===47;return(w=L(w,!A)).length!==0||A||(w="."),w.length>0&&S&&(w+="/"),A?"/"+w:w},isAbsolute:function(w){return R(w),w.length>0&&w.charCodeAt(0)===47},join:function(){if(arguments.length===0)return".";for(var w,A=0;A<arguments.length;++A){var S=arguments[A];R(S),S.length>0&&(w===void 0?w=S:w+="/"+S)}return w===void 0?".":$.normalize(w)},relative:function(w,A){if(R(w),R(A),w===A||(w=$.resolve(w))===(A=$.resolve(A)))return"";for(var S=1;S<w.length&&w.charCodeAt(S)===47;++S);for(var M=w.length,X=M-S,F=1;F<A.length&&A.charCodeAt(F)===47;++F);for(var W=A.length-F,Z=X<W?X:W,pe=-1,V=0;V<=Z;++V){if(V===Z){if(W>Z){if(A.charCodeAt(F+V)===47)return A.slice(F+V+1);if(V===0)return A.slice(F+V)}else X>Z&&(w.charCodeAt(S+V)===47?pe=V:V===0&&(pe=0));break}var te=w.charCodeAt(S+V);if(te!==A.charCodeAt(F+V))break;te===47&&(pe=V)}var De="";for(V=S+pe+1;V<=M;++V)V!==M&&w.charCodeAt(V)!==47||(De.length===0?De+="..":De+="/..");return De.length>0?De+A.slice(F+pe):(F+=pe,A.charCodeAt(F)===47&&++F,A.slice(F))},_makeLong:function(w){return w},dirname:function(w){if(R(w),w.length===0)return".";for(var A=w.charCodeAt(0),S=A===47,M=-1,X=!0,F=w.length-1;F>=1;--F)if((A=w.charCodeAt(F))===47){if(!X){M=F;break}}else X=!1;return M===-1?S?"/":".":S&&M===1?"//":w.slice(0,M)},basename:function(w,A){if(A!==void 0&&typeof A!="string")throw new TypeError('"ext" argument must be a string');R(w);var S,M=0,X=-1,F=!0;if(A!==void 0&&A.length>0&&A.length<=w.length){if(A.length===w.length&&A===w)return"";var W=A.length-1,Z=-1;for(S=w.length-1;S>=0;--S){var pe=w.charCodeAt(S);if(pe===47){if(!F){M=S+1;break}}else Z===-1&&(F=!1,Z=S+1),W>=0&&(pe===A.charCodeAt(W)?--W==-1&&(X=S):(W=-1,X=Z))}return M===X?X=Z:X===-1&&(X=w.length),w.slice(M,X)}for(S=w.length-1;S>=0;--S)if(w.charCodeAt(S)===47){if(!F){M=S+1;break}}else X===-1&&(F=!1,X=S+1);return X===-1?"":w.slice(M,X)},extname:function(w){R(w);for(var A=-1,S=0,M=-1,X=!0,F=0,W=w.length-1;W>=0;--W){var Z=w.charCodeAt(W);if(Z!==47)M===-1&&(X=!1,M=W+1),Z===46?A===-1?A=W:F!==1&&(F=1):A!==-1&&(F=-1);else if(!X){S=W+1;break}}return A===-1||M===-1||F===0||F===1&&A===M-1&&A===S+1?"":w.slice(A,M)},format:function(w){if(w===null||typeof w!="object")throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof w);return(function(A,S){var M=S.dir||S.root,X=S.base||(S.name||"")+(S.ext||"");return M?M===S.root?M+X:M+"/"+X:X})(0,w)},parse:function(w){R(w);var A={root:"",dir:"",base:"",ext:"",name:""};if(w.length===0)return A;var S,M=w.charCodeAt(0),X=M===47;X?(A.root="/",S=1):S=0;for(var F=-1,W=0,Z=-1,pe=!0,V=w.length-1,te=0;V>=S;--V)if((M=w.charCodeAt(V))!==47)Z===-1&&(pe=!1,Z=V+1),M===46?F===-1?F=V:te!==1&&(te=1):F!==-1&&(te=-1);else if(!pe){W=V+1;break}return F===-1||Z===-1||te===0||te===1&&F===Z-1&&F===W+1?Z!==-1&&(A.base=A.name=W===0&&X?w.slice(1,Z):w.slice(W,Z)):(W===0&&X?(A.name=w.slice(1,F),A.base=w.slice(1,Z)):(A.name=w.slice(W,F),A.base=w.slice(W,Z)),A.ext=w.slice(F,Z)),W>0?A.dir=w.slice(0,W-1):X&&(A.dir="/"),A},sep:"/",delimiter:":",win32:null,posix:null};$.posix=$,O.exports=$}},e={};function r(O){var R=e[O];if(R!==void 0)return R.exports;var L=e[O]={exports:{}};return t[O](L,L.exports,r),L.exports}r.d=(O,R)=>{for(var L in R)r.o(R,L)&&!r.o(O,L)&&Object.defineProperty(O,L,{enumerable:!0,get:R[L]})},r.o=(O,R)=>Object.prototype.hasOwnProperty.call(O,R),r.r=O=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(O,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(O,"__esModule",{value:!0})};var n={};let i;r.r(n),r.d(n,{URI:()=>d,Utils:()=>le}),typeof process=="object"?i=process.platform==="win32":typeof navigator=="object"&&(i=navigator.userAgent.indexOf("Windows")>=0);let o=/^\w[\w\d+.-]*$/,s=/^\//,a=/^\/\//;function c(O,R){if(!O.scheme&&R)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${O.authority}", path: "${O.path}", query: "${O.query}", fragment: "${O.fragment}"}`);if(O.scheme&&!o.test(O.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(O.path){if(O.authority){if(!s.test(O.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(a.test(O.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}let l="",u="/",f=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class d{constructor(R,L,$,w,A,S=!1){de(this,"scheme");de(this,"authority");de(this,"path");de(this,"query");de(this,"fragment");typeof R=="object"?(this.scheme=R.scheme||l,this.authority=R.authority||l,this.path=R.path||l,this.query=R.query||l,this.fragment=R.fragment||l):(this.scheme=(function(M,X){return M||X?M:"file"})(R,S),this.authority=L||l,this.path=(function(M,X){switch(M){case"https":case"http":case"file":X?X[0]!==u&&(X=u+X):X=u}return X})(this.scheme,$||l),this.query=w||l,this.fragment=A||l,c(this,S))}static isUri(R){return R instanceof d||!!R&&typeof R.authority=="string"&&typeof R.fragment=="string"&&typeof R.path=="string"&&typeof R.query=="string"&&typeof R.scheme=="string"&&typeof R.fsPath=="string"&&typeof R.with=="function"&&typeof R.toString=="function"}get fsPath(){return _(this,!1)}with(R){if(!R)return this;let{scheme:L,authority:$,path:w,query:A,fragment:S}=R;return L===void 0?L=this.scheme:L===null&&(L=l),$===void 0?$=this.authority:$===null&&($=l),w===void 0?w=this.path:w===null&&(w=l),A===void 0?A=this.query:A===null&&(A=l),S===void 0?S=this.fragment:S===null&&(S=l),L===this.scheme&&$===this.authority&&w===this.path&&A===this.query&&S===this.fragment?this:new m(L,$,w,A,S)}static parse(R,L=!1){let $=f.exec(R);return $?new m($[2]||l,k($[4]||l),k($[5]||l),k($[7]||l),k($[9]||l),L):new m(l,l,l,l,l)}static file(R){let L=l;if(i&&(R=R.replace(/\\/g,u)),R[0]===u&&R[1]===u){let $=R.indexOf(u,2);$===-1?(L=R.substring(2),R=u):(L=R.substring(2,$),R=R.substring($)||u)}return new m("file",L,R,l,l)}static from(R){let L=new m(R.scheme,R.authority,R.path,R.query,R.fragment);return c(L,!0),L}toString(R=!1){return E(this,R)}toJSON(){return this}static revive(R){if(R){if(R instanceof d)return R;{let L=new m(R);return L._formatted=R.external,L._fsPath=R._sep===p?R.fsPath:null,L}}return R}}let p=i?1:void 0;class m extends d{constructor(){super(...arguments);de(this,"_formatted",null);de(this,"_fsPath",null)}get fsPath(){return this._fsPath||(this._fsPath=_(this,!1)),this._fsPath}toString(L=!1){return L?E(this,!0):(this._formatted||(this._formatted=E(this,!1)),this._formatted)}toJSON(){let L={$mid:1};return this._fsPath&&(L.fsPath=this._fsPath,L._sep=p),this._formatted&&(L.external=this._formatted),this.path&&(L.path=this.path),this.scheme&&(L.scheme=this.scheme),this.authority&&(L.authority=this.authority),this.query&&(L.query=this.query),this.fragment&&(L.fragment=this.fragment),L}}let g={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 v(O,R,L){let $,w=-1;for(let A=0;A<O.length;A++){let S=O.charCodeAt(A);if(S>=97&&S<=122||S>=65&&S<=90||S>=48&&S<=57||S===45||S===46||S===95||S===126||R&&S===47||L&&S===91||L&&S===93||L&&S===58)w!==-1&&($+=encodeURIComponent(O.substring(w,A)),w=-1),$!==void 0&&($+=O.charAt(A));else{$===void 0&&($=O.substr(0,A));let M=g[S];M!==void 0?(w!==-1&&($+=encodeURIComponent(O.substring(w,A)),w=-1),$+=M):w===-1&&(w=A)}}return w!==-1&&($+=encodeURIComponent(O.substring(w))),$!==void 0?$:O}function T(O){let R;for(let L=0;L<O.length;L++){let $=O.charCodeAt(L);$===35||$===63?(R===void 0&&(R=O.substr(0,L)),R+=g[$]):R!==void 0&&(R+=O[L])}return R!==void 0?R:O}function _(O,R){let L;return L=O.authority&&O.path.length>1&&O.scheme==="file"?`//${O.authority}${O.path}`:O.path.charCodeAt(0)===47&&(O.path.charCodeAt(1)>=65&&O.path.charCodeAt(1)<=90||O.path.charCodeAt(1)>=97&&O.path.charCodeAt(1)<=122)&&O.path.charCodeAt(2)===58?R?O.path.substr(1):O.path[1].toLowerCase()+O.path.substr(2):O.path,i&&(L=L.replace(/\//g,"\\")),L}function E(O,R){let L=R?T:v,$="",{scheme:w,authority:A,path:S,query:M,fragment:X}=O;if(w&&($+=w,$+=":"),(A||w==="file")&&($+=u,$+=u),A){let F=A.indexOf("@");if(F!==-1){let W=A.substr(0,F);A=A.substr(F+1),F=W.lastIndexOf(":"),F===-1?$+=L(W,!1,!1):($+=L(W.substr(0,F),!1,!1),$+=":",$+=L(W.substr(F+1),!1,!0)),$+="@"}A=A.toLowerCase(),F=A.lastIndexOf(":"),F===-1?$+=L(A,!1,!0):($+=L(A.substr(0,F),!1,!0),$+=A.substr(F))}if(S){if(S.length>=3&&S.charCodeAt(0)===47&&S.charCodeAt(2)===58){let F=S.charCodeAt(1);F>=65&&F<=90&&(S=`/${String.fromCharCode(F+32)}:${S.substr(3)}`)}else if(S.length>=2&&S.charCodeAt(1)===58){let F=S.charCodeAt(0);F>=65&&F<=90&&(S=`${String.fromCharCode(F+32)}:${S.substr(2)}`)}$+=L(S,!0,!1)}return M&&($+="?",$+=L(M,!1,!1)),X&&($+="#",$+=R?X:v(X,!1,!1)),$}function I(O){try{return decodeURIComponent(O)}catch{return O.length>3?O.substr(0,3)+I(O.substr(3)):O}}let D=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function k(O){return O.match(D)?O.replace(D,(R=>I(R))):O}var B=r(975);let U=B.posix||B,z="/";var le;(function(O){O.joinPath=function(R,...L){return R.with({path:U.join(R.path,...L)})},O.resolvePath=function(R,...L){let $=R.path,w=!1;$[0]!==z&&($=z+$,w=!0);let A=U.resolve($,...L);return w&&A[0]===z&&!R.authority&&(A=A.substring(1)),R.with({path:A})},O.dirname=function(R){if(R.path.length===0||R.path===z)return R;let L=U.dirname(R.path);return L.length===1&&L.charCodeAt(0)===46&&(L=""),R.with({path:L})},O.basename=function(R){return U.basename(R.path)},O.extname=function(R){return U.extname(R.path)}})(le||(le={})),aw=n})();var{URI:ht,Utils:da}=aw;var vt;(function(t){t.basename=da.basename,t.dirname=da.dirname,t.extname=da.extname,t.joinPath=da.joinPath,t.resolvePath=da.resolvePath;let e=typeof process=="object"&&process?.platform==="win32";function r(s,a){return s?.toString()===a?.toString()}t.equals=r;function n(s,a){let c=typeof s=="string"?ht.parse(s).path:s.path,l=typeof a=="string"?ht.parse(a).path:a.path,u=c.split("/").filter(g=>g.length>0),f=l.split("/").filter(g=>g.length>0);if(e){let g=/^[A-Z]:$/;if(u[0]&&g.test(u[0])&&(u[0]=u[0].toLowerCase()),f[0]&&g.test(f[0])&&(f[0]=f[0].toLowerCase()),u[0]!==f[0])return l.substring(1)}let d=0;for(;d<u.length&&u[d]===f[d];d++);let p="../".repeat(u.length-d),m=f.slice(d).join("/");return p+m}t.relative=n;function i(s){return ht.parse(s.toString()).toString()}t.normalize=i;function o(s,a){let c=typeof s=="string"?s:s.path,l=typeof a=="string"?a:a.path;return l.charAt(l.length-1)==="/"&&(l=l.slice(0,-1)),c.charAt(c.length-1)==="/"&&(c=c.slice(0,-1)),l===c?!0:l.length<c.length||l.charAt(c.length)!=="/"?!1:l.startsWith(c)}t.contains=o})(vt||(vt={}));var pa=class{constructor(){this.root={name:"",children:new Map}}normalizeUri(e){return vt.normalize(e)}clear(){this.root.children.clear()}insert(e,r){let n=this.getNode(this.normalizeUri(e),!0);n.element=r}delete(e){let r=this.getNode(this.normalizeUri(e),!1);r?.parent&&r.parent.children.delete(r.name)}has(e){return this.getNode(this.normalizeUri(e),!1)?.element!==void 0}hasNode(e){return this.getNode(this.normalizeUri(e),!1)!==void 0}find(e){return this.getNode(this.normalizeUri(e),!1)?.element}findNode(e){let r=this.normalizeUri(e),n=this.getNode(r,!1);if(n)return{name:n.name,uri:vt.joinPath(ht.parse(r),n.name).toString(),element:n.element}}findChildren(e){let r=this.normalizeUri(e),n=this.getNode(r,!1);return n?Array.from(n.children.values()).map(i=>({name:i.name,uri:vt.joinPath(ht.parse(r),i.name).toString(),element:i.element})):[]}all(){return this.collectValues(this.root)}findAll(e){let r=this.getNode(vt.normalize(e),!1);return r?this.collectValues(r):[]}getNode(e,r){let n=e.split("/");e.charAt(e.length-1)==="/"&&n.pop();let i=this.root;for(let o of n){let s=i.children.get(o);if(!s)if(r)s={name:o,children:new Map,parent:i},i.children.set(o,s);else return;i=s}return i}collectValues(e){let r=[];e.element&&r.push(e.element);for(let n of e.children.values())r.push(...this.collectValues(n));return r}};var ye;(function(t){t[t.Changed=0]="Changed",t[t.Parsed=1]="Parsed",t[t.IndexedContent=2]="IndexedContent",t[t.ComputedScopes=3]="ComputedScopes",t[t.Linked=4]="Linked",t[t.IndexedReferences=5]="IndexedReferences",t[t.Validated=6]="Validated"})(ye||(ye={}));var wl=class{constructor(e){this.serviceRegistry=e.ServiceRegistry,this.textDocuments=e.workspace.TextDocuments,this.fileSystemProvider=e.workspace.FileSystemProvider}async fromUri(e,r=oe.CancellationToken.None){let n=await this.fileSystemProvider.readFile(e);return this.createAsync(e,n,r)}fromTextDocument(e,r,n){return r=r??ht.parse(e.uri),oe.CancellationToken.is(n)?this.createAsync(r,e,n):this.create(r,e,n)}fromString(e,r,n){return oe.CancellationToken.is(n)?this.createAsync(r,e,n):this.create(r,e,n)}fromModel(e,r){return this.create(r,{$model:e})}create(e,r,n){if(typeof r=="string"){let i=this.parse(e,r,n);return this.createLangiumDocument(i,e,void 0,r)}else if("$model"in r){let i={value:r.$model,parserErrors:[],lexerErrors:[]};return this.createLangiumDocument(i,e)}else{let i=this.parse(e,r.getText(),n);return this.createLangiumDocument(i,e,r)}}async createAsync(e,r,n){if(typeof r=="string"){let i=await this.parseAsync(e,r,n);return this.createLangiumDocument(i,e,void 0,r)}else{let i=await this.parseAsync(e,r.getText(),n);return this.createLangiumDocument(i,e,r)}}createLangiumDocument(e,r,n,i){let o;if(n)o={parseResult:e,uri:r,state:ye.Parsed,references:[],textDocument:n};else{let s=this.createTextDocumentGetter(r,i);o={parseResult:e,uri:r,state:ye.Parsed,references:[],get textDocument(){return s()}}}return e.value.$document=o,o}async update(e,r){let n=e.parseResult.value.$cstNode?.root.fullText,i=this.textDocuments?.get(e.uri.toString()),o=i?i.getText():await this.fileSystemProvider.readFile(e.uri);if(i)Object.defineProperty(e,"textDocument",{value:i});else{let s=this.createTextDocumentGetter(e.uri,o);Object.defineProperty(e,"textDocument",{get:s})}return n!==o&&(e.parseResult=await this.parseAsync(e.uri,o,r),e.parseResult.value.$document=e),e.state=ye.Parsed,e}parse(e,r,n){return this.serviceRegistry.getServices(e).parser.LangiumParser.parse(r,n)}parseAsync(e,r,n){return this.serviceRegistry.getServices(e).parser.AsyncParser.parse(r,n)}createTextDocumentGetter(e,r){let n=this.serviceRegistry,i;return()=>i??(i=fa.create(e.toString(),n.getServices(e).LanguageMetaData.languageId,0,r??""))}},Al=class{constructor(e){this.documentTrie=new pa,this.services=e,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.documentBuilder=()=>e.workspace.DocumentBuilder}get all(){return xe(this.documentTrie.all())}addDocument(e){let r=e.uri.toString();if(this.documentTrie.has(r))throw new Error(`A document with the URI '${r}' is already present.`);this.documentTrie.insert(r,e)}getDocument(e){let r=e.toString();return this.documentTrie.find(r)}getDocuments(e){let r=e.toString();return this.documentTrie.findAll(r)}async getOrCreateDocument(e,r){let n=this.getDocument(e);return n||(n=await this.langiumDocumentFactory.fromUri(e,r),this.addDocument(n),n)}createDocument(e,r,n){if(n)return this.langiumDocumentFactory.fromString(r,e,n).then(i=>(this.addDocument(i),i));{let i=this.langiumDocumentFactory.fromString(r,e);return this.addDocument(i),i}}hasDocument(e){return this.documentTrie.has(e.toString())}invalidateDocument(e){let r=e.toString(),n=this.documentTrie.find(r);return n&&this.documentBuilder().resetToState(n,ye.Changed),n}deleteDocument(e){let r=e.toString(),n=this.documentTrie.find(r);return n&&(n.state=ye.Changed,this.documentTrie.delete(r)),n}deleteDocuments(e){let r=e.toString(),n=this.documentTrie.findAll(r);for(let i of n)i.state=ye.Changed;return this.documentTrie.delete(r),n}};var Mo=Symbol("RefResolving"),Sl=class{constructor(e){this.reflection=e.shared.AstReflection,this.langiumDocuments=()=>e.shared.workspace.LangiumDocuments,this.scopeProvider=e.references.ScopeProvider,this.astNodeLocator=e.workspace.AstNodeLocator,this.profiler=e.shared.profilers.LangiumProfiler,this.languageId=e.LanguageMetaData.languageId}async link(e,r=oe.CancellationToken.None){if(this.profiler?.isActive("linking")){let n=this.profiler.createTask("linking",this.languageId);n.start();try{for(let i of zt(e.parseResult.value))await pt(r),si(i).forEach(o=>{let s=`${i.$type}:${o.property}`;n.startSubTask(s);try{this.doLink(o,e)}finally{n.stopSubTask(s)}})}finally{n.stop()}}else for(let n of zt(e.parseResult.value))await pt(r),si(n).forEach(i=>this.doLink(i,e))}doLink(e,r){let n=e.reference;if("_ref"in n&&n._ref===void 0){n._ref=Mo;try{let i=this.getCandidate(e);if(to(i))n._ref=i;else{n._nodeDescription=i;let o=this.loadAstNode(i);n._ref=o??this.createLinkingError(e,i)}}catch(i){console.error(`An error occurred while resolving reference to '${n.$refText}':`,i);let o=i.message??String(i);n._ref={info:e,message:`An error occurred while resolving reference to '${n.$refText}': ${o}`}}r.references.push(n)}else if("_items"in n&&n._items===void 0){n._items=Mo;try{let i=this.getCandidates(e),o=[];if(to(i))n._linkingError=i;else for(let s of i){let a=this.loadAstNode(s);a&&o.push({ref:a,$nodeDescription:s})}n._items=o}catch(i){n._linkingError={info:e,message:`An error occurred while resolving reference to '${n.$refText}': ${i}`},n._items=[]}r.references.push(n)}}unlink(e){for(let r of e.references)"_ref"in r?(r._ref=void 0,delete r._nodeDescription):"_items"in r&&(r._items=void 0,delete r._linkingError);e.references=[]}getCandidate(e){return this.scopeProvider.getScope(e).getElement(e.reference.$refText)??this.createLinkingError(e)}getCandidates(e){let n=this.scopeProvider.getScope(e).getElements(e.reference.$refText).distinct(i=>`${i.documentUri}#${i.path}`).toArray();return n.length>0?n:this.createLinkingError(e)}buildReference(e,r,n,i){let o=this,s={$refNode:n,$refText:i,_ref:void 0,get ref(){if(dt(this._ref))return this._ref;if(Tm(this._nodeDescription)){let a=o.loadAstNode(this._nodeDescription);this._ref=a??o.createLinkingError({reference:s,container:e,property:r},this._nodeDescription)}else if(this._ref===void 0){this._ref=Mo;let a=ds(e).$document,c=o.getLinkedNode({reference:s,container:e,property:r});if(c.error&&a&&a.state<ye.ComputedScopes)return this._ref=void 0;this._ref=c.node??c.error,this._nodeDescription=c.descr,a?.references.push(this)}else this._ref===Mo&&o.throwCyclicReferenceError(e,r,i);return dt(this._ref)?this._ref:void 0},get $nodeDescription(){return this._nodeDescription},get error(){return to(this._ref)?this._ref:void 0}};return s}buildMultiReference(e,r,n,i){let o=this,s={$refNode:n,$refText:i,_items:void 0,get items(){if(Array.isArray(this._items))return this._items;if(this._items===void 0){this._items=Mo;let a=ds(e).$document,c=o.getCandidates({reference:s,container:e,property:r}),l=[];if(to(c))this._linkingError=c;else for(let u of c){let f=o.loadAstNode(u);f&&l.push({ref:f,$nodeDescription:u})}this._items=l,a?.references.push(this)}else this._items===Mo&&o.throwCyclicReferenceError(e,r,i);return Array.isArray(this._items)?this._items:[]},get error(){if(this._linkingError)return this._linkingError;if(!(this.items.length>0))return this._linkingError=o.createLinkingError({reference:s,container:e,property:r})}};return s}throwCyclicReferenceError(e,r,n){throw new Error(`Cyclic reference resolution detected: ${this.astNodeLocator.getAstNodePath(e)}/${r} (symbol '${n}')`)}getLinkedNode(e){try{let r=this.getCandidate(e);if(to(r))return{error:r};let n=this.loadAstNode(r);return n?{node:n,descr:r}:{descr:r,error:this.createLinkingError(e,r)}}catch(r){console.error(`An error occurred while resolving reference to '${e.reference.$refText}':`,r);let n=r.message??String(r);return{error:{info:e,message:`An error occurred while resolving reference to '${e.reference.$refText}': ${n}`}}}}loadAstNode(e){if(e.node)return e.node;let r=this.langiumDocuments().getDocument(e.documentUri);if(r)return this.astNodeLocator.getAstNode(r.parseResult.value,e.path)}createLinkingError(e,r){let n=ds(e.container).$document;n&&n.state<ye.ComputedScopes&&console.warn(`Attempted reference resolution before document reached ComputedScopes state (${n.uri}).`);let i=this.reflection.getReferenceType(e);return{info:e,message:`Could not resolve reference to ${i} named '${e.reference.$refText}'.`,targetDescription:r}}};function cw(t){return typeof t.name=="string"}var Il=class{getName(e){if(cw(e))return e.name}getNameNode(e){return Gc(e.$cstNode,"name")}};var kl=class{constructor(e){this.nameProvider=e.references.NameProvider,this.index=e.shared.workspace.IndexManager,this.nodeLocator=e.workspace.AstNodeLocator,this.documents=e.shared.workspace.LangiumDocuments,this.hasMultiReference=zt(e.Grammar).some(r=>Br(r)&&r.isMulti)}findDeclarations(e){if(e){let r=sg(e),n=e.astNode;if(r&&n){let i=n[r.feature];if(St(i)||ur(i))return cf(i);if(Array.isArray(i)){for(let o of i)if((St(o)||ur(o))&&o.$refNode&&o.$refNode.offset<=e.offset&&o.$refNode.end>=e.end)return cf(o)}}if(n){let i=this.nameProvider.getNameNode(n);if(i&&(i===e||Hm(e,i)))return this.getSelfNodes(n)}}return[]}getSelfNodes(e){if(this.hasMultiReference){let r=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e)),n=this.getNodeFromReferenceDescription(r.head());if(n){for(let i of si(n))if(ur(i.reference)&&i.reference.items.some(o=>o.ref===e))return i.reference.items.map(o=>o.ref)}return[e]}else return[e]}getNodeFromReferenceDescription(e){if(!e)return;let r=this.documents.getDocument(e.sourceUri);if(r)return this.nodeLocator.getAstNode(r.parseResult.value,e.sourcePath)}findDeclarationNodes(e){let r=this.findDeclarations(e),n=[];for(let i of r){let o=this.nameProvider.getNameNode(i)??i.$cstNode;o&&n.push(o)}return n}findReferences(e,r){let n=[];r.includeDeclaration&&n.push(...this.getSelfReferences(e));let i=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e));return r.documentUri&&(i=i.filter(o=>vt.equals(o.sourceUri,r.documentUri))),n.push(...i),xe(n)}getSelfReferences(e){let r=this.getSelfNodes(e),n=[];for(let i of r){let o=this.nameProvider.getNameNode(i);if(o){let s=Ft(i),a=this.nodeLocator.getAstNodePath(i);n.push({sourceUri:s.uri,sourcePath:a,targetUri:s.uri,targetPath:a,segment:mo(o),local:!0})}}return n}};var Bt=class{constructor(e){if(this.map=new Map,e)for(let[r,n]of e)this.add(r,n)}get size(){return us.sum(xe(this.map.values()).map(e=>e.length))}clear(){this.map.clear()}delete(e,r){if(r===void 0)return this.map.delete(e);{let n=this.map.get(e);if(n){let i=n.indexOf(r);if(i>=0)return n.length===1?this.map.delete(e):n.splice(i,1),!0}return!1}}get(e){return this.map.get(e)??[]}getStream(e){let r=this.map.get(e);return r?xe(r):oi}has(e,r){if(r===void 0)return this.map.has(e);{let n=this.map.get(e);return n?n.indexOf(r)>=0:!1}}add(e,r){return this.map.has(e)?this.map.get(e).push(r):this.map.set(e,[r]),this}addAll(e,r){return this.map.has(e)?this.map.get(e).push(...r):this.map.set(e,Array.from(r)),this}forEach(e){this.map.forEach((r,n)=>r.forEach(i=>e(i,n,this)))}[Symbol.iterator](){return this.entries().iterator()}entries(){return xe(this.map.entries()).flatMap(([e,r])=>r.map(n=>[e,n]))}keys(){return xe(this.map.keys())}values(){return xe(this.map.values()).flat()}entriesGroupedByKey(){return xe(this.map.entries())}},Fo=class{get size(){return this.map.size}constructor(e){if(this.map=new Map,this.inverse=new Map,e)for(let[r,n]of e)this.set(r,n)}clear(){this.map.clear(),this.inverse.clear()}set(e,r){return this.map.set(e,r),this.inverse.set(r,e),this}get(e){return this.map.get(e)}getKey(e){return this.inverse.get(e)}delete(e){let r=this.map.get(e);return r!==void 0?(this.map.delete(e),this.inverse.delete(r),!0):!1}};var Nl=class{constructor(e){this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider}async collectExportedSymbols(e,r=oe.CancellationToken.None){return this.collectExportedSymbolsForNode(e.parseResult.value,e,void 0,r)}async collectExportedSymbolsForNode(e,r,n=bc,i=oe.CancellationToken.None){let o=[];this.addExportedSymbol(e,o,r);for(let s of n(e))await pt(i),this.addExportedSymbol(s,o,r);return o}addExportedSymbol(e,r,n){let i=this.nameProvider.getName(e);i&&r.push(this.descriptions.createDescription(e,i,n))}async collectLocalSymbols(e,r=oe.CancellationToken.None){let n=e.parseResult.value,i=new Bt;for(let o of Mr(n))await pt(r),this.addLocalSymbol(o,e,i);return i}addLocalSymbol(e,r,n){let i=e.$container;if(i){let o=this.nameProvider.getName(e);o&&n.add(i,this.descriptions.createDescription(e,o,r))}}};var ha=class{constructor(e,r,n){this.elements=e,this.outerScope=r,this.caseInsensitive=n?.caseInsensitive??!1,this.concatOuterScope=n?.concatOuterScope??!0}getAllElements(){return this.outerScope?this.elements.concat(this.outerScope.getAllElements()):this.elements}getElement(e){let r=this.caseInsensitive?e.toLowerCase():e,n=this.caseInsensitive?this.elements.find(i=>i.name.toLowerCase()===r):this.elements.find(i=>i.name===e);if(n)return n;if(this.outerScope)return this.outerScope.getElement(e)}getElements(e){let r=this.caseInsensitive?e.toLowerCase():e,n=this.caseInsensitive?this.elements.filter(i=>i.name.toLowerCase()===r):this.elements.filter(i=>i.name===e);return(this.concatOuterScope||n.isEmpty())&&this.outerScope?n.concat(this.outerScope.getElements(e)):n}},mx=class{constructor(e,r,n){this.elements=new Map,this.caseInsensitive=n?.caseInsensitive??!1,this.concatOuterScope=n?.concatOuterScope??!0;for(let i of e){let o=this.caseInsensitive?i.name.toLowerCase():i.name;this.elements.set(o,i)}this.outerScope=r}getElement(e){let r=this.caseInsensitive?e.toLowerCase():e,n=this.elements.get(r);if(n)return n;if(this.outerScope)return this.outerScope.getElement(e)}getElements(e){let r=this.caseInsensitive?e.toLowerCase():e,n=this.elements.get(r),i=n?[n]:[];return(this.concatOuterScope||i.length>0)&&this.outerScope?xe(i).concat(this.outerScope.getElements(e)):xe(i)}getAllElements(){let e=xe(this.elements.values());return this.outerScope&&(e=e.concat(this.outerScope.getAllElements())),e}},Pl=class{constructor(e,r,n){this.elements=new Bt,this.caseInsensitive=n?.caseInsensitive??!1,this.concatOuterScope=n?.concatOuterScope??!0;for(let i of e){let o=this.caseInsensitive?i.name.toLowerCase():i.name;this.elements.add(o,i)}this.outerScope=r}getElement(e){let r=this.caseInsensitive?e.toLowerCase():e,n=this.elements.get(r)[0];if(n)return n;if(this.outerScope)return this.outerScope.getElement(e)}getElements(e){let r=this.caseInsensitive?e.toLowerCase():e,n=this.elements.get(r);return(this.concatOuterScope||n.length===0)&&this.outerScope?xe(n).concat(this.outerScope.getElements(e)):xe(n)}getAllElements(){let e=xe(this.elements.values());return this.outerScope&&(e=e.concat(this.outerScope.getAllElements())),e}},h2={getElement(){},getElements(){return oi},getAllElements(){return oi}};var ma=class{constructor(){this.toDispose=[],this.isDisposed=!1}onDispose(e){this.toDispose.push(e)}dispose(){this.throwIfDisposed(),this.clear(),this.isDisposed=!0,this.toDispose.forEach(e=>e.dispose())}throwIfDisposed(){if(this.isDisposed)throw new Error("This cache has already been disposed")}},Cl=class extends ma{constructor(){super(...arguments),this.cache=new Map}has(e){return this.throwIfDisposed(),this.cache.has(e)}set(e,r){this.throwIfDisposed(),this.cache.set(e,r)}get(e,r){if(this.throwIfDisposed(),this.cache.has(e))return this.cache.get(e);if(r){let n=r();return this.cache.set(e,n),n}else return}delete(e){return this.throwIfDisposed(),this.cache.delete(e)}clear(){this.throwIfDisposed(),this.cache.clear()}},Uo=class extends ma{constructor(e){super(),this.cache=new Map,this.converter=e??(r=>r)}has(e,r){return this.throwIfDisposed(),this.cacheForContext(e).has(r)}set(e,r,n){this.throwIfDisposed(),this.cacheForContext(e).set(r,n)}get(e,r,n){this.throwIfDisposed();let i=this.cacheForContext(e);if(i.has(r))return i.get(r);if(n){let o=n();return i.set(r,o),o}else return}delete(e,r){return this.throwIfDisposed(),this.cacheForContext(e).delete(r)}clear(e){if(this.throwIfDisposed(),e){let r=this.converter(e);this.cache.delete(r)}else this.cache.clear()}cacheForContext(e){let r=this.converter(e),n=this.cache.get(r);return n||(n=new Map,this.cache.set(r,n)),n}},op=class extends Uo{constructor(e,r){super(n=>n.toString()),r?(this.toDispose.push(e.workspace.DocumentBuilder.onDocumentPhase(r,n=>{this.clear(n.uri.toString())})),this.toDispose.push(e.workspace.DocumentBuilder.onUpdate((n,i)=>{for(let o of i)this.clear(o)}))):this.toDispose.push(e.workspace.DocumentBuilder.onUpdate((n,i)=>{let o=n.concat(i);for(let s of o)this.clear(s)}))}},ga=class extends Cl{constructor(e,r){super(),r?(this.toDispose.push(e.workspace.DocumentBuilder.onBuildPhase(r,()=>{this.clear()})),this.toDispose.push(e.workspace.DocumentBuilder.onUpdate((n,i)=>{i.length>0&&this.clear()}))):this.toDispose.push(e.workspace.DocumentBuilder.onUpdate(()=>{this.clear()}))}};var Ol=class{constructor(e){this.reflection=e.shared.AstReflection,this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider,this.indexManager=e.shared.workspace.IndexManager,this.globalScopeCache=new ga(e.shared)}getScope(e){let r=[],n=this.reflection.getReferenceType(e),i=Ft(e.container).localSymbols;if(i){let s=e.container;do i.has(s)&&r.push(i.getStream(s).filter(a=>this.reflection.isSubtype(a.type,n))),s=s.$container;while(s)}let o=this.getGlobalScope(n,e);for(let s=r.length-1;s>=0;s--)o=this.createScope(r[s],o);return o}createScope(e,r,n){return new ha(xe(e),r,n)}createScopeForNodes(e,r,n){let i=xe(e).map(o=>{let s=this.nameProvider.getName(o);if(s)return this.descriptions.createDescription(o,s)}).nonNullable();return new ha(i,r,n)}getGlobalScope(e,r){return this.globalScopeCache.get(e,()=>new Pl(this.indexManager.allElements(e)))}};function gx(t){return typeof t.$comment=="string"}function lw(t){return typeof t=="object"&&!!t&&("$ref"in t||"$error"in t)}var Ll=class{constructor(e){this.ignoreProperties=new Set(["$container","$containerProperty","$containerIndex","$document","$cstNode"]),this.langiumDocuments=e.shared.workspace.LangiumDocuments,this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider,this.commentProvider=e.documentation.CommentProvider}serialize(e,r){let n=r??{},i=r?.replacer,o=(a,c)=>this.replacer(a,c,n),s=i?(a,c)=>i(a,c,o):o;try{return this.currentDocument=Ft(e),JSON.stringify(e,s,r?.space)}finally{this.currentDocument=void 0}}deserialize(e,r){let n=r??{},i=JSON.parse(e);return this.linkNode(i,i,n),i}replacer(e,r,{refText:n,sourceText:i,textRegions:o,comments:s,uriConverter:a}){if(!this.ignoreProperties.has(e))if(St(r)){let c=r.ref,l=n?r.$refText:void 0;if(c){let u=Ft(c),f="";this.currentDocument&&this.currentDocument!==u&&(a?f=a(u.uri,c):f=u.uri.toString());let d=this.astNodeLocator.getAstNodePath(c);return{$ref:`${f}#${d}`,$refText:l}}else return{$error:r.error?.message??"Could not resolve reference",$refText:l}}else if(ur(r)){let c=n?r.$refText:void 0,l=[];for(let u of r.items){let f=u.ref,d=Ft(u.ref),p="";this.currentDocument&&this.currentDocument!==d&&(a?p=a(d.uri,f):p=d.uri.toString());let m=this.astNodeLocator.getAstNodePath(f);l.push(`${p}#${m}`)}return{$refs:l,$refText:c}}else if(dt(r)){let c;if(o&&(c=this.addAstNodeRegionWithAssignmentsTo({...r}),(!e||r.$document)&&c?.$textRegion&&(c.$textRegion.documentURI=this.currentDocument?.uri.toString())),i&&!e&&(c??(c={...r}),c.$sourceText=r.$cstNode?.text),s){c??(c={...r});let l=this.commentProvider.getComment(r);l&&(c.$comment=l.replace(/\r/g,""))}return c??r}else return r}addAstNodeRegionWithAssignmentsTo(e){let r=n=>({offset:n.offset,end:n.end,length:n.length,range:n.range});if(e.$cstNode){let n=e.$textRegion=r(e.$cstNode),i=n.assignments={};return Object.keys(e).filter(o=>!o.startsWith("$")).forEach(o=>{let s=rg(e.$cstNode,o).map(r);s.length!==0&&(i[o]=s)}),e}}linkNode(e,r,n,i,o,s){for(let[c,l]of Object.entries(e))if(Array.isArray(l))for(let u=0;u<l.length;u++){let f=l[u];lw(f)?l[u]=this.reviveReference(e,c,r,f,n):dt(f)&&this.linkNode(f,r,n,e,c,u)}else lw(l)?e[c]=this.reviveReference(e,c,r,l,n):dt(l)&&this.linkNode(l,r,n,e,c);let a=e;a.$container=i,a.$containerProperty=o,a.$containerIndex=s}reviveReference(e,r,n,i,o){let s=i.$refText,a=i.$error,c;if(i.$ref){let l=this.getRefNode(n,i.$ref,o.uriConverter);if(dt(l))return s||(s=this.nameProvider.getName(l)),{$refText:s??"",ref:l};a=l}else if(i.$refs){let l=[];for(let u of i.$refs){let f=this.getRefNode(n,u,o.uriConverter);dt(f)&&l.push({ref:f})}if(l.length===0)c={$refText:s??"",items:l},a??(a="Could not resolve multi-reference");else return{$refText:s??"",items:l}}if(a)return c??(c={$refText:s??"",ref:void 0}),c.error={info:{container:e,property:r,reference:c},message:a},c}getRefNode(e,r,n){try{let i=r.indexOf("#");if(i===0){let c=this.astNodeLocator.getAstNode(e,r.substring(1));return c||"Could not resolve path: "+r}if(i<0){let c=n?n(r):ht.parse(r),l=this.langiumDocuments.getDocument(c);return l?l.parseResult.value:"Could not find document for URI: "+r}let o=n?n(r.substring(0,i)):ht.parse(r.substring(0,i)),s=this.langiumDocuments.getDocument(o);if(!s)return"Could not find document for URI: "+r;if(i===r.length-1)return s.parseResult.value;let a=this.astNodeLocator.getAstNode(s.parseResult.value,r.substring(i+1));return a||"Could not resolve URI: "+r}catch(i){return String(i)}}};var Dl=class{get map(){return this.fileExtensionMap}constructor(e){this.languageIdMap=new Map,this.fileExtensionMap=new Map,this.fileNameMap=new Map,this.textDocuments=e?.workspace.TextDocuments}register(e){let r=e.LanguageMetaData;for(let n of r.fileExtensions)this.fileExtensionMap.has(n)&&console.warn(`The file extension ${n} is used by multiple languages. It is now assigned to '${r.languageId}'.`),this.fileExtensionMap.set(n,e);if(r.fileNames)for(let n of r.fileNames)this.fileNameMap.has(n)&&console.warn(`The file name ${n} is used by multiple languages. It is now assigned to '${r.languageId}'.`),this.fileNameMap.set(n,e);this.languageIdMap.set(r.languageId,e)}getServices(e){if(this.languageIdMap.size===0)throw new Error("The service registry is empty. Use `register` to register the services of a language.");let r=this.textDocuments?.get(e)?.languageId;if(r!==void 0){let s=this.languageIdMap.get(r);if(s)return s}let n=vt.extname(e),i=vt.basename(e),o=this.fileNameMap.get(i)??this.fileExtensionMap.get(n);if(!o)throw r?new Error(`The service registry contains no services for the extension '${n}' for language '${r}'.`):new Error(`The service registry contains no services for the extension '${n}'.`);return o}hasServices(e){try{return this.getServices(e),!0}catch{return!1}}get all(){return Array.from(this.languageIdMap.values())}};function Bo(t){return{code:t}}var sp;(function(t){t.defaults=["fast","slow","built-in"],t.all=t.defaults})(sp||(sp={}));var $l=class{constructor(e){this.entries=new Bt,this.knownCategories=new Set(sp.defaults),this.entriesBefore=[],this.entriesAfter=[],this.reflection=e.shared.AstReflection}register(e,r=this,n="fast"){if(n==="built-in")throw new Error("The 'built-in' category is reserved for lexer, parser, and linker errors.");this.knownCategories.add(n);for(let[i,o]of Object.entries(e)){let s=o;if(Array.isArray(s))for(let a of s){let c={check:this.wrapValidationException(a,r),category:n};this.addEntry(i,c)}else if(typeof s=="function"){let a={check:this.wrapValidationException(s,r),category:n};this.addEntry(i,a)}else un(s)}}wrapValidationException(e,r){return async(n,i,o)=>{await this.handleException(()=>e.call(r,n,i,o),"An error occurred during validation",i,n)}}async handleException(e,r,n,i){try{await e()}catch(o){if(yn(o))throw o;console.error(`${r}:`,o),o instanceof Error&&o.stack&&console.error(o.stack);let s=o instanceof Error?o.message:String(o);n("error",`${r}: ${s}`,{node:i})}}addEntry(e,r){if(e==="AstNode"){this.entries.add("AstNode",r);return}for(let n of this.reflection.getAllSubTypes(e))this.entries.add(n,r)}getChecks(e,r){let n=xe(this.entries.get(e)).concat(this.entries.get("AstNode"));return r&&(n=n.filter(i=>r.includes(i.category))),n.map(i=>i.check)}registerBeforeDocument(e,r=this){this.entriesBefore.push(this.wrapPreparationException(e,"An error occurred during set-up of the validation",r))}registerAfterDocument(e,r=this){this.entriesAfter.push(this.wrapPreparationException(e,"An error occurred during tear-down of the validation",r))}wrapPreparationException(e,r,n){return async(i,o,s,a)=>{await this.handleException(()=>e.call(n,i,o,s,a),r,o,i)}}get checksBefore(){return this.entriesBefore}get checksAfter(){return this.entriesAfter}getAllValidationCategories(e){return this.knownCategories}};var uw=Object.freeze({validateNode:!0,validateChildren:!0}),Ml=class{constructor(e){this.validationRegistry=e.validation.ValidationRegistry,this.metadata=e.LanguageMetaData,this.profiler=e.shared.profilers.LangiumProfiler,this.languageId=e.LanguageMetaData.languageId}async validateDocument(e,r={},n=oe.CancellationToken.None){let i=e.parseResult,o=[];if(await pt(n),(!r.categories||r.categories.includes("built-in"))&&(this.processLexingErrors(i,o,r),r.stopAfterLexingErrors&&o.some(s=>s.data?.code===Ar.LexingError)||(this.processParsingErrors(i,o,r),r.stopAfterParsingErrors&&o.some(s=>s.data?.code===Ar.ParsingError))||(this.processLinkingErrors(e,o,r),r.stopAfterLinkingErrors&&o.some(s=>s.data?.code===Ar.LinkingError))))return o;try{o.push(...await this.validateAst(i.value,r,n))}catch(s){if(yn(s))throw s;console.error("An error occurred during validation:",s)}return await pt(n),o}processLexingErrors(e,r,n){let i=[...e.lexerErrors,...e.lexerReport?.diagnostics??[]];for(let o of i){let s=o.severity??"error",a={severity:ap(s),range:{start:{line:o.line-1,character:o.column-1},end:{line:o.line-1,character:o.column+o.length-1}},message:o.message,data:dw(s),source:this.getSource()};r.push(a)}}processParsingErrors(e,r,n){for(let i of e.parserErrors){let o;if(isNaN(i.token.startOffset)){if("previousToken"in i){let s=i.previousToken;if(isNaN(s.startOffset)){let a={line:0,character:0};o={start:a,end:a}}else{let a={line:s.endLine-1,character:s.endColumn};o={start:a,end:a}}}}else o=Es(i.token);if(o){let s={severity:ap("error"),range:o,message:i.message,data:Bo(Ar.ParsingError),source:this.getSource()};r.push(s)}}}processLinkingErrors(e,r,n){for(let i of e.references){let o=i.error;if(o){let s={node:o.info.container,range:i.$refNode?.range,property:o.info.property,index:o.info.index,data:{code:Ar.LinkingError,containerType:o.info.container.$type,property:o.info.property,refText:o.info.reference.$refText}};r.push(this.toDiagnostic("error",o.message,s))}}}async validateAst(e,r,n=oe.CancellationToken.None){let i=[],o=(s,a,c)=>{i.push(this.toDiagnostic(s,a,c))};return await this.validateAstBefore(e,r,o,n),await this.validateAstNodes(e,r,o,n),await this.validateAstAfter(e,r,o,n),i}async validateAstBefore(e,r,n,i=oe.CancellationToken.None){let o=this.validationRegistry.checksBefore;for(let s of o)await pt(i),await s(e,n,r.categories??[],i)}async validateAstNodes(e,r,n,i=oe.CancellationToken.None){if(this.profiler?.isActive("validating")){let o=this.profiler.createTask("validating",this.languageId);o.start();try{let s=zt(e).iterator();for(let a of s){o.startSubTask(a.$type);let c=this.validateSingleNodeOptions(a,r);if(c.validateNode)try{let l=this.validationRegistry.getChecks(a.$type,r.categories);for(let u of l)await u(a,n,i)}finally{o.stopSubTask(a.$type)}c.validateChildren||s.prune()}}finally{o.stop()}}else{let o=zt(e).iterator();for(let s of o){await pt(i);let a=this.validateSingleNodeOptions(s,r);if(a.validateNode){let c=this.validationRegistry.getChecks(s.$type,r.categories);for(let l of c)await l(s,n,i)}a.validateChildren||o.prune()}}}validateSingleNodeOptions(e,r){return uw}async validateAstAfter(e,r,n,i=oe.CancellationToken.None){let o=this.validationRegistry.checksAfter;for(let s of o)await pt(i),await s(e,n,r.categories??[],i)}toDiagnostic(e,r,n){return{message:r,range:fw(n),severity:ap(e),code:n.code,codeDescription:n.codeDescription,tags:n.tags,relatedInformation:n.relatedInformation,data:n.data,source:this.getSource()}}getSource(){return this.metadata.languageId}};function fw(t){if(t.range)return t.range;let e;return typeof t.property=="string"?e=Gc(t.node.$cstNode,t.property,t.index):typeof t.keyword=="string"&&(e=ig(t.node.$cstNode,t.keyword,t.index)),e??(e=t.node.$cstNode),e?e.range:{start:{line:0,character:0},end:{line:0,character:0}}}function ap(t){switch(t){case"error":return 1;case"warning":return 2;case"info":return 3;case"hint":return 4;default:throw new Error("Invalid diagnostic severity: "+t)}}function dw(t){switch(t){case"error":return Bo(Ar.LexingError);case"warning":return Bo(Ar.LexingWarning);case"info":return Bo(Ar.LexingInfo);case"hint":return Bo(Ar.LexingHint);default:throw new Error("Invalid diagnostic severity: "+t)}}var Ar;(function(t){t.LexingError="lexing-error",t.LexingWarning="lexing-warning",t.LexingInfo="lexing-info",t.LexingHint="lexing-hint",t.ParsingError="parsing-error",t.LinkingError="linking-error"})(Ar||(Ar={}));var Fl=class{constructor(e){this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider}createDescription(e,r,n){let i=n??Ft(e);r??(r=this.nameProvider.getName(e));let o=this.astNodeLocator.getAstNodePath(e);if(!r)throw new Error(`Node at path ${o} has no name.`);let s,a=()=>s??(s=mo(this.nameProvider.getNameNode(e)??e.$cstNode));return{node:e,name:r,get nameSegment(){return a()},selectionSegment:mo(e.$cstNode),type:e.$type,documentUri:i.uri,path:o}}},Ul=class{constructor(e){this.nodeLocator=e.workspace.AstNodeLocator}async createDescriptions(e,r=oe.CancellationToken.None){let n=[],i=e.parseResult.value;for(let o of zt(i))await pt(r),si(o).forEach(s=>{s.reference.error||n.push(...this.createInfoDescriptions(s))});return n}createInfoDescriptions(e){let r=e.reference;if(r.error||!r.$refNode)return[];let n=[];St(r)&&r.$nodeDescription?n=[r.$nodeDescription]:ur(r)&&(n=r.items.map(c=>c.$nodeDescription).filter(c=>c!==void 0));let i=Ft(e.container).uri,o=this.nodeLocator.getAstNodePath(e.container),s=[],a=mo(r.$refNode);for(let c of n)s.push({sourceUri:i,sourcePath:o,targetUri:c.documentUri,targetPath:c.path,segment:a,local:vt.equals(c.documentUri,i)});return s}};var Bl=class{constructor(){this.segmentSeparator="/",this.indexSeparator="@"}getAstNodePath(e){if(e.$container){let r=this.getAstNodePath(e.$container),n=this.getPathSegment(e);return r+this.segmentSeparator+n}return""}getPathSegment({$containerProperty:e,$containerIndex:r}){if(!e)throw new Error("Missing '$containerProperty' in AST node.");return r!==void 0?e+this.indexSeparator+r:e}getAstNode(e,r){return r.split(this.segmentSeparator).reduce((i,o)=>{if(!i||o.length===0)return i;let s=o.indexOf(this.indexSeparator);if(s>0){let a=o.substring(0,s),c=parseInt(o.substring(s+1));return i[a]?.[c]}return i[o]},e)}};var it={};Se(it,mm(ux(),1));var Gl=class{constructor(e){this._ready=new Jt,this.onConfigurationSectionUpdateEmitter=new it.Emitter,this.settings={},this.workspaceConfig=!1,this.serviceRegistry=e.ServiceRegistry}get ready(){return this._ready.promise}initialize(e){this.workspaceConfig=e.capabilities.workspace?.configuration??!1}async initialized(e){if(this.workspaceConfig){if(e.register){let r=this.serviceRegistry.all;e.register({section:r.map(n=>this.toSectionName(n.LanguageMetaData.languageId))})}if(e.fetchConfiguration){let r=this.serviceRegistry.all.map(i=>({section:this.toSectionName(i.LanguageMetaData.languageId)})),n=await e.fetchConfiguration(r);r.forEach((i,o)=>{this.updateSectionConfiguration(i.section,n[o])})}}this._ready.resolve()}updateConfiguration(e){typeof e.settings!="object"||e.settings===null||Object.entries(e.settings).forEach(([r,n])=>{this.updateSectionConfiguration(r,n),this.onConfigurationSectionUpdateEmitter.fire({section:r,configuration:n})})}updateSectionConfiguration(e,r){this.settings[e]=r}async getConfiguration(e,r){await this.ready;let n=this.toSectionName(e);if(this.settings[n])return this.settings[n][r]}toSectionName(e){return`${e}`}get onConfigurationSectionUpdate(){return this.onConfigurationSectionUpdateEmitter.event}};var $a=mm(FI(),1);var Bi;(function(t){function e(r){return{dispose:async()=>await r()}}t.create=e})(Bi||(Bi={}));var Zl=class{constructor(e){this.updateBuildOptions={validation:{categories:["built-in","fast"]}},this.updateListeners=[],this.buildPhaseListeners=new Bt,this.documentPhaseListeners=new Bt,this.buildState=new Map,this.documentBuildWaiters=new Map,this.currentState=ye.Changed,this.langiumDocuments=e.workspace.LangiumDocuments,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.textDocuments=e.workspace.TextDocuments,this.indexManager=e.workspace.IndexManager,this.fileSystemProvider=e.workspace.FileSystemProvider,this.workspaceManager=()=>e.workspace.WorkspaceManager,this.serviceRegistry=e.ServiceRegistry}async build(e,r={},n=oe.CancellationToken.None){for(let i of e){let o=i.uri.toString();if(i.state===ye.Validated){if(typeof r.validation=="boolean"&&r.validation)this.resetToState(i,ye.IndexedReferences);else if(typeof r.validation=="object"){let s=this.findMissingValidationCategories(i,r);s.length>0&&(this.buildState.set(o,{completed:!1,options:{validation:{categories:s}},result:this.buildState.get(o)?.result}),i.state=ye.IndexedReferences)}}else this.buildState.delete(o)}this.currentState=ye.Changed,await this.emitUpdate(e.map(i=>i.uri),[]),await this.buildDocuments(e,r,n)}async update(e,r,n=oe.CancellationToken.None){this.currentState=ye.Changed;let i=[];for(let c of r){let l=this.langiumDocuments.deleteDocuments(c);for(let u of l)i.push(u.uri),this.cleanUpDeleted(u)}let o=(await Promise.all(e.map(c=>this.findChangedUris(c)))).flat();for(let c of o){let l=this.langiumDocuments.getDocument(c);l===void 0&&(l=this.langiumDocumentFactory.fromModel({$type:"INVALID"},c),l.state=ye.Changed,this.langiumDocuments.addDocument(l)),this.resetToState(l,ye.Changed)}let s=xe(o).concat(i).map(c=>c.toString()).toSet();this.langiumDocuments.all.filter(c=>!s.has(c.uri.toString())&&this.shouldRelink(c,s)).forEach(c=>this.resetToState(c,ye.ComputedScopes)),await this.emitUpdate(o,i),await pt(n);let a=this.sortDocuments(this.langiumDocuments.all.filter(c=>c.state<ye.Validated||!this.buildState.get(c.uri.toString())?.completed||this.resultsAreIncomplete(c,this.updateBuildOptions)).toArray());await this.buildDocuments(a,this.updateBuildOptions,n)}resultsAreIncomplete(e,r){return this.findMissingValidationCategories(e,r).length>=1}findMissingValidationCategories(e,r){let n=this.buildState.get(e.uri.toString()),i=this.serviceRegistry.getServices(e.uri).validation.ValidationRegistry.getAllValidationCategories(e),o=n?.result?.validationChecks?new Set(n?.result?.validationChecks):n?.completed?i:new Set,s=r===void 0||r.validation===!0?i:typeof r.validation=="object"?r.validation.categories??i:[];return xe(s).filter(a=>!o.has(a)).toArray()}async findChangedUris(e){if(this.langiumDocuments.getDocument(e)??this.textDocuments?.get(e))return[e];try{let n=await this.fileSystemProvider.stat(e);if(n.isDirectory)return await this.workspaceManager().searchFolder(e);if(this.workspaceManager().shouldIncludeEntry(n))return[e]}catch{}return[]}async emitUpdate(e,r){await Promise.all(this.updateListeners.map(n=>n(e,r)))}sortDocuments(e){let r=0,n=e.length-1;for(;r<n;){for(;r<e.length&&this.hasTextDocument(e[r]);)r++;for(;n>=0&&!this.hasTextDocument(e[n]);)n--;r<n&&([e[r],e[n]]=[e[n],e[r]])}return e}hasTextDocument(e){return!!this.textDocuments?.get(e.uri)}shouldRelink(e,r){return e.references.some(n=>n.error!==void 0)?!0:this.indexManager.isAffected(e,r)}onUpdate(e){return this.updateListeners.push(e),Bi.create(()=>{let r=this.updateListeners.indexOf(e);r>=0&&this.updateListeners.splice(r,1)})}resetToState(e,r){switch(r){case ye.Changed:case ye.Parsed:this.indexManager.removeContent(e.uri);case ye.IndexedContent:e.localSymbols=void 0;case ye.ComputedScopes:this.serviceRegistry.getServices(e.uri).references.Linker.unlink(e);case ye.Linked:this.indexManager.removeReferences(e.uri);case ye.IndexedReferences:e.diagnostics=void 0,this.buildState.delete(e.uri.toString());case ye.Validated:}e.state>r&&(e.state=r)}cleanUpDeleted(e){this.buildState.delete(e.uri.toString()),this.indexManager.remove(e.uri),e.state=ye.Changed}async buildDocuments(e,r,n){this.prepareBuild(e,r),await this.runCancelable(e,ye.Parsed,n,s=>this.langiumDocumentFactory.update(s,n)),await this.runCancelable(e,ye.IndexedContent,n,s=>this.indexManager.updateContent(s,n)),await this.runCancelable(e,ye.ComputedScopes,n,async s=>{let a=this.serviceRegistry.getServices(s.uri).references.ScopeComputation;s.localSymbols=await a.collectLocalSymbols(s,n)});let i=e.filter(s=>this.shouldLink(s));await this.runCancelable(i,ye.Linked,n,s=>this.serviceRegistry.getServices(s.uri).references.Linker.link(s,n)),await this.runCancelable(i,ye.IndexedReferences,n,s=>this.indexManager.updateReferences(s,n));let o=e.filter(s=>this.shouldValidate(s)?!0:(this.markAsCompleted(s),!1));await this.runCancelable(o,ye.Validated,n,async s=>{await this.validate(s,n),this.markAsCompleted(s)})}markAsCompleted(e){let r=this.buildState.get(e.uri.toString());r&&(r.completed=!0)}prepareBuild(e,r){for(let n of e){let i=n.uri.toString(),o=this.buildState.get(i);(!o||o.completed)&&this.buildState.set(i,{completed:!1,options:r,result:o?.result})}}async runCancelable(e,r,n,i){for(let s of e)s.state<r&&(await pt(n),await i(s),s.state=r,await this.notifyDocumentPhase(s,r,n));let o=e.filter(s=>s.state===r);await this.notifyBuildPhase(o,r,n),this.currentState=r}onBuildPhase(e,r){return this.buildPhaseListeners.add(e,r),Bi.create(()=>{this.buildPhaseListeners.delete(e,r)})}onDocumentPhase(e,r){return this.documentPhaseListeners.add(e,r),Bi.create(()=>{this.documentPhaseListeners.delete(e,r)})}waitUntil(e,r,n){let i;return r&&"path"in r?i=r:n=r,n??(n=oe.CancellationToken.None),i?this.awaitDocumentState(e,i,n):this.awaitBuilderState(e,n)}awaitDocumentState(e,r,n){let i=this.langiumDocuments.getDocument(r);if(i){if(i.state>=e)return Promise.resolve(r);if(n.isCancellationRequested)return Promise.reject(wr);if(this.currentState>=e&&e>i.state)return Promise.reject(new $a.ResponseError($a.LSPErrorCodes.RequestFailed,`Document state of ${r.toString()} is ${ye[i.state]}, requiring ${ye[e]}, but workspace state is already ${ye[this.currentState]}. Returning undefined.`))}else return Promise.reject(new $a.ResponseError($a.LSPErrorCodes.ServerCancelled,`No document found for URI: ${r.toString()}`));return new Promise((o,s)=>{let a=this.onDocumentPhase(e,l=>{vt.equals(l.uri,r)&&(a.dispose(),c.dispose(),o(l.uri))}),c=n.onCancellationRequested(()=>{a.dispose(),c.dispose(),s(wr)})})}awaitBuilderState(e,r){return this.currentState>=e?Promise.resolve():r.isCancellationRequested?Promise.reject(wr):new Promise((n,i)=>{let o=this.onBuildPhase(e,()=>{o.dispose(),s.dispose(),n()}),s=r.onCancellationRequested(()=>{o.dispose(),s.dispose(),i(wr)})})}async notifyDocumentPhase(e,r,n){let o=this.documentPhaseListeners.get(r).slice();for(let s of o)try{await pt(n),await s(e,n)}catch(a){if(!yn(a))throw a}}async notifyBuildPhase(e,r,n){if(e.length===0)return;let o=this.buildPhaseListeners.get(r).slice();for(let s of o)await pt(n),await s(e,n)}shouldLink(e){return this.getBuildOptions(e).eagerLinking??!0}shouldValidate(e){return!!this.getBuildOptions(e).validation}async validate(e,r){let n=this.serviceRegistry.getServices(e.uri).validation.DocumentValidator,i=this.getBuildOptions(e),o=typeof i.validation=="object"?{...i.validation}:{};o.categories=this.findMissingValidationCategories(e,i);let s=await n.validateDocument(e,o,r);e.diagnostics?e.diagnostics.push(...s):e.diagnostics=s;let a=this.buildState.get(e.uri.toString());a&&(a.result??(a.result={}),a.result.validationChecks?a.result.validationChecks=xe(a.result.validationChecks).concat(o.categories).distinct().toArray():a.result.validationChecks=[...o.categories])}getBuildOptions(e){return this.buildState.get(e.uri.toString())?.options??{}}};var Jl=class{constructor(e){this.symbolIndex=new Map,this.symbolByTypeIndex=new Uo,this.referenceIndex=new Map,this.documents=e.workspace.LangiumDocuments,this.serviceRegistry=e.ServiceRegistry,this.astReflection=e.AstReflection}findAllReferences(e,r){let n=Ft(e).uri,i=[];return this.referenceIndex.forEach(o=>{o.forEach(s=>{vt.equals(s.targetUri,n)&&s.targetPath===r&&i.push(s)})}),xe(i)}allElements(e,r){let n=xe(this.symbolIndex.keys());return r&&(n=n.filter(i=>!r||r.has(i))),n.map(i=>this.getFileDescriptions(i,e)).flat()}getFileDescriptions(e,r){return r?this.symbolByTypeIndex.get(e,r,()=>(this.symbolIndex.get(e)??[]).filter(o=>this.astReflection.isSubtype(o.type,r))):this.symbolIndex.get(e)??[]}remove(e){this.removeContent(e),this.removeReferences(e)}removeContent(e){let r=e.toString();this.symbolIndex.delete(r),this.symbolByTypeIndex.clear(r)}removeReferences(e){let r=e.toString();this.referenceIndex.delete(r)}async updateContent(e,r=oe.CancellationToken.None){let i=await this.serviceRegistry.getServices(e.uri).references.ScopeComputation.collectExportedSymbols(e,r),o=e.uri.toString();this.symbolIndex.set(o,i),this.symbolByTypeIndex.clear(o)}async updateReferences(e,r=oe.CancellationToken.None){let i=await this.serviceRegistry.getServices(e.uri).workspace.ReferenceDescriptionProvider.createDescriptions(e,r);this.referenceIndex.set(e.uri.toString(),i)}isAffected(e,r){let n=this.referenceIndex.get(e.uri.toString());return n?n.some(i=>!i.local&&r.has(i.targetUri.toString())):!1}};var Ql=class{constructor(e){this.initialBuildOptions={},this._ready=new Jt,this.serviceRegistry=e.ServiceRegistry,this.langiumDocuments=e.workspace.LangiumDocuments,this.documentBuilder=e.workspace.DocumentBuilder,this.fileSystemProvider=e.workspace.FileSystemProvider,this.mutex=e.workspace.WorkspaceLock}get ready(){return this._ready.promise}get workspaceFolders(){return this.folders}initialize(e){this.folders=e.workspaceFolders??void 0}initialized(e){return this.mutex.write(r=>this.initializeWorkspace(this.folders??[],r))}async initializeWorkspace(e,r=oe.CancellationToken.None){let n=await this.performStartup(e);await pt(r),await this.documentBuilder.build(n,this.initialBuildOptions,r)}async performStartup(e){let r=[],n=s=>{r.push(s),this.langiumDocuments.hasDocument(s.uri)||this.langiumDocuments.addDocument(s)};await this.loadAdditionalDocuments(e,n);let i=[];await Promise.all(e.map(s=>this.getRootFolder(s)).map(async s=>this.traverseFolder(s,i)));let o=xe(i).distinct(s=>s.toString()).filter(s=>!this.langiumDocuments.hasDocument(s));return await this.loadWorkspaceDocuments(o,n),this._ready.resolve(),r}async loadWorkspaceDocuments(e,r){await Promise.all(e.map(async n=>{let i=await this.langiumDocuments.getOrCreateDocument(n);r(i)}))}loadAdditionalDocuments(e,r){return Promise.resolve()}getRootFolder(e){return ht.parse(e.uri)}async traverseFolder(e,r){try{let n=await this.fileSystemProvider.readDirectory(e);await Promise.all(n.map(async i=>{this.shouldIncludeEntry(i)&&(i.isDirectory?await this.traverseFolder(i.uri,r):i.isFile&&r.push(i.uri))}))}catch(n){console.error("Failure to read directory content of "+e.toString(!0),n)}}async searchFolder(e){let r=[];return await this.traverseFolder(e,r),r}shouldIncludeEntry(e){let r=vt.basename(e.uri);return r.startsWith(".")?!1:e.isDirectory?r!=="node_modules"&&r!=="out":e.isFile?this.serviceRegistry.hasServices(e.uri):!1}};var eu=class{buildUnexpectedCharactersMessage(e,r,n,i,o){return Cs.buildUnexpectedCharactersMessage(e,r,n,i,o)}buildUnableToPopLexerModeMessage(e){return Cs.buildUnableToPopLexerModeMessage(e)}},Hp={mode:"full"},jo=class{constructor(e){this.errorMessageProvider=e.parser.LexerErrorMessageProvider,this.tokenBuilder=e.parser.TokenBuilder;let r=this.tokenBuilder.buildTokens(e.Grammar,{caseInsensitive:e.LanguageMetaData.caseInsensitive});this.tokenTypes=this.toTokenTypeDictionary(r);let n=XT(r)?Object.values(r):r,i=e.LanguageMetaData.mode==="production";this.chevrotainLexer=new ct(n,{positionTracking:"full",skipValidations:i,errorMessageProvider:this.errorMessageProvider})}get definition(){return this.tokenTypes}tokenize(e,r=Hp){let n=this.chevrotainLexer.tokenize(e);return{tokens:n.tokens,errors:n.errors,hidden:n.groups.hidden??[],report:this.tokenBuilder.flushLexingReport?.(e)}}toTokenTypeDictionary(e){if(XT(e))return e;let r=HT(e)?Object.values(e.modes).flat():e,n={};return r.forEach(i=>n[i.name]=i),n}};function jp(t){return Array.isArray(t)&&(t.length===0||"name"in t[0])}function HT(t){return t&&"modes"in t&&"defaultMode"in t}function XT(t){return!jp(t)&&!HT(t)}sa();function qT(t,e,r){let n,i;typeof t=="string"?(i=e,n=r):(i=t.range.start,n=e),i||(i=Ie.create(0,0));let o=GI(t),s=VT(n),a=fU({lines:o,position:i,options:s});return gU({index:0,tokens:a,position:i})}function WT(t,e){let r=VT(e),n=GI(t);if(n.length===0)return!1;let i=n[0],o=n[n.length-1],s=r.start,a=r.end;return!!s?.exec(i)&&!!a?.exec(o)}function GI(t){let e="";return typeof t=="string"?e=t:e=t.text,e.split(Ym)}var UI=/\s*(@([\p{L}][\p{L}\p{N}]*)?)/uy,uU=/\{(@[\p{L}][\p{L}\p{N}]*)(\s*)([^\r\n}]+)?\}/gu;function fU(t){let e=[],r=t.position.line,n=t.position.character;for(let i=0;i<t.lines.length;i++){let o=i===0,s=i===t.lines.length-1,a=t.lines[i],c=0;if(o&&t.options.start){let u=t.options.start?.exec(a);u&&(c=u.index+u[0].length)}else{let u=t.options.line?.exec(a);u&&(c=u.index+u[0].length)}if(s){let u=t.options.end?.exec(a);u&&(a=a.substring(0,u.index))}if(a=a.substring(0,mU(a)),zT(a,c)>=a.length){if(e.length>0){let u=Ie.create(r,n);e.push({type:"break",content:"",range:Ee.create(u,u)})}}else{UI.lastIndex=c;let u=UI.exec(a);if(u){let f=u[0],d=u[1],p=Ie.create(r,n+c),m=Ie.create(r,n+c+f.length);e.push({type:"tag",content:d,range:Ee.create(p,m)}),c+=f.length,c=zT(a,c)}if(c<a.length){let f=a.substring(c),d=Array.from(f.matchAll(uU));e.push(...dU(d,f,r,n+c))}}r++,n=0}return e.length>0&&e[e.length-1].type==="break"?e.slice(0,-1):e}function dU(t,e,r,n){let i=[];if(t.length===0){let o=Ie.create(r,n),s=Ie.create(r,n+e.length);i.push({type:"text",content:e,range:Ee.create(o,s)})}else{let o=0;for(let a of t){let c=a.index,l=e.substring(o,c);l.length>0&&i.push({type:"text",content:e.substring(o,c),range:Ee.create(Ie.create(r,o+n),Ie.create(r,c+n))});let u=l.length+1,f=a[1];if(i.push({type:"inline-tag",content:f,range:Ee.create(Ie.create(r,o+u+n),Ie.create(r,o+u+f.length+n))}),u+=f.length,a.length===4){u+=a[2].length;let d=a[3];i.push({type:"text",content:d,range:Ee.create(Ie.create(r,o+u+n),Ie.create(r,o+u+d.length+n))})}else i.push({type:"text",content:"",range:Ee.create(Ie.create(r,o+u+n),Ie.create(r,o+u+n))});o=c+a[0].length}let s=e.substring(o);s.length>0&&i.push({type:"text",content:s,range:Ee.create(Ie.create(r,o+n),Ie.create(r,o+n+s.length))})}return i}var pU=/\S/,hU=/\s*$/;function zT(t,e){let r=t.substring(e).match(pU);return r?e+r.index:t.length}function mU(t){let e=t.match(hU);if(e&&typeof e.index=="number")return e.index}function gU(t){let e=Ie.create(t.position.line,t.position.character);if(t.tokens.length===0)return new zp([],Ee.create(e,e));let r=[];for(;t.index<t.tokens.length;){let o=yU(t,r[r.length-1]);o&&r.push(o)}let n=r[0]?.range.start??e,i=r[r.length-1]?.range.end??e;return new zp(r,Ee.create(n,i))}function yU(t,e){let r=t.tokens[t.index];if(r.type==="tag")return HI(t,!1);if(r.type==="text"||r.type==="inline-tag")return XI(t);xU(r,e),t.index++}function xU(t,e){if(e){let r=new qp("",t.range);"inlines"in e?e.inlines.push(r):e.content.inlines.push(r)}}function XI(t){let e=t.tokens[t.index],r=e,n=e,i=[];for(;e&&e.type!=="break"&&e.type!=="tag";)i.push(TU(t)),n=e,e=t.tokens[t.index];return new ru(i,Ee.create(r.range.start,n.range.end))}function TU(t){return t.tokens[t.index].type==="inline-tag"?HI(t,!0):jI(t)}function HI(t,e){let r=t.tokens[t.index++],n=r.content.substring(1);if(t.tokens[t.index]?.type==="text")if(e){let o=jI(t);return new tu(n,new ru([o],o.range),e,Ee.create(r.range.start,o.range.end))}else{let o=XI(t);return new tu(n,o,e,Ee.create(r.range.start,o.range.end))}else{let o=r.range;return new tu(n,new ru([],o),e,o)}}function jI(t){let e=t.tokens[t.index++];return new qp(e.content,e.range)}function VT(t){if(!t)return VT({start:"/**",end:"*/",line:"*"});let{start:e,end:r,line:n}=t;return{start:jT(e,!0),end:jT(r,!1),line:jT(n,!0)}}function jT(t,e){if(typeof t=="string"||typeof t=="object"){let r=typeof t=="string"?hi(t):t.source;return e?new RegExp(`^\\s*${r}`):new RegExp(`\\s*${r}\\s*$`)}else return t}var zp=class{constructor(e,r){this.elements=e,this.range=r}getTag(e){return this.getAllTags().find(r=>r.name===e)}getTags(e){return this.getAllTags().filter(r=>r.name===e)}getAllTags(){return this.elements.filter(e=>"name"in e)}toString(){let e="";for(let r of this.elements)if(e.length===0)e=r.toString();else{let n=r.toString();e+=BI(e)+n}return e.trim()}toMarkdown(e){let r="";for(let n of this.elements)if(r.length===0)r=n.toMarkdown(e);else{let i=n.toMarkdown(e);r+=BI(r)+i}return r.trim()}},tu=class{constructor(e,r,n,i){this.name=e,this.content=r,this.inline=n,this.range=i}toString(){let e=`@${this.name}`,r=this.content.toString();return this.content.inlines.length===1?e=`${e} ${r}`:this.content.inlines.length>1&&(e=`${e}
|
|
153
|
+
${r}`),this.inline?`{${e}}`:e}toMarkdown(e){return e?.renderTag?.(this)??this.toMarkdownDefault(e)}toMarkdownDefault(e){let r=this.content.toMarkdown(e);if(this.inline){let o=_U(this.name,r,e??{});if(typeof o=="string")return o}let n="";e?.tag==="italic"||e?.tag===void 0?n="*":e?.tag==="bold"?n="**":e?.tag==="bold-italic"&&(n="***");let i=`${n}@${this.name}${n}`;return this.content.inlines.length===1?i=`${i} \u2014 ${r}`:this.content.inlines.length>1&&(i=`${i}
|
|
154
|
+
${r}`),this.inline?`{${i}}`:i}};function _U(t,e,r){if(t==="linkplain"||t==="linkcode"||t==="link"){let n=e.indexOf(" "),i=e;if(n>0){let s=zT(e,n);i=e.substring(s),e=e.substring(0,n)}return(t==="linkcode"||t==="link"&&r.link==="code")&&(i=`\`${i}\``),r.renderLink?.(e,i)??EU(e,i)}}function EU(t,e){try{return ht.parse(t,!0),`[${e}](${t})`}catch{return t}}var ru=class{constructor(e,r){this.inlines=e,this.range=r}toString(){let e="";for(let r=0;r<this.inlines.length;r++){let n=this.inlines[r],i=this.inlines[r+1];e+=n.toString(),i&&i.range.start.line>n.range.start.line&&(e+=`
|
|
155
155
|
`)}return e}toMarkdown(e){let r="";for(let n=0;n<this.inlines.length;n++){let i=this.inlines[n],o=this.inlines[n+1];r+=i.toMarkdown(e),o&&o.range.start.line>i.range.start.line&&(r+=`
|
|
156
|
-
`)}return r}},
|
|
156
|
+
`)}return r}},qp=class{constructor(e,r){this.text=e,this.range=r}toString(){return this.text}toMarkdown(){return this.text}};function BI(t){return t.endsWith(`
|
|
157
157
|
`)?`
|
|
158
158
|
`:`
|
|
159
159
|
|
|
160
|
-
`}var tu=class{constructor(e){this.indexManager=e.shared.workspace.IndexManager,this.commentProvider=e.documentation.CommentProvider}getDocumentation(e){let r=this.commentProvider.getComment(e);if(r&>(r))return BT(r).toMarkdown({renderLink:(i,o)=>this.documentationLinkRenderer(e,i,o),renderTag:i=>this.documentationTagRenderer(e,i)})}documentationLinkRenderer(e,r,n){let i=this.findNameInLocalSymbols(e,r)??this.findNameInGlobalScope(e,r);if(i&&i.nameSegment){let o=i.nameSegment.range.start.line+1,s=i.nameSegment.range.start.character+1,a=i.documentUri.with({fragment:`L${o},${s}`});return`[${n}](${a.toString()})`}else return}documentationTagRenderer(e,r){}findNameInLocalSymbols(e,r){let i=Ut(e).localSymbols;if(!i)return;let o=e;do{let a=i.getStream(o).find(c=>c.name===r);if(a)return a;o=o.$container}while(o)}findNameInGlobalScope(e,r){return this.indexManager.allElements().find(i=>i.name===r)}};var ru=class{constructor(e){this.grammarConfig=()=>e.parser.GrammarConfig}getComment(e){return ux(e)?e.$comment:Fm(e.$cstNode,this.grammarConfig().multilineCommentRules)?.text}};var nu=class{constructor(e){this.syncParser=e.parser.LangiumParser}parse(e,r){return Promise.resolve(this.syncParser.parse(e))}},HT=class{constructor(e){this.threadCount=8,this.terminationDelay=200,this.workerPool=[],this.queue=[],this.hydrator=e.serializer.Hydrator}initializeWorkers(){for(;this.workerPool.length<this.threadCount;){let e=this.createWorker();e.onReady(()=>{if(this.queue.length>0){let r=this.queue.shift();r&&(e.lock(),r.resolve(e))}}),this.workerPool.push(e)}}async parse(e,r){let n=await this.acquireParserWorker(r),i=new Qt,o,s=r.onCancellationRequested(()=>{o=setTimeout(()=>{this.terminateWorker(n)},this.terminationDelay)});return n.parse(e).then(a=>{let c=this.hydrator.hydrate(a);i.resolve(c)}).catch(a=>{i.reject(a)}).finally(()=>{s.dispose(),clearTimeout(o)}),i.promise}terminateWorker(e){e.terminate();let r=this.workerPool.indexOf(e);r>=0&&this.workerPool.splice(r,1)}async acquireParserWorker(e){this.initializeWorkers();for(let n of this.workerPool)if(n.ready)return n.lock(),n;let r=new Qt;return e.onCancellationRequested(()=>{let n=this.queue.indexOf(r);n>=0&&this.queue.splice(n,1),r.reject(br)}),this.queue.push(r),r.promise}},jT=class{get ready(){return this._ready}get onReady(){return this.onReadyEmitter.event}constructor(e,r,n,i){this.onReadyEmitter=new it.Emitter,this.deferred=new Qt,this._ready=!0,this._parsing=!1,this.sendMessage=e,this._terminate=i,r(o=>{let s=o;this.deferred.resolve(s),this.unlock()}),n(o=>{this.deferred.reject(o),this.unlock()})}terminate(){this.deferred.reject(br),this._terminate()}lock(){this._ready=!1}unlock(){this._parsing=!1,this._ready=!0,this.onReadyEmitter.fire()}parse(e){if(this._parsing)throw new Error("Parser worker is busy");return this._parsing=!0,this.deferred=new Qt,this.sendMessage(e),this.deferred.promise}};var iu=class{constructor(){this.previousTokenSource=new oe.CancellationTokenSource,this.writeQueue=[],this.readQueue=[],this.done=!0}write(e){this.cancelWrite();let r=Qd();return this.previousTokenSource=r,this.enqueue(this.writeQueue,e,r.token)}read(e){return this.enqueue(this.readQueue,e)}enqueue(e,r,n=oe.CancellationToken.None){let i=new Qt,o={action:r,deferred:i,cancellationToken:n};return e.push(o),this.performNextOperation(),i.promise}async performNextOperation(){if(!this.done)return;let e=[];if(this.writeQueue.length>0)e.push(this.writeQueue.shift());else if(this.readQueue.length>0)e.push(...this.readQueue.splice(0,this.readQueue.length));else return;this.done=!1,await Promise.all(e.map(async({action:r,deferred:n,cancellationToken:i})=>{try{let o=await Promise.resolve().then(()=>r(i));n.resolve(o)}catch(o){gn(o)?n.resolve(void 0):n.reject(o)}})),this.done=!0,this.performNextOperation()}cancelWrite(){this.previousTokenSource.cancel()}};var ou=class{constructor(e){this.grammarElementIdMap=new $o,this.tokenTypeIdMap=new $o,this.grammar=e.Grammar,this.lexer=e.parser.Lexer,this.linker=e.references.Linker}dehydrate(e){return{lexerErrors:e.lexerErrors,lexerReport:e.lexerReport?this.dehydrateLexerReport(e.lexerReport):void 0,parserErrors:e.parserErrors.map(r=>({...r,message:r.message})),value:this.dehydrateAstNode(e.value,this.createDehyrationContext(e.value))}}dehydrateLexerReport(e){return e}createDehyrationContext(e){let r=new Map,n=new Map;for(let i of qt(e))r.set(i,{});if(e.$cstNode)for(let i of fo(e.$cstNode))n.set(i,{});return{astNodes:r,cstNodes:n}}dehydrateAstNode(e,r){let n=r.astNodes.get(e);n.$type=e.$type,n.$containerIndex=e.$containerIndex,n.$containerProperty=e.$containerProperty,e.$cstNode!==void 0&&(n.$cstNode=this.dehydrateCstNode(e.$cstNode,r));for(let[i,o]of Object.entries(e))if(!i.startsWith("$"))if(Array.isArray(o)){let s=[];n[i]=s;for(let a of o)ht(a)?s.push(this.dehydrateAstNode(a,r)):At(a)?s.push(this.dehydrateReference(a,r)):s.push(a)}else ht(o)?n[i]=this.dehydrateAstNode(o,r):At(o)?n[i]=this.dehydrateReference(o,r):o!==void 0&&(n[i]=o);return n}dehydrateReference(e,r){let n={};return n.$refText=e.$refText,e.$refNode&&(n.$refNode=r.cstNodes.get(e.$refNode)),n}dehydrateCstNode(e,r){let n=r.cstNodes.get(e);return Ec(e)?n.fullText=e.fullText:n.grammarSource=this.getGrammarElementId(e.grammarSource),n.hidden=e.hidden,n.astNode=r.astNodes.get(e.astNode),Dr(e)?n.content=e.content.map(i=>this.dehydrateCstNode(i,r)):ti(e)&&(n.tokenType=e.tokenType.name,n.offset=e.offset,n.length=e.length,n.startLine=e.range.start.line,n.startColumn=e.range.start.character,n.endLine=e.range.end.line,n.endColumn=e.range.end.character),n}hydrate(e){let r=e.value,n=this.createHydrationContext(r);return"$cstNode"in r&&this.hydrateCstNode(r.$cstNode,n),{lexerErrors:e.lexerErrors,lexerReport:e.lexerReport,parserErrors:e.parserErrors,value:this.hydrateAstNode(r,n)}}createHydrationContext(e){let r=new Map,n=new Map;for(let o of qt(e))r.set(o,{});let i;if(e.$cstNode)for(let o of fo(e.$cstNode)){let s;"fullText"in o?(s=new ia(o.fullText),i=s):"content"in o?s=new Po:"tokenType"in o&&(s=this.hydrateCstLeafNode(o)),s&&(n.set(o,s),s.root=i)}return{astNodes:r,cstNodes:n}}hydrateAstNode(e,r){let n=r.astNodes.get(e);n.$type=e.$type,n.$containerIndex=e.$containerIndex,n.$containerProperty=e.$containerProperty,e.$cstNode&&(n.$cstNode=r.cstNodes.get(e.$cstNode));for(let[i,o]of Object.entries(e))if(!i.startsWith("$"))if(Array.isArray(o)){let s=[];n[i]=s;for(let a of o)ht(a)?s.push(this.setParent(this.hydrateAstNode(a,r),n)):At(a)?s.push(this.hydrateReference(a,n,i,r)):s.push(a)}else ht(o)?n[i]=this.setParent(this.hydrateAstNode(o,r),n):At(o)?n[i]=this.hydrateReference(o,n,i,r):o!==void 0&&(n[i]=o);return n}setParent(e,r){return e.$container=r,e}hydrateReference(e,r,n,i){return this.linker.buildReference(r,n,i.cstNodes.get(e.$refNode),e.$refText)}hydrateCstNode(e,r,n=0){let i=r.cstNodes.get(e);if(typeof e.grammarSource=="number"&&(i.grammarSource=this.getGrammarElement(e.grammarSource)),i.astNode=r.astNodes.get(e.astNode),Dr(i))for(let o of e.content){let s=this.hydrateCstNode(o,r,n++);i.content.push(s)}return i}hydrateCstLeafNode(e){let r=this.getTokenType(e.tokenType),n=e.offset,i=e.length,o=e.startLine,s=e.startColumn,a=e.endLine,c=e.endColumn,l=e.hidden;return new No(n,i,{start:{line:o,character:s},end:{line:a,character:c}},r,l)}getTokenType(e){return this.lexer.definition[e]}getGrammarElementId(e){if(e)return this.grammarElementIdMap.size===0&&this.createGrammarElementIdMap(),this.grammarElementIdMap.get(e)}getGrammarElement(e){return this.grammarElementIdMap.size===0&&this.createGrammarElementIdMap(),this.grammarElementIdMap.getKey(e)}createGrammarElementIdMap(){let e=0;for(let r of qt(this.grammar))Pc(r)&&this.grammarElementIdMap.set(r,e++)}};function su(t){return{documentation:{CommentProvider:e=>new ru(e),DocumentationProvider:e=>new tu(e)},parser:{AsyncParser:e=>new nu(e),GrammarConfig:e=>ng(e),LangiumParser:e=>Jy(e),CompletionParser:e=>Zy(e),ValueConverter:()=>new Lo,TokenBuilder:()=>new Oo,Lexer:e=>new Xo(e),ParserErrorMessageProvider:()=>new oa,LexerErrorMessageProvider:()=>new Jl},workspace:{AstNodeLocator:()=>new Fl,AstNodeDescriptionProvider:e=>new $l(e),ReferenceDescriptionProvider:e=>new Ml(e)},references:{Linker:e=>new bl(e),NameProvider:()=>new Al,ScopeProvider:e=>new Pl(e),ScopeComputation:e=>new Il(e),References:e=>new Sl(e)},serializer:{Hydrator:e=>new ou(e),JsonSerializer:e=>new Cl(e)},validation:{DocumentValidator:e=>new Dl(e),ValidationRegistry:e=>new Ll(e)},shared:()=>t.shared}}function au(t){return{ServiceRegistry:e=>new Ol(e),workspace:{LangiumDocuments:e=>new wl(e),LangiumDocumentFactory:e=>new Rl(e),DocumentBuilder:e=>new Yl(e),IndexManager:e=>new Kl(e),WorkspaceManager:e=>new Zl(e),FileSystemProvider:e=>t.fileSystemProvider(e),WorkspaceLock:()=>new iu,ConfigurationProvider:e=>new Ul(e)},profilers:{}}}var zT;(function(t){t.merge=(e,r)=>cu(cu({},e),r)})(zT||(zT={}));function Ho(t,e,r,n,i,o,s,a,c){let l=[t,e,r,n,i,o,s,a,c].reduce(cu,{});return HI(l)}var GI=Symbol("isProxy");function XI(t){if(t&&t[GI])for(let e of Object.values(t))XI(e);return t}function HI(t,e){let r=new Proxy({},{deleteProperty:()=>!1,set:()=>{throw new Error("Cannot set property on injected service container")},get:(n,i)=>i===GI?!0:BI(n,i,t,e||r),getOwnPropertyDescriptor:(n,i)=>(BI(n,i,t,e||r),Object.getOwnPropertyDescriptor(n,i)),has:(n,i)=>i in t,ownKeys:()=>[...Object.getOwnPropertyNames(t)]});return r}var UI=Symbol();function BI(t,e,r,n){if(e in t){if(t[e]instanceof Error)throw new Error("Construction failure. Please make sure that your dependencies are constructable. Cause: "+t[e]);if(t[e]===UI)throw new Error('Cycle detected. Please make "'+String(e)+'" lazy. Visit https://langium.org/docs/reference/configuration-services/#resolving-cyclic-dependencies');return t[e]}else if(e in r){let i=r[e];t[e]=UI;try{t[e]=typeof i=="function"?i(n):HI(i,n)}catch(o){throw t[e]=o instanceof Error?o:void 0,o}return t[e]}else return}function cu(t,e){if(e){for(let[r,n]of Object.entries(e))if(n!=null)if(typeof n=="object"){let i=t[r];typeof i=="object"&&i!==null?t[r]=cu(i,n):t[r]=cu({},n)}else t[r]=n}return t}var qT={indentTokenName:"INDENT",dedentTokenName:"DEDENT",whitespaceTokenName:"WS",ignoreIndentationDelimiters:[]},jo;(function(t){t.REGULAR="indentation-sensitive",t.IGNORE_INDENTATION="ignore-indentation"})(jo||(jo={}));var La=class extends Oo{constructor(e=qT){super(),this.indentationStack=[0],this.whitespaceRegExp=/[ \t]+/y,this.options={...qT,...e},this.indentTokenType=pi({name:this.options.indentTokenName,pattern:this.indentMatcher.bind(this),line_breaks:!1}),this.dedentTokenType=pi({name:this.options.dedentTokenName,pattern:this.dedentMatcher.bind(this),line_breaks:!1})}buildTokens(e,r){let n=super.buildTokens(e,r);if(!Bp(n))throw new Error("Invalid tokens built by default builder");let{indentTokenName:i,dedentTokenName:o,whitespaceTokenName:s,ignoreIndentationDelimiters:a}=this.options,c,l,u,f=[];for(let d of n){for(let[p,m]of a)d.name===p?d.PUSH_MODE=jo.IGNORE_INDENTATION:d.name===m&&(d.POP_MODE=!0);d.name===o?c=d:d.name===i?l=d:d.name===s?u=d:f.push(d)}if(!c||!l||!u)throw new Error("Some indentation/whitespace tokens not found!");return a.length>0?{modes:{[jo.REGULAR]:[c,l,...f,u],[jo.IGNORE_INDENTATION]:[...f,u]},defaultMode:jo.REGULAR}:[c,l,u,...f]}flushLexingReport(e){return{...super.flushLexingReport(e),remainingDedents:this.flushRemainingDedents(e)}}isStartOfLine(e,r){return r===0||`\r
|
|
161
|
-
`.includes(e[r-1])}matchWhitespace(e,r,n,i){this.whitespaceRegExp.lastIndex=r;let o=this.whitespaceRegExp.exec(e);return{currIndentLevel:o?.[0].length??0,prevIndentLevel:this.indentationStack.at(-1),match:o}}createIndentationTokenInstance(e,r,n,i){let o=this.getLineNumber(r,i);return Fn(e,n,i,i+n.length,o,o,1,n.length)}getLineNumber(e,r){return e.substring(0,r).split(/\r\n|\r|\n/).length}indentMatcher(e,r,n,i){if(!this.isStartOfLine(e,r))return null;let{currIndentLevel:o,prevIndentLevel:s,match:a}=this.matchWhitespace(e,r,n,i);return o<=s?null:(this.indentationStack.push(o),a)}dedentMatcher(e,r,n,i){if(!this.isStartOfLine(e,r))return null;let{currIndentLevel:o,prevIndentLevel:s,match:a}=this.matchWhitespace(e,r,n,i);if(o>=s)return null;let c=this.indentationStack.lastIndexOf(o);if(c===-1)return this.diagnostics.push({severity:"error",message:`Invalid dedent level ${o} at offset: ${r}. Current indentation stack: ${this.indentationStack}`,offset:r,length:a?.[0]?.length??0,line:this.getLineNumber(e,r),column:1}),null;let l=this.indentationStack.length-c-1,u=e.substring(0,r).match(/[\r\n]+$/)?.[0].length??1;for(let f=0;f<l;f++){let d=this.createIndentationTokenInstance(this.dedentTokenType,e,"",r-(u-1));n.push(d),this.indentationStack.pop()}return null}buildTerminalToken(e){let r=super.buildTerminalToken(e),{indentTokenName:n,dedentTokenName:i,whitespaceTokenName:o}=this.options;return r.name===n?this.indentTokenType:r.name===i?this.dedentTokenType:r.name===o?pi({name:o,pattern:this.whitespaceRegExp,group:ct.SKIPPED}):r}flushRemainingDedents(e){let r=[];for(;this.indentationStack.length>1;)r.push(this.createIndentationTokenInstance(this.dedentTokenType,e,"",e.length)),this.indentationStack.pop();return this.indentationStack=[0],r}},lu=class extends Xo{constructor(e){if(super(e),e.parser.TokenBuilder instanceof La)this.indentationTokenBuilder=e.parser.TokenBuilder;else throw new Error("IndentationAwareLexer requires an accompanying IndentationAwareTokenBuilder")}tokenize(e,r=Up){let n=super.tokenize(e),i=n.report;r?.mode==="full"&&n.tokens.push(...i.remainingDedents),i.remainingDedents=[];let{indentTokenType:o,dedentTokenType:s}=this.indentationTokenBuilder,a=o.tokenTypeIdx,c=s.tokenTypeIdx,l=[],u=n.tokens.length-1;for(let f=0;f<u;f++){let d=n.tokens[f],p=n.tokens[f+1];if(d.tokenTypeIdx===a&&p.tokenTypeIdx===c){f++;continue}l.push(d)}return u>=0&&l.push(n.tokens[u]),n.tokens=l,n}};var Pe={};on(Pe,{AstUtils:()=>of,BiMap:()=>$o,Cancellation:()=>oe,ContextCache:()=>Mo,CstUtils:()=>bf,DONE_RESULT:()=>Ft,Deferred:()=>Qt,Disposable:()=>Mi,DisposableCache:()=>da,DocumentCache:()=>tp,EMPTY_STREAM:()=>ri,ErrorWithLocation:()=>ho,GrammarUtils:()=>vs,MultiMap:()=>Gt,OperationCancelled:()=>br,Reduction:()=>as,RegExpUtils:()=>If,SimpleCache:()=>Nl,StreamImpl:()=>fr,TreeStreamImpl:()=>sn,URI:()=>gt,UriTrie:()=>ua,UriUtils:()=>vt,WorkspaceCache:()=>pa,assertCondition:()=>n0,assertUnreachable:()=>ln,delayNextTick:()=>ax,interruptAndCheck:()=>mt,isOperationCancelled:()=>gn,loadGrammarFromJson:()=>jp,setInterruptionPeriod:()=>Zw,startCancelableOperation:()=>Qd,stream:()=>Te});Ae(Pe,it);var Hp=class{stat(e){throw new Error("No file system is available.")}statSync(e){throw new Error("No file system is available.")}async exists(){return!1}existsSync(){return!1}readBinary(){throw new Error("No file system is available.")}readBinarySync(){throw new Error("No file system is available.")}readFile(){throw new Error("No file system is available.")}readFileSync(){throw new Error("No file system is available.")}async readDirectory(){return[]}readDirectorySync(){return[]}},uu={fileSystemProvider:()=>new Hp};var pU={Grammar:()=>{},LanguageMetaData:()=>({caseInsensitive:!1,fileExtensions:[".langium"],languageId:"langium"})},hU={AstReflection:()=>new ys};function mU(){let t=Ho(au(uu),hU),e=Ho(su({shared:t}),pU);return t.ServiceRegistry.register(e),e}function jp(t){let e=mU(),r=e.serializer.JsonSerializer.deserialize(t);return e.shared.workspace.LangiumDocumentFactory.fromModel(r,gt.parse(`memory:/${r.name??"grammar"}.langium`)),r}Ae(ut,Pe);var WT=class{constructor(e){this.activeCategories=new Set,this.allCategories=new Set(["validating","parsing","linking"]),this.activeCategories=e??new Set(this.allCategories),this.records=new Gt}isActive(e){return this.activeCategories.has(e)}start(...e){e?e.forEach(r=>this.activeCategories.add(r)):this.activeCategories=new Set(this.allCategories)}stop(...e){e?e.forEach(r=>this.activeCategories.delete(r)):this.activeCategories.clear()}createTask(e,r){if(!this.isActive(e))throw new Error(`Category "${e}" is not active.`);return console.log(`Creating profiling task for '${e}.${r}'.`),new zp(n=>this.records.add(e,this.dumpRecord(e,n)),r)}dumpRecord(e,r){console.info(`Task ${e}.${r.identifier} executed in ${r.duration.toFixed(2)}ms and ended at ${r.date.toISOString()}`);let n=[];for(let s of r.entries.keys()){let a=r.entries.get(s),c=a.reduce((l,u)=>l+u);n.push({name:`${r.identifier}.${s}`,count:a.length,duration:c})}let i=r.duration-n.map(s=>s.duration).reduce((s,a)=>s+a,0);n.push({name:r.identifier,count:1,duration:i}),n.sort((s,a)=>a.duration-s.duration);function o(s){return Math.round(100*s)/100}return console.table(n.map(s=>({Element:s.name,Count:s.count,"Self %":o(100*s.duration/r.duration),"Time (ms)":o(s.duration)}))),r}getRecords(...e){return e.length===0?this.records.values():this.records.entries().filter(r=>e.some(n=>n===r[0])).flatMap(r=>r[1])}},zp=class{constructor(e,r){this.stack=[],this.entries=new Gt,this.addRecord=e,this.identifier=r}start(){if(this.startTime!==void 0)throw new Error(`Task "${this.identifier}" is already started.`);this.startTime=performance.now()}stop(){if(this.startTime===void 0)throw new Error(`Task "${this.identifier}" was not started.`);if(this.stack.length!==0)throw new Error(`Task "${this.identifier}" cannot be stopped before sub-task(s): ${this.stack.map(r=>r.id).join(", ")}.`);let e={identifier:this.identifier,date:new Date,duration:performance.now()-this.startTime,entries:this.entries};this.addRecord(e),this.startTime=void 0,this.entries.clear()}startSubTask(e){this.stack.push({id:e,start:performance.now(),content:0})}stopSubTask(e){let r=this.stack.pop();if(!r)throw new Error(`Task "${this.identifier}.${e}" was not started.`);if(r.id!==e)throw new Error(`Sub-Task "${r.id}" is not already stopped.`);let n=performance.now()-r.start;this.stack.at(-1)!==void 0&&(this.stack[this.stack.length-1].content+=n);let i=n-r.content;this.entries.add(e,i)}};var $a={$type:"AnchorDeclaration",description:"description",name:"name",properties:"properties",title:"title"};function Zp(t){return It.isInstance(t,$a.$type)}var VT={$type:"BlockProperty",key:"key",value:"value"};var QT={$type:"CalendarBlock",properties:"properties"};function Jp(t){return It.isInstance(t,QT.$type)}var Da={$type:"ConfigEntry"};var Kp={$type:"DefaultDeclaration",entityType:"entityType",properties:"properties"};function Fi(t){return It.isInstance(t,Kp.$type)}var e_={$type:"DescriptionDirective",text:"text"};function n_(t){return It.isInstance(t,e_.$type)}var qp={$type:"EntityProperty",key:"key",value:"value",values:"values"};var Ma={$type:"FootnoteDeclaration",description:"description",name:"name",properties:"properties",title:"title"};function Qp(t){return It.isInstance(t,Ma.$type)}var Fa={$type:"GroupBlock",content:"content",name:"name",properties:"properties",title:"title"};function qr(t){return It.isInstance(t,Fa.$type)}var fu={$type:"GroupContent"};var YT={$type:"IncludeDeclaration",options:"options",path:"path"};var KT={$type:"IncludeOption",key:"key",value:"value"};var Ua={$type:"ItemDeclaration",description:"description",name:"name",properties:"properties",title:"title"};function yr(t){return It.isInstance(t,Ua.$type)}var Ba={$type:"LabelDeclaration",description:"description",name:"name",properties:"properties",title:"title"};function eh(t){return It.isInstance(t,Ba.$type)}var Ga={$type:"MilestoneDeclaration",description:"description",name:"name",properties:"properties",title:"title"};function th(t){return It.isInstance(t,Ga.$type)}var ZT={$type:"NowlineDirective",properties:"properties",version:"version"};var zo={$type:"NowlineFile",configEntries:"configEntries",directive:"directive",hasConfig:"hasConfig",includes:"includes",roadmapDecl:"roadmapDecl",roadmapEntries:"roadmapEntries"};var Xa={$type:"ParallelBlock",content:"content",name:"name",properties:"properties",title:"title"};function Wr(t){return It.isInstance(t,Xa.$type)}var Wp={$type:"ParallelContent"};var Ha={$type:"PersonDeclaration",description:"description",name:"name",properties:"properties",title:"title"};function Ui(t){return It.isInstance(t,Ha.$type)}var t_={$type:"PersonMemberRef",ref:"ref"};function jI(t){return It.isInstance(t,t_.$type)}var Vp={$type:"RoadmapDeclaration",name:"name",properties:"properties",title:"title"};var En={$type:"RoadmapEntry"};var r_={$type:"ScaleBlock",properties:"properties"};function zI(t){return It.isInstance(t,r_.$type)}var ja={$type:"SizeDeclaration",description:"description",name:"name",properties:"properties",title:"title"};function Ya(t){return It.isInstance(t,ja.$type)}var za={$type:"StatusDeclaration",description:"description",name:"name",properties:"properties",title:"title"};function mu(t){return It.isInstance(t,za.$type)}var pu={$type:"StyleDeclaration",name:"name",properties:"properties",title:"title"};function gu(t){return It.isInstance(t,pu.$type)}var JT={$type:"StyleProperty",key:"key",value:"value"};var du={$type:"SwimlaneContent"};var qa={$type:"SwimlaneDeclaration",content:"content",name:"name",properties:"properties",title:"title"};function Vr(t){return It.isInstance(t,qa.$type)}var Wa={$type:"SymbolDeclaration",description:"description",name:"name",properties:"properties",title:"title"};function yu(t){return It.isInstance(t,Wa.$type)}var Yp={$type:"TeamContent"};var Va={$type:"TeamDeclaration",content:"content",name:"name",properties:"properties",title:"title"};function Yr(t){return It.isInstance(t,Va.$type)}var hu=class extends Ji{constructor(){super(...arguments);fe(this,"types",{AnchorDeclaration:{name:$a.$type,properties:{description:{name:$a.description},name:{name:$a.name},properties:{name:$a.properties,defaultValue:[]},title:{name:$a.title}},superTypes:[En.$type]},BlockProperty:{name:VT.$type,properties:{key:{name:VT.key},value:{name:VT.value}},superTypes:[]},CalendarBlock:{name:QT.$type,properties:{properties:{name:QT.properties,defaultValue:[]}},superTypes:[Da.$type]},ConfigEntry:{name:Da.$type,properties:{},superTypes:[]},DefaultDeclaration:{name:Kp.$type,properties:{entityType:{name:Kp.entityType},properties:{name:Kp.properties,defaultValue:[]}},superTypes:[Da.$type]},DescriptionDirective:{name:e_.$type,properties:{text:{name:e_.text}},superTypes:[fu.$type,Wp.$type,du.$type,Yp.$type]},EntityProperty:{name:qp.$type,properties:{key:{name:qp.key},value:{name:qp.value},values:{name:qp.values,defaultValue:[]}},superTypes:[]},FootnoteDeclaration:{name:Ma.$type,properties:{description:{name:Ma.description},name:{name:Ma.name},properties:{name:Ma.properties,defaultValue:[]},title:{name:Ma.title}},superTypes:[En.$type]},GroupBlock:{name:Fa.$type,properties:{content:{name:Fa.content,defaultValue:[]},name:{name:Fa.name},properties:{name:Fa.properties,defaultValue:[]},title:{name:Fa.title}},superTypes:[fu.$type,Wp.$type,du.$type]},GroupContent:{name:fu.$type,properties:{},superTypes:[]},IncludeDeclaration:{name:YT.$type,properties:{options:{name:YT.options,defaultValue:[]},path:{name:YT.path}},superTypes:[]},IncludeOption:{name:KT.$type,properties:{key:{name:KT.key},value:{name:KT.value}},superTypes:[]},ItemDeclaration:{name:Ua.$type,properties:{description:{name:Ua.description},name:{name:Ua.name},properties:{name:Ua.properties,defaultValue:[]},title:{name:Ua.title}},superTypes:[fu.$type,Wp.$type,du.$type]},LabelDeclaration:{name:Ba.$type,properties:{description:{name:Ba.description},name:{name:Ba.name},properties:{name:Ba.properties,defaultValue:[]},title:{name:Ba.title}},superTypes:[En.$type]},MilestoneDeclaration:{name:Ga.$type,properties:{description:{name:Ga.description},name:{name:Ga.name},properties:{name:Ga.properties,defaultValue:[]},title:{name:Ga.title}},superTypes:[En.$type]},NowlineDirective:{name:ZT.$type,properties:{properties:{name:ZT.properties,defaultValue:[]},version:{name:ZT.version}},superTypes:[]},NowlineFile:{name:zo.$type,properties:{configEntries:{name:zo.configEntries,defaultValue:[]},directive:{name:zo.directive},hasConfig:{name:zo.hasConfig,defaultValue:!1},includes:{name:zo.includes,defaultValue:[]},roadmapDecl:{name:zo.roadmapDecl},roadmapEntries:{name:zo.roadmapEntries,defaultValue:[]}},superTypes:[]},ParallelBlock:{name:Xa.$type,properties:{content:{name:Xa.content,defaultValue:[]},name:{name:Xa.name},properties:{name:Xa.properties,defaultValue:[]},title:{name:Xa.title}},superTypes:[fu.$type,du.$type]},ParallelContent:{name:Wp.$type,properties:{},superTypes:[]},PersonDeclaration:{name:Ha.$type,properties:{description:{name:Ha.description},name:{name:Ha.name},properties:{name:Ha.properties,defaultValue:[]},title:{name:Ha.title}},superTypes:[En.$type]},PersonMemberRef:{name:t_.$type,properties:{ref:{name:t_.ref}},superTypes:[Yp.$type]},RoadmapDeclaration:{name:Vp.$type,properties:{name:{name:Vp.name},properties:{name:Vp.properties,defaultValue:[]},title:{name:Vp.title}},superTypes:[]},RoadmapEntry:{name:En.$type,properties:{},superTypes:[]},ScaleBlock:{name:r_.$type,properties:{properties:{name:r_.properties,defaultValue:[]}},superTypes:[Da.$type]},SizeDeclaration:{name:ja.$type,properties:{description:{name:ja.description},name:{name:ja.name},properties:{name:ja.properties,defaultValue:[]},title:{name:ja.title}},superTypes:[En.$type]},StatusDeclaration:{name:za.$type,properties:{description:{name:za.description},name:{name:za.name},properties:{name:za.properties,defaultValue:[]},title:{name:za.title}},superTypes:[En.$type]},StyleDeclaration:{name:pu.$type,properties:{name:{name:pu.name},properties:{name:pu.properties,defaultValue:[]},title:{name:pu.title}},superTypes:[Da.$type]},StyleProperty:{name:JT.$type,properties:{key:{name:JT.key},value:{name:JT.value}},superTypes:[]},SwimlaneContent:{name:du.$type,properties:{},superTypes:[]},SwimlaneDeclaration:{name:qa.$type,properties:{content:{name:qa.content,defaultValue:[]},name:{name:qa.name},properties:{name:qa.properties,defaultValue:[]},title:{name:qa.title}},superTypes:[En.$type]},SymbolDeclaration:{name:Wa.$type,properties:{description:{name:Wa.description},name:{name:Wa.name},properties:{name:Wa.properties,defaultValue:[]},title:{name:Wa.title}},superTypes:[Da.$type]},TeamContent:{name:Yp.$type,properties:{},superTypes:[]},TeamDeclaration:{name:Va.$type,properties:{content:{name:Va.content,defaultValue:[]},name:{name:Va.name},properties:{name:Va.properties,defaultValue:[]},title:{name:Va.title}},superTypes:[En.$type,Yp.$type]}})}},It=new hu;var qI,WI=()=>qI??(qI=jp(`{
|
|
160
|
+
`}var nu=class{constructor(e){this.indexManager=e.shared.workspace.IndexManager,this.commentProvider=e.documentation.CommentProvider}getDocumentation(e){let r=this.commentProvider.getComment(e);if(r&&WT(r))return qT(r).toMarkdown({renderLink:(i,o)=>this.documentationLinkRenderer(e,i,o),renderTag:i=>this.documentationTagRenderer(e,i)})}documentationLinkRenderer(e,r,n){let i=this.findNameInLocalSymbols(e,r)??this.findNameInGlobalScope(e,r);if(i&&i.nameSegment){let o=i.nameSegment.range.start.line+1,s=i.nameSegment.range.start.character+1,a=i.documentUri.with({fragment:`L${o},${s}`});return`[${n}](${a.toString()})`}else return}documentationTagRenderer(e,r){}findNameInLocalSymbols(e,r){let i=Ft(e).localSymbols;if(!i)return;let o=e;do{let a=i.getStream(o).find(c=>c.name===r);if(a)return a;o=o.$container}while(o)}findNameInGlobalScope(e,r){return this.indexManager.allElements().find(i=>i.name===r)}};var iu=class{constructor(e){this.grammarConfig=()=>e.parser.GrammarConfig}getComment(e){return gx(e)?e.$comment:jm(e.$cstNode,this.grammarConfig().multilineCommentRules)?.text}};var ou=class{constructor(e){this.syncParser=e.parser.LangiumParser}parse(e,r){return Promise.resolve(this.syncParser.parse(e))}},YT=class{constructor(e){this.threadCount=8,this.terminationDelay=200,this.workerPool=[],this.queue=[],this.hydrator=e.serializer.Hydrator}initializeWorkers(){for(;this.workerPool.length<this.threadCount;){let e=this.createWorker();e.onReady(()=>{if(this.queue.length>0){let r=this.queue.shift();r&&(e.lock(),r.resolve(e))}}),this.workerPool.push(e)}}async parse(e,r){let n=await this.acquireParserWorker(r),i=new Jt,o,s=r.onCancellationRequested(()=>{o=setTimeout(()=>{this.terminateWorker(n)},this.terminationDelay)});return n.parse(e).then(a=>{let c=this.hydrator.hydrate(a);i.resolve(c)}).catch(a=>{i.reject(a)}).finally(()=>{s.dispose(),clearTimeout(o)}),i.promise}terminateWorker(e){e.terminate();let r=this.workerPool.indexOf(e);r>=0&&this.workerPool.splice(r,1)}async acquireParserWorker(e){this.initializeWorkers();for(let n of this.workerPool)if(n.ready)return n.lock(),n;let r=new Jt;return e.onCancellationRequested(()=>{let n=this.queue.indexOf(r);n>=0&&this.queue.splice(n,1),r.reject(wr)}),this.queue.push(r),r.promise}},KT=class{get ready(){return this._ready}get onReady(){return this.onReadyEmitter.event}constructor(e,r,n,i){this.onReadyEmitter=new it.Emitter,this.deferred=new Jt,this._ready=!0,this._parsing=!1,this.sendMessage=e,this._terminate=i,r(o=>{let s=o;this.deferred.resolve(s),this.unlock()}),n(o=>{this.deferred.reject(o),this.unlock()})}terminate(){this.deferred.reject(wr),this._terminate()}lock(){this._ready=!1}unlock(){this._parsing=!1,this._ready=!0,this.onReadyEmitter.fire()}parse(e){if(this._parsing)throw new Error("Parser worker is busy");return this._parsing=!0,this.deferred=new Jt,this.sendMessage(e),this.deferred.promise}};var su=class{constructor(){this.previousTokenSource=new oe.CancellationTokenSource,this.writeQueue=[],this.readQueue=[],this.done=!0}write(e){this.cancelWrite();let r=np();return this.previousTokenSource=r,this.enqueue(this.writeQueue,e,r.token)}read(e){return this.enqueue(this.readQueue,e)}enqueue(e,r,n=oe.CancellationToken.None){let i=new Jt,o={action:r,deferred:i,cancellationToken:n};return e.push(o),this.performNextOperation(),i.promise}async performNextOperation(){if(!this.done)return;let e=[];if(this.writeQueue.length>0)e.push(this.writeQueue.shift());else if(this.readQueue.length>0)e.push(...this.readQueue.splice(0,this.readQueue.length));else return;this.done=!1,await Promise.all(e.map(async({action:r,deferred:n,cancellationToken:i})=>{try{let o=await Promise.resolve().then(()=>r(i));n.resolve(o)}catch(o){yn(o)?n.resolve(void 0):n.reject(o)}})),this.done=!0,this.performNextOperation()}cancelWrite(){this.previousTokenSource.cancel()}};var au=class{constructor(e){this.grammarElementIdMap=new Fo,this.tokenTypeIdMap=new Fo,this.grammar=e.Grammar,this.lexer=e.parser.Lexer,this.linker=e.references.Linker}dehydrate(e){return{lexerErrors:e.lexerErrors,lexerReport:e.lexerReport?this.dehydrateLexerReport(e.lexerReport):void 0,parserErrors:e.parserErrors.map(r=>({...r,message:r.message})),value:this.dehydrateAstNode(e.value,this.createDehyrationContext(e.value))}}dehydrateLexerReport(e){return e}createDehyrationContext(e){let r=new Map,n=new Map;for(let i of zt(e))r.set(i,{});if(e.$cstNode)for(let i of ho(e.$cstNode))n.set(i,{});return{astNodes:r,cstNodes:n}}dehydrateAstNode(e,r){let n=r.astNodes.get(e);n.$type=e.$type,n.$containerIndex=e.$containerIndex,n.$containerProperty=e.$containerProperty,e.$cstNode!==void 0&&(n.$cstNode=this.dehydrateCstNode(e.$cstNode,r));for(let[i,o]of Object.entries(e))if(!i.startsWith("$"))if(Array.isArray(o)){let s=[];n[i]=s;for(let a of o)dt(a)?s.push(this.dehydrateAstNode(a,r)):St(a)?s.push(this.dehydrateReference(a,r)):s.push(a)}else dt(o)?n[i]=this.dehydrateAstNode(o,r):St(o)?n[i]=this.dehydrateReference(o,r):o!==void 0&&(n[i]=o);return n}dehydrateReference(e,r){let n={};return n.$refText=e.$refText,e.$refNode&&(n.$refNode=r.cstNodes.get(e.$refNode)),n}dehydrateCstNode(e,r){let n=r.cstNodes.get(e);return Rc(e)?n.fullText=e.fullText:n.grammarSource=this.getGrammarElementId(e.grammarSource),n.hidden=e.hidden,n.astNode=r.astNodes.get(e.astNode),$r(e)?n.content=e.content.map(i=>this.dehydrateCstNode(i,r)):ii(e)&&(n.tokenType=e.tokenType.name,n.offset=e.offset,n.length=e.length,n.startLine=e.range.start.line,n.startColumn=e.range.start.character,n.endLine=e.range.end.line,n.endColumn=e.range.end.character),n}hydrate(e){let r=e.value,n=this.createHydrationContext(r);return"$cstNode"in r&&this.hydrateCstNode(r.$cstNode,n),{lexerErrors:e.lexerErrors,lexerReport:e.lexerReport,parserErrors:e.parserErrors,value:this.hydrateAstNode(r,n)}}createHydrationContext(e){let r=new Map,n=new Map;for(let o of zt(e))r.set(o,{});let i;if(e.$cstNode)for(let o of ho(e.$cstNode)){let s;"fullText"in o?(s=new aa(o.fullText),i=s):"content"in o?s=new Oo:"tokenType"in o&&(s=this.hydrateCstLeafNode(o)),s&&(n.set(o,s),s.root=i)}return{astNodes:r,cstNodes:n}}hydrateAstNode(e,r){let n=r.astNodes.get(e);n.$type=e.$type,n.$containerIndex=e.$containerIndex,n.$containerProperty=e.$containerProperty,e.$cstNode&&(n.$cstNode=r.cstNodes.get(e.$cstNode));for(let[i,o]of Object.entries(e))if(!i.startsWith("$"))if(Array.isArray(o)){let s=[];n[i]=s;for(let a of o)dt(a)?s.push(this.setParent(this.hydrateAstNode(a,r),n)):St(a)?s.push(this.hydrateReference(a,n,i,r)):s.push(a)}else dt(o)?n[i]=this.setParent(this.hydrateAstNode(o,r),n):St(o)?n[i]=this.hydrateReference(o,n,i,r):o!==void 0&&(n[i]=o);return n}setParent(e,r){return e.$container=r,e}hydrateReference(e,r,n,i){return this.linker.buildReference(r,n,i.cstNodes.get(e.$refNode),e.$refText)}hydrateCstNode(e,r,n=0){let i=r.cstNodes.get(e);if(typeof e.grammarSource=="number"&&(i.grammarSource=this.getGrammarElement(e.grammarSource)),i.astNode=r.astNodes.get(e.astNode),$r(i))for(let o of e.content){let s=this.hydrateCstNode(o,r,n++);i.content.push(s)}return i}hydrateCstLeafNode(e){let r=this.getTokenType(e.tokenType),n=e.offset,i=e.length,o=e.startLine,s=e.startColumn,a=e.endLine,c=e.endColumn,l=e.hidden;return new Co(n,i,{start:{line:o,character:s},end:{line:a,character:c}},r,l)}getTokenType(e){return this.lexer.definition[e]}getGrammarElementId(e){if(e)return this.grammarElementIdMap.size===0&&this.createGrammarElementIdMap(),this.grammarElementIdMap.get(e)}getGrammarElement(e){return this.grammarElementIdMap.size===0&&this.createGrammarElementIdMap(),this.grammarElementIdMap.getKey(e)}createGrammarElementIdMap(){let e=0;for(let r of zt(this.grammar))Oc(r)&&this.grammarElementIdMap.set(r,e++)}};function cu(t){return{documentation:{CommentProvider:e=>new iu(e),DocumentationProvider:e=>new nu(e)},parser:{AsyncParser:e=>new ou(e),GrammarConfig:e=>lg(e),LangiumParser:e=>ix(e),CompletionParser:e=>nx(e),ValueConverter:()=>new $o,TokenBuilder:()=>new Do,Lexer:e=>new jo(e),ParserErrorMessageProvider:()=>new ca,LexerErrorMessageProvider:()=>new eu},workspace:{AstNodeLocator:()=>new Bl,AstNodeDescriptionProvider:e=>new Fl(e),ReferenceDescriptionProvider:e=>new Ul(e)},references:{Linker:e=>new Sl(e),NameProvider:()=>new Il,ScopeProvider:e=>new Ol(e),ScopeComputation:e=>new Nl(e),References:e=>new kl(e)},serializer:{Hydrator:e=>new au(e),JsonSerializer:e=>new Ll(e)},validation:{DocumentValidator:e=>new Ml(e),ValidationRegistry:e=>new $l(e)},shared:()=>t.shared}}function lu(t){return{ServiceRegistry:e=>new Dl(e),workspace:{LangiumDocuments:e=>new Al(e),LangiumDocumentFactory:e=>new wl(e),DocumentBuilder:e=>new Zl(e),IndexManager:e=>new Jl(e),WorkspaceManager:e=>new Ql(e),FileSystemProvider:e=>t.fileSystemProvider(e),WorkspaceLock:()=>new su,ConfigurationProvider:e=>new Gl(e)},profilers:{}}}var ZT;(function(t){t.merge=(e,r)=>uu(uu({},e),r)})(ZT||(ZT={}));function zo(t,e,r,n,i,o,s,a,c){let l=[t,e,r,n,i,o,s,a,c].reduce(uu,{});return YI(l)}var WI=Symbol("isProxy");function VI(t){if(t&&t[WI])for(let e of Object.values(t))VI(e);return t}function YI(t,e){let r=new Proxy({},{deleteProperty:()=>!1,set:()=>{throw new Error("Cannot set property on injected service container")},get:(n,i)=>i===WI?!0:qI(n,i,t,e||r),getOwnPropertyDescriptor:(n,i)=>(qI(n,i,t,e||r),Object.getOwnPropertyDescriptor(n,i)),has:(n,i)=>i in t,ownKeys:()=>[...Object.getOwnPropertyNames(t)]});return r}var zI=Symbol();function qI(t,e,r,n){if(e in t){if(t[e]instanceof Error)throw new Error("Construction failure. Please make sure that your dependencies are constructable. Cause: "+t[e]);if(t[e]===zI)throw new Error('Cycle detected. Please make "'+String(e)+'" lazy. Visit https://langium.org/docs/reference/configuration-services/#resolving-cyclic-dependencies');return t[e]}else if(e in r){let i=r[e];t[e]=zI;try{t[e]=typeof i=="function"?i(n):YI(i,n)}catch(o){throw t[e]=o instanceof Error?o:void 0,o}return t[e]}else return}function uu(t,e){if(e){for(let[r,n]of Object.entries(e))if(n!=null)if(typeof n=="object"){let i=t[r];typeof i=="object"&&i!==null?t[r]=uu(i,n):t[r]=uu({},n)}else t[r]=n}return t}var JT={indentTokenName:"INDENT",dedentTokenName:"DEDENT",whitespaceTokenName:"WS",ignoreIndentationDelimiters:[]},qo;(function(t){t.REGULAR="indentation-sensitive",t.IGNORE_INDENTATION="ignore-indentation"})(qo||(qo={}));var Ma=class extends Do{constructor(e=JT){super(),this.indentationStack=[0],this.whitespaceRegExp=/[ \t]+/y,this.options={...JT,...e},this.indentTokenType=gi({name:this.options.indentTokenName,pattern:this.indentMatcher.bind(this),line_breaks:!1}),this.dedentTokenType=gi({name:this.options.dedentTokenName,pattern:this.dedentMatcher.bind(this),line_breaks:!1})}buildTokens(e,r){let n=super.buildTokens(e,r);if(!jp(n))throw new Error("Invalid tokens built by default builder");let{indentTokenName:i,dedentTokenName:o,whitespaceTokenName:s,ignoreIndentationDelimiters:a}=this.options,c,l,u,f=[];for(let d of n){for(let[p,m]of a)d.name===p?d.PUSH_MODE=qo.IGNORE_INDENTATION:d.name===m&&(d.POP_MODE=!0);d.name===o?c=d:d.name===i?l=d:d.name===s?u=d:f.push(d)}if(!c||!l||!u)throw new Error("Some indentation/whitespace tokens not found!");return a.length>0?{modes:{[qo.REGULAR]:[c,l,...f,u],[qo.IGNORE_INDENTATION]:[...f,u]},defaultMode:qo.REGULAR}:[c,l,u,...f]}flushLexingReport(e){return{...super.flushLexingReport(e),remainingDedents:this.flushRemainingDedents(e)}}isStartOfLine(e,r){return r===0||`\r
|
|
161
|
+
`.includes(e[r-1])}matchWhitespace(e,r,n,i){this.whitespaceRegExp.lastIndex=r;let o=this.whitespaceRegExp.exec(e);return{currIndentLevel:o?.[0].length??0,prevIndentLevel:this.indentationStack.at(-1),match:o}}createIndentationTokenInstance(e,r,n,i){let o=this.getLineNumber(r,i);return Bn(e,n,i,i+n.length,o,o,1,n.length)}getLineNumber(e,r){return e.substring(0,r).split(/\r\n|\r|\n/).length}indentMatcher(e,r,n,i){if(!this.isStartOfLine(e,r))return null;let{currIndentLevel:o,prevIndentLevel:s,match:a}=this.matchWhitespace(e,r,n,i);return o<=s?null:(this.indentationStack.push(o),a)}dedentMatcher(e,r,n,i){if(!this.isStartOfLine(e,r))return null;let{currIndentLevel:o,prevIndentLevel:s,match:a}=this.matchWhitespace(e,r,n,i);if(o>=s)return null;let c=this.indentationStack.lastIndexOf(o);if(c===-1)return this.diagnostics.push({severity:"error",message:`Invalid dedent level ${o} at offset: ${r}. Current indentation stack: ${this.indentationStack}`,offset:r,length:a?.[0]?.length??0,line:this.getLineNumber(e,r),column:1}),null;let l=this.indentationStack.length-c-1,u=e.substring(0,r).match(/[\r\n]+$/)?.[0].length??1;for(let f=0;f<l;f++){let d=this.createIndentationTokenInstance(this.dedentTokenType,e,"",r-(u-1));n.push(d),this.indentationStack.pop()}return null}buildTerminalToken(e){let r=super.buildTerminalToken(e),{indentTokenName:n,dedentTokenName:i,whitespaceTokenName:o}=this.options;return r.name===n?this.indentTokenType:r.name===i?this.dedentTokenType:r.name===o?gi({name:o,pattern:this.whitespaceRegExp,group:ct.SKIPPED}):r}flushRemainingDedents(e){let r=[];for(;this.indentationStack.length>1;)r.push(this.createIndentationTokenInstance(this.dedentTokenType,e,"",e.length)),this.indentationStack.pop();return this.indentationStack=[0],r}},fu=class extends jo{constructor(e){if(super(e),e.parser.TokenBuilder instanceof Ma)this.indentationTokenBuilder=e.parser.TokenBuilder;else throw new Error("IndentationAwareLexer requires an accompanying IndentationAwareTokenBuilder")}tokenize(e,r=Hp){let n=super.tokenize(e),i=n.report;r?.mode==="full"&&n.tokens.push(...i.remainingDedents),i.remainingDedents=[];let{indentTokenType:o,dedentTokenType:s}=this.indentationTokenBuilder,a=o.tokenTypeIdx,c=s.tokenTypeIdx,l=[],u=n.tokens.length-1;for(let f=0;f<u;f++){let d=n.tokens[f],p=n.tokens[f+1];if(d.tokenTypeIdx===a&&p.tokenTypeIdx===c){f++;continue}l.push(d)}return u>=0&&l.push(n.tokens[u]),n.tokens=l,n}};var Ce={};sn(Ce,{AstUtils:()=>lf,BiMap:()=>Fo,Cancellation:()=>oe,ContextCache:()=>Uo,CstUtils:()=>kf,DONE_RESULT:()=>Mt,Deferred:()=>Jt,Disposable:()=>Bi,DisposableCache:()=>ma,DocumentCache:()=>op,EMPTY_STREAM:()=>oi,ErrorWithLocation:()=>go,GrammarUtils:()=>ws,MultiMap:()=>Bt,OperationCancelled:()=>wr,Reduction:()=>us,RegExpUtils:()=>Cf,SimpleCache:()=>Cl,StreamImpl:()=>fr,TreeStreamImpl:()=>an,URI:()=>ht,UriTrie:()=>pa,UriUtils:()=>vt,WorkspaceCache:()=>ga,assertCondition:()=>l0,assertUnreachable:()=>un,delayNextTick:()=>px,interruptAndCheck:()=>pt,isOperationCancelled:()=>yn,loadGrammarFromJson:()=>Vp,setInterruptionPeriod:()=>nw,startCancelableOperation:()=>np,stream:()=>xe});Se(Ce,it);var Wp=class{stat(e){throw new Error("No file system is available.")}statSync(e){throw new Error("No file system is available.")}async exists(){return!1}existsSync(){return!1}readBinary(){throw new Error("No file system is available.")}readBinarySync(){throw new Error("No file system is available.")}readFile(){throw new Error("No file system is available.")}readFileSync(){throw new Error("No file system is available.")}async readDirectory(){return[]}readDirectorySync(){return[]}},du={fileSystemProvider:()=>new Wp};var vU={Grammar:()=>{},LanguageMetaData:()=>({caseInsensitive:!1,fileExtensions:[".langium"],languageId:"langium"})},RU={AstReflection:()=>new _s};function bU(){let t=zo(lu(du),RU),e=zo(cu({shared:t}),vU);return t.ServiceRegistry.register(e),e}function Vp(t){let e=bU(),r=e.serializer.JsonSerializer.deserialize(t);return e.shared.workspace.LangiumDocumentFactory.fromModel(r,ht.parse(`memory:/${r.name??"grammar"}.langium`)),r}Se(ut,Ce);var QT=class{constructor(e){this.activeCategories=new Set,this.allCategories=new Set(["validating","parsing","linking"]),this.activeCategories=e??new Set(this.allCategories),this.records=new Bt}isActive(e){return this.activeCategories.has(e)}start(...e){e?e.forEach(r=>this.activeCategories.add(r)):this.activeCategories=new Set(this.allCategories)}stop(...e){e?e.forEach(r=>this.activeCategories.delete(r)):this.activeCategories.clear()}createTask(e,r){if(!this.isActive(e))throw new Error(`Category "${e}" is not active.`);return console.log(`Creating profiling task for '${e}.${r}'.`),new Yp(n=>this.records.add(e,this.dumpRecord(e,n)),r)}dumpRecord(e,r){console.info(`Task ${e}.${r.identifier} executed in ${r.duration.toFixed(2)}ms and ended at ${r.date.toISOString()}`);let n=[];for(let s of r.entries.keys()){let a=r.entries.get(s),c=a.reduce((l,u)=>l+u);n.push({name:`${r.identifier}.${s}`,count:a.length,duration:c})}let i=r.duration-n.map(s=>s.duration).reduce((s,a)=>s+a,0);n.push({name:r.identifier,count:1,duration:i}),n.sort((s,a)=>a.duration-s.duration);function o(s){return Math.round(100*s)/100}return console.table(n.map(s=>({Element:s.name,Count:s.count,"Self %":o(100*s.duration/r.duration),"Time (ms)":o(s.duration)}))),r}getRecords(...e){return e.length===0?this.records.values():this.records.entries().filter(r=>e.some(n=>n===r[0])).flatMap(r=>r[1])}},Yp=class{constructor(e,r){this.stack=[],this.entries=new Bt,this.addRecord=e,this.identifier=r}start(){if(this.startTime!==void 0)throw new Error(`Task "${this.identifier}" is already started.`);this.startTime=performance.now()}stop(){if(this.startTime===void 0)throw new Error(`Task "${this.identifier}" was not started.`);if(this.stack.length!==0)throw new Error(`Task "${this.identifier}" cannot be stopped before sub-task(s): ${this.stack.map(r=>r.id).join(", ")}.`);let e={identifier:this.identifier,date:new Date,duration:performance.now()-this.startTime,entries:this.entries};this.addRecord(e),this.startTime=void 0,this.entries.clear()}startSubTask(e){this.stack.push({id:e,start:performance.now(),content:0})}stopSubTask(e){let r=this.stack.pop();if(!r)throw new Error(`Task "${this.identifier}.${e}" was not started.`);if(r.id!==e)throw new Error(`Sub-Task "${r.id}" is not already stopped.`);let n=performance.now()-r.start;this.stack.at(-1)!==void 0&&(this.stack[this.stack.length-1].content+=n);let i=n-r.content;this.entries.add(e,i)}};var Ua={$type:"AnchorDeclaration",description:"description",name:"name",properties:"properties",title:"title"};function th(t){return kt.isInstance(t,Ua.$type)}var e_={$type:"BlockProperty",key:"key",value:"value"};var o_={$type:"CalendarBlock",properties:"properties"};function rh(t){return kt.isInstance(t,o_.$type)}var Fa={$type:"ConfigEntry"};var eh={$type:"DefaultDeclaration",entityType:"entityType",properties:"properties"};function Gi(t){return kt.isInstance(t,eh.$type)}var s_={$type:"DescriptionDirective",text:"text"};function l_(t){return kt.isInstance(t,s_.$type)}var Kp={$type:"EntityProperty",key:"key",value:"value",values:"values"};var Ba={$type:"FootnoteDeclaration",description:"description",name:"name",properties:"properties",title:"title"};function nh(t){return kt.isInstance(t,Ba.$type)}var Ga={$type:"GroupBlock",content:"content",name:"name",properties:"properties",title:"title"};function Wr(t){return kt.isInstance(t,Ga.$type)}var pu={$type:"GroupContent"};var t_={$type:"IncludeDeclaration",options:"options",path:"path"};var r_={$type:"IncludeOption",key:"key",value:"value"};var Xa={$type:"ItemDeclaration",description:"description",name:"name",properties:"properties",title:"title"};function yr(t){return kt.isInstance(t,Xa.$type)}var Ha={$type:"LabelDeclaration",description:"description",name:"name",properties:"properties",title:"title"};function ih(t){return kt.isInstance(t,Ha.$type)}var ja={$type:"MilestoneDeclaration",description:"description",name:"name",properties:"properties",title:"title"};function oh(t){return kt.isInstance(t,ja.$type)}var n_={$type:"NowlineDirective",properties:"properties",version:"version"};var Wo={$type:"NowlineFile",configEntries:"configEntries",directive:"directive",hasConfig:"hasConfig",includes:"includes",roadmapDecl:"roadmapDecl",roadmapEntries:"roadmapEntries"};var za={$type:"ParallelBlock",content:"content",name:"name",properties:"properties",title:"title"};function Vr(t){return kt.isInstance(t,za.$type)}var Zp={$type:"ParallelContent"};var qa={$type:"PersonDeclaration",description:"description",name:"name",properties:"properties",title:"title"};function Xi(t){return kt.isInstance(t,qa.$type)}var a_={$type:"PersonMemberRef",ref:"ref"};function KI(t){return kt.isInstance(t,a_.$type)}var Jp={$type:"RoadmapDeclaration",name:"name",properties:"properties",title:"title"};var vn={$type:"RoadmapEntry"};var c_={$type:"ScaleBlock",properties:"properties"};function ZI(t){return kt.isInstance(t,c_.$type)}var Wa={$type:"SizeDeclaration",description:"description",name:"name",properties:"properties",title:"title"};function Ja(t){return kt.isInstance(t,Wa.$type)}var Va={$type:"StatusDeclaration",description:"description",name:"name",properties:"properties",title:"title"};function yu(t){return kt.isInstance(t,Va.$type)}var mu={$type:"StyleDeclaration",name:"name",properties:"properties",title:"title"};function xu(t){return kt.isInstance(t,mu.$type)}var i_={$type:"StyleProperty",key:"key",value:"value"};var hu={$type:"SwimlaneContent"};var Ya={$type:"SwimlaneDeclaration",content:"content",name:"name",properties:"properties",title:"title"};function Yr(t){return kt.isInstance(t,Ya.$type)}var Ka={$type:"SymbolDeclaration",description:"description",name:"name",properties:"properties",title:"title"};function Tu(t){return kt.isInstance(t,Ka.$type)}var Qp={$type:"TeamContent"};var Za={$type:"TeamDeclaration",content:"content",name:"name",properties:"properties",title:"title"};function Kr(t){return kt.isInstance(t,Za.$type)}var gu=class extends eo{constructor(){super(...arguments);de(this,"types",{AnchorDeclaration:{name:Ua.$type,properties:{description:{name:Ua.description},name:{name:Ua.name},properties:{name:Ua.properties,defaultValue:[]},title:{name:Ua.title}},superTypes:[vn.$type]},BlockProperty:{name:e_.$type,properties:{key:{name:e_.key},value:{name:e_.value}},superTypes:[]},CalendarBlock:{name:o_.$type,properties:{properties:{name:o_.properties,defaultValue:[]}},superTypes:[Fa.$type]},ConfigEntry:{name:Fa.$type,properties:{},superTypes:[]},DefaultDeclaration:{name:eh.$type,properties:{entityType:{name:eh.entityType},properties:{name:eh.properties,defaultValue:[]}},superTypes:[Fa.$type]},DescriptionDirective:{name:s_.$type,properties:{text:{name:s_.text}},superTypes:[pu.$type,Zp.$type,hu.$type,Qp.$type]},EntityProperty:{name:Kp.$type,properties:{key:{name:Kp.key},value:{name:Kp.value},values:{name:Kp.values,defaultValue:[]}},superTypes:[]},FootnoteDeclaration:{name:Ba.$type,properties:{description:{name:Ba.description},name:{name:Ba.name},properties:{name:Ba.properties,defaultValue:[]},title:{name:Ba.title}},superTypes:[vn.$type]},GroupBlock:{name:Ga.$type,properties:{content:{name:Ga.content,defaultValue:[]},name:{name:Ga.name},properties:{name:Ga.properties,defaultValue:[]},title:{name:Ga.title}},superTypes:[pu.$type,Zp.$type,hu.$type]},GroupContent:{name:pu.$type,properties:{},superTypes:[]},IncludeDeclaration:{name:t_.$type,properties:{options:{name:t_.options,defaultValue:[]},path:{name:t_.path}},superTypes:[]},IncludeOption:{name:r_.$type,properties:{key:{name:r_.key},value:{name:r_.value}},superTypes:[]},ItemDeclaration:{name:Xa.$type,properties:{description:{name:Xa.description},name:{name:Xa.name},properties:{name:Xa.properties,defaultValue:[]},title:{name:Xa.title}},superTypes:[pu.$type,Zp.$type,hu.$type]},LabelDeclaration:{name:Ha.$type,properties:{description:{name:Ha.description},name:{name:Ha.name},properties:{name:Ha.properties,defaultValue:[]},title:{name:Ha.title}},superTypes:[vn.$type]},MilestoneDeclaration:{name:ja.$type,properties:{description:{name:ja.description},name:{name:ja.name},properties:{name:ja.properties,defaultValue:[]},title:{name:ja.title}},superTypes:[vn.$type]},NowlineDirective:{name:n_.$type,properties:{properties:{name:n_.properties,defaultValue:[]},version:{name:n_.version}},superTypes:[]},NowlineFile:{name:Wo.$type,properties:{configEntries:{name:Wo.configEntries,defaultValue:[]},directive:{name:Wo.directive},hasConfig:{name:Wo.hasConfig,defaultValue:!1},includes:{name:Wo.includes,defaultValue:[]},roadmapDecl:{name:Wo.roadmapDecl},roadmapEntries:{name:Wo.roadmapEntries,defaultValue:[]}},superTypes:[]},ParallelBlock:{name:za.$type,properties:{content:{name:za.content,defaultValue:[]},name:{name:za.name},properties:{name:za.properties,defaultValue:[]},title:{name:za.title}},superTypes:[pu.$type,hu.$type]},ParallelContent:{name:Zp.$type,properties:{},superTypes:[]},PersonDeclaration:{name:qa.$type,properties:{description:{name:qa.description},name:{name:qa.name},properties:{name:qa.properties,defaultValue:[]},title:{name:qa.title}},superTypes:[vn.$type]},PersonMemberRef:{name:a_.$type,properties:{ref:{name:a_.ref}},superTypes:[Qp.$type]},RoadmapDeclaration:{name:Jp.$type,properties:{name:{name:Jp.name},properties:{name:Jp.properties,defaultValue:[]},title:{name:Jp.title}},superTypes:[]},RoadmapEntry:{name:vn.$type,properties:{},superTypes:[]},ScaleBlock:{name:c_.$type,properties:{properties:{name:c_.properties,defaultValue:[]}},superTypes:[Fa.$type]},SizeDeclaration:{name:Wa.$type,properties:{description:{name:Wa.description},name:{name:Wa.name},properties:{name:Wa.properties,defaultValue:[]},title:{name:Wa.title}},superTypes:[vn.$type]},StatusDeclaration:{name:Va.$type,properties:{description:{name:Va.description},name:{name:Va.name},properties:{name:Va.properties,defaultValue:[]},title:{name:Va.title}},superTypes:[vn.$type]},StyleDeclaration:{name:mu.$type,properties:{name:{name:mu.name},properties:{name:mu.properties,defaultValue:[]},title:{name:mu.title}},superTypes:[Fa.$type]},StyleProperty:{name:i_.$type,properties:{key:{name:i_.key},value:{name:i_.value}},superTypes:[]},SwimlaneContent:{name:hu.$type,properties:{},superTypes:[]},SwimlaneDeclaration:{name:Ya.$type,properties:{content:{name:Ya.content,defaultValue:[]},name:{name:Ya.name},properties:{name:Ya.properties,defaultValue:[]},title:{name:Ya.title}},superTypes:[vn.$type]},SymbolDeclaration:{name:Ka.$type,properties:{description:{name:Ka.description},name:{name:Ka.name},properties:{name:Ka.properties,defaultValue:[]},title:{name:Ka.title}},superTypes:[Fa.$type]},TeamContent:{name:Qp.$type,properties:{},superTypes:[]},TeamDeclaration:{name:Za.$type,properties:{content:{name:Za.content,defaultValue:[]},name:{name:Za.name},properties:{name:Za.properties,defaultValue:[]},title:{name:Za.title}},superTypes:[vn.$type,Qp.$type]}})}},kt=new gu;var JI,QI=()=>JI??(JI=Vp(`{
|
|
162
162
|
"$type": "Grammar",
|
|
163
163
|
"isDeclared": true,
|
|
164
164
|
"name": "Nowline",
|
|
@@ -2659,6 +2659,6 @@ ${r}`),this.inline?`{${i}}`:i}};function fU(t,e,r){if(t==="linkplain"||t==="link
|
|
|
2659
2659
|
"imports": [],
|
|
2660
2660
|
"interfaces": [],
|
|
2661
2661
|
"types": []
|
|
2662
|
-
}`));var gU={languageId:"nowline",fileExtensions:[".nowline"],caseInsensitive:!1,mode:"development"},VI={AstReflection:()=>new hu},YI={Grammar:()=>WI(),LanguageMetaData:()=>gU,parser:{}};var KI={"NL.E0001":()=>"Config section must appear before roadmap.","NL.E0002":()=>"Include declarations must appear before the config section.","NL.E0003":()=>"Include declarations must appear before the roadmap section.","NL.E0004":()=>"At least one swimlane is required.","NL.E0005":t=>`Line ${t.line}: mixed tabs and spaces in indentation. Use either tabs or spaces consistently.`,"NL.E0100":t=>`Invalid version format "${t.version}". Expected format: v1, v2, etc.`,"NL.E0101":t=>`This file requires Nowline ${t.version}, but the parser only supports up to ${t.supported}.`,"NL.E0102":t=>`Unknown directive property "${t.key}". Allowed: ${t.allowed}.`,"NL.E0103":t=>`Duplicate directive property "${t.key}".`,"NL.E0104":t=>`Invalid locale "${t.value}". Use a BCP-47 tag like "en-US", "fr", or "fr-CA".`,"NL.E0200":t=>`Invalid include mode "${t.value}". Must be merge, ignore, or isolate.`,"NL.E0201":t=>`Duplicate "${t.key}" option on include.`,"NL.E0300":t=>`Duplicate identifier "${t.name}". First declared at ${t.location}.`,"NL.E0301":t=>`${t.type} must have an identifier, a title, or both.`,"NL.E0400":t=>`Invalid duration "${t.value}". Use a raw duration literal like 0.5d, 2w, 1m, 2q. Use "size:NAME" to reference a declared size.`,"NL.E0401":t=>`Invalid size "${t.value}". Use the id of a declared size (e.g. xs, m, lg).`,"NL.E0402":t=>`Invalid effort "${t.value}". Use a raw duration literal like 0.5d, 2w, 1m, 2q.`,"NL.E0403":t=>`Invalid remaining value "${t.value}". Use a percentage like 30% or a duration literal like 1w, 0.5d.`,"NL.E0404":t=>`Remaining must be between 0% and 100%, got ${t.value}.`,"NL.E0405":t=>`Invalid ${t.key} "${t.value}". Use ISO 8601 format: YYYY-MM-DD.`,"NL.E0406":t=>`Invalid scale "${t.value}". Use a raw duration literal like 1w, 2w, 1q (no name lookup).`,"NL.E0407":t=>`Invalid calendar "${t.value}". Must be business, full, or custom.`,"NL.E0408":t=>`Property "${t.key}" requires at least one reference.`,"NL.E0410":t=>`"${t.key}:" accepts at most one inline date per direction; collapse the multiple dates to a single binding date or use a declared anchor.`,"NL.E0411":t=>`Inline date in "${t.key}:" is not allowed on ${t.type}. Allowed only on item, parallel, and group; for a milestone use "date:" instead.`,"NL.E0412":t=>`Inline date "${t.date}" in "${t.key}:" requires the roadmap to declare "start:". Add start:YYYY-MM-DD to the roadmap.`,"NL.E0413":t=>`Inline date "${t.date}" in "${t.key}:" is before roadmap start ${t.start}.`,"NL.E0500":t=>`Anchor "${t.name}" requires a "date:" property.`,"NL.E0501":t=>`Anchor "${t.name}" has a date but the roadmap is missing "start:". Add start:YYYY-MM-DD to the roadmap.`,"NL.E0502":t=>`Anchor "${t.name}" date ${t.date} is before roadmap start ${t.start}.`,"NL.E0503":t=>`Milestone "${t.name}" requires at least one of "date:" or "after:".`,"NL.E0504":t=>`Milestone "${t.name}" date ${t.date} is before roadmap start ${t.start}.`,"NL.E0505":()=>'Footnote requires an "on:" property referencing one or more entities.',"NL.E0600":t=>`Item "${t.name}" requires a "size:" or "duration:" property.`,"NL.W0700":t=>`Unknown property "${t.key}" on ${t.entity}. The renderer ignores it.${t.suggested?` Did you mean "${t.suggested}"?`:""}`};var ZI={"NL.E0001":()=>"La section config doit pr\xE9c\xE9der la section roadmap.","NL.E0002":()=>"Les d\xE9clarations include doivent pr\xE9c\xE9der la section config.","NL.E0003":()=>"Les d\xE9clarations include doivent pr\xE9c\xE9der la section roadmap.","NL.E0004":()=>"Au moins une swimlane est requise.","NL.E0005":t=>`Ligne ${t.line}\xA0: tabulations et espaces m\xE9lang\xE9s dans l'indentation. Utilisez l'un ou l'autre, mais pas les deux.`,"NL.E0100":t=>`Format de version invalide \xAB\xA0${t.version}\xA0\xBB. Format attendu\xA0: v1, v2, etc.`,"NL.E0101":t=>`Ce fichier requiert Nowline ${t.version}, mais l'analyseur ne prend en charge que jusqu'\xE0 ${t.supported}.`,"NL.E0102":t=>`Propri\xE9t\xE9 de directive inconnue \xAB\xA0${t.key}\xA0\xBB. Valeurs admises\xA0: ${t.allowed}.`,"NL.E0103":t=>`Propri\xE9t\xE9 de directive \xAB\xA0${t.key}\xA0\xBB en double.`,"NL.E0104":t=>`Locale invalide \xAB\xA0${t.value}\xA0\xBB. Utilisez une \xE9tiquette BCP-47 telle que \xAB\xA0en-US\xA0\xBB, \xAB\xA0fr\xA0\xBB ou \xAB\xA0fr-CA\xA0\xBB.`,"NL.E0200":t=>`Mode d'include invalide \xAB\xA0${t.value}\xA0\xBB. Doit \xEAtre merge, ignore ou isolate.`,"NL.E0201":t=>`Option \xAB\xA0${t.key}\xA0\xBB en double sur include.`,"NL.E0300":t=>`Identifiant en double \xAB\xA0${t.name}\xA0\xBB. Premi\xE8re d\xE9claration \xE0 ${t.location}.`,"NL.E0301":t=>`${t.type} doit comporter un identifiant, un titre, ou les deux.`,"NL.E0400":t=>`Dur\xE9e invalide \xAB\xA0${t.value}\xA0\xBB. Utilisez un litt\xE9ral de dur\xE9e brut comme 0.5d, 2w, 1m, 2q. Utilisez \xAB\xA0size:NOM\xA0\xBB pour r\xE9f\xE9rencer une taille d\xE9clar\xE9e.`,"NL.E0401":t=>`Taille invalide \xAB\xA0${t.value}\xA0\xBB. Utilisez l'identifiant d'une taille d\xE9clar\xE9e (p.\xA0ex. xs, m, lg).`,"NL.E0402":t=>`Effort invalide \xAB\xA0${t.value}\xA0\xBB. Utilisez un litt\xE9ral de dur\xE9e brut comme 0.5d, 2w, 1m, 2q.`,"NL.E0403":t=>`Valeur restante invalide \xAB\xA0${t.value}\xA0\xBB. Utilisez un pourcentage tel que 30% ou un litt\xE9ral de dur\xE9e comme 1w, 0.5d.`,"NL.E0404":t=>`La valeur restante doit \xEAtre comprise entre 0 % et 100 %, re\xE7u ${t.value}.`,"NL.E0405":t=>`${t.key} invalide \xAB\xA0${t.value}\xA0\xBB. Utilisez le format ISO 8601\xA0: AAAA-MM-JJ.`,"NL.E0406":t=>`\xC9chelle invalide \xAB\xA0${t.value}\xA0\xBB. Utilisez un litt\xE9ral de dur\xE9e brut comme 1w, 2w, 1q (pas de recherche par nom).`,"NL.E0407":t=>`Calendrier invalide \xAB\xA0${t.value}\xA0\xBB. Doit \xEAtre business, full ou custom.`,"NL.E0408":t=>`La propri\xE9t\xE9 \xAB\xA0${t.key}\xA0\xBB exige au moins une r\xE9f\xE9rence.`,"NL.E0410":t=>`\xAB\xA0${t.key}:\xA0\xBB n'accepte qu'une seule date inline par direction\xA0; regroupez les dates en une seule date contraignante ou utilisez une ancre d\xE9clar\xE9e.`,"NL.E0411":t=>`Une date inline dans \xAB\xA0${t.key}:\xA0\xBB n'est pas autoris\xE9e sur ${t.type}. Autoris\xE9e seulement sur item, parallel et group\xA0; pour un milestone utilisez \xAB\xA0date:\xA0\xBB \xE0 la place.`,"NL.E0412":t=>`La date inline \xAB\xA0${t.date}\xA0\xBB dans \xAB\xA0${t.key}:\xA0\xBB exige que la roadmap d\xE9clare \xAB\xA0start:\xA0\xBB. Ajoutez start:AAAA-MM-JJ \xE0 la roadmap.`,"NL.E0413":t=>`La date inline \xAB\xA0${t.date}\xA0\xBB dans \xAB\xA0${t.key}:\xA0\xBB pr\xE9c\xE8de le d\xE9but de la roadmap (${t.start}).`,"NL.E0500":t=>`L'ancre \xAB\xA0${t.name}\xA0\xBB exige une propri\xE9t\xE9 \xAB\xA0date:\xA0\xBB.`,"NL.E0501":t=>`L'ancre \xAB\xA0${t.name}\xA0\xBB a une date, mais \xAB\xA0start:\xA0\xBB manque sur la roadmap. Ajoutez start:AAAA-MM-JJ \xE0 la roadmap.`,"NL.E0502":t=>`La date ${t.date} de l'ancre \xAB\xA0${t.name}\xA0\xBB pr\xE9c\xE8de le d\xE9but de la roadmap (${t.start}).`,"NL.E0503":t=>`Le jalon \xAB\xA0${t.name}\xA0\xBB exige au moins l'une des propri\xE9t\xE9s \xAB\xA0date:\xA0\xBB ou \xAB\xA0after:\xA0\xBB.`,"NL.E0504":t=>`La date ${t.date} du jalon \xAB\xA0${t.name}\xA0\xBB pr\xE9c\xE8de le d\xE9but de la roadmap (${t.start}).`,"NL.E0505":()=>"Une note de bas de page exige une propri\xE9t\xE9 \xAB\xA0on:\xA0\xBB r\xE9f\xE9ren\xE7ant au moins une entit\xE9.","NL.E0600":t=>`L'\xE9l\xE9ment \xAB\xA0${t.name}\xA0\xBB exige une propri\xE9t\xE9 \xAB\xA0size:\xA0\xBB ou \xAB\xA0duration:\xA0\xBB.`,"NL.W0700":t=>`Propri\xE9t\xE9 inconnue \xAB\xA0${t.key}\xA0\xBB sur ${t.entity}. Le moteur de rendu l'ignore.${t.suggested?` Vouliez-vous dire \xAB\xA0${t.suggested}\xA0\xBB\xA0?`:""}`};var JI={};var QI={};var yU=new Map([["en-US",KI],["fr",ZI],["fr-CA",JI],["fr-FR",QI]]);function tk(t,e,...r){for(let n of xU(t)){let o=yU.get(n)?.[e];if(o)return o(...r)}return e}var ek="en-US";function xU(t){let e=[],r=TU(t);for(;r.length>0;){e.includes(r)||e.push(r);let n=r.lastIndexOf("-");if(n<=0)break;r=r.slice(0,n)}return e.includes(ek)||e.push(ek),e}function TU(t){return t.split("-").map((r,n)=>n===0?r.toLowerCase():/^[a-zA-Z]{2}$/.test(r)?r.toUpperCase():r).join("-")}var _U=/[\\/]/;function ik(t){for(let e=t.length-1;e>=0;e--){let r=t.charCodeAt(e);if(r===47||r===92)return e}return-1}function rk(...t){for(let e of t)if(e){if(e.includes("\\")&&!e.includes("/"))return"\\";if(e.includes("/"))return"/"}return"/"}function EU(t){return t?t[0]==="/"||t[0]==="\\"?!0:t.length>=3&&/^[A-Za-z]:[\\/]/.test(t):!1}function ok(t){let e=ik(t);return e<0?".":e===0?t[0]:e===2&&/^[A-Za-z]:[\\/]/.test(t)?t.slice(0,3):t.slice(0,e)}function rh(t){let e=ik(t);return e<0?t:t.slice(e+1)}function i_(t,e){if(EU(e))return nk(e,rk(e));let r=rk(t,e);return nk(`${t}${r}${e}`,r)}function nk(t,e){let r="",n=t,i=/^([A-Za-z]:)([\\/])?/.exec(n);i?(r=i[1]+(i[2]?e:""),n=n.slice(i[0].length)):(n[0]==="/"||n[0]==="\\")&&(r=e,n=n.replace(/^[\\/]+/,""));let o=[];for(let s of n.split(_U))if(!(s===""||s===".")){if(s===".."){o.length>0&&o[o.length-1]!==".."?o.pop():r||o.push("..");continue}o.push(s)}return r+o.join(e)}var RU=/^\d{4}-\d{2}-\d{2}$/;function ck(t){let e=t?.properties.find(r=>r.key==="start");if(e?.value&&RU.test(e.value)&&!Number.isNaN(new Date(e.value).getTime()))return e.value}function wU(t,e,r){return e&&r?`Included "${t}" declares start:${r}, which doesn't match this file's start:${e}. Both files must declare the same start date, or neither should.`:e?`Included "${t}" has no start:, but this file declares start:${e}. Both files must declare the same start date, or neither should.`:`Included "${t}" declares start:${r}, but this file has no start:. Both files must declare the same start date, or neither should.`}function lk(){return{styles:new Map,defaults:new Map,symbols:new Map}}function uk(){return{persons:new Map,teams:new Map,anchors:new Map,labels:new Map,sizes:new Map,statuses:new Map,swimlanes:new Map,milestones:new Map,footnotes:new Map,isolatedRegions:[]}}async function o_(t,e,r){let n=r.readFile??(async c=>{let{nodeReadFile:l}=await Promise.resolve().then(()=>(ak(),sk));return l(c)}),i={services:r.services,diagnostics:[],resolving:[],processed:new Map,readFile:n},o=i_("",e),{config:s,content:a}=await dk(t,o,i);return{config:s,content:a,diagnostics:i.diagnostics,processedFiles:new Set(i.processed.keys())}}async function dk(t,e,r){if(r.processed.has(e))return r.processed.get(e);if(r.resolving.includes(e)){r.diagnostics.push({severity:"error",message:`Circular include detected: ${[...r.resolving,e].join(" \u2192 ")}`,sourcePath:e});let a={config:lk(),content:uk()};return r.processed.set(e,a),a}r.resolving.push(e);let n=lk(),i=uk();IU(n,t),NU(i,t);let o=new Set;for(let a of t.includes){let c=a.path,l=i_(ok(e),c);if(o.has(l)){r.diagnostics.push({severity:"error",message:`Duplicate include "${c}" in ${rh(e)}.`,sourcePath:e,line:a.$cstNode?.range.start.line});continue}o.add(l);let u=fk(a,"config")??"merge",f=fk(a,"roadmap")??"merge",d;try{let g=await r.readFile(l);d=await bU(r.services,g,l)}catch(g){r.diagnostics.push({severity:"error",message:`Could not read include "${c}": ${g.message}`,sourcePath:e,line:a.$cstNode?.range.start.line});continue}let{config:p,content:m}=await dk(d,l,r);if(AU(n,p,u,l,r.diagnostics),SU(i,m,p,f,l,c,r.diagnostics),f==="isolate"&&!m.roadmap&&r.diagnostics.push({severity:"error",message:`Cannot isolate "${c}": it has no roadmap declaration.`,sourcePath:e,line:a.$cstNode?.range.start.line}),f!=="ignore"&&d.roadmapDecl){let g=ck(t.roadmapDecl),v=ck(d.roadmapDecl);g!==v&&r.diagnostics.push({severity:"error",message:wU(c,g,v),sourcePath:e,line:a.$cstNode?.range.start.line})}}r.resolving.pop();let s={config:n,content:i};return r.processed.set(e,s),s}function fk(t,e){let r=t.options.find(n=>n.key===e);if(r&&(r.value==="merge"||r.value==="ignore"||r.value==="isolate"))return r.value}async function bU(t,e,r){let n=gt.file(r),o=t.shared.workspace.LangiumDocumentFactory.fromString(e,n);return await t.shared.workspace.DocumentBuilder.build([o],{validation:!1}),o.parseResult.value}function AU(t,e,r,n,i){if(r==="ignore"||r==="isolate")return;let o=(s,a)=>i.push({severity:"warning",message:`${a} "${s}" from ${rh(n)} is shadowed by the parent's definition.`,sourcePath:n});kr(t.styles,e.styles,s=>o(s,"Style")),kr(t.defaults,e.defaults,s=>o(s,"Default")),kr(t.symbols,e.symbols,s=>o(s,"Symbol")),e.scale&&!t.scale&&(t.scale=e.scale),e.calendar&&!t.calendar&&(t.calendar=e.calendar)}function SU(t,e,r,n,i,o,s){if(n==="ignore")return;if(n==="isolate"){e.roadmap&&t.isolatedRegions.push({sourcePath:o,config:r,content:e});return}let a=(c,l)=>s.push({severity:"warning",message:`${l} "${c}" from ${rh(i)} is shadowed by the parent's definition.`,sourcePath:i});kr(t.persons,e.persons,c=>a(c,"Person")),kr(t.teams,e.teams,c=>a(c,"Team")),kr(t.anchors,e.anchors,c=>a(c,"Anchor")),kr(t.labels,e.labels,c=>a(c,"Label")),kr(t.sizes,e.sizes,c=>a(c,"Size")),kr(t.statuses,e.statuses,c=>a(c,"Status")),kr(t.swimlanes,e.swimlanes,c=>a(c,"Swimlane")),kr(t.milestones,e.milestones,c=>a(c,"Milestone")),kr(t.footnotes,e.footnotes,c=>a(c,"Footnote")),e.roadmap&&!t.roadmap&&(t.roadmap=e.roadmap)}function kr(t,e,r){for(let[n,i]of e){if(t.has(n)){r(n);continue}t.set(n,i)}}function IU(t,e){for(let r of e.configEntries)kU(t,r)}function kU(t,e){zI(e)?t.scale||(t.scale=e):Jp(e)?t.calendar||(t.calendar=e):gu(e)?e.name&&!t.styles.has(e.name)&&t.styles.set(e.name,e):yu(e)?e.name&&!t.symbols.has(e.name)&&t.symbols.set(e.name,e):Fi(e)&&(t.defaults.has(e.entityType)||t.defaults.set(e.entityType,e))}function NU(t,e){e.roadmapDecl&&!t.roadmap&&(t.roadmap=e.roadmapDecl);for(let r of e.roadmapEntries)PU(t,r)}function PU(t,e){Vr(e)?e.name&&!t.swimlanes.has(e.name)&&t.swimlanes.set(e.name,e):Ui(e)?e.name&&!t.persons.has(e.name)&&t.persons.set(e.name,e):Yr(e)?e.name&&!t.teams.has(e.name)&&t.teams.set(e.name,e):Zp(e)?e.name&&!t.anchors.has(e.name)&&t.anchors.set(e.name,e):eh(e)?e.name&&!t.labels.has(e.name)&&t.labels.set(e.name,e):Ya(e)?e.name&&!t.sizes.has(e.name)&&t.sizes.set(e.name,e):mu(e)?e.name&&!t.statuses.has(e.name)&&t.statuses.set(e.name,e):th(e)?e.name&&!t.milestones.has(e.name)&&t.milestones.set(e.name,e):Qp(e)&&e.name&&!t.footnotes.has(e.name)&&t.footnotes.set(e.name,e)}var pk="v1",s_=new Set(["planned","in-progress","active","done","completed","at-risk","blocked"]),nh=new Set(["bg","fg","text","border","icon","shadow","font","weight","italic","text-size","padding","spacing","header-height","corner-radius","bracket","header-position","capacity-icon","timeline-position","minor-grid"]),f_=new Set(["none","multiplier","person","people","points","time"]),ih=new Set([...f_,"shield","warning","lock","calendar"]),Rk="none",oh={border:new Set(["solid","dashed","dotted"]),shadow:new Set(["none","subtle","soft","hard"]),font:new Set(["sans","serif","mono"]),weight:new Set(["thin","light","normal","bold"]),italic:new Set(["true","false"]),"text-size":new Set(["none","xs","sm","md","lg","xl"]),padding:new Set(["none","xs","sm","md","lg","xl"]),spacing:new Set(["none","xs","sm","md","lg","xl"]),"header-height":new Set(["none","xs","sm","md","lg","xl"]),"corner-radius":new Set(["none","xs","sm","md","lg","xl","full"]),bracket:new Set(["none","solid","dashed"]),"header-position":new Set(["beside","above"]),"timeline-position":new Set(["top","bottom","both"]),"minor-grid":new Set(["true","false"])},CU=new Set(["red","blue","yellow","green","orange","purple","violet","gray","grey","navy","white","none"]),OU=new Set(["business","full","custom"]),a_=new Set(["days-per-week","days-per-month","days-per-quarter","days-per-year"]),hk=new Set(["name","label-every","label"]),mk=new Set(["item","label","swimlane","roadmap","milestone","footnote","anchor","parallel","group"]),LU={item:new Set(["size","duration","after","before","remaining","link","description","owner"]),milestone:new Set(["date","after","link","description"]),anchor:new Set(["date","link","description"]),footnote:new Set(["on","link","description"]),label:new Set(["link","description"]),swimlane:new Set(["capacity"]),roadmap:new Set,parallel:new Set,group:new Set},gk=new Set(["labels","link","style","description"]),DU={RoadmapDeclaration:new Set(["author","start","length","scale","calendar","logo","logo-size"]),AnchorDeclaration:new Set(["date"]),SwimlaneDeclaration:new Set(["owner","capacity","utilization-warn-at","utilization-over-at","status","after","before"]),ItemDeclaration:new Set(["size","duration","status","owner","after","before","remaining","capacity","date","start"]),ParallelBlock:new Set(["owner","after","before","status"]),GroupBlock:new Set(["owner","after","before","status"]),MilestoneDeclaration:new Set(["date","after"]),FootnoteDeclaration:new Set(["on"]),PersonDeclaration:new Set,TeamDeclaration:new Set,LabelDeclaration:new Set,SizeDeclaration:new Set(["effort"]),StatusDeclaration:new Set};function $U(t,e,r){if(t===e)return 0;let n=t.length,i=e.length;if(Math.abs(n-i)>r)return r+1;if(n===0)return i;if(i===0)return n;let o=new Array(i+1),s=new Array(i+1);for(let a=0;a<=i;a++)o[a]=a;for(let a=1;a<=n;a++){s[0]=a;let c=a;for(let u=1;u<=i;u++){let f=t.charCodeAt(a-1)===e.charCodeAt(u-1)?0:1;s[u]=Math.min(o[u]+1,s[u-1]+1,o[u-1]+f),s[u]<c&&(c=s[u])}if(c>r)return r+1;let l=o;o=s,s=l}return o[i]}function MU(t,e,r=2){let n,i=r+1;for(let o of e){let s=$U(t,o,r);if(s<i&&(n=o,i=s,s===0))break}return n}function Ne(t){return t.key.endsWith(":")?t.key.slice(0,-1):t.key}var xu=/^\d+(?:\.\d+)?[dwmqy]$/,FU=/^\d+%$/,Bi=/^\d{4}-\d{2}-\d{2}$/,UU=/^#[0-9a-fA-F]{3,8}$/,BU=/^v\d+$/,yk=/^\d+$/,GU=/^[dwmqy]$/,xk=/^\d+(\.\d+)?$/,d_=/^\d+(\.\d+)?%$/,wk=/^\d+\.\d+$/,XU=/^\d+$/,HU=/^[\x20-\x7E]{1,3}$/,jU=/^[a-zA-Z]{2,3}(-[a-zA-Z]{2}|-\d{3})?$/,zU=new Set(["merge","ignore","isolate"]),Tk=new Set(["locale"]);function c_(t){let e=t?.roadmapDecl?.properties.find(i=>Ne(i)==="start");if(!e)return{kind:"missing"};let r=e.value;if(!r||!Bi.test(r))return{kind:"invalid"};let n=new Date(r);return Number.isNaN(n.getTime())?{kind:"invalid"}:{kind:"valid",iso:r,date:n}}function Kr(t){return t.name??t.title??"<unnamed>"}function qU(t){return t.$type.replace(/Declaration$|Block$/,"").toLowerCase()}function be(t,e,r,n,...i){t(e,tk("en-US",n,...i),{...r,data:{code:n,args:i}})}function bk(t){let e=t.validation.ValidationRegistry,r=t.validation.NowlineValidator,n={NowlineFile:[r.checkFileStructure,r.checkUniqueIdentifiers,r.checkSwimlaneRequired,r.checkIndentationConsistency,r.checkRoadmapOnlyKeywordsPosition,r.checkForwardReferences,r.checkReferenceResolution,r.checkInlineDatePins,r.checkCircularDependencies,r.checkDuplicateSizeIds,r.checkCalendarBlockConsistency,r.checkPersonDeclarations,r.checkDuplicateSymbolIds,r.checkSymbolReferences],NowlineDirective:[r.checkDirectiveVersion,r.checkDirectiveProperties],IncludeOption:[r.checkIncludeMode],IncludeDeclaration:[r.checkIncludeDuplicateOptions],EntityProperty:[r.checkPropertyValues],RoadmapDeclaration:[r.checkEntityIdOrTitle,r.checkRoadmapProperties,r.checkNoRawStyleProperties,r.checkUnknownEntityProperties],AnchorDeclaration:[r.checkEntityIdOrTitle,r.checkAnchorRequiredDate,r.checkAnchorAgainstStart,r.checkNoRawStyleProperties,r.checkNoFootnoteProperty,r.checkUnknownEntityProperties],SwimlaneDeclaration:[r.checkEntityIdOrTitle,r.checkNoRawStyleProperties,r.checkUtilizationOrdering,r.checkNoFootnoteProperty,r.checkUnknownEntityProperties],ItemDeclaration:[r.checkEntityIdOrTitle,r.checkItemRequiredDuration,r.checkNoRawStyleProperties,r.checkNoFootnoteProperty,r.checkUnknownEntityProperties],ParallelBlock:[r.checkParallelMinChildren,r.checkNoComputedProperties,r.checkNoRawStyleProperties,r.checkNoFootnoteProperty,r.checkUnknownEntityProperties],GroupBlock:[r.checkGroupMinChildren,r.checkNoComputedProperties,r.checkNoRawStyleProperties,r.checkNoFootnoteProperty,r.checkUnknownEntityProperties],MilestoneDeclaration:[r.checkEntityIdOrTitle,r.checkMilestoneRequirement,r.checkMilestoneAgainstStart,r.checkNoRawStyleProperties,r.checkNoFootnoteProperty,r.checkUnknownEntityProperties],FootnoteDeclaration:[r.checkEntityIdOrTitle,r.checkFootnoteOn,r.checkNoRawStyleProperties,r.checkUnknownEntityProperties],PersonDeclaration:[r.checkEntityIdOrTitle,r.checkNoRawStyleProperties,r.checkNoFootnoteProperty,r.checkUnknownEntityProperties],TeamDeclaration:[r.checkEntityIdOrTitle,r.checkNoRawStyleProperties,r.checkNoFootnoteProperty,r.checkUnknownEntityProperties],StyleDeclaration:[r.checkEntityIdOrTitle],StyleProperty:[r.checkStylePropertyEnum],SymbolDeclaration:[r.checkEntityIdOrTitle,r.checkSymbolDeclaration],LabelDeclaration:[r.checkEntityIdOrTitle,r.checkNoRawStyleProperties,r.checkUnknownEntityProperties],SizeDeclaration:[r.checkEntityIdOrTitle,r.checkSizeDeclaration,r.checkNoRawStyleProperties,r.checkUnknownEntityProperties],StatusDeclaration:[r.checkEntityIdOrTitle,r.checkStatusDeclaration,r.checkNoRawStyleProperties,r.checkUnknownEntityProperties],DefaultDeclaration:[r.checkDefaultDeclaration,r.checkUtilizationOrdering],CalendarBlock:[r.checkCalendarBlock],ScaleBlock:[r.checkScaleBlock]};e.register(n,r)}var ah=class{checkFileStructure(e,r){let n=e.hasConfig?vs.findNodeForKeyword(e.$cstNode,"config")?.offset:void 0,i=e.roadmapDecl?.$cstNode?.offset;n!==void 0&&i!==void 0&&n>i&&be(r,"error",{node:e,property:"hasConfig"},"NL.E0001");for(let o of e.includes){let s=o.$cstNode?.offset??0;n!==void 0&&s>n&&be(r,"error",{node:o},"NL.E0002"),i!==void 0&&s>i&&be(r,"error",{node:o},"NL.E0003")}}checkRoadmapOnlyKeywordsPosition(e,r){}checkDirectiveVersion(e,r){if(!BU.test(e.version)){be(r,"error",{node:e,property:"version"},"NL.E0100",{version:e.version});return}let n=parseInt(e.version.slice(1),10),i=parseInt(pk.slice(1),10);n>i&&be(r,"error",{node:e,property:"version"},"NL.E0101",{version:e.version,supported:pk})}checkDirectiveProperties(e,r){let n=new Set;for(let i of e.properties){let o=Ne(i);if(!Tk.has(o)){be(r,"error",{node:i,property:"key"},"NL.E0102",{key:o,allowed:[...Tk].join(", ")});continue}if(n.has(o)&&be(r,"error",{node:i,property:"key"},"NL.E0103",{key:o}),n.add(o),o==="locale"){let s=i.value;jU.test(s)||be(r,"error",{node:i,property:"value"},"NL.E0104",{value:s})}}}checkEntityIdOrTitle(e,r){!e.name&&!e.title&&be(r,"error",{node:e},"NL.E0301",{type:e.$type})}checkUniqueIdentifiers(e,r){let n=new Map,i=(o,s)=>{if(!o)return;let a=n.get(o);a?be(r,"error",{node:s},"NL.E0300",{name:o,location:sh(a)}):n.set(o,s)};e.roadmapDecl?.name&&i(e.roadmapDecl.name,e.roadmapDecl);for(let o of e.roadmapEntries)YU(o,i);for(let o of e.configEntries)gu(o)&&o.name&&i(o.name,o)}checkIndentationConsistency(e,r){let n=e.$document?.textDocument.getText()??e.$cstNode?.text;if(!n)return;let i=n.split(/\r?\n/);for(let o=0;o<i.length;o++){let s=i[o];if(s.length===0)continue;let a=s.match(/^([\t ]+)/);if(!a)continue;let c=a[1];if(c.includes(" ")&&c.includes(" ")){be(r,"error",{node:e},"NL.E0005",{line:o+1});return}}}checkSwimlaneRequired(e,r){let n=e.roadmapEntries.some(Vr);e.roadmapDecl&&!n&&be(r,"error",{node:e.roadmapDecl},"NL.E0004")}checkIncludeMode(e,r){zU.has(e.value)||be(r,"error",{node:e,property:"value"},"NL.E0200",{value:e.value})}checkIncludeDuplicateOptions(e,r){let n=new Set;for(let i of e.options){let o=i.key.replace(/:$/,"");n.has(o)&&be(r,"error",{node:i},"NL.E0201",{key:o}),n.add(o)}}checkPropertyValues(e,r){let n=Ne(e),i=e.value,o=e.values,s=i?[i]:o;switch(n){case"status":break;case"duration":i&&!xu.test(i)&&be(r,"error",{node:e,property:"value"},"NL.E0400",{value:i});break;case"size":i&&!_k(i)&&be(r,"error",{node:e,property:"value"},"NL.E0401",{value:i});break;case"effort":i&&!xu.test(i)&&be(r,"error",{node:e,property:"value"},"NL.E0402",{value:i});break;case"remaining":{if(i)if(FU.test(i)){let a=parseFloat(i);(a<0||a>100)&&be(r,"error",{node:e,property:"value"},"NL.E0404",{value:i})}else xu.test(i)||be(r,"error",{node:e,property:"value"},"NL.E0403",{value:i});break}case"date":case"start":i&&(!Bi.test(i)||Number.isNaN(new Date(i).getTime()))&&be(r,"error",{node:e,property:"value"},"NL.E0405",{key:n,value:i});break;case"scale":i&&!xu.test(i)&&be(r,"error",{node:e,property:"value"},"NL.E0406",{value:i});break;case"calendar":i&&!OU.has(i)&&be(r,"error",{node:e,property:"value"},"NL.E0407",{value:i});break;case"on":case"after":case"before":s.length===0&&be(r,"error",{node:e},"NL.E0408",{key:n});break;case"capacity":{if(!i)break;let a=e.$container,c=WU(a);if(c==="invalid")break;c==="lane"?(!xk.test(i)||parseFloat(i)<=0)&&r("error",`Invalid swimlane capacity "${i}". Use a positive integer (e.g. capacity:5) or decimal (e.g. capacity:1.5). Percent literals are not allowed on swimlanes.`,{node:e,property:"value"}):d_.test(i)?parseFloat(i)<=0&&r("error",`Item capacity "${i}" must be positive.`,{node:e,property:"value"}):xk.test(i)?parseFloat(i)<=0&&r("error",`Item capacity "${i}" must be positive.`,{node:e,property:"value"}):r("error",`Invalid item capacity "${i}". Use a positive integer (capacity:2), decimal (capacity:0.5), or percent literal (capacity:50%).`,{node:e,property:"value"});break}case"overcapacity":{r("error",'"overcapacity:" was removed. Use "utilization-over-at:none" (and/or "utilization-warn-at:none") to suppress the lane utilization underline.',{node:e});break}case"utilization-warn-at":case"utilization-over-at":{if(!i)break;if(!VU(e.$container)){r("error",`"${n}:" is only valid on "swimlane" or "default swimlane".`,{node:e});break}if(i===Rk)break;if(d_.test(i)){parseFloat(i)<=0&&r("error",`${n} value "${i}" must be positive.`,{node:e,property:"value"});break}if(wk.test(i)){parseFloat(i)<=0&&r("error",`${n} value "${i}" must be positive.`,{node:e,property:"value"});break}if(XU.test(i)){r("error",`Ambiguous ${n} value "${i}". Use the percent form ("${i}%") or the decimal-fraction form ("0.${i}") to make the intent explicit.`,{node:e,property:"value"});break}r("error",`Invalid ${n} value "${i}". Use a positive percent (e.g. 80%), a positive decimal fraction (e.g. 0.8), or "none" to opt out.`,{node:e,property:"value"});break}case"capacity-icon":break;case"icon":break;default:if(nh.has(n)){if(n==="bg"||n==="fg"||n==="text")i&&!l_(i)&&r("error",`Invalid color "${i}" for "${n}". Use a named color, hex value, or "none".`,{node:e,property:"value"});else if(n in oh){let a=oh[n];i&&!a.has(i)&&!l_(i)&&r("error",`Invalid value "${i}" for "${n}". Allowed: ${[...a].join(", ")}.`,{node:e,property:"value"})}}break}}checkAnchorRequiredDate(e,r){e.properties.find(i=>Ne(i)==="date")||be(r,"error",{node:e},"NL.E0500",{name:Kr(e)})}checkAnchorAgainstStart(e,r){let n=e.properties.find(a=>Ne(a)==="date");if(!n?.value)return;let i=n.value;if(!Bi.test(i))return;let o=new Date(i);if(Number.isNaN(o.getTime()))return;let s=c_(e.$container);switch(s.kind){case"invalid":return;case"missing":be(r,"error",{node:n,property:"value"},"NL.E0501",{name:Kr(e)});return;case"valid":o<s.date&&be(r,"error",{node:n,property:"value"},"NL.E0502",{name:Kr(e),date:i,start:s.iso});return}}checkMilestoneRequirement(e,r){let n=e.properties.some(o=>Ne(o)==="date"),i=e.properties.some(o=>Ne(o)==="after");!n&&!i&&be(r,"error",{node:e},"NL.E0503",{name:Kr(e)})}checkMilestoneAgainstStart(e,r){let n=e.properties.find(a=>Ne(a)==="date");if(!n?.value)return;let i=n.value;if(!Bi.test(i))return;let o=new Date(i);if(Number.isNaN(o.getTime()))return;let s=c_(e.$container);switch(s.kind){case"invalid":return;case"missing":r("error",`Milestone "${Kr(e)}" has a date but the roadmap is missing "start:". Add start:YYYY-MM-DD to the roadmap.`,{node:n,property:"value"});return;case"valid":o<s.date&&be(r,"error",{node:n,property:"value"},"NL.E0504",{name:Kr(e),date:i,start:s.iso});return}}checkFootnoteOn(e,r){e.properties.some(i=>Ne(i)==="on")||be(r,"error",{node:e},"NL.E0505")}checkNoFootnoteProperty(e,r){for(let n of e.properties)Ne(n)==="footnote"&&r("error",`Property "footnote:" is not valid on ${u_(e)}. Footnotes attach via "on:" on the footnote declaration \u2014 declare \`footnote <id> on:<target-id>\` instead.`,{node:n})}checkItemRequiredDuration(e,r){let n=e.properties.some(o=>Ne(o)==="duration"),i=e.properties.some(o=>Ne(o)==="size");!n&&!i&&be(r,"error",{node:e},"NL.E0600",{name:Kr(e)})}checkNoComputedProperties(e,r){for(let n of e.properties){let i=Ne(n);(i==="size"||i==="duration"||i==="remaining"||i==="capacity")&&r("error",`"${i}" is not valid on ${e.$type==="ParallelBlock"?"parallel":"group"} (computed from children).`,{node:n})}}checkParallelMinChildren(e,r){let n=e.content.filter(i=>!n_(i));n.length===0?r("error","Parallel block must contain at least 2 children.",{node:e}):n.length===1&&r("warning","Parallel block has only 1 child. Use at least 2 for parallel execution.",{node:e})}checkGroupMinChildren(e,r){e.content.filter(i=>!n_(i)).length===0&&r("error","Group must contain at least 1 child.",{node:e})}checkNoRawStyleProperties(e,r){for(let n of e.properties){let i=Ne(n);nh.has(i)&&r("error",`Raw style property "${i}" is not allowed on ${u_(e)}. Declare a named style in config and reference it via "style:id".`,{node:n})}}checkUnknownEntityProperties(e,r){let n=DU[e.$type];if(!n)return;let i=e.$type==="ParallelBlock"||e.$type==="GroupBlock"?new Set(["size","duration","remaining","capacity"]):null;for(let o of e.properties){let s=Ne(o);if(n.has(s)||gk.has(s)||nh.has(s)||s==="footnote"||i?.has(s))continue;let a=[...n,...gk],c=MU(s,a)??"";be(r,"warning",{node:o,property:"key"},"NL.W0700",{key:s,entity:u_(e),suggested:c})}}checkRoadmapProperties(e,r){}checkStylePropertyEnum(e,r){let n=Ne(e),i=e.value;if(n==="bg"||n==="fg"||n==="text")l_(i)||r("error",`Invalid color "${i}" for "${n}". Use a named color, hex value, or "none".`,{node:e,property:"value"});else if(n in oh){let o=oh[n];o.has(i)||r("error",`Invalid value "${i}" for "${n}". Allowed: ${[...o].join(", ")}.`,{node:e,property:"value"})}else nh.has(n)||r("error",`Unknown style property "${n}".`,{node:e,property:"key"})}checkSizeDeclaration(e,r){e.properties.find(i=>Ne(i)==="effort")||r("error",`Size "${Kr(e)}" requires an "effort:" property.`,{node:e}),e.name&&(xu.test(e.name)||GU.test(e.name))&&r("error",`Size id "${e.name}" collides with the raw duration pattern. Choose a different name (e.g. "xs", "small", "quarter").`,{node:e,property:"name"})}checkStatusDeclaration(e,r){e.name&&s_.has(e.name)&&r("error",`Status id "${e.name}" collides with the built-in status value. Built-ins: ${[...s_].join(", ")}.`,{node:e,property:"name"})}checkDuplicateSizeIds(e,r){let n=new Map;for(let i of e.roadmapEntries)if(Ya(i)&&i.name){let o=n.get(i.name);o?r("error",`Duplicate size id "${i.name}". First declared at ${sh(o)}.`,{node:i,property:"name"}):n.set(i.name,i)}}checkUtilizationOrdering(e,r){if(Fi(e)&&e.entityType!=="swimlane")return;let n=e.properties.find(a=>Ne(a)==="utilization-warn-at"),i=e.properties.find(a=>Ne(a)==="utilization-over-at");if(!n||!i)return;let o=Ek(n.value),s=Ek(i.value);o===null||s===null||o>s&&r("error",`utilization-warn-at (${n.value}) must be \u2264 utilization-over-at (${i.value}). Warn fires below over; if both fire at the same point, the warn band collapses to zero.`,{node:n,property:"value"})}checkDefaultDeclaration(e,r){if(!mk.has(e.entityType)){r("error",`"${e.entityType}" is not a supported entity type for default. Allowed: ${[...mk].join(", ")}.`,{node:e,property:"entityType"});return}let n=e.$container,i=-1;for(let s=0;s<n.configEntries.length;s++){let a=n.configEntries[s];if(Fi(a)&&a.entityType===e.entityType){if(i<0)i=s;else if(a===e){r("error",`Duplicate "default ${e.entityType}" declaration. Only one is allowed per entity type per file.`,{node:e});break}}}let o=LU[e.entityType];if(o)for(let s of e.properties){let a=Ne(s);o.has(a)&&r("error",`"${a}" cannot be set on "default ${e.entityType}". Identity-defining, sizing, sequencing, reference, and prose properties must be explicit on each entity.`,{node:s})}}checkCalendarBlockConsistency(e,r){let n=e.configEntries.filter(Jp),o=e.roadmapDecl?.properties.find(s=>Ne(s)==="calendar")?.value;if(n.length>0&&o!=="custom")for(let s of n)r("error",'A "calendar" config block is only valid when the roadmap declares calendar:custom.',{node:s});if(o==="custom"&&n.length===0&&r("error",'calendar:custom requires a "calendar" config block with days-per-week, days-per-month, days-per-quarter, and days-per-year.',{node:e.roadmapDecl,property:"properties"}),o==="custom"&&n.length>0)for(let s of n){let a=new Set(s.properties.map(c=>Ne(c)));for(let c of a_)a.has(c)||r("error",`calendar:custom requires "${c}" in the calendar config block.`,{node:s})}}checkCalendarBlock(e,r){let n=new Set;for(let i of e.properties){let o=Ne(i);if(!a_.has(o)){r("error",`Unknown calendar property "${o}". Allowed: ${[...a_].join(", ")}.`,{node:i,property:"key"});continue}n.has(o)&&r("error",`Duplicate calendar property "${o}".`,{node:i,property:"key"}),n.add(o),(!yk.test(i.value)||parseInt(i.value,10)<=0)&&r("error",`"${o}" must be a positive integer, got "${i.value}".`,{node:i,property:"value"})}}checkScaleBlock(e,r){let n=new Set;for(let i of e.properties){let o=Ne(i);if(!hk.has(o)){r("error",`Unknown scale property "${o}". Allowed: ${[...hk].join(", ")}.`,{node:i,property:"key"});continue}n.has(o)&&r("error",`Duplicate scale property "${o}".`,{node:i,property:"key"}),n.add(o),o==="label-every"&&(!yk.test(i.value)||parseInt(i.value,10)<=0)&&r("error",`"label-every" must be a positive integer, got "${i.value}".`,{node:i,property:"value"})}}checkForwardReferences(e,r){let n=new Map,i=new Map;for(let o=0;o<e.roadmapEntries.length;o++){let s=e.roadmapEntries[o];Ya(s)&&s.name?n.has(s.name)||n.set(s.name,o):mu(s)&&s.name&&(i.has(s.name)||i.set(s.name,o))}for(let o=0;o<e.roadmapEntries.length;o++){let s=e.roadmapEntries[o];vk(s,a=>{let c=Ne(a);if(c==="size"&&a.value){let l=a.value,u=n.get(l);u===void 0?r("error",`Size "${l}" is not declared. Add "size ${l} effort:<literal>" earlier in the roadmap section.`,{node:a,property:"value"}):u>=o&&r("error",`Size "${l}" is referenced before its declaration. Move "size ${l}" above this entity.`,{node:a,property:"value"})}else if(c==="status"&&a.value){let l=a.value;if(s_.has(l))return;let u=i.get(l);u===void 0?r("error",`Status "${l}" is not a built-in and has no declaration. Add "status ${l}" earlier in the roadmap section.`,{node:a,property:"value"}):u>=o&&r("error",`Status "${l}" is referenced before its declaration. Move "status ${l}" above this entity.`,{node:a,property:"value"})}})}}checkReferenceResolution(e,r){let n=KU(e),i=o=>{vk(o,s=>{let a=Ne(s);if(a!=="after"&&a!=="before"&&a!=="on")return;let c=s.value?[s.value]:s.values;for(let l of c)l&&((a==="after"||a==="before")&&Bi.test(l)||n.has(l)||r("error",`${a}: reference "${l}" does not resolve to any declared entity in this file.`,{node:s}))})};for(let o of e.roadmapEntries)i(o)}checkInlineDatePins(e,r){let n=c_(e),i=o=>{let s=o.properties??[],a=yr(o)||Wr(o)||qr(o);for(let c of s){let l=Ne(c);if(l!=="after"&&l!=="before")continue;let f=(c.value?[c.value]:c.values).filter(d=>!!d&&Bi.test(d));if(f.length!==0){if(!a){be(r,"error",{node:c},"NL.E0411",{key:l,type:qU(o)});continue}f.length>1&&be(r,"error",{node:c},"NL.E0410",{key:l});for(let d of f)switch(n.kind){case"invalid":continue;case"missing":be(r,"error",{node:c},"NL.E0412",{key:l,date:d});continue;case"valid":{let p=new Date(d);if(Number.isNaN(p.getTime()))continue;p<n.date&&be(r,"error",{node:c},"NL.E0413",{key:l,date:d,start:n.iso})}}}}if(Vr(o))for(let c of o.content)i(c);else if(Wr(o)||qr(o))for(let c of o.content)i(c)};for(let o of e.roadmapEntries)i(o)}checkCircularDependencies(e,r){let n=new Map,i=(p,m)=>{n.has(p)||n.set(p,new Set),n.get(p).add(m)},o=(p,m,g)=>{if(p)for(let v of m){let T=Ne(v);if(T==="after"){let _=v.value?[v.value]:v.values;for(let E of _)E&&(Bi.test(E)||i(p,E))}else if(T==="before"){let _=v.value?[v.value]:v.values;for(let E of _)E&&(Bi.test(E)||i(E,p))}}},s=p=>{let m=p.name,g=p.properties??[];if(o(m,g,e),Vr(p))for(let v of p.content)s(v);else if(Wr(p)||qr(p))for(let v of p.content)s(v)};for(let p of e.roadmapEntries)s(p);let a=0,c=1,l=2,u=new Map;for(let p of n.keys())u.set(p,a);let f=new Set,d=(p,m)=>{u.set(p,c),m.push(p);for(let g of n.get(p)??[]){let v=u.get(g)??a;if(v===c){let T=m.indexOf(g),_=m.slice(T).concat(g),E=[..._].sort().join("\u2192");f.has(E)||(f.add(E),r("error",`Circular dependency detected: ${_.join(" \u2192 ")}.`,{node:e.roadmapDecl??e}))}else v===a&&d(g,m)}m.pop(),u.set(p,l)};for(let p of n.keys())(u.get(p)??a)===a&&d(p,[])}checkPersonDeclarations(e,r){let n=new Map,i=a=>!!a.title||a.properties.length>0||a.description!==void 0,o=a=>{if(!a.name)return;let c=i(a);n.has(a.name)||n.set(a.name,[]),n.get(a.name).push({node:a,isDeclaration:c}),!c&&a.$container.$type==="NowlineFile"&&r("warning",`Bare "person ${a.name}" at roadmap top level has no declaration. Either add properties (title, link, etc.) or remove the line.`,{node:a})},s=a=>{for(let c of a.content)Ui(c)?o(c):Yr(c)&&s(c)};for(let a of e.roadmapEntries)Ui(a)?o(a):Yr(a)&&s(a);for(let[a,c]of n){let l=c.filter(u=>u.isDeclaration);if(l.length>1)for(let u=1;u<l.length;u++)r("error",`Person "${a}" is declared more than once. First declaration at ${sh(l[0].node)}.`,{node:l[u].node})}}checkSymbolDeclaration(e,r){e.name&&ih.has(e.name)&&r("error",`Symbol id "${e.name}" collides with a built-in icon name. Reserved built-ins: ${[...ih].sort().join(", ")}.`,{node:e,property:"name"});let n=e.properties.find(o=>Ne(o)==="unicode");n?(!n.value||n.value.length===0)&&r("error",`Symbol "${Kr(e)}" unicode: must be a non-empty value.`,{node:n,property:"value"}):r("error",`Symbol "${Kr(e)}" requires a "unicode:" property (e.g. unicode:"\u{1F4B0}" or unicode:"\\u{1F464}").`,{node:e});let i=e.properties.find(o=>Ne(o)==="ascii");if(i){let o=i.value??"";HU.test(o)||r("error",`Symbol "${Kr(e)}" ascii: must be 1-3 ASCII characters (got ${o.length} character${o.length===1?"":"s"}).`,{node:i,property:"value"})}for(let o of e.properties){let s=Ne(o);s!=="unicode"&&s!=="ascii"&&s!=="link"&&s!=="description"&&r("error",`Unknown symbol property "${s}". Allowed: unicode, ascii, link, description.`,{node:o,property:"key"})}}checkDuplicateSymbolIds(e,r){let n=new Map;for(let i of e.configEntries)if(yu(i)&&i.name){let o=n.get(i.name);o?r("error",`Duplicate symbol id "${i.name}". First declared at ${sh(o)}.`,{node:i,property:"name"}):n.set(i.name,i)}}checkSymbolReferences(e,r){let n=new Map;for(let o=0;o<e.configEntries.length;o++){let s=e.configEntries[o];yu(s)&&s.name&&(n.has(s.name)||n.set(s.name,o))}let i=(o,s,a,c)=>{if(s!=="icon"&&s!=="capacity-icon"||!a||!_k(a)||s==="capacity-icon"&&f_.has(a)||s==="icon"&&ih.has(a))return;let l=n.get(a);if(l===void 0){let u=s==="capacity-icon"?[...f_].sort().join(", "):[...ih].sort().join(", ");r("error",`${s}: "${a}" is neither a built-in (${u}) nor a declared symbol. Add "symbol ${a} unicode:..." earlier in config or use a quoted Unicode literal.`,{node:c,property:"value"})}else l>=o&&r("error",`${s}: symbol "${a}" is referenced before its declaration. Move "symbol ${a}" above this entry.`,{node:c,property:"value"})};for(let o=0;o<e.configEntries.length;o++){let s=e.configEntries[o];if(gu(s))for(let a of s.properties)i(o,Ne(a),a.value,a);else if(Fi(s))for(let a of s.properties)i(o,Ne(a),a.value,a)}}};function l_(t){return CU.has(t)||UU.test(t)}function _k(t){return/^[a-zA-Z_][a-zA-Z0-9_-]*$/.test(t)}function WU(t){return t?Vr(t)?"lane":yr(t)?"item":Fi(t)?t.entityType==="swimlane"?"lane":"item":"invalid":"invalid"}function VU(t){return t?!!(Vr(t)||Fi(t)&&t.entityType==="swimlane"):!1}function Ek(t){if(!t||t===Rk)return null;if(d_.test(t)){let e=parseFloat(t);return Number.isFinite(e)&&e>0?e/100:null}if(wk.test(t)){let e=parseFloat(t);return Number.isFinite(e)&&e>0?e:null}return null}function sh(t){let e=t.$cstNode;return e?`line ${e.range.start.line+1}`:"unknown location"}function u_(t){let e=t.$type.replace(/Declaration$|Block$/,"").toLowerCase(),r=t.name??t.title;return r?`${e} "${r}"`:e}function YU(t,e){if(Vr(t)){e(t.name,t);for(let r of t.content)p_(r,e)}else Ui(t)?e(t.name,t):Yr(t)?Ak(t,e):(Zp(t)||th(t)||Qp(t)||eh(t)||Ya(t)||mu(t))&&e(t.name,t)}function Ak(t,e){e(t.name,t);for(let r of t.content)Yr(r)&&Ak(r,e)}function p_(t,e){if(yr(t))e(t.name,t);else if(Wr(t)){e(t.name,t);for(let r of t.content)p_(r,e)}else if(qr(t)){e(t.name,t);for(let r of t.content)p_(r,e)}}function vk(t,e){let r=n=>{let i=n.properties;if(Array.isArray(i))for(let o of i)e(o);if(Vr(n))for(let o of n.content)r(o);else if(Wr(n)||qr(n))for(let o of n.content)r(o);else if(Yr(n))for(let o of n.content)(Yr(o)||Ui(o))&&r(o)};r(t)}function KU(t){let e=new Set;t.roadmapDecl?.name&&e.add(t.roadmapDecl.name);let r=n=>{let i=n.name;if(i&&e.add(i),Vr(n))for(let o of n.content)r(o);else if(Wr(n)||qr(n))for(let o of n.content)r(o);else if(Yr(n))for(let o of n.content)Yr(o)||Ui(o)?r(o):jI(o)};for(let n of t.roadmapEntries)r(n);return e}var h_=class extends Lo{runConverter(e,r,n){return e.name==="PROPERTY_KEY_WITH_COLON"||e.name==="INCLUDE_OPTION_KEY"?r.endsWith(":")?r.slice(0,-1):r:super.runConverter(e,r,n)}},m_=class extends La{isStartOfLine(e,r){if(!super.isStartOfLine(e,r))return!1;let n=r-1;for(;n>=0&&(e[n]===" "||e[n]===" ");)n--;for(;n>=0&&(e[n]==="\r"||e[n]===`
|
|
2663
|
-
`);)n--;for(;n>=0&&(e[n]===" "||e[n]===" ");)n--;return n<0||e[n]!=="\\"}},Sk={parser:{TokenBuilder:()=>new m_({indentTokenName:"INDENT",dedentTokenName:"DEDENT",whitespaceTokenName:"WS",ignoreIndentationDelimiters:[["[","]"]]}),Lexer:t=>new lu(t),ParserConfig:()=>({maxLookahead:4}),ValueConverter:()=>new h_},validation:{NowlineValidator:()=>new ah}};function g_(t={}){let e=t.shared??Ho(au(uu),VI),r=Ho(su({shared:e}),YI,Sk);return e.ServiceRegistry.register(r),bk(r),{shared:e,Nowline:r}}var ZU=new Set(["none","multiplier","person","people","points","time"]),JU=/^\d+$/,QU=/^\d+\.\d+$/,eB=/^\d+(?:\.\d+)?%$/;function Gi(t){if(!t)return null;if(JU.test(t)){let e=parseInt(t,10);return e>0?e:null}if(QU.test(t)){let e=parseFloat(t);return Number.isFinite(e)&&e>0?e:null}if(eB.test(t)){let e=parseFloat(t.slice(0,-1))/100;return Number.isFinite(e)&&e>0?e:null}return null}function Tu(t){if(Number.isInteger(t))return String(t);let e=t.toFixed(6);return e=e.replace(/0+$/,""),e=e.replace(/\.$/,""),e}function tB(t){return t.key.endsWith(":")?t.key.slice(0,-1):t.key}function rB(t){for(let e of t.properties)if(tB(e)==="unicode"&&e.value)return e.value}function _u(t,e){if(t==="none")return null;if(ZU.has(t))return{kind:"builtin",name:t};let r=e.get(t);return r?{kind:"literal",text:rB(r)??t}:{kind:"literal",text:t}}function qo(t,e,r){return e?e.kind==="builtin"&&e.name==="multiplier"?(t.length+1)*r*.58:t.length*r*.58+(.1+1)*r:t.length*r*.58}function Eu(t,e,r,n=0,i=0){let o=t+10,s=o+12,a=e.length*6.5,c=s+a,l=0,u=0;r&&(l=`owner: ${r}`.length*5,u=c+6,c=u+l);let f=0;n>0&&(f=c+6,c=f+n);let d=0;i>0&&(d=c+6+i,c=d);let p=c-o+12,m=Math.max(56,p);return{titleTextWidth:a,ownerTextWidth:l,capacityBadgeWidth:n,footnoteIndicatorWidth:i,titleX:s,ownerX:u,badgeX:f,footnoteRightX:d,tabX:o,tabW:m,rightX:o+m}}function vu(t,e,r){let n=t+24,i=n+10,o=e.length*6,s=Math.max(60,o+10+10),a=n+s+6,c=a+18,l=0,u=0,f=0,d=0,p=c;return r&&(u=c+6,l=r.length*5.5,f=u-3,d=l+6,p=f+d),{labelTextWidth:o,sourceTextWidth:l,tabX:n,tabWidth:s,tabLabelX:i,badgeX:a,badgeSize:18,sourceHaloX:f,sourceHaloWidth:d,sourceTextX:u,chromeRightX:p}}function y_(t,e){if(t.length===0)return{rows:[[]],expanded:!1};let r=[[]],n=0,i=e,o=!1;for(let s of t){let a=r[r.length-1],c=(a.length===0?0:4)+s.width,l=n+c;if(l<=i){a.push(s),n=l;continue}if(a.length===0){a.push(s),n=s.width;continue}let u=l-i,f=s.width*.25;if(!o&&u<=f){a.push(s),n=l,i=l,o=!0;continue}r.push([s]),n=s.width,i=e}return{rows:r,expanded:o}}function Ik(t){return t.endsWith(":")?t.slice(0,-1):t}function ae(t,e){return t.find(r=>Ik(r.key)===e)?.value}function xt(t,e){let r=t.find(n=>Ik(n.key)===e);return r?r.value!==void 0?[r.value]:[...r.values]:[]}function Rt(t){if(!t)return null;let e=/^(\d{4})-(\d{2})-(\d{2})$/.exec(t);if(!e)return null;let r=new Date(Date.UTC(parseInt(e[1],10),parseInt(e[2],10)-1,parseInt(e[3],10)));return Number.isNaN(r.getTime())?null:r}var Ka={mode:"business",daysPerWeek:5,daysPerMonth:22,daysPerQuarter:65,daysPerYear:260},nB={mode:"full",daysPerWeek:7,daysPerMonth:30,daysPerQuarter:91,daysPerYear:365};function kk(t,e){let n=t.roadmapDecl?.properties.find(i=>x_(i.key)==="calendar")?.value??"business";if(n==="business")return{...Ka};if(n==="full")return{...nB};if(e){let i=(o,s)=>{let a=e.properties.find(l=>x_(l.key)===o),c=a?parseInt(a.value,10):NaN;return Number.isFinite(c)&&c>0?c:s};return{mode:"custom",daysPerWeek:i("days-per-week",Ka.daysPerWeek),daysPerMonth:i("days-per-month",Ka.daysPerMonth),daysPerQuarter:i("days-per-quarter",Ka.daysPerQuarter),daysPerYear:i("days-per-year",Ka.daysPerYear)}}return{...Ka}}var ch=/^(\d+(?:\.\d+)?)([dwmqy])$/;function lh(t,e){let r=ch.exec(t);if(!r)return 0;let n=parseFloat(r[1]);switch(r[2]){case"d":return n;case"w":return n*e.daysPerWeek;case"m":return n*e.daysPerMonth;case"q":return n*e.daysPerQuarter;case"y":return n*e.daysPerYear;default:return 0}}function Nk(t,e,r){return t?ch.test(t)?lh(t,r):e.get(t)?.effortDays??0:0}function Xi(t,e,r){let n=ae(t,"duration");if(n&&ch.test(n))return lh(n,r);let i=ae(t,"size"),o=i?e.get(i):void 0;if(!o)return 0;let s=Gi(ae(t,"capacity"))??1;return o.effortDays/s}function Pk(t,e,r){let n=ae(t,"size"),i=n?e.get(n):void 0;if(i)return i.effortDays;let o=ae(t,"duration");if(o&&ch.test(o)){let s=Gi(ae(t,"capacity"))??1;return lh(o,r)*s}return 0}function uh(t,e){let r=new Map;for(let[n,i]of t){let s=i.properties.find(c=>x_(c.key)==="effort")?.value;if(!s)continue;let a=lh(s,e);a<=0||r.set(n,{name:n,title:i.title||void 0,effortDays:a,effortLiteral:s})}return r}function x_(t){return t.endsWith(":")?t.slice(0,-1):t}function Nr(t,e){return Math.round((e.getTime()-t.getTime())/864e5)}function Wo(t,e){let r=new Date(t.getTime());return r.setUTCDate(r.getUTCDate()+e),r}var fh=class{constructor(e){fe(this,"items");fe(this,"brackets");this.items=e.itemBars,this.brackets=e.brackets}hasObstacle(e,r,n){let i=Math.min(r,n),o=Math.max(r,n);for(let s of this.items)if(!(e<=s.x||e>=s.x+s.width)&&!(s.y+s.height<=i||s.y>=o))return!0;return!1}bracketsNear(e,r,n,i){let o=Math.min(r,n),s=Math.max(r,n),a=[];for(let c of this.brackets)Math.abs(c.x-e)>i||c.yBottom<=o||c.yTop>=s||a.push(c);return a}};function Ck(t,e){let r=[],n=[],i=s=>{if(s.kind==="item"){r.push(s.box);return}if(s.kind==="parallel"){if(s.style.bracket==="solid"||s.style.bracket==="dashed"){let l=s.box.y-12,u=s.box.y+s.box.height+12,f=s.box.x,d=s.box.x+s.box.width;n.push({x:f,yTop:l,yBottom:u}),n.push({x:d,yTop:l,yBottom:u}),n.push({x:f+4,yTop:l-1,yBottom:l+1}),n.push({x:f+4,yTop:u-1,yBottom:u+1}),n.push({x:d-4,yTop:l-1,yBottom:l+1}),n.push({x:d-4,yTop:u-1,yBottom:u+1})}for(let a of s.children)i(a);return}if(s.kind==="group"){!(s.style.bg!=="none"&&s.style.bg!=="#ffffff")&&s.style.bracket&&s.style.bracket!=="none"&&n.push({x:s.box.x,yTop:s.box.y,yBottom:s.box.y+s.box.height});for(let c of s.children)i(c);return}},o=s=>{for(let a of s.children)i(a);for(let a of s.nested)o(a)};for(let s of t)o(s);for(let s of e)for(let a of s.nestedSwimlanes)o(a);return{itemBars:r,brackets:n}}function iB(t,e){let{from:r,to:n}=t;if(Math.abs(r.y-n.y)<.5)return{x:(r.x+n.x)/2,underBar:!1,range:null};let i=Math.min(r.y,n.y),o=Math.max(r.y,n.y);if(r.x<=n.x){let a=r.x+6,c=n.x-6;if(a>c)return{x:n.x-6,underBar:!0,range:null};let l={minX:a,maxX:c},u=(r.x+n.x)/2,f=Math.max(a,Math.min(c,u));if(!e.hasObstacle(f,i,o))return{x:f,underBar:!1,range:l};let d=c-a;for(let p=1;p<=d;p++){let m=f-p;if(m>=a&&!e.hasObstacle(m,i,o))return{x:m,underBar:!1,range:l};let g=f+p;if(g<=c&&!e.hasObstacle(g,i,o))return{x:g,underBar:!1,range:l}}return{x:f,underBar:!0,range:l}}let s=[r.x+10,n.x-10];for(let a of s)if(a>0&&!e.hasObstacle(a,i,o))return{x:a,underBar:!1,range:null};return{x:r.x+10,underBar:!0,range:null}}function oB(t,e,r,n){let i=Math.min(r.from.y,r.to.y),o=Math.max(r.from.y,r.to.y),s=n.bracketsNear(t,i,o,4);if(s.length===0)return{x:t,forceUnderBar:!1};let a=s[0],c=Math.abs(s[0].x-t);for(let d=1;d<s.length;d++){let p=Math.abs(s[d].x-t);p<c&&(a=s[d],c=p)}let l=[a.x+4,a.x-4],u=4-.01;for(let d of l){if(e&&(d<e.minX||d>e.maxX))continue;let p=e?d:Math.max(Math.min(r.from.x,r.to.x)+1,Math.min(Math.max(r.from.x,r.to.x)-1,d));if(n.bracketsNear(p,i,o,u).length===0)return{x:p,forceUnderBar:!1}}return{x:e?Math.min(Math.max(t,e.minX),e.maxX):t,forceUnderBar:!0}}function sB(t){let e=[...t].sort((i,o)=>Math.abs(i.channelX-o.channelX)>=1?i.channelX-o.channelX:i.orderIndex-o.orderIndex),r=new Map,n=0;for(;n<e.length;){let i=n+1;for(;i<e.length&&Math.abs(e[i].channelX-e[n].channelX)<1;)i++;let s=[...e.slice(n,i)].sort((c,l)=>{let u=Math.min(c.req.from.y,c.req.to.y),f=Math.min(l.req.from.y,l.req.to.y);return Math.abs(u-f)>.5?u-f:c.orderIndex-l.orderIndex}),a=[];for(let c of s){let l=Math.min(c.req.from.y,c.req.to.y),u=Math.max(c.req.from.y,c.req.to.y),f=-1;for(let d=0;d<a.length;d++)if(a[d]<=l){f=d,a[d]=u;break}f===-1&&(f=a.length,a.push(u)),r.set(c.orderIndex,f)}n=i}return r}function aB(t){if(t===0||t>4)return 0;let e=Math.ceil(t/2);return(t%2===1?1:-1)*e*3}function cB(t){let e=t.from.x>=t.to.x?{x:t.to.x-1,y:t.from.y}:t.from;return{fromId:t.fromId,toId:t.toId,waypoints:[e,t.to],underBar:!1}}function Ok(t,e){let r=new Array(t.length),n=[];for(let o=0;o<t.length;o++){let s=t[o];if(s.isMarkerSource){r[o]=cB(s);continue}if(Math.abs(s.from.y-s.to.y)<.5&&s.to.x-s.from.x<20){r[o]={fromId:s.fromId,toId:s.toId,waypoints:[s.from,s.to],underBar:!1};continue}let{x:a,underBar:c,range:l}=iB(s,e),{x:u,forceUnderBar:f}=oB(a,l,s,e),d=c||f;n.push({req:s,channelX:u,underBar:d,orderIndex:o})}let i=sB(n);for(let o of n){let s=aB(i.get(o.orderIndex)??0),a=o.channelX+s;r[o.orderIndex]={fromId:o.req.fromId,toId:o.req.toId,waypoints:lB(o.req.from,o.req.to,a),underBar:o.underBar}}return r}function lB(t,e,r){return Math.abs(t.y-e.y)<.5?[t,e]:[t,{x:r,y:t.y},{x:r,y:e.y},e]}var Ru="en-US",uB={"en-US":{nowLabel:"now",quarterPrefix:"Q"},fr:{nowLabel:"maint.",quarterPrefix:"T"}};function Lk(t,e){return e??t??Ru}function dh(t){let e={};for(let r of fB(t)){let n=uB[r];if(n)for(let i of Object.keys(n))e[i]===void 0&&n[i]!==void 0&&(e[i]=n[i])}return e}function fB(t){let e=[],r=dB(t);for(;r.length>0;){e.includes(r)||e.push(r);let n=r.lastIndexOf("-");if(n<=0)break;r=r.slice(0,n)}return e.includes(Ru)||e.push(Ru),e}function dB(t){return t.split("-").map((r,n)=>n===0?r.toLowerCase():/^[a-zA-Z]{2}$/.test(r)?r.toUpperCase():r).join("-")}function Fk(t){let{box:e,afterDate:r,beforeDate:n,hasLinkIcon:i,footnoteCount:o}=t;if(!r&&!n)return[];let s=[],a=12,c=e.y+5,l=e.width<40;if(r){let u=i?e.x+6+14+4:e.x+6,f=l?{x:e.x-6-a,y:c}:{x:u,y:c};s.push({side:"after",isoDate:r,glyphTopLeft:f,glyphSize:a,spilled:l})}if(n){let u=e.x+e.width,f;o>0?f=u-22-(o-1)*8-4:f=u-12-5-4;let d=f-a,p=l?{x:u+6,y:c}:{x:d,y:c};s.push({side:"before",isoDate:n,glyphTopLeft:p,glyphSize:a,spilled:l})}return s}function hh(t){let{box:e,afterDate:r,beforeDate:n}=t;if(!r&&!n)return[];let i=[],o=12,s=e.y+5;return r&&i.push({side:"after",isoDate:r,glyphTopLeft:{x:e.x+6,y:s},glyphSize:o,spilled:!1}),n&&i.push({side:"before",isoDate:n,glyphTopLeft:{x:e.x+e.width-6-o,y:s},glyphSize:o,spilled:!1}),i}function qn(t){for(let e of t)if(/^\d{4}-\d{2}-\d{2}$/.test(e))return e}function mh(t,e){return{x:t,y:e,height:0,maxX:t}}var Qa=class{constructor(e){fe(this,"rows");fe(this,"opts");this.opts=e,this.rows=[{y:e.originY,height:e.minRowHeight,rightEdge:e.laneLeftX,spillX:e.laneLeftX,placedChildren:[]}]}placeItem(e){for(let n=0;n<this.rows.length;n+=1){let i=this.rows[n];if(!(e.desiredStart<i.rightEdge)&&!(e.desiredStart<i.spillX)&&!this.rowIntersectsCorridor(i,e))return{rowIndex:n,y:i.y}}let r=this.appendRow(Math.max(this.opts.minRowHeight,e.predictedHeight));return{rowIndex:this.rows.length-1,y:r.y}}placeBlock(){let e=this.rows[this.rows.length-1];if(e.rightEdge>this.opts.laneLeftX){let r=this.appendRow(this.opts.minRowHeight);return{rowIndex:this.rows.length-1,y:r.y}}return{rowIndex:this.rows.length-1,y:e.y}}commitItem(e){let r=this.rows[e.rowIndex],n=Math.max(e.placed.box.height,e.rowHeight??0);this.growRowHeight(e.rowIndex,n),r.rightEdge=e.logicalEnd,r.spillX=e.spillReservation??this.opts.laneLeftX,r.placedChildren.push(e.placed)}commitBlock(e){let r=this.rows[e.rowIndex];this.growRowHeight(e.rowIndex,e.blockHeight),r.rightEdge=e.blockEnd,r.spillX=this.opts.laneLeftX,r.placedChildren.push(e.placed)}usedHeight(){let e=this.rows[this.rows.length-1];return e.y+e.height-this.opts.originY}usedRightX(){let e=this.opts.laneLeftX;for(let r of this.rows)r.rightEdge>e&&(e=r.rightEdge),r.spillX>e&&(e=r.spillX);return e}rowIntersectsCorridor(e,r){return this.opts.slackCorridors.some(n=>n.y>=e.y&&n.y<e.y+e.height&&r.desiredStart<n.xEnd&&r.desiredEnd>n.xStart&&n.slackPredId!==r.childId)}appendRow(e){let r=this.rows[this.rows.length-1],n={y:r.y+r.height,height:e,rightEdge:this.opts.laneLeftX,spillX:this.opts.laneLeftX,placedChildren:[]};return this.rows.push(n),n}growRowHeight(e,r){let n=this.rows[e],i=r-n.height;if(!(i<=0)){n.height=r;for(let o=e+1;o<this.rows.length;o+=1){let s=this.rows[o];s.y+=i;for(let a of s.placedChildren)Uk(a,i)}}}};function Uk(t,e){if(t.box.y+=e,t.kind==="item"){for(let r of t.labelChips)r.box.y+=e;t.overflowBox&&(t.overflowBox.y+=e);return}for(let r of t.children)Uk(r,e)}var Bk={red:"#f87171",blue:"#60a5fa",yellow:"#facc15",green:"#34d399",orange:"#fb923c",purple:"#a78bfa",gray:"#94a3b8",navy:"#818cf8",white:"#e2e8f0"},Wn={bg:"none",fg:"#e2e8f0",text:"#e2e8f0",border:"solid",icon:"none",shadow:"none",font:"sans",weight:"normal",italic:!1,textSize:"md",padding:"sm",spacing:"sm",headerHeight:"sm",cornerRadius:"sm",bracket:"none",capacityIcon:"multiplier"},Gk={name:"dark",surface:{page:"#0b1220",chart:"#111827",headerBox:"#1e293b"},entities:{roadmap:{...Wn,headerHeight:"md",padding:"md"},swimlane:{...Wn,fg:"#e2e8f0",text:"#e2e8f0",padding:"sm",spacing:"none",textSize:"sm"},item:{...Wn,bg:"#0f172a",fg:"#94a3b8",text:"#e2e8f0",shadow:"subtle",cornerRadius:"sm"},parallel:{...Wn,bracket:"none",padding:"xs"},group:{...Wn,bracket:"solid",padding:"xs",fg:"#94a3b8"},anchor:{...Wn,bg:"#0b1220",fg:"#cbd5e1",text:"#cbd5e1",cornerRadius:"sm"},milestone:{...Wn,bg:"#e2e8f0",fg:"#e2e8f0",text:"#0b1220",border:"solid"},footnote:{...Wn,bg:"none",fg:"#94a3b8",text:"#e2e8f0",textSize:"sm"},label:{...Wn,bg:"#1e293b",fg:"#94a3b8",text:"#e2e8f0",textSize:"xs",padding:"xs",cornerRadius:"full"}},swimlane:{bandEven:"#111827",bandOdd:"#0f172a",separator:"#1f2937",frameTabText:"#e2e8f0",frameTabMuted:"#94a3b8",border:"#334155",tabFill:"#1e293b",tabStroke:"#475569",tabText:"#e2e8f0",ownerText:"#94a3b8",footnoteIndicator:"#f87171",rowTintEven:"#0f172a",rowTintOdd:"#1e293b",utilizationOk:"#34d399",utilizationWarn:"#fbbf24",utilizationOver:"#f87171"},timeline:{gridLine:"#475569",minorGridLine:"#334155",tickMark:"#334155",labelText:"#cbd5e1",panelFill:"#0f172a",border:"#334155"},header:{cardBorder:"#475569",author:"#94a3b8"},item:{overflowX:"#f87171",linkIconFg:"#94a3b8",overflowTailFill:"#7f1d1d",overflowTailStroke:"#f87171",overflowCaption:"#fecaca"},parallel:{bracketStroke:"#cbd5e1"},anchorDiamond:{fill:"#0f172a",stroke:"#cbd5e1",label:"#cbd5e1",cutLine:"#94a3b8"},milestoneDiamond:{fill:"#e2e8f0",label:"#e2e8f0",cutLineNormal:"#a5b4fc",cutLineOverrun:"#ef4444",slack:"#cbd5e1"},footnotePanel:{fill:"#0f172a",border:"#334155",header:"#e2e8f0",title:"#e2e8f0",description:"#94a3b8",number:"#f87171"},nowline:{stroke:"#f87171",labelText:"#0b1220",labelBg:"#f87171"},milestone:{dashedInk:"#a5b4fc",overrun:"#ef4444"},anchor:{predecessorLine:"#94a3b8"},dependency:{edgeStroke:"#cbd5e1",overflowStroke:"#ef5350"},footnote:{indicatorText:"#f87171",descriptionMuted:"#94a3b8"},includeRegion:{border:"#475569",label:"#cbd5e1",badge:"#94a3b8",fill:"#0b1220",tabFill:"#111827",tabStroke:"#475569",tabText:"#e2e8f0",badgeFill:"#1e293b",badgeStroke:"#475569",badgeText:"#94a3b8"},arrowhead:{neutral:"#94a3b8",light:"#64748b",dark:"#e2e8f0"},status:{done:"#34d399",inProgress:"#60a5fa",atRisk:"#facc15",blocked:"#ef4444",planned:"#94a3b8",neutral:"#94a3b8"},statusDot:{onLight:{done:"#065f46",inProgress:"#1e3a8a",atRisk:"#92400e",blocked:"#991b1b",planned:"#334155",neutral:"#334155"},onDark:{done:"#d1fae5",inProgress:"#dbeafe",atRisk:"#fef3c7",blocked:"#fee2e2",planned:"#e2e8f0",neutral:"#e2e8f0"}},attribution:{mark:"#cbd5e1",link:"#f87171"},diagnostic:{overlayBg:"#7f1d1d",errorText:"#fecaca"}};var Xk={red:"#e53935",blue:"#1e88e5",yellow:"#fdd835",green:"#43a047",orange:"#fb8c00",purple:"#8e24aa",gray:"#9e9e9e",navy:"#0d47a1",white:"#ffffff"},Vn={bg:"none",fg:"#0f172a",text:"#0f172a",border:"solid",icon:"none",shadow:"none",font:"sans",weight:"normal",italic:!1,textSize:"md",padding:"sm",spacing:"sm",headerHeight:"sm",cornerRadius:"sm",bracket:"none",capacityIcon:"multiplier"},Hk={name:"light",surface:{page:"#f8fafc",chart:"#ffffff",headerBox:"#ffffff"},entities:{roadmap:{...Vn,headerHeight:"md",padding:"md"},swimlane:{...Vn,fg:"#334155",text:"#334155",padding:"sm",spacing:"none",textSize:"sm"},item:{...Vn,bg:"#ffffff",fg:"#94a3b8",text:"#0f172a",shadow:"subtle",cornerRadius:"sm"},parallel:{...Vn,bracket:"none",padding:"xs"},group:{...Vn,bracket:"solid",padding:"xs",fg:"#475569"},anchor:{...Vn,bg:"#0f172a",fg:"#0f172a",text:"#0f172a",cornerRadius:"sm"},milestone:{...Vn,bg:"#312e81",fg:"#312e81",text:"#ffffff",border:"solid"},footnote:{...Vn,bg:"none",fg:"#475569",text:"#475569",textSize:"sm"},label:{...Vn,bg:"#f1f5f9",fg:"#475569",text:"#475569",textSize:"xs",padding:"xs",cornerRadius:"full"}},swimlane:{bandEven:"#ffffff",bandOdd:"#f8fafc",separator:"#e2e8f0",frameTabText:"#334155",frameTabMuted:"#64748b",border:"#e2e8f0",tabFill:"#f1f5f9",tabStroke:"#cbd5e1",tabText:"#334155",ownerText:"#64748b",footnoteIndicator:"#dc2626",rowTintEven:"#ffffff",rowTintOdd:"#f8fafc",utilizationOk:"#10b981",utilizationWarn:"#f59e0b",utilizationOver:"#ef4444"},timeline:{gridLine:"#cbd5e1",minorGridLine:"#e2e8f0",tickMark:"#cbd5e1",labelText:"#64748b",panelFill:"#ffffff",border:"#e2e8f0"},header:{cardBorder:"#e2e8f0",author:"#64748b"},item:{overflowX:"#dc2626",linkIconFg:"#0f172a",overflowTailFill:"#fee2e2",overflowTailStroke:"#ef4444",overflowCaption:"#b91c1c"},parallel:{bracketStroke:"#334155"},anchorDiamond:{fill:"#ffffff",stroke:"#334155",label:"#334155",cutLine:"#64748b"},milestoneDiamond:{fill:"#0f172a",label:"#0f172a",cutLineNormal:"#1e1b4b",cutLineOverrun:"#b91c1c",slack:"#0f172a"},footnotePanel:{fill:"#ffffff",border:"#e2e8f0",header:"#0f172a",title:"#0f172a",description:"#64748b",number:"#dc2626"},nowline:{stroke:"#e53e3e",labelText:"#ffffff",labelBg:"#e53e3e"},milestone:{dashedInk:"#94a3b8",overrun:"#ef4444"},anchor:{predecessorLine:"#94a3b8"},dependency:{edgeStroke:"#475569",overflowStroke:"#d32f2f"},footnote:{indicatorText:"#e53e3e",descriptionMuted:"#64748b"},includeRegion:{border:"#94a3b8",label:"#334155",badge:"#64748b",fill:"#f8fafc",tabFill:"#ffffff",tabStroke:"#cbd5e1",tabText:"#0f172a",badgeFill:"#e2e8f0",badgeStroke:"#cbd5e1",badgeText:"#475569"},arrowhead:{neutral:"#475569",light:"#94a3b8",dark:"#0f172a"},status:{done:"#10b981",inProgress:"#3b82f6",atRisk:"#f59e0b",blocked:"#ef4444",planned:"#94a3b8",neutral:"#94a3b8"},statusDot:{onLight:{done:"#065f46",inProgress:"#1e3a8a",atRisk:"#92400e",blocked:"#991b1b",planned:"#334155",neutral:"#334155"},onDark:{done:"#d1fae5",inProgress:"#dbeafe",atRisk:"#fef3c7",blocked:"#fee2e2",planned:"#e2e8f0",neutral:"#e2e8f0"}},attribution:{mark:"#94a3b8",link:"#e53e3e"},diagnostic:{overlayBg:"#fee2e2",errorText:"#991b1b"}};var jk={light:Hk,dark:Gk};var gB={grey:"gray",violet:"purple"};function Vo(t,e){if(t==="none")return"none";if(t.startsWith("#"))return t;let r=e.name==="dark"?Bk:Xk,n=gB[t]??t,i=r[n];return typeof i=="string"?i:t}function ec(t){return t.key.endsWith(":")?t.key.slice(0,-1):t.key}function yB(t,e){return{bg:Vo(t.bg,e),fg:Vo(t.fg,e),text:Vo(t.text,e),border:t.border,icon:t.icon,shadow:t.shadow,font:t.font,weight:t.weight,italic:t.italic,textSize:t.textSize,padding:t.padding,spacing:t.spacing,headerHeight:t.headerHeight,cornerRadius:t.cornerRadius,bracket:t.bracket,headerPosition:"beside",capacityIcon:t.capacityIcon,timelinePosition:"top",minorGrid:!1}}function T_(t,e,r,n){switch(e){case"bg":t.bg=Vo(r,n);break;case"fg":t.fg=Vo(r,n);break;case"text":t.text=Vo(r,n);break;case"border":(r==="solid"||r==="dashed"||r==="dotted")&&(t.border=r);break;case"icon":t.icon=r;break;case"shadow":(r==="none"||r==="subtle"||r==="soft"||r==="hard")&&(t.shadow=r);break;case"font":(r==="sans"||r==="serif"||r==="mono")&&(t.font=r);break;case"weight":(r==="thin"||r==="light"||r==="normal"||r==="bold")&&(t.weight=r);break;case"italic":t.italic=r==="true";break;case"text-size":t.textSize=Au(r,"xl");break;case"padding":t.padding=Au(r,"xl");break;case"spacing":t.spacing=Au(r,"xl");break;case"header-height":t.headerHeight=Au(r,"xl");break;case"corner-radius":t.cornerRadius=Au(r,"full");break;case"bracket":(r==="none"||r==="solid"||r==="dashed")&&(t.bracket=r);break;case"header-position":(r==="beside"||r==="above")&&(t.headerPosition=r);break;case"capacity-icon":t.capacityIcon=r;break;case"timeline-position":(r==="top"||r==="bottom"||r==="both")&&(t.timelinePosition=r);break;case"minor-grid":t.minorGrid=r==="true";break;default:break}}function Au(t,e){let r=["none","xs","sm","md","lg","xl","full"],n=r.indexOf(e),i=r.indexOf(t);return i<0?"md":i>n?r[n]:r[i]}function zk(t,e,r){if(e)for(let n of e.properties)T_(t,ec(n),n.value,r)}function xB(t,e,r){for(let n of e){let i=ec(n);n.value!==void 0&&T_(t,i,n.value,r)}}function TB(t,e,r){let n=e.find(o=>ec(o)==="labels");if(!n)return;let i=n.value?[n.value]:n.values;for(let o of i){let s=r.labels.get(o);if(!s)continue;let a=s.properties.find(c=>ec(c)==="style");a?.value&&zk(t,r.styles.get(a.value),r.theme)}}function _B(t,e,r){let n=e.find(i=>ec(i)==="style");n?.value&&zk(t,r.styles.get(n.value),r.theme)}function Tt(t,e,r){let n=r.theme.entities[t],i=yB(n,r.theme),o=r.defaults.get(t);if(o)for(let s of o.properties)s.value!==void 0&&T_(i,ec(s),s.value,r.theme);return TB(i,e,r),_B(i,e,r),xB(i,e,r.theme),i}function qk(t,e){return Tt("label",t.properties,e)}var Wk={none:0,xs:2,sm:4,md:8,lg:16,xl:24},Vk={none:0,xs:4,sm:8,md:12,lg:20,xl:32};var tc={none:0,xs:10,sm:12,md:14,lg:18,xl:24},gh={none:0,xs:2,sm:4,md:8,lg:12,xl:20,full:9999};var Pr=8,vn=4,Su=24,yh=15,Iu=8,xh=22,Th=15,ku=16,_h=6,__=4,E_=11,v_=9,R_=5.5,w_=4,rc=12,Eh="6 4",b_=36,Hi=16,A_=Hi/2,Nu=10,S_=Hi-4,nc=6,vh=2.25,Zr=6,Jr=2*Zr,Yk=5,Kk=120,I_=240,Rh=72,Pu=28,Qr=16,k_=22,Cu=18,wh="Powered by",N_="https://nowline.io",Ou=.22,ji=40,bh=32,Zk=.58,EB=wh.length*bh*Zk,vB=10,Lu=EB+vB,P_=Lu+74,C_=5,Ah=Lu+81,RB=3*ji*Zk,wB=Ah+RB,bB=12+ji,O_=wB*Ou,Jk=bB*Ou,L_=4;var We={sans:'system-ui, -apple-system, "Segoe UI", Roboto, sans-serif',serif:'Georgia, "Times New Roman", serif',mono:"ui-monospace, SFMono-Regular, Menlo, Consolas, monospace"},Qk={days:7,weeks:4,months:3,quarters:4,years:5};var Sh=class{constructor(e,r){fe(this,"node");fe(this,"deps");this.node=e,this.deps=r}get id(){return this.node.name??""}place(e,r){let{node:n}=this,{deps:i}=this,o=Tt("group",n.properties,r.styleCtx),s=e.x,a=n.title??n.name,c=r.currentFlowKey;r.currentFlowKey=`${c}/group:${n.name??"g"}`;let l=o.bg!=="none"&&o.bg!=="#ffffff"&&!!a,u=l?ku+__:0,f=l?w_:0,d=!l&&a?rc:0,p=e.y+d,m=r.bandScale.step(),g=s,v=new Qa({laneLeftX:g,originY:p+u,minRowHeight:m,slackCorridors:r.slackCorridors}),T=g,_=[];for(let z of n.content){if(z.$type==="DescriptionDirective")continue;if(!yr(z)){let ee=z.properties??[],Le=i.resolveChildStart(ee,T,g,r),{rowIndex:Fe,y:Ue}=v.placeBlock(),q=i.newCursor(Le,Ue),J=i.sequenceOne(z,q,r);_.push(J);let te=J.box.x+J.box.width,P=Math.max(m,q.height);v.commitBlock({rowIndex:Fe,placed:J,blockHeight:P,blockEnd:te}),T=Math.max(T,te);continue}let le=z.properties,O=i.resolveChildStart(le,T,g,r),R=Xi(le,r.sizes,r.cal),L=Math.max(Pr,R*r.timeline.pixelsPerDay),$=O+L,b=z.name??"",A=i.predictItemChipExtraHeight(z,r),S=m+A,{rowIndex:M,y:X}=v.placeItem({childId:b,desiredStart:O,desiredEnd:$,predictedHeight:S}),F=i.newCursor(O,X),W=i.sequenceItem(z,F,r);_.push(W);let K=W.box.x+W.box.width+Zr;T=Math.max(T,K);let pe=null;(W.textSpills||W.chipsOutside||W.dotSpills||W.iconSpills||W.footnoteSpills)&&(pe=Math.max(W.decorationsRightX,W.chipsOutside?W.chipsRightX:0)+6),v.commitItem({rowIndex:M,placed:W,logicalEnd:K,spillReservation:pe,rowHeight:S})}let E=Math.max(m,v.usedHeight()),I=Math.max(T,v.usedRightX()),D={x:s,y:p,width:I-s,height:u+E+f};e.x=T+Iu,e.maxX=Math.max(e.maxX,e.x);let k=r.bandScale.step()-r.bandScale.bandwidth();e.height=Math.max(e.height,d+D.height+k);let B=n.name;B&&(r.entityLeftEdges.set(B,D.x),r.entityRightEdges.set(B,D.x+D.width)),r.currentFlowKey=c;let U=hh({box:D,afterDate:qn(xt(n.properties,"after")),beforeDate:qn(xt(n.properties,"before"))});return{kind:"group",id:B,title:a,box:D,children:_,style:o,inlineDatePins:U.length>0?U:void 0}}};var D_=12,AB=4,SB=13,IB=11;function eN(t,e){return t.length*e*.58}var Ih=class{constructor(e){fe(this,"input");this.input=e}get id(){return this.input.id}measure(e){return{width:Math.max(Pr,this.input.logicalRightX-this.input.logicalLeftX),height:e.bands.bandwidth()}}place(e,r){let n=this.measure(r),i=Math.max(Pr,n.width-2*Zr),o=e.x+Zr,s={x:o,y:e.y,width:i,height:n.height},a=this.input.hasLinkIcon?20+kB-D_:0,c=D_+Math.max(0,a),l=Math.max(0,i-c-D_),u=this.input.title,f=u?eN(u,SB):0,d=this.input.metaText?eN(this.input.metaText,IB):0,p=this.input.metaTrailingWidth??0,m=d+p,g=this.input.metaText!==void 0||p>0,v=u.length>0&&f>l||g&&m>l,T=v?o+i+AB:o+c;return{id:this.input.id,box:s,textX:T,textSpills:v}}},kB=4;var kh=class{constructor(e,r){fe(this,"node");fe(this,"deps");this.node=e,this.deps=r}get id(){return this.node.name??""}place(e,r){let{node:n}=this,{deps:i}=this,o=Tt("parallel",n.properties,r.styleCtx),s=e.x,a=e.y,c=[],l=s,u=0,f=r.currentFlowKey,d=n.name??"p",p=0;for(let T of n.content){if(T.$type==="DescriptionDirective")continue;r.currentFlowKey=`${f}/par:${d}#${p}`;let _=i.newCursor(s,a+u),E=i.sequenceOne(T,_,r);c.push(E),u+=Math.max(r.bandScale.step(),_.height),l=Math.max(l,_.maxX),p++}r.currentFlowKey=f;let m={x:s,y:a,width:l-s,height:u};e.x=l+Iu,e.maxX=Math.max(e.maxX,e.x),e.height=Math.max(e.height,u);let g=n.name;g&&(r.entityLeftEdges.set(g,m.x),r.entityRightEdges.set(g,m.x+m.width));let v=hh({box:m,afterDate:qn(xt(n.properties,"after")),beforeDate:qn(xt(n.properties,"before"))});return{kind:"parallel",id:g,title:n.title??n.name,box:m,children:c,style:o,inlineDatePins:v.length>0?v:void 0}}};function Yo(t,e){return t==null||e==null?NaN:t<e?-1:t>e?1:t>=e?0:NaN}function $_(t,e){return t==null||e==null?NaN:e<t?-1:e>t?1:e>=t?0:NaN}function Ko(t){let e,r,n;t.length!==2?(e=Yo,r=(a,c)=>Yo(t(a),c),n=(a,c)=>t(a)-c):(e=t===Yo||t===$_?t:NB,r=t,n=t);function i(a,c,l=0,u=a.length){if(l<u){if(e(c,c)!==0)return u;do{let f=l+u>>>1;r(a[f],c)<0?l=f+1:u=f}while(l<u)}return l}function o(a,c,l=0,u=a.length){if(l<u){if(e(c,c)!==0)return u;do{let f=l+u>>>1;r(a[f],c)<=0?l=f+1:u=f}while(l<u)}return l}function s(a,c,l=0,u=a.length){let f=i(a,c,l,u-1);return f>l&&n(a[f-1],c)>-n(a[f],c)?f-1:f}return{left:i,center:s,right:o}}function NB(){return 0}function M_(t){return t===null?NaN:+t}var tN=Ko(Yo),rN=tN.right,PB=tN.left,CB=Ko(M_).center,F_=rN;var ic=class extends Map{constructor(e,r=DB){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:r}}),e!=null)for(let[n,i]of e)this.set(n,i)}get(e){return super.get(nN(this,e))}has(e){return super.has(nN(this,e))}set(e,r){return super.set(OB(this,e),r)}delete(e){return super.delete(LB(this,e))}};function nN({_intern:t,_key:e},r){let n=e(r);return t.has(n)?t.get(n):r}function OB({_intern:t,_key:e},r){let n=e(r);return t.has(n)?t.get(n):(t.set(n,r),r)}function LB({_intern:t,_key:e},r){let n=e(r);return t.has(n)&&(r=t.get(n),t.delete(n)),r}function DB(t){return t!==null&&typeof t=="object"?t.valueOf():t}var $B=Math.sqrt(50),MB=Math.sqrt(10),FB=Math.sqrt(2);function iN(t,e,r){let n=(e-t)/Math.max(0,r),i=Math.floor(Math.log10(n)),o=n/Math.pow(10,i),s=o>=$B?10:o>=MB?5:o>=FB?2:1,a,c,l;return i<0?(l=Math.pow(10,-i)/s,a=Math.round(t*l),c=Math.round(e*l),a/l<t&&++a,c/l>e&&--c,l=-l):(l=Math.pow(10,i)*s,a=Math.round(t/l),c=Math.round(e/l),a*l<t&&++a,c*l>e&&--c),c<a&&.5<=r&&r<2?iN(t,e,r*2):[a,c,l]}function U_(t,e,r){return e=+e,t=+t,r=+r,iN(t,e,r)[2]}function Nh(t,e,r){e=+e,t=+t,r=+r;let n=e<t,i=n?U_(e,t,r):U_(t,e,r);return(n?-1:1)*(i<0?1/-i:i)}function Ph(t,e,r){t=+t,e=+e,r=(i=arguments.length)<2?(e=t,t=0,1):i<3?1:+r;for(var n=-1,i=Math.max(0,Math.ceil((e-t)/r))|0,o=new Array(i);++n<i;)o[n]=t+n*r;return o}function oc(t,e){switch(arguments.length){case 0:break;case 1:this.range(t);break;default:this.range(e).domain(t);break}return this}var oN=Symbol("implicit");function Ch(){var t=new ic,e=[],r=[],n=oN;function i(o){let s=t.get(o);if(s===void 0){if(n!==oN)return n;t.set(o,s=e.push(o)-1)}return r[s%r.length]}return i.domain=function(o){if(!arguments.length)return e.slice();e=[],t=new ic;for(let s of o)t.has(s)||t.set(s,e.push(s)-1);return i},i.range=function(o){return arguments.length?(r=Array.from(o),i):r.slice()},i.unknown=function(o){return arguments.length?(n=o,i):n},i.copy=function(){return Ch(e,r).unknown(n)},oc.apply(i,arguments),i}function Du(){var t=Ch().unknown(void 0),e=t.domain,r=t.range,n=0,i=1,o,s,a=!1,c=0,l=0,u=.5;delete t.unknown;function f(){var d=e().length,p=i<n,m=p?i:n,g=p?n:i;o=(g-m)/Math.max(1,d-c+l*2),a&&(o=Math.floor(o)),m+=(g-m-o*(d-c))*u,s=o*(1-c),a&&(m=Math.round(m),s=Math.round(s));var v=Ph(d).map(function(T){return m+o*T});return r(p?v.reverse():v)}return t.domain=function(d){return arguments.length?(e(d),f()):e()},t.range=function(d){return arguments.length?([n,i]=d,n=+n,i=+i,f()):[n,i]},t.rangeRound=function(d){return[n,i]=d,n=+n,i=+i,a=!0,f()},t.bandwidth=function(){return s},t.step=function(){return o},t.round=function(d){return arguments.length?(a=!!d,f()):a},t.padding=function(d){return arguments.length?(c=Math.min(1,l=+d),f()):c},t.paddingInner=function(d){return arguments.length?(c=Math.min(1,d),f()):c},t.paddingOuter=function(d){return arguments.length?(l=+d,f()):l},t.align=function(d){return arguments.length?(u=Math.max(0,Math.min(1,d)),f()):u},t.copy=function(){return Du(e(),[n,i]).round(a).paddingInner(c).paddingOuter(l).align(u)},oc.apply(f(),arguments)}function Oh(t,e,r){t.prototype=e.prototype=r,r.constructor=t}function B_(t,e){var r=Object.create(t.prototype);for(var n in e)r[n]=e[n];return r}function Fu(){}var $u=.7,$h=1/$u,sc="\\s*([+-]?\\d+)\\s*",Mu="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",Rn="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",UB=/^#([0-9a-f]{3,8})$/,BB=new RegExp(`^rgb\\(${sc},${sc},${sc}\\)$`),GB=new RegExp(`^rgb\\(${Rn},${Rn},${Rn}\\)$`),XB=new RegExp(`^rgba\\(${sc},${sc},${sc},${Mu}\\)$`),HB=new RegExp(`^rgba\\(${Rn},${Rn},${Rn},${Mu}\\)$`),jB=new RegExp(`^hsl\\(${Mu},${Rn},${Rn}\\)$`),zB=new RegExp(`^hsla\\(${Mu},${Rn},${Rn},${Mu}\\)$`),sN={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};Oh(Fu,zi,{copy(t){return Object.assign(new this.constructor,this,t)},displayable(){return this.rgb().displayable()},hex:aN,formatHex:aN,formatHex8:qB,formatHsl:WB,formatRgb:cN,toString:cN});function aN(){return this.rgb().formatHex()}function qB(){return this.rgb().formatHex8()}function WB(){return hN(this).formatHsl()}function cN(){return this.rgb().formatRgb()}function zi(t){var e,r;return t=(t+"").trim().toLowerCase(),(e=UB.exec(t))?(r=e[1].length,e=parseInt(e[1],16),r===6?lN(e):r===3?new ar(e>>8&15|e>>4&240,e>>4&15|e&240,(e&15)<<4|e&15,1):r===8?Lh(e>>24&255,e>>16&255,e>>8&255,(e&255)/255):r===4?Lh(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|e&240,((e&15)<<4|e&15)/255):null):(e=BB.exec(t))?new ar(e[1],e[2],e[3],1):(e=GB.exec(t))?new ar(e[1]*255/100,e[2]*255/100,e[3]*255/100,1):(e=XB.exec(t))?Lh(e[1],e[2],e[3],e[4]):(e=HB.exec(t))?Lh(e[1]*255/100,e[2]*255/100,e[3]*255/100,e[4]):(e=jB.exec(t))?dN(e[1],e[2]/100,e[3]/100,1):(e=zB.exec(t))?dN(e[1],e[2]/100,e[3]/100,e[4]):sN.hasOwnProperty(t)?lN(sN[t]):t==="transparent"?new ar(NaN,NaN,NaN,0):null}function lN(t){return new ar(t>>16&255,t>>8&255,t&255,1)}function Lh(t,e,r,n){return n<=0&&(t=e=r=NaN),new ar(t,e,r,n)}function VB(t){return t instanceof Fu||(t=zi(t)),t?(t=t.rgb(),new ar(t.r,t.g,t.b,t.opacity)):new ar}function ac(t,e,r,n){return arguments.length===1?VB(t):new ar(t,e,r,n??1)}function ar(t,e,r,n){this.r=+t,this.g=+e,this.b=+r,this.opacity=+n}Oh(ar,ac,B_(Fu,{brighter(t){return t=t==null?$h:Math.pow($h,t),new ar(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=t==null?$u:Math.pow($u,t),new ar(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new ar(Jo(this.r),Jo(this.g),Jo(this.b),Mh(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:uN,formatHex:uN,formatHex8:YB,formatRgb:fN,toString:fN}));function uN(){return`#${Zo(this.r)}${Zo(this.g)}${Zo(this.b)}`}function YB(){return`#${Zo(this.r)}${Zo(this.g)}${Zo(this.b)}${Zo((isNaN(this.opacity)?1:this.opacity)*255)}`}function fN(){let t=Mh(this.opacity);return`${t===1?"rgb(":"rgba("}${Jo(this.r)}, ${Jo(this.g)}, ${Jo(this.b)}${t===1?")":`, ${t})`}`}function Mh(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function Jo(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function Zo(t){return t=Jo(t),(t<16?"0":"")+t.toString(16)}function dN(t,e,r,n){return n<=0?t=e=r=NaN:r<=0||r>=1?t=e=NaN:e<=0&&(t=NaN),new en(t,e,r,n)}function hN(t){if(t instanceof en)return new en(t.h,t.s,t.l,t.opacity);if(t instanceof Fu||(t=zi(t)),!t)return new en;if(t instanceof en)return t;t=t.rgb();var e=t.r/255,r=t.g/255,n=t.b/255,i=Math.min(e,r,n),o=Math.max(e,r,n),s=NaN,a=o-i,c=(o+i)/2;return a?(e===o?s=(r-n)/a+(r<n)*6:r===o?s=(n-e)/a+2:s=(e-r)/a+4,a/=c<.5?o+i:2-o-i,s*=60):a=c>0&&c<1?0:s,new en(s,a,c,t.opacity)}function mN(t,e,r,n){return arguments.length===1?hN(t):new en(t,e,r,n??1)}function en(t,e,r,n){this.h=+t,this.s=+e,this.l=+r,this.opacity=+n}Oh(en,mN,B_(Fu,{brighter(t){return t=t==null?$h:Math.pow($h,t),new en(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=t==null?$u:Math.pow($u,t),new en(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+(this.h<0)*360,e=isNaN(t)||isNaN(this.s)?0:this.s,r=this.l,n=r+(r<.5?r:1-r)*e,i=2*r-n;return new ar(G_(t>=240?t-240:t+120,i,n),G_(t,i,n),G_(t<120?t+240:t-120,i,n),this.opacity)},clamp(){return new en(pN(this.h),Dh(this.s),Dh(this.l),Mh(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){let t=Mh(this.opacity);return`${t===1?"hsl(":"hsla("}${pN(this.h)}, ${Dh(this.s)*100}%, ${Dh(this.l)*100}%${t===1?")":`, ${t})`}`}}));function pN(t){return t=(t||0)%360,t<0?t+360:t}function Dh(t){return Math.max(0,Math.min(1,t||0))}function G_(t,e,r){return(t<60?e+(r-e)*t/60:t<180?r:t<240?e+(r-e)*(240-t)/60:e)*255}function X_(t,e,r,n,i){var o=t*t,s=o*t;return((1-3*t+3*o-s)*e+(4-6*o+3*s)*r+(1+3*t+3*o-3*s)*n+s*i)/6}function gN(t){var e=t.length-1;return function(r){var n=r<=0?r=0:r>=1?(r=1,e-1):Math.floor(r*e),i=t[n],o=t[n+1],s=n>0?t[n-1]:2*i-o,a=n<e-1?t[n+2]:2*o-i;return X_((r-n/e)*e,s,i,o,a)}}function yN(t){var e=t.length;return function(r){var n=Math.floor(((r%=1)<0?++r:r)*e),i=t[(n+e-1)%e],o=t[n%e],s=t[(n+1)%e],a=t[(n+2)%e];return X_((r-n/e)*e,i,o,s,a)}}var Uu=t=>()=>t;function KB(t,e){return function(r){return t+r*e}}function ZB(t,e,r){return t=Math.pow(t,r),e=Math.pow(e,r)-t,r=1/r,function(n){return Math.pow(t+n*e,r)}}function xN(t){return(t=+t)==1?Fh:function(e,r){return r-e?ZB(e,r,t):Uu(isNaN(e)?r:e)}}function Fh(t,e){var r=e-t;return r?KB(t,r):Uu(isNaN(t)?e:t)}var H_=(function t(e){var r=xN(e);function n(i,o){var s=r((i=ac(i)).r,(o=ac(o)).r),a=r(i.g,o.g),c=r(i.b,o.b),l=Fh(i.opacity,o.opacity);return function(u){return i.r=s(u),i.g=a(u),i.b=c(u),i.opacity=l(u),i+""}}return n.gamma=t,n})(1);function TN(t){return function(e){var r=e.length,n=new Array(r),i=new Array(r),o=new Array(r),s,a;for(s=0;s<r;++s)a=ac(e[s]),n[s]=a.r||0,i[s]=a.g||0,o[s]=a.b||0;return n=t(n),i=t(i),o=t(o),a.opacity=1,function(c){return a.r=n(c),a.g=i(c),a.b=o(c),a+""}}}var Nre=TN(gN),Pre=TN(yN);function _N(t,e){e||(e=[]);var r=t?Math.min(e.length,t.length):0,n=e.slice(),i;return function(o){for(i=0;i<r;++i)n[i]=t[i]*(1-o)+e[i]*o;return n}}function EN(t){return ArrayBuffer.isView(t)&&!(t instanceof DataView)}function vN(t,e){var r=e?e.length:0,n=t?Math.min(r,t.length):0,i=new Array(n),o=new Array(r),s;for(s=0;s<n;++s)i[s]=Qo(t[s],e[s]);for(;s<r;++s)o[s]=e[s];return function(a){for(s=0;s<n;++s)o[s]=i[s](a);return o}}function RN(t,e){var r=new Date;return t=+t,e=+e,function(n){return r.setTime(t*(1-n)+e*n),r}}function qi(t,e){return t=+t,e=+e,function(r){return t*(1-r)+e*r}}function wN(t,e){var r={},n={},i;(t===null||typeof t!="object")&&(t={}),(e===null||typeof e!="object")&&(e={});for(i in e)i in t?r[i]=Qo(t[i],e[i]):n[i]=e[i];return function(o){for(i in r)n[i]=r[i](o);return n}}var z_=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,j_=new RegExp(z_.source,"g");function JB(t){return function(){return t}}function QB(t){return function(e){return t(e)+""}}function bN(t,e){var r=z_.lastIndex=j_.lastIndex=0,n,i,o,s=-1,a=[],c=[];for(t=t+"",e=e+"";(n=z_.exec(t))&&(i=j_.exec(e));)(o=i.index)>r&&(o=e.slice(r,o),a[s]?a[s]+=o:a[++s]=o),(n=n[0])===(i=i[0])?a[s]?a[s]+=i:a[++s]=i:(a[++s]=null,c.push({i:s,x:qi(n,i)})),r=j_.lastIndex;return r<e.length&&(o=e.slice(r),a[s]?a[s]+=o:a[++s]=o),a.length<2?c[0]?QB(c[0].x):JB(e):(e=c.length,function(l){for(var u=0,f;u<e;++u)a[(f=c[u]).i]=f.x(l);return a.join("")})}function Qo(t,e){var r=typeof e,n;return e==null||r==="boolean"?Uu(e):(r==="number"?qi:r==="string"?(n=zi(e))?(e=n,H_):bN:e instanceof zi?H_:e instanceof Date?RN:EN(e)?_N:Array.isArray(e)?vN:typeof e.valueOf!="function"&&typeof e.toString!="function"||isNaN(e)?wN:qi)(t,e)}function q_(t,e){return t=+t,e=+e,function(r){return Math.round(t*(1-r)+e*r)}}function W_(t){return function(){return t}}function V_(t){return+t}var AN=[0,1];function cc(t){return t}function Y_(t,e){return(e-=t=+t)?function(r){return(r-t)/e}:W_(isNaN(e)?NaN:.5)}function e4(t,e){var r;return t>e&&(r=t,t=e,e=r),function(n){return Math.max(t,Math.min(e,n))}}function t4(t,e,r){var n=t[0],i=t[1],o=e[0],s=e[1];return i<n?(n=Y_(i,n),o=r(s,o)):(n=Y_(n,i),o=r(o,s)),function(a){return o(n(a))}}function r4(t,e,r){var n=Math.min(t.length,e.length)-1,i=new Array(n),o=new Array(n),s=-1;for(t[n]<t[0]&&(t=t.slice().reverse(),e=e.slice().reverse());++s<n;)i[s]=Y_(t[s],t[s+1]),o[s]=r(e[s],e[s+1]);return function(a){var c=F_(t,a,1,n)-1;return o[c](i[c](a))}}function SN(t,e){return e.domain(t.domain()).range(t.range()).interpolate(t.interpolate()).clamp(t.clamp()).unknown(t.unknown())}function n4(){var t=AN,e=AN,r=Qo,n,i,o,s=cc,a,c,l;function u(){var d=Math.min(t.length,e.length);return s!==cc&&(s=e4(t[0],t[d-1])),a=d>2?r4:t4,c=l=null,f}function f(d){return d==null||isNaN(d=+d)?o:(c||(c=a(t.map(n),e,r)))(n(s(d)))}return f.invert=function(d){return s(i((l||(l=a(e,t.map(n),qi)))(d)))},f.domain=function(d){return arguments.length?(t=Array.from(d,V_),u()):t.slice()},f.range=function(d){return arguments.length?(e=Array.from(d),u()):e.slice()},f.rangeRound=function(d){return e=Array.from(d),r=q_,u()},f.clamp=function(d){return arguments.length?(s=d?!0:cc,u()):s!==cc},f.interpolate=function(d){return arguments.length?(r=d,u()):r},f.unknown=function(d){return arguments.length?(o=d,f):o},function(d,p){return n=d,i=p,u()}}function K_(){return n4()(cc,cc)}function Z_(t,e){t=t.slice();var r=0,n=t.length-1,i=t[r],o=t[n],s;return o<i&&(s=r,r=n,n=s,s=i,i=o,o=s),t[r]=e.floor(i),t[n]=e.ceil(o),t}var J_=new Date,Q_=new Date;function Ze(t,e,r,n){function i(o){return t(o=arguments.length===0?new Date:new Date(+o)),o}return i.floor=o=>(t(o=new Date(+o)),o),i.ceil=o=>(t(o=new Date(o-1)),e(o,1),t(o),o),i.round=o=>{let s=i(o),a=i.ceil(o);return o-s<a-o?s:a},i.offset=(o,s)=>(e(o=new Date(+o),s==null?1:Math.floor(s)),o),i.range=(o,s,a)=>{let c=[];if(o=i.ceil(o),a=a==null?1:Math.floor(a),!(o<s)||!(a>0))return c;let l;do c.push(l=new Date(+o)),e(o,a),t(o);while(l<o&&o<s);return c},i.filter=o=>Ze(s=>{if(s>=s)for(;t(s),!o(s);)s.setTime(s-1)},(s,a)=>{if(s>=s)if(a<0)for(;++a<=0;)for(;e(s,-1),!o(s););else for(;--a>=0;)for(;e(s,1),!o(s););}),r&&(i.count=(o,s)=>(J_.setTime(+o),Q_.setTime(+s),t(J_),t(Q_),Math.floor(r(J_,Q_))),i.every=o=>(o=Math.floor(o),!isFinite(o)||!(o>0)?null:o>1?i.filter(n?s=>n(s)%o===0:s=>i.count(0,s)%o===0):i)),i}var Bu=Ze(()=>{},(t,e)=>{t.setTime(+t+e)},(t,e)=>e-t);Bu.every=t=>(t=Math.floor(t),!isFinite(t)||!(t>0)?null:t>1?Ze(e=>{e.setTime(Math.floor(e/t)*t)},(e,r)=>{e.setTime(+e+r*t)},(e,r)=>(r-e)/t):Bu);var pne=Bu.range;var wn=Ze(t=>{t.setTime(t-t.getMilliseconds())},(t,e)=>{t.setTime(+t+e*1e3)},(t,e)=>(e-t)/1e3,t=>t.getUTCSeconds()),IN=wn.range;var lc=Ze(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*1e3)},(t,e)=>{t.setTime(+t+e*6e4)},(t,e)=>(e-t)/6e4,t=>t.getMinutes()),i4=lc.range,Uh=Ze(t=>{t.setUTCSeconds(0,0)},(t,e)=>{t.setTime(+t+e*6e4)},(t,e)=>(e-t)/6e4,t=>t.getUTCMinutes()),o4=Uh.range;var uc=Ze(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*1e3-t.getMinutes()*6e4)},(t,e)=>{t.setTime(+t+e*36e5)},(t,e)=>(e-t)/36e5,t=>t.getHours()),s4=uc.range,Bh=Ze(t=>{t.setUTCMinutes(0,0,0)},(t,e)=>{t.setTime(+t+e*36e5)},(t,e)=>(e-t)/36e5,t=>t.getUTCHours()),a4=Bh.range;var Yn=Ze(t=>t.setHours(0,0,0,0),(t,e)=>t.setDate(t.getDate()+e),(t,e)=>(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*6e4)/864e5,t=>t.getDate()-1),c4=Yn.range,Xu=Ze(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/864e5,t=>t.getUTCDate()-1),l4=Xu.range,Gh=Ze(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/864e5,t=>Math.floor(t/864e5)),u4=Gh.range;function rs(t){return Ze(e=>{e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)},(e,r)=>{e.setDate(e.getDate()+r*7)},(e,r)=>(r-e-(r.getTimezoneOffset()-e.getTimezoneOffset())*6e4)/6048e5)}var Kn=rs(0),fc=rs(1),NN=rs(2),PN=rs(3),Wi=rs(4),CN=rs(5),ON=rs(6),LN=Kn.range,f4=fc.range,d4=NN.range,p4=PN.range,h4=Wi.range,m4=CN.range,g4=ON.range;function ns(t){return Ze(e=>{e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)},(e,r)=>{e.setUTCDate(e.getUTCDate()+r*7)},(e,r)=>(r-e)/6048e5)}var is=ns(0),dc=ns(1),DN=ns(2),$N=ns(3),Vi=ns(4),MN=ns(5),FN=ns(6),UN=is.range,y4=dc.range,x4=DN.range,T4=$N.range,_4=Vi.range,E4=MN.range,v4=FN.range;var pc=Ze(t=>{t.setDate(1),t.setHours(0,0,0,0)},(t,e)=>{t.setMonth(t.getMonth()+e)},(t,e)=>e.getMonth()-t.getMonth()+(e.getFullYear()-t.getFullYear())*12,t=>t.getMonth()),R4=pc.range,Xh=Ze(t=>{t.setUTCDate(1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCMonth(t.getUTCMonth()+e)},(t,e)=>e.getUTCMonth()-t.getUTCMonth()+(e.getUTCFullYear()-t.getUTCFullYear())*12,t=>t.getUTCMonth()),w4=Xh.range;var xr=Ze(t=>{t.setMonth(0,1),t.setHours(0,0,0,0)},(t,e)=>{t.setFullYear(t.getFullYear()+e)},(t,e)=>e.getFullYear()-t.getFullYear(),t=>t.getFullYear());xr.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:Ze(e=>{e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)},(e,r)=>{e.setFullYear(e.getFullYear()+r*t)});var b4=xr.range,tn=Ze(t=>{t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCFullYear(t.getUTCFullYear()+e)},(t,e)=>e.getUTCFullYear()-t.getUTCFullYear(),t=>t.getUTCFullYear());tn.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:Ze(e=>{e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,r)=>{e.setUTCFullYear(e.getUTCFullYear()+r*t)});var A4=tn.range;function GN(t,e,r,n,i,o){let s=[[wn,1,1e3],[wn,5,5*1e3],[wn,15,15*1e3],[wn,30,30*1e3],[o,1,6e4],[o,5,5*6e4],[o,15,15*6e4],[o,30,30*6e4],[i,1,36e5],[i,3,3*36e5],[i,6,6*36e5],[i,12,12*36e5],[n,1,864e5],[n,2,2*864e5],[r,1,6048e5],[e,1,2592e6],[e,3,3*2592e6],[t,1,31536e6]];function a(l,u,f){let d=u<l;d&&([l,u]=[u,l]);let p=f&&typeof f.range=="function"?f:c(l,u,f),m=p?p.range(l,+u+1):[];return d?m.reverse():m}function c(l,u,f){let d=Math.abs(u-l)/f,p=Ko(([,,v])=>v).right(s,d);if(p===s.length)return t.every(Nh(l/31536e6,u/31536e6,f));if(p===0)return Bu.every(Math.max(Nh(l,u,f),1));let[m,g]=s[d/s[p-1][2]<s[p][2]/d?p-1:p];return m.every(g)}return[a,c]}var[I4,k4]=GN(tn,Xh,is,Gh,Bh,Uh),[eE,tE]=GN(xr,pc,Kn,Yn,uc,lc);function rE(t){if(0<=t.y&&t.y<100){var e=new Date(-1,t.m,t.d,t.H,t.M,t.S,t.L);return e.setFullYear(t.y),e}return new Date(t.y,t.m,t.d,t.H,t.M,t.S,t.L)}function nE(t){if(0<=t.y&&t.y<100){var e=new Date(Date.UTC(-1,t.m,t.d,t.H,t.M,t.S,t.L));return e.setUTCFullYear(t.y),e}return new Date(Date.UTC(t.y,t.m,t.d,t.H,t.M,t.S,t.L))}function Hu(t,e,r){return{y:t,m:e,d:r,H:0,M:0,S:0,L:0}}function iE(t){var e=t.dateTime,r=t.date,n=t.time,i=t.periods,o=t.days,s=t.shortDays,a=t.months,c=t.shortMonths,l=ju(i),u=zu(i),f=ju(o),d=zu(o),p=ju(s),m=zu(s),g=ju(a),v=zu(a),T=ju(c),_=zu(c),E={a:S,A:M,b:X,B:F,c:null,d:WN,e:WN,f:J4,g:c3,G:u3,H:Y4,I:K4,j:Z4,L:JN,m:Q4,M:e3,p:W,q:K,Q:KN,s:ZN,S:t3,u:r3,U:n3,V:i3,w:o3,W:s3,x:null,X:null,y:a3,Y:l3,Z:f3,"%":YN},I={a:pe,A:V,b:ee,B:Le,c:null,d:VN,e:VN,f:m3,g:b3,G:S3,H:d3,I:p3,j:h3,L:eP,m:g3,M:y3,p:Fe,q:Ue,Q:KN,s:ZN,S:x3,u:T3,U:_3,V:E3,w:v3,W:R3,x:null,X:null,y:w3,Y:A3,Z:I3,"%":YN},D={a:le,A:O,b:R,B:L,c:$,d:zN,e:zN,f:z4,g:jN,G:HN,H:qN,I:qN,j:G4,L:j4,m:B4,M:X4,p:z,q:U4,Q:W4,s:V4,S:H4,u:L4,U:D4,V:$4,w:O4,W:M4,x:b,X:A,y:jN,Y:HN,Z:F4,"%":q4};E.x=k(r,E),E.X=k(n,E),E.c=k(e,E),I.x=k(r,I),I.X=k(n,I),I.c=k(e,I);function k(q,J){return function(te){var P=[],ge=-1,xe=0,He=q.length,dt,H,Cr;for(te instanceof Date||(te=new Date(+te));++ge<He;)q.charCodeAt(ge)===37&&(P.push(q.slice(xe,ge)),(H=XN[dt=q.charAt(++ge)])!=null?dt=q.charAt(++ge):H=dt==="e"?" ":"0",(Cr=J[dt])&&(dt=Cr(te,H)),P.push(dt),xe=ge+1);return P.push(q.slice(xe,ge)),P.join("")}}function B(q,J){return function(te){var P=Hu(1900,void 0,1),ge=U(P,q,te+="",0),xe,He;if(ge!=te.length)return null;if("Q"in P)return new Date(P.Q);if("s"in P)return new Date(P.s*1e3+("L"in P?P.L:0));if(J&&!("Z"in P)&&(P.Z=0),"p"in P&&(P.H=P.H%12+P.p*12),P.m===void 0&&(P.m="q"in P?P.q:0),"V"in P){if(P.V<1||P.V>53)return null;"w"in P||(P.w=1),"Z"in P?(xe=nE(Hu(P.y,0,1)),He=xe.getUTCDay(),xe=He>4||He===0?dc.ceil(xe):dc(xe),xe=Xu.offset(xe,(P.V-1)*7),P.y=xe.getUTCFullYear(),P.m=xe.getUTCMonth(),P.d=xe.getUTCDate()+(P.w+6)%7):(xe=rE(Hu(P.y,0,1)),He=xe.getDay(),xe=He>4||He===0?fc.ceil(xe):fc(xe),xe=Yn.offset(xe,(P.V-1)*7),P.y=xe.getFullYear(),P.m=xe.getMonth(),P.d=xe.getDate()+(P.w+6)%7)}else("W"in P||"U"in P)&&("w"in P||(P.w="u"in P?P.u%7:"W"in P?1:0),He="Z"in P?nE(Hu(P.y,0,1)).getUTCDay():rE(Hu(P.y,0,1)).getDay(),P.m=0,P.d="W"in P?(P.w+6)%7+P.W*7-(He+5)%7:P.w+P.U*7-(He+6)%7);return"Z"in P?(P.H+=P.Z/100|0,P.M+=P.Z%100,nE(P)):rE(P)}}function U(q,J,te,P){for(var ge=0,xe=J.length,He=te.length,dt,H;ge<xe;){if(P>=He)return-1;if(dt=J.charCodeAt(ge++),dt===37){if(dt=J.charAt(ge++),H=D[dt in XN?J.charAt(ge++):dt],!H||(P=H(q,te,P))<0)return-1}else if(dt!=te.charCodeAt(P++))return-1}return P}function z(q,J,te){var P=l.exec(J.slice(te));return P?(q.p=u.get(P[0].toLowerCase()),te+P[0].length):-1}function le(q,J,te){var P=p.exec(J.slice(te));return P?(q.w=m.get(P[0].toLowerCase()),te+P[0].length):-1}function O(q,J,te){var P=f.exec(J.slice(te));return P?(q.w=d.get(P[0].toLowerCase()),te+P[0].length):-1}function R(q,J,te){var P=T.exec(J.slice(te));return P?(q.m=_.get(P[0].toLowerCase()),te+P[0].length):-1}function L(q,J,te){var P=g.exec(J.slice(te));return P?(q.m=v.get(P[0].toLowerCase()),te+P[0].length):-1}function $(q,J,te){return U(q,e,J,te)}function b(q,J,te){return U(q,r,J,te)}function A(q,J,te){return U(q,n,J,te)}function S(q){return s[q.getDay()]}function M(q){return o[q.getDay()]}function X(q){return c[q.getMonth()]}function F(q){return a[q.getMonth()]}function W(q){return i[+(q.getHours()>=12)]}function K(q){return 1+~~(q.getMonth()/3)}function pe(q){return s[q.getUTCDay()]}function V(q){return o[q.getUTCDay()]}function ee(q){return c[q.getUTCMonth()]}function Le(q){return a[q.getUTCMonth()]}function Fe(q){return i[+(q.getUTCHours()>=12)]}function Ue(q){return 1+~~(q.getUTCMonth()/3)}return{format:function(q){var J=k(q+="",E);return J.toString=function(){return q},J},parse:function(q){var J=B(q+="",!1);return J.toString=function(){return q},J},utcFormat:function(q){var J=k(q+="",I);return J.toString=function(){return q},J},utcParse:function(q){var J=B(q+="",!0);return J.toString=function(){return q},J}}}var XN={"-":"",_:" ",0:"0"},Ot=/^\s*\d+/,N4=/^%/,P4=/[\\^$*+?|[\]().{}]/g;function Ce(t,e,r){var n=t<0?"-":"",i=(n?-t:t)+"",o=i.length;return n+(o<r?new Array(r-o+1).join(e)+i:i)}function C4(t){return t.replace(P4,"\\$&")}function ju(t){return new RegExp("^(?:"+t.map(C4).join("|")+")","i")}function zu(t){return new Map(t.map((e,r)=>[e.toLowerCase(),r]))}function O4(t,e,r){var n=Ot.exec(e.slice(r,r+1));return n?(t.w=+n[0],r+n[0].length):-1}function L4(t,e,r){var n=Ot.exec(e.slice(r,r+1));return n?(t.u=+n[0],r+n[0].length):-1}function D4(t,e,r){var n=Ot.exec(e.slice(r,r+2));return n?(t.U=+n[0],r+n[0].length):-1}function $4(t,e,r){var n=Ot.exec(e.slice(r,r+2));return n?(t.V=+n[0],r+n[0].length):-1}function M4(t,e,r){var n=Ot.exec(e.slice(r,r+2));return n?(t.W=+n[0],r+n[0].length):-1}function HN(t,e,r){var n=Ot.exec(e.slice(r,r+4));return n?(t.y=+n[0],r+n[0].length):-1}function jN(t,e,r){var n=Ot.exec(e.slice(r,r+2));return n?(t.y=+n[0]+(+n[0]>68?1900:2e3),r+n[0].length):-1}function F4(t,e,r){var n=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(r,r+6));return n?(t.Z=n[1]?0:-(n[2]+(n[3]||"00")),r+n[0].length):-1}function U4(t,e,r){var n=Ot.exec(e.slice(r,r+1));return n?(t.q=n[0]*3-3,r+n[0].length):-1}function B4(t,e,r){var n=Ot.exec(e.slice(r,r+2));return n?(t.m=n[0]-1,r+n[0].length):-1}function zN(t,e,r){var n=Ot.exec(e.slice(r,r+2));return n?(t.d=+n[0],r+n[0].length):-1}function G4(t,e,r){var n=Ot.exec(e.slice(r,r+3));return n?(t.m=0,t.d=+n[0],r+n[0].length):-1}function qN(t,e,r){var n=Ot.exec(e.slice(r,r+2));return n?(t.H=+n[0],r+n[0].length):-1}function X4(t,e,r){var n=Ot.exec(e.slice(r,r+2));return n?(t.M=+n[0],r+n[0].length):-1}function H4(t,e,r){var n=Ot.exec(e.slice(r,r+2));return n?(t.S=+n[0],r+n[0].length):-1}function j4(t,e,r){var n=Ot.exec(e.slice(r,r+3));return n?(t.L=+n[0],r+n[0].length):-1}function z4(t,e,r){var n=Ot.exec(e.slice(r,r+6));return n?(t.L=Math.floor(n[0]/1e3),r+n[0].length):-1}function q4(t,e,r){var n=N4.exec(e.slice(r,r+1));return n?r+n[0].length:-1}function W4(t,e,r){var n=Ot.exec(e.slice(r));return n?(t.Q=+n[0],r+n[0].length):-1}function V4(t,e,r){var n=Ot.exec(e.slice(r));return n?(t.s=+n[0],r+n[0].length):-1}function WN(t,e){return Ce(t.getDate(),e,2)}function Y4(t,e){return Ce(t.getHours(),e,2)}function K4(t,e){return Ce(t.getHours()%12||12,e,2)}function Z4(t,e){return Ce(1+Yn.count(xr(t),t),e,3)}function JN(t,e){return Ce(t.getMilliseconds(),e,3)}function J4(t,e){return JN(t,e)+"000"}function Q4(t,e){return Ce(t.getMonth()+1,e,2)}function e3(t,e){return Ce(t.getMinutes(),e,2)}function t3(t,e){return Ce(t.getSeconds(),e,2)}function r3(t){var e=t.getDay();return e===0?7:e}function n3(t,e){return Ce(Kn.count(xr(t)-1,t),e,2)}function QN(t){var e=t.getDay();return e>=4||e===0?Wi(t):Wi.ceil(t)}function i3(t,e){return t=QN(t),Ce(Wi.count(xr(t),t)+(xr(t).getDay()===4),e,2)}function o3(t){return t.getDay()}function s3(t,e){return Ce(fc.count(xr(t)-1,t),e,2)}function a3(t,e){return Ce(t.getFullYear()%100,e,2)}function c3(t,e){return t=QN(t),Ce(t.getFullYear()%100,e,2)}function l3(t,e){return Ce(t.getFullYear()%1e4,e,4)}function u3(t,e){var r=t.getDay();return t=r>=4||r===0?Wi(t):Wi.ceil(t),Ce(t.getFullYear()%1e4,e,4)}function f3(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+Ce(e/60|0,"0",2)+Ce(e%60,"0",2)}function VN(t,e){return Ce(t.getUTCDate(),e,2)}function d3(t,e){return Ce(t.getUTCHours(),e,2)}function p3(t,e){return Ce(t.getUTCHours()%12||12,e,2)}function h3(t,e){return Ce(1+Xu.count(tn(t),t),e,3)}function eP(t,e){return Ce(t.getUTCMilliseconds(),e,3)}function m3(t,e){return eP(t,e)+"000"}function g3(t,e){return Ce(t.getUTCMonth()+1,e,2)}function y3(t,e){return Ce(t.getUTCMinutes(),e,2)}function x3(t,e){return Ce(t.getUTCSeconds(),e,2)}function T3(t){var e=t.getUTCDay();return e===0?7:e}function _3(t,e){return Ce(is.count(tn(t)-1,t),e,2)}function tP(t){var e=t.getUTCDay();return e>=4||e===0?Vi(t):Vi.ceil(t)}function E3(t,e){return t=tP(t),Ce(Vi.count(tn(t),t)+(tn(t).getUTCDay()===4),e,2)}function v3(t){return t.getUTCDay()}function R3(t,e){return Ce(dc.count(tn(t)-1,t),e,2)}function w3(t,e){return Ce(t.getUTCFullYear()%100,e,2)}function b3(t,e){return t=tP(t),Ce(t.getUTCFullYear()%100,e,2)}function A3(t,e){return Ce(t.getUTCFullYear()%1e4,e,4)}function S3(t,e){var r=t.getUTCDay();return t=r>=4||r===0?Vi(t):Vi.ceil(t),Ce(t.getUTCFullYear()%1e4,e,4)}function I3(){return"+0000"}function YN(){return"%"}function KN(t){return+t}function ZN(t){return Math.floor(+t/1e3)}var hc,Hh,rP,nP,iP;oE({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function oE(t){return hc=iE(t),Hh=hc.format,rP=hc.parse,nP=hc.utcFormat,iP=hc.utcParse,hc}function k3(t){return new Date(t)}function N3(t){return t instanceof Date?+t:+new Date(+t)}function oP(t,e,r,n,i,o,s,a,c,l){var u=K_(),f=u.invert,d=u.domain,p=l(".%L"),m=l(":%S"),g=l("%I:%M"),v=l("%I %p"),T=l("%a %d"),_=l("%b %d"),E=l("%B"),I=l("%Y");function D(k){return(c(k)<k?p:a(k)<k?m:s(k)<k?g:o(k)<k?v:n(k)<k?i(k)<k?T:_:r(k)<k?E:I)(k)}return u.invert=function(k){return new Date(f(k))},u.domain=function(k){return arguments.length?d(Array.from(k,N3)):d().map(k3)},u.ticks=function(k){var B=d();return t(B[0],B[B.length-1],k??10)},u.tickFormat=function(k,B){return B==null?D:l(B)},u.nice=function(k){var B=d();return(!k||typeof k.range!="function")&&(k=e(B[0],B[B.length-1],k??10)),k?d(Z_(B,k)):u},u.copy=function(){return SN(u,oP(t,e,r,n,i,o,s,a,c,l))},u}function jh(){return oc.apply(oP(eE,tE,xr,pc,Kn,Yn,uc,lc,wn,Hh).domain([new Date(2e3,0,1),new Date(2e3,0,2)]),arguments)}var sE=class t{constructor(e,r,n){fe(this,"bandwidthPx");fe(this,"stepPx");fe(this,"d3");this.bandwidthPx=e,this.stepPx=r,this.d3=n}static fixedRow(e){return new t(e.bandwidth,e.step)}static forRows(e){let r=Array.from({length:e.count},(i,o)=>String(o)),n=Du().domain(r).range(e.range).paddingInner(e.paddingInner??0).paddingOuter(e.paddingOuter??0);return new t(n.bandwidth(),n.step(),n)}bandwidth(){return this.bandwidthPx}step(){return this.stepPx}forward(e){if(!this.d3)throw new Error("BandScale.forward is only available on closed-domain bands (BandScale.forRows)");let r=this.d3(e);if(r===void 0)throw new Error(`BandScale: unknown band id "${e}"`);return r}},P3={bandwidth:56,step:64};function sP(){return sE.fixedRow(P3)}var zh=class{constructor(e){fe(this,"domain");fe(this,"range");fe(this,"pixelsPerDay");fe(this,"calendar");fe(this,"d3");this.domain=e.domain,this.range=e.range,this.calendar=e.calendar;let r=Math.max(1,Nr(e.domain[0],e.domain[1]));this.pixelsPerDay=(e.range[1]-e.range[0])/r,this.d3=jh().domain(e.domain).range(e.range)}forward(e){let r=Nr(this.domain[0],e);return this.range[0]+r*this.pixelsPerDay}forwardWithinDomain(e){return e<this.domain[0]||e>this.domain[1]?null:this.forward(e)}invert(e){return this.d3.invert(e)}get originX(){return this.range[0]}get widthPx(){return this.range[1]-this.range[0]}};function qh(t){return t.endsWith(":")?t.slice(0,-1):t}function aP(t,e){let n=t.roadmapDecl?.properties.find(c=>qh(c.key)==="scale")?.value,i="weeks",o,s;if(n)if(n==="days"||n==="weeks"||n==="months"||n==="quarters"||n==="years")i=n;else{let c=/^(\d+)([dwmqy])$/.exec(n);if(c){let l=Math.max(1,parseInt(c[1],10));switch(c[2]){case"d":i="days";break;case"w":i="weeks";break;case"m":i="months";break;case"q":i="quarters";break;case"y":i="years";break}o=Wh(i)*l,s=1}}let a=s??Qk[i]??4;if(e){let l=e.properties.find(m=>qh(m.key)==="unit")?.value??i,u=e.properties.find(m=>qh(m.key)==="label-every"),f=e.properties.find(m=>qh(m.key)==="pixels-per-unit"),d=u?Math.max(1,parseInt(u.value,10)||a):a,p=f?Math.max(1,parseInt(f.value,10)||Wh(l)):o??Wh(l);return{unit:l,labelEvery:d,pixelsPerUnit:p}}return{unit:i,labelEvery:a,pixelsPerUnit:o??Wh(i)}}function Wh(t){switch(t){case"days":return Yk;case"weeks":return 40;case"months":return 80;case"quarters":return 160;case"years":return 320}}function cP(t,e,r,n=Ru){let i=r.daysPerUnit(e.unit),o=i*t.pixelsPerDay,s=Math.max(1,Math.round(t.widthPx/t.pixelsPerDay)),a=Math.floor(s/i)+1,c=[];for(let l=0;l<a;l++){let u=l*i,f=t.originX+u*t.pixelsPerDay,d=l%e.labelEvery===0,p=l===a-1;c.push({x:f,labelX:p?void 0:f+o/2,major:d,label:d&&!p?C3(e.unit,Wo(t.domain[0],u),l,n):void 0})}return c}function C3(t,e,r,n){switch(t){case"days":return`${e.getUTCMonth()+1}/${e.getUTCDate()}`;case"weeks":{let i=e.toLocaleString(n,{month:"short",timeZone:"UTC"}),o=e.getUTCDate().toString().padStart(2,"0");return`${i} ${o}`}case"months":return e.toLocaleString(n,{month:"short",timeZone:"UTC"});case"quarters":{let i=Math.floor(e.getUTCMonth()/3)+1;return`${dh(n).quarterPrefix}${i} ${e.getUTCFullYear()}`}case"years":return`${e.getUTCFullYear()}`}}function lP(t){return{daysPerUnit:e=>aE(e,t),addUnits:(e,r,n)=>Wo(e,r*aE(n,t)),isWorkingDay:()=>!0}}function uP(t,e){return aE(t,e)}function aE(t,e){switch(t){case"days":return 1;case"weeks":return e.daysPerWeek;case"months":return e.daysPerMonth;case"quarters":return e.daysPerQuarter;case"years":return e.daysPerYear}}var cE=class{constructor(e,r){fe(this,"id");fe(this,"anchor");this.id=e,this.anchor=r}place(e,r){let n=ae(this.anchor.properties,"date"),i=Rt(n);if(!i)return null;let o=e.scale.forwardWithinDomain(i);if(o===null)return null;let s=Tt("anchor",this.anchor.properties,e.styleCtx),a=e.markerRowPlacements.get(this.id),c=a?.centerY??e.timeline.markerRow.y,l={x:o,y:c},u=a?.labelBox??{x:o+6+6,y:c-4,width:0,height:12},f=a?.labelSide??"right";return e.entityLeftEdges.set(this.id,o),e.entityRightEdges.set(this.id,o),e.entityMidpoints.set(this.id,l),{id:this.id,title:this.anchor.title??this.id,center:l,radius:6,style:s,predecessorPoints:[],cutTopY:e.chartTopY,cutBottomY:e.swimlaneBottomY,bumpedUp:(a?.rowIndex??0)>0,labelBox:u,labelSide:f}}};function dP(t,e,r){let n=[];for(let[i,o]of t){let s=new cE(i,o).place(e,r);s&&n.push(s)}return n}function lE(t,e,r){let n=[],i=new Map,o=new Map;return[...t.entries()].sort(([c],[l])=>c.localeCompare(l)).forEach(([c,l],u)=>{let f=u+1;i.set(c,f),o.set(c,xt(l.properties,"on")),n.push({number:f,title:l.title??c,description:l.description?.text,style:Tt("footnote",l.properties,e.styleCtx)})}),{area:{box:{x:Qr,y:r+Qr,width:e.chartRightX-2*Qr,height:n.length===0?0:Pu+n.length*Cu+Qr},entries:n},index:i,hosts:o}}var O3=.8,L3=1;function D3(t){let e=[];return hP(t,e),e}function hP(t,e){for(let r of t)if(r.kind==="item"){let n=$3(r);n>0&&r.box.width>0&&e.push({startX:r.box.x,endX:r.box.x+r.box.width,load:n})}else(r.kind==="parallel"||r.kind==="group")&&hP(r.children,e)}function $3(t){return t.capacity?t.capacity.value:t.size?1:0}function mP(t){if(t.capacityValue<=0||t.warnFraction===null&&t.overFraction===null)return null;let e=D3(t.children);if(e.length===0)return null;let r=new Set;for(let s of e)r.add(s.startX),r.add(s.endX);let n=Array.from(r).sort((s,a)=>s-a);if(n.length<2)return null;let i=[];for(let s=0;s<n.length-1;s++){let a=n[s],c=n[s+1],l=(a+c)/2,u=0;for(let f of e)f.startX<=l&&l<f.endX&&(u+=f.load);i.push({startX:a,endX:c,load:u,classification:M3(u,t.capacityValue,t.warnFraction,t.overFraction)})}let o=[];for(let s of i){let a=o[o.length-1];a&&a.classification===s.classification&&a.endX===s.startX?a.endX=s.endX:o.push({...s})}return{segments:o,capacityValue:t.capacityValue,warnFraction:t.warnFraction,overFraction:t.overFraction}}function M3(t,e,r,n){let i=t/e;return n!==null&&i>=n?"red":r!==null&&i>=r?"yellow":"green"}function gP(t,e){let r=e.get("swimlane"),n=pP(ae(t.properties,"utilization-warn-at"),r?ae(r.properties,"utilization-warn-at"):void 0,O3),i=pP(ae(t.properties,"utilization-over-at"),r?ae(r.properties,"utilization-over-at"):void 0,L3);return{warn:n,over:i}}function pP(t,e,r){let i=B3(t??e);return i.kind==="unset"?r:i.kind==="none"?null:i.value}var F3=/^\d+(?:\.\d+)?%$/,U3=/^\d+\.\d+$/;function B3(t){if(t===void 0)return{kind:"unset"};if(t==="none")return{kind:"none"};if(F3.test(t)){let e=parseFloat(t)/100;return Number.isFinite(e)&&e>0?{kind:"number",value:e}:{kind:"unset"}}if(U3.test(t)){let e=parseFloat(t);return Number.isFinite(e)&&e>0?{kind:"number",value:e}:{kind:"unset"}}return{kind:"unset"}}var yP=10;function G3(t,e,r){let n=ae(t.properties,"capacity"),i=Gi(n);if(i===null)return{capacity:null,badgeWidthPx:0};let o=Tu(i),s=_u(e.capacityIcon,r),a=qo(o,s,yP);return{capacity:{value:i,text:o,icon:s},badgeWidthPx:a}}var X3=10,H3=38,j3=8;function z3(t,e,r){let n=t.title??t.name??"";if(!n)return 0;let i=ae(t.properties,"owner");return Eu(0,n,i??void 0,e,r).rightX}function q3(t,e){if(!t.name)return[];let r=[];for(let[n,i]of e.footnoteHosts.entries())if(i.includes(t.name)){let o=e.footnoteIndex.get(n);o!==void 0&&r.push(o)}return r.sort((n,i)=>n-i),r}function W3(t,e,r,n){for(let i of t.content){if(i.$type==="DescriptionDirective")continue;let o=yr(i)?i.properties:i.properties??[];return n.resolveChildStart(o,e,e,r)}}var mc=class{constructor(e,r){fe(this,"input");fe(this,"deps");this.input=e,this.deps=r}get id(){return this.input.lane.name??""}place(e,r){let{lane:n,bandIndex:i}=this.input,{deps:o}=this,s=Tt("swimlane",n.properties,r.styleCtx),a=e.x,c=r.bandScale.step(),l=r.currentFlowKey;r.currentFlowKey=`lane:${n.name??i}`;let{capacity:u,badgeWidthPx:f}=G3(n,s,r.symbols),d=q3(n,r),p=d.length>0?o.estimateTextWidth(d.join(","),yP):0,m=z3(n,f,p),g=W3(n,a,r,o),v=!n.title||g===void 0||g>=m+j3,T=e.y+(v?X3:H3),_=new Qa({laneLeftX:a,originY:T,minRowHeight:c,slackCorridors:r.slackCorridors}),E=a,I=[];for(let R of n.content){if(R.$type==="DescriptionDirective")continue;if(!yr(R)){let Ue=R.properties??[],q=o.resolveChildStart(Ue,E,a,r),{rowIndex:J,y:te}=_.placeBlock(),P=o.newCursor(q,te),ge=o.sequenceOne(R,P,r);I.push(ge);let xe=ge.box.x+ge.box.width,He=Math.max(c,P.height);_.commitBlock({rowIndex:J,placed:ge,blockHeight:He,blockEnd:xe}),E=Math.max(E,xe);continue}let L=R.properties,$=o.resolveChildStart(L,E,a,r),b=Xi(L,r.sizes,r.cal),A=Math.max(Pr,b*r.timeline.pixelsPerDay),S=$+A,M=R.name??"",X=o.predictItemChipExtraHeight(R,r),F=c+X,{rowIndex:W,y:K}=_.placeItem({childId:M,desiredStart:$,desiredEnd:S,predictedHeight:F}),pe=o.newCursor($,K),V=o.sequenceItem(R,pe,r);I.push(V);let ee=V.box.x+V.box.width+Zr;E=Math.max(E,ee);let Le=null;(V.textSpills||V.chipsOutside||V.dotSpills||V.iconSpills||V.footnoteSpills)&&(Le=Math.max(V.decorationsRightX,V.chipsOutside?V.chipsRightX:0)+6),_.commitItem({rowIndex:W,placed:V,logicalEnd:ee,spillReservation:Le,rowHeight:F})}let D=T-e.y,k=Math.max(c+32,D+_.usedHeight()+16),B=Math.max(_.usedRightX(),m),U={x:0,y:e.y,width:r.chartRightX,height:k},z=ae(n.properties,"owner"),le;if(z){let R=r.teams.get(z),L=r.persons.get(z);le=R?.title??L?.title??z}let O=u?(()=>{let{warn:R,over:L}=gP(n,r.styleCtx.defaults);return mP({children:I,capacityValue:u.value,warnFraction:R,overFraction:L})})():null;return r.currentFlowKey=l,{positioned:{id:n.name,title:n.title??n.name??"",box:U,bandIndex:i,children:I,nested:[],style:s,owner:le,footnoteIndicators:d,capacity:u,utilization:O},usedHeight:k,usedRightX:B}}};var V3=18,Y3=14,K3=14,Z3=16,J3=32;function xP(t,e,r,n){let i=r+V3,o=[],s=!0;for(let a of t){s||(i+=Z3),s=!1;let c=a.content.roadmap?.title??a.sourcePath,l=i+Y3,u={cal:e.cal,styleCtx:{theme:e.styleCtx.theme,styles:a.config.styles,defaults:a.config.defaults,labels:a.content.labels},sizes:uh(a.content.sizes,e.cal),labels:a.content.labels,teams:a.content.teams,persons:a.content.persons,symbols:a.config.symbols,footnoteIndex:new Map,footnoteHosts:new Map,timeline:e.timeline,scale:e.scale,calendar:e.calendar,bandScale:e.bandScale,entityLeftEdges:new Map,entityRightEdges:new Map,entityMidpoints:new Map,entityVisualLeftX:new Map,entityVisualRightX:new Map,itemArrowSource:new Map,itemFlowKey:new Map,currentFlowKey:"",itemSlackAttachY:new Map,slackCorridors:[],markerRowPlacements:new Map,chartTopY:l,chartBottomY:l,swimlaneBottomY:l,chartRightX:e.chartRightX},f=[],d=l,p=0,m=u.timeline.originX;for(let k of a.content.swimlanes.values()){let{positioned:B,usedHeight:U,usedRightX:z}=new mc({lane:k,bandIndex:p},n).place({x:u.timeline.originX,y:d},u);f.push(B),d+=U,p++,z>m&&(m=z)}let g=d,v=Math.max(e.bandScale.bandwidth(),g-i+K3),T=0,{chromeRightX:_}=vu(T,c,a.sourcePath),E=Math.max(_,m)+J3,I=Math.min(e.chartRightX-T,E-T),D={x:T,y:i,width:I,height:v};for(let k of f)k.box.width=I;o.push({sourcePath:a.sourcePath,label:c,box:D,nestedSwimlanes:f,style:Tt("swimlane",[],e.styleCtx)}),i+=v}return{regions:o,endY:i}}function Kh(t,e){let r=[];for(let n of t){let o=e.entityVisualRightX.get(n)??e.entityRightEdges.get(n);if(o===void 0)continue;let s=e.itemSlackAttachY.get(n)??e.entityMidpoints.get(n)?.y??0,a=e.itemFlowKey.get(n)??`marker:${n}`;r.push({ref:n,x:o,y:s,flowKey:a})}return r}function Zh(t){let e=new Map;for(let r of t){let n=e.get(r.flowKey);(!n||r.x>n.x)&&e.set(r.flowKey,r)}return Array.from(e.values())}function TP(t,e,r,n,i,o,s,a){let c=n.length*i*.58*(o?1.05:1),l=t+r+6,u=t-r-6-c,f=l+c<=a,d=u>=s,p=f?"right":d?"left":"right";return{box:{x:p==="right"?l:u,y:e-4,width:c,height:12},side:p}}var uE=class{constructor(e,r){fe(this,"id");fe(this,"milestone");this.id=e,this.milestone=r}place(e){let r=this.milestone,n=Tt("milestone",r.properties,e.styleCtx),i=ae(r.properties,"date"),o=xt(r.properties,"after"),s=Rt(i),a=e.timeline.markerRow.y,c=6,l=r.title??this.id,u=null,f=a,d=null,p="right",m=!1,g,v=!1;if(s){let _=e.scale.forwardWithinDomain(s);if(_===null)return null;u=_,m=!0;let E=e.markerRowPlacements.get(this.id);E&&(f=E.centerY,d=E.labelBox,p=E.labelSide);let I=Kh(o,e),D=Zh(I),k=null;for(let B of D)(!k||B.x>k.x)&&(k=B);k&&k.x>_&&(v=!0,g=[{x:k.x,y:k.y>0?k.y:f}])}else if(o.length>0){let _=Kh(o,e),E=Zh(_);E.sort((B,U)=>U.x-B.x);let I=E[0]?.x??e.timeline.originX;u=I,m=!1;let D=TP(u,a,c,l,10,!0,e.timeline.box.x,e.chartRightX);f=a,d=D.box,p=D.side,e.markerRowPlacements.set(this.id,{rowIndex:0,centerY:f,labelBox:d,labelSide:p});let k=[];for(let B=1;B<E.length;B++){let U=E[B];U.x<I&&U.y>0&&k.push({x:U.x,y:U.y})}k.length>0&&(g=k)}if(u===null)return null;if(!d){let _=TP(u,f,c,l,10,!0,e.timeline.box.x,e.chartRightX);d=_.box,p=_.side}let T={x:u,y:f};return e.entityLeftEdges.set(this.id,T.x),e.entityRightEdges.set(this.id,T.x),e.entityMidpoints.set(this.id,T),{id:this.id,title:l,center:T,radius:c,fixed:m,slackArrows:g,isOverrun:v,style:n,cutTopY:e.chartTopY,cutBottomY:e.swimlaneBottomY,labelBox:d,labelSide:p}}};function _P(t,e){let r=[];for(let[n,i]of t){let o=new uE(n,i).place(e);o&&r.push(o)}return r}var eG=4;function tG(t,e){e>t.chartRightX&&(t.chartRightX=e)}var Qh=class{place(e,r,n,i){let o=n.theme??"light",s=jk[o],a=n.width??1280,c=Lk(n.locale,iG(e)),l=kk(e,r.config.calendar),u=aP(e,r.config.scale),f=uh(r.content.sizes,l),d={theme:s,styles:r.config.styles,defaults:r.config.defaults,labels:r.content.labels},{startDate:p,endDate:m}=i.computeDateWindow(e,{cal:l,sizes:f},r,n.today,u),g=Tt("roadmap",e.roadmapDecl?.properties??[],d),v=g.headerPosition==="beside",T=g.timelinePosition!=="bottom",_=g.timelinePosition==="bottom"||g.timelinePosition==="both",E=e.roadmapDecl?.title??e.roadmapDecl?.name??"",I=ae(e.roadmapDecl?.properties??[],"author"),D=i.sizeBesideHeader(E,I),k=v?{x:0,y:0,width:D.boxWidth,height:0}:{x:0,y:0,width:0,height:Rh},B=v?D.boxWidth:0,U=v?8:Rh+8,z=lP(l),le=u.pixelsPerUnit/z.daysPerUnit(u.unit),R=Math.max(1,Nr(p,m))*le,L=B+Jr,$=R,b=B+Jr+$+Jr,A=Math.min(a,b),S=n.today!==void 0&&n.today>=p&&n.today<=m,M=r.content.anchors.size+r.content.milestones.size>0,X=S?Hi:0,F=T?Su:0,W=new zh({domain:[p,m],range:[L,L+R],calendar:z}),K=Math.max(A,L+$+Jr),pe=[];for(let[Y,de]of r.content.anchors){let Re=Rt(ae(de.properties,"date"));if(!Re)continue;let vr=W.forwardWithinDomain(Re);vr!==null&&pe.push({id:Y,centerX:vr,radius:6,title:de.title??Y,fontSize:10,bold:!1,date:Re,isMilestone:!1})}for(let[Y,de]of r.content.milestones){let Re=Rt(ae(de.properties,"date"));if(!Re)continue;let vr=W.forwardWithinDomain(Re);vr!==null&&pe.push({id:Y,centerX:vr,radius:6,title:de.title??Y,fontSize:10,bold:!0,date:Re,isMilestone:!0})}let V=vP(pe,B,K,i.estimateTextWidth),ee=M?Math.max(1,V.rowCount):0,Le=ee*26,Fe=X+F+Le,Ue=Fe+8,q=v?D.cardHeight+eG:0,J=Math.max(U,q-Fe),te=J+X,P=te+F,ge=P+Le,xe=cP(W,u,z,c),He={box:{x:L,y:J,width:R,height:0},ticks:xe,pixelsPerDay:le,originX:L,startDate:p,endDate:m,labelStyle:Tt("roadmap",[],d),pillRowHeight:X,tickPanelY:te,tickPanelHeight:F,markerRow:{y:P+13,height:Le,collisionY:P-8},minorGrid:g.minorGrid},dt=new Map;for(let[Y,de]of V.placements){let Re=P+13+de.rowIndex*26;dt.set(Y,{rowIndex:de.rowIndex,centerY:Re,labelBox:{...de.labelBox,y:Re-4},labelSide:de.labelSide})}let H={cal:l,styleCtx:d,sizes:f,labels:r.content.labels,teams:r.content.teams,persons:r.content.persons,symbols:r.config.symbols,footnoteIndex:new Map,footnoteHosts:new Map,timeline:He,scale:W,calendar:z,bandScale:sP(),entityLeftEdges:new Map,entityRightEdges:new Map,entityMidpoints:new Map,entityVisualLeftX:new Map,entityVisualRightX:new Map,itemArrowSource:new Map,itemFlowKey:new Map,currentFlowKey:"",itemSlackAttachY:new Map,slackCorridors:[],markerRowPlacements:dt,chartTopY:J+Ue,chartBottomY:0,swimlaneBottomY:0,chartRightX:K};for(let Y of pe){let de=dt.get(Y.id);de&&(H.entityLeftEdges.set(Y.id,Y.centerX),H.entityRightEdges.set(Y.id,Y.centerX),H.entityMidpoints.set(Y.id,{x:Y.centerX,y:de.centerY}))}let Cr=lE(r.content.footnotes,H,0);H.footnoteIndex=Cr.index,H.footnoteHosts=Cr.hosts;let Or=new Map(H.entityLeftEdges),me=new Map(H.entityRightEdges),Ki=new Map(H.entityMidpoints),Zi=[...r.content.swimlanes.values()],Lr=Tt("swimlane",[],d),ss=Wk[Lr.spacing]??0,_r=()=>{let Y=[],de=H.chartTopY,Re=0,vr=H.timeline.originX;for(let FE of Zi){Re>0&&(de+=ss);let{positioned:ne,usedHeight:ze,usedRightX:st}=new mc({lane:FE,bandIndex:Re},i).place({x:H.timeline.originX,y:de},H);Y.push(ne),de+=ze,st>vr&&(vr=st),Re++}return{swimlanes:Y,nextY:de,maxRightX:vr}},Lt=_r(),nn=Lt.swimlanes,zt=Lt.nextY,x=rG(r.content.milestones,H);x.length>0&&(H.entityLeftEdges=new Map(Or),H.entityRightEdges=new Map(me),H.entityMidpoints=new Map(Ki),H.itemSlackAttachY=new Map,H.entityVisualLeftX=new Map,H.entityVisualRightX=new Map,H.itemArrowSource=new Map,H.itemFlowKey=new Map,H.currentFlowKey="",H.slackCorridors=x,Lt=_r(),nn=Lt.swimlanes,zt=Lt.nextY),tG(H,Lt.maxRightX+Jr);for(let Y of nn)Y.box.width=H.chartRightX;let C=r.content.isolatedRegions,j=[];if(C.length>0){let Y=xP(C,H,zt+8,i);j=Y.regions,zt=Y.endY}H.chartBottomY=zt,H.swimlaneBottomY=zt,He.box.height=H.chartBottomY-He.box.y;let Z=_P(r.content.milestones,H),je=pe.map(Y=>({id:Y.id,centerX:Y.centerX,radius:Y.radius,title:Y.title,fontSize:Y.fontSize,bold:Y.bold}));for(let Y of Z)Y.fixed||je.push({id:Y.id??"",centerX:Y.center.x,radius:Y.radius,title:Y.title,fontSize:10,bold:!0});let Se=vP(je,B,H.chartRightX,i.estimateTextWidth);H.markerRowPlacements.clear();for(let[Y,de]of Se.placements){let Re=P+13+de.rowIndex*26;H.markerRowPlacements.set(Y,{rowIndex:de.rowIndex,centerY:Re,labelBox:{...de.labelBox,y:Re-4},labelSide:de.labelSide})}for(let Y of Z){let de=H.markerRowPlacements.get(Y.id??"");de&&(Y.center={x:Y.center.x,y:de.centerY},Y.labelBox=de.labelBox,Y.labelSide=de.labelSide)}for(let Y of pe){let de=H.markerRowPlacements.get(Y.id);de&&H.entityMidpoints.set(Y.id,{x:Y.centerX,y:de.centerY})}for(let Y of Z)Y.fixed||H.entityMidpoints.set(Y.id??"",{x:Y.center.x,y:Y.center.y});let De=M?Math.max(1,Se.rowCount):0;if(De>ee){let Y=(De-ee)*26;H.timeline.markerRow.height=De*26,H.timeline.box.height+=Y,H.chartTopY+=Y,H.chartBottomY+=Y,H.swimlaneBottomY+=Y;for(let de of nn)fE(de,Y);for(let de of j)nG(de,Y);for(let[de,Re]of H.entityMidpoints)H.markerRowPlacements.has(de)||H.entityMidpoints.set(de,{x:Re.x,y:Re.y+Y});for(let[de,Re]of H.itemSlackAttachY)H.itemSlackAttachY.set(de,Re+Y);for(let de of Z)if(de.cutTopY=H.chartTopY,de.cutBottomY=H.swimlaneBottomY,de.slackArrows)for(let Re of de.slackArrows)Re.y+=Y}_&&(H.timeline.bottomTickPanelY=H.chartBottomY+8,H.timeline.bottomTickPanelHeight=Su,H.chartBottomY+=8+Su);let Ve=new Set(Z.map(Y=>Y.center.x)),Ee=dP(r.content.anchors,H,Ve),Be=i.collectItems(Zi),Ie=i.buildDependencies(Be,nn,j,H),pt=i.buildNowline(n.today,H,c),rt=lE(r.content.footnotes,H,H.chartBottomY);H.footnoteIndex=rt.index,H.footnoteHosts=rt.hosts,k.height=k.height||H.chartBottomY,v||(k.width=H.chartRightX);let lr=v?{x:6,y:ge-D.cardHeight,width:D.cardWidth,height:D.cardHeight}:{x:0,y:0,width:H.chartRightX,height:Rh},Mt=rt.area.entries.length>0?rt.area.box.y+rt.area.box.height:H.chartBottomY,Er={x:H.chartRightX-Jr-O_,y:Mt+Jr,width:O_,height:Jk},Tc=Er.y+Er.height+Jr,Qu={box:k,position:g.headerPosition,title:E,author:I,titleLines:D.titleLines,authorLines:D.authorLines,cardBox:lr,logo:void 0,style:g,attributionBox:Er};return{width:H.chartRightX,height:Tc,theme:o,palette:s,backgroundColor:s.surface.page,header:Qu,timeline:He,nowline:pt,swimlanes:nn,anchors:Ee,milestones:Z,edges:Ie,footnotes:rt.area,includes:j,chartBox:{x:B,y:H.chartTopY,width:H.chartRightX-B,height:H.chartBottomY-H.chartTopY}}}};function rG(t,e){let r=[];for(let[n,i]of t){let o=ae(i.properties,"date"),s=xt(i.properties,"after"),a=Rt(o),c=Kh(s,e),l=Zh(c);if(a){let f=e.scale.forwardWithinDomain(a);if(f===null)continue;let d=null;for(let p of l)(!d||p.x>d.x)&&(d=p);d&&d.x>f&&d.y>0&&r.push({xStart:Math.min(d.x,f),xEnd:Math.max(d.x,f),y:d.y,slackPredId:d.ref,milestoneId:n});continue}if(l.length===0)continue;l.sort((f,d)=>d.x-f.x);let u=l[0].x;for(let f=1;f<l.length;f++){let d=l[f];d.x<u&&d.y>0&&r.push({xStart:d.x,xEnd:u,y:d.y,slackPredId:d.ref,milestoneId:n})}}return r}function fE(t,e){t.box.y+=e;for(let r of t.children)RP(r,e);for(let r of t.nested)fE(r,e)}function RP(t,e){if(t.box.y+=e,t.kind==="item"){t.overflowBox&&(t.overflowBox.y+=e);for(let r of t.labelChips)r.box.y+=e;return}for(let r of t.children)RP(r,e)}function nG(t,e){t.box.y+=e;for(let r of t.nestedSwimlanes)fE(r,e)}function vP(t,e,r,n){let i=[...t].sort((a,c)=>a.centerX-c.centerX),o=new Map,s=[];for(let a of i){let c=n(a.title,a.fontSize)*(a.bold?1.05:1),l=a.centerX+a.radius+6,u=a.centerX-a.radius-6-c,f=l+c<=r,d=u>=e,p=a.centerX-a.radius,m=a.centerX+a.radius,g=B=>B==="right"?l:u,v=B=>B==="right"?f:d,T=(B,U)=>{let z=Math.min(p,B),le=Math.max(m,B+c);return s[U].some(O=>O.left<le&&O.right>z)},_=-1,E="right",I=l;e:for(let B=s.length-1;B>=0;B--)for(let U of["right","left"]){if(!v(U))continue;let z=g(U);if(!T(z,B)){_=B,E=U,I=z;break e}}if(_===-1){for(let[B,U]of o)o.set(B,{...U,rowIndex:U.rowIndex+1});s=[[],...s],_=0,E=f?"right":"left",I=g(E)}let D=Math.min(p,I),k=Math.max(m,I+c);s[_].push({left:D,right:k}),o.set(a.id,{rowIndex:_,labelBox:{x:I,y:0,width:c,height:12},labelSide:E})}return{placements:o,rowCount:s.length}}function iG(t){return t.directive?.properties.find(r=>oG(r.key)==="locale")?.value}function oG(t){return t.endsWith(":")?t.slice(0,-1):t}function lG(t){switch(t){case"done":case"completed":return"done";case"in-progress":case"active":return"in-progress";case"at-risk":case"blocked":case"planned":return t;case void 0:return"planned";default:return"neutral"}}function uG(t){if(!t)return 0;let e=/^(\d{1,3})%$/.exec(t);return e?Math.max(0,Math.min(100,parseInt(e[1],10)))/100:0}function fG(t,e){if(t)return/^\d+(?:\.\d+)?[dwmqy]$/.test(t)||/^\d+%$/.test(t)?t:e.sizes.get(t)?.effortLiteral??t}function dG(t,e){if(t)return e.teams.get(t)?.title??e.persons.get(t)?.title??t}function pG(t){if(!t)return{icon:"none"};let e=t.toLowerCase();return e.includes("linear.app")?{icon:"linear",href:t}:e.includes("github.com")?{icon:"github",href:t}:e.includes("atlassian.net")||e.includes("jira.")?{icon:"jira",href:t}:{icon:"generic",href:t}}function em(t,e,r,n,i){let o=qk(t,e),s=t.name??t.title??"",a=o.padding==="none"?"xs":o.padding,c=Vk[a],l=Math.max(20,Math.round(s.length*5.5+c*2));return i!==void 0&&(l=Math.min(l,i)),{text:s,style:o,box:{x:r,y:n,width:l,height:13}}}function yE(t,e,r,n){let i=t.properties,o=Tt("item",i,r.styleCtx),s=ae(i,"size"),a=s?r.sizes.get(s)??null:null,c=Xi(i,r.sizes,r.cal),l=Pk(i,r.sizes,r.cal),u=xt(i,"after"),f=xt(i,"before"),d=ae(i,"date"),p=Nk(ae(i,"remaining"),r.sizes,r.cal),m=e.x,g=Rt(d);if(g){let ne=r.scale.forwardWithinDomain(g);ne!==null&&(m=ne)}else if(u.length>0){let ne=e.x;for(let ze of u){let st=Rt(ze);if(st){let ei=r.scale.forwardWithinDomain(st);ei!==null&&(ne=Math.max(ne,ei));continue}let Sn=r.entityRightEdges.get(ze);Sn!==void 0&&(ne=Math.max(ne,Sn))}m=Math.max(e.x,ne)}let v=Math.max(Pr,c*r.timeline.pixelsPerDay),T=m,_=m+v,E=ae(i,"link"),I=pG(E),D=I.icon!=="none",k=Math.max(Pr,v-2*Zr),B=xt(i,"labels"),U=[];for(let ne of B){let ze=r.labels.get(ne);if(!ze)continue;let st=em(ze,r.styleCtx,0,0);U.push({id:ze,width:st.box.width})}let z=0;for(let ne=0;ne<U.length;ne+=1)ne>0&&(z+=4),z+=U[ne].width;let le=Math.max(0,k-24),O=U.length>0&&z>le,R=!1,L,$;if(f.length>0){let ne,ze;for(let st of f){let Sn=Rt(st),ei=Sn?r.scale.forwardWithinDomain(Sn)??void 0:r.entityLeftEdges.get(st);ei!==void 0&&(ne===void 0||ei<ne)&&(ne=ei,ze=st)}ne!==void 0&&_>ne&&(R=!0,L={x:ne,y:e.y,width:_-ne,height:r.bandScale.bandwidth()},$=ze)}let b=ae(i,"status"),A=lG(b),S=uG(b);S===0&&A==="done"&&(S=1);let M=/^(\d{1,3})%$/.exec(ae(i,"remaining")??"");S===0&&A==="in-progress"&&M&&(S=1-Math.max(0,Math.min(100,parseInt(M[1],10)))/100),S===0&&A==="in-progress"&&p>0&&l>0&&(S=Math.max(0,Math.min(1,1-p/l)));let X={done:"#ecfdf5","in-progress":"#eff6ff","at-risk":"#fffbeb",blocked:"#fee2e2",planned:"#f8fafc",neutral:"#f8fafc"},F={done:"#052e16","in-progress":"#172554","at-risk":"#422006",blocked:"#7f1d1d",planned:"#1e293b",neutral:"#1e293b"},W={done:r.styleCtx.theme.status.done,"in-progress":r.styleCtx.theme.status.inProgress,"at-risk":r.styleCtx.theme.status.atRisk,blocked:r.styleCtx.theme.status.blocked,planned:r.styleCtx.theme.status.planned,neutral:r.styleCtx.theme.status.neutral},K=r.styleCtx.theme.name==="light",pe=K?"#ffffff":"#0f172a",V="#94a3b8";o.bg===pe&&(o.bg=K?X[A]:F[A]),o.fg===V&&(o.fg=W[A]);let ee=ae(i,"duration"),Le=!!ee&&/^\d+(?:\.\d+)?[dwmqy]$/.test(ee),Fe=a?a.title??a.name:"",Ue=Le?ee:Fe||void 0,q=ae(i,"remaining"),J=fG(q,r),te=dG(n??ae(i,"owner"),r),P=()=>[Ue,te].filter(Boolean).join(" "),ge;if(A==="in-progress"&&J){let ne=P();ge=ne?`${ne} \u2014 ${J} remaining`:`${J} remaining`}else if(A==="in-progress"&&S>0&&S<1){let ne=Math.round((1-S)*100),ze=P();ge=ze?`${ze} \u2014 ${ne}% remaining`:`${ne}% remaining`}else(te||Ue)&&(ge=P()||void 0);let xe=ae(i,"capacity"),He=Gi(xe),dt=null,H=0;if(He!==null){let ne=Tu(He),ze=_u(o.capacityIcon,r.symbols);dt={value:He,text:ne,icon:ze};let st=11;H=(ge?An(" ",st):0)+qo(ne,ze,st)}let Cr=t.title??t.name??"",Or=new Ih({id:t.name??"",title:Cr,logicalLeftX:T,logicalRightX:_,metaText:ge,metaTrailingWidth:H,hasLinkIcon:D}).place({x:T,y:e.y},{time:r.scale,bands:r.bandScale,style:o}),me=Or.box,Ki=r.bandScale.bandwidth(),Zi=me.width<17,Lr=D&&me.width<41,ss=me.width<23,_r=Or.textSpills||Lr,Lt=null;O&&(Lt=y_(U,me.width));let nn=Lt?Lt.rows.length:U.length>0?1:0,zt=ge!==void 0||dt!==null,x=IP(O,_r,nn,Ki,zt);x>0&&(me.height=Ki+x);let C=[],j=me.y+Ki-vn-13-3,Z=me.y+38+3,Se=O&&_r||!O&&zt&&U.length>0?Math.max(j,Z):j,De=O?me.x+me.width+6:me.x+12,Ve=De;if(Lt)for(let ne=0;ne<Lt.rows.length;ne+=1){let ze=Se+ne*17,st=De;for(let ei of Lt.rows[ne]){let UE=em(ei.id,r.styleCtx,st,ze);C.push(UE),st+=UE.box.width+4}let Sn=st-4;Sn>Ve&&(Ve=Sn)}else{let ne=De;for(let ze of U){let st=em(ze.id,r.styleCtx,ne,Se);C.push(st),ne+=st.box.width+4}Ve=U.length>0?ne-4:De}let Ee=new Set;if(t.name){for(let[ne,ze]of r.footnoteHosts.entries())if(ze.includes(t.name)){let st=r.footnoteIndex.get(ne);st!==void 0&&Ee.add(st)}}let Be=[...Ee].sort((ne,ze)=>ne-ze),Ie=te??n??ae(i,"owner"),pt=t.description?.text,rt=Be.length>0&&ss,Mt=me.x+me.width+6,Er=!1,Tc=null;Lr&&(Er&&(Mt+=4),Tc=Mt,Mt=Tc+14,Er=!0);let Qu=0;if(_r){Er&&(Mt+=4);let ne=An(Cr,13),ze=(ge?An(ge,11):0)+H;Qu=Math.max(ne,ze),Mt+=Qu,Er=!0}let fm=null;rt&&(Er&&(Mt+=4),fm=Mt,Mt+=Be.length*8,Er=!0);let Y=null;Zi&&(Er&&(Mt+=4),Y=Mt+5,Mt=Y+5,Er=!0);let de=Math.max(me.x+me.width,Mt),Re=t.name;if(Re){r.entityLeftEdges.set(Re,T),r.entityRightEdges.set(Re,_),r.entityMidpoints.set(Re,{x:(T+_)/2,y:me.y+me.height/2}),r.entityVisualLeftX.set(Re,me.x),r.entityVisualRightX.set(Re,me.x+me.width);let ne=_r?{x:me.x+me.width,y:me.y+me.height-vn/2}:{x:me.x+me.width,y:me.y+me.height/2};r.itemArrowSource.set(Re,ne),r.itemFlowKey.set(Re,r.currentFlowKey);let ze=_r?me.y+me.height-vn/2:me.y+me.height/2;r.itemSlackAttachY.set(Re,ze)}e.x=_,e.maxX=Math.max(e.maxX,e.x),e.height=Math.max(e.height,r.bandScale.step()+x);let vr=Fk({box:me,afterDate:qn(u),beforeDate:qn(f),hasLinkIcon:D,footnoteCount:Be.length});return{kind:"item",id:Re,title:Cr,box:me,status:A,progressFraction:S,footnoteIndicators:Be,labelChips:C,chipsOutside:O,chipsRightX:Ve,linkIcon:I.icon,linkHref:I.href,hasOverflow:R,overflowBox:L,overflowAnchorId:$,owner:Ie,description:pt,metaText:ge,textSpills:_r,dotSpills:Zi,iconSpills:Lr,footnoteSpills:rt,dotSpillCx:Y,iconSpillX:Tc,footnoteSpillStartX:fm,decorationsRightX:de,capacity:dt,size:a,style:o,inlineDatePins:vr.length>0?vr:void 0}}function hG(t,e,r){return new kh(t,{sequenceOne:xE,newCursor:mh}).place(e,r)}function mG(t,e,r){return new Sh(t,{sequenceItem:yE,sequenceOne:xE,resolveChildStart:NP,newCursor:mh,estimateTextWidth:An,predictItemChipExtraHeight:kP}).place(e,r)}function xE(t,e,r){if(yr(t))return yE(t,e,r);if(Wr(t))return hG(t,e,r);if(qr(t))return mG(t,e,r);throw new Error(`Unknown swimlane child type: ${t.$type??"unknown"}`)}function An(t,e){return t.length*e*.58}function IP(t,e,r,n,i){if(r===0)return 0;let o=n-vn-13-3,s=41,a;t&&e?a=s:!t&&i?a=Math.max(o,s):a=o;let l=a+(r-1)*17+13+3+vn;return Math.max(0,l-n)}function kP(t,e){let r=t.properties,n=xt(r,"labels");if(n.length===0)return 0;let i=Xi(r,e.sizes,e.cal),o=Math.max(Pr,i*e.timeline.pixelsPerDay),s=Math.max(Pr,o-2*Zr),a=[];for(let T of n){let _=e.labels.get(T);if(!_)continue;let E=em(_,e.styleCtx,0,0);a.push({id:_,width:E.box.width})}if(a.length===0)return 0;let c=0;for(let T=0;T<a.length;T+=1)T>0&&(c+=4),c+=a[T].width;let l=Math.max(0,s-24),u=c>l,f=ae(r,"duration")!==void 0||ae(r,"size")!==void 0||ae(r,"owner")!==void 0||ae(r,"remaining")!==void 0||ae(r,"capacity")!==void 0,d=t.title??t.name??"",m=(d?An(d,13):0)>l,g=u?y_(a,s):null,v=g?g.rows.length:a.length>0?1:0;return IP(u,m,v,e.bandScale.bandwidth(),f)}function NP(t,e,r,n){let i=Rt(ae(t,"date"))??Rt(ae(t,"start"));if(i){let s=n.scale.forwardWithinDomain(i);if(s!==null)return s}let o=xt(t,"after");if(o.length>0){let s=r;for(let a of o){let c=Rt(a);if(c){let u=n.scale.forwardWithinDomain(c);u!==null&&(s=Math.max(s,u));continue}let l=n.entityRightEdges.get(a);l!==void 0&&(s=Math.max(s,l))}return Math.max(r,s)}return e}var dE=6;function wP(t,e,r){if(!t)return[];let n=t.split(/\s+/).filter(s=>s.length>0);if(n.length===0)return[];let i=[],o="";for(let s of n){let a=o?`${o} ${s}`:s;o&&An(a,r)>e?(i.push(o),o=s):o=a}return o&&i.push(o),i}function gG(t,e){let r=I_-32,n=wP(t,r,16),i=wP(e??"",r,11),o=0;for(let d of n)o=Math.max(o,An(d,16));for(let d of i)o=Math.max(o,An(d,11));let s=o+32,a=Math.max(Kk-dE,Math.min(I_-dE,s)),c=n.length>0?(n.length-1)*20:0,l=i.length>0?18+(i.length-1)*14:0,u=26+c+l+14,f=a+dE;return{titleLines:n,authorLines:i,cardWidth:a,cardHeight:u,boxWidth:f}}function yG(t,e,r,n,i){let s=t.roadmapDecl?.properties??[],a=ae(s,"start"),c=Rt(a)??xG(n),l=ae(s,"length");if(l){let p=TG(l,e.cal);if(p>0)return{startDate:c,endDate:Wo(c,p)}}let u=PP(r,e,c,n),f=uP(i.unit,e.cal),d=u>0?Math.ceil(u/f)*f:4*e.cal.daysPerWeek;return{startDate:c,endDate:Wo(c,Math.max(1,d))}}function xG(t){let e=t??new Date;return new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()))}function TG(t,e){let r=/^(\d+(?:\.\d+)?)([dwmqy])$/.exec(t);if(!r)return 0;let n=parseFloat(r[1]);switch(r[2]){case"d":return n;case"w":return n*e.daysPerWeek;case"m":return n*e.daysPerMonth;case"q":return n*e.daysPerQuarter;case"y":return n*e.daysPerYear;default:return 0}}function PP(t,e,r,n){let i=new Map,o=new Map,s=new Map,a=0,c=f=>{let d=Rt(f);return d?Nr(r,d):i.has(f)?i.get(f):o.has(f)?o.get(f):s.has(f)?s.get(f):0};for(let f of t.content.anchors.values()){let d=Rt(ae(f.properties,"date"));if(d&&f.name){let p=Nr(r,d);o.set(f.name,p),a=Math.max(a,p)}}let l=(f,d)=>{let p=d;for(let m of f)m.$type!=="DescriptionDirective"&&(p=u(m,p),a=Math.max(a,p));return p},u=(f,d)=>{if(yr(f)){let p=Xi(f.properties,e.sizes,e.cal),m=Rt(ae(f.properties,"date")),g=Rt(ae(f.properties,"start")),v=xt(f.properties,"after"),T=d;m?T=Nr(r,m):g?T=Nr(r,g):v.length>0&&(T=Math.max(d,...v.map(c)));let _=T+p;return f.name&&i.set(f.name,_),_}if(Wr(f)){let p=xt(f.properties,"after"),m=p.length>0?Math.max(d,...p.map(c)):d,g=m;for(let v of f.content){if(v.$type==="DescriptionDirective")continue;let T=u(v,m);g=Math.max(g,T)}return g}if(qr(f)){let p=xt(f.properties,"after"),m=p.length>0?Math.max(d,...p.map(c)):d;return l(f.content,m)}return d};for(let f of t.content.swimlanes.values())l(f.content,0);for(let f of t.content.milestones.values()){let d=Rt(ae(f.properties,"date"));if(d){let m=Nr(r,d);f.name&&s.set(f.name,m),a=Math.max(a,m);continue}let p=xt(f.properties,"after");if(p.length>0){let m=Math.max(0,...p.map(c));f.name&&s.set(f.name,m),a=Math.max(a,m)}}for(let f of t.content.isolatedRegions){let d=PP({config:f.config,content:f.content,diagnostics:[],processedFiles:new Set},e,r,void 0);a=Math.max(a,d)}if(n){let f=Nr(r,n);f>0&&(a=Math.max(a,f))}return a}function _G(t,e,r,n){let i=new fh(Ck(e,r)),o=[],s=[];for(let[l,u]of t){let f=xt(u.properties,"after"),d=n.entityMidpoints.get(l),p=n.entityVisualLeftX.get(l);if(!d||p===void 0)continue;let m={x:p,y:d.y};for(let g of f){let v=n.itemArrowSource.get(g),T,_=v===void 0;if(v)T=v;else{let E=n.entityMidpoints.get(g);if(!E)continue;T={x:E.x,y:d.y}}!_&&Math.abs(T.y-m.y)<.5&&m.x-T.x<20||(o.push({fromId:g,toId:l,from:T,to:m,isMarkerSource:_}),s.push({fromId:g,toId:l}))}}let a=Ok(o,i),c=[];for(let l=0;l<a.length;l++){let u=a[l];c.push({fromId:s[l].fromId,toId:s[l].toId,waypoints:u.waypoints,kind:u.underBar?"underBar":"normal",style:Tt("item",[],n.styleCtx)})}return c}function EG(t,e,r){if(!t)return null;let n=e.scale.forwardWithinDomain(t);if(n===null)return null;let i=e.timeline.box.y,o=e.timeline.tickPanelY,s=dh(r).nowLabel,a=An(s,Nu),c=Math.max(b_,Math.ceil(a+2*nc)),l=e.timeline.originX-Jr,u=c/2,f;n-u<l?f="flag-right":n+u>e.chartRightX?f="flag-left":f="center";let d=e.timeline.bottomTickPanelY,p=e.timeline.bottomTickPanelHeight??0,m=d!==void 0&&p>0?d+p:e.swimlaneBottomY;return{x:n,topY:o,bottomY:m,pillTopY:i,pillMode:f,label:s,pillWidth:c,style:Tt("item",[],e.styleCtx)}}function vG(t){let e=new Map,r=n=>{if(yr(n)){n.name&&e.set(n.name,n);return}if(Wr(n)){for(let i of n.content)i.$type!=="DescriptionDirective"&&r(i);return}if(qr(n)){for(let i of n.content)i.$type!=="DescriptionDirective"&&r(i);return}};for(let n of t)for(let i of n.content)i.$type!=="DescriptionDirective"&&r(i);return e}function TE(t,e,r={}){return new Qh().place(t,e,r,{sequenceItem:yE,sequenceOne:xE,resolveChildStart:NP,newCursor:mh,estimateTextWidth:An,predictItemChipExtraHeight:kP,computeDateWindow:yG,sizeBesideHeader:gG,collectItems:vG,buildDependencies:_G,buildNowline:EG})}var Yi={person:{viewBox:"0 0 24 24",body:'<circle cx="12" cy="8" r="4" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><path d="M4 21a8 8 0 0 1 16 0" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>',ascii:"p"},people:{viewBox:"0 0 24 24",body:'<path d="M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><circle cx="9" cy="7" r="4" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><path d="M22 21v-2a4 4 0 0 0-3-3.87" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><path d="M16 3.13a4 4 0 0 1 0 7.75" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>',ascii:"P"},points:{viewBox:"0 0 24 24",body:'<polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2" fill="currentColor" stroke="currentColor" stroke-width="1" stroke-linejoin="round"/>',ascii:"*"},time:{viewBox:"0 0 24 24",body:'<line x1="10" x2="14" y1="2" y2="2" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><line x1="12" x2="15" y1="14" y2="11" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><circle cx="12" cy="14" r="8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>',ascii:"t"}},RG={calendar:{viewBox:"0 0 24 24",body:'<rect x="3" y="4" width="18" height="18" rx="2" ry="2" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><line x1="16" x2="16" y1="2" y2="6" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><line x1="8" x2="8" y1="2" y2="6" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><line x1="3" x2="21" y1="10" y2="10" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>',ascii:"d"}},CP={...Yi,...RG};var nse={none:"",multiplier:"x",person:Yi.person.ascii,people:Yi.people.ascii,points:Yi.points.ascii,time:Yi.time.ascii};var om=class{constructor(e="nl"){fe(this,"prefix");fe(this,"counter",0);this.prefix=e}next(e){let r=`${this.prefix}-${this.counter++}`;return e?`${r}-${e}`:r}};var wG=new Set(["svg","g","defs","symbol","use","path","rect","circle","ellipse","line","polyline","polygon","text","tspan","title","desc","linearGradient","radialGradient","stop","clipPath","mask","pattern","filter","feGaussianBlur","feColorMatrix","feOffset","feMerge","feMergeNode","feFlood","feComposite","feBlend","feDropShadow","image"]),bG=new Set(["d","x","y","x1","y1","x2","y2","cx","cy","r","rx","ry","width","height","viewBox","preserveAspectRatio","fill","fill-opacity","fill-rule","stroke","stroke-width","stroke-opacity","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-dasharray","stroke-dashoffset","opacity","transform","points","id","class","clip-path","mask","filter","font-family","font-size","font-weight","font-style","text-anchor","dx","dy","rotate","letter-spacing","word-spacing","style","xmlns","href","xlink:href","offset","stop-color","stop-opacity","gradientUnits","gradientTransform","spreadMethod","maskUnits","maskContentUnits","stdDeviation","values","in","in2","mode","type","result","flood-color","flood-opacity","patternUnits","patternContentUnits","role","aria-label"]);function AG(t){let e=[],r=0,n=t.length;for(;r<n;){if(t[r]!=="<"){let u=r;for(;r<n&&t[r]!=="<";)r++;let f=t.slice(u,r);f.trim().length>0?e.push({kind:"text",text:f}):f.length>0&&e.push({kind:"text",text:f});continue}if(t.startsWith("<!--",r)){let u=t.indexOf("-->",r+4);if(u<0)break;e.push({kind:"comment",text:t.slice(r+4,u)}),r=u+3;continue}if(t.startsWith("<![CDATA[",r)){let u=t.indexOf("]]>",r+9);if(u<0)break;e.push({kind:"cdata",text:t.slice(r+9,u)}),r=u+3;continue}if(t.startsWith("<?",r)){let u=t.indexOf("?>",r+2);if(u<0)break;e.push({kind:"decl",text:t.slice(r+2,u)}),r=u+2;continue}if(t.startsWith("<!",r)){let u=t.indexOf(">",r+2);if(u<0)break;e.push({kind:"decl",text:t.slice(r+2,u)}),r=u+1;continue}if(t[r+1]==="/"){let u=t.indexOf(">",r+2);if(u<0)break;let f=t.slice(r+2,u).trim();e.push({kind:"close",name:f}),r=u+1;continue}let i=SG(t,r);if(i<0)break;let o=t.slice(r+1,i).trim(),s=o.endsWith("/"),a=s?o.slice(0,-1).trim():o,{name:c,attrs:l}=IG(a);e.push({kind:s?"self":"open",name:c,attrs:l}),r=i+1}return e}function SG(t,e){let r=e+1,n=null;for(;r<t.length;){let i=t[r];if(n)i===n&&(n=null);else if(i==='"'||i==="'")n=i;else if(i===">")return r;r++}return-1}function IG(t){let e=0;for(;e<t.length&&/\s/.test(t[e]);)e++;let r=e;for(;e<t.length&&!/\s/.test(t[e]);)e++;let n=t.slice(r,e),i={};for(;e<t.length;){for(;e<t.length&&/\s/.test(t[e]);)e++;if(e>=t.length)break;let o=e;for(;e<t.length&&t[e]!=="="&&!/\s/.test(t[e]);)e++;let s=t.slice(o,e);if(e>=t.length||t[e]!=="="){s&&(i[s]="");continue}if(e++,e>=t.length)break;let a=t[e];if(a!=='"'&&a!=="'"){let l=e;for(;e<t.length&&!/\s/.test(t[e]);)e++;i[s]=t.slice(l,e);continue}e++;let c=e;for(;e<t.length&&t[e]!==a;)e++;i[s]=t.slice(c,e),e<t.length&&e++}return{name:n,attrs:i}}function Vu(t){return t.replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function kG(t,e){if(t.startsWith("#")){let r=e.get(t.slice(1));return r?`#${r}`:null}if(/^url\(#[^)]+\)$/.test(t)){let r=t.slice(5,-1),n=e.get(r);return n?`url(#${n})`:null}return null}function OP(t,e={}){let r=e.idPrefix??"nl-logo",n=e.onWarn??(()=>{}),i=AG(t),o=new Map,s=0;for(let l of i)if((l.kind==="open"||l.kind==="self")&&l.attrs&&"id"in l.attrs){let u=l.attrs.id;u&&!o.has(u)&&o.set(u,`${r}-${s++}`)}let a=[],c=[];for(let l of i)if(l.kind!=="comment"&&l.kind!=="decl"){if(l.kind==="cdata"){c[c.length-1]&&a.push(Vu(l.text??""));continue}if(l.kind==="text"){if(c.length===0||c[c.length-1]){let u=(l.text??"").replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">");a.push(u)}continue}if(l.kind==="open"||l.kind==="self"){let u=l.name??"";if(u==="script"||u==="foreignObject"||u==="animate"||u==="animateTransform"||u==="animateMotion"||u==="set"){n(`sanitizer: dropping <${u}>`),l.kind==="open"&&c.push(!1);continue}if(!wG.has(u)){n(`sanitizer: dropping unknown element <${u}>`),l.kind==="open"&&c.push(!1);continue}let f=[`<${u}`],d=Object.keys(l.attrs??{}).sort();for(let p of d){let m=l.attrs[p];if(/^on/i.test(p)){n(`sanitizer: dropping event handler ${p}`);continue}if(!bG.has(p)){n(`sanitizer: dropping attribute ${p}`);continue}if(p==="href"||p==="xlink:href"){let g=kG(m,o);if(g===null){n(`sanitizer: dropping external href ${m}`);continue}f.push(` ${p}="${Vu(g)}"`);continue}if(p==="style"){n("sanitizer: dropping inline style");continue}if(p==="id"){let g=o.get(m);g&&f.push(` id="${Vu(g)}"`);continue}if(/\burl\(#/i.test(m)){let g=m.replace(/url\(#([^)]+)\)/gi,(v,T)=>{let _=o.get(T);return _?`url(#${_})`:"none"});f.push(` ${p}="${Vu(g)}"`);continue}if(/data:|javascript:|vbscript:/i.test(m)){n(`sanitizer: dropping suspicious value at ${p}`);continue}f.push(` ${p}="${Vu(m)}"`)}f.push(l.kind==="self"?"/>":">"),a.push(f.join("")),l.kind==="open"&&c.push(!0);continue}l.kind==="close"&&c.pop()&&a.push(`</${l.name}>`)}return a.join("")}var LP=/&/g,DP=/</g,$P=/>/g,NG=/"/g,PG=/'/g;function cr(t){return t.replace(LP,"&").replace(DP,"<").replace($P,">")}function Zn(t){return t.replace(LP,"&").replace(DP,"<").replace($P,">").replace(NG,""").replace(PG,"'")}function xc(t){let e=Object.keys(t).sort(),r=[];for(let n of e){let i=t[n];i==null||i===!1||(i===!0?r.push(n):r.push(`${n}="${Zn(String(i))}"`))}return r.length?` ${r.join(" ")}`:""}function Q(t,e,r){return r===void 0||r===""?`<${t}${xc(e)}/>`:`<${t}${xc(e)}>${r}</${t}>`}function Oe(t,e){return`<text${xc(t)}>${cr(e)}</text>`}function h(t){return Number.isFinite(t)?Number.isInteger(t)?t.toString():(Math.round(t*100)/100).toString():"0"}var CG={none:{dx:0,dy:0,stdDeviation:0,opacity:0},subtle:{dx:0,dy:1,stdDeviation:1.5,opacity:.2},soft:{dx:0,dy:3,stdDeviation:5,opacity:.3},hard:{dx:2,dy:2,stdDeviation:0,opacity:.45}};function OG(t,e){let r=`${t}-shadow-${e}`,n=CG[e],i=`<feGaussianBlur in="SourceAlpha" stdDeviation="${n.stdDeviation}"/><feOffset dx="${n.dx}" dy="${n.dy}" result="offsetblur"/><feComponentTransfer><feFuncA type="linear" slope="${n.opacity}"/></feComponentTransfer><feMerge><feMergeNode/><feMergeNode in="SourceGraphic"/></feMerge>`;return Q("filter",{id:r,x:"-50%",y:"-50%",width:"200%",height:"200%"},i)}function MP(t,e){return e==="none"?null:`url(#${t}-shadow-${e})`}function FP(t){return["subtle","soft","hard"].map(e=>OG(t,e)).join("")}var FG={thin:100,light:300,normal:400,bold:700};function UG(t){return tc[t]??14}function EE(t,e){return{"font-family":We[t.font],"font-size":e??UG(t.textSize),"font-weight":FG[t.weight]??400,"font-style":t.italic?"italic":"normal",fill:t.text}}function BG(t){if(t.border==="dashed")return"4 3";if(t.border==="dotted")return"1 3"}function GG(t){if(!t||t==="none"||t==="transparent")return 1;let e=t.startsWith("#")?t.slice(1):t;if(e.length===3&&(e=e.split("").map(s=>s+s).join("")),e.length!==6)return 1;let r=parseInt(e.slice(0,2),16)/255,n=parseInt(e.slice(2,4),16)/255,i=parseInt(e.slice(4,6),16)/255,o=s=>s<=.03928?s/12.92:((s+.055)/1.055)**2.4;return .2126*o(r)+.7152*o(n)+.0722*o(i)}function XG(t,e){return GG(t)>=.24?e.statusDot.onLight:e.statusDot.onDark}function _E(t,e){return t.length*e*.58}function XP(t,e,r,n,i,o,s){let a=i*.58,c=e?_E(e,i):0,l=e?a:0,u=r+c+l,{text:f,icon:d}=t,p=_E(f,i),m={"font-family":o,"font-size":i,fill:s};if(!d)return Oe({x:h(u),y:h(n),...m},f);if(d.kind==="builtin"&&d.name==="multiplier")return Oe({x:h(u),y:h(n),...m},`${f}\xD7`);if(d.kind==="builtin"){let v=Yi[d.name],T=Oe({x:h(u),y:h(n),...m},f),_=i*.1,E=i,I=u+p+_,D=n-i*.85,k=`<svg x="${h(I)}" y="${h(D)}" width="${h(E)}" height="${h(E)}" viewBox="${v.viewBox}" style="color:${Zn(s)}" aria-hidden="true">${v.body}</svg>`;return T+k}let g=h(i*.1);return`<text x="${h(u)}" y="${h(n)}" font-family="${Zn(o)}" font-size="${i}" fill="${Zn(s)}">${cr(f)}<tspan dx="${g}">${cr(d.text)}</tspan></text>`}var UP=.6,HG=.5;function jG(t){let{metaText:e,capacity:r,x:n,baselineY:i,fontSize:o,fontFamily:s,color:a}=t;if(!e&&!r)return"";let c={"font-family":s,"font-size":o,fill:a};if(!r)return Oe({x:h(n),y:h(i),...c},e);if(!e)return XP(r,void 0,n,i,o,s,a);let l=h(o*UP),u=`<text x="${h(n)}" y="${h(i)}" font-family="${Zn(s)}" font-size="${o}" fill="${Zn(a)}">`,{text:f,icon:d}=r;if(!d)return u+cr(e)+`<tspan dx="${l}">${cr(f)}</tspan></text>`;if(d.kind==="builtin"&&d.name==="multiplier")return u+cr(e)+`<tspan dx="${l}">${cr(f)}\xD7</tspan></text>`;if(d.kind==="literal"){let k=h(o*.1);return u+cr(e)+`<tspan dx="${l}">${cr(f)}</tspan><tspan dx="${k}">${cr(d.text)}</tspan></text>`}let p=Yi[d.name],m=k=>k.length*o*HG,g=n+m(e)+o*UP,v=o*.1,T=o,_=g+m(f)+v,E=i-o*.85,I=u+cr(e)+`<tspan dx="${l}">${cr(f)}</tspan></text>`,D=`<svg x="${h(_)}" y="${h(E)}" width="${h(T)}" height="${h(T)}" viewBox="${p.viewBox}" style="color:${Zn(a)}" aria-hidden="true">${p.body}</svg>`;return I+D}function zG(t,e){let r=CP.calendar,n=`<svg x="${h(t.glyphTopLeft.x)}" y="${h(t.glyphTopLeft.y)}" width="${h(t.glyphSize)}" height="${h(t.glyphSize)}" viewBox="${r.viewBox}" style="color:${Zn(e)}" aria-hidden="true">${r.body}</svg>`,i=`<title>${cr(t.isoDate)}</title>`;return Q("g",{"data-layer":"inline-date-pin","data-side":t.side,"data-date":t.isoDate,"data-spilled":t.spilled?"true":null},i+n)}function vE(t,e){return!t||t.length===0?"":t.map(r=>zG(r,e)).join("")}function qG(t,e,r,n,i,o={}){let s=Math.min(gh[i.cornerRadius]??4,n/2);return Q("rect",{x:h(t),y:h(e),width:h(r),height:h(n),rx:h(s),ry:h(s),fill:i.bg==="none"?"transparent":i.bg,stroke:i.fg,"stroke-width":1,"stroke-dasharray":BG(i)??null,...o})}function WG(t,e,r){let n=t.box.x+t.cardBox.x,i=t.box.y+t.cardBox.y,o=t.cardBox.width,s=t.cardBox.height,a=t.style.bg==="none"?r.surface.headerBox:t.style.bg,c=r.header.cardBorder,l=Q("rect",{x:h(n),y:h(i),width:h(o),height:h(s),rx:6,ry:6,fill:a,stroke:c,"stroke-width":1,filter:`url(#${e}-shadow-subtle)`}),u=[];t.titleLines.forEach((v,T)=>{u.push(Oe({x:h(n+16),y:h(i+26+T*20),"font-family":We[t.style.font],"font-size":16,"font-weight":600,fill:t.style.text},v))});let f=u.join(""),d=i+26+Math.max(0,t.titleLines.length-1)*20,p=r.header.author,m=[];t.authorLines.forEach((v,T)=>{m.push(Oe({x:h(n+16),y:h(d+18+T*14),"font-family":We[t.style.font],"font-size":11,fill:p},v))});let g=m.join("");return Q("g",{"data-layer":"header","data-id":`${e}-header`},l+f+g)}function VG(t,e,r){let n=r.timeline.gridLine,i=r.timeline.minorGridLine,o=t.bottomTickPanelHeight??0,s=t.bottomTickPanelY!==void 0&&o>0,a=t.tickPanelY,c=s?t.bottomTickPanelY+o:t.box.y+t.box.height,l=e,u=t.box.y+t.box.height,f=[];for(let d of t.ticks)if(d.major)f.push(Q("line",{x1:h(d.x),y1:h(a),x2:h(d.x),y2:h(c),stroke:n,"stroke-width":1}));else if(t.minorGrid){if(d.labelX===void 0)continue;f.push(Q("line",{x1:h(d.x),y1:h(l),x2:h(d.x),y2:h(u),stroke:i,"stroke-width":1}))}return Q("g",{"data-layer":"grid"},f.join(""))}function YG(t,e){let r=e.timeline.panelFill,n=e.timeline.border,i=e.timeline.labelText,o=[],s=t.tickPanelY,a=t.tickPanelHeight,c=a>0,l=t.markerRow.height>0,u=s+a,f=t.markerRow.height,d=t.bottomTickPanelY,p=t.bottomTickPanelHeight??0,m=d!==void 0&&p>0;c&&o.push(Q("rect",{x:h(t.box.x),y:h(s),width:h(t.box.width),height:h(a),rx:4,ry:4,fill:r,stroke:n,"stroke-width":1})),l&&o.push(Q("rect",{x:h(t.box.x),y:h(u),width:h(t.box.width),height:h(f),rx:4,ry:4,fill:r,stroke:n,"stroke-width":1})),m&&o.push(Q("rect",{x:h(t.box.x),y:h(d),width:h(t.box.width),height:h(p),rx:4,ry:4,fill:r,stroke:n,"stroke-width":1}));for(let g of t.ticks)g.major&&(!g.label||g.labelX===void 0||(c&&o.push(Oe({x:h(g.labelX),y:h(s+yh),"font-family":We.sans,"font-size":10,fill:i,"text-anchor":"middle"},g.label)),m&&o.push(Oe({x:h(g.labelX),y:h(d+yh),"font-family":We.sans,"font-size":10,fill:i,"text-anchor":"middle"},g.label))));return Q("g",{"data-layer":"timeline"},o.join(""))}function KG(t,e){if(!t)return"";let r=e.nowline.stroke,n=e.nowline.labelText,i=Q("line",{x1:h(t.x),y1:h(t.topY),x2:h(t.x),y2:h(t.bottomY),stroke:r,"stroke-width":vh}),o=ZG(t,r),s=JG(t,n);return Q("g",{"data-layer":"nowline"},i+o+s)}function HP(t){let e=vh/2;return t.pillMode==="flag-right"?t.x-e:t.pillMode==="flag-left"?t.x+e:t.x}function ZG(t,e){let r=t.pillTopY,n=t.pillTopY+Hi,i=A_,o=t.pillWidth;if(t.pillMode==="center")return Q("rect",{x:h(t.x-o/2),y:h(r),width:h(o),height:h(Hi),rx:i,ry:i,fill:e});let s=HP(t);if(t.pillMode==="flag-right"){let l=s+o,u=[`M ${h(s)} ${h(r)}`,`L ${h(l-i)} ${h(r)}`,`A ${i} ${i} 0 0 1 ${h(l)} ${h(r+i)}`,`L ${h(l)} ${h(n-i)}`,`A ${i} ${i} 0 0 1 ${h(l-i)} ${h(n)}`,`L ${h(s)} ${h(n)}`,"Z"].join(" ");return Q("path",{d:u,fill:e})}let a=s-o,c=[`M ${h(s)} ${h(r)}`,`L ${h(a+i)} ${h(r)}`,`A ${i} ${i} 0 0 0 ${h(a)} ${h(r+i)}`,`L ${h(a)} ${h(n-i)}`,`A ${i} ${i} 0 0 0 ${h(a+i)} ${h(n)}`,`L ${h(s)} ${h(n)}`,"Z"].join(" ");return Q("path",{d:c,fill:e})}function JG(t,e){let r=t.pillTopY+S_,n=HP(t),i,o;return t.pillMode==="center"?(i=t.x,o="middle"):t.pillMode==="flag-right"?(i=n+nc,o="start"):(i=n-nc,o="end"),Oe({x:h(i),y:h(r),"font-family":We.sans,"font-size":Nu,"font-weight":700,fill:e,"text-anchor":o},t.label)}function QG(t,e,r,n){let i=[],o=MP(r,t.style.shadow);i.push(qG(t.box.x,t.box.y,t.box.width,t.box.height,t.style,{filter:o??null}));let s=XG(t.style.bg,n),a={done:s.done,"in-progress":s.inProgress,"at-risk":s.atRisk,blocked:s.blocked,planned:s.planned,neutral:s.neutral},c=a[t.status]??a.neutral;if(t.progressFraction>0){let g=Math.max(0,Math.min(t.box.width,t.box.width*t.progressFraction));i.push(Q("rect",{x:h(t.box.x),y:h(t.box.y+t.box.height-vn),width:h(g),height:vn,fill:t.style.fg,opacity:.55}))}let l=t.dotSpills&&t.dotSpillCx!==null?t.dotSpillCx:t.box.x+t.box.width-12;i.push(Q("circle",{cx:h(l),cy:h(t.box.y+12),r:5,fill:c})),i.push(vE(t.inlineDatePins,t.style.fg));let u;t.textSpills?(u=t.box.x+t.box.width+6,t.iconSpills&&(u+=18)):u=t.box.x+12;let f=t.style.text,d=n.entities.item.text,p=t.textSpills?d:f,m=t.textSpills?d:t.style.fg;if(t.title&&i.push(Oe({x:h(u),y:h(t.box.y+20),"font-family":We[t.style.font],"font-size":13,"font-weight":600,fill:p},t.title)),(t.metaText||t.capacity)&&i.push(jG({metaText:t.metaText,capacity:t.capacity,x:u,baselineY:t.box.y+38,fontSize:11,fontFamily:We[t.style.font],color:m})),t.footnoteIndicators.length>0){let g=t.box.y+14;if(t.footnoteSpills&&t.footnoteSpillStartX!==null){let v=t.footnoteSpillStartX;for(let T=0;T<t.footnoteIndicators.length;T++){let _=t.footnoteIndicators[T];i.push(Oe({x:h(v),y:h(g),"font-family":We.sans,"font-size":10,"font-weight":700,fill:d},String(_))),v+=8}}else{let v=t.box.x+t.box.width-22;for(let T=t.footnoteIndicators.length-1;T>=0;T--){let _=t.footnoteIndicators[T];i.push(Oe({x:h(v),y:h(g),"font-family":We.sans,"font-size":10,"font-weight":700,fill:t.style.text,"text-anchor":"end"},String(_))),v-=8}}}if(!e.noLinks&&t.linkIcon&&t.linkIcon!=="none"){let g={linear:"#5e6ad2",github:"#0f172a",jira:"#0052cc",generic:n.item.linkIconFg},v=g[t.linkIcon]??g.generic,T=14,_=t.iconSpills&&t.iconSpillX!==null?t.iconSpillX:t.box.x+6,E=t.box.y+6,I=Q("rect",{x:h(_),y:h(E),width:T,height:T,rx:2,ry:2,fill:v}),D=_,k=E,B=Q("path",{d:`M${h(D+4)} ${h(k+10)} L${h(D+10)} ${h(k+4)} M${h(D+6)} ${h(k+4)} H${h(D+10)} V${h(k+8)}`,stroke:"#ffffff",fill:"none","stroke-width":1.1,"stroke-linecap":"round","stroke-linejoin":"round"}),U=I+B,z=t.linkHref?Q("a",{href:t.linkHref,target:"_blank",rel:"noopener"},U):U;i.push(z)}if(t.hasOverflow&&t.overflowBox){let g=n.item.overflowTailFill,v=n.item.overflowTailStroke,T=n.item.overflowCaption;i.push(Q("rect",{x:h(t.overflowBox.x),y:h(t.overflowBox.y),width:h(t.overflowBox.width),height:h(t.overflowBox.height),fill:g,stroke:v,"stroke-width":1})),t.overflowAnchorId&&t.overflowBox.width>60&&i.push(Oe({x:h(t.overflowBox.x+t.overflowBox.width/2),y:h(t.overflowBox.y+t.overflowBox.height/2+3),"font-family":We.sans,"font-size":9,"font-weight":700,fill:T,"text-anchor":"middle"},`past ${t.overflowAnchorId}`))}for(let g of t.labelChips){let v=Math.min(gh[g.style.cornerRadius]??8,g.box.height/2);i.push(Q("rect",{x:h(g.box.x),y:h(g.box.y),width:h(g.box.width),height:h(g.box.height),rx:h(v),ry:h(v),fill:g.style.bg==="none"?"transparent":g.style.bg,stroke:g.style.fg,"stroke-width":.5})),i.push(Oe({x:h(g.box.x+g.box.width/2),y:h(g.box.y+g.box.height/2+3),...EE(g.style,tc.xs),"text-anchor":"middle"},g.text))}return Q("g",{"data-layer":"item","data-id":t.id??null},i.join(""))}function eX(t,e,r,n){let i=[];if(t.style.bg!=="none"&&t.style.bg!=="#ffffff"){if(i.push(Q("rect",{x:h(t.box.x),y:h(t.box.y),width:h(t.box.width),height:h(t.box.height),rx:6,ry:6,fill:t.style.bg,stroke:t.style.fg,"stroke-width":1,"fill-opacity":.18,filter:`url(#${r}-shadow-subtle)`})),t.title){let s=t.title.length*R_+2*_h,a=t.box.x,c=t.box.y,l=ku,u=6,f=`M${h(a+u)} ${h(c)}H${h(a+s)}V${h(c+l-u)}A${u} ${u} 0 0 1 ${h(a+s-u)} ${h(c+l)}H${h(a)}V${h(c+u)}A${u} ${u} 0 0 1 ${h(a+u)} ${h(c)}Z`;i.push(Q("path",{d:f,fill:t.style.fg})),i.push(Oe({x:h(a+_h),y:h(c+E_),"font-family":We[t.style.font],"font-size":v_,"font-weight":600,fill:"#ffffff"},t.title))}}else{let s=t.style.fg;if(t.style.bracket!=="none"){let c=t.box.y+t.box.height,l=t.style.bracket==="dashed"?"3 2":null,u=t.title?`M${h(t.box.x+4)} ${h(t.box.y-rc)} L${h(t.box.x)} ${h(t.box.y-rc)} L${h(t.box.x)} ${h(c)} L${h(t.box.x+4)} ${h(c)}`:`M${h(t.box.x)} ${h(t.box.y)} L${h(t.box.x)} ${h(c)} L${h(t.box.x+4)} ${h(c)}`;i.push(Q("path",{d:u,fill:"none",stroke:s,"stroke-width":1,"stroke-dasharray":l}))}t.title&&i.push(Oe({x:h(t.box.x+6),y:h(t.box.y-2),...EE(t.style,tc.xs),"fill-opacity":.7},t.title))}i.push(vE(t.inlineDatePins,t.style.fg));for(let s of t.children)i.push(RE(s,e,r,n));return Q("g",{"data-layer":"group","data-id":t.id??null},i.join(""))}function tX(t,e,r,n){let i=[];if(t.style.bracket==="solid"||t.style.bracket==="dashed"){let a=t.box.y-12,c=t.box.y+t.box.height+12,l=t.box.x,u=t.box.x+t.box.width,f=n.parallel.bracketStroke;i.push(Q("path",{d:`M${h(l+4)} ${h(a)} H${h(l)} V${h(c)} H${h(l+4)}`,fill:"none",stroke:f,"stroke-width":1.25,"stroke-dasharray":t.style.bracket==="dashed"?"3 3":null,"stroke-linejoin":"round"})),i.push(Q("path",{d:`M${h(u-4)} ${h(a)} H${h(u)} V${h(c)} H${h(u-4)}`,fill:"none",stroke:f,"stroke-width":1.25,"stroke-dasharray":t.style.bracket==="dashed"?"3 3":null,"stroke-linejoin":"round"}))}t.title&&i.push(Oe({x:h(t.box.x+4),y:h(t.box.y-2),...EE(t.style,tc.xs),"fill-opacity":.7},t.title)),i.push(vE(t.inlineDatePins,t.style.fg));for(let o of t.children)i.push(RE(o,e,r,n));return Q("g",{"data-layer":"parallel","data-id":t.id??null},i.join(""))}function RE(t,e,r,n){return t.kind==="item"?QG(t,e,r,n):t.kind==="group"?eX(t,e,r,n):tX(t,e,r,n)}var BP=2;function rX(t,e){switch(t){case"green":return e.swimlane.utilizationOk;case"yellow":return e.swimlane.utilizationWarn;case"red":return e.swimlane.utilizationOver}}function nX(t,e){if(!t.utilization||t.utilization.segments.length===0)return"";let r=t.box.y+t.box.height-BP,n=t.utilization.segments.map(i=>{let o=i.endX-i.startX;return o<=0?"":Q("rect",{x:h(i.startX),y:h(r),width:h(o),height:BP,fill:rX(i.classification,e),"data-utilization":i.classification,"data-load":h(i.load)})});return Q("g",{"data-layer":"lane-utilization","data-id":t.id??null},n.join(""))}function iX(t,e){let r=t.bandIndex%2===0?e.swimlane.rowTintEven:e.swimlane.rowTintOdd,n=e.swimlane.border;return Q("g",{"data-layer":"swimlane-bg","data-id":t.id??null},Q("rect",{x:h(t.box.x),y:h(t.box.y),width:h(t.box.width),height:h(t.box.height),fill:r,stroke:n,"stroke-width":1}))}function jP(t,e,r,n){let i=n.swimlane.tabFill,o=n.swimlane.tabStroke,s=n.swimlane.tabText,a=n.swimlane.ownerText,c=n.swimlane.footnoteIndicator,l=[];if(t.title){let f=t.capacity?qo(t.capacity.text,t.capacity.icon,10):0,d=t.footnoteIndicators.length>0?t.footnoteIndicators.join(","):"",p=d?_E(d,10):0,m=Eu(t.box.x,t.title,t.owner,f,p),g=xh,v=t.box.y+10,T=v+Th;l.push(Q("rect",{x:h(m.tabX),y:h(v),width:h(m.tabW),height:h(g),rx:4,ry:4,fill:i,stroke:o,"stroke-width":1})),l.push(Oe({x:h(m.titleX),y:h(T),"font-family":We[t.style.font],"font-size":12,"font-weight":600,fill:s},t.title)),t.owner&&l.push(Oe({x:h(m.ownerX),y:h(T),"font-family":We[t.style.font],"font-size":10,fill:a},`owner: ${t.owner}`)),t.capacity&&l.push(XP(t.capacity,void 0,m.badgeX,T,10,We[t.style.font],a)),d&&l.push(Oe({x:h(m.footnoteRightX),y:h(v+14),"font-family":We.sans,"font-size":10,"font-weight":700,fill:c,"text-anchor":"end"},d))}for(let u of t.children)l.push(RE(u,e,r,n));return l.push(nX(t,n)),Q("g",{"data-layer":"swimlane","data-id":t.id??null},l.join(""))}function oX(t,e){let r=t.radius,n=t.center.x,i=t.center.y,o=e.anchorDiamond.fill,s=e.anchorDiamond.stroke,a=Q("path",{d:`M${h(n)} ${h(i-r)} L${h(n+r)} ${h(i)} L${h(n)} ${h(i+r)} L${h(n-r)} ${h(i)} Z`,fill:o,stroke:s,"stroke-width":1.25}),c=e.anchorDiamond.label,l=t.labelSide==="left"?t.labelBox.x+t.labelBox.width:t.labelBox.x,u={x:h(l),y:h(i+4),"font-family":We.sans,"font-size":10,fill:c};t.labelSide==="left"&&(u["text-anchor"]="end");let f=t.title?Oe(u,t.title):"";return Q("g",{"data-layer":"anchor","data-id":t.id??null},a+f)}function sX(t,e){let r=e.anchorDiamond.cutLine;return Q("line",{x1:h(t.center.x),y1:h(t.center.y+t.radius+1),x2:h(t.center.x),y2:h(t.cutBottomY),stroke:r,"stroke-width":1,"stroke-dasharray":"1 3"})}function aX(t,e){let r=t.center.x,n=t.center.y,i=t.radius,o=e.milestoneDiamond.fill,s=Q("path",{d:`M${h(r)} ${h(n-i)} L${h(r+i)} ${h(n)} L${h(r)} ${h(n+i)} L${h(r-i)} ${h(n)} Z`,fill:o,stroke:o,"stroke-width":1}),a=e.milestoneDiamond.label,c=t.labelSide==="left"?t.labelBox.x+t.labelBox.width:t.labelBox.x,l={x:h(c),y:h(n+4),"font-family":We.sans,"font-size":10,"font-weight":600,fill:a};t.labelSide==="left"&&(l["text-anchor"]="end");let u=t.title?Oe(l,t.title):"";return Q("g",{"data-layer":"milestone","data-id":t.id??null},s+u)}function cX(t,e){let r=t.isOverrun?e.milestoneDiamond.cutLineOverrun:e.milestoneDiamond.cutLineNormal,n=[];if(n.push(Q("line",{x1:h(t.center.x),y1:h(t.center.y+t.radius+1),x2:h(t.center.x),y2:h(t.cutBottomY),stroke:r,"stroke-width":2,"stroke-dasharray":Eh,"stroke-linecap":"round"})),t.slackArrows&&t.slackArrows.length>0){let i=e.milestoneDiamond.slack;for(let o of t.slackArrows)n.push(Q("path",{d:`M${h(o.x)} ${h(o.y)} H${h(t.center.x-6)}`,fill:"none",stroke:i,"stroke-width":1.1,"stroke-dasharray":"3 3","stroke-linecap":"round","marker-end":"url(#nl-arrow-dark)"}))}return n.join("")}function GP(t,e){let r=t.kind==="overflow"?e.dependency.overflowStroke:e.dependency.edgeStroke,n=t.waypoints;if(n.length<2)return"";let i=t.kind==="underBar"?.8:1.1;return Q("path",{d:lX(n,L_),fill:"none",stroke:r,"stroke-width":i,"stroke-dasharray":t.kind==="overflow"?"4 2":null,"stroke-linejoin":"round","marker-end":"url(#nl-arrow)"})}function lX(t,e){if(t.length<2)return"";let r=[`M${h(t[0].x)} ${h(t[0].y)}`];for(let n=1;n<t.length;n++){let i=t[n-1],o=t[n];if(n===t.length-1){r.push(`L${h(o.x)} ${h(o.y)}`);continue}let s=t[n+1],a=Math.sign(o.x-i.x),c=Math.sign(o.y-i.y),l=Math.sign(s.x-o.x),u=Math.sign(s.y-o.y),f=Math.hypot(o.x-i.x,o.y-i.y),d=Math.hypot(s.x-o.x,s.y-o.y),p=Math.min(e,f/2,d/2);if(p<=0||a!==0&&l!==0||c!==0&&u!==0){r.push(`L${h(o.x)} ${h(o.y)}`);continue}let m={x:o.x-a*p,y:o.y-c*p},g={x:o.x+l*p,y:o.y+u*p};r.push(`L${h(m.x)} ${h(m.y)}`),r.push(`Q${h(o.x)} ${h(o.y)} ${h(g.x)} ${h(g.y)}`)}return r.join(" ")}function uX(t,e,r){if(t.entries.length===0)return"";let n=r.footnotePanel.fill,i=r.footnotePanel.border,o=r.footnotePanel.header,s=r.footnotePanel.title,a=r.footnotePanel.description,c=r.footnotePanel.number,l=[];l.push(Q("rect",{x:h(t.box.x),y:h(t.box.y),width:h(t.box.width),height:h(t.box.height),rx:6,ry:6,fill:n,stroke:i,"stroke-width":1,filter:`url(#${e}-shadow-subtle)`})),l.push(Oe({x:h(t.box.x+Qr),y:h(t.box.y+k_),"font-family":We.sans,"font-size":12,"font-weight":700,fill:o},"Footnotes"));let u=t.box.y+Pu+Qr,f=t.box.x+Qr,d=f+Qr;return t.entries.forEach((p,m)=>{let g=u+m*Cu;l.push(Oe({x:h(f),y:h(g),"font-family":We.sans,"font-size":10,"font-weight":700,fill:c},String(p.number))),l.push(Oe({x:h(d),y:h(g),"font-family":We.sans,"font-size":11,"font-weight":600,fill:s},p.title)),p.description&&l.push(Oe({x:h(d+Math.max(120,p.title.length*6)),y:h(g),"font-family":We.sans,"font-size":11,fill:a},`\u2014 ${p.description}`))}),Q("g",{"data-layer":"footnotes"},l.join(""))}function fX(t,e,r,n){let i=n.includeRegion.border,o=n.includeRegion.fill,s=n.includeRegion.tabFill,a=n.includeRegion.tabStroke,c=n.includeRegion.tabText,l=n.includeRegion.badgeFill,u=n.includeRegion.badgeStroke,f=n.includeRegion.badgeText,d=t.box.x+8,p=t.box.y,m=t.box.width-16,g=t.box.height,v=Q("rect",{x:h(d),y:h(p),width:h(m),height:h(g),rx:8,ry:8,fill:o,stroke:i,"stroke-width":1,"stroke-dasharray":Eh}),T=xh,_=vu(t.box.x,t.label,t.sourcePath),E=p-T/2,I=Q("rect",{x:h(_.tabX),y:h(E),width:h(_.tabWidth),height:T,rx:4,ry:4,fill:s,stroke:a,"stroke-width":1}),D=Oe({x:h(_.tabLabelX),y:h(E+Th),"font-family":We.sans,"font-size":11,"font-weight":600,fill:c},t.label),k=_.badgeX,B=_.badgeSize,U=p-B/2,z=Q("rect",{x:h(k),y:h(U),width:B,height:B,rx:4,ry:4,fill:l,stroke:u,"stroke-width":1}),le=Q("path",{d:`M${h(k+7)} ${h(U+4)} H${h(k+14)} V${h(U+11)} M${h(k+4)} ${h(U+7)} H${h(k+11)} V${h(U+14)} H${h(k+4)} Z`,stroke:f,"stroke-width":1.4,fill:"none","stroke-linecap":"round","stroke-linejoin":"round"}),O=9,R=p+4,L=Q("rect",{x:h(_.sourceHaloX),y:h(R-O),width:h(_.sourceHaloWidth),height:O+6,fill:o}),$=Oe({x:h(_.sourceTextX),y:h(R),"font-family":We.mono,"font-size":O,fill:f},t.sourcePath),b=t.nestedSwimlanes.map(A=>jP(A,e,r,n)).join("");return Q("g",{"data-layer":"include"},v+b+I+D+z+le+L+$)}function dX(t){let e=t.palette.attribution.mark,r=t.palette.attribution.link;if(t.swimlanes.length===0)return"";let n=t.header.attributionBox.x,i=t.header.attributionBox.y,o=ji,s=Oe({x:"0",y:o,"font-family":We.sans,"font-size":bh,"font-weight":400,fill:e},wh)+Oe({x:Lu,y:o,"font-family":We.sans,"font-size":ji,"font-weight":700,fill:e},"now")+Q("rect",{x:P_,y:12,width:C_,height:ji,fill:r})+Oe({x:Ah,y:o,"font-family":We.sans,"font-size":ji,"font-weight":400,fill:e},"ine"),a=Q("g",{transform:`translate(${h(n)} ${h(i)}) scale(${h(Ou)})`},s);return Q("a",{href:N_,target:"_blank",rel:"noopener","aria-label":"Powered by nowline"},Q("g",{"data-layer":"attribution"},a))}async function pX(t,e,r,n,i,o,s){if(!e)return"";let a;try{a=await e(t)}catch(u){let f=`logo: failed to load ${t}: ${u instanceof Error?u.message:String(u)}`;if(n.strict)throw u;return n.warn?.(f),""}let c=(a.mime??"").toLowerCase();if(c==="image/svg+xml"){let u=new TextDecoder().decode(a.bytes),f=OP(u,{idPrefix:`${r}-logo`,onWarn:n.warn});return Q("g",{transform:`translate(${h(i)} ${h(o)})`},f)}if(c==="image/png"||c==="image/jpeg"||c==="image/jpg"||c==="image/webp"){let u=hX(a.bytes);return Q("image",{href:`data:${c};base64,${u}`,x:h(i),y:h(o),width:h(s),height:h(s),preserveAspectRatio:"xMidYMid meet"})}let l=`logo: unsupported mime ${c} for ${t}`;if(n.strict)throw new Error(l);return n.warn?.(l),""}function hX(t){if(typeof btoa<"u"){let r="";for(let n=0;n<t.length;n++)r+=String.fromCharCode(t[n]);return btoa(r)}let e=globalThis;if(e.Buffer)return e.Buffer.from(t).toString("base64");throw new Error("renderer: no base64 encoder available")}async function wE(t,e={}){let n=new om(e.idPrefix??"nl").next("root"),i=t.palette,o=[],s=i.arrowhead.neutral,a=i.arrowhead.light,c=i.arrowhead.dark,l=(d,p)=>`<marker id="${d}" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto"><path d="M 0 0 L 10 5 L 0 10 z" fill="${p}"/></marker>`,u=`<defs>${FP(n)}`+l("nl-arrow",s)+l("nl-arrow-light",a)+l("nl-arrow-dark",c)+"</defs>";o.push(u),o.push(Q("rect",{x:0,y:0,width:h(t.width),height:h(t.height),fill:t.backgroundColor})),o.push(YG(t.timeline,i));for(let d of t.swimlanes)o.push(iX(d,i));o.push(VG(t.timeline,t.chartBox.y,i));for(let d of t.edges)d.kind==="underBar"&&o.push(GP(d,i));for(let d of t.swimlanes)o.push(jP(d,e,n,i));for(let d of t.includes)o.push(fX(d,e,n,i));for(let d of t.edges)d.kind!=="underBar"&&o.push(GP(d,i));for(let d of t.anchors)o.push(sX(d,i));for(let d of t.milestones)o.push(cX(d,i));for(let d of t.anchors)o.push(oX(d,i));for(let d of t.milestones)o.push(aX(d,i));if(o.push(KG(t.nowline,i)),o.push(uX(t.footnotes,n,i)),o.push(WG(t.header,n,i)),o.push(dX(t)),t.header.logo&&e.assetResolver){let d=await pX(t.header.logo.assetRef??"",e.assetResolver,n,e,t.header.logo.box.x,t.header.logo.box.y,Math.max(t.header.logo.box.width,t.header.logo.box.height));d&&o.push(d)}return`<svg${xc({xmlns:"http://www.w3.org/2000/svg",viewBox:`0 0 ${h(t.width)} ${h(t.height)}`,width:h(t.width),height:h(t.height),"data-theme":t.theme,"data-generator":"nowline"})}>${o.join("")}</svg>`}var bE="/browser-source.nowline",sm,zP=0;function qP(){return sm||(sm=g_()),sm}function mX(){return gt.parse(`memory:///nowline-browser-${++zP}.nowline`)}async function am(t,e={}){let r=e.filePath??bE,n=qP(),o=n.shared.workspace.LangiumDocumentFactory.fromString(t,mX());await n.shared.workspace.DocumentBuilder.build([o],{validation:!0});let s=[];for(let a of o.parseResult.lexerErrors)s.push(zE(a,r));for(let a of o.parseResult.parserErrors)s.push(jE(a,r));for(let a of o.diagnostics??[])s.push(HE(a,r));return{ast:o.parseResult.value,diagnostics:s}}async function AE(t,e={}){let r=e.filePath??bE,n=await am(t,{filePath:r});if(n.diagnostics.some(g=>g.severity==="error"))return{kind:"diagnostics",diagnostics:n.diagnostics};let i=qP(),o=e.readFile??YE,s=await o_(n.ast,r,{services:i.Nowline,readFile:o}),a=[...n.diagnostics];for(let g of s.diagnostics){if(g.severity==="error"&&KE(g.message)){e.onSkippedInclude?.({sourcePath:g.sourcePath,message:g.message});continue}a.push(qE(g))}if(a.some(g=>g.severity==="error"))return{kind:"diagnostics",diagnostics:a};let c=e.today===null?void 0:e.today,l=TE(n.ast,s,{theme:e.theme,today:c,locale:e.locale,width:e.width}),u=e.showLinks!==!1,f=e.strict===!0,d=[],p=await wE(l,{idPrefix:e.idPrefix,assetResolver:e.assetResolver,noLinks:!u,strict:f,warn:g=>d.push(g)}),m=d.map(g=>WE(g,r,f?"error":"warning"));return f&&m.length>0?{kind:"diagnostics",diagnostics:[...a,...m]}:{kind:"svg",svg:p,warnings:m}}function SE(){sm=void 0,zP=0}var WP="/embed.nowline",IE=!1;async function VP(t){let{ast:e,diagnostics:r}=await am(t,{filePath:WP});return{ast:e,errors:r.filter(n=>n.severity==="error").map(n=>n.message)}}async function cm(t,e={}){let r={filePath:WP,theme:e.theme,today:e.today,locale:e.locale,width:e.width,idPrefix:e.idPrefix,onSkippedInclude:()=>{IE||(IE=!0,console.warn("nowline: `include` directives are skipped in the browser embed (single-file mode). Render multi-file roadmaps with the CLI or the GitHub Action."))}},n=await AE(t,r);if(n.kind==="svg")return n.svg;let i=n.diagnostics.filter(o=>o.severity==="error").map(o=>o.message);throw new Yu(`Failed to render Nowline source: ${i.join("; ")}`,i)}var Yu=class extends Error{constructor(r,n){super(r);fe(this,"details",n);this.name="EmbedRenderError"}};function YP(){IE=!1,SE()}var rn=Uint8Array,Tr=Uint16Array,OE=Int32Array,LE=new rn([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),DE=new rn([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),KP=new rn([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),eC=function(t,e){for(var r=new Tr(31),n=0;n<31;++n)r[n]=e+=1<<t[n-1];for(var i=new OE(r[30]),n=1;n<30;++n)for(var o=r[n];o<r[n+1];++o)i[o]=o-r[n]<<5|n;return{b:r,r:i}},tC=eC(LE,2),gX=tC.b,NE=tC.r;gX[28]=258,NE[258]=28;var rC=eC(DE,0),Cse=rC.b,ZP=rC.r,PE=new Tr(32768);for(Me=0;Me<32768;++Me)Jn=(Me&43690)>>1|(Me&21845)<<1,Jn=(Jn&52428)>>2|(Jn&13107)<<2,Jn=(Jn&61680)>>4|(Jn&3855)<<4,PE[Me]=((Jn&65280)>>8|(Jn&255)<<8)>>1;var Jn,Me,Ju=(function(t,e,r){for(var n=t.length,i=0,o=new Tr(e);i<n;++i)t[i]&&++o[t[i]-1];var s=new Tr(e);for(i=1;i<e;++i)s[i]=s[i-1]+o[i-1]<<1;var a;if(r){a=new Tr(1<<e);var c=15-e;for(i=0;i<n;++i)if(t[i])for(var l=i<<4|t[i],u=e-t[i],f=s[t[i]-1]++<<u,d=f|(1<<u)-1;f<=d;++f)a[PE[f]>>c]=l}else for(a=new Tr(n),i=0;i<n;++i)t[i]&&(a[i]=PE[s[t[i]-1]++]>>15-t[i]);return a}),os=new rn(288);for(Me=0;Me<144;++Me)os[Me]=8;var Me;for(Me=144;Me<256;++Me)os[Me]=9;var Me;for(Me=256;Me<280;++Me)os[Me]=7;var Me;for(Me=280;Me<288;++Me)os[Me]=8;var Me,lm=new rn(32);for(Me=0;Me<32;++Me)lm[Me]=5;var Me,yX=Ju(os,9,0);var xX=Ju(lm,5,0);var nC=function(t){return(t+7)/8|0},TX=function(t,e,r){return(e==null||e<0)&&(e=0),(r==null||r>t.length)&&(r=t.length),new rn(t.subarray(e,r))};var Qn=function(t,e,r){r<<=e&7;var n=e/8|0;t[n]|=r,t[n+1]|=r>>8},Ku=function(t,e,r){r<<=e&7;var n=e/8|0;t[n]|=r,t[n+1]|=r>>8,t[n+2]|=r>>16},kE=function(t,e){for(var r=[],n=0;n<t.length;++n)t[n]&&r.push({s:n,f:t[n]});var i=r.length,o=r.slice();if(!i)return{t:oC,l:0};if(i==1){var s=new rn(r[0].s+1);return s[r[0].s]=1,{t:s,l:1}}r.sort(function(D,k){return D.f-k.f}),r.push({s:-1,f:25001});var a=r[0],c=r[1],l=0,u=1,f=2;for(r[0]={s:-1,f:a.f+c.f,l:a,r:c};u!=i-1;)a=r[r[l].f<r[f].f?l++:f++],c=r[l!=u&&r[l].f<r[f].f?l++:f++],r[u++]={s:-1,f:a.f+c.f,l:a,r:c};for(var d=o[0].s,n=1;n<i;++n)o[n].s>d&&(d=o[n].s);var p=new Tr(d+1),m=CE(r[u-1],p,0);if(m>e){var n=0,g=0,v=m-e,T=1<<v;for(o.sort(function(k,B){return p[B.s]-p[k.s]||k.f-B.f});n<i;++n){var _=o[n].s;if(p[_]>e)g+=T-(1<<m-p[_]),p[_]=e;else break}for(g>>=v;g>0;){var E=o[n].s;p[E]<e?g-=1<<e-p[E]++-1:++n}for(;n>=0&&g;--n){var I=o[n].s;p[I]==e&&(--p[I],++g)}m=e}return{t:new rn(p),l:m}},CE=function(t,e,r){return t.s==-1?Math.max(CE(t.l,e,r+1),CE(t.r,e,r+1)):e[t.s]=r},JP=function(t){for(var e=t.length;e&&!t[--e];);for(var r=new Tr(++e),n=0,i=t[0],o=1,s=function(c){r[n++]=c},a=1;a<=e;++a)if(t[a]==i&&a!=e)++o;else{if(!i&&o>2){for(;o>138;o-=138)s(32754);o>2&&(s(o>10?o-11<<5|28690:o-3<<5|12305),o=0)}else if(o>3){for(s(i),--o;o>6;o-=6)s(8304);o>2&&(s(o-3<<5|8208),o=0)}for(;o--;)s(i);o=1,i=t[a]}return{c:r.subarray(0,n),n:e}},Zu=function(t,e){for(var r=0,n=0;n<e.length;++n)r+=t[n]*e[n];return r},iC=function(t,e,r){var n=r.length,i=nC(e+2);t[i]=n&255,t[i+1]=n>>8,t[i+2]=t[i]^255,t[i+3]=t[i+1]^255;for(var o=0;o<n;++o)t[i+o+4]=r[o];return(i+4+n)*8},QP=function(t,e,r,n,i,o,s,a,c,l,u){Qn(e,u++,r),++i[256];for(var f=kE(i,15),d=f.t,p=f.l,m=kE(o,15),g=m.t,v=m.l,T=JP(d),_=T.c,E=T.n,I=JP(g),D=I.c,k=I.n,B=new Tr(19),U=0;U<_.length;++U)++B[_[U]&31];for(var U=0;U<D.length;++U)++B[D[U]&31];for(var z=kE(B,7),le=z.t,O=z.l,R=19;R>4&&!le[KP[R-1]];--R);var L=l+5<<3,$=Zu(i,os)+Zu(o,lm)+s,b=Zu(i,d)+Zu(o,g)+s+14+3*R+Zu(B,le)+2*B[16]+3*B[17]+7*B[18];if(c>=0&&L<=$&&L<=b)return iC(e,u,t.subarray(c,c+l));var A,S,M,X;if(Qn(e,u,1+(b<$)),u+=2,b<$){A=Ju(d,p,0),S=d,M=Ju(g,v,0),X=g;var F=Ju(le,O,0);Qn(e,u,E-257),Qn(e,u+5,k-1),Qn(e,u+10,R-4),u+=14;for(var U=0;U<R;++U)Qn(e,u+3*U,le[KP[U]]);u+=3*R;for(var W=[_,D],K=0;K<2;++K)for(var pe=W[K],U=0;U<pe.length;++U){var V=pe[U]&31;Qn(e,u,F[V]),u+=le[V],V>15&&(Qn(e,u,pe[U]>>5&127),u+=pe[U]>>12)}}else A=yX,S=os,M=xX,X=lm;for(var U=0;U<a;++U){var ee=n[U];if(ee>255){var V=ee>>18&31;Ku(e,u,A[V+257]),u+=S[V+257],V>7&&(Qn(e,u,ee>>23&31),u+=LE[V]);var Le=ee&31;Ku(e,u,M[Le]),u+=X[Le],Le>3&&(Ku(e,u,ee>>5&8191),u+=DE[Le])}else Ku(e,u,A[ee]),u+=S[ee]}return Ku(e,u,A[256]),u+S[256]},_X=new OE([65540,131080,131088,131104,262176,1048704,1048832,2114560,2117632]),oC=new rn(0),EX=function(t,e,r,n,i,o){var s=o.z||t.length,a=new rn(n+s+5*(1+Math.ceil(s/7e3))+i),c=a.subarray(n,a.length-i),l=o.l,u=(o.r||0)&7;if(e){u&&(c[0]=o.r>>3);for(var f=_X[e-1],d=f>>13,p=f&8191,m=(1<<r)-1,g=o.p||new Tr(32768),v=o.h||new Tr(m+1),T=Math.ceil(r/3),_=2*T,E=function(xe){return(t[xe]^t[xe+1]<<T^t[xe+2]<<_)&m},I=new OE(25e3),D=new Tr(288),k=new Tr(32),B=0,U=0,z=o.i||0,le=0,O=o.w||0,R=0;z+2<s;++z){var L=E(z),$=z&32767,b=v[L];if(g[$]=b,v[L]=$,O<=z){var A=s-z;if((B>7e3||le>24576)&&(A>423||!l)){u=QP(t,c,0,I,D,k,U,le,R,z-R,u),le=B=U=0,R=z;for(var S=0;S<286;++S)D[S]=0;for(var S=0;S<30;++S)k[S]=0}var M=2,X=0,F=p,W=$-b&32767;if(A>2&&L==E(z-W))for(var K=Math.min(d,A)-1,pe=Math.min(32767,z),V=Math.min(258,A);W<=pe&&--F&&$!=b;){if(t[z+M]==t[z+M-W]){for(var ee=0;ee<V&&t[z+ee]==t[z+ee-W];++ee);if(ee>M){if(M=ee,X=W,ee>K)break;for(var Le=Math.min(W,ee-2),Fe=0,S=0;S<Le;++S){var Ue=z-W+S&32767,q=g[Ue],J=Ue-q&32767;J>Fe&&(Fe=J,b=Ue)}}}$=b,b=g[$],W+=$-b&32767}if(X){I[le++]=268435456|NE[M]<<18|ZP[X];var te=NE[M]&31,P=ZP[X]&31;U+=LE[te]+DE[P],++D[257+te],++k[P],O=z+M,++B}else I[le++]=t[z],++D[t[z]]}}for(z=Math.max(z,O);z<s;++z)I[le++]=t[z],++D[t[z]];u=QP(t,c,l,I,D,k,U,le,R,z-R,u),l||(o.r=u&7|c[u/8|0]<<3,u-=7,o.h=v,o.p=g,o.i=z,o.w=O)}else{for(var z=o.w||0;z<s+l;z+=65535){var ge=z+65535;ge>=s&&(c[u/8|0]=l,ge=s),u=iC(c,u+1,t.subarray(z,ge))}o.i=s}return TX(a,0,n+nC(u)+i)};var sC=function(){var t=1,e=0;return{p:function(r){for(var n=t,i=e,o=r.length|0,s=0;s!=o;){for(var a=Math.min(s+2655,o);s<a;++s)i+=n+=r[s];n=(n&65535)+15*(n>>16),i=(i&65535)+15*(i>>16)}t=n,e=i},d:function(){return t%=65521,e%=65521,(t&255)<<24|(t&65280)<<8|(e&255)<<8|e>>8}}},vX=function(t,e,r,n,i){if(!i&&(i={l:1},e.dictionary)){var o=e.dictionary.subarray(-32768),s=new rn(o.length+t.length);s.set(o),s.set(t,o.length),t=s,i.w=o.length}return EX(t,e.level==null?6:e.level,e.mem==null?i.l?Math.ceil(Math.max(8,Math.min(13,Math.log(t.length)))*1.5):20:12+e.mem,r,n,i)};var aC=function(t,e,r){for(;r;++e)t[e]=r,r>>>=8};var RX=function(t,e){var r=e.level,n=r==0?0:r<6?1:r==9?3:2;if(t[0]=120,t[1]=n<<6|(e.dictionary&&32),t[1]|=31-(t[0]<<8|t[1])%31,e.dictionary){var i=sC();i.p(e.dictionary),aC(t,2,i.d())}};function cC(t,e){e||(e={});var r=sC();r.p(t);var n=vX(t,e,e.dictionary?6:2,4);return RX(n,e),aC(n,n.length-4,r.d()),n}var wX=typeof TextDecoder<"u"&&new TextDecoder,bX=0;try{wX.decode(oC,{stream:!0}),bX=1}catch{}var AX="https://free.nowline.io/open";function lC(t){let e=new TextEncoder().encode(t),r=cC(e),n=32768,i="";for(let o=0;o<r.length;o+=n)i+=String.fromCharCode(...r.subarray(o,o+n));return btoa(i).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}function fC({source:t,sourceUrl:e,share:r}){if(r===!1||r==="none")return null;if(typeof r=="object")return e!==void 0&&uC(e)?r.remoteUrl.replace("{url}",encodeURIComponent(e)):r.textUrl.replace("{text}",lC(t));let n=r===!0?AX:r,i=new URL(n);return e!==void 0&&uC(e)?i.hash=`url=${encodeURIComponent(e)}`:i.hash=`text=${lC(t)}`,i.toString()}function uC(t){try{return new URL(t).protocol==="https:"}catch{return!1}}var dC=0;async function pC(t){let e=t.document??globalThis.document;if(!e)return{rendered:0,failed:0};let r=e.querySelectorAll(t.selector),n=0,i=0,o=++dC,s=t.share??!0,a=[],c=0;for(let l of Array.from(r)){let u=SX(l);if(!u)continue;let f=IX(l),d=`nl-r${o}-${c++}`,p={theme:t.theme,locale:t.locale,width:t.width,today:t.today,idPrefix:d},m=u.parentElement,g=u.nextSibling,T=l.getAttribute("data-nowline-source-url")??void 0??t.sourceUrl;a.push(cm(f,p).then(_=>{if(kX(u,_),n++,m!==null){let E=fC({source:f,sourceUrl:T,share:s});if(E!==null){let I=e.createElement("a");I.className="nowline-share",I.href=E,I.target="_blank",I.rel="noopener noreferrer",I.textContent="Share on Nowline",m.insertBefore(I,g)}}},_=>{i++,console.error("nowline: render failed",_)}))}return await Promise.all(a),{rendered:n,failed:i}}function SX(t){let e=t.parentElement;return e&&e.tagName.toUpperCase()==="PRE"?e:t}function IX(t){return t.textContent??""}function kX(t,e){t.outerHTML=e}function hC(){dC=0}function um(){if(typeof globalThis>"u")return"light";let t=globalThis.matchMedia;if(typeof t!="function")return"light";try{return t("(prefers-color-scheme: dark)").matches?"dark":"light"}catch{return"light"}}function mC(t,e){return t==="light"||t==="dark"?t:e}var NX=GE,PX=XE,CX="pre code.language-nowline, code.language-nowline",gC={theme:"auto",startOnLoad:!0,selector:CX,systemTheme:um(),share:!0},Et={...gC},$E=!1;function OX(t={}){Et={theme:t.theme??Et.theme,startOnLoad:t.startOnLoad??Et.startOnLoad,selector:t.selector??Et.selector,locale:t.locale??Et.locale,width:t.width??Et.width,today:t.today??Et.today,share:t.share??Et.share,sourceUrl:t.sourceUrl??Et.sourceUrl,systemTheme:um()}}function yC(){return{theme:mC(Et.theme,Et.systemTheme),locale:Et.locale,width:Et.width,today:Et.today}}async function LX(t,e={}){let r={...yC(),...e};return cm(t,r)}async function DX(t){return VP(t)}async function ME(t){let e={selector:t?.selector??Et.selector,theme:t?.theme??yC().theme,locale:t?.locale??Et.locale,width:t?.width??Et.width,today:t?.today??Et.today,share:t?.share??Et.share,sourceUrl:t?.sourceUrl??Et.sourceUrl,document:t?.document};return pC(e)}var $X=ME;if(typeof document<"u"&&!$E){$E=!0;let t=()=>{Et.startOnLoad&&ME()};document.readyState==="loading"?document.addEventListener("DOMContentLoaded",t,{once:!0}):queueMicrotask(t)}function MX(){Et={...gC,systemTheme:um()},$E=!1,YP(),hC()}return tf(FX);})();
|
|
2662
|
+
}`));var wU={languageId:"nowline",fileExtensions:[".nowline"],caseInsensitive:!1,mode:"development"},ek={AstReflection:()=>new gu},tk={Grammar:()=>QI(),LanguageMetaData:()=>wU,parser:{}};var rk={"NL.E0001":()=>"Config section must appear before roadmap.","NL.E0002":()=>"Include declarations must appear before the config section.","NL.E0003":()=>"Include declarations must appear before the roadmap section.","NL.E0004":()=>"At least one swimlane is required.","NL.E0005":t=>`Line ${t.line}: mixed tabs and spaces in indentation. Use either tabs or spaces consistently.`,"NL.E0100":t=>`Invalid version format "${t.version}". Expected format: v1, v2, etc.`,"NL.E0101":t=>`This file requires Nowline ${t.version}, but the parser only supports up to ${t.supported}.`,"NL.E0102":t=>`Unknown directive property "${t.key}". Allowed: ${t.allowed}.`,"NL.E0103":t=>`Duplicate directive property "${t.key}".`,"NL.E0104":t=>`Invalid locale "${t.value}". Use a BCP-47 tag like "en-US", "fr", or "fr-CA".`,"NL.E0200":t=>`Invalid include mode "${t.value}". Must be merge, ignore, or isolate.`,"NL.E0201":t=>`Duplicate "${t.key}" option on include.`,"NL.E0300":t=>`Duplicate identifier "${t.name}". First declared at ${t.location}.`,"NL.E0301":t=>`${t.type} must have an identifier, a title, or both.`,"NL.E0400":t=>`Invalid duration "${t.value}". Use a raw duration literal like 0.5d, 2w, 1m, 2q. Use "size:NAME" to reference a declared size.`,"NL.E0401":t=>`Invalid size "${t.value}". Use the id of a declared size (e.g. xs, m, lg).`,"NL.E0402":t=>`Invalid effort "${t.value}". Use a raw duration literal like 0.5d, 2w, 1m, 2q.`,"NL.E0403":t=>`Invalid remaining value "${t.value}". Use a percentage like 30% or a duration literal like 1w, 0.5d.`,"NL.E0404":t=>`Remaining must be between 0% and 100%, got ${t.value}.`,"NL.E0405":t=>`Invalid ${t.key} "${t.value}". Use ISO 8601 format: YYYY-MM-DD.`,"NL.E0406":t=>`Invalid scale "${t.value}". Use a raw duration literal like 1w, 2w, 1q (no name lookup).`,"NL.E0407":t=>`Invalid calendar "${t.value}". Must be business, full, or custom.`,"NL.E0408":t=>`Property "${t.key}" requires at least one reference.`,"NL.E0410":t=>`"${t.key}:" accepts at most one inline date per direction; collapse the multiple dates to a single binding date or use a declared anchor.`,"NL.E0411":t=>`Inline date in "${t.key}:" is not allowed on ${t.type}. Allowed only on item, parallel, and group; for a milestone use "date:" instead.`,"NL.E0412":t=>`Inline date "${t.date}" in "${t.key}:" requires the roadmap to declare "start:". Add start:YYYY-MM-DD to the roadmap.`,"NL.E0413":t=>`Inline date "${t.date}" in "${t.key}:" is before roadmap start ${t.start}.`,"NL.E0500":t=>`Anchor "${t.name}" requires a "date:" property.`,"NL.E0501":t=>`Anchor "${t.name}" has a date but the roadmap is missing "start:". Add start:YYYY-MM-DD to the roadmap.`,"NL.E0502":t=>`Anchor "${t.name}" date ${t.date} is before roadmap start ${t.start}.`,"NL.E0503":t=>`Milestone "${t.name}" requires at least one of "date:" or "after:".`,"NL.E0504":t=>`Milestone "${t.name}" date ${t.date} is before roadmap start ${t.start}.`,"NL.E0505":()=>'Footnote requires an "on:" property referencing one or more entities.',"NL.E0600":t=>`Item "${t.name}" requires a "size:" or "duration:" property.`,"NL.W0700":t=>`Unknown property "${t.key}" on ${t.entity}. The renderer ignores it.${t.suggested?` Did you mean "${t.suggested}"?`:""}`};var nk={"NL.E0001":()=>"La section config doit pr\xE9c\xE9der la section roadmap.","NL.E0002":()=>"Les d\xE9clarations include doivent pr\xE9c\xE9der la section config.","NL.E0003":()=>"Les d\xE9clarations include doivent pr\xE9c\xE9der la section roadmap.","NL.E0004":()=>"Au moins une swimlane est requise.","NL.E0005":t=>`Ligne ${t.line}\xA0: tabulations et espaces m\xE9lang\xE9s dans l'indentation. Utilisez l'un ou l'autre, mais pas les deux.`,"NL.E0100":t=>`Format de version invalide \xAB\xA0${t.version}\xA0\xBB. Format attendu\xA0: v1, v2, etc.`,"NL.E0101":t=>`Ce fichier requiert Nowline ${t.version}, mais l'analyseur ne prend en charge que jusqu'\xE0 ${t.supported}.`,"NL.E0102":t=>`Propri\xE9t\xE9 de directive inconnue \xAB\xA0${t.key}\xA0\xBB. Valeurs admises\xA0: ${t.allowed}.`,"NL.E0103":t=>`Propri\xE9t\xE9 de directive \xAB\xA0${t.key}\xA0\xBB en double.`,"NL.E0104":t=>`Locale invalide \xAB\xA0${t.value}\xA0\xBB. Utilisez une \xE9tiquette BCP-47 telle que \xAB\xA0en-US\xA0\xBB, \xAB\xA0fr\xA0\xBB ou \xAB\xA0fr-CA\xA0\xBB.`,"NL.E0200":t=>`Mode d'include invalide \xAB\xA0${t.value}\xA0\xBB. Doit \xEAtre merge, ignore ou isolate.`,"NL.E0201":t=>`Option \xAB\xA0${t.key}\xA0\xBB en double sur include.`,"NL.E0300":t=>`Identifiant en double \xAB\xA0${t.name}\xA0\xBB. Premi\xE8re d\xE9claration \xE0 ${t.location}.`,"NL.E0301":t=>`${t.type} doit comporter un identifiant, un titre, ou les deux.`,"NL.E0400":t=>`Dur\xE9e invalide \xAB\xA0${t.value}\xA0\xBB. Utilisez un litt\xE9ral de dur\xE9e brut comme 0.5d, 2w, 1m, 2q. Utilisez \xAB\xA0size:NOM\xA0\xBB pour r\xE9f\xE9rencer une taille d\xE9clar\xE9e.`,"NL.E0401":t=>`Taille invalide \xAB\xA0${t.value}\xA0\xBB. Utilisez l'identifiant d'une taille d\xE9clar\xE9e (p.\xA0ex. xs, m, lg).`,"NL.E0402":t=>`Effort invalide \xAB\xA0${t.value}\xA0\xBB. Utilisez un litt\xE9ral de dur\xE9e brut comme 0.5d, 2w, 1m, 2q.`,"NL.E0403":t=>`Valeur restante invalide \xAB\xA0${t.value}\xA0\xBB. Utilisez un pourcentage tel que 30% ou un litt\xE9ral de dur\xE9e comme 1w, 0.5d.`,"NL.E0404":t=>`La valeur restante doit \xEAtre comprise entre 0 % et 100 %, re\xE7u ${t.value}.`,"NL.E0405":t=>`${t.key} invalide \xAB\xA0${t.value}\xA0\xBB. Utilisez le format ISO 8601\xA0: AAAA-MM-JJ.`,"NL.E0406":t=>`\xC9chelle invalide \xAB\xA0${t.value}\xA0\xBB. Utilisez un litt\xE9ral de dur\xE9e brut comme 1w, 2w, 1q (pas de recherche par nom).`,"NL.E0407":t=>`Calendrier invalide \xAB\xA0${t.value}\xA0\xBB. Doit \xEAtre business, full ou custom.`,"NL.E0408":t=>`La propri\xE9t\xE9 \xAB\xA0${t.key}\xA0\xBB exige au moins une r\xE9f\xE9rence.`,"NL.E0410":t=>`\xAB\xA0${t.key}:\xA0\xBB n'accepte qu'une seule date inline par direction\xA0; regroupez les dates en une seule date contraignante ou utilisez une ancre d\xE9clar\xE9e.`,"NL.E0411":t=>`Une date inline dans \xAB\xA0${t.key}:\xA0\xBB n'est pas autoris\xE9e sur ${t.type}. Autoris\xE9e seulement sur item, parallel et group\xA0; pour un milestone utilisez \xAB\xA0date:\xA0\xBB \xE0 la place.`,"NL.E0412":t=>`La date inline \xAB\xA0${t.date}\xA0\xBB dans \xAB\xA0${t.key}:\xA0\xBB exige que la roadmap d\xE9clare \xAB\xA0start:\xA0\xBB. Ajoutez start:AAAA-MM-JJ \xE0 la roadmap.`,"NL.E0413":t=>`La date inline \xAB\xA0${t.date}\xA0\xBB dans \xAB\xA0${t.key}:\xA0\xBB pr\xE9c\xE8de le d\xE9but de la roadmap (${t.start}).`,"NL.E0500":t=>`L'ancre \xAB\xA0${t.name}\xA0\xBB exige une propri\xE9t\xE9 \xAB\xA0date:\xA0\xBB.`,"NL.E0501":t=>`L'ancre \xAB\xA0${t.name}\xA0\xBB a une date, mais \xAB\xA0start:\xA0\xBB manque sur la roadmap. Ajoutez start:AAAA-MM-JJ \xE0 la roadmap.`,"NL.E0502":t=>`La date ${t.date} de l'ancre \xAB\xA0${t.name}\xA0\xBB pr\xE9c\xE8de le d\xE9but de la roadmap (${t.start}).`,"NL.E0503":t=>`Le jalon \xAB\xA0${t.name}\xA0\xBB exige au moins l'une des propri\xE9t\xE9s \xAB\xA0date:\xA0\xBB ou \xAB\xA0after:\xA0\xBB.`,"NL.E0504":t=>`La date ${t.date} du jalon \xAB\xA0${t.name}\xA0\xBB pr\xE9c\xE8de le d\xE9but de la roadmap (${t.start}).`,"NL.E0505":()=>"Une note de bas de page exige une propri\xE9t\xE9 \xAB\xA0on:\xA0\xBB r\xE9f\xE9ren\xE7ant au moins une entit\xE9.","NL.E0600":t=>`L'\xE9l\xE9ment \xAB\xA0${t.name}\xA0\xBB exige une propri\xE9t\xE9 \xAB\xA0size:\xA0\xBB ou \xAB\xA0duration:\xA0\xBB.`,"NL.W0700":t=>`Propri\xE9t\xE9 inconnue \xAB\xA0${t.key}\xA0\xBB sur ${t.entity}. Le moteur de rendu l'ignore.${t.suggested?` Vouliez-vous dire \xAB\xA0${t.suggested}\xA0\xBB\xA0?`:""}`};var ik={};var ok={};var AU=new Map([["en-US",rk],["fr",nk],["fr-CA",ik],["fr-FR",ok]]);function ak(t,e,...r){for(let n of SU(t)){let o=AU.get(n)?.[e];if(o)return o(...r)}return e}var sk="en-US";function SU(t){let e=[],r=IU(t);for(;r.length>0;){e.includes(r)||e.push(r);let n=r.lastIndexOf("-");if(n<=0)break;r=r.slice(0,n)}return e.includes(sk)||e.push(sk),e}function IU(t){return t.split("-").map((r,n)=>n===0?r.toLowerCase():/^[a-zA-Z]{2}$/.test(r)?r.toUpperCase():r).join("-")}var kU=/[\\/]/;function uk(t){for(let e=t.length-1;e>=0;e--){let r=t.charCodeAt(e);if(r===47||r===92)return e}return-1}function ck(...t){for(let e of t)if(e){if(e.includes("\\")&&!e.includes("/"))return"\\";if(e.includes("/"))return"/"}return"/"}function NU(t){return t?t[0]==="/"||t[0]==="\\"?!0:t.length>=3&&/^[A-Za-z]:[\\/]/.test(t):!1}function fk(t){let e=uk(t);return e<0?".":e===0?t[0]:e===2&&/^[A-Za-z]:[\\/]/.test(t)?t.slice(0,3):t.slice(0,e)}function sh(t){let e=uk(t);return e<0?t:t.slice(e+1)}function u_(t,e){if(NU(e))return lk(e,ck(e));let r=ck(t,e);return lk(`${t}${r}${e}`,r)}function lk(t,e){let r="",n=t,i=/^([A-Za-z]:)([\\/])?/.exec(n);i?(r=i[1]+(i[2]?e:""),n=n.slice(i[0].length)):(n[0]==="/"||n[0]==="\\")&&(r=e,n=n.replace(/^[\\/]+/,""));let o=[];for(let s of n.split(kU))if(!(s===""||s===".")){if(s===".."){o.length>0&&o[o.length-1]!==".."?o.pop():r||o.push("..");continue}o.push(s)}return r+o.join(e)}var CU=/^\d{4}-\d{2}-\d{2}$/;function hk(t){let e=t?.properties.find(r=>r.key==="start");if(e?.value&&CU.test(e.value)&&!Number.isNaN(new Date(e.value).getTime()))return e.value}function OU(t,e,r){return e&&r?`Included "${t}" declares start:${r}, which doesn't match this file's start:${e}. Both files must declare the same start date, or neither should.`:e?`Included "${t}" has no start:, but this file declares start:${e}. Both files must declare the same start date, or neither should.`:`Included "${t}" declares start:${r}, but this file has no start:. Both files must declare the same start date, or neither should.`}function mk(){return{styles:new Map,defaults:new Map,symbols:new Map}}function gk(){return{persons:new Map,teams:new Map,anchors:new Map,labels:new Map,sizes:new Map,statuses:new Map,swimlanes:new Map,milestones:new Map,footnotes:new Map,isolatedRegions:[]}}async function f_(t,e,r){let n=r.readFile??(async c=>{let{nodeReadFile:l}=await Promise.resolve().then(()=>(pk(),dk));return l(c)}),i={services:r.services,diagnostics:[],resolving:[],processed:new Map,readFile:n},o=u_("",e),{config:s,content:a}=await xk(t,o,i);return{config:s,content:a,diagnostics:i.diagnostics,processedFiles:new Set(i.processed.keys())}}async function xk(t,e,r){if(r.processed.has(e))return r.processed.get(e);if(r.resolving.includes(e)){r.diagnostics.push({severity:"error",message:`Circular include detected: ${[...r.resolving,e].join(" \u2192 ")}`,sourcePath:e});let a={config:mk(),content:gk()};return r.processed.set(e,a),a}r.resolving.push(e);let n=mk(),i=gk();MU(n,t),UU(i,t);let o=new Set;for(let a of t.includes){let c=a.path,l=u_(fk(e),c);if(o.has(l)){r.diagnostics.push({severity:"error",message:`Duplicate include "${c}" in ${sh(e)}.`,sourcePath:e,line:a.$cstNode?.range.start.line});continue}o.add(l);let u=yk(a,"config")??"merge",f=yk(a,"roadmap")??"merge",d;try{let g=await r.readFile(l);d=await LU(r.services,g,l)}catch(g){r.diagnostics.push({severity:"error",message:`Could not read include "${c}": ${g.message}`,sourcePath:e,line:a.$cstNode?.range.start.line});continue}let{config:p,content:m}=await xk(d,l,r);if(DU(n,p,u,l,r.diagnostics),$U(i,m,p,f,l,c,r.diagnostics),f==="isolate"&&!m.roadmap&&r.diagnostics.push({severity:"error",message:`Cannot isolate "${c}": it has no roadmap declaration.`,sourcePath:e,line:a.$cstNode?.range.start.line}),f!=="ignore"&&d.roadmapDecl){let g=hk(t.roadmapDecl),v=hk(d.roadmapDecl);g!==v&&r.diagnostics.push({severity:"error",message:OU(c,g,v),sourcePath:e,line:a.$cstNode?.range.start.line})}}r.resolving.pop();let s={config:n,content:i};return r.processed.set(e,s),s}function yk(t,e){let r=t.options.find(n=>n.key===e);if(r&&(r.value==="merge"||r.value==="ignore"||r.value==="isolate"))return r.value}async function LU(t,e,r){let n=ht.file(r),o=t.shared.workspace.LangiumDocumentFactory.fromString(e,n);return await t.shared.workspace.DocumentBuilder.build([o],{validation:!1}),o.parseResult.value}function DU(t,e,r,n,i){if(r==="ignore"||r==="isolate")return;let o=(s,a)=>i.push({severity:"warning",message:`${a} "${s}" from ${sh(n)} is shadowed by the parent's definition.`,sourcePath:n});kr(t.styles,e.styles,s=>o(s,"Style")),kr(t.defaults,e.defaults,s=>o(s,"Default")),kr(t.symbols,e.symbols,s=>o(s,"Symbol")),e.scale&&!t.scale&&(t.scale=e.scale),e.calendar&&!t.calendar&&(t.calendar=e.calendar)}function $U(t,e,r,n,i,o,s){if(n==="ignore")return;if(n==="isolate"){e.roadmap&&t.isolatedRegions.push({sourcePath:o,config:r,content:e});return}let a=(c,l)=>s.push({severity:"warning",message:`${l} "${c}" from ${sh(i)} is shadowed by the parent's definition.`,sourcePath:i});kr(t.persons,e.persons,c=>a(c,"Person")),kr(t.teams,e.teams,c=>a(c,"Team")),kr(t.anchors,e.anchors,c=>a(c,"Anchor")),kr(t.labels,e.labels,c=>a(c,"Label")),kr(t.sizes,e.sizes,c=>a(c,"Size")),kr(t.statuses,e.statuses,c=>a(c,"Status")),kr(t.swimlanes,e.swimlanes,c=>a(c,"Swimlane")),kr(t.milestones,e.milestones,c=>a(c,"Milestone")),kr(t.footnotes,e.footnotes,c=>a(c,"Footnote")),e.roadmap&&!t.roadmap&&(t.roadmap=e.roadmap)}function kr(t,e,r){for(let[n,i]of e){if(t.has(n)){r(n);continue}t.set(n,i)}}function MU(t,e){for(let r of e.configEntries)FU(t,r)}function FU(t,e){ZI(e)?t.scale||(t.scale=e):rh(e)?t.calendar||(t.calendar=e):xu(e)?e.name&&!t.styles.has(e.name)&&t.styles.set(e.name,e):Tu(e)?e.name&&!t.symbols.has(e.name)&&t.symbols.set(e.name,e):Gi(e)&&(t.defaults.has(e.entityType)||t.defaults.set(e.entityType,e))}function UU(t,e){e.roadmapDecl&&!t.roadmap&&(t.roadmap=e.roadmapDecl);for(let r of e.roadmapEntries)BU(t,r)}function BU(t,e){Yr(e)?e.name&&!t.swimlanes.has(e.name)&&t.swimlanes.set(e.name,e):Xi(e)?e.name&&!t.persons.has(e.name)&&t.persons.set(e.name,e):Kr(e)?e.name&&!t.teams.has(e.name)&&t.teams.set(e.name,e):th(e)?e.name&&!t.anchors.has(e.name)&&t.anchors.set(e.name,e):ih(e)?e.name&&!t.labels.has(e.name)&&t.labels.set(e.name,e):Ja(e)?e.name&&!t.sizes.has(e.name)&&t.sizes.set(e.name,e):yu(e)?e.name&&!t.statuses.has(e.name)&&t.statuses.set(e.name,e):oh(e)?e.name&&!t.milestones.has(e.name)&&t.milestones.set(e.name,e):nh(e)&&e.name&&!t.footnotes.has(e.name)&&t.footnotes.set(e.name,e)}var Tk="v1",d_=new Set(["planned","in-progress","active","done","completed","at-risk","blocked"]),ah=new Set(["bg","fg","text","border","icon","shadow","font","weight","italic","text-size","padding","spacing","header-height","corner-radius","bracket","header-position","capacity-icon","timeline-position","minor-grid"]),y_=new Set(["none","multiplier","person","people","points","time"]),ch=new Set([...y_,"shield","warning","lock","calendar"]),kk="none",lh={border:new Set(["solid","dashed","dotted"]),shadow:new Set(["none","subtle","soft","hard"]),font:new Set(["sans","serif","mono"]),weight:new Set(["thin","light","normal","bold"]),italic:new Set(["true","false"]),"text-size":new Set(["none","xs","sm","md","lg","xl"]),padding:new Set(["none","xs","sm","md","lg","xl"]),spacing:new Set(["none","xs","sm","md","lg","xl"]),"header-height":new Set(["none","xs","sm","md","lg","xl"]),"corner-radius":new Set(["none","xs","sm","md","lg","xl","full"]),bracket:new Set(["none","solid","dashed"]),"header-position":new Set(["beside","above"]),"timeline-position":new Set(["top","bottom","both"]),"minor-grid":new Set(["true","false"])},GU=new Set(["red","blue","yellow","green","orange","purple","violet","gray","grey","navy","white","none"]),XU=new Set(["business","full","custom"]),p_=new Set(["days-per-week","days-per-month","days-per-quarter","days-per-year"]),_k=new Set(["name","label-every","label"]),Ek=new Set(["item","label","swimlane","roadmap","milestone","footnote","anchor","parallel","group"]),HU={item:new Set(["size","duration","after","before","remaining","link","description","owner"]),milestone:new Set(["date","after","link","description"]),anchor:new Set(["date","link","description"]),footnote:new Set(["on","link","description"]),label:new Set(["link","description"]),swimlane:new Set(["capacity"]),roadmap:new Set,parallel:new Set,group:new Set},vk=new Set(["labels","link","style","description"]),jU={RoadmapDeclaration:new Set(["author","start","length","scale","calendar","logo","logo-size"]),AnchorDeclaration:new Set(["date"]),SwimlaneDeclaration:new Set(["owner","capacity","utilization-warn-at","utilization-over-at","status","after","before"]),ItemDeclaration:new Set(["size","duration","status","owner","after","before","remaining","capacity","date","start"]),ParallelBlock:new Set(["owner","after","before","status"]),GroupBlock:new Set(["owner","after","before","status"]),MilestoneDeclaration:new Set(["date","after"]),FootnoteDeclaration:new Set(["on"]),PersonDeclaration:new Set,TeamDeclaration:new Set,LabelDeclaration:new Set,SizeDeclaration:new Set(["effort"]),StatusDeclaration:new Set};function zU(t,e,r){if(t===e)return 0;let n=t.length,i=e.length;if(Math.abs(n-i)>r)return r+1;if(n===0)return i;if(i===0)return n;let o=new Array(i+1),s=new Array(i+1);for(let a=0;a<=i;a++)o[a]=a;for(let a=1;a<=n;a++){s[0]=a;let c=a;for(let u=1;u<=i;u++){let f=t.charCodeAt(a-1)===e.charCodeAt(u-1)?0:1;s[u]=Math.min(o[u]+1,s[u-1]+1,o[u-1]+f),s[u]<c&&(c=s[u])}if(c>r)return r+1;let l=o;o=s,s=l}return o[i]}function qU(t,e,r=2){let n,i=r+1;for(let o of e){let s=zU(t,o,r);if(s<i&&(n=o,i=s,s===0))break}return n}function ke(t){return t.key.endsWith(":")?t.key.slice(0,-1):t.key}var _u=/^\d+(?:\.\d+)?[dwmqy]$/,WU=/^\d+%$/,Hi=/^\d{4}-\d{2}-\d{2}$/,VU=/^#[0-9a-fA-F]{3,8}$/,YU=/^v\d+$/,Rk=/^\d+$/,KU=/^[dwmqy]$/,bk=/^\d+(\.\d+)?$/,x_=/^\d+(\.\d+)?%$/,Nk=/^\d+\.\d+$/,ZU=/^\d+$/,JU=/^[\x20-\x7E]{1,3}$/,QU=/^[a-zA-Z]{2,3}(-[a-zA-Z]{2}|-\d{3})?$/,eB=new Set(["merge","ignore","isolate"]),wk=new Set(["locale"]);function h_(t){let e=t?.roadmapDecl?.properties.find(i=>ke(i)==="start");if(!e)return{kind:"missing"};let r=e.value;if(!r||!Hi.test(r))return{kind:"invalid"};let n=new Date(r);return Number.isNaN(n.getTime())?{kind:"invalid"}:{kind:"valid",iso:r,date:n}}function Zr(t){return t.name??t.title??"<unnamed>"}function tB(t){return t.$type.replace(/Declaration$|Block$/,"").toLowerCase()}function be(t,e,r,n,...i){t(e,ak("en-US",n,...i),{...r,data:{code:n,args:i}})}function Pk(t){let e=t.validation.ValidationRegistry,r=t.validation.NowlineValidator,n={NowlineFile:[r.checkFileStructure,r.checkUniqueIdentifiers,r.checkSwimlaneRequired,r.checkIndentationConsistency,r.checkRoadmapOnlyKeywordsPosition,r.checkForwardReferences,r.checkReferenceResolution,r.checkInlineDatePins,r.checkCircularDependencies,r.checkDuplicateSizeIds,r.checkCalendarBlockConsistency,r.checkPersonDeclarations,r.checkDuplicateSymbolIds,r.checkSymbolReferences],NowlineDirective:[r.checkDirectiveVersion,r.checkDirectiveProperties],IncludeOption:[r.checkIncludeMode],IncludeDeclaration:[r.checkIncludeDuplicateOptions],EntityProperty:[r.checkPropertyValues],RoadmapDeclaration:[r.checkEntityIdOrTitle,r.checkRoadmapProperties,r.checkNoRawStyleProperties,r.checkUnknownEntityProperties],AnchorDeclaration:[r.checkEntityIdOrTitle,r.checkAnchorRequiredDate,r.checkAnchorAgainstStart,r.checkNoRawStyleProperties,r.checkNoFootnoteProperty,r.checkUnknownEntityProperties],SwimlaneDeclaration:[r.checkEntityIdOrTitle,r.checkNoRawStyleProperties,r.checkUtilizationOrdering,r.checkNoFootnoteProperty,r.checkUnknownEntityProperties],ItemDeclaration:[r.checkEntityIdOrTitle,r.checkItemRequiredDuration,r.checkNoRawStyleProperties,r.checkNoFootnoteProperty,r.checkUnknownEntityProperties],ParallelBlock:[r.checkParallelMinChildren,r.checkNoComputedProperties,r.checkNoRawStyleProperties,r.checkNoFootnoteProperty,r.checkUnknownEntityProperties],GroupBlock:[r.checkGroupMinChildren,r.checkNoComputedProperties,r.checkNoRawStyleProperties,r.checkNoFootnoteProperty,r.checkUnknownEntityProperties],MilestoneDeclaration:[r.checkEntityIdOrTitle,r.checkMilestoneRequirement,r.checkMilestoneAgainstStart,r.checkNoRawStyleProperties,r.checkNoFootnoteProperty,r.checkUnknownEntityProperties],FootnoteDeclaration:[r.checkEntityIdOrTitle,r.checkFootnoteOn,r.checkNoRawStyleProperties,r.checkUnknownEntityProperties],PersonDeclaration:[r.checkEntityIdOrTitle,r.checkNoRawStyleProperties,r.checkNoFootnoteProperty,r.checkUnknownEntityProperties],TeamDeclaration:[r.checkEntityIdOrTitle,r.checkNoRawStyleProperties,r.checkNoFootnoteProperty,r.checkUnknownEntityProperties],StyleDeclaration:[r.checkEntityIdOrTitle],StyleProperty:[r.checkStylePropertyEnum],SymbolDeclaration:[r.checkEntityIdOrTitle,r.checkSymbolDeclaration],LabelDeclaration:[r.checkEntityIdOrTitle,r.checkNoRawStyleProperties,r.checkUnknownEntityProperties],SizeDeclaration:[r.checkEntityIdOrTitle,r.checkSizeDeclaration,r.checkNoRawStyleProperties,r.checkUnknownEntityProperties],StatusDeclaration:[r.checkEntityIdOrTitle,r.checkStatusDeclaration,r.checkNoRawStyleProperties,r.checkUnknownEntityProperties],DefaultDeclaration:[r.checkDefaultDeclaration,r.checkUtilizationOrdering],CalendarBlock:[r.checkCalendarBlock],ScaleBlock:[r.checkScaleBlock]};e.register(n,r)}var fh=class{checkFileStructure(e,r){let n=e.hasConfig?ws.findNodeForKeyword(e.$cstNode,"config")?.offset:void 0,i=e.roadmapDecl?.$cstNode?.offset;n!==void 0&&i!==void 0&&n>i&&be(r,"error",{node:e,property:"hasConfig"},"NL.E0001");for(let o of e.includes){let s=o.$cstNode?.offset??0;n!==void 0&&s>n&&be(r,"error",{node:o},"NL.E0002"),i!==void 0&&s>i&&be(r,"error",{node:o},"NL.E0003")}}checkRoadmapOnlyKeywordsPosition(e,r){}checkDirectiveVersion(e,r){if(!YU.test(e.version)){be(r,"error",{node:e,property:"version"},"NL.E0100",{version:e.version});return}let n=parseInt(e.version.slice(1),10),i=parseInt(Tk.slice(1),10);n>i&&be(r,"error",{node:e,property:"version"},"NL.E0101",{version:e.version,supported:Tk})}checkDirectiveProperties(e,r){let n=new Set;for(let i of e.properties){let o=ke(i);if(!wk.has(o)){be(r,"error",{node:i,property:"key"},"NL.E0102",{key:o,allowed:[...wk].join(", ")});continue}if(n.has(o)&&be(r,"error",{node:i,property:"key"},"NL.E0103",{key:o}),n.add(o),o==="locale"){let s=i.value;QU.test(s)||be(r,"error",{node:i,property:"value"},"NL.E0104",{value:s})}}}checkEntityIdOrTitle(e,r){!e.name&&!e.title&&be(r,"error",{node:e},"NL.E0301",{type:e.$type})}checkUniqueIdentifiers(e,r){let n=new Map,i=(o,s)=>{if(!o)return;let a=n.get(o);a?be(r,"error",{node:s},"NL.E0300",{name:o,location:uh(a)}):n.set(o,s)};e.roadmapDecl?.name&&i(e.roadmapDecl.name,e.roadmapDecl);for(let o of e.roadmapEntries)iB(o,i);for(let o of e.configEntries)xu(o)&&o.name&&i(o.name,o)}checkIndentationConsistency(e,r){let n=e.$document?.textDocument.getText()??e.$cstNode?.text;if(!n)return;let i=n.split(/\r?\n/);for(let o=0;o<i.length;o++){let s=i[o];if(s.length===0)continue;let a=s.match(/^([\t ]+)/);if(!a)continue;let c=a[1];if(c.includes(" ")&&c.includes(" ")){be(r,"error",{node:e},"NL.E0005",{line:o+1});return}}}checkSwimlaneRequired(e,r){let n=e.roadmapEntries.some(Yr);e.roadmapDecl&&!n&&be(r,"error",{node:e.roadmapDecl},"NL.E0004")}checkIncludeMode(e,r){eB.has(e.value)||be(r,"error",{node:e,property:"value"},"NL.E0200",{value:e.value})}checkIncludeDuplicateOptions(e,r){let n=new Set;for(let i of e.options){let o=i.key.replace(/:$/,"");n.has(o)&&be(r,"error",{node:i},"NL.E0201",{key:o}),n.add(o)}}checkPropertyValues(e,r){let n=ke(e),i=e.value,o=e.values,s=i?[i]:o;switch(n){case"status":break;case"duration":i&&!_u.test(i)&&be(r,"error",{node:e,property:"value"},"NL.E0400",{value:i});break;case"size":i&&!Ak(i)&&be(r,"error",{node:e,property:"value"},"NL.E0401",{value:i});break;case"effort":i&&!_u.test(i)&&be(r,"error",{node:e,property:"value"},"NL.E0402",{value:i});break;case"remaining":{if(i)if(WU.test(i)){let a=parseFloat(i);(a<0||a>100)&&be(r,"error",{node:e,property:"value"},"NL.E0404",{value:i})}else _u.test(i)||be(r,"error",{node:e,property:"value"},"NL.E0403",{value:i});break}case"date":case"start":i&&(!Hi.test(i)||Number.isNaN(new Date(i).getTime()))&&be(r,"error",{node:e,property:"value"},"NL.E0405",{key:n,value:i});break;case"scale":i&&!_u.test(i)&&be(r,"error",{node:e,property:"value"},"NL.E0406",{value:i});break;case"calendar":i&&!XU.has(i)&&be(r,"error",{node:e,property:"value"},"NL.E0407",{value:i});break;case"on":case"after":case"before":s.length===0&&be(r,"error",{node:e},"NL.E0408",{key:n});break;case"capacity":{if(!i)break;let a=e.$container,c=rB(a);if(c==="invalid")break;c==="lane"?(!bk.test(i)||parseFloat(i)<=0)&&r("error",`Invalid swimlane capacity "${i}". Use a positive integer (e.g. capacity:5) or decimal (e.g. capacity:1.5). Percent literals are not allowed on swimlanes.`,{node:e,property:"value"}):x_.test(i)?parseFloat(i)<=0&&r("error",`Item capacity "${i}" must be positive.`,{node:e,property:"value"}):bk.test(i)?parseFloat(i)<=0&&r("error",`Item capacity "${i}" must be positive.`,{node:e,property:"value"}):r("error",`Invalid item capacity "${i}". Use a positive integer (capacity:2), decimal (capacity:0.5), or percent literal (capacity:50%).`,{node:e,property:"value"});break}case"overcapacity":{r("error",'"overcapacity:" was removed. Use "utilization-over-at:none" (and/or "utilization-warn-at:none") to suppress the lane utilization underline.',{node:e});break}case"utilization-warn-at":case"utilization-over-at":{if(!i)break;if(!nB(e.$container)){r("error",`"${n}:" is only valid on "swimlane" or "default swimlane".`,{node:e});break}if(i===kk)break;if(x_.test(i)){parseFloat(i)<=0&&r("error",`${n} value "${i}" must be positive.`,{node:e,property:"value"});break}if(Nk.test(i)){parseFloat(i)<=0&&r("error",`${n} value "${i}" must be positive.`,{node:e,property:"value"});break}if(ZU.test(i)){r("error",`Ambiguous ${n} value "${i}". Use the percent form ("${i}%") or the decimal-fraction form ("0.${i}") to make the intent explicit.`,{node:e,property:"value"});break}r("error",`Invalid ${n} value "${i}". Use a positive percent (e.g. 80%), a positive decimal fraction (e.g. 0.8), or "none" to opt out.`,{node:e,property:"value"});break}case"capacity-icon":break;case"icon":break;default:if(ah.has(n)){if(n==="bg"||n==="fg"||n==="text")i&&!m_(i)&&r("error",`Invalid color "${i}" for "${n}". Use a named color, hex value, or "none".`,{node:e,property:"value"});else if(n in lh){let a=lh[n];i&&!a.has(i)&&!m_(i)&&r("error",`Invalid value "${i}" for "${n}". Allowed: ${[...a].join(", ")}.`,{node:e,property:"value"})}}break}}checkAnchorRequiredDate(e,r){e.properties.find(i=>ke(i)==="date")||be(r,"error",{node:e},"NL.E0500",{name:Zr(e)})}checkAnchorAgainstStart(e,r){let n=e.properties.find(a=>ke(a)==="date");if(!n?.value)return;let i=n.value;if(!Hi.test(i))return;let o=new Date(i);if(Number.isNaN(o.getTime()))return;let s=h_(e.$container);switch(s.kind){case"invalid":return;case"missing":be(r,"error",{node:n,property:"value"},"NL.E0501",{name:Zr(e)});return;case"valid":o<s.date&&be(r,"error",{node:n,property:"value"},"NL.E0502",{name:Zr(e),date:i,start:s.iso});return}}checkMilestoneRequirement(e,r){let n=e.properties.some(o=>ke(o)==="date"),i=e.properties.some(o=>ke(o)==="after");!n&&!i&&be(r,"error",{node:e},"NL.E0503",{name:Zr(e)})}checkMilestoneAgainstStart(e,r){let n=e.properties.find(a=>ke(a)==="date");if(!n?.value)return;let i=n.value;if(!Hi.test(i))return;let o=new Date(i);if(Number.isNaN(o.getTime()))return;let s=h_(e.$container);switch(s.kind){case"invalid":return;case"missing":r("error",`Milestone "${Zr(e)}" has a date but the roadmap is missing "start:". Add start:YYYY-MM-DD to the roadmap.`,{node:n,property:"value"});return;case"valid":o<s.date&&be(r,"error",{node:n,property:"value"},"NL.E0504",{name:Zr(e),date:i,start:s.iso});return}}checkFootnoteOn(e,r){e.properties.some(i=>ke(i)==="on")||be(r,"error",{node:e},"NL.E0505")}checkNoFootnoteProperty(e,r){for(let n of e.properties)ke(n)==="footnote"&&r("error",`Property "footnote:" is not valid on ${g_(e)}. Footnotes attach via "on:" on the footnote declaration \u2014 declare \`footnote <id> on:<target-id>\` instead.`,{node:n})}checkItemRequiredDuration(e,r){let n=e.properties.some(o=>ke(o)==="duration"),i=e.properties.some(o=>ke(o)==="size");!n&&!i&&be(r,"error",{node:e},"NL.E0600",{name:Zr(e)})}checkNoComputedProperties(e,r){for(let n of e.properties){let i=ke(n);(i==="size"||i==="duration"||i==="remaining"||i==="capacity")&&r("error",`"${i}" is not valid on ${e.$type==="ParallelBlock"?"parallel":"group"} (computed from children).`,{node:n})}}checkParallelMinChildren(e,r){let n=e.content.filter(i=>!l_(i));n.length===0?r("error","Parallel block must contain at least 2 children.",{node:e}):n.length===1&&r("warning","Parallel block has only 1 child. Use at least 2 for parallel execution.",{node:e})}checkGroupMinChildren(e,r){e.content.filter(i=>!l_(i)).length===0&&r("error","Group must contain at least 1 child.",{node:e})}checkNoRawStyleProperties(e,r){for(let n of e.properties){let i=ke(n);ah.has(i)&&r("error",`Raw style property "${i}" is not allowed on ${g_(e)}. Declare a named style in config and reference it via "style:id".`,{node:n})}}checkUnknownEntityProperties(e,r){let n=jU[e.$type];if(!n)return;let i=e.$type==="ParallelBlock"||e.$type==="GroupBlock"?new Set(["size","duration","remaining","capacity"]):null;for(let o of e.properties){let s=ke(o);if(n.has(s)||vk.has(s)||ah.has(s)||s==="footnote"||i?.has(s))continue;let a=[...n,...vk],c=qU(s,a)??"";be(r,"warning",{node:o,property:"key"},"NL.W0700",{key:s,entity:g_(e),suggested:c})}}checkRoadmapProperties(e,r){}checkStylePropertyEnum(e,r){let n=ke(e),i=e.value;if(n==="bg"||n==="fg"||n==="text")m_(i)||r("error",`Invalid color "${i}" for "${n}". Use a named color, hex value, or "none".`,{node:e,property:"value"});else if(n in lh){let o=lh[n];o.has(i)||r("error",`Invalid value "${i}" for "${n}". Allowed: ${[...o].join(", ")}.`,{node:e,property:"value"})}else ah.has(n)||r("error",`Unknown style property "${n}".`,{node:e,property:"key"})}checkSizeDeclaration(e,r){e.properties.find(i=>ke(i)==="effort")||r("error",`Size "${Zr(e)}" requires an "effort:" property.`,{node:e}),e.name&&(_u.test(e.name)||KU.test(e.name))&&r("error",`Size id "${e.name}" collides with the raw duration pattern. Choose a different name (e.g. "xs", "small", "quarter").`,{node:e,property:"name"})}checkStatusDeclaration(e,r){e.name&&d_.has(e.name)&&r("error",`Status id "${e.name}" collides with the built-in status value. Built-ins: ${[...d_].join(", ")}.`,{node:e,property:"name"})}checkDuplicateSizeIds(e,r){let n=new Map;for(let i of e.roadmapEntries)if(Ja(i)&&i.name){let o=n.get(i.name);o?r("error",`Duplicate size id "${i.name}". First declared at ${uh(o)}.`,{node:i,property:"name"}):n.set(i.name,i)}}checkUtilizationOrdering(e,r){if(Gi(e)&&e.entityType!=="swimlane")return;let n=e.properties.find(a=>ke(a)==="utilization-warn-at"),i=e.properties.find(a=>ke(a)==="utilization-over-at");if(!n||!i)return;let o=Sk(n.value),s=Sk(i.value);o===null||s===null||o>s&&r("error",`utilization-warn-at (${n.value}) must be \u2264 utilization-over-at (${i.value}). Warn fires below over; if both fire at the same point, the warn band collapses to zero.`,{node:n,property:"value"})}checkDefaultDeclaration(e,r){if(!Ek.has(e.entityType)){r("error",`"${e.entityType}" is not a supported entity type for default. Allowed: ${[...Ek].join(", ")}.`,{node:e,property:"entityType"});return}let n=e.$container,i=-1;for(let s=0;s<n.configEntries.length;s++){let a=n.configEntries[s];if(Gi(a)&&a.entityType===e.entityType){if(i<0)i=s;else if(a===e){r("error",`Duplicate "default ${e.entityType}" declaration. Only one is allowed per entity type per file.`,{node:e});break}}}let o=HU[e.entityType];if(o)for(let s of e.properties){let a=ke(s);o.has(a)&&r("error",`"${a}" cannot be set on "default ${e.entityType}". Identity-defining, sizing, sequencing, reference, and prose properties must be explicit on each entity.`,{node:s})}}checkCalendarBlockConsistency(e,r){let n=e.configEntries.filter(rh),o=e.roadmapDecl?.properties.find(s=>ke(s)==="calendar")?.value;if(n.length>0&&o!=="custom")for(let s of n)r("error",'A "calendar" config block is only valid when the roadmap declares calendar:custom.',{node:s});if(o==="custom"&&n.length===0&&r("error",'calendar:custom requires a "calendar" config block with days-per-week, days-per-month, days-per-quarter, and days-per-year.',{node:e.roadmapDecl,property:"properties"}),o==="custom"&&n.length>0)for(let s of n){let a=new Set(s.properties.map(c=>ke(c)));for(let c of p_)a.has(c)||r("error",`calendar:custom requires "${c}" in the calendar config block.`,{node:s})}}checkCalendarBlock(e,r){let n=new Set;for(let i of e.properties){let o=ke(i);if(!p_.has(o)){r("error",`Unknown calendar property "${o}". Allowed: ${[...p_].join(", ")}.`,{node:i,property:"key"});continue}n.has(o)&&r("error",`Duplicate calendar property "${o}".`,{node:i,property:"key"}),n.add(o),(!Rk.test(i.value)||parseInt(i.value,10)<=0)&&r("error",`"${o}" must be a positive integer, got "${i.value}".`,{node:i,property:"value"})}}checkScaleBlock(e,r){let n=new Set;for(let i of e.properties){let o=ke(i);if(!_k.has(o)){r("error",`Unknown scale property "${o}". Allowed: ${[..._k].join(", ")}.`,{node:i,property:"key"});continue}n.has(o)&&r("error",`Duplicate scale property "${o}".`,{node:i,property:"key"}),n.add(o),o==="label-every"&&(!Rk.test(i.value)||parseInt(i.value,10)<=0)&&r("error",`"label-every" must be a positive integer, got "${i.value}".`,{node:i,property:"value"})}}checkForwardReferences(e,r){let n=new Map,i=new Map;for(let o=0;o<e.roadmapEntries.length;o++){let s=e.roadmapEntries[o];Ja(s)&&s.name?n.has(s.name)||n.set(s.name,o):yu(s)&&s.name&&(i.has(s.name)||i.set(s.name,o))}for(let o=0;o<e.roadmapEntries.length;o++){let s=e.roadmapEntries[o];Ik(s,a=>{let c=ke(a);if(c==="size"&&a.value){let l=a.value,u=n.get(l);u===void 0?r("error",`Size "${l}" is not declared. Add "size ${l} effort:<literal>" earlier in the roadmap section.`,{node:a,property:"value"}):u>=o&&r("error",`Size "${l}" is referenced before its declaration. Move "size ${l}" above this entity.`,{node:a,property:"value"})}else if(c==="status"&&a.value){let l=a.value;if(d_.has(l))return;let u=i.get(l);u===void 0?r("error",`Status "${l}" is not a built-in and has no declaration. Add "status ${l}" earlier in the roadmap section.`,{node:a,property:"value"}):u>=o&&r("error",`Status "${l}" is referenced before its declaration. Move "status ${l}" above this entity.`,{node:a,property:"value"})}})}}checkReferenceResolution(e,r){let n=oB(e),i=o=>{Ik(o,s=>{let a=ke(s);if(a!=="after"&&a!=="before"&&a!=="on")return;let c=s.value?[s.value]:s.values;for(let l of c)l&&((a==="after"||a==="before")&&Hi.test(l)||n.has(l)||r("error",`${a}: reference "${l}" does not resolve to any declared entity in this file.`,{node:s}))})};for(let o of e.roadmapEntries)i(o)}checkInlineDatePins(e,r){let n=h_(e),i=o=>{let s=o.properties??[],a=yr(o)||Vr(o)||Wr(o);for(let c of s){let l=ke(c);if(l!=="after"&&l!=="before")continue;let f=(c.value?[c.value]:c.values).filter(d=>!!d&&Hi.test(d));if(f.length!==0){if(!a){be(r,"error",{node:c},"NL.E0411",{key:l,type:tB(o)});continue}f.length>1&&be(r,"error",{node:c},"NL.E0410",{key:l});for(let d of f)switch(n.kind){case"invalid":continue;case"missing":be(r,"error",{node:c},"NL.E0412",{key:l,date:d});continue;case"valid":{let p=new Date(d);if(Number.isNaN(p.getTime()))continue;p<n.date&&be(r,"error",{node:c},"NL.E0413",{key:l,date:d,start:n.iso})}}}}if(Yr(o))for(let c of o.content)i(c);else if(Vr(o)||Wr(o))for(let c of o.content)i(c)};for(let o of e.roadmapEntries)i(o)}checkCircularDependencies(e,r){let n=new Map,i=(p,m)=>{n.has(p)||n.set(p,new Set),n.get(p).add(m)},o=(p,m,g)=>{if(p)for(let v of m){let T=ke(v);if(T==="after"){let _=v.value?[v.value]:v.values;for(let E of _)E&&(Hi.test(E)||i(p,E))}else if(T==="before"){let _=v.value?[v.value]:v.values;for(let E of _)E&&(Hi.test(E)||i(E,p))}}},s=p=>{let m=p.name,g=p.properties??[];if(o(m,g,e),Yr(p))for(let v of p.content)s(v);else if(Vr(p)||Wr(p))for(let v of p.content)s(v)};for(let p of e.roadmapEntries)s(p);let a=0,c=1,l=2,u=new Map;for(let p of n.keys())u.set(p,a);let f=new Set,d=(p,m)=>{u.set(p,c),m.push(p);for(let g of n.get(p)??[]){let v=u.get(g)??a;if(v===c){let T=m.indexOf(g),_=m.slice(T).concat(g),E=[..._].sort().join("\u2192");f.has(E)||(f.add(E),r("error",`Circular dependency detected: ${_.join(" \u2192 ")}.`,{node:e.roadmapDecl??e}))}else v===a&&d(g,m)}m.pop(),u.set(p,l)};for(let p of n.keys())(u.get(p)??a)===a&&d(p,[])}checkPersonDeclarations(e,r){let n=new Map,i=a=>!!a.title||a.properties.length>0||a.description!==void 0,o=a=>{if(!a.name)return;let c=i(a);n.has(a.name)||n.set(a.name,[]),n.get(a.name).push({node:a,isDeclaration:c}),!c&&a.$container.$type==="NowlineFile"&&r("warning",`Bare "person ${a.name}" at roadmap top level has no declaration. Either add properties (title, link, etc.) or remove the line.`,{node:a})},s=a=>{for(let c of a.content)Xi(c)?o(c):Kr(c)&&s(c)};for(let a of e.roadmapEntries)Xi(a)?o(a):Kr(a)&&s(a);for(let[a,c]of n){let l=c.filter(u=>u.isDeclaration);if(l.length>1)for(let u=1;u<l.length;u++)r("error",`Person "${a}" is declared more than once. First declaration at ${uh(l[0].node)}.`,{node:l[u].node})}}checkSymbolDeclaration(e,r){e.name&&ch.has(e.name)&&r("error",`Symbol id "${e.name}" collides with a built-in icon name. Reserved built-ins: ${[...ch].sort().join(", ")}.`,{node:e,property:"name"});let n=e.properties.find(o=>ke(o)==="unicode");n?(!n.value||n.value.length===0)&&r("error",`Symbol "${Zr(e)}" unicode: must be a non-empty value.`,{node:n,property:"value"}):r("error",`Symbol "${Zr(e)}" requires a "unicode:" property (e.g. unicode:"\u{1F4B0}" or unicode:"\\u{1F464}").`,{node:e});let i=e.properties.find(o=>ke(o)==="ascii");if(i){let o=i.value??"";JU.test(o)||r("error",`Symbol "${Zr(e)}" ascii: must be 1-3 ASCII characters (got ${o.length} character${o.length===1?"":"s"}).`,{node:i,property:"value"})}for(let o of e.properties){let s=ke(o);s!=="unicode"&&s!=="ascii"&&s!=="link"&&s!=="description"&&r("error",`Unknown symbol property "${s}". Allowed: unicode, ascii, link, description.`,{node:o,property:"key"})}}checkDuplicateSymbolIds(e,r){let n=new Map;for(let i of e.configEntries)if(Tu(i)&&i.name){let o=n.get(i.name);o?r("error",`Duplicate symbol id "${i.name}". First declared at ${uh(o)}.`,{node:i,property:"name"}):n.set(i.name,i)}}checkSymbolReferences(e,r){let n=new Map;for(let o=0;o<e.configEntries.length;o++){let s=e.configEntries[o];Tu(s)&&s.name&&(n.has(s.name)||n.set(s.name,o))}let i=(o,s,a,c)=>{if(s!=="icon"&&s!=="capacity-icon"||!a||!Ak(a)||s==="capacity-icon"&&y_.has(a)||s==="icon"&&ch.has(a))return;let l=n.get(a);if(l===void 0){let u=s==="capacity-icon"?[...y_].sort().join(", "):[...ch].sort().join(", ");r("error",`${s}: "${a}" is neither a built-in (${u}) nor a declared symbol. Add "symbol ${a} unicode:..." earlier in config or use a quoted Unicode literal.`,{node:c,property:"value"})}else l>=o&&r("error",`${s}: symbol "${a}" is referenced before its declaration. Move "symbol ${a}" above this entry.`,{node:c,property:"value"})};for(let o=0;o<e.configEntries.length;o++){let s=e.configEntries[o];if(xu(s))for(let a of s.properties)i(o,ke(a),a.value,a);else if(Gi(s))for(let a of s.properties)i(o,ke(a),a.value,a)}}};function m_(t){return GU.has(t)||VU.test(t)}function Ak(t){return/^[a-zA-Z_][a-zA-Z0-9_-]*$/.test(t)}function rB(t){return t?Yr(t)?"lane":yr(t)?"item":Gi(t)?t.entityType==="swimlane"?"lane":"item":"invalid":"invalid"}function nB(t){return t?!!(Yr(t)||Gi(t)&&t.entityType==="swimlane"):!1}function Sk(t){if(!t||t===kk)return null;if(x_.test(t)){let e=parseFloat(t);return Number.isFinite(e)&&e>0?e/100:null}if(Nk.test(t)){let e=parseFloat(t);return Number.isFinite(e)&&e>0?e:null}return null}function uh(t){let e=t.$cstNode;return e?`line ${e.range.start.line+1}`:"unknown location"}function g_(t){let e=t.$type.replace(/Declaration$|Block$/,"").toLowerCase(),r=t.name??t.title;return r?`${e} "${r}"`:e}function iB(t,e){if(Yr(t)){e(t.name,t);for(let r of t.content)T_(r,e)}else Xi(t)?e(t.name,t):Kr(t)?Ck(t,e):(th(t)||oh(t)||nh(t)||ih(t)||Ja(t)||yu(t))&&e(t.name,t)}function Ck(t,e){e(t.name,t);for(let r of t.content)Kr(r)&&Ck(r,e)}function T_(t,e){if(yr(t))e(t.name,t);else if(Vr(t)){e(t.name,t);for(let r of t.content)T_(r,e)}else if(Wr(t)){e(t.name,t);for(let r of t.content)T_(r,e)}}function Ik(t,e){let r=n=>{let i=n.properties;if(Array.isArray(i))for(let o of i)e(o);if(Yr(n))for(let o of n.content)r(o);else if(Vr(n)||Wr(n))for(let o of n.content)r(o);else if(Kr(n))for(let o of n.content)(Kr(o)||Xi(o))&&r(o)};r(t)}function oB(t){let e=new Set;t.roadmapDecl?.name&&e.add(t.roadmapDecl.name);let r=n=>{let i=n.name;if(i&&e.add(i),Yr(n))for(let o of n.content)r(o);else if(Vr(n)||Wr(n))for(let o of n.content)r(o);else if(Kr(n))for(let o of n.content)Kr(o)||Xi(o)?r(o):KI(o)};for(let n of t.roadmapEntries)r(n);return e}var __=class extends $o{runConverter(e,r,n){return e.name==="PROPERTY_KEY_WITH_COLON"||e.name==="INCLUDE_OPTION_KEY"?r.endsWith(":")?r.slice(0,-1):r:super.runConverter(e,r,n)}},E_=class extends Ma{isStartOfLine(e,r){if(!super.isStartOfLine(e,r))return!1;let n=r-1;for(;n>=0&&(e[n]===" "||e[n]===" ");)n--;for(;n>=0&&(e[n]==="\r"||e[n]===`
|
|
2663
|
+
`);)n--;for(;n>=0&&(e[n]===" "||e[n]===" ");)n--;return n<0||e[n]!=="\\"}},Ok={parser:{TokenBuilder:()=>new E_({indentTokenName:"INDENT",dedentTokenName:"DEDENT",whitespaceTokenName:"WS",ignoreIndentationDelimiters:[["[","]"]]}),Lexer:t=>new fu(t),ParserConfig:()=>({maxLookahead:4}),ValueConverter:()=>new __},validation:{NowlineValidator:()=>new fh}};function v_(t={}){let e=t.shared??zo(lu(du),ek),r=zo(cu({shared:e}),tk,Ok);return e.ServiceRegistry.register(r),Pk(r),{shared:e,Nowline:r}}function Lk(t,e){return{severity:t.severity===2?"warning":"error",code:xm(t),message:t.message,suggestion:ym(t.message),file:e,line:(t.range?.start.line??0)+1,column:(t.range?.start.character??0)+1}}function Dk(t,e){return{severity:"error",code:"parse-error",message:t.message,file:e,line:t.token?.startLine??1,column:t.token?.startColumn??1}}function $k(t,e){return{severity:"error",code:"lex-error",message:t.message,file:e,line:t.line??1,column:t.column??1}}function Mk(t){return{severity:t.severity,code:"include",message:t.message,file:t.sourcePath,line:t.line!==void 0?t.line+1:1,column:1}}function Fk(t,e,r="warning"){return{severity:r,code:"render.warning",message:t,file:e,line:1,column:1}}var Uk="__nowline_browser_noop_include__";async function Bk(t){throw new Error(`${Uk}: include "${t}" was skipped \u2014 running in single-file mode.`)}function Gk(t){return t.includes(Uk)}var sB=new Set(["none","multiplier","person","people","points","time"]),aB=/^\d+$/,cB=/^\d+\.\d+$/,lB=/^\d+(?:\.\d+)?%$/;function ji(t){if(!t)return null;if(aB.test(t)){let e=parseInt(t,10);return e>0?e:null}if(cB.test(t)){let e=parseFloat(t);return Number.isFinite(e)&&e>0?e:null}if(lB.test(t)){let e=parseFloat(t.slice(0,-1))/100;return Number.isFinite(e)&&e>0?e:null}return null}function Eu(t){if(Number.isInteger(t))return String(t);let e=t.toFixed(6);return e=e.replace(/0+$/,""),e=e.replace(/\.$/,""),e}function uB(t){return t.key.endsWith(":")?t.key.slice(0,-1):t.key}function fB(t){for(let e of t.properties)if(uB(e)==="unicode"&&e.value)return e.value}function vu(t,e){if(t==="none")return null;if(sB.has(t))return{kind:"builtin",name:t};let r=e.get(t);return r?{kind:"literal",text:fB(r)??t}:{kind:"literal",text:t}}function Vo(t,e,r){return e?e.kind==="builtin"&&e.name==="multiplier"?(t.length+1)*r*.58:t.length*r*.58+(.1+1)*r:t.length*r*.58}function Ru(t,e,r,n=0,i=0){let o=t+10,s=o+12,a=e.length*6.5,c=s+a,l=0,u=0;r&&(l=`owner: ${r}`.length*5,u=c+6,c=u+l);let f=0;n>0&&(f=c+6,c=f+n);let d=0;i>0&&(d=c+6+i,c=d);let p=c-o+12,m=Math.max(56,p);return{titleTextWidth:a,ownerTextWidth:l,capacityBadgeWidth:n,footnoteIndicatorWidth:i,titleX:s,ownerX:u,badgeX:f,footnoteRightX:d,tabX:o,tabW:m,rightX:o+m}}function bu(t,e,r){let n=t+24,i=n+10,o=e.length*6,s=Math.max(60,o+10+10),a=n+s+6,c=a+18,l=0,u=0,f=0,d=0,p=c;return r&&(u=c+6,l=r.length*5.5,f=u-3,d=l+6,p=f+d),{labelTextWidth:o,sourceTextWidth:l,tabX:n,tabWidth:s,tabLabelX:i,badgeX:a,badgeSize:18,sourceHaloX:f,sourceHaloWidth:d,sourceTextX:u,chromeRightX:p}}function R_(t,e){if(t.length===0)return{rows:[[]],expanded:!1};let r=[[]],n=0,i=e,o=!1;for(let s of t){let a=r[r.length-1],c=(a.length===0?0:4)+s.width,l=n+c;if(l<=i){a.push(s),n=l;continue}if(a.length===0){a.push(s),n=s.width;continue}let u=l-i,f=s.width*.25;if(!o&&u<=f){a.push(s),n=l,i=l,o=!0;continue}r.push([s]),n=s.width,i=e}return{rows:r,expanded:o}}function Xk(t){return t.endsWith(":")?t.slice(0,-1):t}function ae(t,e){return t.find(r=>Xk(r.key)===e)?.value}function gt(t,e){let r=t.find(n=>Xk(n.key)===e);return r?r.value!==void 0?[r.value]:[...r.values]:[]}function Rt(t){if(!t)return null;let e=/^(\d{4})-(\d{2})-(\d{2})$/.exec(t);if(!e)return null;let r=new Date(Date.UTC(parseInt(e[1],10),parseInt(e[2],10)-1,parseInt(e[3],10)));return Number.isNaN(r.getTime())?null:r}var Qa={mode:"business",daysPerWeek:5,daysPerMonth:22,daysPerQuarter:65,daysPerYear:260},dB={mode:"full",daysPerWeek:7,daysPerMonth:30,daysPerQuarter:91,daysPerYear:365};function Hk(t,e){let n=t.roadmapDecl?.properties.find(i=>b_(i.key)==="calendar")?.value??"business";if(n==="business")return{...Qa};if(n==="full")return{...dB};if(e){let i=(o,s)=>{let a=e.properties.find(l=>b_(l.key)===o),c=a?parseInt(a.value,10):NaN;return Number.isFinite(c)&&c>0?c:s};return{mode:"custom",daysPerWeek:i("days-per-week",Qa.daysPerWeek),daysPerMonth:i("days-per-month",Qa.daysPerMonth),daysPerQuarter:i("days-per-quarter",Qa.daysPerQuarter),daysPerYear:i("days-per-year",Qa.daysPerYear)}}return{...Qa}}var dh=/^(\d+(?:\.\d+)?)([dwmqy])$/;function ph(t,e){let r=dh.exec(t);if(!r)return 0;let n=parseFloat(r[1]);switch(r[2]){case"d":return n;case"w":return n*e.daysPerWeek;case"m":return n*e.daysPerMonth;case"q":return n*e.daysPerQuarter;case"y":return n*e.daysPerYear;default:return 0}}function jk(t,e,r){return t?dh.test(t)?ph(t,r):e.get(t)?.effortDays??0:0}function zi(t,e,r){let n=ae(t,"duration");if(n&&dh.test(n))return ph(n,r);let i=ae(t,"size"),o=i?e.get(i):void 0;if(!o)return 0;let s=ji(ae(t,"capacity"))??1;return o.effortDays/s}function zk(t,e,r){let n=ae(t,"size"),i=n?e.get(n):void 0;if(i)return i.effortDays;let o=ae(t,"duration");if(o&&dh.test(o)){let s=ji(ae(t,"capacity"))??1;return ph(o,r)*s}return 0}function hh(t,e){let r=new Map;for(let[n,i]of t){let s=i.properties.find(c=>b_(c.key)==="effort")?.value;if(!s)continue;let a=ph(s,e);a<=0||r.set(n,{name:n,title:i.title||void 0,effortDays:a,effortLiteral:s})}return r}function b_(t){return t.endsWith(":")?t.slice(0,-1):t}function Nr(t,e){return Math.round((e.getTime()-t.getTime())/864e5)}function Yo(t,e){let r=new Date(t.getTime());return r.setUTCDate(r.getUTCDate()+e),r}var mh=class{constructor(e){de(this,"items");de(this,"brackets");this.items=e.itemBars,this.brackets=e.brackets}hasObstacle(e,r,n){let i=Math.min(r,n),o=Math.max(r,n);for(let s of this.items)if(!(e<=s.x||e>=s.x+s.width)&&!(s.y+s.height<=i||s.y>=o))return!0;return!1}bracketsNear(e,r,n,i){let o=Math.min(r,n),s=Math.max(r,n),a=[];for(let c of this.brackets)Math.abs(c.x-e)>i||c.yBottom<=o||c.yTop>=s||a.push(c);return a}};function qk(t,e){let r=[],n=[],i=s=>{if(s.kind==="item"){r.push(s.box);return}if(s.kind==="parallel"){if(s.style.bracket==="solid"||s.style.bracket==="dashed"){let l=s.box.y-12,u=s.box.y+s.box.height+12,f=s.box.x,d=s.box.x+s.box.width;n.push({x:f,yTop:l,yBottom:u}),n.push({x:d,yTop:l,yBottom:u}),n.push({x:f+4,yTop:l-1,yBottom:l+1}),n.push({x:f+4,yTop:u-1,yBottom:u+1}),n.push({x:d-4,yTop:l-1,yBottom:l+1}),n.push({x:d-4,yTop:u-1,yBottom:u+1})}for(let a of s.children)i(a);return}if(s.kind==="group"){!(s.style.bg!=="none"&&s.style.bg!=="#ffffff")&&s.style.bracket&&s.style.bracket!=="none"&&n.push({x:s.box.x,yTop:s.box.y,yBottom:s.box.y+s.box.height});for(let c of s.children)i(c);return}},o=s=>{for(let a of s.children)i(a);for(let a of s.nested)o(a)};for(let s of t)o(s);for(let s of e)for(let a of s.nestedSwimlanes)o(a);return{itemBars:r,brackets:n}}function pB(t,e){let{from:r,to:n}=t;if(Math.abs(r.y-n.y)<.5)return{x:(r.x+n.x)/2,underBar:!1,range:null};let i=Math.min(r.y,n.y),o=Math.max(r.y,n.y);if(r.x<=n.x){let a=r.x+6,c=n.x-6;if(a>c)return{x:n.x-6,underBar:!0,range:null};let l={minX:a,maxX:c},u=(r.x+n.x)/2,f=Math.max(a,Math.min(c,u));if(!e.hasObstacle(f,i,o))return{x:f,underBar:!1,range:l};let d=c-a;for(let p=1;p<=d;p++){let m=f-p;if(m>=a&&!e.hasObstacle(m,i,o))return{x:m,underBar:!1,range:l};let g=f+p;if(g<=c&&!e.hasObstacle(g,i,o))return{x:g,underBar:!1,range:l}}return{x:f,underBar:!0,range:l}}let s=[r.x+10,n.x-10];for(let a of s)if(a>0&&!e.hasObstacle(a,i,o))return{x:a,underBar:!1,range:null};return{x:r.x+10,underBar:!0,range:null}}function hB(t,e,r,n){let i=Math.min(r.from.y,r.to.y),o=Math.max(r.from.y,r.to.y),s=n.bracketsNear(t,i,o,4);if(s.length===0)return{x:t,forceUnderBar:!1};let a=s[0],c=Math.abs(s[0].x-t);for(let d=1;d<s.length;d++){let p=Math.abs(s[d].x-t);p<c&&(a=s[d],c=p)}let l=[a.x+4,a.x-4],u=4-.01;for(let d of l){if(e&&(d<e.minX||d>e.maxX))continue;let p=e?d:Math.max(Math.min(r.from.x,r.to.x)+1,Math.min(Math.max(r.from.x,r.to.x)-1,d));if(n.bracketsNear(p,i,o,u).length===0)return{x:p,forceUnderBar:!1}}return{x:e?Math.min(Math.max(t,e.minX),e.maxX):t,forceUnderBar:!0}}function mB(t){let e=[...t].sort((i,o)=>Math.abs(i.channelX-o.channelX)>=1?i.channelX-o.channelX:i.orderIndex-o.orderIndex),r=new Map,n=0;for(;n<e.length;){let i=n+1;for(;i<e.length&&Math.abs(e[i].channelX-e[n].channelX)<1;)i++;let s=[...e.slice(n,i)].sort((c,l)=>{let u=Math.min(c.req.from.y,c.req.to.y),f=Math.min(l.req.from.y,l.req.to.y);return Math.abs(u-f)>.5?u-f:c.orderIndex-l.orderIndex}),a=[];for(let c of s){let l=Math.min(c.req.from.y,c.req.to.y),u=Math.max(c.req.from.y,c.req.to.y),f=-1;for(let d=0;d<a.length;d++)if(a[d]<=l){f=d,a[d]=u;break}f===-1&&(f=a.length,a.push(u)),r.set(c.orderIndex,f)}n=i}return r}function gB(t){if(t===0||t>4)return 0;let e=Math.ceil(t/2);return(t%2===1?1:-1)*e*3}function yB(t){let e=t.from.x>=t.to.x?{x:t.to.x-1,y:t.from.y}:t.from;return{fromId:t.fromId,toId:t.toId,waypoints:[e,t.to],underBar:!1}}function Wk(t,e){let r=new Array(t.length),n=[];for(let o=0;o<t.length;o++){let s=t[o];if(s.isMarkerSource){r[o]=yB(s);continue}if(Math.abs(s.from.y-s.to.y)<.5&&s.to.x-s.from.x<20){r[o]={fromId:s.fromId,toId:s.toId,waypoints:[s.from,s.to],underBar:!1};continue}let{x:a,underBar:c,range:l}=pB(s,e),{x:u,forceUnderBar:f}=hB(a,l,s,e),d=c||f;n.push({req:s,channelX:u,underBar:d,orderIndex:o})}let i=mB(n);for(let o of n){let s=gB(i.get(o.orderIndex)??0),a=o.channelX+s;r[o.orderIndex]={fromId:o.req.fromId,toId:o.req.toId,waypoints:xB(o.req.from,o.req.to,a),underBar:o.underBar}}return r}function xB(t,e,r){return Math.abs(t.y-e.y)<.5?[t,e]:[t,{x:r,y:t.y},{x:r,y:e.y},e]}var wu="en-US",TB={"en-US":{nowLabel:"now",quarterPrefix:"Q"},fr:{nowLabel:"maint.",quarterPrefix:"T"}};function Vk(t,e){return e??t??wu}function gh(t){let e={};for(let r of _B(t)){let n=TB[r];if(n)for(let i of Object.keys(n))e[i]===void 0&&n[i]!==void 0&&(e[i]=n[i])}return e}function _B(t){let e=[],r=EB(t);for(;r.length>0;){e.includes(r)||e.push(r);let n=r.lastIndexOf("-");if(n<=0)break;r=r.slice(0,n)}return e.includes(wu)||e.push(wu),e}function EB(t){return t.split("-").map((r,n)=>n===0?r.toLowerCase():/^[a-zA-Z]{2}$/.test(r)?r.toUpperCase():r).join("-")}function Jk(t){let{box:e,afterDate:r,beforeDate:n,hasLinkIcon:i,footnoteCount:o}=t;if(!r&&!n)return[];let s=[],a=12,c=e.y+5,l=e.width<40;if(r){let u=i?e.x+6+14+4:e.x+6,f=l?{x:e.x-6-a,y:c}:{x:u,y:c};s.push({side:"after",isoDate:r,glyphTopLeft:f,glyphSize:a,spilled:l})}if(n){let u=e.x+e.width,f;o>0?f=u-22-(o-1)*8-4:f=u-12-5-4;let d=f-a,p=l?{x:u+6,y:c}:{x:d,y:c};s.push({side:"before",isoDate:n,glyphTopLeft:p,glyphSize:a,spilled:l})}return s}function xh(t){let{box:e,afterDate:r,beforeDate:n}=t;if(!r&&!n)return[];let i=[],o=12,s=e.y+5;return r&&i.push({side:"after",isoDate:r,glyphTopLeft:{x:e.x+6,y:s},glyphSize:o,spilled:!1}),n&&i.push({side:"before",isoDate:n,glyphTopLeft:{x:e.x+e.width-6-o,y:s},glyphSize:o,spilled:!1}),i}function Vn(t){for(let e of t)if(/^\d{4}-\d{2}-\d{2}$/.test(e))return e}function Th(t,e){return{x:t,y:e,height:0,maxX:t}}var rc=class{constructor(e){de(this,"rows");de(this,"opts");this.opts=e,this.rows=[{y:e.originY,height:e.minRowHeight,rightEdge:e.laneLeftX,spillX:e.laneLeftX,placedChildren:[]}]}placeItem(e){for(let n=0;n<this.rows.length;n+=1){let i=this.rows[n];if(!(e.desiredStart<i.rightEdge)&&!(e.desiredStart<i.spillX)&&!this.rowIntersectsCorridor(i,e))return{rowIndex:n,y:i.y}}let r=this.appendRow(Math.max(this.opts.minRowHeight,e.predictedHeight));return{rowIndex:this.rows.length-1,y:r.y}}placeBlock(){let e=this.rows[this.rows.length-1];if(e.rightEdge>this.opts.laneLeftX){let r=this.appendRow(this.opts.minRowHeight);return{rowIndex:this.rows.length-1,y:r.y}}return{rowIndex:this.rows.length-1,y:e.y}}commitItem(e){let r=this.rows[e.rowIndex],n=Math.max(e.placed.box.height,e.rowHeight??0);this.growRowHeight(e.rowIndex,n),r.rightEdge=e.logicalEnd,r.spillX=e.spillReservation??this.opts.laneLeftX,r.placedChildren.push(e.placed)}commitBlock(e){let r=this.rows[e.rowIndex];this.growRowHeight(e.rowIndex,e.blockHeight),r.rightEdge=e.blockEnd,r.spillX=this.opts.laneLeftX,r.placedChildren.push(e.placed)}usedHeight(){let e=this.rows[this.rows.length-1];return e.y+e.height-this.opts.originY}usedRightX(){let e=this.opts.laneLeftX;for(let r of this.rows)r.rightEdge>e&&(e=r.rightEdge),r.spillX>e&&(e=r.spillX);return e}rowIntersectsCorridor(e,r){return this.opts.slackCorridors.some(n=>n.y>=e.y&&n.y<e.y+e.height&&r.desiredStart<n.xEnd&&r.desiredEnd>n.xStart&&n.slackPredId!==r.childId)}appendRow(e){let r=this.rows[this.rows.length-1],n={y:r.y+r.height,height:e,rightEdge:this.opts.laneLeftX,spillX:this.opts.laneLeftX,placedChildren:[]};return this.rows.push(n),n}growRowHeight(e,r){let n=this.rows[e],i=r-n.height;if(!(i<=0)){n.height=r;for(let o=e+1;o<this.rows.length;o+=1){let s=this.rows[o];s.y+=i;for(let a of s.placedChildren)Qk(a,i)}}}};function Qk(t,e){if(t.box.y+=e,t.kind==="item"){for(let r of t.labelChips)r.box.y+=e;t.overflowBox&&(t.overflowBox.y+=e);return}for(let r of t.children)Qk(r,e)}var eN={red:"#f87171",blue:"#60a5fa",yellow:"#facc15",green:"#34d399",orange:"#fb923c",purple:"#a78bfa",gray:"#94a3b8",navy:"#818cf8",white:"#e2e8f0"},Yn={bg:"none",fg:"#e2e8f0",text:"#e2e8f0",border:"solid",icon:"none",shadow:"none",font:"sans",weight:"normal",italic:!1,textSize:"md",padding:"sm",spacing:"sm",headerHeight:"sm",cornerRadius:"sm",bracket:"none",capacityIcon:"multiplier"},w_={name:"dark",surface:{page:"#0b1220",chart:"#111827",headerBox:"#1e293b"},entities:{roadmap:{...Yn,headerHeight:"md",padding:"md"},swimlane:{...Yn,fg:"#e2e8f0",text:"#e2e8f0",padding:"sm",spacing:"none",textSize:"sm"},item:{...Yn,bg:"#0f172a",fg:"#94a3b8",text:"#e2e8f0",shadow:"subtle",cornerRadius:"sm"},parallel:{...Yn,bracket:"none",padding:"xs"},group:{...Yn,bracket:"solid",padding:"xs",fg:"#94a3b8"},anchor:{...Yn,bg:"#0b1220",fg:"#cbd5e1",text:"#cbd5e1",cornerRadius:"sm"},milestone:{...Yn,bg:"#e2e8f0",fg:"#e2e8f0",text:"#0b1220",border:"solid"},footnote:{...Yn,bg:"none",fg:"#94a3b8",text:"#e2e8f0",textSize:"sm"},label:{...Yn,bg:"#1e293b",fg:"#94a3b8",text:"#e2e8f0",textSize:"xs",padding:"xs",cornerRadius:"full"}},swimlane:{bandEven:"#111827",bandOdd:"#0f172a",separator:"#1f2937",frameTabText:"#e2e8f0",frameTabMuted:"#94a3b8",border:"#334155",tabFill:"#1e293b",tabStroke:"#475569",tabText:"#e2e8f0",ownerText:"#94a3b8",footnoteIndicator:"#f87171",rowTintEven:"#0f172a",rowTintOdd:"#1e293b",utilizationOk:"#34d399",utilizationWarn:"#fbbf24",utilizationOver:"#f87171"},timeline:{gridLine:"#475569",minorGridLine:"#334155",tickMark:"#334155",labelText:"#cbd5e1",panelFill:"#0f172a",border:"#334155"},header:{cardBorder:"#475569",author:"#94a3b8"},item:{overflowX:"#f87171",linkIconFg:"#94a3b8",overflowTailFill:"#7f1d1d",overflowTailStroke:"#f87171",overflowCaption:"#fecaca"},parallel:{bracketStroke:"#cbd5e1"},anchorDiamond:{fill:"#0f172a",stroke:"#cbd5e1",label:"#cbd5e1",cutLine:"#94a3b8"},milestoneDiamond:{fill:"#e2e8f0",label:"#e2e8f0",cutLineNormal:"#a5b4fc",cutLineOverrun:"#ef4444",slack:"#cbd5e1"},footnotePanel:{fill:"#0f172a",border:"#334155",header:"#e2e8f0",title:"#e2e8f0",description:"#94a3b8",number:"#f87171"},nowline:{stroke:"#f87171",labelText:"#0b1220",labelBg:"#f87171"},milestone:{dashedInk:"#a5b4fc",overrun:"#ef4444"},anchor:{predecessorLine:"#94a3b8"},dependency:{edgeStroke:"#cbd5e1",overflowStroke:"#ef5350"},footnote:{indicatorText:"#f87171",descriptionMuted:"#94a3b8"},includeRegion:{border:"#475569",label:"#cbd5e1",badge:"#94a3b8",fill:"#0b1220",tabFill:"#111827",tabStroke:"#475569",tabText:"#e2e8f0",badgeFill:"#1e293b",badgeStroke:"#475569",badgeText:"#94a3b8"},arrowhead:{neutral:"#94a3b8",light:"#64748b",dark:"#e2e8f0"},status:{done:"#34d399",inProgress:"#60a5fa",atRisk:"#facc15",blocked:"#ef4444",planned:"#94a3b8",neutral:"#94a3b8"},statusDot:{onLight:{done:"#065f46",inProgress:"#1e3a8a",atRisk:"#92400e",blocked:"#991b1b",planned:"#334155",neutral:"#334155"},onDark:{done:"#d1fae5",inProgress:"#dbeafe",atRisk:"#fef3c7",blocked:"#fee2e2",planned:"#e2e8f0",neutral:"#e2e8f0"}},attribution:{mark:"#cbd5e1",link:"#f87171"},diagnostic:{overlayBg:"#7f1d1d",errorText:"#fecaca"}};var tN={red:"#4a4a4a",blue:"#6b6b6b",green:"#8a8a8a",yellow:"#c8c8c8",orange:"#5c5c5c",purple:"#3a3a3a",gray:"#9e9e9e",navy:"#2a2a2a",white:"#ffffff"},Kn={bg:"none",fg:"#1a1a1a",text:"#1a1a1a",border:"solid",icon:"none",shadow:"none",font:"sans",weight:"normal",italic:!1,textSize:"md",padding:"sm",spacing:"sm",headerHeight:"sm",cornerRadius:"sm",bracket:"none",capacityIcon:"multiplier"},A_={name:"grayscale",surface:{page:"#f5f5f5",chart:"#ffffff",headerBox:"#ffffff"},entities:{roadmap:{...Kn,headerHeight:"md",padding:"md"},swimlane:{...Kn,fg:"#3a3a3a",text:"#3a3a3a",padding:"sm",spacing:"none",textSize:"sm"},item:{...Kn,bg:"#ffffff",fg:"#9e9e9e",text:"#1a1a1a",shadow:"subtle",cornerRadius:"sm"},parallel:{...Kn,bracket:"none",padding:"xs"},group:{...Kn,bracket:"solid",padding:"xs",fg:"#595959"},anchor:{...Kn,bg:"#1a1a1a",fg:"#1a1a1a",text:"#1a1a1a",cornerRadius:"sm"},milestone:{...Kn,bg:"#2a2a2a",fg:"#2a2a2a",text:"#ffffff",border:"solid"},footnote:{...Kn,bg:"none",fg:"#595959",text:"#595959",textSize:"sm"},label:{...Kn,bg:"#e8e8e8",fg:"#595959",text:"#595959",textSize:"xs",padding:"xs",cornerRadius:"full"}},swimlane:{bandEven:"#ffffff",bandOdd:"#f5f5f5",separator:"#d4d4d4",frameTabText:"#3a3a3a",frameTabMuted:"#737373",border:"#d4d4d4",tabFill:"#e8e8e8",tabStroke:"#bdbdbd",tabText:"#3a3a3a",ownerText:"#737373",footnoteIndicator:"#4a4a4a",rowTintEven:"#ffffff",rowTintOdd:"#f5f5f5",utilizationOk:"#8a8a8a",utilizationWarn:"#595959",utilizationOver:"#1a1a1a"},timeline:{gridLine:"#bdbdbd",minorGridLine:"#d4d4d4",tickMark:"#bdbdbd",labelText:"#737373",panelFill:"#ffffff",border:"#d4d4d4"},header:{cardBorder:"#d4d4d4",author:"#737373"},item:{overflowX:"#1a1a1a",linkIconFg:"#1a1a1a",overflowTailFill:"#e8e8e8",overflowTailStroke:"#4a4a4a",overflowCaption:"#3a3a3a"},parallel:{bracketStroke:"#3a3a3a"},anchorDiamond:{fill:"#ffffff",stroke:"#3a3a3a",label:"#3a3a3a",cutLine:"#737373"},milestoneDiamond:{fill:"#1a1a1a",label:"#1a1a1a",cutLineNormal:"#2a2a2a",cutLineOverrun:"#4a4a4a",slack:"#1a1a1a"},footnotePanel:{fill:"#ffffff",border:"#d4d4d4",header:"#1a1a1a",title:"#1a1a1a",description:"#737373",number:"#4a4a4a"},nowline:{stroke:"#1a1a1a",labelText:"#ffffff",labelBg:"#1a1a1a"},milestone:{dashedInk:"#9e9e9e",overrun:"#4a4a4a"},anchor:{predecessorLine:"#9e9e9e"},dependency:{edgeStroke:"#595959",overflowStroke:"#1a1a1a"},footnote:{indicatorText:"#4a4a4a",descriptionMuted:"#737373"},includeRegion:{border:"#9e9e9e",label:"#3a3a3a",badge:"#737373",fill:"#f5f5f5",tabFill:"#ffffff",tabStroke:"#bdbdbd",tabText:"#1a1a1a",badgeFill:"#e8e8e8",badgeStroke:"#bdbdbd",badgeText:"#595959"},arrowhead:{neutral:"#595959",light:"#9e9e9e",dark:"#1a1a1a"},status:{done:"#8a8a8a",inProgress:"#595959",atRisk:"#737373",blocked:"#3a3a3a",planned:"#bdbdbd",neutral:"#bdbdbd"},statusDot:{onLight:{done:"#3a3a3a",inProgress:"#2a2a2a",atRisk:"#4a4a4a",blocked:"#1a1a1a",planned:"#595959",neutral:"#595959"},onDark:{done:"#d4d4d4",inProgress:"#e8e8e8",atRisk:"#c8c8c8",blocked:"#f0f0f0",planned:"#d4d4d4",neutral:"#d4d4d4"}},attribution:{mark:"#9e9e9e",link:"#1a1a1a"},diagnostic:{overlayBg:"#e8e8e8",errorText:"#1a1a1a"}};var rN={red:"#e53935",blue:"#1e88e5",yellow:"#fdd835",green:"#43a047",orange:"#fb8c00",purple:"#8e24aa",gray:"#9e9e9e",navy:"#0d47a1",white:"#ffffff"},Zn={bg:"none",fg:"#0f172a",text:"#0f172a",border:"solid",icon:"none",shadow:"none",font:"sans",weight:"normal",italic:!1,textSize:"md",padding:"sm",spacing:"sm",headerHeight:"sm",cornerRadius:"sm",bracket:"none",capacityIcon:"multiplier"},S_={name:"light",surface:{page:"#f8fafc",chart:"#ffffff",headerBox:"#ffffff"},entities:{roadmap:{...Zn,headerHeight:"md",padding:"md"},swimlane:{...Zn,fg:"#334155",text:"#334155",padding:"sm",spacing:"none",textSize:"sm"},item:{...Zn,bg:"#ffffff",fg:"#94a3b8",text:"#0f172a",shadow:"subtle",cornerRadius:"sm"},parallel:{...Zn,bracket:"none",padding:"xs"},group:{...Zn,bracket:"solid",padding:"xs",fg:"#475569"},anchor:{...Zn,bg:"#0f172a",fg:"#0f172a",text:"#0f172a",cornerRadius:"sm"},milestone:{...Zn,bg:"#312e81",fg:"#312e81",text:"#ffffff",border:"solid"},footnote:{...Zn,bg:"none",fg:"#475569",text:"#475569",textSize:"sm"},label:{...Zn,bg:"#f1f5f9",fg:"#475569",text:"#475569",textSize:"xs",padding:"xs",cornerRadius:"full"}},swimlane:{bandEven:"#ffffff",bandOdd:"#f8fafc",separator:"#e2e8f0",frameTabText:"#334155",frameTabMuted:"#64748b",border:"#e2e8f0",tabFill:"#f1f5f9",tabStroke:"#cbd5e1",tabText:"#334155",ownerText:"#64748b",footnoteIndicator:"#dc2626",rowTintEven:"#ffffff",rowTintOdd:"#f8fafc",utilizationOk:"#10b981",utilizationWarn:"#f59e0b",utilizationOver:"#ef4444"},timeline:{gridLine:"#cbd5e1",minorGridLine:"#e2e8f0",tickMark:"#cbd5e1",labelText:"#64748b",panelFill:"#ffffff",border:"#e2e8f0"},header:{cardBorder:"#e2e8f0",author:"#64748b"},item:{overflowX:"#dc2626",linkIconFg:"#0f172a",overflowTailFill:"#fee2e2",overflowTailStroke:"#ef4444",overflowCaption:"#b91c1c"},parallel:{bracketStroke:"#334155"},anchorDiamond:{fill:"#ffffff",stroke:"#334155",label:"#334155",cutLine:"#64748b"},milestoneDiamond:{fill:"#0f172a",label:"#0f172a",cutLineNormal:"#1e1b4b",cutLineOverrun:"#b91c1c",slack:"#0f172a"},footnotePanel:{fill:"#ffffff",border:"#e2e8f0",header:"#0f172a",title:"#0f172a",description:"#64748b",number:"#dc2626"},nowline:{stroke:"#e53e3e",labelText:"#ffffff",labelBg:"#e53e3e"},milestone:{dashedInk:"#94a3b8",overrun:"#ef4444"},anchor:{predecessorLine:"#94a3b8"},dependency:{edgeStroke:"#475569",overflowStroke:"#d32f2f"},footnote:{indicatorText:"#e53e3e",descriptionMuted:"#64748b"},includeRegion:{border:"#94a3b8",label:"#334155",badge:"#64748b",fill:"#f8fafc",tabFill:"#ffffff",tabStroke:"#cbd5e1",tabText:"#0f172a",badgeFill:"#e2e8f0",badgeStroke:"#cbd5e1",badgeText:"#475569"},arrowhead:{neutral:"#475569",light:"#94a3b8",dark:"#0f172a"},status:{done:"#10b981",inProgress:"#3b82f6",atRisk:"#f59e0b",blocked:"#ef4444",planned:"#94a3b8",neutral:"#94a3b8"},statusDot:{onLight:{done:"#065f46",inProgress:"#1e3a8a",atRisk:"#92400e",blocked:"#991b1b",planned:"#334155",neutral:"#334155"},onDark:{done:"#d1fae5",inProgress:"#dbeafe",atRisk:"#fef3c7",blocked:"#fee2e2",planned:"#e2e8f0",neutral:"#e2e8f0"}},attribution:{mark:"#94a3b8",link:"#e53e3e"},diagnostic:{overlayBg:"#fee2e2",errorText:"#991b1b"}};var I_={light:S_,dark:w_,grayscale:A_};var wB={greyscale:"grayscale"};function k_(t){let e=t.toLowerCase(),r=wB[e]??e;if(r==="light"||r==="dark"||r==="grayscale")return r}var AB={grey:"gray",violet:"purple"};function Ko(t,e){if(t==="none")return"none";if(t.startsWith("#"))return t;let r=e.name==="dark"?eN:e.name==="grayscale"?tN:rN,n=AB[t]??t,i=r[n];return typeof i=="string"?i:t}function nc(t){return t.key.endsWith(":")?t.key.slice(0,-1):t.key}function SB(t,e){return{bg:Ko(t.bg,e),fg:Ko(t.fg,e),text:Ko(t.text,e),border:t.border,icon:t.icon,shadow:t.shadow,font:t.font,weight:t.weight,italic:t.italic,textSize:t.textSize,padding:t.padding,spacing:t.spacing,headerHeight:t.headerHeight,cornerRadius:t.cornerRadius,bracket:t.bracket,headerPosition:"beside",capacityIcon:t.capacityIcon,timelinePosition:"top",minorGrid:!1}}function N_(t,e,r,n){switch(e){case"bg":t.bg=Ko(r,n);break;case"fg":t.fg=Ko(r,n);break;case"text":t.text=Ko(r,n);break;case"border":(r==="solid"||r==="dashed"||r==="dotted")&&(t.border=r);break;case"icon":t.icon=r;break;case"shadow":(r==="none"||r==="subtle"||r==="soft"||r==="hard")&&(t.shadow=r);break;case"font":(r==="sans"||r==="serif"||r==="mono")&&(t.font=r);break;case"weight":(r==="thin"||r==="light"||r==="normal"||r==="bold")&&(t.weight=r);break;case"italic":t.italic=r==="true";break;case"text-size":t.textSize=Iu(r,"xl");break;case"padding":t.padding=Iu(r,"xl");break;case"spacing":t.spacing=Iu(r,"xl");break;case"header-height":t.headerHeight=Iu(r,"xl");break;case"corner-radius":t.cornerRadius=Iu(r,"full");break;case"bracket":(r==="none"||r==="solid"||r==="dashed")&&(t.bracket=r);break;case"header-position":(r==="beside"||r==="above")&&(t.headerPosition=r);break;case"capacity-icon":t.capacityIcon=r;break;case"timeline-position":(r==="top"||r==="bottom"||r==="both")&&(t.timelinePosition=r);break;case"minor-grid":t.minorGrid=r==="true";break;default:break}}function Iu(t,e){let r=["none","xs","sm","md","lg","xl","full"],n=r.indexOf(e),i=r.indexOf(t);return i<0?"md":i>n?r[n]:r[i]}function nN(t,e,r){if(e)for(let n of e.properties)N_(t,nc(n),n.value,r)}function IB(t,e,r){for(let n of e){let i=nc(n);n.value!==void 0&&N_(t,i,n.value,r)}}function kB(t,e,r){let n=e.find(o=>nc(o)==="labels");if(!n)return;let i=n.value?[n.value]:n.values;for(let o of i){let s=r.labels.get(o);if(!s)continue;let a=s.properties.find(c=>nc(c)==="style");a?.value&&nN(t,r.styles.get(a.value),r.theme)}}function NB(t,e,r){let n=e.find(i=>nc(i)==="style");n?.value&&nN(t,r.styles.get(n.value),r.theme)}function yt(t,e,r){let n=r.theme.entities[t],i=SB(n,r.theme),o=r.defaults.get(t);if(o)for(let s of o.properties)s.value!==void 0&&N_(i,nc(s),s.value,r.theme);return kB(i,e,r),NB(i,e,r),IB(i,e,r.theme),i}function iN(t,e){return yt("label",t.properties,e)}var oN={none:0,xs:2,sm:4,md:8,lg:16,xl:24},sN={none:0,xs:4,sm:8,md:12,lg:20,xl:32};var ic={none:0,xs:10,sm:12,md:14,lg:18,xl:24},_h={none:0,xs:2,sm:4,md:8,lg:12,xl:20,full:9999};var Pr=8,Rn=4,ku=24,Eh=15,Nu=8,vh=22,Rh=15,Pu=16,bh=6,P_=4,C_=11,O_=9,L_=5.5,D_=4,oc=12,wh="6 4",$_=36,qi=16,M_=qi/2,Cu=10,F_=qi-4,sc=6,Ah=2.25,Jr=6,Qr=2*Jr,aN=5,cN=120,U_=240,Sh=72,Ou=28,en=16,B_=22,Lu=18,Ih="Powered by",G_="https://nowline.io",Du=.22,Wi=40,kh=32,lN=.58,PB=Ih.length*kh*lN,CB=10,$u=PB+CB,X_=$u+74,H_=5,Nh=$u+81,OB=3*Wi*lN,LB=Nh+OB,DB=12+Wi,j_=LB*Du,uN=DB*Du,z_=4;var je={sans:'system-ui, -apple-system, "Segoe UI", Roboto, sans-serif',serif:'Georgia, "Times New Roman", serif',mono:"ui-monospace, SFMono-Regular, Menlo, Consolas, monospace"},fN={days:7,weeks:4,months:3,quarters:4,years:5};var Ph=class{constructor(e,r){de(this,"node");de(this,"deps");this.node=e,this.deps=r}get id(){return this.node.name??""}place(e,r){let{node:n}=this,{deps:i}=this,o=yt("group",n.properties,r.styleCtx),s=e.x,a=n.title??n.name,c=r.currentFlowKey;r.currentFlowKey=`${c}/group:${n.name??"g"}`;let l=o.bg!=="none"&&o.bg!=="#ffffff"&&!!a,u=l?Pu+P_:0,f=l?D_:0,d=!l&&a?oc:0,p=e.y+d,m=r.bandScale.step(),g=s,v=new rc({laneLeftX:g,originY:p+u,minRowHeight:m,slackCorridors:r.slackCorridors}),T=g,_=[];for(let z of n.content){if(z.$type==="DescriptionDirective")continue;if(!yr(z)){let te=z.properties??[],De=i.resolveChildStart(te,T,g,r),{rowIndex:Ne,y:Xe}=v.placeBlock(),q=i.newCursor(De,Xe),J=i.sequenceOne(z,q,r);_.push(J);let re=J.box.x+J.box.width,P=Math.max(m,q.height);v.commitBlock({rowIndex:Ne,placed:J,blockHeight:P,blockEnd:re}),T=Math.max(T,re);continue}let le=z.properties,O=i.resolveChildStart(le,T,g,r),R=zi(le,r.sizes,r.cal),L=Math.max(Pr,R*r.timeline.pixelsPerDay),$=O+L,w=z.name??"",A=i.predictItemChipExtraHeight(z,r),S=m+A,{rowIndex:M,y:X}=v.placeItem({childId:w,desiredStart:O,desiredEnd:$,predictedHeight:S}),F=i.newCursor(O,X),W=i.sequenceItem(z,F,r);_.push(W);let Z=W.box.x+W.box.width+Jr;T=Math.max(T,Z);let pe=null;(W.textSpills||W.chipsOutside||W.dotSpills||W.iconSpills||W.footnoteSpills)&&(pe=Math.max(W.decorationsRightX,W.chipsOutside?W.chipsRightX:0)+6),v.commitItem({rowIndex:M,placed:W,logicalEnd:Z,spillReservation:pe,rowHeight:S})}let E=Math.max(m,v.usedHeight()),I=Math.max(T,v.usedRightX()),D={x:s,y:p,width:I-s,height:u+E+f};e.x=T+Nu,e.maxX=Math.max(e.maxX,e.x);let k=r.bandScale.step()-r.bandScale.bandwidth();e.height=Math.max(e.height,d+D.height+k);let B=n.name;B&&(r.entityLeftEdges.set(B,D.x),r.entityRightEdges.set(B,D.x+D.width)),r.currentFlowKey=c;let U=xh({box:D,afterDate:Vn(gt(n.properties,"after")),beforeDate:Vn(gt(n.properties,"before"))});return{kind:"group",id:B,title:a,box:D,children:_,style:o,inlineDatePins:U.length>0?U:void 0}}};var q_=12,$B=4,MB=13,FB=11;function dN(t,e){return t.length*e*.58}var Ch=class{constructor(e){de(this,"input");this.input=e}get id(){return this.input.id}measure(e){return{width:Math.max(Pr,this.input.logicalRightX-this.input.logicalLeftX),height:e.bands.bandwidth()}}place(e,r){let n=this.measure(r),i=Math.max(Pr,n.width-2*Jr),o=e.x+Jr,s={x:o,y:e.y,width:i,height:n.height},a=this.input.hasLinkIcon?20+UB-q_:0,c=q_+Math.max(0,a),l=Math.max(0,i-c-q_),u=this.input.title,f=u?dN(u,MB):0,d=this.input.metaText?dN(this.input.metaText,FB):0,p=this.input.metaTrailingWidth??0,m=d+p,g=this.input.metaText!==void 0||p>0,v=u.length>0&&f>l||g&&m>l,T=v?o+i+$B:o+c;return{id:this.input.id,box:s,textX:T,textSpills:v}}},UB=4;var Oh=class{constructor(e,r){de(this,"node");de(this,"deps");this.node=e,this.deps=r}get id(){return this.node.name??""}place(e,r){let{node:n}=this,{deps:i}=this,o=yt("parallel",n.properties,r.styleCtx),s=e.x,a=e.y,c=[],l=s,u=0,f=r.currentFlowKey,d=n.name??"p",p=0;for(let T of n.content){if(T.$type==="DescriptionDirective")continue;r.currentFlowKey=`${f}/par:${d}#${p}`;let _=i.newCursor(s,a+u),E=i.sequenceOne(T,_,r);c.push(E),u+=Math.max(r.bandScale.step(),_.height),l=Math.max(l,_.maxX),p++}r.currentFlowKey=f;let m={x:s,y:a,width:l-s,height:u};e.x=l+Nu,e.maxX=Math.max(e.maxX,e.x),e.height=Math.max(e.height,u);let g=n.name;g&&(r.entityLeftEdges.set(g,m.x),r.entityRightEdges.set(g,m.x+m.width));let v=xh({box:m,afterDate:Vn(gt(n.properties,"after")),beforeDate:Vn(gt(n.properties,"before"))});return{kind:"parallel",id:g,title:n.title??n.name,box:m,children:c,style:o,inlineDatePins:v.length>0?v:void 0}}};function Zo(t,e){return t==null||e==null?NaN:t<e?-1:t>e?1:t>=e?0:NaN}function W_(t,e){return t==null||e==null?NaN:e<t?-1:e>t?1:e>=t?0:NaN}function Jo(t){let e,r,n;t.length!==2?(e=Zo,r=(a,c)=>Zo(t(a),c),n=(a,c)=>t(a)-c):(e=t===Zo||t===W_?t:BB,r=t,n=t);function i(a,c,l=0,u=a.length){if(l<u){if(e(c,c)!==0)return u;do{let f=l+u>>>1;r(a[f],c)<0?l=f+1:u=f}while(l<u)}return l}function o(a,c,l=0,u=a.length){if(l<u){if(e(c,c)!==0)return u;do{let f=l+u>>>1;r(a[f],c)<=0?l=f+1:u=f}while(l<u)}return l}function s(a,c,l=0,u=a.length){let f=i(a,c,l,u-1);return f>l&&n(a[f-1],c)>-n(a[f],c)?f-1:f}return{left:i,center:s,right:o}}function BB(){return 0}function V_(t){return t===null?NaN:+t}var pN=Jo(Zo),hN=pN.right,GB=pN.left,XB=Jo(V_).center,Y_=hN;var ac=class extends Map{constructor(e,r=zB){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:r}}),e!=null)for(let[n,i]of e)this.set(n,i)}get(e){return super.get(mN(this,e))}has(e){return super.has(mN(this,e))}set(e,r){return super.set(HB(this,e),r)}delete(e){return super.delete(jB(this,e))}};function mN({_intern:t,_key:e},r){let n=e(r);return t.has(n)?t.get(n):r}function HB({_intern:t,_key:e},r){let n=e(r);return t.has(n)?t.get(n):(t.set(n,r),r)}function jB({_intern:t,_key:e},r){let n=e(r);return t.has(n)&&(r=t.get(n),t.delete(n)),r}function zB(t){return t!==null&&typeof t=="object"?t.valueOf():t}var qB=Math.sqrt(50),WB=Math.sqrt(10),VB=Math.sqrt(2);function gN(t,e,r){let n=(e-t)/Math.max(0,r),i=Math.floor(Math.log10(n)),o=n/Math.pow(10,i),s=o>=qB?10:o>=WB?5:o>=VB?2:1,a,c,l;return i<0?(l=Math.pow(10,-i)/s,a=Math.round(t*l),c=Math.round(e*l),a/l<t&&++a,c/l>e&&--c,l=-l):(l=Math.pow(10,i)*s,a=Math.round(t/l),c=Math.round(e/l),a*l<t&&++a,c*l>e&&--c),c<a&&.5<=r&&r<2?gN(t,e,r*2):[a,c,l]}function K_(t,e,r){return e=+e,t=+t,r=+r,gN(t,e,r)[2]}function Lh(t,e,r){e=+e,t=+t,r=+r;let n=e<t,i=n?K_(e,t,r):K_(t,e,r);return(n?-1:1)*(i<0?1/-i:i)}function Dh(t,e,r){t=+t,e=+e,r=(i=arguments.length)<2?(e=t,t=0,1):i<3?1:+r;for(var n=-1,i=Math.max(0,Math.ceil((e-t)/r))|0,o=new Array(i);++n<i;)o[n]=t+n*r;return o}function cc(t,e){switch(arguments.length){case 0:break;case 1:this.range(t);break;default:this.range(e).domain(t);break}return this}var yN=Symbol("implicit");function $h(){var t=new ac,e=[],r=[],n=yN;function i(o){let s=t.get(o);if(s===void 0){if(n!==yN)return n;t.set(o,s=e.push(o)-1)}return r[s%r.length]}return i.domain=function(o){if(!arguments.length)return e.slice();e=[],t=new ac;for(let s of o)t.has(s)||t.set(s,e.push(s)-1);return i},i.range=function(o){return arguments.length?(r=Array.from(o),i):r.slice()},i.unknown=function(o){return arguments.length?(n=o,i):n},i.copy=function(){return $h(e,r).unknown(n)},cc.apply(i,arguments),i}function Mu(){var t=$h().unknown(void 0),e=t.domain,r=t.range,n=0,i=1,o,s,a=!1,c=0,l=0,u=.5;delete t.unknown;function f(){var d=e().length,p=i<n,m=p?i:n,g=p?n:i;o=(g-m)/Math.max(1,d-c+l*2),a&&(o=Math.floor(o)),m+=(g-m-o*(d-c))*u,s=o*(1-c),a&&(m=Math.round(m),s=Math.round(s));var v=Dh(d).map(function(T){return m+o*T});return r(p?v.reverse():v)}return t.domain=function(d){return arguments.length?(e(d),f()):e()},t.range=function(d){return arguments.length?([n,i]=d,n=+n,i=+i,f()):[n,i]},t.rangeRound=function(d){return[n,i]=d,n=+n,i=+i,a=!0,f()},t.bandwidth=function(){return s},t.step=function(){return o},t.round=function(d){return arguments.length?(a=!!d,f()):a},t.padding=function(d){return arguments.length?(c=Math.min(1,l=+d),f()):c},t.paddingInner=function(d){return arguments.length?(c=Math.min(1,d),f()):c},t.paddingOuter=function(d){return arguments.length?(l=+d,f()):l},t.align=function(d){return arguments.length?(u=Math.max(0,Math.min(1,d)),f()):u},t.copy=function(){return Mu(e(),[n,i]).round(a).paddingInner(c).paddingOuter(l).align(u)},cc.apply(f(),arguments)}function Mh(t,e,r){t.prototype=e.prototype=r,r.constructor=t}function Z_(t,e){var r=Object.create(t.prototype);for(var n in e)r[n]=e[n];return r}function Bu(){}var Fu=.7,Bh=1/Fu,lc="\\s*([+-]?\\d+)\\s*",Uu="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",bn="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",YB=/^#([0-9a-f]{3,8})$/,KB=new RegExp(`^rgb\\(${lc},${lc},${lc}\\)$`),ZB=new RegExp(`^rgb\\(${bn},${bn},${bn}\\)$`),JB=new RegExp(`^rgba\\(${lc},${lc},${lc},${Uu}\\)$`),QB=new RegExp(`^rgba\\(${bn},${bn},${bn},${Uu}\\)$`),e4=new RegExp(`^hsl\\(${Uu},${bn},${bn}\\)$`),t4=new RegExp(`^hsla\\(${Uu},${bn},${bn},${Uu}\\)$`),xN={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};Mh(Bu,Vi,{copy(t){return Object.assign(new this.constructor,this,t)},displayable(){return this.rgb().displayable()},hex:TN,formatHex:TN,formatHex8:r4,formatHsl:n4,formatRgb:_N,toString:_N});function TN(){return this.rgb().formatHex()}function r4(){return this.rgb().formatHex8()}function n4(){return AN(this).formatHsl()}function _N(){return this.rgb().formatRgb()}function Vi(t){var e,r;return t=(t+"").trim().toLowerCase(),(e=YB.exec(t))?(r=e[1].length,e=parseInt(e[1],16),r===6?EN(e):r===3?new cr(e>>8&15|e>>4&240,e>>4&15|e&240,(e&15)<<4|e&15,1):r===8?Fh(e>>24&255,e>>16&255,e>>8&255,(e&255)/255):r===4?Fh(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|e&240,((e&15)<<4|e&15)/255):null):(e=KB.exec(t))?new cr(e[1],e[2],e[3],1):(e=ZB.exec(t))?new cr(e[1]*255/100,e[2]*255/100,e[3]*255/100,1):(e=JB.exec(t))?Fh(e[1],e[2],e[3],e[4]):(e=QB.exec(t))?Fh(e[1]*255/100,e[2]*255/100,e[3]*255/100,e[4]):(e=e4.exec(t))?bN(e[1],e[2]/100,e[3]/100,1):(e=t4.exec(t))?bN(e[1],e[2]/100,e[3]/100,e[4]):xN.hasOwnProperty(t)?EN(xN[t]):t==="transparent"?new cr(NaN,NaN,NaN,0):null}function EN(t){return new cr(t>>16&255,t>>8&255,t&255,1)}function Fh(t,e,r,n){return n<=0&&(t=e=r=NaN),new cr(t,e,r,n)}function i4(t){return t instanceof Bu||(t=Vi(t)),t?(t=t.rgb(),new cr(t.r,t.g,t.b,t.opacity)):new cr}function uc(t,e,r,n){return arguments.length===1?i4(t):new cr(t,e,r,n??1)}function cr(t,e,r,n){this.r=+t,this.g=+e,this.b=+r,this.opacity=+n}Mh(cr,uc,Z_(Bu,{brighter(t){return t=t==null?Bh:Math.pow(Bh,t),new cr(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=t==null?Fu:Math.pow(Fu,t),new cr(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new cr(es(this.r),es(this.g),es(this.b),Gh(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:vN,formatHex:vN,formatHex8:o4,formatRgb:RN,toString:RN}));function vN(){return`#${Qo(this.r)}${Qo(this.g)}${Qo(this.b)}`}function o4(){return`#${Qo(this.r)}${Qo(this.g)}${Qo(this.b)}${Qo((isNaN(this.opacity)?1:this.opacity)*255)}`}function RN(){let t=Gh(this.opacity);return`${t===1?"rgb(":"rgba("}${es(this.r)}, ${es(this.g)}, ${es(this.b)}${t===1?")":`, ${t})`}`}function Gh(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function es(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function Qo(t){return t=es(t),(t<16?"0":"")+t.toString(16)}function bN(t,e,r,n){return n<=0?t=e=r=NaN:r<=0||r>=1?t=e=NaN:e<=0&&(t=NaN),new tn(t,e,r,n)}function AN(t){if(t instanceof tn)return new tn(t.h,t.s,t.l,t.opacity);if(t instanceof Bu||(t=Vi(t)),!t)return new tn;if(t instanceof tn)return t;t=t.rgb();var e=t.r/255,r=t.g/255,n=t.b/255,i=Math.min(e,r,n),o=Math.max(e,r,n),s=NaN,a=o-i,c=(o+i)/2;return a?(e===o?s=(r-n)/a+(r<n)*6:r===o?s=(n-e)/a+2:s=(e-r)/a+4,a/=c<.5?o+i:2-o-i,s*=60):a=c>0&&c<1?0:s,new tn(s,a,c,t.opacity)}function SN(t,e,r,n){return arguments.length===1?AN(t):new tn(t,e,r,n??1)}function tn(t,e,r,n){this.h=+t,this.s=+e,this.l=+r,this.opacity=+n}Mh(tn,SN,Z_(Bu,{brighter(t){return t=t==null?Bh:Math.pow(Bh,t),new tn(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=t==null?Fu:Math.pow(Fu,t),new tn(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+(this.h<0)*360,e=isNaN(t)||isNaN(this.s)?0:this.s,r=this.l,n=r+(r<.5?r:1-r)*e,i=2*r-n;return new cr(J_(t>=240?t-240:t+120,i,n),J_(t,i,n),J_(t<120?t+240:t-120,i,n),this.opacity)},clamp(){return new tn(wN(this.h),Uh(this.s),Uh(this.l),Gh(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){let t=Gh(this.opacity);return`${t===1?"hsl(":"hsla("}${wN(this.h)}, ${Uh(this.s)*100}%, ${Uh(this.l)*100}%${t===1?")":`, ${t})`}`}}));function wN(t){return t=(t||0)%360,t<0?t+360:t}function Uh(t){return Math.max(0,Math.min(1,t||0))}function J_(t,e,r){return(t<60?e+(r-e)*t/60:t<180?r:t<240?e+(r-e)*(240-t)/60:e)*255}function Q_(t,e,r,n,i){var o=t*t,s=o*t;return((1-3*t+3*o-s)*e+(4-6*o+3*s)*r+(1+3*t+3*o-3*s)*n+s*i)/6}function IN(t){var e=t.length-1;return function(r){var n=r<=0?r=0:r>=1?(r=1,e-1):Math.floor(r*e),i=t[n],o=t[n+1],s=n>0?t[n-1]:2*i-o,a=n<e-1?t[n+2]:2*o-i;return Q_((r-n/e)*e,s,i,o,a)}}function kN(t){var e=t.length;return function(r){var n=Math.floor(((r%=1)<0?++r:r)*e),i=t[(n+e-1)%e],o=t[n%e],s=t[(n+1)%e],a=t[(n+2)%e];return Q_((r-n/e)*e,i,o,s,a)}}var Gu=t=>()=>t;function s4(t,e){return function(r){return t+r*e}}function a4(t,e,r){return t=Math.pow(t,r),e=Math.pow(e,r)-t,r=1/r,function(n){return Math.pow(t+n*e,r)}}function NN(t){return(t=+t)==1?Xh:function(e,r){return r-e?a4(e,r,t):Gu(isNaN(e)?r:e)}}function Xh(t,e){var r=e-t;return r?s4(t,r):Gu(isNaN(t)?e:t)}var eE=(function t(e){var r=NN(e);function n(i,o){var s=r((i=uc(i)).r,(o=uc(o)).r),a=r(i.g,o.g),c=r(i.b,o.b),l=Xh(i.opacity,o.opacity);return function(u){return i.r=s(u),i.g=a(u),i.b=c(u),i.opacity=l(u),i+""}}return n.gamma=t,n})(1);function PN(t){return function(e){var r=e.length,n=new Array(r),i=new Array(r),o=new Array(r),s,a;for(s=0;s<r;++s)a=uc(e[s]),n[s]=a.r||0,i[s]=a.g||0,o[s]=a.b||0;return n=t(n),i=t(i),o=t(o),a.opacity=1,function(c){return a.r=n(c),a.g=i(c),a.b=o(c),a+""}}}var jre=PN(IN),zre=PN(kN);function CN(t,e){e||(e=[]);var r=t?Math.min(e.length,t.length):0,n=e.slice(),i;return function(o){for(i=0;i<r;++i)n[i]=t[i]*(1-o)+e[i]*o;return n}}function ON(t){return ArrayBuffer.isView(t)&&!(t instanceof DataView)}function LN(t,e){var r=e?e.length:0,n=t?Math.min(r,t.length):0,i=new Array(n),o=new Array(r),s;for(s=0;s<n;++s)i[s]=ts(t[s],e[s]);for(;s<r;++s)o[s]=e[s];return function(a){for(s=0;s<n;++s)o[s]=i[s](a);return o}}function DN(t,e){var r=new Date;return t=+t,e=+e,function(n){return r.setTime(t*(1-n)+e*n),r}}function Yi(t,e){return t=+t,e=+e,function(r){return t*(1-r)+e*r}}function $N(t,e){var r={},n={},i;(t===null||typeof t!="object")&&(t={}),(e===null||typeof e!="object")&&(e={});for(i in e)i in t?r[i]=ts(t[i],e[i]):n[i]=e[i];return function(o){for(i in r)n[i]=r[i](o);return n}}var rE=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,tE=new RegExp(rE.source,"g");function c4(t){return function(){return t}}function l4(t){return function(e){return t(e)+""}}function MN(t,e){var r=rE.lastIndex=tE.lastIndex=0,n,i,o,s=-1,a=[],c=[];for(t=t+"",e=e+"";(n=rE.exec(t))&&(i=tE.exec(e));)(o=i.index)>r&&(o=e.slice(r,o),a[s]?a[s]+=o:a[++s]=o),(n=n[0])===(i=i[0])?a[s]?a[s]+=i:a[++s]=i:(a[++s]=null,c.push({i:s,x:Yi(n,i)})),r=tE.lastIndex;return r<e.length&&(o=e.slice(r),a[s]?a[s]+=o:a[++s]=o),a.length<2?c[0]?l4(c[0].x):c4(e):(e=c.length,function(l){for(var u=0,f;u<e;++u)a[(f=c[u]).i]=f.x(l);return a.join("")})}function ts(t,e){var r=typeof e,n;return e==null||r==="boolean"?Gu(e):(r==="number"?Yi:r==="string"?(n=Vi(e))?(e=n,eE):MN:e instanceof Vi?eE:e instanceof Date?DN:ON(e)?CN:Array.isArray(e)?LN:typeof e.valueOf!="function"&&typeof e.toString!="function"||isNaN(e)?$N:Yi)(t,e)}function nE(t,e){return t=+t,e=+e,function(r){return Math.round(t*(1-r)+e*r)}}function iE(t){return function(){return t}}function oE(t){return+t}var FN=[0,1];function fc(t){return t}function sE(t,e){return(e-=t=+t)?function(r){return(r-t)/e}:iE(isNaN(e)?NaN:.5)}function u4(t,e){var r;return t>e&&(r=t,t=e,e=r),function(n){return Math.max(t,Math.min(e,n))}}function f4(t,e,r){var n=t[0],i=t[1],o=e[0],s=e[1];return i<n?(n=sE(i,n),o=r(s,o)):(n=sE(n,i),o=r(o,s)),function(a){return o(n(a))}}function d4(t,e,r){var n=Math.min(t.length,e.length)-1,i=new Array(n),o=new Array(n),s=-1;for(t[n]<t[0]&&(t=t.slice().reverse(),e=e.slice().reverse());++s<n;)i[s]=sE(t[s],t[s+1]),o[s]=r(e[s],e[s+1]);return function(a){var c=Y_(t,a,1,n)-1;return o[c](i[c](a))}}function UN(t,e){return e.domain(t.domain()).range(t.range()).interpolate(t.interpolate()).clamp(t.clamp()).unknown(t.unknown())}function p4(){var t=FN,e=FN,r=ts,n,i,o,s=fc,a,c,l;function u(){var d=Math.min(t.length,e.length);return s!==fc&&(s=u4(t[0],t[d-1])),a=d>2?d4:f4,c=l=null,f}function f(d){return d==null||isNaN(d=+d)?o:(c||(c=a(t.map(n),e,r)))(n(s(d)))}return f.invert=function(d){return s(i((l||(l=a(e,t.map(n),Yi)))(d)))},f.domain=function(d){return arguments.length?(t=Array.from(d,oE),u()):t.slice()},f.range=function(d){return arguments.length?(e=Array.from(d),u()):e.slice()},f.rangeRound=function(d){return e=Array.from(d),r=nE,u()},f.clamp=function(d){return arguments.length?(s=d?!0:fc,u()):s!==fc},f.interpolate=function(d){return arguments.length?(r=d,u()):r},f.unknown=function(d){return arguments.length?(o=d,f):o},function(d,p){return n=d,i=p,u()}}function aE(){return p4()(fc,fc)}function cE(t,e){t=t.slice();var r=0,n=t.length-1,i=t[r],o=t[n],s;return o<i&&(s=r,r=n,n=s,s=i,i=o,o=s),t[r]=e.floor(i),t[n]=e.ceil(o),t}var lE=new Date,uE=new Date;function Ke(t,e,r,n){function i(o){return t(o=arguments.length===0?new Date:new Date(+o)),o}return i.floor=o=>(t(o=new Date(+o)),o),i.ceil=o=>(t(o=new Date(o-1)),e(o,1),t(o),o),i.round=o=>{let s=i(o),a=i.ceil(o);return o-s<a-o?s:a},i.offset=(o,s)=>(e(o=new Date(+o),s==null?1:Math.floor(s)),o),i.range=(o,s,a)=>{let c=[];if(o=i.ceil(o),a=a==null?1:Math.floor(a),!(o<s)||!(a>0))return c;let l;do c.push(l=new Date(+o)),e(o,a),t(o);while(l<o&&o<s);return c},i.filter=o=>Ke(s=>{if(s>=s)for(;t(s),!o(s);)s.setTime(s-1)},(s,a)=>{if(s>=s)if(a<0)for(;++a<=0;)for(;e(s,-1),!o(s););else for(;--a>=0;)for(;e(s,1),!o(s););}),r&&(i.count=(o,s)=>(lE.setTime(+o),uE.setTime(+s),t(lE),t(uE),Math.floor(r(lE,uE))),i.every=o=>(o=Math.floor(o),!isFinite(o)||!(o>0)?null:o>1?i.filter(n?s=>n(s)%o===0:s=>i.count(0,s)%o===0):i)),i}var Xu=Ke(()=>{},(t,e)=>{t.setTime(+t+e)},(t,e)=>e-t);Xu.every=t=>(t=Math.floor(t),!isFinite(t)||!(t>0)?null:t>1?Ke(e=>{e.setTime(Math.floor(e/t)*t)},(e,r)=>{e.setTime(+e+r*t)},(e,r)=>(r-e)/t):Xu);var Sne=Xu.range;var wn=Ke(t=>{t.setTime(t-t.getMilliseconds())},(t,e)=>{t.setTime(+t+e*1e3)},(t,e)=>(e-t)/1e3,t=>t.getUTCSeconds()),BN=wn.range;var dc=Ke(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*1e3)},(t,e)=>{t.setTime(+t+e*6e4)},(t,e)=>(e-t)/6e4,t=>t.getMinutes()),h4=dc.range,Hh=Ke(t=>{t.setUTCSeconds(0,0)},(t,e)=>{t.setTime(+t+e*6e4)},(t,e)=>(e-t)/6e4,t=>t.getUTCMinutes()),m4=Hh.range;var pc=Ke(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*1e3-t.getMinutes()*6e4)},(t,e)=>{t.setTime(+t+e*36e5)},(t,e)=>(e-t)/36e5,t=>t.getHours()),g4=pc.range,jh=Ke(t=>{t.setUTCMinutes(0,0,0)},(t,e)=>{t.setTime(+t+e*36e5)},(t,e)=>(e-t)/36e5,t=>t.getUTCHours()),y4=jh.range;var Jn=Ke(t=>t.setHours(0,0,0,0),(t,e)=>t.setDate(t.getDate()+e),(t,e)=>(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*6e4)/864e5,t=>t.getDate()-1),x4=Jn.range,ju=Ke(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/864e5,t=>t.getUTCDate()-1),T4=ju.range,zh=Ke(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/864e5,t=>Math.floor(t/864e5)),_4=zh.range;function is(t){return Ke(e=>{e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)},(e,r)=>{e.setDate(e.getDate()+r*7)},(e,r)=>(r-e-(r.getTimezoneOffset()-e.getTimezoneOffset())*6e4)/6048e5)}var Qn=is(0),hc=is(1),XN=is(2),HN=is(3),Ki=is(4),jN=is(5),zN=is(6),qN=Qn.range,E4=hc.range,v4=XN.range,R4=HN.range,b4=Ki.range,w4=jN.range,A4=zN.range;function os(t){return Ke(e=>{e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)},(e,r)=>{e.setUTCDate(e.getUTCDate()+r*7)},(e,r)=>(r-e)/6048e5)}var ss=os(0),mc=os(1),WN=os(2),VN=os(3),Zi=os(4),YN=os(5),KN=os(6),ZN=ss.range,S4=mc.range,I4=WN.range,k4=VN.range,N4=Zi.range,P4=YN.range,C4=KN.range;var gc=Ke(t=>{t.setDate(1),t.setHours(0,0,0,0)},(t,e)=>{t.setMonth(t.getMonth()+e)},(t,e)=>e.getMonth()-t.getMonth()+(e.getFullYear()-t.getFullYear())*12,t=>t.getMonth()),O4=gc.range,qh=Ke(t=>{t.setUTCDate(1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCMonth(t.getUTCMonth()+e)},(t,e)=>e.getUTCMonth()-t.getUTCMonth()+(e.getUTCFullYear()-t.getUTCFullYear())*12,t=>t.getUTCMonth()),L4=qh.range;var xr=Ke(t=>{t.setMonth(0,1),t.setHours(0,0,0,0)},(t,e)=>{t.setFullYear(t.getFullYear()+e)},(t,e)=>e.getFullYear()-t.getFullYear(),t=>t.getFullYear());xr.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:Ke(e=>{e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)},(e,r)=>{e.setFullYear(e.getFullYear()+r*t)});var D4=xr.range,rn=Ke(t=>{t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCFullYear(t.getUTCFullYear()+e)},(t,e)=>e.getUTCFullYear()-t.getUTCFullYear(),t=>t.getUTCFullYear());rn.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:Ke(e=>{e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,r)=>{e.setUTCFullYear(e.getUTCFullYear()+r*t)});var $4=rn.range;function QN(t,e,r,n,i,o){let s=[[wn,1,1e3],[wn,5,5*1e3],[wn,15,15*1e3],[wn,30,30*1e3],[o,1,6e4],[o,5,5*6e4],[o,15,15*6e4],[o,30,30*6e4],[i,1,36e5],[i,3,3*36e5],[i,6,6*36e5],[i,12,12*36e5],[n,1,864e5],[n,2,2*864e5],[r,1,6048e5],[e,1,2592e6],[e,3,3*2592e6],[t,1,31536e6]];function a(l,u,f){let d=u<l;d&&([l,u]=[u,l]);let p=f&&typeof f.range=="function"?f:c(l,u,f),m=p?p.range(l,+u+1):[];return d?m.reverse():m}function c(l,u,f){let d=Math.abs(u-l)/f,p=Jo(([,,v])=>v).right(s,d);if(p===s.length)return t.every(Lh(l/31536e6,u/31536e6,f));if(p===0)return Xu.every(Math.max(Lh(l,u,f),1));let[m,g]=s[d/s[p-1][2]<s[p][2]/d?p-1:p];return m.every(g)}return[a,c]}var[F4,U4]=QN(rn,qh,ss,zh,jh,Hh),[fE,dE]=QN(xr,gc,Qn,Jn,pc,dc);function pE(t){if(0<=t.y&&t.y<100){var e=new Date(-1,t.m,t.d,t.H,t.M,t.S,t.L);return e.setFullYear(t.y),e}return new Date(t.y,t.m,t.d,t.H,t.M,t.S,t.L)}function hE(t){if(0<=t.y&&t.y<100){var e=new Date(Date.UTC(-1,t.m,t.d,t.H,t.M,t.S,t.L));return e.setUTCFullYear(t.y),e}return new Date(Date.UTC(t.y,t.m,t.d,t.H,t.M,t.S,t.L))}function zu(t,e,r){return{y:t,m:e,d:r,H:0,M:0,S:0,L:0}}function mE(t){var e=t.dateTime,r=t.date,n=t.time,i=t.periods,o=t.days,s=t.shortDays,a=t.months,c=t.shortMonths,l=qu(i),u=Wu(i),f=qu(o),d=Wu(o),p=qu(s),m=Wu(s),g=qu(a),v=Wu(a),T=qu(c),_=Wu(c),E={a:S,A:M,b:X,B:F,c:null,d:oP,e:oP,f:c3,g:x3,G:_3,H:o3,I:s3,j:a3,L:uP,m:l3,M:u3,p:W,q:Z,Q:cP,s:lP,S:f3,u:d3,U:p3,V:h3,w:m3,W:g3,x:null,X:null,y:y3,Y:T3,Z:E3,"%":aP},I={a:pe,A:V,b:te,B:De,c:null,d:sP,e:sP,f:w3,g:D3,G:M3,H:v3,I:R3,j:b3,L:dP,m:A3,M:S3,p:Ne,q:Xe,Q:cP,s:lP,S:I3,u:k3,U:N3,V:P3,w:C3,W:O3,x:null,X:null,y:L3,Y:$3,Z:F3,"%":aP},D={a:le,A:O,b:R,B:L,c:$,d:nP,e:nP,f:t3,g:rP,G:tP,H:iP,I:iP,j:Z4,L:e3,m:K4,M:J4,p:z,q:Y4,Q:n3,s:i3,S:Q4,u:j4,U:z4,V:q4,w:H4,W:W4,x:w,X:A,y:rP,Y:tP,Z:V4,"%":r3};E.x=k(r,E),E.X=k(n,E),E.c=k(e,E),I.x=k(r,I),I.X=k(n,I),I.c=k(e,I);function k(q,J){return function(re){var P=[],we=-1,me=0,ve=q.length,_t,H,Cr;for(re instanceof Date||(re=new Date(+re));++we<ve;)q.charCodeAt(we)===37&&(P.push(q.slice(me,we)),(H=eP[_t=q.charAt(++we)])!=null?_t=q.charAt(++we):H=_t==="e"?" ":"0",(Cr=J[_t])&&(_t=Cr(re,H)),P.push(_t),me=we+1);return P.push(q.slice(me,we)),P.join("")}}function B(q,J){return function(re){var P=zu(1900,void 0,1),we=U(P,q,re+="",0),me,ve;if(we!=re.length)return null;if("Q"in P)return new Date(P.Q);if("s"in P)return new Date(P.s*1e3+("L"in P?P.L:0));if(J&&!("Z"in P)&&(P.Z=0),"p"in P&&(P.H=P.H%12+P.p*12),P.m===void 0&&(P.m="q"in P?P.q:0),"V"in P){if(P.V<1||P.V>53)return null;"w"in P||(P.w=1),"Z"in P?(me=hE(zu(P.y,0,1)),ve=me.getUTCDay(),me=ve>4||ve===0?mc.ceil(me):mc(me),me=ju.offset(me,(P.V-1)*7),P.y=me.getUTCFullYear(),P.m=me.getUTCMonth(),P.d=me.getUTCDate()+(P.w+6)%7):(me=pE(zu(P.y,0,1)),ve=me.getDay(),me=ve>4||ve===0?hc.ceil(me):hc(me),me=Jn.offset(me,(P.V-1)*7),P.y=me.getFullYear(),P.m=me.getMonth(),P.d=me.getDate()+(P.w+6)%7)}else("W"in P||"U"in P)&&("w"in P||(P.w="u"in P?P.u%7:"W"in P?1:0),ve="Z"in P?hE(zu(P.y,0,1)).getUTCDay():pE(zu(P.y,0,1)).getDay(),P.m=0,P.d="W"in P?(P.w+6)%7+P.W*7-(ve+5)%7:P.w+P.U*7-(ve+6)%7);return"Z"in P?(P.H+=P.Z/100|0,P.M+=P.Z%100,hE(P)):pE(P)}}function U(q,J,re,P){for(var we=0,me=J.length,ve=re.length,_t,H;we<me;){if(P>=ve)return-1;if(_t=J.charCodeAt(we++),_t===37){if(_t=J.charAt(we++),H=D[_t in eP?J.charAt(we++):_t],!H||(P=H(q,re,P))<0)return-1}else if(_t!=re.charCodeAt(P++))return-1}return P}function z(q,J,re){var P=l.exec(J.slice(re));return P?(q.p=u.get(P[0].toLowerCase()),re+P[0].length):-1}function le(q,J,re){var P=p.exec(J.slice(re));return P?(q.w=m.get(P[0].toLowerCase()),re+P[0].length):-1}function O(q,J,re){var P=f.exec(J.slice(re));return P?(q.w=d.get(P[0].toLowerCase()),re+P[0].length):-1}function R(q,J,re){var P=T.exec(J.slice(re));return P?(q.m=_.get(P[0].toLowerCase()),re+P[0].length):-1}function L(q,J,re){var P=g.exec(J.slice(re));return P?(q.m=v.get(P[0].toLowerCase()),re+P[0].length):-1}function $(q,J,re){return U(q,e,J,re)}function w(q,J,re){return U(q,r,J,re)}function A(q,J,re){return U(q,n,J,re)}function S(q){return s[q.getDay()]}function M(q){return o[q.getDay()]}function X(q){return c[q.getMonth()]}function F(q){return a[q.getMonth()]}function W(q){return i[+(q.getHours()>=12)]}function Z(q){return 1+~~(q.getMonth()/3)}function pe(q){return s[q.getUTCDay()]}function V(q){return o[q.getUTCDay()]}function te(q){return c[q.getUTCMonth()]}function De(q){return a[q.getUTCMonth()]}function Ne(q){return i[+(q.getUTCHours()>=12)]}function Xe(q){return 1+~~(q.getUTCMonth()/3)}return{format:function(q){var J=k(q+="",E);return J.toString=function(){return q},J},parse:function(q){var J=B(q+="",!1);return J.toString=function(){return q},J},utcFormat:function(q){var J=k(q+="",I);return J.toString=function(){return q},J},utcParse:function(q){var J=B(q+="",!0);return J.toString=function(){return q},J}}}var eP={"-":"",_:" ",0:"0"},Lt=/^\s*\d+/,B4=/^%/,G4=/[\\^$*+?|[\]().{}]/g;function Oe(t,e,r){var n=t<0?"-":"",i=(n?-t:t)+"",o=i.length;return n+(o<r?new Array(r-o+1).join(e)+i:i)}function X4(t){return t.replace(G4,"\\$&")}function qu(t){return new RegExp("^(?:"+t.map(X4).join("|")+")","i")}function Wu(t){return new Map(t.map((e,r)=>[e.toLowerCase(),r]))}function H4(t,e,r){var n=Lt.exec(e.slice(r,r+1));return n?(t.w=+n[0],r+n[0].length):-1}function j4(t,e,r){var n=Lt.exec(e.slice(r,r+1));return n?(t.u=+n[0],r+n[0].length):-1}function z4(t,e,r){var n=Lt.exec(e.slice(r,r+2));return n?(t.U=+n[0],r+n[0].length):-1}function q4(t,e,r){var n=Lt.exec(e.slice(r,r+2));return n?(t.V=+n[0],r+n[0].length):-1}function W4(t,e,r){var n=Lt.exec(e.slice(r,r+2));return n?(t.W=+n[0],r+n[0].length):-1}function tP(t,e,r){var n=Lt.exec(e.slice(r,r+4));return n?(t.y=+n[0],r+n[0].length):-1}function rP(t,e,r){var n=Lt.exec(e.slice(r,r+2));return n?(t.y=+n[0]+(+n[0]>68?1900:2e3),r+n[0].length):-1}function V4(t,e,r){var n=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(r,r+6));return n?(t.Z=n[1]?0:-(n[2]+(n[3]||"00")),r+n[0].length):-1}function Y4(t,e,r){var n=Lt.exec(e.slice(r,r+1));return n?(t.q=n[0]*3-3,r+n[0].length):-1}function K4(t,e,r){var n=Lt.exec(e.slice(r,r+2));return n?(t.m=n[0]-1,r+n[0].length):-1}function nP(t,e,r){var n=Lt.exec(e.slice(r,r+2));return n?(t.d=+n[0],r+n[0].length):-1}function Z4(t,e,r){var n=Lt.exec(e.slice(r,r+3));return n?(t.m=0,t.d=+n[0],r+n[0].length):-1}function iP(t,e,r){var n=Lt.exec(e.slice(r,r+2));return n?(t.H=+n[0],r+n[0].length):-1}function J4(t,e,r){var n=Lt.exec(e.slice(r,r+2));return n?(t.M=+n[0],r+n[0].length):-1}function Q4(t,e,r){var n=Lt.exec(e.slice(r,r+2));return n?(t.S=+n[0],r+n[0].length):-1}function e3(t,e,r){var n=Lt.exec(e.slice(r,r+3));return n?(t.L=+n[0],r+n[0].length):-1}function t3(t,e,r){var n=Lt.exec(e.slice(r,r+6));return n?(t.L=Math.floor(n[0]/1e3),r+n[0].length):-1}function r3(t,e,r){var n=B4.exec(e.slice(r,r+1));return n?r+n[0].length:-1}function n3(t,e,r){var n=Lt.exec(e.slice(r));return n?(t.Q=+n[0],r+n[0].length):-1}function i3(t,e,r){var n=Lt.exec(e.slice(r));return n?(t.s=+n[0],r+n[0].length):-1}function oP(t,e){return Oe(t.getDate(),e,2)}function o3(t,e){return Oe(t.getHours(),e,2)}function s3(t,e){return Oe(t.getHours()%12||12,e,2)}function a3(t,e){return Oe(1+Jn.count(xr(t),t),e,3)}function uP(t,e){return Oe(t.getMilliseconds(),e,3)}function c3(t,e){return uP(t,e)+"000"}function l3(t,e){return Oe(t.getMonth()+1,e,2)}function u3(t,e){return Oe(t.getMinutes(),e,2)}function f3(t,e){return Oe(t.getSeconds(),e,2)}function d3(t){var e=t.getDay();return e===0?7:e}function p3(t,e){return Oe(Qn.count(xr(t)-1,t),e,2)}function fP(t){var e=t.getDay();return e>=4||e===0?Ki(t):Ki.ceil(t)}function h3(t,e){return t=fP(t),Oe(Ki.count(xr(t),t)+(xr(t).getDay()===4),e,2)}function m3(t){return t.getDay()}function g3(t,e){return Oe(hc.count(xr(t)-1,t),e,2)}function y3(t,e){return Oe(t.getFullYear()%100,e,2)}function x3(t,e){return t=fP(t),Oe(t.getFullYear()%100,e,2)}function T3(t,e){return Oe(t.getFullYear()%1e4,e,4)}function _3(t,e){var r=t.getDay();return t=r>=4||r===0?Ki(t):Ki.ceil(t),Oe(t.getFullYear()%1e4,e,4)}function E3(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+Oe(e/60|0,"0",2)+Oe(e%60,"0",2)}function sP(t,e){return Oe(t.getUTCDate(),e,2)}function v3(t,e){return Oe(t.getUTCHours(),e,2)}function R3(t,e){return Oe(t.getUTCHours()%12||12,e,2)}function b3(t,e){return Oe(1+ju.count(rn(t),t),e,3)}function dP(t,e){return Oe(t.getUTCMilliseconds(),e,3)}function w3(t,e){return dP(t,e)+"000"}function A3(t,e){return Oe(t.getUTCMonth()+1,e,2)}function S3(t,e){return Oe(t.getUTCMinutes(),e,2)}function I3(t,e){return Oe(t.getUTCSeconds(),e,2)}function k3(t){var e=t.getUTCDay();return e===0?7:e}function N3(t,e){return Oe(ss.count(rn(t)-1,t),e,2)}function pP(t){var e=t.getUTCDay();return e>=4||e===0?Zi(t):Zi.ceil(t)}function P3(t,e){return t=pP(t),Oe(Zi.count(rn(t),t)+(rn(t).getUTCDay()===4),e,2)}function C3(t){return t.getUTCDay()}function O3(t,e){return Oe(mc.count(rn(t)-1,t),e,2)}function L3(t,e){return Oe(t.getUTCFullYear()%100,e,2)}function D3(t,e){return t=pP(t),Oe(t.getUTCFullYear()%100,e,2)}function $3(t,e){return Oe(t.getUTCFullYear()%1e4,e,4)}function M3(t,e){var r=t.getUTCDay();return t=r>=4||r===0?Zi(t):Zi.ceil(t),Oe(t.getUTCFullYear()%1e4,e,4)}function F3(){return"+0000"}function aP(){return"%"}function cP(t){return+t}function lP(t){return Math.floor(+t/1e3)}var yc,Wh,hP,mP,gP;gE({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function gE(t){return yc=mE(t),Wh=yc.format,hP=yc.parse,mP=yc.utcFormat,gP=yc.utcParse,yc}function U3(t){return new Date(t)}function B3(t){return t instanceof Date?+t:+new Date(+t)}function yP(t,e,r,n,i,o,s,a,c,l){var u=aE(),f=u.invert,d=u.domain,p=l(".%L"),m=l(":%S"),g=l("%I:%M"),v=l("%I %p"),T=l("%a %d"),_=l("%b %d"),E=l("%B"),I=l("%Y");function D(k){return(c(k)<k?p:a(k)<k?m:s(k)<k?g:o(k)<k?v:n(k)<k?i(k)<k?T:_:r(k)<k?E:I)(k)}return u.invert=function(k){return new Date(f(k))},u.domain=function(k){return arguments.length?d(Array.from(k,B3)):d().map(U3)},u.ticks=function(k){var B=d();return t(B[0],B[B.length-1],k??10)},u.tickFormat=function(k,B){return B==null?D:l(B)},u.nice=function(k){var B=d();return(!k||typeof k.range!="function")&&(k=e(B[0],B[B.length-1],k??10)),k?d(cE(B,k)):u},u.copy=function(){return UN(u,yP(t,e,r,n,i,o,s,a,c,l))},u}function Vh(){return cc.apply(yP(fE,dE,xr,gc,Qn,Jn,pc,dc,wn,Wh).domain([new Date(2e3,0,1),new Date(2e3,0,2)]),arguments)}var yE=class t{constructor(e,r,n){de(this,"bandwidthPx");de(this,"stepPx");de(this,"d3");this.bandwidthPx=e,this.stepPx=r,this.d3=n}static fixedRow(e){return new t(e.bandwidth,e.step)}static forRows(e){let r=Array.from({length:e.count},(i,o)=>String(o)),n=Mu().domain(r).range(e.range).paddingInner(e.paddingInner??0).paddingOuter(e.paddingOuter??0);return new t(n.bandwidth(),n.step(),n)}bandwidth(){return this.bandwidthPx}step(){return this.stepPx}forward(e){if(!this.d3)throw new Error("BandScale.forward is only available on closed-domain bands (BandScale.forRows)");let r=this.d3(e);if(r===void 0)throw new Error(`BandScale: unknown band id "${e}"`);return r}},G3={bandwidth:56,step:64};function xP(){return yE.fixedRow(G3)}var Yh=class{constructor(e){de(this,"domain");de(this,"range");de(this,"pixelsPerDay");de(this,"calendar");de(this,"d3");this.domain=e.domain,this.range=e.range,this.calendar=e.calendar;let r=Math.max(1,Nr(e.domain[0],e.domain[1]));this.pixelsPerDay=(e.range[1]-e.range[0])/r,this.d3=Vh().domain(e.domain).range(e.range)}forward(e){let r=Nr(this.domain[0],e);return this.range[0]+r*this.pixelsPerDay}forwardWithinDomain(e){return e<this.domain[0]||e>this.domain[1]?null:this.forward(e)}invert(e){return this.d3.invert(e)}get originX(){return this.range[0]}get widthPx(){return this.range[1]-this.range[0]}};function Kh(t){return t.endsWith(":")?t.slice(0,-1):t}function TP(t,e){let n=t.roadmapDecl?.properties.find(c=>Kh(c.key)==="scale")?.value,i="weeks",o,s;if(n)if(n==="days"||n==="weeks"||n==="months"||n==="quarters"||n==="years")i=n;else{let c=/^(\d+)([dwmqy])$/.exec(n);if(c){let l=Math.max(1,parseInt(c[1],10));switch(c[2]){case"d":i="days";break;case"w":i="weeks";break;case"m":i="months";break;case"q":i="quarters";break;case"y":i="years";break}o=Zh(i)*l,s=1}}let a=s??fN[i]??4;if(e){let l=e.properties.find(m=>Kh(m.key)==="unit")?.value??i,u=e.properties.find(m=>Kh(m.key)==="label-every"),f=e.properties.find(m=>Kh(m.key)==="pixels-per-unit"),d=u?Math.max(1,parseInt(u.value,10)||a):a,p=f?Math.max(1,parseInt(f.value,10)||Zh(l)):o??Zh(l);return{unit:l,labelEvery:d,pixelsPerUnit:p}}return{unit:i,labelEvery:a,pixelsPerUnit:o??Zh(i)}}function Zh(t){switch(t){case"days":return aN;case"weeks":return 40;case"months":return 80;case"quarters":return 160;case"years":return 320}}function _P(t,e,r,n=wu){let i=r.daysPerUnit(e.unit),o=i*t.pixelsPerDay,s=Math.max(1,Math.round(t.widthPx/t.pixelsPerDay)),a=Math.floor(s/i)+1,c=[];for(let l=0;l<a;l++){let u=l*i,f=t.originX+u*t.pixelsPerDay,d=l%e.labelEvery===0,p=l===a-1;c.push({x:f,labelX:p?void 0:f+o/2,major:d,label:d&&!p?X3(e.unit,Yo(t.domain[0],u),l,n):void 0})}return c}function X3(t,e,r,n){switch(t){case"days":return`${e.getUTCMonth()+1}/${e.getUTCDate()}`;case"weeks":{let i=e.toLocaleString(n,{month:"short",timeZone:"UTC"}),o=e.getUTCDate().toString().padStart(2,"0");return`${i} ${o}`}case"months":return e.toLocaleString(n,{month:"short",timeZone:"UTC"});case"quarters":{let i=Math.floor(e.getUTCMonth()/3)+1;return`${gh(n).quarterPrefix}${i} ${e.getUTCFullYear()}`}case"years":return`${e.getUTCFullYear()}`}}function EP(t){return{daysPerUnit:e=>xE(e,t),addUnits:(e,r,n)=>Yo(e,r*xE(n,t)),isWorkingDay:()=>!0}}function vP(t,e){return xE(t,e)}function xE(t,e){switch(t){case"days":return 1;case"weeks":return e.daysPerWeek;case"months":return e.daysPerMonth;case"quarters":return e.daysPerQuarter;case"years":return e.daysPerYear}}var TE=class{constructor(e,r){de(this,"id");de(this,"anchor");this.id=e,this.anchor=r}place(e,r){let n=ae(this.anchor.properties,"date"),i=Rt(n);if(!i)return null;let o=e.scale.forwardWithinDomain(i);if(o===null)return null;let s=yt("anchor",this.anchor.properties,e.styleCtx),a=e.markerRowPlacements.get(this.id),c=a?.centerY??e.timeline.markerRow.y,l={x:o,y:c},u=a?.labelBox??{x:o+6+6,y:c-4,width:0,height:12},f=a?.labelSide??"right";return e.entityLeftEdges.set(this.id,o),e.entityRightEdges.set(this.id,o),e.entityMidpoints.set(this.id,l),{id:this.id,title:this.anchor.title??this.id,center:l,radius:6,style:s,predecessorPoints:[],cutTopY:e.chartTopY,cutBottomY:e.swimlaneBottomY,bumpedUp:(a?.rowIndex??0)>0,labelBox:u,labelSide:f}}};function bP(t,e,r){let n=[];for(let[i,o]of t){let s=new TE(i,o).place(e,r);s&&n.push(s)}return n}function _E(t,e,r){let n=[],i=new Map,o=new Map;return[...t.entries()].sort(([c],[l])=>c.localeCompare(l)).forEach(([c,l],u)=>{let f=u+1;i.set(c,f),o.set(c,gt(l.properties,"on")),n.push({number:f,title:l.title??c,description:l.description?.text,style:yt("footnote",l.properties,e.styleCtx)})}),{area:{box:{x:en,y:r+en,width:e.chartRightX-2*en,height:n.length===0?0:Ou+n.length*Lu+en},entries:n},index:i,hosts:o}}var H3=.8,j3=1;function z3(t){let e=[];return AP(t,e),e}function AP(t,e){for(let r of t)if(r.kind==="item"){let n=q3(r);n>0&&r.box.width>0&&e.push({startX:r.box.x,endX:r.box.x+r.box.width,load:n})}else(r.kind==="parallel"||r.kind==="group")&&AP(r.children,e)}function q3(t){return t.capacity?t.capacity.value:t.size?1:0}function SP(t){if(t.capacityValue<=0||t.warnFraction===null&&t.overFraction===null)return null;let e=z3(t.children);if(e.length===0)return null;let r=new Set;for(let s of e)r.add(s.startX),r.add(s.endX);let n=Array.from(r).sort((s,a)=>s-a);if(n.length<2)return null;let i=[];for(let s=0;s<n.length-1;s++){let a=n[s],c=n[s+1],l=(a+c)/2,u=0;for(let f of e)f.startX<=l&&l<f.endX&&(u+=f.load);i.push({startX:a,endX:c,load:u,classification:W3(u,t.capacityValue,t.warnFraction,t.overFraction)})}let o=[];for(let s of i){let a=o[o.length-1];a&&a.classification===s.classification&&a.endX===s.startX?a.endX=s.endX:o.push({...s})}return{segments:o,capacityValue:t.capacityValue,warnFraction:t.warnFraction,overFraction:t.overFraction}}function W3(t,e,r,n){let i=t/e;return n!==null&&i>=n?"red":r!==null&&i>=r?"yellow":"green"}function IP(t,e){let r=e.get("swimlane"),n=wP(ae(t.properties,"utilization-warn-at"),r?ae(r.properties,"utilization-warn-at"):void 0,H3),i=wP(ae(t.properties,"utilization-over-at"),r?ae(r.properties,"utilization-over-at"):void 0,j3);return{warn:n,over:i}}function wP(t,e,r){let i=K3(t??e);return i.kind==="unset"?r:i.kind==="none"?null:i.value}var V3=/^\d+(?:\.\d+)?%$/,Y3=/^\d+\.\d+$/;function K3(t){if(t===void 0)return{kind:"unset"};if(t==="none")return{kind:"none"};if(V3.test(t)){let e=parseFloat(t)/100;return Number.isFinite(e)&&e>0?{kind:"number",value:e}:{kind:"unset"}}if(Y3.test(t)){let e=parseFloat(t);return Number.isFinite(e)&&e>0?{kind:"number",value:e}:{kind:"unset"}}return{kind:"unset"}}var kP=10;function Z3(t,e,r){let n=ae(t.properties,"capacity"),i=ji(n);if(i===null)return{capacity:null,badgeWidthPx:0};let o=Eu(i),s=vu(e.capacityIcon,r),a=Vo(o,s,kP);return{capacity:{value:i,text:o,icon:s},badgeWidthPx:a}}var J3=10,Q3=38,eG=8;function tG(t,e,r){let n=t.title??t.name??"";if(!n)return 0;let i=ae(t.properties,"owner");return Ru(0,n,i??void 0,e,r).rightX}function rG(t,e){if(!t.name)return[];let r=[];for(let[n,i]of e.footnoteHosts.entries())if(i.includes(t.name)){let o=e.footnoteIndex.get(n);o!==void 0&&r.push(o)}return r.sort((n,i)=>n-i),r}function nG(t,e,r,n){for(let i of t.content){if(i.$type==="DescriptionDirective")continue;let o=yr(i)?i.properties:i.properties??[];return n.resolveChildStart(o,e,e,r)}}var xc=class{constructor(e,r){de(this,"input");de(this,"deps");this.input=e,this.deps=r}get id(){return this.input.lane.name??""}place(e,r){let{lane:n,bandIndex:i}=this.input,{deps:o}=this,s=yt("swimlane",n.properties,r.styleCtx),a=e.x,c=r.bandScale.step(),l=r.currentFlowKey;r.currentFlowKey=`lane:${n.name??i}`;let{capacity:u,badgeWidthPx:f}=Z3(n,s,r.symbols),d=rG(n,r),p=d.length>0?o.estimateTextWidth(d.join(","),kP):0,m=tG(n,f,p),g=nG(n,a,r,o),v=!n.title||g===void 0||g>=m+eG,T=e.y+(v?J3:Q3),_=new rc({laneLeftX:a,originY:T,minRowHeight:c,slackCorridors:r.slackCorridors}),E=a,I=[];for(let R of n.content){if(R.$type==="DescriptionDirective")continue;if(!yr(R)){let Xe=R.properties??[],q=o.resolveChildStart(Xe,E,a,r),{rowIndex:J,y:re}=_.placeBlock(),P=o.newCursor(q,re),we=o.sequenceOne(R,P,r);I.push(we);let me=we.box.x+we.box.width,ve=Math.max(c,P.height);_.commitBlock({rowIndex:J,placed:we,blockHeight:ve,blockEnd:me}),E=Math.max(E,me);continue}let L=R.properties,$=o.resolveChildStart(L,E,a,r),w=zi(L,r.sizes,r.cal),A=Math.max(Pr,w*r.timeline.pixelsPerDay),S=$+A,M=R.name??"",X=o.predictItemChipExtraHeight(R,r),F=c+X,{rowIndex:W,y:Z}=_.placeItem({childId:M,desiredStart:$,desiredEnd:S,predictedHeight:F}),pe=o.newCursor($,Z),V=o.sequenceItem(R,pe,r);I.push(V);let te=V.box.x+V.box.width+Jr;E=Math.max(E,te);let De=null;(V.textSpills||V.chipsOutside||V.dotSpills||V.iconSpills||V.footnoteSpills)&&(De=Math.max(V.decorationsRightX,V.chipsOutside?V.chipsRightX:0)+6),_.commitItem({rowIndex:W,placed:V,logicalEnd:te,spillReservation:De,rowHeight:F})}let D=T-e.y,k=Math.max(c+32,D+_.usedHeight()+16),B=Math.max(_.usedRightX(),m),U={x:0,y:e.y,width:r.chartRightX,height:k},z=ae(n.properties,"owner"),le;if(z){let R=r.teams.get(z),L=r.persons.get(z);le=R?.title??L?.title??z}let O=u?(()=>{let{warn:R,over:L}=IP(n,r.styleCtx.defaults);return SP({children:I,capacityValue:u.value,warnFraction:R,overFraction:L})})():null;return r.currentFlowKey=l,{positioned:{id:n.name,title:n.title??n.name??"",box:U,bandIndex:i,children:I,nested:[],style:s,owner:le,footnoteIndicators:d,capacity:u,utilization:O},usedHeight:k,usedRightX:B}}};var iG=18,oG=14,sG=14,aG=16,cG=32;function NP(t,e,r,n){let i=r+iG,o=[],s=!0;for(let a of t){s||(i+=aG),s=!1;let c=a.content.roadmap?.title??a.sourcePath,l=i+oG,u={cal:e.cal,styleCtx:{theme:e.styleCtx.theme,styles:a.config.styles,defaults:a.config.defaults,labels:a.content.labels},sizes:hh(a.content.sizes,e.cal),labels:a.content.labels,teams:a.content.teams,persons:a.content.persons,symbols:a.config.symbols,footnoteIndex:new Map,footnoteHosts:new Map,timeline:e.timeline,scale:e.scale,calendar:e.calendar,bandScale:e.bandScale,entityLeftEdges:new Map,entityRightEdges:new Map,entityMidpoints:new Map,entityVisualLeftX:new Map,entityVisualRightX:new Map,itemArrowSource:new Map,itemFlowKey:new Map,currentFlowKey:"",itemSlackAttachY:new Map,slackCorridors:[],markerRowPlacements:new Map,chartTopY:l,chartBottomY:l,swimlaneBottomY:l,chartRightX:e.chartRightX},f=[],d=l,p=0,m=u.timeline.originX;for(let k of a.content.swimlanes.values()){let{positioned:B,usedHeight:U,usedRightX:z}=new xc({lane:k,bandIndex:p},n).place({x:u.timeline.originX,y:d},u);f.push(B),d+=U,p++,z>m&&(m=z)}let g=d,v=Math.max(e.bandScale.bandwidth(),g-i+sG),T=0,{chromeRightX:_}=bu(T,c,a.sourcePath),E=Math.max(_,m)+cG,I=Math.min(e.chartRightX-T,E-T),D={x:T,y:i,width:I,height:v};for(let k of f)k.box.width=I;o.push({sourcePath:a.sourcePath,label:c,box:D,nestedSwimlanes:f,style:yt("swimlane",[],e.styleCtx)}),i+=v}return{regions:o,endY:i}}function em(t,e){let r=[];for(let n of t){let o=e.entityVisualRightX.get(n)??e.entityRightEdges.get(n);if(o===void 0)continue;let s=e.itemSlackAttachY.get(n)??e.entityMidpoints.get(n)?.y??0,a=e.itemFlowKey.get(n)??`marker:${n}`;r.push({ref:n,x:o,y:s,flowKey:a})}return r}function tm(t){let e=new Map;for(let r of t){let n=e.get(r.flowKey);(!n||r.x>n.x)&&e.set(r.flowKey,r)}return Array.from(e.values())}function PP(t,e,r,n,i,o,s,a){let c=n.length*i*.58*(o?1.05:1),l=t+r+6,u=t-r-6-c,f=l+c<=a,d=u>=s,p=f?"right":d?"left":"right";return{box:{x:p==="right"?l:u,y:e-4,width:c,height:12},side:p}}var EE=class{constructor(e,r){de(this,"id");de(this,"milestone");this.id=e,this.milestone=r}place(e){let r=this.milestone,n=yt("milestone",r.properties,e.styleCtx),i=ae(r.properties,"date"),o=gt(r.properties,"after"),s=Rt(i),a=e.timeline.markerRow.y,c=6,l=r.title??this.id,u=null,f=a,d=null,p="right",m=!1,g,v=!1;if(s){let _=e.scale.forwardWithinDomain(s);if(_===null)return null;u=_,m=!0;let E=e.markerRowPlacements.get(this.id);E&&(f=E.centerY,d=E.labelBox,p=E.labelSide);let I=em(o,e),D=tm(I),k=null;for(let B of D)(!k||B.x>k.x)&&(k=B);k&&k.x>_&&(v=!0,g=[{x:k.x,y:k.y>0?k.y:f}])}else if(o.length>0){let _=em(o,e),E=tm(_);E.sort((B,U)=>U.x-B.x);let I=E[0]?.x??e.timeline.originX;u=I,m=!1;let D=PP(u,a,c,l,10,!0,e.timeline.box.x,e.chartRightX);f=a,d=D.box,p=D.side,e.markerRowPlacements.set(this.id,{rowIndex:0,centerY:f,labelBox:d,labelSide:p});let k=[];for(let B=1;B<E.length;B++){let U=E[B];U.x<I&&U.y>0&&k.push({x:U.x,y:U.y})}k.length>0&&(g=k)}if(u===null)return null;if(!d){let _=PP(u,f,c,l,10,!0,e.timeline.box.x,e.chartRightX);d=_.box,p=_.side}let T={x:u,y:f};return e.entityLeftEdges.set(this.id,T.x),e.entityRightEdges.set(this.id,T.x),e.entityMidpoints.set(this.id,T),{id:this.id,title:l,center:T,radius:c,fixed:m,slackArrows:g,isOverrun:v,style:n,cutTopY:e.chartTopY,cutBottomY:e.swimlaneBottomY,labelBox:d,labelSide:p}}};function CP(t,e){let r=[];for(let[n,i]of t){let o=new EE(n,i).place(e);o&&r.push(o)}return r}var uG=4;function fG(t,e){e>t.chartRightX&&(t.chartRightX=e)}var nm=class{place(e,r,n,i){let o=n.theme??"light",s=I_[o],a=n.width??1280,c=Vk(n.locale,hG(e)),l=Hk(e,r.config.calendar),u=TP(e,r.config.scale),f=hh(r.content.sizes,l),d={theme:s,styles:r.config.styles,defaults:r.config.defaults,labels:r.content.labels},{startDate:p,endDate:m}=i.computeDateWindow(e,{cal:l,sizes:f},r,n.today,u),g=yt("roadmap",e.roadmapDecl?.properties??[],d),v=g.headerPosition==="beside",T=g.timelinePosition!=="bottom",_=g.timelinePosition==="bottom"||g.timelinePosition==="both",E=e.roadmapDecl?.title??e.roadmapDecl?.name??"",I=ae(e.roadmapDecl?.properties??[],"author"),D=i.sizeBesideHeader(E,I),k=v?{x:0,y:0,width:D.boxWidth,height:0}:{x:0,y:0,width:0,height:Sh},B=v?D.boxWidth:0,U=v?8:Sh+8,z=EP(l),le=u.pixelsPerUnit/z.daysPerUnit(u.unit),R=Math.max(1,Nr(p,m))*le,L=B+Qr,$=R,w=B+Qr+$+Qr,A=Math.min(a,w),S=n.today!==void 0&&n.today>=p&&n.today<=m,M=r.content.anchors.size+r.content.milestones.size>0,X=S?qi:0,F=T?ku:0,W=new Yh({domain:[p,m],range:[L,L+R],calendar:z}),Z=Math.max(A,L+$+Qr),pe=[];for(let[K,ue]of r.content.anchors){let ze=Rt(ae(ue.properties,"date"));if(!ze)continue;let Dr=W.forwardWithinDomain(ze);Dr!==null&&pe.push({id:K,centerX:Dr,radius:6,title:ue.title??K,fontSize:10,bold:!1,date:ze,isMilestone:!1})}for(let[K,ue]of r.content.milestones){let ze=Rt(ae(ue.properties,"date"));if(!ze)continue;let Dr=W.forwardWithinDomain(ze);Dr!==null&&pe.push({id:K,centerX:Dr,radius:6,title:ue.title??K,fontSize:10,bold:!0,date:ze,isMilestone:!0})}let V=LP(pe,B,Z,i.estimateTextWidth),te=M?Math.max(1,V.rowCount):0,De=te*26,Ne=X+F+De,Xe=Ne+8,q=v?D.cardHeight+uG:0,J=Math.max(U,q-Ne),re=J+X,P=re+F,we=P+De,me=_P(W,u,z,c),ve={box:{x:L,y:J,width:R,height:0},ticks:me,pixelsPerDay:le,originX:L,startDate:p,endDate:m,labelStyle:yt("roadmap",[],d),pillRowHeight:X,tickPanelY:re,tickPanelHeight:F,markerRow:{y:P+13,height:De,collisionY:P-8},minorGrid:g.minorGrid},_t=new Map;for(let[K,ue]of V.placements){let ze=P+13+ue.rowIndex*26;_t.set(K,{rowIndex:ue.rowIndex,centerY:ze,labelBox:{...ue.labelBox,y:ze-4},labelSide:ue.labelSide})}let H={cal:l,styleCtx:d,sizes:f,labels:r.content.labels,teams:r.content.teams,persons:r.content.persons,symbols:r.config.symbols,footnoteIndex:new Map,footnoteHosts:new Map,timeline:ve,scale:W,calendar:z,bandScale:xP(),entityLeftEdges:new Map,entityRightEdges:new Map,entityMidpoints:new Map,entityVisualLeftX:new Map,entityVisualRightX:new Map,itemArrowSource:new Map,itemFlowKey:new Map,currentFlowKey:"",itemSlackAttachY:new Map,slackCorridors:[],markerRowPlacements:_t,chartTopY:J+Xe,chartBottomY:0,swimlaneBottomY:0,chartRightX:Z};for(let K of pe){let ue=_t.get(K.id);ue&&(H.entityLeftEdges.set(K.id,K.centerX),H.entityRightEdges.set(K.id,K.centerX),H.entityMidpoints.set(K.id,{x:K.centerX,y:ue.centerY}))}let Cr=_E(r.content.footnotes,H,0);H.footnoteIndex=Cr.index,H.footnoteHosts=Cr.hosts;let _r=new Map(H.entityLeftEdges),Or=new Map(H.entityRightEdges),cs=new Map(H.entityMidpoints),_e=[...r.content.swimlanes.values()],Lr=yt("swimlane",[],d),Qi=oN[Lr.spacing]??0,In=()=>{let K=[],ue=H.chartTopY,ze=0,Dr=H.timeline.originX;for(let vr of _e){ze>0&&(ue+=Qi);let{positioned:nf,usedHeight:YE,usedRightX:ne}=new xc({lane:vr,bandIndex:ze},i).place({x:H.timeline.originX,y:ue},H);K.push(nf),ue+=YE,ne>Dr&&(Dr=ne),ze++}return{swimlanes:K,nextY:ue,maxRightX:Dr}},Er=In(),jt=Er.swimlanes,At=Er.nextY,x=dG(r.content.milestones,H);x.length>0&&(H.entityLeftEdges=new Map(_r),H.entityRightEdges=new Map(Or),H.entityMidpoints=new Map(cs),H.itemSlackAttachY=new Map,H.entityVisualLeftX=new Map,H.entityVisualRightX=new Map,H.itemArrowSource=new Map,H.itemFlowKey=new Map,H.currentFlowKey="",H.slackCorridors=x,Er=In(),jt=Er.swimlanes,At=Er.nextY),fG(H,Er.maxRightX+Qr);for(let K of jt)K.box.width=H.chartRightX;let C=r.content.isolatedRegions,j=[];if(C.length>0){let K=NP(C,H,At+8,i);j=K.regions,At=K.endY}H.chartBottomY=At,H.swimlaneBottomY=At,ve.box.height=H.chartBottomY-ve.box.y;let Y=CP(r.content.milestones,H),$e=pe.map(K=>({id:K.id,centerX:K.centerX,radius:K.radius,title:K.title,fontSize:K.fontSize,bold:K.bold}));for(let K of Y)K.fixed||$e.push({id:K.id??"",centerX:K.center.x,radius:K.radius,title:K.title,fontSize:10,bold:!0});let Pe=LP($e,B,H.chartRightX,i.estimateTextWidth);H.markerRowPlacements.clear();for(let[K,ue]of Pe.placements){let ze=P+13+ue.rowIndex*26;H.markerRowPlacements.set(K,{rowIndex:ue.rowIndex,centerY:ze,labelBox:{...ue.labelBox,y:ze-4},labelSide:ue.labelSide})}for(let K of Y){let ue=H.markerRowPlacements.get(K.id??"");ue&&(K.center={x:K.center.x,y:ue.centerY},K.labelBox=ue.labelBox,K.labelSide=ue.labelSide)}for(let K of pe){let ue=H.markerRowPlacements.get(K.id);ue&&H.entityMidpoints.set(K.id,{x:K.centerX,y:ue.centerY})}for(let K of Y)K.fixed||H.entityMidpoints.set(K.id??"",{x:K.center.x,y:K.center.y});let qe=M?Math.max(1,Pe.rowCount):0;if(qe>te){let K=(qe-te)*26;H.timeline.markerRow.height=qe*26,H.timeline.box.height+=K,H.chartTopY+=K,H.chartBottomY+=K,H.swimlaneBottomY+=K;for(let ue of jt)vE(ue,K);for(let ue of j)pG(ue,K);for(let[ue,ze]of H.entityMidpoints)H.markerRowPlacements.has(ue)||H.entityMidpoints.set(ue,{x:ze.x,y:ze.y+K});for(let[ue,ze]of H.itemSlackAttachY)H.itemSlackAttachY.set(ue,ze+K);for(let ue of Y)if(ue.cutTopY=H.chartTopY,ue.cutBottomY=H.swimlaneBottomY,ue.slackArrows)for(let ze of ue.slackArrows)ze.y+=K}_&&(H.timeline.bottomTickPanelY=H.chartBottomY+8,H.timeline.bottomTickPanelHeight=ku,H.chartBottomY+=8+ku);let Ze=new Set(Y.map(K=>K.center.x)),ge=bP(r.content.anchors,H,Ze),Ue=i.collectItems(_e),Ae=i.buildDependencies(Ue,jt,j,H),Je=i.buildNowline(n.today,H,c),st=_E(r.content.footnotes,H,H.chartBottomY);H.footnoteIndex=st.index,H.footnoteHosts=st.hosts,k.height=k.height||H.chartBottomY,v||(k.width=H.chartRightX);let Qt=v?{x:6,y:we-D.cardHeight,width:D.cardWidth,height:D.cardHeight}:{x:0,y:0,width:H.chartRightX,height:Sh},ls=st.area.entries.length>0?st.area.box.y+st.area.box.height:H.chartBottomY,tf={x:H.chartRightX-Qr-j_,y:ls+Qr,width:j_,height:uN},er=tf.y+tf.height+Qr,on={box:k,position:g.headerPosition,title:E,author:I,titleLines:D.titleLines,authorLines:D.authorLines,cardBox:Qt,logo:void 0,style:g,attributionBox:tf};return{width:H.chartRightX,height:er,theme:o,palette:s,backgroundColor:s.surface.page,header:on,timeline:ve,nowline:Je,swimlanes:jt,anchors:ge,milestones:Y,edges:Ae,footnotes:st.area,includes:j,chartBox:{x:B,y:H.chartTopY,width:H.chartRightX-B,height:H.chartBottomY-H.chartTopY}}}};function dG(t,e){let r=[];for(let[n,i]of t){let o=ae(i.properties,"date"),s=gt(i.properties,"after"),a=Rt(o),c=em(s,e),l=tm(c);if(a){let f=e.scale.forwardWithinDomain(a);if(f===null)continue;let d=null;for(let p of l)(!d||p.x>d.x)&&(d=p);d&&d.x>f&&d.y>0&&r.push({xStart:Math.min(d.x,f),xEnd:Math.max(d.x,f),y:d.y,slackPredId:d.ref,milestoneId:n});continue}if(l.length===0)continue;l.sort((f,d)=>d.x-f.x);let u=l[0].x;for(let f=1;f<l.length;f++){let d=l[f];d.x<u&&d.y>0&&r.push({xStart:d.x,xEnd:u,y:d.y,slackPredId:d.ref,milestoneId:n})}}return r}function vE(t,e){t.box.y+=e;for(let r of t.children)DP(r,e);for(let r of t.nested)vE(r,e)}function DP(t,e){if(t.box.y+=e,t.kind==="item"){t.overflowBox&&(t.overflowBox.y+=e);for(let r of t.labelChips)r.box.y+=e;return}for(let r of t.children)DP(r,e)}function pG(t,e){t.box.y+=e;for(let r of t.nestedSwimlanes)vE(r,e)}function LP(t,e,r,n){let i=[...t].sort((a,c)=>a.centerX-c.centerX),o=new Map,s=[];for(let a of i){let c=n(a.title,a.fontSize)*(a.bold?1.05:1),l=a.centerX+a.radius+6,u=a.centerX-a.radius-6-c,f=l+c<=r,d=u>=e,p=a.centerX-a.radius,m=a.centerX+a.radius,g=B=>B==="right"?l:u,v=B=>B==="right"?f:d,T=(B,U)=>{let z=Math.min(p,B),le=Math.max(m,B+c);return s[U].some(O=>O.left<le&&O.right>z)},_=-1,E="right",I=l;e:for(let B=s.length-1;B>=0;B--)for(let U of["right","left"]){if(!v(U))continue;let z=g(U);if(!T(z,B)){_=B,E=U,I=z;break e}}if(_===-1){for(let[B,U]of o)o.set(B,{...U,rowIndex:U.rowIndex+1});s=[[],...s],_=0,E=f?"right":"left",I=g(E)}let D=Math.min(p,I),k=Math.max(m,I+c);s[_].push({left:D,right:k}),o.set(a.id,{rowIndex:_,labelBox:{x:I,y:0,width:c,height:12},labelSide:E})}return{placements:o,rowCount:s.length}}function hG(t){return t.directive?.properties.find(r=>mG(r.key)==="locale")?.value}function mG(t){return t.endsWith(":")?t.slice(0,-1):t}function TG(t){switch(t){case"done":case"completed":return"done";case"in-progress":case"active":return"in-progress";case"at-risk":case"blocked":case"planned":return t;case void 0:return"planned";default:return"neutral"}}function _G(t){if(!t)return 0;let e=/^(\d{1,3})%$/.exec(t);return e?Math.max(0,Math.min(100,parseInt(e[1],10)))/100:0}function EG(t,e){if(t)return/^\d+(?:\.\d+)?[dwmqy]$/.test(t)||/^\d+%$/.test(t)?t:e.sizes.get(t)?.effortLiteral??t}function vG(t,e){if(t)return e.teams.get(t)?.title??e.persons.get(t)?.title??t}function RG(t){if(!t)return{icon:"none"};let e=t.toLowerCase();return e.includes("linear.app")?{icon:"linear",href:t}:e.includes("github.com")?{icon:"github",href:t}:e.includes("atlassian.net")||e.includes("jira.")?{icon:"jira",href:t}:{icon:"generic",href:t}}function im(t,e,r,n,i){let o=iN(t,e),s=t.name??t.title??"",a=o.padding==="none"?"xs":o.padding,c=sN[a],l=Math.max(20,Math.round(s.length*5.5+c*2));return i!==void 0&&(l=Math.min(l,i)),{text:s,style:o,box:{x:r,y:n,width:l,height:13}}}function IE(t,e,r,n){let i=t.properties,o=yt("item",i,r.styleCtx),s=ae(i,"size"),a=s?r.sizes.get(s)??null:null,c=zi(i,r.sizes,r.cal),l=zk(i,r.sizes,r.cal),u=gt(i,"after"),f=gt(i,"before"),d=ae(i,"date"),p=jk(ae(i,"remaining"),r.sizes,r.cal),m=e.x,g=Rt(d);if(g){let ne=r.scale.forwardWithinDomain(g);ne!==null&&(m=ne)}else if(u.length>0){let ne=e.x;for(let We of u){let Et=Rt(We);if(Et){let ni=r.scale.forwardWithinDomain(Et);ni!==null&&(ne=Math.max(ne,ni));continue}let kn=r.entityRightEdges.get(We);kn!==void 0&&(ne=Math.max(ne,kn))}m=Math.max(e.x,ne)}let v=Math.max(Pr,c*r.timeline.pixelsPerDay),T=m,_=m+v,E=ae(i,"link"),I=RG(E),D=I.icon!=="none",k=Math.max(Pr,v-2*Jr),B=gt(i,"labels"),U=[];for(let ne of B){let We=r.labels.get(ne);if(!We)continue;let Et=im(We,r.styleCtx,0,0);U.push({id:We,width:Et.box.width})}let z=0;for(let ne=0;ne<U.length;ne+=1)ne>0&&(z+=4),z+=U[ne].width;let le=Math.max(0,k-24),O=U.length>0&&z>le,R=!1,L,$;if(f.length>0){let ne,We;for(let Et of f){let kn=Rt(Et),ni=kn?r.scale.forwardWithinDomain(kn)??void 0:r.entityLeftEdges.get(Et);ni!==void 0&&(ne===void 0||ni<ne)&&(ne=ni,We=Et)}ne!==void 0&&_>ne&&(R=!0,L={x:ne,y:e.y,width:_-ne,height:r.bandScale.bandwidth()},$=We)}let w=ae(i,"status"),A=TG(w),S=_G(w);S===0&&A==="done"&&(S=1);let M=/^(\d{1,3})%$/.exec(ae(i,"remaining")??"");S===0&&A==="in-progress"&&M&&(S=1-Math.max(0,Math.min(100,parseInt(M[1],10)))/100),S===0&&A==="in-progress"&&p>0&&l>0&&(S=Math.max(0,Math.min(1,1-p/l)));let X={done:"#ecfdf5","in-progress":"#eff6ff","at-risk":"#fffbeb",blocked:"#fee2e2",planned:"#f8fafc",neutral:"#f8fafc"},F={done:"#052e16","in-progress":"#172554","at-risk":"#422006",blocked:"#7f1d1d",planned:"#1e293b",neutral:"#1e293b"},W={done:"#ebebeb","in-progress":"#e4e4e4","at-risk":"#eeeeee",blocked:"#dcdcdc",planned:"#f5f5f5",neutral:"#f5f5f5"},Z={done:r.styleCtx.theme.status.done,"in-progress":r.styleCtx.theme.status.inProgress,"at-risk":r.styleCtx.theme.status.atRisk,blocked:r.styleCtx.theme.status.blocked,planned:r.styleCtx.theme.status.planned,neutral:r.styleCtx.theme.status.neutral},pe=r.styleCtx.theme.name,V=pe==="dark",te=V?"#0f172a":"#ffffff",De=pe==="grayscale"?"#9e9e9e":"#94a3b8";o.bg===te&&(o.bg=pe==="grayscale"?W[A]:V?F[A]:X[A]),o.fg===De&&(o.fg=Z[A]);let Ne=ae(i,"duration"),Xe=!!Ne&&/^\d+(?:\.\d+)?[dwmqy]$/.test(Ne),q=a?a.title??a.name:"",J=Xe?Ne:q||void 0,re=ae(i,"remaining"),P=EG(re,r),we=vG(n??ae(i,"owner"),r),me=()=>[J,we].filter(Boolean).join(" "),ve;if(A==="in-progress"&&P){let ne=me();ve=ne?`${ne} \u2014 ${P} remaining`:`${P} remaining`}else if(A==="in-progress"&&S>0&&S<1){let ne=Math.round((1-S)*100),We=me();ve=We?`${We} \u2014 ${ne}% remaining`:`${ne}% remaining`}else(we||J)&&(ve=me()||void 0);let _t=ae(i,"capacity"),H=ji(_t),Cr=null,_r=0;if(H!==null){let ne=Eu(H),We=vu(o.capacityIcon,r.symbols);Cr={value:H,text:ne,icon:We};let Et=11;_r=(ve?Sn(" ",Et):0)+Vo(ne,We,Et)}let Or=t.title??t.name??"",cs=new Ch({id:t.name??"",title:Or,logicalLeftX:T,logicalRightX:_,metaText:ve,metaTrailingWidth:_r,hasLinkIcon:D}).place({x:T,y:e.y},{time:r.scale,bands:r.bandScale,style:o}),_e=cs.box,Lr=r.bandScale.bandwidth(),Qi=_e.width<17,In=D&&_e.width<41,Er=_e.width<23,jt=cs.textSpills||In,At=null;O&&(At=R_(U,_e.width));let x=At?At.rows.length:U.length>0?1:0,C=ve!==void 0||Cr!==null,j=BP(O,jt,x,Lr,C);j>0&&(_e.height=Lr+j);let Y=[],$e=_e.y+Lr-Rn-13-3,Pe=_e.y+38+3,Ze=O&&jt||!O&&C&&U.length>0?Math.max($e,Pe):$e,ge=O?_e.x+_e.width+6:_e.x+12,Ue=ge;if(At)for(let ne=0;ne<At.rows.length;ne+=1){let We=Ze+ne*17,Et=ge;for(let ni of At.rows[ne]){let KE=im(ni.id,r.styleCtx,Et,We);Y.push(KE),Et+=KE.box.width+4}let kn=Et-4;kn>Ue&&(Ue=kn)}else{let ne=ge;for(let We of U){let Et=im(We.id,r.styleCtx,ne,Ze);Y.push(Et),ne+=Et.box.width+4}Ue=U.length>0?ne-4:ge}let Ae=new Set;if(t.name){for(let[ne,We]of r.footnoteHosts.entries())if(We.includes(t.name)){let Et=r.footnoteIndex.get(ne);Et!==void 0&&Ae.add(Et)}}let Je=[...Ae].sort((ne,We)=>ne-We),st=we??n??ae(i,"owner"),Qt=t.description?.text,ls=Je.length>0&&Er,er=_e.x+_e.width+6,on=!1,rf=null;In&&(on&&(er+=4),rf=er,er=rf+14,on=!0);let K=0;if(jt){on&&(er+=4);let ne=Sn(Or,13),We=(ve?Sn(ve,11):0)+_r;K=Math.max(ne,We),er+=K,on=!0}let ue=null;ls&&(on&&(er+=4),ue=er,er+=Je.length*8,on=!0);let ze=null;Qi&&(on&&(er+=4),ze=er+5,er=ze+5,on=!0);let Dr=Math.max(_e.x+_e.width,er),vr=t.name;if(vr){r.entityLeftEdges.set(vr,T),r.entityRightEdges.set(vr,_),r.entityMidpoints.set(vr,{x:(T+_)/2,y:_e.y+_e.height/2}),r.entityVisualLeftX.set(vr,_e.x),r.entityVisualRightX.set(vr,_e.x+_e.width);let ne=jt?{x:_e.x+_e.width,y:_e.y+_e.height-Rn/2}:{x:_e.x+_e.width,y:_e.y+_e.height/2};r.itemArrowSource.set(vr,ne),r.itemFlowKey.set(vr,r.currentFlowKey);let We=jt?_e.y+_e.height-Rn/2:_e.y+_e.height/2;r.itemSlackAttachY.set(vr,We)}e.x=_,e.maxX=Math.max(e.maxX,e.x),e.height=Math.max(e.height,r.bandScale.step()+j);let nf=Jk({box:_e,afterDate:Vn(u),beforeDate:Vn(f),hasLinkIcon:D,footnoteCount:Je.length});return{kind:"item",id:vr,title:Or,box:_e,status:A,progressFraction:S,footnoteIndicators:Je,labelChips:Y,chipsOutside:O,chipsRightX:Ue,linkIcon:I.icon,linkHref:I.href,hasOverflow:R,overflowBox:L,overflowAnchorId:$,owner:st,description:Qt,metaText:ve,textSpills:jt,dotSpills:Qi,iconSpills:In,footnoteSpills:ls,dotSpillCx:ze,iconSpillX:rf,footnoteSpillStartX:ue,decorationsRightX:Dr,capacity:Cr,size:a,style:o,inlineDatePins:nf.length>0?nf:void 0}}function bG(t,e,r){return new Oh(t,{sequenceOne:kE,newCursor:Th}).place(e,r)}function wG(t,e,r){return new Ph(t,{sequenceItem:IE,sequenceOne:kE,resolveChildStart:XP,newCursor:Th,estimateTextWidth:Sn,predictItemChipExtraHeight:GP}).place(e,r)}function kE(t,e,r){if(yr(t))return IE(t,e,r);if(Vr(t))return bG(t,e,r);if(Wr(t))return wG(t,e,r);throw new Error(`Unknown swimlane child type: ${t.$type??"unknown"}`)}function Sn(t,e){return t.length*e*.58}function BP(t,e,r,n,i){if(r===0)return 0;let o=n-Rn-13-3,s=41,a;t&&e?a=s:!t&&i?a=Math.max(o,s):a=o;let l=a+(r-1)*17+13+3+Rn;return Math.max(0,l-n)}function GP(t,e){let r=t.properties,n=gt(r,"labels");if(n.length===0)return 0;let i=zi(r,e.sizes,e.cal),o=Math.max(Pr,i*e.timeline.pixelsPerDay),s=Math.max(Pr,o-2*Jr),a=[];for(let T of n){let _=e.labels.get(T);if(!_)continue;let E=im(_,e.styleCtx,0,0);a.push({id:_,width:E.box.width})}if(a.length===0)return 0;let c=0;for(let T=0;T<a.length;T+=1)T>0&&(c+=4),c+=a[T].width;let l=Math.max(0,s-24),u=c>l,f=ae(r,"duration")!==void 0||ae(r,"size")!==void 0||ae(r,"owner")!==void 0||ae(r,"remaining")!==void 0||ae(r,"capacity")!==void 0,d=t.title??t.name??"",m=(d?Sn(d,13):0)>l,g=u?R_(a,s):null,v=g?g.rows.length:a.length>0?1:0;return BP(u,m,v,e.bandScale.bandwidth(),f)}function XP(t,e,r,n){let i=Rt(ae(t,"date"))??Rt(ae(t,"start"));if(i){let s=n.scale.forwardWithinDomain(i);if(s!==null)return s}let o=gt(t,"after");if(o.length>0){let s=r;for(let a of o){let c=Rt(a);if(c){let u=n.scale.forwardWithinDomain(c);u!==null&&(s=Math.max(s,u));continue}let l=n.entityRightEdges.get(a);l!==void 0&&(s=Math.max(s,l))}return Math.max(r,s)}return e}var RE=6;function $P(t,e,r){if(!t)return[];let n=t.split(/\s+/).filter(s=>s.length>0);if(n.length===0)return[];let i=[],o="";for(let s of n){let a=o?`${o} ${s}`:s;o&&Sn(a,r)>e?(i.push(o),o=s):o=a}return o&&i.push(o),i}function AG(t,e){let r=U_-32,n=$P(t,r,16),i=$P(e??"",r,11),o=0;for(let d of n)o=Math.max(o,Sn(d,16));for(let d of i)o=Math.max(o,Sn(d,11));let s=o+32,a=Math.max(cN-RE,Math.min(U_-RE,s)),c=n.length>0?(n.length-1)*20:0,l=i.length>0?18+(i.length-1)*14:0,u=26+c+l+14,f=a+RE;return{titleLines:n,authorLines:i,cardWidth:a,cardHeight:u,boxWidth:f}}function SG(t,e,r,n,i){let s=t.roadmapDecl?.properties??[],a=ae(s,"start"),c=Rt(a)??IG(n),l=ae(s,"length");if(l){let p=kG(l,e.cal);if(p>0)return{startDate:c,endDate:Yo(c,p)}}let u=HP(r,e,c,n),f=vP(i.unit,e.cal),d=u>0?Math.ceil(u/f)*f:4*e.cal.daysPerWeek;return{startDate:c,endDate:Yo(c,Math.max(1,d))}}function IG(t){let e=t??new Date;return new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()))}function kG(t,e){let r=/^(\d+(?:\.\d+)?)([dwmqy])$/.exec(t);if(!r)return 0;let n=parseFloat(r[1]);switch(r[2]){case"d":return n;case"w":return n*e.daysPerWeek;case"m":return n*e.daysPerMonth;case"q":return n*e.daysPerQuarter;case"y":return n*e.daysPerYear;default:return 0}}function HP(t,e,r,n){let i=new Map,o=new Map,s=new Map,a=0,c=f=>{let d=Rt(f);return d?Nr(r,d):i.has(f)?i.get(f):o.has(f)?o.get(f):s.has(f)?s.get(f):0};for(let f of t.content.anchors.values()){let d=Rt(ae(f.properties,"date"));if(d&&f.name){let p=Nr(r,d);o.set(f.name,p),a=Math.max(a,p)}}let l=(f,d)=>{let p=d;for(let m of f)m.$type!=="DescriptionDirective"&&(p=u(m,p),a=Math.max(a,p));return p},u=(f,d)=>{if(yr(f)){let p=zi(f.properties,e.sizes,e.cal),m=Rt(ae(f.properties,"date")),g=Rt(ae(f.properties,"start")),v=gt(f.properties,"after"),T=d;m?T=Nr(r,m):g?T=Nr(r,g):v.length>0&&(T=Math.max(d,...v.map(c)));let _=T+p;return f.name&&i.set(f.name,_),_}if(Vr(f)){let p=gt(f.properties,"after"),m=p.length>0?Math.max(d,...p.map(c)):d,g=m;for(let v of f.content){if(v.$type==="DescriptionDirective")continue;let T=u(v,m);g=Math.max(g,T)}return g}if(Wr(f)){let p=gt(f.properties,"after"),m=p.length>0?Math.max(d,...p.map(c)):d;return l(f.content,m)}return d};for(let f of t.content.swimlanes.values())l(f.content,0);for(let f of t.content.milestones.values()){let d=Rt(ae(f.properties,"date"));if(d){let m=Nr(r,d);f.name&&s.set(f.name,m),a=Math.max(a,m);continue}let p=gt(f.properties,"after");if(p.length>0){let m=Math.max(0,...p.map(c));f.name&&s.set(f.name,m),a=Math.max(a,m)}}for(let f of t.content.isolatedRegions){let d=HP({config:f.config,content:f.content,diagnostics:[],processedFiles:new Set},e,r,void 0);a=Math.max(a,d)}if(n){let f=Nr(r,n);f>0&&(a=Math.max(a,f))}return a}function NG(t,e,r,n){let i=new mh(qk(e,r)),o=[],s=[];for(let[l,u]of t){let f=gt(u.properties,"after"),d=n.entityMidpoints.get(l),p=n.entityVisualLeftX.get(l);if(!d||p===void 0)continue;let m={x:p,y:d.y};for(let g of f){let v=n.itemArrowSource.get(g),T,_=v===void 0;if(v)T=v;else{let E=n.entityMidpoints.get(g);if(!E)continue;T={x:E.x,y:d.y}}!_&&Math.abs(T.y-m.y)<.5&&m.x-T.x<20||(o.push({fromId:g,toId:l,from:T,to:m,isMarkerSource:_}),s.push({fromId:g,toId:l}))}}let a=Wk(o,i),c=[];for(let l=0;l<a.length;l++){let u=a[l];c.push({fromId:s[l].fromId,toId:s[l].toId,waypoints:u.waypoints,kind:u.underBar?"underBar":"normal",style:yt("item",[],n.styleCtx)})}return c}function PG(t,e,r){if(!t)return null;let n=e.scale.forwardWithinDomain(t);if(n===null)return null;let i=e.timeline.box.y,o=e.timeline.tickPanelY,s=gh(r).nowLabel,a=Sn(s,Cu),c=Math.max($_,Math.ceil(a+2*sc)),l=e.timeline.originX-Qr,u=c/2,f;n-u<l?f="flag-right":n+u>e.chartRightX?f="flag-left":f="center";let d=e.timeline.bottomTickPanelY,p=e.timeline.bottomTickPanelHeight??0,m=d!==void 0&&p>0?d+p:e.swimlaneBottomY;return{x:n,topY:o,bottomY:m,pillTopY:i,pillMode:f,label:s,pillWidth:c,style:yt("item",[],e.styleCtx)}}function CG(t){let e=new Map,r=n=>{if(yr(n)){n.name&&e.set(n.name,n);return}if(Vr(n)){for(let i of n.content)i.$type!=="DescriptionDirective"&&r(i);return}if(Wr(n)){for(let i of n.content)i.$type!=="DescriptionDirective"&&r(i);return}};for(let n of t)for(let i of n.content)i.$type!=="DescriptionDirective"&&r(i);return e}function NE(t,e,r={}){return new nm().place(t,e,r,{sequenceItem:IE,sequenceOne:kE,resolveChildStart:XP,newCursor:Th,estimateTextWidth:Sn,predictItemChipExtraHeight:GP,computeDateWindow:SG,sizeBesideHeader:AG,collectItems:CG,buildDependencies:NG,buildNowline:PG})}var Ji={person:{viewBox:"0 0 24 24",body:'<circle cx="12" cy="8" r="4" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><path d="M4 21a8 8 0 0 1 16 0" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>',ascii:"p"},people:{viewBox:"0 0 24 24",body:'<path d="M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><circle cx="9" cy="7" r="4" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><path d="M22 21v-2a4 4 0 0 0-3-3.87" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><path d="M16 3.13a4 4 0 0 1 0 7.75" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>',ascii:"P"},points:{viewBox:"0 0 24 24",body:'<polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2" fill="currentColor" stroke="currentColor" stroke-width="1" stroke-linejoin="round"/>',ascii:"*"},time:{viewBox:"0 0 24 24",body:'<line x1="10" x2="14" y1="2" y2="2" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><line x1="12" x2="15" y1="14" y2="11" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><circle cx="12" cy="14" r="8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>',ascii:"t"}},OG={calendar:{viewBox:"0 0 24 24",body:'<rect x="3" y="4" width="18" height="18" rx="2" ry="2" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><line x1="16" x2="16" y1="2" y2="6" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><line x1="8" x2="8" y1="2" y2="6" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><line x1="3" x2="21" y1="10" y2="10" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>',ascii:"d"}},jP={...Ji,...OG};var xse={none:"",multiplier:"x",person:Ji.person.ascii,people:Ji.people.ascii,points:Ji.points.ascii,time:Ji.time.ascii};var lm=class{constructor(e="nl"){de(this,"prefix");de(this,"counter",0);this.prefix=e}next(e){let r=`${this.prefix}-${this.counter++}`;return e?`${r}-${e}`:r}};var LG=new Set(["svg","g","defs","symbol","use","path","rect","circle","ellipse","line","polyline","polygon","text","tspan","title","desc","linearGradient","radialGradient","stop","clipPath","mask","pattern","filter","feGaussianBlur","feColorMatrix","feOffset","feMerge","feMergeNode","feFlood","feComposite","feBlend","feDropShadow","image"]),DG=new Set(["d","x","y","x1","y1","x2","y2","cx","cy","r","rx","ry","width","height","viewBox","preserveAspectRatio","fill","fill-opacity","fill-rule","stroke","stroke-width","stroke-opacity","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-dasharray","stroke-dashoffset","opacity","transform","points","id","class","clip-path","mask","filter","font-family","font-size","font-weight","font-style","text-anchor","dx","dy","rotate","letter-spacing","word-spacing","style","xmlns","href","xlink:href","offset","stop-color","stop-opacity","gradientUnits","gradientTransform","spreadMethod","maskUnits","maskContentUnits","stdDeviation","values","in","in2","mode","type","result","flood-color","flood-opacity","patternUnits","patternContentUnits","role","aria-label"]);function $G(t){let e=[],r=0,n=t.length;for(;r<n;){if(t[r]!=="<"){let u=r;for(;r<n&&t[r]!=="<";)r++;let f=t.slice(u,r);f.trim().length>0?e.push({kind:"text",text:f}):f.length>0&&e.push({kind:"text",text:f});continue}if(t.startsWith("<!--",r)){let u=t.indexOf("-->",r+4);if(u<0)break;e.push({kind:"comment",text:t.slice(r+4,u)}),r=u+3;continue}if(t.startsWith("<![CDATA[",r)){let u=t.indexOf("]]>",r+9);if(u<0)break;e.push({kind:"cdata",text:t.slice(r+9,u)}),r=u+3;continue}if(t.startsWith("<?",r)){let u=t.indexOf("?>",r+2);if(u<0)break;e.push({kind:"decl",text:t.slice(r+2,u)}),r=u+2;continue}if(t.startsWith("<!",r)){let u=t.indexOf(">",r+2);if(u<0)break;e.push({kind:"decl",text:t.slice(r+2,u)}),r=u+1;continue}if(t[r+1]==="/"){let u=t.indexOf(">",r+2);if(u<0)break;let f=t.slice(r+2,u).trim();e.push({kind:"close",name:f}),r=u+1;continue}let i=MG(t,r);if(i<0)break;let o=t.slice(r+1,i).trim(),s=o.endsWith("/"),a=s?o.slice(0,-1).trim():o,{name:c,attrs:l}=FG(a);e.push({kind:s?"self":"open",name:c,attrs:l}),r=i+1}return e}function MG(t,e){let r=e+1,n=null;for(;r<t.length;){let i=t[r];if(n)i===n&&(n=null);else if(i==='"'||i==="'")n=i;else if(i===">")return r;r++}return-1}function FG(t){let e=0;for(;e<t.length&&/\s/.test(t[e]);)e++;let r=e;for(;e<t.length&&!/\s/.test(t[e]);)e++;let n=t.slice(r,e),i={};for(;e<t.length;){for(;e<t.length&&/\s/.test(t[e]);)e++;if(e>=t.length)break;let o=e;for(;e<t.length&&t[e]!=="="&&!/\s/.test(t[e]);)e++;let s=t.slice(o,e);if(e>=t.length||t[e]!=="="){s&&(i[s]="");continue}if(e++,e>=t.length)break;let a=t[e];if(a!=='"'&&a!=="'"){let l=e;for(;e<t.length&&!/\s/.test(t[e]);)e++;i[s]=t.slice(l,e);continue}e++;let c=e;for(;e<t.length&&t[e]!==a;)e++;i[s]=t.slice(c,e),e<t.length&&e++}return{name:n,attrs:i}}function Ku(t){return t.replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function UG(t,e){if(t.startsWith("#")){let r=e.get(t.slice(1));return r?`#${r}`:null}if(/^url\(#[^)]+\)$/.test(t)){let r=t.slice(5,-1),n=e.get(r);return n?`url(#${n})`:null}return null}function zP(t,e={}){let r=e.idPrefix??"nl-logo",n=e.onWarn??(()=>{}),i=$G(t),o=new Map,s=0;for(let l of i)if((l.kind==="open"||l.kind==="self")&&l.attrs&&"id"in l.attrs){let u=l.attrs.id;u&&!o.has(u)&&o.set(u,`${r}-${s++}`)}let a=[],c=[];for(let l of i)if(l.kind!=="comment"&&l.kind!=="decl"){if(l.kind==="cdata"){c[c.length-1]&&a.push(Ku(l.text??""));continue}if(l.kind==="text"){if(c.length===0||c[c.length-1]){let u=(l.text??"").replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">");a.push(u)}continue}if(l.kind==="open"||l.kind==="self"){let u=l.name??"";if(u==="script"||u==="foreignObject"||u==="animate"||u==="animateTransform"||u==="animateMotion"||u==="set"){n(`sanitizer: dropping <${u}>`),l.kind==="open"&&c.push(!1);continue}if(!LG.has(u)){n(`sanitizer: dropping unknown element <${u}>`),l.kind==="open"&&c.push(!1);continue}let f=[`<${u}`],d=Object.keys(l.attrs??{}).sort();for(let p of d){let m=l.attrs[p];if(/^on/i.test(p)){n(`sanitizer: dropping event handler ${p}`);continue}if(!DG.has(p)){n(`sanitizer: dropping attribute ${p}`);continue}if(p==="href"||p==="xlink:href"){let g=UG(m,o);if(g===null){n(`sanitizer: dropping external href ${m}`);continue}f.push(` ${p}="${Ku(g)}"`);continue}if(p==="style"){n("sanitizer: dropping inline style");continue}if(p==="id"){let g=o.get(m);g&&f.push(` id="${Ku(g)}"`);continue}if(/\burl\(#/i.test(m)){let g=m.replace(/url\(#([^)]+)\)/gi,(v,T)=>{let _=o.get(T);return _?`url(#${_})`:"none"});f.push(` ${p}="${Ku(g)}"`);continue}if(/data:|javascript:|vbscript:/i.test(m)){n(`sanitizer: dropping suspicious value at ${p}`);continue}f.push(` ${p}="${Ku(m)}"`)}f.push(l.kind==="self"?"/>":">"),a.push(f.join("")),l.kind==="open"&&c.push(!0);continue}l.kind==="close"&&c.pop()&&a.push(`</${l.name}>`)}return a.join("")}var qP=/&/g,WP=/</g,VP=/>/g,BG=/"/g,GG=/'/g;function lr(t){return t.replace(qP,"&").replace(WP,"<").replace(VP,">")}function ei(t){return t.replace(qP,"&").replace(WP,"<").replace(VP,">").replace(BG,""").replace(GG,"'")}function Ec(t){let e=Object.keys(t).sort(),r=[];for(let n of e){let i=t[n];i==null||i===!1||(i===!0?r.push(n):r.push(`${n}="${ei(String(i))}"`))}return r.length?` ${r.join(" ")}`:""}function Q(t,e,r){return r===void 0||r===""?`<${t}${Ec(e)}/>`:`<${t}${Ec(e)}>${r}</${t}>`}function Le(t,e){return`<text${Ec(t)}>${lr(e)}</text>`}function h(t){return Number.isFinite(t)?Number.isInteger(t)?t.toString():(Math.round(t*100)/100).toString():"0"}var XG={none:{dx:0,dy:0,stdDeviation:0,opacity:0},subtle:{dx:0,dy:1,stdDeviation:1.5,opacity:.2},soft:{dx:0,dy:3,stdDeviation:5,opacity:.3},hard:{dx:2,dy:2,stdDeviation:0,opacity:.45}};function HG(t,e){let r=`${t}-shadow-${e}`,n=XG[e],i=`<feGaussianBlur in="SourceAlpha" stdDeviation="${n.stdDeviation}"/><feOffset dx="${n.dx}" dy="${n.dy}" result="offsetblur"/><feComponentTransfer><feFuncA type="linear" slope="${n.opacity}"/></feComponentTransfer><feMerge><feMergeNode/><feMergeNode in="SourceGraphic"/></feMerge>`;return Q("filter",{id:r,x:"-50%",y:"-50%",width:"200%",height:"200%"},i)}function YP(t,e){return e==="none"?null:`url(#${t}-shadow-${e})`}function KP(t){return["subtle","soft","hard"].map(e=>HG(t,e)).join("")}var VG={thin:100,light:300,normal:400,bold:700};function YG(t){return ic[t]??14}function CE(t,e){return{"font-family":je[t.font],"font-size":e??YG(t.textSize),"font-weight":VG[t.weight]??400,"font-style":t.italic?"italic":"normal",fill:t.text}}function KG(t){if(t.border==="dashed")return"4 3";if(t.border==="dotted")return"1 3"}function ZG(t){if(!t||t==="none"||t==="transparent")return 1;let e=t.startsWith("#")?t.slice(1):t;if(e.length===3&&(e=e.split("").map(s=>s+s).join("")),e.length!==6)return 1;let r=parseInt(e.slice(0,2),16)/255,n=parseInt(e.slice(2,4),16)/255,i=parseInt(e.slice(4,6),16)/255,o=s=>s<=.03928?s/12.92:((s+.055)/1.055)**2.4;return .2126*o(r)+.7152*o(n)+.0722*o(i)}function JG(t,e){return ZG(t)>=.24?e.statusDot.onLight:e.statusDot.onDark}function PE(t,e){return t.length*e*.58}function eC(t,e,r,n,i,o,s){let a=i*.58,c=e?PE(e,i):0,l=e?a:0,u=r+c+l,{text:f,icon:d}=t,p=PE(f,i),m={"font-family":o,"font-size":i,fill:s};if(!d)return Le({x:h(u),y:h(n),...m},f);if(d.kind==="builtin"&&d.name==="multiplier")return Le({x:h(u),y:h(n),...m},`${f}\xD7`);if(d.kind==="builtin"){let v=Ji[d.name],T=Le({x:h(u),y:h(n),...m},f),_=i*.1,E=i,I=u+p+_,D=n-i*.85,k=`<svg x="${h(I)}" y="${h(D)}" width="${h(E)}" height="${h(E)}" viewBox="${v.viewBox}" style="color:${ei(s)}" aria-hidden="true">${v.body}</svg>`;return T+k}let g=h(i*.1);return`<text x="${h(u)}" y="${h(n)}" font-family="${ei(o)}" font-size="${i}" fill="${ei(s)}">${lr(f)}<tspan dx="${g}">${lr(d.text)}</tspan></text>`}var ZP=.6,QG=.5;function eX(t){let{metaText:e,capacity:r,x:n,baselineY:i,fontSize:o,fontFamily:s,color:a}=t;if(!e&&!r)return"";let c={"font-family":s,"font-size":o,fill:a};if(!r)return Le({x:h(n),y:h(i),...c},e);if(!e)return eC(r,void 0,n,i,o,s,a);let l=h(o*ZP),u=`<text x="${h(n)}" y="${h(i)}" font-family="${ei(s)}" font-size="${o}" fill="${ei(a)}">`,{text:f,icon:d}=r;if(!d)return u+lr(e)+`<tspan dx="${l}">${lr(f)}</tspan></text>`;if(d.kind==="builtin"&&d.name==="multiplier")return u+lr(e)+`<tspan dx="${l}">${lr(f)}\xD7</tspan></text>`;if(d.kind==="literal"){let k=h(o*.1);return u+lr(e)+`<tspan dx="${l}">${lr(f)}</tspan><tspan dx="${k}">${lr(d.text)}</tspan></text>`}let p=Ji[d.name],m=k=>k.length*o*QG,g=n+m(e)+o*ZP,v=o*.1,T=o,_=g+m(f)+v,E=i-o*.85,I=u+lr(e)+`<tspan dx="${l}">${lr(f)}</tspan></text>`,D=`<svg x="${h(_)}" y="${h(E)}" width="${h(T)}" height="${h(T)}" viewBox="${p.viewBox}" style="color:${ei(a)}" aria-hidden="true">${p.body}</svg>`;return I+D}function tX(t,e){let r=jP.calendar,n=`<svg x="${h(t.glyphTopLeft.x)}" y="${h(t.glyphTopLeft.y)}" width="${h(t.glyphSize)}" height="${h(t.glyphSize)}" viewBox="${r.viewBox}" style="color:${ei(e)}" aria-hidden="true">${r.body}</svg>`,i=`<title>${lr(t.isoDate)}</title>`;return Q("g",{"data-layer":"inline-date-pin","data-side":t.side,"data-date":t.isoDate,"data-spilled":t.spilled?"true":null},i+n)}function OE(t,e){return!t||t.length===0?"":t.map(r=>tX(r,e)).join("")}function rX(t,e,r,n,i,o={}){let s=Math.min(_h[i.cornerRadius]??4,n/2);return Q("rect",{x:h(t),y:h(e),width:h(r),height:h(n),rx:h(s),ry:h(s),fill:i.bg==="none"?"transparent":i.bg,stroke:i.fg,"stroke-width":1,"stroke-dasharray":KG(i)??null,...o})}function nX(t,e,r){let n=t.box.x+t.cardBox.x,i=t.box.y+t.cardBox.y,o=t.cardBox.width,s=t.cardBox.height,a=t.style.bg==="none"?r.surface.headerBox:t.style.bg,c=r.header.cardBorder,l=Q("rect",{x:h(n),y:h(i),width:h(o),height:h(s),rx:6,ry:6,fill:a,stroke:c,"stroke-width":1,filter:`url(#${e}-shadow-subtle)`}),u=[];t.titleLines.forEach((v,T)=>{u.push(Le({x:h(n+16),y:h(i+26+T*20),"font-family":je[t.style.font],"font-size":16,"font-weight":600,fill:t.style.text},v))});let f=u.join(""),d=i+26+Math.max(0,t.titleLines.length-1)*20,p=r.header.author,m=[];t.authorLines.forEach((v,T)=>{m.push(Le({x:h(n+16),y:h(d+18+T*14),"font-family":je[t.style.font],"font-size":11,fill:p},v))});let g=m.join("");return Q("g",{"data-layer":"header","data-id":`${e}-header`},l+f+g)}function iX(t,e,r){let n=r.timeline.gridLine,i=r.timeline.minorGridLine,o=t.bottomTickPanelHeight??0,s=t.bottomTickPanelY!==void 0&&o>0,a=t.tickPanelY,c=s?t.bottomTickPanelY+o:t.box.y+t.box.height,l=e,u=t.box.y+t.box.height,f=[];for(let d of t.ticks)if(d.major)f.push(Q("line",{x1:h(d.x),y1:h(a),x2:h(d.x),y2:h(c),stroke:n,"stroke-width":1}));else if(t.minorGrid){if(d.labelX===void 0)continue;f.push(Q("line",{x1:h(d.x),y1:h(l),x2:h(d.x),y2:h(u),stroke:i,"stroke-width":1}))}return Q("g",{"data-layer":"grid"},f.join(""))}function oX(t,e){let r=e.timeline.panelFill,n=e.timeline.border,i=e.timeline.labelText,o=[],s=t.tickPanelY,a=t.tickPanelHeight,c=a>0,l=t.markerRow.height>0,u=s+a,f=t.markerRow.height,d=t.bottomTickPanelY,p=t.bottomTickPanelHeight??0,m=d!==void 0&&p>0;c&&o.push(Q("rect",{x:h(t.box.x),y:h(s),width:h(t.box.width),height:h(a),rx:4,ry:4,fill:r,stroke:n,"stroke-width":1})),l&&o.push(Q("rect",{x:h(t.box.x),y:h(u),width:h(t.box.width),height:h(f),rx:4,ry:4,fill:r,stroke:n,"stroke-width":1})),m&&o.push(Q("rect",{x:h(t.box.x),y:h(d),width:h(t.box.width),height:h(p),rx:4,ry:4,fill:r,stroke:n,"stroke-width":1}));for(let g of t.ticks)g.major&&(!g.label||g.labelX===void 0||(c&&o.push(Le({x:h(g.labelX),y:h(s+Eh),"font-family":je.sans,"font-size":10,fill:i,"text-anchor":"middle"},g.label)),m&&o.push(Le({x:h(g.labelX),y:h(d+Eh),"font-family":je.sans,"font-size":10,fill:i,"text-anchor":"middle"},g.label))));return Q("g",{"data-layer":"timeline"},o.join(""))}function sX(t,e){if(!t)return"";let r=e.nowline.stroke,n=e.nowline.labelText,i=Q("line",{x1:h(t.x),y1:h(t.topY),x2:h(t.x),y2:h(t.bottomY),stroke:r,"stroke-width":Ah}),o=aX(t,r),s=cX(t,n);return Q("g",{"data-layer":"nowline"},i+o+s)}function tC(t){let e=Ah/2;return t.pillMode==="flag-right"?t.x-e:t.pillMode==="flag-left"?t.x+e:t.x}function aX(t,e){let r=t.pillTopY,n=t.pillTopY+qi,i=M_,o=t.pillWidth;if(t.pillMode==="center")return Q("rect",{x:h(t.x-o/2),y:h(r),width:h(o),height:h(qi),rx:i,ry:i,fill:e});let s=tC(t);if(t.pillMode==="flag-right"){let l=s+o,u=[`M ${h(s)} ${h(r)}`,`L ${h(l-i)} ${h(r)}`,`A ${i} ${i} 0 0 1 ${h(l)} ${h(r+i)}`,`L ${h(l)} ${h(n-i)}`,`A ${i} ${i} 0 0 1 ${h(l-i)} ${h(n)}`,`L ${h(s)} ${h(n)}`,"Z"].join(" ");return Q("path",{d:u,fill:e})}let a=s-o,c=[`M ${h(s)} ${h(r)}`,`L ${h(a+i)} ${h(r)}`,`A ${i} ${i} 0 0 0 ${h(a)} ${h(r+i)}`,`L ${h(a)} ${h(n-i)}`,`A ${i} ${i} 0 0 0 ${h(a+i)} ${h(n)}`,`L ${h(s)} ${h(n)}`,"Z"].join(" ");return Q("path",{d:c,fill:e})}function cX(t,e){let r=t.pillTopY+F_,n=tC(t),i,o;return t.pillMode==="center"?(i=t.x,o="middle"):t.pillMode==="flag-right"?(i=n+sc,o="start"):(i=n-sc,o="end"),Le({x:h(i),y:h(r),"font-family":je.sans,"font-size":Cu,"font-weight":700,fill:e,"text-anchor":o},t.label)}function lX(t,e,r,n){let i=[],o=YP(r,t.style.shadow);i.push(rX(t.box.x,t.box.y,t.box.width,t.box.height,t.style,{filter:o??null}));let s=JG(t.style.bg,n),a={done:s.done,"in-progress":s.inProgress,"at-risk":s.atRisk,blocked:s.blocked,planned:s.planned,neutral:s.neutral},c=a[t.status]??a.neutral;if(t.progressFraction>0){let g=Math.max(0,Math.min(t.box.width,t.box.width*t.progressFraction));i.push(Q("rect",{x:h(t.box.x),y:h(t.box.y+t.box.height-Rn),width:h(g),height:Rn,fill:t.style.fg,opacity:.55}))}let l=t.dotSpills&&t.dotSpillCx!==null?t.dotSpillCx:t.box.x+t.box.width-12;i.push(Q("circle",{cx:h(l),cy:h(t.box.y+12),r:5,fill:c})),i.push(OE(t.inlineDatePins,t.style.fg));let u;t.textSpills?(u=t.box.x+t.box.width+6,t.iconSpills&&(u+=18)):u=t.box.x+12;let f=t.style.text,d=n.entities.item.text,p=t.textSpills?d:f,m=t.textSpills?d:t.style.fg;if(t.title&&i.push(Le({x:h(u),y:h(t.box.y+20),"font-family":je[t.style.font],"font-size":13,"font-weight":600,fill:p},t.title)),(t.metaText||t.capacity)&&i.push(eX({metaText:t.metaText,capacity:t.capacity,x:u,baselineY:t.box.y+38,fontSize:11,fontFamily:je[t.style.font],color:m})),t.footnoteIndicators.length>0){let g=t.box.y+14;if(t.footnoteSpills&&t.footnoteSpillStartX!==null){let v=t.footnoteSpillStartX;for(let T=0;T<t.footnoteIndicators.length;T++){let _=t.footnoteIndicators[T];i.push(Le({x:h(v),y:h(g),"font-family":je.sans,"font-size":10,"font-weight":700,fill:d},String(_))),v+=8}}else{let v=t.box.x+t.box.width-22;for(let T=t.footnoteIndicators.length-1;T>=0;T--){let _=t.footnoteIndicators[T];i.push(Le({x:h(v),y:h(g),"font-family":je.sans,"font-size":10,"font-weight":700,fill:t.style.text,"text-anchor":"end"},String(_))),v-=8}}}if(!e.noLinks&&t.linkIcon&&t.linkIcon!=="none"){let g={linear:"#5e6ad2",github:"#0f172a",jira:"#0052cc",generic:n.item.linkIconFg},v=g[t.linkIcon]??g.generic,T=14,_=t.iconSpills&&t.iconSpillX!==null?t.iconSpillX:t.box.x+6,E=t.box.y+6,I=Q("rect",{x:h(_),y:h(E),width:T,height:T,rx:2,ry:2,fill:v}),D=_,k=E,B=Q("path",{d:`M${h(D+4)} ${h(k+10)} L${h(D+10)} ${h(k+4)} M${h(D+6)} ${h(k+4)} H${h(D+10)} V${h(k+8)}`,stroke:"#ffffff",fill:"none","stroke-width":1.1,"stroke-linecap":"round","stroke-linejoin":"round"}),U=I+B,z=t.linkHref?Q("a",{href:t.linkHref,target:"_blank",rel:"noopener"},U):U;i.push(z)}if(t.hasOverflow&&t.overflowBox){let g=n.item.overflowTailFill,v=n.item.overflowTailStroke,T=n.item.overflowCaption;i.push(Q("rect",{x:h(t.overflowBox.x),y:h(t.overflowBox.y),width:h(t.overflowBox.width),height:h(t.overflowBox.height),fill:g,stroke:v,"stroke-width":1})),t.overflowAnchorId&&t.overflowBox.width>60&&i.push(Le({x:h(t.overflowBox.x+t.overflowBox.width/2),y:h(t.overflowBox.y+t.overflowBox.height/2+3),"font-family":je.sans,"font-size":9,"font-weight":700,fill:T,"text-anchor":"middle"},`past ${t.overflowAnchorId}`))}for(let g of t.labelChips){let v=Math.min(_h[g.style.cornerRadius]??8,g.box.height/2);i.push(Q("rect",{x:h(g.box.x),y:h(g.box.y),width:h(g.box.width),height:h(g.box.height),rx:h(v),ry:h(v),fill:g.style.bg==="none"?"transparent":g.style.bg,stroke:g.style.fg,"stroke-width":.5})),i.push(Le({x:h(g.box.x+g.box.width/2),y:h(g.box.y+g.box.height/2+3),...CE(g.style,ic.xs),"text-anchor":"middle"},g.text))}return Q("g",{"data-layer":"item","data-id":t.id??null},i.join(""))}function uX(t,e,r,n){let i=[];if(t.style.bg!=="none"&&t.style.bg!=="#ffffff"){if(i.push(Q("rect",{x:h(t.box.x),y:h(t.box.y),width:h(t.box.width),height:h(t.box.height),rx:6,ry:6,fill:t.style.bg,stroke:t.style.fg,"stroke-width":1,"fill-opacity":.18,filter:`url(#${r}-shadow-subtle)`})),t.title){let s=t.title.length*L_+2*bh,a=t.box.x,c=t.box.y,l=Pu,u=6,f=`M${h(a+u)} ${h(c)}H${h(a+s)}V${h(c+l-u)}A${u} ${u} 0 0 1 ${h(a+s-u)} ${h(c+l)}H${h(a)}V${h(c+u)}A${u} ${u} 0 0 1 ${h(a+u)} ${h(c)}Z`;i.push(Q("path",{d:f,fill:t.style.fg})),i.push(Le({x:h(a+bh),y:h(c+C_),"font-family":je[t.style.font],"font-size":O_,"font-weight":600,fill:"#ffffff"},t.title))}}else{let s=t.style.fg;if(t.style.bracket!=="none"){let c=t.box.y+t.box.height,l=t.style.bracket==="dashed"?"3 2":null,u=t.title?`M${h(t.box.x+4)} ${h(t.box.y-oc)} L${h(t.box.x)} ${h(t.box.y-oc)} L${h(t.box.x)} ${h(c)} L${h(t.box.x+4)} ${h(c)}`:`M${h(t.box.x)} ${h(t.box.y)} L${h(t.box.x)} ${h(c)} L${h(t.box.x+4)} ${h(c)}`;i.push(Q("path",{d:u,fill:"none",stroke:s,"stroke-width":1,"stroke-dasharray":l}))}t.title&&i.push(Le({x:h(t.box.x+6),y:h(t.box.y-2),...CE(t.style,ic.xs),"fill-opacity":.7},t.title))}i.push(OE(t.inlineDatePins,t.style.fg));for(let s of t.children)i.push(LE(s,e,r,n));return Q("g",{"data-layer":"group","data-id":t.id??null},i.join(""))}function fX(t,e,r,n){let i=[];if(t.style.bracket==="solid"||t.style.bracket==="dashed"){let a=t.box.y-12,c=t.box.y+t.box.height+12,l=t.box.x,u=t.box.x+t.box.width,f=n.parallel.bracketStroke;i.push(Q("path",{d:`M${h(l+4)} ${h(a)} H${h(l)} V${h(c)} H${h(l+4)}`,fill:"none",stroke:f,"stroke-width":1.25,"stroke-dasharray":t.style.bracket==="dashed"?"3 3":null,"stroke-linejoin":"round"})),i.push(Q("path",{d:`M${h(u-4)} ${h(a)} H${h(u)} V${h(c)} H${h(u-4)}`,fill:"none",stroke:f,"stroke-width":1.25,"stroke-dasharray":t.style.bracket==="dashed"?"3 3":null,"stroke-linejoin":"round"}))}t.title&&i.push(Le({x:h(t.box.x+4),y:h(t.box.y-2),...CE(t.style,ic.xs),"fill-opacity":.7},t.title)),i.push(OE(t.inlineDatePins,t.style.fg));for(let o of t.children)i.push(LE(o,e,r,n));return Q("g",{"data-layer":"parallel","data-id":t.id??null},i.join(""))}function LE(t,e,r,n){return t.kind==="item"?lX(t,e,r,n):t.kind==="group"?uX(t,e,r,n):fX(t,e,r,n)}var JP=2;function dX(t,e){switch(t){case"green":return e.swimlane.utilizationOk;case"yellow":return e.swimlane.utilizationWarn;case"red":return e.swimlane.utilizationOver}}function pX(t,e){if(!t.utilization||t.utilization.segments.length===0)return"";let r=t.box.y+t.box.height-JP,n=t.utilization.segments.map(i=>{let o=i.endX-i.startX;return o<=0?"":Q("rect",{x:h(i.startX),y:h(r),width:h(o),height:JP,fill:dX(i.classification,e),"data-utilization":i.classification,"data-load":h(i.load)})});return Q("g",{"data-layer":"lane-utilization","data-id":t.id??null},n.join(""))}function hX(t,e){let r=t.bandIndex%2===0?e.swimlane.rowTintEven:e.swimlane.rowTintOdd,n=e.swimlane.border;return Q("g",{"data-layer":"swimlane-bg","data-id":t.id??null},Q("rect",{x:h(t.box.x),y:h(t.box.y),width:h(t.box.width),height:h(t.box.height),fill:r,stroke:n,"stroke-width":1}))}function rC(t,e,r,n){let i=n.swimlane.tabFill,o=n.swimlane.tabStroke,s=n.swimlane.tabText,a=n.swimlane.ownerText,c=n.swimlane.footnoteIndicator,l=[];if(t.title){let f=t.capacity?Vo(t.capacity.text,t.capacity.icon,10):0,d=t.footnoteIndicators.length>0?t.footnoteIndicators.join(","):"",p=d?PE(d,10):0,m=Ru(t.box.x,t.title,t.owner,f,p),g=vh,v=t.box.y+10,T=v+Rh;l.push(Q("rect",{x:h(m.tabX),y:h(v),width:h(m.tabW),height:h(g),rx:4,ry:4,fill:i,stroke:o,"stroke-width":1})),l.push(Le({x:h(m.titleX),y:h(T),"font-family":je[t.style.font],"font-size":12,"font-weight":600,fill:s},t.title)),t.owner&&l.push(Le({x:h(m.ownerX),y:h(T),"font-family":je[t.style.font],"font-size":10,fill:a},`owner: ${t.owner}`)),t.capacity&&l.push(eC(t.capacity,void 0,m.badgeX,T,10,je[t.style.font],a)),d&&l.push(Le({x:h(m.footnoteRightX),y:h(v+14),"font-family":je.sans,"font-size":10,"font-weight":700,fill:c,"text-anchor":"end"},d))}for(let u of t.children)l.push(LE(u,e,r,n));return l.push(pX(t,n)),Q("g",{"data-layer":"swimlane","data-id":t.id??null},l.join(""))}function mX(t,e){let r=t.radius,n=t.center.x,i=t.center.y,o=e.anchorDiamond.fill,s=e.anchorDiamond.stroke,a=Q("path",{d:`M${h(n)} ${h(i-r)} L${h(n+r)} ${h(i)} L${h(n)} ${h(i+r)} L${h(n-r)} ${h(i)} Z`,fill:o,stroke:s,"stroke-width":1.25}),c=e.anchorDiamond.label,l=t.labelSide==="left"?t.labelBox.x+t.labelBox.width:t.labelBox.x,u={x:h(l),y:h(i+4),"font-family":je.sans,"font-size":10,fill:c};t.labelSide==="left"&&(u["text-anchor"]="end");let f=t.title?Le(u,t.title):"";return Q("g",{"data-layer":"anchor","data-id":t.id??null},a+f)}function gX(t,e){let r=e.anchorDiamond.cutLine;return Q("line",{x1:h(t.center.x),y1:h(t.center.y+t.radius+1),x2:h(t.center.x),y2:h(t.cutBottomY),stroke:r,"stroke-width":1,"stroke-dasharray":"1 3"})}function yX(t,e){let r=t.center.x,n=t.center.y,i=t.radius,o=e.milestoneDiamond.fill,s=Q("path",{d:`M${h(r)} ${h(n-i)} L${h(r+i)} ${h(n)} L${h(r)} ${h(n+i)} L${h(r-i)} ${h(n)} Z`,fill:o,stroke:o,"stroke-width":1}),a=e.milestoneDiamond.label,c=t.labelSide==="left"?t.labelBox.x+t.labelBox.width:t.labelBox.x,l={x:h(c),y:h(n+4),"font-family":je.sans,"font-size":10,"font-weight":600,fill:a};t.labelSide==="left"&&(l["text-anchor"]="end");let u=t.title?Le(l,t.title):"";return Q("g",{"data-layer":"milestone","data-id":t.id??null},s+u)}function xX(t,e){let r=t.isOverrun?e.milestoneDiamond.cutLineOverrun:e.milestoneDiamond.cutLineNormal,n=[];if(n.push(Q("line",{x1:h(t.center.x),y1:h(t.center.y+t.radius+1),x2:h(t.center.x),y2:h(t.cutBottomY),stroke:r,"stroke-width":2,"stroke-dasharray":wh,"stroke-linecap":"round"})),t.slackArrows&&t.slackArrows.length>0){let i=e.milestoneDiamond.slack;for(let o of t.slackArrows)n.push(Q("path",{d:`M${h(o.x)} ${h(o.y)} H${h(t.center.x-6)}`,fill:"none",stroke:i,"stroke-width":1.1,"stroke-dasharray":"3 3","stroke-linecap":"round","marker-end":"url(#nl-arrow-dark)"}))}return n.join("")}function QP(t,e){let r=t.kind==="overflow"?e.dependency.overflowStroke:e.dependency.edgeStroke,n=t.waypoints;if(n.length<2)return"";let i=t.kind==="underBar"?.8:1.1;return Q("path",{d:TX(n,z_),fill:"none",stroke:r,"stroke-width":i,"stroke-dasharray":t.kind==="overflow"?"4 2":null,"stroke-linejoin":"round","marker-end":"url(#nl-arrow)"})}function TX(t,e){if(t.length<2)return"";let r=[`M${h(t[0].x)} ${h(t[0].y)}`];for(let n=1;n<t.length;n++){let i=t[n-1],o=t[n];if(n===t.length-1){r.push(`L${h(o.x)} ${h(o.y)}`);continue}let s=t[n+1],a=Math.sign(o.x-i.x),c=Math.sign(o.y-i.y),l=Math.sign(s.x-o.x),u=Math.sign(s.y-o.y),f=Math.hypot(o.x-i.x,o.y-i.y),d=Math.hypot(s.x-o.x,s.y-o.y),p=Math.min(e,f/2,d/2);if(p<=0||a!==0&&l!==0||c!==0&&u!==0){r.push(`L${h(o.x)} ${h(o.y)}`);continue}let m={x:o.x-a*p,y:o.y-c*p},g={x:o.x+l*p,y:o.y+u*p};r.push(`L${h(m.x)} ${h(m.y)}`),r.push(`Q${h(o.x)} ${h(o.y)} ${h(g.x)} ${h(g.y)}`)}return r.join(" ")}function _X(t,e,r){if(t.entries.length===0)return"";let n=r.footnotePanel.fill,i=r.footnotePanel.border,o=r.footnotePanel.header,s=r.footnotePanel.title,a=r.footnotePanel.description,c=r.footnotePanel.number,l=[];l.push(Q("rect",{x:h(t.box.x),y:h(t.box.y),width:h(t.box.width),height:h(t.box.height),rx:6,ry:6,fill:n,stroke:i,"stroke-width":1,filter:`url(#${e}-shadow-subtle)`})),l.push(Le({x:h(t.box.x+en),y:h(t.box.y+B_),"font-family":je.sans,"font-size":12,"font-weight":700,fill:o},"Footnotes"));let u=t.box.y+Ou+en,f=t.box.x+en,d=f+en;return t.entries.forEach((p,m)=>{let g=u+m*Lu;l.push(Le({x:h(f),y:h(g),"font-family":je.sans,"font-size":10,"font-weight":700,fill:c},String(p.number))),l.push(Le({x:h(d),y:h(g),"font-family":je.sans,"font-size":11,"font-weight":600,fill:s},p.title)),p.description&&l.push(Le({x:h(d+Math.max(120,p.title.length*6)),y:h(g),"font-family":je.sans,"font-size":11,fill:a},`\u2014 ${p.description}`))}),Q("g",{"data-layer":"footnotes"},l.join(""))}function EX(t,e,r,n){let i=n.includeRegion.border,o=n.includeRegion.fill,s=n.includeRegion.tabFill,a=n.includeRegion.tabStroke,c=n.includeRegion.tabText,l=n.includeRegion.badgeFill,u=n.includeRegion.badgeStroke,f=n.includeRegion.badgeText,d=t.box.x+8,p=t.box.y,m=t.box.width-16,g=t.box.height,v=Q("rect",{x:h(d),y:h(p),width:h(m),height:h(g),rx:8,ry:8,fill:o,stroke:i,"stroke-width":1,"stroke-dasharray":wh}),T=vh,_=bu(t.box.x,t.label,t.sourcePath),E=p-T/2,I=Q("rect",{x:h(_.tabX),y:h(E),width:h(_.tabWidth),height:T,rx:4,ry:4,fill:s,stroke:a,"stroke-width":1}),D=Le({x:h(_.tabLabelX),y:h(E+Rh),"font-family":je.sans,"font-size":11,"font-weight":600,fill:c},t.label),k=_.badgeX,B=_.badgeSize,U=p-B/2,z=Q("rect",{x:h(k),y:h(U),width:B,height:B,rx:4,ry:4,fill:l,stroke:u,"stroke-width":1}),le=Q("path",{d:`M${h(k+7)} ${h(U+4)} H${h(k+14)} V${h(U+11)} M${h(k+4)} ${h(U+7)} H${h(k+11)} V${h(U+14)} H${h(k+4)} Z`,stroke:f,"stroke-width":1.4,fill:"none","stroke-linecap":"round","stroke-linejoin":"round"}),O=9,R=p+4,L=Q("rect",{x:h(_.sourceHaloX),y:h(R-O),width:h(_.sourceHaloWidth),height:O+6,fill:o}),$=Le({x:h(_.sourceTextX),y:h(R),"font-family":je.mono,"font-size":O,fill:f},t.sourcePath),w=t.nestedSwimlanes.map(A=>rC(A,e,r,n)).join("");return Q("g",{"data-layer":"include"},v+w+I+D+z+le+L+$)}function vX(t){let e=t.palette.attribution.mark,r=t.palette.attribution.link;if(t.swimlanes.length===0)return"";let n=t.header.attributionBox.x,i=t.header.attributionBox.y,o=Wi,s=Le({x:"0",y:o,"font-family":je.sans,"font-size":kh,"font-weight":400,fill:e},Ih)+Le({x:$u,y:o,"font-family":je.sans,"font-size":Wi,"font-weight":700,fill:e},"now")+Q("rect",{x:X_,y:12,width:H_,height:Wi,fill:r})+Le({x:Nh,y:o,"font-family":je.sans,"font-size":Wi,"font-weight":400,fill:e},"ine"),a=Q("g",{transform:`translate(${h(n)} ${h(i)}) scale(${h(Du)})`},s);return Q("a",{href:G_,target:"_blank",rel:"noopener","aria-label":"Powered by nowline"},Q("g",{"data-layer":"attribution"},a))}async function RX(t,e,r,n,i,o,s){if(!e)return"";let a;try{a=await e(t)}catch(u){let f=`logo: failed to load ${t}: ${u instanceof Error?u.message:String(u)}`;if(n.strict)throw u;return n.warn?.(f),""}let c=(a.mime??"").toLowerCase();if(c==="image/svg+xml"){let u=new TextDecoder().decode(a.bytes),f=zP(u,{idPrefix:`${r}-logo`,onWarn:n.warn});return Q("g",{transform:`translate(${h(i)} ${h(o)})`},f)}if(c==="image/png"||c==="image/jpeg"||c==="image/jpg"||c==="image/webp"){let u=bX(a.bytes);return Q("image",{href:`data:${c};base64,${u}`,x:h(i),y:h(o),width:h(s),height:h(s),preserveAspectRatio:"xMidYMid meet"})}let l=`logo: unsupported mime ${c} for ${t}`;if(n.strict)throw new Error(l);return n.warn?.(l),""}function bX(t){if(typeof btoa<"u"){let r="";for(let n=0;n<t.length;n++)r+=String.fromCharCode(t[n]);return btoa(r)}let e=globalThis;if(e.Buffer)return e.Buffer.from(t).toString("base64");throw new Error("renderer: no base64 encoder available")}async function DE(t,e={}){let n=new lm(e.idPrefix??"nl").next("root"),i=t.palette,o=[],s=i.arrowhead.neutral,a=i.arrowhead.light,c=i.arrowhead.dark,l=(d,p)=>`<marker id="${d}" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto"><path d="M 0 0 L 10 5 L 0 10 z" fill="${p}"/></marker>`,u=`<defs>${KP(n)}`+l("nl-arrow",s)+l("nl-arrow-light",a)+l("nl-arrow-dark",c)+"</defs>";o.push(u),o.push(Q("rect",{x:0,y:0,width:h(t.width),height:h(t.height),fill:t.backgroundColor})),o.push(oX(t.timeline,i));for(let d of t.swimlanes)o.push(hX(d,i));o.push(iX(t.timeline,t.chartBox.y,i));for(let d of t.edges)d.kind==="underBar"&&o.push(QP(d,i));for(let d of t.swimlanes)o.push(rC(d,e,n,i));for(let d of t.includes)o.push(EX(d,e,n,i));for(let d of t.edges)d.kind!=="underBar"&&o.push(QP(d,i));for(let d of t.anchors)o.push(gX(d,i));for(let d of t.milestones)o.push(xX(d,i));for(let d of t.anchors)o.push(mX(d,i));for(let d of t.milestones)o.push(yX(d,i));if(o.push(sX(t.nowline,i)),o.push(_X(t.footnotes,n,i)),o.push(nX(t.header,n,i)),o.push(vX(t)),t.header.logo&&e.assetResolver){let d=await RX(t.header.logo.assetRef??"",e.assetResolver,n,e,t.header.logo.box.x,t.header.logo.box.y,Math.max(t.header.logo.box.width,t.header.logo.box.height));d&&o.push(d)}return`<svg${Ec({xmlns:"http://www.w3.org/2000/svg",viewBox:`0 0 ${h(t.width)} ${h(t.height)}`,width:h(t.width),height:h(t.height),"data-theme":t.theme,"data-generator":"nowline"})}>${o.join("")}</svg>`}var $E="/browser-source.nowline",um,nC=0;function iC(){return um||(um=v_()),um}function wX(){return ht.parse(`memory:///nowline-browser-${++nC}.nowline`)}async function fm(t,e={}){let r=e.filePath??$E,n=iC(),o=n.shared.workspace.LangiumDocumentFactory.fromString(t,wX());await n.shared.workspace.DocumentBuilder.build([o],{validation:!0});let s=[];for(let a of gm(o))a.origin==="lexer"?s.push($k(a.error,r)):a.origin==="parser"?s.push(Dk(a.error,r)):s.push(Lk(a.diagnostic,r));return{ast:o.parseResult.value,diagnostics:s}}async function ME(t,e={}){let r=e.filePath??$E,n=await fm(t,{filePath:r});if(n.diagnostics.some(g=>g.severity==="error"))return{kind:"diagnostics",diagnostics:n.diagnostics};let i=iC(),o=e.readFile??Bk,s=await f_(n.ast,r,{services:i.Nowline,readFile:o}),a=[...n.diagnostics];for(let g of s.diagnostics){if(g.severity==="error"&&Gk(g.message)){e.onSkippedInclude?.({sourcePath:g.sourcePath,message:g.message});continue}a.push(Mk(g))}if(a.some(g=>g.severity==="error"))return{kind:"diagnostics",diagnostics:a};let c=e.today===null?void 0:e.today,l=NE(n.ast,s,{theme:e.theme,today:c,locale:e.locale,width:e.width}),u=e.showLinks!==!1,f=e.strict===!0,d=[],p=await DE(l,{idPrefix:e.idPrefix,assetResolver:e.assetResolver,noLinks:!u,strict:f,warn:g=>d.push(g)}),m=d.map(g=>Fk(g,r,f?"error":"warning"));return f&&m.length>0?{kind:"diagnostics",diagnostics:[...a,...m]}:{kind:"svg",svg:p,warnings:m}}function FE(){um=void 0,nC=0}var oC="/embed.nowline",UE=!1;async function sC(t){let{ast:e,diagnostics:r}=await fm(t,{filePath:oC});return{ast:e,errors:r.filter(n=>n.severity==="error").map(n=>n.message)}}async function dm(t,e={}){let r={filePath:oC,theme:e.theme,today:e.today,locale:e.locale,width:e.width,idPrefix:e.idPrefix,onSkippedInclude:()=>{UE||(UE=!0,console.warn("nowline: `include` directives are skipped in the browser embed (single-file mode). Render multi-file roadmaps with the CLI or the GitHub Action."))}},n=await ME(t,r);if(n.kind==="svg")return n.svg;let i=n.diagnostics.filter(o=>o.severity==="error").map(o=>o.message);throw new Zu(`Failed to render Nowline source: ${i.join("; ")}`,i)}var Zu=class extends Error{constructor(r,n){super(r);de(this,"details",n);this.name="EmbedRenderError"}};function aC(){UE=!1,FE()}var nn=Uint8Array,Tr=Uint16Array,jE=Int32Array,zE=new nn([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),qE=new nn([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),cC=new nn([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),dC=function(t,e){for(var r=new Tr(31),n=0;n<31;++n)r[n]=e+=1<<t[n-1];for(var i=new jE(r[30]),n=1;n<30;++n)for(var o=r[n];o<r[n+1];++o)i[o]=o-r[n]<<5|n;return{b:r,r:i}},pC=dC(zE,2),AX=pC.b,GE=pC.r;AX[28]=258,GE[258]=28;var hC=dC(qE,0),Wse=hC.b,lC=hC.r,XE=new Tr(32768);for(Fe=0;Fe<32768;++Fe)ti=(Fe&43690)>>1|(Fe&21845)<<1,ti=(ti&52428)>>2|(ti&13107)<<2,ti=(ti&61680)>>4|(ti&3855)<<4,XE[Fe]=((ti&65280)>>8|(ti&255)<<8)>>1;var ti,Fe,ef=(function(t,e,r){for(var n=t.length,i=0,o=new Tr(e);i<n;++i)t[i]&&++o[t[i]-1];var s=new Tr(e);for(i=1;i<e;++i)s[i]=s[i-1]+o[i-1]<<1;var a;if(r){a=new Tr(1<<e);var c=15-e;for(i=0;i<n;++i)if(t[i])for(var l=i<<4|t[i],u=e-t[i],f=s[t[i]-1]++<<u,d=f|(1<<u)-1;f<=d;++f)a[XE[f]>>c]=l}else for(a=new Tr(n),i=0;i<n;++i)t[i]&&(a[i]=XE[s[t[i]-1]++]>>15-t[i]);return a}),as=new nn(288);for(Fe=0;Fe<144;++Fe)as[Fe]=8;var Fe;for(Fe=144;Fe<256;++Fe)as[Fe]=9;var Fe;for(Fe=256;Fe<280;++Fe)as[Fe]=7;var Fe;for(Fe=280;Fe<288;++Fe)as[Fe]=8;var Fe,pm=new nn(32);for(Fe=0;Fe<32;++Fe)pm[Fe]=5;var Fe,SX=ef(as,9,0);var IX=ef(pm,5,0);var mC=function(t){return(t+7)/8|0},kX=function(t,e,r){return(e==null||e<0)&&(e=0),(r==null||r>t.length)&&(r=t.length),new nn(t.subarray(e,r))};var ri=function(t,e,r){r<<=e&7;var n=e/8|0;t[n]|=r,t[n+1]|=r>>8},Ju=function(t,e,r){r<<=e&7;var n=e/8|0;t[n]|=r,t[n+1]|=r>>8,t[n+2]|=r>>16},BE=function(t,e){for(var r=[],n=0;n<t.length;++n)t[n]&&r.push({s:n,f:t[n]});var i=r.length,o=r.slice();if(!i)return{t:yC,l:0};if(i==1){var s=new nn(r[0].s+1);return s[r[0].s]=1,{t:s,l:1}}r.sort(function(D,k){return D.f-k.f}),r.push({s:-1,f:25001});var a=r[0],c=r[1],l=0,u=1,f=2;for(r[0]={s:-1,f:a.f+c.f,l:a,r:c};u!=i-1;)a=r[r[l].f<r[f].f?l++:f++],c=r[l!=u&&r[l].f<r[f].f?l++:f++],r[u++]={s:-1,f:a.f+c.f,l:a,r:c};for(var d=o[0].s,n=1;n<i;++n)o[n].s>d&&(d=o[n].s);var p=new Tr(d+1),m=HE(r[u-1],p,0);if(m>e){var n=0,g=0,v=m-e,T=1<<v;for(o.sort(function(k,B){return p[B.s]-p[k.s]||k.f-B.f});n<i;++n){var _=o[n].s;if(p[_]>e)g+=T-(1<<m-p[_]),p[_]=e;else break}for(g>>=v;g>0;){var E=o[n].s;p[E]<e?g-=1<<e-p[E]++-1:++n}for(;n>=0&&g;--n){var I=o[n].s;p[I]==e&&(--p[I],++g)}m=e}return{t:new nn(p),l:m}},HE=function(t,e,r){return t.s==-1?Math.max(HE(t.l,e,r+1),HE(t.r,e,r+1)):e[t.s]=r},uC=function(t){for(var e=t.length;e&&!t[--e];);for(var r=new Tr(++e),n=0,i=t[0],o=1,s=function(c){r[n++]=c},a=1;a<=e;++a)if(t[a]==i&&a!=e)++o;else{if(!i&&o>2){for(;o>138;o-=138)s(32754);o>2&&(s(o>10?o-11<<5|28690:o-3<<5|12305),o=0)}else if(o>3){for(s(i),--o;o>6;o-=6)s(8304);o>2&&(s(o-3<<5|8208),o=0)}for(;o--;)s(i);o=1,i=t[a]}return{c:r.subarray(0,n),n:e}},Qu=function(t,e){for(var r=0,n=0;n<e.length;++n)r+=t[n]*e[n];return r},gC=function(t,e,r){var n=r.length,i=mC(e+2);t[i]=n&255,t[i+1]=n>>8,t[i+2]=t[i]^255,t[i+3]=t[i+1]^255;for(var o=0;o<n;++o)t[i+o+4]=r[o];return(i+4+n)*8},fC=function(t,e,r,n,i,o,s,a,c,l,u){ri(e,u++,r),++i[256];for(var f=BE(i,15),d=f.t,p=f.l,m=BE(o,15),g=m.t,v=m.l,T=uC(d),_=T.c,E=T.n,I=uC(g),D=I.c,k=I.n,B=new Tr(19),U=0;U<_.length;++U)++B[_[U]&31];for(var U=0;U<D.length;++U)++B[D[U]&31];for(var z=BE(B,7),le=z.t,O=z.l,R=19;R>4&&!le[cC[R-1]];--R);var L=l+5<<3,$=Qu(i,as)+Qu(o,pm)+s,w=Qu(i,d)+Qu(o,g)+s+14+3*R+Qu(B,le)+2*B[16]+3*B[17]+7*B[18];if(c>=0&&L<=$&&L<=w)return gC(e,u,t.subarray(c,c+l));var A,S,M,X;if(ri(e,u,1+(w<$)),u+=2,w<$){A=ef(d,p,0),S=d,M=ef(g,v,0),X=g;var F=ef(le,O,0);ri(e,u,E-257),ri(e,u+5,k-1),ri(e,u+10,R-4),u+=14;for(var U=0;U<R;++U)ri(e,u+3*U,le[cC[U]]);u+=3*R;for(var W=[_,D],Z=0;Z<2;++Z)for(var pe=W[Z],U=0;U<pe.length;++U){var V=pe[U]&31;ri(e,u,F[V]),u+=le[V],V>15&&(ri(e,u,pe[U]>>5&127),u+=pe[U]>>12)}}else A=SX,S=as,M=IX,X=pm;for(var U=0;U<a;++U){var te=n[U];if(te>255){var V=te>>18&31;Ju(e,u,A[V+257]),u+=S[V+257],V>7&&(ri(e,u,te>>23&31),u+=zE[V]);var De=te&31;Ju(e,u,M[De]),u+=X[De],De>3&&(Ju(e,u,te>>5&8191),u+=qE[De])}else Ju(e,u,A[te]),u+=S[te]}return Ju(e,u,A[256]),u+S[256]},NX=new jE([65540,131080,131088,131104,262176,1048704,1048832,2114560,2117632]),yC=new nn(0),PX=function(t,e,r,n,i,o){var s=o.z||t.length,a=new nn(n+s+5*(1+Math.ceil(s/7e3))+i),c=a.subarray(n,a.length-i),l=o.l,u=(o.r||0)&7;if(e){u&&(c[0]=o.r>>3);for(var f=NX[e-1],d=f>>13,p=f&8191,m=(1<<r)-1,g=o.p||new Tr(32768),v=o.h||new Tr(m+1),T=Math.ceil(r/3),_=2*T,E=function(me){return(t[me]^t[me+1]<<T^t[me+2]<<_)&m},I=new jE(25e3),D=new Tr(288),k=new Tr(32),B=0,U=0,z=o.i||0,le=0,O=o.w||0,R=0;z+2<s;++z){var L=E(z),$=z&32767,w=v[L];if(g[$]=w,v[L]=$,O<=z){var A=s-z;if((B>7e3||le>24576)&&(A>423||!l)){u=fC(t,c,0,I,D,k,U,le,R,z-R,u),le=B=U=0,R=z;for(var S=0;S<286;++S)D[S]=0;for(var S=0;S<30;++S)k[S]=0}var M=2,X=0,F=p,W=$-w&32767;if(A>2&&L==E(z-W))for(var Z=Math.min(d,A)-1,pe=Math.min(32767,z),V=Math.min(258,A);W<=pe&&--F&&$!=w;){if(t[z+M]==t[z+M-W]){for(var te=0;te<V&&t[z+te]==t[z+te-W];++te);if(te>M){if(M=te,X=W,te>Z)break;for(var De=Math.min(W,te-2),Ne=0,S=0;S<De;++S){var Xe=z-W+S&32767,q=g[Xe],J=Xe-q&32767;J>Ne&&(Ne=J,w=Xe)}}}$=w,w=g[$],W+=$-w&32767}if(X){I[le++]=268435456|GE[M]<<18|lC[X];var re=GE[M]&31,P=lC[X]&31;U+=zE[re]+qE[P],++D[257+re],++k[P],O=z+M,++B}else I[le++]=t[z],++D[t[z]]}}for(z=Math.max(z,O);z<s;++z)I[le++]=t[z],++D[t[z]];u=fC(t,c,l,I,D,k,U,le,R,z-R,u),l||(o.r=u&7|c[u/8|0]<<3,u-=7,o.h=v,o.p=g,o.i=z,o.w=O)}else{for(var z=o.w||0;z<s+l;z+=65535){var we=z+65535;we>=s&&(c[u/8|0]=l,we=s),u=gC(c,u+1,t.subarray(z,we))}o.i=s}return kX(a,0,n+mC(u)+i)};var xC=function(){var t=1,e=0;return{p:function(r){for(var n=t,i=e,o=r.length|0,s=0;s!=o;){for(var a=Math.min(s+2655,o);s<a;++s)i+=n+=r[s];n=(n&65535)+15*(n>>16),i=(i&65535)+15*(i>>16)}t=n,e=i},d:function(){return t%=65521,e%=65521,(t&255)<<24|(t&65280)<<8|(e&255)<<8|e>>8}}},CX=function(t,e,r,n,i){if(!i&&(i={l:1},e.dictionary)){var o=e.dictionary.subarray(-32768),s=new nn(o.length+t.length);s.set(o),s.set(t,o.length),t=s,i.w=o.length}return PX(t,e.level==null?6:e.level,e.mem==null?i.l?Math.ceil(Math.max(8,Math.min(13,Math.log(t.length)))*1.5):20:12+e.mem,r,n,i)};var TC=function(t,e,r){for(;r;++e)t[e]=r,r>>>=8};var OX=function(t,e){var r=e.level,n=r==0?0:r<6?1:r==9?3:2;if(t[0]=120,t[1]=n<<6|(e.dictionary&&32),t[1]|=31-(t[0]<<8|t[1])%31,e.dictionary){var i=xC();i.p(e.dictionary),TC(t,2,i.d())}};function _C(t,e){e||(e={});var r=xC();r.p(t);var n=CX(t,e,e.dictionary?6:2,4);return OX(n,e),TC(n,n.length-4,r.d()),n}var LX=typeof TextDecoder<"u"&&new TextDecoder,DX=0;try{LX.decode(yC,{stream:!0}),DX=1}catch{}var $X="https://free.nowline.io/open";function EC(t){let e=new TextEncoder().encode(t),r=_C(e),n=32768,i="";for(let o=0;o<r.length;o+=n)i+=String.fromCharCode(...r.subarray(o,o+n));return btoa(i).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}function RC({source:t,sourceUrl:e,share:r}){if(r===!1||r==="none")return null;if(typeof r=="object")return e!==void 0&&vC(e)?r.remoteUrl.replace("{url}",encodeURIComponent(e)):r.textUrl.replace("{text}",EC(t));let n=r===!0?$X:r,i=new URL(n);return e!==void 0&&vC(e)?i.hash=`url=${encodeURIComponent(e)}`:i.hash=`text=${EC(t)}`,i.toString()}function vC(t){try{return new URL(t).protocol==="https:"}catch{return!1}}var bC=0;async function wC(t){let e=t.document??globalThis.document;if(!e)return{rendered:0,failed:0};let r=e.querySelectorAll(t.selector),n=0,i=0,o=++bC,s=t.share??!0,a=[],c=0;for(let l of Array.from(r)){let u=MX(l);if(!u)continue;let f=FX(l),d=`nl-r${o}-${c++}`,p={theme:t.theme,locale:t.locale,width:t.width,today:t.today,idPrefix:d},m=u.parentElement,g=u.nextSibling,T=l.getAttribute("data-nowline-source-url")??void 0??t.sourceUrl;a.push(dm(f,p).then(_=>{if(UX(u,_),n++,m!==null){let E=RC({source:f,sourceUrl:T,share:s});if(E!==null){let I=e.createElement("a");I.className="nowline-share",I.href=E,I.target="_blank",I.rel="noopener noreferrer",I.textContent="Share on Nowline",m.insertBefore(I,g)}}},_=>{i++,console.error("nowline: render failed",_)}))}return await Promise.all(a),{rendered:n,failed:i}}function MX(t){let e=t.parentElement;return e&&e.tagName.toUpperCase()==="PRE"?e:t}function FX(t){return t.textContent??""}function UX(t,e){t.outerHTML=e}function AC(){bC=0}function hm(){if(typeof globalThis>"u")return"light";let t=globalThis.matchMedia;if(typeof t!="function")return"light";try{return t("(prefers-color-scheme: dark)").matches?"dark":"light"}catch{return"light"}}function SC(t,e){return t&&t!=="auto"?k_(t)??e:e}var BX="0.5.1",GX="fc40638",XX="pre code.language-nowline, code.language-nowline",IC={theme:"auto",startOnLoad:!0,selector:XX,systemTheme:hm(),share:!0},Tt={...IC},WE=!1;function HX(t={}){Tt={theme:t.theme??Tt.theme,startOnLoad:t.startOnLoad??Tt.startOnLoad,selector:t.selector??Tt.selector,locale:t.locale??Tt.locale,width:t.width??Tt.width,today:t.today??Tt.today,share:t.share??Tt.share,sourceUrl:t.sourceUrl??Tt.sourceUrl,systemTheme:hm()}}function kC(){return{theme:SC(Tt.theme,Tt.systemTheme),locale:Tt.locale,width:Tt.width,today:Tt.today}}async function jX(t,e={}){let r={...kC(),...e};return dm(t,r)}async function zX(t){return sC(t)}async function VE(t){let e={selector:t?.selector??Tt.selector,theme:t?.theme??kC().theme,locale:t?.locale??Tt.locale,width:t?.width??Tt.width,today:t?.today??Tt.today,share:t?.share??Tt.share,sourceUrl:t?.sourceUrl??Tt.sourceUrl,document:t?.document};return wC(e)}var qX=VE;if(typeof document<"u"&&!WE){WE=!0;let t=()=>{Tt.startOnLoad&&VE()};document.readyState==="loading"?document.addEventListener("DOMContentLoaded",t,{once:!0}):queueMicrotask(t)}function WX(){Tt={...IC,systemTheme:hm()},WE=!1,aC(),AC()}return sf(VX);})();
|
|
2664
2664
|
//# sourceMappingURL=nowline.min.js.map
|