@nowline/embed 0.6.0 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/meta.json +107 -17
- package/dist/nowline.esm.js +152 -8
- package/dist/nowline.esm.js.map +4 -4
- package/dist/nowline.min.js +70 -70
- package/dist/nowline.min.js.map +4 -4
- package/dist/share.d.ts +1 -44
- package/dist/share.d.ts.map +1 -1
- package/dist/share.js +6 -74
- package/dist/share.js.map +1 -1
- package/package.json +6 -6
- package/src/share.ts +13 -108
package/dist/nowline.min.js
CHANGED
|
@@ -1,100 +1,100 @@
|
|
|
1
|
-
/*! @nowline/embed 0.
|
|
2
|
-
"use strict";var nowline=(()=>{var GP=Object.create;var bc=Object.defineProperty;var XP=Object.getOwnPropertyDescriptor;var HP=Object.getOwnPropertyNames;var jP=Object.getPrototypeOf,zP=Object.prototype.hasOwnProperty;var qP=(t,e,r)=>e in t?bc(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r;var o0=(t,e)=>()=>(t&&(e=t(t=0)),e);var fe=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),rn=(t,e)=>{for(var r in e)bc(t,r,{get:e[r],enumerable:!0})},ff=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of HP(e))!zP.call(t,i)&&i!==r&&bc(t,i,{get:()=>e[i],enumerable:!(n=XP(e,i))||n.enumerable});return t},Ie=(t,e,r)=>(ff(t,e,"default"),r&&ff(r,e,"default")),Tm=(t,e,r)=>(r=t!=null?GP(jP(t)):{},ff(e||!t||!t.__esModule?bc(r,"default",{value:t,enumerable:!0}):r,t)),df=t=>ff(bc({},"__esModule",{value:!0}),t);var de=(t,e,r)=>qP(t,typeof e!="symbol"?e+"":e,r);var ep={};rn(ep,{AnnotatedTextEdit:()=>Hn,ChangeAnnotation:()=>Po,ChangeAnnotationIdentifier:()=>Lt,CodeAction:()=>Dy,CodeActionContext:()=>Ly,CodeActionKind:()=>Oy,CodeActionTriggerKind:()=>bl,CodeDescription:()=>uy,CodeLens:()=>$y,Color:()=>Wd,ColorInformation:()=>iy,ColorPresentation:()=>oy,Command:()=>Oo,CompletionItem:()=>Ey,CompletionItemKind:()=>my,CompletionItemLabelDetails:()=>_y,CompletionItemTag:()=>yy,CompletionList:()=>vy,CreateFile:()=>oa,DeleteFile:()=>aa,Diagnostic:()=>El,DiagnosticRelatedInformation:()=>Vd,DiagnosticSeverity:()=>cy,DiagnosticTag:()=>ly,DocumentHighlight:()=>Iy,DocumentHighlightKind:()=>Ay,DocumentLink:()=>Fy,DocumentSymbol:()=>Py,DocumentUri:()=>ty,EOL:()=>l2,FoldingRange:()=>ay,FoldingRangeKind:()=>sy,FormattingOptions:()=>My,Hover:()=>Ry,InlayHint:()=>Wy,InlayHintKind:()=>Jd,InlayHintLabelPart:()=>Qd,InlineCompletionContext:()=>Qy,InlineCompletionItem:()=>Yy,InlineCompletionList:()=>Ky,InlineCompletionTriggerKind:()=>Zy,InlineValueContext:()=>qy,InlineValueEvaluatableExpression:()=>zy,InlineValueText:()=>Hy,InlineValueVariableLookup:()=>jy,InsertReplaceEdit:()=>xy,InsertTextFormat:()=>gy,InsertTextMode:()=>Ty,Location:()=>_l,LocationLink:()=>ny,MarkedString:()=>wl,MarkupContent:()=>ca,MarkupKind:()=>Zd,OptionalVersionedTextDocumentIdentifier:()=>Rl,ParameterInformation:()=>wy,Position:()=>Se,Range:()=>Ee,RenameFile:()=>sa,SelectedCompletionInfo:()=>Jy,SelectionRange:()=>Uy,SemanticTokenModifiers:()=>Gy,SemanticTokenTypes:()=>By,SemanticTokens:()=>Xy,SignatureInformation:()=>by,StringValue:()=>Vy,SymbolInformation:()=>Ny,SymbolKind:()=>Sy,SymbolTag:()=>ky,TextDocument:()=>tx,TextDocumentEdit:()=>vl,TextDocumentIdentifier:()=>dy,TextDocumentItem:()=>hy,TextEdit:()=>fn,URI:()=>qd,VersionedTextDocumentIdentifier:()=>py,WorkspaceChange:()=>fy,WorkspaceEdit:()=>Yd,WorkspaceFolder:()=>ex,WorkspaceSymbol:()=>Cy,integer:()=>ry,uinteger:()=>Tl});var ty,qd,ry,Tl,Se,Ee,_l,ny,Wd,iy,oy,sy,ay,Vd,cy,ly,uy,El,Oo,fn,Po,Lt,Hn,vl,oa,sa,aa,Yd,ia,Kd,fy,dy,py,Rl,hy,Zd,ca,my,gy,yy,xy,Ty,_y,Ey,vy,wl,Ry,wy,by,Ay,Iy,Sy,ky,Ny,Cy,Py,Oy,bl,Ly,Dy,$y,My,Fy,Uy,By,Gy,Xy,Hy,jy,zy,qy,Jd,Qd,Wy,Vy,Yy,Ky,Zy,Jy,Qy,ex,l2,tx,rx,w,la=o0(()=>{"use strict";(function(t){function e(r){return typeof r=="string"}t.is=e})(ty||(ty={}));(function(t){function e(r){return typeof r=="string"}t.is=e})(qd||(qd={}));(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})(ry||(ry={}));(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})(Tl||(Tl={}));(function(t){function e(n,i){return n===Number.MAX_VALUE&&(n=Tl.MAX_VALUE),i===Number.MAX_VALUE&&(i=Tl.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})(Se||(Se={}));(function(t){function e(n,i,o,s){if(w.uinteger(n)&&w.uinteger(i)&&w.uinteger(o)&&w.uinteger(s))return{start:Se.create(n,i),end:Se.create(o,s)};if(Se.is(n)&&Se.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)&&Se.is(i.start)&&Se.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 w.objectLiteral(i)&&Ee.is(i.range)&&(w.string(i.uri)||w.undefined(i.uri))}t.is=r})(_l||(_l={}));(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)&&Ee.is(i.targetRange)&&w.string(i.targetUri)&&Ee.is(i.targetSelectionRange)&&(Ee.is(i.originSelectionRange)||w.undefined(i.originSelectionRange))}t.is=r})(ny||(ny={}));(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})(Wd||(Wd={}));(function(t){function e(n,i){return{range:n,color:i}}t.create=e;function r(n){let i=n;return w.objectLiteral(i)&&Ee.is(i.range)&&Wd.is(i.color)}t.is=r})(iy||(iy={}));(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)||fn.is(i))&&(w.undefined(i.additionalTextEdits)||w.typedArray(i.additionalTextEdits,fn.is))}t.is=r})(oy||(oy={}));(function(t){t.Comment="comment",t.Imports="imports",t.Region="region"})(sy||(sy={}));(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})(ay||(ay={}));(function(t){function e(n,i){return{location:n,message:i}}t.create=e;function r(n){let i=n;return w.defined(i)&&_l.is(i.location)&&w.string(i.message)}t.is=r})(Vd||(Vd={}));(function(t){t.Error=1,t.Warning=2,t.Information=3,t.Hint=4})(cy||(cy={}));(function(t){t.Unnecessary=1,t.Deprecated=2})(ly||(ly={}));(function(t){function e(r){let n=r;return w.objectLiteral(n)&&w.string(n.href)}t.is=e})(uy||(uy={}));(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)&&Ee.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,Vd.is))}t.is=r})(El||(El={}));(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})(Oo||(Oo={}));(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)&&Ee.is(s.range)}t.is=i})(fn||(fn={}));(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})(Po||(Po={}));(function(t){function e(r){let n=r;return w.string(n)}t.is=e})(Lt||(Lt={}));(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 fn.is(s)&&(Po.is(s.annotationId)||Lt.is(s.annotationId))}t.is=i})(Hn||(Hn={}));(function(t){function e(n,i){return{textDocument:n,edits:i}}t.create=e;function r(n){let i=n;return w.defined(i)&&Rl.is(i.textDocument)&&Array.isArray(i.edits)}t.is=r})(vl||(vl={}));(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||Lt.is(i.annotationId))}t.is=r})(oa||(oa={}));(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||Lt.is(i.annotationId))}t.is=r})(sa||(sa={}));(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||Lt.is(i.annotationId))}t.is=r})(aa||(aa={}));(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)?oa.is(i)||sa.is(i)||aa.is(i):vl.is(i)))}t.is=e})(Yd||(Yd={}));ia=class{constructor(e,r){this.edits=e,this.changeAnnotations=r}insert(e,r,n){let i,o;if(n===void 0?i=fn.insert(e,r):Lt.is(n)?(o=n,i=Hn.insert(e,r,n)):(this.assertChangeAnnotations(this.changeAnnotations),o=this.changeAnnotations.manage(n),i=Hn.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=fn.replace(e,r):Lt.is(n)?(o=n,i=Hn.replace(e,r,n)):(this.assertChangeAnnotations(this.changeAnnotations),o=this.changeAnnotations.manage(n),i=Hn.replace(e,r,o)),this.edits.push(i),o!==void 0)return o}delete(e,r){let n,i;if(r===void 0?n=fn.del(e):Lt.is(r)?(i=r,n=Hn.del(e,r)):(this.assertChangeAnnotations(this.changeAnnotations),i=this.changeAnnotations.manage(r),n=Hn.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.")}},Kd=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(Lt.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()}},fy=class{constructor(e){this._textEditChanges=Object.create(null),e!==void 0?(this._workspaceEdit=e,e.documentChanges?(this._changeAnnotations=new Kd(e.changeAnnotations),e.changeAnnotations=this._changeAnnotations.all(),e.documentChanges.forEach(r=>{if(vl.is(r)){let n=new ia(r.edits,this._changeAnnotations);this._textEditChanges[r.textDocument.uri]=n}})):e.changes&&Object.keys(e.changes).forEach(r=>{let n=new ia(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(Rl.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 ia(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 ia(n),this._textEditChanges[e]=r}return r}}initDocumentChanges(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._changeAnnotations=new Kd,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;Po.is(r)||Lt.is(r)?i=r:n=r;let o,s;if(i===void 0?o=oa.create(e,n):(s=Lt.is(i)?i:this._changeAnnotations.manage(i),o=oa.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;Po.is(n)||Lt.is(n)?o=n:i=n;let s,a;if(o===void 0?s=sa.create(e,r,i):(a=Lt.is(o)?o:this._changeAnnotations.manage(o),s=sa.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;Po.is(r)||Lt.is(r)?i=r:n=r;let o,s;if(i===void 0?o=aa.create(e,n):(s=Lt.is(i)?i:this._changeAnnotations.manage(i),o=aa.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})(dy||(dy={}));(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})(py||(py={}));(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})(Rl||(Rl={}));(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})(hy||(hy={}));(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 w.objectLiteral(r)&&Zd.is(n.kind)&&w.string(n.value)}t.is=e})(ca||(ca={}));(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})(my||(my={}));(function(t){t.PlainText=1,t.Snippet=2})(gy||(gy={}));(function(t){t.Deprecated=1})(yy||(yy={}));(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)&&Ee.is(i.insert)&&Ee.is(i.replace)}t.is=r})(xy||(xy={}));(function(t){t.asIs=1,t.adjustIndentation=2})(Ty||(Ty={}));(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})(_y||(_y={}));(function(t){function e(r){return{label:r}}t.create=e})(Ey||(Ey={}));(function(t){function e(r,n){return{items:r||[],isIncomplete:!!n}}t.create=e})(vy||(vy={}));(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})(wl||(wl={}));(function(t){function e(r){let n=r;return!!n&&w.objectLiteral(n)&&(ca.is(n.contents)||wl.is(n.contents)||w.typedArray(n.contents,wl.is))&&(r.range===void 0||Ee.is(r.range))}t.is=e})(Ry||(Ry={}));(function(t){function e(r,n){return n?{label:r,documentation:n}:{label:r}}t.create=e})(wy||(wy={}));(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})(by||(by={}));(function(t){t.Text=1,t.Read=2,t.Write=3})(Ay||(Ay={}));(function(t){function e(r,n){let i={range:r};return w.number(n)&&(i.kind=n),i}t.create=e})(Iy||(Iy={}));(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})(Sy||(Sy={}));(function(t){t.Deprecated=1})(ky||(ky={}));(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})(Ny||(Ny={}));(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})(Cy||(Cy={}));(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)&&Ee.is(i.range)&&Ee.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})(Py||(Py={}));(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"})(Oy||(Oy={}));(function(t){t.Invoked=1,t.Automatic=2})(bl||(bl={}));(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,El.is)&&(i.only===void 0||w.typedArray(i.only,w.string))&&(i.triggerKind===void 0||i.triggerKind===bl.Invoked||i.triggerKind===bl.Automatic)}t.is=r})(Ly||(Ly={}));(function(t){function e(n,i,o){let s={title:n},a=!0;return typeof i=="string"?(a=!1,s.kind=i):Oo.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,El.is))&&(i.kind===void 0||w.string(i.kind))&&(i.edit!==void 0||i.command!==void 0)&&(i.command===void 0||Oo.is(i.command))&&(i.isPreferred===void 0||w.boolean(i.isPreferred))&&(i.edit===void 0||Yd.is(i.edit))}t.is=r})(Dy||(Dy={}));(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)&&Ee.is(i.range)&&(w.undefined(i.command)||Oo.is(i.command))}t.is=r})($y||($y={}));(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})(My||(My={}));(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)&&Ee.is(i.range)&&(w.undefined(i.target)||w.string(i.target))}t.is=r})(Fy||(Fy={}));(function(t){function e(n,i){return{range:n,parent:i}}t.create=e;function r(n){let i=n;return w.objectLiteral(i)&&Ee.is(i.range)&&(i.parent===void 0||t.is(i.parent))}t.is=r})(Uy||(Uy={}));(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"})(By||(By={}));(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"})(Gy||(Gy={}));(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})(Xy||(Xy={}));(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)&&w.string(i.text)}t.is=r})(Hy||(Hy={}));(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)&&w.boolean(i.caseSensitiveLookup)&&(w.string(i.variableName)||i.variableName===void 0)}t.is=r})(jy||(jy={}));(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)&&(w.string(i.expression)||i.expression===void 0)}t.is=r})(zy||(zy={}));(function(t){function e(n,i){return{frameId:n,stoppedLocation:i}}t.create=e;function r(n){let i=n;return w.defined(i)&&Ee.is(n.stoppedLocation)}t.is=r})(qy||(qy={}));(function(t){t.Type=1,t.Parameter=2;function e(r){return r===1||r===2}t.is=e})(Jd||(Jd={}));(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)||ca.is(i.tooltip))&&(i.location===void 0||_l.is(i.location))&&(i.command===void 0||Oo.is(i.command))}t.is=r})(Qd||(Qd={}));(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)&&Se.is(i.position)&&(w.string(i.label)||w.typedArray(i.label,Qd.is))&&(i.kind===void 0||Jd.is(i.kind))&&i.textEdits===void 0||w.typedArray(i.textEdits,fn.is)&&(i.tooltip===void 0||w.string(i.tooltip)||ca.is(i.tooltip))&&(i.paddingLeft===void 0||w.boolean(i.paddingLeft))&&(i.paddingRight===void 0||w.boolean(i.paddingRight))}t.is=r})(Wy||(Wy={}));(function(t){function e(r){return{kind:"snippet",value:r}}t.createSnippet=e})(Vy||(Vy={}));(function(t){function e(r,n,i,o){return{insertText:r,filterText:n,range:i,command:o}}t.create=e})(Yy||(Yy={}));(function(t){function e(r){return{items:r}}t.create=e})(Ky||(Ky={}));(function(t){t.Invoked=0,t.Automatic=1})(Zy||(Zy={}));(function(t){function e(r,n){return{range:r,text:n}}t.create=e})(Jy||(Jy={}));(function(t){function e(r,n){return{triggerKind:r,selectedCompletionInfo:n}}t.create=e})(Qy||(Qy={}));(function(t){function e(r){let n=r;return w.objectLiteral(n)&&qd.is(n.uri)&&w.string(n.name)}t.is=e})(ex||(ex={}));l2=[`
|
|
1
|
+
/*! @nowline/embed 0.8.0 sha=871752d built=2026-06-17T05:01:14Z */
|
|
2
|
+
"use strict";var nowline=(()=>{var KP=Object.create;var Ac=Object.defineProperty;var ZP=Object.getOwnPropertyDescriptor;var JP=Object.getOwnPropertyNames;var QP=Object.getPrototypeOf,eO=Object.prototype.hasOwnProperty;var tO=(t,e,r)=>e in t?Ac(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r;var u0=(t,e)=>()=>(t&&(e=t(t=0)),e);var fe=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),rn=(t,e)=>{for(var r in e)Ac(t,r,{get:e[r],enumerable:!0})},pf=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of JP(e))!eO.call(t,i)&&i!==r&&Ac(t,i,{get:()=>e[i],enumerable:!(n=ZP(e,i))||n.enumerable});return t},Ie=(t,e,r)=>(pf(t,e,"default"),r&&pf(r,e,"default")),Em=(t,e,r)=>(r=t!=null?KP(QP(t)):{},pf(e||!t||!t.__esModule?Ac(r,"default",{value:t,enumerable:!0}):r,t)),hf=t=>pf(Ac({},"__esModule",{value:!0}),t);var de=(t,e,r)=>tO(t,typeof e!="symbol"?e+"":e,r);var rp={};rn(rp,{AnnotatedTextEdit:()=>Hn,ChangeAnnotation:()=>Po,ChangeAnnotationIdentifier:()=>Lt,CodeAction:()=>My,CodeActionContext:()=>$y,CodeActionKind:()=>Dy,CodeActionTriggerKind:()=>Al,CodeDescription:()=>dy,CodeLens:()=>Fy,Color:()=>Yd,ColorInformation:()=>sy,ColorPresentation:()=>ay,Command:()=>Oo,CompletionItem:()=>wy,CompletionItemKind:()=>yy,CompletionItemLabelDetails:()=>vy,CompletionItemTag:()=>Ty,CompletionList:()=>Ry,CreateFile:()=>sa,DeleteFile:()=>ca,Diagnostic:()=>vl,DiagnosticRelatedInformation:()=>Kd,DiagnosticSeverity:()=>uy,DiagnosticTag:()=>fy,DocumentHighlight:()=>ky,DocumentHighlightKind:()=>Sy,DocumentLink:()=>By,DocumentSymbol:()=>Ly,DocumentUri:()=>ny,EOL:()=>x2,FoldingRange:()=>ly,FoldingRangeKind:()=>cy,FormattingOptions:()=>Uy,Hover:()=>by,InlayHint:()=>Yy,InlayHintKind:()=>ep,InlayHintLabelPart:()=>tp,InlineCompletionContext:()=>tx,InlineCompletionItem:()=>Zy,InlineCompletionList:()=>Jy,InlineCompletionTriggerKind:()=>Qy,InlineValueContext:()=>Vy,InlineValueEvaluatableExpression:()=>Wy,InlineValueText:()=>jy,InlineValueVariableLookup:()=>qy,InsertReplaceEdit:()=>_y,InsertTextFormat:()=>xy,InsertTextMode:()=>Ey,Location:()=>El,LocationLink:()=>oy,MarkedString:()=>bl,MarkupContent:()=>la,MarkupKind:()=>Qd,OptionalVersionedTextDocumentIdentifier:()=>Rl,ParameterInformation:()=>Ay,Position:()=>Se,Range:()=>Ee,RenameFile:()=>aa,SelectedCompletionInfo:()=>ex,SelectionRange:()=>Gy,SemanticTokenModifiers:()=>Hy,SemanticTokenTypes:()=>Xy,SemanticTokens:()=>zy,SignatureInformation:()=>Iy,StringValue:()=>Ky,SymbolInformation:()=>Py,SymbolKind:()=>Ny,SymbolTag:()=>Cy,TextDocument:()=>nx,TextDocumentEdit:()=>wl,TextDocumentIdentifier:()=>hy,TextDocumentItem:()=>gy,TextEdit:()=>fn,URI:()=>Vd,VersionedTextDocumentIdentifier:()=>my,WorkspaceChange:()=>py,WorkspaceEdit:()=>Zd,WorkspaceFolder:()=>rx,WorkspaceSymbol:()=>Oy,integer:()=>iy,uinteger:()=>_l});var ny,Vd,iy,_l,Se,Ee,El,oy,Yd,sy,ay,cy,ly,Kd,uy,fy,dy,vl,Oo,fn,Po,Lt,Hn,wl,sa,aa,ca,Zd,oa,Jd,py,hy,my,Rl,gy,Qd,la,yy,xy,Ty,_y,Ey,vy,wy,Ry,bl,by,Ay,Iy,Sy,ky,Ny,Cy,Py,Oy,Ly,Dy,Al,$y,My,Fy,Uy,By,Gy,Xy,Hy,zy,jy,qy,Wy,Vy,ep,tp,Yy,Ky,Zy,Jy,Qy,ex,tx,rx,x2,nx,ix,R,ua=u0(()=>{"use strict";(function(t){function e(r){return typeof r=="string"}t.is=e})(ny||(ny={}));(function(t){function e(r){return typeof r=="string"}t.is=e})(Vd||(Vd={}));(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})(iy||(iy={}));(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})(_l||(_l={}));(function(t){function e(n,i){return n===Number.MAX_VALUE&&(n=_l.MAX_VALUE),i===Number.MAX_VALUE&&(i=_l.MAX_VALUE),{line:n,character:i}}t.create=e;function r(n){let i=n;return R.objectLiteral(i)&&R.uinteger(i.line)&&R.uinteger(i.character)}t.is=r})(Se||(Se={}));(function(t){function e(n,i,o,s){if(R.uinteger(n)&&R.uinteger(i)&&R.uinteger(o)&&R.uinteger(s))return{start:Se.create(n,i),end:Se.create(o,s)};if(Se.is(n)&&Se.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 R.objectLiteral(i)&&Se.is(i.start)&&Se.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 R.objectLiteral(i)&&Ee.is(i.range)&&(R.string(i.uri)||R.undefined(i.uri))}t.is=r})(El||(El={}));(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 R.objectLiteral(i)&&Ee.is(i.targetRange)&&R.string(i.targetUri)&&Ee.is(i.targetSelectionRange)&&(Ee.is(i.originSelectionRange)||R.undefined(i.originSelectionRange))}t.is=r})(oy||(oy={}));(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 R.objectLiteral(i)&&R.numberRange(i.red,0,1)&&R.numberRange(i.green,0,1)&&R.numberRange(i.blue,0,1)&&R.numberRange(i.alpha,0,1)}t.is=r})(Yd||(Yd={}));(function(t){function e(n,i){return{range:n,color:i}}t.create=e;function r(n){let i=n;return R.objectLiteral(i)&&Ee.is(i.range)&&Yd.is(i.color)}t.is=r})(sy||(sy={}));(function(t){function e(n,i,o){return{label:n,textEdit:i,additionalTextEdits:o}}t.create=e;function r(n){let i=n;return R.objectLiteral(i)&&R.string(i.label)&&(R.undefined(i.textEdit)||fn.is(i))&&(R.undefined(i.additionalTextEdits)||R.typedArray(i.additionalTextEdits,fn.is))}t.is=r})(ay||(ay={}));(function(t){t.Comment="comment",t.Imports="imports",t.Region="region"})(cy||(cy={}));(function(t){function e(n,i,o,s,a,c){let l={startLine:n,endLine:i};return R.defined(o)&&(l.startCharacter=o),R.defined(s)&&(l.endCharacter=s),R.defined(a)&&(l.kind=a),R.defined(c)&&(l.collapsedText=c),l}t.create=e;function r(n){let i=n;return R.objectLiteral(i)&&R.uinteger(i.startLine)&&R.uinteger(i.startLine)&&(R.undefined(i.startCharacter)||R.uinteger(i.startCharacter))&&(R.undefined(i.endCharacter)||R.uinteger(i.endCharacter))&&(R.undefined(i.kind)||R.string(i.kind))}t.is=r})(ly||(ly={}));(function(t){function e(n,i){return{location:n,message:i}}t.create=e;function r(n){let i=n;return R.defined(i)&&El.is(i.location)&&R.string(i.message)}t.is=r})(Kd||(Kd={}));(function(t){t.Error=1,t.Warning=2,t.Information=3,t.Hint=4})(uy||(uy={}));(function(t){t.Unnecessary=1,t.Deprecated=2})(fy||(fy={}));(function(t){function e(r){let n=r;return R.objectLiteral(n)&&R.string(n.href)}t.is=e})(dy||(dy={}));(function(t){function e(n,i,o,s,a,c){let l={range:n,message:i};return R.defined(o)&&(l.severity=o),R.defined(s)&&(l.code=s),R.defined(a)&&(l.source=a),R.defined(c)&&(l.relatedInformation=c),l}t.create=e;function r(n){var i;let o=n;return R.defined(o)&&Ee.is(o.range)&&R.string(o.message)&&(R.number(o.severity)||R.undefined(o.severity))&&(R.integer(o.code)||R.string(o.code)||R.undefined(o.code))&&(R.undefined(o.codeDescription)||R.string((i=o.codeDescription)===null||i===void 0?void 0:i.href))&&(R.string(o.source)||R.undefined(o.source))&&(R.undefined(o.relatedInformation)||R.typedArray(o.relatedInformation,Kd.is))}t.is=r})(vl||(vl={}));(function(t){function e(n,i,...o){let s={title:n,command:i};return R.defined(o)&&o.length>0&&(s.arguments=o),s}t.create=e;function r(n){let i=n;return R.defined(i)&&R.string(i.title)&&R.string(i.command)}t.is=r})(Oo||(Oo={}));(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 R.objectLiteral(s)&&R.string(s.newText)&&Ee.is(s.range)}t.is=i})(fn||(fn={}));(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 R.objectLiteral(i)&&R.string(i.label)&&(R.boolean(i.needsConfirmation)||i.needsConfirmation===void 0)&&(R.string(i.description)||i.description===void 0)}t.is=r})(Po||(Po={}));(function(t){function e(r){let n=r;return R.string(n)}t.is=e})(Lt||(Lt={}));(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 fn.is(s)&&(Po.is(s.annotationId)||Lt.is(s.annotationId))}t.is=i})(Hn||(Hn={}));(function(t){function e(n,i){return{textDocument:n,edits:i}}t.create=e;function r(n){let i=n;return R.defined(i)&&Rl.is(i.textDocument)&&Array.isArray(i.edits)}t.is=r})(wl||(wl={}));(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"&&R.string(i.uri)&&(i.options===void 0||(i.options.overwrite===void 0||R.boolean(i.options.overwrite))&&(i.options.ignoreIfExists===void 0||R.boolean(i.options.ignoreIfExists)))&&(i.annotationId===void 0||Lt.is(i.annotationId))}t.is=r})(sa||(sa={}));(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"&&R.string(i.oldUri)&&R.string(i.newUri)&&(i.options===void 0||(i.options.overwrite===void 0||R.boolean(i.options.overwrite))&&(i.options.ignoreIfExists===void 0||R.boolean(i.options.ignoreIfExists)))&&(i.annotationId===void 0||Lt.is(i.annotationId))}t.is=r})(aa||(aa={}));(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"&&R.string(i.uri)&&(i.options===void 0||(i.options.recursive===void 0||R.boolean(i.options.recursive))&&(i.options.ignoreIfNotExists===void 0||R.boolean(i.options.ignoreIfNotExists)))&&(i.annotationId===void 0||Lt.is(i.annotationId))}t.is=r})(ca||(ca={}));(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=>R.string(i.kind)?sa.is(i)||aa.is(i)||ca.is(i):wl.is(i)))}t.is=e})(Zd||(Zd={}));oa=class{constructor(e,r){this.edits=e,this.changeAnnotations=r}insert(e,r,n){let i,o;if(n===void 0?i=fn.insert(e,r):Lt.is(n)?(o=n,i=Hn.insert(e,r,n)):(this.assertChangeAnnotations(this.changeAnnotations),o=this.changeAnnotations.manage(n),i=Hn.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=fn.replace(e,r):Lt.is(n)?(o=n,i=Hn.replace(e,r,n)):(this.assertChangeAnnotations(this.changeAnnotations),o=this.changeAnnotations.manage(n),i=Hn.replace(e,r,o)),this.edits.push(i),o!==void 0)return o}delete(e,r){let n,i;if(r===void 0?n=fn.del(e):Lt.is(r)?(i=r,n=Hn.del(e,r)):(this.assertChangeAnnotations(this.changeAnnotations),i=this.changeAnnotations.manage(r),n=Hn.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(Lt.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()}},py=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(wl.is(r)){let n=new oa(r.edits,this._changeAnnotations);this._textEditChanges[r.textDocument.uri]=n}})):e.changes&&Object.keys(e.changes).forEach(r=>{let n=new oa(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(Rl.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 oa(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 oa(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;Po.is(r)||Lt.is(r)?i=r:n=r;let o,s;if(i===void 0?o=sa.create(e,n):(s=Lt.is(i)?i:this._changeAnnotations.manage(i),o=sa.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;Po.is(n)||Lt.is(n)?o=n:i=n;let s,a;if(o===void 0?s=aa.create(e,r,i):(a=Lt.is(o)?o:this._changeAnnotations.manage(o),s=aa.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;Po.is(r)||Lt.is(r)?i=r:n=r;let o,s;if(i===void 0?o=ca.create(e,n):(s=Lt.is(i)?i:this._changeAnnotations.manage(i),o=ca.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 R.defined(i)&&R.string(i.uri)}t.is=r})(hy||(hy={}));(function(t){function e(n,i){return{uri:n,version:i}}t.create=e;function r(n){let i=n;return R.defined(i)&&R.string(i.uri)&&R.integer(i.version)}t.is=r})(my||(my={}));(function(t){function e(n,i){return{uri:n,version:i}}t.create=e;function r(n){let i=n;return R.defined(i)&&R.string(i.uri)&&(i.version===null||R.integer(i.version))}t.is=r})(Rl||(Rl={}));(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 R.defined(i)&&R.string(i.uri)&&R.string(i.languageId)&&R.integer(i.version)&&R.string(i.text)}t.is=r})(gy||(gy={}));(function(t){t.PlainText="plaintext",t.Markdown="markdown";function e(r){let n=r;return n===t.PlainText||n===t.Markdown}t.is=e})(Qd||(Qd={}));(function(t){function e(r){let n=r;return R.objectLiteral(r)&&Qd.is(n.kind)&&R.string(n.value)}t.is=e})(la||(la={}));(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})(yy||(yy={}));(function(t){t.PlainText=1,t.Snippet=2})(xy||(xy={}));(function(t){t.Deprecated=1})(Ty||(Ty={}));(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&&R.string(i.newText)&&Ee.is(i.insert)&&Ee.is(i.replace)}t.is=r})(_y||(_y={}));(function(t){t.asIs=1,t.adjustIndentation=2})(Ey||(Ey={}));(function(t){function e(r){let n=r;return n&&(R.string(n.detail)||n.detail===void 0)&&(R.string(n.description)||n.description===void 0)}t.is=e})(vy||(vy={}));(function(t){function e(r){return{label:r}}t.create=e})(wy||(wy={}));(function(t){function e(r,n){return{items:r||[],isIncomplete:!!n}}t.create=e})(Ry||(Ry={}));(function(t){function e(n){return n.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}t.fromPlainText=e;function r(n){let i=n;return R.string(i)||R.objectLiteral(i)&&R.string(i.language)&&R.string(i.value)}t.is=r})(bl||(bl={}));(function(t){function e(r){let n=r;return!!n&&R.objectLiteral(n)&&(la.is(n.contents)||bl.is(n.contents)||R.typedArray(n.contents,bl.is))&&(r.range===void 0||Ee.is(r.range))}t.is=e})(by||(by={}));(function(t){function e(r,n){return n?{label:r,documentation:n}:{label:r}}t.create=e})(Ay||(Ay={}));(function(t){function e(r,n,...i){let o={label:r};return R.defined(n)&&(o.documentation=n),R.defined(i)?o.parameters=i:o.parameters=[],o}t.create=e})(Iy||(Iy={}));(function(t){t.Text=1,t.Read=2,t.Write=3})(Sy||(Sy={}));(function(t){function e(r,n){let i={range:r};return R.number(n)&&(i.kind=n),i}t.create=e})(ky||(ky={}));(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})(Ny||(Ny={}));(function(t){t.Deprecated=1})(Cy||(Cy={}));(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})(Py||(Py={}));(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})(Oy||(Oy={}));(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&&R.string(i.name)&&R.number(i.kind)&&Ee.is(i.range)&&Ee.is(i.selectionRange)&&(i.detail===void 0||R.string(i.detail))&&(i.deprecated===void 0||R.boolean(i.deprecated))&&(i.children===void 0||Array.isArray(i.children))&&(i.tags===void 0||Array.isArray(i.tags))}t.is=r})(Ly||(Ly={}));(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"})(Dy||(Dy={}));(function(t){t.Invoked=1,t.Automatic=2})(Al||(Al={}));(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 R.defined(i)&&R.typedArray(i.diagnostics,vl.is)&&(i.only===void 0||R.typedArray(i.only,R.string))&&(i.triggerKind===void 0||i.triggerKind===Al.Invoked||i.triggerKind===Al.Automatic)}t.is=r})($y||($y={}));(function(t){function e(n,i,o){let s={title:n},a=!0;return typeof i=="string"?(a=!1,s.kind=i):Oo.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&&R.string(i.title)&&(i.diagnostics===void 0||R.typedArray(i.diagnostics,vl.is))&&(i.kind===void 0||R.string(i.kind))&&(i.edit!==void 0||i.command!==void 0)&&(i.command===void 0||Oo.is(i.command))&&(i.isPreferred===void 0||R.boolean(i.isPreferred))&&(i.edit===void 0||Zd.is(i.edit))}t.is=r})(My||(My={}));(function(t){function e(n,i){let o={range:n};return R.defined(i)&&(o.data=i),o}t.create=e;function r(n){let i=n;return R.defined(i)&&Ee.is(i.range)&&(R.undefined(i.command)||Oo.is(i.command))}t.is=r})(Fy||(Fy={}));(function(t){function e(n,i){return{tabSize:n,insertSpaces:i}}t.create=e;function r(n){let i=n;return R.defined(i)&&R.uinteger(i.tabSize)&&R.boolean(i.insertSpaces)}t.is=r})(Uy||(Uy={}));(function(t){function e(n,i,o){return{range:n,target:i,data:o}}t.create=e;function r(n){let i=n;return R.defined(i)&&Ee.is(i.range)&&(R.undefined(i.target)||R.string(i.target))}t.is=r})(By||(By={}));(function(t){function e(n,i){return{range:n,parent:i}}t.create=e;function r(n){let i=n;return R.objectLiteral(i)&&Ee.is(i.range)&&(i.parent===void 0||t.is(i.parent))}t.is=r})(Gy||(Gy={}));(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"})(Xy||(Xy={}));(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"})(Hy||(Hy={}));(function(t){function e(r){let n=r;return R.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})(zy||(zy={}));(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)&&R.string(i.text)}t.is=r})(jy||(jy={}));(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)&&R.boolean(i.caseSensitiveLookup)&&(R.string(i.variableName)||i.variableName===void 0)}t.is=r})(qy||(qy={}));(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)&&(R.string(i.expression)||i.expression===void 0)}t.is=r})(Wy||(Wy={}));(function(t){function e(n,i){return{frameId:n,stoppedLocation:i}}t.create=e;function r(n){let i=n;return R.defined(i)&&Ee.is(n.stoppedLocation)}t.is=r})(Vy||(Vy={}));(function(t){t.Type=1,t.Parameter=2;function e(r){return r===1||r===2}t.is=e})(ep||(ep={}));(function(t){function e(n){return{value:n}}t.create=e;function r(n){let i=n;return R.objectLiteral(i)&&(i.tooltip===void 0||R.string(i.tooltip)||la.is(i.tooltip))&&(i.location===void 0||El.is(i.location))&&(i.command===void 0||Oo.is(i.command))}t.is=r})(tp||(tp={}));(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 R.objectLiteral(i)&&Se.is(i.position)&&(R.string(i.label)||R.typedArray(i.label,tp.is))&&(i.kind===void 0||ep.is(i.kind))&&i.textEdits===void 0||R.typedArray(i.textEdits,fn.is)&&(i.tooltip===void 0||R.string(i.tooltip)||la.is(i.tooltip))&&(i.paddingLeft===void 0||R.boolean(i.paddingLeft))&&(i.paddingRight===void 0||R.boolean(i.paddingRight))}t.is=r})(Yy||(Yy={}));(function(t){function e(r){return{kind:"snippet",value:r}}t.createSnippet=e})(Ky||(Ky={}));(function(t){function e(r,n,i,o){return{insertText:r,filterText:n,range:i,command:o}}t.create=e})(Zy||(Zy={}));(function(t){function e(r){return{items:r}}t.create=e})(Jy||(Jy={}));(function(t){t.Invoked=0,t.Automatic=1})(Qy||(Qy={}));(function(t){function e(r,n){return{range:r,text:n}}t.create=e})(ex||(ex={}));(function(t){function e(r,n){return{triggerKind:r,selectedCompletionInfo:n}}t.create=e})(tx||(tx={}));(function(t){function e(r){let n=r;return R.objectLiteral(n)&&Vd.is(n.uri)&&R.string(n.name)}t.is=e})(rx||(rx={}));x2=[`
|
|
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 ix(o,s,a,c)}t.create=e;function r(o){let s=o;return!!(R.defined(s)&&R.string(s.uri)&&(R.undefined(s.languageId)||R.string(s.languageId))&&R.uinteger(s.lineCount)&&R.func(s.getText)&&R.func(s.positionAt)&&R.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}})(nx||(nx={}));ix=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 Se.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 Se.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,y){return e.call(p)==="[object Number]"&&m<=p&&p<=y}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 px=fe(dx=>{"use strict";Object.defineProperty(dx,"__esModule",{value:!0});var ux;function fx(){if(ux===void 0)throw new Error("No runtime abstraction layer installed");return ux}(function(t){function e(r){if(r===void 0)throw new Error("No runtime abstraction layer provided");ux=r}t.install=e})(fx||(fx={}));dx.default=fx});var ab=fe(Ft=>{"use strict";Object.defineProperty(Ft,"__esModule",{value:!0});Ft.stringArray=Ft.array=Ft.func=Ft.error=Ft.number=Ft.string=Ft.boolean=void 0;function E2(t){return t===!0||t===!1}Ft.boolean=E2;function ob(t){return typeof t=="string"||t instanceof String}Ft.string=ob;function v2(t){return typeof t=="number"||t instanceof Number}Ft.number=v2;function R2(t){return t instanceof Error}Ft.error=R2;function w2(t){return typeof t=="function"}Ft.func=w2;function sb(t){return Array.isArray(t)}Ft.array=sb;function b2(t){return sb(t)&&t.every(e=>ob(e))}Ft.stringArray=b2});var mx=fe(da=>{"use strict";Object.defineProperty(da,"__esModule",{value:!0});da.Emitter=da.Event=void 0;var A2=px(),cb;(function(t){let e={dispose(){}};t.None=function(){return e}})(cb||(da.Event=cb={}));var hx=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,A2.default)().console.error(a)}return r}isEmpty(){return!this._callbacks||this._callbacks.length===0}dispose(){this._callbacks=void 0,this._contexts=void 0}},op=class t{constructor(e){this._options=e}get event(){return this._event||(this._event=(e,r,n)=>{this._callbacks||(this._callbacks=new hx),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)}};da.Emitter=op;op._noop=function(){}});var lb=fe(pa=>{"use strict";Object.defineProperty(pa,"__esModule",{value:!0});pa.CancellationTokenSource=pa.CancellationToken=void 0;var I2=px(),S2=ab(),gx=mx(),sp;(function(t){t.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:gx.Event.None}),t.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:gx.Event.None});function e(r){let n=r;return n&&(n===t.None||n===t.Cancelled||S2.boolean(n.isCancellationRequested)&&!!n.onCancellationRequested)}t.is=e})(sp||(pa.CancellationToken=sp={}));var k2=Object.freeze(function(t,e){let r=(0,I2.default)().timer.setTimeout(t.bind(e),0);return{dispose(){r.dispose()}}}),ap=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?k2:(this._emitter||(this._emitter=new gx.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}},yx=class{get token(){return this._token||(this._token=new ap),this._token}cancel(){this._token?this._token.cancel():this._token=sp.Cancelled}dispose(){this._token?this._token instanceof ap&&this._token.dispose():this._token=sp.None}};pa.CancellationTokenSource=yx});var _a=fe(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 P2(t){return t===!0||t===!1}Bt.boolean=P2;function Eb(t){return typeof t=="string"||t instanceof String}Bt.string=Eb;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 vb(t){return Array.isArray(t)}Bt.array=vb;function $2(t){return vb(t)&&t.every(e=>Eb(e))}Bt.stringArray=$2});var qx=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 Ho=_a(),vx;(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})(vx||(ee.ErrorCodes=vx={}));var Rx=class t extends Error{constructor(e,r,n){super(r),this.code=Ho.number(e)?e:vx.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=Rx;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}};ee.ParameterStructures=nr;nr.auto=new nr("auto");nr.byPosition=new nr("byPosition");nr.byName=new nr("byName");var it=class{constructor(e,r){this.method=e,this.numberOfParams=r}get parameterStructures(){return nr.auto}};ee.AbstractMessageSignature=it;var wx=class extends it{constructor(e){super(e,0)}};ee.RequestType0=wx;var bx=class extends it{constructor(e,r=nr.auto){super(e,1),this._parameterStructures=r}get parameterStructures(){return this._parameterStructures}};ee.RequestType=bx;var Ax=class extends it{constructor(e,r=nr.auto){super(e,1),this._parameterStructures=r}get parameterStructures(){return this._parameterStructures}};ee.RequestType1=Ax;var Ix=class extends it{constructor(e){super(e,2)}};ee.RequestType2=Ix;var Sx=class extends it{constructor(e){super(e,3)}};ee.RequestType3=Sx;var kx=class extends it{constructor(e){super(e,4)}};ee.RequestType4=kx;var Nx=class extends it{constructor(e){super(e,5)}};ee.RequestType5=Nx;var Cx=class extends it{constructor(e){super(e,6)}};ee.RequestType6=Cx;var Px=class extends it{constructor(e){super(e,7)}};ee.RequestType7=Px;var Ox=class extends it{constructor(e){super(e,8)}};ee.RequestType8=Ox;var Lx=class extends it{constructor(e){super(e,9)}};ee.RequestType9=Lx;var Dx=class extends it{constructor(e,r=nr.auto){super(e,1),this._parameterStructures=r}get parameterStructures(){return this._parameterStructures}};ee.NotificationType=Dx;var $x=class extends it{constructor(e){super(e,0)}};ee.NotificationType0=$x;var Mx=class extends it{constructor(e,r=nr.auto){super(e,1),this._parameterStructures=r}get parameterStructures(){return this._parameterStructures}};ee.NotificationType1=Mx;var Fx=class extends it{constructor(e){super(e,2)}};ee.NotificationType2=Fx;var Ux=class extends it{constructor(e){super(e,3)}};ee.NotificationType3=Ux;var Bx=class extends it{constructor(e){super(e,4)}};ee.NotificationType4=Bx;var Gx=class extends it{constructor(e){super(e,5)}};ee.NotificationType5=Gx;var Xx=class extends it{constructor(e){super(e,6)}};ee.NotificationType6=Xx;var Hx=class extends it{constructor(e){super(e,7)}};ee.NotificationType7=Hx;var jx=class extends it{constructor(e){super(e,8)}};ee.NotificationType8=jx;var zx=class extends it{constructor(e){super(e,9)}};ee.NotificationType9=zx;var Rb;(function(t){function e(i){let o=i;return o&&Ho.string(o.method)&&(Ho.string(o.id)||Ho.number(o.id))}t.isRequest=e;function r(i){let o=i;return o&&Ho.string(o.method)&&i.id===void 0}t.isNotification=r;function n(i){let o=i;return o&&(o.result!==void 0||!!o.error)&&(Ho.string(o.id)||Ho.number(o.id)||o.id===null)}t.isResponse=n})(Rb||(ee.Message=Rb={}))});var Vx=fe(Oi=>{"use strict";var wb;Object.defineProperty(Oi,"__esModule",{value:!0});Oi.LRUCache=Oi.LinkedMap=Oi.Touch=void 0;var Gt;(function(t){t.None=0,t.First=1,t.AsOld=t.First,t.Last=2,t.AsNew=t.Last})(Gt||(Oi.Touch=Gt={}));var hp=class{constructor(){this[wb]="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=Gt.None){let n=this._map.get(e);if(n)return r!==Gt.None&&this.touch(n,r),n.value}set(e,r,n=Gt.None){let i=this._map.get(e);if(i)i.value=r,n!==Gt.None&&this.touch(i,n);else{switch(i={key:e,value:r,next:void 0,previous:void 0},n){case Gt.None:this.addItemLast(i);break;case Gt.First:this.addItemFirst(i);break;case Gt.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}[(wb=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!==Gt.First&&r!==Gt.Last)){if(r===Gt.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===Gt.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)}};Oi.LinkedMap=hp;var Wx=class extends hp{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=Gt.AsNew){return super.get(e,r)}peek(e){return super.get(e,Gt.None)}set(e,r){return super.set(e,r,Gt.Last),this.checkTrim(),this}checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))}};Oi.LRUCache=Wx});var Ab=fe(mp=>{"use strict";Object.defineProperty(mp,"__esModule",{value:!0});mp.Disposable=void 0;var bb;(function(t){function e(r){return{dispose:r}}t.create=e})(bb||(mp.Disposable=bb={}))});var Li=fe(Zx=>{"use strict";Object.defineProperty(Zx,"__esModule",{value:!0});var Yx;function Kx(){if(Yx===void 0)throw new Error("No runtime abstraction layer installed");return Yx}(function(t){function e(r){if(r===void 0)throw new Error("No runtime abstraction layer provided");Yx=r}t.install=e})(Kx||(Kx={}));Zx.default=Kx});var va=fe(Ea=>{"use strict";Object.defineProperty(Ea,"__esModule",{value:!0});Ea.Emitter=Ea.Event=void 0;var M2=Li(),Ib;(function(t){let e={dispose(){}};t.None=function(){return e}})(Ib||(Ea.Event=Ib={}));var Jx=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,M2.default)().console.error(a)}return r}isEmpty(){return!this._callbacks||this._callbacks.length===0}dispose(){this._callbacks=void 0,this._contexts=void 0}},gp=class t{constructor(e){this._options=e}get event(){return this._event||(this._event=(e,r,n)=>{this._callbacks||(this._callbacks=new Jx),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)}};Ea.Emitter=gp;gp._noop=function(){}});var Tp=fe(Ra=>{"use strict";Object.defineProperty(Ra,"__esModule",{value:!0});Ra.CancellationTokenSource=Ra.CancellationToken=void 0;var F2=Li(),U2=_a(),Qx=va(),yp;(function(t){t.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:Qx.Event.None}),t.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:Qx.Event.None});function e(r){let n=r;return n&&(n===t.None||n===t.Cancelled||U2.boolean(n.isCancellationRequested)&&!!n.onCancellationRequested)}t.is=e})(yp||(Ra.CancellationToken=yp={}));var B2=Object.freeze(function(t,e){let r=(0,F2.default)().timer.setTimeout(t.bind(e),0);return{dispose(){r.dispose()}}}),xp=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?B2:(this._emitter||(this._emitter=new Qx.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}},eT=class{get token(){return this._token||(this._token=new xp),this._token}cancel(){this._token?this._token.cancel():this._token=yp.Cancelled}dispose(){this._token?this._token instanceof xp&&this._token.dispose():this._token=yp.None}};Ra.CancellationTokenSource=eT});var Sb=fe(wa=>{"use strict";Object.defineProperty(wa,"__esModule",{value:!0});wa.SharedArrayReceiverStrategy=wa.SharedArraySenderStrategy=void 0;var G2=Tp(),Yl;(function(t){t.Continue=0,t.Cancelled=1})(Yl||(Yl={}));var tT=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]=Yl.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,Yl.Cancelled)}cleanup(e){this.buffers.delete(e)}dispose(){this.buffers.clear()}};wa.SharedArraySenderStrategy=tT;var rT=class{constructor(e){this.data=new Int32Array(e,0,1)}get isCancellationRequested(){return Atomics.load(this.data,0)===Yl.Cancelled}get onCancellationRequested(){throw new Error("Cancellation over SharedArrayBuffer doesn't support cancellation events")}},nT=class{constructor(e){this.token=new rT(e)}cancel(){}dispose(){}},iT=class{constructor(){this.kind="request"}createCancellationTokenSource(e){let r=e.$cancellationData;return r===void 0?new G2.CancellationTokenSource:new nT(r)}};wa.SharedArrayReceiverStrategy=iT});var sT=fe(_p=>{"use strict";Object.defineProperty(_p,"__esModule",{value:!0});_p.Semaphore=void 0;var X2=Li(),oT=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,X2.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()}}};_p.Semaphore=oT});var Nb=fe(Di=>{"use strict";Object.defineProperty(Di,"__esModule",{value:!0});Di.ReadableStreamMessageReader=Di.AbstractMessageReader=Di.MessageReader=void 0;var cT=Li(),ba=_a(),aT=va(),H2=sT(),kb;(function(t){function e(r){let n=r;return n&&ba.func(n.listen)&&ba.func(n.dispose)&&ba.func(n.onError)&&ba.func(n.onClose)&&ba.func(n.onPartialMessage)}t.is=e})(kb||(Di.MessageReader=kb={}));var Ep=class{constructor(){this.errorEmitter=new aT.Emitter,this.closeEmitter=new aT.Emitter,this.partialMessageEmitter=new aT.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: ${ba.string(e.message)?e.message:"unknown"}`)}};Di.AbstractMessageReader=Ep;var lT;(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,cT.default)().applicationJson.decoder,c.set(a.name,a)),{charset:n,contentDecoder:o,contentDecoders:s,contentTypeDecoder:a,contentTypeDecoders:c}}t.fromOptions=e})(lT||(lT={}));var uT=class extends Ep{constructor(e,r){super(),this.readable=e,this.options=lT.fromOptions(r),this.buffer=(0,cT.default)().messageBuffer.create(this.options.charset),this._partialMessageTimeout=1e4,this.nextMessageLength=-1,this.messageToken=0,this.readSemaphore=new H2.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 P=x.id,
|
|
12
|
-
${JSON.stringify(x,null,4)}`);let P=x;if(mt.string(P.id)||mt.number(P.id)){let
|
|
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 Se.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 Se.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,y){return e.call(p)==="[object Number]"&&m<=p&&p<=y}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})(R||(R={}))});var mx=fe(hx=>{"use strict";Object.defineProperty(hx,"__esModule",{value:!0});var dx;function px(){if(dx===void 0)throw new Error("No runtime abstraction layer installed");return dx}(function(t){function e(r){if(r===void 0)throw new Error("No runtime abstraction layer provided");dx=r}t.install=e})(px||(px={}));hx.default=px});var db=fe(Ft=>{"use strict";Object.defineProperty(Ft,"__esModule",{value:!0});Ft.stringArray=Ft.array=Ft.func=Ft.error=Ft.number=Ft.string=Ft.boolean=void 0;function N2(t){return t===!0||t===!1}Ft.boolean=N2;function ub(t){return typeof t=="string"||t instanceof String}Ft.string=ub;function C2(t){return typeof t=="number"||t instanceof Number}Ft.number=C2;function P2(t){return t instanceof Error}Ft.error=P2;function O2(t){return typeof t=="function"}Ft.func=O2;function fb(t){return Array.isArray(t)}Ft.array=fb;function L2(t){return fb(t)&&t.every(e=>ub(e))}Ft.stringArray=L2});var yx=fe(pa=>{"use strict";Object.defineProperty(pa,"__esModule",{value:!0});pa.Emitter=pa.Event=void 0;var D2=mx(),pb;(function(t){let e={dispose(){}};t.None=function(){return e}})(pb||(pa.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,D2.default)().console.error(a)}return r}isEmpty(){return!this._callbacks||this._callbacks.length===0}dispose(){this._callbacks=void 0,this._contexts=void 0}},ap=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)}};pa.Emitter=ap;ap._noop=function(){}});var hb=fe(ha=>{"use strict";Object.defineProperty(ha,"__esModule",{value:!0});ha.CancellationTokenSource=ha.CancellationToken=void 0;var $2=mx(),M2=db(),xx=yx(),cp;(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||M2.boolean(n.isCancellationRequested)&&!!n.onCancellationRequested)}t.is=e})(cp||(ha.CancellationToken=cp={}));var F2=Object.freeze(function(t,e){let r=(0,$2.default)().timer.setTimeout(t.bind(e),0);return{dispose(){r.dispose()}}}),lp=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?F2:(this._emitter||(this._emitter=new xx.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}},Tx=class{get token(){return this._token||(this._token=new lp),this._token}cancel(){this._token?this._token.cancel():this._token=cp.Cancelled}dispose(){this._token?this._token instanceof lp&&this._token.dispose():this._token=cp.None}};ha.CancellationTokenSource=Tx});var Ea=fe(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 G2(t){return t===!0||t===!1}Bt.boolean=G2;function Ab(t){return typeof t=="string"||t instanceof String}Bt.string=Ab;function X2(t){return typeof t=="number"||t instanceof Number}Bt.number=X2;function H2(t){return t instanceof Error}Bt.error=H2;function z2(t){return typeof t=="function"}Bt.func=z2;function Ib(t){return Array.isArray(t)}Bt.array=Ib;function j2(t){return Ib(t)&&t.every(e=>Ab(e))}Bt.stringArray=j2});var Vx=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 Ho=Ea(),Rx;(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})(Rx||(ee.ErrorCodes=Rx={}));var bx=class t extends Error{constructor(e,r,n){super(r),this.code=Ho.number(e)?e:Rx.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=bx;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}};ee.ParameterStructures=nr;nr.auto=new nr("auto");nr.byPosition=new nr("byPosition");nr.byName=new nr("byName");var it=class{constructor(e,r){this.method=e,this.numberOfParams=r}get parameterStructures(){return nr.auto}};ee.AbstractMessageSignature=it;var Ax=class extends it{constructor(e){super(e,0)}};ee.RequestType0=Ax;var Ix=class extends it{constructor(e,r=nr.auto){super(e,1),this._parameterStructures=r}get parameterStructures(){return this._parameterStructures}};ee.RequestType=Ix;var Sx=class extends it{constructor(e,r=nr.auto){super(e,1),this._parameterStructures=r}get parameterStructures(){return this._parameterStructures}};ee.RequestType1=Sx;var kx=class extends it{constructor(e){super(e,2)}};ee.RequestType2=kx;var Nx=class extends it{constructor(e){super(e,3)}};ee.RequestType3=Nx;var Cx=class extends it{constructor(e){super(e,4)}};ee.RequestType4=Cx;var Px=class extends it{constructor(e){super(e,5)}};ee.RequestType5=Px;var Ox=class extends it{constructor(e){super(e,6)}};ee.RequestType6=Ox;var Lx=class extends it{constructor(e){super(e,7)}};ee.RequestType7=Lx;var Dx=class extends it{constructor(e){super(e,8)}};ee.RequestType8=Dx;var $x=class extends it{constructor(e){super(e,9)}};ee.RequestType9=$x;var Mx=class extends it{constructor(e,r=nr.auto){super(e,1),this._parameterStructures=r}get parameterStructures(){return this._parameterStructures}};ee.NotificationType=Mx;var Fx=class extends it{constructor(e){super(e,0)}};ee.NotificationType0=Fx;var Ux=class extends it{constructor(e,r=nr.auto){super(e,1),this._parameterStructures=r}get parameterStructures(){return this._parameterStructures}};ee.NotificationType1=Ux;var Bx=class extends it{constructor(e){super(e,2)}};ee.NotificationType2=Bx;var Gx=class extends it{constructor(e){super(e,3)}};ee.NotificationType3=Gx;var Xx=class extends it{constructor(e){super(e,4)}};ee.NotificationType4=Xx;var Hx=class extends it{constructor(e){super(e,5)}};ee.NotificationType5=Hx;var zx=class extends it{constructor(e){super(e,6)}};ee.NotificationType6=zx;var jx=class extends it{constructor(e){super(e,7)}};ee.NotificationType7=jx;var qx=class extends it{constructor(e){super(e,8)}};ee.NotificationType8=qx;var Wx=class extends it{constructor(e){super(e,9)}};ee.NotificationType9=Wx;var Sb;(function(t){function e(i){let o=i;return o&&Ho.string(o.method)&&(Ho.string(o.id)||Ho.number(o.id))}t.isRequest=e;function r(i){let o=i;return o&&Ho.string(o.method)&&i.id===void 0}t.isNotification=r;function n(i){let o=i;return o&&(o.result!==void 0||!!o.error)&&(Ho.string(o.id)||Ho.number(o.id)||o.id===null)}t.isResponse=n})(Sb||(ee.Message=Sb={}))});var Kx=fe(Oi=>{"use strict";var kb;Object.defineProperty(Oi,"__esModule",{value:!0});Oi.LRUCache=Oi.LinkedMap=Oi.Touch=void 0;var Gt;(function(t){t.None=0,t.First=1,t.AsOld=t.First,t.Last=2,t.AsNew=t.Last})(Gt||(Oi.Touch=Gt={}));var gp=class{constructor(){this[kb]="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=Gt.None){let n=this._map.get(e);if(n)return r!==Gt.None&&this.touch(n,r),n.value}set(e,r,n=Gt.None){let i=this._map.get(e);if(i)i.value=r,n!==Gt.None&&this.touch(i,n);else{switch(i={key:e,value:r,next:void 0,previous:void 0},n){case Gt.None:this.addItemLast(i);break;case Gt.First:this.addItemFirst(i);break;case Gt.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}[(kb=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!==Gt.First&&r!==Gt.Last)){if(r===Gt.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===Gt.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)}};Oi.LinkedMap=gp;var Yx=class extends gp{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=Gt.AsNew){return super.get(e,r)}peek(e){return super.get(e,Gt.None)}set(e,r){return super.set(e,r,Gt.Last),this.checkTrim(),this}checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))}};Oi.LRUCache=Yx});var Cb=fe(yp=>{"use strict";Object.defineProperty(yp,"__esModule",{value:!0});yp.Disposable=void 0;var Nb;(function(t){function e(r){return{dispose:r}}t.create=e})(Nb||(yp.Disposable=Nb={}))});var Li=fe(Qx=>{"use strict";Object.defineProperty(Qx,"__esModule",{value:!0});var Zx;function Jx(){if(Zx===void 0)throw new Error("No runtime abstraction layer installed");return Zx}(function(t){function e(r){if(r===void 0)throw new Error("No runtime abstraction layer provided");Zx=r}t.install=e})(Jx||(Jx={}));Qx.default=Jx});var wa=fe(va=>{"use strict";Object.defineProperty(va,"__esModule",{value:!0});va.Emitter=va.Event=void 0;var q2=Li(),Pb;(function(t){let e={dispose(){}};t.None=function(){return e}})(Pb||(va.Event=Pb={}));var eT=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,q2.default)().console.error(a)}return r}isEmpty(){return!this._callbacks||this._callbacks.length===0}dispose(){this._callbacks=void 0,this._contexts=void 0}},xp=class t{constructor(e){this._options=e}get event(){return this._event||(this._event=(e,r,n)=>{this._callbacks||(this._callbacks=new eT),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)}};va.Emitter=xp;xp._noop=function(){}});var Ep=fe(Ra=>{"use strict";Object.defineProperty(Ra,"__esModule",{value:!0});Ra.CancellationTokenSource=Ra.CancellationToken=void 0;var W2=Li(),V2=Ea(),tT=wa(),Tp;(function(t){t.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:tT.Event.None}),t.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:tT.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})(Tp||(Ra.CancellationToken=Tp={}));var Y2=Object.freeze(function(t,e){let r=(0,W2.default)().timer.setTimeout(t.bind(e),0);return{dispose(){r.dispose()}}}),_p=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?Y2:(this._emitter||(this._emitter=new tT.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}},rT=class{get token(){return this._token||(this._token=new _p),this._token}cancel(){this._token?this._token.cancel():this._token=Tp.Cancelled}dispose(){this._token?this._token instanceof _p&&this._token.dispose():this._token=Tp.None}};Ra.CancellationTokenSource=rT});var Ob=fe(ba=>{"use strict";Object.defineProperty(ba,"__esModule",{value:!0});ba.SharedArrayReceiverStrategy=ba.SharedArraySenderStrategy=void 0;var K2=Ep(),Kl;(function(t){t.Continue=0,t.Cancelled=1})(Kl||(Kl={}));var nT=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]=Kl.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,Kl.Cancelled)}cleanup(e){this.buffers.delete(e)}dispose(){this.buffers.clear()}};ba.SharedArraySenderStrategy=nT;var iT=class{constructor(e){this.data=new Int32Array(e,0,1)}get isCancellationRequested(){return Atomics.load(this.data,0)===Kl.Cancelled}get onCancellationRequested(){throw new Error("Cancellation over SharedArrayBuffer doesn't support cancellation events")}},oT=class{constructor(e){this.token=new iT(e)}cancel(){}dispose(){}},sT=class{constructor(){this.kind="request"}createCancellationTokenSource(e){let r=e.$cancellationData;return r===void 0?new K2.CancellationTokenSource:new oT(r)}};ba.SharedArrayReceiverStrategy=sT});var cT=fe(vp=>{"use strict";Object.defineProperty(vp,"__esModule",{value:!0});vp.Semaphore=void 0;var Z2=Li(),aT=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,Z2.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()}}};vp.Semaphore=aT});var Db=fe(Di=>{"use strict";Object.defineProperty(Di,"__esModule",{value:!0});Di.ReadableStreamMessageReader=Di.AbstractMessageReader=Di.MessageReader=void 0;var uT=Li(),Aa=Ea(),lT=wa(),J2=cT(),Lb;(function(t){function e(r){let n=r;return n&&Aa.func(n.listen)&&Aa.func(n.dispose)&&Aa.func(n.onError)&&Aa.func(n.onClose)&&Aa.func(n.onPartialMessage)}t.is=e})(Lb||(Di.MessageReader=Lb={}));var wp=class{constructor(){this.errorEmitter=new lT.Emitter,this.closeEmitter=new lT.Emitter,this.partialMessageEmitter=new lT.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: ${Aa.string(e.message)?e.message:"unknown"}`)}};Di.AbstractMessageReader=wp;var fT;(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,uT.default)().applicationJson.decoder,c.set(a.name,a)),{charset:n,contentDecoder:o,contentDecoders:s,contentTypeDecoder:a,contentTypeDecoders:c}}t.fromOptions=e})(fT||(fT={}));var dT=class extends wp{constructor(e,r){super(),this.readable=e,this.options=fT.fromOptions(r),this.buffer=(0,uT.default)().messageBuffer.create(this.options.charset),this._partialMessageTimeout=1e4,this.nextMessageLength=-1,this.messageToken=0,this.readSemaphore=new J2.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,uT.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))}};Di.ReadableStreamMessageReader=dT});var Bb=fe($i=>{"use strict";Object.defineProperty($i,"__esModule",{value:!0});$i.WriteableStreamMessageWriter=$i.AbstractMessageWriter=$i.MessageWriter=void 0;var $b=Li(),Zl=Ea(),Q2=cT(),Mb=wa(),eU="Content-Length: ",Fb=`\r
|
|
8
|
+
`,Ub;(function(t){function e(r){let n=r;return n&&Zl.func(n.dispose)&&Zl.func(n.onClose)&&Zl.func(n.onError)&&Zl.func(n.write)}t.is=e})(Ub||($i.MessageWriter=Ub={}));var Rp=class{constructor(){this.errorEmitter=new Mb.Emitter,this.closeEmitter=new Mb.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: ${Zl.string(e.message)?e.message:"unknown"}`)}};$i.AbstractMessageWriter=Rp;var pT;(function(t){function e(r){return r===void 0||typeof r=="string"?{charset:r??"utf-8",contentTypeEncoder:(0,$b.default)().applicationJson.encoder}:{charset:r.charset??"utf-8",contentEncoder:r.contentEncoder,contentTypeEncoder:r.contentTypeEncoder??(0,$b.default)().applicationJson.encoder}}t.fromOptions=e})(pT||(pT={}));var hT=class extends Rp{constructor(e,r){super(),this.writable=e,this.options=pT.fromOptions(r),this.errorCount=0,this.writeSemaphore=new Q2.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(eU,n.byteLength.toString(),Fb),i.push(Fb),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()}};$i.WriteableStreamMessageWriter=hT});var Gb=fe(bp=>{"use strict";Object.defineProperty(bp,"__esModule",{value:!0});bp.AbstractMessageBuffer=void 0;var tU=13,rU=10,nU=`\r
|
|
9
|
+
`,mT=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 tU:switch(r){case 0:r=1;break;case 2:r=3;break;default:r=0}break;case rU: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(nU);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}};bp.AbstractMessageBuffer=mT});var qb=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 Xb=Li(),mt=Ea(),ce=Vx(),Hb=Kx(),Jl=wa(),gT=Ep(),tu;(function(t){t.type=new ce.NotificationType("$/cancelRequest")})(tu||(tu={}));var yT;(function(t){function e(r){return typeof r=="string"||typeof r=="number"}t.is=e})(yT||(he.ProgressToken=yT={}));var Ql;(function(t){t.type=new ce.NotificationType("$/progress")})(Ql||(Ql={}));var xT=class{constructor(){}};he.ProgressType=xT;var TT;(function(t){function e(r){return mt.func(r)}t.is=e})(TT||(TT={}));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 zb;(function(t){t.Off="off",t.Messages="messages",t.Compact="compact",t.Verbose="verbose"})(zb||(he.TraceValues=zb={}));(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 hr;(function(t){t.Text="text",t.JSON="json"})(hr||(he.TraceFormat=hr={}));(function(t){function e(r){return mt.string(r)?(r=r.toLowerCase(),r==="json"?t.JSON:t.Text):t.Text}t.fromString=e})(hr||(he.TraceFormat=hr={}));var _T;(function(t){t.type=new ce.NotificationType("$/setTrace")})(_T||(he.SetTraceNotification=_T={}));var Ap;(function(t){t.type=new ce.NotificationType("$/logTrace")})(Ap||(he.LogTraceNotification=Ap={}));var eu;(function(t){t[t.Closed=1]="Closed",t[t.Disposed=2]="Disposed",t[t.AlreadyListening=3]="AlreadyListening"})(eu||(he.ConnectionErrors=eu={}));var Ia=class t extends Error{constructor(e,r){super(r),this.code=e,Object.setPrototypeOf(this,t.prototype)}};he.ConnectionError=Ia;var ET;(function(t){function e(r){let n=r;return n&&mt.func(n.cancelUndispatched)}t.is=e})(ET||(he.ConnectionStrategy=ET={}));var Ip;(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})(Ip||(he.IdCancellationReceiverStrategy=Ip={}));var vT;(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})(vT||(he.RequestCancellationReceiverStrategy=vT={}));var Sp;(function(t){t.Message=Object.freeze({createCancellationTokenSource(r){return new gT.CancellationTokenSource}});function e(r){return Ip.is(r)||vT.is(r)}t.is=e})(Sp||(he.CancellationReceiverStrategy=Sp={}));var kp;(function(t){t.Message=Object.freeze({sendCancellation(r,n){return r.sendNotification(tu.type,{id:n})},cleanup(r){}});function e(r){let n=r;return n&&mt.func(n.sendCancellation)&&mt.func(n.cleanup)}t.is=e})(kp||(he.CancellationSenderStrategy=kp={}));var Np;(function(t){t.Message=Object.freeze({receiver:Sp.Message,sender:kp.Message});function e(r){let n=r;return n&&Sp.is(n.receiver)&&kp.is(n.sender)}t.is=e})(Np||(he.CancellationStrategy=Np={}));var Cp;(function(t){function e(r){let n=r;return n&&mt.func(n.handleMessage)}t.is=e})(Cp||(he.MessageStrategy=Cp={}));var jb;(function(t){function e(r){let n=r;return n&&(Np.is(n.cancellationStrategy)||ET.is(n.connectionStrategy)||Cp.is(n.messageStrategy))}t.is=e})(jb||(he.ConnectionOptions=jb={}));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 iU(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,y=new Hb.LinkedMap,_=new Map,E=new Set,T=new Map,v=Me.Off,S=hr.Text,D,N=zr.New,M=new Jl.Emitter,B=new Jl.Emitter,G=new Jl.Emitter,oe=new Jl.Emitter,L=new Jl.Emitter,w=n&&n.cancellationStrategy?n.cancellationStrategy:Np.Message;function O(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 b(){return"not-"+(++s).toString()}function A(x,P){ce.Message.isRequest(P)?x.set(O(P.id),P):ce.Message.isResponse(P)?x.set($(P.id),P):x.set(b(),P)}function I(x){}function F(){return N===zr.Listening}function z(){return N===zr.Closed}function U(){return N===zr.Disposed}function W(){(N===zr.New||N===zr.Listening)&&(N=zr.Closed,B.fire(void 0))}function Z(x){M.fire([x,void 0,void 0])}function pe(x){M.fire(x)}t.onClose(W),t.onError(Z),e.onClose(W),e.onError(pe);function V(){m||y.size===0||(m=(0,Xb.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(y.size===0)return;let x=y.shift();try{let P=n?.messageStrategy;Cp.is(P)?P.handleMessage(x,te):te(x)}finally{V()}}let Ne=x=>{try{if(ce.Message.isNotification(x)&&x.method===tu.type.method){let P=x.params.id,j=O(P),Y=y.get(j);if(ce.Message.isRequest(Y)){let Ce=n?.connectionStrategy,je=Ce&&Ce.cancelUndispatched?Ce.cancelUndispatched(Y,I):void 0;if(je&&(je.error!==void 0||je.result!==void 0)){y.delete(j),T.delete(P),je.id=Y.id,ve(je,x.method,Date.now()),e.write(je).catch(()=>i.error("Sending response for canceled message failed."));return}}let $e=T.get(P);if($e!==void 0){$e.cancel(),X(x);return}else E.add(P)}A(y,x)}finally{V()}};function Xe(x){if(U())return;function P(ge,Ue,Ae){let Ke={jsonrpc:c,id:x.id};ge instanceof ce.ResponseError?Ke.error=ge.toJson():Ke.result=ge===void 0?null:ge,ve(Ke,Ue,Ae),e.write(Ke).catch(()=>i.error("Sending response failed."))}function j(ge,Ue,Ae){let Ke={jsonrpc:c,id:x.id,error:ge.toJson()};ve(Ke,Ue,Ae),e.write(Ke).catch(()=>i.error("Sending response failed."))}function Y(ge,Ue,Ae){ge===void 0&&(ge=null);let Ke={jsonrpc:c,id:x.id,result:ge};ve(Ke,Ue,Ae),e.write(Ke).catch(()=>i.error("Sending response failed."))}Tt(x);let $e=u.get(x.method),Ce,je;$e&&(Ce=$e.type,je=$e.handler);let Ye=Date.now();if(je||l){let ge=x.id??String(Date.now()),Ue=Ip.is(w.receiver)?w.receiver.createCancellationTokenSource(ge):w.receiver.createCancellationTokenSource(x);x.id!==null&&E.has(x.id)&&Ue.cancel(),x.id!==null&&T.set(ge,Ue);try{let Ae;if(je)if(x.params===void 0){if(Ce!==void 0&&Ce.numberOfParams!==0){j(new ce.ResponseError(ce.ErrorCodes.InvalidParams,`Request ${x.method} defines ${Ce.numberOfParams} params but received none.`),x.method,Ye);return}Ae=je(Ue.token)}else if(Array.isArray(x.params)){if(Ce!==void 0&&Ce.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,Ye);return}Ae=je(...x.params,Ue.token)}else{if(Ce!==void 0&&Ce.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,Ye);return}Ae=je(x.params,Ue.token)}else l&&(Ae=l(x.method,x.params,Ue.token));let Ke=Ae;Ae?Ke.then?Ke.then(st=>{T.delete(ge),P(st,x.method,Ye)},st=>{T.delete(ge),st instanceof ce.ResponseError?j(st,x.method,Ye):st&&mt.string(st.message)?j(new ce.ResponseError(ce.ErrorCodes.InternalError,`Request ${x.method} failed with message: ${st.message}`),x.method,Ye):j(new ce.ResponseError(ce.ErrorCodes.InternalError,`Request ${x.method} failed unexpectedly without providing any details.`),x.method,Ye)}):(T.delete(ge),P(Ae,x.method,Ye)):(T.delete(ge),Y(Ae,x.method,Ye))}catch(Ae){T.delete(ge),Ae instanceof ce.ResponseError?P(Ae,x.method,Ye):Ae&&mt.string(Ae.message)?j(new ce.ResponseError(ce.ErrorCodes.InternalError,`Request ${x.method} failed with message: ${Ae.message}`),x.method,Ye):j(new ce.ResponseError(ce.ErrorCodes.InternalError,`Request ${x.method} failed unexpectedly without providing any details.`),x.method,Ye)}}else j(new ce.ResponseError(ce.ErrorCodes.MethodNotFound,`Unhandled method ${x.method}`),x.method,Ye)}function q(x){if(!U())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 P=x.id,j=_.get(P);if(Cr(x,j),j!==void 0){_.delete(P);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(U())return;let P,j;if(x.method===tu.type.method){let Y=x.params.id;E.delete(Y),X(x);return}else{let Y=d.get(x.method);Y&&(j=Y.handler,P=Y.type)}if(j||f)try{if(X(x),j)if(x.params===void 0)P!==void 0&&P.numberOfParams!==0&&P.parameterStructures!==ce.ParameterStructures.byName&&i.error(`Notification ${x.method} defines ${P.numberOfParams} params but received none.`),j();else if(Array.isArray(x.params)){let Y=x.params;x.method===Ql.type.method&&Y.length===2&&yT.is(Y[0])?j({token:Y[0],value:Y[1]}):(P!==void 0&&(P.parameterStructures===ce.ParameterStructures.byName&&i.error(`Notification ${x.method} defines parameters by name but received parameters by position`),P.numberOfParams!==x.params.length&&i.error(`Notification ${x.method} defines ${P.numberOfParams} params but received ${Y.length} arguments`)),j(...Y))}else P!==void 0&&P.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 G.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 P=x;if(mt.string(P.id)||mt.number(P.id)){let j=P.id,Y=_.get(j);Y&&Y.reject(new Error("The received response has neither a result nor an error property."))}}function C(x){if(x!=null)switch(v){case Me.Verbose:return JSON.stringify(x,null,4);case Me.Compact:return JSON.stringify(x);default:return}}function be(x){if(!(v===Me.Off||!D))if(S===hr.Text){let P;(v===Me.Verbose||v===Me.Compact)&&x.params&&(P=`Params: ${C(x.params)}
|
|
13
13
|
|
|
14
|
-
`),D.log(`Sending request '${x.method} - (${x.id})'.`,P)}else Tr("send-request",x)}function me(x){if(!(
|
|
14
|
+
`),D.log(`Sending request '${x.method} - (${x.id})'.`,P)}else Tr("send-request",x)}function me(x){if(!(v===Me.Off||!D))if(S===hr.Text){let P;(v===Me.Verbose||v===Me.Compact)&&(x.params?P=`Params: ${C(x.params)}
|
|
15
15
|
|
|
16
16
|
`:P=`No parameters provided.
|
|
17
17
|
|
|
18
|
-
`),D.log(`Sending notification '${x.method}'.`,P)}else Tr("send-notification",x)}function ve(x,P,
|
|
18
|
+
`),D.log(`Sending notification '${x.method}'.`,P)}else Tr("send-notification",x)}function ve(x,P,j){if(!(v===Me.Off||!D))if(S===hr.Text){let Y;(v===Me.Verbose||v===Me.Compact)&&(x.error&&x.error.data?Y=`Error data: ${C(x.error.data)}
|
|
19
19
|
|
|
20
20
|
`:x.result?Y=`Result: ${C(x.result)}
|
|
21
21
|
|
|
22
22
|
`:x.error===void 0&&(Y=`No result returned.
|
|
23
23
|
|
|
24
|
-
`)),D.log(`Sending response '${P} - (${x.id})'. Processing request took ${Date.now()-
|
|
24
|
+
`)),D.log(`Sending response '${P} - (${x.id})'. Processing request took ${Date.now()-j}ms`,Y)}else Tr("send-response",x)}function Tt(x){if(!(v===Me.Off||!D))if(S===hr.Text){let P;(v===Me.Verbose||v===Me.Compact)&&x.params&&(P=`Params: ${C(x.params)}
|
|
25
25
|
|
|
26
|
-
`),D.log(`Received request '${x.method} - (${x.id})'.`,P)}else Tr("receive-request",x)}function X(x){if(!(
|
|
26
|
+
`),D.log(`Received request '${x.method} - (${x.id})'.`,P)}else Tr("receive-request",x)}function X(x){if(!(v===Me.Off||!D||x.method===Ap.type.method))if(S===hr.Text){let P;(v===Me.Verbose||v===Me.Compact)&&(x.params?P=`Params: ${C(x.params)}
|
|
27
27
|
|
|
28
28
|
`:P=`No parameters provided.
|
|
29
29
|
|
|
30
|
-
`),D.log(`Received notification '${x.method}'.`,P)}else Tr("receive-notification",x)}function Cr(x,P){if(!(
|
|
30
|
+
`),D.log(`Received notification '${x.method}'.`,P)}else Tr("receive-notification",x)}function Cr(x,P){if(!(v===Me.Off||!D))if(S===hr.Text){let j;if((v===Me.Verbose||v===Me.Compact)&&(x.error&&x.error.data?j=`Error data: ${C(x.error.data)}
|
|
31
31
|
|
|
32
|
-
`:x.result?
|
|
32
|
+
`:x.result?j=`Result: ${C(x.result)}
|
|
33
33
|
|
|
34
|
-
`:x.error===void 0&&(
|
|
34
|
+
`:x.error===void 0&&(j=`No result returned.
|
|
35
35
|
|
|
36
|
-
`)),P){let Y=x.error?` Request failed: ${x.error.message} (${x.error.code}).`:"";D.log(`Received response '${P.method} - (${x.id})' in ${Date.now()-P.timerStart}ms.${Y}`,z)}else D.log(`Received response ${x.id} without active response promise.`,z)}else Tr("receive-response",x)}function Tr(x,P){if(!D||E===Me.Off)return;let z={isLSPMessage:!0,type:x,message:P,timestamp:Date.now()};D.log(z)}function Pr(){if(j())throw new Aa(Ql.Closed,"Connection is closed.");if(U())throw new Aa(Ql.Disposed,"Connection is disposed.")}function fs(){if(F())throw new Aa(Ql.AlreadyListening,"Connection is already listening")}function _e(){if(!F())throw new Error("Call listen() first.")}function Or(x){return x===void 0?null:x}function Qi(x){if(x!==null)return x}function bn(x){return x!=null&&!Array.isArray(x)&&typeof x=="object"}function _r(x,P){switch(x){case ce.ParameterStructures.auto:return bn(P)?Qi(P):[Or(P)];case ce.ParameterStructures.byName:if(!bn(P))throw new Error("Received parameters by name but param is not an object literal.");return Qi(P);case ce.ParameterStructures.byPosition:return[Or(P)];default:throw new Error(`Unknown parameter structure ${x.toString()}`)}}function Ht(x,P){let z,Y=x.numberOfParams;switch(Y){case 0:z=void 0;break;case 1:z=_r(x.parameterStructures,P[0]);break;default:z=[];for(let $e=0;$e<P.length&&$e<Y;$e++)z.push(Or(P[$e]));if(P.length<Y)for(let $e=P.length;$e<Y;$e++)z.push(null);break}return z}let bt={sendNotification:(x,...P)=>{Pr();let z,Y;if(mt.string(x)){z=x;let Ce=P[0],ze=0,Ye=ce.ParameterStructures.auto;ce.ParameterStructures.is(Ce)&&(ze=1,Ye=Ce);let ge=P.length,Ue=ge-ze;switch(Ue){case 0:Y=void 0;break;case 1:Y=_r(Ye,P[ze]);break;default:if(Ye===ce.ParameterStructures.byName)throw new Error(`Received ${Ue} parameters for 'by Name' notification parameter structure.`);Y=P.slice(ze,ge).map(Ae=>Or(Ae));break}}else{let Ce=P;z=x.method,Y=Ht(x,Ce)}let $e={jsonrpc:c,method:z,params:Y};return me($e),e.write($e).catch(Ce=>{throw i.error("Sending notification failed."),Ce})},onNotification:(x,P)=>{Pr();let z;return mt.func(x)?f=x:P&&(mt.string(x)?(z=x,d.set(x,{type:void 0,handler:P})):(z=x.method,d.set(x.method,{type:x,handler:P}))),{dispose:()=>{z!==void 0?d.delete(z):f=void 0}}},onProgress:(x,P,z)=>{if(p.has(P))throw new Error(`Progress handler for token ${P} already registered`);return p.set(P,z),{dispose:()=>{p.delete(P)}}},sendProgress:(x,P,z)=>bt.sendNotification(Jl.type,{token:P,value:z}),onUnhandledProgress:oe.event,sendRequest:(x,...P)=>{Pr(),_e();let z,Y,$e;if(mt.string(x)){z=x;let ge=P[0],Ue=P[P.length-1],Ae=0,Ke=ce.ParameterStructures.auto;ce.ParameterStructures.is(ge)&&(Ae=1,Ke=ge);let st=P.length;hT.CancellationToken.is(Ue)&&(st=st-1,$e=Ue);let Jt=st-Ae;switch(Jt){case 0:Y=void 0;break;case 1:Y=_r(Ke,P[Ae]);break;default:if(Ke===ce.ParameterStructures.byName)throw new Error(`Received ${Jt} parameters for 'by Name' request parameter structure.`);Y=P.slice(Ae,st).map(ds=>Or(ds));break}}else{let ge=P;z=x.method,Y=Ht(x,ge);let Ue=x.numberOfParams;$e=hT.CancellationToken.is(ge[Ue])?ge[Ue]:void 0}let Ce=o++,ze;$e&&(ze=$e.onCancellationRequested(()=>{let ge=R.sender.sendCancellation(bt,Ce);return ge===void 0?(i.log(`Received no promise from cancellation strategy when cancelling id ${Ce}`),Promise.resolve()):ge.catch(()=>{i.log(`Sending cancellation messages for id ${Ce} failed`)})}));let Ye={jsonrpc:c,id:Ce,method:z,params:Y};return be(Ye),typeof R.sender.enableCancellation=="function"&&R.sender.enableCancellation(Ye),new Promise(async(ge,Ue)=>{let Ae=Jt=>{ge(Jt),R.sender.cleanup(Ce),ze?.dispose()},Ke=Jt=>{Ue(Jt),R.sender.cleanup(Ce),ze?.dispose()},st={method:z,timerStart:Date.now(),resolve:Ae,reject:Ke};try{await e.write(Ye),T.set(Ce,st)}catch(Jt){throw i.error("Sending request failed."),st.reject(new ce.ResponseError(ce.ErrorCodes.MessageWriteError,Jt.message?Jt.message:"Unknown reason")),Jt}})},onRequest:(x,P)=>{Pr();let z=null;return yT.is(x)?(z=void 0,l=x):mt.string(x)?(z=null,P!==void 0&&(z=x,u.set(x,{handler:P,type:void 0}))):P!==void 0&&(z=x.method,u.set(x.method,{type:x,handler:P})),{dispose:()=>{z!==null&&(z!==void 0?u.delete(z):l=void 0)}}},hasPendingResponse:()=>T.size>0,trace:async(x,P,z)=>{let Y=!1,$e=hr.Text;z!==void 0&&(mt.boolean(z)?Y=z:(Y=z.sendNotification||!1,$e=z.traceFormat||hr.Text)),E=x,S=$e,E===Me.Off?D=void 0:D=P,Y&&!j()&&!U()&&await bt.sendNotification(xT.type,{value:Me.toString(x)})},onError:M.event,onClose:B.event,onUnhandledNotification:G.event,onDispose:L.event,end:()=>{e.end()},dispose:()=>{if(U())return;N=jr.Disposed,L.fire(void 0);let x=new ce.ResponseError(ce.ErrorCodes.PendingResponseRejected,"Pending response rejected since connection got disposed");for(let P of T.values())P.reject(x);T=new Map,v=new Map,_=new Set,y=new Fb.LinkedMap,mt.func(e.dispose)&&e.dispose(),mt.func(t.dispose)&&t.dispose()},listen:()=>{Pr(),fs(),N=jr.Listening,t.listen(Ne)},inspect:()=>{(0,Mb.default)().console.log("inspect")}};return bt.onNotification(wp.type,x=>{if(E===Me.Off||!D)return;let P=E===Me.Verbose||E===Me.Compact;D.log(x.message,P?x.verbose:void 0)}),bt.onNotification(Jl.type,x=>{let P=p.get(x.token);P?P(x.value):oe.fire(x)}),bt}he.createMessageConnection=Y2});var Np=fe(k=>{"use strict";Object.defineProperty(k,"__esModule",{value:!0});k.ProgressType=k.ProgressToken=k.createMessageConnection=k.NullLogger=k.ConnectionOptions=k.ConnectionStrategy=k.AbstractMessageBuffer=k.WriteableStreamMessageWriter=k.AbstractMessageWriter=k.MessageWriter=k.ReadableStreamMessageReader=k.AbstractMessageReader=k.MessageReader=k.SharedArrayReceiverStrategy=k.SharedArraySenderStrategy=k.CancellationToken=k.CancellationTokenSource=k.Emitter=k.Event=k.Disposable=k.LRUCache=k.Touch=k.LinkedMap=k.ParameterStructures=k.NotificationType9=k.NotificationType8=k.NotificationType7=k.NotificationType6=k.NotificationType5=k.NotificationType4=k.NotificationType3=k.NotificationType2=k.NotificationType1=k.NotificationType0=k.NotificationType=k.ErrorCodes=k.ResponseError=k.RequestType9=k.RequestType8=k.RequestType7=k.RequestType6=k.RequestType5=k.RequestType4=k.RequestType3=k.RequestType2=k.RequestType1=k.RequestType0=k.RequestType=k.Message=k.RAL=void 0;k.MessageStrategy=k.CancellationStrategy=k.CancellationSenderStrategy=k.CancellationReceiverStrategy=k.ConnectionError=k.ConnectionErrors=k.LogTraceNotification=k.SetTraceNotification=k.TraceFormat=k.TraceValues=k.Trace=void 0;var et=qx();Object.defineProperty(k,"Message",{enumerable:!0,get:function(){return et.Message}});Object.defineProperty(k,"RequestType",{enumerable:!0,get:function(){return et.RequestType}});Object.defineProperty(k,"RequestType0",{enumerable:!0,get:function(){return et.RequestType0}});Object.defineProperty(k,"RequestType1",{enumerable:!0,get:function(){return et.RequestType1}});Object.defineProperty(k,"RequestType2",{enumerable:!0,get:function(){return et.RequestType2}});Object.defineProperty(k,"RequestType3",{enumerable:!0,get:function(){return et.RequestType3}});Object.defineProperty(k,"RequestType4",{enumerable:!0,get:function(){return et.RequestType4}});Object.defineProperty(k,"RequestType5",{enumerable:!0,get:function(){return et.RequestType5}});Object.defineProperty(k,"RequestType6",{enumerable:!0,get:function(){return et.RequestType6}});Object.defineProperty(k,"RequestType7",{enumerable:!0,get:function(){return et.RequestType7}});Object.defineProperty(k,"RequestType8",{enumerable:!0,get:function(){return et.RequestType8}});Object.defineProperty(k,"RequestType9",{enumerable:!0,get:function(){return et.RequestType9}});Object.defineProperty(k,"ResponseError",{enumerable:!0,get:function(){return et.ResponseError}});Object.defineProperty(k,"ErrorCodes",{enumerable:!0,get:function(){return et.ErrorCodes}});Object.defineProperty(k,"NotificationType",{enumerable:!0,get:function(){return et.NotificationType}});Object.defineProperty(k,"NotificationType0",{enumerable:!0,get:function(){return et.NotificationType0}});Object.defineProperty(k,"NotificationType1",{enumerable:!0,get:function(){return et.NotificationType1}});Object.defineProperty(k,"NotificationType2",{enumerable:!0,get:function(){return et.NotificationType2}});Object.defineProperty(k,"NotificationType3",{enumerable:!0,get:function(){return et.NotificationType3}});Object.defineProperty(k,"NotificationType4",{enumerable:!0,get:function(){return et.NotificationType4}});Object.defineProperty(k,"NotificationType5",{enumerable:!0,get:function(){return et.NotificationType5}});Object.defineProperty(k,"NotificationType6",{enumerable:!0,get:function(){return et.NotificationType6}});Object.defineProperty(k,"NotificationType7",{enumerable:!0,get:function(){return et.NotificationType7}});Object.defineProperty(k,"NotificationType8",{enumerable:!0,get:function(){return et.NotificationType8}});Object.defineProperty(k,"NotificationType9",{enumerable:!0,get:function(){return et.NotificationType9}});Object.defineProperty(k,"ParameterStructures",{enumerable:!0,get:function(){return et.ParameterStructures}});var ET=Vx();Object.defineProperty(k,"LinkedMap",{enumerable:!0,get:function(){return ET.LinkedMap}});Object.defineProperty(k,"LRUCache",{enumerable:!0,get:function(){return ET.LRUCache}});Object.defineProperty(k,"Touch",{enumerable:!0,get:function(){return ET.Touch}});var K2=Ab();Object.defineProperty(k,"Disposable",{enumerable:!0,get:function(){return K2.Disposable}});var Xb=va();Object.defineProperty(k,"Event",{enumerable:!0,get:function(){return Xb.Event}});Object.defineProperty(k,"Emitter",{enumerable:!0,get:function(){return Xb.Emitter}});var Hb=Tp();Object.defineProperty(k,"CancellationTokenSource",{enumerable:!0,get:function(){return Hb.CancellationTokenSource}});Object.defineProperty(k,"CancellationToken",{enumerable:!0,get:function(){return Hb.CancellationToken}});var jb=Sb();Object.defineProperty(k,"SharedArraySenderStrategy",{enumerable:!0,get:function(){return jb.SharedArraySenderStrategy}});Object.defineProperty(k,"SharedArrayReceiverStrategy",{enumerable:!0,get:function(){return jb.SharedArrayReceiverStrategy}});var vT=Nb();Object.defineProperty(k,"MessageReader",{enumerable:!0,get:function(){return vT.MessageReader}});Object.defineProperty(k,"AbstractMessageReader",{enumerable:!0,get:function(){return vT.AbstractMessageReader}});Object.defineProperty(k,"ReadableStreamMessageReader",{enumerable:!0,get:function(){return vT.ReadableStreamMessageReader}});var RT=Db();Object.defineProperty(k,"MessageWriter",{enumerable:!0,get:function(){return RT.MessageWriter}});Object.defineProperty(k,"AbstractMessageWriter",{enumerable:!0,get:function(){return RT.AbstractMessageWriter}});Object.defineProperty(k,"WriteableStreamMessageWriter",{enumerable:!0,get:function(){return RT.WriteableStreamMessageWriter}});var Z2=$b();Object.defineProperty(k,"AbstractMessageBuffer",{enumerable:!0,get:function(){return Z2.AbstractMessageBuffer}});var Dt=Gb();Object.defineProperty(k,"ConnectionStrategy",{enumerable:!0,get:function(){return Dt.ConnectionStrategy}});Object.defineProperty(k,"ConnectionOptions",{enumerable:!0,get:function(){return Dt.ConnectionOptions}});Object.defineProperty(k,"NullLogger",{enumerable:!0,get:function(){return Dt.NullLogger}});Object.defineProperty(k,"createMessageConnection",{enumerable:!0,get:function(){return Dt.createMessageConnection}});Object.defineProperty(k,"ProgressToken",{enumerable:!0,get:function(){return Dt.ProgressToken}});Object.defineProperty(k,"ProgressType",{enumerable:!0,get:function(){return Dt.ProgressType}});Object.defineProperty(k,"Trace",{enumerable:!0,get:function(){return Dt.Trace}});Object.defineProperty(k,"TraceValues",{enumerable:!0,get:function(){return Dt.TraceValues}});Object.defineProperty(k,"TraceFormat",{enumerable:!0,get:function(){return Dt.TraceFormat}});Object.defineProperty(k,"SetTraceNotification",{enumerable:!0,get:function(){return Dt.SetTraceNotification}});Object.defineProperty(k,"LogTraceNotification",{enumerable:!0,get:function(){return Dt.LogTraceNotification}});Object.defineProperty(k,"ConnectionErrors",{enumerable:!0,get:function(){return Dt.ConnectionErrors}});Object.defineProperty(k,"ConnectionError",{enumerable:!0,get:function(){return Dt.ConnectionError}});Object.defineProperty(k,"CancellationReceiverStrategy",{enumerable:!0,get:function(){return Dt.CancellationReceiverStrategy}});Object.defineProperty(k,"CancellationSenderStrategy",{enumerable:!0,get:function(){return Dt.CancellationSenderStrategy}});Object.defineProperty(k,"CancellationStrategy",{enumerable:!0,get:function(){return Dt.CancellationStrategy}});Object.defineProperty(k,"MessageStrategy",{enumerable:!0,get:function(){return Dt.MessageStrategy}});var J2=Li();k.RAL=J2.default});var qb=fe(IT=>{"use strict";Object.defineProperty(IT,"__esModule",{value:!0});var mn=Np(),Cp=class t extends mn.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)}};Cp.emptyBuffer=new Uint8Array(0);var wT=class{constructor(e){this.socket=e,this._onData=new mn.Emitter,this._messageListener=r=>{r.data.arrayBuffer().then(i=>{this._onData.fire(new Uint8Array(i))},()=>{(0,mn.RAL)().console.error("Converting blob to array buffer failed.")})},this.socket.addEventListener("message",this._messageListener)}onClose(e){return this.socket.addEventListener("close",e),mn.Disposable.create(()=>this.socket.removeEventListener("close",e))}onError(e){return this.socket.addEventListener("error",e),mn.Disposable.create(()=>this.socket.removeEventListener("error",e))}onEnd(e){return this.socket.addEventListener("end",e),mn.Disposable.create(()=>this.socket.removeEventListener("end",e))}onData(e){return this._onData.event(e)}},bT=class{constructor(e){this.socket=e}onClose(e){return this.socket.addEventListener("close",e),mn.Disposable.create(()=>this.socket.removeEventListener("close",e))}onError(e){return this.socket.addEventListener("error",e),mn.Disposable.create(()=>this.socket.removeEventListener("error",e))}onEnd(e){return this.socket.addEventListener("end",e),mn.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()}},Q2=new TextEncoder,zb=Object.freeze({messageBuffer:Object.freeze({create:t=>new Cp(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(Q2.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 wT(t),asWritableStream:t=>new bT(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 AT(){return zb}(function(t){function e(){mn.RAL.install(zb)}t.install=e})(AT||(AT={}));IT.default=AT});var jo=fe(mr=>{"use strict";var eU=mr&&mr.__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]})),tU=mr&&mr.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&eU(e,t,r)};Object.defineProperty(mr,"__esModule",{value:!0});mr.createMessageConnection=mr.BrowserMessageWriter=mr.BrowserMessageReader=void 0;var rU=qb();rU.default.install();var Ia=Np();tU(Np(),mr);var ST=class extends Ia.AbstractMessageReader{constructor(e){super(),this._onData=new Ia.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)}};mr.BrowserMessageReader=ST;var kT=class extends Ia.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(){}};mr.BrowserMessageWriter=kT;function nU(t,e,r,n){return r===void 0&&(r=Ia.NullLogger),Ia.ConnectionStrategy.is(n)&&(n={connectionStrategy:n}),(0,Ia.createMessageConnection)(t,e,r,n)}mr.createMessageConnection=nU});var NT=fe((gJ,Wb)=>{"use strict";Wb.exports=jo()});var ft=fe(ir=>{"use strict";Object.defineProperty(ir,"__esModule",{value:!0});ir.ProtocolNotificationType=ir.ProtocolNotificationType0=ir.ProtocolRequestType=ir.ProtocolRequestType0=ir.RegistrationType=ir.MessageDirection=void 0;var Sa=jo(),Vb;(function(t){t.clientToServer="clientToServer",t.serverToClient="serverToClient",t.both="both"})(Vb||(ir.MessageDirection=Vb={}));var CT=class{constructor(e){this.method=e}};ir.RegistrationType=CT;var PT=class extends Sa.RequestType0{constructor(e){super(e)}};ir.ProtocolRequestType0=PT;var OT=class extends Sa.RequestType{constructor(e){super(e,Sa.ParameterStructures.byName)}};ir.ProtocolRequestType=OT;var LT=class extends Sa.NotificationType0{constructor(e){super(e)}};ir.ProtocolNotificationType0=LT;var DT=class extends Sa.NotificationType{constructor(e){super(e,Sa.ParameterStructures.byName)}};ir.ProtocolNotificationType=DT});var Pp=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 iU(t){return t===!0||t===!1}wt.boolean=iU;function Yb(t){return typeof t=="string"||t instanceof String}wt.string=Yb;function oU(t){return typeof t=="number"||t instanceof Number}wt.number=oU;function sU(t){return t instanceof Error}wt.error=sU;function aU(t){return typeof t=="function"}wt.func=aU;function Kb(t){return Array.isArray(t)}wt.array=Kb;function cU(t){return Kb(t)&&t.every(e=>Yb(e))}wt.stringArray=cU;function lU(t,e){return Array.isArray(t)&&t.every(e)}wt.typedArray=lU;function uU(t){return t!==null&&typeof t=="object"}wt.objectLiteral=uU});var Qb=fe(Op=>{"use strict";Object.defineProperty(Op,"__esModule",{value:!0});Op.ImplementationRequest=void 0;var Zb=ft(),Jb;(function(t){t.method="textDocument/implementation",t.messageDirection=Zb.MessageDirection.clientToServer,t.type=new Zb.ProtocolRequestType(t.method)})(Jb||(Op.ImplementationRequest=Jb={}))});var rA=fe(Lp=>{"use strict";Object.defineProperty(Lp,"__esModule",{value:!0});Lp.TypeDefinitionRequest=void 0;var eA=ft(),tA;(function(t){t.method="textDocument/typeDefinition",t.messageDirection=eA.MessageDirection.clientToServer,t.type=new eA.ProtocolRequestType(t.method)})(tA||(Lp.TypeDefinitionRequest=tA={}))});var oA=fe(ka=>{"use strict";Object.defineProperty(ka,"__esModule",{value:!0});ka.DidChangeWorkspaceFoldersNotification=ka.WorkspaceFoldersRequest=void 0;var Dp=ft(),nA;(function(t){t.method="workspace/workspaceFolders",t.messageDirection=Dp.MessageDirection.serverToClient,t.type=new Dp.ProtocolRequestType0(t.method)})(nA||(ka.WorkspaceFoldersRequest=nA={}));var iA;(function(t){t.method="workspace/didChangeWorkspaceFolders",t.messageDirection=Dp.MessageDirection.clientToServer,t.type=new Dp.ProtocolNotificationType(t.method)})(iA||(ka.DidChangeWorkspaceFoldersNotification=iA={}))});var cA=fe($p=>{"use strict";Object.defineProperty($p,"__esModule",{value:!0});$p.ConfigurationRequest=void 0;var sA=ft(),aA;(function(t){t.method="workspace/configuration",t.messageDirection=sA.MessageDirection.serverToClient,t.type=new sA.ProtocolRequestType(t.method)})(aA||($p.ConfigurationRequest=aA={}))});var fA=fe(Na=>{"use strict";Object.defineProperty(Na,"__esModule",{value:!0});Na.ColorPresentationRequest=Na.DocumentColorRequest=void 0;var Mp=ft(),lA;(function(t){t.method="textDocument/documentColor",t.messageDirection=Mp.MessageDirection.clientToServer,t.type=new Mp.ProtocolRequestType(t.method)})(lA||(Na.DocumentColorRequest=lA={}));var uA;(function(t){t.method="textDocument/colorPresentation",t.messageDirection=Mp.MessageDirection.clientToServer,t.type=new Mp.ProtocolRequestType(t.method)})(uA||(Na.ColorPresentationRequest=uA={}))});var hA=fe(Ca=>{"use strict";Object.defineProperty(Ca,"__esModule",{value:!0});Ca.FoldingRangeRefreshRequest=Ca.FoldingRangeRequest=void 0;var Fp=ft(),dA;(function(t){t.method="textDocument/foldingRange",t.messageDirection=Fp.MessageDirection.clientToServer,t.type=new Fp.ProtocolRequestType(t.method)})(dA||(Ca.FoldingRangeRequest=dA={}));var pA;(function(t){t.method="workspace/foldingRange/refresh",t.messageDirection=Fp.MessageDirection.serverToClient,t.type=new Fp.ProtocolRequestType0(t.method)})(pA||(Ca.FoldingRangeRefreshRequest=pA={}))});var yA=fe(Up=>{"use strict";Object.defineProperty(Up,"__esModule",{value:!0});Up.DeclarationRequest=void 0;var mA=ft(),gA;(function(t){t.method="textDocument/declaration",t.messageDirection=mA.MessageDirection.clientToServer,t.type=new mA.ProtocolRequestType(t.method)})(gA||(Up.DeclarationRequest=gA={}))});var _A=fe(Bp=>{"use strict";Object.defineProperty(Bp,"__esModule",{value:!0});Bp.SelectionRangeRequest=void 0;var xA=ft(),TA;(function(t){t.method="textDocument/selectionRange",t.messageDirection=xA.MessageDirection.clientToServer,t.type=new xA.ProtocolRequestType(t.method)})(TA||(Bp.SelectionRangeRequest=TA={}))});var wA=fe(Mi=>{"use strict";Object.defineProperty(Mi,"__esModule",{value:!0});Mi.WorkDoneProgressCancelNotification=Mi.WorkDoneProgressCreateRequest=Mi.WorkDoneProgress=void 0;var fU=jo(),Gp=ft(),EA;(function(t){t.type=new fU.ProgressType;function e(r){return r===t.type}t.is=e})(EA||(Mi.WorkDoneProgress=EA={}));var vA;(function(t){t.method="window/workDoneProgress/create",t.messageDirection=Gp.MessageDirection.serverToClient,t.type=new Gp.ProtocolRequestType(t.method)})(vA||(Mi.WorkDoneProgressCreateRequest=vA={}));var RA;(function(t){t.method="window/workDoneProgress/cancel",t.messageDirection=Gp.MessageDirection.clientToServer,t.type=new Gp.ProtocolNotificationType(t.method)})(RA||(Mi.WorkDoneProgressCancelNotification=RA={}))});var SA=fe(Fi=>{"use strict";Object.defineProperty(Fi,"__esModule",{value:!0});Fi.CallHierarchyOutgoingCallsRequest=Fi.CallHierarchyIncomingCallsRequest=Fi.CallHierarchyPrepareRequest=void 0;var Pa=ft(),bA;(function(t){t.method="textDocument/prepareCallHierarchy",t.messageDirection=Pa.MessageDirection.clientToServer,t.type=new Pa.ProtocolRequestType(t.method)})(bA||(Fi.CallHierarchyPrepareRequest=bA={}));var AA;(function(t){t.method="callHierarchy/incomingCalls",t.messageDirection=Pa.MessageDirection.clientToServer,t.type=new Pa.ProtocolRequestType(t.method)})(AA||(Fi.CallHierarchyIncomingCallsRequest=AA={}));var IA;(function(t){t.method="callHierarchy/outgoingCalls",t.messageDirection=Pa.MessageDirection.clientToServer,t.type=new Pa.ProtocolRequestType(t.method)})(IA||(Fi.CallHierarchyOutgoingCallsRequest=IA={}))});var LA=fe(or=>{"use strict";Object.defineProperty(or,"__esModule",{value:!0});or.SemanticTokensRefreshRequest=or.SemanticTokensRangeRequest=or.SemanticTokensDeltaRequest=or.SemanticTokensRequest=or.SemanticTokensRegistrationType=or.TokenFormat=void 0;var jn=ft(),kA;(function(t){t.Relative="relative"})(kA||(or.TokenFormat=kA={}));var tu;(function(t){t.method="textDocument/semanticTokens",t.type=new jn.RegistrationType(t.method)})(tu||(or.SemanticTokensRegistrationType=tu={}));var NA;(function(t){t.method="textDocument/semanticTokens/full",t.messageDirection=jn.MessageDirection.clientToServer,t.type=new jn.ProtocolRequestType(t.method),t.registrationMethod=tu.method})(NA||(or.SemanticTokensRequest=NA={}));var CA;(function(t){t.method="textDocument/semanticTokens/full/delta",t.messageDirection=jn.MessageDirection.clientToServer,t.type=new jn.ProtocolRequestType(t.method),t.registrationMethod=tu.method})(CA||(or.SemanticTokensDeltaRequest=CA={}));var PA;(function(t){t.method="textDocument/semanticTokens/range",t.messageDirection=jn.MessageDirection.clientToServer,t.type=new jn.ProtocolRequestType(t.method),t.registrationMethod=tu.method})(PA||(or.SemanticTokensRangeRequest=PA={}));var OA;(function(t){t.method="workspace/semanticTokens/refresh",t.messageDirection=jn.MessageDirection.serverToClient,t.type=new jn.ProtocolRequestType0(t.method)})(OA||(or.SemanticTokensRefreshRequest=OA={}))});var MA=fe(Xp=>{"use strict";Object.defineProperty(Xp,"__esModule",{value:!0});Xp.ShowDocumentRequest=void 0;var DA=ft(),$A;(function(t){t.method="window/showDocument",t.messageDirection=DA.MessageDirection.serverToClient,t.type=new DA.ProtocolRequestType(t.method)})($A||(Xp.ShowDocumentRequest=$A={}))});var BA=fe(Hp=>{"use strict";Object.defineProperty(Hp,"__esModule",{value:!0});Hp.LinkedEditingRangeRequest=void 0;var FA=ft(),UA;(function(t){t.method="textDocument/linkedEditingRange",t.messageDirection=FA.MessageDirection.clientToServer,t.type=new FA.ProtocolRequestType(t.method)})(UA||(Hp.LinkedEditingRangeRequest=UA={}))});var VA=fe(Xt=>{"use strict";Object.defineProperty(Xt,"__esModule",{value:!0});Xt.WillDeleteFilesRequest=Xt.DidDeleteFilesNotification=Xt.DidRenameFilesNotification=Xt.WillRenameFilesRequest=Xt.DidCreateFilesNotification=Xt.WillCreateFilesRequest=Xt.FileOperationPatternKind=void 0;var br=ft(),GA;(function(t){t.file="file",t.folder="folder"})(GA||(Xt.FileOperationPatternKind=GA={}));var XA;(function(t){t.method="workspace/willCreateFiles",t.messageDirection=br.MessageDirection.clientToServer,t.type=new br.ProtocolRequestType(t.method)})(XA||(Xt.WillCreateFilesRequest=XA={}));var HA;(function(t){t.method="workspace/didCreateFiles",t.messageDirection=br.MessageDirection.clientToServer,t.type=new br.ProtocolNotificationType(t.method)})(HA||(Xt.DidCreateFilesNotification=HA={}));var jA;(function(t){t.method="workspace/willRenameFiles",t.messageDirection=br.MessageDirection.clientToServer,t.type=new br.ProtocolRequestType(t.method)})(jA||(Xt.WillRenameFilesRequest=jA={}));var zA;(function(t){t.method="workspace/didRenameFiles",t.messageDirection=br.MessageDirection.clientToServer,t.type=new br.ProtocolNotificationType(t.method)})(zA||(Xt.DidRenameFilesNotification=zA={}));var qA;(function(t){t.method="workspace/didDeleteFiles",t.messageDirection=br.MessageDirection.clientToServer,t.type=new br.ProtocolNotificationType(t.method)})(qA||(Xt.DidDeleteFilesNotification=qA={}));var WA;(function(t){t.method="workspace/willDeleteFiles",t.messageDirection=br.MessageDirection.clientToServer,t.type=new br.ProtocolRequestType(t.method)})(WA||(Xt.WillDeleteFilesRequest=WA={}))});var QA=fe(Ui=>{"use strict";Object.defineProperty(Ui,"__esModule",{value:!0});Ui.MonikerRequest=Ui.MonikerKind=Ui.UniquenessLevel=void 0;var YA=ft(),KA;(function(t){t.document="document",t.project="project",t.group="group",t.scheme="scheme",t.global="global"})(KA||(Ui.UniquenessLevel=KA={}));var ZA;(function(t){t.$import="import",t.$export="export",t.local="local"})(ZA||(Ui.MonikerKind=ZA={}));var JA;(function(t){t.method="textDocument/moniker",t.messageDirection=YA.MessageDirection.clientToServer,t.type=new YA.ProtocolRequestType(t.method)})(JA||(Ui.MonikerRequest=JA={}))});var nI=fe(Bi=>{"use strict";Object.defineProperty(Bi,"__esModule",{value:!0});Bi.TypeHierarchySubtypesRequest=Bi.TypeHierarchySupertypesRequest=Bi.TypeHierarchyPrepareRequest=void 0;var Oa=ft(),eI;(function(t){t.method="textDocument/prepareTypeHierarchy",t.messageDirection=Oa.MessageDirection.clientToServer,t.type=new Oa.ProtocolRequestType(t.method)})(eI||(Bi.TypeHierarchyPrepareRequest=eI={}));var tI;(function(t){t.method="typeHierarchy/supertypes",t.messageDirection=Oa.MessageDirection.clientToServer,t.type=new Oa.ProtocolRequestType(t.method)})(tI||(Bi.TypeHierarchySupertypesRequest=tI={}));var rI;(function(t){t.method="typeHierarchy/subtypes",t.messageDirection=Oa.MessageDirection.clientToServer,t.type=new Oa.ProtocolRequestType(t.method)})(rI||(Bi.TypeHierarchySubtypesRequest=rI={}))});var sI=fe(La=>{"use strict";Object.defineProperty(La,"__esModule",{value:!0});La.InlineValueRefreshRequest=La.InlineValueRequest=void 0;var jp=ft(),iI;(function(t){t.method="textDocument/inlineValue",t.messageDirection=jp.MessageDirection.clientToServer,t.type=new jp.ProtocolRequestType(t.method)})(iI||(La.InlineValueRequest=iI={}));var oI;(function(t){t.method="workspace/inlineValue/refresh",t.messageDirection=jp.MessageDirection.serverToClient,t.type=new jp.ProtocolRequestType0(t.method)})(oI||(La.InlineValueRefreshRequest=oI={}))});var uI=fe(Gi=>{"use strict";Object.defineProperty(Gi,"__esModule",{value:!0});Gi.InlayHintRefreshRequest=Gi.InlayHintResolveRequest=Gi.InlayHintRequest=void 0;var Da=ft(),aI;(function(t){t.method="textDocument/inlayHint",t.messageDirection=Da.MessageDirection.clientToServer,t.type=new Da.ProtocolRequestType(t.method)})(aI||(Gi.InlayHintRequest=aI={}));var cI;(function(t){t.method="inlayHint/resolve",t.messageDirection=Da.MessageDirection.clientToServer,t.type=new Da.ProtocolRequestType(t.method)})(cI||(Gi.InlayHintResolveRequest=cI={}));var lI;(function(t){t.method="workspace/inlayHint/refresh",t.messageDirection=Da.MessageDirection.serverToClient,t.type=new Da.ProtocolRequestType0(t.method)})(lI||(Gi.InlayHintRefreshRequest=lI={}))});var yI=fe(Ar=>{"use strict";Object.defineProperty(Ar,"__esModule",{value:!0});Ar.DiagnosticRefreshRequest=Ar.WorkspaceDiagnosticRequest=Ar.DocumentDiagnosticRequest=Ar.DocumentDiagnosticReportKind=Ar.DiagnosticServerCancellationData=void 0;var gI=jo(),dU=Pp(),$a=ft(),fI;(function(t){function e(r){let n=r;return n&&dU.boolean(n.retriggerRequest)}t.is=e})(fI||(Ar.DiagnosticServerCancellationData=fI={}));var dI;(function(t){t.Full="full",t.Unchanged="unchanged"})(dI||(Ar.DocumentDiagnosticReportKind=dI={}));var pI;(function(t){t.method="textDocument/diagnostic",t.messageDirection=$a.MessageDirection.clientToServer,t.type=new $a.ProtocolRequestType(t.method),t.partialResult=new gI.ProgressType})(pI||(Ar.DocumentDiagnosticRequest=pI={}));var hI;(function(t){t.method="workspace/diagnostic",t.messageDirection=$a.MessageDirection.clientToServer,t.type=new $a.ProtocolRequestType(t.method),t.partialResult=new gI.ProgressType})(hI||(Ar.WorkspaceDiagnosticRequest=hI={}));var mI;(function(t){t.method="workspace/diagnostic/refresh",t.messageDirection=$a.MessageDirection.serverToClient,t.type=new $a.ProtocolRequestType0(t.method)})(mI||(Ar.DiagnosticRefreshRequest=mI={}))});var wI=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 ru=(la(),df(ep)),zr=Pp(),gn=ft(),$T;(function(t){t.Markup=1,t.Code=2;function e(r){return r===1||r===2}t.is=e})($T||(xt.NotebookCellKind=$T={}));var MT;(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)&&ru.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})(MT||(xt.ExecutionSummary=MT={}));var zp;(function(t){function e(o,s){return{kind:o,document:s}}t.create=e;function r(o){let s=o;return zr.objectLiteral(s)&&$T.is(s.kind)&&ru.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)&&!MT.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}})(zp||(xt.NotebookCell=zp={}));var xI;(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)&&ru.integer.is(i.version)&&zr.typedArray(i.cells,zp.is)}t.is=r})(xI||(xt.NotebookDocument=xI={}));var Ma;(function(t){t.method="notebookDocument/sync",t.messageDirection=gn.MessageDirection.clientToServer,t.type=new gn.RegistrationType(t.method)})(Ma||(xt.NotebookDocumentSyncRegistrationType=Ma={}));var TI;(function(t){t.method="notebookDocument/didOpen",t.messageDirection=gn.MessageDirection.clientToServer,t.type=new gn.ProtocolNotificationType(t.method),t.registrationMethod=Ma.method})(TI||(xt.DidOpenNotebookDocumentNotification=TI={}));var _I;(function(t){function e(n){let i=n;return zr.objectLiteral(i)&&ru.uinteger.is(i.start)&&ru.uinteger.is(i.deleteCount)&&(i.cells===void 0||zr.typedArray(i.cells,zp.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})(_I||(xt.NotebookCellArrayChange=_I={}));var EI;(function(t){t.method="notebookDocument/didChange",t.messageDirection=gn.MessageDirection.clientToServer,t.type=new gn.ProtocolNotificationType(t.method),t.registrationMethod=Ma.method})(EI||(xt.DidChangeNotebookDocumentNotification=EI={}));var vI;(function(t){t.method="notebookDocument/didSave",t.messageDirection=gn.MessageDirection.clientToServer,t.type=new gn.ProtocolNotificationType(t.method),t.registrationMethod=Ma.method})(vI||(xt.DidSaveNotebookDocumentNotification=vI={}));var RI;(function(t){t.method="notebookDocument/didClose",t.messageDirection=gn.MessageDirection.clientToServer,t.type=new gn.ProtocolNotificationType(t.method),t.registrationMethod=Ma.method})(RI||(xt.DidCloseNotebookDocumentNotification=RI={}))});var II=fe(qp=>{"use strict";Object.defineProperty(qp,"__esModule",{value:!0});qp.InlineCompletionRequest=void 0;var bI=ft(),AI;(function(t){t.method="textDocument/inlineCompletion",t.messageDirection=bI.MessageDirection.clientToServer,t.type=new bI.ProtocolRequestType(t.method)})(AI||(qp.InlineCompletionRequest=AI={}))});var BS=fe(g=>{"use strict";Object.defineProperty(g,"__esModule",{value:!0});g.WorkspaceSymbolRequest=g.CodeActionResolveRequest=g.CodeActionRequest=g.DocumentSymbolRequest=g.DocumentHighlightRequest=g.ReferencesRequest=g.DefinitionRequest=g.SignatureHelpRequest=g.SignatureHelpTriggerKind=g.HoverRequest=g.CompletionResolveRequest=g.CompletionRequest=g.CompletionTriggerKind=g.PublishDiagnosticsNotification=g.WatchKind=g.RelativePattern=g.FileChangeType=g.DidChangeWatchedFilesNotification=g.WillSaveTextDocumentWaitUntilRequest=g.WillSaveTextDocumentNotification=g.TextDocumentSaveReason=g.DidSaveTextDocumentNotification=g.DidCloseTextDocumentNotification=g.DidChangeTextDocumentNotification=g.TextDocumentContentChangeEvent=g.DidOpenTextDocumentNotification=g.TextDocumentSyncKind=g.TelemetryEventNotification=g.LogMessageNotification=g.ShowMessageRequest=g.ShowMessageNotification=g.MessageType=g.DidChangeConfigurationNotification=g.ExitNotification=g.ShutdownRequest=g.InitializedNotification=g.InitializeErrorCodes=g.InitializeRequest=g.WorkDoneProgressOptions=g.TextDocumentRegistrationOptions=g.StaticRegistrationOptions=g.PositionEncodingKind=g.FailureHandlingKind=g.ResourceOperationKind=g.UnregistrationRequest=g.RegistrationRequest=g.DocumentSelector=g.NotebookCellTextDocumentFilter=g.NotebookDocumentFilter=g.TextDocumentFilter=void 0;g.MonikerRequest=g.MonikerKind=g.UniquenessLevel=g.WillDeleteFilesRequest=g.DidDeleteFilesNotification=g.WillRenameFilesRequest=g.DidRenameFilesNotification=g.WillCreateFilesRequest=g.DidCreateFilesNotification=g.FileOperationPatternKind=g.LinkedEditingRangeRequest=g.ShowDocumentRequest=g.SemanticTokensRegistrationType=g.SemanticTokensRefreshRequest=g.SemanticTokensRangeRequest=g.SemanticTokensDeltaRequest=g.SemanticTokensRequest=g.TokenFormat=g.CallHierarchyPrepareRequest=g.CallHierarchyOutgoingCallsRequest=g.CallHierarchyIncomingCallsRequest=g.WorkDoneProgressCancelNotification=g.WorkDoneProgressCreateRequest=g.WorkDoneProgress=g.SelectionRangeRequest=g.DeclarationRequest=g.FoldingRangeRefreshRequest=g.FoldingRangeRequest=g.ColorPresentationRequest=g.DocumentColorRequest=g.ConfigurationRequest=g.DidChangeWorkspaceFoldersNotification=g.WorkspaceFoldersRequest=g.TypeDefinitionRequest=g.ImplementationRequest=g.ApplyWorkspaceEditRequest=g.ExecuteCommandRequest=g.PrepareRenameRequest=g.RenameRequest=g.PrepareSupportDefaultBehavior=g.DocumentOnTypeFormattingRequest=g.DocumentRangesFormattingRequest=g.DocumentRangeFormattingRequest=g.DocumentFormattingRequest=g.DocumentLinkResolveRequest=g.DocumentLinkRequest=g.CodeLensRefreshRequest=g.CodeLensResolveRequest=g.CodeLensRequest=g.WorkspaceSymbolResolveRequest=void 0;g.InlineCompletionRequest=g.DidCloseNotebookDocumentNotification=g.DidSaveNotebookDocumentNotification=g.DidChangeNotebookDocumentNotification=g.NotebookCellArrayChange=g.DidOpenNotebookDocumentNotification=g.NotebookDocumentSyncRegistrationType=g.NotebookDocument=g.NotebookCell=g.ExecutionSummary=g.NotebookCellKind=g.DiagnosticRefreshRequest=g.WorkspaceDiagnosticRequest=g.DocumentDiagnosticRequest=g.DocumentDiagnosticReportKind=g.DiagnosticServerCancellationData=g.InlayHintRefreshRequest=g.InlayHintResolveRequest=g.InlayHintRequest=g.InlineValueRefreshRequest=g.InlineValueRequest=g.TypeHierarchySupertypesRequest=g.TypeHierarchySubtypesRequest=g.TypeHierarchyPrepareRequest=void 0;var H=ft(),SI=(la(),df(ep)),Pt=Pp(),pU=Qb();Object.defineProperty(g,"ImplementationRequest",{enumerable:!0,get:function(){return pU.ImplementationRequest}});var hU=rA();Object.defineProperty(g,"TypeDefinitionRequest",{enumerable:!0,get:function(){return hU.TypeDefinitionRequest}});var $S=oA();Object.defineProperty(g,"WorkspaceFoldersRequest",{enumerable:!0,get:function(){return $S.WorkspaceFoldersRequest}});Object.defineProperty(g,"DidChangeWorkspaceFoldersNotification",{enumerable:!0,get:function(){return $S.DidChangeWorkspaceFoldersNotification}});var mU=cA();Object.defineProperty(g,"ConfigurationRequest",{enumerable:!0,get:function(){return mU.ConfigurationRequest}});var MS=fA();Object.defineProperty(g,"DocumentColorRequest",{enumerable:!0,get:function(){return MS.DocumentColorRequest}});Object.defineProperty(g,"ColorPresentationRequest",{enumerable:!0,get:function(){return MS.ColorPresentationRequest}});var FS=hA();Object.defineProperty(g,"FoldingRangeRequest",{enumerable:!0,get:function(){return FS.FoldingRangeRequest}});Object.defineProperty(g,"FoldingRangeRefreshRequest",{enumerable:!0,get:function(){return FS.FoldingRangeRefreshRequest}});var gU=yA();Object.defineProperty(g,"DeclarationRequest",{enumerable:!0,get:function(){return gU.DeclarationRequest}});var yU=_A();Object.defineProperty(g,"SelectionRangeRequest",{enumerable:!0,get:function(){return yU.SelectionRangeRequest}});var XT=wA();Object.defineProperty(g,"WorkDoneProgress",{enumerable:!0,get:function(){return XT.WorkDoneProgress}});Object.defineProperty(g,"WorkDoneProgressCreateRequest",{enumerable:!0,get:function(){return XT.WorkDoneProgressCreateRequest}});Object.defineProperty(g,"WorkDoneProgressCancelNotification",{enumerable:!0,get:function(){return XT.WorkDoneProgressCancelNotification}});var HT=SA();Object.defineProperty(g,"CallHierarchyIncomingCallsRequest",{enumerable:!0,get:function(){return HT.CallHierarchyIncomingCallsRequest}});Object.defineProperty(g,"CallHierarchyOutgoingCallsRequest",{enumerable:!0,get:function(){return HT.CallHierarchyOutgoingCallsRequest}});Object.defineProperty(g,"CallHierarchyPrepareRequest",{enumerable:!0,get:function(){return HT.CallHierarchyPrepareRequest}});var Fa=LA();Object.defineProperty(g,"TokenFormat",{enumerable:!0,get:function(){return Fa.TokenFormat}});Object.defineProperty(g,"SemanticTokensRequest",{enumerable:!0,get:function(){return Fa.SemanticTokensRequest}});Object.defineProperty(g,"SemanticTokensDeltaRequest",{enumerable:!0,get:function(){return Fa.SemanticTokensDeltaRequest}});Object.defineProperty(g,"SemanticTokensRangeRequest",{enumerable:!0,get:function(){return Fa.SemanticTokensRangeRequest}});Object.defineProperty(g,"SemanticTokensRefreshRequest",{enumerable:!0,get:function(){return Fa.SemanticTokensRefreshRequest}});Object.defineProperty(g,"SemanticTokensRegistrationType",{enumerable:!0,get:function(){return Fa.SemanticTokensRegistrationType}});var xU=MA();Object.defineProperty(g,"ShowDocumentRequest",{enumerable:!0,get:function(){return xU.ShowDocumentRequest}});var TU=BA();Object.defineProperty(g,"LinkedEditingRangeRequest",{enumerable:!0,get:function(){return TU.LinkedEditingRangeRequest}});var zo=VA();Object.defineProperty(g,"FileOperationPatternKind",{enumerable:!0,get:function(){return zo.FileOperationPatternKind}});Object.defineProperty(g,"DidCreateFilesNotification",{enumerable:!0,get:function(){return zo.DidCreateFilesNotification}});Object.defineProperty(g,"WillCreateFilesRequest",{enumerable:!0,get:function(){return zo.WillCreateFilesRequest}});Object.defineProperty(g,"DidRenameFilesNotification",{enumerable:!0,get:function(){return zo.DidRenameFilesNotification}});Object.defineProperty(g,"WillRenameFilesRequest",{enumerable:!0,get:function(){return zo.WillRenameFilesRequest}});Object.defineProperty(g,"DidDeleteFilesNotification",{enumerable:!0,get:function(){return zo.DidDeleteFilesNotification}});Object.defineProperty(g,"WillDeleteFilesRequest",{enumerable:!0,get:function(){return zo.WillDeleteFilesRequest}});var jT=QA();Object.defineProperty(g,"UniquenessLevel",{enumerable:!0,get:function(){return jT.UniquenessLevel}});Object.defineProperty(g,"MonikerKind",{enumerable:!0,get:function(){return jT.MonikerKind}});Object.defineProperty(g,"MonikerRequest",{enumerable:!0,get:function(){return jT.MonikerRequest}});var zT=nI();Object.defineProperty(g,"TypeHierarchyPrepareRequest",{enumerable:!0,get:function(){return zT.TypeHierarchyPrepareRequest}});Object.defineProperty(g,"TypeHierarchySubtypesRequest",{enumerable:!0,get:function(){return zT.TypeHierarchySubtypesRequest}});Object.defineProperty(g,"TypeHierarchySupertypesRequest",{enumerable:!0,get:function(){return zT.TypeHierarchySupertypesRequest}});var US=sI();Object.defineProperty(g,"InlineValueRequest",{enumerable:!0,get:function(){return US.InlineValueRequest}});Object.defineProperty(g,"InlineValueRefreshRequest",{enumerable:!0,get:function(){return US.InlineValueRefreshRequest}});var qT=uI();Object.defineProperty(g,"InlayHintRequest",{enumerable:!0,get:function(){return qT.InlayHintRequest}});Object.defineProperty(g,"InlayHintResolveRequest",{enumerable:!0,get:function(){return qT.InlayHintResolveRequest}});Object.defineProperty(g,"InlayHintRefreshRequest",{enumerable:!0,get:function(){return qT.InlayHintRefreshRequest}});var nu=yI();Object.defineProperty(g,"DiagnosticServerCancellationData",{enumerable:!0,get:function(){return nu.DiagnosticServerCancellationData}});Object.defineProperty(g,"DocumentDiagnosticReportKind",{enumerable:!0,get:function(){return nu.DocumentDiagnosticReportKind}});Object.defineProperty(g,"DocumentDiagnosticRequest",{enumerable:!0,get:function(){return nu.DocumentDiagnosticRequest}});Object.defineProperty(g,"WorkspaceDiagnosticRequest",{enumerable:!0,get:function(){return nu.WorkspaceDiagnosticRequest}});Object.defineProperty(g,"DiagnosticRefreshRequest",{enumerable:!0,get:function(){return nu.DiagnosticRefreshRequest}});var yn=wI();Object.defineProperty(g,"NotebookCellKind",{enumerable:!0,get:function(){return yn.NotebookCellKind}});Object.defineProperty(g,"ExecutionSummary",{enumerable:!0,get:function(){return yn.ExecutionSummary}});Object.defineProperty(g,"NotebookCell",{enumerable:!0,get:function(){return yn.NotebookCell}});Object.defineProperty(g,"NotebookDocument",{enumerable:!0,get:function(){return yn.NotebookDocument}});Object.defineProperty(g,"NotebookDocumentSyncRegistrationType",{enumerable:!0,get:function(){return yn.NotebookDocumentSyncRegistrationType}});Object.defineProperty(g,"DidOpenNotebookDocumentNotification",{enumerable:!0,get:function(){return yn.DidOpenNotebookDocumentNotification}});Object.defineProperty(g,"NotebookCellArrayChange",{enumerable:!0,get:function(){return yn.NotebookCellArrayChange}});Object.defineProperty(g,"DidChangeNotebookDocumentNotification",{enumerable:!0,get:function(){return yn.DidChangeNotebookDocumentNotification}});Object.defineProperty(g,"DidSaveNotebookDocumentNotification",{enumerable:!0,get:function(){return yn.DidSaveNotebookDocumentNotification}});Object.defineProperty(g,"DidCloseNotebookDocumentNotification",{enumerable:!0,get:function(){return yn.DidCloseNotebookDocumentNotification}});var _U=II();Object.defineProperty(g,"InlineCompletionRequest",{enumerable:!0,get:function(){return _U.InlineCompletionRequest}});var FT;(function(t){function e(r){let n=r;return Pt.string(n)||Pt.string(n.language)||Pt.string(n.scheme)||Pt.string(n.pattern)}t.is=e})(FT||(g.TextDocumentFilter=FT={}));var UT;(function(t){function e(r){let n=r;return Pt.objectLiteral(n)&&(Pt.string(n.notebookType)||Pt.string(n.scheme)||Pt.string(n.pattern))}t.is=e})(UT||(g.NotebookDocumentFilter=UT={}));var BT;(function(t){function e(r){let n=r;return Pt.objectLiteral(n)&&(Pt.string(n.notebook)||UT.is(n.notebook))&&(n.language===void 0||Pt.string(n.language))}t.is=e})(BT||(g.NotebookCellTextDocumentFilter=BT={}));var GT;(function(t){function e(r){if(!Array.isArray(r))return!1;for(let n of r)if(!Pt.string(n)&&!FT.is(n)&&!BT.is(n))return!1;return!0}t.is=e})(GT||(g.DocumentSelector=GT={}));var kI;(function(t){t.method="client/registerCapability",t.messageDirection=H.MessageDirection.serverToClient,t.type=new H.ProtocolRequestType(t.method)})(kI||(g.RegistrationRequest=kI={}));var NI;(function(t){t.method="client/unregisterCapability",t.messageDirection=H.MessageDirection.serverToClient,t.type=new H.ProtocolRequestType(t.method)})(NI||(g.UnregistrationRequest=NI={}));var CI;(function(t){t.Create="create",t.Rename="rename",t.Delete="delete"})(CI||(g.ResourceOperationKind=CI={}));var PI;(function(t){t.Abort="abort",t.Transactional="transactional",t.TextOnlyTransactional="textOnlyTransactional",t.Undo="undo"})(PI||(g.FailureHandlingKind=PI={}));var OI;(function(t){t.UTF8="utf-8",t.UTF16="utf-16",t.UTF32="utf-32"})(OI||(g.PositionEncodingKind=OI={}));var LI;(function(t){function e(r){let n=r;return n&&Pt.string(n.id)&&n.id.length>0}t.hasId=e})(LI||(g.StaticRegistrationOptions=LI={}));var DI;(function(t){function e(r){let n=r;return n&&(n.documentSelector===null||GT.is(n.documentSelector))}t.is=e})(DI||(g.TextDocumentRegistrationOptions=DI={}));var $I;(function(t){function e(n){let i=n;return Pt.objectLiteral(i)&&(i.workDoneProgress===void 0||Pt.boolean(i.workDoneProgress))}t.is=e;function r(n){let i=n;return i&&Pt.boolean(i.workDoneProgress)}t.hasWorkDoneProgress=r})($I||(g.WorkDoneProgressOptions=$I={}));var MI;(function(t){t.method="initialize",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolRequestType(t.method)})(MI||(g.InitializeRequest=MI={}));var FI;(function(t){t.unknownProtocolVersion=1})(FI||(g.InitializeErrorCodes=FI={}));var UI;(function(t){t.method="initialized",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolNotificationType(t.method)})(UI||(g.InitializedNotification=UI={}));var BI;(function(t){t.method="shutdown",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolRequestType0(t.method)})(BI||(g.ShutdownRequest=BI={}));var GI;(function(t){t.method="exit",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolNotificationType0(t.method)})(GI||(g.ExitNotification=GI={}));var XI;(function(t){t.method="workspace/didChangeConfiguration",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolNotificationType(t.method)})(XI||(g.DidChangeConfigurationNotification=XI={}));var HI;(function(t){t.Error=1,t.Warning=2,t.Info=3,t.Log=4,t.Debug=5})(HI||(g.MessageType=HI={}));var jI;(function(t){t.method="window/showMessage",t.messageDirection=H.MessageDirection.serverToClient,t.type=new H.ProtocolNotificationType(t.method)})(jI||(g.ShowMessageNotification=jI={}));var zI;(function(t){t.method="window/showMessageRequest",t.messageDirection=H.MessageDirection.serverToClient,t.type=new H.ProtocolRequestType(t.method)})(zI||(g.ShowMessageRequest=zI={}));var qI;(function(t){t.method="window/logMessage",t.messageDirection=H.MessageDirection.serverToClient,t.type=new H.ProtocolNotificationType(t.method)})(qI||(g.LogMessageNotification=qI={}));var WI;(function(t){t.method="telemetry/event",t.messageDirection=H.MessageDirection.serverToClient,t.type=new H.ProtocolNotificationType(t.method)})(WI||(g.TelemetryEventNotification=WI={}));var VI;(function(t){t.None=0,t.Full=1,t.Incremental=2})(VI||(g.TextDocumentSyncKind=VI={}));var YI;(function(t){t.method="textDocument/didOpen",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolNotificationType(t.method)})(YI||(g.DidOpenTextDocumentNotification=YI={}));var KI;(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})(KI||(g.TextDocumentContentChangeEvent=KI={}));var ZI;(function(t){t.method="textDocument/didChange",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolNotificationType(t.method)})(ZI||(g.DidChangeTextDocumentNotification=ZI={}));var JI;(function(t){t.method="textDocument/didClose",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolNotificationType(t.method)})(JI||(g.DidCloseTextDocumentNotification=JI={}));var QI;(function(t){t.method="textDocument/didSave",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolNotificationType(t.method)})(QI||(g.DidSaveTextDocumentNotification=QI={}));var eS;(function(t){t.Manual=1,t.AfterDelay=2,t.FocusOut=3})(eS||(g.TextDocumentSaveReason=eS={}));var tS;(function(t){t.method="textDocument/willSave",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolNotificationType(t.method)})(tS||(g.WillSaveTextDocumentNotification=tS={}));var rS;(function(t){t.method="textDocument/willSaveWaitUntil",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolRequestType(t.method)})(rS||(g.WillSaveTextDocumentWaitUntilRequest=rS={}));var nS;(function(t){t.method="workspace/didChangeWatchedFiles",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolNotificationType(t.method)})(nS||(g.DidChangeWatchedFilesNotification=nS={}));var iS;(function(t){t.Created=1,t.Changed=2,t.Deleted=3})(iS||(g.FileChangeType=iS={}));var oS;(function(t){function e(r){let n=r;return Pt.objectLiteral(n)&&(SI.URI.is(n.baseUri)||SI.WorkspaceFolder.is(n.baseUri))&&Pt.string(n.pattern)}t.is=e})(oS||(g.RelativePattern=oS={}));var sS;(function(t){t.Create=1,t.Change=2,t.Delete=4})(sS||(g.WatchKind=sS={}));var aS;(function(t){t.method="textDocument/publishDiagnostics",t.messageDirection=H.MessageDirection.serverToClient,t.type=new H.ProtocolNotificationType(t.method)})(aS||(g.PublishDiagnosticsNotification=aS={}));var cS;(function(t){t.Invoked=1,t.TriggerCharacter=2,t.TriggerForIncompleteCompletions=3})(cS||(g.CompletionTriggerKind=cS={}));var lS;(function(t){t.method="textDocument/completion",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolRequestType(t.method)})(lS||(g.CompletionRequest=lS={}));var uS;(function(t){t.method="completionItem/resolve",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolRequestType(t.method)})(uS||(g.CompletionResolveRequest=uS={}));var fS;(function(t){t.method="textDocument/hover",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolRequestType(t.method)})(fS||(g.HoverRequest=fS={}));var dS;(function(t){t.Invoked=1,t.TriggerCharacter=2,t.ContentChange=3})(dS||(g.SignatureHelpTriggerKind=dS={}));var pS;(function(t){t.method="textDocument/signatureHelp",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolRequestType(t.method)})(pS||(g.SignatureHelpRequest=pS={}));var hS;(function(t){t.method="textDocument/definition",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolRequestType(t.method)})(hS||(g.DefinitionRequest=hS={}));var mS;(function(t){t.method="textDocument/references",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolRequestType(t.method)})(mS||(g.ReferencesRequest=mS={}));var gS;(function(t){t.method="textDocument/documentHighlight",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolRequestType(t.method)})(gS||(g.DocumentHighlightRequest=gS={}));var yS;(function(t){t.method="textDocument/documentSymbol",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolRequestType(t.method)})(yS||(g.DocumentSymbolRequest=yS={}));var xS;(function(t){t.method="textDocument/codeAction",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolRequestType(t.method)})(xS||(g.CodeActionRequest=xS={}));var TS;(function(t){t.method="codeAction/resolve",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolRequestType(t.method)})(TS||(g.CodeActionResolveRequest=TS={}));var _S;(function(t){t.method="workspace/symbol",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolRequestType(t.method)})(_S||(g.WorkspaceSymbolRequest=_S={}));var ES;(function(t){t.method="workspaceSymbol/resolve",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolRequestType(t.method)})(ES||(g.WorkspaceSymbolResolveRequest=ES={}));var vS;(function(t){t.method="textDocument/codeLens",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolRequestType(t.method)})(vS||(g.CodeLensRequest=vS={}));var RS;(function(t){t.method="codeLens/resolve",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolRequestType(t.method)})(RS||(g.CodeLensResolveRequest=RS={}));var wS;(function(t){t.method="workspace/codeLens/refresh",t.messageDirection=H.MessageDirection.serverToClient,t.type=new H.ProtocolRequestType0(t.method)})(wS||(g.CodeLensRefreshRequest=wS={}));var bS;(function(t){t.method="textDocument/documentLink",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolRequestType(t.method)})(bS||(g.DocumentLinkRequest=bS={}));var AS;(function(t){t.method="documentLink/resolve",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolRequestType(t.method)})(AS||(g.DocumentLinkResolveRequest=AS={}));var IS;(function(t){t.method="textDocument/formatting",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolRequestType(t.method)})(IS||(g.DocumentFormattingRequest=IS={}));var SS;(function(t){t.method="textDocument/rangeFormatting",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolRequestType(t.method)})(SS||(g.DocumentRangeFormattingRequest=SS={}));var kS;(function(t){t.method="textDocument/rangesFormatting",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolRequestType(t.method)})(kS||(g.DocumentRangesFormattingRequest=kS={}));var NS;(function(t){t.method="textDocument/onTypeFormatting",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolRequestType(t.method)})(NS||(g.DocumentOnTypeFormattingRequest=NS={}));var CS;(function(t){t.Identifier=1})(CS||(g.PrepareSupportDefaultBehavior=CS={}));var PS;(function(t){t.method="textDocument/rename",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolRequestType(t.method)})(PS||(g.RenameRequest=PS={}));var OS;(function(t){t.method="textDocument/prepareRename",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolRequestType(t.method)})(OS||(g.PrepareRenameRequest=OS={}));var LS;(function(t){t.method="workspace/executeCommand",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolRequestType(t.method)})(LS||(g.ExecuteCommandRequest=LS={}));var DS;(function(t){t.method="workspace/applyEdit",t.messageDirection=H.MessageDirection.serverToClient,t.type=new H.ProtocolRequestType("workspace/applyEdit")})(DS||(g.ApplyWorkspaceEditRequest=DS={}))});var XS=fe(Wp=>{"use strict";Object.defineProperty(Wp,"__esModule",{value:!0});Wp.createProtocolConnection=void 0;var GS=jo();function EU(t,e,r,n){return GS.ConnectionStrategy.is(n)&&(n={connectionStrategy:n}),(0,GS.createMessageConnection)(t,e,r,n)}Wp.createProtocolConnection=EU});var jS=fe(sr=>{"use strict";var vU=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]})),Vp=sr&&sr.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&vU(e,t,r)};Object.defineProperty(sr,"__esModule",{value:!0});sr.LSPErrorCodes=sr.createProtocolConnection=void 0;Vp(jo(),sr);Vp((la(),df(ep)),sr);Vp(ft(),sr);Vp(BS(),sr);var RU=XS();Object.defineProperty(sr,"createProtocolConnection",{enumerable:!0,get:function(){return RU.createProtocolConnection}});var HS;(function(t){t.lspReservedErrorRangeStart=-32899,t.RequestFailed=-32803,t.ServerCancelled=-32802,t.ContentModified=-32801,t.RequestCancelled=-32800,t.lspReservedErrorRangeEnd=-32800})(HS||(sr.LSPErrorCodes=HS={}))});var qS=fe(xn=>{"use strict";var wU=xn&&xn.__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]})),zS=xn&&xn.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&wU(e,t,r)};Object.defineProperty(xn,"__esModule",{value:!0});xn.createProtocolConnection=void 0;var bU=NT();zS(NT(),xn);zS(jS(),xn);function AU(t,e,r,n){return(0,bU.createMessageConnection)(t,e,r,n)}xn.createProtocolConnection=AU});var _k={};rn(_k,{nodeReadFile:()=>VU});async function VU(){throw new Error("nowline: filesystem readers are unavailable in the browser embed")}var Ek=o0(()=>{});var lH={};rn(lH,{EmbedRenderError:()=>nf,__resetForTests:()=>cH,init:()=>r0,initialize:()=>iH,parse:()=>sH,render:()=>oH,run:()=>aH,sha:()=>rH,version:()=>tH});var WP=new Set(["none","multiplier","person","people","points","time"]),VP=/^\d+$/,YP=/^\d+\.\d+$/,KP=/^\d+(?:\.\d+)?%$/;function oi(t){if(!t)return null;if(VP.test(t)){let e=parseInt(t,10);return e>0?e:null}if(YP.test(t)){let e=parseFloat(t);return Number.isFinite(e)&&e>0?e:null}if(KP.test(t)){let e=parseFloat(t.slice(0,-1))/100;return Number.isFinite(e)&&e>0?e:null}return null}function Ac(t){if(Number.isInteger(t))return String(t);let e=t.toFixed(6);return e=e.replace(/0+$/,""),e=e.replace(/\.$/,""),e}function ZP(t){return t.key.endsWith(":")?t.key.slice(0,-1):t.key}function JP(t){for(let e of t.properties)if(ZP(e)==="unicode"&&e.value)return e.value}function Ic(t,e){if(t==="none")return null;if(WP.has(t))return{kind:"builtin",name:t};let r=e.get(t);return r?{kind:"literal",text:JP(r)??t}:{kind:"literal",text:t}}function to(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 Sc(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 kc(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 _m(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}}var s0="lexing-error",a0="parsing-error";function c0(t){if(!t||typeof t!="object")return!1;let e=t.code;return e===s0||e===a0}function Em(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;c0(n.data)||e.push({origin:"validation",diagnostic:n})}return e}var QP=/did you mean ['"]?([^'"?]+)['"]?\??/i;function vm(t){let e=t.match(QP);return e?e[1].trim():void 0}function l0(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 u0(t){if(!t||typeof t!="object")return;let e=t;if(typeof e.code=="string"&&Array.isArray(e.args))return e.code}function Rm(t){let e=u0(t.data);return e||(typeof t.code=="string"&&t.code!==""?t.code:typeof t.code=="number"?String(t.code):l0(t.message))}var ut={};rn(ut,{AbstractAstReflection:()=>ro,AbstractCstNode:()=>Il,AbstractLangiumParser:()=>Sl,AbstractParserErrorMessageProvider:()=>rp,AbstractThreadedAsyncParser:()=>e_,AstUtils:()=>mf,BiMap:()=>Bo,Cancellation:()=>ie,CompositeCstNodeImpl:()=>Do,ContextCache:()=>Go,CstNodeBuilder:()=>Al,CstUtils:()=>Df,DEFAULT_TOKENIZE_OPTIONS:()=>Yp,DONE_RESULT:()=>$t,DatatypeSymbol:()=>tp,DefaultAstNodeDescriptionProvider:()=>zl,DefaultAstNodeLocator:()=>Wl,DefaultAsyncParser:()=>du,DefaultCommentProvider:()=>fu,DefaultConfigurationProvider:()=>Vl,DefaultDocumentBuilder:()=>iu,DefaultDocumentValidator:()=>jl,DefaultHydrator:()=>hu,DefaultIndexManager:()=>ou,DefaultJsonSerializer:()=>Gl,DefaultLangiumDocumentFactory:()=>Pl,DefaultLangiumDocuments:()=>Ol,DefaultLangiumProfiler:()=>i_,DefaultLexer:()=>qo,DefaultLexerErrorMessageProvider:()=>au,DefaultLinker:()=>Ll,DefaultNameProvider:()=>Dl,DefaultReferenceDescriptionProvider:()=>ql,DefaultReferences:()=>$l,DefaultScopeComputation:()=>Ml,DefaultScopeProvider:()=>Bl,DefaultServiceRegistry:()=>Xl,DefaultTokenBuilder:()=>Mo,DefaultValueConverter:()=>Fo,DefaultWorkspaceLock:()=>pu,DefaultWorkspaceManager:()=>su,Deferred:()=>Zt,Disposable:()=>Xi,DisposableCache:()=>xa,DocumentCache:()=>fp,DocumentState:()=>ye,DocumentValidator:()=>wr,EMPTY_SCOPE:()=>C2,EMPTY_STREAM:()=>ai,EmptyFileSystem:()=>Tu,EmptyFileSystemProvider:()=>Qp,ErrorWithLocation:()=>xo,GrammarAST:()=>Xc,GrammarUtils:()=>Ss,IndentationAwareLexer:()=>xu,IndentationAwareTokenBuilder:()=>Ba,JSDocDocumentationProvider:()=>uu,LangiumCompletionParser:()=>Nl,LangiumParser:()=>kl,LangiumParserErrorMessageProvider:()=>fa,LeafCstNodeImpl:()=>Lo,LexingMode:()=>Vo,MapScope:()=>_x,Module:()=>r_,MultiMap:()=>Ut,MultiMapScope:()=>Fl,OperationCancelled:()=>Rr,ParserWorker:()=>t_,ProfilingTask:()=>th,Reduction:()=>ps,RefResolving:()=>Uo,RegExpUtils:()=>Ff,RootCstNodeImpl:()=>ua,SimpleCache:()=>Ul,StreamImpl:()=>ur,StreamScope:()=>ya,TextDocument:()=>ha,TreeStreamImpl:()=>nn,URI:()=>ht,UriTrie:()=>ga,UriUtils:()=>Et,VALIDATE_EACH_NODE:()=>xb,ValidationCategory:()=>dp,ValidationRegistry:()=>Hl,ValueConverter:()=>pn,WorkspaceCache:()=>Ta,assertCondition:()=>y0,assertUnreachable:()=>an,createCompletionParser:()=>cx,createDefaultCoreModule:()=>mu,createDefaultSharedCoreModule:()=>gu,createGrammarConfig:()=>hg,createLangiumParser:()=>lx,createParser:()=>Cl,delayNextTick:()=>xx,diagnosticData:()=>Xo,eagerLoad:()=>rk,getDiagnosticRange:()=>Tb,indentationBuilderDefaultOptions:()=>n_,inject:()=>Wo,interruptAndCheck:()=>pt,isAstNode:()=>dt,isAstNodeDescription:()=>wm,isAstNodeWithComment:()=>Ex,isCompositeCstNode:()=>Dr,isIMultiModeLexerDefinition:()=>VT,isJSDoc:()=>JT,isLeafCstNode:()=>si,isLinkingError:()=>no,isMultiReference:()=>lr,isNamed:()=>gb,isOperationCancelled:()=>hn,isReference:()=>At,isRootCstNode:()=>Nc,isTokenTypeArray:()=>Kp,isTokenTypeDictionary:()=>WT,loadGrammarFromJson:()=>eh,parseJSDoc:()=>ZT,prepareLangiumParser:()=>ib,setInterruptionPeriod:()=>fb,startCancelableOperation:()=>lp,stream:()=>xe,toDiagnosticData:()=>_b,toDiagnosticSeverity:()=>pp});var Df={};rn(Df,{DefaultNameRegexp:()=>Lf,RangeComparison:()=>sn,compareRange:()=>p0,findCommentNode:()=>Ym,findDeclarationNodeAtOffset:()=>vO,findLeafNodeAtOffset:()=>Km,findLeafNodeBeforeOffset:()=>h0,flattenCst:()=>EO,getDatatypeNode:()=>_O,getInteriorNodes:()=>bO,getNextNode:()=>RO,getPreviousNode:()=>g0,getStartlineNode:()=>wO,inRange:()=>Sm,isChildNode:()=>Vm,isCommentNode:()=>Wm,streamCst:()=>go,toDocumentSegment:()=>yo,tokenToRange:()=>ws});function dt(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 lr(t){return typeof t=="object"&&t!==null&&typeof t.$refText=="string"&&"items"in t}function wm(t){return typeof t=="object"&&t!==null&&typeof t.name=="string"&&typeof t.type=="string"&&typeof t.path=="string"}function no(t){return typeof t=="object"&&t!==null&&typeof t.info=="object"&&typeof t.message=="string"}var ro=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 Dr(t){return typeof t=="object"&&t!==null&&Array.isArray(t.content)}function si(t){return typeof t=="object"&&t!==null&&typeof t.tokenType=="object"}function Nc(t){return Dr(t)&&typeof t.fullText=="string"}var ur=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 $t})}join(e=","){let r=this.iterator(),n="",i,o=!1;do i=r.next(),i.done||(o&&(n+=e),n+=tO(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?$t:{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 $t})}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(pf(o))r.iterator=o[Symbol.iterator]();else return{done:!1,value:o}}}while(r.iterator);return $t})}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(pf(o))n.iterator=o[Symbol.iterator]();else return{done:!1,value:o}}while(n.iterator);return $t})}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?$t: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 $t})}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 tO(t){return typeof t=="string"?t:typeof t>"u"?"undefined":typeof t.toString=="function"?t.toString():Object.prototype.toString.call(t)}function pf(t){return!!t&&typeof t[Symbol.iterator]=="function"}var ai=new ur(()=>{},()=>$t),$t=Object.freeze({done:!0,value:void 0});function xe(...t){if(t.length===1){let e=t[0];if(e instanceof ur)return e;if(pf(e))return new ur(()=>e[Symbol.iterator](),r=>r.next());if(typeof e.length=="number")return new ur(()=>({index:0}),r=>r.index<e.length?{done:!1,value:e[r.index++]}:$t)}return t.length>1?new ur(()=>({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++];pf(r)?e.iterator=r[Symbol.iterator]():r&&typeof r.length=="number"&&(e.array=r)}}while(e.iterator||e.array||e.collIndex<t.length);return $t}):ai}var nn=class extends ur{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 $t})}iterator(){let e={state:this.startFn(),next:()=>this.nextFn(e.state),prune:()=>{e.state.pruned=!0},[Symbol.iterator]:()=>e};return e}},ps;(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})(ps||(ps={}));var mf={};rn(mf,{assignMandatoryProperties:()=>Im,copyAstNode:()=>Am,findRootNode:()=>ms,getContainerOfType:()=>In,getDocument:()=>Mt,getReferenceNodes:()=>hf,hasContainerOfType:()=>rO,linkContentToContainer:()=>hs,streamAllContents:()=>$r,streamAst:()=>jt,streamContents:()=>Cc,streamReferences:()=>ci});function hs(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&&hs(i,e))}):dt(n)&&(n.$container=t,n.$containerProperty=r,e.deep&&hs(n,e)))}function In(t,e){let r=t;for(;r;){if(e(r))return r;r=r.$container}}function rO(t,e){let r=t;for(;r;){if(e(r))return!0;r=r.$container}return!1}function Mt(t){let r=ms(t).$document;if(!r)throw new Error("AST node has no document.");return r}function ms(t){for(;t.$container;)t=t.$container;return t}function hf(t){return At(t)?t.ref?[t.ref]:[]:lr(t)?t.items.map(e=>e.ref):[]}function Cc(t,e){if(!t)throw new Error("Node must be an AstNode.");let r=e?.range;return new ur(()=>({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++,bm(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)&&bm(a,r))return{done:!1,value:a}}n.arrayIndex=0}}n.keyIndex++}return $t})}function $r(t,e){if(!t)throw new Error("Root node must be an AstNode.");return new nn(t,r=>Cc(r,e))}function jt(t,e){if(t){if(e?.range&&!bm(t,e.range))return new nn(t,()=>[])}else throw new Error("Root node must be an AstNode.");return new nn(t,r=>Cc(r,e),{includeRoot:!0})}function bm(t,e){if(!e)return!0;let r=t.$cstNode?.range;return r?Sm(r,e):!1}function ci(t){return new ur(()=>({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)||lr(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)||lr(n))return{done:!1,value:{reference:o,container:t,property:r,index:i}}}e.arrayIndex=0}}e.keyIndex++}return $t})}function Im(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]=f0(i.defaultValue))}function f0(t){return Array.isArray(t)?[...t.map(f0)]:t}function Am(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]=Am(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)dt(a)?s.push(Am(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 hs(n,{deep:!0}),n}var Xc={};rn(Xc,{AbstractElement:()=>er,AbstractParserRule:()=>Pc,AbstractRule:()=>gs,AbstractType:()=>fr,Action:()=>li,Alternatives:()=>Oc,ArrayLiteral:()=>gf,ArrayType:()=>yf,Assignment:()=>ui,BooleanLiteral:()=>xf,CharacterRange:()=>fi,Condition:()=>di,Conjunction:()=>Lc,CrossReference:()=>pi,Disjunction:()=>Dc,EndOfFile:()=>Tf,Grammar:()=>Sn,GrammarImport:()=>_f,Group:()=>io,InferredType:()=>Ef,InfixRule:()=>on,InfixRuleOperatorList:()=>$c,InfixRuleOperators:()=>vf,Interface:()=>ys,Keyword:()=>xs,LangiumGrammarAstReflection:()=>Rs,LangiumGrammarTerminals:()=>nO,NamedArgument:()=>Ts,NegatedToken:()=>oo,Negation:()=>Rf,NumberLiteral:()=>wf,Parameter:()=>_s,ParameterReference:()=>bf,ParserRule:()=>Mr,ReferenceType:()=>Mc,RegexToken:()=>so,ReturnType:()=>Af,RuleCall:()=>ao,SimpleType:()=>Es,StringLiteral:()=>If,TerminalAlternatives:()=>co,TerminalElement:()=>tr,TerminalGroup:()=>lo,TerminalRule:()=>kn,TerminalRuleCall:()=>uo,Type:()=>Fc,TypeAttribute:()=>fo,TypeDefinition:()=>po,UnionType:()=>Sf,UnorderedGroup:()=>Uc,UntilToken:()=>ho,ValueLiteral:()=>mo,Wildcard:()=>vs,isAbstractElement:()=>Bc,isAbstractParserRule:()=>Nn,isAbstractRule:()=>iO,isAbstractType:()=>oO,isAction:()=>Cn,isAlternatives:()=>kf,isArrayLiteral:()=>sO,isArrayType:()=>km,isAssignment:()=>Fr,isBooleanLiteral:()=>Nm,isCharacterRange:()=>Cm,isCondition:()=>aO,isConjunction:()=>Pm,isCrossReference:()=>Ur,isDisjunction:()=>Om,isEndOfFile:()=>Lm,isGrammar:()=>cO,isGrammarImport:()=>lO,isGroup:()=>hi,isInferredType:()=>Gc,isInfixRule:()=>mi,isInfixRuleOperatorList:()=>uO,isInfixRuleOperators:()=>fO,isInterface:()=>Dm,isKeyword:()=>Er,isNamedArgument:()=>dO,isNegatedToken:()=>$m,isNegation:()=>Mm,isNumberLiteral:()=>pO,isParameter:()=>hO,isParameterReference:()=>Fm,isParserRule:()=>kt,isReferenceType:()=>Um,isRegexToken:()=>Bm,isReturnType:()=>Gm,isRuleCall:()=>Br,isSimpleType:()=>Nf,isStringLiteral:()=>mO,isTerminalAlternatives:()=>Xm,isTerminalElement:()=>gO,isTerminalGroup:()=>Hm,isTerminalRule:()=>zt,isTerminalRuleCall:()=>Cf,isType:()=>Pf,isTypeAttribute:()=>yO,isTypeDefinition:()=>xO,isUnionType:()=>jm,isUnorderedGroup:()=>Of,isUntilToken:()=>zm,isValueLiteral:()=>TO,isWildcard:()=>qm,reflection:()=>ne});var nO={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 Bc(t){return ne.isInstance(t,er.$type)}var Pc={$type:"AbstractParserRule"};function Nn(t){return ne.isInstance(t,Pc.$type)}var gs={$type:"AbstractRule"};function iO(t){return ne.isInstance(t,gs.$type)}var fr={$type:"AbstractType"};function oO(t){return ne.isInstance(t,fr.$type)}var li={$type:"Action",cardinality:"cardinality",feature:"feature",inferredType:"inferredType",operator:"operator",type:"type"};function Cn(t){return ne.isInstance(t,li.$type)}var Oc={$type:"Alternatives",cardinality:"cardinality",elements:"elements"};function kf(t){return ne.isInstance(t,Oc.$type)}var gf={$type:"ArrayLiteral",elements:"elements"};function sO(t){return ne.isInstance(t,gf.$type)}var yf={$type:"ArrayType",elementType:"elementType"};function km(t){return ne.isInstance(t,yf.$type)}var ui={$type:"Assignment",cardinality:"cardinality",feature:"feature",operator:"operator",predicate:"predicate",terminal:"terminal"};function Fr(t){return ne.isInstance(t,ui.$type)}var xf={$type:"BooleanLiteral",true:"true"};function Nm(t){return ne.isInstance(t,xf.$type)}var fi={$type:"CharacterRange",cardinality:"cardinality",left:"left",lookahead:"lookahead",parenthesized:"parenthesized",right:"right"};function Cm(t){return ne.isInstance(t,fi.$type)}var di={$type:"Condition"};function aO(t){return ne.isInstance(t,di.$type)}var Lc={$type:"Conjunction",left:"left",right:"right"};function Pm(t){return ne.isInstance(t,Lc.$type)}var pi={$type:"CrossReference",cardinality:"cardinality",deprecatedSyntax:"deprecatedSyntax",isMulti:"isMulti",terminal:"terminal",type:"type"};function Ur(t){return ne.isInstance(t,pi.$type)}var Dc={$type:"Disjunction",left:"left",right:"right"};function Om(t){return ne.isInstance(t,Dc.$type)}var Tf={$type:"EndOfFile",cardinality:"cardinality"};function Lm(t){return ne.isInstance(t,Tf.$type)}var Sn={$type:"Grammar",imports:"imports",interfaces:"interfaces",isDeclared:"isDeclared",name:"name",rules:"rules",types:"types"};function cO(t){return ne.isInstance(t,Sn.$type)}var _f={$type:"GrammarImport",path:"path"};function lO(t){return ne.isInstance(t,_f.$type)}var io={$type:"Group",cardinality:"cardinality",elements:"elements",guardCondition:"guardCondition",predicate:"predicate"};function hi(t){return ne.isInstance(t,io.$type)}var Ef={$type:"InferredType",name:"name"};function Gc(t){return ne.isInstance(t,Ef.$type)}var on={$type:"InfixRule",call:"call",dataType:"dataType",inferredType:"inferredType",name:"name",operators:"operators",parameters:"parameters",returnType:"returnType"};function mi(t){return ne.isInstance(t,on.$type)}var $c={$type:"InfixRuleOperatorList",associativity:"associativity",operators:"operators"};function uO(t){return ne.isInstance(t,$c.$type)}var vf={$type:"InfixRuleOperators",precedences:"precedences"};function fO(t){return ne.isInstance(t,vf.$type)}var ys={$type:"Interface",attributes:"attributes",name:"name",superTypes:"superTypes"};function Dm(t){return ne.isInstance(t,ys.$type)}var xs={$type:"Keyword",cardinality:"cardinality",predicate:"predicate",value:"value"};function Er(t){return ne.isInstance(t,xs.$type)}var Ts={$type:"NamedArgument",calledByName:"calledByName",parameter:"parameter",value:"value"};function dO(t){return ne.isInstance(t,Ts.$type)}var oo={$type:"NegatedToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",terminal:"terminal"};function $m(t){return ne.isInstance(t,oo.$type)}var Rf={$type:"Negation",value:"value"};function Mm(t){return ne.isInstance(t,Rf.$type)}var wf={$type:"NumberLiteral",value:"value"};function pO(t){return ne.isInstance(t,wf.$type)}var _s={$type:"Parameter",name:"name"};function hO(t){return ne.isInstance(t,_s.$type)}var bf={$type:"ParameterReference",parameter:"parameter"};function Fm(t){return ne.isInstance(t,bf.$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 ne.isInstance(t,Mr.$type)}var Mc={$type:"ReferenceType",isMulti:"isMulti",referenceType:"referenceType"};function Um(t){return ne.isInstance(t,Mc.$type)}var so={$type:"RegexToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",regex:"regex"};function Bm(t){return ne.isInstance(t,so.$type)}var Af={$type:"ReturnType",name:"name"};function Gm(t){return ne.isInstance(t,Af.$type)}var ao={$type:"RuleCall",arguments:"arguments",cardinality:"cardinality",predicate:"predicate",rule:"rule"};function Br(t){return ne.isInstance(t,ao.$type)}var Es={$type:"SimpleType",primitiveType:"primitiveType",stringType:"stringType",typeRef:"typeRef"};function Nf(t){return ne.isInstance(t,Es.$type)}var If={$type:"StringLiteral",value:"value"};function mO(t){return ne.isInstance(t,If.$type)}var co={$type:"TerminalAlternatives",cardinality:"cardinality",elements:"elements",lookahead:"lookahead",parenthesized:"parenthesized"};function Xm(t){return ne.isInstance(t,co.$type)}var tr={$type:"TerminalElement",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized"};function gO(t){return ne.isInstance(t,tr.$type)}var lo={$type:"TerminalGroup",cardinality:"cardinality",elements:"elements",lookahead:"lookahead",parenthesized:"parenthesized"};function Hm(t){return ne.isInstance(t,lo.$type)}var kn={$type:"TerminalRule",definition:"definition",fragment:"fragment",hidden:"hidden",name:"name",type:"type"};function zt(t){return ne.isInstance(t,kn.$type)}var uo={$type:"TerminalRuleCall",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",rule:"rule"};function Cf(t){return ne.isInstance(t,uo.$type)}var Fc={$type:"Type",name:"name",type:"type"};function Pf(t){return ne.isInstance(t,Fc.$type)}var fo={$type:"TypeAttribute",defaultValue:"defaultValue",isOptional:"isOptional",name:"name",type:"type"};function yO(t){return ne.isInstance(t,fo.$type)}var po={$type:"TypeDefinition"};function xO(t){return ne.isInstance(t,po.$type)}var Sf={$type:"UnionType",types:"types"};function jm(t){return ne.isInstance(t,Sf.$type)}var Uc={$type:"UnorderedGroup",cardinality:"cardinality",elements:"elements"};function Of(t){return ne.isInstance(t,Uc.$type)}var ho={$type:"UntilToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",terminal:"terminal"};function zm(t){return ne.isInstance(t,ho.$type)}var mo={$type:"ValueLiteral"};function TO(t){return ne.isInstance(t,mo.$type)}var vs={$type:"Wildcard",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized"};function qm(t){return ne.isInstance(t,vs.$type)}var Rs=class extends ro{constructor(){super(...arguments),this.types={AbstractElement:{name:er.$type,properties:{cardinality:{name:er.cardinality}},superTypes:[]},AbstractParserRule:{name:Pc.$type,properties:{},superTypes:[gs.$type,fr.$type]},AbstractRule:{name:gs.$type,properties:{},superTypes:[]},AbstractType:{name:fr.$type,properties:{},superTypes:[]},Action:{name:li.$type,properties:{cardinality:{name:li.cardinality},feature:{name:li.feature},inferredType:{name:li.inferredType},operator:{name:li.operator},type:{name:li.type,referenceType:fr.$type}},superTypes:[er.$type]},Alternatives:{name:Oc.$type,properties:{cardinality:{name:Oc.cardinality},elements:{name:Oc.elements,defaultValue:[]}},superTypes:[er.$type]},ArrayLiteral:{name:gf.$type,properties:{elements:{name:gf.elements,defaultValue:[]}},superTypes:[mo.$type]},ArrayType:{name:yf.$type,properties:{elementType:{name:yf.elementType}},superTypes:[po.$type]},Assignment:{name:ui.$type,properties:{cardinality:{name:ui.cardinality},feature:{name:ui.feature},operator:{name:ui.operator},predicate:{name:ui.predicate},terminal:{name:ui.terminal}},superTypes:[er.$type]},BooleanLiteral:{name:xf.$type,properties:{true:{name:xf.true,defaultValue:!1}},superTypes:[di.$type,mo.$type]},CharacterRange:{name:fi.$type,properties:{cardinality:{name:fi.cardinality},left:{name:fi.left},lookahead:{name:fi.lookahead},parenthesized:{name:fi.parenthesized,defaultValue:!1},right:{name:fi.right}},superTypes:[tr.$type]},Condition:{name:di.$type,properties:{},superTypes:[]},Conjunction:{name:Lc.$type,properties:{left:{name:Lc.left},right:{name:Lc.right}},superTypes:[di.$type]},CrossReference:{name:pi.$type,properties:{cardinality:{name:pi.cardinality},deprecatedSyntax:{name:pi.deprecatedSyntax,defaultValue:!1},isMulti:{name:pi.isMulti,defaultValue:!1},terminal:{name:pi.terminal},type:{name:pi.type,referenceType:fr.$type}},superTypes:[er.$type]},Disjunction:{name:Dc.$type,properties:{left:{name:Dc.left},right:{name:Dc.right}},superTypes:[di.$type]},EndOfFile:{name:Tf.$type,properties:{cardinality:{name:Tf.cardinality}},superTypes:[er.$type]},Grammar:{name:Sn.$type,properties:{imports:{name:Sn.imports,defaultValue:[]},interfaces:{name:Sn.interfaces,defaultValue:[]},isDeclared:{name:Sn.isDeclared,defaultValue:!1},name:{name:Sn.name},rules:{name:Sn.rules,defaultValue:[]},types:{name:Sn.types,defaultValue:[]}},superTypes:[]},GrammarImport:{name:_f.$type,properties:{path:{name:_f.path}},superTypes:[]},Group:{name:io.$type,properties:{cardinality:{name:io.cardinality},elements:{name:io.elements,defaultValue:[]},guardCondition:{name:io.guardCondition},predicate:{name:io.predicate}},superTypes:[er.$type]},InferredType:{name:Ef.$type,properties:{name:{name:Ef.name}},superTypes:[fr.$type]},InfixRule:{name:on.$type,properties:{call:{name:on.call},dataType:{name:on.dataType},inferredType:{name:on.inferredType},name:{name:on.name},operators:{name:on.operators},parameters:{name:on.parameters,defaultValue:[]},returnType:{name:on.returnType,referenceType:fr.$type}},superTypes:[Pc.$type]},InfixRuleOperatorList:{name:$c.$type,properties:{associativity:{name:$c.associativity},operators:{name:$c.operators,defaultValue:[]}},superTypes:[]},InfixRuleOperators:{name:vf.$type,properties:{precedences:{name:vf.precedences,defaultValue:[]}},superTypes:[]},Interface:{name:ys.$type,properties:{attributes:{name:ys.attributes,defaultValue:[]},name:{name:ys.name},superTypes:{name:ys.superTypes,defaultValue:[],referenceType:fr.$type}},superTypes:[fr.$type]},Keyword:{name:xs.$type,properties:{cardinality:{name:xs.cardinality},predicate:{name:xs.predicate},value:{name:xs.value}},superTypes:[er.$type]},NamedArgument:{name:Ts.$type,properties:{calledByName:{name:Ts.calledByName,defaultValue:!1},parameter:{name:Ts.parameter,referenceType:_s.$type},value:{name:Ts.value}},superTypes:[]},NegatedToken:{name:oo.$type,properties:{cardinality:{name:oo.cardinality},lookahead:{name:oo.lookahead},parenthesized:{name:oo.parenthesized,defaultValue:!1},terminal:{name:oo.terminal}},superTypes:[tr.$type]},Negation:{name:Rf.$type,properties:{value:{name:Rf.value}},superTypes:[di.$type]},NumberLiteral:{name:wf.$type,properties:{value:{name:wf.value}},superTypes:[mo.$type]},Parameter:{name:_s.$type,properties:{name:{name:_s.name}},superTypes:[]},ParameterReference:{name:bf.$type,properties:{parameter:{name:bf.parameter,referenceType:_s.$type}},superTypes:[di.$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:fr.$type}},superTypes:[Pc.$type]},ReferenceType:{name:Mc.$type,properties:{isMulti:{name:Mc.isMulti,defaultValue:!1},referenceType:{name:Mc.referenceType}},superTypes:[po.$type]},RegexToken:{name:so.$type,properties:{cardinality:{name:so.cardinality},lookahead:{name:so.lookahead},parenthesized:{name:so.parenthesized,defaultValue:!1},regex:{name:so.regex}},superTypes:[tr.$type]},ReturnType:{name:Af.$type,properties:{name:{name:Af.name}},superTypes:[]},RuleCall:{name:ao.$type,properties:{arguments:{name:ao.arguments,defaultValue:[]},cardinality:{name:ao.cardinality},predicate:{name:ao.predicate},rule:{name:ao.rule,referenceType:gs.$type}},superTypes:[er.$type]},SimpleType:{name:Es.$type,properties:{primitiveType:{name:Es.primitiveType},stringType:{name:Es.stringType},typeRef:{name:Es.typeRef,referenceType:fr.$type}},superTypes:[po.$type]},StringLiteral:{name:If.$type,properties:{value:{name:If.value}},superTypes:[mo.$type]},TerminalAlternatives:{name:co.$type,properties:{cardinality:{name:co.cardinality},elements:{name:co.elements,defaultValue:[]},lookahead:{name:co.lookahead},parenthesized:{name:co.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:lo.$type,properties:{cardinality:{name:lo.cardinality},elements:{name:lo.elements,defaultValue:[]},lookahead:{name:lo.lookahead},parenthesized:{name:lo.parenthesized,defaultValue:!1}},superTypes:[tr.$type]},TerminalRule:{name:kn.$type,properties:{definition:{name:kn.definition},fragment:{name:kn.fragment,defaultValue:!1},hidden:{name:kn.hidden,defaultValue:!1},name:{name:kn.name},type:{name:kn.type}},superTypes:[gs.$type]},TerminalRuleCall:{name:uo.$type,properties:{cardinality:{name:uo.cardinality},lookahead:{name:uo.lookahead},parenthesized:{name:uo.parenthesized,defaultValue:!1},rule:{name:uo.rule,referenceType:kn.$type}},superTypes:[tr.$type]},Type:{name:Fc.$type,properties:{name:{name:Fc.name},type:{name:Fc.type}},superTypes:[fr.$type]},TypeAttribute:{name:fo.$type,properties:{defaultValue:{name:fo.defaultValue},isOptional:{name:fo.isOptional,defaultValue:!1},name:{name:fo.name},type:{name:fo.type}},superTypes:[]},TypeDefinition:{name:po.$type,properties:{},superTypes:[]},UnionType:{name:Sf.$type,properties:{types:{name:Sf.types,defaultValue:[]}},superTypes:[po.$type]},UnorderedGroup:{name:Uc.$type,properties:{cardinality:{name:Uc.cardinality},elements:{name:Uc.elements,defaultValue:[]}},superTypes:[er.$type]},UntilToken:{name:ho.$type,properties:{cardinality:{name:ho.cardinality},lookahead:{name:ho.lookahead},parenthesized:{name:ho.parenthesized,defaultValue:!1},terminal:{name:ho.terminal}},superTypes:[tr.$type]},ValueLiteral:{name:mo.$type,properties:{},superTypes:[]},Wildcard:{name:vs.$type,properties:{cardinality:{name:vs.cardinality},lookahead:{name:vs.lookahead},parenthesized:{name:vs.parenthesized,defaultValue:!1}},superTypes:[tr.$type]}}}},ne=new Rs;function _O(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 go(t){return new nn(t,e=>Dr(e)?e.content:[],{includeRoot:!0})}function EO(t){return go(t).filter(si)}function Vm(t,e){for(;t.container;)if(t=t.container,t===e)return!0;return!1}function ws(t){return{start:{character:t.startColumn-1,line:t.startLine-1},end:{character:t.endColumn,line:t.endLine-1}}}function yo(t){if(!t)return;let{offset:e,end:r,range:n}=t;return{range:n,offset:e,end:r,length:r-e}}var sn;(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"})(sn||(sn={}));function p0(t,e){if(t.end.line<e.start.line||t.end.line===e.start.line&&t.end.character<=e.start.character)return sn.Before;if(t.start.line>e.end.line||t.start.line===e.end.line&&t.start.character>=e.end.character)return sn.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?sn.Inside:r?sn.OverlapBack:n?sn.OverlapFront:sn.Outside}function Sm(t,e){return p0(t,e)>sn.After}var Lf=/^[\w\p{L}]$/u;function vO(t,e,r=Lf){if(t){if(e>0){let n=e-t.offset,i=t.text.charAt(n);r.test(i)||e--}return Km(t,e)}}function Ym(t,e){if(t){let r=g0(t,!0);if(r&&Wm(r,e))return r;if(Nc(t)){let n=t.content.findIndex(i=>!i.hidden);for(let i=n-1;i>=0;i--){let o=t.content[i];if(Wm(o,e))return o}}}}function Wm(t,e){return si(t)&&e.includes(t.tokenType.name)}function Km(t,e){if(si(t))return t;if(Dr(t)){let r=m0(t,e,!1);if(r)return Km(r,e)}}function h0(t,e){if(si(t))return t;if(Dr(t)){let r=m0(t,e,!0);if(r)return h0(r,e)}}function m0(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 g0(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 RO(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 wO(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 bO(t,e){let r=AO(t,e);return r?r.parent.content.slice(r.a+1,r.b):[]}function AO(t,e){let r=d0(t),n=d0(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 d0(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 Ss={};rn(Ss,{findAssignment:()=>fg,findNameAssignment:()=>Uf,findNodeForKeyword:()=>lg,findNodeForProperty:()=>Vc,findNodesForKeyword:()=>CO,findNodesForKeywordInternal:()=>ug,findNodesForProperty:()=>ag,getActionAtElement:()=>b0,getActionType:()=>I0,getAllReachableRules:()=>Wc,getAllRulesUsedForCrossReferences:()=>NO,getCrossReferenceTerminal:()=>og,getEntryRule:()=>E0,getExplicitRuleType:()=>Bf,getHiddenRules:()=>v0,getRuleType:()=>dg,getRuleTypeName:()=>$O,getTypeName:()=>yi,isArrayCardinality:()=>OO,isArrayOperator:()=>LO,isCommentTerminal:()=>sg,isDataType:()=>DO,isDataTypeRule:()=>Yc,isOptionalCardinality:()=>PO,terminalRegex:()=>As});var xo=class extends Error{constructor(e,r){super(e?`${r} at ${e.range.start.line}:${e.range.start.character}`:r)}};function an(t,e="Error: Got unexpected value."){throw new Error(e)}function y0(t,e="Error: Condition is violated."){if(!t)throw new Error(e)}var Ff={};rn(Ff,{NEWLINE_REGEXP:()=>eg,escapeRegExp:()=>gi,getTerminalParts:()=>kO,isMultilineComment:()=>tg,isWhitespace:()=>qc,partialMatches:()=>rg,partialRegExp:()=>_0,whitespaceCharacters:()=>T0});function se(t){return t.charCodeAt(0)}function $f(t,e){Array.isArray(t)?t.forEach(function(r){e.push(r)}):e.push(t)}function bs(t,e){if(t[e]===!0)throw"duplicate flag "+e;let r=t[e];t[e]=!0}function To(t){if(t===void 0)throw Error("Internal Error - Should never get here!");return!0}function Hc(){throw Error("Internal Error - Should never get here!")}function Zm(t){return t.type==="Character"}var jc=[];for(let t=se("0");t<=se("9");t++)jc.push(t);var zc=[se("_")].concat(jc);for(let t=se("a");t<=se("z");t++)zc.push(t);for(let t=se("A");t<=se("Z");t++)zc.push(t);var Jm=[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=jc;break;case"D":e=jc,r=!0;break;case"s":e=
|
|
39
|
-
`);break;case"r":e=se("\r");break;case"t":e=se(" ");break;case"v":e=se("\v");break}return To(e)?{type:"Character",value:e}:
|
|
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
|
+
`)),P){let Y=x.error?` Request failed: ${x.error.message} (${x.error.code}).`:"";D.log(`Received response '${P.method} - (${x.id})' in ${Date.now()-P.timerStart}ms.${Y}`,j)}else D.log(`Received response ${x.id} without active response promise.`,j)}else Tr("receive-response",x)}function Tr(x,P){if(!D||v===Me.Off)return;let j={isLSPMessage:!0,type:x,message:P,timestamp:Date.now()};D.log(j)}function Pr(){if(z())throw new Ia(eu.Closed,"Connection is closed.");if(U())throw new Ia(eu.Disposed,"Connection is disposed.")}function ds(){if(F())throw new Ia(eu.AlreadyListening,"Connection is already listening")}function _e(){if(!F())throw new Error("Call listen() first.")}function Or(x){return x===void 0?null:x}function Qi(x){if(x!==null)return x}function bn(x){return x!=null&&!Array.isArray(x)&&typeof x=="object"}function _r(x,P){switch(x){case ce.ParameterStructures.auto:return bn(P)?Qi(P):[Or(P)];case ce.ParameterStructures.byName:if(!bn(P))throw new Error("Received parameters by name but param is not an object literal.");return Qi(P);case ce.ParameterStructures.byPosition:return[Or(P)];default:throw new Error(`Unknown parameter structure ${x.toString()}`)}}function Ht(x,P){let j,Y=x.numberOfParams;switch(Y){case 0:j=void 0;break;case 1:j=_r(x.parameterStructures,P[0]);break;default:j=[];for(let $e=0;$e<P.length&&$e<Y;$e++)j.push(Or(P[$e]));if(P.length<Y)for(let $e=P.length;$e<Y;$e++)j.push(null);break}return j}let bt={sendNotification:(x,...P)=>{Pr();let j,Y;if(mt.string(x)){j=x;let Ce=P[0],je=0,Ye=ce.ParameterStructures.auto;ce.ParameterStructures.is(Ce)&&(je=1,Ye=Ce);let ge=P.length,Ue=ge-je;switch(Ue){case 0:Y=void 0;break;case 1:Y=_r(Ye,P[je]);break;default:if(Ye===ce.ParameterStructures.byName)throw new Error(`Received ${Ue} parameters for 'by Name' notification parameter structure.`);Y=P.slice(je,ge).map(Ae=>Or(Ae));break}}else{let Ce=P;j=x.method,Y=Ht(x,Ce)}let $e={jsonrpc:c,method:j,params:Y};return me($e),e.write($e).catch(Ce=>{throw i.error("Sending notification failed."),Ce})},onNotification:(x,P)=>{Pr();let j;return mt.func(x)?f=x:P&&(mt.string(x)?(j=x,d.set(x,{type:void 0,handler:P})):(j=x.method,d.set(x.method,{type:x,handler:P}))),{dispose:()=>{j!==void 0?d.delete(j):f=void 0}}},onProgress:(x,P,j)=>{if(p.has(P))throw new Error(`Progress handler for token ${P} already registered`);return p.set(P,j),{dispose:()=>{p.delete(P)}}},sendProgress:(x,P,j)=>bt.sendNotification(Ql.type,{token:P,value:j}),onUnhandledProgress:oe.event,sendRequest:(x,...P)=>{Pr(),_e();let j,Y,$e;if(mt.string(x)){j=x;let ge=P[0],Ue=P[P.length-1],Ae=0,Ke=ce.ParameterStructures.auto;ce.ParameterStructures.is(ge)&&(Ae=1,Ke=ge);let st=P.length;gT.CancellationToken.is(Ue)&&(st=st-1,$e=Ue);let Jt=st-Ae;switch(Jt){case 0:Y=void 0;break;case 1:Y=_r(Ke,P[Ae]);break;default:if(Ke===ce.ParameterStructures.byName)throw new Error(`Received ${Jt} parameters for 'by Name' request parameter structure.`);Y=P.slice(Ae,st).map(ps=>Or(ps));break}}else{let ge=P;j=x.method,Y=Ht(x,ge);let Ue=x.numberOfParams;$e=gT.CancellationToken.is(ge[Ue])?ge[Ue]:void 0}let Ce=o++,je;$e&&(je=$e.onCancellationRequested(()=>{let ge=w.sender.sendCancellation(bt,Ce);return ge===void 0?(i.log(`Received no promise from cancellation strategy when cancelling id ${Ce}`),Promise.resolve()):ge.catch(()=>{i.log(`Sending cancellation messages for id ${Ce} failed`)})}));let Ye={jsonrpc:c,id:Ce,method:j,params:Y};return be(Ye),typeof w.sender.enableCancellation=="function"&&w.sender.enableCancellation(Ye),new Promise(async(ge,Ue)=>{let Ae=Jt=>{ge(Jt),w.sender.cleanup(Ce),je?.dispose()},Ke=Jt=>{Ue(Jt),w.sender.cleanup(Ce),je?.dispose()},st={method:j,timerStart:Date.now(),resolve:Ae,reject:Ke};try{await e.write(Ye),_.set(Ce,st)}catch(Jt){throw i.error("Sending request failed."),st.reject(new ce.ResponseError(ce.ErrorCodes.MessageWriteError,Jt.message?Jt.message:"Unknown reason")),Jt}})},onRequest:(x,P)=>{Pr();let j=null;return TT.is(x)?(j=void 0,l=x):mt.string(x)?(j=null,P!==void 0&&(j=x,u.set(x,{handler:P,type:void 0}))):P!==void 0&&(j=x.method,u.set(x.method,{type:x,handler:P})),{dispose:()=>{j!==null&&(j!==void 0?u.delete(j):l=void 0)}}},hasPendingResponse:()=>_.size>0,trace:async(x,P,j)=>{let Y=!1,$e=hr.Text;j!==void 0&&(mt.boolean(j)?Y=j:(Y=j.sendNotification||!1,$e=j.traceFormat||hr.Text)),v=x,S=$e,v===Me.Off?D=void 0:D=P,Y&&!z()&&!U()&&await bt.sendNotification(_T.type,{value:Me.toString(x)})},onError:M.event,onClose:B.event,onUnhandledNotification:G.event,onDispose:L.event,end:()=>{e.end()},dispose:()=>{if(U())return;N=zr.Disposed,L.fire(void 0);let x=new ce.ResponseError(ce.ErrorCodes.PendingResponseRejected,"Pending response rejected since connection got disposed");for(let P of _.values())P.reject(x);_=new Map,T=new Map,E=new Set,y=new Hb.LinkedMap,mt.func(e.dispose)&&e.dispose(),mt.func(t.dispose)&&t.dispose()},listen:()=>{Pr(),ds(),N=zr.Listening,t.listen(Ne)},inspect:()=>{(0,Xb.default)().console.log("inspect")}};return bt.onNotification(Ap.type,x=>{if(v===Me.Off||!D)return;let P=v===Me.Verbose||v===Me.Compact;D.log(x.message,P?x.verbose:void 0)}),bt.onNotification(Ql.type,x=>{let P=p.get(x.token);P?P(x.value):oe.fire(x)}),bt}he.createMessageConnection=iU});var Pp=fe(k=>{"use strict";Object.defineProperty(k,"__esModule",{value:!0});k.ProgressType=k.ProgressToken=k.createMessageConnection=k.NullLogger=k.ConnectionOptions=k.ConnectionStrategy=k.AbstractMessageBuffer=k.WriteableStreamMessageWriter=k.AbstractMessageWriter=k.MessageWriter=k.ReadableStreamMessageReader=k.AbstractMessageReader=k.MessageReader=k.SharedArrayReceiverStrategy=k.SharedArraySenderStrategy=k.CancellationToken=k.CancellationTokenSource=k.Emitter=k.Event=k.Disposable=k.LRUCache=k.Touch=k.LinkedMap=k.ParameterStructures=k.NotificationType9=k.NotificationType8=k.NotificationType7=k.NotificationType6=k.NotificationType5=k.NotificationType4=k.NotificationType3=k.NotificationType2=k.NotificationType1=k.NotificationType0=k.NotificationType=k.ErrorCodes=k.ResponseError=k.RequestType9=k.RequestType8=k.RequestType7=k.RequestType6=k.RequestType5=k.RequestType4=k.RequestType3=k.RequestType2=k.RequestType1=k.RequestType0=k.RequestType=k.Message=k.RAL=void 0;k.MessageStrategy=k.CancellationStrategy=k.CancellationSenderStrategy=k.CancellationReceiverStrategy=k.ConnectionError=k.ConnectionErrors=k.LogTraceNotification=k.SetTraceNotification=k.TraceFormat=k.TraceValues=k.Trace=void 0;var et=Vx();Object.defineProperty(k,"Message",{enumerable:!0,get:function(){return et.Message}});Object.defineProperty(k,"RequestType",{enumerable:!0,get:function(){return et.RequestType}});Object.defineProperty(k,"RequestType0",{enumerable:!0,get:function(){return et.RequestType0}});Object.defineProperty(k,"RequestType1",{enumerable:!0,get:function(){return et.RequestType1}});Object.defineProperty(k,"RequestType2",{enumerable:!0,get:function(){return et.RequestType2}});Object.defineProperty(k,"RequestType3",{enumerable:!0,get:function(){return et.RequestType3}});Object.defineProperty(k,"RequestType4",{enumerable:!0,get:function(){return et.RequestType4}});Object.defineProperty(k,"RequestType5",{enumerable:!0,get:function(){return et.RequestType5}});Object.defineProperty(k,"RequestType6",{enumerable:!0,get:function(){return et.RequestType6}});Object.defineProperty(k,"RequestType7",{enumerable:!0,get:function(){return et.RequestType7}});Object.defineProperty(k,"RequestType8",{enumerable:!0,get:function(){return et.RequestType8}});Object.defineProperty(k,"RequestType9",{enumerable:!0,get:function(){return et.RequestType9}});Object.defineProperty(k,"ResponseError",{enumerable:!0,get:function(){return et.ResponseError}});Object.defineProperty(k,"ErrorCodes",{enumerable:!0,get:function(){return et.ErrorCodes}});Object.defineProperty(k,"NotificationType",{enumerable:!0,get:function(){return et.NotificationType}});Object.defineProperty(k,"NotificationType0",{enumerable:!0,get:function(){return et.NotificationType0}});Object.defineProperty(k,"NotificationType1",{enumerable:!0,get:function(){return et.NotificationType1}});Object.defineProperty(k,"NotificationType2",{enumerable:!0,get:function(){return et.NotificationType2}});Object.defineProperty(k,"NotificationType3",{enumerable:!0,get:function(){return et.NotificationType3}});Object.defineProperty(k,"NotificationType4",{enumerable:!0,get:function(){return et.NotificationType4}});Object.defineProperty(k,"NotificationType5",{enumerable:!0,get:function(){return et.NotificationType5}});Object.defineProperty(k,"NotificationType6",{enumerable:!0,get:function(){return et.NotificationType6}});Object.defineProperty(k,"NotificationType7",{enumerable:!0,get:function(){return et.NotificationType7}});Object.defineProperty(k,"NotificationType8",{enumerable:!0,get:function(){return et.NotificationType8}});Object.defineProperty(k,"NotificationType9",{enumerable:!0,get:function(){return et.NotificationType9}});Object.defineProperty(k,"ParameterStructures",{enumerable:!0,get:function(){return et.ParameterStructures}});var wT=Kx();Object.defineProperty(k,"LinkedMap",{enumerable:!0,get:function(){return wT.LinkedMap}});Object.defineProperty(k,"LRUCache",{enumerable:!0,get:function(){return wT.LRUCache}});Object.defineProperty(k,"Touch",{enumerable:!0,get:function(){return wT.Touch}});var oU=Cb();Object.defineProperty(k,"Disposable",{enumerable:!0,get:function(){return oU.Disposable}});var Wb=wa();Object.defineProperty(k,"Event",{enumerable:!0,get:function(){return Wb.Event}});Object.defineProperty(k,"Emitter",{enumerable:!0,get:function(){return Wb.Emitter}});var Vb=Ep();Object.defineProperty(k,"CancellationTokenSource",{enumerable:!0,get:function(){return Vb.CancellationTokenSource}});Object.defineProperty(k,"CancellationToken",{enumerable:!0,get:function(){return Vb.CancellationToken}});var Yb=Ob();Object.defineProperty(k,"SharedArraySenderStrategy",{enumerable:!0,get:function(){return Yb.SharedArraySenderStrategy}});Object.defineProperty(k,"SharedArrayReceiverStrategy",{enumerable:!0,get:function(){return Yb.SharedArrayReceiverStrategy}});var RT=Db();Object.defineProperty(k,"MessageReader",{enumerable:!0,get:function(){return RT.MessageReader}});Object.defineProperty(k,"AbstractMessageReader",{enumerable:!0,get:function(){return RT.AbstractMessageReader}});Object.defineProperty(k,"ReadableStreamMessageReader",{enumerable:!0,get:function(){return RT.ReadableStreamMessageReader}});var bT=Bb();Object.defineProperty(k,"MessageWriter",{enumerable:!0,get:function(){return bT.MessageWriter}});Object.defineProperty(k,"AbstractMessageWriter",{enumerable:!0,get:function(){return bT.AbstractMessageWriter}});Object.defineProperty(k,"WriteableStreamMessageWriter",{enumerable:!0,get:function(){return bT.WriteableStreamMessageWriter}});var sU=Gb();Object.defineProperty(k,"AbstractMessageBuffer",{enumerable:!0,get:function(){return sU.AbstractMessageBuffer}});var Dt=qb();Object.defineProperty(k,"ConnectionStrategy",{enumerable:!0,get:function(){return Dt.ConnectionStrategy}});Object.defineProperty(k,"ConnectionOptions",{enumerable:!0,get:function(){return Dt.ConnectionOptions}});Object.defineProperty(k,"NullLogger",{enumerable:!0,get:function(){return Dt.NullLogger}});Object.defineProperty(k,"createMessageConnection",{enumerable:!0,get:function(){return Dt.createMessageConnection}});Object.defineProperty(k,"ProgressToken",{enumerable:!0,get:function(){return Dt.ProgressToken}});Object.defineProperty(k,"ProgressType",{enumerable:!0,get:function(){return Dt.ProgressType}});Object.defineProperty(k,"Trace",{enumerable:!0,get:function(){return Dt.Trace}});Object.defineProperty(k,"TraceValues",{enumerable:!0,get:function(){return Dt.TraceValues}});Object.defineProperty(k,"TraceFormat",{enumerable:!0,get:function(){return Dt.TraceFormat}});Object.defineProperty(k,"SetTraceNotification",{enumerable:!0,get:function(){return Dt.SetTraceNotification}});Object.defineProperty(k,"LogTraceNotification",{enumerable:!0,get:function(){return Dt.LogTraceNotification}});Object.defineProperty(k,"ConnectionErrors",{enumerable:!0,get:function(){return Dt.ConnectionErrors}});Object.defineProperty(k,"ConnectionError",{enumerable:!0,get:function(){return Dt.ConnectionError}});Object.defineProperty(k,"CancellationReceiverStrategy",{enumerable:!0,get:function(){return Dt.CancellationReceiverStrategy}});Object.defineProperty(k,"CancellationSenderStrategy",{enumerable:!0,get:function(){return Dt.CancellationSenderStrategy}});Object.defineProperty(k,"CancellationStrategy",{enumerable:!0,get:function(){return Dt.CancellationStrategy}});Object.defineProperty(k,"MessageStrategy",{enumerable:!0,get:function(){return Dt.MessageStrategy}});var aU=Li();k.RAL=aU.default});var Zb=fe(kT=>{"use strict";Object.defineProperty(kT,"__esModule",{value:!0});var mn=Pp(),Op=class t extends mn.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)}};Op.emptyBuffer=new Uint8Array(0);var AT=class{constructor(e){this.socket=e,this._onData=new mn.Emitter,this._messageListener=r=>{r.data.arrayBuffer().then(i=>{this._onData.fire(new Uint8Array(i))},()=>{(0,mn.RAL)().console.error("Converting blob to array buffer failed.")})},this.socket.addEventListener("message",this._messageListener)}onClose(e){return this.socket.addEventListener("close",e),mn.Disposable.create(()=>this.socket.removeEventListener("close",e))}onError(e){return this.socket.addEventListener("error",e),mn.Disposable.create(()=>this.socket.removeEventListener("error",e))}onEnd(e){return this.socket.addEventListener("end",e),mn.Disposable.create(()=>this.socket.removeEventListener("end",e))}onData(e){return this._onData.event(e)}},IT=class{constructor(e){this.socket=e}onClose(e){return this.socket.addEventListener("close",e),mn.Disposable.create(()=>this.socket.removeEventListener("close",e))}onError(e){return this.socket.addEventListener("error",e),mn.Disposable.create(()=>this.socket.removeEventListener("error",e))}onEnd(e){return this.socket.addEventListener("end",e),mn.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()}},cU=new TextEncoder,Kb=Object.freeze({messageBuffer:Object.freeze({create:t=>new Op(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(cU.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 AT(t),asWritableStream:t=>new IT(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 ST(){return Kb}(function(t){function e(){mn.RAL.install(Kb)}t.install=e})(ST||(ST={}));kT.default=ST});var zo=fe(mr=>{"use strict";var lU=mr&&mr.__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]})),uU=mr&&mr.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&lU(e,t,r)};Object.defineProperty(mr,"__esModule",{value:!0});mr.createMessageConnection=mr.BrowserMessageWriter=mr.BrowserMessageReader=void 0;var fU=Zb();fU.default.install();var Sa=Pp();uU(Pp(),mr);var NT=class extends Sa.AbstractMessageReader{constructor(e){super(),this._onData=new Sa.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)}};mr.BrowserMessageReader=NT;var CT=class extends Sa.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(){}};mr.BrowserMessageWriter=CT;function dU(t,e,r,n){return r===void 0&&(r=Sa.NullLogger),Sa.ConnectionStrategy.is(n)&&(n={connectionStrategy:n}),(0,Sa.createMessageConnection)(t,e,r,n)}mr.createMessageConnection=dU});var PT=fe((NJ,Jb)=>{"use strict";Jb.exports=zo()});var ft=fe(ir=>{"use strict";Object.defineProperty(ir,"__esModule",{value:!0});ir.ProtocolNotificationType=ir.ProtocolNotificationType0=ir.ProtocolRequestType=ir.ProtocolRequestType0=ir.RegistrationType=ir.MessageDirection=void 0;var ka=zo(),Qb;(function(t){t.clientToServer="clientToServer",t.serverToClient="serverToClient",t.both="both"})(Qb||(ir.MessageDirection=Qb={}));var OT=class{constructor(e){this.method=e}};ir.RegistrationType=OT;var LT=class extends ka.RequestType0{constructor(e){super(e)}};ir.ProtocolRequestType0=LT;var DT=class extends ka.RequestType{constructor(e){super(e,ka.ParameterStructures.byName)}};ir.ProtocolRequestType=DT;var $T=class extends ka.NotificationType0{constructor(e){super(e)}};ir.ProtocolNotificationType0=$T;var MT=class extends ka.NotificationType{constructor(e){super(e,ka.ParameterStructures.byName)}};ir.ProtocolNotificationType=MT});var Lp=fe(Rt=>{"use strict";Object.defineProperty(Rt,"__esModule",{value:!0});Rt.objectLiteral=Rt.typedArray=Rt.stringArray=Rt.array=Rt.func=Rt.error=Rt.number=Rt.string=Rt.boolean=void 0;function pU(t){return t===!0||t===!1}Rt.boolean=pU;function eA(t){return typeof t=="string"||t instanceof String}Rt.string=eA;function hU(t){return typeof t=="number"||t instanceof Number}Rt.number=hU;function mU(t){return t instanceof Error}Rt.error=mU;function gU(t){return typeof t=="function"}Rt.func=gU;function tA(t){return Array.isArray(t)}Rt.array=tA;function yU(t){return tA(t)&&t.every(e=>eA(e))}Rt.stringArray=yU;function xU(t,e){return Array.isArray(t)&&t.every(e)}Rt.typedArray=xU;function TU(t){return t!==null&&typeof t=="object"}Rt.objectLiteral=TU});var iA=fe(Dp=>{"use strict";Object.defineProperty(Dp,"__esModule",{value:!0});Dp.ImplementationRequest=void 0;var rA=ft(),nA;(function(t){t.method="textDocument/implementation",t.messageDirection=rA.MessageDirection.clientToServer,t.type=new rA.ProtocolRequestType(t.method)})(nA||(Dp.ImplementationRequest=nA={}))});var aA=fe($p=>{"use strict";Object.defineProperty($p,"__esModule",{value:!0});$p.TypeDefinitionRequest=void 0;var oA=ft(),sA;(function(t){t.method="textDocument/typeDefinition",t.messageDirection=oA.MessageDirection.clientToServer,t.type=new oA.ProtocolRequestType(t.method)})(sA||($p.TypeDefinitionRequest=sA={}))});var uA=fe(Na=>{"use strict";Object.defineProperty(Na,"__esModule",{value:!0});Na.DidChangeWorkspaceFoldersNotification=Na.WorkspaceFoldersRequest=void 0;var Mp=ft(),cA;(function(t){t.method="workspace/workspaceFolders",t.messageDirection=Mp.MessageDirection.serverToClient,t.type=new Mp.ProtocolRequestType0(t.method)})(cA||(Na.WorkspaceFoldersRequest=cA={}));var lA;(function(t){t.method="workspace/didChangeWorkspaceFolders",t.messageDirection=Mp.MessageDirection.clientToServer,t.type=new Mp.ProtocolNotificationType(t.method)})(lA||(Na.DidChangeWorkspaceFoldersNotification=lA={}))});var pA=fe(Fp=>{"use strict";Object.defineProperty(Fp,"__esModule",{value:!0});Fp.ConfigurationRequest=void 0;var fA=ft(),dA;(function(t){t.method="workspace/configuration",t.messageDirection=fA.MessageDirection.serverToClient,t.type=new fA.ProtocolRequestType(t.method)})(dA||(Fp.ConfigurationRequest=dA={}))});var gA=fe(Ca=>{"use strict";Object.defineProperty(Ca,"__esModule",{value:!0});Ca.ColorPresentationRequest=Ca.DocumentColorRequest=void 0;var Up=ft(),hA;(function(t){t.method="textDocument/documentColor",t.messageDirection=Up.MessageDirection.clientToServer,t.type=new Up.ProtocolRequestType(t.method)})(hA||(Ca.DocumentColorRequest=hA={}));var mA;(function(t){t.method="textDocument/colorPresentation",t.messageDirection=Up.MessageDirection.clientToServer,t.type=new Up.ProtocolRequestType(t.method)})(mA||(Ca.ColorPresentationRequest=mA={}))});var TA=fe(Pa=>{"use strict";Object.defineProperty(Pa,"__esModule",{value:!0});Pa.FoldingRangeRefreshRequest=Pa.FoldingRangeRequest=void 0;var Bp=ft(),yA;(function(t){t.method="textDocument/foldingRange",t.messageDirection=Bp.MessageDirection.clientToServer,t.type=new Bp.ProtocolRequestType(t.method)})(yA||(Pa.FoldingRangeRequest=yA={}));var xA;(function(t){t.method="workspace/foldingRange/refresh",t.messageDirection=Bp.MessageDirection.serverToClient,t.type=new Bp.ProtocolRequestType0(t.method)})(xA||(Pa.FoldingRangeRefreshRequest=xA={}))});var vA=fe(Gp=>{"use strict";Object.defineProperty(Gp,"__esModule",{value:!0});Gp.DeclarationRequest=void 0;var _A=ft(),EA;(function(t){t.method="textDocument/declaration",t.messageDirection=_A.MessageDirection.clientToServer,t.type=new _A.ProtocolRequestType(t.method)})(EA||(Gp.DeclarationRequest=EA={}))});var bA=fe(Xp=>{"use strict";Object.defineProperty(Xp,"__esModule",{value:!0});Xp.SelectionRangeRequest=void 0;var wA=ft(),RA;(function(t){t.method="textDocument/selectionRange",t.messageDirection=wA.MessageDirection.clientToServer,t.type=new wA.ProtocolRequestType(t.method)})(RA||(Xp.SelectionRangeRequest=RA={}))});var kA=fe(Mi=>{"use strict";Object.defineProperty(Mi,"__esModule",{value:!0});Mi.WorkDoneProgressCancelNotification=Mi.WorkDoneProgressCreateRequest=Mi.WorkDoneProgress=void 0;var _U=zo(),Hp=ft(),AA;(function(t){t.type=new _U.ProgressType;function e(r){return r===t.type}t.is=e})(AA||(Mi.WorkDoneProgress=AA={}));var IA;(function(t){t.method="window/workDoneProgress/create",t.messageDirection=Hp.MessageDirection.serverToClient,t.type=new Hp.ProtocolRequestType(t.method)})(IA||(Mi.WorkDoneProgressCreateRequest=IA={}));var SA;(function(t){t.method="window/workDoneProgress/cancel",t.messageDirection=Hp.MessageDirection.clientToServer,t.type=new Hp.ProtocolNotificationType(t.method)})(SA||(Mi.WorkDoneProgressCancelNotification=SA={}))});var OA=fe(Fi=>{"use strict";Object.defineProperty(Fi,"__esModule",{value:!0});Fi.CallHierarchyOutgoingCallsRequest=Fi.CallHierarchyIncomingCallsRequest=Fi.CallHierarchyPrepareRequest=void 0;var Oa=ft(),NA;(function(t){t.method="textDocument/prepareCallHierarchy",t.messageDirection=Oa.MessageDirection.clientToServer,t.type=new Oa.ProtocolRequestType(t.method)})(NA||(Fi.CallHierarchyPrepareRequest=NA={}));var CA;(function(t){t.method="callHierarchy/incomingCalls",t.messageDirection=Oa.MessageDirection.clientToServer,t.type=new Oa.ProtocolRequestType(t.method)})(CA||(Fi.CallHierarchyIncomingCallsRequest=CA={}));var PA;(function(t){t.method="callHierarchy/outgoingCalls",t.messageDirection=Oa.MessageDirection.clientToServer,t.type=new Oa.ProtocolRequestType(t.method)})(PA||(Fi.CallHierarchyOutgoingCallsRequest=PA={}))});var UA=fe(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(),LA;(function(t){t.Relative="relative"})(LA||(or.TokenFormat=LA={}));var ru;(function(t){t.method="textDocument/semanticTokens",t.type=new zn.RegistrationType(t.method)})(ru||(or.SemanticTokensRegistrationType=ru={}));var DA;(function(t){t.method="textDocument/semanticTokens/full",t.messageDirection=zn.MessageDirection.clientToServer,t.type=new zn.ProtocolRequestType(t.method),t.registrationMethod=ru.method})(DA||(or.SemanticTokensRequest=DA={}));var $A;(function(t){t.method="textDocument/semanticTokens/full/delta",t.messageDirection=zn.MessageDirection.clientToServer,t.type=new zn.ProtocolRequestType(t.method),t.registrationMethod=ru.method})($A||(or.SemanticTokensDeltaRequest=$A={}));var MA;(function(t){t.method="textDocument/semanticTokens/range",t.messageDirection=zn.MessageDirection.clientToServer,t.type=new zn.ProtocolRequestType(t.method),t.registrationMethod=ru.method})(MA||(or.SemanticTokensRangeRequest=MA={}));var FA;(function(t){t.method="workspace/semanticTokens/refresh",t.messageDirection=zn.MessageDirection.serverToClient,t.type=new zn.ProtocolRequestType0(t.method)})(FA||(or.SemanticTokensRefreshRequest=FA={}))});var XA=fe(zp=>{"use strict";Object.defineProperty(zp,"__esModule",{value:!0});zp.ShowDocumentRequest=void 0;var BA=ft(),GA;(function(t){t.method="window/showDocument",t.messageDirection=BA.MessageDirection.serverToClient,t.type=new BA.ProtocolRequestType(t.method)})(GA||(zp.ShowDocumentRequest=GA={}))});var jA=fe(jp=>{"use strict";Object.defineProperty(jp,"__esModule",{value:!0});jp.LinkedEditingRangeRequest=void 0;var HA=ft(),zA;(function(t){t.method="textDocument/linkedEditingRange",t.messageDirection=HA.MessageDirection.clientToServer,t.type=new HA.ProtocolRequestType(t.method)})(zA||(jp.LinkedEditingRangeRequest=zA={}))});var QA=fe(Xt=>{"use strict";Object.defineProperty(Xt,"__esModule",{value:!0});Xt.WillDeleteFilesRequest=Xt.DidDeleteFilesNotification=Xt.DidRenameFilesNotification=Xt.WillRenameFilesRequest=Xt.DidCreateFilesNotification=Xt.WillCreateFilesRequest=Xt.FileOperationPatternKind=void 0;var br=ft(),qA;(function(t){t.file="file",t.folder="folder"})(qA||(Xt.FileOperationPatternKind=qA={}));var WA;(function(t){t.method="workspace/willCreateFiles",t.messageDirection=br.MessageDirection.clientToServer,t.type=new br.ProtocolRequestType(t.method)})(WA||(Xt.WillCreateFilesRequest=WA={}));var VA;(function(t){t.method="workspace/didCreateFiles",t.messageDirection=br.MessageDirection.clientToServer,t.type=new br.ProtocolNotificationType(t.method)})(VA||(Xt.DidCreateFilesNotification=VA={}));var YA;(function(t){t.method="workspace/willRenameFiles",t.messageDirection=br.MessageDirection.clientToServer,t.type=new br.ProtocolRequestType(t.method)})(YA||(Xt.WillRenameFilesRequest=YA={}));var KA;(function(t){t.method="workspace/didRenameFiles",t.messageDirection=br.MessageDirection.clientToServer,t.type=new br.ProtocolNotificationType(t.method)})(KA||(Xt.DidRenameFilesNotification=KA={}));var ZA;(function(t){t.method="workspace/didDeleteFiles",t.messageDirection=br.MessageDirection.clientToServer,t.type=new br.ProtocolNotificationType(t.method)})(ZA||(Xt.DidDeleteFilesNotification=ZA={}));var JA;(function(t){t.method="workspace/willDeleteFiles",t.messageDirection=br.MessageDirection.clientToServer,t.type=new br.ProtocolRequestType(t.method)})(JA||(Xt.WillDeleteFilesRequest=JA={}))});var iI=fe(Ui=>{"use strict";Object.defineProperty(Ui,"__esModule",{value:!0});Ui.MonikerRequest=Ui.MonikerKind=Ui.UniquenessLevel=void 0;var eI=ft(),tI;(function(t){t.document="document",t.project="project",t.group="group",t.scheme="scheme",t.global="global"})(tI||(Ui.UniquenessLevel=tI={}));var rI;(function(t){t.$import="import",t.$export="export",t.local="local"})(rI||(Ui.MonikerKind=rI={}));var nI;(function(t){t.method="textDocument/moniker",t.messageDirection=eI.MessageDirection.clientToServer,t.type=new eI.ProtocolRequestType(t.method)})(nI||(Ui.MonikerRequest=nI={}))});var cI=fe(Bi=>{"use strict";Object.defineProperty(Bi,"__esModule",{value:!0});Bi.TypeHierarchySubtypesRequest=Bi.TypeHierarchySupertypesRequest=Bi.TypeHierarchyPrepareRequest=void 0;var La=ft(),oI;(function(t){t.method="textDocument/prepareTypeHierarchy",t.messageDirection=La.MessageDirection.clientToServer,t.type=new La.ProtocolRequestType(t.method)})(oI||(Bi.TypeHierarchyPrepareRequest=oI={}));var sI;(function(t){t.method="typeHierarchy/supertypes",t.messageDirection=La.MessageDirection.clientToServer,t.type=new La.ProtocolRequestType(t.method)})(sI||(Bi.TypeHierarchySupertypesRequest=sI={}));var aI;(function(t){t.method="typeHierarchy/subtypes",t.messageDirection=La.MessageDirection.clientToServer,t.type=new La.ProtocolRequestType(t.method)})(aI||(Bi.TypeHierarchySubtypesRequest=aI={}))});var fI=fe(Da=>{"use strict";Object.defineProperty(Da,"__esModule",{value:!0});Da.InlineValueRefreshRequest=Da.InlineValueRequest=void 0;var qp=ft(),lI;(function(t){t.method="textDocument/inlineValue",t.messageDirection=qp.MessageDirection.clientToServer,t.type=new qp.ProtocolRequestType(t.method)})(lI||(Da.InlineValueRequest=lI={}));var uI;(function(t){t.method="workspace/inlineValue/refresh",t.messageDirection=qp.MessageDirection.serverToClient,t.type=new qp.ProtocolRequestType0(t.method)})(uI||(Da.InlineValueRefreshRequest=uI={}))});var mI=fe(Gi=>{"use strict";Object.defineProperty(Gi,"__esModule",{value:!0});Gi.InlayHintRefreshRequest=Gi.InlayHintResolveRequest=Gi.InlayHintRequest=void 0;var $a=ft(),dI;(function(t){t.method="textDocument/inlayHint",t.messageDirection=$a.MessageDirection.clientToServer,t.type=new $a.ProtocolRequestType(t.method)})(dI||(Gi.InlayHintRequest=dI={}));var pI;(function(t){t.method="inlayHint/resolve",t.messageDirection=$a.MessageDirection.clientToServer,t.type=new $a.ProtocolRequestType(t.method)})(pI||(Gi.InlayHintResolveRequest=pI={}));var hI;(function(t){t.method="workspace/inlayHint/refresh",t.messageDirection=$a.MessageDirection.serverToClient,t.type=new $a.ProtocolRequestType0(t.method)})(hI||(Gi.InlayHintRefreshRequest=hI={}))});var vI=fe(Ar=>{"use strict";Object.defineProperty(Ar,"__esModule",{value:!0});Ar.DiagnosticRefreshRequest=Ar.WorkspaceDiagnosticRequest=Ar.DocumentDiagnosticRequest=Ar.DocumentDiagnosticReportKind=Ar.DiagnosticServerCancellationData=void 0;var EI=zo(),EU=Lp(),Ma=ft(),gI;(function(t){function e(r){let n=r;return n&&EU.boolean(n.retriggerRequest)}t.is=e})(gI||(Ar.DiagnosticServerCancellationData=gI={}));var yI;(function(t){t.Full="full",t.Unchanged="unchanged"})(yI||(Ar.DocumentDiagnosticReportKind=yI={}));var xI;(function(t){t.method="textDocument/diagnostic",t.messageDirection=Ma.MessageDirection.clientToServer,t.type=new Ma.ProtocolRequestType(t.method),t.partialResult=new EI.ProgressType})(xI||(Ar.DocumentDiagnosticRequest=xI={}));var TI;(function(t){t.method="workspace/diagnostic",t.messageDirection=Ma.MessageDirection.clientToServer,t.type=new Ma.ProtocolRequestType(t.method),t.partialResult=new EI.ProgressType})(TI||(Ar.WorkspaceDiagnosticRequest=TI={}));var _I;(function(t){t.method="workspace/diagnostic/refresh",t.messageDirection=Ma.MessageDirection.serverToClient,t.type=new Ma.ProtocolRequestType0(t.method)})(_I||(Ar.DiagnosticRefreshRequest=_I={}))});var kI=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 nu=(ua(),hf(rp)),jr=Lp(),gn=ft(),FT;(function(t){t.Markup=1,t.Code=2;function e(r){return r===1||r===2}t.is=e})(FT||(xt.NotebookCellKind=FT={}));var UT;(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 jr.objectLiteral(o)&&nu.uinteger.is(o.executionOrder)&&(o.success===void 0||jr.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})(UT||(xt.ExecutionSummary=UT={}));var Wp;(function(t){function e(o,s){return{kind:o,document:s}}t.create=e;function r(o){let s=o;return jr.objectLiteral(s)&&FT.is(s.kind)&&nu.DocumentUri.is(s.document)&&(s.metadata===void 0||jr.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)&&!UT.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(jr.objectLiteral(o)&&jr.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}})(Wp||(xt.NotebookCell=Wp={}));var wI;(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 jr.objectLiteral(i)&&jr.string(i.uri)&&nu.integer.is(i.version)&&jr.typedArray(i.cells,Wp.is)}t.is=r})(wI||(xt.NotebookDocument=wI={}));var Fa;(function(t){t.method="notebookDocument/sync",t.messageDirection=gn.MessageDirection.clientToServer,t.type=new gn.RegistrationType(t.method)})(Fa||(xt.NotebookDocumentSyncRegistrationType=Fa={}));var RI;(function(t){t.method="notebookDocument/didOpen",t.messageDirection=gn.MessageDirection.clientToServer,t.type=new gn.ProtocolNotificationType(t.method),t.registrationMethod=Fa.method})(RI||(xt.DidOpenNotebookDocumentNotification=RI={}));var bI;(function(t){function e(n){let i=n;return jr.objectLiteral(i)&&nu.uinteger.is(i.start)&&nu.uinteger.is(i.deleteCount)&&(i.cells===void 0||jr.typedArray(i.cells,Wp.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})(bI||(xt.NotebookCellArrayChange=bI={}));var AI;(function(t){t.method="notebookDocument/didChange",t.messageDirection=gn.MessageDirection.clientToServer,t.type=new gn.ProtocolNotificationType(t.method),t.registrationMethod=Fa.method})(AI||(xt.DidChangeNotebookDocumentNotification=AI={}));var II;(function(t){t.method="notebookDocument/didSave",t.messageDirection=gn.MessageDirection.clientToServer,t.type=new gn.ProtocolNotificationType(t.method),t.registrationMethod=Fa.method})(II||(xt.DidSaveNotebookDocumentNotification=II={}));var SI;(function(t){t.method="notebookDocument/didClose",t.messageDirection=gn.MessageDirection.clientToServer,t.type=new gn.ProtocolNotificationType(t.method),t.registrationMethod=Fa.method})(SI||(xt.DidCloseNotebookDocumentNotification=SI={}))});var PI=fe(Vp=>{"use strict";Object.defineProperty(Vp,"__esModule",{value:!0});Vp.InlineCompletionRequest=void 0;var NI=ft(),CI;(function(t){t.method="textDocument/inlineCompletion",t.messageDirection=NI.MessageDirection.clientToServer,t.type=new NI.ProtocolRequestType(t.method)})(CI||(Vp.InlineCompletionRequest=CI={}))});var jS=fe(g=>{"use strict";Object.defineProperty(g,"__esModule",{value:!0});g.WorkspaceSymbolRequest=g.CodeActionResolveRequest=g.CodeActionRequest=g.DocumentSymbolRequest=g.DocumentHighlightRequest=g.ReferencesRequest=g.DefinitionRequest=g.SignatureHelpRequest=g.SignatureHelpTriggerKind=g.HoverRequest=g.CompletionResolveRequest=g.CompletionRequest=g.CompletionTriggerKind=g.PublishDiagnosticsNotification=g.WatchKind=g.RelativePattern=g.FileChangeType=g.DidChangeWatchedFilesNotification=g.WillSaveTextDocumentWaitUntilRequest=g.WillSaveTextDocumentNotification=g.TextDocumentSaveReason=g.DidSaveTextDocumentNotification=g.DidCloseTextDocumentNotification=g.DidChangeTextDocumentNotification=g.TextDocumentContentChangeEvent=g.DidOpenTextDocumentNotification=g.TextDocumentSyncKind=g.TelemetryEventNotification=g.LogMessageNotification=g.ShowMessageRequest=g.ShowMessageNotification=g.MessageType=g.DidChangeConfigurationNotification=g.ExitNotification=g.ShutdownRequest=g.InitializedNotification=g.InitializeErrorCodes=g.InitializeRequest=g.WorkDoneProgressOptions=g.TextDocumentRegistrationOptions=g.StaticRegistrationOptions=g.PositionEncodingKind=g.FailureHandlingKind=g.ResourceOperationKind=g.UnregistrationRequest=g.RegistrationRequest=g.DocumentSelector=g.NotebookCellTextDocumentFilter=g.NotebookDocumentFilter=g.TextDocumentFilter=void 0;g.MonikerRequest=g.MonikerKind=g.UniquenessLevel=g.WillDeleteFilesRequest=g.DidDeleteFilesNotification=g.WillRenameFilesRequest=g.DidRenameFilesNotification=g.WillCreateFilesRequest=g.DidCreateFilesNotification=g.FileOperationPatternKind=g.LinkedEditingRangeRequest=g.ShowDocumentRequest=g.SemanticTokensRegistrationType=g.SemanticTokensRefreshRequest=g.SemanticTokensRangeRequest=g.SemanticTokensDeltaRequest=g.SemanticTokensRequest=g.TokenFormat=g.CallHierarchyPrepareRequest=g.CallHierarchyOutgoingCallsRequest=g.CallHierarchyIncomingCallsRequest=g.WorkDoneProgressCancelNotification=g.WorkDoneProgressCreateRequest=g.WorkDoneProgress=g.SelectionRangeRequest=g.DeclarationRequest=g.FoldingRangeRefreshRequest=g.FoldingRangeRequest=g.ColorPresentationRequest=g.DocumentColorRequest=g.ConfigurationRequest=g.DidChangeWorkspaceFoldersNotification=g.WorkspaceFoldersRequest=g.TypeDefinitionRequest=g.ImplementationRequest=g.ApplyWorkspaceEditRequest=g.ExecuteCommandRequest=g.PrepareRenameRequest=g.RenameRequest=g.PrepareSupportDefaultBehavior=g.DocumentOnTypeFormattingRequest=g.DocumentRangesFormattingRequest=g.DocumentRangeFormattingRequest=g.DocumentFormattingRequest=g.DocumentLinkResolveRequest=g.DocumentLinkRequest=g.CodeLensRefreshRequest=g.CodeLensResolveRequest=g.CodeLensRequest=g.WorkspaceSymbolResolveRequest=void 0;g.InlineCompletionRequest=g.DidCloseNotebookDocumentNotification=g.DidSaveNotebookDocumentNotification=g.DidChangeNotebookDocumentNotification=g.NotebookCellArrayChange=g.DidOpenNotebookDocumentNotification=g.NotebookDocumentSyncRegistrationType=g.NotebookDocument=g.NotebookCell=g.ExecutionSummary=g.NotebookCellKind=g.DiagnosticRefreshRequest=g.WorkspaceDiagnosticRequest=g.DocumentDiagnosticRequest=g.DocumentDiagnosticReportKind=g.DiagnosticServerCancellationData=g.InlayHintRefreshRequest=g.InlayHintResolveRequest=g.InlayHintRequest=g.InlineValueRefreshRequest=g.InlineValueRequest=g.TypeHierarchySupertypesRequest=g.TypeHierarchySubtypesRequest=g.TypeHierarchyPrepareRequest=void 0;var H=ft(),OI=(ua(),hf(rp)),Pt=Lp(),vU=iA();Object.defineProperty(g,"ImplementationRequest",{enumerable:!0,get:function(){return vU.ImplementationRequest}});var wU=aA();Object.defineProperty(g,"TypeDefinitionRequest",{enumerable:!0,get:function(){return wU.TypeDefinitionRequest}});var GS=uA();Object.defineProperty(g,"WorkspaceFoldersRequest",{enumerable:!0,get:function(){return GS.WorkspaceFoldersRequest}});Object.defineProperty(g,"DidChangeWorkspaceFoldersNotification",{enumerable:!0,get:function(){return GS.DidChangeWorkspaceFoldersNotification}});var RU=pA();Object.defineProperty(g,"ConfigurationRequest",{enumerable:!0,get:function(){return RU.ConfigurationRequest}});var XS=gA();Object.defineProperty(g,"DocumentColorRequest",{enumerable:!0,get:function(){return XS.DocumentColorRequest}});Object.defineProperty(g,"ColorPresentationRequest",{enumerable:!0,get:function(){return XS.ColorPresentationRequest}});var HS=TA();Object.defineProperty(g,"FoldingRangeRequest",{enumerable:!0,get:function(){return HS.FoldingRangeRequest}});Object.defineProperty(g,"FoldingRangeRefreshRequest",{enumerable:!0,get:function(){return HS.FoldingRangeRefreshRequest}});var bU=vA();Object.defineProperty(g,"DeclarationRequest",{enumerable:!0,get:function(){return bU.DeclarationRequest}});var AU=bA();Object.defineProperty(g,"SelectionRangeRequest",{enumerable:!0,get:function(){return AU.SelectionRangeRequest}});var zT=kA();Object.defineProperty(g,"WorkDoneProgress",{enumerable:!0,get:function(){return zT.WorkDoneProgress}});Object.defineProperty(g,"WorkDoneProgressCreateRequest",{enumerable:!0,get:function(){return zT.WorkDoneProgressCreateRequest}});Object.defineProperty(g,"WorkDoneProgressCancelNotification",{enumerable:!0,get:function(){return zT.WorkDoneProgressCancelNotification}});var jT=OA();Object.defineProperty(g,"CallHierarchyIncomingCallsRequest",{enumerable:!0,get:function(){return jT.CallHierarchyIncomingCallsRequest}});Object.defineProperty(g,"CallHierarchyOutgoingCallsRequest",{enumerable:!0,get:function(){return jT.CallHierarchyOutgoingCallsRequest}});Object.defineProperty(g,"CallHierarchyPrepareRequest",{enumerable:!0,get:function(){return jT.CallHierarchyPrepareRequest}});var Ua=UA();Object.defineProperty(g,"TokenFormat",{enumerable:!0,get:function(){return Ua.TokenFormat}});Object.defineProperty(g,"SemanticTokensRequest",{enumerable:!0,get:function(){return Ua.SemanticTokensRequest}});Object.defineProperty(g,"SemanticTokensDeltaRequest",{enumerable:!0,get:function(){return Ua.SemanticTokensDeltaRequest}});Object.defineProperty(g,"SemanticTokensRangeRequest",{enumerable:!0,get:function(){return Ua.SemanticTokensRangeRequest}});Object.defineProperty(g,"SemanticTokensRefreshRequest",{enumerable:!0,get:function(){return Ua.SemanticTokensRefreshRequest}});Object.defineProperty(g,"SemanticTokensRegistrationType",{enumerable:!0,get:function(){return Ua.SemanticTokensRegistrationType}});var IU=XA();Object.defineProperty(g,"ShowDocumentRequest",{enumerable:!0,get:function(){return IU.ShowDocumentRequest}});var SU=jA();Object.defineProperty(g,"LinkedEditingRangeRequest",{enumerable:!0,get:function(){return SU.LinkedEditingRangeRequest}});var jo=QA();Object.defineProperty(g,"FileOperationPatternKind",{enumerable:!0,get:function(){return jo.FileOperationPatternKind}});Object.defineProperty(g,"DidCreateFilesNotification",{enumerable:!0,get:function(){return jo.DidCreateFilesNotification}});Object.defineProperty(g,"WillCreateFilesRequest",{enumerable:!0,get:function(){return jo.WillCreateFilesRequest}});Object.defineProperty(g,"DidRenameFilesNotification",{enumerable:!0,get:function(){return jo.DidRenameFilesNotification}});Object.defineProperty(g,"WillRenameFilesRequest",{enumerable:!0,get:function(){return jo.WillRenameFilesRequest}});Object.defineProperty(g,"DidDeleteFilesNotification",{enumerable:!0,get:function(){return jo.DidDeleteFilesNotification}});Object.defineProperty(g,"WillDeleteFilesRequest",{enumerable:!0,get:function(){return jo.WillDeleteFilesRequest}});var qT=iI();Object.defineProperty(g,"UniquenessLevel",{enumerable:!0,get:function(){return qT.UniquenessLevel}});Object.defineProperty(g,"MonikerKind",{enumerable:!0,get:function(){return qT.MonikerKind}});Object.defineProperty(g,"MonikerRequest",{enumerable:!0,get:function(){return qT.MonikerRequest}});var WT=cI();Object.defineProperty(g,"TypeHierarchyPrepareRequest",{enumerable:!0,get:function(){return WT.TypeHierarchyPrepareRequest}});Object.defineProperty(g,"TypeHierarchySubtypesRequest",{enumerable:!0,get:function(){return WT.TypeHierarchySubtypesRequest}});Object.defineProperty(g,"TypeHierarchySupertypesRequest",{enumerable:!0,get:function(){return WT.TypeHierarchySupertypesRequest}});var zS=fI();Object.defineProperty(g,"InlineValueRequest",{enumerable:!0,get:function(){return zS.InlineValueRequest}});Object.defineProperty(g,"InlineValueRefreshRequest",{enumerable:!0,get:function(){return zS.InlineValueRefreshRequest}});var VT=mI();Object.defineProperty(g,"InlayHintRequest",{enumerable:!0,get:function(){return VT.InlayHintRequest}});Object.defineProperty(g,"InlayHintResolveRequest",{enumerable:!0,get:function(){return VT.InlayHintResolveRequest}});Object.defineProperty(g,"InlayHintRefreshRequest",{enumerable:!0,get:function(){return VT.InlayHintRefreshRequest}});var iu=vI();Object.defineProperty(g,"DiagnosticServerCancellationData",{enumerable:!0,get:function(){return iu.DiagnosticServerCancellationData}});Object.defineProperty(g,"DocumentDiagnosticReportKind",{enumerable:!0,get:function(){return iu.DocumentDiagnosticReportKind}});Object.defineProperty(g,"DocumentDiagnosticRequest",{enumerable:!0,get:function(){return iu.DocumentDiagnosticRequest}});Object.defineProperty(g,"WorkspaceDiagnosticRequest",{enumerable:!0,get:function(){return iu.WorkspaceDiagnosticRequest}});Object.defineProperty(g,"DiagnosticRefreshRequest",{enumerable:!0,get:function(){return iu.DiagnosticRefreshRequest}});var yn=kI();Object.defineProperty(g,"NotebookCellKind",{enumerable:!0,get:function(){return yn.NotebookCellKind}});Object.defineProperty(g,"ExecutionSummary",{enumerable:!0,get:function(){return yn.ExecutionSummary}});Object.defineProperty(g,"NotebookCell",{enumerable:!0,get:function(){return yn.NotebookCell}});Object.defineProperty(g,"NotebookDocument",{enumerable:!0,get:function(){return yn.NotebookDocument}});Object.defineProperty(g,"NotebookDocumentSyncRegistrationType",{enumerable:!0,get:function(){return yn.NotebookDocumentSyncRegistrationType}});Object.defineProperty(g,"DidOpenNotebookDocumentNotification",{enumerable:!0,get:function(){return yn.DidOpenNotebookDocumentNotification}});Object.defineProperty(g,"NotebookCellArrayChange",{enumerable:!0,get:function(){return yn.NotebookCellArrayChange}});Object.defineProperty(g,"DidChangeNotebookDocumentNotification",{enumerable:!0,get:function(){return yn.DidChangeNotebookDocumentNotification}});Object.defineProperty(g,"DidSaveNotebookDocumentNotification",{enumerable:!0,get:function(){return yn.DidSaveNotebookDocumentNotification}});Object.defineProperty(g,"DidCloseNotebookDocumentNotification",{enumerable:!0,get:function(){return yn.DidCloseNotebookDocumentNotification}});var kU=PI();Object.defineProperty(g,"InlineCompletionRequest",{enumerable:!0,get:function(){return kU.InlineCompletionRequest}});var BT;(function(t){function e(r){let n=r;return Pt.string(n)||Pt.string(n.language)||Pt.string(n.scheme)||Pt.string(n.pattern)}t.is=e})(BT||(g.TextDocumentFilter=BT={}));var GT;(function(t){function e(r){let n=r;return Pt.objectLiteral(n)&&(Pt.string(n.notebookType)||Pt.string(n.scheme)||Pt.string(n.pattern))}t.is=e})(GT||(g.NotebookDocumentFilter=GT={}));var XT;(function(t){function e(r){let n=r;return Pt.objectLiteral(n)&&(Pt.string(n.notebook)||GT.is(n.notebook))&&(n.language===void 0||Pt.string(n.language))}t.is=e})(XT||(g.NotebookCellTextDocumentFilter=XT={}));var HT;(function(t){function e(r){if(!Array.isArray(r))return!1;for(let n of r)if(!Pt.string(n)&&!BT.is(n)&&!XT.is(n))return!1;return!0}t.is=e})(HT||(g.DocumentSelector=HT={}));var LI;(function(t){t.method="client/registerCapability",t.messageDirection=H.MessageDirection.serverToClient,t.type=new H.ProtocolRequestType(t.method)})(LI||(g.RegistrationRequest=LI={}));var DI;(function(t){t.method="client/unregisterCapability",t.messageDirection=H.MessageDirection.serverToClient,t.type=new H.ProtocolRequestType(t.method)})(DI||(g.UnregistrationRequest=DI={}));var $I;(function(t){t.Create="create",t.Rename="rename",t.Delete="delete"})($I||(g.ResourceOperationKind=$I={}));var MI;(function(t){t.Abort="abort",t.Transactional="transactional",t.TextOnlyTransactional="textOnlyTransactional",t.Undo="undo"})(MI||(g.FailureHandlingKind=MI={}));var FI;(function(t){t.UTF8="utf-8",t.UTF16="utf-16",t.UTF32="utf-32"})(FI||(g.PositionEncodingKind=FI={}));var UI;(function(t){function e(r){let n=r;return n&&Pt.string(n.id)&&n.id.length>0}t.hasId=e})(UI||(g.StaticRegistrationOptions=UI={}));var BI;(function(t){function e(r){let n=r;return n&&(n.documentSelector===null||HT.is(n.documentSelector))}t.is=e})(BI||(g.TextDocumentRegistrationOptions=BI={}));var GI;(function(t){function e(n){let i=n;return Pt.objectLiteral(i)&&(i.workDoneProgress===void 0||Pt.boolean(i.workDoneProgress))}t.is=e;function r(n){let i=n;return i&&Pt.boolean(i.workDoneProgress)}t.hasWorkDoneProgress=r})(GI||(g.WorkDoneProgressOptions=GI={}));var XI;(function(t){t.method="initialize",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolRequestType(t.method)})(XI||(g.InitializeRequest=XI={}));var HI;(function(t){t.unknownProtocolVersion=1})(HI||(g.InitializeErrorCodes=HI={}));var zI;(function(t){t.method="initialized",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolNotificationType(t.method)})(zI||(g.InitializedNotification=zI={}));var jI;(function(t){t.method="shutdown",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolRequestType0(t.method)})(jI||(g.ShutdownRequest=jI={}));var qI;(function(t){t.method="exit",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolNotificationType0(t.method)})(qI||(g.ExitNotification=qI={}));var WI;(function(t){t.method="workspace/didChangeConfiguration",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolNotificationType(t.method)})(WI||(g.DidChangeConfigurationNotification=WI={}));var VI;(function(t){t.Error=1,t.Warning=2,t.Info=3,t.Log=4,t.Debug=5})(VI||(g.MessageType=VI={}));var YI;(function(t){t.method="window/showMessage",t.messageDirection=H.MessageDirection.serverToClient,t.type=new H.ProtocolNotificationType(t.method)})(YI||(g.ShowMessageNotification=YI={}));var KI;(function(t){t.method="window/showMessageRequest",t.messageDirection=H.MessageDirection.serverToClient,t.type=new H.ProtocolRequestType(t.method)})(KI||(g.ShowMessageRequest=KI={}));var ZI;(function(t){t.method="window/logMessage",t.messageDirection=H.MessageDirection.serverToClient,t.type=new H.ProtocolNotificationType(t.method)})(ZI||(g.LogMessageNotification=ZI={}));var JI;(function(t){t.method="telemetry/event",t.messageDirection=H.MessageDirection.serverToClient,t.type=new H.ProtocolNotificationType(t.method)})(JI||(g.TelemetryEventNotification=JI={}));var QI;(function(t){t.None=0,t.Full=1,t.Incremental=2})(QI||(g.TextDocumentSyncKind=QI={}));var eS;(function(t){t.method="textDocument/didOpen",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolNotificationType(t.method)})(eS||(g.DidOpenTextDocumentNotification=eS={}));var tS;(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})(tS||(g.TextDocumentContentChangeEvent=tS={}));var rS;(function(t){t.method="textDocument/didChange",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolNotificationType(t.method)})(rS||(g.DidChangeTextDocumentNotification=rS={}));var nS;(function(t){t.method="textDocument/didClose",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolNotificationType(t.method)})(nS||(g.DidCloseTextDocumentNotification=nS={}));var iS;(function(t){t.method="textDocument/didSave",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolNotificationType(t.method)})(iS||(g.DidSaveTextDocumentNotification=iS={}));var oS;(function(t){t.Manual=1,t.AfterDelay=2,t.FocusOut=3})(oS||(g.TextDocumentSaveReason=oS={}));var sS;(function(t){t.method="textDocument/willSave",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolNotificationType(t.method)})(sS||(g.WillSaveTextDocumentNotification=sS={}));var aS;(function(t){t.method="textDocument/willSaveWaitUntil",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolRequestType(t.method)})(aS||(g.WillSaveTextDocumentWaitUntilRequest=aS={}));var cS;(function(t){t.method="workspace/didChangeWatchedFiles",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolNotificationType(t.method)})(cS||(g.DidChangeWatchedFilesNotification=cS={}));var lS;(function(t){t.Created=1,t.Changed=2,t.Deleted=3})(lS||(g.FileChangeType=lS={}));var uS;(function(t){function e(r){let n=r;return Pt.objectLiteral(n)&&(OI.URI.is(n.baseUri)||OI.WorkspaceFolder.is(n.baseUri))&&Pt.string(n.pattern)}t.is=e})(uS||(g.RelativePattern=uS={}));var fS;(function(t){t.Create=1,t.Change=2,t.Delete=4})(fS||(g.WatchKind=fS={}));var dS;(function(t){t.method="textDocument/publishDiagnostics",t.messageDirection=H.MessageDirection.serverToClient,t.type=new H.ProtocolNotificationType(t.method)})(dS||(g.PublishDiagnosticsNotification=dS={}));var pS;(function(t){t.Invoked=1,t.TriggerCharacter=2,t.TriggerForIncompleteCompletions=3})(pS||(g.CompletionTriggerKind=pS={}));var hS;(function(t){t.method="textDocument/completion",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolRequestType(t.method)})(hS||(g.CompletionRequest=hS={}));var mS;(function(t){t.method="completionItem/resolve",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolRequestType(t.method)})(mS||(g.CompletionResolveRequest=mS={}));var gS;(function(t){t.method="textDocument/hover",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolRequestType(t.method)})(gS||(g.HoverRequest=gS={}));var yS;(function(t){t.Invoked=1,t.TriggerCharacter=2,t.ContentChange=3})(yS||(g.SignatureHelpTriggerKind=yS={}));var xS;(function(t){t.method="textDocument/signatureHelp",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolRequestType(t.method)})(xS||(g.SignatureHelpRequest=xS={}));var TS;(function(t){t.method="textDocument/definition",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolRequestType(t.method)})(TS||(g.DefinitionRequest=TS={}));var _S;(function(t){t.method="textDocument/references",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolRequestType(t.method)})(_S||(g.ReferencesRequest=_S={}));var ES;(function(t){t.method="textDocument/documentHighlight",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolRequestType(t.method)})(ES||(g.DocumentHighlightRequest=ES={}));var vS;(function(t){t.method="textDocument/documentSymbol",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolRequestType(t.method)})(vS||(g.DocumentSymbolRequest=vS={}));var wS;(function(t){t.method="textDocument/codeAction",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolRequestType(t.method)})(wS||(g.CodeActionRequest=wS={}));var RS;(function(t){t.method="codeAction/resolve",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolRequestType(t.method)})(RS||(g.CodeActionResolveRequest=RS={}));var bS;(function(t){t.method="workspace/symbol",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolRequestType(t.method)})(bS||(g.WorkspaceSymbolRequest=bS={}));var AS;(function(t){t.method="workspaceSymbol/resolve",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolRequestType(t.method)})(AS||(g.WorkspaceSymbolResolveRequest=AS={}));var IS;(function(t){t.method="textDocument/codeLens",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolRequestType(t.method)})(IS||(g.CodeLensRequest=IS={}));var SS;(function(t){t.method="codeLens/resolve",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolRequestType(t.method)})(SS||(g.CodeLensResolveRequest=SS={}));var kS;(function(t){t.method="workspace/codeLens/refresh",t.messageDirection=H.MessageDirection.serverToClient,t.type=new H.ProtocolRequestType0(t.method)})(kS||(g.CodeLensRefreshRequest=kS={}));var NS;(function(t){t.method="textDocument/documentLink",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolRequestType(t.method)})(NS||(g.DocumentLinkRequest=NS={}));var CS;(function(t){t.method="documentLink/resolve",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolRequestType(t.method)})(CS||(g.DocumentLinkResolveRequest=CS={}));var PS;(function(t){t.method="textDocument/formatting",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolRequestType(t.method)})(PS||(g.DocumentFormattingRequest=PS={}));var OS;(function(t){t.method="textDocument/rangeFormatting",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolRequestType(t.method)})(OS||(g.DocumentRangeFormattingRequest=OS={}));var LS;(function(t){t.method="textDocument/rangesFormatting",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolRequestType(t.method)})(LS||(g.DocumentRangesFormattingRequest=LS={}));var DS;(function(t){t.method="textDocument/onTypeFormatting",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolRequestType(t.method)})(DS||(g.DocumentOnTypeFormattingRequest=DS={}));var $S;(function(t){t.Identifier=1})($S||(g.PrepareSupportDefaultBehavior=$S={}));var MS;(function(t){t.method="textDocument/rename",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolRequestType(t.method)})(MS||(g.RenameRequest=MS={}));var FS;(function(t){t.method="textDocument/prepareRename",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolRequestType(t.method)})(FS||(g.PrepareRenameRequest=FS={}));var US;(function(t){t.method="workspace/executeCommand",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolRequestType(t.method)})(US||(g.ExecuteCommandRequest=US={}));var BS;(function(t){t.method="workspace/applyEdit",t.messageDirection=H.MessageDirection.serverToClient,t.type=new H.ProtocolRequestType("workspace/applyEdit")})(BS||(g.ApplyWorkspaceEditRequest=BS={}))});var WS=fe(Yp=>{"use strict";Object.defineProperty(Yp,"__esModule",{value:!0});Yp.createProtocolConnection=void 0;var qS=zo();function NU(t,e,r,n){return qS.ConnectionStrategy.is(n)&&(n={connectionStrategy:n}),(0,qS.createMessageConnection)(t,e,r,n)}Yp.createProtocolConnection=NU});var YS=fe(sr=>{"use strict";var CU=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]})),Kp=sr&&sr.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&CU(e,t,r)};Object.defineProperty(sr,"__esModule",{value:!0});sr.LSPErrorCodes=sr.createProtocolConnection=void 0;Kp(zo(),sr);Kp((ua(),hf(rp)),sr);Kp(ft(),sr);Kp(jS(),sr);var PU=WS();Object.defineProperty(sr,"createProtocolConnection",{enumerable:!0,get:function(){return PU.createProtocolConnection}});var VS;(function(t){t.lspReservedErrorRangeStart=-32899,t.RequestFailed=-32803,t.ServerCancelled=-32802,t.ContentModified=-32801,t.RequestCancelled=-32800,t.lspReservedErrorRangeEnd=-32800})(VS||(sr.LSPErrorCodes=VS={}))});var ZS=fe(xn=>{"use strict";var OU=xn&&xn.__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]})),KS=xn&&xn.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&OU(e,t,r)};Object.defineProperty(xn,"__esModule",{value:!0});xn.createProtocolConnection=void 0;var LU=PT();KS(PT(),xn);KS(YS(),xn);function DU(t,e,r,n){return(0,LU.createMessageConnection)(t,e,r,n)}xn.createProtocolConnection=DU});var Rk={};rn(Rk,{nodeReadFile:()=>nB});async function nB(){throw new Error("nowline: filesystem readers are unavailable in the browser embed")}var bk=u0(()=>{});var wH={};rn(wH,{EmbedRenderError:()=>sf,__resetForTests:()=>vH,init:()=>a0,initialize:()=>xH,parse:()=>_H,render:()=>TH,run:()=>EH,sha:()=>gH,version:()=>mH});var rO=new Set(["none","multiplier","person","people","points","time"]),nO=/^\d+$/,iO=/^\d+\.\d+$/,oO=/^\d+(?:\.\d+)?%$/;function oi(t){if(!t)return null;if(nO.test(t)){let e=parseInt(t,10);return e>0?e:null}if(iO.test(t)){let e=parseFloat(t);return Number.isFinite(e)&&e>0?e:null}if(oO.test(t)){let e=parseFloat(t.slice(0,-1))/100;return Number.isFinite(e)&&e>0?e:null}return null}function Ic(t){if(Number.isInteger(t))return String(t);let e=t.toFixed(6);return e=e.replace(/0+$/,""),e=e.replace(/\.$/,""),e}function sO(t){return t.key.endsWith(":")?t.key.slice(0,-1):t.key}function aO(t){for(let e of t.properties)if(sO(e)==="unicode"&&e.value)return e.value}function Sc(t,e){if(t==="none")return null;if(rO.has(t))return{kind:"builtin",name:t};let r=e.get(t);return r?{kind:"literal",text:aO(r)??t}:{kind:"literal",text:t}}function to(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 kc(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 Nc(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 vm(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}}var f0="lexing-error",d0="parsing-error";function p0(t){if(!t||typeof t!="object")return!1;let e=t.code;return e===f0||e===d0}function wm(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;p0(n.data)||e.push({origin:"validation",diagnostic:n})}return e}var cO=/did you mean ['"]?([^'"?]+)['"]?\??/i;function Rm(t){let e=t.match(cO);return e?e[1].trim():void 0}function h0(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 m0(t){if(!t||typeof t!="object")return;let e=t;if(typeof e.code=="string"&&Array.isArray(e.args))return e.code}function bm(t){let e=m0(t.data);return e||(typeof t.code=="string"&&t.code!==""?t.code:typeof t.code=="number"?String(t.code):h0(t.message))}var ut={};rn(ut,{AbstractAstReflection:()=>ro,AbstractCstNode:()=>Sl,AbstractLangiumParser:()=>kl,AbstractParserErrorMessageProvider:()=>ip,AbstractThreadedAsyncParser:()=>r_,AstUtils:()=>yf,BiMap:()=>Bo,Cancellation:()=>ie,CompositeCstNodeImpl:()=>Do,ContextCache:()=>Go,CstNodeBuilder:()=>Il,CstUtils:()=>Mf,DEFAULT_TOKENIZE_OPTIONS:()=>Zp,DONE_RESULT:()=>$t,DatatypeSymbol:()=>np,DefaultAstNodeDescriptionProvider:()=>ql,DefaultAstNodeLocator:()=>Vl,DefaultAsyncParser:()=>pu,DefaultCommentProvider:()=>du,DefaultConfigurationProvider:()=>Yl,DefaultDocumentBuilder:()=>ou,DefaultDocumentValidator:()=>jl,DefaultHydrator:()=>mu,DefaultIndexManager:()=>su,DefaultJsonSerializer:()=>Xl,DefaultLangiumDocumentFactory:()=>Ol,DefaultLangiumDocuments:()=>Ll,DefaultLangiumProfiler:()=>s_,DefaultLexer:()=>qo,DefaultLexerErrorMessageProvider:()=>cu,DefaultLinker:()=>Dl,DefaultNameProvider:()=>$l,DefaultReferenceDescriptionProvider:()=>Wl,DefaultReferences:()=>Ml,DefaultScopeComputation:()=>Fl,DefaultScopeProvider:()=>Gl,DefaultServiceRegistry:()=>Hl,DefaultTokenBuilder:()=>Mo,DefaultValueConverter:()=>Fo,DefaultWorkspaceLock:()=>hu,DefaultWorkspaceManager:()=>au,Deferred:()=>Zt,Disposable:()=>Xi,DisposableCache:()=>Ta,DocumentCache:()=>pp,DocumentState:()=>ye,DocumentValidator:()=>Rr,EMPTY_SCOPE:()=>B2,EMPTY_STREAM:()=>ai,EmptyFileSystem:()=>_u,EmptyFileSystemProvider:()=>th,ErrorWithLocation:()=>xo,GrammarAST:()=>Hc,GrammarUtils:()=>ks,IndentationAwareLexer:()=>Tu,IndentationAwareTokenBuilder:()=>Ga,JSDocDocumentationProvider:()=>fu,LangiumCompletionParser:()=>Cl,LangiumParser:()=>Nl,LangiumParserErrorMessageProvider:()=>da,LeafCstNodeImpl:()=>Lo,LexingMode:()=>Vo,MapScope:()=>vx,Module:()=>i_,MultiMap:()=>Ut,MultiMapScope:()=>Ul,OperationCancelled:()=>wr,ParserWorker:()=>n_,ProfilingTask:()=>nh,Reduction:()=>hs,RefResolving:()=>Uo,RegExpUtils:()=>Bf,RootCstNodeImpl:()=>fa,SimpleCache:()=>Bl,StreamImpl:()=>ur,StreamScope:()=>xa,TextDocument:()=>ma,TreeStreamImpl:()=>nn,URI:()=>ht,UriTrie:()=>ya,UriUtils:()=>Et,VALIDATE_EACH_NODE:()=>wb,ValidationCategory:()=>hp,ValidationRegistry:()=>zl,ValueConverter:()=>pn,WorkspaceCache:()=>_a,assertCondition:()=>v0,assertUnreachable:()=>an,createCompletionParser:()=>ux,createDefaultCoreModule:()=>gu,createDefaultSharedCoreModule:()=>yu,createGrammarConfig:()=>gg,createLangiumParser:()=>fx,createParser:()=>Pl,delayNextTick:()=>_x,diagnosticData:()=>Xo,eagerLoad:()=>ak,getDiagnosticRange:()=>Rb,indentationBuilderDefaultOptions:()=>o_,inject:()=>Wo,interruptAndCheck:()=>pt,isAstNode:()=>dt,isAstNodeDescription:()=>Am,isAstNodeWithComment:()=>wx,isCompositeCstNode:()=>Dr,isIMultiModeLexerDefinition:()=>KT,isJSDoc:()=>e_,isLeafCstNode:()=>si,isLinkingError:()=>no,isMultiReference:()=>lr,isNamed:()=>Eb,isOperationCancelled:()=>hn,isReference:()=>At,isRootCstNode:()=>Cc,isTokenTypeArray:()=>Jp,isTokenTypeDictionary:()=>YT,loadGrammarFromJson:()=>rh,parseJSDoc:()=>QT,prepareLangiumParser:()=>lb,setInterruptionPeriod:()=>gb,startCancelableOperation:()=>fp,stream:()=>xe,toDiagnosticData:()=>bb,toDiagnosticSeverity:()=>mp});var Mf={};rn(Mf,{DefaultNameRegexp:()=>$f,RangeComparison:()=>sn,compareRange:()=>x0,findCommentNode:()=>Zm,findDeclarationNodeAtOffset:()=>CO,findLeafNodeAtOffset:()=>Jm,findLeafNodeBeforeOffset:()=>T0,flattenCst:()=>NO,getDatatypeNode:()=>kO,getInteriorNodes:()=>LO,getNextNode:()=>PO,getPreviousNode:()=>E0,getStartlineNode:()=>OO,inRange:()=>Nm,isChildNode:()=>Km,isCommentNode:()=>Ym,streamCst:()=>go,toDocumentSegment:()=>yo,tokenToRange:()=>bs});function dt(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 lr(t){return typeof t=="object"&&t!==null&&typeof t.$refText=="string"&&"items"in t}function Am(t){return typeof t=="object"&&t!==null&&typeof t.name=="string"&&typeof t.type=="string"&&typeof t.path=="string"}function no(t){return typeof t=="object"&&t!==null&&typeof t.info=="object"&&typeof t.message=="string"}var ro=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 Dr(t){return typeof t=="object"&&t!==null&&Array.isArray(t.content)}function si(t){return typeof t=="object"&&t!==null&&typeof t.tokenType=="object"}function Cc(t){return Dr(t)&&typeof t.fullText=="string"}var ur=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 $t})}join(e=","){let r=this.iterator(),n="",i,o=!1;do i=r.next(),i.done||(o&&(n+=e),n+=uO(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?$t:{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 $t})}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(mf(o))r.iterator=o[Symbol.iterator]();else return{done:!1,value:o}}}while(r.iterator);return $t})}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(mf(o))n.iterator=o[Symbol.iterator]();else return{done:!1,value:o}}while(n.iterator);return $t})}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?$t: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 $t})}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 uO(t){return typeof t=="string"?t:typeof t>"u"?"undefined":typeof t.toString=="function"?t.toString():Object.prototype.toString.call(t)}function mf(t){return!!t&&typeof t[Symbol.iterator]=="function"}var ai=new ur(()=>{},()=>$t),$t=Object.freeze({done:!0,value:void 0});function xe(...t){if(t.length===1){let e=t[0];if(e instanceof ur)return e;if(mf(e))return new ur(()=>e[Symbol.iterator](),r=>r.next());if(typeof e.length=="number")return new ur(()=>({index:0}),r=>r.index<e.length?{done:!1,value:e[r.index++]}:$t)}return t.length>1?new ur(()=>({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++];mf(r)?e.iterator=r[Symbol.iterator]():r&&typeof r.length=="number"&&(e.array=r)}}while(e.iterator||e.array||e.collIndex<t.length);return $t}):ai}var nn=class extends ur{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 $t})}iterator(){let e={state:this.startFn(),next:()=>this.nextFn(e.state),prune:()=>{e.state.pruned=!0},[Symbol.iterator]:()=>e};return e}},hs;(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})(hs||(hs={}));var yf={};rn(yf,{assignMandatoryProperties:()=>km,copyAstNode:()=>Sm,findRootNode:()=>gs,getContainerOfType:()=>In,getDocument:()=>Mt,getReferenceNodes:()=>gf,hasContainerOfType:()=>fO,linkContentToContainer:()=>ms,streamAllContents:()=>$r,streamAst:()=>zt,streamContents:()=>Pc,streamReferences:()=>ci});function ms(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&&ms(i,e))}):dt(n)&&(n.$container=t,n.$containerProperty=r,e.deep&&ms(n,e)))}function In(t,e){let r=t;for(;r;){if(e(r))return r;r=r.$container}}function fO(t,e){let r=t;for(;r;){if(e(r))return!0;r=r.$container}return!1}function Mt(t){let r=gs(t).$document;if(!r)throw new Error("AST node has no document.");return r}function gs(t){for(;t.$container;)t=t.$container;return t}function gf(t){return At(t)?t.ref?[t.ref]:[]:lr(t)?t.items.map(e=>e.ref):[]}function Pc(t,e){if(!t)throw new Error("Node must be an AstNode.");let r=e?.range;return new ur(()=>({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++,Im(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)&&Im(a,r))return{done:!1,value:a}}n.arrayIndex=0}}n.keyIndex++}return $t})}function $r(t,e){if(!t)throw new Error("Root node must be an AstNode.");return new nn(t,r=>Pc(r,e))}function zt(t,e){if(t){if(e?.range&&!Im(t,e.range))return new nn(t,()=>[])}else throw new Error("Root node must be an AstNode.");return new nn(t,r=>Pc(r,e),{includeRoot:!0})}function Im(t,e){if(!e)return!0;let r=t.$cstNode?.range;return r?Nm(r,e):!1}function ci(t){return new ur(()=>({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)||lr(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)||lr(n))return{done:!1,value:{reference:o,container:t,property:r,index:i}}}e.arrayIndex=0}}e.keyIndex++}return $t})}function km(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]=g0(i.defaultValue))}function g0(t){return Array.isArray(t)?[...t.map(g0)]:t}function Sm(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]=Sm(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)dt(a)?s.push(Sm(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 ms(n,{deep:!0}),n}var Hc={};rn(Hc,{AbstractElement:()=>er,AbstractParserRule:()=>Oc,AbstractRule:()=>ys,AbstractType:()=>fr,Action:()=>li,Alternatives:()=>Lc,ArrayLiteral:()=>xf,ArrayType:()=>Tf,Assignment:()=>ui,BooleanLiteral:()=>_f,CharacterRange:()=>fi,Condition:()=>di,Conjunction:()=>Dc,CrossReference:()=>pi,Disjunction:()=>$c,EndOfFile:()=>Ef,Grammar:()=>Sn,GrammarImport:()=>vf,Group:()=>io,InferredType:()=>wf,InfixRule:()=>on,InfixRuleOperatorList:()=>Mc,InfixRuleOperators:()=>Rf,Interface:()=>xs,Keyword:()=>Ts,LangiumGrammarAstReflection:()=>Rs,LangiumGrammarTerminals:()=>dO,NamedArgument:()=>_s,NegatedToken:()=>oo,Negation:()=>bf,NumberLiteral:()=>Af,Parameter:()=>Es,ParameterReference:()=>If,ParserRule:()=>Mr,ReferenceType:()=>Fc,RegexToken:()=>so,ReturnType:()=>Sf,RuleCall:()=>ao,SimpleType:()=>vs,StringLiteral:()=>kf,TerminalAlternatives:()=>co,TerminalElement:()=>tr,TerminalGroup:()=>lo,TerminalRule:()=>kn,TerminalRuleCall:()=>uo,Type:()=>Uc,TypeAttribute:()=>fo,TypeDefinition:()=>po,UnionType:()=>Nf,UnorderedGroup:()=>Bc,UntilToken:()=>ho,ValueLiteral:()=>mo,Wildcard:()=>ws,isAbstractElement:()=>Gc,isAbstractParserRule:()=>Nn,isAbstractRule:()=>pO,isAbstractType:()=>hO,isAction:()=>Cn,isAlternatives:()=>Cf,isArrayLiteral:()=>mO,isArrayType:()=>Cm,isAssignment:()=>Fr,isBooleanLiteral:()=>Pm,isCharacterRange:()=>Om,isCondition:()=>gO,isConjunction:()=>Lm,isCrossReference:()=>Ur,isDisjunction:()=>Dm,isEndOfFile:()=>$m,isGrammar:()=>yO,isGrammarImport:()=>xO,isGroup:()=>hi,isInferredType:()=>Xc,isInfixRule:()=>mi,isInfixRuleOperatorList:()=>TO,isInfixRuleOperators:()=>_O,isInterface:()=>Mm,isKeyword:()=>Er,isNamedArgument:()=>EO,isNegatedToken:()=>Fm,isNegation:()=>Um,isNumberLiteral:()=>vO,isParameter:()=>wO,isParameterReference:()=>Bm,isParserRule:()=>kt,isReferenceType:()=>Gm,isRegexToken:()=>Xm,isReturnType:()=>Hm,isRuleCall:()=>Br,isSimpleType:()=>Pf,isStringLiteral:()=>RO,isTerminalAlternatives:()=>zm,isTerminalElement:()=>bO,isTerminalGroup:()=>jm,isTerminalRule:()=>jt,isTerminalRuleCall:()=>Of,isType:()=>Lf,isTypeAttribute:()=>AO,isTypeDefinition:()=>IO,isUnionType:()=>qm,isUnorderedGroup:()=>Df,isUntilToken:()=>Wm,isValueLiteral:()=>SO,isWildcard:()=>Vm,reflection:()=>ne});var dO={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 Gc(t){return ne.isInstance(t,er.$type)}var Oc={$type:"AbstractParserRule"};function Nn(t){return ne.isInstance(t,Oc.$type)}var ys={$type:"AbstractRule"};function pO(t){return ne.isInstance(t,ys.$type)}var fr={$type:"AbstractType"};function hO(t){return ne.isInstance(t,fr.$type)}var li={$type:"Action",cardinality:"cardinality",feature:"feature",inferredType:"inferredType",operator:"operator",type:"type"};function Cn(t){return ne.isInstance(t,li.$type)}var Lc={$type:"Alternatives",cardinality:"cardinality",elements:"elements"};function Cf(t){return ne.isInstance(t,Lc.$type)}var xf={$type:"ArrayLiteral",elements:"elements"};function mO(t){return ne.isInstance(t,xf.$type)}var Tf={$type:"ArrayType",elementType:"elementType"};function Cm(t){return ne.isInstance(t,Tf.$type)}var ui={$type:"Assignment",cardinality:"cardinality",feature:"feature",operator:"operator",predicate:"predicate",terminal:"terminal"};function Fr(t){return ne.isInstance(t,ui.$type)}var _f={$type:"BooleanLiteral",true:"true"};function Pm(t){return ne.isInstance(t,_f.$type)}var fi={$type:"CharacterRange",cardinality:"cardinality",left:"left",lookahead:"lookahead",parenthesized:"parenthesized",right:"right"};function Om(t){return ne.isInstance(t,fi.$type)}var di={$type:"Condition"};function gO(t){return ne.isInstance(t,di.$type)}var Dc={$type:"Conjunction",left:"left",right:"right"};function Lm(t){return ne.isInstance(t,Dc.$type)}var pi={$type:"CrossReference",cardinality:"cardinality",deprecatedSyntax:"deprecatedSyntax",isMulti:"isMulti",terminal:"terminal",type:"type"};function Ur(t){return ne.isInstance(t,pi.$type)}var $c={$type:"Disjunction",left:"left",right:"right"};function Dm(t){return ne.isInstance(t,$c.$type)}var Ef={$type:"EndOfFile",cardinality:"cardinality"};function $m(t){return ne.isInstance(t,Ef.$type)}var Sn={$type:"Grammar",imports:"imports",interfaces:"interfaces",isDeclared:"isDeclared",name:"name",rules:"rules",types:"types"};function yO(t){return ne.isInstance(t,Sn.$type)}var vf={$type:"GrammarImport",path:"path"};function xO(t){return ne.isInstance(t,vf.$type)}var io={$type:"Group",cardinality:"cardinality",elements:"elements",guardCondition:"guardCondition",predicate:"predicate"};function hi(t){return ne.isInstance(t,io.$type)}var wf={$type:"InferredType",name:"name"};function Xc(t){return ne.isInstance(t,wf.$type)}var on={$type:"InfixRule",call:"call",dataType:"dataType",inferredType:"inferredType",name:"name",operators:"operators",parameters:"parameters",returnType:"returnType"};function mi(t){return ne.isInstance(t,on.$type)}var Mc={$type:"InfixRuleOperatorList",associativity:"associativity",operators:"operators"};function TO(t){return ne.isInstance(t,Mc.$type)}var Rf={$type:"InfixRuleOperators",precedences:"precedences"};function _O(t){return ne.isInstance(t,Rf.$type)}var xs={$type:"Interface",attributes:"attributes",name:"name",superTypes:"superTypes"};function Mm(t){return ne.isInstance(t,xs.$type)}var Ts={$type:"Keyword",cardinality:"cardinality",predicate:"predicate",value:"value"};function Er(t){return ne.isInstance(t,Ts.$type)}var _s={$type:"NamedArgument",calledByName:"calledByName",parameter:"parameter",value:"value"};function EO(t){return ne.isInstance(t,_s.$type)}var oo={$type:"NegatedToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",terminal:"terminal"};function Fm(t){return ne.isInstance(t,oo.$type)}var bf={$type:"Negation",value:"value"};function Um(t){return ne.isInstance(t,bf.$type)}var Af={$type:"NumberLiteral",value:"value"};function vO(t){return ne.isInstance(t,Af.$type)}var Es={$type:"Parameter",name:"name"};function wO(t){return ne.isInstance(t,Es.$type)}var If={$type:"ParameterReference",parameter:"parameter"};function Bm(t){return ne.isInstance(t,If.$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 ne.isInstance(t,Mr.$type)}var Fc={$type:"ReferenceType",isMulti:"isMulti",referenceType:"referenceType"};function Gm(t){return ne.isInstance(t,Fc.$type)}var so={$type:"RegexToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",regex:"regex"};function Xm(t){return ne.isInstance(t,so.$type)}var Sf={$type:"ReturnType",name:"name"};function Hm(t){return ne.isInstance(t,Sf.$type)}var ao={$type:"RuleCall",arguments:"arguments",cardinality:"cardinality",predicate:"predicate",rule:"rule"};function Br(t){return ne.isInstance(t,ao.$type)}var vs={$type:"SimpleType",primitiveType:"primitiveType",stringType:"stringType",typeRef:"typeRef"};function Pf(t){return ne.isInstance(t,vs.$type)}var kf={$type:"StringLiteral",value:"value"};function RO(t){return ne.isInstance(t,kf.$type)}var co={$type:"TerminalAlternatives",cardinality:"cardinality",elements:"elements",lookahead:"lookahead",parenthesized:"parenthesized"};function zm(t){return ne.isInstance(t,co.$type)}var tr={$type:"TerminalElement",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized"};function bO(t){return ne.isInstance(t,tr.$type)}var lo={$type:"TerminalGroup",cardinality:"cardinality",elements:"elements",lookahead:"lookahead",parenthesized:"parenthesized"};function jm(t){return ne.isInstance(t,lo.$type)}var kn={$type:"TerminalRule",definition:"definition",fragment:"fragment",hidden:"hidden",name:"name",type:"type"};function jt(t){return ne.isInstance(t,kn.$type)}var uo={$type:"TerminalRuleCall",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",rule:"rule"};function Of(t){return ne.isInstance(t,uo.$type)}var Uc={$type:"Type",name:"name",type:"type"};function Lf(t){return ne.isInstance(t,Uc.$type)}var fo={$type:"TypeAttribute",defaultValue:"defaultValue",isOptional:"isOptional",name:"name",type:"type"};function AO(t){return ne.isInstance(t,fo.$type)}var po={$type:"TypeDefinition"};function IO(t){return ne.isInstance(t,po.$type)}var Nf={$type:"UnionType",types:"types"};function qm(t){return ne.isInstance(t,Nf.$type)}var Bc={$type:"UnorderedGroup",cardinality:"cardinality",elements:"elements"};function Df(t){return ne.isInstance(t,Bc.$type)}var ho={$type:"UntilToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",terminal:"terminal"};function Wm(t){return ne.isInstance(t,ho.$type)}var mo={$type:"ValueLiteral"};function SO(t){return ne.isInstance(t,mo.$type)}var ws={$type:"Wildcard",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized"};function Vm(t){return ne.isInstance(t,ws.$type)}var Rs=class extends ro{constructor(){super(...arguments),this.types={AbstractElement:{name:er.$type,properties:{cardinality:{name:er.cardinality}},superTypes:[]},AbstractParserRule:{name:Oc.$type,properties:{},superTypes:[ys.$type,fr.$type]},AbstractRule:{name:ys.$type,properties:{},superTypes:[]},AbstractType:{name:fr.$type,properties:{},superTypes:[]},Action:{name:li.$type,properties:{cardinality:{name:li.cardinality},feature:{name:li.feature},inferredType:{name:li.inferredType},operator:{name:li.operator},type:{name:li.type,referenceType:fr.$type}},superTypes:[er.$type]},Alternatives:{name:Lc.$type,properties:{cardinality:{name:Lc.cardinality},elements:{name:Lc.elements,defaultValue:[]}},superTypes:[er.$type]},ArrayLiteral:{name:xf.$type,properties:{elements:{name:xf.elements,defaultValue:[]}},superTypes:[mo.$type]},ArrayType:{name:Tf.$type,properties:{elementType:{name:Tf.elementType}},superTypes:[po.$type]},Assignment:{name:ui.$type,properties:{cardinality:{name:ui.cardinality},feature:{name:ui.feature},operator:{name:ui.operator},predicate:{name:ui.predicate},terminal:{name:ui.terminal}},superTypes:[er.$type]},BooleanLiteral:{name:_f.$type,properties:{true:{name:_f.true,defaultValue:!1}},superTypes:[di.$type,mo.$type]},CharacterRange:{name:fi.$type,properties:{cardinality:{name:fi.cardinality},left:{name:fi.left},lookahead:{name:fi.lookahead},parenthesized:{name:fi.parenthesized,defaultValue:!1},right:{name:fi.right}},superTypes:[tr.$type]},Condition:{name:di.$type,properties:{},superTypes:[]},Conjunction:{name:Dc.$type,properties:{left:{name:Dc.left},right:{name:Dc.right}},superTypes:[di.$type]},CrossReference:{name:pi.$type,properties:{cardinality:{name:pi.cardinality},deprecatedSyntax:{name:pi.deprecatedSyntax,defaultValue:!1},isMulti:{name:pi.isMulti,defaultValue:!1},terminal:{name:pi.terminal},type:{name:pi.type,referenceType:fr.$type}},superTypes:[er.$type]},Disjunction:{name:$c.$type,properties:{left:{name:$c.left},right:{name:$c.right}},superTypes:[di.$type]},EndOfFile:{name:Ef.$type,properties:{cardinality:{name:Ef.cardinality}},superTypes:[er.$type]},Grammar:{name:Sn.$type,properties:{imports:{name:Sn.imports,defaultValue:[]},interfaces:{name:Sn.interfaces,defaultValue:[]},isDeclared:{name:Sn.isDeclared,defaultValue:!1},name:{name:Sn.name},rules:{name:Sn.rules,defaultValue:[]},types:{name:Sn.types,defaultValue:[]}},superTypes:[]},GrammarImport:{name:vf.$type,properties:{path:{name:vf.path}},superTypes:[]},Group:{name:io.$type,properties:{cardinality:{name:io.cardinality},elements:{name:io.elements,defaultValue:[]},guardCondition:{name:io.guardCondition},predicate:{name:io.predicate}},superTypes:[er.$type]},InferredType:{name:wf.$type,properties:{name:{name:wf.name}},superTypes:[fr.$type]},InfixRule:{name:on.$type,properties:{call:{name:on.call},dataType:{name:on.dataType},inferredType:{name:on.inferredType},name:{name:on.name},operators:{name:on.operators},parameters:{name:on.parameters,defaultValue:[]},returnType:{name:on.returnType,referenceType:fr.$type}},superTypes:[Oc.$type]},InfixRuleOperatorList:{name:Mc.$type,properties:{associativity:{name:Mc.associativity},operators:{name:Mc.operators,defaultValue:[]}},superTypes:[]},InfixRuleOperators:{name:Rf.$type,properties:{precedences:{name:Rf.precedences,defaultValue:[]}},superTypes:[]},Interface:{name:xs.$type,properties:{attributes:{name:xs.attributes,defaultValue:[]},name:{name:xs.name},superTypes:{name:xs.superTypes,defaultValue:[],referenceType:fr.$type}},superTypes:[fr.$type]},Keyword:{name:Ts.$type,properties:{cardinality:{name:Ts.cardinality},predicate:{name:Ts.predicate},value:{name:Ts.value}},superTypes:[er.$type]},NamedArgument:{name:_s.$type,properties:{calledByName:{name:_s.calledByName,defaultValue:!1},parameter:{name:_s.parameter,referenceType:Es.$type},value:{name:_s.value}},superTypes:[]},NegatedToken:{name:oo.$type,properties:{cardinality:{name:oo.cardinality},lookahead:{name:oo.lookahead},parenthesized:{name:oo.parenthesized,defaultValue:!1},terminal:{name:oo.terminal}},superTypes:[tr.$type]},Negation:{name:bf.$type,properties:{value:{name:bf.value}},superTypes:[di.$type]},NumberLiteral:{name:Af.$type,properties:{value:{name:Af.value}},superTypes:[mo.$type]},Parameter:{name:Es.$type,properties:{name:{name:Es.name}},superTypes:[]},ParameterReference:{name:If.$type,properties:{parameter:{name:If.parameter,referenceType:Es.$type}},superTypes:[di.$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:fr.$type}},superTypes:[Oc.$type]},ReferenceType:{name:Fc.$type,properties:{isMulti:{name:Fc.isMulti,defaultValue:!1},referenceType:{name:Fc.referenceType}},superTypes:[po.$type]},RegexToken:{name:so.$type,properties:{cardinality:{name:so.cardinality},lookahead:{name:so.lookahead},parenthesized:{name:so.parenthesized,defaultValue:!1},regex:{name:so.regex}},superTypes:[tr.$type]},ReturnType:{name:Sf.$type,properties:{name:{name:Sf.name}},superTypes:[]},RuleCall:{name:ao.$type,properties:{arguments:{name:ao.arguments,defaultValue:[]},cardinality:{name:ao.cardinality},predicate:{name:ao.predicate},rule:{name:ao.rule,referenceType:ys.$type}},superTypes:[er.$type]},SimpleType:{name:vs.$type,properties:{primitiveType:{name:vs.primitiveType},stringType:{name:vs.stringType},typeRef:{name:vs.typeRef,referenceType:fr.$type}},superTypes:[po.$type]},StringLiteral:{name:kf.$type,properties:{value:{name:kf.value}},superTypes:[mo.$type]},TerminalAlternatives:{name:co.$type,properties:{cardinality:{name:co.cardinality},elements:{name:co.elements,defaultValue:[]},lookahead:{name:co.lookahead},parenthesized:{name:co.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:lo.$type,properties:{cardinality:{name:lo.cardinality},elements:{name:lo.elements,defaultValue:[]},lookahead:{name:lo.lookahead},parenthesized:{name:lo.parenthesized,defaultValue:!1}},superTypes:[tr.$type]},TerminalRule:{name:kn.$type,properties:{definition:{name:kn.definition},fragment:{name:kn.fragment,defaultValue:!1},hidden:{name:kn.hidden,defaultValue:!1},name:{name:kn.name},type:{name:kn.type}},superTypes:[ys.$type]},TerminalRuleCall:{name:uo.$type,properties:{cardinality:{name:uo.cardinality},lookahead:{name:uo.lookahead},parenthesized:{name:uo.parenthesized,defaultValue:!1},rule:{name:uo.rule,referenceType:kn.$type}},superTypes:[tr.$type]},Type:{name:Uc.$type,properties:{name:{name:Uc.name},type:{name:Uc.type}},superTypes:[fr.$type]},TypeAttribute:{name:fo.$type,properties:{defaultValue:{name:fo.defaultValue},isOptional:{name:fo.isOptional,defaultValue:!1},name:{name:fo.name},type:{name:fo.type}},superTypes:[]},TypeDefinition:{name:po.$type,properties:{},superTypes:[]},UnionType:{name:Nf.$type,properties:{types:{name:Nf.types,defaultValue:[]}},superTypes:[po.$type]},UnorderedGroup:{name:Bc.$type,properties:{cardinality:{name:Bc.cardinality},elements:{name:Bc.elements,defaultValue:[]}},superTypes:[er.$type]},UntilToken:{name:ho.$type,properties:{cardinality:{name:ho.cardinality},lookahead:{name:ho.lookahead},parenthesized:{name:ho.parenthesized,defaultValue:!1},terminal:{name:ho.terminal}},superTypes:[tr.$type]},ValueLiteral:{name:mo.$type,properties:{},superTypes:[]},Wildcard:{name:ws.$type,properties:{cardinality:{name:ws.cardinality},lookahead:{name:ws.lookahead},parenthesized:{name:ws.parenthesized,defaultValue:!1}},superTypes:[tr.$type]}}}},ne=new Rs;function kO(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 go(t){return new nn(t,e=>Dr(e)?e.content:[],{includeRoot:!0})}function NO(t){return go(t).filter(si)}function Km(t,e){for(;t.container;)if(t=t.container,t===e)return!0;return!1}function bs(t){return{start:{character:t.startColumn-1,line:t.startLine-1},end:{character:t.endColumn,line:t.endLine-1}}}function yo(t){if(!t)return;let{offset:e,end:r,range:n}=t;return{range:n,offset:e,end:r,length:r-e}}var sn;(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"})(sn||(sn={}));function x0(t,e){if(t.end.line<e.start.line||t.end.line===e.start.line&&t.end.character<=e.start.character)return sn.Before;if(t.start.line>e.end.line||t.start.line===e.end.line&&t.start.character>=e.end.character)return sn.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?sn.Inside:r?sn.OverlapBack:n?sn.OverlapFront:sn.Outside}function Nm(t,e){return x0(t,e)>sn.After}var $f=/^[\w\p{L}]$/u;function CO(t,e,r=$f){if(t){if(e>0){let n=e-t.offset,i=t.text.charAt(n);r.test(i)||e--}return Jm(t,e)}}function Zm(t,e){if(t){let r=E0(t,!0);if(r&&Ym(r,e))return r;if(Cc(t)){let n=t.content.findIndex(i=>!i.hidden);for(let i=n-1;i>=0;i--){let o=t.content[i];if(Ym(o,e))return o}}}}function Ym(t,e){return si(t)&&e.includes(t.tokenType.name)}function Jm(t,e){if(si(t))return t;if(Dr(t)){let r=_0(t,e,!1);if(r)return Jm(r,e)}}function T0(t,e){if(si(t))return t;if(Dr(t)){let r=_0(t,e,!0);if(r)return T0(r,e)}}function _0(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 E0(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 PO(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 OO(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 LO(t,e){let r=DO(t,e);return r?r.parent.content.slice(r.a+1,r.b):[]}function DO(t,e){let r=y0(t),n=y0(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 y0(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 ks={};rn(ks,{findAssignment:()=>pg,findNameAssignment:()=>Gf,findNodeForKeyword:()=>fg,findNodeForProperty:()=>Yc,findNodesForKeyword:()=>BO,findNodesForKeywordInternal:()=>dg,findNodesForProperty:()=>lg,getActionAtElement:()=>N0,getActionType:()=>P0,getAllReachableRules:()=>Vc,getAllRulesUsedForCrossReferences:()=>UO,getCrossReferenceTerminal:()=>ag,getEntryRule:()=>A0,getExplicitRuleType:()=>Xf,getHiddenRules:()=>I0,getRuleType:()=>hg,getRuleTypeName:()=>jO,getTypeName:()=>yi,isArrayCardinality:()=>XO,isArrayOperator:()=>HO,isCommentTerminal:()=>cg,isDataType:()=>zO,isDataTypeRule:()=>Kc,isOptionalCardinality:()=>GO,terminalRegex:()=>Is});var xo=class extends Error{constructor(e,r){super(e?`${r} at ${e.range.start.line}:${e.range.start.character}`:r)}};function an(t,e="Error: Got unexpected value."){throw new Error(e)}function v0(t,e="Error: Condition is violated."){if(!t)throw new Error(e)}var Bf={};rn(Bf,{NEWLINE_REGEXP:()=>rg,escapeRegExp:()=>gi,getTerminalParts:()=>FO,isMultilineComment:()=>ng,isWhitespace:()=>Wc,partialMatches:()=>ig,partialRegExp:()=>b0,whitespaceCharacters:()=>R0});function se(t){return t.charCodeAt(0)}function Ff(t,e){Array.isArray(t)?t.forEach(function(r){e.push(r)}):e.push(t)}function As(t,e){if(t[e]===!0)throw"duplicate flag "+e;let r=t[e];t[e]=!0}function To(t){if(t===void 0)throw Error("Internal Error - Should never get here!");return!0}function zc(){throw Error("Internal Error - Should never get here!")}function Qm(t){return t.type==="Character"}var jc=[];for(let t=se("0");t<=se("9");t++)jc.push(t);var qc=[se("_")].concat(jc);for(let t=se("a");t<=se("z");t++)qc.push(t);for(let t=se("A");t<=se("Z");t++)qc.push(t);var eg=[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 $O=/[0-9a-fA-F]/,Uf=/[0-9]/,MO=/[1-9]/,_o=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":As(n,"global");break;case"i":As(n,"ignoreCase");break;case"m":As(n,"multiLine");break;case"u":As(n,"unicode");break;case"y":As(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}}To(r);let n=this.disjunction();return this.consumeChar(")"),{type:r,value:n,loc:this.loc(e)}}return zc()}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;To(r);break}if(!(e===!0&&r===void 0)&&To(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()),To(e)?(e.loc=this.loc(r),this.isQuantifier()&&(e.quantifier=this.quantifier()),e):zc()}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=jc;break;case"D":e=jc,r=!0;break;case"s":e=eg;break;case"S":e=eg,r=!0;break;case"w":e=qc;break;case"W":e=qc,r=!0;break}return To(e)?{type:"Set",value:e,complement:r}:zc()}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 To(e)?{type:"Character",value:e}:zc()}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 Ff(n.value,e),e.push(se("-")),Ff(o.value,e)}else Ff(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(MO.test(e)===!1)throw Error("Expecting a positive integer");for(;Uf.test(this.peekChar(0));)e+=this.popChar();return parseInt(e,10)}integerIncludingZero(){let e=this.popChar();if(Uf.test(e)===!1)throw Error("Expecting an integer");for(;Uf.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 Uf.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(
|
|
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($O.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 cn=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 rg=/\r?\n/gm,w0=new _o,tg=class extends cn{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
45
|
`&&(this.multiline=!0),e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{let n=gi(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)}},Eo=new
|
|
47
|
-
\r \v \xA0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF`.split("");function qc(t){let e=typeof t=="string"?new RegExp(t):t;return T0.some(r=>e.test(r))}function gi(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function rg(t,e){let r=_0(t),n=e.match(r);return!!n&&n[0].length>0}function _0(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 E0(t){return t.rules.find(e=>kt(e)&&e.entry)}function v0(t){return t.rules.filter(e=>zt(e)&&e.hidden)}function Wc(t,e){let r=new Set,n=E0(t);if(!n)return new Set(t.rules);let i=[n].concat(v0(t));for(let s of i)R0(s,r,e);let o=new Set;for(let s of t.rules)(r.has(s.name)||zt(s)&&s.hidden)&&o.add(s);return o}function R0(t,e,r){e.add(t.name),$r(t).forEach(n=>{if(Br(n)||r&&Cf(n)){let i=n.rule.ref;i&&!e.has(i.name)&&R0(i,e,r)}})}function NO(t){let e=new Set;return $r(t).forEach(r=>{Ur(r)&&(kt(r.type.ref)&&e.add(r.type.ref),Gc(r.type.ref)&&kt(r.type.ref.$container)&&e.add(r.type.ref.$container))}),e}function og(t){if(t.terminal)return t.terminal;if(t.type.ref)return Uf(t.type.ref)?.terminal}function sg(t){return t.hidden&&!qc(As(t))}function ag(t,e){return!t||!e?[]:cg(t,e,t.astNode,!0)}function Vc(t,e,r){if(!t||!e)return;let n=cg(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 cg(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=>cg(i,e,r,!1)):[]}function CO(t,e){return t?ug(t,e,t?.astNode):[]}function lg(t,e,r){if(!t)return;let n=ug(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 ug(t,e,r){if(t.astNode!==r)return[];if(Er(t.grammarSource)&&t.grammarSource.value===e)return[t];let n=go(t).iterator(),i,o=[];do if(i=n.next(),!i.done){let s=i.value;s.astNode===r?Er(s.grammarSource)&&s.grammarSource.value===e&&o.push(s):n.prune()}while(!i.done);return o}function fg(t){let e=t.astNode;for(;e===t.container?.astNode;){let r=In(t.grammarSource,Fr);if(r)return r;t=t.container}}function Uf(t){let e=t;return Gc(e)&&(Cn(e.$container)?e=e.$container.$container:Nn(e.$container)?e=e.$container:an(e.$container)),w0(t,e,new Map)}function w0(t,e,r){function n(i,o){let s;return In(i,Fr)||(s=w0(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(Nf(i)&&i.typeRef?.ref)return n(i,i.typeRef.ref)}}function b0(t){let e=t.$container;if(hi(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(Bc(e))return b0(e)}function PO(t,e){return t==="?"||t==="*"||hi(e)&&!!e.guardCondition}function OO(t){return t==="*"||t==="+"}function LO(t){return t==="+="}function Yc(t){return A0(t,new Set)}function A0(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)&&!A0(r.rule.ref,e)||mi(r.rule.ref))return!1}else{if(Fr(r))return!1;if(Cn(r))return!1}return!!t.definition}function DO(t){return ig(t.type,new Set)}function ig(t,e){if(e.has(t))return!0;if(e.add(t),km(t))return!1;if(Um(t))return!1;if(jm(t))return t.types.every(r=>ig(r,e));if(Nf(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 Pf(r)?ig(r.type,e):!1}else return!1}else return!1}function Bf(t){if(!zt(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 yi(t){if(Nn(t))return kt(t)&&Yc(t)?t.name:Bf(t)??t.name;if(Dm(t)||Pf(t)||Gm(t))return t.name;if(Cn(t)){let e=I0(t);if(e)return e}else if(Gc(t))return t.name;throw new Error("Cannot get name of Unknown Type")}function I0(t){if(t.inferredType)return t.inferredType.name;if(t.type?.ref)return yi(t.type.ref)}function $O(t){return zt(t)?t.type?.name??"string":kt(t)&&Yc(t)?t.name:Bf(t)??t.name}function dg(t){return zt(t)?t.type?.name??"string":Bf(t)??t.name}function As(t){let e={s:!1,i:!1,u:!1},r=Is(t.definition,e),n=Object.entries(e).filter(([,i])=>i).map(([i])=>i).join("");return new RegExp(r,n)}var pg=/[\s\S]/.source;function Is(t,e){if(Xm(t))return MO(t);if(Hm(t))return FO(t);if(Cm(t))return GO(t);if(Cf(t)){let r=t.rule.ref;if(!r)throw new Error("Missing rule reference.");return Pn(Is(r.definition),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}else{if($m(t))return BO(t);if(zm(t))return UO(t);if(Bm(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")),Pn(n,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}else{if(qm(t))return Pn(pg,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized});throw new Error(`Invalid terminal element: ${t?.$type}, ${t?.$cstNode?.text}`)}}}function MO(t){return Pn(t.elements.map(e=>Is(e)).join("|"),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}function FO(t){return Pn(t.elements.map(e=>Is(e)).join(""),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}function UO(t){return Pn(`${pg}*?${Is(t.terminal)}`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}function BO(t){return Pn(`(?!${Is(t.terminal)})${pg}*?`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}function GO(t){return t.right?Pn(`[${ng(t.left)}-${ng(t.right)}]`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1}):Pn(ng(t.left),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}function ng(t){return gi(t.value)}function Pn(t,e){return(e.parenthesized||e.lookahead||e.wrap!==!1)&&(t=`(${e.lookahead??(e.parenthesized?"":"?:")}${t})`),e.cardinality?`${t}${e.cardinality}`:t}function hg(t){let e=[],r=t.Grammar;for(let n of r.rules)zt(n)&&sg(n)&&tg(As(n))&&e.push(n.name);return{multilineCommentRules:e,nameRegexp:Lf}}function ks(t){console&&console.error&&console.error(`Error: ${t}`)}function Kc(t){console&&console.warn&&console.warn(`Warning: ${t}`)}function Zc(t){let e=new Date().getTime(),r=t();return{time:new Date().getTime()-e,value:r}}function Jc(t){function e(){}e.prototype=t;let r=new e;function n(){return typeof r.bar}return n(),n(),t;(0,eval)(t)}function XO(t){return HO(t)?t.LABEL:t.name}function HO(t){return typeof t.LABEL=="string"&&t.LABEL!==""}var dr=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 dr{constructor(e){super([]),this.idx=1,Object.assign(this,ln(e))}set definition(e){}get definition(){return this.referencedRule!==void 0?this.referencedRule.definition:[]}accept(e){e.visit(this)}},qt=class extends dr{constructor(e){super(e.definition),this.orgText="",Object.assign(this,ln(e))}},Ze=class extends dr{constructor(e){super(e.definition),this.ignoreAmbiguities=!1,Object.assign(this,ln(e))}},Ge=class extends dr{constructor(e){super(e.definition),this.idx=1,Object.assign(this,ln(e))}},Je=class extends dr{constructor(e){super(e.definition),this.idx=1,Object.assign(this,ln(e))}},Qe=class extends dr{constructor(e){super(e.definition),this.idx=1,Object.assign(this,ln(e))}},Re=class extends dr{constructor(e){super(e.definition),this.idx=1,Object.assign(this,ln(e))}},qe=class extends dr{constructor(e){super(e.definition),this.idx=1,Object.assign(this,ln(e))}},We=class extends dr{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,ln(e))}},Te=class{constructor(e){this.idx=1,Object.assign(this,ln(e))}accept(e){e.visit(this)}};function Gf(t){return t.map(Ns)}function Ns(t){function e(r){return r.map(Ns)}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 Ze)return{type:"Alternative",definition:e(t.definition)};if(t instanceof Ge)return{type:"Option",idx:t.idx,definition:e(t.definition)};if(t instanceof Je)return{type:"RepetitionMandatory",idx:t.idx,definition:e(t.definition)};if(t instanceof Qe)return{type:"RepetitionMandatoryWithSeparator",idx:t.idx,separator:Ns(new Te({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof qe)return{type:"RepetitionWithSeparator",idx:t.idx,separator:Ns(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 We)return{type:"Alternation",idx:t.idx,definition:e(t.definition)};if(t instanceof Te){let r={type:"Terminal",name:t.terminalType.name,label:XO(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 qt)return{type:"Rule",name:t.name,orgText:t.orgText,definition:e(t.definition)};throw Error("non exhaustive match")}}}function ln(t){return Object.fromEntries(Object.entries(t).filter(([,e])=>e!==void 0))}var Wt=class{visit(e){let r=e;switch(r.constructor){case Be:return this.visitNonTerminal(r);case Ze:return this.visitAlternative(r);case Ge:return this.visitOption(r);case Je:return this.visitRepetitionMandatory(r);case Qe:return this.visitRepetitionMandatoryWithSeparator(r);case qe:return this.visitRepetitionWithSeparator(r);case Re:return this.visitRepetition(r);case We:return this.visitAlternation(r);case Te:return this.visitTerminal(r);case qt: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 mg(t){return t instanceof Ze||t instanceof Ge||t instanceof Re||t instanceof Je||t instanceof Qe||t instanceof qe||t instanceof Te||t instanceof qt}function vo(t,e=[]){return t instanceof Ge||t instanceof Re||t instanceof qe?!0:t instanceof We?t.definition.some(n=>vo(n,e)):t instanceof Be&&e.includes(t)?!1:t instanceof dr?(t instanceof Be&&e.push(t),t.definition.every(n=>vo(n,e))):!1}function gg(t){return t instanceof We}function rr(t){if(t instanceof Be)return"SUBRULE";if(t instanceof Ge)return"OPTION";if(t instanceof We)return"OR";if(t instanceof Je)return"AT_LEAST_ONE";if(t instanceof Qe)return"AT_LEAST_ONE_SEP";if(t instanceof qe)return"MANY_SEP";if(t instanceof Re)return"MANY";if(t instanceof Te)return"CONSUME";throw Error("non exhaustive match")}var On=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 Ze)this.walkFlat(n,o,r);else if(n instanceof Ge)this.walkOption(n,o,r);else if(n instanceof Je)this.walkAtLeastOne(n,o,r);else if(n instanceof Qe)this.walkAtLeastOneSep(n,o,r);else if(n instanceof qe)this.walkManySep(n,o,r);else if(n instanceof Re)this.walkMany(n,o,r);else if(n instanceof We)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=S0(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=S0(e,r,n);this.walk(e,i)}walkOr(e,r,n){let i=r.concat(n);e.definition.forEach(o=>{let s=new Ze({definition:[o]});this.walk(s,i)})}};function S0(t,e,r){return[new Ge({definition:[new Te({terminalType:t.separator})].concat(t.definition)})].concat(e,r)}function Ro(t){if(t instanceof Be)return Ro(t.referencedRule);if(t instanceof Te)return qO(t);if(mg(t))return jO(t);if(gg(t))return zO(t);throw Error("non exhaustive match")}function jO(t){let e=[],r=t.definition,n=0,i=r.length>n,o,s=!0;for(;i&&s;)o=r[n],s=vo(o),e=e.concat(Ro(o)),n=n+1,i=r.length>n;return[...new Set(e)]}function zO(t){let e=t.definition.map(r=>Ro(r));return[...new Set(e.flat())]}function qO(t){return[t.terminalType]}var Xf="_~IN~_";var yg=class extends On{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=WO(e.referencedRule,e.idx)+this.topProd.name,o=r.concat(n),s=new Ze({definition:o}),a=Ro(s);this.follows[i]=a}};function k0(t){let e={};return t.forEach(r=>{let n=new yg(r).startWalking();Object.assign(e,n)}),e}function WO(t,e){return t.name+e+Xf}var Hf={},VO=new _o;function Cs(t){let e=t.toString();if(Hf.hasOwnProperty(e))return Hf[e];{let r=VO.pattern(e);return Hf[e]=r,r}}function N0(){Hf={}}var P0="Complement Sets are not supported for first char optimization",Qc=`Unable to use "first char" lexer optimizations:
|
|
48
|
-
`;function
|
|
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)}},Eo=new tg;function FO(t){try{typeof t!="string"&&(t=t.source),t=`/${t}/`;let e=w0.pattern(t),r=[];for(let n of e.value.value)Eo.reset(t),Eo.visit(n),r.push({start:Eo.startRegexp,end:Eo.endRegex});return r}catch{return[]}}function ng(t){try{return typeof t=="string"&&(t=new RegExp(t)),t=t.toString(),Eo.reset(t),Eo.visit(w0.pattern(t)),Eo.multiline}catch{return!1}}var R0=`\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 Wc(t){let e=typeof t=="string"?new RegExp(t):t;return R0.some(r=>e.test(r))}function gi(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function ig(t,e){let r=b0(t),n=e.match(r);return!!n&&n[0].length>0}function b0(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 I0(t){return t.rules.filter(e=>jt(e)&&e.hidden)}function Vc(t,e){let r=new Set,n=A0(t);if(!n)return new Set(t.rules);let i=[n].concat(I0(t));for(let s of i)S0(s,r,e);let o=new Set;for(let s of t.rules)(r.has(s.name)||jt(s)&&s.hidden)&&o.add(s);return o}function S0(t,e,r){e.add(t.name),$r(t).forEach(n=>{if(Br(n)||r&&Of(n)){let i=n.rule.ref;i&&!e.has(i.name)&&S0(i,e,r)}})}function UO(t){let e=new Set;return $r(t).forEach(r=>{Ur(r)&&(kt(r.type.ref)&&e.add(r.type.ref),Xc(r.type.ref)&&kt(r.type.ref.$container)&&e.add(r.type.ref.$container))}),e}function ag(t){if(t.terminal)return t.terminal;if(t.type.ref)return Gf(t.type.ref)?.terminal}function cg(t){return t.hidden&&!Wc(Is(t))}function lg(t,e){return!t||!e?[]:ug(t,e,t.astNode,!0)}function Yc(t,e,r){if(!t||!e)return;let n=ug(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 ug(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=>ug(i,e,r,!1)):[]}function BO(t,e){return t?dg(t,e,t?.astNode):[]}function fg(t,e,r){if(!t)return;let n=dg(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 dg(t,e,r){if(t.astNode!==r)return[];if(Er(t.grammarSource)&&t.grammarSource.value===e)return[t];let n=go(t).iterator(),i,o=[];do if(i=n.next(),!i.done){let s=i.value;s.astNode===r?Er(s.grammarSource)&&s.grammarSource.value===e&&o.push(s):n.prune()}while(!i.done);return o}function pg(t){let e=t.astNode;for(;e===t.container?.astNode;){let r=In(t.grammarSource,Fr);if(r)return r;t=t.container}}function Gf(t){let e=t;return Xc(e)&&(Cn(e.$container)?e=e.$container.$container:Nn(e.$container)?e=e.$container:an(e.$container)),k0(t,e,new Map)}function k0(t,e,r){function n(i,o){let s;return In(i,Fr)||(s=k0(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(Pf(i)&&i.typeRef?.ref)return n(i,i.typeRef.ref)}}function N0(t){let e=t.$container;if(hi(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(Gc(e))return N0(e)}function GO(t,e){return t==="?"||t==="*"||hi(e)&&!!e.guardCondition}function XO(t){return t==="*"||t==="+"}function HO(t){return t==="+="}function Kc(t){return C0(t,new Set)}function C0(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)&&!C0(r.rule.ref,e)||mi(r.rule.ref))return!1}else{if(Fr(r))return!1;if(Cn(r))return!1}return!!t.definition}function zO(t){return sg(t.type,new Set)}function sg(t,e){if(e.has(t))return!0;if(e.add(t),Cm(t))return!1;if(Gm(t))return!1;if(qm(t))return t.types.every(r=>sg(r,e));if(Pf(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 Lf(r)?sg(r.type,e):!1}else return!1}else return!1}function Xf(t){if(!jt(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 yi(t){if(Nn(t))return kt(t)&&Kc(t)?t.name:Xf(t)??t.name;if(Mm(t)||Lf(t)||Hm(t))return t.name;if(Cn(t)){let e=P0(t);if(e)return e}else if(Xc(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 yi(t.type.ref)}function jO(t){return jt(t)?t.type?.name??"string":kt(t)&&Kc(t)?t.name:Xf(t)??t.name}function hg(t){return jt(t)?t.type?.name??"string":Xf(t)??t.name}function Is(t){let e={s:!1,i:!1,u:!1},r=Ss(t.definition,e),n=Object.entries(e).filter(([,i])=>i).map(([i])=>i).join("");return new RegExp(r,n)}var mg=/[\s\S]/.source;function Ss(t,e){if(zm(t))return qO(t);if(jm(t))return WO(t);if(Om(t))return KO(t);if(Of(t)){let r=t.rule.ref;if(!r)throw new Error("Missing rule reference.");return Pn(Ss(r.definition),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}else{if(Fm(t))return YO(t);if(Wm(t))return VO(t);if(Xm(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")),Pn(n,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}else{if(Vm(t))return Pn(mg,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized});throw new Error(`Invalid terminal element: ${t?.$type}, ${t?.$cstNode?.text}`)}}}function qO(t){return Pn(t.elements.map(e=>Ss(e)).join("|"),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}function WO(t){return Pn(t.elements.map(e=>Ss(e)).join(""),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}function VO(t){return Pn(`${mg}*?${Ss(t.terminal)}`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}function YO(t){return Pn(`(?!${Ss(t.terminal)})${mg}*?`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}function KO(t){return t.right?Pn(`[${og(t.left)}-${og(t.right)}]`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1}):Pn(og(t.left),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}function og(t){return gi(t.value)}function Pn(t,e){return(e.parenthesized||e.lookahead||e.wrap!==!1)&&(t=`(${e.lookahead??(e.parenthesized?"":"?:")}${t})`),e.cardinality?`${t}${e.cardinality}`:t}function gg(t){let e=[],r=t.Grammar;for(let n of r.rules)jt(n)&&cg(n)&&ng(Is(n))&&e.push(n.name);return{multilineCommentRules:e,nameRegexp:$f}}function Ns(t){console&&console.error&&console.error(`Error: ${t}`)}function Zc(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 Qc(t){function e(){}e.prototype=t;let r=new e;function n(){return typeof r.bar}return n(),n(),t;(0,eval)(t)}function ZO(t){return JO(t)?t.LABEL:t.name}function JO(t){return typeof t.LABEL=="string"&&t.LABEL!==""}var dr=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 dr{constructor(e){super([]),this.idx=1,Object.assign(this,ln(e))}set definition(e){}get definition(){return this.referencedRule!==void 0?this.referencedRule.definition:[]}accept(e){e.visit(this)}},qt=class extends dr{constructor(e){super(e.definition),this.orgText="",Object.assign(this,ln(e))}},Ze=class extends dr{constructor(e){super(e.definition),this.ignoreAmbiguities=!1,Object.assign(this,ln(e))}},Ge=class extends dr{constructor(e){super(e.definition),this.idx=1,Object.assign(this,ln(e))}},Je=class extends dr{constructor(e){super(e.definition),this.idx=1,Object.assign(this,ln(e))}},Qe=class extends dr{constructor(e){super(e.definition),this.idx=1,Object.assign(this,ln(e))}},we=class extends dr{constructor(e){super(e.definition),this.idx=1,Object.assign(this,ln(e))}},qe=class extends dr{constructor(e){super(e.definition),this.idx=1,Object.assign(this,ln(e))}},We=class extends dr{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,ln(e))}},Te=class{constructor(e){this.idx=1,Object.assign(this,ln(e))}accept(e){e.visit(this)}};function Hf(t){return t.map(Cs)}function Cs(t){function e(r){return r.map(Cs)}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 Ze)return{type:"Alternative",definition:e(t.definition)};if(t instanceof Ge)return{type:"Option",idx:t.idx,definition:e(t.definition)};if(t instanceof Je)return{type:"RepetitionMandatory",idx:t.idx,definition:e(t.definition)};if(t instanceof Qe)return{type:"RepetitionMandatoryWithSeparator",idx:t.idx,separator:Cs(new Te({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof qe)return{type:"RepetitionWithSeparator",idx:t.idx,separator:Cs(new Te({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof we)return{type:"Repetition",idx:t.idx,definition:e(t.definition)};if(t instanceof We)return{type:"Alternation",idx:t.idx,definition:e(t.definition)};if(t instanceof Te){let r={type:"Terminal",name:t.terminalType.name,label:ZO(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 qt)return{type:"Rule",name:t.name,orgText:t.orgText,definition:e(t.definition)};throw Error("non exhaustive match")}}}function ln(t){return Object.fromEntries(Object.entries(t).filter(([,e])=>e!==void 0))}var Wt=class{visit(e){let r=e;switch(r.constructor){case Be:return this.visitNonTerminal(r);case Ze:return this.visitAlternative(r);case Ge:return this.visitOption(r);case Je:return this.visitRepetitionMandatory(r);case Qe:return this.visitRepetitionMandatoryWithSeparator(r);case qe:return this.visitRepetitionWithSeparator(r);case we:return this.visitRepetition(r);case We:return this.visitAlternation(r);case Te:return this.visitTerminal(r);case qt: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 yg(t){return t instanceof Ze||t instanceof Ge||t instanceof we||t instanceof Je||t instanceof Qe||t instanceof qe||t instanceof Te||t instanceof qt}function vo(t,e=[]){return t instanceof Ge||t instanceof we||t instanceof qe?!0:t instanceof We?t.definition.some(n=>vo(n,e)):t instanceof Be&&e.includes(t)?!1:t instanceof dr?(t instanceof Be&&e.push(t),t.definition.every(n=>vo(n,e))):!1}function xg(t){return t instanceof We}function rr(t){if(t instanceof Be)return"SUBRULE";if(t instanceof Ge)return"OPTION";if(t instanceof We)return"OR";if(t instanceof Je)return"AT_LEAST_ONE";if(t instanceof Qe)return"AT_LEAST_ONE_SEP";if(t instanceof qe)return"MANY_SEP";if(t instanceof we)return"MANY";if(t instanceof Te)return"CONSUME";throw Error("non exhaustive match")}var On=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 Ze)this.walkFlat(n,o,r);else if(n instanceof Ge)this.walkOption(n,o,r);else if(n instanceof Je)this.walkAtLeastOne(n,o,r);else if(n instanceof Qe)this.walkAtLeastOneSep(n,o,r);else if(n instanceof qe)this.walkManySep(n,o,r);else if(n instanceof we)this.walkMany(n,o,r);else if(n instanceof We)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=O0(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=O0(e,r,n);this.walk(e,i)}walkOr(e,r,n){let i=r.concat(n);e.definition.forEach(o=>{let s=new Ze({definition:[o]});this.walk(s,i)})}};function O0(t,e,r){return[new Ge({definition:[new Te({terminalType:t.separator})].concat(t.definition)})].concat(e,r)}function wo(t){if(t instanceof Be)return wo(t.referencedRule);if(t instanceof Te)return tL(t);if(yg(t))return QO(t);if(xg(t))return eL(t);throw Error("non exhaustive match")}function QO(t){let e=[],r=t.definition,n=0,i=r.length>n,o,s=!0;for(;i&&s;)o=r[n],s=vo(o),e=e.concat(wo(o)),n=n+1,i=r.length>n;return[...new Set(e)]}function eL(t){let e=t.definition.map(r=>wo(r));return[...new Set(e.flat())]}function tL(t){return[t.terminalType]}var zf="_~IN~_";var Tg=class extends On{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=rL(e.referencedRule,e.idx)+this.topProd.name,o=r.concat(n),s=new Ze({definition:o}),a=wo(s);this.follows[i]=a}};function L0(t){let e={};return t.forEach(r=>{let n=new Tg(r).startWalking();Object.assign(e,n)}),e}function rL(t,e){return t.name+e+zf}var jf={},nL=new _o;function Ps(t){let e=t.toString();if(jf.hasOwnProperty(e))return jf[e];{let r=nL.pattern(e);return jf[e]=r,r}}function D0(){jf={}}var M0="Complement Sets are not supported for first char optimization",el=`Unable to use "first char" lexer optimizations:
|
|
48
|
+
`;function F0(t,e=!1){try{let r=Ps(t);return _g(r.value,{},r.flags.ignoreCase)}catch(r){if(r.message===M0)e&&Zc(`${el} 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.`),Ns(`${el}
|
|
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:(v
|
|
56
|
+
Please open an issue at: https://github.com/chevrotain/chevrotain/issues`+n)}}return[]}function _g(t,e,r){switch(t.type){case"Disjunction":for(let i=0;i<t.value.length;i++)_g(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":qf(s.value,e,r);break;case"Set":if(s.complement===!0)throw Error(M0);s.value.forEach(c=>{if(typeof c=="number")qf(c,e,r);else{let l=c;if(r===!0)for(let u=l.from;u<=l.to;u++)qf(u,e,r);else{for(let u=l.from;u<=l.to&&u<Os;u++)qf(u,e,r);if(l.to>=Os){let u=l.from>=Os?l.from:Os,f=l.to,d=un(u),p=un(f);for(let m=d;m<=p;m++)e[m]=m}}}});break;case"Group":_g(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"&&Eg(s)===!1||s.type!=="Group"&&a===!1)break}break;default:throw Error("non exhaustive match!")}return Object.values(e)}function qf(t,e,r){let n=un(t);e[n]=n,r===!0&&iL(t,e)}function iL(t,e){let r=String.fromCharCode(t),n=r.toUpperCase();if(n!==r){let i=un(n.charCodeAt(0));e[i]=i}else{let i=r.toLowerCase();if(i!==r){let o=un(i.charCodeAt(0));e[o]=o}}}function $0(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 Eg(t){let e=t.quantifier;return e&&e.atLeast===0?!0:t.value?Array.isArray(t.value)?t.value.every(Eg):Eg(t.value):!1}var vg=class extends cn{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?$0(e,this.targetCharCodes)===void 0&&(this.found=!0):$0(e,this.targetCharCodes)!==void 0&&(this.found=!0)}};function Wf(t,e){if(e instanceof RegExp){let r=Ps(e),n=new vg(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 Ro="PATTERN",Ls="defaultMode",Vf="modes";function B0(t,e){e=Object.assign({safeMode:!1,positionTracking:"full",lineTerminatorCharacters:["\r",`
|
|
57
|
+
`],tracer:(T,v)=>v()},e);let r=e.tracer;r("initCharCodeToOptimizedIndexMap",()=>{wL()});let n;r("Reject Lexer.NA",()=>{n=t.filter(T=>T[Ro]!==ct.NA)});let i=!1,o;r("Transform Patterns",()=>{i=!1,o=n.map(T=>{let v=T[Ro];if(v instanceof RegExp){let S=v.source;return S.length===1&&S!=="^"&&S!=="$"&&S!=="."&&!v.ignoreCase?S:S.length===2&&S[0]==="\\"&&!["d","D","s","S","t","r","n","t","0","c","b","B","f","v","w","W"].includes(S[1])?S[1]:U0(v)}else{if(typeof v=="function")return i=!0,{exec:v};if(typeof v=="object")return i=!0,v;if(typeof v=="string"){if(v.length===1)return v;{let S=v.replace(/[\\^$.*+?()[\]{}|]/g,"\\$&"),D=new RegExp(S);return U0(D)}}else throw Error("non exhaustive match")}})});let s,a,c,l,u;r("misc mapping",()=>{s=n.map(T=>T.tokenTypeIdx),a=n.map(T=>{let v=T.GROUP;if(v!==ct.SKIPPED){if(typeof v=="string")return v;if(v===void 0)return!1;throw Error("non exhaustive match")}}),c=n.map(T=>{let v=T.LONGER_ALT;if(v)return Array.isArray(v)?v.map(D=>n.indexOf(D)):[n.indexOf(v)]}),l=n.map(T=>T.PUSH_MODE),u=n.map(T=>Object.hasOwn(T,"POP_MODE"))});let f;r("Line Terminator Handling",()=>{let T=V0(e.lineTerminatorCharacters);f=n.map(v=>!1),e.positionTracking!=="onlyOffset"&&(f=n.map(v=>Object.hasOwn(v,"LINE_BREAKS")?!!v.LINE_BREAKS:W0(v,T)===!1&&Wf(T,v.PATTERN)))});let d,p,m,y;r("Misc Mapping #2",()=>{d=n.map(j0),p=o.map(EL),m=n.reduce((T,v)=>{let S=v.GROUP;return typeof S=="string"&&S!==ct.SKIPPED&&(T[S]=[]),T},{}),y=o.map((T,v)=>({pattern:o[v],longerAlt:c[v],canLineTerminator:f[v],isCustom:d[v],short:p[v],group:a[v],push:l[v],pop:u[v],tokenTypeIdx:s[v],tokenType:n[v]}))});let _=!0,E=[];return e.safeMode||r("First Char Optimization",()=>{E=n.reduce((T,v,S)=>{if(typeof v.PATTERN=="string"){let D=v.PATTERN.charCodeAt(0),N=un(D);wg(T,N,y[S])}else if(Array.isArray(v.START_CHARS_HINT)){let D;v.START_CHARS_HINT.forEach(N=>{let M=typeof N=="string"?N.charCodeAt(0):N,B=un(M);D!==B&&(D=B,wg(T,B,y[S]))})}else if(v.PATTERN instanceof RegExp)if(v.PATTERN.unicode)_=!1,e.ensureOptimizations&&Ns(`${el} Unable to analyze < ${v.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=F0(v.PATTERN,e.ensureOptimizations);D.length===0&&(_=!1),D.forEach(N=>{wg(T,N,y[S])})}else e.ensureOptimizations&&Ns(`${el} TokenType: <${v.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`),
|
|
62
|
+
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_OPTIMIZE`),_=!1;return T},[])}),{emptyGroups:m,patternIdxToConfig:y,charCodeToPatternIdxToConfig:E,hasCustom:i,canBeOptimized:_}}function G0(t,e){let r=[],n=sL(t);r=r.concat(n.errors);let i=aL(n.valid),o=i.valid;return r=r.concat(i.errors),r=r.concat(oL(o)),r=r.concat(mL(o)),r=r.concat(gL(o,e)),r=r.concat(yL(o)),r}function oL(t){let e=[],r=t.filter(n=>n[Ro]instanceof RegExp);return e=e.concat(lL(r)),e=e.concat(dL(r)),e=e.concat(pL(r)),e=e.concat(hL(r)),e=e.concat(uL(r)),e}function sL(t){let e=t.filter(i=>!Object.hasOwn(i,Ro)),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 aL(t){let e=t.filter(i=>{let o=i[Ro];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 cL=/[^\\][$]/;function lL(t){class e extends cn{constructor(){super(...arguments),this.found=!1}visitEndAnchor(o){this.found=!0}}return t.filter(i=>{let o=i.PATTERN;try{let s=Ps(o),a=new e;return a.visit(s),a.found}catch{return cL.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 uL(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 fL=/[^\\[][\^]|^\^/;function dL(t){class e extends cn{constructor(){super(...arguments),this.found=!1}visitStartAnchor(o){this.found=!0}}return t.filter(i=>{let o=i.PATTERN;try{let s=Ps(o),a=new e;return a.visit(s),a.found}catch{return fL.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 pL(t){return t.filter(n=>{let i=n[Ro];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 hL(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 mL(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 gL(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 yL(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&&TL(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&&xL(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 xL(t,e){if(e instanceof RegExp){if(_L(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 TL(t){return[".","\\","[","]","|","^","$","(",")","?","*","+","{"].find(r=>t.source.indexOf(r)!==-1)===void 0}function _L(t){return/(\(\?=)|(\(\?!)|(\(\?<=)|(\(\?<!)/.test(t.source)}function U0(t){let e=t.ignoreCase?"iy":"y";return new RegExp(`${t.source}`,e)}function X0(t,e,r){let n=[];return Object.hasOwn(t,Ls)||n.push({message:"A MultiMode Lexer cannot be initialized without a <"+Ls+`> property in its definition
|
|
69
|
+
`,type:at.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE}),Object.hasOwn(t,Vf)||n.push({message:"A MultiMode Lexer cannot be initialized without a <"+Vf+`> property in its definition
|
|
70
|
+
`,type:at.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY}),Object.hasOwn(t,Vf)&&Object.hasOwn(t,Ls)&&!Object.hasOwn(t.modes,t.defaultMode)&&n.push({message:`A MultiMode Lexer cannot be initialized with a ${Ls}: <${t.defaultMode}>which does not exist
|
|
71
|
+
`,type:at.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST}),Object.hasOwn(t,Vf)&&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 H0(t,e,r){let n=[],i=!1,s=Object.values(t.modes||{}).flat().filter(Boolean).filter(c=>c[Ro]!==ct.NA),a=V0(r);return e&&s.forEach(c=>{let l=W0(c,a);if(l!==!1){let f={message:vL(c,l),type:l.issue,tokenType:c};n.push(f)}else Object.hasOwn(c,"LINE_BREAKS")?c.LINE_BREAKS===!0&&(i=!0):Wf(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 z0(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 j0(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 EL(t){return typeof t=="string"&&t.length===1?t.charCodeAt(0):!1}var q0={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 W0(t,e){if(Object.hasOwn(t,"LINE_BREAKS"))return!1;if(t.PATTERN instanceof RegExp){try{Wf(e,t.PATTERN)}catch(r){return{issue:at.IDENTIFY_TERMINATOR,errMsg:r.message}}return!1}else{if(typeof t.PATTERN=="string")return!1;if(j0(t))return{issue:at.CUSTOM_LINE_BREAK};throw Error("non exhaustive match")}}function vL(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 V0(t){return t.map(r=>typeof r=="string"?r.charCodeAt(0):r)}function wg(t,e,r){t[e]===void 0?t[e]=[r]:t[e].push(r)}var Os=256,Yf=[];function un(t){return t<Os?t:Yf[t]}function wL(){if(Yf.length===0){Yf=new Array(65536);for(let t=0;t<65536;t++)Yf[t]=t>255?255+~~(t/255):t}}function Ln(t,e){let r=t.tokenTypeIdx;return r===e.tokenTypeIdx?!0:e.isParent===!0&&e.categoryMatchesMap[r]===!0}function Ds(t,e){return t.tokenTypeIdx===e.tokenTypeIdx}var Y0=1,Z0={};function Dn(t){let e=RL(t);bL(e),IL(e),AL(e),e.forEach(r=>{r.isParent=r.categoryMatches.length>0})}function RL(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 bL(t){t.forEach(e=>{Rg(e)||(Z0[Y0]=e,e.tokenTypeIdx=Y0++),K0(e)&&!Array.isArray(e.CATEGORIES)&&(e.CATEGORIES=[e.CATEGORIES]),K0(e)||(e.CATEGORIES=[]),SL(e)||(e.categoryMatches=[]),kL(e)||(e.categoryMatchesMap={})})}function AL(t){t.forEach(e=>{e.categoryMatches=[],Object.keys(e.categoryMatchesMap).forEach(r=>{e.categoryMatches.push(Z0[r].tokenTypeIdx)})})}function IL(t){t.forEach(e=>{J0([],e)})}function J0(t,e){t.forEach(r=>{e.categoryMatchesMap[r.tokenTypeIdx]=!0}),e.CATEGORIES.forEach(r=>{let n=t.concat(e);n.includes(r)||J0(n,r)})}function Rg(t){return Object.hasOwn(t??{},"tokenTypeIdx")}function K0(t){return Object.hasOwn(t??{},"CATEGORIES")}function SL(t){return Object.hasOwn(t??{},"categoryMatches")}function kL(t){return Object.hasOwn(t??{},"categoryMatchesMap")}function Q0(t){return Object.hasOwn(t??{},"tokenTypeIdx")}var $s={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 tl={deferDefinitionErrorsHandling:!1,positionTracking:"full",lineTerminatorsPattern:/\n|\r\n?/g,lineTerminatorCharacters:[`
|
|
83
|
+
`,"\r"],ensureOptimizations:!1,safeMode:!1,errorMessageProvider:$s,traceInitPerf:!1,skipValidations:!1,recoveryEnabled:!0};Object.freeze(tl);var ct=class{constructor(e,r=tl){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({},tl,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===tl.lineTerminatorsPattern)this.config.lineTerminatorsPattern=q0;else if(this.config.lineTerminatorCharacters===tl.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:Ls}:(o=!1,i=Object.assign({},e))}),this.config.skipValidations===!1&&(this.TRACE_INIT("performRuntimeChecks",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(X0(i,this.trackStartLines,this.config.lineTerminatorCharacters))}),this.TRACE_INIT("performWarningRuntimeChecks",()=>{this.lexerDefinitionWarning=this.lexerDefinitionWarning.concat(H0(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(G0(c,s))}),this.lexerDefinitionErrors.length===0){Dn(c);let l;this.TRACE_INIT("analyzeTokenTypes",()=>{l=B0(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=>{Zc(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",()=>{D0()}),this.TRACE_INIT("toFastProperties",()=>{Qc(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,y,
|
|
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,y,_,E,T=e,v=T.length,S=0,D=0,N=this.hasCustom?0:Math.floor(e.length/10),M=new Array(N),B=[],G=this.trackStartLines?1:void 0,oe=this.trackStartLines?1:void 0,L=z0(this.emptyGroups),w=this.trackStartLines,O=this.config.lineTerminatorsPattern,$=0,b=[],A=[],I=[],F=[];Object.freeze(F);let z=!1,U=V=>{if(I.length===1&&V.tokenType.PUSH_MODE===void 0){let te=this.config.errorMessageProvider.buildUnableToPopLexerModeMessage(V);B.push({offset:V.startOffset,line:V.startLine,column:V.startColumn,length:V.image.length,message:te})}else{I.pop();let te=I.at(-1);b=this.patternIdxToConfig[te],A=this.charCodeToPatternIdxToConfig[te],$=b.length;let De=this.canModeBeOptimized[te]&&this.config.safeMode===!1;A&&De?z=!0:z=!1}};function W(V){I.push(V),A=this.charCodeToPatternIdxToConfig[V],b=this.patternIdxToConfig[V],$=b.length,$=b.length;let te=this.canModeBeOptimized[V]&&this.config.safeMode===!1;A&&te?z=!0:z=!1}W.call(this,r);let Z,pe=this.config.recoveryEnabled;for(;S<v;){c=null,f=-1;let V=T.charCodeAt(S),te;if(z){let Ne=un(V),Xe=A[Ne];te=Xe!==void 0?Xe:F}else te=b;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?(E=Ne.exec(T,S,M,L),E!==null?(c=E[0],f=c.length,E.payload!==void 0&&(l=E.payload)):c=null):(Ne.lastIndex=S,f=this.matchLength(Ne,e,S)),f!==-1){if(a=Z.longerAlt,a!==void 0){c=e.substring(S,S+f);let q=a.length;for(o=0;o<q;o++){let J=b[a[o]],re=J.pattern;if(u=null,J.isCustom===!0?(E=re.exec(T,S,M,L),E!==null?(s=E[0],E.payload!==void 0&&(u=E.payload)):s=null):(re.lastIndex=S,s=this.match(re,e,S)),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(S,S+f),p=Z.tokenTypeIdx,m=this.createTokenInstance(c,S,p,Z.tokenType,G,oe,f),this.handlePayload(m,l),d===!1?D=this.addToken(M,D,m):L[d].push(m)),w===!0&&Z.canLineTerminator===!0){let Ne=0,Xe,q;O.lastIndex=0;do c=c!==null?c:e.substring(S,S+f),Xe=O.test(c),Xe===!0&&(q=O.lastIndex-1,Ne++);while(Xe===!0);Ne!==0?(G=G+Ne,oe=f-q,this.updateTokenEndLineColumnLocation(m,d,q,Ne,G,oe,f)):oe=this.computeNewColumn(oe,f)}else oe=this.computeNewColumn(oe,f);S=S+f,this.handleModes(Z,U,W,m)}else{let Ne=S,Xe=G,q=oe,J=pe===!1;for(;J===!1&&S<v;)for(S++,i=0;i<$;i++){let re=b[i],C=re.pattern,be=re.short;if(be!==!1?T.charCodeAt(S)===be&&(J=!0):re.isCustom===!0?J=C.exec(T,S,M,L)!==null:(C.lastIndex=S,J=C.exec(e)!==null),J===!0)break}if(y=S-Ne,oe=this.computeNewColumn(oe,y),_=this.config.errorMessageProvider.buildUnexpectedCharactersMessage(T,Ne,y,Xe,q,I.at(-1)),B.push({offset:Ne,line:Xe,column:q,length:y,message:_}),pe===!1)break}}return this.hasCustom||(M.length=D),{tokens:M,groups:L,errors:B}}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 $n(t){return bg(t)?t.LABEL:t.name}function bg(t){return typeof t.LABEL=="string"&&t.LABEL!==""}var NL="parent",ev="categories",tv="label",rv="group",nv="push_mode",iv="pop_mode",ov="longer_alt",sv="line_breaks",av="start_chars_hint";function xi(t){return CL(t)}function CL(t){let e=t.pattern,r={};if(r.name=t.name,e!==void 0&&(r.PATTERN=e),Object.hasOwn(t,NL))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,ev)&&(r.CATEGORIES=t[ev]),Dn([r]),Object.hasOwn(t,tv)&&(r.LABEL=t[tv]),Object.hasOwn(t,rv)&&(r.GROUP=t[rv]),Object.hasOwn(t,iv)&&(r.POP_MODE=t[iv]),Object.hasOwn(t,nv)&&(r.PUSH_MODE=t[nv]),Object.hasOwn(t,ov)&&(r.LONGER_ALT=t[ov]),Object.hasOwn(t,sv)&&(r.LINE_BREAKS=t[sv]),Object.hasOwn(t,av)&&(r.START_CHARS_HINT=t[av]),r}var Vt=xi({name:"EOF",pattern:ct.NA});Dn([Vt]);function Mn(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 Ms(t,e){return Ln(t,e)}var Fn={buildMismatchTokenMessage({expected:t,actual:e,previous:r,ruleName:n}){return`Expecting ${bg(t)?`--> ${$n(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
94
|
${t.reduce((d,p)=>d.concat(p),[]).map(d=>`[${d.map(p=>$n(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=>$n(u)).join(",")}]`).join(" ,")}>`;return i+c+s}}};Object.freeze(Fn);var
|
|
97
|
+
<${t.map(l=>`[${l.map(u=>$n(u)).join(",")}]`).join(" ,")}>`;return i+c+s}}};Object.freeze(Fn);var cv={buildRuleNotFoundError(t,e){return"Invalid grammar, reference to a rule which is not defined: ->"+e.nonTerminalName+`<-
|
|
98
98
|
inside top level rule: ->`+t.name+"<-"}},Gr={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=rr(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
|
|
@@ -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 qt?e=t.topLevelRule.name:e=t.topLevelRule,`Duplicate definition, rule: ->${e}<- is already defined in the grammar: ->${t.grammarName}<-`}};function iv(t,e){let r=new wg(t,e);return r.resolveRefs(),r.errors}var wg=class extends Wt{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 bg=class extends On{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())}},Vf=class extends bg{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 Ze({definition:i});this.possibleTokTypes=Ro(o),this.found=!0}}},Ms=class extends On{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}},Yf=class extends Ms{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)}},tl=class extends Ms{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)}},Kf=class extends Ms{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)}},rl=class extends Ms{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 Ze)return s(a.definition);if(a instanceof Be)return s(a.definition);if(a instanceof Ge)n=s(a.definition);else if(a instanceof Je){let c=a.definition.concat([new Re({definition:a.definition})]);return s(c)}else if(a instanceof Qe){let c=[new Ze({definition:a.definition}),new Re({definition:[new Te({terminalType:a.separator})].concat(a.definition)})];return s(c)}else if(a instanceof qe){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 We)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 ov(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,y=d.ruleStack,T=d.occurrenceStack;if(p.length===0)continue;let _=p[0];if(_===i){let v={idx:m,def:p.slice(1),ruleStack:y.slice(0,-1),occurrenceStack:T.slice(0,-1)};f.push(v)}else if(_ instanceof Te)if(m<c-1){let v=m+1,E=e[v];if(r(E,_.terminalType)){let S={idx:v,def:p.slice(1),ruleStack:y,occurrenceStack:T};f.push(S)}}else if(m===c-1)u.push({nextTokenType:_.terminalType,nextTokenOccurrence:_.idx,ruleStack:y,occurrenceStack:T}),a=!0;else throw Error("non exhaustive match");else if(_ instanceof Be){let v=[...y];v.push(_.nonTerminalName);let E=[...T];E.push(_.idx);let S={idx:m,def:_.definition.concat(o,p.slice(1)),ruleStack:v,occurrenceStack:E};f.push(S)}else if(_ instanceof Ge){let v={idx:m,def:p.slice(1),ruleStack:y,occurrenceStack:T};f.push(v),f.push(s);let E={idx:m,def:_.definition.concat(p.slice(1)),ruleStack:y,occurrenceStack:T};f.push(E)}else if(_ instanceof Je){let v=new Re({definition:_.definition,idx:_.idx}),E=_.definition.concat([v],p.slice(1)),S={idx:m,def:E,ruleStack:y,occurrenceStack:T};f.push(S)}else if(_ instanceof Qe){let v=new Te({terminalType:_.separator}),E=new Re({definition:[v].concat(_.definition),idx:_.idx}),S=_.definition.concat([E],p.slice(1)),D={idx:m,def:S,ruleStack:y,occurrenceStack:T};f.push(D)}else if(_ instanceof qe){let v={idx:m,def:p.slice(1),ruleStack:y,occurrenceStack:T};f.push(v),f.push(s);let E=new Te({terminalType:_.separator}),S=new Re({definition:[E].concat(_.definition),idx:_.idx}),D=_.definition.concat([S],p.slice(1)),N={idx:m,def:D,ruleStack:y,occurrenceStack:T};f.push(N)}else if(_ instanceof Re){let v={idx:m,def:p.slice(1),ruleStack:y,occurrenceStack:T};f.push(v),f.push(s);let E=new Re({definition:_.definition,idx:_.idx}),S=_.definition.concat([E],p.slice(1)),D={idx:m,def:S,ruleStack:y,occurrenceStack:T};f.push(D)}else if(_ instanceof We)for(let v=_.definition.length-1;v>=0;v--){let E=_.definition[v],S={idx:m,def:E.definition.concat(p.slice(1)),ruleStack:y,occurrenceStack:T};f.push(S),f.push(s)}else if(_ instanceof Ze)f.push({idx:m,def:_.definition.concat(p.slice(1)),ruleStack:y,occurrenceStack:T});else if(_ instanceof qt)f.push(RL(_,m,y,T));else throw Error("non exhaustive match")}return u}function RL(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 nl(t){if(t instanceof Ge||t==="Option")return lt.OPTION;if(t instanceof Re||t==="Repetition")return lt.REPETITION;if(t instanceof Je||t==="RepetitionMandatory")return lt.REPETITION_MANDATORY;if(t instanceof Qe||t==="RepetitionMandatoryWithSeparator")return lt.REPETITION_MANDATORY_WITH_SEPARATOR;if(t instanceof qe||t==="RepetitionWithSeparator")return lt.REPETITION_WITH_SEPARATOR;if(t instanceof We||t==="Alternation")return lt.ALTERNATION;throw Error("non exhaustive match")}function Qf(t){let{occurrence:e,rule:r,prodType:n,maxLookahead:i}=t,o=nl(n);return o===lt.ALTERNATION?Fs(e,r,i):Us(e,r,o,i)}function av(t,e,r,n,i,o){let s=Fs(t,e,r),a=pv(s)?Ls:Ln;return o(s,n,a,i)}function cv(t,e,r,n,i,o){let s=Us(t,e,i,r),a=pv(s)?Ls:Ln;return o(s[0],a,n)}function lv(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 y=0;y<m;y++){let T=this.LA_FAST(y+1);if(r(T,p[y])===!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 uv(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 Ig=class extends On{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)}},Jf=class extends Wt{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 sv(t){let e=new Array(t);for(let r=0;r<t;r++)e[r]=[];return e}function Ag(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 wL(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 fv(t,e){let r=t.map(s=>Zf([s],1)),n=sv(r.length),i=r.map(s=>{let a={};return s.forEach(c=>{Ag(c.partialPath).forEach(u=>{a[u]=!0})}),a}),o=r;for(let s=1;s<=e;s++){let a=o;o=sv(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=Ag(f);if(wL(i,p,c)||d.length===0||f.length===e){let y=n[c];if(ed(y,f)===!1){y.push(f);for(let T=0;T<p.length;T++){let _=p[T];i[c][_]=!0}}}else{let y=Zf(d,s+1,f);o[c]=o[c].concat(y),y.forEach(T=>{Ag(T.partialPath).forEach(v=>{i[c][v]=!0})})}}}}return n}function Fs(t,e,r,n){let i=new Jf(t,lt.ALTERNATION,n);return e.accept(i),fv(i.result,r)}function Us(t,e,r,n){let i=new Jf(t,r);e.accept(i);let o=i.result,a=new Ig(e,t,r).startWalking(),c=new Ze({definition:o}),l=new Ze({definition:a});return fv([c,l],n)}function ed(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 dv(t,e){return t.length<e.length&&t.every((r,n)=>{let i=e[n];return r===i||i.categoryMatchesMap[r.tokenTypeIdx]})}function pv(t){return t.every(e=>e.every(r=>r.every(n=>n.categoryMatches.length===0)))}function hv(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 mv(t,e,r,n){let i=t.flatMap(c=>bL(c,r)),o=CL(t,e,r),s=t.flatMap(c=>SL(c,r)),a=t.flatMap(c=>IL(c,t,n,r));return i.concat(o,s,a)}function bL(t,e){let r=new Sg;t.accept(r);let n=r.allProductions,i=Object.groupBy(n,AL),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:It.DUPLICATE_PRODUCTIONS,ruleName:t.name,dslName:u,occurrence:c.idx},d=gv(c);return d&&(f.parameter=d),f})}function AL(t){return`${rr(t)}_#_${t.idx}_#_${gv(t)}`}function gv(t){return t instanceof Te?t.terminalType.name:t instanceof Be?t.nonTerminalName:""}var Sg=class extends Wt{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 IL(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 yv(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 Ng(t,e,r,n=[]){let i=[],o=td(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),Ng(t,f,r,d)});return i.concat(u)}}function td(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 Ze||r instanceof Ge||r instanceof Je||r instanceof Qe||r instanceof qe||r instanceof Re)e=e.concat(td(r.definition));else if(r instanceof We)e=r.definition.map(o=>td(o.definition)).flat();else if(!(r instanceof Te))throw Error("non exhaustive match");let n=vo(r),i=t.length>1;if(n&&i){let o=t.slice(1);return e.concat(td(o))}else return e}var il=class extends Wt{constructor(){super(...arguments),this.alternations=[]}visitAlternation(e){this.alternations.push(e)}};function xv(t,e){let r=new il;return t.accept(r),r.alternations.flatMap(o=>o.definition.slice(0,-1).flatMap((a,c)=>ov([a],[],Ln,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 Tv(t,e,r){let n=new il;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=Fs(a,t,c,s),u=kL(l,s,t,r),f=NL(l,s,t,r);return u.concat(f)})}var kg=class extends Wt{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 SL(t,e){let r=new il;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 _v(t,e,r){let n=[];return t.forEach(i=>{let o=new kg;i.accept(o),o.allProductions.forEach(a=>{let c=nl(a),l=a.maxLookahead||e,u=a.idx;if(Us(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 kL(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&&ed(d,u)&&e.definition[p].ignoreAmbiguities!==!0&&f.push(p)}),f.length>1&&!ed(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 NL(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&&dv(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 CL(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 Ev(t){let e=Object.assign({errMsgProvider:nv},t),r={};return t.rules.forEach(n=>{r[n.name]=n}),iv(r,e.errMsgProvider)}function vv(t){var e;let r=(e=t.errMsgProvider)!==null&&e!==void 0?e:Gr;return mv(t.rules,t.tokenTypes,r,t.grammarName)}var Rv="MismatchedTokenException",wv="NoViableAltException",bv="EarlyExitException",Av="NotAllInputParsedException",Iv=[Rv,wv,bv,Av];Object.freeze(Iv);function Ti(t){return Iv.includes(t.name)}var Bs=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)}},bo=class extends Bs{constructor(e,r,n){super(e,r),this.previousToken=n,this.name=Rv}},ol=class extends Bs{constructor(e,r,n){super(e,r),this.previousToken=n,this.name=wv}},sl=class extends Bs{constructor(e,r){super(e,r),this.name=Av}},al=class extends Bs{constructor(e,r,n){super(e,r),this.previousToken=n,this.name=bv}};var Cg={},Og="InRuleRecoveryException",Pg=class extends Error{constructor(e){super(e),this.name=Og}},rd=class{initRecoverable(e){this.firstAfterRepMap={},this.resyncFollows={},this.recoveryEnabled=Object.hasOwn(e,"recoveryEnabled")?e.recoveryEnabled:Yt.recoveryEnabled,this.recoveryEnabled&&(this.attemptInRepetitionRecovery=PL)}getTokenToInsert(e){let r=Mn(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 bo(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 Vf(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 Pg("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=>$s(r,o));if(i!==void 0)return i;r=this.LA(n),n++}}getCurrFollowKey(){if(this.RULE_STACK_IDX===0)return Cg;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]=Cg: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===Cg)return[Vt];let r=e.ruleName+e.idxInCallingRule+Xf+e.inRule;return this.resyncFollows[r]}addToResyncTokens(e,r){return this.tokenMatcher(e,Vt)||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 PL(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=Vt,u=1),!(l===void 0||u===void 0)&&this.shouldInRepetitionRecoveryBeTried(l,u,s)&&this.tryInRepetitionRecovery(t,e,r,l)}function nd(t,e,r){return r|e|t}var Un=class{constructor(e){var r;this.maxLookahead=(r=e?.maxLookahead)!==null&&r!==void 0?r:Yt.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=>Ng(r,r,Gr))}validateEmptyOrAlternatives(e){return e.flatMap(r=>xv(r,Gr))}validateAmbiguousAlternationAlternatives(e,r){return e.flatMap(n=>Tv(n,r,Gr))}validateSomeNonEmptyLookaheadPath(e,r){return _v(e,r,Gr)}buildLookaheadForAlternation(e){return av(e.prodOccurrence,e.rule,e.maxLookahead,e.hasPredicates,e.dynamicTokensEnabled,lv)}buildLookaheadForOptional(e){return cv(e.prodOccurrence,e.rule,e.maxLookahead,e.dynamicTokensEnabled,nl(e.prodType),uv)}};var od=class{initLooksAhead(e){this.dynamicTokensEnabled=Object.hasOwn(e,"dynamicTokensEnabled")?e.dynamicTokensEnabled:Yt.dynamicTokensEnabled,this.maxLookahead=Object.hasOwn(e,"maxLookahead")?e.maxLookahead:Yt.maxLookahead,this.lookaheadStrategy=Object.hasOwn(e,"lookaheadStrategy")?e.lookaheadStrategy:new Un({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}=OL(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=nd(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=nd(this.fullRuleNameToShort[e.name],n,r);this.setLaFuncCache(c,a)})}getKeyForAutomaticLookahead(e,r){return nd(this.currRuleShortName,e,r)}getLaFuncFromCache(e){return this.lookAheadFuncsCache.get(e)}setLaFuncCache(e,r){this.lookAheadFuncsCache.set(e,r)}},Lg=class extends Wt{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)}},id=new Lg;function OL(t){id.reset(),t.accept(id);let e=id.dslMethods;return id.reset(),e}function Mg(t,e){isNaN(t.startOffset)===!0?(t.startOffset=e.startOffset,t.endOffset=e.endOffset):t.endOffset<e.endOffset&&(t.endOffset=e.endOffset)}function Fg(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 Sv(t,e,r){t.children[r]===void 0?t.children[r]=[e]:t.children[r].push(e)}function kv(t,e,r){t.children[e]===void 0?t.children[e]=[r]:t.children[e].push(r)}var LL="name";function Ug(t,e){Object.defineProperty(t,LL,{enumerable:!1,configurable:!0,writable:!1,value:e})}function DL(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 Nv(t,e){let r=function(){};Ug(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=$L(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 qt?e=t.topLevelRule.name:e=t.topLevelRule,`Duplicate definition, rule: ->${e}<- is already defined in the grammar: ->${t.grammarName}<-`}};function lv(t,e){let r=new Ag(t,e);return r.resolveRefs(),r.errors}var Ag=class extends Wt{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 Ig=class extends On{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())}},Kf=class extends Ig{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 Ze({definition:i});this.possibleTokTypes=wo(o),this.found=!0}}},Fs=class extends On{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}},Zf=class extends Fs{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)}},rl=class extends Fs{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 Fs{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)}},nl=class extends Fs{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 Qf(t,e,r=[]){r=[...r];let n=[],i=0;function o(a){return a.concat(t.slice(i+1))}function s(a){let c=Qf(o(a),e,r);return n.concat(c)}for(;r.length<e&&i<t.length;){let a=t[i];if(a instanceof Ze)return s(a.definition);if(a instanceof Be)return s(a.definition);if(a instanceof Ge)n=s(a.definition);else if(a instanceof Je){let c=a.definition.concat([new we({definition:a.definition})]);return s(c)}else if(a instanceof Qe){let c=[new Ze({definition:a.definition}),new we({definition:[new Te({terminalType:a.separator})].concat(a.definition)})];return s(c)}else if(a instanceof qe){let c=a.definition.concat([new we({definition:[new Te({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 We)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 uv(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,y=d.ruleStack,_=d.occurrenceStack;if(p.length===0)continue;let E=p[0];if(E===i){let T={idx:m,def:p.slice(1),ruleStack:y.slice(0,-1),occurrenceStack:_.slice(0,-1)};f.push(T)}else if(E instanceof Te)if(m<c-1){let T=m+1,v=e[T];if(r(v,E.terminalType)){let S={idx:T,def:p.slice(1),ruleStack:y,occurrenceStack:_};f.push(S)}}else if(m===c-1)u.push({nextTokenType:E.terminalType,nextTokenOccurrence:E.idx,ruleStack:y,occurrenceStack:_}),a=!0;else throw Error("non exhaustive match");else if(E instanceof Be){let T=[...y];T.push(E.nonTerminalName);let v=[..._];v.push(E.idx);let S={idx:m,def:E.definition.concat(o,p.slice(1)),ruleStack:T,occurrenceStack:v};f.push(S)}else if(E instanceof Ge){let T={idx:m,def:p.slice(1),ruleStack:y,occurrenceStack:_};f.push(T),f.push(s);let v={idx:m,def:E.definition.concat(p.slice(1)),ruleStack:y,occurrenceStack:_};f.push(v)}else if(E instanceof Je){let T=new we({definition:E.definition,idx:E.idx}),v=E.definition.concat([T],p.slice(1)),S={idx:m,def:v,ruleStack:y,occurrenceStack:_};f.push(S)}else if(E instanceof Qe){let T=new Te({terminalType:E.separator}),v=new we({definition:[T].concat(E.definition),idx:E.idx}),S=E.definition.concat([v],p.slice(1)),D={idx:m,def:S,ruleStack:y,occurrenceStack:_};f.push(D)}else if(E instanceof qe){let T={idx:m,def:p.slice(1),ruleStack:y,occurrenceStack:_};f.push(T),f.push(s);let v=new Te({terminalType:E.separator}),S=new we({definition:[v].concat(E.definition),idx:E.idx}),D=E.definition.concat([S],p.slice(1)),N={idx:m,def:D,ruleStack:y,occurrenceStack:_};f.push(N)}else if(E instanceof we){let T={idx:m,def:p.slice(1),ruleStack:y,occurrenceStack:_};f.push(T),f.push(s);let v=new we({definition:E.definition,idx:E.idx}),S=E.definition.concat([v],p.slice(1)),D={idx:m,def:S,ruleStack:y,occurrenceStack:_};f.push(D)}else if(E instanceof We)for(let T=E.definition.length-1;T>=0;T--){let v=E.definition[T],S={idx:m,def:v.definition.concat(p.slice(1)),ruleStack:y,occurrenceStack:_};f.push(S),f.push(s)}else if(E instanceof Ze)f.push({idx:m,def:E.definition.concat(p.slice(1)),ruleStack:y,occurrenceStack:_});else if(E instanceof qt)f.push(PL(E,m,y,_));else throw Error("non exhaustive match")}return u}function PL(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 il(t){if(t instanceof Ge||t==="Option")return lt.OPTION;if(t instanceof we||t==="Repetition")return lt.REPETITION;if(t instanceof Je||t==="RepetitionMandatory")return lt.REPETITION_MANDATORY;if(t instanceof Qe||t==="RepetitionMandatoryWithSeparator")return lt.REPETITION_MANDATORY_WITH_SEPARATOR;if(t instanceof qe||t==="RepetitionWithSeparator")return lt.REPETITION_WITH_SEPARATOR;if(t instanceof We||t==="Alternation")return lt.ALTERNATION;throw Error("non exhaustive match")}function td(t){let{occurrence:e,rule:r,prodType:n,maxLookahead:i}=t,o=il(n);return o===lt.ALTERNATION?Us(e,r,i):Bs(e,r,o,i)}function dv(t,e,r,n,i,o){let s=Us(t,e,r),a=xv(s)?Ds:Ln;return o(s,n,a,i)}function pv(t,e,r,n,i,o){let s=Bs(t,e,i,r),a=xv(s)?Ds:Ln;return o(s[0],a,n)}function hv(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 y=0;y<m;y++){let _=this.LA_FAST(y+1);if(r(_,p[y])===!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 mv(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 kg=class extends On{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)}},ed=class extends Wt{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 fv(t){let e=new Array(t);for(let r=0;r<t;r++)e[r]=[];return e}function Sg(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 OL(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 gv(t,e){let r=t.map(s=>Qf([s],1)),n=fv(r.length),i=r.map(s=>{let a={};return s.forEach(c=>{Sg(c.partialPath).forEach(u=>{a[u]=!0})}),a}),o=r;for(let s=1;s<=e;s++){let a=o;o=fv(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=Sg(f);if(OL(i,p,c)||d.length===0||f.length===e){let y=n[c];if(rd(y,f)===!1){y.push(f);for(let _=0;_<p.length;_++){let E=p[_];i[c][E]=!0}}}else{let y=Qf(d,s+1,f);o[c]=o[c].concat(y),y.forEach(_=>{Sg(_.partialPath).forEach(T=>{i[c][T]=!0})})}}}}return n}function Us(t,e,r,n){let i=new ed(t,lt.ALTERNATION,n);return e.accept(i),gv(i.result,r)}function Bs(t,e,r,n){let i=new ed(t,r);e.accept(i);let o=i.result,a=new kg(e,t,r).startWalking(),c=new Ze({definition:o}),l=new Ze({definition:a});return gv([c,l],n)}function rd(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 yv(t,e){return t.length<e.length&&t.every((r,n)=>{let i=e[n];return r===i||i.categoryMatchesMap[r.tokenTypeIdx]})}function xv(t){return t.every(e=>e.every(r=>r.every(n=>n.categoryMatches.length===0)))}function Tv(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 _v(t,e,r,n){let i=t.flatMap(c=>LL(c,r)),o=BL(t,e,r),s=t.flatMap(c=>ML(c,r)),a=t.flatMap(c=>$L(c,t,n,r));return i.concat(o,s,a)}function LL(t,e){let r=new Ng;t.accept(r);let n=r.allProductions,i=Object.groupBy(n,DL),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:It.DUPLICATE_PRODUCTIONS,ruleName:t.name,dslName:u,occurrence:c.idx},d=Ev(c);return d&&(f.parameter=d),f})}function DL(t){return`${rr(t)}_#_${t.idx}_#_${Ev(t)}`}function Ev(t){return t instanceof Te?t.terminalType.name:t instanceof Be?t.nonTerminalName:""}var Ng=class extends Wt{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 $L(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 vv(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 Pg(t,e,r,n=[]){let i=[],o=nd(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),Pg(t,f,r,d)});return i.concat(u)}}function nd(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 Ze||r instanceof Ge||r instanceof Je||r instanceof Qe||r instanceof qe||r instanceof we)e=e.concat(nd(r.definition));else if(r instanceof We)e=r.definition.map(o=>nd(o.definition)).flat();else if(!(r instanceof Te))throw Error("non exhaustive match");let n=vo(r),i=t.length>1;if(n&&i){let o=t.slice(1);return e.concat(nd(o))}else return e}var ol=class extends Wt{constructor(){super(...arguments),this.alternations=[]}visitAlternation(e){this.alternations.push(e)}};function wv(t,e){let r=new ol;return t.accept(r),r.alternations.flatMap(o=>o.definition.slice(0,-1).flatMap((a,c)=>uv([a],[],Ln,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 Rv(t,e,r){let n=new ol;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=Us(a,t,c,s),u=FL(l,s,t,r),f=UL(l,s,t,r);return u.concat(f)})}var Cg=class extends Wt{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 ML(t,e){let r=new ol;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 bv(t,e,r){let n=[];return t.forEach(i=>{let o=new Cg;i.accept(o),o.allProductions.forEach(a=>{let c=il(a),l=a.maxLookahead||e,u=a.idx;if(Bs(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 FL(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&&rd(d,u)&&e.definition[p].ignoreAmbiguities!==!0&&f.push(p)}),f.length>1&&!rd(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 UL(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&&yv(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 BL(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 Av(t){let e=Object.assign({errMsgProvider:cv},t),r={};return t.rules.forEach(n=>{r[n.name]=n}),lv(r,e.errMsgProvider)}function Iv(t){var e;let r=(e=t.errMsgProvider)!==null&&e!==void 0?e:Gr;return _v(t.rules,t.tokenTypes,r,t.grammarName)}var Sv="MismatchedTokenException",kv="NoViableAltException",Nv="EarlyExitException",Cv="NotAllInputParsedException",Pv=[Sv,kv,Nv,Cv];Object.freeze(Pv);function Ti(t){return Pv.includes(t.name)}var Gs=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)}},bo=class extends Gs{constructor(e,r,n){super(e,r),this.previousToken=n,this.name=Sv}},sl=class extends Gs{constructor(e,r,n){super(e,r),this.previousToken=n,this.name=kv}},al=class extends Gs{constructor(e,r){super(e,r),this.name=Cv}},cl=class extends Gs{constructor(e,r,n){super(e,r),this.previousToken=n,this.name=Nv}};var Og={},Dg="InRuleRecoveryException",Lg=class extends Error{constructor(e){super(e),this.name=Dg}},id=class{initRecoverable(e){this.firstAfterRepMap={},this.resyncFollows={},this.recoveryEnabled=Object.hasOwn(e,"recoveryEnabled")?e.recoveryEnabled:Yt.recoveryEnabled,this.recoveryEnabled&&(this.attemptInRepetitionRecovery=GL)}getTokenToInsert(e){let r=Mn(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 bo(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 Kf(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 Lg("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=>Ms(r,o));if(i!==void 0)return i;r=this.LA(n),n++}}getCurrFollowKey(){if(this.RULE_STACK_IDX===0)return Og;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]=Og: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===Og)return[Vt];let r=e.ruleName+e.idxInCallingRule+zf+e.inRule;return this.resyncFollows[r]}addToResyncTokens(e,r){return this.tokenMatcher(e,Vt)||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 GL(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=Vt,u=1),!(l===void 0||u===void 0)&&this.shouldInRepetitionRecoveryBeTried(l,u,s)&&this.tryInRepetitionRecovery(t,e,r,l)}function od(t,e,r){return r|e|t}var Un=class{constructor(e){var r;this.maxLookahead=(r=e?.maxLookahead)!==null&&r!==void 0?r:Yt.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=>Pg(r,r,Gr))}validateEmptyOrAlternatives(e){return e.flatMap(r=>wv(r,Gr))}validateAmbiguousAlternationAlternatives(e,r){return e.flatMap(n=>Rv(n,r,Gr))}validateSomeNonEmptyLookaheadPath(e,r){return bv(e,r,Gr)}buildLookaheadForAlternation(e){return dv(e.prodOccurrence,e.rule,e.maxLookahead,e.hasPredicates,e.dynamicTokensEnabled,hv)}buildLookaheadForOptional(e){return pv(e.prodOccurrence,e.rule,e.maxLookahead,e.dynamicTokensEnabled,il(e.prodType),mv)}};var ad=class{initLooksAhead(e){this.dynamicTokensEnabled=Object.hasOwn(e,"dynamicTokensEnabled")?e.dynamicTokensEnabled:Yt.dynamicTokensEnabled,this.maxLookahead=Object.hasOwn(e,"maxLookahead")?e.maxLookahead:Yt.maxLookahead,this.lookaheadStrategy=Object.hasOwn(e,"lookaheadStrategy")?e.lookaheadStrategy:new Un({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}=XL(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=od(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=od(this.fullRuleNameToShort[e.name],n,r);this.setLaFuncCache(c,a)})}getKeyForAutomaticLookahead(e,r){return od(this.currRuleShortName,e,r)}getLaFuncFromCache(e){return this.lookAheadFuncsCache.get(e)}setLaFuncCache(e,r){this.lookAheadFuncsCache.set(e,r)}},$g=class extends Wt{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)}},sd=new $g;function XL(t){sd.reset(),t.accept(sd);let e=sd.dslMethods;return sd.reset(),e}function Ug(t,e){isNaN(t.startOffset)===!0?(t.startOffset=e.startOffset,t.endOffset=e.endOffset):t.endOffset<e.endOffset&&(t.endOffset=e.endOffset)}function Bg(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 Ov(t,e,r){t.children[r]===void 0?t.children[r]=[e]:t.children[r].push(e)}function Lv(t,e,r){t.children[e]===void 0?t.children[e]=[r]:t.children[e].push(r)}var HL="name";function Gg(t,e){Object.defineProperty(t,HL,{enumerable:!1,configurable:!0,writable:!1,value:e})}function zL(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 Dv(t,e){let r=function(){};Gg(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=jL(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 Cv(t,e,r){let n=function(){};Ug(n,t+"BaseSemanticsWithDefaults");let i=Object.create(r.prototype);return e.forEach(o=>{i[o]=DL}),n.prototype=i,n.prototype.constructor=n,n}var Bg;(function(t){t[t.REDUNDANT_METHOD=0]="REDUNDANT_METHOD",t[t.MISSING_METHOD=1]="MISSING_METHOD"})(Bg||(Bg={}));function $L(t,e){return ML(t,e)}function ML(t,e){return e.filter(i=>typeof t[i]!="function").map(i=>({msg:`Missing visitor method: <${i}> on ${t.constructor.name} CST Visitor.`,type:Bg.MISSING_METHOD,methodName:i})).filter(Boolean)}var ld=class{initTreeBuilder(e){if(this.CST_STACK=[],this.outputCst=e.outputCst,this.nodeLocationTracking=Object.hasOwn(e,"nodeLocationTracking")?e.nodeLocationTracking:Yt.nodeLocationTracking,!this.outputCst)this.cstInvocationStateUpdate=()=>{},this.cstFinallyStateUpdate=()=>{},this.cstPostTerminal=()=>{},this.cstPostNonTerminal=()=>{},this.cstPostRule=()=>{};else if(/full/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=Fg,this.setNodeLocationFromNode=Fg,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=Mg,this.setNodeLocationFromNode=Mg,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];Sv(n,r,e),this.setNodeLocationFromToken(n.location,r)}cstPostNonTerminal(e,r){let n=this.CST_STACK[this.CST_STACK.length-1];kv(n,r,e),this.setNodeLocationFromNode(n.location,e.location)}getBaseCstVisitorConstructor(){if(this.baseCstVisitorConstructor===void 0){let e=Nv(this.className,Object.keys(this.gastProductionsCache));return this.baseCstVisitorConstructor=e,e}return this.baseCstVisitorConstructor}getBaseCstVisitorConstructorWithDefaults(){if(this.baseCstVisitorWithDefaultsConstructor===void 0){let e=Cv(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 ud=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)):Bn}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?Bn: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 fd=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=Gs){if(this.definedRulesNames.includes(e)){let s={message:Gr.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=Gs){let i=yv(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(Ti(s))return!1;throw s}finally{this.reloadRecogState(o),this.isBackTrackingStack.pop()}}}getGAstProductions(){return this.gastProductionsCache}getSerializedGastProductions(){return Gf(Object.values(this.gastProductionsCache))}};var dd=class{initRecognizerEngine(e,r){if(this.className=this.constructor.name,this.shortRuleNameToFull={},this.fullRuleNameToShort={},this.ruleShortNameIdx=256,this.tokenMatcher=Ls,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 $v(t,e,r){let n=function(){};Gg(n,t+"BaseSemanticsWithDefaults");let i=Object.create(r.prototype);return e.forEach(o=>{i[o]=zL}),n.prototype=i,n.prototype.constructor=n,n}var Xg;(function(t){t[t.REDUNDANT_METHOD=0]="REDUNDANT_METHOD",t[t.MISSING_METHOD=1]="MISSING_METHOD"})(Xg||(Xg={}));function jL(t,e){return qL(t,e)}function qL(t,e){return e.filter(i=>typeof t[i]!="function").map(i=>({msg:`Missing visitor method: <${i}> on ${t.constructor.name} CST Visitor.`,type:Xg.MISSING_METHOD,methodName:i})).filter(Boolean)}var fd=class{initTreeBuilder(e){if(this.CST_STACK=[],this.outputCst=e.outputCst,this.nodeLocationTracking=Object.hasOwn(e,"nodeLocationTracking")?e.nodeLocationTracking:Yt.nodeLocationTracking,!this.outputCst)this.cstInvocationStateUpdate=()=>{},this.cstFinallyStateUpdate=()=>{},this.cstPostTerminal=()=>{},this.cstPostNonTerminal=()=>{},this.cstPostRule=()=>{};else if(/full/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=Bg,this.setNodeLocationFromNode=Bg,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=Ug,this.setNodeLocationFromNode=Ug,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];Ov(n,r,e),this.setNodeLocationFromToken(n.location,r)}cstPostNonTerminal(e,r){let n=this.CST_STACK[this.CST_STACK.length-1];Lv(n,r,e),this.setNodeLocationFromNode(n.location,e.location)}getBaseCstVisitorConstructor(){if(this.baseCstVisitorConstructor===void 0){let e=Dv(this.className,Object.keys(this.gastProductionsCache));return this.baseCstVisitorConstructor=e,e}return this.baseCstVisitorConstructor}getBaseCstVisitorConstructorWithDefaults(){if(this.baseCstVisitorWithDefaultsConstructor===void 0){let e=$v(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 dd=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)):Bn}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?Bn: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 pd=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=Xs){if(this.definedRulesNames.includes(e)){let s={message:Gr.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=Xs){let i=vv(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(Ti(s))return!1;throw s}finally{this.reloadRecogState(o),this.isBackTrackingStack.pop()}}}getGAstProductions(){return this.gastProductionsCache}getSerializedGastProductions(){return Hf(Object.values(this.gastProductionsCache))}};var hd=class{initRecognizerEngine(e,r){if(this.className=this.constructor.name,this.shortRuleNameToFull={},this.fullRuleNameToShort={},this.ruleShortNameIdx=256,this.tokenMatcher=Ds,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(Q0)){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=Vt;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?Ds:Ln,Dn(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:Xs.resyncEnabled,o=Object.hasOwn(n,"recoveryValueFunc")?n.recoveryValueFunc:Xs.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(Ti(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,nl],a,1536,e,nl)}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,Zf,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,rl],a,1280,e,rl)}}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 Ti(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 bo(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===Dg?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),Vt)}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(Bn)}onAfterParse(e){if(this.isAtEndOfInput()===!1){let r=this.LA(1),n=this.errorMessageProvider.buildNotAllInputParsedMessage({firstRedundant:r,ruleName:this.getCurrRuleFullName()});this.SAVE_ERROR(new al(n,r))}for(;this.tokVector.at(-1)===Bn;)this.tokVector.pop()}};var md=class{initErrorHandler(e){this._errors=[],this.errorMessageProvider=Object.hasOwn(e,"errorMessageProvider")?e.errorMessageProvider:Yt.errorMessageProvider}SAVE_ERROR(e){if(Ti(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=Bs(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 cl(l,this.LA(1),this.LA(0)))}raiseNoAltException(e,r){let n=this.getCurrRuleFullName(),i=this.getGAstProductions()[n],o=Us(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 sl(c,this.LA(1),a))}};var xd={description:"This Object indicates the Parser is during Recording Phase"};Object.freeze(xd);var Mv=!0,Fv=Math.pow(2,8)-1,Bv=xi({name:"RECORDING_PHASE_TOKEN",pattern:ct.NA});Dn([Bv]);var Gv=Mn(Bv,`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(Gv);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:{}},gd=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 Bn}topLevelRuleRecord(e,r){try{let n=new qt({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 Be({idx:r,nonTerminalName:o,label:n?.LABEL,referencedRule:void 0});return i.definition.push(s),this.outputCst?
|
|
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)
|
|
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 ul.call(this,Ge,e,r)}atLeastOneInternalRecord(e,r){ul.call(this,Je,r,e)}atLeastOneSepFirstInternalRecord(e,r){ul.call(this,Qe,r,e,Mv)}manyInternalRecord(e,r){ul.call(this,we,r,e)}manySepFirstInternalRecord(e,r){ul.call(this,qe,r,e,Mv)}orInternalRecord(e,r){return YL.call(this,e,r)}subruleInternalRecord(e,r,n){if(yd(r),!e||!Object.hasOwn(e,"ruleName")){let a=new Error(`<SUBRULE${Uv(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:xd}consumeInternalRecord(e,r,n){if(yd(r),!Rg(e)){let s=new Error(`<CONSUME${Uv(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),Gv}};function ul(t,e,r,n=!1){yd(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(),xd}function YL(t,e){yd(e);let r=this.recordingProdStack.at(-1),n=Array.isArray(t)===!1,i=n===!1?t:t.DEF,o=new We({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 Ze({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()}),xd}function Uv(t){return t===0?"":`${t}`}function yd(t){if(t<0||t>Fv){let e=new Error(`Invalid DSL Method idx value: <${t}>
|
|
142
|
+
Idx value must be a none negative value smaller than ${Fv+1}`);throw e.KNOWN_RECORDER_ERROR=!0,e}}var Td=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=Yt.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 Xv(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 Bn=Mn(Vt,"",NaN,NaN,NaN,NaN,NaN,NaN);Object.freeze(Bn);var Yt=Object.freeze({recoveryEnabled:!1,maxLookahead:3,dynamicTokensEnabled:!1,outputCst:!0,errorMessageProvider:Fn,nodeLocationTracking:"none",traceInitPerf:!1,skipValidations:!1}),Xs=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 _d(t=void 0){return function(){return t}}var fl=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",()=>{Qc(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=Av({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=Iv({rules:Object.values(this.gastProductionsCache),tokenTypes:Object.values(this.tokensMap),errMsgProvider:Gr,grammarName:r}),o=Tv({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=L0(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:Yt.skipValidations}};ul.DEFER_DEFINITION_ERRORS_HANDLING=!1;Mv(ul,[rd,od,ld,ud,dd,fd,pd,hd,yd]);var fl=class extends ul{constructor(e,r=Yt){let n=Object.assign({},r);n.outputCst=!1,super(e,n)}};function XL(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 Td=XL;function HL(){this.__data__=[],this.size=0}var Fv=HL;function jL(t,e){return t===e||t!==t&&e!==e}var _d=jL;function zL(t,e){for(var r=t.length;r--;)if(_d(t[r][0],e))return r;return-1}var _i=zL;var qL=Array.prototype,WL=qL.splice;function VL(t){var e=this.__data__,r=_i(e,t);if(r<0)return!1;var n=e.length-1;return r==n?e.pop():WL.call(e,r,1),--this.size,!0}var Uv=VL;function YL(t){var e=this.__data__,r=_i(e,t);return r<0?void 0:e[r][1]}var Bv=YL;function KL(t){return _i(this.__data__,t)>-1}var Gv=KL;function ZL(t,e){var r=this.__data__,n=_i(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this}var Xv=ZL;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=Fv;Xs.prototype.delete=Uv;Xs.prototype.get=Bv;Xs.prototype.has=Gv;Xs.prototype.set=Xv;var Ei=Xs;function JL(){this.__data__=new Ei,this.size=0}var Hv=JL;function QL(t){var e=this.__data__,r=e.delete(t);return this.size=e.size,r}var jv=QL;function e1(t){return this.__data__.get(t)}var zv=e1;function t1(t){return this.__data__.has(t)}var qv=t1;var r1=typeof global=="object"&&global&&global.Object===Object&&global,Ed=r1;var n1=typeof self=="object"&&self&&self.Object===Object&&self,i1=Ed||n1||Function("return this")(),Nt=i1;var o1=Nt.Symbol,Kt=o1;var Wv=Object.prototype,s1=Wv.hasOwnProperty,a1=Wv.toString,dl=Kt?Kt.toStringTag:void 0;function c1(t){var e=s1.call(t,dl),r=t[dl];try{t[dl]=void 0;var n=!0}catch{}var i=a1.call(t);return n&&(e?t[dl]=r:delete t[dl]),i}var Vv=c1;var l1=Object.prototype,u1=l1.toString;function f1(t){return u1.call(t)}var Yv=f1;var d1="[object Null]",p1="[object Undefined]",Kv=Kt?Kt.toStringTag:void 0;function h1(t){return t==null?t===void 0?p1:d1:Kv&&Kv in Object(t)?Vv(t):Yv(t)}var Xr=h1;function m1(t){var e=typeof t;return t!=null&&(e=="object"||e=="function")}var Hs=m1;var g1="[object AsyncFunction]",y1="[object Function]",x1="[object GeneratorFunction]",T1="[object Proxy]";function _1(t){if(!Hs(t))return!1;var e=Xr(t);return e==y1||e==x1||e==g1||e==T1}var vd=_1;var E1=Nt["__core-js_shared__"],Rd=E1;var Zv=(function(){var t=/[^.]+$/.exec(Rd&&Rd.keys&&Rd.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""})();function v1(t){return!!Zv&&Zv in t}var Jv=v1;var R1=Function.prototype,w1=R1.toString;function b1(t){if(t!=null){try{return w1.call(t)}catch{}try{return t+""}catch{}}return""}var Gn=b1;var A1=/[\\^$.*+?()[\]{}|]/g,I1=/^\[object .+?Constructor\]$/,S1=Function.prototype,k1=Object.prototype,N1=S1.toString,C1=k1.hasOwnProperty,P1=RegExp("^"+N1.call(C1).replace(A1,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function O1(t){if(!Hs(t)||Jv(t))return!1;var e=vd(t)?P1:I1;return e.test(Gn(t))}var Qv=O1;function L1(t,e){return t?.[e]}var eR=L1;function D1(t,e){var r=eR(t,e);return Qv(r)?r:void 0}var vr=D1;var $1=vr(Nt,"Map"),vi=$1;var M1=vr(Object,"create"),Xn=M1;function F1(){this.__data__=Xn?Xn(null):{},this.size=0}var tR=F1;function U1(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}var rR=U1;var B1="__lodash_hash_undefined__",G1=Object.prototype,X1=G1.hasOwnProperty;function H1(t){var e=this.__data__;if(Xn){var r=e[t];return r===B1?void 0:r}return X1.call(e,t)?e[t]:void 0}var nR=H1;var j1=Object.prototype,z1=j1.hasOwnProperty;function q1(t){var e=this.__data__;return Xn?e[t]!==void 0:z1.call(e,t)}var iR=q1;var W1="__lodash_hash_undefined__";function V1(t,e){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=Xn&&e===void 0?W1:e,this}var oR=V1;function js(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])}}js.prototype.clear=tR;js.prototype.delete=rR;js.prototype.get=nR;js.prototype.has=iR;js.prototype.set=oR;var Xg=js;function Y1(){this.size=0,this.__data__={hash:new Xg,map:new(vi||Ei),string:new Xg}}var sR=Y1;function K1(t){var e=typeof t;return e=="string"||e=="number"||e=="symbol"||e=="boolean"?t!=="__proto__":t===null}var aR=K1;function Z1(t,e){var r=t.__data__;return aR(e)?r[typeof e=="string"?"string":"hash"]:r.map}var Ri=Z1;function J1(t){var e=Ri(this,t).delete(t);return this.size-=e?1:0,e}var cR=J1;function Q1(t){return Ri(this,t).get(t)}var lR=Q1;function eD(t){return Ri(this,t).has(t)}var uR=eD;function tD(t,e){var r=Ri(this,t),n=r.size;return r.set(t,e),this.size+=r.size==n?0:1,this}var fR=tD;function zs(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])}}zs.prototype.clear=sR;zs.prototype.delete=cR;zs.prototype.get=lR;zs.prototype.has=uR;zs.prototype.set=fR;var Ao=zs;var rD=200;function nD(t,e){var r=this.__data__;if(r instanceof Ei){var n=r.__data__;if(!vi||n.length<rD-1)return n.push([t,e]),this.size=++r.size,this;r=this.__data__=new Ao(n)}return r.set(t,e),this.size=r.size,this}var dR=nD;function qs(t){var e=this.__data__=new Ei(t);this.size=e.size}qs.prototype.clear=Hv;qs.prototype.delete=jv;qs.prototype.get=zv;qs.prototype.has=qv;qs.prototype.set=dR;var Ws=qs;var iD="__lodash_hash_undefined__";function oD(t){return this.__data__.set(t,iD),this}var pR=oD;function sD(t){return this.__data__.has(t)}var hR=sD;function wd(t){var e=-1,r=t==null?0:t.length;for(this.__data__=new Ao;++e<r;)this.add(t[e])}wd.prototype.add=wd.prototype.push=pR;wd.prototype.has=hR;var bd=wd;function aD(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 mR=aD;function cD(t,e){return t.has(e)}var Ad=cD;var lD=1,uD=2;function fD(t,e,r,n,i,o){var s=r&lD,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&uD?new bd:void 0;for(o.set(t,e),o.set(e,t);++f<a;){var m=t[f],y=e[f];if(n)var T=s?n(y,m,f,e,t,o):n(m,y,f,t,e,o);if(T!==void 0){if(T)continue;d=!1;break}if(p){if(!mR(e,function(_,v){if(!Ad(p,v)&&(m===_||i(m,_,r,n,o)))return p.push(v)})){d=!1;break}}else if(!(m===y||i(m,y,r,n,o))){d=!1;break}}return o.delete(t),o.delete(e),d}var Id=fD;var dD=Nt.Uint8Array,Hg=dD;function pD(t){var e=-1,r=Array(t.size);return t.forEach(function(n,i){r[++e]=[i,n]}),r}var gR=pD;function hD(t){var e=-1,r=Array(t.size);return t.forEach(function(n){r[++e]=n}),r}var Vs=hD;var mD=1,gD=2,yD="[object Boolean]",xD="[object Date]",TD="[object Error]",_D="[object Map]",ED="[object Number]",vD="[object RegExp]",RD="[object Set]",wD="[object String]",bD="[object Symbol]",AD="[object ArrayBuffer]",ID="[object DataView]",yR=Kt?Kt.prototype:void 0,jg=yR?yR.valueOf:void 0;function SD(t,e,r,n,i,o,s){switch(r){case ID:if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case AD:return!(t.byteLength!=e.byteLength||!o(new Hg(t),new Hg(e)));case yD:case xD:case ED:return _d(+t,+e);case TD:return t.name==e.name&&t.message==e.message;case vD:case wD:return t==e+"";case _D:var a=gR;case RD:var c=n&mD;if(a||(a=Vs),t.size!=e.size&&!c)return!1;var l=s.get(t);if(l)return l==e;n|=gD,s.set(t,e);var u=Id(a(t),a(e),n,i,o,s);return s.delete(t),u;case bD:if(jg)return jg.call(t)==jg.call(e)}return!1}var xR=SD;function kD(t,e){for(var r=-1,n=e.length,i=t.length;++r<n;)t[i+r]=e[r];return t}var Sd=kD;var ND=Array.isArray,He=ND;function CD(t,e,r){var n=e(t);return He(t)?n:Sd(n,r(t))}var TR=CD;function PD(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 kd=PD;function OD(){return[]}var _R=OD;var LD=Object.prototype,DD=LD.propertyIsEnumerable,ER=Object.getOwnPropertySymbols,$D=ER?function(t){return t==null?[]:(t=Object(t),kd(ER(t),function(e){return DD.call(t,e)}))}:_R,vR=$D;function MD(t,e){for(var r=-1,n=Array(t);++r<t;)n[r]=e(r);return n}var RR=MD;function FD(t){return t!=null&&typeof t=="object"}var Hr=FD;var UD="[object Arguments]";function BD(t){return Hr(t)&&Xr(t)==UD}var zg=BD;var wR=Object.prototype,GD=wR.hasOwnProperty,XD=wR.propertyIsEnumerable,HD=zg((function(){return arguments})())?zg:function(t){return Hr(t)&&GD.call(t,"callee")&&!XD.call(t,"callee")},wi=HD;function jD(){return!1}var bR=jD;var SR=typeof exports=="object"&&exports&&!exports.nodeType&&exports,AR=SR&&typeof module=="object"&&module&&!module.nodeType&&module,zD=AR&&AR.exports===SR,IR=zD?Nt.Buffer:void 0,qD=IR?IR.isBuffer:void 0,WD=qD||bR,Io=WD;var VD=9007199254740991,YD=/^(?:0|[1-9]\d*)$/;function KD(t,e){var r=typeof t;return e=e??VD,!!e&&(r=="number"||r!="symbol"&&YD.test(t))&&t>-1&&t%1==0&&t<e}var Nd=KD;var ZD=9007199254740991;function JD(t){return typeof t=="number"&&t>-1&&t%1==0&&t<=ZD}var Ys=JD;var QD="[object Arguments]",e$="[object Array]",t$="[object Boolean]",r$="[object Date]",n$="[object Error]",i$="[object Function]",o$="[object Map]",s$="[object Number]",a$="[object Object]",c$="[object RegExp]",l$="[object Set]",u$="[object String]",f$="[object WeakMap]",d$="[object ArrayBuffer]",p$="[object DataView]",h$="[object Float32Array]",m$="[object Float64Array]",g$="[object Int8Array]",y$="[object Int16Array]",x$="[object Int32Array]",T$="[object Uint8Array]",_$="[object Uint8ClampedArray]",E$="[object Uint16Array]",v$="[object Uint32Array]",rt={};rt[h$]=rt[m$]=rt[g$]=rt[y$]=rt[x$]=rt[T$]=rt[_$]=rt[E$]=rt[v$]=!0;rt[QD]=rt[e$]=rt[d$]=rt[t$]=rt[p$]=rt[r$]=rt[n$]=rt[i$]=rt[o$]=rt[s$]=rt[a$]=rt[c$]=rt[l$]=rt[u$]=rt[f$]=!1;function R$(t){return Hr(t)&&Ys(t.length)&&!!rt[Xr(t)]}var kR=R$;function w$(t){return function(e){return t(e)}}var NR=w$;var CR=typeof exports=="object"&&exports&&!exports.nodeType&&exports,pl=CR&&typeof module=="object"&&module&&!module.nodeType&&module,b$=pl&&pl.exports===CR,qg=b$&&Ed.process,A$=(function(){try{var t=pl&&pl.require&&pl.require("util").types;return t||qg&&qg.binding&&qg.binding("util")}catch{}})(),Wg=A$;var PR=Wg&&Wg.isTypedArray,I$=PR?NR(PR):kR,Ks=I$;var S$=Object.prototype,k$=S$.hasOwnProperty;function N$(t,e){var r=He(t),n=!r&&wi(t),i=!r&&!n&&Io(t),o=!r&&!n&&!i&&Ks(t),s=r||n||i||o,a=s?RR(t.length,String):[],c=a.length;for(var l in t)(e||k$.call(t,l))&&!(s&&(l=="length"||i&&(l=="offset"||l=="parent")||o&&(l=="buffer"||l=="byteLength"||l=="byteOffset")||Nd(l,c)))&&a.push(l);return a}var OR=N$;var C$=Object.prototype;function P$(t){var e=t&&t.constructor,r=typeof e=="function"&&e.prototype||C$;return t===r}var Cd=P$;function O$(t,e){return function(r){return t(e(r))}}var LR=O$;var L$=LR(Object.keys,Object),DR=L$;var D$=Object.prototype,$$=D$.hasOwnProperty;function M$(t){if(!Cd(t))return DR(t);var e=[];for(var r in Object(t))$$.call(t,r)&&r!="constructor"&&e.push(r);return e}var Pd=M$;function F$(t){return t!=null&&Ys(t.length)&&!vd(t)}var bi=F$;function U$(t){return bi(t)?OR(t):Pd(t)}var Zs=U$;function B$(t){return TR(t,Zs,vR)}var Vg=B$;var G$=1,X$=Object.prototype,H$=X$.hasOwnProperty;function j$(t,e,r,n,i,o){var s=r&G$,a=Vg(t),c=a.length,l=Vg(e),u=l.length;if(c!=u&&!s)return!1;for(var f=c;f--;){var d=a[f];if(!(s?d in e:H$.call(e,d)))return!1}var p=o.get(t),m=o.get(e);if(p&&m)return p==e&&m==t;var y=!0;o.set(t,e),o.set(e,t);for(var T=s;++f<c;){d=a[f];var _=t[d],v=e[d];if(n)var E=s?n(v,_,d,e,t,o):n(_,v,d,t,e,o);if(!(E===void 0?_===v||i(_,v,r,n,o):E)){y=!1;break}T||(T=d=="constructor")}if(y&&!T){var S=t.constructor,D=e.constructor;S!=D&&"constructor"in t&&"constructor"in e&&!(typeof S=="function"&&S instanceof S&&typeof D=="function"&&D instanceof D)&&(y=!1)}return o.delete(t),o.delete(e),y}var $R=j$;var z$=vr(Nt,"DataView"),Od=z$;var q$=vr(Nt,"Promise"),Ld=q$;var W$=vr(Nt,"Set"),Ai=W$;var V$=vr(Nt,"WeakMap"),Dd=V$;var MR="[object Map]",Y$="[object Object]",FR="[object Promise]",UR="[object Set]",BR="[object WeakMap]",GR="[object DataView]",K$=Gn(Od),Z$=Gn(vi),J$=Gn(Ld),Q$=Gn(Ai),eM=Gn(Dd),So=Xr;(Od&&So(new Od(new ArrayBuffer(1)))!=GR||vi&&So(new vi)!=MR||Ld&&So(Ld.resolve())!=FR||Ai&&So(new Ai)!=UR||Dd&&So(new Dd)!=BR)&&(So=function(t){var e=Xr(t),r=e==Y$?t.constructor:void 0,n=r?Gn(r):"";if(n)switch(n){case K$:return GR;case Z$:return MR;case J$:return FR;case Q$:return UR;case eM:return BR}return e});var hl=So;var tM=1,XR="[object Arguments]",HR="[object Array]",$d="[object Object]",rM=Object.prototype,jR=rM.hasOwnProperty;function nM(t,e,r,n,i,o){var s=He(t),a=He(e),c=s?HR:hl(t),l=a?HR:hl(e);c=c==XR?$d:c,l=l==XR?$d:l;var u=c==$d,f=l==$d,d=c==l;if(d&&Io(t)){if(!Io(e))return!1;s=!0,u=!1}if(d&&!u)return o||(o=new Ws),s||Ks(t)?Id(t,e,r,n,i,o):xR(t,e,c,r,n,i,o);if(!(r&tM)){var p=u&&jR.call(t,"__wrapped__"),m=f&&jR.call(e,"__wrapped__");if(p||m){var y=p?t.value():t,T=m?e.value():e;return o||(o=new Ws),i(y,T,r,n,o)}}return d?(o||(o=new Ws),$R(t,e,r,n,i,o)):!1}var zR=nM;function qR(t,e,r,n,i){return t===e?!0:t==null||e==null||!Hr(t)&&!Hr(e)?t!==t&&e!==e:zR(t,e,r,n,qR,i)}var Md=qR;var iM=1,oM=2;function sM(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 Ws;if(n)var d=n(l,u,c,t,e,f);if(!(d===void 0?Md(u,l,iM|oM,n,f):d))return!1}}return!0}var WR=sM;function aM(t){return t===t&&!Hs(t)}var Fd=aM;function cM(t){for(var e=Zs(t),r=e.length;r--;){var n=e[r],i=t[n];e[r]=[n,i,Fd(i)]}return e}var VR=cM;function lM(t,e){return function(r){return r==null?!1:r[t]===e&&(e!==void 0||t in Object(r))}}var Ud=lM;function uM(t){var e=VR(t);return e.length==1&&e[0][2]?Ud(e[0][0],e[0][1]):function(r){return r===t||WR(r,t,e)}}var YR=uM;var fM="[object Symbol]";function dM(t){return typeof t=="symbol"||Hr(t)&&Xr(t)==fM}var Ii=dM;var pM=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,hM=/^\w*$/;function mM(t,e){if(He(t))return!1;var r=typeof t;return r=="number"||r=="symbol"||r=="boolean"||t==null||Ii(t)?!0:hM.test(t)||!pM.test(t)||e!=null&&t in Object(e)}var Js=mM;var gM="Expected a function";function Yg(t,e){if(typeof t!="function"||e!=null&&typeof e!="function")throw new TypeError(gM);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(Yg.Cache||Ao),r}Yg.Cache=Ao;var KR=Yg;var yM=500;function xM(t){var e=KR(t,function(n){return r.size===yM&&r.clear(),n}),r=e.cache;return e}var ZR=xM;var TM=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,_M=/\\(\\)?/g,EM=ZR(function(t){var e=[];return t.charCodeAt(0)===46&&e.push(""),t.replace(TM,function(r,n,i,o){e.push(i?o.replace(_M,"$1"):n||r)}),e}),JR=EM;var vM=1/0,QR=Kt?Kt.prototype:void 0,ew=QR?QR.toString:void 0;function tw(t){if(typeof t=="string")return t;if(He(t))return Td(t,tw)+"";if(Ii(t))return ew?ew.call(t):"";var e=t+"";return e=="0"&&1/t==-vM?"-0":e}var rw=tw;function RM(t){return t==null?"":rw(t)}var nw=RM;function wM(t,e){return He(t)?t:Js(t,e)?[t]:JR(nw(t))}var Bd=wM;var bM=1/0;function AM(t){if(typeof t=="string"||Ii(t))return t;var e=t+"";return e=="0"&&1/t==-bM?"-0":e}var Si=AM;function IM(t,e){e=Bd(e,t);for(var r=0,n=e.length;t!=null&&r<n;)t=t[Si(e[r++])];return r&&r==n?t:void 0}var Gd=IM;function SM(t,e,r){var n=t==null?void 0:Gd(t,e);return n===void 0?r:n}var iw=SM;function kM(t,e){return t!=null&&e in Object(t)}var ow=kM;function NM(t,e,r){e=Bd(e,t);for(var n=-1,i=e.length,o=!1;++n<i;){var s=Si(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&&Ys(i)&&Nd(s,i)&&(He(t)||wi(t)))}var sw=NM;function CM(t,e){return t!=null&&sw(t,e,ow)}var aw=CM;var PM=1,OM=2;function LM(t,e){return Js(t)&&Fd(e)?Ud(Si(t),e):function(r){var n=iw(r,t);return n===void 0&&n===e?aw(r,t):Md(e,n,PM|OM)}}var cw=LM;function DM(t){return t}var Qs=DM;function $M(t){return function(e){return e?.[t]}}var lw=$M;function MM(t){return function(e){return Gd(e,t)}}var uw=MM;function FM(t){return Js(t)?lw(Si(t)):uw(t)}var fw=FM;function UM(t){return typeof t=="function"?t:t==null?Qs:typeof t=="object"?He(t)?cw(t[0],t[1]):YR(t):fw(t)}var ki=UM;function BM(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 dw=BM;var GM=dw(),pw=GM;function XM(t,e){return t&&pw(t,e,Zs)}var hw=XM;function HM(t,e){return function(r,n){if(r==null)return r;if(!bi(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 mw=HM;var jM=mw(hw),Ni=jM;function zM(t,e){var r=-1,n=bi(t)?Array(t.length):[];return Ni(t,function(i,o,s){n[++r]=e(i,o,s)}),n}var gw=zM;function qM(t,e){var r=He(t)?Td:gw;return r(t,ki(e,3))}var pr=qM;function WM(t,e){var r=[];return Ni(t,function(n,i,o){e(n,i,o)&&r.push(n)}),r}var yw=WM;function VM(t,e){var r=He(t)?kd:yw;return r(t,ki(e,3))}var xw=VM;function ko(t,e,r){return`${t.name}_${e}_${r}`}var Ci=1,YM=2,Tw=4,_w=5;var No=7,KM=8,ZM=9,JM=10,QM=11,Ew=12,ml=class{constructor(e){this.target=e}isEpsilon(){return!1}},ea=class extends ml{constructor(e,r){super(e),this.tokenType=r}},gl=class extends ml{constructor(e){super(e)}isEpsilon(){return!0}},ta=class extends ml{constructor(e,r,n){super(e),this.rule=r,this.followState=n}isEpsilon(){return!0}};function vw(t){let e={decisionMap:{},decisionStates:[],ruleToStartState:new Map,ruleToStopState:new Map,states:[]};eF(e,t);let r=t.length;for(let n=0;n<r;n++){let i=t[n],o=Co(e,i,i);o!==void 0&&fF(e,i,o)}return e}function eF(t,e){let r=e.length;for(let n=0;n<r;n++){let i=e[n],o=Ct(t,i,void 0,{type:YM}),s=Ct(t,i,void 0,{type:No});o.stop=s,t.ruleToStartState.set(i,o),t.ruleToStopState.set(i,s)}}function Rw(t,e,r){return r instanceof Te?Kg(t,e,r.terminalType,r):r instanceof Be?uF(t,e,r):r instanceof We?oF(t,e,r):r instanceof Ge?sF(t,e,r):r instanceof Re?tF(t,e,r):r instanceof qe?rF(t,e,r):r instanceof Je?nF(t,e,r):r instanceof Qe?iF(t,e,r):Co(t,e,r)}function tF(t,e,r){let n=Ct(t,e,r,{type:_w});Pi(t,n);let i=ra(t,e,n,r,Co(t,e,r));return bw(t,e,r,i)}function rF(t,e,r){let n=Ct(t,e,r,{type:_w});Pi(t,n);let i=ra(t,e,n,r,Co(t,e,r)),o=Kg(t,e,r.separator,r);return bw(t,e,r,i,o)}function nF(t,e,r){let n=Ct(t,e,r,{type:Tw});Pi(t,n);let i=ra(t,e,n,r,Co(t,e,r));return ww(t,e,r,i)}function iF(t,e,r){let n=Ct(t,e,r,{type:Tw});Pi(t,n);let i=ra(t,e,n,r,Co(t,e,r)),o=Kg(t,e,r.separator,r);return ww(t,e,r,i,o)}function oF(t,e,r){let n=Ct(t,e,r,{type:Ci});Pi(t,n);let i=pr(r.definition,s=>Rw(t,e,s));return ra(t,e,n,r,...i)}function sF(t,e,r){let n=Ct(t,e,r,{type:Ci});Pi(t,n);let i=ra(t,e,n,r,Co(t,e,r));return aF(t,e,r,i)}function Co(t,e,r){let n=xw(pr(r.definition,i=>Rw(t,e,i)),i=>i!==void 0);return n.length===1?n[0]:n.length===0?void 0:lF(t,n)}function ww(t,e,r,n,i){let o=n.left,s=n.right,a=Ct(t,e,r,{type:QM});Pi(t,a);let c=Ct(t,e,r,{type:Ew});return o.loopback=a,c.loopback=a,t.decisionMap[ko(e,i?"RepetitionMandatoryWithSeparator":"RepetitionMandatory",r.idx)]=a,Rt(s,a),i===void 0?(Rt(a,o),Rt(a,c)):(Rt(a,c),Rt(a,i.left),Rt(i.right,o)),{left:o,right:c}}function bw(t,e,r,n,i){let o=n.left,s=n.right,a=Ct(t,e,r,{type:JM});Pi(t,a);let c=Ct(t,e,r,{type:Ew}),l=Ct(t,e,r,{type:ZM});return a.loopback=l,c.loopback=l,Rt(a,o),Rt(a,c),Rt(s,l),i!==void 0?(Rt(l,c),Rt(l,i.left),Rt(i.right,o)):Rt(l,a),t.decisionMap[ko(e,i?"RepetitionWithSeparator":"Repetition",r.idx)]=a,{left:a,right:c}}function aF(t,e,r,n){let i=n.left,o=n.right;return Rt(i,o),t.decisionMap[ko(e,"Option",r.idx)]=i,n}function Pi(t,e){return t.decisionStates.push(e),e.decision=t.decisionStates.length-1,e.decision}function ra(t,e,r,n,...i){let o=Ct(t,e,n,{type:KM,start:r});r.end=o;for(let a of i)a!==void 0?(Rt(r,a.left),Rt(a.right,o)):Rt(r,o);let s={left:r,right:o};return t.decisionMap[ko(e,cF(n),n.idx)]=r,s}function cF(t){if(t instanceof We)return"Alternation";if(t instanceof Ge)return"Option";if(t instanceof Re)return"Repetition";if(t instanceof qe)return"RepetitionWithSeparator";if(t instanceof Je)return"RepetitionMandatory";if(t instanceof Qe)return"RepetitionMandatoryWithSeparator";throw new Error("Invalid production type encountered")}function lF(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 ta,l=a,u=e[o+1].left;s.left.type===Ci&&s.right.type===Ci&&a!==void 0&&(c&&l.followState===s.right||a.target===s.right)?(c?l.followState=u:a.target=u,dF(t,s.right)):Rt(s.right,u)}let n=e[0],i=e[r-1];return{left:n.left,right:i.right}}function Kg(t,e,r,n){let i=Ct(t,e,n,{type:Ci}),o=Ct(t,e,n,{type:Ci});return Zg(i,new ea(o,r)),{left:i,right:o}}function uF(t,e,r){let n=r.referencedRule,i=t.ruleToStartState.get(n),o=Ct(t,e,r,{type:Ci}),s=Ct(t,e,r,{type:Ci}),a=new ta(i,n,s);return Zg(o,a),{left:o,right:s}}function fF(t,e,r){let n=t.ruleToStartState.get(e);Rt(n,r.left);let i=t.ruleToStopState.get(e);return Rt(r.right,i),{left:n,right:i}}function Rt(t,e){let r=new gl(e);Zg(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 Zg(t,e){t.transitions.length===0&&(t.epsilonOnlyTransitions=e.isEpsilon()),t.transitions.push(e)}function dF(t,e){t.states.splice(t.states.indexOf(e),1)}var yl={},na=class{constructor(){this.map={},this.configs=[]}get size(){return this.configs.length}finalize(){this.map={}}add(e){let r=Jg(e);r in this.map||(this.map[r]=this.configs.length,this.configs.push(e))}get elements(){return this.configs}get alts(){return pr(this.configs,e=>e.alt)}get key(){let e="";for(let r in this.map)e+=r+":";return e}};function Jg(t,e=!0){return`${e?`a${t.alt}`:""}s${t.state.stateNumber}:${t.stack.map(r=>r.stateNumber.toString()).join("_")}`}function pF(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&&!Ii(s):r(s,a)))var a=s,c=o}return c}var Aw=pF;function hF(t,e){return t<e}var Iw=hF;function mF(t){return t&&t.length?Aw(t,Qs,Iw):void 0}var Sw=mF;var kw=Kt?Kt.isConcatSpreadable:void 0;function gF(t){return He(t)||wi(t)||!!(kw&&t&&t[kw])}var Nw=gF;function Cw(t,e,r,n,i){var o=-1,s=t.length;for(r||(r=Nw),i||(i=[]);++o<s;){var a=t[o];e>0&&r(a)?e>1?Cw(a,e-1,r,n,i):Sd(i,a):n||(i[i.length]=a)}return i}var Xd=Cw;function yF(t,e){return Xd(pr(t,e),1)}var Pw=yF;function xF(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 Ow=xF;function TF(t){return t!==t}var Lw=TF;function _F(t,e,r){for(var n=r-1,i=t.length;++n<i;)if(t[n]===e)return n;return-1}var Dw=_F;function EF(t,e,r){return e===e?Dw(t,e,r):Ow(t,Lw,r)}var $w=EF;function vF(t,e){var r=t==null?0:t.length;return!!r&&$w(t,e,0)>-1}var Mw=vF;function RF(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 Fw=RF;function wF(){}var Uw=wF;var bF=1/0,AF=Ai&&1/Vs(new Ai([,-0]))[1]==bF?function(t){return new Ai(t)}:Uw,Bw=AF;var IF=200;function SF(t,e,r){var n=-1,i=Mw,o=t.length,s=!0,a=[],c=a;if(r)s=!1,i=Fw;else if(o>=IF){var l=e?null:Bw(t);if(l)return Vs(l);s=!1,i=Ad,c=new bd}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 Gw=SF;function kF(t,e){return t&&t.length?Gw(t,ki(e,2)):[]}var Xw=kF;function NF(t){var e=t==null?0:t.length;return e?Xd(t,1):[]}var Hw=NF;function CF(t,e){for(var r=-1,n=t==null?0:t.length;++r<n&&e(t[r],r,t)!==!1;);return t}var jw=CF;function PF(t){return typeof t=="function"?t:Qs}var zw=PF;function OF(t,e){var r=He(t)?jw:Ni;return r(t,zw(e))}var Hd=OF;var LF="[object Map]",DF="[object Set]",$F=Object.prototype,MF=$F.hasOwnProperty;function FF(t){if(t==null)return!0;if(bi(t)&&(He(t)||typeof t=="string"||typeof t.splice=="function"||Io(t)||Ks(t)||wi(t)))return!t.length;var e=hl(t);if(e==LF||e==DF)return!t.size;if(Cd(t))return!Pd(t).length;for(var r in t)if(MF.call(t,r))return!1;return!0}var qw=FF;function UF(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 Ww=UF;function BF(t,e,r,n,i){return i(t,function(o,s,a){r=n?(n=!1,o):e(r,o,s,a)}),r}var Vw=BF;function GF(t,e,r){var n=He(t)?Ww:Vw,i=arguments.length<3;return n(t,ki(e,4),r,i,Ni)}var Qg=GF;function XF(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 jd=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}},Yw=new jd,xl=class extends Un{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=vw(e.rules),this.dfas=HF(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=ko(n,"Alternation",r),f=this.atn.decisionMap[l].decision,d=pr(Qf({maxLookahead:1,occurrence:r,prodType:"Alternation",rule:n}),p=>pr(p,m=>m[0]));if(Kw(d,!1)&&!o){let p=Qg(d,(m,y,T)=>(Hd(y,_=>{_&&(m[_.tokenTypeIdx]=T,Hd(_.categoryMatches,v=>{m[v]=T}))}),m),{});return i?function(m){var y;let T=this.LA_FAST(1),_=p[T.tokenTypeIdx];if(m!==void 0&&_!==void 0){let v=(y=m[_])===null||y===void 0?void 0:y.GATE;if(v!==void 0&&v.call(this)===!1)return}return _}:function(){let m=this.LA_FAST(1);return p[m.tokenTypeIdx]}}else return i?function(p){let m=new jd,y=p===void 0?0:p.length;for(let _=0;_<y;_++){let v=p?.[_].GATE;m.set(_,v===void 0||v.call(this))}let T=ey.call(this,s,f,m,a,c);return typeof T=="number"?T:void 0}:function(){let p=ey.call(this,s,f,Yw,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=ko(n,i,r),f=this.atn.decisionMap[l].decision,d=pr(Qf({maxLookahead:1,occurrence:r,prodType:i,rule:n}),p=>pr(p,m=>m[0]));if(Kw(d)&&d[0][0]&&!o){let p=d[0],m=Hw(p);if(m.length===1&&qw(m[0].categoryMatches)){let T=m[0].tokenTypeIdx;return function(){return this.LA_FAST(1).tokenTypeIdx===T}}else{let y=Qg(m,(T,_)=>(_!==void 0&&(T[_.tokenTypeIdx]=!0,Hd(_.categoryMatches,v=>{T[v]=!0})),T),{});return function(){let T=this.LA_FAST(1);return y[T.tokenTypeIdx]===!0}}}return function(){let p=ey.call(this,s,f,Yw,a,c);return typeof p=="object"?!1:p===0}}};function Kw(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 HF(t){let e=t.decisionStates.length,r=Array(e);for(let n=0;n<e;n++)r[n]=XF(t.decisionStates[n],n);return r}function ey(t,e,r,n,i){let o=t[e](r),s=o.start;if(s===void 0){let c=e2(o.atnStartState);s=Qw(o,Jw(c)),o.start=s}return jF.apply(this,[o,s,r,n,i])}function jF(t,e,r,n,i){let o=e,s=1,a=[],c=this.LA_FAST(s++);for(;;){let l=KF(o,c);if(l===void 0&&(l=zF.apply(this,[t,o,c,s,r,n])),l===yl)return YF(a,o,c);if(l.isAcceptState===!0){if(i===!0&&$s(c,Vt)){let u=c2(o,r);if(u!==void 0)return u}return l.prediction}o=l,a.push(c),c=this.LA(s++)}}function zF(t,e,r,n,i,o){let s=ZF(e.configs,r,i);if(s.size===0)return Zw(t,e,r,yl),yl;let a=Jw(s),c=QF(s,i);if(c!==void 0)a.isAcceptState=!0,a.prediction=c,a.configs.uniqueAlt=c;else if(i2(s)){let l=Sw(s.alts);a.isAcceptState=!0,a.prediction=l,a.configs.uniqueAlt=l,qF.apply(this,[t,n,s.alts,o])}return a=Zw(t,e,r,a),a}function qF(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=WF({topLevelRule:s,ambiguityIndices:r,production:a,prefixPath:i});n(c)}function WF(t){let e=pr(t.prefixPath,i=>$n(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:Yt.skipValidations}};fl.DEFER_DEFINITION_ERRORS_HANDLING=!1;Xv(fl,[id,ad,fd,dd,hd,pd,md,gd,Td]);var dl=class extends fl{constructor(e,r=Yt){let n=Object.assign({},r);n.outputCst=!1,super(e,n)}};function ZL(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 Ed=ZL;function JL(){this.__data__=[],this.size=0}var Hv=JL;function QL(t,e){return t===e||t!==t&&e!==e}var vd=QL;function e1(t,e){for(var r=t.length;r--;)if(vd(t[r][0],e))return r;return-1}var _i=e1;var t1=Array.prototype,r1=t1.splice;function n1(t){var e=this.__data__,r=_i(e,t);if(r<0)return!1;var n=e.length-1;return r==n?e.pop():r1.call(e,r,1),--this.size,!0}var zv=n1;function i1(t){var e=this.__data__,r=_i(e,t);return r<0?void 0:e[r][1]}var jv=i1;function o1(t){return _i(this.__data__,t)>-1}var qv=o1;function s1(t,e){var r=this.__data__,n=_i(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this}var Wv=s1;function Hs(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])}}Hs.prototype.clear=Hv;Hs.prototype.delete=zv;Hs.prototype.get=jv;Hs.prototype.has=qv;Hs.prototype.set=Wv;var Ei=Hs;function a1(){this.__data__=new Ei,this.size=0}var Vv=a1;function c1(t){var e=this.__data__,r=e.delete(t);return this.size=e.size,r}var Yv=c1;function l1(t){return this.__data__.get(t)}var Kv=l1;function u1(t){return this.__data__.has(t)}var Zv=u1;var f1=typeof global=="object"&&global&&global.Object===Object&&global,wd=f1;var d1=typeof self=="object"&&self&&self.Object===Object&&self,p1=wd||d1||Function("return this")(),Nt=p1;var h1=Nt.Symbol,Kt=h1;var Jv=Object.prototype,m1=Jv.hasOwnProperty,g1=Jv.toString,pl=Kt?Kt.toStringTag:void 0;function y1(t){var e=m1.call(t,pl),r=t[pl];try{t[pl]=void 0;var n=!0}catch{}var i=g1.call(t);return n&&(e?t[pl]=r:delete t[pl]),i}var Qv=y1;var x1=Object.prototype,T1=x1.toString;function _1(t){return T1.call(t)}var ew=_1;var E1="[object Null]",v1="[object Undefined]",tw=Kt?Kt.toStringTag:void 0;function w1(t){return t==null?t===void 0?v1:E1:tw&&tw in Object(t)?Qv(t):ew(t)}var Xr=w1;function R1(t){var e=typeof t;return t!=null&&(e=="object"||e=="function")}var zs=R1;var b1="[object AsyncFunction]",A1="[object Function]",I1="[object GeneratorFunction]",S1="[object Proxy]";function k1(t){if(!zs(t))return!1;var e=Xr(t);return e==A1||e==I1||e==b1||e==S1}var Rd=k1;var N1=Nt["__core-js_shared__"],bd=N1;var rw=(function(){var t=/[^.]+$/.exec(bd&&bd.keys&&bd.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""})();function C1(t){return!!rw&&rw in t}var nw=C1;var P1=Function.prototype,O1=P1.toString;function L1(t){if(t!=null){try{return O1.call(t)}catch{}try{return t+""}catch{}}return""}var Gn=L1;var D1=/[\\^$.*+?()[\]{}|]/g,$1=/^\[object .+?Constructor\]$/,M1=Function.prototype,F1=Object.prototype,U1=M1.toString,B1=F1.hasOwnProperty,G1=RegExp("^"+U1.call(B1).replace(D1,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function X1(t){if(!zs(t)||nw(t))return!1;var e=Rd(t)?G1:$1;return e.test(Gn(t))}var iw=X1;function H1(t,e){return t?.[e]}var ow=H1;function z1(t,e){var r=ow(t,e);return iw(r)?r:void 0}var vr=z1;var j1=vr(Nt,"Map"),vi=j1;var q1=vr(Object,"create"),Xn=q1;function W1(){this.__data__=Xn?Xn(null):{},this.size=0}var sw=W1;function V1(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}var aw=V1;var Y1="__lodash_hash_undefined__",K1=Object.prototype,Z1=K1.hasOwnProperty;function J1(t){var e=this.__data__;if(Xn){var r=e[t];return r===Y1?void 0:r}return Z1.call(e,t)?e[t]:void 0}var cw=J1;var Q1=Object.prototype,eD=Q1.hasOwnProperty;function tD(t){var e=this.__data__;return Xn?e[t]!==void 0:eD.call(e,t)}var lw=tD;var rD="__lodash_hash_undefined__";function nD(t,e){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=Xn&&e===void 0?rD:e,this}var uw=nD;function js(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])}}js.prototype.clear=sw;js.prototype.delete=aw;js.prototype.get=cw;js.prototype.has=lw;js.prototype.set=uw;var zg=js;function iD(){this.size=0,this.__data__={hash:new zg,map:new(vi||Ei),string:new zg}}var fw=iD;function oD(t){var e=typeof t;return e=="string"||e=="number"||e=="symbol"||e=="boolean"?t!=="__proto__":t===null}var dw=oD;function sD(t,e){var r=t.__data__;return dw(e)?r[typeof e=="string"?"string":"hash"]:r.map}var wi=sD;function aD(t){var e=wi(this,t).delete(t);return this.size-=e?1:0,e}var pw=aD;function cD(t){return wi(this,t).get(t)}var hw=cD;function lD(t){return wi(this,t).has(t)}var mw=lD;function uD(t,e){var r=wi(this,t),n=r.size;return r.set(t,e),this.size+=r.size==n?0:1,this}var gw=uD;function qs(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])}}qs.prototype.clear=fw;qs.prototype.delete=pw;qs.prototype.get=hw;qs.prototype.has=mw;qs.prototype.set=gw;var Ao=qs;var fD=200;function dD(t,e){var r=this.__data__;if(r instanceof Ei){var n=r.__data__;if(!vi||n.length<fD-1)return n.push([t,e]),this.size=++r.size,this;r=this.__data__=new Ao(n)}return r.set(t,e),this.size=r.size,this}var yw=dD;function Ws(t){var e=this.__data__=new Ei(t);this.size=e.size}Ws.prototype.clear=Vv;Ws.prototype.delete=Yv;Ws.prototype.get=Kv;Ws.prototype.has=Zv;Ws.prototype.set=yw;var Vs=Ws;var pD="__lodash_hash_undefined__";function hD(t){return this.__data__.set(t,pD),this}var xw=hD;function mD(t){return this.__data__.has(t)}var Tw=mD;function Ad(t){var e=-1,r=t==null?0:t.length;for(this.__data__=new Ao;++e<r;)this.add(t[e])}Ad.prototype.add=Ad.prototype.push=xw;Ad.prototype.has=Tw;var Id=Ad;function gD(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 _w=gD;function yD(t,e){return t.has(e)}var Sd=yD;var xD=1,TD=2;function _D(t,e,r,n,i,o){var s=r&xD,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&TD?new Id:void 0;for(o.set(t,e),o.set(e,t);++f<a;){var m=t[f],y=e[f];if(n)var _=s?n(y,m,f,e,t,o):n(m,y,f,t,e,o);if(_!==void 0){if(_)continue;d=!1;break}if(p){if(!_w(e,function(E,T){if(!Sd(p,T)&&(m===E||i(m,E,r,n,o)))return p.push(T)})){d=!1;break}}else if(!(m===y||i(m,y,r,n,o))){d=!1;break}}return o.delete(t),o.delete(e),d}var kd=_D;var ED=Nt.Uint8Array,jg=ED;function vD(t){var e=-1,r=Array(t.size);return t.forEach(function(n,i){r[++e]=[i,n]}),r}var Ew=vD;function wD(t){var e=-1,r=Array(t.size);return t.forEach(function(n){r[++e]=n}),r}var Ys=wD;var RD=1,bD=2,AD="[object Boolean]",ID="[object Date]",SD="[object Error]",kD="[object Map]",ND="[object Number]",CD="[object RegExp]",PD="[object Set]",OD="[object String]",LD="[object Symbol]",DD="[object ArrayBuffer]",$D="[object DataView]",vw=Kt?Kt.prototype:void 0,qg=vw?vw.valueOf:void 0;function MD(t,e,r,n,i,o,s){switch(r){case $D:if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case DD:return!(t.byteLength!=e.byteLength||!o(new jg(t),new jg(e)));case AD:case ID:case ND:return vd(+t,+e);case SD:return t.name==e.name&&t.message==e.message;case CD:case OD:return t==e+"";case kD:var a=Ew;case PD:var c=n&RD;if(a||(a=Ys),t.size!=e.size&&!c)return!1;var l=s.get(t);if(l)return l==e;n|=bD,s.set(t,e);var u=kd(a(t),a(e),n,i,o,s);return s.delete(t),u;case LD:if(qg)return qg.call(t)==qg.call(e)}return!1}var ww=MD;function FD(t,e){for(var r=-1,n=e.length,i=t.length;++r<n;)t[i+r]=e[r];return t}var Nd=FD;var UD=Array.isArray,He=UD;function BD(t,e,r){var n=e(t);return He(t)?n:Nd(n,r(t))}var Rw=BD;function GD(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 Cd=GD;function XD(){return[]}var bw=XD;var HD=Object.prototype,zD=HD.propertyIsEnumerable,Aw=Object.getOwnPropertySymbols,jD=Aw?function(t){return t==null?[]:(t=Object(t),Cd(Aw(t),function(e){return zD.call(t,e)}))}:bw,Iw=jD;function qD(t,e){for(var r=-1,n=Array(t);++r<t;)n[r]=e(r);return n}var Sw=qD;function WD(t){return t!=null&&typeof t=="object"}var Hr=WD;var VD="[object Arguments]";function YD(t){return Hr(t)&&Xr(t)==VD}var Wg=YD;var kw=Object.prototype,KD=kw.hasOwnProperty,ZD=kw.propertyIsEnumerable,JD=Wg((function(){return arguments})())?Wg:function(t){return Hr(t)&&KD.call(t,"callee")&&!ZD.call(t,"callee")},Ri=JD;function QD(){return!1}var Nw=QD;var Ow=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Cw=Ow&&typeof module=="object"&&module&&!module.nodeType&&module,e$=Cw&&Cw.exports===Ow,Pw=e$?Nt.Buffer:void 0,t$=Pw?Pw.isBuffer:void 0,r$=t$||Nw,Io=r$;var n$=9007199254740991,i$=/^(?:0|[1-9]\d*)$/;function o$(t,e){var r=typeof t;return e=e??n$,!!e&&(r=="number"||r!="symbol"&&i$.test(t))&&t>-1&&t%1==0&&t<e}var Pd=o$;var s$=9007199254740991;function a$(t){return typeof t=="number"&&t>-1&&t%1==0&&t<=s$}var Ks=a$;var c$="[object Arguments]",l$="[object Array]",u$="[object Boolean]",f$="[object Date]",d$="[object Error]",p$="[object Function]",h$="[object Map]",m$="[object Number]",g$="[object Object]",y$="[object RegExp]",x$="[object Set]",T$="[object String]",_$="[object WeakMap]",E$="[object ArrayBuffer]",v$="[object DataView]",w$="[object Float32Array]",R$="[object Float64Array]",b$="[object Int8Array]",A$="[object Int16Array]",I$="[object Int32Array]",S$="[object Uint8Array]",k$="[object Uint8ClampedArray]",N$="[object Uint16Array]",C$="[object Uint32Array]",rt={};rt[w$]=rt[R$]=rt[b$]=rt[A$]=rt[I$]=rt[S$]=rt[k$]=rt[N$]=rt[C$]=!0;rt[c$]=rt[l$]=rt[E$]=rt[u$]=rt[v$]=rt[f$]=rt[d$]=rt[p$]=rt[h$]=rt[m$]=rt[g$]=rt[y$]=rt[x$]=rt[T$]=rt[_$]=!1;function P$(t){return Hr(t)&&Ks(t.length)&&!!rt[Xr(t)]}var Lw=P$;function O$(t){return function(e){return t(e)}}var Dw=O$;var $w=typeof exports=="object"&&exports&&!exports.nodeType&&exports,hl=$w&&typeof module=="object"&&module&&!module.nodeType&&module,L$=hl&&hl.exports===$w,Vg=L$&&wd.process,D$=(function(){try{var t=hl&&hl.require&&hl.require("util").types;return t||Vg&&Vg.binding&&Vg.binding("util")}catch{}})(),Yg=D$;var Mw=Yg&&Yg.isTypedArray,$$=Mw?Dw(Mw):Lw,Zs=$$;var M$=Object.prototype,F$=M$.hasOwnProperty;function U$(t,e){var r=He(t),n=!r&&Ri(t),i=!r&&!n&&Io(t),o=!r&&!n&&!i&&Zs(t),s=r||n||i||o,a=s?Sw(t.length,String):[],c=a.length;for(var l in t)(e||F$.call(t,l))&&!(s&&(l=="length"||i&&(l=="offset"||l=="parent")||o&&(l=="buffer"||l=="byteLength"||l=="byteOffset")||Pd(l,c)))&&a.push(l);return a}var Fw=U$;var B$=Object.prototype;function G$(t){var e=t&&t.constructor,r=typeof e=="function"&&e.prototype||B$;return t===r}var Od=G$;function X$(t,e){return function(r){return t(e(r))}}var Uw=X$;var H$=Uw(Object.keys,Object),Bw=H$;var z$=Object.prototype,j$=z$.hasOwnProperty;function q$(t){if(!Od(t))return Bw(t);var e=[];for(var r in Object(t))j$.call(t,r)&&r!="constructor"&&e.push(r);return e}var Ld=q$;function W$(t){return t!=null&&Ks(t.length)&&!Rd(t)}var bi=W$;function V$(t){return bi(t)?Fw(t):Ld(t)}var Js=V$;function Y$(t){return Rw(t,Js,Iw)}var Kg=Y$;var K$=1,Z$=Object.prototype,J$=Z$.hasOwnProperty;function Q$(t,e,r,n,i,o){var s=r&K$,a=Kg(t),c=a.length,l=Kg(e),u=l.length;if(c!=u&&!s)return!1;for(var f=c;f--;){var d=a[f];if(!(s?d in e:J$.call(e,d)))return!1}var p=o.get(t),m=o.get(e);if(p&&m)return p==e&&m==t;var y=!0;o.set(t,e),o.set(e,t);for(var _=s;++f<c;){d=a[f];var E=t[d],T=e[d];if(n)var v=s?n(T,E,d,e,t,o):n(E,T,d,t,e,o);if(!(v===void 0?E===T||i(E,T,r,n,o):v)){y=!1;break}_||(_=d=="constructor")}if(y&&!_){var S=t.constructor,D=e.constructor;S!=D&&"constructor"in t&&"constructor"in e&&!(typeof S=="function"&&S instanceof S&&typeof D=="function"&&D instanceof D)&&(y=!1)}return o.delete(t),o.delete(e),y}var Gw=Q$;var eM=vr(Nt,"DataView"),Dd=eM;var tM=vr(Nt,"Promise"),$d=tM;var rM=vr(Nt,"Set"),Ai=rM;var nM=vr(Nt,"WeakMap"),Md=nM;var Xw="[object Map]",iM="[object Object]",Hw="[object Promise]",zw="[object Set]",jw="[object WeakMap]",qw="[object DataView]",oM=Gn(Dd),sM=Gn(vi),aM=Gn($d),cM=Gn(Ai),lM=Gn(Md),So=Xr;(Dd&&So(new Dd(new ArrayBuffer(1)))!=qw||vi&&So(new vi)!=Xw||$d&&So($d.resolve())!=Hw||Ai&&So(new Ai)!=zw||Md&&So(new Md)!=jw)&&(So=function(t){var e=Xr(t),r=e==iM?t.constructor:void 0,n=r?Gn(r):"";if(n)switch(n){case oM:return qw;case sM:return Xw;case aM:return Hw;case cM:return zw;case lM:return jw}return e});var ml=So;var uM=1,Ww="[object Arguments]",Vw="[object Array]",Fd="[object Object]",fM=Object.prototype,Yw=fM.hasOwnProperty;function dM(t,e,r,n,i,o){var s=He(t),a=He(e),c=s?Vw:ml(t),l=a?Vw:ml(e);c=c==Ww?Fd:c,l=l==Ww?Fd:l;var u=c==Fd,f=l==Fd,d=c==l;if(d&&Io(t)){if(!Io(e))return!1;s=!0,u=!1}if(d&&!u)return o||(o=new Vs),s||Zs(t)?kd(t,e,r,n,i,o):ww(t,e,c,r,n,i,o);if(!(r&uM)){var p=u&&Yw.call(t,"__wrapped__"),m=f&&Yw.call(e,"__wrapped__");if(p||m){var y=p?t.value():t,_=m?e.value():e;return o||(o=new Vs),i(y,_,r,n,o)}}return d?(o||(o=new Vs),Gw(t,e,r,n,i,o)):!1}var Kw=dM;function Zw(t,e,r,n,i){return t===e?!0:t==null||e==null||!Hr(t)&&!Hr(e)?t!==t&&e!==e:Kw(t,e,r,n,Zw,i)}var Ud=Zw;var pM=1,hM=2;function mM(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 Vs;if(n)var d=n(l,u,c,t,e,f);if(!(d===void 0?Ud(u,l,pM|hM,n,f):d))return!1}}return!0}var Jw=mM;function gM(t){return t===t&&!zs(t)}var Bd=gM;function yM(t){for(var e=Js(t),r=e.length;r--;){var n=e[r],i=t[n];e[r]=[n,i,Bd(i)]}return e}var Qw=yM;function xM(t,e){return function(r){return r==null?!1:r[t]===e&&(e!==void 0||t in Object(r))}}var Gd=xM;function TM(t){var e=Qw(t);return e.length==1&&e[0][2]?Gd(e[0][0],e[0][1]):function(r){return r===t||Jw(r,t,e)}}var eR=TM;var _M="[object Symbol]";function EM(t){return typeof t=="symbol"||Hr(t)&&Xr(t)==_M}var Ii=EM;var vM=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,wM=/^\w*$/;function RM(t,e){if(He(t))return!1;var r=typeof t;return r=="number"||r=="symbol"||r=="boolean"||t==null||Ii(t)?!0:wM.test(t)||!vM.test(t)||e!=null&&t in Object(e)}var Qs=RM;var bM="Expected a function";function Zg(t,e){if(typeof t!="function"||e!=null&&typeof e!="function")throw new TypeError(bM);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(Zg.Cache||Ao),r}Zg.Cache=Ao;var tR=Zg;var AM=500;function IM(t){var e=tR(t,function(n){return r.size===AM&&r.clear(),n}),r=e.cache;return e}var rR=IM;var SM=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,kM=/\\(\\)?/g,NM=rR(function(t){var e=[];return t.charCodeAt(0)===46&&e.push(""),t.replace(SM,function(r,n,i,o){e.push(i?o.replace(kM,"$1"):n||r)}),e}),nR=NM;var CM=1/0,iR=Kt?Kt.prototype:void 0,oR=iR?iR.toString:void 0;function sR(t){if(typeof t=="string")return t;if(He(t))return Ed(t,sR)+"";if(Ii(t))return oR?oR.call(t):"";var e=t+"";return e=="0"&&1/t==-CM?"-0":e}var aR=sR;function PM(t){return t==null?"":aR(t)}var cR=PM;function OM(t,e){return He(t)?t:Qs(t,e)?[t]:nR(cR(t))}var Xd=OM;var LM=1/0;function DM(t){if(typeof t=="string"||Ii(t))return t;var e=t+"";return e=="0"&&1/t==-LM?"-0":e}var Si=DM;function $M(t,e){e=Xd(e,t);for(var r=0,n=e.length;t!=null&&r<n;)t=t[Si(e[r++])];return r&&r==n?t:void 0}var Hd=$M;function MM(t,e,r){var n=t==null?void 0:Hd(t,e);return n===void 0?r:n}var lR=MM;function FM(t,e){return t!=null&&e in Object(t)}var uR=FM;function UM(t,e,r){e=Xd(e,t);for(var n=-1,i=e.length,o=!1;++n<i;){var s=Si(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&&Ks(i)&&Pd(s,i)&&(He(t)||Ri(t)))}var fR=UM;function BM(t,e){return t!=null&&fR(t,e,uR)}var dR=BM;var GM=1,XM=2;function HM(t,e){return Qs(t)&&Bd(e)?Gd(Si(t),e):function(r){var n=lR(r,t);return n===void 0&&n===e?dR(r,t):Ud(e,n,GM|XM)}}var pR=HM;function zM(t){return t}var ea=zM;function jM(t){return function(e){return e?.[t]}}var hR=jM;function qM(t){return function(e){return Hd(e,t)}}var mR=qM;function WM(t){return Qs(t)?hR(Si(t)):mR(t)}var gR=WM;function VM(t){return typeof t=="function"?t:t==null?ea:typeof t=="object"?He(t)?pR(t[0],t[1]):eR(t):gR(t)}var ki=VM;function YM(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 yR=YM;var KM=yR(),xR=KM;function ZM(t,e){return t&&xR(t,e,Js)}var TR=ZM;function JM(t,e){return function(r,n){if(r==null)return r;if(!bi(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 _R=JM;var QM=_R(TR),Ni=QM;function eF(t,e){var r=-1,n=bi(t)?Array(t.length):[];return Ni(t,function(i,o,s){n[++r]=e(i,o,s)}),n}var ER=eF;function tF(t,e){var r=He(t)?Ed:ER;return r(t,ki(e,3))}var pr=tF;function rF(t,e){var r=[];return Ni(t,function(n,i,o){e(n,i,o)&&r.push(n)}),r}var vR=rF;function nF(t,e){var r=He(t)?Cd:vR;return r(t,ki(e,3))}var wR=nF;function ko(t,e,r){return`${t.name}_${e}_${r}`}var Ci=1,iF=2,RR=4,bR=5;var No=7,oF=8,sF=9,aF=10,cF=11,AR=12,gl=class{constructor(e){this.target=e}isEpsilon(){return!1}},ta=class extends gl{constructor(e,r){super(e),this.tokenType=r}},yl=class extends gl{constructor(e){super(e)}isEpsilon(){return!0}},ra=class extends gl{constructor(e,r,n){super(e),this.rule=r,this.followState=n}isEpsilon(){return!0}};function IR(t){let e={decisionMap:{},decisionStates:[],ruleToStartState:new Map,ruleToStopState:new Map,states:[]};lF(e,t);let r=t.length;for(let n=0;n<r;n++){let i=t[n],o=Co(e,i,i);o!==void 0&&_F(e,i,o)}return e}function lF(t,e){let r=e.length;for(let n=0;n<r;n++){let i=e[n],o=Ct(t,i,void 0,{type:iF}),s=Ct(t,i,void 0,{type:No});o.stop=s,t.ruleToStartState.set(i,o),t.ruleToStopState.set(i,s)}}function SR(t,e,r){return r instanceof Te?Jg(t,e,r.terminalType,r):r instanceof Be?TF(t,e,r):r instanceof We?hF(t,e,r):r instanceof Ge?mF(t,e,r):r instanceof we?uF(t,e,r):r instanceof qe?fF(t,e,r):r instanceof Je?dF(t,e,r):r instanceof Qe?pF(t,e,r):Co(t,e,r)}function uF(t,e,r){let n=Ct(t,e,r,{type:bR});Pi(t,n);let i=na(t,e,n,r,Co(t,e,r));return NR(t,e,r,i)}function fF(t,e,r){let n=Ct(t,e,r,{type:bR});Pi(t,n);let i=na(t,e,n,r,Co(t,e,r)),o=Jg(t,e,r.separator,r);return NR(t,e,r,i,o)}function dF(t,e,r){let n=Ct(t,e,r,{type:RR});Pi(t,n);let i=na(t,e,n,r,Co(t,e,r));return kR(t,e,r,i)}function pF(t,e,r){let n=Ct(t,e,r,{type:RR});Pi(t,n);let i=na(t,e,n,r,Co(t,e,r)),o=Jg(t,e,r.separator,r);return kR(t,e,r,i,o)}function hF(t,e,r){let n=Ct(t,e,r,{type:Ci});Pi(t,n);let i=pr(r.definition,s=>SR(t,e,s));return na(t,e,n,r,...i)}function mF(t,e,r){let n=Ct(t,e,r,{type:Ci});Pi(t,n);let i=na(t,e,n,r,Co(t,e,r));return gF(t,e,r,i)}function Co(t,e,r){let n=wR(pr(r.definition,i=>SR(t,e,i)),i=>i!==void 0);return n.length===1?n[0]:n.length===0?void 0:xF(t,n)}function kR(t,e,r,n,i){let o=n.left,s=n.right,a=Ct(t,e,r,{type:cF});Pi(t,a);let c=Ct(t,e,r,{type:AR});return o.loopback=a,c.loopback=a,t.decisionMap[ko(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 NR(t,e,r,n,i){let o=n.left,s=n.right,a=Ct(t,e,r,{type:aF});Pi(t,a);let c=Ct(t,e,r,{type:AR}),l=Ct(t,e,r,{type:sF});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[ko(e,i?"RepetitionWithSeparator":"Repetition",r.idx)]=a,{left:a,right:c}}function gF(t,e,r,n){let i=n.left,o=n.right;return wt(i,o),t.decisionMap[ko(e,"Option",r.idx)]=i,n}function Pi(t,e){return t.decisionStates.push(e),e.decision=t.decisionStates.length-1,e.decision}function na(t,e,r,n,...i){let o=Ct(t,e,n,{type:oF,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[ko(e,yF(n),n.idx)]=r,s}function yF(t){if(t instanceof We)return"Alternation";if(t instanceof Ge)return"Option";if(t instanceof we)return"Repetition";if(t instanceof qe)return"RepetitionWithSeparator";if(t instanceof Je)return"RepetitionMandatory";if(t instanceof Qe)return"RepetitionMandatoryWithSeparator";throw new Error("Invalid production type encountered")}function xF(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 ra,l=a,u=e[o+1].left;s.left.type===Ci&&s.right.type===Ci&&a!==void 0&&(c&&l.followState===s.right||a.target===s.right)?(c?l.followState=u:a.target=u,EF(t,s.right)):wt(s.right,u)}let n=e[0],i=e[r-1];return{left:n.left,right:i.right}}function Jg(t,e,r,n){let i=Ct(t,e,n,{type:Ci}),o=Ct(t,e,n,{type:Ci});return Qg(i,new ta(o,r)),{left:i,right:o}}function TF(t,e,r){let n=r.referencedRule,i=t.ruleToStartState.get(n),o=Ct(t,e,r,{type:Ci}),s=Ct(t,e,r,{type:Ci}),a=new ra(i,n,s);return Qg(o,a),{left:o,right:s}}function _F(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 yl(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 EF(t,e){t.states.splice(t.states.indexOf(e),1)}var xl={},ia=class{constructor(){this.map={},this.configs=[]}get size(){return this.configs.length}finalize(){this.map={}}add(e){let r=ey(e);r in this.map||(this.map[r]=this.configs.length,this.configs.push(e))}get elements(){return this.configs}get alts(){return pr(this.configs,e=>e.alt)}get key(){let e="";for(let r in this.map)e+=r+":";return e}};function ey(t,e=!0){return`${e?`a${t.alt}`:""}s${t.state.stateNumber}:${t.stack.map(r=>r.stateNumber.toString()).join("_")}`}function vF(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&&!Ii(s):r(s,a)))var a=s,c=o}return c}var CR=vF;function wF(t,e){return t<e}var PR=wF;function RF(t){return t&&t.length?CR(t,ea,PR):void 0}var OR=RF;var LR=Kt?Kt.isConcatSpreadable:void 0;function bF(t){return He(t)||Ri(t)||!!(LR&&t&&t[LR])}var DR=bF;function $R(t,e,r,n,i){var o=-1,s=t.length;for(r||(r=DR),i||(i=[]);++o<s;){var a=t[o];e>0&&r(a)?e>1?$R(a,e-1,r,n,i):Nd(i,a):n||(i[i.length]=a)}return i}var zd=$R;function AF(t,e){return zd(pr(t,e),1)}var MR=AF;function IF(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 FR=IF;function SF(t){return t!==t}var UR=SF;function kF(t,e,r){for(var n=r-1,i=t.length;++n<i;)if(t[n]===e)return n;return-1}var BR=kF;function NF(t,e,r){return e===e?BR(t,e,r):FR(t,UR,r)}var GR=NF;function CF(t,e){var r=t==null?0:t.length;return!!r&&GR(t,e,0)>-1}var XR=CF;function PF(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 HR=PF;function OF(){}var zR=OF;var LF=1/0,DF=Ai&&1/Ys(new Ai([,-0]))[1]==LF?function(t){return new Ai(t)}:zR,jR=DF;var $F=200;function MF(t,e,r){var n=-1,i=XR,o=t.length,s=!0,a=[],c=a;if(r)s=!1,i=HR;else if(o>=$F){var l=e?null:jR(t);if(l)return Ys(l);s=!1,i=Sd,c=new Id}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 qR=MF;function FF(t,e){return t&&t.length?qR(t,ki(e,2)):[]}var WR=FF;function UF(t){var e=t==null?0:t.length;return e?zd(t,1):[]}var VR=UF;function BF(t,e){for(var r=-1,n=t==null?0:t.length;++r<n&&e(t[r],r,t)!==!1;);return t}var YR=BF;function GF(t){return typeof t=="function"?t:ea}var KR=GF;function XF(t,e){var r=He(t)?YR:Ni;return r(t,KR(e))}var jd=XF;var HF="[object Map]",zF="[object Set]",jF=Object.prototype,qF=jF.hasOwnProperty;function WF(t){if(t==null)return!0;if(bi(t)&&(He(t)||typeof t=="string"||typeof t.splice=="function"||Io(t)||Zs(t)||Ri(t)))return!t.length;var e=ml(t);if(e==HF||e==zF)return!t.size;if(Od(t))return!Ld(t).length;for(var r in t)if(qF.call(t,r))return!1;return!0}var ZR=WF;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 JR=VF;function YF(t,e,r,n,i){return i(t,function(o,s,a){r=n?(n=!1,o):e(r,o,s,a)}),r}var QR=YF;function KF(t,e,r){var n=He(t)?JR:QR,i=arguments.length<3;return n(t,ki(e,4),r,i,Ni)}var ty=KF;function ZF(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 qd=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}},eb=new qd,Tl=class extends Un{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=IR(e.rules),this.dfas=JF(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=ko(n,"Alternation",r),f=this.atn.decisionMap[l].decision,d=pr(td({maxLookahead:1,occurrence:r,prodType:"Alternation",rule:n}),p=>pr(p,m=>m[0]));if(tb(d,!1)&&!o){let p=ty(d,(m,y,_)=>(jd(y,E=>{E&&(m[E.tokenTypeIdx]=_,jd(E.categoryMatches,T=>{m[T]=_}))}),m),{});return i?function(m){var y;let _=this.LA_FAST(1),E=p[_.tokenTypeIdx];if(m!==void 0&&E!==void 0){let T=(y=m[E])===null||y===void 0?void 0:y.GATE;if(T!==void 0&&T.call(this)===!1)return}return E}:function(){let m=this.LA_FAST(1);return p[m.tokenTypeIdx]}}else return i?function(p){let m=new qd,y=p===void 0?0:p.length;for(let E=0;E<y;E++){let T=p?.[E].GATE;m.set(E,T===void 0||T.call(this))}let _=ry.call(this,s,f,m,a,c);return typeof _=="number"?_:void 0}:function(){let p=ry.call(this,s,f,eb,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=ko(n,i,r),f=this.atn.decisionMap[l].decision,d=pr(td({maxLookahead:1,occurrence:r,prodType:i,rule:n}),p=>pr(p,m=>m[0]));if(tb(d)&&d[0][0]&&!o){let p=d[0],m=VR(p);if(m.length===1&&ZR(m[0].categoryMatches)){let _=m[0].tokenTypeIdx;return function(){return this.LA_FAST(1).tokenTypeIdx===_}}else{let y=ty(m,(_,E)=>(E!==void 0&&(_[E.tokenTypeIdx]=!0,jd(E.categoryMatches,T=>{_[T]=!0})),_),{});return function(){let _=this.LA_FAST(1);return y[_.tokenTypeIdx]===!0}}}return function(){let p=ry.call(this,s,f,eb,a,c);return typeof p=="object"?!1:p===0}}};function tb(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 JF(t){let e=t.decisionStates.length,r=Array(e);for(let n=0;n<e;n++)r[n]=ZF(t.decisionStates[n],n);return r}function ry(t,e,r,n,i){let o=t[e](r),s=o.start;if(s===void 0){let c=l2(o.atnStartState);s=ib(o,nb(c)),o.start=s}return QF.apply(this,[o,s,r,n,i])}function QF(t,e,r,n,i){let o=e,s=1,a=[],c=this.LA_FAST(s++);for(;;){let l=o2(o,c);if(l===void 0&&(l=e2.apply(this,[t,o,c,s,r,n])),l===xl)return i2(a,o,c);if(l.isAcceptState===!0){if(i===!0&&Ms(c,Vt)){let u=y2(o,r);if(u!==void 0)return u}return l.prediction}o=l,a.push(c),c=this.LA(s++)}}function e2(t,e,r,n,i,o){let s=s2(e.configs,r,i);if(s.size===0)return rb(t,e,r,xl),xl;let a=nb(s),c=c2(s,i);if(c!==void 0)a.isAcceptState=!0,a.prediction=c,a.configs.uniqueAlt=c;else if(p2(s)){let l=OR(s.alts);a.isAcceptState=!0,a.prediction=l,a.configs.uniqueAlt=l,t2.apply(this,[t,n,s.alts,o])}return a=rb(t,e,r,a),a}function t2(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=r2({topLevelRule:s,ambiguityIndices:r,production:a,prefixPath:i});n(c)}function r2(t){let e=pr(t.prefixPath,i=>$n(i)).join(", "),r=t.production.idx===0?"":t.production.idx,n=`Ambiguous Alternatives Detected: <${t.ambiguityIndices.join(", ")}> in <${n2(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 Be)return"SUBRULE";if(t instanceof Ge)return"OPTION";if(t instanceof We)return"OR";if(t instanceof Je)return"AT_LEAST_ONE";if(t instanceof Qe)return"AT_LEAST_ONE_SEP";if(t instanceof qe)return"MANY_SEP";if(t instanceof Re)return"MANY";if(t instanceof Te)return"CONSUME";throw Error("non exhaustive match")}function YF(t,e,r){let n=Pw(e.configs.elements,o=>o.state.transitions),i=Xw(n.filter(o=>o instanceof ea).map(o=>o.tokenType),o=>o.tokenTypeIdx);return{actualToken:r,possibleTokenTypes:i,tokenPath:t}}function KF(t,e){return t.edges[e.tokenTypeIdx]}function ZF(t,e,r){let n=new na,i=[];for(let s of t.elements){if(r.is(s.alt)===!1)continue;if(s.state.type===No){i.push(s);continue}let a=s.state.transitions.length;for(let c=0;c<a;c++){let l=s.state.transitions[c],u=JF(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 na;for(let s of n.elements)zd(s,o)}if(i.length>0&&!r2(o))for(let s of i)o.add(s);return o}function JF(t,e){if(t instanceof ea&&$s(e,t.tokenType))return t.target}function QF(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 Jw(t){return{configs:t,edges:{},isAcceptState:!1,prediction:-1}}function Zw(t,e,r,n){return n=Qw(t,n),e.edges[r.tokenTypeIdx]=n,n}function Qw(t,e){if(e===yl)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 e2(t){let e=new na,r=t.transitions.length;for(let n=0;n<r;n++){let o={state:t.transitions[n].target,alt:n,stack:[]};zd(o,e)}return e}function zd(t,e){let r=t.state;if(r.type===No){if(t.stack.length>0){let i=[...t.stack],s={state:i.pop(),alt:t.alt,stack:i};zd(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=t2(t,o);s!==void 0&&zd(s,e)}}function t2(t,e){if(e instanceof gl)return{state:e.target,alt:t.alt,stack:t.stack};if(e instanceof ta){let r=[...t.stack,e.followState];return{state:e.target,alt:t.alt,stack:r}}}function r2(t){for(let e of t.elements)if(e.state.type===No)return!0;return!1}function n2(t){for(let e of t.elements)if(e.state.type!==No)return!1;return!0}function i2(t){if(n2(t))return!0;let e=o2(t.elements);return s2(e)&&!a2(e)}function o2(t){let e=new Map;for(let r of t){let n=Jg(r,!1),i=e.get(n);i===void 0&&(i={},e.set(n,i)),i[r.alt]=!0}return e}function s2(t){for(let e of Array.from(t.values()))if(Object.keys(e).length>1)return!0;return!1}function a2(t){for(let e of Array.from(t.values()))if(Object.keys(e).length===1)return!0;return!1}function c2(t,e){let r;for(let n of t.configs.elements)if(!(e.is(n.alt)===!1||n.state.type===No)){if(r===void 0)r=n.alt;else if(r!==n.alt)return}return r}la();var Al=class{constructor(){this.nodeStack=[]}get current(){return this.nodeStack[this.nodeStack.length-1]??this.rootNode}buildRootNode(e){return this.rootNode=new ua(e),this.rootNode.root=this.rootNode,this.nodeStack=[this.rootNode],this.rootNode}buildCompositeNode(e){let r=new Do;return r.grammarSource=e,r.root=this.rootNode,this.current.content.push(r),this.nodeStack.push(r),r}buildLeafNode(e,r){let n=new Lo(e.startOffset,e.image.length,ws(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 Lo(o.startOffset,o.image.length,ws(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)}},Il=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)}},Lo=class extends Il{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}},Do=class extends Il{constructor(){super(...arguments),this.content=new nx(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:Se.create(0,0),end:Se.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]}},nx=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}},ua=class extends Do{get text(){return this._text.substring(this.offset,this.end)}get fullText(){return this._text}constructor(e){super(),this._text="",this._text=e??""}};var tp=Symbol("Datatype");function ix(t){return t.$type===tp}var eb="\u200B",tb=t=>t.endsWith(eb)?t:t+eb,Sl=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 ox(n,{...e.parser.ParserConfig,skipValidations:i,errorMessageProvider:e.parser.ParserErrorMessageProvider},r,e.shared.profilers.LangiumProfiler.createTask("parsing",e.LanguageMetaData.languageId)):this.wrapper=new np(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()}},kl=class extends Sl{get current(){return this.stack[this.stack.length-1]}constructor(e){super(e,!1),this.nodeBuilder=new Al,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;mi(e)&&(i=e.name,this.registerPrecedenceMap(e));let o=this.wrapper.DEFINE_RULE(tb(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 mi(e)?yi(e):e.fragment?void 0:Yc(e)?tp:yi(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,hs(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===tp?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=Er(n)?i.image:this.converter.convert(i.image,s);this.assign(a.operator,a.feature,u,s,c)}else if(ix(l)){let u=i.image;Er(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(ix(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)):ix(e)?this.converter.convert(e.value,e.$cstNode):(Im(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 y=0;y<i.length;y++){let T=i[y],_=r.get(T)??{precedence:1/0,rightAssoc:!1};_.precedence>s?(s=_.precedence,o=y):_.precedence===s&&(_.rightAssoc||(o=y))}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}},rp=class{buildMismatchTokenMessage(e){return Fn.buildMismatchTokenMessage(e)}buildNotAllInputParsedMessage(e){return Fn.buildNotAllInputParsedMessage(e)}buildNoViableAltMessage(e){return Fn.buildNoViableAltMessage(e)}buildEarlyExitMessage(e){return Fn.buildEarlyExitMessage(e)}},fa=class extends rp{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}\`.`}},Nl=class extends Sl{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(tb(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}},u2={recoveryEnabled:!0,nodeLocationTracking:"full",skipValidations:!0,errorMessageProvider:new fa},np=class extends fl{constructor(e,r,n){let i=r&&"maxLookahead"in r;super(e,{...u2,lookaheadStrategy:i?new Un({maxLookahead:r.maxLookahead}):new xl({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,{})}},ox=class extends np{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 Cl(t,e,r){return f2({parser:e,tokens:r,ruleNames:new Map},t),e}function f2(t,e){let r=Wc(e,!1),n=xe(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,$o(s,o.definition))}let i=xe(e.rules).filter(mi).filter(o=>r.has(o));for(let o of i)t.parser.rule(o,d2(t,o))}function d2(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(zt(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=ax(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 $o(t,e,r=!1){let n;if(Er(e))n=T2(t,e);else if(Cn(e))n=p2(t,e);else if(Fr(e))n=$o(t,e.terminal);else if(Ur(e))n=rb(t,e);else if(Br(e))n=h2(t,e);else if(kf(e))n=g2(t,e);else if(Of(e))n=y2(t,e);else if(hi(e))n=x2(t,e);else if(Lm(e)){let i=t.consume++;n=()=>t.parser.consume(i,Vt,e)}else throw new xo(e.$cstNode,`Unexpected element type: ${e.$type}`);return nb(t,r?void 0:ip(e),n,e.cardinality)}function p2(t,e){let r=yi(e);return()=>t.parser.action(r,e)}function h2(t,e){let r=e.rule.ref;if(Nn(r)){let n=t.subrule++,i=kt(r)&&r.fragment,o=e.arguments.length>0?m2(r,e.arguments):()=>({}),s;return a=>{s??(s=ax(t,r)),t.parser.subrule(n,s,i,e,o(a))}}else if(zt(r)){let n=t.consume++,i=sx(t,r.name);return()=>t.parser.consume(n,i,e)}else if(r)an(r);else throw new xo(e.$cstNode,`Undefined rule: ${e.rule.$refText}`)}function m2(t,e){if(e.some(n=>n.calledByName)){let n=e.map(i=>({parameterName:i.parameter?.ref?.name,predicate:dn(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=>dn(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 dn(t){if(Om(t)){let e=dn(t.left),r=dn(t.right);return n=>e(n)||r(n)}else if(Pm(t)){let e=dn(t.left),r=dn(t.right);return n=>e(n)&&r(n)}else if(Mm(t)){let e=dn(t.value);return r=>!e(r)}else if(Fm(t)){let e=t.parameter.ref.name;return r=>r!==void 0&&r[e]===!0}else if(Nm(t)){let e=!!t.true;return()=>e}an(t)}function g2(t,e){if(e.elements.length===1)return $o(t,e.elements[0]);{let r=[];for(let i of e.elements){let o={ALT:$o(t,i,!0)},s=ip(i);s&&(o.GATE=dn(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 y2(t,e){if(e.elements.length===1)return $o(t,e.elements[0]);let r=[];for(let a of e.elements){let c={ALT:$o(t,a,!0)},l=ip(a);l&&(c.GATE=dn(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=nb(t,ip(e),o,"*");return a=>{s(a),t.parser.isRecording()||t.parser.unorderedGroups.delete(i(n,t.parser))}}function x2(t,e){let r=e.elements.map(n=>$o(t,n));return n=>r.forEach(i=>i(n))}function ip(t){if(hi(t))return t.guardCondition}function rb(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=ax(t,n)),t.parser.subrule(i,o,!1,e,s)}}else if(Br(r)&&zt(r.rule.ref)){let n=t.consume++,i=sx(t,r.rule.ref.name);return()=>t.parser.consume(n,i,e)}else if(Er(r)){let n=t.consume++,i=sx(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=Uf(e.type.ref)?.terminal;if(!i)throw new Error("Could not find name assignment for type: "+yi(e.type.ref));return rb(t,e,i)}}function T2(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 nb(t,e,r,n){let i=e&&dn(e);if(!n)if(i){let o=t.or++;return s=>t.parser.alternatives(o,[{ALT:()=>r(s),GATE:()=>i(s)},{ALT:xd(),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:xd(),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 an(n)}function ax(t,e){let r=_2(t,e),n=t.parser.getRule(r);if(!n)throw new Error(`Rule "${r}" not found."`);return n}function _2(t,e){if(Nn(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);)(hi(n)||kf(n)||Of(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 sx(t,e){let r=t.tokens[e];if(!r)throw new Error(`Token "${e}" not found."`);return r}function cx(t){let e=t.Grammar,r=t.parser.Lexer,n=new Nl(t);return Cl(e,n,r.definition),n.finalize(),n}function lx(t){let e=ib(t);return e.finalize(),e}function ib(t){let e=t.Grammar,r=t.parser.Lexer,n=new kl(t);return Cl(e,n,r.definition)}var Mo=class{constructor(){this.diagnostics=[]}buildTokens(e,r){let n=xe(Wc(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(zt).filter(r=>!r.fragment).map(r=>this.buildTerminalToken(r)).toArray()}buildTerminalToken(e){let r=As(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=qc(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(Nn).flatMap(i=>$r(i).filter(Er)).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(gi(e.value),"i"):e.value}findLongerAlt(e,r){return r.reduce((n,i)=>{let o=i?.PATTERN;return o?.source&&rg("^"+o.source+"$",e.value)&&n.push(i),n},[])}};var Fo=class{convert(e,r){let n=r.grammarSource;if(Ur(n)&&(n=og(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 pn.convertInt(r);case"STRING":return pn.convertString(r);case"ID":return pn.convertID(r)}switch(dg(e)?.toLowerCase()){case"number":return pn.convertNumber(r);case"boolean":return pn.convertBoolean(r);case"bigint":return pn.convertBigint(r);case"date":return pn.convertDate(r);default:return r}}},pn;(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})(pn||(pn={}));var ie={};Ie(ie,Tm(lb(),1));function xx(){return new Promise(t=>{typeof setImmediate>"u"?setTimeout(t,0):setImmediate(t)})}var cp=0,ub=10;function lp(){return cp=performance.now(),new ie.CancellationTokenSource}function fb(t){ub=t}var Rr=Symbol("OperationCancelled");function hn(t){return t===Rr}async function pt(t){if(t===ie.CancellationToken.None)return;let e=performance.now();if(e-cp>=ub&&(cp=e,await xx(),cp=performance.now()),t.isCancellationRequested)throw Rr}var Zt=class{constructor(){this.promise=new Promise((e,r)=>{this.resolve=n=>(e(n),this),this.reject=n=>(r(n),this)})}};var up=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=hb(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=db(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=db(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&&pb(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}},ha;(function(t){function e(i,o,s,a){return new up(i,o,s,a)}t.create=e;function r(i,o,s){if(i instanceof up)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=Tx(o.map(N2),(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})(ha||(ha={}));function Tx(t,e){if(t.length<=1)return t;let r=t.length/2|0,n=t.slice(0,r),i=t.slice(r);Tx(n,e),Tx(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 db(t,e,r=0){let n=e?[r]:[];for(let i=0;i<t.length;i++){let o=t.charCodeAt(i);pb(o)&&(o===13&&i+1<t.length&&t.charCodeAt(i+1)===10&&i++,n.push(r+i+1))}return n}function pb(t){return t===13||t===10}function hb(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 N2(t){let e=hb(t.range);return e!==t.range?{newText:t.newText,range:e}:t}var mb;(()=>{"use strict";var t={975:L=>{function R(b){if(typeof b!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(b))}function O(b,A){for(var I,F="",j=0,U=-1,W=0,Z=0;Z<=b.length;++Z){if(Z<b.length)I=b.charCodeAt(Z);else{if(I===47)break;I=47}if(I===47){if(!(U===Z-1||W===1))if(U!==Z-1&&W===2){if(F.length<2||j!==2||F.charCodeAt(F.length-1)!==46||F.charCodeAt(F.length-2)!==46){if(F.length>2){var pe=F.lastIndexOf("/");if(pe!==F.length-1){pe===-1?(F="",j=0):j=(F=F.slice(0,pe)).length-1-F.lastIndexOf("/"),U=Z,W=0;continue}}else if(F.length===2||F.length===1){F="",j=0,U=Z,W=0;continue}}A&&(F.length>0?F+="/..":F="..",j=2)}else F.length>0?F+="/"+b.slice(U+1,Z):F=b.slice(U+1,Z),j=Z-U-1;U=Z,W=0}else I===46&&W!==-1?++W:W=-1}return F}var $={resolve:function(){for(var b,A="",I=!1,F=arguments.length-1;F>=-1&&!I;F--){var j;F>=0?j=arguments[F]:(b===void 0&&(b=process.cwd()),j=b),R(j),j.length!==0&&(A=j+"/"+A,I=j.charCodeAt(0)===47)}return A=O(A,!I),I?A.length>0?"/"+A:"/":A.length>0?A:"."},normalize:function(b){if(R(b),b.length===0)return".";var A=b.charCodeAt(0)===47,I=b.charCodeAt(b.length-1)===47;return(b=O(b,!A)).length!==0||A||(b="."),b.length>0&&I&&(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 I=arguments[A];R(I),I.length>0&&(b===void 0?b=I:b+="/"+I)}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 I=1;I<b.length&&b.charCodeAt(I)===47;++I);for(var F=b.length,j=F-I,U=1;U<A.length&&A.charCodeAt(U)===47;++U);for(var W=A.length-U,Z=j<W?j:W,pe=-1,V=0;V<=Z;++V){if(V===Z){if(W>Z){if(A.charCodeAt(U+V)===47)return A.slice(U+V+1);if(V===0)return A.slice(U+V)}else j>Z&&(b.charCodeAt(I+V)===47?pe=V:V===0&&(pe=0));break}var te=b.charCodeAt(I+V);if(te!==A.charCodeAt(U+V))break;te===47&&(pe=V)}var De="";for(V=I+pe+1;V<=F;++V)V!==F&&b.charCodeAt(V)!==47||(De.length===0?De+="..":De+="/..");return De.length>0?De+A.slice(U+pe):(U+=pe,A.charCodeAt(U)===47&&++U,A.slice(U))},_makeLong:function(b){return b},dirname:function(b){if(R(b),b.length===0)return".";for(var A=b.charCodeAt(0),I=A===47,F=-1,j=!0,U=b.length-1;U>=1;--U)if((A=b.charCodeAt(U))===47){if(!j){F=U;break}}else j=!1;return F===-1?I?"/":".":I&&F===1?"//":b.slice(0,F)},basename:function(b,A){if(A!==void 0&&typeof A!="string")throw new TypeError('"ext" argument must be a string');R(b);var I,F=0,j=-1,U=!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,Z=-1;for(I=b.length-1;I>=0;--I){var pe=b.charCodeAt(I);if(pe===47){if(!U){F=I+1;break}}else Z===-1&&(U=!1,Z=I+1),W>=0&&(pe===A.charCodeAt(W)?--W==-1&&(j=I):(W=-1,j=Z))}return F===j?j=Z:j===-1&&(j=b.length),b.slice(F,j)}for(I=b.length-1;I>=0;--I)if(b.charCodeAt(I)===47){if(!U){F=I+1;break}}else j===-1&&(U=!1,j=I+1);return j===-1?"":b.slice(F,j)},extname:function(b){R(b);for(var A=-1,I=0,F=-1,j=!0,U=0,W=b.length-1;W>=0;--W){var Z=b.charCodeAt(W);if(Z!==47)F===-1&&(j=!1,F=W+1),Z===46?A===-1?A=W:U!==1&&(U=1):A!==-1&&(U=-1);else if(!j){I=W+1;break}}return A===-1||F===-1||U===0||U===1&&A===F-1&&A===I+1?"":b.slice(A,F)},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,I){var F=I.dir||I.root,j=I.base||(I.name||"")+(I.ext||"");return F?F===I.root?F+j:F+"/"+j:j})(0,b)},parse:function(b){R(b);var A={root:"",dir:"",base:"",ext:"",name:""};if(b.length===0)return A;var I,F=b.charCodeAt(0),j=F===47;j?(A.root="/",I=1):I=0;for(var U=-1,W=0,Z=-1,pe=!0,V=b.length-1,te=0;V>=I;--V)if((F=b.charCodeAt(V))!==47)Z===-1&&(pe=!1,Z=V+1),F===46?U===-1?U=V:te!==1&&(te=1):U!==-1&&(te=-1);else if(!pe){W=V+1;break}return U===-1||Z===-1||te===0||te===1&&U===Z-1&&U===W+1?Z!==-1&&(A.base=A.name=W===0&&j?b.slice(1,Z):b.slice(W,Z)):(W===0&&j?(A.name=b.slice(1,U),A.base=b.slice(1,Z)):(A.name=b.slice(W,U),A.base=b.slice(W,Z)),A.ext=b.slice(U,Z)),W>0?A.dir=b.slice(0,W-1):j&&(A.dir="/"),A},sep:"/",delimiter:":",win32:null,posix:null};$.posix=$,L.exports=$}},e={};function r(L){var R=e[L];if(R!==void 0)return R.exports;var O=e[L]={exports:{}};return t[L](O,O.exports,r),O.exports}r.d=(L,R)=>{for(var O in R)r.o(R,O)&&!r.o(L,O)&&Object.defineProperty(L,O,{enumerable:!0,get:R[O]})},r.o=(L,R)=>Object.prototype.hasOwnProperty.call(L,R),r.r=L=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(L,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(L,"__esModule",{value:!0})};var n={};let i;r.r(n),r.d(n,{URI:()=>d,Utils:()=>oe}),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(L,R){if(!L.scheme&&R)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${L.authority}", path: "${L.path}", query: "${L.query}", fragment: "${L.fragment}"}`);if(L.scheme&&!o.test(L.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(L.path){if(L.authority){if(!s.test(L.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(a.test(L.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}let l="",u="/",f=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class d{constructor(R,O,$,b,A,I=!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(F,j){return F||j?F:"file"})(R,I),this.authority=O||l,this.path=(function(F,j){switch(F){case"https":case"http":case"file":j?j[0]!==u&&(j=u+j):j=u}return j})(this.scheme,$||l),this.query=b||l,this.fragment=A||l,c(this,I))}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 v(this,!1)}with(R){if(!R)return this;let{scheme:O,authority:$,path:b,query:A,fragment:I}=R;return O===void 0?O=this.scheme:O===null&&(O=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),I===void 0?I=this.fragment:I===null&&(I=l),O===this.scheme&&$===this.authority&&b===this.path&&A===this.query&&I===this.fragment?this:new m(O,$,b,A,I)}static parse(R,O=!1){let $=f.exec(R);return $?new m($[2]||l,N($[4]||l),N($[5]||l),N($[7]||l),N($[9]||l),O):new m(l,l,l,l,l)}static file(R){let O=l;if(i&&(R=R.replace(/\\/g,u)),R[0]===u&&R[1]===u){let $=R.indexOf(u,2);$===-1?(O=R.substring(2),R=u):(O=R.substring(2,$),R=R.substring($)||u)}return new m("file",O,R,l,l)}static from(R){let O=new m(R.scheme,R.authority,R.path,R.query,R.fragment);return c(O,!0),O}toString(R=!1){return E(this,R)}toJSON(){return this}static revive(R){if(R){if(R instanceof d)return R;{let O=new m(R);return O._formatted=R.external,O._fsPath=R._sep===p?R.fsPath:null,O}}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=v(this,!1)),this._fsPath}toString(O=!1){return O?E(this,!0):(this._formatted||(this._formatted=E(this,!1)),this._formatted)}toJSON(){let O={$mid:1};return this._fsPath&&(O.fsPath=this._fsPath,O._sep=p),this._formatted&&(O.external=this._formatted),this.path&&(O.path=this.path),this.scheme&&(O.scheme=this.scheme),this.authority&&(O.authority=this.authority),this.query&&(O.query=this.query),this.fragment&&(O.fragment=this.fragment),O}}let y={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 T(L,R,O){let $,b=-1;for(let A=0;A<L.length;A++){let I=L.charCodeAt(A);if(I>=97&&I<=122||I>=65&&I<=90||I>=48&&I<=57||I===45||I===46||I===95||I===126||R&&I===47||O&&I===91||O&&I===93||O&&I===58)b!==-1&&($+=encodeURIComponent(L.substring(b,A)),b=-1),$!==void 0&&($+=L.charAt(A));else{$===void 0&&($=L.substr(0,A));let F=y[I];F!==void 0?(b!==-1&&($+=encodeURIComponent(L.substring(b,A)),b=-1),$+=F):b===-1&&(b=A)}}return b!==-1&&($+=encodeURIComponent(L.substring(b))),$!==void 0?$:L}function _(L){let R;for(let O=0;O<L.length;O++){let $=L.charCodeAt(O);$===35||$===63?(R===void 0&&(R=L.substr(0,O)),R+=y[$]):R!==void 0&&(R+=L[O])}return R!==void 0?R:L}function v(L,R){let O;return O=L.authority&&L.path.length>1&&L.scheme==="file"?`//${L.authority}${L.path}`:L.path.charCodeAt(0)===47&&(L.path.charCodeAt(1)>=65&&L.path.charCodeAt(1)<=90||L.path.charCodeAt(1)>=97&&L.path.charCodeAt(1)<=122)&&L.path.charCodeAt(2)===58?R?L.path.substr(1):L.path[1].toLowerCase()+L.path.substr(2):L.path,i&&(O=O.replace(/\//g,"\\")),O}function E(L,R){let O=R?_:T,$="",{scheme:b,authority:A,path:I,query:F,fragment:j}=L;if(b&&($+=b,$+=":"),(A||b==="file")&&($+=u,$+=u),A){let U=A.indexOf("@");if(U!==-1){let W=A.substr(0,U);A=A.substr(U+1),U=W.lastIndexOf(":"),U===-1?$+=O(W,!1,!1):($+=O(W.substr(0,U),!1,!1),$+=":",$+=O(W.substr(U+1),!1,!0)),$+="@"}A=A.toLowerCase(),U=A.lastIndexOf(":"),U===-1?$+=O(A,!1,!0):($+=O(A.substr(0,U),!1,!0),$+=A.substr(U))}if(I){if(I.length>=3&&I.charCodeAt(0)===47&&I.charCodeAt(2)===58){let U=I.charCodeAt(1);U>=65&&U<=90&&(I=`/${String.fromCharCode(U+32)}:${I.substr(3)}`)}else if(I.length>=2&&I.charCodeAt(1)===58){let U=I.charCodeAt(0);U>=65&&U<=90&&(I=`${String.fromCharCode(U+32)}:${I.substr(2)}`)}$+=O(I,!0,!1)}return F&&($+="?",$+=O(F,!1,!1)),j&&($+="#",$+=R?j:T(j,!1,!1)),$}function S(L){try{return decodeURIComponent(L)}catch{return L.length>3?L.substr(0,3)+S(L.substr(3)):L}}let D=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function N(L){return L.match(D)?L.replace(D,(R=>S(R))):L}var M=r(975);let B=M.posix||M,G="/";var oe;(function(L){L.joinPath=function(R,...O){return R.with({path:B.join(R.path,...O)})},L.resolvePath=function(R,...O){let $=R.path,b=!1;$[0]!==G&&($=G+$,b=!0);let A=B.resolve($,...O);return b&&A[0]===G&&!R.authority&&(A=A.substring(1)),R.with({path:A})},L.dirname=function(R){if(R.path.length===0||R.path===G)return R;let O=B.dirname(R.path);return O.length===1&&O.charCodeAt(0)===46&&(O=""),R.with({path:O})},L.basename=function(R){return B.basename(R.path)},L.extname=function(R){return B.extname(R.path)}})(oe||(oe={})),mb=n})();var{URI:ht,Utils:ma}=mb;var Et;(function(t){t.basename=ma.basename,t.dirname=ma.dirname,t.extname=ma.extname,t.joinPath=ma.joinPath,t.resolvePath=ma.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(y=>y.length>0),f=l.split("/").filter(y=>y.length>0);if(e){let y=/^[A-Z]:$/;if(u[0]&&y.test(u[0])&&(u[0]=u[0].toLowerCase()),f[0]&&y.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})(Et||(Et={}));var ga=class{constructor(){this.root={name:"",children:new Map}}normalizeUri(e){return Et.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:Et.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:Et.joinPath(ht.parse(r),i.name).toString(),element:i.element})):[]}all(){return this.collectValues(this.root)}findAll(e){let r=this.getNode(Et.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 Pl=class{constructor(e){this.serviceRegistry=e.ServiceRegistry,this.textDocuments=e.workspace.TextDocuments,this.fileSystemProvider=e.workspace.FileSystemProvider}async fromUri(e,r=ie.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),ie.CancellationToken.is(n)?this.createAsync(r,e,n):this.create(r,e,n)}fromString(e,r,n){return ie.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=ha.create(e.toString(),n.getServices(e).LanguageMetaData.languageId,0,r??""))}},Ol=class{constructor(e){this.documentTrie=new ga,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 Uo=Symbol("RefResolving"),Ll=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=ie.CancellationToken.None){if(this.profiler?.isActive("linking")){let n=this.profiler.createTask("linking",this.languageId);n.start();try{for(let i of jt(e.parseResult.value))await pt(r),ci(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 jt(e.parseResult.value))await pt(r),ci(n).forEach(i=>this.doLink(i,e))}doLink(e,r){let n=e.reference;if("_ref"in n&&n._ref===void 0){n._ref=Uo;try{let i=this.getCandidate(e);if(no(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=Uo;try{let i=this.getCandidates(e),o=[];if(no(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(wm(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=Uo;let a=ms(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===Uo&&o.throwCyclicReferenceError(e,r,i);return dt(this._ref)?this._ref:void 0},get $nodeDescription(){return this._nodeDescription},get error(){return no(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=Uo;let a=ms(e).$document,c=o.getCandidates({reference:s,container:e,property:r}),l=[];if(no(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===Uo&&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(no(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=ms(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 gb(t){return typeof t.name=="string"}var Dl=class{getName(e){if(gb(e))return e.name}getNameNode(e){return Vc(e.$cstNode,"name")}};var $l=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=jt(e.Grammar).some(r=>Ur(r)&&r.isMulti)}findDeclarations(e){if(e){let r=fg(e),n=e.astNode;if(r&&n){let i=n[r.feature];if(At(i)||lr(i))return hf(i);if(Array.isArray(i)){for(let o of i)if((At(o)||lr(o))&&o.$refNode&&o.$refNode.offset<=e.offset&&o.$refNode.end>=e.end)return hf(o)}}if(n){let i=this.nameProvider.getNameNode(n);if(i&&(i===e||Vm(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 ci(n))if(lr(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=>Et.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=Mt(i),a=this.nodeLocator.getAstNodePath(i);n.push({sourceUri:s.uri,sourcePath:a,targetUri:s.uri,targetPath:a,segment:yo(o),local:!0})}}return n}};var Ut=class{constructor(e){if(this.map=new Map,e)for(let[r,n]of e)this.add(r,n)}get size(){return ps.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):ai}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())}},Bo=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 Ml=class{constructor(e){this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider}async collectExportedSymbols(e,r=ie.CancellationToken.None){return this.collectExportedSymbolsForNode(e.parseResult.value,e,void 0,r)}async collectExportedSymbolsForNode(e,r,n=Cc,i=ie.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=ie.CancellationToken.None){let n=e.parseResult.value,i=new Ut;for(let o of $r(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 ya=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}},_x=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}},Fl=class{constructor(e,r,n){this.elements=new Ut,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}},C2={getElement(){},getElements(){return ai},getAllElements(){return ai}};var xa=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")}},Ul=class extends xa{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()}},Go=class extends xa{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}},fp=class extends Go{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)}))}},Ta=class extends Ul{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 Bl=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 Ta(e.shared)}getScope(e){let r=[],n=this.reflection.getReferenceType(e),i=Mt(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 ya(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 ya(i,r,n)}getGlobalScope(e,r){return this.globalScopeCache.get(e,()=>new Fl(this.indexManager.allElements(e)))}};function Ex(t){return typeof t.$comment=="string"}function yb(t){return typeof t=="object"&&!!t&&("$ref"in t||"$error"in t)}var Gl=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=Mt(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=Mt(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(lr(r)){let c=n?r.$refText:void 0,l=[];for(let u of r.items){let f=u.ref,d=Mt(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=ag(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];yb(f)?l[u]=this.reviveReference(e,c,r,f,n):dt(f)&&this.linkNode(f,r,n,e,c,u)}else yb(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 Xl=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=Et.extname(e),i=Et.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 Xo(t){return{code:t}}var dp;(function(t){t.defaults=["fast","slow","built-in"],t.all=t.defaults})(dp||(dp={}));var Hl=class{constructor(e){this.entries=new Ut,this.knownCategories=new Set(dp.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 an(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(hn(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 xb=Object.freeze({validateNode:!0,validateChildren:!0}),jl=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=ie.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===wr.LexingError)||(this.processParsingErrors(i,o,r),r.stopAfterParsingErrors&&o.some(s=>s.data?.code===wr.ParsingError))||(this.processLinkingErrors(e,o,r),r.stopAfterLinkingErrors&&o.some(s=>s.data?.code===wr.LinkingError))))return o;try{o.push(...await this.validateAst(i.value,r,n))}catch(s){if(hn(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:pp(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:_b(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=ws(i.token);if(o){let s={severity:pp("error"),range:o,message:i.message,data:Xo(wr.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:wr.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=ie.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=ie.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=ie.CancellationToken.None){if(this.profiler?.isActive("validating")){let o=this.profiler.createTask("validating",this.languageId);o.start();try{let s=jt(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=jt(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 xb}async validateAstAfter(e,r,n,i=ie.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:Tb(n),severity:pp(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 Tb(t){if(t.range)return t.range;let e;return typeof t.property=="string"?e=Vc(t.node.$cstNode,t.property,t.index):typeof t.keyword=="string"&&(e=lg(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 pp(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 _b(t){switch(t){case"error":return Xo(wr.LexingError);case"warning":return Xo(wr.LexingWarning);case"info":return Xo(wr.LexingInfo);case"hint":return Xo(wr.LexingHint);default:throw new Error("Invalid diagnostic severity: "+t)}}var wr;(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"})(wr||(wr={}));var zl=class{constructor(e){this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider}createDescription(e,r,n){let i=n??Mt(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=yo(this.nameProvider.getNameNode(e)??e.$cstNode));return{node:e,name:r,get nameSegment(){return a()},selectionSegment:yo(e.$cstNode),type:e.$type,documentUri:i.uri,path:o}}},ql=class{constructor(e){this.nodeLocator=e.workspace.AstNodeLocator}async createDescriptions(e,r=ie.CancellationToken.None){let n=[],i=e.parseResult.value;for(let o of jt(i))await pt(r),ci(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]:lr(r)&&(n=r.items.map(c=>c.$nodeDescription).filter(c=>c!==void 0));let i=Mt(e.container).uri,o=this.nodeLocator.getAstNodePath(e.container),s=[],a=yo(r.$refNode);for(let c of n)s.push({sourceUri:i,sourcePath:o,targetUri:c.documentUri,targetPath:c.path,segment:a,local:Et.equals(c.documentUri,i)});return s}};var Wl=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 nt={};Ie(nt,Tm(mx(),1));var Vl=class{constructor(e){this._ready=new Zt,this.onConfigurationSectionUpdateEmitter=new nt.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 Ua=Tm(qS(),1);var Xi;(function(t){function e(r){return{dispose:async()=>await r()}}t.create=e})(Xi||(Xi={}));var iu=class{constructor(e){this.updateBuildOptions={validation:{categories:["built-in","fast"]}},this.updateListeners=[],this.buildPhaseListeners=new Ut,this.documentPhaseListeners=new Ut,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=ie.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=ie.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),Xi.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),Xi.create(()=>{this.buildPhaseListeners.delete(e,r)})}onDocumentPhase(e,r){return this.documentPhaseListeners.add(e,r),Xi.create(()=>{this.documentPhaseListeners.delete(e,r)})}waitUntil(e,r,n){let i;return r&&"path"in r?i=r:n=r,n??(n=ie.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(Rr);if(this.currentState>=e&&e>i.state)return Promise.reject(new Ua.ResponseError(Ua.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 Ua.ResponseError(Ua.LSPErrorCodes.ServerCancelled,`No document found for URI: ${r.toString()}`));return new Promise((o,s)=>{let a=this.onDocumentPhase(e,l=>{Et.equals(l.uri,r)&&(a.dispose(),c.dispose(),o(l.uri))}),c=n.onCancellationRequested(()=>{a.dispose(),c.dispose(),s(Rr)})})}awaitBuilderState(e,r){return this.currentState>=e?Promise.resolve():r.isCancellationRequested?Promise.reject(Rr):new Promise((n,i)=>{let o=this.onBuildPhase(e,()=>{o.dispose(),s.dispose(),n()}),s=r.onCancellationRequested(()=>{o.dispose(),s.dispose(),i(Rr)})})}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(!hn(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 ou=class{constructor(e){this.symbolIndex=new Map,this.symbolByTypeIndex=new Go,this.referenceIndex=new Map,this.documents=e.workspace.LangiumDocuments,this.serviceRegistry=e.ServiceRegistry,this.astReflection=e.AstReflection}findAllReferences(e,r){let n=Mt(e).uri,i=[];return this.referenceIndex.forEach(o=>{o.forEach(s=>{Et.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=ie.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=ie.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 su=class{constructor(e){this.initialBuildOptions={},this._ready=new Zt,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=ie.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=Et.basename(e.uri);return r.startsWith(".")?!1:e.isDirectory?r!=="node_modules"&&r!=="out":e.isFile?this.serviceRegistry.hasServices(e.uri):!1}};var au=class{buildUnexpectedCharactersMessage(e,r,n,i,o){return Ds.buildUnexpectedCharactersMessage(e,r,n,i,o)}buildUnableToPopLexerModeMessage(e){return Ds.buildUnableToPopLexerModeMessage(e)}},Yp={mode:"full"},qo=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=WT(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=Yp){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(WT(e))return e;let r=VT(e)?Object.values(e.modes).flat():e,n={};return r.forEach(i=>n[i.name]=i),n}};function Kp(t){return Array.isArray(t)&&(t.length===0||"name"in t[0])}function VT(t){return t&&"modes"in t&&"defaultMode"in t}function WT(t){return!Kp(t)&&!VT(t)}la();function ZT(t,e,r){let n,i;typeof t=="string"?(i=e,n=r):(i=t.range.start,n=e),i||(i=Se.create(0,0));let o=YS(t),s=QT(n),a=SU({lines:o,position:i,options:s});return OU({index:0,tokens:a,position:i})}function JT(t,e){let r=QT(e),n=YS(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 YS(t){let e="";return typeof t=="string"?e=t:e=t.text,e.split(eg)}var WS=/\s*(@([\p{L}][\p{L}\p{N}]*)?)/uy,IU=/\{(@[\p{L}][\p{L}\p{N}]*)(\s*)([^\r\n}]+)?\}/gu;function SU(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,PU(a)),KT(a,c)>=a.length){if(e.length>0){let u=Se.create(r,n);e.push({type:"break",content:"",range:Ee.create(u,u)})}}else{WS.lastIndex=c;let u=WS.exec(a);if(u){let f=u[0],d=u[1],p=Se.create(r,n+c),m=Se.create(r,n+c+f.length);e.push({type:"tag",content:d,range:Ee.create(p,m)}),c+=f.length,c=KT(a,c)}if(c<a.length){let f=a.substring(c),d=Array.from(f.matchAll(IU));e.push(...kU(d,f,r,n+c))}}r++,n=0}return e.length>0&&e[e.length-1].type==="break"?e.slice(0,-1):e}function kU(t,e,r,n){let i=[];if(t.length===0){let o=Se.create(r,n),s=Se.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(Se.create(r,o+n),Se.create(r,c+n))});let u=l.length+1,f=a[1];if(i.push({type:"inline-tag",content:f,range:Ee.create(Se.create(r,o+u+n),Se.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(Se.create(r,o+u+n),Se.create(r,o+u+d.length+n))})}else i.push({type:"text",content:"",range:Ee.create(Se.create(r,o+u+n),Se.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(Se.create(r,o+n),Se.create(r,o+n+s.length))})}return i}var NU=/\S/,CU=/\s*$/;function KT(t,e){let r=t.substring(e).match(NU);return r?e+r.index:t.length}function PU(t){let e=t.match(CU);if(e&&typeof e.index=="number")return e.index}function OU(t){let e=Se.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=LU(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 LU(t,e){let r=t.tokens[t.index];if(r.type==="tag")return ZS(t,!1);if(r.type==="text"||r.type==="inline-tag")return KS(t);DU(r,e),t.index++}function DU(t,e){if(e){let r=new Jp("",t.range);"inlines"in e?e.inlines.push(r):e.content.inlines.push(r)}}function KS(t){let e=t.tokens[t.index],r=e,n=e,i=[];for(;e&&e.type!=="break"&&e.type!=="tag";)i.push($U(t)),n=e,e=t.tokens[t.index];return new lu(i,Ee.create(r.range.start,n.range.end))}function $U(t){return t.tokens[t.index].type==="inline-tag"?ZS(t,!0):JS(t)}function ZS(t,e){let r=t.tokens[t.index++],n=r.content.substring(1);if(t.tokens[t.index]?.type==="text")if(e){let o=JS(t);return new cu(n,new lu([o],o.range),e,Ee.create(r.range.start,o.range.end))}else{let o=KS(t);return new cu(n,o,e,Ee.create(r.range.start,o.range.end))}else{let o=r.range;return new cu(n,new lu([],o),e,o)}}function JS(t){let e=t.tokens[t.index++];return new Jp(e.content,e.range)}function QT(t){if(!t)return QT({start:"/**",end:"*/",line:"*"});let{start:e,end:r,line:n}=t;return{start:YT(e,!0),end:YT(r,!1),line:YT(n,!0)}}function YT(t,e){if(typeof t=="string"||typeof t=="object"){let r=typeof t=="string"?gi(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+=VS(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+=VS(r)+i}return r.trim()}},cu=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 n2(t){if(t instanceof Be)return"SUBRULE";if(t instanceof Ge)return"OPTION";if(t instanceof We)return"OR";if(t instanceof Je)return"AT_LEAST_ONE";if(t instanceof Qe)return"AT_LEAST_ONE_SEP";if(t instanceof qe)return"MANY_SEP";if(t instanceof we)return"MANY";if(t instanceof Te)return"CONSUME";throw Error("non exhaustive match")}function i2(t,e,r){let n=MR(e.configs.elements,o=>o.state.transitions),i=WR(n.filter(o=>o instanceof ta).map(o=>o.tokenType),o=>o.tokenTypeIdx);return{actualToken:r,possibleTokenTypes:i,tokenPath:t}}function o2(t,e){return t.edges[e.tokenTypeIdx]}function s2(t,e,r){let n=new ia,i=[];for(let s of t.elements){if(r.is(s.alt)===!1)continue;if(s.state.type===No){i.push(s);continue}let a=s.state.transitions.length;for(let c=0;c<a;c++){let l=s.state.transitions[c],u=a2(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 ia;for(let s of n.elements)Wd(s,o)}if(i.length>0&&!f2(o))for(let s of i)o.add(s);return o}function a2(t,e){if(t instanceof ta&&Ms(e,t.tokenType))return t.target}function c2(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 nb(t){return{configs:t,edges:{},isAcceptState:!1,prediction:-1}}function rb(t,e,r,n){return n=ib(t,n),e.edges[r.tokenTypeIdx]=n,n}function ib(t,e){if(e===xl)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 l2(t){let e=new ia,r=t.transitions.length;for(let n=0;n<r;n++){let o={state:t.transitions[n].target,alt:n,stack:[]};Wd(o,e)}return e}function Wd(t,e){let r=t.state;if(r.type===No){if(t.stack.length>0){let i=[...t.stack],s={state:i.pop(),alt:t.alt,stack:i};Wd(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=u2(t,o);s!==void 0&&Wd(s,e)}}function u2(t,e){if(e instanceof yl)return{state:e.target,alt:t.alt,stack:t.stack};if(e instanceof ra){let r=[...t.stack,e.followState];return{state:e.target,alt:t.alt,stack:r}}}function f2(t){for(let e of t.elements)if(e.state.type===No)return!0;return!1}function d2(t){for(let e of t.elements)if(e.state.type!==No)return!1;return!0}function p2(t){if(d2(t))return!0;let e=h2(t.elements);return m2(e)&&!g2(e)}function h2(t){let e=new Map;for(let r of t){let n=ey(r,!1),i=e.get(n);i===void 0&&(i={},e.set(n,i)),i[r.alt]=!0}return e}function m2(t){for(let e of Array.from(t.values()))if(Object.keys(e).length>1)return!0;return!1}function g2(t){for(let e of Array.from(t.values()))if(Object.keys(e).length===1)return!0;return!1}function y2(t,e){let r;for(let n of t.configs.elements)if(!(e.is(n.alt)===!1||n.state.type===No)){if(r===void 0)r=n.alt;else if(r!==n.alt)return}return r}ua();var Il=class{constructor(){this.nodeStack=[]}get current(){return this.nodeStack[this.nodeStack.length-1]??this.rootNode}buildRootNode(e){return this.rootNode=new fa(e),this.rootNode.root=this.rootNode,this.nodeStack=[this.rootNode],this.rootNode}buildCompositeNode(e){let r=new Do;return r.grammarSource=e,r.root=this.rootNode,this.current.content.push(r),this.nodeStack.push(r),r}buildLeafNode(e,r){let n=new Lo(e.startOffset,e.image.length,bs(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 Lo(o.startOffset,o.image.length,bs(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)}},Sl=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)}},Lo=class extends Sl{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}},Do=class extends Sl{constructor(){super(...arguments),this.content=new ox(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:Se.create(0,0),end:Se.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]}},ox=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}},fa=class extends Do{get text(){return this._text.substring(this.offset,this.end)}get fullText(){return this._text}constructor(e){super(),this._text="",this._text=e??""}};var np=Symbol("Datatype");function sx(t){return t.$type===np}var ob="\u200B",sb=t=>t.endsWith(ob)?t:t+ob,kl=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 ax(n,{...e.parser.ParserConfig,skipValidations:i,errorMessageProvider:e.parser.ParserErrorMessageProvider},r,e.shared.profilers.LangiumProfiler.createTask("parsing",e.LanguageMetaData.languageId)):this.wrapper=new op(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()}},Nl=class extends kl{get current(){return this.stack[this.stack.length-1]}constructor(e){super(e,!1),this.nodeBuilder=new Il,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;mi(e)&&(i=e.name,this.registerPrecedenceMap(e));let o=this.wrapper.DEFINE_RULE(sb(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 mi(e)?yi(e):e.fragment?void 0:Kc(e)?np:yi(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,ms(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===np?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=Er(n)?i.image:this.converter.convert(i.image,s);this.assign(a.operator,a.feature,u,s,c)}else if(sx(l)){let u=i.image;Er(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(sx(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)):sx(e)?this.converter.convert(e.value,e.$cstNode):(km(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 y=0;y<i.length;y++){let _=i[y],E=r.get(_)??{precedence:1/0,rightAssoc:!1};E.precedence>s?(s=E.precedence,o=y):E.precedence===s&&(E.rightAssoc||(o=y))}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}},ip=class{buildMismatchTokenMessage(e){return Fn.buildMismatchTokenMessage(e)}buildNotAllInputParsedMessage(e){return Fn.buildNotAllInputParsedMessage(e)}buildNoViableAltMessage(e){return Fn.buildNoViableAltMessage(e)}buildEarlyExitMessage(e){return Fn.buildEarlyExitMessage(e)}},da=class extends ip{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}\`.`}},Cl=class extends kl{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(sb(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}},T2={recoveryEnabled:!0,nodeLocationTracking:"full",skipValidations:!0,errorMessageProvider:new da},op=class extends dl{constructor(e,r,n){let i=r&&"maxLookahead"in r;super(e,{...T2,lookaheadStrategy:i?new Un({maxLookahead:r.maxLookahead}):new Tl({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,{})}},ax=class extends op{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 Pl(t,e,r){return _2({parser:e,tokens:r,ruleNames:new Map},t),e}function _2(t,e){let r=Vc(e,!1),n=xe(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,$o(s,o.definition))}let i=xe(e.rules).filter(mi).filter(o=>r.has(o));for(let o of i)t.parser.rule(o,E2(t,o))}function E2(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(jt(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=lx(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 $o(t,e,r=!1){let n;if(Er(e))n=S2(t,e);else if(Cn(e))n=v2(t,e);else if(Fr(e))n=$o(t,e.terminal);else if(Ur(e))n=ab(t,e);else if(Br(e))n=w2(t,e);else if(Cf(e))n=b2(t,e);else if(Df(e))n=A2(t,e);else if(hi(e))n=I2(t,e);else if($m(e)){let i=t.consume++;n=()=>t.parser.consume(i,Vt,e)}else throw new xo(e.$cstNode,`Unexpected element type: ${e.$type}`);return cb(t,r?void 0:sp(e),n,e.cardinality)}function v2(t,e){let r=yi(e);return()=>t.parser.action(r,e)}function w2(t,e){let r=e.rule.ref;if(Nn(r)){let n=t.subrule++,i=kt(r)&&r.fragment,o=e.arguments.length>0?R2(r,e.arguments):()=>({}),s;return a=>{s??(s=lx(t,r)),t.parser.subrule(n,s,i,e,o(a))}}else if(jt(r)){let n=t.consume++,i=cx(t,r.name);return()=>t.parser.consume(n,i,e)}else if(r)an(r);else throw new xo(e.$cstNode,`Undefined rule: ${e.rule.$refText}`)}function R2(t,e){if(e.some(n=>n.calledByName)){let n=e.map(i=>({parameterName:i.parameter?.ref?.name,predicate:dn(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=>dn(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 dn(t){if(Dm(t)){let e=dn(t.left),r=dn(t.right);return n=>e(n)||r(n)}else if(Lm(t)){let e=dn(t.left),r=dn(t.right);return n=>e(n)&&r(n)}else if(Um(t)){let e=dn(t.value);return r=>!e(r)}else if(Bm(t)){let e=t.parameter.ref.name;return r=>r!==void 0&&r[e]===!0}else if(Pm(t)){let e=!!t.true;return()=>e}an(t)}function b2(t,e){if(e.elements.length===1)return $o(t,e.elements[0]);{let r=[];for(let i of e.elements){let o={ALT:$o(t,i,!0)},s=sp(i);s&&(o.GATE=dn(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 A2(t,e){if(e.elements.length===1)return $o(t,e.elements[0]);let r=[];for(let a of e.elements){let c={ALT:$o(t,a,!0)},l=sp(a);l&&(c.GATE=dn(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=cb(t,sp(e),o,"*");return a=>{s(a),t.parser.isRecording()||t.parser.unorderedGroups.delete(i(n,t.parser))}}function I2(t,e){let r=e.elements.map(n=>$o(t,n));return n=>r.forEach(i=>i(n))}function sp(t){if(hi(t))return t.guardCondition}function ab(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=lx(t,n)),t.parser.subrule(i,o,!1,e,s)}}else if(Br(r)&&jt(r.rule.ref)){let n=t.consume++,i=cx(t,r.rule.ref.name);return()=>t.parser.consume(n,i,e)}else if(Er(r)){let n=t.consume++,i=cx(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=Gf(e.type.ref)?.terminal;if(!i)throw new Error("Could not find name assignment for type: "+yi(e.type.ref));return ab(t,e,i)}}function S2(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 cb(t,e,r,n){let i=e&&dn(e);if(!n)if(i){let o=t.or++;return s=>t.parser.alternatives(o,[{ALT:()=>r(s),GATE:()=>i(s)},{ALT:_d(),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:_d(),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 an(n)}function lx(t,e){let r=k2(t,e),n=t.parser.getRule(r);if(!n)throw new Error(`Rule "${r}" not found."`);return n}function k2(t,e){if(Nn(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);)(hi(n)||Cf(n)||Df(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 cx(t,e){let r=t.tokens[e];if(!r)throw new Error(`Token "${e}" not found."`);return r}function ux(t){let e=t.Grammar,r=t.parser.Lexer,n=new Cl(t);return Pl(e,n,r.definition),n.finalize(),n}function fx(t){let e=lb(t);return e.finalize(),e}function lb(t){let e=t.Grammar,r=t.parser.Lexer,n=new Nl(t);return Pl(e,n,r.definition)}var Mo=class{constructor(){this.diagnostics=[]}buildTokens(e,r){let n=xe(Vc(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(jt).filter(r=>!r.fragment).map(r=>this.buildTerminalToken(r)).toArray()}buildTerminalToken(e){let r=Is(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=Wc(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(Nn).flatMap(i=>$r(i).filter(Er)).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(gi(e.value),"i"):e.value}findLongerAlt(e,r){return r.reduce((n,i)=>{let o=i?.PATTERN;return o?.source&&ig("^"+o.source+"$",e.value)&&n.push(i),n},[])}};var Fo=class{convert(e,r){let n=r.grammarSource;if(Ur(n)&&(n=ag(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 pn.convertInt(r);case"STRING":return pn.convertString(r);case"ID":return pn.convertID(r)}switch(hg(e)?.toLowerCase()){case"number":return pn.convertNumber(r);case"boolean":return pn.convertBoolean(r);case"bigint":return pn.convertBigint(r);case"date":return pn.convertDate(r);default:return r}}},pn;(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})(pn||(pn={}));var ie={};Ie(ie,Em(hb(),1));function _x(){return new Promise(t=>{typeof setImmediate>"u"?setTimeout(t,0):setImmediate(t)})}var up=0,mb=10;function fp(){return up=performance.now(),new ie.CancellationTokenSource}function gb(t){mb=t}var wr=Symbol("OperationCancelled");function hn(t){return t===wr}async function pt(t){if(t===ie.CancellationToken.None)return;let e=performance.now();if(e-up>=mb&&(up=e,await _x(),up=performance.now()),t.isCancellationRequested)throw wr}var Zt=class{constructor(){this.promise=new Promise((e,r)=>{this.resolve=n=>(e(n),this),this.reject=n=>(r(n),this)})}};var dp=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=Tb(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=yb(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=yb(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&&xb(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}},ma;(function(t){function e(i,o,s,a){return new dp(i,o,s,a)}t.create=e;function r(i,o,s){if(i instanceof dp)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=Ex(o.map(U2),(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})(ma||(ma={}));function Ex(t,e){if(t.length<=1)return t;let r=t.length/2|0,n=t.slice(0,r),i=t.slice(r);Ex(n,e),Ex(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 yb(t,e,r=0){let n=e?[r]:[];for(let i=0;i<t.length;i++){let o=t.charCodeAt(i);xb(o)&&(o===13&&i+1<t.length&&t.charCodeAt(i+1)===10&&i++,n.push(r+i+1))}return n}function xb(t){return t===13||t===10}function Tb(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 U2(t){let e=Tb(t.range);return e!==t.range?{newText:t.newText,range:e}:t}var _b;(()=>{"use strict";var t={975:L=>{function w(b){if(typeof b!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(b))}function O(b,A){for(var I,F="",z=0,U=-1,W=0,Z=0;Z<=b.length;++Z){if(Z<b.length)I=b.charCodeAt(Z);else{if(I===47)break;I=47}if(I===47){if(!(U===Z-1||W===1))if(U!==Z-1&&W===2){if(F.length<2||z!==2||F.charCodeAt(F.length-1)!==46||F.charCodeAt(F.length-2)!==46){if(F.length>2){var pe=F.lastIndexOf("/");if(pe!==F.length-1){pe===-1?(F="",z=0):z=(F=F.slice(0,pe)).length-1-F.lastIndexOf("/"),U=Z,W=0;continue}}else if(F.length===2||F.length===1){F="",z=0,U=Z,W=0;continue}}A&&(F.length>0?F+="/..":F="..",z=2)}else F.length>0?F+="/"+b.slice(U+1,Z):F=b.slice(U+1,Z),z=Z-U-1;U=Z,W=0}else I===46&&W!==-1?++W:W=-1}return F}var $={resolve:function(){for(var b,A="",I=!1,F=arguments.length-1;F>=-1&&!I;F--){var z;F>=0?z=arguments[F]:(b===void 0&&(b=process.cwd()),z=b),w(z),z.length!==0&&(A=z+"/"+A,I=z.charCodeAt(0)===47)}return A=O(A,!I),I?A.length>0?"/"+A:"/":A.length>0?A:"."},normalize:function(b){if(w(b),b.length===0)return".";var A=b.charCodeAt(0)===47,I=b.charCodeAt(b.length-1)===47;return(b=O(b,!A)).length!==0||A||(b="."),b.length>0&&I&&(b+="/"),A?"/"+b:b},isAbsolute:function(b){return w(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 I=arguments[A];w(I),I.length>0&&(b===void 0?b=I:b+="/"+I)}return b===void 0?".":$.normalize(b)},relative:function(b,A){if(w(b),w(A),b===A||(b=$.resolve(b))===(A=$.resolve(A)))return"";for(var I=1;I<b.length&&b.charCodeAt(I)===47;++I);for(var F=b.length,z=F-I,U=1;U<A.length&&A.charCodeAt(U)===47;++U);for(var W=A.length-U,Z=z<W?z:W,pe=-1,V=0;V<=Z;++V){if(V===Z){if(W>Z){if(A.charCodeAt(U+V)===47)return A.slice(U+V+1);if(V===0)return A.slice(U+V)}else z>Z&&(b.charCodeAt(I+V)===47?pe=V:V===0&&(pe=0));break}var te=b.charCodeAt(I+V);if(te!==A.charCodeAt(U+V))break;te===47&&(pe=V)}var De="";for(V=I+pe+1;V<=F;++V)V!==F&&b.charCodeAt(V)!==47||(De.length===0?De+="..":De+="/..");return De.length>0?De+A.slice(U+pe):(U+=pe,A.charCodeAt(U)===47&&++U,A.slice(U))},_makeLong:function(b){return b},dirname:function(b){if(w(b),b.length===0)return".";for(var A=b.charCodeAt(0),I=A===47,F=-1,z=!0,U=b.length-1;U>=1;--U)if((A=b.charCodeAt(U))===47){if(!z){F=U;break}}else z=!1;return F===-1?I?"/":".":I&&F===1?"//":b.slice(0,F)},basename:function(b,A){if(A!==void 0&&typeof A!="string")throw new TypeError('"ext" argument must be a string');w(b);var I,F=0,z=-1,U=!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,Z=-1;for(I=b.length-1;I>=0;--I){var pe=b.charCodeAt(I);if(pe===47){if(!U){F=I+1;break}}else Z===-1&&(U=!1,Z=I+1),W>=0&&(pe===A.charCodeAt(W)?--W==-1&&(z=I):(W=-1,z=Z))}return F===z?z=Z:z===-1&&(z=b.length),b.slice(F,z)}for(I=b.length-1;I>=0;--I)if(b.charCodeAt(I)===47){if(!U){F=I+1;break}}else z===-1&&(U=!1,z=I+1);return z===-1?"":b.slice(F,z)},extname:function(b){w(b);for(var A=-1,I=0,F=-1,z=!0,U=0,W=b.length-1;W>=0;--W){var Z=b.charCodeAt(W);if(Z!==47)F===-1&&(z=!1,F=W+1),Z===46?A===-1?A=W:U!==1&&(U=1):A!==-1&&(U=-1);else if(!z){I=W+1;break}}return A===-1||F===-1||U===0||U===1&&A===F-1&&A===I+1?"":b.slice(A,F)},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,I){var F=I.dir||I.root,z=I.base||(I.name||"")+(I.ext||"");return F?F===I.root?F+z:F+"/"+z:z})(0,b)},parse:function(b){w(b);var A={root:"",dir:"",base:"",ext:"",name:""};if(b.length===0)return A;var I,F=b.charCodeAt(0),z=F===47;z?(A.root="/",I=1):I=0;for(var U=-1,W=0,Z=-1,pe=!0,V=b.length-1,te=0;V>=I;--V)if((F=b.charCodeAt(V))!==47)Z===-1&&(pe=!1,Z=V+1),F===46?U===-1?U=V:te!==1&&(te=1):U!==-1&&(te=-1);else if(!pe){W=V+1;break}return U===-1||Z===-1||te===0||te===1&&U===Z-1&&U===W+1?Z!==-1&&(A.base=A.name=W===0&&z?b.slice(1,Z):b.slice(W,Z)):(W===0&&z?(A.name=b.slice(1,U),A.base=b.slice(1,Z)):(A.name=b.slice(W,U),A.base=b.slice(W,Z)),A.ext=b.slice(U,Z)),W>0?A.dir=b.slice(0,W-1):z&&(A.dir="/"),A},sep:"/",delimiter:":",win32:null,posix:null};$.posix=$,L.exports=$}},e={};function r(L){var w=e[L];if(w!==void 0)return w.exports;var O=e[L]={exports:{}};return t[L](O,O.exports,r),O.exports}r.d=(L,w)=>{for(var O in w)r.o(w,O)&&!r.o(L,O)&&Object.defineProperty(L,O,{enumerable:!0,get:w[O]})},r.o=(L,w)=>Object.prototype.hasOwnProperty.call(L,w),r.r=L=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(L,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(L,"__esModule",{value:!0})};var n={};let i;r.r(n),r.d(n,{URI:()=>d,Utils:()=>oe}),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(L,w){if(!L.scheme&&w)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${L.authority}", path: "${L.path}", query: "${L.query}", fragment: "${L.fragment}"}`);if(L.scheme&&!o.test(L.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(L.path){if(L.authority){if(!s.test(L.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(a.test(L.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}let l="",u="/",f=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class d{constructor(w,O,$,b,A,I=!1){de(this,"scheme");de(this,"authority");de(this,"path");de(this,"query");de(this,"fragment");typeof w=="object"?(this.scheme=w.scheme||l,this.authority=w.authority||l,this.path=w.path||l,this.query=w.query||l,this.fragment=w.fragment||l):(this.scheme=(function(F,z){return F||z?F:"file"})(w,I),this.authority=O||l,this.path=(function(F,z){switch(F){case"https":case"http":case"file":z?z[0]!==u&&(z=u+z):z=u}return z})(this.scheme,$||l),this.query=b||l,this.fragment=A||l,c(this,I))}static isUri(w){return w instanceof d||!!w&&typeof w.authority=="string"&&typeof w.fragment=="string"&&typeof w.path=="string"&&typeof w.query=="string"&&typeof w.scheme=="string"&&typeof w.fsPath=="string"&&typeof w.with=="function"&&typeof w.toString=="function"}get fsPath(){return T(this,!1)}with(w){if(!w)return this;let{scheme:O,authority:$,path:b,query:A,fragment:I}=w;return O===void 0?O=this.scheme:O===null&&(O=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),I===void 0?I=this.fragment:I===null&&(I=l),O===this.scheme&&$===this.authority&&b===this.path&&A===this.query&&I===this.fragment?this:new m(O,$,b,A,I)}static parse(w,O=!1){let $=f.exec(w);return $?new m($[2]||l,N($[4]||l),N($[5]||l),N($[7]||l),N($[9]||l),O):new m(l,l,l,l,l)}static file(w){let O=l;if(i&&(w=w.replace(/\\/g,u)),w[0]===u&&w[1]===u){let $=w.indexOf(u,2);$===-1?(O=w.substring(2),w=u):(O=w.substring(2,$),w=w.substring($)||u)}return new m("file",O,w,l,l)}static from(w){let O=new m(w.scheme,w.authority,w.path,w.query,w.fragment);return c(O,!0),O}toString(w=!1){return v(this,w)}toJSON(){return this}static revive(w){if(w){if(w instanceof d)return w;{let O=new m(w);return O._formatted=w.external,O._fsPath=w._sep===p?w.fsPath:null,O}}return w}}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=T(this,!1)),this._fsPath}toString(O=!1){return O?v(this,!0):(this._formatted||(this._formatted=v(this,!1)),this._formatted)}toJSON(){let O={$mid:1};return this._fsPath&&(O.fsPath=this._fsPath,O._sep=p),this._formatted&&(O.external=this._formatted),this.path&&(O.path=this.path),this.scheme&&(O.scheme=this.scheme),this.authority&&(O.authority=this.authority),this.query&&(O.query=this.query),this.fragment&&(O.fragment=this.fragment),O}}let y={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 _(L,w,O){let $,b=-1;for(let A=0;A<L.length;A++){let I=L.charCodeAt(A);if(I>=97&&I<=122||I>=65&&I<=90||I>=48&&I<=57||I===45||I===46||I===95||I===126||w&&I===47||O&&I===91||O&&I===93||O&&I===58)b!==-1&&($+=encodeURIComponent(L.substring(b,A)),b=-1),$!==void 0&&($+=L.charAt(A));else{$===void 0&&($=L.substr(0,A));let F=y[I];F!==void 0?(b!==-1&&($+=encodeURIComponent(L.substring(b,A)),b=-1),$+=F):b===-1&&(b=A)}}return b!==-1&&($+=encodeURIComponent(L.substring(b))),$!==void 0?$:L}function E(L){let w;for(let O=0;O<L.length;O++){let $=L.charCodeAt(O);$===35||$===63?(w===void 0&&(w=L.substr(0,O)),w+=y[$]):w!==void 0&&(w+=L[O])}return w!==void 0?w:L}function T(L,w){let O;return O=L.authority&&L.path.length>1&&L.scheme==="file"?`//${L.authority}${L.path}`:L.path.charCodeAt(0)===47&&(L.path.charCodeAt(1)>=65&&L.path.charCodeAt(1)<=90||L.path.charCodeAt(1)>=97&&L.path.charCodeAt(1)<=122)&&L.path.charCodeAt(2)===58?w?L.path.substr(1):L.path[1].toLowerCase()+L.path.substr(2):L.path,i&&(O=O.replace(/\//g,"\\")),O}function v(L,w){let O=w?E:_,$="",{scheme:b,authority:A,path:I,query:F,fragment:z}=L;if(b&&($+=b,$+=":"),(A||b==="file")&&($+=u,$+=u),A){let U=A.indexOf("@");if(U!==-1){let W=A.substr(0,U);A=A.substr(U+1),U=W.lastIndexOf(":"),U===-1?$+=O(W,!1,!1):($+=O(W.substr(0,U),!1,!1),$+=":",$+=O(W.substr(U+1),!1,!0)),$+="@"}A=A.toLowerCase(),U=A.lastIndexOf(":"),U===-1?$+=O(A,!1,!0):($+=O(A.substr(0,U),!1,!0),$+=A.substr(U))}if(I){if(I.length>=3&&I.charCodeAt(0)===47&&I.charCodeAt(2)===58){let U=I.charCodeAt(1);U>=65&&U<=90&&(I=`/${String.fromCharCode(U+32)}:${I.substr(3)}`)}else if(I.length>=2&&I.charCodeAt(1)===58){let U=I.charCodeAt(0);U>=65&&U<=90&&(I=`${String.fromCharCode(U+32)}:${I.substr(2)}`)}$+=O(I,!0,!1)}return F&&($+="?",$+=O(F,!1,!1)),z&&($+="#",$+=w?z:_(z,!1,!1)),$}function S(L){try{return decodeURIComponent(L)}catch{return L.length>3?L.substr(0,3)+S(L.substr(3)):L}}let D=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function N(L){return L.match(D)?L.replace(D,(w=>S(w))):L}var M=r(975);let B=M.posix||M,G="/";var oe;(function(L){L.joinPath=function(w,...O){return w.with({path:B.join(w.path,...O)})},L.resolvePath=function(w,...O){let $=w.path,b=!1;$[0]!==G&&($=G+$,b=!0);let A=B.resolve($,...O);return b&&A[0]===G&&!w.authority&&(A=A.substring(1)),w.with({path:A})},L.dirname=function(w){if(w.path.length===0||w.path===G)return w;let O=B.dirname(w.path);return O.length===1&&O.charCodeAt(0)===46&&(O=""),w.with({path:O})},L.basename=function(w){return B.basename(w.path)},L.extname=function(w){return B.extname(w.path)}})(oe||(oe={})),_b=n})();var{URI:ht,Utils:ga}=_b;var Et;(function(t){t.basename=ga.basename,t.dirname=ga.dirname,t.extname=ga.extname,t.joinPath=ga.joinPath,t.resolvePath=ga.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(y=>y.length>0),f=l.split("/").filter(y=>y.length>0);if(e){let y=/^[A-Z]:$/;if(u[0]&&y.test(u[0])&&(u[0]=u[0].toLowerCase()),f[0]&&y.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})(Et||(Et={}));var ya=class{constructor(){this.root={name:"",children:new Map}}normalizeUri(e){return Et.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:Et.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:Et.joinPath(ht.parse(r),i.name).toString(),element:i.element})):[]}all(){return this.collectValues(this.root)}findAll(e){let r=this.getNode(Et.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 Ol=class{constructor(e){this.serviceRegistry=e.ServiceRegistry,this.textDocuments=e.workspace.TextDocuments,this.fileSystemProvider=e.workspace.FileSystemProvider}async fromUri(e,r=ie.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),ie.CancellationToken.is(n)?this.createAsync(r,e,n):this.create(r,e,n)}fromString(e,r,n){return ie.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=ma.create(e.toString(),n.getServices(e).LanguageMetaData.languageId,0,r??""))}},Ll=class{constructor(e){this.documentTrie=new ya,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 Uo=Symbol("RefResolving"),Dl=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=ie.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),ci(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),ci(n).forEach(i=>this.doLink(i,e))}doLink(e,r){let n=e.reference;if("_ref"in n&&n._ref===void 0){n._ref=Uo;try{let i=this.getCandidate(e);if(no(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=Uo;try{let i=this.getCandidates(e),o=[];if(no(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(Am(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=Uo;let a=gs(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===Uo&&o.throwCyclicReferenceError(e,r,i);return dt(this._ref)?this._ref:void 0},get $nodeDescription(){return this._nodeDescription},get error(){return no(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=Uo;let a=gs(e).$document,c=o.getCandidates({reference:s,container:e,property:r}),l=[];if(no(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===Uo&&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(no(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=gs(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 Eb(t){return typeof t.name=="string"}var $l=class{getName(e){if(Eb(e))return e.name}getNameNode(e){return Yc(e.$cstNode,"name")}};var Ml=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=>Ur(r)&&r.isMulti)}findDeclarations(e){if(e){let r=pg(e),n=e.astNode;if(r&&n){let i=n[r.feature];if(At(i)||lr(i))return gf(i);if(Array.isArray(i)){for(let o of i)if((At(o)||lr(o))&&o.$refNode&&o.$refNode.offset<=e.offset&&o.$refNode.end>=e.end)return gf(o)}}if(n){let i=this.nameProvider.getNameNode(n);if(i&&(i===e||Km(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 ci(n))if(lr(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=>Et.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=Mt(i),a=this.nodeLocator.getAstNodePath(i);n.push({sourceUri:s.uri,sourcePath:a,targetUri:s.uri,targetPath:a,segment:yo(o),local:!0})}}return n}};var Ut=class{constructor(e){if(this.map=new Map,e)for(let[r,n]of e)this.add(r,n)}get size(){return hs.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):ai}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())}},Bo=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 Fl=class{constructor(e){this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider}async collectExportedSymbols(e,r=ie.CancellationToken.None){return this.collectExportedSymbolsForNode(e.parseResult.value,e,void 0,r)}async collectExportedSymbolsForNode(e,r,n=Pc,i=ie.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=ie.CancellationToken.None){let n=e.parseResult.value,i=new Ut;for(let o of $r(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 xa=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}},vx=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}},Ul=class{constructor(e,r,n){this.elements=new Ut,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}},B2={getElement(){},getElements(){return ai},getAllElements(){return ai}};var Ta=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")}},Bl=class extends Ta{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()}},Go=class extends Ta{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}},pp=class extends Go{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)}))}},_a=class extends Bl{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 Gl=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 _a(e.shared)}getScope(e){let r=[],n=this.reflection.getReferenceType(e),i=Mt(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 xa(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 xa(i,r,n)}getGlobalScope(e,r){return this.globalScopeCache.get(e,()=>new Ul(this.indexManager.allElements(e)))}};function wx(t){return typeof t.$comment=="string"}function vb(t){return typeof t=="object"&&!!t&&("$ref"in t||"$error"in t)}var Xl=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=Mt(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=Mt(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(lr(r)){let c=n?r.$refText:void 0,l=[];for(let u of r.items){let f=u.ref,d=Mt(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=lg(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];vb(f)?l[u]=this.reviveReference(e,c,r,f,n):dt(f)&&this.linkNode(f,r,n,e,c,u)}else vb(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 Hl=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=Et.extname(e),i=Et.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 Xo(t){return{code:t}}var hp;(function(t){t.defaults=["fast","slow","built-in"],t.all=t.defaults})(hp||(hp={}));var zl=class{constructor(e){this.entries=new Ut,this.knownCategories=new Set(hp.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 an(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(hn(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 wb=Object.freeze({validateNode:!0,validateChildren:!0}),jl=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=ie.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===Rr.LexingError)||(this.processParsingErrors(i,o,r),r.stopAfterParsingErrors&&o.some(s=>s.data?.code===Rr.ParsingError))||(this.processLinkingErrors(e,o,r),r.stopAfterLinkingErrors&&o.some(s=>s.data?.code===Rr.LinkingError))))return o;try{o.push(...await this.validateAst(i.value,r,n))}catch(s){if(hn(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:mp(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:bb(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=bs(i.token);if(o){let s={severity:mp("error"),range:o,message:i.message,data:Xo(Rr.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:Rr.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=ie.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=ie.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=ie.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 wb}async validateAstAfter(e,r,n,i=ie.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:Rb(n),severity:mp(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 Rb(t){if(t.range)return t.range;let e;return typeof t.property=="string"?e=Yc(t.node.$cstNode,t.property,t.index):typeof t.keyword=="string"&&(e=fg(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 mp(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 bb(t){switch(t){case"error":return Xo(Rr.LexingError);case"warning":return Xo(Rr.LexingWarning);case"info":return Xo(Rr.LexingInfo);case"hint":return Xo(Rr.LexingHint);default:throw new Error("Invalid diagnostic severity: "+t)}}var Rr;(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"})(Rr||(Rr={}));var ql=class{constructor(e){this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider}createDescription(e,r,n){let i=n??Mt(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=yo(this.nameProvider.getNameNode(e)??e.$cstNode));return{node:e,name:r,get nameSegment(){return a()},selectionSegment:yo(e.$cstNode),type:e.$type,documentUri:i.uri,path:o}}},Wl=class{constructor(e){this.nodeLocator=e.workspace.AstNodeLocator}async createDescriptions(e,r=ie.CancellationToken.None){let n=[],i=e.parseResult.value;for(let o of zt(i))await pt(r),ci(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]:lr(r)&&(n=r.items.map(c=>c.$nodeDescription).filter(c=>c!==void 0));let i=Mt(e.container).uri,o=this.nodeLocator.getAstNodePath(e.container),s=[],a=yo(r.$refNode);for(let c of n)s.push({sourceUri:i,sourcePath:o,targetUri:c.documentUri,targetPath:c.path,segment:a,local:Et.equals(c.documentUri,i)});return s}};var Vl=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 nt={};Ie(nt,Em(yx(),1));var Yl=class{constructor(e){this._ready=new Zt,this.onConfigurationSectionUpdateEmitter=new nt.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 Ba=Em(ZS(),1);var Xi;(function(t){function e(r){return{dispose:async()=>await r()}}t.create=e})(Xi||(Xi={}));var ou=class{constructor(e){this.updateBuildOptions={validation:{categories:["built-in","fast"]}},this.updateListeners=[],this.buildPhaseListeners=new Ut,this.documentPhaseListeners=new Ut,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=ie.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=ie.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),Xi.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),Xi.create(()=>{this.buildPhaseListeners.delete(e,r)})}onDocumentPhase(e,r){return this.documentPhaseListeners.add(e,r),Xi.create(()=>{this.documentPhaseListeners.delete(e,r)})}waitUntil(e,r,n){let i;return r&&"path"in r?i=r:n=r,n??(n=ie.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 Ba.ResponseError(Ba.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 Ba.ResponseError(Ba.LSPErrorCodes.ServerCancelled,`No document found for URI: ${r.toString()}`));return new Promise((o,s)=>{let a=this.onDocumentPhase(e,l=>{Et.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(!hn(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 su=class{constructor(e){this.symbolIndex=new Map,this.symbolByTypeIndex=new Go,this.referenceIndex=new Map,this.documents=e.workspace.LangiumDocuments,this.serviceRegistry=e.ServiceRegistry,this.astReflection=e.AstReflection}findAllReferences(e,r){let n=Mt(e).uri,i=[];return this.referenceIndex.forEach(o=>{o.forEach(s=>{Et.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=ie.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=ie.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 au=class{constructor(e){this.initialBuildOptions={},this._ready=new Zt,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=ie.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=Et.basename(e.uri);return r.startsWith(".")?!1:e.isDirectory?r!=="node_modules"&&r!=="out":e.isFile?this.serviceRegistry.hasServices(e.uri):!1}};var cu=class{buildUnexpectedCharactersMessage(e,r,n,i,o){return $s.buildUnexpectedCharactersMessage(e,r,n,i,o)}buildUnableToPopLexerModeMessage(e){return $s.buildUnableToPopLexerModeMessage(e)}},Zp={mode:"full"},qo=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=YT(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=Zp){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(YT(e))return e;let r=KT(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 KT(t){return t&&"modes"in t&&"defaultMode"in t}function YT(t){return!Jp(t)&&!KT(t)}ua();function QT(t,e,r){let n,i;typeof t=="string"?(i=e,n=r):(i=t.range.start,n=e),i||(i=Se.create(0,0));let o=ek(t),s=t_(n),a=MU({lines:o,position:i,options:s});return XU({index:0,tokens:a,position:i})}function e_(t,e){let r=t_(e),n=ek(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 ek(t){let e="";return typeof t=="string"?e=t:e=t.text,e.split(rg)}var JS=/\s*(@([\p{L}][\p{L}\p{N}]*)?)/uy,$U=/\{(@[\p{L}][\p{L}\p{N}]*)(\s*)([^\r\n}]+)?\}/gu;function MU(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,GU(a)),JT(a,c)>=a.length){if(e.length>0){let u=Se.create(r,n);e.push({type:"break",content:"",range:Ee.create(u,u)})}}else{JS.lastIndex=c;let u=JS.exec(a);if(u){let f=u[0],d=u[1],p=Se.create(r,n+c),m=Se.create(r,n+c+f.length);e.push({type:"tag",content:d,range:Ee.create(p,m)}),c+=f.length,c=JT(a,c)}if(c<a.length){let f=a.substring(c),d=Array.from(f.matchAll($U));e.push(...FU(d,f,r,n+c))}}r++,n=0}return e.length>0&&e[e.length-1].type==="break"?e.slice(0,-1):e}function FU(t,e,r,n){let i=[];if(t.length===0){let o=Se.create(r,n),s=Se.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(Se.create(r,o+n),Se.create(r,c+n))});let u=l.length+1,f=a[1];if(i.push({type:"inline-tag",content:f,range:Ee.create(Se.create(r,o+u+n),Se.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(Se.create(r,o+u+n),Se.create(r,o+u+d.length+n))})}else i.push({type:"text",content:"",range:Ee.create(Se.create(r,o+u+n),Se.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(Se.create(r,o+n),Se.create(r,o+n+s.length))})}return i}var UU=/\S/,BU=/\s*$/;function JT(t,e){let r=t.substring(e).match(UU);return r?e+r.index:t.length}function GU(t){let e=t.match(BU);if(e&&typeof e.index=="number")return e.index}function XU(t){let e=Se.create(t.position.line,t.position.character);if(t.tokens.length===0)return new Qp([],Ee.create(e,e));let r=[];for(;t.index<t.tokens.length;){let o=HU(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 Qp(r,Ee.create(n,i))}function HU(t,e){let r=t.tokens[t.index];if(r.type==="tag")return rk(t,!1);if(r.type==="text"||r.type==="inline-tag")return tk(t);zU(r,e),t.index++}function zU(t,e){if(e){let r=new eh("",t.range);"inlines"in e?e.inlines.push(r):e.content.inlines.push(r)}}function tk(t){let e=t.tokens[t.index],r=e,n=e,i=[];for(;e&&e.type!=="break"&&e.type!=="tag";)i.push(jU(t)),n=e,e=t.tokens[t.index];return new uu(i,Ee.create(r.range.start,n.range.end))}function jU(t){return t.tokens[t.index].type==="inline-tag"?rk(t,!0):nk(t)}function rk(t,e){let r=t.tokens[t.index++],n=r.content.substring(1);if(t.tokens[t.index]?.type==="text")if(e){let o=nk(t);return new lu(n,new uu([o],o.range),e,Ee.create(r.range.start,o.range.end))}else{let o=tk(t);return new lu(n,o,e,Ee.create(r.range.start,o.range.end))}else{let o=r.range;return new lu(n,new uu([],o),e,o)}}function nk(t){let e=t.tokens[t.index++];return new eh(e.content,e.range)}function t_(t){if(!t)return t_({start:"/**",end:"*/",line:"*"});let{start:e,end:r,line:n}=t;return{start:ZT(e,!0),end:ZT(r,!1),line:ZT(n,!0)}}function ZT(t,e){if(typeof t=="string"||typeof t=="object"){let r=typeof t=="string"?gi(t):t.source;return e?new RegExp(`^\\s*${r}`):new RegExp(`\\s*${r}\\s*$`)}else return t}var Qp=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+=QS(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+=QS(r)+i}return r.trim()}},lu=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=qU(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 qU(t,e,r){if(t==="linkplain"||t==="linkcode"||t==="link"){let n=e.indexOf(" "),i=e;if(n>0){let s=JT(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)??WU(e,i)}}function WU(t,e){try{return ht.parse(t,!0),`[${e}](${t})`}catch{return t}}var uu=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}},eh=class{constructor(e,r){this.text=e,this.range=r}toString(){return this.text}toMarkdown(){return this.text}};function QS(t){return t.endsWith(`
|
|
157
157
|
`)?`
|
|
158
158
|
`:`
|
|
159
159
|
|
|
160
|
-
`}var uu=class{constructor(e){this.indexManager=e.shared.workspace.IndexManager,this.commentProvider=e.documentation.CommentProvider}getDocumentation(e){let r=this.commentProvider.getComment(e);if(r&&JT(r))return ZT(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=Mt(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 fu=class{constructor(e){this.grammarConfig=()=>e.parser.GrammarConfig}getComment(e){return Ex(e)?e.$comment:Ym(e.$cstNode,this.grammarConfig().multilineCommentRules)?.text}};var du=class{constructor(e){this.syncParser=e.parser.LangiumParser}parse(e,r){return Promise.resolve(this.syncParser.parse(e))}},e_=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 Zt,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 Zt;return e.onCancellationRequested(()=>{let n=this.queue.indexOf(r);n>=0&&this.queue.splice(n,1),r.reject(Rr)}),this.queue.push(r),r.promise}},t_=class{get ready(){return this._ready}get onReady(){return this.onReadyEmitter.event}constructor(e,r,n,i){this.onReadyEmitter=new nt.Emitter,this.deferred=new Zt,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(Rr),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 Zt,this.sendMessage(e),this.deferred.promise}};var pu=class{constructor(){this.previousTokenSource=new ie.CancellationTokenSource,this.writeQueue=[],this.readQueue=[],this.done=!0}write(e){this.cancelWrite();let r=lp();return this.previousTokenSource=r,this.enqueue(this.writeQueue,e,r.token)}read(e){return this.enqueue(this.readQueue,e)}enqueue(e,r,n=ie.CancellationToken.None){let i=new Zt,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){hn(o)?n.resolve(void 0):n.reject(o)}})),this.done=!0,this.performNextOperation()}cancelWrite(){this.previousTokenSource.cancel()}};var hu=class{constructor(e){this.grammarElementIdMap=new Bo,this.tokenTypeIdMap=new Bo,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 jt(e))r.set(i,{});if(e.$cstNode)for(let i of go(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)):At(a)?s.push(this.dehydrateReference(a,r)):s.push(a)}else dt(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 Nc(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)):si(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 jt(e))r.set(o,{});let i;if(e.$cstNode)for(let o of go(e.$cstNode)){let s;"fullText"in o?(s=new ua(o.fullText),i=s):"content"in o?s=new Do:"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)):At(a)?s.push(this.hydrateReference(a,n,i,r)):s.push(a)}else dt(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 Lo(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 jt(this.grammar))Bc(r)&&this.grammarElementIdMap.set(r,e++)}};function mu(t){return{documentation:{CommentProvider:e=>new fu(e),DocumentationProvider:e=>new uu(e)},parser:{AsyncParser:e=>new du(e),GrammarConfig:e=>hg(e),LangiumParser:e=>lx(e),CompletionParser:e=>cx(e),ValueConverter:()=>new Fo,TokenBuilder:()=>new Mo,Lexer:e=>new qo(e),ParserErrorMessageProvider:()=>new fa,LexerErrorMessageProvider:()=>new au},workspace:{AstNodeLocator:()=>new Wl,AstNodeDescriptionProvider:e=>new zl(e),ReferenceDescriptionProvider:e=>new ql(e)},references:{Linker:e=>new Ll(e),NameProvider:()=>new Dl,ScopeProvider:e=>new Bl(e),ScopeComputation:e=>new Ml(e),References:e=>new $l(e)},serializer:{Hydrator:e=>new hu(e),JsonSerializer:e=>new Gl(e)},validation:{DocumentValidator:e=>new jl(e),ValidationRegistry:e=>new Hl(e)},shared:()=>t.shared}}function gu(t){return{ServiceRegistry:e=>new Xl(e),workspace:{LangiumDocuments:e=>new Ol(e),LangiumDocumentFactory:e=>new Pl(e),DocumentBuilder:e=>new iu(e),IndexManager:e=>new ou(e),WorkspaceManager:e=>new su(e),FileSystemProvider:e=>t.fileSystemProvider(e),WorkspaceLock:()=>new pu,ConfigurationProvider:e=>new Vl(e)},profilers:{}}}var r_;(function(t){t.merge=(e,r)=>yu(yu({},e),r)})(r_||(r_={}));function Wo(t,e,r,n,i,o,s,a,c){let l=[t,e,r,n,i,o,s,a,c].reduce(yu,{});return nk(l)}var tk=Symbol("isProxy");function rk(t){if(t&&t[tk])for(let e of Object.values(t))rk(e);return t}function nk(t,e){let r=new Proxy({},{deleteProperty:()=>!1,set:()=>{throw new Error("Cannot set property on injected service container")},get:(n,i)=>i===tk?!0:ek(n,i,t,e||r),getOwnPropertyDescriptor:(n,i)=>(ek(n,i,t,e||r),Object.getOwnPropertyDescriptor(n,i)),has:(n,i)=>i in t,ownKeys:()=>[...Object.getOwnPropertyNames(t)]});return r}var QS=Symbol();function ek(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]===QS)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]=QS;try{t[e]=typeof i=="function"?i(n):nk(i,n)}catch(o){throw t[e]=o instanceof Error?o:void 0,o}return t[e]}else return}function yu(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]=yu(i,n):t[r]=yu({},n)}else t[r]=n}return t}var n_={indentTokenName:"INDENT",dedentTokenName:"DEDENT",whitespaceTokenName:"WS",ignoreIndentationDelimiters:[]},Vo;(function(t){t.REGULAR="indentation-sensitive",t.IGNORE_INDENTATION="ignore-indentation"})(Vo||(Vo={}));var Ba=class extends Mo{constructor(e=n_){super(),this.indentationStack=[0],this.whitespaceRegExp=/[ \t]+/y,this.options={...n_,...e},this.indentTokenType=xi({name:this.options.indentTokenName,pattern:this.indentMatcher.bind(this),line_breaks:!1}),this.dedentTokenType=xi({name:this.options.dedentTokenName,pattern:this.dedentMatcher.bind(this),line_breaks:!1})}buildTokens(e,r){let n=super.buildTokens(e,r);if(!Kp(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=Vo.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:{[Vo.REGULAR]:[c,l,...f,u],[Vo.IGNORE_INDENTATION]:[...f,u]},defaultMode:Vo.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 Mn(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?xi({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}},xu=class extends qo{constructor(e){if(super(e),e.parser.TokenBuilder instanceof Ba)this.indentationTokenBuilder=e.parser.TokenBuilder;else throw new Error("IndentationAwareLexer requires an accompanying IndentationAwareTokenBuilder")}tokenize(e,r=Yp){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={};rn(Pe,{AstUtils:()=>mf,BiMap:()=>Bo,Cancellation:()=>ie,ContextCache:()=>Go,CstUtils:()=>Df,DONE_RESULT:()=>$t,Deferred:()=>Zt,Disposable:()=>Xi,DisposableCache:()=>xa,DocumentCache:()=>fp,EMPTY_STREAM:()=>ai,ErrorWithLocation:()=>xo,GrammarUtils:()=>Ss,MultiMap:()=>Ut,OperationCancelled:()=>Rr,Reduction:()=>ps,RegExpUtils:()=>Ff,SimpleCache:()=>Ul,StreamImpl:()=>ur,TreeStreamImpl:()=>nn,URI:()=>ht,UriTrie:()=>ga,UriUtils:()=>Et,WorkspaceCache:()=>Ta,assertCondition:()=>y0,assertUnreachable:()=>an,delayNextTick:()=>xx,interruptAndCheck:()=>pt,isOperationCancelled:()=>hn,loadGrammarFromJson:()=>eh,setInterruptionPeriod:()=>fb,startCancelableOperation:()=>lp,stream:()=>xe});Ie(Pe,nt);var Qp=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[]}},Tu={fileSystemProvider:()=>new Qp};var UU={Grammar:()=>{},LanguageMetaData:()=>({caseInsensitive:!1,fileExtensions:[".langium"],languageId:"langium"})},BU={AstReflection:()=>new Rs};function GU(){let t=Wo(gu(Tu),BU),e=Wo(mu({shared:t}),UU);return t.ServiceRegistry.register(e),e}function eh(t){let e=GU(),r=e.serializer.JsonSerializer.deserialize(t);return e.shared.workspace.LangiumDocumentFactory.fromModel(r,ht.parse(`memory:/${r.name??"grammar"}.langium`)),r}Ie(ut,Pe);var i_=class{constructor(e){this.activeCategories=new Set,this.allCategories=new Set(["validating","parsing","linking"]),this.activeCategories=e??new Set(this.allCategories),this.records=new Ut}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 th(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])}},th=class{constructor(e,r){this.stack=[],this.entries=new Ut,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 Xa={$type:"AnchorDeclaration",description:"description",name:"name",properties:"properties",title:"title"};function wu(t){return St.isInstance(t,Xa.$type)}var o_={$type:"BlockProperty",key:"key",value:"value"};var u_={$type:"CalendarBlock",properties:"properties"};function ah(t){return St.isInstance(t,u_.$type)}var Ga={$type:"ConfigEntry"};var sh={$type:"DefaultDeclaration",entityType:"entityType",properties:"properties"};function Hi(t){return St.isInstance(t,sh.$type)}var f_={$type:"DescriptionDirective",text:"text"};function h_(t){return St.isInstance(t,f_.$type)}var rh={$type:"EntityProperty",key:"key",value:"value",values:"values"};var Ha={$type:"FootnoteDeclaration",description:"description",name:"name",properties:"properties",title:"title"};function bu(t){return St.isInstance(t,Ha.$type)}var ja={$type:"GroupBlock",content:"content",name:"name",properties:"properties",title:"title"};function qr(t){return St.isInstance(t,ja.$type)}var _u={$type:"GroupContent"};var s_={$type:"IncludeDeclaration",options:"options",path:"path"};var a_={$type:"IncludeOption",key:"key",value:"value"};var za={$type:"ItemDeclaration",description:"description",name:"name",properties:"properties",title:"title"};function gr(t){return St.isInstance(t,za.$type)}var qa={$type:"LabelDeclaration",description:"description",name:"name",properties:"properties",title:"title"};function Au(t){return St.isInstance(t,qa.$type)}var Wa={$type:"MilestoneDeclaration",description:"description",name:"name",properties:"properties",title:"title"};function Iu(t){return St.isInstance(t,Wa.$type)}var c_={$type:"NowlineDirective",properties:"properties",version:"version"};var Yo={$type:"NowlineFile",configEntries:"configEntries",directive:"directive",hasConfig:"hasConfig",includes:"includes",roadmapDecl:"roadmapDecl",roadmapEntries:"roadmapEntries"};var Va={$type:"ParallelBlock",content:"content",name:"name",properties:"properties",title:"title"};function Wr(t){return St.isInstance(t,Va.$type)}var nh={$type:"ParallelContent"};var Ya={$type:"PersonDeclaration",description:"description",name:"name",properties:"properties",title:"title"};function zn(t){return St.isInstance(t,Ya.$type)}var d_={$type:"PersonMemberRef",ref:"ref"};function ik(t){return St.isInstance(t,d_.$type)}var ih={$type:"RoadmapDeclaration",name:"name",properties:"properties",title:"title"};var Tn={$type:"RoadmapEntry"};var p_={$type:"ScaleBlock",properties:"properties"};function ok(t){return St.isInstance(t,p_.$type)}var Ka={$type:"SizeDeclaration",description:"description",name:"name",properties:"properties",title:"title"};function Ko(t){return St.isInstance(t,Ka.$type)}var Za={$type:"StatusDeclaration",description:"description",name:"name",properties:"properties",title:"title"};function tc(t){return St.isInstance(t,Za.$type)}var vu={$type:"StyleDeclaration",name:"name",properties:"properties",title:"title"};function Su(t){return St.isInstance(t,vu.$type)}var l_={$type:"StyleProperty",key:"key",value:"value"};var Eu={$type:"SwimlaneContent"};var Ja={$type:"SwimlaneDeclaration",content:"content",name:"name",properties:"properties",title:"title"};function Ir(t){return St.isInstance(t,Ja.$type)}var Qa={$type:"SymbolDeclaration",description:"description",name:"name",properties:"properties",title:"title"};function ku(t){return St.isInstance(t,Qa.$type)}var oh={$type:"TeamContent"};var ec={$type:"TeamDeclaration",content:"content",name:"name",properties:"properties",title:"title"};function Sr(t){return St.isInstance(t,ec.$type)}var Ru=class extends ro{constructor(){super(...arguments);de(this,"types",{AnchorDeclaration:{name:Xa.$type,properties:{description:{name:Xa.description},name:{name:Xa.name},properties:{name:Xa.properties,defaultValue:[]},title:{name:Xa.title}},superTypes:[Tn.$type]},BlockProperty:{name:o_.$type,properties:{key:{name:o_.key},value:{name:o_.value}},superTypes:[]},CalendarBlock:{name:u_.$type,properties:{properties:{name:u_.properties,defaultValue:[]}},superTypes:[Ga.$type]},ConfigEntry:{name:Ga.$type,properties:{},superTypes:[]},DefaultDeclaration:{name:sh.$type,properties:{entityType:{name:sh.entityType},properties:{name:sh.properties,defaultValue:[]}},superTypes:[Ga.$type]},DescriptionDirective:{name:f_.$type,properties:{text:{name:f_.text}},superTypes:[_u.$type,nh.$type,Eu.$type,oh.$type]},EntityProperty:{name:rh.$type,properties:{key:{name:rh.key},value:{name:rh.value},values:{name:rh.values,defaultValue:[]}},superTypes:[]},FootnoteDeclaration:{name:Ha.$type,properties:{description:{name:Ha.description},name:{name:Ha.name},properties:{name:Ha.properties,defaultValue:[]},title:{name:Ha.title}},superTypes:[Tn.$type]},GroupBlock:{name:ja.$type,properties:{content:{name:ja.content,defaultValue:[]},name:{name:ja.name},properties:{name:ja.properties,defaultValue:[]},title:{name:ja.title}},superTypes:[_u.$type,nh.$type,Eu.$type]},GroupContent:{name:_u.$type,properties:{},superTypes:[]},IncludeDeclaration:{name:s_.$type,properties:{options:{name:s_.options,defaultValue:[]},path:{name:s_.path}},superTypes:[]},IncludeOption:{name:a_.$type,properties:{key:{name:a_.key},value:{name:a_.value}},superTypes:[]},ItemDeclaration:{name:za.$type,properties:{description:{name:za.description},name:{name:za.name},properties:{name:za.properties,defaultValue:[]},title:{name:za.title}},superTypes:[_u.$type,nh.$type,Eu.$type]},LabelDeclaration:{name:qa.$type,properties:{description:{name:qa.description},name:{name:qa.name},properties:{name:qa.properties,defaultValue:[]},title:{name:qa.title}},superTypes:[Tn.$type]},MilestoneDeclaration:{name:Wa.$type,properties:{description:{name:Wa.description},name:{name:Wa.name},properties:{name:Wa.properties,defaultValue:[]},title:{name:Wa.title}},superTypes:[Tn.$type]},NowlineDirective:{name:c_.$type,properties:{properties:{name:c_.properties,defaultValue:[]},version:{name:c_.version}},superTypes:[]},NowlineFile:{name:Yo.$type,properties:{configEntries:{name:Yo.configEntries,defaultValue:[]},directive:{name:Yo.directive},hasConfig:{name:Yo.hasConfig,defaultValue:!1},includes:{name:Yo.includes,defaultValue:[]},roadmapDecl:{name:Yo.roadmapDecl},roadmapEntries:{name:Yo.roadmapEntries,defaultValue:[]}},superTypes:[]},ParallelBlock:{name:Va.$type,properties:{content:{name:Va.content,defaultValue:[]},name:{name:Va.name},properties:{name:Va.properties,defaultValue:[]},title:{name:Va.title}},superTypes:[_u.$type,Eu.$type]},ParallelContent:{name:nh.$type,properties:{},superTypes:[]},PersonDeclaration:{name:Ya.$type,properties:{description:{name:Ya.description},name:{name:Ya.name},properties:{name:Ya.properties,defaultValue:[]},title:{name:Ya.title}},superTypes:[Tn.$type]},PersonMemberRef:{name:d_.$type,properties:{ref:{name:d_.ref}},superTypes:[oh.$type]},RoadmapDeclaration:{name:ih.$type,properties:{name:{name:ih.name},properties:{name:ih.properties,defaultValue:[]},title:{name:ih.title}},superTypes:[]},RoadmapEntry:{name:Tn.$type,properties:{},superTypes:[]},ScaleBlock:{name:p_.$type,properties:{properties:{name:p_.properties,defaultValue:[]}},superTypes:[Ga.$type]},SizeDeclaration:{name:Ka.$type,properties:{description:{name:Ka.description},name:{name:Ka.name},properties:{name:Ka.properties,defaultValue:[]},title:{name:Ka.title}},superTypes:[Tn.$type]},StatusDeclaration:{name:Za.$type,properties:{description:{name:Za.description},name:{name:Za.name},properties:{name:Za.properties,defaultValue:[]},title:{name:Za.title}},superTypes:[Tn.$type]},StyleDeclaration:{name:vu.$type,properties:{name:{name:vu.name},properties:{name:vu.properties,defaultValue:[]},title:{name:vu.title}},superTypes:[Ga.$type]},StyleProperty:{name:l_.$type,properties:{key:{name:l_.key},value:{name:l_.value}},superTypes:[]},SwimlaneContent:{name:Eu.$type,properties:{},superTypes:[]},SwimlaneDeclaration:{name:Ja.$type,properties:{content:{name:Ja.content,defaultValue:[]},name:{name:Ja.name},properties:{name:Ja.properties,defaultValue:[]},title:{name:Ja.title}},superTypes:[Tn.$type]},SymbolDeclaration:{name:Qa.$type,properties:{description:{name:Qa.description},name:{name:Qa.name},properties:{name:Qa.properties,defaultValue:[]},title:{name:Qa.title}},superTypes:[Ga.$type]},TeamContent:{name:oh.$type,properties:{},superTypes:[]},TeamDeclaration:{name:ec.$type,properties:{content:{name:ec.content,defaultValue:[]},name:{name:ec.name},properties:{name:ec.properties,defaultValue:[]},title:{name:ec.title}},superTypes:[Tn.$type,oh.$type]}})}},St=new Ru;var sk,ak=()=>sk??(sk=eh(`{
|
|
160
|
+
`}var fu=class{constructor(e){this.indexManager=e.shared.workspace.IndexManager,this.commentProvider=e.documentation.CommentProvider}getDocumentation(e){let r=this.commentProvider.getComment(e);if(r&&e_(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=Mt(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 du=class{constructor(e){this.grammarConfig=()=>e.parser.GrammarConfig}getComment(e){return wx(e)?e.$comment:Zm(e.$cstNode,this.grammarConfig().multilineCommentRules)?.text}};var pu=class{constructor(e){this.syncParser=e.parser.LangiumParser}parse(e,r){return Promise.resolve(this.syncParser.parse(e))}},r_=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 Zt,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 Zt;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}},n_=class{get ready(){return this._ready}get onReady(){return this.onReadyEmitter.event}constructor(e,r,n,i){this.onReadyEmitter=new nt.Emitter,this.deferred=new Zt,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 Zt,this.sendMessage(e),this.deferred.promise}};var hu=class{constructor(){this.previousTokenSource=new ie.CancellationTokenSource,this.writeQueue=[],this.readQueue=[],this.done=!0}write(e){this.cancelWrite();let r=fp();return this.previousTokenSource=r,this.enqueue(this.writeQueue,e,r.token)}read(e){return this.enqueue(this.readQueue,e)}enqueue(e,r,n=ie.CancellationToken.None){let i=new Zt,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){hn(o)?n.resolve(void 0):n.reject(o)}})),this.done=!0,this.performNextOperation()}cancelWrite(){this.previousTokenSource.cancel()}};var mu=class{constructor(e){this.grammarElementIdMap=new Bo,this.tokenTypeIdMap=new Bo,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 go(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)):At(a)?s.push(this.dehydrateReference(a,r)):s.push(a)}else dt(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 Cc(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)):si(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 go(e.$cstNode)){let s;"fullText"in o?(s=new fa(o.fullText),i=s):"content"in o?s=new Do:"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)):At(a)?s.push(this.hydrateReference(a,n,i,r)):s.push(a)}else dt(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 Lo(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))Gc(r)&&this.grammarElementIdMap.set(r,e++)}};function gu(t){return{documentation:{CommentProvider:e=>new du(e),DocumentationProvider:e=>new fu(e)},parser:{AsyncParser:e=>new pu(e),GrammarConfig:e=>gg(e),LangiumParser:e=>fx(e),CompletionParser:e=>ux(e),ValueConverter:()=>new Fo,TokenBuilder:()=>new Mo,Lexer:e=>new qo(e),ParserErrorMessageProvider:()=>new da,LexerErrorMessageProvider:()=>new cu},workspace:{AstNodeLocator:()=>new Vl,AstNodeDescriptionProvider:e=>new ql(e),ReferenceDescriptionProvider:e=>new Wl(e)},references:{Linker:e=>new Dl(e),NameProvider:()=>new $l,ScopeProvider:e=>new Gl(e),ScopeComputation:e=>new Fl(e),References:e=>new Ml(e)},serializer:{Hydrator:e=>new mu(e),JsonSerializer:e=>new Xl(e)},validation:{DocumentValidator:e=>new jl(e),ValidationRegistry:e=>new zl(e)},shared:()=>t.shared}}function yu(t){return{ServiceRegistry:e=>new Hl(e),workspace:{LangiumDocuments:e=>new Ll(e),LangiumDocumentFactory:e=>new Ol(e),DocumentBuilder:e=>new ou(e),IndexManager:e=>new su(e),WorkspaceManager:e=>new au(e),FileSystemProvider:e=>t.fileSystemProvider(e),WorkspaceLock:()=>new hu,ConfigurationProvider:e=>new Yl(e)},profilers:{}}}var i_;(function(t){t.merge=(e,r)=>xu(xu({},e),r)})(i_||(i_={}));function Wo(t,e,r,n,i,o,s,a,c){let l=[t,e,r,n,i,o,s,a,c].reduce(xu,{});return ck(l)}var sk=Symbol("isProxy");function ak(t){if(t&&t[sk])for(let e of Object.values(t))ak(e);return t}function ck(t,e){let r=new Proxy({},{deleteProperty:()=>!1,set:()=>{throw new Error("Cannot set property on injected service container")},get:(n,i)=>i===sk?!0:ok(n,i,t,e||r),getOwnPropertyDescriptor:(n,i)=>(ok(n,i,t,e||r),Object.getOwnPropertyDescriptor(n,i)),has:(n,i)=>i in t,ownKeys:()=>[...Object.getOwnPropertyNames(t)]});return r}var ik=Symbol();function ok(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]===ik)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]=ik;try{t[e]=typeof i=="function"?i(n):ck(i,n)}catch(o){throw t[e]=o instanceof Error?o:void 0,o}return t[e]}else return}function xu(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]=xu(i,n):t[r]=xu({},n)}else t[r]=n}return t}var o_={indentTokenName:"INDENT",dedentTokenName:"DEDENT",whitespaceTokenName:"WS",ignoreIndentationDelimiters:[]},Vo;(function(t){t.REGULAR="indentation-sensitive",t.IGNORE_INDENTATION="ignore-indentation"})(Vo||(Vo={}));var Ga=class extends Mo{constructor(e=o_){super(),this.indentationStack=[0],this.whitespaceRegExp=/[ \t]+/y,this.options={...o_,...e},this.indentTokenType=xi({name:this.options.indentTokenName,pattern:this.indentMatcher.bind(this),line_breaks:!1}),this.dedentTokenType=xi({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=Vo.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:{[Vo.REGULAR]:[c,l,...f,u],[Vo.IGNORE_INDENTATION]:[...f,u]},defaultMode:Vo.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 Mn(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?xi({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}},Tu=class extends qo{constructor(e){if(super(e),e.parser.TokenBuilder instanceof Ga)this.indentationTokenBuilder=e.parser.TokenBuilder;else throw new Error("IndentationAwareLexer requires an accompanying IndentationAwareTokenBuilder")}tokenize(e,r=Zp){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={};rn(Pe,{AstUtils:()=>yf,BiMap:()=>Bo,Cancellation:()=>ie,ContextCache:()=>Go,CstUtils:()=>Mf,DONE_RESULT:()=>$t,Deferred:()=>Zt,Disposable:()=>Xi,DisposableCache:()=>Ta,DocumentCache:()=>pp,EMPTY_STREAM:()=>ai,ErrorWithLocation:()=>xo,GrammarUtils:()=>ks,MultiMap:()=>Ut,OperationCancelled:()=>wr,Reduction:()=>hs,RegExpUtils:()=>Bf,SimpleCache:()=>Bl,StreamImpl:()=>ur,TreeStreamImpl:()=>nn,URI:()=>ht,UriTrie:()=>ya,UriUtils:()=>Et,WorkspaceCache:()=>_a,assertCondition:()=>v0,assertUnreachable:()=>an,delayNextTick:()=>_x,interruptAndCheck:()=>pt,isOperationCancelled:()=>hn,loadGrammarFromJson:()=>rh,setInterruptionPeriod:()=>gb,startCancelableOperation:()=>fp,stream:()=>xe});Ie(Pe,nt);var th=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[]}},_u={fileSystemProvider:()=>new th};var VU={Grammar:()=>{},LanguageMetaData:()=>({caseInsensitive:!1,fileExtensions:[".langium"],languageId:"langium"})},YU={AstReflection:()=>new Rs};function KU(){let t=Wo(yu(_u),YU),e=Wo(gu({shared:t}),VU);return t.ServiceRegistry.register(e),e}function rh(t){let e=KU(),r=e.serializer.JsonSerializer.deserialize(t);return e.shared.workspace.LangiumDocumentFactory.fromModel(r,ht.parse(`memory:/${r.name??"grammar"}.langium`)),r}Ie(ut,Pe);var s_=class{constructor(e){this.activeCategories=new Set,this.allCategories=new Set(["validating","parsing","linking"]),this.activeCategories=e??new Set(this.allCategories),this.records=new Ut}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 nh(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])}},nh=class{constructor(e,r){this.stack=[],this.entries=new Ut,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 Ha={$type:"AnchorDeclaration",description:"description",name:"name",properties:"properties",title:"title"};function bu(t){return St.isInstance(t,Ha.$type)}var a_={$type:"BlockProperty",key:"key",value:"value"};var d_={$type:"CalendarBlock",properties:"properties"};function lh(t){return St.isInstance(t,d_.$type)}var Xa={$type:"ConfigEntry"};var ch={$type:"DefaultDeclaration",entityType:"entityType",properties:"properties"};function Hi(t){return St.isInstance(t,ch.$type)}var p_={$type:"DescriptionDirective",text:"text"};function g_(t){return St.isInstance(t,p_.$type)}var ih={$type:"EntityProperty",key:"key",value:"value",values:"values"};var za={$type:"FootnoteDeclaration",description:"description",name:"name",properties:"properties",title:"title"};function Au(t){return St.isInstance(t,za.$type)}var ja={$type:"GroupBlock",content:"content",name:"name",properties:"properties",title:"title"};function qr(t){return St.isInstance(t,ja.$type)}var Eu={$type:"GroupContent"};var c_={$type:"IncludeDeclaration",options:"options",path:"path"};var l_={$type:"IncludeOption",key:"key",value:"value"};var qa={$type:"ItemDeclaration",description:"description",name:"name",properties:"properties",title:"title"};function gr(t){return St.isInstance(t,qa.$type)}var Wa={$type:"LabelDeclaration",description:"description",name:"name",properties:"properties",title:"title"};function Iu(t){return St.isInstance(t,Wa.$type)}var Va={$type:"MilestoneDeclaration",description:"description",name:"name",properties:"properties",title:"title"};function Su(t){return St.isInstance(t,Va.$type)}var u_={$type:"NowlineDirective",properties:"properties",version:"version"};var Yo={$type:"NowlineFile",configEntries:"configEntries",directive:"directive",hasConfig:"hasConfig",includes:"includes",roadmapDecl:"roadmapDecl",roadmapEntries:"roadmapEntries"};var Ya={$type:"ParallelBlock",content:"content",name:"name",properties:"properties",title:"title"};function Wr(t){return St.isInstance(t,Ya.$type)}var oh={$type:"ParallelContent"};var Ka={$type:"PersonDeclaration",description:"description",name:"name",properties:"properties",title:"title"};function jn(t){return St.isInstance(t,Ka.$type)}var h_={$type:"PersonMemberRef",ref:"ref"};function lk(t){return St.isInstance(t,h_.$type)}var sh={$type:"RoadmapDeclaration",name:"name",properties:"properties",title:"title"};var Tn={$type:"RoadmapEntry"};var m_={$type:"ScaleBlock",properties:"properties"};function uk(t){return St.isInstance(t,m_.$type)}var Za={$type:"SizeDeclaration",description:"description",name:"name",properties:"properties",title:"title"};function Ko(t){return St.isInstance(t,Za.$type)}var Ja={$type:"StatusDeclaration",description:"description",name:"name",properties:"properties",title:"title"};function rc(t){return St.isInstance(t,Ja.$type)}var wu={$type:"StyleDeclaration",name:"name",properties:"properties",title:"title"};function ku(t){return St.isInstance(t,wu.$type)}var f_={$type:"StyleProperty",key:"key",value:"value"};var vu={$type:"SwimlaneContent"};var Qa={$type:"SwimlaneDeclaration",content:"content",name:"name",properties:"properties",title:"title"};function Ir(t){return St.isInstance(t,Qa.$type)}var ec={$type:"SymbolDeclaration",description:"description",name:"name",properties:"properties",title:"title"};function Nu(t){return St.isInstance(t,ec.$type)}var ah={$type:"TeamContent"};var tc={$type:"TeamDeclaration",content:"content",name:"name",properties:"properties",title:"title"};function Sr(t){return St.isInstance(t,tc.$type)}var Ru=class extends ro{constructor(){super(...arguments);de(this,"types",{AnchorDeclaration:{name:Ha.$type,properties:{description:{name:Ha.description},name:{name:Ha.name},properties:{name:Ha.properties,defaultValue:[]},title:{name:Ha.title}},superTypes:[Tn.$type]},BlockProperty:{name:a_.$type,properties:{key:{name:a_.key},value:{name:a_.value}},superTypes:[]},CalendarBlock:{name:d_.$type,properties:{properties:{name:d_.properties,defaultValue:[]}},superTypes:[Xa.$type]},ConfigEntry:{name:Xa.$type,properties:{},superTypes:[]},DefaultDeclaration:{name:ch.$type,properties:{entityType:{name:ch.entityType},properties:{name:ch.properties,defaultValue:[]}},superTypes:[Xa.$type]},DescriptionDirective:{name:p_.$type,properties:{text:{name:p_.text}},superTypes:[Eu.$type,oh.$type,vu.$type,ah.$type]},EntityProperty:{name:ih.$type,properties:{key:{name:ih.key},value:{name:ih.value},values:{name:ih.values,defaultValue:[]}},superTypes:[]},FootnoteDeclaration:{name:za.$type,properties:{description:{name:za.description},name:{name:za.name},properties:{name:za.properties,defaultValue:[]},title:{name:za.title}},superTypes:[Tn.$type]},GroupBlock:{name:ja.$type,properties:{content:{name:ja.content,defaultValue:[]},name:{name:ja.name},properties:{name:ja.properties,defaultValue:[]},title:{name:ja.title}},superTypes:[Eu.$type,oh.$type,vu.$type]},GroupContent:{name:Eu.$type,properties:{},superTypes:[]},IncludeDeclaration:{name:c_.$type,properties:{options:{name:c_.options,defaultValue:[]},path:{name:c_.path}},superTypes:[]},IncludeOption:{name:l_.$type,properties:{key:{name:l_.key},value:{name:l_.value}},superTypes:[]},ItemDeclaration:{name:qa.$type,properties:{description:{name:qa.description},name:{name:qa.name},properties:{name:qa.properties,defaultValue:[]},title:{name:qa.title}},superTypes:[Eu.$type,oh.$type,vu.$type]},LabelDeclaration:{name:Wa.$type,properties:{description:{name:Wa.description},name:{name:Wa.name},properties:{name:Wa.properties,defaultValue:[]},title:{name:Wa.title}},superTypes:[Tn.$type]},MilestoneDeclaration:{name:Va.$type,properties:{description:{name:Va.description},name:{name:Va.name},properties:{name:Va.properties,defaultValue:[]},title:{name:Va.title}},superTypes:[Tn.$type]},NowlineDirective:{name:u_.$type,properties:{properties:{name:u_.properties,defaultValue:[]},version:{name:u_.version}},superTypes:[]},NowlineFile:{name:Yo.$type,properties:{configEntries:{name:Yo.configEntries,defaultValue:[]},directive:{name:Yo.directive},hasConfig:{name:Yo.hasConfig,defaultValue:!1},includes:{name:Yo.includes,defaultValue:[]},roadmapDecl:{name:Yo.roadmapDecl},roadmapEntries:{name:Yo.roadmapEntries,defaultValue:[]}},superTypes:[]},ParallelBlock:{name:Ya.$type,properties:{content:{name:Ya.content,defaultValue:[]},name:{name:Ya.name},properties:{name:Ya.properties,defaultValue:[]},title:{name:Ya.title}},superTypes:[Eu.$type,vu.$type]},ParallelContent:{name:oh.$type,properties:{},superTypes:[]},PersonDeclaration:{name:Ka.$type,properties:{description:{name:Ka.description},name:{name:Ka.name},properties:{name:Ka.properties,defaultValue:[]},title:{name:Ka.title}},superTypes:[Tn.$type]},PersonMemberRef:{name:h_.$type,properties:{ref:{name:h_.ref}},superTypes:[ah.$type]},RoadmapDeclaration:{name:sh.$type,properties:{name:{name:sh.name},properties:{name:sh.properties,defaultValue:[]},title:{name:sh.title}},superTypes:[]},RoadmapEntry:{name:Tn.$type,properties:{},superTypes:[]},ScaleBlock:{name:m_.$type,properties:{properties:{name:m_.properties,defaultValue:[]}},superTypes:[Xa.$type]},SizeDeclaration:{name:Za.$type,properties:{description:{name:Za.description},name:{name:Za.name},properties:{name:Za.properties,defaultValue:[]},title:{name:Za.title}},superTypes:[Tn.$type]},StatusDeclaration:{name:Ja.$type,properties:{description:{name:Ja.description},name:{name:Ja.name},properties:{name:Ja.properties,defaultValue:[]},title:{name:Ja.title}},superTypes:[Tn.$type]},StyleDeclaration:{name:wu.$type,properties:{name:{name:wu.name},properties:{name:wu.properties,defaultValue:[]},title:{name:wu.title}},superTypes:[Xa.$type]},StyleProperty:{name:f_.$type,properties:{key:{name:f_.key},value:{name:f_.value}},superTypes:[]},SwimlaneContent:{name:vu.$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:[Tn.$type]},SymbolDeclaration:{name:ec.$type,properties:{description:{name:ec.description},name:{name:ec.name},properties:{name:ec.properties,defaultValue:[]},title:{name:ec.title}},superTypes:[Xa.$type]},TeamContent:{name:ah.$type,properties:{},superTypes:[]},TeamDeclaration:{name:tc.$type,properties:{content:{name:tc.content,defaultValue:[]},name:{name:tc.name},properties:{name:tc.properties,defaultValue:[]},title:{name:tc.title}},superTypes:[Tn.$type,ah.$type]}})}},St=new Ru;var fk,dk=()=>fk??(fk=rh(`{
|
|
162
162
|
"$type": "Grammar",
|
|
163
163
|
"isDeclared": true,
|
|
164
164
|
"name": "Nowline",
|
|
@@ -2659,6 +2659,6 @@ ${r}`),this.inline?`{${i}}`:i}};function MU(t,e,r){if(t==="linkplain"||t==="link
|
|
|
2659
2659
|
"imports": [],
|
|
2660
2660
|
"interfaces": [],
|
|
2661
2661
|
"types": []
|
|
2662
|
-
}`));var XU={languageId:"nowline",fileExtensions:[".nowline"],caseInsensitive:!1,mode:"development"},ck={AstReflection:()=>new Ru},lk={Grammar:()=>ak(),LanguageMetaData:()=>XU,parser:{}};var uk={"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 fk={"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 dk={};var pk={};var HU=new Map([["en-US",uk],["fr",fk],["fr-CA",dk],["fr-FR",pk]]);function mk(t,e,...r){for(let n of jU(t)){let o=HU.get(n)?.[e];if(o)return o(...r)}return e}var hk="en-US";function jU(t){let e=[],r=zU(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(hk)||e.push(hk),e}function zU(t){return t.split("-").map((r,n)=>n===0?r.toLowerCase():/^[a-zA-Z]{2}$/.test(r)?r.toUpperCase():r).join("-")}var qU=/[\\/]/;function xk(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 gk(...t){for(let e of t)if(e){if(e.includes("\\")&&!e.includes("/"))return"\\";if(e.includes("/"))return"/"}return"/"}function WU(t){return t?t[0]==="/"||t[0]==="\\"?!0:t.length>=3&&/^[A-Za-z]:[\\/]/.test(t):!1}function Tk(t){let e=xk(t);return e<0?".":e===0?t[0]:e===2&&/^[A-Za-z]:[\\/]/.test(t)?t.slice(0,3):t.slice(0,e)}function ch(t){let e=xk(t);return e<0?t:t.slice(e+1)}function m_(t,e){if(WU(e))return yk(e,gk(e));let r=gk(t,e);return yk(`${t}${r}${e}`,r)}function yk(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(qU))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 YU=/^\d{4}-\d{2}-\d{2}$/;function vk(t){let e=t?.properties.find(r=>r.key==="start");if(e?.value&&YU.test(e.value)&&!Number.isNaN(new Date(e.value).getTime()))return e.value}function KU(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 Rk(){return{styles:new Map,defaults:new Map,symbols:new Map}}function wk(){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 y_(t,e,r){let n=r.readFile??(async c=>{let{nodeReadFile:l}=await Promise.resolve().then(()=>(Ek(),_k));return l(c)}),i={services:r.services,diagnostics:[],resolving:[],processed:new Map,readFile:n},o=m_("",e),{config:s,content:a}=await Ak(t,o,i);return{config:s,content:a,diagnostics:i.diagnostics,processedFiles:new Set(i.processed.keys())}}async function Ak(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:Rk(),content:wk()};return r.processed.set(e,a),a}r.resolving.push(e);let n=Rk(),i=wk();eB(n,t),nB(i,t);let o=new Set;for(let a of t.includes){let c=a.path,l=m_(Tk(e),c);if(o.has(l)){r.diagnostics.push({severity:"error",message:`Duplicate include "${c}" in ${ch(e)}.`,sourcePath:e,line:a.$cstNode?.range.start.line});continue}o.add(l);let u=bk(a,"config")??"merge",f=bk(a,"roadmap")??"merge",d;try{let y=await r.readFile(l);d=await ZU(r.services,y,l)}catch(y){r.diagnostics.push({severity:"error",message:`Could not read include "${c}": ${y.message}`,sourcePath:e,line:a.$cstNode?.range.start.line});continue}let{config:p,content:m}=await Ak(d,l,r);if(JU(n,p,u,l,r.diagnostics),QU(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 y=vk(t.roadmapDecl),T=vk(d.roadmapDecl);y!==T&&r.diagnostics.push({severity:"error",message:KU(c,y,T),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 bk(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 ZU(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 JU(t,e,r,n,i){if(r==="ignore"||r==="isolate")return;let o=(s,a)=>i.push({severity:"warning",message:`${a} "${s}" from ${ch(n)} is shadowed by the parent's definition.`,sourcePath:n});g_(t.styles,e.styles,s=>o(s,"Style")),g_(t.defaults,e.defaults,s=>o(s,"Default")),g_(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 QU(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 ${ch(i)} is shadowed by the parent's definition.`,sourcePath:i});qn(t.persons,e.persons,c=>a(c,"Person")),qn(t.teams,e.teams,c=>a(c,"Team")),qn(t.anchors,e.anchors,c=>a(c,"Anchor")),qn(t.labels,e.labels,c=>a(c,"Label")),qn(t.sizes,e.sizes,c=>a(c,"Size")),qn(t.statuses,e.statuses,c=>a(c,"Status")),qn(t.swimlanes,e.swimlanes,c=>a(c,"Swimlane")),qn(t.milestones,e.milestones,c=>a(c,"Milestone")),qn(t.footnotes,e.footnotes,c=>a(c,"Footnote")),e.roadmap&&!t.roadmap&&(t.roadmap=e.roadmap)}function g_(t,e,r){for(let[n,i]of e){if(t.has(n)){r(n);continue}t.set(n,i)}}function qn(t,e,r){for(let[n,i]of e){if(!i.name&&i.title){t.set(Sk(t,Ik(i.title)),i);continue}if(t.has(n)){r(n);continue}t.set(n,i)}}function eB(t,e){for(let r of e.configEntries)tB(t,r)}function tB(t,e){ok(e)?t.scale||(t.scale=e):ah(e)?t.calendar||(t.calendar=e):Su(e)?e.name&&!t.styles.has(e.name)&&t.styles.set(e.name,e):ku(e)?e.name&&!t.symbols.has(e.name)&&t.symbols.set(e.name,e):Hi(e)&&(t.defaults.has(e.entityType)||t.defaults.set(e.entityType,e))}function rB(t){let e={swimlanes:new Set,persons:new Set,teams:new Set,anchors:new Set,labels:new Set,sizes:new Set,statuses:new Set,milestones:new Set,footnotes:new Set};for(let r of t){let n=r.name;n&&(Ir(r)?e.swimlanes.add(n):zn(r)?e.persons.add(n):Sr(r)?e.teams.add(n):wu(r)?e.anchors.add(n):Au(r)?e.labels.add(n):Ko(r)?e.sizes.add(n):tc(r)?e.statuses.add(n):Iu(r)?e.milestones.add(n):bu(r)&&e.footnotes.add(n))}return e}function nB(t,e){e.roadmapDecl&&!t.roadmap&&(t.roadmap=e.roadmapDecl);let r=rB(e.roadmapEntries);for(let n of e.roadmapEntries)iB(t,n,r)}function Ik(t){return t.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||"entity"}function Sk(t,e,r){let n=o=>t.has(o)||(r?.has(o)??!1);if(!n(e))return e;let i=2;for(;n(`${e}-${i}`);)i++;return`${e}-${i}`}function Wn(t,e,r){e.name?t.has(e.name)||t.set(e.name,e):e.title&&t.set(Sk(t,Ik(e.title),r),e)}function iB(t,e,r){Ir(e)?Wn(t.swimlanes,e,r.swimlanes):zn(e)?Wn(t.persons,e,r.persons):Sr(e)?Wn(t.teams,e,r.teams):wu(e)?Wn(t.anchors,e,r.anchors):Au(e)?Wn(t.labels,e,r.labels):Ko(e)?Wn(t.sizes,e,r.sizes):tc(e)?Wn(t.statuses,e,r.statuses):Iu(e)?Wn(t.milestones,e,r.milestones):bu(e)&&Wn(t.footnotes,e,r.footnotes)}var kk="v1",x_=new Set(["planned","in-progress","active","done","completed","at-risk","blocked"]),lh=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"]),R_=new Set(["none","multiplier","person","people","points","time"]),uh=new Set([...R_,"shield","warning","lock","calendar"]),Uk="none",fh={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"])},oB=new Set(["red","blue","yellow","green","orange","purple","violet","gray","grey","navy","white","none"]),sB=new Set(["business","full","custom"]),T_=new Set(["days-per-week","days-per-month","days-per-quarter","days-per-year"]),Nk=new Set(["name","label-every","label"]),Ck=new Set(["item","label","swimlane","roadmap","milestone","footnote","anchor","parallel","group"]),aB={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},Pk=new Set(["labels","link","style","description"]),cB={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 lB(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 uB(t,e,r=2){let n,i=r+1;for(let o of e){let s=lB(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 Nu=/^\d+(?:\.\d+)?[dwmqy]$/,fB=/^\d+%$/,ji=/^\d{4}-\d{2}-\d{2}$/,dB=/^#[0-9a-fA-F]{3,8}$/,pB=/^v\d+$/,Ok=/^\d+$/,hB=/^[dwmqy]$/,Lk=/^\d+(\.\d+)?$/,w_=/^\d+(\.\d+)?%$/,Bk=/^\d+\.\d+$/,mB=/^\d+$/,gB=/^[\x20-\x7E]{1,3}$/,yB=/^[a-zA-Z]{2,3}(-[a-zA-Z]{2}|-\d{3})?$/,xB=new Set(["merge","ignore","isolate"]),Dk=new Set(["locale"]);function __(t){let e=t?.roadmapDecl?.properties.find(i=>ke(i)==="start");if(!e)return{kind:"missing"};let r=e.value;if(!r||!ji.test(r))return{kind:"invalid"};let n=new Date(r);return Number.isNaN(n.getTime())?{kind:"invalid"}:{kind:"valid",iso:r,date:n}}function Vr(t){return t.name??t.title??"<unnamed>"}function TB(t){return t.$type.replace(/Declaration$|Block$/,"").toLowerCase()}function we(t,e,r,n,...i){t(e,mk("en-US",n,...i),{...r,data:{code:n,args:i}})}function Gk(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 ph=class{checkFileStructure(e,r){let n=e.hasConfig?Ss.findNodeForKeyword(e.$cstNode,"config")?.offset:void 0,i=e.roadmapDecl?.$cstNode?.offset;n!==void 0&&i!==void 0&&n>i&&we(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&&we(r,"error",{node:o},"NL.E0002"),i!==void 0&&s>i&&we(r,"error",{node:o},"NL.E0003")}}checkRoadmapOnlyKeywordsPosition(e,r){}checkDirectiveVersion(e,r){if(!pB.test(e.version)){we(r,"error",{node:e,property:"version"},"NL.E0100",{version:e.version});return}let n=parseInt(e.version.slice(1),10),i=parseInt(kk.slice(1),10);n>i&&we(r,"error",{node:e,property:"version"},"NL.E0101",{version:e.version,supported:kk})}checkDirectiveProperties(e,r){let n=new Set;for(let i of e.properties){let o=ke(i);if(!Dk.has(o)){we(r,"error",{node:i,property:"key"},"NL.E0102",{key:o,allowed:[...Dk].join(", ")});continue}if(n.has(o)&&we(r,"error",{node:i,property:"key"},"NL.E0103",{key:o}),n.add(o),o==="locale"){let s=i.value;yB.test(s)||we(r,"error",{node:i,property:"value"},"NL.E0104",{value:s})}}}checkEntityIdOrTitle(e,r){!e.name&&!e.title&&we(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?we(r,"error",{node:s},"NL.E0300",{name:o,location:dh(a)}):n.set(o,s)};e.roadmapDecl?.name&&i(e.roadmapDecl.name,e.roadmapDecl);for(let o of e.roadmapEntries)vB(o,i);for(let o of e.configEntries)Su(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(" ")){we(r,"error",{node:e},"NL.E0005",{line:o+1});return}}}checkSwimlaneRequired(e,r){let n=e.roadmapEntries.some(Ir);e.roadmapDecl&&!n&&we(r,"error",{node:e.roadmapDecl},"NL.E0004")}checkIncludeMode(e,r){xB.has(e.value)||we(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)&&we(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&&!Nu.test(i)&&we(r,"error",{node:e,property:"value"},"NL.E0400",{value:i});break;case"size":i&&!$k(i)&&we(r,"error",{node:e,property:"value"},"NL.E0401",{value:i});break;case"effort":i&&!Nu.test(i)&&we(r,"error",{node:e,property:"value"},"NL.E0402",{value:i});break;case"remaining":{if(i)if(fB.test(i)){let a=parseFloat(i);(a<0||a>100)&&we(r,"error",{node:e,property:"value"},"NL.E0404",{value:i})}else Nu.test(i)||we(r,"error",{node:e,property:"value"},"NL.E0403",{value:i});break}case"date":case"start":i&&(!ji.test(i)||Number.isNaN(new Date(i).getTime()))&&we(r,"error",{node:e,property:"value"},"NL.E0405",{key:n,value:i});break;case"scale":i&&!Nu.test(i)&&we(r,"error",{node:e,property:"value"},"NL.E0406",{value:i});break;case"calendar":i&&!sB.has(i)&&we(r,"error",{node:e,property:"value"},"NL.E0407",{value:i});break;case"on":case"after":case"before":s.length===0&&we(r,"error",{node:e},"NL.E0408",{key:n});break;case"capacity":{if(!i)break;let a=e.$container,c=_B(a);if(c==="invalid")break;c==="lane"?(!Lk.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"}):w_.test(i)?parseFloat(i)<=0&&r("error",`Item capacity "${i}" must be positive.`,{node:e,property:"value"}):Lk.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(!EB(e.$container)){r("error",`"${n}:" is only valid on "swimlane" or "default swimlane".`,{node:e});break}if(i===Uk)break;if(w_.test(i)){parseFloat(i)<=0&&r("error",`${n} value "${i}" must be positive.`,{node:e,property:"value"});break}if(Bk.test(i)){parseFloat(i)<=0&&r("error",`${n} value "${i}" must be positive.`,{node:e,property:"value"});break}if(mB.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(lh.has(n)){if(n==="bg"||n==="fg"||n==="text")i&&!E_(i)&&r("error",`Invalid color "${i}" for "${n}". Use a named color, hex value, or "none".`,{node:e,property:"value"});else if(n in fh){let a=fh[n];i&&!a.has(i)&&!E_(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")||we(r,"error",{node:e},"NL.E0500",{name:Vr(e)})}checkAnchorAgainstStart(e,r){let n=e.properties.find(a=>ke(a)==="date");if(!n?.value)return;let i=n.value;if(!ji.test(i))return;let o=new Date(i);if(Number.isNaN(o.getTime()))return;let s=__(e.$container);switch(s.kind){case"invalid":return;case"missing":we(r,"error",{node:n,property:"value"},"NL.E0501",{name:Vr(e)});return;case"valid":o<s.date&&we(r,"error",{node:n,property:"value"},"NL.E0502",{name:Vr(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&&we(r,"error",{node:e},"NL.E0503",{name:Vr(e)})}checkMilestoneAgainstStart(e,r){let n=e.properties.find(a=>ke(a)==="date");if(!n?.value)return;let i=n.value;if(!ji.test(i))return;let o=new Date(i);if(Number.isNaN(o.getTime()))return;let s=__(e.$container);switch(s.kind){case"invalid":return;case"missing":r("error",`Milestone "${Vr(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&&we(r,"error",{node:n,property:"value"},"NL.E0504",{name:Vr(e),date:i,start:s.iso});return}}checkFootnoteOn(e,r){e.properties.some(i=>ke(i)==="on")||we(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 ${v_(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&&we(r,"error",{node:e},"NL.E0600",{name:Vr(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=>!h_(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=>!h_(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);lh.has(i)&&r("error",`Raw style property "${i}" is not allowed on ${v_(e)}. Declare a named style in config and reference it via "style:id".`,{node:n})}}checkUnknownEntityProperties(e,r){let n=cB[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)||Pk.has(s)||lh.has(s)||s==="footnote"||i?.has(s))continue;let a=[...n,...Pk],c=uB(s,a)??"";we(r,"warning",{node:o,property:"key"},"NL.W0700",{key:s,entity:v_(e),suggested:c})}}checkRoadmapProperties(e,r){}checkStylePropertyEnum(e,r){let n=ke(e),i=e.value;if(n==="bg"||n==="fg"||n==="text")E_(i)||r("error",`Invalid color "${i}" for "${n}". Use a named color, hex value, or "none".`,{node:e,property:"value"});else if(n in fh){let o=fh[n];o.has(i)||r("error",`Invalid value "${i}" for "${n}". Allowed: ${[...o].join(", ")}.`,{node:e,property:"value"})}else lh.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 "${Vr(e)}" requires an "effort:" property.`,{node:e}),e.name&&(Nu.test(e.name)||hB.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&&x_.has(e.name)&&r("error",`Status id "${e.name}" collides with the built-in status value. Built-ins: ${[...x_].join(", ")}.`,{node:e,property:"name"})}checkDuplicateSizeIds(e,r){let n=new Map;for(let i of e.roadmapEntries)if(Ko(i)&&i.name){let o=n.get(i.name);o?r("error",`Duplicate size id "${i.name}". First declared at ${dh(o)}.`,{node:i,property:"name"}):n.set(i.name,i)}}checkUtilizationOrdering(e,r){if(Hi(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=Mk(n.value),s=Mk(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(!Ck.has(e.entityType)){r("error",`"${e.entityType}" is not a supported entity type for default. Allowed: ${[...Ck].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(Hi(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=aB[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(ah),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 T_)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(!T_.has(o)){r("error",`Unknown calendar property "${o}". Allowed: ${[...T_].join(", ")}.`,{node:i,property:"key"});continue}n.has(o)&&r("error",`Duplicate calendar property "${o}".`,{node:i,property:"key"}),n.add(o),(!Ok.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(!Nk.has(o)){r("error",`Unknown scale property "${o}". Allowed: ${[...Nk].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"&&(!Ok.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];Ko(s)&&s.name?n.has(s.name)||n.set(s.name,o):tc(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];Fk(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(x_.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=RB(e),i=o=>{Fk(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")&&ji.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=__(e),i=o=>{let s=o.properties??[],a=gr(o)||Wr(o)||qr(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&&ji.test(d));if(f.length!==0){if(!a){we(r,"error",{node:c},"NL.E0411",{key:l,type:TB(o)});continue}f.length>1&&we(r,"error",{node:c},"NL.E0410",{key:l});for(let d of f)switch(n.kind){case"invalid":continue;case"missing":we(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&&we(r,"error",{node:c},"NL.E0413",{key:l,date:d,start:n.iso})}}}}if(Ir(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,y)=>{if(p)for(let T of m){let _=ke(T);if(_==="after"){let v=T.value?[T.value]:T.values;for(let E of v)E&&(ji.test(E)||i(p,E))}else if(_==="before"){let v=T.value?[T.value]:T.values;for(let E of v)E&&(ji.test(E)||i(E,p))}}},s=p=>{let m=p.name,y=p.properties??[];if(o(m,y,e),Ir(p))for(let T of p.content)s(T);else if(Wr(p)||qr(p))for(let T of p.content)s(T)};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 y of n.get(p)??[]){let T=u.get(y)??a;if(T===c){let _=m.indexOf(y),v=m.slice(_).concat(y),E=[...v].sort().join("\u2192");f.has(E)||(f.add(E),r("error",`Circular dependency detected: ${v.join(" \u2192 ")}.`,{node:e.roadmapDecl??e}))}else T===a&&d(y,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)zn(c)?o(c):Sr(c)&&s(c)};for(let a of e.roadmapEntries)zn(a)?o(a):Sr(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 ${dh(l[0].node)}.`,{node:l[u].node})}}checkSymbolDeclaration(e,r){e.name&&uh.has(e.name)&&r("error",`Symbol id "${e.name}" collides with a built-in icon name. Reserved built-ins: ${[...uh].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 "${Vr(e)}" unicode: must be a non-empty value.`,{node:n,property:"value"}):r("error",`Symbol "${Vr(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??"";gB.test(o)||r("error",`Symbol "${Vr(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(ku(i)&&i.name){let o=n.get(i.name);o?r("error",`Duplicate symbol id "${i.name}". First declared at ${dh(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];ku(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"&&R_.has(a)||s==="icon"&&uh.has(a))return;let l=n.get(a);if(l===void 0){let u=s==="capacity-icon"?[...R_].sort().join(", "):[...uh].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(Su(s))for(let a of s.properties)i(o,ke(a),a.value,a);else if(Hi(s))for(let a of s.properties)i(o,ke(a),a.value,a)}}};function E_(t){return oB.has(t)||dB.test(t)}function $k(t){return/^[a-zA-Z_][a-zA-Z0-9_-]*$/.test(t)}function _B(t){return t?Ir(t)?"lane":gr(t)?"item":Hi(t)?t.entityType==="swimlane"?"lane":"item":"invalid":"invalid"}function EB(t){return t?!!(Ir(t)||Hi(t)&&t.entityType==="swimlane"):!1}function Mk(t){if(!t||t===Uk)return null;if(w_.test(t)){let e=parseFloat(t);return Number.isFinite(e)&&e>0?e/100:null}if(Bk.test(t)){let e=parseFloat(t);return Number.isFinite(e)&&e>0?e:null}return null}function dh(t){let e=t.$cstNode;return e?`line ${e.range.start.line+1}`:"unknown location"}function v_(t){let e=t.$type.replace(/Declaration$|Block$/,"").toLowerCase(),r=t.name??t.title;return r?`${e} "${r}"`:e}function vB(t,e){if(Ir(t)){e(t.name,t);for(let r of t.content)b_(r,e)}else zn(t)?e(t.name,t):Sr(t)?Xk(t,e):(wu(t)||Iu(t)||bu(t)||Au(t)||Ko(t)||tc(t))&&e(t.name,t)}function Xk(t,e){e(t.name,t);for(let r of t.content)Sr(r)&&Xk(r,e)}function b_(t,e){if(gr(t))e(t.name,t);else if(Wr(t)){e(t.name,t);for(let r of t.content)b_(r,e)}else if(qr(t)){e(t.name,t);for(let r of t.content)b_(r,e)}}function Fk(t,e){let r=n=>{let i=n.properties;if(Array.isArray(i))for(let o of i)e(o);if(Ir(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(Sr(n))for(let o of n.content)(Sr(o)||zn(o))&&r(o)};r(t)}function RB(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),Ir(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(Sr(n))for(let o of n.content)Sr(o)||zn(o)?r(o):ik(o)};for(let n of t.roadmapEntries)r(n);return e}var A_=class extends Fo{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)}},I_=class extends Ba{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]!=="\\"}},Hk={parser:{TokenBuilder:()=>new I_({indentTokenName:"INDENT",dedentTokenName:"DEDENT",whitespaceTokenName:"WS",ignoreIndentationDelimiters:[["[","]"]]}),Lexer:t=>new xu(t),ParserConfig:()=>({maxLookahead:4}),ValueConverter:()=>new A_},validation:{NowlineValidator:()=>new ph}};function S_(t={}){let e=t.shared??Wo(gu(Tu),ck),r=Wo(mu({shared:e}),lk,Hk);return e.ServiceRegistry.register(r),Gk(r),{shared:e,Nowline:r}}function jk(t){return t.endsWith(":")?t.slice(0,-1):t}function ae(t,e){return t.find(r=>jk(r.key)===e)?.value}function gt(t,e){let r=t.find(n=>jk(n.key)===e);return r?r.value!==void 0?[r.value]:[...r.values]:[]}function vt(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 rc={mode:"business",daysPerWeek:5,daysPerMonth:22,daysPerQuarter:65,daysPerYear:260},wB={mode:"full",daysPerWeek:7,daysPerMonth:30,daysPerQuarter:91,daysPerYear:365};function zk(t,e){let n=t.roadmapDecl?.properties.find(i=>k_(i.key)==="calendar")?.value??"business";if(n==="business")return{...rc};if(n==="full")return{...wB};if(e){let i=(o,s)=>{let a=e.properties.find(l=>k_(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",rc.daysPerWeek),daysPerMonth:i("days-per-month",rc.daysPerMonth),daysPerQuarter:i("days-per-quarter",rc.daysPerQuarter),daysPerYear:i("days-per-year",rc.daysPerYear)}}return{...rc}}var hh=/^(\d+(?:\.\d+)?)([dwmqy])$/;function mh(t,e){let r=hh.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 qk(t,e,r){return t?hh.test(t)?mh(t,r):e.get(t)?.effortDays??0:0}function zi(t,e,r){let n=ae(t,"duration");if(n&&hh.test(n))return mh(n,r);let i=ae(t,"size"),o=i?e.get(i):void 0;if(!o)return 0;let s=oi(ae(t,"capacity"))??1;return o.effortDays/s}function Wk(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&&hh.test(o)){let s=oi(ae(t,"capacity"))??1;return mh(o,r)*s}return 0}function gh(t,e){let r=new Map;for(let[n,i]of t){let s=i.properties.find(c=>k_(c.key)==="effort")?.value;if(!s)continue;let a=mh(s,e);a<=0||r.set(n,{name:n,title:i.title||void 0,effortDays:a,effortLiteral:s})}return r}function k_(t){return t.endsWith(":")?t.slice(0,-1):t}function kr(t,e){return Math.round((e.getTime()-t.getTime())/864e5)}function Zo(t,e){let r=new Date(t.getTime());return r.setUTCDate(r.getUTCDate()+e),r}var yh=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 Vk(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 bB(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 y=f+p;if(y<=c&&!e.hasObstacle(y,i,o))return{x:y,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 AB(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 IB(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 SB(t){if(t===0||t>4)return 0;let e=Math.ceil(t/2);return(t%2===1?1:-1)*e*3}function kB(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 Yk(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]=kB(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}=bB(s,e),{x:u,forceUnderBar:f}=AB(a,l,s,e),d=c||f;n.push({req:s,channelX:u,underBar:d,orderIndex:o})}let i=IB(n);for(let o of n){let s=SB(i.get(o.orderIndex)??0),a=o.channelX+s;r[o.orderIndex]={fromId:o.req.fromId,toId:o.req.toId,waypoints:NB(o.req.from,o.req.to,a),underBar:o.underBar}}return r}function NB(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 Cu="en-US",CB={"en-US":{nowLabel:"now",quarterPrefix:"Q"},fr:{nowLabel:"maint.",quarterPrefix:"T"}};function Kk(t,e){return e??t??Cu}function xh(t){let e={};for(let r of PB(t)){let n=CB[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 PB(t){let e=[],r=OB(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(Cu)||e.push(Cu),e}function OB(t){return t.split("-").map((r,n)=>n===0?r.toLowerCase():/^[a-zA-Z]{2}$/.test(r)?r.toUpperCase():r).join("-")}function eN(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 _h(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 Eh(t,e){return{x:t,y:e,height:0,maxX:t}}var oc=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)tN(a,i)}}}};function tN(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)tN(r,e)}var rN={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"},N_={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 nN={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"},C_={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 iN={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"},P_={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 O_={light:P_,dark:N_,grayscale:C_};var MB={greyscale:"grayscale"};function L_(t){let e=t.toLowerCase(),r=MB[e]??e;if(r==="light"||r==="dark"||r==="grayscale")return r}var FB={grey:"gray",violet:"purple"};function Jo(t,e){if(t==="none")return"none";if(t.startsWith("#"))return t;let r=e.name==="dark"?rN:e.name==="grayscale"?nN:iN,n=FB[t]??t,i=r[n];return typeof i=="string"?i:t}function sc(t){return t.key.endsWith(":")?t.key.slice(0,-1):t.key}function UB(t,e){return{bg:Jo(t.bg,e),fg:Jo(t.fg,e),text:Jo(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 D_(t,e,r,n){switch(e){case"bg":t.bg=Jo(r,n);break;case"fg":t.fg=Jo(r,n);break;case"text":t.text=Jo(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=Lu(r,"xl");break;case"padding":t.padding=Lu(r,"xl");break;case"spacing":t.spacing=Lu(r,"xl");break;case"header-height":t.headerHeight=Lu(r,"xl");break;case"corner-radius":t.cornerRadius=Lu(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 Lu(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 oN(t,e,r){if(e)for(let n of e.properties)D_(t,sc(n),n.value,r)}function BB(t,e,r){for(let n of e){let i=sc(n);n.value!==void 0&&D_(t,i,n.value,r)}}function GB(t,e,r){let n=e.find(o=>sc(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=>sc(c)==="style");a?.value&&oN(t,r.styles.get(a.value),r.theme)}}function XB(t,e,r){let n=e.find(i=>sc(i)==="style");n?.value&&oN(t,r.styles.get(n.value),r.theme)}function yt(t,e,r){let n=r.theme.entities[t],i=UB(n,r.theme),o=r.defaults.get(t);if(o)for(let s of o.properties)s.value!==void 0&&D_(i,sc(s),s.value,r.theme);return GB(i,e,r),XB(i,e,r),BB(i,e,r.theme),i}function sN(t,e){return yt("label",t.properties,e)}var aN={none:0,xs:2,sm:4,md:8,lg:16,xl:24},cN={none:0,xs:4,sm:8,md:12,lg:20,xl:32};var ac={none:0,xs:10,sm:12,md:14,lg:18,xl:24},vh={none:0,xs:2,sm:4,md:8,lg:12,xl:20,full:9999};var Nr=8,_n=4,Du=24,Rh=15,$u=8,wh=22,bh=15,Mu=16,Ah=6,$_=4,M_=11,F_=9,U_=5.5,B_=4,cc=12,Ih="6 4",G_=36,qi=16,X_=qi/2,Fu=10,H_=qi-4,lc=6,Sh=2.25,Yr=6,Kr=2*Yr,lN=5,uN=120,j_=240,kh=72,Uu=28,Zr=16,z_=22,Bu=18,Nh="Powered by",q_="https://nowline.io",Gu=.22,Wi=40,Ch=32,fN=.58,HB=Nh.length*Ch*fN,jB=10,Xu=HB+jB,W_=Xu+74,V_=5,Ph=Xu+81,zB=3*Wi*fN,qB=Ph+zB,WB=12+Wi,Y_=qB*Gu,dN=WB*Gu,K_=4;var Z_={sans:'system-ui, -apple-system, "Segoe UI", Roboto, sans-serif',serif:'Georgia, "Times New Roman", serif',mono:"ui-monospace, SFMono-Regular, Menlo, Consolas, monospace"},pN={days:7,weeks:4,months:3,quarters:4,years:5};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("group",n.properties,r.styleCtx),s=e.x,a=n.title??n.name,c=r.currentFlowKey;r.nextGroupId+=1,r.currentFlowKey=`${c}/group:${n.name??`group-${r.nextGroupId}`}`;let l=o.bg!=="none"&&o.bg!=="#ffffff"&&!!a,u=l?Mu+$_:0,f=l?B_:0,d=!l&&a?cc:0,p=e.y+d,m=r.bandScale.step(),y=s,T=new oc({laneLeftX:y,originY:p+u,minRowHeight:m,slackCorridors:r.slackCorridors}),_=y,v=[];for(let G of n.content){if(G.$type==="DescriptionDirective")continue;if(!gr(G)){let te=G.properties??[],De=i.resolveChildStart(te,_,y,r),{rowIndex:Ne,y:Xe}=T.placeBlock(),q=i.newCursor(De,Xe),J=i.sequenceOne(G,q,r);v.push(J);let re=J.box.x+J.box.width,C=Math.max(m,q.height);T.commitBlock({rowIndex:Ne,placed:J,blockHeight:C,blockEnd:re}),_=Math.max(_,re);continue}let oe=G.properties,L=i.resolveChildStart(oe,_,y,r),R=zi(oe,r.sizes,r.cal),O=Math.max(Nr,R*r.timeline.pixelsPerDay),$=L+O,b=G.name??"",A=i.predictItemChipExtraHeight(G,r),I=m+A,{rowIndex:F,y:j}=T.placeItem({childId:b,desiredStart:L,desiredEnd:$,predictedHeight:I}),U=i.newCursor(L,j),W=i.sequenceItem(G,U,r);v.push(W);let Z=W.box.x+W.box.width+Yr;_=Math.max(_,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),T.commitItem({rowIndex:F,placed:W,logicalEnd:Z,spillReservation:pe,rowHeight:I})}let E=Math.max(m,T.usedHeight()),S=Math.max(_,T.usedRightX()),D={x:s,y:p,width:S-s,height:u+E+f};e.x=_+$u,e.maxX=Math.max(e.maxX,e.x);let N=r.bandScale.step()-r.bandScale.bandwidth();e.height=Math.max(e.height,d+D.height+N);let M=n.name;M&&(r.entityLeftEdges.set(M,D.x),r.entityRightEdges.set(M,D.x+D.width)),r.currentFlowKey=c;let B=_h({box:D,afterDate:Vn(gt(n.properties,"after")),beforeDate:Vn(gt(n.properties,"before"))});return{kind:"group",id:M,title:a,box:D,children:v,style:o,inlineDatePins:B.length>0?B:void 0}}};var J_=12,VB=4,YB=13,KB=11;function hN(t,e){return t.length*e*.58}var Lh=class{constructor(e){de(this,"input");this.input=e}get id(){return this.input.id}measure(e){return{width:Math.max(Nr,this.input.logicalRightX-this.input.logicalLeftX),height:e.bands.bandwidth()}}place(e,r){let n=this.measure(r),i=Math.max(Nr,n.width-2*Yr),o=e.x+Yr,s={x:o,y:e.y,width:i,height:n.height},a=this.input.hasLinkIcon?20+ZB-J_:0,c=J_+Math.max(0,a),l=Math.max(0,i-c-J_),u=this.input.title,f=u?hN(u,YB):0,d=this.input.metaText?hN(this.input.metaText,KB):0,p=this.input.metaTrailingWidth??0,m=d+p,y=this.input.metaText!==void 0||p>0,T=u.length>0&&f>l||y&&m>l,_=T?o+i+VB:o+c;return{id:this.input.id,box:s,textX:_,textSpills:T}}},ZB=4;var Dh=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;r.nextParallelId+=1;let d=n.name??`parallel-${r.nextParallelId}`,p=0;for(let _ of n.content){if(_.$type==="DescriptionDirective")continue;r.currentFlowKey=`${f}/par:${d}#${p}`;let v=i.newCursor(s,a+u),E=i.sequenceOne(_,v,r);c.push(E),u+=Math.max(r.bandScale.step(),v.height),l=Math.max(l,v.maxX),p++}r.currentFlowKey=f;let m={x:s,y:a,width:l-s,height:u};e.x=l+$u,e.maxX=Math.max(e.maxX,e.x),e.height=Math.max(e.height,u);let y=n.name;y&&(r.entityLeftEdges.set(y,m.x),r.entityRightEdges.set(y,m.x+m.width));let T=_h({box:m,afterDate:Vn(gt(n.properties,"after")),beforeDate:Vn(gt(n.properties,"before"))});return{kind:"parallel",id:y,title:n.title??n.name,box:m,children:c,style:o,inlineDatePins:T.length>0?T:void 0}}};function Qo(t,e){return t==null||e==null?NaN:t<e?-1:t>e?1:t>=e?0:NaN}function Q_(t,e){return t==null||e==null?NaN:e<t?-1:e>t?1:e>=t?0:NaN}function es(t){let e,r,n;t.length!==2?(e=Qo,r=(a,c)=>Qo(t(a),c),n=(a,c)=>t(a)-c):(e=t===Qo||t===Q_?t:JB,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 JB(){return 0}function eE(t){return t===null?NaN:+t}var mN=es(Qo),gN=mN.right,QB=mN.left,e4=es(eE).center,tE=gN;var uc=class extends Map{constructor(e,r=n4){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(yN(this,e))}has(e){return super.has(yN(this,e))}set(e,r){return super.set(t4(this,e),r)}delete(e){return super.delete(r4(this,e))}};function yN({_intern:t,_key:e},r){let n=e(r);return t.has(n)?t.get(n):r}function t4({_intern:t,_key:e},r){let n=e(r);return t.has(n)?t.get(n):(t.set(n,r),r)}function r4({_intern:t,_key:e},r){let n=e(r);return t.has(n)&&(r=t.get(n),t.delete(n)),r}function n4(t){return t!==null&&typeof t=="object"?t.valueOf():t}var i4=Math.sqrt(50),o4=Math.sqrt(10),s4=Math.sqrt(2);function xN(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>=i4?10:o>=o4?5:o>=s4?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?xN(t,e,r*2):[a,c,l]}function rE(t,e,r){return e=+e,t=+t,r=+r,xN(t,e,r)[2]}function $h(t,e,r){e=+e,t=+t,r=+r;let n=e<t,i=n?rE(e,t,r):rE(t,e,r);return(n?-1:1)*(i<0?1/-i:i)}function Mh(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 fc(t,e){switch(arguments.length){case 0:break;case 1:this.range(t);break;default:this.range(e).domain(t);break}return this}var TN=Symbol("implicit");function Fh(){var t=new uc,e=[],r=[],n=TN;function i(o){let s=t.get(o);if(s===void 0){if(n!==TN)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 uc;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 Fh(e,r).unknown(n)},fc.apply(i,arguments),i}function Hu(){var t=Fh().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,y=p?n:i;o=(y-m)/Math.max(1,d-c+l*2),a&&(o=Math.floor(o)),m+=(y-m-o*(d-c))*u,s=o*(1-c),a&&(m=Math.round(m),s=Math.round(s));var T=Mh(d).map(function(_){return m+o*_});return r(p?T.reverse():T)}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 Hu(e(),[n,i]).round(a).paddingInner(c).paddingOuter(l).align(u)},fc.apply(f(),arguments)}function Uh(t,e,r){t.prototype=e.prototype=r,r.constructor=t}function nE(t,e){var r=Object.create(t.prototype);for(var n in e)r[n]=e[n];return r}function qu(){}var ju=.7,Xh=1/ju,dc="\\s*([+-]?\\d+)\\s*",zu="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",En="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",a4=/^#([0-9a-f]{3,8})$/,c4=new RegExp(`^rgb\\(${dc},${dc},${dc}\\)$`),l4=new RegExp(`^rgb\\(${En},${En},${En}\\)$`),u4=new RegExp(`^rgba\\(${dc},${dc},${dc},${zu}\\)$`),f4=new RegExp(`^rgba\\(${En},${En},${En},${zu}\\)$`),d4=new RegExp(`^hsl\\(${zu},${En},${En}\\)$`),p4=new RegExp(`^hsla\\(${zu},${En},${En},${zu}\\)$`),_N={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};Uh(qu,Vi,{copy(t){return Object.assign(new this.constructor,this,t)},displayable(){return this.rgb().displayable()},hex:EN,formatHex:EN,formatHex8:h4,formatHsl:m4,formatRgb:vN,toString:vN});function EN(){return this.rgb().formatHex()}function h4(){return this.rgb().formatHex8()}function m4(){return SN(this).formatHsl()}function vN(){return this.rgb().formatRgb()}function Vi(t){var e,r;return t=(t+"").trim().toLowerCase(),(e=a4.exec(t))?(r=e[1].length,e=parseInt(e[1],16),r===6?RN(e):r===3?new ar(e>>8&15|e>>4&240,e>>4&15|e&240,(e&15)<<4|e&15,1):r===8?Bh(e>>24&255,e>>16&255,e>>8&255,(e&255)/255):r===4?Bh(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=c4.exec(t))?new ar(e[1],e[2],e[3],1):(e=l4.exec(t))?new ar(e[1]*255/100,e[2]*255/100,e[3]*255/100,1):(e=u4.exec(t))?Bh(e[1],e[2],e[3],e[4]):(e=f4.exec(t))?Bh(e[1]*255/100,e[2]*255/100,e[3]*255/100,e[4]):(e=d4.exec(t))?AN(e[1],e[2]/100,e[3]/100,1):(e=p4.exec(t))?AN(e[1],e[2]/100,e[3]/100,e[4]):_N.hasOwnProperty(t)?RN(_N[t]):t==="transparent"?new ar(NaN,NaN,NaN,0):null}function RN(t){return new ar(t>>16&255,t>>8&255,t&255,1)}function Bh(t,e,r,n){return n<=0&&(t=e=r=NaN),new ar(t,e,r,n)}function g4(t){return t instanceof qu||(t=Vi(t)),t?(t=t.rgb(),new ar(t.r,t.g,t.b,t.opacity)):new ar}function pc(t,e,r,n){return arguments.length===1?g4(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}Uh(ar,pc,nE(qu,{brighter(t){return t=t==null?Xh:Math.pow(Xh,t),new ar(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=t==null?ju:Math.pow(ju,t),new ar(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new ar(rs(this.r),rs(this.g),rs(this.b),Hh(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:wN,formatHex:wN,formatHex8:y4,formatRgb:bN,toString:bN}));function wN(){return`#${ts(this.r)}${ts(this.g)}${ts(this.b)}`}function y4(){return`#${ts(this.r)}${ts(this.g)}${ts(this.b)}${ts((isNaN(this.opacity)?1:this.opacity)*255)}`}function bN(){let t=Hh(this.opacity);return`${t===1?"rgb(":"rgba("}${rs(this.r)}, ${rs(this.g)}, ${rs(this.b)}${t===1?")":`, ${t})`}`}function Hh(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function rs(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function ts(t){return t=rs(t),(t<16?"0":"")+t.toString(16)}function AN(t,e,r,n){return n<=0?t=e=r=NaN:r<=0||r>=1?t=e=NaN:e<=0&&(t=NaN),new Jr(t,e,r,n)}function SN(t){if(t instanceof Jr)return new Jr(t.h,t.s,t.l,t.opacity);if(t instanceof qu||(t=Vi(t)),!t)return new Jr;if(t instanceof Jr)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 Jr(s,a,c,t.opacity)}function kN(t,e,r,n){return arguments.length===1?SN(t):new Jr(t,e,r,n??1)}function Jr(t,e,r,n){this.h=+t,this.s=+e,this.l=+r,this.opacity=+n}Uh(Jr,kN,nE(qu,{brighter(t){return t=t==null?Xh:Math.pow(Xh,t),new Jr(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=t==null?ju:Math.pow(ju,t),new Jr(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(iE(t>=240?t-240:t+120,i,n),iE(t,i,n),iE(t<120?t+240:t-120,i,n),this.opacity)},clamp(){return new Jr(IN(this.h),Gh(this.s),Gh(this.l),Hh(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=Hh(this.opacity);return`${t===1?"hsl(":"hsla("}${IN(this.h)}, ${Gh(this.s)*100}%, ${Gh(this.l)*100}%${t===1?")":`, ${t})`}`}}));function IN(t){return t=(t||0)%360,t<0?t+360:t}function Gh(t){return Math.max(0,Math.min(1,t||0))}function iE(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 oE(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 NN(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 oE((r-n/e)*e,s,i,o,a)}}function CN(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 oE((r-n/e)*e,i,o,s,a)}}var Wu=t=>()=>t;function x4(t,e){return function(r){return t+r*e}}function T4(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 PN(t){return(t=+t)==1?jh:function(e,r){return r-e?T4(e,r,t):Wu(isNaN(e)?r:e)}}function jh(t,e){var r=e-t;return r?x4(t,r):Wu(isNaN(t)?e:t)}var sE=(function t(e){var r=PN(e);function n(i,o){var s=r((i=pc(i)).r,(o=pc(o)).r),a=r(i.g,o.g),c=r(i.b,o.b),l=jh(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 ON(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=pc(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 nne=ON(NN),ine=ON(CN);function LN(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 DN(t){return ArrayBuffer.isView(t)&&!(t instanceof DataView)}function $N(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]=ns(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 MN(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 FN(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]=ns(t[i],e[i]):n[i]=e[i];return function(o){for(i in r)n[i]=r[i](o);return n}}var cE=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,aE=new RegExp(cE.source,"g");function _4(t){return function(){return t}}function E4(t){return function(e){return t(e)+""}}function UN(t,e){var r=cE.lastIndex=aE.lastIndex=0,n,i,o,s=-1,a=[],c=[];for(t=t+"",e=e+"";(n=cE.exec(t))&&(i=aE.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=aE.lastIndex;return r<e.length&&(o=e.slice(r),a[s]?a[s]+=o:a[++s]=o),a.length<2?c[0]?E4(c[0].x):_4(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 ns(t,e){var r=typeof e,n;return e==null||r==="boolean"?Wu(e):(r==="number"?Yi:r==="string"?(n=Vi(e))?(e=n,sE):UN:e instanceof Vi?sE:e instanceof Date?MN:DN(e)?LN:Array.isArray(e)?$N:typeof e.valueOf!="function"&&typeof e.toString!="function"||isNaN(e)?FN:Yi)(t,e)}function lE(t,e){return t=+t,e=+e,function(r){return Math.round(t*(1-r)+e*r)}}function uE(t){return function(){return t}}function fE(t){return+t}var BN=[0,1];function hc(t){return t}function dE(t,e){return(e-=t=+t)?function(r){return(r-t)/e}:uE(isNaN(e)?NaN:.5)}function v4(t,e){var r;return t>e&&(r=t,t=e,e=r),function(n){return Math.max(t,Math.min(e,n))}}function R4(t,e,r){var n=t[0],i=t[1],o=e[0],s=e[1];return i<n?(n=dE(i,n),o=r(s,o)):(n=dE(n,i),o=r(o,s)),function(a){return o(n(a))}}function w4(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]=dE(t[s],t[s+1]),o[s]=r(e[s],e[s+1]);return function(a){var c=tE(t,a,1,n)-1;return o[c](i[c](a))}}function GN(t,e){return e.domain(t.domain()).range(t.range()).interpolate(t.interpolate()).clamp(t.clamp()).unknown(t.unknown())}function b4(){var t=BN,e=BN,r=ns,n,i,o,s=hc,a,c,l;function u(){var d=Math.min(t.length,e.length);return s!==hc&&(s=v4(t[0],t[d-1])),a=d>2?w4:R4,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,fE),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=lE,u()},f.clamp=function(d){return arguments.length?(s=d?!0:hc,u()):s!==hc},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 pE(){return b4()(hc,hc)}function hE(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 mE=new Date,gE=new Date;function Ve(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=>Ve(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)=>(mE.setTime(+o),gE.setTime(+s),t(mE),t(gE),Math.floor(r(mE,gE))),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 Vu=Ve(()=>{},(t,e)=>{t.setTime(+t+e)},(t,e)=>e-t);Vu.every=t=>(t=Math.floor(t),!isFinite(t)||!(t>0)?null:t>1?Ve(e=>{e.setTime(Math.floor(e/t)*t)},(e,r)=>{e.setTime(+e+r*t)},(e,r)=>(r-e)/t):Vu);var Bne=Vu.range;var vn=Ve(t=>{t.setTime(t-t.getMilliseconds())},(t,e)=>{t.setTime(+t+e*1e3)},(t,e)=>(e-t)/1e3,t=>t.getUTCSeconds()),XN=vn.range;var mc=Ve(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*1e3)},(t,e)=>{t.setTime(+t+e*6e4)},(t,e)=>(e-t)/6e4,t=>t.getMinutes()),A4=mc.range,zh=Ve(t=>{t.setUTCSeconds(0,0)},(t,e)=>{t.setTime(+t+e*6e4)},(t,e)=>(e-t)/6e4,t=>t.getUTCMinutes()),I4=zh.range;var gc=Ve(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=gc.range,qh=Ve(t=>{t.setUTCMinutes(0,0,0)},(t,e)=>{t.setTime(+t+e*36e5)},(t,e)=>(e-t)/36e5,t=>t.getUTCHours()),k4=qh.range;var Jn=Ve(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),N4=Jn.range,Ku=Ve(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/864e5,t=>t.getUTCDate()-1),C4=Ku.range,Wh=Ve(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/864e5,t=>Math.floor(t/864e5)),P4=Wh.range;function ss(t){return Ve(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=ss(0),yc=ss(1),jN=ss(2),zN=ss(3),Ki=ss(4),qN=ss(5),WN=ss(6),VN=Qn.range,O4=yc.range,L4=jN.range,D4=zN.range,$4=Ki.range,M4=qN.range,F4=WN.range;function as(t){return Ve(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 cs=as(0),xc=as(1),YN=as(2),KN=as(3),Zi=as(4),ZN=as(5),JN=as(6),QN=cs.range,U4=xc.range,B4=YN.range,G4=KN.range,X4=Zi.range,H4=ZN.range,j4=JN.range;var Tc=Ve(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()),z4=Tc.range,Vh=Ve(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()),q4=Vh.range;var yr=Ve(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());yr.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:Ve(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 W4=yr.range,Qr=Ve(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());Qr.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:Ve(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 V4=Qr.range;function tC(t,e,r,n,i,o){let s=[[vn,1,1e3],[vn,5,5*1e3],[vn,15,15*1e3],[vn,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=es(([,,T])=>T).right(s,d);if(p===s.length)return t.every($h(l/31536e6,u/31536e6,f));if(p===0)return Vu.every(Math.max($h(l,u,f),1));let[m,y]=s[d/s[p-1][2]<s[p][2]/d?p-1:p];return m.every(y)}return[a,c]}var[K4,Z4]=tC(Qr,Vh,cs,Wh,qh,zh),[yE,xE]=tC(yr,Tc,Qn,Jn,gc,mc);function TE(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 _E(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 EE(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=Qu(i),f=Ju(o),d=Qu(o),p=Ju(s),m=Qu(s),y=Ju(a),T=Qu(a),_=Ju(c),v=Qu(c),E={a:I,A:F,b:j,B:U,c:null,d:aC,e:aC,f:_3,g:N3,G:P3,H:y3,I:x3,j:T3,L:dC,m:E3,M:v3,p:W,q:Z,Q:uC,s:fC,S:R3,u:w3,U:b3,V:A3,w:I3,W:S3,x:null,X:null,y:k3,Y:C3,Z:O3,"%":lC},S={a:pe,A:V,b:te,B:De,c:null,d:cC,e:cC,f:M3,g:W3,G:Y3,H:L3,I:D3,j:$3,L:hC,m:F3,M:U3,p:Ne,q:Xe,Q:uC,s:fC,S:B3,u:G3,U:X3,V:H3,w:j3,W:z3,x:null,X:null,y:q3,Y:V3,Z:K3,"%":lC},D={a:oe,A:L,b:R,B:O,c:$,d:oC,e:oC,f:p3,g:iC,G:nC,H:sC,I:sC,j:l3,L:d3,m:c3,M:u3,p:G,q:a3,Q:m3,s:g3,S:f3,u:r3,U:n3,V:i3,w:t3,W:o3,x:b,X:A,y:iC,Y:nC,Z:s3,"%":h3};E.x=N(r,E),E.X=N(n,E),E.c=N(e,E),S.x=N(r,S),S.X=N(n,S),S.c=N(e,S);function N(q,J){return function(re){var C=[],be=-1,me=0,ve=q.length,Tt,X,Cr;for(re instanceof Date||(re=new Date(+re));++be<ve;)q.charCodeAt(be)===37&&(C.push(q.slice(me,be)),(X=rC[Tt=q.charAt(++be)])!=null?Tt=q.charAt(++be):X=Tt==="e"?" ":"0",(Cr=J[Tt])&&(Tt=Cr(re,X)),C.push(Tt),me=be+1);return C.push(q.slice(me,be)),C.join("")}}function M(q,J){return function(re){var C=Zu(1900,void 0,1),be=B(C,q,re+="",0),me,ve;if(be!=re.length)return null;if("Q"in C)return new Date(C.Q);if("s"in C)return new Date(C.s*1e3+("L"in C?C.L:0));if(J&&!("Z"in C)&&(C.Z=0),"p"in C&&(C.H=C.H%12+C.p*12),C.m===void 0&&(C.m="q"in C?C.q:0),"V"in C){if(C.V<1||C.V>53)return null;"w"in C||(C.w=1),"Z"in C?(me=_E(Zu(C.y,0,1)),ve=me.getUTCDay(),me=ve>4||ve===0?xc.ceil(me):xc(me),me=Ku.offset(me,(C.V-1)*7),C.y=me.getUTCFullYear(),C.m=me.getUTCMonth(),C.d=me.getUTCDate()+(C.w+6)%7):(me=TE(Zu(C.y,0,1)),ve=me.getDay(),me=ve>4||ve===0?yc.ceil(me):yc(me),me=Jn.offset(me,(C.V-1)*7),C.y=me.getFullYear(),C.m=me.getMonth(),C.d=me.getDate()+(C.w+6)%7)}else("W"in C||"U"in C)&&("w"in C||(C.w="u"in C?C.u%7:"W"in C?1:0),ve="Z"in C?_E(Zu(C.y,0,1)).getUTCDay():TE(Zu(C.y,0,1)).getDay(),C.m=0,C.d="W"in C?(C.w+6)%7+C.W*7-(ve+5)%7:C.w+C.U*7-(ve+6)%7);return"Z"in C?(C.H+=C.Z/100|0,C.M+=C.Z%100,_E(C)):TE(C)}}function B(q,J,re,C){for(var be=0,me=J.length,ve=re.length,Tt,X;be<me;){if(C>=ve)return-1;if(Tt=J.charCodeAt(be++),Tt===37){if(Tt=J.charAt(be++),X=D[Tt in rC?J.charAt(be++):Tt],!X||(C=X(q,re,C))<0)return-1}else if(Tt!=re.charCodeAt(C++))return-1}return C}function G(q,J,re){var C=l.exec(J.slice(re));return C?(q.p=u.get(C[0].toLowerCase()),re+C[0].length):-1}function oe(q,J,re){var C=p.exec(J.slice(re));return C?(q.w=m.get(C[0].toLowerCase()),re+C[0].length):-1}function L(q,J,re){var C=f.exec(J.slice(re));return C?(q.w=d.get(C[0].toLowerCase()),re+C[0].length):-1}function R(q,J,re){var C=_.exec(J.slice(re));return C?(q.m=v.get(C[0].toLowerCase()),re+C[0].length):-1}function O(q,J,re){var C=y.exec(J.slice(re));return C?(q.m=T.get(C[0].toLowerCase()),re+C[0].length):-1}function $(q,J,re){return B(q,e,J,re)}function b(q,J,re){return B(q,r,J,re)}function A(q,J,re){return B(q,n,J,re)}function I(q){return s[q.getDay()]}function F(q){return o[q.getDay()]}function j(q){return c[q.getMonth()]}function U(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=N(q+="",E);return J.toString=function(){return q},J},parse:function(q){var J=M(q+="",!1);return J.toString=function(){return q},J},utcFormat:function(q){var J=N(q+="",S);return J.toString=function(){return q},J},utcParse:function(q){var J=M(q+="",!0);return J.toString=function(){return q},J}}}var rC={"-":"",_:" ",0:"0"},Ot=/^\s*\d+/,J4=/^%/,Q4=/[\\^$*+?|[\]().{}]/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 e3(t){return t.replace(Q4,"\\$&")}function Ju(t){return new RegExp("^(?:"+t.map(e3).join("|")+")","i")}function Qu(t){return new Map(t.map((e,r)=>[e.toLowerCase(),r]))}function t3(t,e,r){var n=Ot.exec(e.slice(r,r+1));return n?(t.w=+n[0],r+n[0].length):-1}function r3(t,e,r){var n=Ot.exec(e.slice(r,r+1));return n?(t.u=+n[0],r+n[0].length):-1}function n3(t,e,r){var n=Ot.exec(e.slice(r,r+2));return n?(t.U=+n[0],r+n[0].length):-1}function i3(t,e,r){var n=Ot.exec(e.slice(r,r+2));return n?(t.V=+n[0],r+n[0].length):-1}function o3(t,e,r){var n=Ot.exec(e.slice(r,r+2));return n?(t.W=+n[0],r+n[0].length):-1}function nC(t,e,r){var n=Ot.exec(e.slice(r,r+4));return n?(t.y=+n[0],r+n[0].length):-1}function iC(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 s3(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 a3(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 c3(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 oC(t,e,r){var n=Ot.exec(e.slice(r,r+2));return n?(t.d=+n[0],r+n[0].length):-1}function l3(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 sC(t,e,r){var n=Ot.exec(e.slice(r,r+2));return n?(t.H=+n[0],r+n[0].length):-1}function u3(t,e,r){var n=Ot.exec(e.slice(r,r+2));return n?(t.M=+n[0],r+n[0].length):-1}function f3(t,e,r){var n=Ot.exec(e.slice(r,r+2));return n?(t.S=+n[0],r+n[0].length):-1}function d3(t,e,r){var n=Ot.exec(e.slice(r,r+3));return n?(t.L=+n[0],r+n[0].length):-1}function p3(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 h3(t,e,r){var n=J4.exec(e.slice(r,r+1));return n?r+n[0].length:-1}function m3(t,e,r){var n=Ot.exec(e.slice(r));return n?(t.Q=+n[0],r+n[0].length):-1}function g3(t,e,r){var n=Ot.exec(e.slice(r));return n?(t.s=+n[0],r+n[0].length):-1}function aC(t,e){return Oe(t.getDate(),e,2)}function y3(t,e){return Oe(t.getHours(),e,2)}function x3(t,e){return Oe(t.getHours()%12||12,e,2)}function T3(t,e){return Oe(1+Jn.count(yr(t),t),e,3)}function dC(t,e){return Oe(t.getMilliseconds(),e,3)}function _3(t,e){return dC(t,e)+"000"}function E3(t,e){return Oe(t.getMonth()+1,e,2)}function v3(t,e){return Oe(t.getMinutes(),e,2)}function R3(t,e){return Oe(t.getSeconds(),e,2)}function w3(t){var e=t.getDay();return e===0?7:e}function b3(t,e){return Oe(Qn.count(yr(t)-1,t),e,2)}function pC(t){var e=t.getDay();return e>=4||e===0?Ki(t):Ki.ceil(t)}function A3(t,e){return t=pC(t),Oe(Ki.count(yr(t),t)+(yr(t).getDay()===4),e,2)}function I3(t){return t.getDay()}function S3(t,e){return Oe(yc.count(yr(t)-1,t),e,2)}function k3(t,e){return Oe(t.getFullYear()%100,e,2)}function N3(t,e){return t=pC(t),Oe(t.getFullYear()%100,e,2)}function C3(t,e){return Oe(t.getFullYear()%1e4,e,4)}function P3(t,e){var r=t.getDay();return t=r>=4||r===0?Ki(t):Ki.ceil(t),Oe(t.getFullYear()%1e4,e,4)}function O3(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+Oe(e/60|0,"0",2)+Oe(e%60,"0",2)}function cC(t,e){return Oe(t.getUTCDate(),e,2)}function L3(t,e){return Oe(t.getUTCHours(),e,2)}function D3(t,e){return Oe(t.getUTCHours()%12||12,e,2)}function $3(t,e){return Oe(1+Ku.count(Qr(t),t),e,3)}function hC(t,e){return Oe(t.getUTCMilliseconds(),e,3)}function M3(t,e){return hC(t,e)+"000"}function F3(t,e){return Oe(t.getUTCMonth()+1,e,2)}function U3(t,e){return Oe(t.getUTCMinutes(),e,2)}function B3(t,e){return Oe(t.getUTCSeconds(),e,2)}function G3(t){var e=t.getUTCDay();return e===0?7:e}function X3(t,e){return Oe(cs.count(Qr(t)-1,t),e,2)}function mC(t){var e=t.getUTCDay();return e>=4||e===0?Zi(t):Zi.ceil(t)}function H3(t,e){return t=mC(t),Oe(Zi.count(Qr(t),t)+(Qr(t).getUTCDay()===4),e,2)}function j3(t){return t.getUTCDay()}function z3(t,e){return Oe(xc.count(Qr(t)-1,t),e,2)}function q3(t,e){return Oe(t.getUTCFullYear()%100,e,2)}function W3(t,e){return t=mC(t),Oe(t.getUTCFullYear()%100,e,2)}function V3(t,e){return Oe(t.getUTCFullYear()%1e4,e,4)}function Y3(t,e){var r=t.getUTCDay();return t=r>=4||r===0?Zi(t):Zi.ceil(t),Oe(t.getUTCFullYear()%1e4,e,4)}function K3(){return"+0000"}function lC(){return"%"}function uC(t){return+t}function fC(t){return Math.floor(+t/1e3)}var _c,Yh,gC,yC,xC;vE({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 vE(t){return _c=EE(t),Yh=_c.format,gC=_c.parse,yC=_c.utcFormat,xC=_c.utcParse,_c}function Z3(t){return new Date(t)}function J3(t){return t instanceof Date?+t:+new Date(+t)}function TC(t,e,r,n,i,o,s,a,c,l){var u=pE(),f=u.invert,d=u.domain,p=l(".%L"),m=l(":%S"),y=l("%I:%M"),T=l("%I %p"),_=l("%a %d"),v=l("%b %d"),E=l("%B"),S=l("%Y");function D(N){return(c(N)<N?p:a(N)<N?m:s(N)<N?y:o(N)<N?T:n(N)<N?i(N)<N?_:v:r(N)<N?E:S)(N)}return u.invert=function(N){return new Date(f(N))},u.domain=function(N){return arguments.length?d(Array.from(N,J3)):d().map(Z3)},u.ticks=function(N){var M=d();return t(M[0],M[M.length-1],N??10)},u.tickFormat=function(N,M){return M==null?D:l(M)},u.nice=function(N){var M=d();return(!N||typeof N.range!="function")&&(N=e(M[0],M[M.length-1],N??10)),N?d(hE(M,N)):u},u.copy=function(){return GN(u,TC(t,e,r,n,i,o,s,a,c,l))},u}function Kh(){return fc.apply(TC(yE,xE,yr,Tc,Qn,Jn,gc,mc,vn,Yh).domain([new Date(2e3,0,1),new Date(2e3,0,2)]),arguments)}var RE=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=Hu().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}},Q3={bandwidth:56,step:64};function _C(){return RE.fixedRow(Q3)}var Zh=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,kr(e.domain[0],e.domain[1]));this.pixelsPerDay=(e.range[1]-e.range[0])/r,this.d3=Kh().domain(e.domain).range(e.range)}forward(e){let r=kr(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 Jh(t){return t.endsWith(":")?t.slice(0,-1):t}function EC(t,e){let n=t.roadmapDecl?.properties.find(c=>Jh(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=Qh(i)*l,s=1}}let a=s??pN[i]??4;if(e){let l=e.properties.find(m=>Jh(m.key)==="unit")?.value??i,u=e.properties.find(m=>Jh(m.key)==="label-every"),f=e.properties.find(m=>Jh(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)||Qh(l)):o??Qh(l);return{unit:l,labelEvery:d,pixelsPerUnit:p}}return{unit:i,labelEvery:a,pixelsPerUnit:o??Qh(i)}}function Qh(t){switch(t){case"days":return lN;case"weeks":return 40;case"months":return 80;case"quarters":return 160;case"years":return 320}}function vC(t,e,r,n=Cu){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?eG(e.unit,Zo(t.domain[0],u),l,n):void 0})}return c}function eG(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`${xh(n).quarterPrefix}${i} ${e.getUTCFullYear()}`}case"years":return`${e.getUTCFullYear()}`}}function RC(t){return{daysPerUnit:e=>wE(e,t),addUnits:(e,r,n)=>Zo(e,r*wE(n,t)),isWorkingDay:()=>!0}}function wC(t,e){return wE(t,e)}function wE(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 bE=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=vt(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 AC(t,e,r){let n=[];for(let[i,o]of t){let s=new bE(i,o).place(e,r);s&&n.push(s)}return n}function AE(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:Zr,y:r+Zr,width:e.chartRightX-2*Zr,height:n.length===0?0:Uu+n.length*Bu+Zr},entries:n},index:i,hosts:o}}var tG=.8,rG=1;function nG(t){let e=[];return SC(t,e),e}function SC(t,e){for(let r of t)if(r.kind==="item"){let n=iG(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")&&SC(r.children,e)}function iG(t){return t.capacity?t.capacity.value:t.size?1:0}function kC(t){if(t.capacityValue<=0||t.warnFraction===null&&t.overFraction===null)return null;let e=nG(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:oG(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 oG(t,e,r,n){let i=t/e;return n!==null&&i>=n?"red":r!==null&&i>=r?"yellow":"green"}function NC(t,e){let r=e.get("swimlane"),n=IC(ae(t.properties,"utilization-warn-at"),r?ae(r.properties,"utilization-warn-at"):void 0,tG),i=IC(ae(t.properties,"utilization-over-at"),r?ae(r.properties,"utilization-over-at"):void 0,rG);return{warn:n,over:i}}function IC(t,e,r){let i=cG(t??e);return i.kind==="unset"?r:i.kind==="none"?null:i.value}var sG=/^\d+(?:\.\d+)?%$/,aG=/^\d+\.\d+$/;function cG(t){if(t===void 0)return{kind:"unset"};if(t==="none")return{kind:"none"};if(sG.test(t)){let e=parseFloat(t)/100;return Number.isFinite(e)&&e>0?{kind:"number",value:e}:{kind:"unset"}}if(aG.test(t)){let e=parseFloat(t);return Number.isFinite(e)&&e>0?{kind:"number",value:e}:{kind:"unset"}}return{kind:"unset"}}var CC=10;function lG(t,e,r){let n=ae(t.properties,"capacity"),i=oi(n);if(i===null)return{capacity:null,badgeWidthPx:0};let o=Ac(i),s=Ic(e.capacityIcon,r),a=to(o,s,CC);return{capacity:{value:i,text:o,icon:s},badgeWidthPx:a}}var uG=10,fG=38,dG=8;function pG(t,e,r){let n=t.title??t.name??"";if(!n)return 0;let i=ae(t.properties,"owner");return Sc(0,n,i??void 0,e,r).rightX}function hG(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 mG(t,e,r,n){for(let i of t.content){if(i.$type==="DescriptionDirective")continue;let o=gr(i)?i.properties:i.properties??[];return n.resolveChildStart(o,e,e,r)}}var Ec=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}=lG(n,s,r.symbols),d=hG(n,r),p=d.length>0?o.estimateTextWidth(d.join(","),CC):0,m=pG(n,f,p),y=mG(n,a,r,o),T=!n.title||y===void 0||y>=m+dG,_=e.y+(T?uG:fG),v=new oc({laneLeftX:a,originY:_,minRowHeight:c,slackCorridors:r.slackCorridors}),E=a,S=[];for(let R of n.content){if(R.$type==="DescriptionDirective")continue;if(!gr(R)){let Xe=R.properties??[],q=o.resolveChildStart(Xe,E,a,r),{rowIndex:J,y:re}=v.placeBlock(),C=o.newCursor(q,re),be=o.sequenceOne(R,C,r);S.push(be);let me=be.box.x+be.box.width,ve=Math.max(c,C.height);v.commitBlock({rowIndex:J,placed:be,blockHeight:ve,blockEnd:me}),E=Math.max(E,me);continue}let O=R.properties,$=o.resolveChildStart(O,E,a,r),b=zi(O,r.sizes,r.cal),A=Math.max(Nr,b*r.timeline.pixelsPerDay),I=$+A,F=R.name??"",j=o.predictItemChipExtraHeight(R,r),U=c+j,{rowIndex:W,y:Z}=v.placeItem({childId:F,desiredStart:$,desiredEnd:I,predictedHeight:U}),pe=o.newCursor($,Z),V=o.sequenceItem(R,pe,r);S.push(V);let te=V.box.x+V.box.width+Yr;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),v.commitItem({rowIndex:W,placed:V,logicalEnd:te,spillReservation:De,rowHeight:U})}let D=_-e.y,N=Math.max(c+32,D+v.usedHeight()+16),M=Math.max(v.usedRightX(),m),B={x:0,y:e.y,width:r.chartRightX,height:N},G=ae(n.properties,"owner"),oe;if(G){let R=r.teams.get(G),O=r.persons.get(G);oe=R?.title??O?.title??G}let L=u?(()=>{let{warn:R,over:O}=NC(n,r.styleCtx.defaults);return kC({children:S,capacityValue:u.value,warnFraction:R,overFraction:O})})():null;return r.currentFlowKey=l,{positioned:{id:n.name,title:n.title??n.name??"",box:B,bandIndex:i,children:S,nested:[],style:s,owner:oe,footnoteIndicators:d,capacity:u,utilization:L},usedHeight:N,usedRightX:M}}};var gG=18,yG=14,xG=14,TG=16,_G=32;function PC(t,e,r,n){let i=r+gG,o=[],s=!0;for(let a of t){s||(i+=TG),s=!1;let c=a.content.roadmap?.title??a.sourcePath,l=i+yG,u={cal:e.cal,styleCtx:{theme:e.styleCtx.theme,styles:a.config.styles,defaults:a.config.defaults,labels:a.content.labels},sizes:gh(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,nextParallelId:0,nextGroupId:0},f=[],d=l,p=0,m=u.timeline.originX;for(let N of a.content.swimlanes.values()){u.nextParallelId=0,u.nextGroupId=0;let{positioned:M,usedHeight:B,usedRightX:G}=new Ec({lane:N,bandIndex:p},n).place({x:u.timeline.originX,y:d},u);f.push(M),d+=B,p++,G>m&&(m=G)}let y=d,T=Math.max(e.bandScale.bandwidth(),y-i+xG),_=0,{chromeRightX:v}=kc(_,c,a.sourcePath),E=Math.max(v,m)+_G,S=Math.min(e.chartRightX-_,E-_),D={x:_,y:i,width:S,height:T};for(let N of f)N.box.width=S;o.push({sourcePath:a.sourcePath,label:c,box:D,nestedSwimlanes:f,style:yt("swimlane",[],e.styleCtx)}),i+=T}return{regions:o,endY:i}}function rm(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 nm(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 OC(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 IE=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=vt(i),a=e.timeline.markerRow.y,c=6,l=r.title??this.id,u=null,f=a,d=null,p="right",m=!1,y,T=!1;if(s){let v=e.scale.forwardWithinDomain(s);if(v===null)return null;u=v,m=!0;let E=e.markerRowPlacements.get(this.id);E&&(f=E.centerY,d=E.labelBox,p=E.labelSide);let S=rm(o,e),D=nm(S),N=null;for(let M of D)(!N||M.x>N.x)&&(N=M);N&&N.x>v&&(T=!0,y=[{x:N.x,y:N.y>0?N.y:f}])}else if(o.length>0){let v=rm(o,e),E=nm(v);E.sort((M,B)=>B.x-M.x);let S=E[0]?.x??e.timeline.originX;u=S,m=!1;let D=OC(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 N=[];for(let M=1;M<E.length;M++){let B=E[M];B.x<S&&B.y>0&&N.push({x:B.x,y:B.y})}N.length>0&&(y=N)}if(u===null)return null;if(!d){let v=OC(u,f,c,l,10,!0,e.timeline.box.x,e.chartRightX);d=v.box,p=v.side}let _={x:u,y:f};return e.entityLeftEdges.set(this.id,_.x),e.entityRightEdges.set(this.id,_.x),e.entityMidpoints.set(this.id,_),{id:this.id,title:l,center:_,radius:c,fixed:m,slackArrows:y,isOverrun:T,style:n,cutTopY:e.chartTopY,cutBottomY:e.swimlaneBottomY,labelBox:d,labelSide:p}}};function LC(t,e){let r=[];for(let[n,i]of t){let o=new IE(n,i).place(e);o&&r.push(o)}return r}var vG=4;function RG(t,e){e>t.chartRightX&&(t.chartRightX=e)}var om=class{place(e,r,n,i){let o=n.theme??"light",s=O_[o],a=n.width??1280,c=Kk(n.locale,AG(e)),l=zk(e,r.config.calendar),u=EC(e,r.config.scale),f=gh(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),y=yt("roadmap",e.roadmapDecl?.properties??[],d),T=y.headerPosition==="beside",_=y.timelinePosition!=="bottom",v=y.timelinePosition==="bottom"||y.timelinePosition==="both",E=e.roadmapDecl?.title??e.roadmapDecl?.name??"",S=ae(e.roadmapDecl?.properties??[],"author"),D=i.sizeBesideHeader(E,S),N=T?{x:0,y:0,width:D.boxWidth,height:0}:{x:0,y:0,width:0,height:kh},M=T?D.boxWidth:0,B=T?8:kh+8,G=RC(l),oe=u.pixelsPerUnit/G.daysPerUnit(u.unit),R=Math.max(1,kr(p,m))*oe,O=M+Kr,$=R,b=M+Kr+$+Kr,A=Math.min(a,b),I=n.today!==void 0&&n.today>=p&&n.today<=m,F=r.content.anchors.size+r.content.milestones.size>0,j=I?qi:0,U=_?Du:0,W=new Zh({domain:[p,m],range:[O,O+R],calendar:G}),Z=Math.max(A,O+$+Kr),pe=[];for(let[K,le]of r.content.anchors){let je=vt(ae(le.properties,"date"));if(!je)continue;let Lr=W.forwardWithinDomain(je);Lr!==null&&pe.push({id:K,centerX:Lr,radius:6,title:le.title??K,fontSize:10,bold:!1,date:je,isMilestone:!1})}for(let[K,le]of r.content.milestones){let je=vt(ae(le.properties,"date"));if(!je)continue;let Lr=W.forwardWithinDomain(je);Lr!==null&&pe.push({id:K,centerX:Lr,radius:6,title:le.title??K,fontSize:10,bold:!0,date:je,isMilestone:!0})}let V=$C(pe,M,Z,i.estimateTextWidth),te=F?Math.max(1,V.rowCount):0,De=te*26,Ne=j+U+De,Xe=Ne+8,q=T?D.cardHeight+vG:0,J=Math.max(B,q-Ne),re=J+j,C=re+U,be=C+De,me=vC(W,u,G,c),ve={box:{x:O,y:J,width:R,height:0},ticks:me,pixelsPerDay:oe,originX:O,startDate:p,endDate:m,labelStyle:yt("roadmap",[],d),pillRowHeight:j,tickPanelY:re,tickPanelHeight:U,markerRow:{y:C+13,height:De,collisionY:C-8},minorGrid:y.minorGrid},Tt=new Map;for(let[K,le]of V.placements){let je=C+13+le.rowIndex*26;Tt.set(K,{rowIndex:le.rowIndex,centerY:je,labelBox:{...le.labelBox,y:je-4},labelSide:le.labelSide})}let X={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:G,bandScale:_C(),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:Tt,chartTopY:J+Xe,chartBottomY:0,swimlaneBottomY:0,chartRightX:Z,nextParallelId:0,nextGroupId:0};for(let K of pe){let le=Tt.get(K.id);le&&(X.entityLeftEdges.set(K.id,K.centerX),X.entityRightEdges.set(K.id,K.centerX),X.entityMidpoints.set(K.id,{x:K.centerX,y:le.centerY}))}let Cr=AE(r.content.footnotes,X,0);X.footnoteIndex=Cr.index,X.footnoteHosts=Cr.hosts;let Tr=new Map(X.entityLeftEdges),Pr=new Map(X.entityRightEdges),fs=new Map(X.entityMidpoints),_e=[...r.content.swimlanes.values()],Or=yt("swimlane",[],d),Qi=aN[Or.spacing]??0,bn=()=>{X.nextParallelId=0,X.nextGroupId=0;let K=[],le=X.chartTopY,je=0,Lr=X.timeline.originX;for(let eo of _e){je>0&&(le+=Qi);let{positioned:ni,usedHeight:xm,usedRightX:uf}=new Ec({lane:eo,bandIndex:je},i).place({x:X.timeline.originX,y:le},X);K.push(ni),le+=xm,uf>Lr&&(Lr=uf),je++}return{swimlanes:K,nextY:le,maxRightX:Lr}},_r=bn(),Ht=_r.swimlanes,bt=_r.nextY,x=wG(r.content.milestones,X);x.length>0&&(X.entityLeftEdges=new Map(Tr),X.entityRightEdges=new Map(Pr),X.entityMidpoints=new Map(fs),X.itemSlackAttachY=new Map,X.entityVisualLeftX=new Map,X.entityVisualRightX=new Map,X.itemArrowSource=new Map,X.itemFlowKey=new Map,X.currentFlowKey="",X.slackCorridors=x,_r=bn(),Ht=_r.swimlanes,bt=_r.nextY),RG(X,_r.maxRightX+Kr);for(let K of Ht)K.box.width=X.chartRightX;let P=r.content.isolatedRegions,z=[];if(P.length>0){let K=PC(P,X,bt+8,i);z=K.regions,bt=K.endY}X.chartBottomY=bt,X.swimlaneBottomY=bt,ve.box.height=X.chartBottomY-ve.box.y;let Y=LC(r.content.milestones,X),$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 Ce=$C($e,M,X.chartRightX,i.estimateTextWidth);X.markerRowPlacements.clear();for(let[K,le]of Ce.placements){let je=C+13+le.rowIndex*26;X.markerRowPlacements.set(K,{rowIndex:le.rowIndex,centerY:je,labelBox:{...le.labelBox,y:je-4},labelSide:le.labelSide})}for(let K of Y){let le=X.markerRowPlacements.get(K.id??"");le&&(K.center={x:K.center.x,y:le.centerY},K.labelBox=le.labelBox,K.labelSide=le.labelSide)}for(let K of pe){let le=X.markerRowPlacements.get(K.id);le&&X.entityMidpoints.set(K.id,{x:K.centerX,y:le.centerY})}for(let K of Y)K.fixed||X.entityMidpoints.set(K.id??"",{x:K.center.x,y:K.center.y});let ze=F?Math.max(1,Ce.rowCount):0;if(ze>te){let K=(ze-te)*26;X.timeline.markerRow.height=ze*26,X.timeline.box.height+=K,X.chartTopY+=K,X.chartBottomY+=K,X.swimlaneBottomY+=K;for(let le of Ht)SE(le,K);for(let le of z)bG(le,K);for(let[le,je]of X.entityMidpoints)X.markerRowPlacements.has(le)||X.entityMidpoints.set(le,{x:je.x,y:je.y+K});for(let[le,je]of X.itemSlackAttachY)X.itemSlackAttachY.set(le,je+K);for(let le of Y)if(le.cutTopY=X.chartTopY,le.cutBottomY=X.swimlaneBottomY,le.slackArrows)for(let je of le.slackArrows)je.y+=K}v&&(X.timeline.bottomTickPanelY=X.chartBottomY+8,X.timeline.bottomTickPanelHeight=Du,X.chartBottomY+=8+Du);let Ye=new Set(Y.map(K=>K.center.x)),ge=AC(r.content.anchors,X,Ye),Ue=i.collectItems(_e),Ae=i.buildDependencies(Ue,Ht,z,X),Ke=i.buildNowline(n.today,X,c),st=AE(r.content.footnotes,X,X.chartBottomY);X.footnoteIndex=st.index,X.footnoteHosts=st.hosts,N.height=N.height||X.chartBottomY,T||(N.width=X.chartRightX);let Jt=T?{x:6,y:be-D.cardHeight,width:D.cardWidth,height:D.cardHeight}:{x:0,y:0,width:X.chartRightX,height:kh},ds=st.area.entries.length>0?st.area.box.y+st.area.box.height:X.chartBottomY,cf={x:X.chartRightX-Kr-Y_,y:ds+Kr,width:Y_,height:dN},Qt=cf.y+cf.height+Kr,tn={box:N,position:y.headerPosition,title:E,author:S,titleLines:D.titleLines,authorLines:D.authorLines,cardBox:Jt,logo:void 0,style:y,attributionBox:cf};return{width:X.chartRightX,height:Qt,theme:o,palette:s,backgroundColor:s.surface.page,header:tn,timeline:ve,nowline:Ke,swimlanes:Ht,anchors:ge,milestones:Y,edges:Ae,footnotes:st.area,includes:z,chartBox:{x:M,y:X.chartTopY,width:X.chartRightX-M,height:X.chartBottomY-X.chartTopY}}}};function wG(t,e){let r=[];for(let[n,i]of t){let o=ae(i.properties,"date"),s=gt(i.properties,"after"),a=vt(o),c=rm(s,e),l=nm(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 SE(t,e){t.box.y+=e;for(let r of t.children)MC(r,e);for(let r of t.nested)SE(r,e)}function MC(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)MC(r,e)}function bG(t,e){t.box.y+=e;for(let r of t.nestedSwimlanes)SE(r,e)}function $C(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,y=M=>M==="right"?l:u,T=M=>M==="right"?f:d,_=(M,B)=>{let G=Math.min(p,M),oe=Math.max(m,M+c);return s[B].some(L=>L.left<oe&&L.right>G)},v=-1,E="right",S=l;e:for(let M=s.length-1;M>=0;M--)for(let B of["right","left"]){if(!T(B))continue;let G=y(B);if(!_(G,M)){v=M,E=B,S=G;break e}}if(v===-1){for(let[M,B]of o)o.set(M,{...B,rowIndex:B.rowIndex+1});s=[[],...s],v=0,E=f?"right":"left",S=y(E)}let D=Math.min(p,S),N=Math.max(m,S+c);s[v].push({left:D,right:N}),o.set(a.id,{rowIndex:v,labelBox:{x:S,y:0,width:c,height:12},labelSide:E})}return{placements:o,rowCount:s.length}}function AG(t){return t.directive?.properties.find(r=>IG(r.key)==="locale")?.value}function IG(t){return t.endsWith(":")?t.slice(0,-1):t}function CG(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 PG(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 OG(t,e){if(t)return/^\d+(?:\.\d+)?[dwmqy]$/.test(t)||/^\d+%$/.test(t)?t:e.sizes.get(t)?.effortLiteral??t}function LG(t,e){if(t)return e.teams.get(t)?.title??e.persons.get(t)?.title??t}function DG(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 sm(t,e,r,n,i){let o=sN(t,e),s=t.name??t.title??"",a=o.padding==="none"?"xs":o.padding,c=cN[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 LE(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=Wk(i,r.sizes,r.cal),u=gt(i,"after"),f=gt(i,"before"),d=ae(i,"date"),p=qk(ae(i,"remaining"),r.sizes,r.cal),m=e.x,y=vt(d);if(y){let ue=r.scale.forwardWithinDomain(y);ue!==null&&(m=ue)}else if(u.length>0){let ue=e.x;for(let tt of u){let _t=vt(tt);if(_t){let ii=r.scale.forwardWithinDomain(_t);ii!==null&&(ue=Math.max(ue,ii));continue}let An=r.entityRightEdges.get(tt);An!==void 0&&(ue=Math.max(ue,An))}m=Math.max(e.x,ue)}let T=Math.max(Nr,c*r.timeline.pixelsPerDay),_=m,v=m+T,E=ae(i,"link"),S=DG(E),D=S.icon!=="none",N=Math.max(Nr,T-2*Yr),M=gt(i,"labels"),B=[];for(let ue of M){let tt=r.labels.get(ue);if(!tt)continue;let _t=sm(tt,r.styleCtx,0,0);B.push({id:tt,width:_t.box.width})}let G=0;for(let ue=0;ue<B.length;ue+=1)ue>0&&(G+=4),G+=B[ue].width;let oe=Math.max(0,N-24),L=B.length>0&&G>oe,R=!1,O,$;if(f.length>0){let ue,tt;for(let _t of f){let An=vt(_t),ii=An?r.scale.forwardWithinDomain(An)??void 0:r.entityLeftEdges.get(_t);ii!==void 0&&(ue===void 0||ii<ue)&&(ue=ii,tt=_t)}ue!==void 0&&v>ue&&(R=!0,O={x:ue,y:e.y,width:v-ue,height:r.bandScale.bandwidth()},$=tt)}let b=ae(i,"status"),A=CG(b),I=PG(b);I===0&&A==="done"&&(I=1);let F=/^(\d{1,3})%$/.exec(ae(i,"remaining")??"");I===0&&A==="in-progress"&&F&&(I=1-Math.max(0,Math.min(100,parseInt(F[1],10)))/100),I===0&&A==="in-progress"&&p>0&&l>0&&(I=Math.max(0,Math.min(1,1-p/l)));let j={done:"#ecfdf5","in-progress":"#eff6ff","at-risk":"#fffbeb",blocked:"#fee2e2",planned:"#f8fafc",neutral:"#f8fafc"},U={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?U[A]:j[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"),C=OG(re,r),be=LG(n??ae(i,"owner"),r),me=()=>[J,be].filter(Boolean).join(" "),ve;if(A==="in-progress"&&C){let ue=me();ve=ue?`${ue} \u2014 ${C} remaining`:`${C} remaining`}else if(A==="in-progress"&&I>0&&I<1){let ue=Math.round((1-I)*100),tt=me();ve=tt?`${tt} \u2014 ${ue}% remaining`:`${ue}% remaining`}else(be||J)&&(ve=me()||void 0);let Tt=ae(i,"capacity"),X=oi(Tt),Cr=null,Tr=0;if(X!==null){let ue=Ac(X),tt=Ic(o.capacityIcon,r.symbols);Cr={value:X,text:ue,icon:tt};let _t=11;Tr=(ve?wn(" ",_t):0)+to(ue,tt,_t)}let Pr=t.title??t.name??"",fs=new Lh({id:t.name??"",title:Pr,logicalLeftX:_,logicalRightX:v,metaText:ve,metaTrailingWidth:Tr,hasLinkIcon:D}).place({x:_,y:e.y},{time:r.scale,bands:r.bandScale,style:o}),_e=fs.box,Or=r.bandScale.bandwidth(),Qi=_e.width<17,bn=D&&_e.width<41,_r=_e.width<23,Ht=fs.textSpills||bn,bt=null;L&&(bt=_m(B,_e.width));let x=bt?bt.rows.length:B.length>0?1:0,P=ve!==void 0||Cr!==null,z=HC(L,Ht,x,Or,P);z>0&&(_e.height=Or+z);let Y=[],$e=_e.y+Or-_n-13-3,Ce=_e.y+38+3,Ye=L&&Ht||!L&&P&&B.length>0?Math.max($e,Ce):$e,ge=L?_e.x+_e.width+6:_e.x+12,Ue=ge;if(bt)for(let ue=0;ue<bt.rows.length;ue+=1){let tt=Ye+ue*17,_t=ge;for(let ii of bt.rows[ue]){let i0=sm(ii.id,r.styleCtx,_t,tt);Y.push(i0),_t+=i0.box.width+4}let An=_t-4;An>Ue&&(Ue=An)}else{let ue=ge;for(let tt of B){let _t=sm(tt.id,r.styleCtx,ue,Ye);Y.push(_t),ue+=_t.box.width+4}Ue=B.length>0?ue-4:ge}let Ae=new Set;if(t.name){for(let[ue,tt]of r.footnoteHosts.entries())if(tt.includes(t.name)){let _t=r.footnoteIndex.get(ue);_t!==void 0&&Ae.add(_t)}}let Ke=[...Ae].sort((ue,tt)=>ue-tt),st=be??n??ae(i,"owner"),Jt=t.description?.text,ds=Ke.length>0&&_r,Qt=_e.x+_e.width+6,tn=!1,lf=null;bn&&(tn&&(Qt+=4),lf=Qt,Qt=lf+14,tn=!0);let K=0;if(Ht){tn&&(Qt+=4);let ue=wn(Pr,13),tt=(ve?wn(ve,11):0)+Tr;K=Math.max(ue,tt),Qt+=K,tn=!0}let le=null;ds&&(tn&&(Qt+=4),le=Qt,Qt+=Ke.length*8,tn=!0);let je=null;Qi&&(tn&&(Qt+=4),je=Qt+5,Qt=je+5,tn=!0);let Lr=Math.max(_e.x+_e.width,Qt),eo=t.name;eo&&(r.entityLeftEdges.set(eo,_),r.entityRightEdges.set(eo,v));let ni=eo??XC(t);r.entityMidpoints.set(ni,{x:(_+v)/2,y:_e.y+_e.height/2}),r.entityVisualLeftX.set(ni,_e.x),r.entityVisualRightX.set(ni,_e.x+_e.width);let xm=Ht?{x:_e.x+_e.width,y:_e.y+_e.height-_n/2}:{x:_e.x+_e.width,y:_e.y+_e.height/2};r.itemArrowSource.set(ni,xm),r.itemFlowKey.set(ni,r.currentFlowKey);let uf=Ht?_e.y+_e.height-_n/2:_e.y+_e.height/2;r.itemSlackAttachY.set(ni,uf),e.x=v,e.maxX=Math.max(e.maxX,e.x),e.height=Math.max(e.height,r.bandScale.step()+z);let n0=eN({box:_e,afterDate:Vn(u),beforeDate:Vn(f),hasLinkIcon:D,footnoteCount:Ke.length});return{kind:"item",id:eo,title:Pr,box:_e,status:A,progressFraction:I,footnoteIndicators:Ke,labelChips:Y,chipsOutside:L,chipsRightX:Ue,linkIcon:S.icon,linkHref:S.href,hasOverflow:R,overflowBox:O,overflowAnchorId:$,owner:st,description:Jt,metaText:ve,textSpills:Ht,dotSpills:Qi,iconSpills:bn,footnoteSpills:ds,dotSpillCx:je,iconSpillX:lf,footnoteSpillStartX:le,decorationsRightX:Lr,capacity:Cr,size:a,style:o,inlineDatePins:n0.length>0?n0:void 0}}function $G(t,e,r){return new Dh(t,{sequenceOne:DE,newCursor:Eh}).place(e,r)}function MG(t,e,r){return new Oh(t,{sequenceItem:LE,sequenceOne:DE,resolveChildStart:zC,newCursor:Eh,estimateTextWidth:wn,predictItemChipExtraHeight:jC}).place(e,r)}function DE(t,e,r){if(gr(t))return LE(t,e,r);if(Wr(t))return $G(t,e,r);if(qr(t))return MG(t,e,r);throw new Error(`Unknown swimlane child type: ${t.$type??"unknown"}`)}function wn(t,e){return t.length*e*.58}function XC(t){let e=t.$cstNode?.range.start;return`#item@${e?e.line+1:0}:${e?e.character+1:0}`}function HC(t,e,r,n,i){if(r===0)return 0;let o=n-_n-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+_n;return Math.max(0,l-n)}function jC(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(Nr,i*e.timeline.pixelsPerDay),s=Math.max(Nr,o-2*Yr),a=[];for(let _ of n){let v=e.labels.get(_);if(!v)continue;let E=sm(v,e.styleCtx,0,0);a.push({id:v,width:E.box.width})}if(a.length===0)return 0;let c=0;for(let _=0;_<a.length;_+=1)_>0&&(c+=4),c+=a[_].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?wn(d,13):0)>l,y=u?_m(a,s):null,T=y?y.rows.length:a.length>0?1:0;return HC(u,m,T,e.bandScale.bandwidth(),f)}function zC(t,e,r,n){let i=vt(ae(t,"date"))??vt(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=vt(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 kE=6;function FC(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&&wn(a,r)>e?(i.push(o),o=s):o=a}return o&&i.push(o),i}function FG(t,e){let r=j_-32,n=FC(t,r,16),i=FC(e??"",r,11),o=0;for(let d of n)o=Math.max(o,wn(d,16));for(let d of i)o=Math.max(o,wn(d,11));let s=o+32,a=Math.max(uN-kE,Math.min(j_-kE,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+kE;return{titleLines:n,authorLines:i,cardWidth:a,cardHeight:u,boxWidth:f}}function UG(t,e,r,n,i){let s=t.roadmapDecl?.properties??[],a=ae(s,"start"),c=vt(a)??BG(n),l=ae(s,"length");if(l){let p=GG(l,e.cal);if(p>0)return{startDate:c,endDate:Zo(c,p)}}let u=qC(r,e,c,n),f=wC(i.unit,e.cal),d=u>0?Math.ceil(u/f)*f:4*e.cal.daysPerWeek;return{startDate:c,endDate:Zo(c,Math.max(1,d))}}function BG(t){let e=t??new Date;return new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()))}function GG(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 qC(t,e,r,n){let i=new Map,o=new Map,s=new Map,a=0,c=f=>{let d=vt(f);return d?kr(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=vt(ae(f.properties,"date"));if(d&&f.name){let p=kr(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(gr(f)){let p=zi(f.properties,e.sizes,e.cal),m=vt(ae(f.properties,"date")),y=vt(ae(f.properties,"start")),T=gt(f.properties,"after"),_=d;m?_=kr(r,m):y?_=kr(r,y):T.length>0&&(_=Math.max(d,...T.map(c)));let v=_+p;return f.name&&i.set(f.name,v),v}if(Wr(f)){let p=gt(f.properties,"after"),m=p.length>0?Math.max(d,...p.map(c)):d,y=m;for(let T of f.content){if(T.$type==="DescriptionDirective")continue;let _=u(T,m);y=Math.max(y,_)}return y}if(qr(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=vt(ae(f.properties,"date"));if(d){let m=kr(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=qC({config:f.config,content:f.content,diagnostics:[],processedFiles:new Set},e,r,void 0);a=Math.max(a,d)}if(n){let f=kr(r,n);f>0&&(a=Math.max(a,f))}return a}function XG(t,e,r,n){let i=new yh(Vk(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 y of f){let T=n.itemArrowSource.get(y),_,v=T===void 0;if(T)_=T;else{let E=n.entityMidpoints.get(y);if(!E)continue;_={x:E.x,y:d.y}}!v&&Math.abs(_.y-m.y)<.5&&m.x-_.x<20||(o.push({fromId:y,toId:l,from:_,to:m,isMarkerSource:v}),s.push({fromId:y,toId:l}))}}let a=Yk(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 HG(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=xh(r).nowLabel,a=wn(s,Fu),c=Math.max(G_,Math.ceil(a+2*lc)),l=e.timeline.originX-Kr,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 jG(t){let e=new Map,r=n=>{if(gr(n)){e.set(n.name??XC(n),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 $E(t,e,r={}){return new om().place(t,e,r,{sequenceItem:LE,sequenceOne:DE,resolveChildStart:zC,newCursor:Eh,estimateTextWidth:wn,predictItemChipExtraHeight:jC,computeDateWindow:UG,sizeBesideHeader:FG,collectItems:jG,buildDependencies:XG,buildNowline:HG})}var ls=class extends Error{constructor(e){super(e),this.name="TimezoneError"}};function ME(t){if(!t||t.toLowerCase()==="local")return{kind:"local"};if(t.toUpperCase()==="UTC")return{kind:"utc"};if(t==="Z")return{kind:"offset",ms:0};let e=/^([+-])(\d{2})(?::?(\d{2}))?$/.exec(t);if(e){let r=e[1]==="+"?1:-1,n=parseInt(e[2],10),i=e[3]!==void 0?parseInt(e[3],10):0;if(n>23||i>59)throw new ls(`nowline: invalid timezone offset "${t}". Hours must be 0\u201323 and minutes 0\u201359.`);return{kind:"offset",ms:r*(n*60+i)*6e4}}try{return{kind:"iana",name:Intl.DateTimeFormat(void 0,{timeZone:t}).resolvedOptions().timeZone}}catch{throw new ls(`nowline: unrecognised timezone "${t}". Use "local", "UTC", an ISO 8601 offset (e.g. "+05:30", "-07:00", "Z"), or an IANA timezone name (e.g. "America/Los_Angeles", "Asia/Kolkata").`)}}function fm(t,e){switch(e.kind){case"local":return new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate()));case"utc":return new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate()));case"offset":{let r=new Date(t.getTime()+e.ms);return new Date(Date.UTC(r.getUTCFullYear(),r.getUTCMonth(),r.getUTCDate()))}case"iana":{let r=new Intl.DateTimeFormat("en-CA",{timeZone:e.name,year:"numeric",month:"2-digit",day:"2-digit"}).formatToParts(t),n=0,i=0,o=0;for(let s of r)s.type==="year"?n=parseInt(s.value,10):s.type==="month"?i=parseInt(s.value,10)-1:s.type==="day"&&(o=parseInt(s.value,10));return new Date(Date.UTC(n,i,o))}}}var zG=/^(\d{4})-(\d{2})-(\d{2})$/,qG=/^(\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?)(Z|([+-])(\d{2})(?::?(\d{2}))?)$/,WG=/^(\d{4})-(\d{2})-(\d{2})T\d{2}:\d{2}:\d{2}(?:\.\d+)?$/;function FE(t={}){let e=t.zone??{kind:"local"},r=t.clock??(()=>new Date),n=t.now;if(!(n==="-"||n===null)){if(n instanceof Date)return n;if(n!==void 0){let i=zG.exec(n);if(i)return new Date(Date.UTC(parseInt(i[1],10),parseInt(i[2],10)-1,parseInt(i[3],10)));let o=qG.exec(n);if(o){let a=new Date(n);if(!Number.isNaN(a.getTime())){if(o[2]==="Z")return fm(a,{kind:"utc"});let l=o[3]==="+"?1:-1,u=parseInt(o[4],10),f=o[5]!==void 0?parseInt(o[5],10):0,d=l*(u*60+f)*6e4;return fm(a,{kind:"offset",ms:d})}}let s=WG.exec(n);return s?new Date(Date.UTC(parseInt(s[1],10),parseInt(s[2],10)-1,parseInt(s[3],10))):void 0}return fm(r(),e)}}function WC(t,e){return{severity:t.severity===2?"warning":"error",code:Rm(t),message:t.message,suggestion:vm(t.message),file:e,line:(t.range?.start.line??0)+1,column:(t.range?.start.character??0)+1}}function VC(t,e){return{severity:"error",code:"parse-error",message:t.message,file:e,line:t.token?.startLine??1,column:t.token?.startColumn??1}}function YC(t,e){return{severity:"error",code:"lex-error",message:t.message,file:e,line:t.line??1,column:t.column??1}}function KC(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 ZC(t,e,r="warning"){return{severity:r,code:"render.warning",message:t,file:e,line:1,column:1}}var JC="__nowline_browser_noop_include__";async function QC(t){throw new Error(`${JC}: include "${t}" was skipped \u2014 running in single-file mode.`)}function eP(t){return t.includes(JC)}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"}},VG={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"}},tP={...Ji,...VG};var $se={none:"",multiplier:"x",person:Ji.person.ascii,people:Ji.people.ascii,points:Ji.points.ascii,time:Ji.time.ascii};var dm=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 YG=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"]),KG=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 ZG(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=JG(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}=QG(a);e.push({kind:s?"self":"open",name:c,attrs:l}),r=i+1}return e}function JG(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 QG(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 rf(t){return t.replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function eX(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 rP(t,e={}){let r=e.idPrefix??"nl-logo",n=e.onWarn??(()=>{}),i=ZG(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(rf(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(!YG.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(!KG.has(p)){n(`sanitizer: dropping attribute ${p}`);continue}if(p==="href"||p==="xlink:href"){let y=eX(m,o);if(y===null){n(`sanitizer: dropping external href ${m}`);continue}f.push(` ${p}="${rf(y)}"`);continue}if(p==="style"){n("sanitizer: dropping inline style");continue}if(p==="id"){let y=o.get(m);y&&f.push(` id="${rf(y)}"`);continue}if(/\burl\(#/i.test(m)){let y=m.replace(/url\(#([^)]+)\)/gi,(T,_)=>{let v=o.get(_);return v?`url(#${v})`:"none"});f.push(` ${p}="${rf(y)}"`);continue}if(/data:|javascript:|vbscript:/i.test(m)){n(`sanitizer: dropping suspicious value at ${p}`);continue}f.push(` ${p}="${rf(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 nP=/&/g,iP=/</g,oP=/>/g,tX=/"/g,rX=/'/g;function cr(t){return t.replace(nP,"&").replace(iP,"<").replace(oP,">")}function ei(t){return t.replace(nP,"&").replace(iP,"<").replace(oP,">").replace(tX,""").replace(rX,"'")}function wc(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}${wc(e)}/>`:`<${t}${wc(e)}>${r}</${t}>`}function Le(t,e){return`<text${wc(t)}>${cr(e)}</text>`}function h(t){return Number.isFinite(t)?Number.isInteger(t)?t.toString():(Math.round(t*100)/100).toString():"0"}var nX={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 iX(t,e){let r=`${t}-shadow-${e}`,n=nX[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 sP(t,e){return e==="none"?null:`url(#${t}-shadow-${e})`}function aP(t){return["subtle","soft","hard"].map(e=>iX(t,e)).join("")}var lX={thin:100,light:300,normal:400,bold:700};function uX(t){return ac[t]??14}function BE(t,e,r){return{"font-family":e[t.font],"font-size":r??uX(t.textSize),"font-weight":lX[t.weight]??400,"font-style":t.italic?"italic":"normal",fill:t.text}}function fX(t){if(t.border==="dashed")return"4 3";if(t.border==="dotted")return"1 3"}function dX(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 pX(t,e){return dX(t)>=.24?e.statusDot.onLight:e.statusDot.onDark}function UE(t,e){return t.length*e*.58}function fP(t,e,r,n,i,o,s){let a=i*.58,c=e?UE(e,i):0,l=e?a:0,u=r+c+l,{text:f,icon:d}=t,p=UE(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 T=Ji[d.name],_=Le({x:h(u),y:h(n),...m},f),v=i*.1,E=i,S=u+p+v,D=n-i*.85,N=`<svg x="${h(S)}" y="${h(D)}" width="${h(E)}" height="${h(E)}" viewBox="${T.viewBox}" style="color:${ei(s)}" aria-hidden="true">${T.body}</svg>`;return _+N}let y=h(i*.1);return`<text x="${h(u)}" y="${h(n)}" font-family="${ei(o)}" font-size="${i}" fill="${ei(s)}">${cr(f)}<tspan dx="${y}">${cr(d.text)}</tspan></text>`}var cP=.6,hX=.5;function mX(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 fP(r,void 0,n,i,o,s,a);let l=h(o*cP),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+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 N=h(o*.1);return u+cr(e)+`<tspan dx="${l}">${cr(f)}</tspan><tspan dx="${N}">${cr(d.text)}</tspan></text>`}let p=Ji[d.name],m=N=>N.length*o*hX,y=n+m(e)+o*cP,T=o*.1,_=o,v=y+m(f)+T,E=i-o*.85,S=u+cr(e)+`<tspan dx="${l}">${cr(f)}</tspan></text>`,D=`<svg x="${h(v)}" y="${h(E)}" width="${h(_)}" height="${h(_)}" viewBox="${p.viewBox}" style="color:${ei(a)}" aria-hidden="true">${p.body}</svg>`;return S+D}function gX(t,e){let r=tP.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>${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 GE(t,e){return!t||t.length===0?"":t.map(r=>gX(r,e)).join("")}function yX(t,e,r,n,i,o={}){let s=Math.min(vh[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":fX(i)??null,...o})}function xX(t,e,r,n){let i=t.box.x+t.cardBox.x,o=t.box.y+t.cardBox.y,s=t.cardBox.width,a=t.cardBox.height,c=t.style.bg==="none"?r.surface.headerBox:t.style.bg,l=r.header.cardBorder,u=Q("rect",{x:h(i),y:h(o),width:h(s),height:h(a),rx:6,ry:6,fill:c,stroke:l,"stroke-width":1,filter:`url(#${e}-shadow-subtle)`}),f=[];t.titleLines.forEach((_,v)=>{f.push(Le({x:h(i+16),y:h(o+26+v*20),"font-family":n[t.style.font],"font-size":16,"font-weight":600,fill:t.style.text},_))});let d=f.join(""),p=o+26+Math.max(0,t.titleLines.length-1)*20,m=r.header.author,y=[];t.authorLines.forEach((_,v)=>{y.push(Le({x:h(i+16),y:h(p+18+v*14),"font-family":n[t.style.font],"font-size":11,fill:m},_))});let T=y.join("");return Q("g",{"data-layer":"header","data-id":`${e}-header`},u+d+T)}function TX(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 _X(t,e,r){let n=e.timeline.panelFill,i=e.timeline.border,o=e.timeline.labelText,s=[],a=t.tickPanelY,c=t.tickPanelHeight,l=c>0,u=t.markerRow.height>0,f=a+c,d=t.markerRow.height,p=t.bottomTickPanelY,m=t.bottomTickPanelHeight??0,y=p!==void 0&&m>0;l&&s.push(Q("rect",{x:h(t.box.x),y:h(a),width:h(t.box.width),height:h(c),rx:4,ry:4,fill:n,stroke:i,"stroke-width":1})),u&&s.push(Q("rect",{x:h(t.box.x),y:h(f),width:h(t.box.width),height:h(d),rx:4,ry:4,fill:n,stroke:i,"stroke-width":1})),y&&s.push(Q("rect",{x:h(t.box.x),y:h(p),width:h(t.box.width),height:h(m),rx:4,ry:4,fill:n,stroke:i,"stroke-width":1}));for(let T of t.ticks)T.major&&(!T.label||T.labelX===void 0||(l&&s.push(Le({x:h(T.labelX),y:h(a+Rh),"font-family":r.sans,"font-size":10,fill:o,"text-anchor":"middle"},T.label)),y&&s.push(Le({x:h(T.labelX),y:h(p+Rh),"font-family":r.sans,"font-size":10,fill:o,"text-anchor":"middle"},T.label))));return Q("g",{"data-layer":"timeline"},s.join(""))}function EX(t,e,r){if(!t)return"";let n=e.nowline.stroke,i=e.nowline.labelText,o=Q("line",{x1:h(t.x),y1:h(t.topY),x2:h(t.x),y2:h(t.bottomY),stroke:n,"stroke-width":Sh}),s=vX(t,n),a=RX(t,i,r);return Q("g",{"data-layer":"nowline"},o+s+a)}function dP(t){let e=Sh/2;return t.pillMode==="flag-right"?t.x-e:t.pillMode==="flag-left"?t.x+e:t.x}function vX(t,e){let r=t.pillTopY,n=t.pillTopY+qi,i=X_,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=dP(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 RX(t,e,r){let n=t.pillTopY+H_,i=dP(t),o,s;return t.pillMode==="center"?(o=t.x,s="middle"):t.pillMode==="flag-right"?(o=i+lc,s="start"):(o=i-lc,s="end"),Le({x:h(o),y:h(n),"font-family":r.sans,"font-size":Fu,"font-weight":700,fill:e,"text-anchor":s},t.label)}function wX(t,e,r,n,i){let o=[],s=sP(r,t.style.shadow);o.push(yX(t.box.x,t.box.y,t.box.width,t.box.height,t.style,{filter:s??null}));let a=pX(t.style.bg,n),c={done:a.done,"in-progress":a.inProgress,"at-risk":a.atRisk,blocked:a.blocked,planned:a.planned,neutral:a.neutral},l=c[t.status]??c.neutral;if(t.progressFraction>0){let T=Math.max(0,Math.min(t.box.width,t.box.width*t.progressFraction));o.push(Q("rect",{x:h(t.box.x),y:h(t.box.y+t.box.height-_n),width:h(T),height:_n,fill:t.style.fg,opacity:.55}))}let u=t.dotSpills&&t.dotSpillCx!==null?t.dotSpillCx:t.box.x+t.box.width-12;o.push(Q("circle",{cx:h(u),cy:h(t.box.y+12),r:5,fill:l})),o.push(GE(t.inlineDatePins,t.style.fg));let f;t.textSpills?(f=t.box.x+t.box.width+6,t.iconSpills&&(f+=18)):f=t.box.x+12;let d=t.style.text,p=n.entities.item.text,m=t.textSpills?p:d,y=t.textSpills?p:t.style.fg;if(t.title&&o.push(Le({x:h(f),y:h(t.box.y+20),"font-family":i[t.style.font],"font-size":13,"font-weight":600,fill:m},t.title)),(t.metaText||t.capacity)&&o.push(mX({metaText:t.metaText,capacity:t.capacity,x:f,baselineY:t.box.y+38,fontSize:11,fontFamily:i[t.style.font],color:y})),t.footnoteIndicators.length>0){let T=t.box.y+14;if(t.footnoteSpills&&t.footnoteSpillStartX!==null){let _=t.footnoteSpillStartX;for(let v=0;v<t.footnoteIndicators.length;v++){let E=t.footnoteIndicators[v];o.push(Le({x:h(_),y:h(T),"font-family":i.sans,"font-size":10,"font-weight":700,fill:p},String(E))),_+=8}}else{let _=t.box.x+t.box.width-22;for(let v=t.footnoteIndicators.length-1;v>=0;v--){let E=t.footnoteIndicators[v];o.push(Le({x:h(_),y:h(T),"font-family":i.sans,"font-size":10,"font-weight":700,fill:t.style.text,"text-anchor":"end"},String(E))),_-=8}}}if(!e.noLinks&&t.linkIcon&&t.linkIcon!=="none"){let T={linear:"#5e6ad2",github:"#0f172a",jira:"#0052cc",generic:n.item.linkIconFg},_=T[t.linkIcon]??T.generic,v=14,E=t.iconSpills&&t.iconSpillX!==null?t.iconSpillX:t.box.x+6,S=t.box.y+6,D=Q("rect",{x:h(E),y:h(S),width:v,height:v,rx:2,ry:2,fill:_}),N=E,M=S,B=Q("path",{d:`M${h(N+4)} ${h(M+10)} L${h(N+10)} ${h(M+4)} M${h(N+6)} ${h(M+4)} H${h(N+10)} V${h(M+8)}`,stroke:"#ffffff",fill:"none","stroke-width":1.1,"stroke-linecap":"round","stroke-linejoin":"round"}),G=D+B,oe=t.linkHref?Q("a",{href:t.linkHref,target:"_blank",rel:"noopener"},G):G;o.push(oe)}if(t.hasOverflow&&t.overflowBox){let T=n.item.overflowTailFill,_=n.item.overflowTailStroke,v=n.item.overflowCaption;o.push(Q("rect",{x:h(t.overflowBox.x),y:h(t.overflowBox.y),width:h(t.overflowBox.width),height:h(t.overflowBox.height),fill:T,stroke:_,"stroke-width":1})),t.overflowAnchorId&&t.overflowBox.width>60&&o.push(Le({x:h(t.overflowBox.x+t.overflowBox.width/2),y:h(t.overflowBox.y+t.overflowBox.height/2+3),"font-family":i.sans,"font-size":9,"font-weight":700,fill:v,"text-anchor":"middle"},`past ${t.overflowAnchorId}`))}for(let T of t.labelChips){let _=Math.min(vh[T.style.cornerRadius]??8,T.box.height/2);o.push(Q("rect",{x:h(T.box.x),y:h(T.box.y),width:h(T.box.width),height:h(T.box.height),rx:h(_),ry:h(_),fill:T.style.bg==="none"?"transparent":T.style.bg,stroke:T.style.fg,"stroke-width":.5})),o.push(Le({x:h(T.box.x+T.box.width/2),y:h(T.box.y+T.box.height/2+3),...BE(T.style,i,ac.xs),"text-anchor":"middle"},T.text))}return Q("g",{"data-layer":"item","data-id":t.id??null},o.join(""))}function bX(t,e,r,n,i){let o=[];if(t.style.bg!=="none"&&t.style.bg!=="#ffffff"){if(o.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 a=t.title.length*U_+2*Ah,c=t.box.x,l=t.box.y,u=Mu,f=6,d=`M${h(c+f)} ${h(l)}H${h(c+a)}V${h(l+u-f)}A${f} ${f} 0 0 1 ${h(c+a-f)} ${h(l+u)}H${h(c)}V${h(l+f)}A${f} ${f} 0 0 1 ${h(c+f)} ${h(l)}Z`;o.push(Q("path",{d,fill:t.style.fg})),o.push(Le({x:h(c+Ah),y:h(l+M_),"font-family":i[t.style.font],"font-size":F_,"font-weight":600,fill:"#ffffff"},t.title))}}else{let a=t.style.fg;if(t.style.bracket!=="none"){let l=t.box.y+t.box.height,u=t.style.bracket==="dashed"?"3 2":null,f=t.title?`M${h(t.box.x+4)} ${h(t.box.y-cc)} L${h(t.box.x)} ${h(t.box.y-cc)} L${h(t.box.x)} ${h(l)} L${h(t.box.x+4)} ${h(l)}`:`M${h(t.box.x)} ${h(t.box.y)} L${h(t.box.x)} ${h(l)} L${h(t.box.x+4)} ${h(l)}`;o.push(Q("path",{d:f,fill:"none",stroke:a,"stroke-width":1,"stroke-dasharray":u}))}t.title&&o.push(Le({x:h(t.box.x+6),y:h(t.box.y-2),...BE(t.style,i,ac.xs),"fill-opacity":.7},t.title))}o.push(GE(t.inlineDatePins,t.style.fg));for(let a of t.children)o.push(XE(a,e,r,n,i));return Q("g",{"data-layer":"group","data-id":t.id??null},o.join(""))}function AX(t,e,r,n,i){let o=[];if(t.style.bracket==="solid"||t.style.bracket==="dashed"){let c=t.box.y-12,l=t.box.y+t.box.height+12,u=t.box.x,f=t.box.x+t.box.width,d=n.parallel.bracketStroke;o.push(Q("path",{d:`M${h(u+4)} ${h(c)} H${h(u)} V${h(l)} H${h(u+4)}`,fill:"none",stroke:d,"stroke-width":1.25,"stroke-dasharray":t.style.bracket==="dashed"?"3 3":null,"stroke-linejoin":"round"})),o.push(Q("path",{d:`M${h(f-4)} ${h(c)} H${h(f)} V${h(l)} H${h(f-4)}`,fill:"none",stroke:d,"stroke-width":1.25,"stroke-dasharray":t.style.bracket==="dashed"?"3 3":null,"stroke-linejoin":"round"}))}t.title&&o.push(Le({x:h(t.box.x+4),y:h(t.box.y-2),...BE(t.style,i,ac.xs),"fill-opacity":.7},t.title)),o.push(GE(t.inlineDatePins,t.style.fg));for(let s of t.children)o.push(XE(s,e,r,n,i));return Q("g",{"data-layer":"parallel","data-id":t.id??null},o.join(""))}function XE(t,e,r,n,i){return t.kind==="item"?wX(t,e,r,n,i):t.kind==="group"?bX(t,e,r,n,i):AX(t,e,r,n,i)}var lP=2;function IX(t,e){switch(t){case"green":return e.swimlane.utilizationOk;case"yellow":return e.swimlane.utilizationWarn;case"red":return e.swimlane.utilizationOver}}function SX(t,e){if(!t.utilization||t.utilization.segments.length===0)return"";let r=t.box.y+t.box.height-lP,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:lP,fill:IX(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 kX(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 pP(t,e,r,n,i){let o=n.swimlane.tabFill,s=n.swimlane.tabStroke,a=n.swimlane.tabText,c=n.swimlane.ownerText,l=n.swimlane.footnoteIndicator,u=[];if(t.title){let d=t.capacity?to(t.capacity.text,t.capacity.icon,10):0,p=t.footnoteIndicators.length>0?t.footnoteIndicators.join(","):"",m=p?UE(p,10):0,y=Sc(t.box.x,t.title,t.owner,d,m),T=wh,_=t.box.y+10,v=_+bh;u.push(Q("rect",{x:h(y.tabX),y:h(_),width:h(y.tabW),height:h(T),rx:4,ry:4,fill:o,stroke:s,"stroke-width":1})),u.push(Le({x:h(y.titleX),y:h(v),"font-family":i[t.style.font],"font-size":12,"font-weight":600,fill:a},t.title)),t.owner&&u.push(Le({x:h(y.ownerX),y:h(v),"font-family":i[t.style.font],"font-size":10,fill:c},`owner: ${t.owner}`)),t.capacity&&u.push(fP(t.capacity,void 0,y.badgeX,v,10,i[t.style.font],c)),p&&u.push(Le({x:h(y.footnoteRightX),y:h(_+14),"font-family":i.sans,"font-size":10,"font-weight":700,fill:l,"text-anchor":"end"},p))}for(let f of t.children)u.push(XE(f,e,r,n,i));return u.push(SX(t,n)),Q("g",{"data-layer":"swimlane","data-id":t.id??null},u.join(""))}function NX(t,e,r){let n=t.radius,i=t.center.x,o=t.center.y,s=e.anchorDiamond.fill,a=e.anchorDiamond.stroke,c=Q("path",{d:`M${h(i)} ${h(o-n)} L${h(i+n)} ${h(o)} L${h(i)} ${h(o+n)} L${h(i-n)} ${h(o)} Z`,fill:s,stroke:a,"stroke-width":1.25}),l=e.anchorDiamond.label,u=t.labelSide==="left"?t.labelBox.x+t.labelBox.width:t.labelBox.x,f={x:h(u),y:h(o+4),"font-family":r.sans,"font-size":10,fill:l};t.labelSide==="left"&&(f["text-anchor"]="end");let d=t.title?Le(f,t.title):"";return Q("g",{"data-layer":"anchor","data-id":t.id??null},c+d)}function CX(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 PX(t,e,r){let n=t.center.x,i=t.center.y,o=t.radius,s=e.milestoneDiamond.fill,a=Q("path",{d:`M${h(n)} ${h(i-o)} L${h(n+o)} ${h(i)} L${h(n)} ${h(i+o)} L${h(n-o)} ${h(i)} Z`,fill:s,stroke:s,"stroke-width":1}),c=e.milestoneDiamond.label,l=t.labelSide==="left"?t.labelBox.x+t.labelBox.width:t.labelBox.x,u={x:h(l),y:h(i+4),"font-family":r.sans,"font-size":10,"font-weight":600,fill:c};t.labelSide==="left"&&(u["text-anchor"]="end");let f=t.title?Le(u,t.title):"";return Q("g",{"data-layer":"milestone","data-id":t.id??null},a+f)}function OX(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":Ih,"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 uP(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,K_),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},y={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(y.x)} ${h(y.y)}`)}return r.join(" ")}function DX(t,e,r,n){if(t.entries.length===0)return"";let i=r.footnotePanel.fill,o=r.footnotePanel.border,s=r.footnotePanel.header,a=r.footnotePanel.title,c=r.footnotePanel.description,l=r.footnotePanel.number,u=[];u.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:i,stroke:o,"stroke-width":1,filter:`url(#${e}-shadow-subtle)`})),u.push(Le({x:h(t.box.x+Zr),y:h(t.box.y+z_),"font-family":n.sans,"font-size":12,"font-weight":700,fill:s},"Footnotes"));let f=t.box.y+Uu+Zr,d=t.box.x+Zr,p=d+Zr;return t.entries.forEach((m,y)=>{let T=f+y*Bu;u.push(Le({x:h(d),y:h(T),"font-family":n.sans,"font-size":10,"font-weight":700,fill:l},String(m.number))),u.push(Le({x:h(p),y:h(T),"font-family":n.sans,"font-size":11,"font-weight":600,fill:a},m.title)),m.description&&u.push(Le({x:h(p+Math.max(120,m.title.length*6)),y:h(T),"font-family":n.sans,"font-size":11,fill:c},`\u2014 ${m.description}`))}),Q("g",{"data-layer":"footnotes"},u.join(""))}function $X(t,e,r,n,i){let o=n.includeRegion.border,s=n.includeRegion.fill,a=n.includeRegion.tabFill,c=n.includeRegion.tabStroke,l=n.includeRegion.tabText,u=n.includeRegion.badgeFill,f=n.includeRegion.badgeStroke,d=n.includeRegion.badgeText,p=t.box.x+8,m=t.box.y,y=t.box.width-16,T=t.box.height,_=Q("rect",{x:h(p),y:h(m),width:h(y),height:h(T),rx:8,ry:8,fill:s,stroke:o,"stroke-width":1,"stroke-dasharray":Ih}),v=wh,E=kc(t.box.x,t.label,t.sourcePath),S=m-v/2,D=Q("rect",{x:h(E.tabX),y:h(S),width:h(E.tabWidth),height:v,rx:4,ry:4,fill:a,stroke:c,"stroke-width":1}),N=Le({x:h(E.tabLabelX),y:h(S+bh),"font-family":i.sans,"font-size":11,"font-weight":600,fill:l},t.label),M=E.badgeX,B=E.badgeSize,G=m-B/2,oe=Q("rect",{x:h(M),y:h(G),width:B,height:B,rx:4,ry:4,fill:u,stroke:f,"stroke-width":1}),L=Q("path",{d:`M${h(M+7)} ${h(G+4)} H${h(M+14)} V${h(G+11)} M${h(M+4)} ${h(G+7)} H${h(M+11)} V${h(G+14)} H${h(M+4)} Z`,stroke:d,"stroke-width":1.4,fill:"none","stroke-linecap":"round","stroke-linejoin":"round"}),R=9,O=m+4,$=Q("rect",{x:h(E.sourceHaloX),y:h(O-R),width:h(E.sourceHaloWidth),height:R+6,fill:s}),b=Le({x:h(E.sourceTextX),y:h(O),"font-family":i.mono,"font-size":R,fill:d},t.sourcePath),A=t.nestedSwimlanes.map(I=>pP(I,e,r,n,i)).join("");return Q("g",{"data-layer":"include"},_+A+D+N+oe+L+$+b)}function MX(t,e){let r=t.palette.attribution.mark,n=t.palette.attribution.link;if(t.swimlanes.length===0)return"";let i=t.header.attributionBox.x,o=t.header.attributionBox.y,s=Wi,a=Le({x:"0",y:s,"font-family":e.sans,"font-size":Ch,"font-weight":400,fill:r},Nh)+Le({x:Xu,y:s,"font-family":e.sans,"font-size":Wi,"font-weight":700,fill:r},"now")+Q("rect",{x:W_,y:12,width:V_,height:Wi,fill:n})+Le({x:Ph,y:s,"font-family":e.sans,"font-size":Wi,"font-weight":400,fill:r},"ine"),c=Q("g",{transform:`translate(${h(i)} ${h(o)}) scale(${h(Gu)})`},a);return Q("a",{href:q_,target:"_blank",rel:"noopener","aria-label":"Powered by nowline"},Q("g",{"data-layer":"attribution"},c))}async function FX(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=rP(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=UX(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 UX(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 HE(t,e={}){let n=new dm(e.idPrefix??"nl").next("root"),i=t.palette,o=e.fontFamilies??Z_,s=[],a=i.arrowhead.neutral,c=i.arrowhead.light,l=i.arrowhead.dark,u=(p,m)=>`<marker id="${p}" 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="${m}"/></marker>`,f=`<defs>${aP(n)}`+u("nl-arrow",a)+u("nl-arrow-light",c)+u("nl-arrow-dark",l)+"</defs>";s.push(f),s.push(Q("rect",{x:0,y:0,width:h(t.width),height:h(t.height),fill:t.backgroundColor})),s.push(_X(t.timeline,i,o));for(let p of t.swimlanes)s.push(kX(p,i));s.push(TX(t.timeline,t.chartBox.y,i));for(let p of t.edges)p.kind==="underBar"&&s.push(uP(p,i));for(let p of t.swimlanes)s.push(pP(p,e,n,i,o));for(let p of t.includes)s.push($X(p,e,n,i,o));for(let p of t.edges)p.kind!=="underBar"&&s.push(uP(p,i));for(let p of t.anchors)s.push(CX(p,i));for(let p of t.milestones)s.push(OX(p,i));for(let p of t.anchors)s.push(NX(p,i,o));for(let p of t.milestones)s.push(PX(p,i,o));if(s.push(EX(t.nowline,i,o)),s.push(DX(t.footnotes,n,i,o)),s.push(xX(t.header,n,i,o)),s.push(MX(t,o)),t.header.logo&&e.assetResolver){let p=await FX(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));p&&s.push(p)}return`<svg${wc({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"})}>${s.join("")}</svg>`}var jE="/browser-source.nowline",pm,hP=0;function mP(){return pm||(pm=S_()),pm}function BX(){return ht.parse(`memory:///nowline-browser-${++hP}.nowline`)}async function hm(t,e={}){let r=e.filePath??jE,n=mP(),o=n.shared.workspace.LangiumDocumentFactory.fromString(t,BX());await n.shared.workspace.DocumentBuilder.build([o],{validation:!0});let s=[];for(let a of Em(o))a.origin==="lexer"?s.push(YC(a.error,r)):a.origin==="parser"?s.push(VC(a.error,r)):s.push(WC(a.diagnostic,r));return{ast:o.parseResult.value,diagnostics:s}}async function zE(t,e={}){let r=e.filePath??jE,n=await hm(t,{filePath:r});if(n.diagnostics.some(T=>T.severity==="error"))return{kind:"diagnostics",diagnostics:n.diagnostics};let i=mP(),o=e.readFile??QC,s=await y_(n.ast,r,{services:i.Nowline,readFile:o}),a=[...n.diagnostics];for(let T of s.diagnostics){if(T.severity==="error"&&eP(T.message)){e.onSkippedInclude?.({sourcePath:T.sourcePath,message:T.message});continue}a.push(KC(T))}if(a.some(T=>T.severity==="error"))return{kind:"diagnostics",diagnostics:a};let c;if(e.timezone)try{c=ME(e.timezone)}catch(T){if(T instanceof ls)return{kind:"diagnostics",diagnostics:[{severity:"error",code:"invalid-timezone",message:T.message,file:r,line:1,column:1}]};throw T}let l=FE({now:e.today,zone:c}),u=$E(n.ast,s,{theme:e.theme,today:l,locale:e.locale,width:e.width}),f=e.showLinks!==!1,d=e.strict===!0,p=[],m=await HE(u,{idPrefix:e.idPrefix,assetResolver:e.assetResolver,noLinks:!f,strict:d,warn:T=>p.push(T),fontFamilies:e.fontFamilies}),y=p.map(T=>ZC(T,r,d?"error":"warning"));return d&&y.length>0?{kind:"diagnostics",diagnostics:[...a,...y]}:{kind:"svg",svg:m,warnings:y}}function qE(){pm=void 0,hP=0}var gP="/embed.nowline",WE=!1;async function yP(t){let{ast:e,diagnostics:r}=await hm(t,{filePath:gP});return{ast:e,errors:r.filter(n=>n.severity==="error").map(n=>n.message)}}async function mm(t,e={}){let r={filePath:gP,theme:e.theme,today:e.today,timezone:e.timezone,locale:e.locale,width:e.width,idPrefix:e.idPrefix,onSkippedInclude:()=>{WE||(WE=!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 zE(t,r);if(n.kind==="svg")return n.svg;let i=n.diagnostics.filter(o=>o.severity==="error").map(o=>o.message);throw new nf(`Failed to render Nowline source: ${i.join("; ")}`,i)}var nf=class extends Error{constructor(r,n){super(r);de(this,"details",n);this.name="EmbedRenderError"}};function xP(){WE=!1,qE()}var en=Uint8Array,xr=Uint16Array,JE=Int32Array,QE=new en([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]),e0=new en([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]),TP=new en([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),RP=function(t,e){for(var r=new xr(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}},wP=RP(QE,2),GX=wP.b,YE=wP.r;GX[28]=258,YE[258]=28;var bP=RP(e0,0),fae=bP.b,_P=bP.r,KE=new xr(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,KE[Fe]=((ti&65280)>>8|(ti&255)<<8)>>1;var ti,Fe,af=(function(t,e,r){for(var n=t.length,i=0,o=new xr(e);i<n;++i)t[i]&&++o[t[i]-1];var s=new xr(e);for(i=1;i<e;++i)s[i]=s[i-1]+o[i-1]<<1;var a;if(r){a=new xr(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[KE[f]>>c]=l}else for(a=new xr(n),i=0;i<n;++i)t[i]&&(a[i]=KE[s[t[i]-1]++]>>15-t[i]);return a}),us=new en(288);for(Fe=0;Fe<144;++Fe)us[Fe]=8;var Fe;for(Fe=144;Fe<256;++Fe)us[Fe]=9;var Fe;for(Fe=256;Fe<280;++Fe)us[Fe]=7;var Fe;for(Fe=280;Fe<288;++Fe)us[Fe]=8;var Fe,gm=new en(32);for(Fe=0;Fe<32;++Fe)gm[Fe]=5;var Fe,XX=af(us,9,0);var HX=af(gm,5,0);var AP=function(t){return(t+7)/8|0},jX=function(t,e,r){return(e==null||e<0)&&(e=0),(r==null||r>t.length)&&(r=t.length),new en(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},of=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},VE=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:SP,l:0};if(i==1){var s=new en(r[0].s+1);return s[r[0].s]=1,{t:s,l:1}}r.sort(function(D,N){return D.f-N.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 xr(d+1),m=ZE(r[u-1],p,0);if(m>e){var n=0,y=0,T=m-e,_=1<<T;for(o.sort(function(N,M){return p[M.s]-p[N.s]||N.f-M.f});n<i;++n){var v=o[n].s;if(p[v]>e)y+=_-(1<<m-p[v]),p[v]=e;else break}for(y>>=T;y>0;){var E=o[n].s;p[E]<e?y-=1<<e-p[E]++-1:++n}for(;n>=0&&y;--n){var S=o[n].s;p[S]==e&&(--p[S],++y)}m=e}return{t:new en(p),l:m}},ZE=function(t,e,r){return t.s==-1?Math.max(ZE(t.l,e,r+1),ZE(t.r,e,r+1)):e[t.s]=r},EP=function(t){for(var e=t.length;e&&!t[--e];);for(var r=new xr(++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}},sf=function(t,e){for(var r=0,n=0;n<e.length;++n)r+=t[n]*e[n];return r},IP=function(t,e,r){var n=r.length,i=AP(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},vP=function(t,e,r,n,i,o,s,a,c,l,u){ri(e,u++,r),++i[256];for(var f=VE(i,15),d=f.t,p=f.l,m=VE(o,15),y=m.t,T=m.l,_=EP(d),v=_.c,E=_.n,S=EP(y),D=S.c,N=S.n,M=new xr(19),B=0;B<v.length;++B)++M[v[B]&31];for(var B=0;B<D.length;++B)++M[D[B]&31];for(var G=VE(M,7),oe=G.t,L=G.l,R=19;R>4&&!oe[TP[R-1]];--R);var O=l+5<<3,$=sf(i,us)+sf(o,gm)+s,b=sf(i,d)+sf(o,y)+s+14+3*R+sf(M,oe)+2*M[16]+3*M[17]+7*M[18];if(c>=0&&O<=$&&O<=b)return IP(e,u,t.subarray(c,c+l));var A,I,F,j;if(ri(e,u,1+(b<$)),u+=2,b<$){A=af(d,p,0),I=d,F=af(y,T,0),j=y;var U=af(oe,L,0);ri(e,u,E-257),ri(e,u+5,N-1),ri(e,u+10,R-4),u+=14;for(var B=0;B<R;++B)ri(e,u+3*B,oe[TP[B]]);u+=3*R;for(var W=[v,D],Z=0;Z<2;++Z)for(var pe=W[Z],B=0;B<pe.length;++B){var V=pe[B]&31;ri(e,u,U[V]),u+=oe[V],V>15&&(ri(e,u,pe[B]>>5&127),u+=pe[B]>>12)}}else A=XX,I=us,F=HX,j=gm;for(var B=0;B<a;++B){var te=n[B];if(te>255){var V=te>>18&31;of(e,u,A[V+257]),u+=I[V+257],V>7&&(ri(e,u,te>>23&31),u+=QE[V]);var De=te&31;of(e,u,F[De]),u+=j[De],De>3&&(of(e,u,te>>5&8191),u+=e0[De])}else of(e,u,A[te]),u+=I[te]}return of(e,u,A[256]),u+I[256]},zX=new JE([65540,131080,131088,131104,262176,1048704,1048832,2114560,2117632]),SP=new en(0),qX=function(t,e,r,n,i,o){var s=o.z||t.length,a=new en(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=zX[e-1],d=f>>13,p=f&8191,m=(1<<r)-1,y=o.p||new xr(32768),T=o.h||new xr(m+1),_=Math.ceil(r/3),v=2*_,E=function(me){return(t[me]^t[me+1]<<_^t[me+2]<<v)&m},S=new JE(25e3),D=new xr(288),N=new xr(32),M=0,B=0,G=o.i||0,oe=0,L=o.w||0,R=0;G+2<s;++G){var O=E(G),$=G&32767,b=T[O];if(y[$]=b,T[O]=$,L<=G){var A=s-G;if((M>7e3||oe>24576)&&(A>423||!l)){u=vP(t,c,0,S,D,N,B,oe,R,G-R,u),oe=M=B=0,R=G;for(var I=0;I<286;++I)D[I]=0;for(var I=0;I<30;++I)N[I]=0}var F=2,j=0,U=p,W=$-b&32767;if(A>2&&O==E(G-W))for(var Z=Math.min(d,A)-1,pe=Math.min(32767,G),V=Math.min(258,A);W<=pe&&--U&&$!=b;){if(t[G+F]==t[G+F-W]){for(var te=0;te<V&&t[G+te]==t[G+te-W];++te);if(te>F){if(F=te,j=W,te>Z)break;for(var De=Math.min(W,te-2),Ne=0,I=0;I<De;++I){var Xe=G-W+I&32767,q=y[Xe],J=Xe-q&32767;J>Ne&&(Ne=J,b=Xe)}}}$=b,b=y[$],W+=$-b&32767}if(j){S[oe++]=268435456|YE[F]<<18|_P[j];var re=YE[F]&31,C=_P[j]&31;B+=QE[re]+e0[C],++D[257+re],++N[C],L=G+F,++M}else S[oe++]=t[G],++D[t[G]]}}for(G=Math.max(G,L);G<s;++G)S[oe++]=t[G],++D[t[G]];u=vP(t,c,l,S,D,N,B,oe,R,G-R,u),l||(o.r=u&7|c[u/8|0]<<3,u-=7,o.h=T,o.p=y,o.i=G,o.w=L)}else{for(var G=o.w||0;G<s+l;G+=65535){var be=G+65535;be>=s&&(c[u/8|0]=l,be=s),u=IP(c,u+1,t.subarray(G,be))}o.i=s}return jX(a,0,n+AP(u)+i)};var kP=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}}},WX=function(t,e,r,n,i){if(!i&&(i={l:1},e.dictionary)){var o=e.dictionary.subarray(-32768),s=new en(o.length+t.length);s.set(o),s.set(t,o.length),t=s,i.w=o.length}return qX(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 NP=function(t,e,r){for(;r;++e)t[e]=r,r>>>=8};var VX=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=kP();i.p(e.dictionary),NP(t,2,i.d())}};function CP(t,e){e||(e={});var r=kP();r.p(t);var n=WX(t,e,e.dictionary?6:2,4);return VX(n,e),NP(n,n.length-4,r.d()),n}var YX=typeof TextDecoder<"u"&&new TextDecoder,KX=0;try{YX.decode(SP,{stream:!0}),KX=1}catch{}var ZX="https://free.nowline.io/open";function PP(t){let e=new TextEncoder().encode(t),r=CP(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 LP({source:t,sourceUrl:e,share:r}){if(r===!1||r==="none")return null;if(typeof r=="object")return e!==void 0&&OP(e)?r.remoteUrl.replace("{url}",encodeURIComponent(e)):r.textUrl.replace("{text}",PP(t));let n=r===!0?ZX:r,i=new URL(n);return e!==void 0&&OP(e)?i.hash=`url=${encodeURIComponent(e)}`:i.hash=`text=${PP(t)}`,i.toString()}function OP(t){try{return new URL(t).protocol==="https:"}catch{return!1}}var DP=0;async function $P(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=++DP,s=t.share??!0,a=[],c=0;for(let l of Array.from(r)){let u=JX(l);if(!u)continue;let f=QX(l),d=`nl-r${o}-${c++}`,p={theme:t.theme,locale:t.locale,width:t.width,today:t.today,timezone:t.timezone,idPrefix:d},m=u.parentElement,y=u.nextSibling,_=l.getAttribute("data-nowline-source-url")??void 0??t.sourceUrl;a.push(mm(f,p).then(v=>{if(eH(u,v),n++,m!==null){let E=LP({source:f,sourceUrl:_,share:s});if(E!==null){let S=e.createElement("a");S.className="nowline-share",S.href=E,S.target="_blank",S.rel="noopener noreferrer",S.textContent="Share on Nowline",m.insertBefore(S,y)}}},v=>{i++,console.error("nowline: render failed",v)}))}return await Promise.all(a),{rendered:n,failed:i}}function JX(t){let e=t.parentElement;return e&&e.tagName.toUpperCase()==="PRE"?e:t}function QX(t){return t.textContent??""}function eH(t,e){t.outerHTML=e}function MP(){DP=0}function ym(){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 FP(t,e){return t&&t!=="auto"?L_(t)??e:e}var tH="0.6.0",rH="e2e4d9d",nH="pre code.language-nowline, code.language-nowline",UP={theme:"auto",startOnLoad:!0,selector:nH,systemTheme:ym(),share:!0},ot={...UP},t0=!1;function iH(t={}){ot={theme:t.theme??ot.theme,startOnLoad:t.startOnLoad??ot.startOnLoad,selector:t.selector??ot.selector,locale:t.locale??ot.locale,width:t.width??ot.width,today:t.today!==void 0?t.today:ot.today,timezone:t.timezone??ot.timezone,share:t.share??ot.share,sourceUrl:t.sourceUrl??ot.sourceUrl,systemTheme:ym()}}function BP(){return{theme:FP(ot.theme,ot.systemTheme),locale:ot.locale,width:ot.width,today:ot.today,timezone:ot.timezone}}async function oH(t,e={}){let r={...BP(),...e};return mm(t,r)}async function sH(t){return yP(t)}async function r0(t){let e={selector:t?.selector??ot.selector,theme:t?.theme??BP().theme,locale:t?.locale??ot.locale,width:t?.width??ot.width,today:t?.today!==void 0?t.today:ot.today,timezone:t?.timezone??ot.timezone,share:t?.share??ot.share,sourceUrl:t?.sourceUrl??ot.sourceUrl,document:t?.document};return $P(e)}var aH=r0;if(typeof document<"u"&&!t0){t0=!0;let t=()=>{ot.startOnLoad&&r0()};document.readyState==="loading"?document.addEventListener("DOMContentLoaded",t,{once:!0}):queueMicrotask(t)}function cH(){ot={...UP,systemTheme:ym()},t0=!1,xP(),MP()}return df(lH);})();
|
|
2662
|
+
}`));var ZU={languageId:"nowline",fileExtensions:[".nowline"],caseInsensitive:!1,mode:"development"},pk={AstReflection:()=>new Ru},hk={Grammar:()=>dk(),LanguageMetaData:()=>ZU,parser:{}};var mk={"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}"?`:""}`,"NL.W1000":t=>`Now-line date ${t.date} is outside the roadmap window (${t.start} \u2013 ${t.end}); it will not be drawn.`,"NL.I1000":t=>`Title on item "${t.name}" is wider than its bar at this scale; it rendered to the right of the bar.`,"NL.I1001":t=>`Label chips on item "${t.name}" did not fit inside the bar; they rendered in a spill column to the right.`,"NL.I1002":t=>`Item "${t.name}" is too narrow to show its marker at this scale; decorations spilled beside the bar.`,"NL.I1003":t=>t.anchor?`Item "${t.name}" extends past its "before:" anchor "${t.anchor}".`:`Item "${t.name}" extends past its "before:" anchor.`,"NL.I1004":t=>`Swimlane "${t.lane}" packed into ${t.rows} rows to avoid overlap.`,"NL.I1005":t=>`Swimlane "${t.lane}" is over capacity in one or more periods (red utilization band).`};var gk={"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 yk={};var xk={};var JU=new Map([["en-US",mk],["fr",gk],["fr-CA",yk],["fr-FR",xk]]);function Cu(t,e,...r){for(let n of QU(t)){let o=JU.get(n)?.[e];if(o)return o(...r)}return e}var Tk="en-US";function QU(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(Tk)||e.push(Tk),e}function eB(t){return t.split("-").map((r,n)=>n===0?r.toLowerCase():/^[a-zA-Z]{2}$/.test(r)?r.toUpperCase():r).join("-")}var tB=/[\\/]/;function vk(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 _k(...t){for(let e of t)if(e){if(e.includes("\\")&&!e.includes("/"))return"\\";if(e.includes("/"))return"/"}return"/"}function rB(t){return t?t[0]==="/"||t[0]==="\\"?!0:t.length>=3&&/^[A-Za-z]:[\\/]/.test(t):!1}function wk(t){let e=vk(t);return e<0?".":e===0?t[0]:e===2&&/^[A-Za-z]:[\\/]/.test(t)?t.slice(0,3):t.slice(0,e)}function uh(t){let e=vk(t);return e<0?t:t.slice(e+1)}function y_(t,e){if(rB(e))return Ek(e,_k(e));let r=_k(t,e);return Ek(`${t}${r}${e}`,r)}function Ek(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(tB))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 iB=/^\d{4}-\d{2}-\d{2}$/;function Ak(t){let e=t?.properties.find(r=>r.key==="start");if(e?.value&&iB.test(e.value)&&!Number.isNaN(new Date(e.value).getTime()))return e.value}function oB(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 Ik(){return{styles:new Map,defaults:new Map,symbols:new Map}}function Sk(){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 T_(t,e,r){let n=r.readFile??(async c=>{let{nodeReadFile:l}=await Promise.resolve().then(()=>(bk(),Rk));return l(c)}),i={services:r.services,diagnostics:[],resolving:[],processed:new Map,readFile:n},o=y_("",e),{config:s,content:a}=await Nk(t,o,i);return{config:s,content:a,diagnostics:i.diagnostics,processedFiles:new Set(i.processed.keys())}}async function Nk(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:Ik(),content:Sk()};return r.processed.set(e,a),a}r.resolving.push(e);let n=Ik(),i=Sk();lB(n,t),dB(i,t);let o=new Set;for(let a of t.includes){let c=a.path,l=y_(wk(e),c);if(o.has(l)){r.diagnostics.push({severity:"error",message:`Duplicate include "${c}" in ${uh(e)}.`,sourcePath:e,line:a.$cstNode?.range.start.line});continue}o.add(l);let u=kk(a,"config")??"merge",f=kk(a,"roadmap")??"merge",d;try{let y=await r.readFile(l);d=await sB(r.services,y,l)}catch(y){r.diagnostics.push({severity:"error",message:`Could not read include "${c}": ${y.message}`,sourcePath:e,line:a.$cstNode?.range.start.line});continue}let{config:p,content:m}=await Nk(d,l,r);if(aB(n,p,u,l,r.diagnostics),cB(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 y=Ak(t.roadmapDecl),_=Ak(d.roadmapDecl);y!==_&&r.diagnostics.push({severity:"error",message:oB(c,y,_),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 kk(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 sB(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 aB(t,e,r,n,i){if(r==="ignore"||r==="isolate")return;let o=(s,a)=>i.push({severity:"warning",message:`${a} "${s}" from ${uh(n)} is shadowed by the parent's definition.`,sourcePath:n});x_(t.styles,e.styles,s=>o(s,"Style")),x_(t.defaults,e.defaults,s=>o(s,"Default")),x_(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 cB(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 ${uh(i)} is shadowed by the parent's definition.`,sourcePath:i});qn(t.persons,e.persons,c=>a(c,"Person")),qn(t.teams,e.teams,c=>a(c,"Team")),qn(t.anchors,e.anchors,c=>a(c,"Anchor")),qn(t.labels,e.labels,c=>a(c,"Label")),qn(t.sizes,e.sizes,c=>a(c,"Size")),qn(t.statuses,e.statuses,c=>a(c,"Status")),qn(t.swimlanes,e.swimlanes,c=>a(c,"Swimlane")),qn(t.milestones,e.milestones,c=>a(c,"Milestone")),qn(t.footnotes,e.footnotes,c=>a(c,"Footnote")),e.roadmap&&!t.roadmap&&(t.roadmap=e.roadmap)}function x_(t,e,r){for(let[n,i]of e){if(t.has(n)){r(n);continue}t.set(n,i)}}function qn(t,e,r){for(let[n,i]of e){if(!i.name&&i.title){t.set(Pk(t,Ck(i.title)),i);continue}if(t.has(n)){r(n);continue}t.set(n,i)}}function lB(t,e){for(let r of e.configEntries)uB(t,r)}function uB(t,e){uk(e)?t.scale||(t.scale=e):lh(e)?t.calendar||(t.calendar=e):ku(e)?e.name&&!t.styles.has(e.name)&&t.styles.set(e.name,e):Nu(e)?e.name&&!t.symbols.has(e.name)&&t.symbols.set(e.name,e):Hi(e)&&(t.defaults.has(e.entityType)||t.defaults.set(e.entityType,e))}function fB(t){let e={swimlanes:new Set,persons:new Set,teams:new Set,anchors:new Set,labels:new Set,sizes:new Set,statuses:new Set,milestones:new Set,footnotes:new Set};for(let r of t){let n=r.name;n&&(Ir(r)?e.swimlanes.add(n):jn(r)?e.persons.add(n):Sr(r)?e.teams.add(n):bu(r)?e.anchors.add(n):Iu(r)?e.labels.add(n):Ko(r)?e.sizes.add(n):rc(r)?e.statuses.add(n):Su(r)?e.milestones.add(n):Au(r)&&e.footnotes.add(n))}return e}function dB(t,e){e.roadmapDecl&&!t.roadmap&&(t.roadmap=e.roadmapDecl);let r=fB(e.roadmapEntries);for(let n of e.roadmapEntries)pB(t,n,r)}function Ck(t){return t.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||"entity"}function Pk(t,e,r){let n=o=>t.has(o)||(r?.has(o)??!1);if(!n(e))return e;let i=2;for(;n(`${e}-${i}`);)i++;return`${e}-${i}`}function Wn(t,e,r){e.name?t.has(e.name)||t.set(e.name,e):e.title&&t.set(Pk(t,Ck(e.title),r),e)}function pB(t,e,r){Ir(e)?Wn(t.swimlanes,e,r.swimlanes):jn(e)?Wn(t.persons,e,r.persons):Sr(e)?Wn(t.teams,e,r.teams):bu(e)?Wn(t.anchors,e,r.anchors):Iu(e)?Wn(t.labels,e,r.labels):Ko(e)?Wn(t.sizes,e,r.sizes):rc(e)?Wn(t.statuses,e,r.statuses):Su(e)?Wn(t.milestones,e,r.milestones):Au(e)&&Wn(t.footnotes,e,r.footnotes)}var Ok="v1",__=new Set(["planned","in-progress","active","done","completed","at-risk","blocked"]),fh=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"]),b_=new Set(["none","multiplier","person","people","points","time"]),dh=new Set([...b_,"shield","warning","lock","calendar"]),Hk="none",ph={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"])},hB=new Set(["red","blue","yellow","green","orange","purple","violet","gray","grey","navy","white","none"]),mB=new Set(["business","full","custom"]),E_=new Set(["days-per-week","days-per-month","days-per-quarter","days-per-year"]),Lk=new Set(["name","label-every","label"]),Dk=new Set(["item","label","swimlane","roadmap","milestone","footnote","anchor","parallel","group"]),gB={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},$k=new Set(["labels","link","style","description"]),yB={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 xB(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 TB(t,e,r=2){let n,i=r+1;for(let o of e){let s=xB(t,o,r);if(s<i&&(n=o,i=s,s===0))break}return n}var _B=[{keys:new Set(["progress","percent","percentage","pct","complete","completion"]),requires:"remaining",suggest:"status: + remaining:"}];function EB(t,e){let r=t.toLowerCase();for(let n of _B)if(n.keys.has(r)&&e.has(n.requires))return n.suggest}function ke(t){return t.key.endsWith(":")?t.key.slice(0,-1):t.key}var Pu=/^\d+(?:\.\d+)?[dwmqy]$/,vB=/^\d+%$/,zi=/^\d{4}-\d{2}-\d{2}$/,wB=/^#[0-9a-fA-F]{3,8}$/,RB=/^v\d+$/,Mk=/^\d+$/,bB=/^[dwmqy]$/,Fk=/^\d+(\.\d+)?$/,A_=/^\d+(\.\d+)?%$/,zk=/^\d+\.\d+$/,AB=/^\d+$/,IB=/^[\x20-\x7E]{1,3}$/,SB=/^[a-zA-Z]{2,3}(-[a-zA-Z]{2}|-\d{3})?$/,kB=new Set(["merge","ignore","isolate"]),Uk=new Set(["locale"]);function v_(t){let e=t?.roadmapDecl?.properties.find(i=>ke(i)==="start");if(!e)return{kind:"missing"};let r=e.value;if(!r||!zi.test(r))return{kind:"invalid"};let n=new Date(r);return Number.isNaN(n.getTime())?{kind:"invalid"}:{kind:"valid",iso:r,date:n}}function Vr(t){return t.name??t.title??"<unnamed>"}function NB(t){return t.$type.replace(/Declaration$|Block$/,"").toLowerCase()}function Re(t,e,r,n,...i){t(e,Cu("en-US",n,...i),{...r,data:{code:n,args:i}})}function jk(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 mh=class{checkFileStructure(e,r){let n=e.hasConfig?ks.findNodeForKeyword(e.$cstNode,"config")?.offset:void 0,i=e.roadmapDecl?.$cstNode?.offset;n!==void 0&&i!==void 0&&n>i&&Re(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&&Re(r,"error",{node:o},"NL.E0002"),i!==void 0&&s>i&&Re(r,"error",{node:o},"NL.E0003")}}checkRoadmapOnlyKeywordsPosition(e,r){}checkDirectiveVersion(e,r){if(!RB.test(e.version)){Re(r,"error",{node:e,property:"version"},"NL.E0100",{version:e.version});return}let n=parseInt(e.version.slice(1),10),i=parseInt(Ok.slice(1),10);n>i&&Re(r,"error",{node:e,property:"version"},"NL.E0101",{version:e.version,supported:Ok})}checkDirectiveProperties(e,r){let n=new Set;for(let i of e.properties){let o=ke(i);if(!Uk.has(o)){Re(r,"error",{node:i,property:"key"},"NL.E0102",{key:o,allowed:[...Uk].join(", ")});continue}if(n.has(o)&&Re(r,"error",{node:i,property:"key"},"NL.E0103",{key:o}),n.add(o),o==="locale"){let s=i.value;SB.test(s)||Re(r,"error",{node:i,property:"value"},"NL.E0104",{value:s})}}}checkEntityIdOrTitle(e,r){!e.name&&!e.title&&Re(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?Re(r,"error",{node:s},"NL.E0300",{name:o,location:hh(a)}):n.set(o,s)};e.roadmapDecl?.name&&i(e.roadmapDecl.name,e.roadmapDecl);for(let o of e.roadmapEntries)OB(o,i);for(let o of e.configEntries)ku(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(" ")){Re(r,"error",{node:e},"NL.E0005",{line:o+1});return}}}checkSwimlaneRequired(e,r){let n=e.roadmapEntries.some(Ir);e.roadmapDecl&&!n&&Re(r,"error",{node:e.roadmapDecl},"NL.E0004")}checkIncludeMode(e,r){kB.has(e.value)||Re(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)&&Re(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&&!Pu.test(i)&&Re(r,"error",{node:e,property:"value"},"NL.E0400",{value:i});break;case"size":i&&!Bk(i)&&Re(r,"error",{node:e,property:"value"},"NL.E0401",{value:i});break;case"effort":i&&!Pu.test(i)&&Re(r,"error",{node:e,property:"value"},"NL.E0402",{value:i});break;case"remaining":{if(i)if(vB.test(i)){let a=parseFloat(i);(a<0||a>100)&&Re(r,"error",{node:e,property:"value"},"NL.E0404",{value:i})}else Pu.test(i)||Re(r,"error",{node:e,property:"value"},"NL.E0403",{value:i});break}case"date":case"start":i&&(!zi.test(i)||Number.isNaN(new Date(i).getTime()))&&Re(r,"error",{node:e,property:"value"},"NL.E0405",{key:n,value:i});break;case"scale":i&&!Pu.test(i)&&Re(r,"error",{node:e,property:"value"},"NL.E0406",{value:i});break;case"calendar":i&&!mB.has(i)&&Re(r,"error",{node:e,property:"value"},"NL.E0407",{value:i});break;case"on":case"after":case"before":s.length===0&&Re(r,"error",{node:e},"NL.E0408",{key:n});break;case"capacity":{if(!i)break;let a=e.$container,c=CB(a);if(c==="invalid")break;c==="lane"?(!Fk.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"}):A_.test(i)?parseFloat(i)<=0&&r("error",`Item capacity "${i}" must be positive.`,{node:e,property:"value"}):Fk.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(!PB(e.$container)){r("error",`"${n}:" is only valid on "swimlane" or "default swimlane".`,{node:e});break}if(i===Hk)break;if(A_.test(i)){parseFloat(i)<=0&&r("error",`${n} value "${i}" must be positive.`,{node:e,property:"value"});break}if(zk.test(i)){parseFloat(i)<=0&&r("error",`${n} value "${i}" must be positive.`,{node:e,property:"value"});break}if(AB.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(fh.has(n)){if(n==="bg"||n==="fg"||n==="text")i&&!w_(i)&&r("error",`Invalid color "${i}" for "${n}". Use a named color, hex value, or "none".`,{node:e,property:"value"});else if(n in ph){let a=ph[n];i&&!a.has(i)&&!w_(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")||Re(r,"error",{node:e},"NL.E0500",{name:Vr(e)})}checkAnchorAgainstStart(e,r){let n=e.properties.find(a=>ke(a)==="date");if(!n?.value)return;let i=n.value;if(!zi.test(i))return;let o=new Date(i);if(Number.isNaN(o.getTime()))return;let s=v_(e.$container);switch(s.kind){case"invalid":return;case"missing":Re(r,"error",{node:n,property:"value"},"NL.E0501",{name:Vr(e)});return;case"valid":o<s.date&&Re(r,"error",{node:n,property:"value"},"NL.E0502",{name:Vr(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&&Re(r,"error",{node:e},"NL.E0503",{name:Vr(e)})}checkMilestoneAgainstStart(e,r){let n=e.properties.find(a=>ke(a)==="date");if(!n?.value)return;let i=n.value;if(!zi.test(i))return;let o=new Date(i);if(Number.isNaN(o.getTime()))return;let s=v_(e.$container);switch(s.kind){case"invalid":return;case"missing":r("error",`Milestone "${Vr(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&&Re(r,"error",{node:n,property:"value"},"NL.E0504",{name:Vr(e),date:i,start:s.iso});return}}checkFootnoteOn(e,r){e.properties.some(i=>ke(i)==="on")||Re(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 ${R_(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&&Re(r,"error",{node:e},"NL.E0600",{name:Vr(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=>!g_(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=>!g_(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);fh.has(i)&&r("error",`Raw style property "${i}" is not allowed on ${R_(e)}. Declare a named style in config and reference it via "style:id".`,{node:n})}}checkUnknownEntityProperties(e,r){let n=yB[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)||$k.has(s)||fh.has(s)||s==="footnote"||i?.has(s))continue;let a=[...n,...$k],c=EB(s,n)??TB(s,a)??"";Re(r,"warning",{node:o,property:"key"},"NL.W0700",{key:s,entity:R_(e),suggested:c})}}checkRoadmapProperties(e,r){}checkStylePropertyEnum(e,r){let n=ke(e),i=e.value;if(n==="bg"||n==="fg"||n==="text")w_(i)||r("error",`Invalid color "${i}" for "${n}". Use a named color, hex value, or "none".`,{node:e,property:"value"});else if(n in ph){let o=ph[n];o.has(i)||r("error",`Invalid value "${i}" for "${n}". Allowed: ${[...o].join(", ")}.`,{node:e,property:"value"})}else fh.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 "${Vr(e)}" requires an "effort:" property.`,{node:e}),e.name&&(Pu.test(e.name)||bB.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&&__.has(e.name)&&r("error",`Status id "${e.name}" collides with the built-in status value. Built-ins: ${[...__].join(", ")}.`,{node:e,property:"name"})}checkDuplicateSizeIds(e,r){let n=new Map;for(let i of e.roadmapEntries)if(Ko(i)&&i.name){let o=n.get(i.name);o?r("error",`Duplicate size id "${i.name}". First declared at ${hh(o)}.`,{node:i,property:"name"}):n.set(i.name,i)}}checkUtilizationOrdering(e,r){if(Hi(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=Gk(n.value),s=Gk(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(!Dk.has(e.entityType)){r("error",`"${e.entityType}" is not a supported entity type for default. Allowed: ${[...Dk].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(Hi(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=gB[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(lh),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 E_)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(!E_.has(o)){r("error",`Unknown calendar property "${o}". Allowed: ${[...E_].join(", ")}.`,{node:i,property:"key"});continue}n.has(o)&&r("error",`Duplicate calendar property "${o}".`,{node:i,property:"key"}),n.add(o),(!Mk.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(!Lk.has(o)){r("error",`Unknown scale property "${o}". Allowed: ${[...Lk].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"&&(!Mk.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];Ko(s)&&s.name?n.has(s.name)||n.set(s.name,o):rc(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];Xk(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(__.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=LB(e),i=o=>{Xk(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")&&zi.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=v_(e),i=o=>{let s=o.properties??[],a=gr(o)||Wr(o)||qr(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&&zi.test(d));if(f.length!==0){if(!a){Re(r,"error",{node:c},"NL.E0411",{key:l,type:NB(o)});continue}f.length>1&&Re(r,"error",{node:c},"NL.E0410",{key:l});for(let d of f)switch(n.kind){case"invalid":continue;case"missing":Re(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&&Re(r,"error",{node:c},"NL.E0413",{key:l,date:d,start:n.iso})}}}}if(Ir(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,y)=>{if(p)for(let _ of m){let E=ke(_);if(E==="after"){let T=_.value?[_.value]:_.values;for(let v of T)v&&(zi.test(v)||i(p,v))}else if(E==="before"){let T=_.value?[_.value]:_.values;for(let v of T)v&&(zi.test(v)||i(v,p))}}},s=p=>{let m=p.name,y=p.properties??[];if(o(m,y,e),Ir(p))for(let _ of p.content)s(_);else if(Wr(p)||qr(p))for(let _ of p.content)s(_)};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 y of n.get(p)??[]){let _=u.get(y)??a;if(_===c){let E=m.indexOf(y),T=m.slice(E).concat(y),v=[...T].sort().join("\u2192");f.has(v)||(f.add(v),r("error",`Circular dependency detected: ${T.join(" \u2192 ")}.`,{node:e.roadmapDecl??e}))}else _===a&&d(y,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)jn(c)?o(c):Sr(c)&&s(c)};for(let a of e.roadmapEntries)jn(a)?o(a):Sr(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 ${hh(l[0].node)}.`,{node:l[u].node})}}checkSymbolDeclaration(e,r){e.name&&dh.has(e.name)&&r("error",`Symbol id "${e.name}" collides with a built-in icon name. Reserved built-ins: ${[...dh].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 "${Vr(e)}" unicode: must be a non-empty value.`,{node:n,property:"value"}):r("error",`Symbol "${Vr(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??"";IB.test(o)||r("error",`Symbol "${Vr(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(Nu(i)&&i.name){let o=n.get(i.name);o?r("error",`Duplicate symbol id "${i.name}". First declared at ${hh(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];Nu(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||!Bk(a)||s==="capacity-icon"&&b_.has(a)||s==="icon"&&dh.has(a))return;let l=n.get(a);if(l===void 0){let u=s==="capacity-icon"?[...b_].sort().join(", "):[...dh].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(ku(s))for(let a of s.properties)i(o,ke(a),a.value,a);else if(Hi(s))for(let a of s.properties)i(o,ke(a),a.value,a)}}};function w_(t){return hB.has(t)||wB.test(t)}function Bk(t){return/^[a-zA-Z_][a-zA-Z0-9_-]*$/.test(t)}function CB(t){return t?Ir(t)?"lane":gr(t)?"item":Hi(t)?t.entityType==="swimlane"?"lane":"item":"invalid":"invalid"}function PB(t){return t?!!(Ir(t)||Hi(t)&&t.entityType==="swimlane"):!1}function Gk(t){if(!t||t===Hk)return null;if(A_.test(t)){let e=parseFloat(t);return Number.isFinite(e)&&e>0?e/100:null}if(zk.test(t)){let e=parseFloat(t);return Number.isFinite(e)&&e>0?e:null}return null}function hh(t){let e=t.$cstNode;return e?`line ${e.range.start.line+1}`:"unknown location"}function R_(t){let e=t.$type.replace(/Declaration$|Block$/,"").toLowerCase(),r=t.name??t.title;return r?`${e} "${r}"`:e}function OB(t,e){if(Ir(t)){e(t.name,t);for(let r of t.content)I_(r,e)}else jn(t)?e(t.name,t):Sr(t)?qk(t,e):(bu(t)||Su(t)||Au(t)||Iu(t)||Ko(t)||rc(t))&&e(t.name,t)}function qk(t,e){e(t.name,t);for(let r of t.content)Sr(r)&&qk(r,e)}function I_(t,e){if(gr(t))e(t.name,t);else if(Wr(t)){e(t.name,t);for(let r of t.content)I_(r,e)}else if(qr(t)){e(t.name,t);for(let r of t.content)I_(r,e)}}function Xk(t,e){let r=n=>{let i=n.properties;if(Array.isArray(i))for(let o of i)e(o);if(Ir(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(Sr(n))for(let o of n.content)(Sr(o)||jn(o))&&r(o)};r(t)}function LB(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),Ir(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(Sr(n))for(let o of n.content)Sr(o)||jn(o)?r(o):lk(o)};for(let n of t.roadmapEntries)r(n);return e}var S_=class extends Fo{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)}},k_=class extends Ga{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]!=="\\"}},Wk={parser:{TokenBuilder:()=>new k_({indentTokenName:"INDENT",dedentTokenName:"DEDENT",whitespaceTokenName:"WS",ignoreIndentationDelimiters:[["[","]"]]}),Lexer:t=>new Tu(t),ParserConfig:()=>({maxLookahead:4}),ValueConverter:()=>new S_},validation:{NowlineValidator:()=>new mh}};function N_(t={}){let e=t.shared??Wo(yu(_u),pk),r=Wo(gu({shared:e}),hk,Wk);return e.ServiceRegistry.register(r),jk(r),{shared:e,Nowline:r}}function Vk(t){return t.endsWith(":")?t.slice(0,-1):t}function ae(t,e){return t.find(r=>Vk(r.key)===e)?.value}function gt(t,e){let r=t.find(n=>Vk(n.key)===e);return r?r.value!==void 0?[r.value]:[...r.values]:[]}function vt(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 nc={mode:"business",daysPerWeek:5,daysPerMonth:22,daysPerQuarter:65,daysPerYear:260},DB={mode:"full",daysPerWeek:7,daysPerMonth:30,daysPerQuarter:91,daysPerYear:365};function Yk(t,e){let n=t.roadmapDecl?.properties.find(i=>C_(i.key)==="calendar")?.value??"business";if(n==="business")return{...nc};if(n==="full")return{...DB};if(e){let i=(o,s)=>{let a=e.properties.find(l=>C_(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",nc.daysPerWeek),daysPerMonth:i("days-per-month",nc.daysPerMonth),daysPerQuarter:i("days-per-quarter",nc.daysPerQuarter),daysPerYear:i("days-per-year",nc.daysPerYear)}}return{...nc}}var gh=/^(\d+(?:\.\d+)?)([dwmqy])$/;function yh(t,e){let r=gh.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 Kk(t,e,r){return t?gh.test(t)?yh(t,r):e.get(t)?.effortDays??0:0}function ji(t,e,r){let n=ae(t,"duration");if(n&&gh.test(n))return yh(n,r);let i=ae(t,"size"),o=i?e.get(i):void 0;if(!o)return 0;let s=oi(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&&gh.test(o)){let s=oi(ae(t,"capacity"))??1;return yh(o,r)*s}return 0}function xh(t,e){let r=new Map;for(let[n,i]of t){let s=i.properties.find(c=>C_(c.key)==="effort")?.value;if(!s)continue;let a=yh(s,e);a<=0||r.set(n,{name:n,title:i.title||void 0,effortDays:a,effortLiteral:s})}return r}function C_(t){return t.endsWith(":")?t.slice(0,-1):t}function kr(t,e){return Math.round((e.getTime()-t.getTime())/864e5)}function Zo(t,e){let r=new Date(t.getTime());return r.setUTCDate(r.getUTCDate()+e),r}var Th=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 Jk(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 $B(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 y=f+p;if(y<=c&&!e.hasObstacle(y,i,o))return{x:y,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 MB(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 FB(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 UB(t){if(t===0||t>4)return 0;let e=Math.ceil(t/2);return(t%2===1?1:-1)*e*3}function BB(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 Qk(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]=BB(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}=$B(s,e),{x:u,forceUnderBar:f}=MB(a,l,s,e),d=c||f;n.push({req:s,channelX:u,underBar:d,orderIndex:o})}let i=FB(n);for(let o of n){let s=UB(i.get(o.orderIndex)??0),a=o.channelX+s;r[o.orderIndex]={fromId:o.req.fromId,toId:o.req.toId,waypoints:GB(o.req.from,o.req.to,a),underBar:o.underBar}}return r}function GB(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 Ou="en-US",XB={"en-US":{nowLabel:"now",quarterPrefix:"Q"},fr:{nowLabel:"maint.",quarterPrefix:"T"}};function eN(t,e){return e??t??Ou}function _h(t){let e={};for(let r of HB(t)){let n=XB[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 HB(t){let e=[],r=zB(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(Ou)||e.push(Ou),e}function zB(t){return t.split("-").map((r,n)=>n===0?r.toLowerCase():/^[a-zA-Z]{2}$/.test(r)?r.toUpperCase():r).join("-")}function iN(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 vh(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 wh(t,e){return{x:t,y:e,height:0,maxX:t}}var sc=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)oN(a,i)}}}};function oN(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)oN(r,e)}var sN={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"},P_={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 aN={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"},O_={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 cN={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"},L_={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 D_={light:L_,dark:P_,grayscale:O_};var VB={greyscale:"grayscale"};function $_(t){let e=t.toLowerCase(),r=VB[e]??e;if(r==="light"||r==="dark"||r==="grayscale")return r}var YB={grey:"gray",violet:"purple"};function Jo(t,e){if(t==="none")return"none";if(t.startsWith("#"))return t;let r=e.name==="dark"?sN:e.name==="grayscale"?aN:cN,n=YB[t]??t,i=r[n];return typeof i=="string"?i:t}function ac(t){return t.key.endsWith(":")?t.key.slice(0,-1):t.key}function KB(t,e){return{bg:Jo(t.bg,e),fg:Jo(t.fg,e),text:Jo(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 M_(t,e,r,n){switch(e){case"bg":t.bg=Jo(r,n);break;case"fg":t.fg=Jo(r,n);break;case"text":t.text=Jo(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=$u(r,"xl");break;case"padding":t.padding=$u(r,"xl");break;case"spacing":t.spacing=$u(r,"xl");break;case"header-height":t.headerHeight=$u(r,"xl");break;case"corner-radius":t.cornerRadius=$u(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 $u(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 lN(t,e,r){if(e)for(let n of e.properties)M_(t,ac(n),n.value,r)}function ZB(t,e,r){for(let n of e){let i=ac(n);n.value!==void 0&&M_(t,i,n.value,r)}}function JB(t,e,r){let n=e.find(o=>ac(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=>ac(c)==="style");a?.value&&lN(t,r.styles.get(a.value),r.theme)}}function QB(t,e,r){let n=e.find(i=>ac(i)==="style");n?.value&&lN(t,r.styles.get(n.value),r.theme)}function yt(t,e,r){let n=r.theme.entities[t],i=KB(n,r.theme),o=r.defaults.get(t);if(o)for(let s of o.properties)s.value!==void 0&&M_(i,ac(s),s.value,r.theme);return JB(i,e,r),QB(i,e,r),ZB(i,e,r.theme),i}function uN(t,e){return yt("label",t.properties,e)}var fN={none:0,xs:2,sm:4,md:8,lg:16,xl:24},dN={none:0,xs:4,sm:8,md:12,lg:20,xl:32};var cc={none:0,xs:10,sm:12,md:14,lg:18,xl:24},Rh={none:0,xs:2,sm:4,md:8,lg:12,xl:20,full:9999};var Nr=8,_n=4,Mu=24,bh=15,Fu=8,Ah=22,Ih=15,Uu=16,Sh=6,F_=4,U_=11,B_=9,G_=5.5,X_=4,lc=12,kh="6 4",H_=36,qi=16,z_=qi/2,Bu=10,j_=qi-4,uc=6,Nh=2.25,Yr=6,Kr=2*Yr,pN=5,hN=120,q_=240,Ch=72,Gu=28,Zr=16,W_=22,Xu=18,Ph="Powered by",V_="https://nowline.io",Hu=.22,Wi=40,Oh=32,mN=.58,e4=Ph.length*Oh*mN,t4=10,zu=e4+t4,Y_=zu+74,K_=5,Lh=zu+81,r4=3*Wi*mN,n4=Lh+r4,i4=12+Wi,Z_=n4*Hu,gN=i4*Hu,J_=4;var Q_={sans:'system-ui, -apple-system, "Segoe UI", Roboto, sans-serif',serif:'Georgia, "Times New Roman", serif',mono:"ui-monospace, SFMono-Regular, Menlo, Consolas, monospace"},yN={days:7,weeks:4,months:3,quarters:4,years:5};var Dh=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.nextGroupId+=1,r.currentFlowKey=`${c}/group:${n.name??`group-${r.nextGroupId}`}`;let l=o.bg!=="none"&&o.bg!=="#ffffff"&&!!a,u=l?Uu+F_:0,f=l?X_:0,d=!l&&a?lc:0,p=e.y+d,m=r.bandScale.step(),y=s,_=new sc({laneLeftX:y,originY:p+u,minRowHeight:m,slackCorridors:r.slackCorridors}),E=y,T=[];for(let G of n.content){if(G.$type==="DescriptionDirective")continue;if(!gr(G)){let te=G.properties??[],De=i.resolveChildStart(te,E,y,r),{rowIndex:Ne,y:Xe}=_.placeBlock(),q=i.newCursor(De,Xe),J=i.sequenceOne(G,q,r);T.push(J);let re=J.box.x+J.box.width,C=Math.max(m,q.height);_.commitBlock({rowIndex:Ne,placed:J,blockHeight:C,blockEnd:re}),E=Math.max(E,re);continue}let oe=G.properties,L=i.resolveChildStart(oe,E,y,r),w=ji(oe,r.sizes,r.cal),O=Math.max(Nr,w*r.timeline.pixelsPerDay),$=L+O,b=G.name??"",A=i.predictItemChipExtraHeight(G,r),I=m+A,{rowIndex:F,y:z}=_.placeItem({childId:b,desiredStart:L,desiredEnd:$,predictedHeight:I}),U=i.newCursor(L,z),W=i.sequenceItem(G,U,r);T.push(W);let Z=W.box.x+W.box.width+Yr;E=Math.max(E,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),_.commitItem({rowIndex:F,placed:W,logicalEnd:Z,spillReservation:pe,rowHeight:I})}let v=Math.max(m,_.usedHeight()),S=Math.max(E,_.usedRightX()),D={x:s,y:p,width:S-s,height:u+v+f};e.x=E+Fu,e.maxX=Math.max(e.maxX,e.x);let N=r.bandScale.step()-r.bandScale.bandwidth();e.height=Math.max(e.height,d+D.height+N);let M=n.name;M&&(r.entityLeftEdges.set(M,D.x),r.entityRightEdges.set(M,D.x+D.width)),r.currentFlowKey=c;let B=vh({box:D,afterDate:Vn(gt(n.properties,"after")),beforeDate:Vn(gt(n.properties,"before"))});return{kind:"group",id:M,title:a,box:D,children:T,style:o,inlineDatePins:B.length>0?B:void 0}}};var eE=12,o4=4,s4=13,a4=11;function xN(t,e){return t.length*e*.58}var $h=class{constructor(e){de(this,"input");this.input=e}get id(){return this.input.id}measure(e){return{width:Math.max(Nr,this.input.logicalRightX-this.input.logicalLeftX),height:e.bands.bandwidth()}}place(e,r){let n=this.measure(r),i=Math.max(Nr,n.width-2*Yr),o=e.x+Yr,s={x:o,y:e.y,width:i,height:n.height},a=this.input.hasLinkIcon?20+c4-eE:0,c=eE+Math.max(0,a),l=Math.max(0,i-c-eE),u=this.input.title,f=u?xN(u,s4):0,d=this.input.metaText?xN(this.input.metaText,a4):0,p=this.input.metaTrailingWidth??0,m=d+p,y=this.input.metaText!==void 0||p>0,_=u.length>0&&f>l||y&&m>l,E=_?o+i+o4:o+c;return{id:this.input.id,box:s,textX:E,textSpills:_}}},c4=4;var Mh=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;r.nextParallelId+=1;let d=n.name??`parallel-${r.nextParallelId}`,p=0;for(let E of n.content){if(E.$type==="DescriptionDirective")continue;r.currentFlowKey=`${f}/par:${d}#${p}`;let T=i.newCursor(s,a+u),v=i.sequenceOne(E,T,r);c.push(v),u+=Math.max(r.bandScale.step(),T.height),l=Math.max(l,T.maxX),p++}r.currentFlowKey=f;let m={x:s,y:a,width:l-s,height:u};e.x=l+Fu,e.maxX=Math.max(e.maxX,e.x),e.height=Math.max(e.height,u);let y=n.name;y&&(r.entityLeftEdges.set(y,m.x),r.entityRightEdges.set(y,m.x+m.width));let _=vh({box:m,afterDate:Vn(gt(n.properties,"after")),beforeDate:Vn(gt(n.properties,"before"))});return{kind:"parallel",id:y,title:n.title??n.name,box:m,children:c,style:o,inlineDatePins:_.length>0?_:void 0}}};function Qo(t,e){return t==null||e==null?NaN:t<e?-1:t>e?1:t>=e?0:NaN}function tE(t,e){return t==null||e==null?NaN:e<t?-1:e>t?1:e>=t?0:NaN}function es(t){let e,r,n;t.length!==2?(e=Qo,r=(a,c)=>Qo(t(a),c),n=(a,c)=>t(a)-c):(e=t===Qo||t===tE?t:l4,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 l4(){return 0}function rE(t){return t===null?NaN:+t}var TN=es(Qo),_N=TN.right,u4=TN.left,f4=es(rE).center,nE=_N;var fc=class extends Map{constructor(e,r=h4){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(EN(this,e))}has(e){return super.has(EN(this,e))}set(e,r){return super.set(d4(this,e),r)}delete(e){return super.delete(p4(this,e))}};function EN({_intern:t,_key:e},r){let n=e(r);return t.has(n)?t.get(n):r}function d4({_intern:t,_key:e},r){let n=e(r);return t.has(n)?t.get(n):(t.set(n,r),r)}function p4({_intern:t,_key:e},r){let n=e(r);return t.has(n)&&(r=t.get(n),t.delete(n)),r}function h4(t){return t!==null&&typeof t=="object"?t.valueOf():t}var m4=Math.sqrt(50),g4=Math.sqrt(10),y4=Math.sqrt(2);function vN(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>=m4?10:o>=g4?5:o>=y4?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?vN(t,e,r*2):[a,c,l]}function iE(t,e,r){return e=+e,t=+t,r=+r,vN(t,e,r)[2]}function Fh(t,e,r){e=+e,t=+t,r=+r;let n=e<t,i=n?iE(e,t,r):iE(t,e,r);return(n?-1:1)*(i<0?1/-i:i)}function Uh(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 dc(t,e){switch(arguments.length){case 0:break;case 1:this.range(t);break;default:this.range(e).domain(t);break}return this}var wN=Symbol("implicit");function Bh(){var t=new fc,e=[],r=[],n=wN;function i(o){let s=t.get(o);if(s===void 0){if(n!==wN)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 fc;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 Bh(e,r).unknown(n)},dc.apply(i,arguments),i}function ju(){var t=Bh().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,y=p?n:i;o=(y-m)/Math.max(1,d-c+l*2),a&&(o=Math.floor(o)),m+=(y-m-o*(d-c))*u,s=o*(1-c),a&&(m=Math.round(m),s=Math.round(s));var _=Uh(d).map(function(E){return m+o*E});return r(p?_.reverse():_)}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 ju(e(),[n,i]).round(a).paddingInner(c).paddingOuter(l).align(u)},dc.apply(f(),arguments)}function Gh(t,e,r){t.prototype=e.prototype=r,r.constructor=t}function oE(t,e){var r=Object.create(t.prototype);for(var n in e)r[n]=e[n];return r}function Vu(){}var qu=.7,zh=1/qu,pc="\\s*([+-]?\\d+)\\s*",Wu="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",En="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",x4=/^#([0-9a-f]{3,8})$/,T4=new RegExp(`^rgb\\(${pc},${pc},${pc}\\)$`),_4=new RegExp(`^rgb\\(${En},${En},${En}\\)$`),E4=new RegExp(`^rgba\\(${pc},${pc},${pc},${Wu}\\)$`),v4=new RegExp(`^rgba\\(${En},${En},${En},${Wu}\\)$`),w4=new RegExp(`^hsl\\(${Wu},${En},${En}\\)$`),R4=new RegExp(`^hsla\\(${Wu},${En},${En},${Wu}\\)$`),RN={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};Gh(Vu,Vi,{copy(t){return Object.assign(new this.constructor,this,t)},displayable(){return this.rgb().displayable()},hex:bN,formatHex:bN,formatHex8:b4,formatHsl:A4,formatRgb:AN,toString:AN});function bN(){return this.rgb().formatHex()}function b4(){return this.rgb().formatHex8()}function A4(){return PN(this).formatHsl()}function AN(){return this.rgb().formatRgb()}function Vi(t){var e,r;return t=(t+"").trim().toLowerCase(),(e=x4.exec(t))?(r=e[1].length,e=parseInt(e[1],16),r===6?IN(e):r===3?new ar(e>>8&15|e>>4&240,e>>4&15|e&240,(e&15)<<4|e&15,1):r===8?Xh(e>>24&255,e>>16&255,e>>8&255,(e&255)/255):r===4?Xh(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=T4.exec(t))?new ar(e[1],e[2],e[3],1):(e=_4.exec(t))?new ar(e[1]*255/100,e[2]*255/100,e[3]*255/100,1):(e=E4.exec(t))?Xh(e[1],e[2],e[3],e[4]):(e=v4.exec(t))?Xh(e[1]*255/100,e[2]*255/100,e[3]*255/100,e[4]):(e=w4.exec(t))?NN(e[1],e[2]/100,e[3]/100,1):(e=R4.exec(t))?NN(e[1],e[2]/100,e[3]/100,e[4]):RN.hasOwnProperty(t)?IN(RN[t]):t==="transparent"?new ar(NaN,NaN,NaN,0):null}function IN(t){return new ar(t>>16&255,t>>8&255,t&255,1)}function Xh(t,e,r,n){return n<=0&&(t=e=r=NaN),new ar(t,e,r,n)}function I4(t){return t instanceof Vu||(t=Vi(t)),t?(t=t.rgb(),new ar(t.r,t.g,t.b,t.opacity)):new ar}function hc(t,e,r,n){return arguments.length===1?I4(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}Gh(ar,hc,oE(Vu,{brighter(t){return t=t==null?zh:Math.pow(zh,t),new ar(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=t==null?qu:Math.pow(qu,t),new ar(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new ar(rs(this.r),rs(this.g),rs(this.b),jh(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:SN,formatHex:SN,formatHex8:S4,formatRgb:kN,toString:kN}));function SN(){return`#${ts(this.r)}${ts(this.g)}${ts(this.b)}`}function S4(){return`#${ts(this.r)}${ts(this.g)}${ts(this.b)}${ts((isNaN(this.opacity)?1:this.opacity)*255)}`}function kN(){let t=jh(this.opacity);return`${t===1?"rgb(":"rgba("}${rs(this.r)}, ${rs(this.g)}, ${rs(this.b)}${t===1?")":`, ${t})`}`}function jh(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function rs(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function ts(t){return t=rs(t),(t<16?"0":"")+t.toString(16)}function NN(t,e,r,n){return n<=0?t=e=r=NaN:r<=0||r>=1?t=e=NaN:e<=0&&(t=NaN),new Jr(t,e,r,n)}function PN(t){if(t instanceof Jr)return new Jr(t.h,t.s,t.l,t.opacity);if(t instanceof Vu||(t=Vi(t)),!t)return new Jr;if(t instanceof Jr)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 Jr(s,a,c,t.opacity)}function ON(t,e,r,n){return arguments.length===1?PN(t):new Jr(t,e,r,n??1)}function Jr(t,e,r,n){this.h=+t,this.s=+e,this.l=+r,this.opacity=+n}Gh(Jr,ON,oE(Vu,{brighter(t){return t=t==null?zh:Math.pow(zh,t),new Jr(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=t==null?qu:Math.pow(qu,t),new Jr(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(sE(t>=240?t-240:t+120,i,n),sE(t,i,n),sE(t<120?t+240:t-120,i,n),this.opacity)},clamp(){return new Jr(CN(this.h),Hh(this.s),Hh(this.l),jh(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=jh(this.opacity);return`${t===1?"hsl(":"hsla("}${CN(this.h)}, ${Hh(this.s)*100}%, ${Hh(this.l)*100}%${t===1?")":`, ${t})`}`}}));function CN(t){return t=(t||0)%360,t<0?t+360:t}function Hh(t){return Math.max(0,Math.min(1,t||0))}function sE(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 aE(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 LN(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 aE((r-n/e)*e,s,i,o,a)}}function DN(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 aE((r-n/e)*e,i,o,s,a)}}var Yu=t=>()=>t;function k4(t,e){return function(r){return t+r*e}}function N4(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 $N(t){return(t=+t)==1?qh:function(e,r){return r-e?N4(e,r,t):Yu(isNaN(e)?r:e)}}function qh(t,e){var r=e-t;return r?k4(t,r):Yu(isNaN(t)?e:t)}var cE=(function t(e){var r=$N(e);function n(i,o){var s=r((i=hc(i)).r,(o=hc(o)).r),a=r(i.g,o.g),c=r(i.b,o.b),l=qh(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 MN(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=hc(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 Tne=MN(LN),_ne=MN(DN);function FN(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 UN(t){return ArrayBuffer.isView(t)&&!(t instanceof DataView)}function BN(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]=ns(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 GN(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 XN(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]=ns(t[i],e[i]):n[i]=e[i];return function(o){for(i in r)n[i]=r[i](o);return n}}var uE=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,lE=new RegExp(uE.source,"g");function C4(t){return function(){return t}}function P4(t){return function(e){return t(e)+""}}function HN(t,e){var r=uE.lastIndex=lE.lastIndex=0,n,i,o,s=-1,a=[],c=[];for(t=t+"",e=e+"";(n=uE.exec(t))&&(i=lE.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=lE.lastIndex;return r<e.length&&(o=e.slice(r),a[s]?a[s]+=o:a[++s]=o),a.length<2?c[0]?P4(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 ns(t,e){var r=typeof e,n;return e==null||r==="boolean"?Yu(e):(r==="number"?Yi:r==="string"?(n=Vi(e))?(e=n,cE):HN:e instanceof Vi?cE:e instanceof Date?GN:UN(e)?FN:Array.isArray(e)?BN:typeof e.valueOf!="function"&&typeof e.toString!="function"||isNaN(e)?XN:Yi)(t,e)}function fE(t,e){return t=+t,e=+e,function(r){return Math.round(t*(1-r)+e*r)}}function dE(t){return function(){return t}}function pE(t){return+t}var zN=[0,1];function mc(t){return t}function hE(t,e){return(e-=t=+t)?function(r){return(r-t)/e}:dE(isNaN(e)?NaN:.5)}function O4(t,e){var r;return t>e&&(r=t,t=e,e=r),function(n){return Math.max(t,Math.min(e,n))}}function L4(t,e,r){var n=t[0],i=t[1],o=e[0],s=e[1];return i<n?(n=hE(i,n),o=r(s,o)):(n=hE(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]=hE(t[s],t[s+1]),o[s]=r(e[s],e[s+1]);return function(a){var c=nE(t,a,1,n)-1;return o[c](i[c](a))}}function jN(t,e){return e.domain(t.domain()).range(t.range()).interpolate(t.interpolate()).clamp(t.clamp()).unknown(t.unknown())}function $4(){var t=zN,e=zN,r=ns,n,i,o,s=mc,a,c,l;function u(){var d=Math.min(t.length,e.length);return s!==mc&&(s=O4(t[0],t[d-1])),a=d>2?D4:L4,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,pE),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=fE,u()},f.clamp=function(d){return arguments.length?(s=d?!0:mc,u()):s!==mc},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 mE(){return $4()(mc,mc)}function gE(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 yE=new Date,xE=new Date;function Ve(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=>Ve(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)=>(yE.setTime(+o),xE.setTime(+s),t(yE),t(xE),Math.floor(r(yE,xE))),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 Ku=Ve(()=>{},(t,e)=>{t.setTime(+t+e)},(t,e)=>e-t);Ku.every=t=>(t=Math.floor(t),!isFinite(t)||!(t>0)?null:t>1?Ve(e=>{e.setTime(Math.floor(e/t)*t)},(e,r)=>{e.setTime(+e+r*t)},(e,r)=>(r-e)/t):Ku);var rie=Ku.range;var vn=Ve(t=>{t.setTime(t-t.getMilliseconds())},(t,e)=>{t.setTime(+t+e*1e3)},(t,e)=>(e-t)/1e3,t=>t.getUTCSeconds()),qN=vn.range;var gc=Ve(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*1e3)},(t,e)=>{t.setTime(+t+e*6e4)},(t,e)=>(e-t)/6e4,t=>t.getMinutes()),M4=gc.range,Wh=Ve(t=>{t.setUTCSeconds(0,0)},(t,e)=>{t.setTime(+t+e*6e4)},(t,e)=>(e-t)/6e4,t=>t.getUTCMinutes()),F4=Wh.range;var yc=Ve(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()),U4=yc.range,Vh=Ve(t=>{t.setUTCMinutes(0,0,0)},(t,e)=>{t.setTime(+t+e*36e5)},(t,e)=>(e-t)/36e5,t=>t.getUTCHours()),B4=Vh.range;var Jn=Ve(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),G4=Jn.range,Ju=Ve(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/864e5,t=>t.getUTCDate()-1),X4=Ju.range,Yh=Ve(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/864e5,t=>Math.floor(t/864e5)),H4=Yh.range;function ss(t){return Ve(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=ss(0),xc=ss(1),VN=ss(2),YN=ss(3),Ki=ss(4),KN=ss(5),ZN=ss(6),JN=Qn.range,z4=xc.range,j4=VN.range,q4=YN.range,W4=Ki.range,V4=KN.range,Y4=ZN.range;function as(t){return Ve(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 cs=as(0),Tc=as(1),QN=as(2),eC=as(3),Zi=as(4),tC=as(5),rC=as(6),nC=cs.range,K4=Tc.range,Z4=QN.range,J4=eC.range,Q4=Zi.range,e3=tC.range,t3=rC.range;var _c=Ve(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()),r3=_c.range,Kh=Ve(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()),n3=Kh.range;var yr=Ve(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());yr.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:Ve(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 i3=yr.range,Qr=Ve(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());Qr.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:Ve(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 o3=Qr.range;function oC(t,e,r,n,i,o){let s=[[vn,1,1e3],[vn,5,5*1e3],[vn,15,15*1e3],[vn,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=es(([,,_])=>_).right(s,d);if(p===s.length)return t.every(Fh(l/31536e6,u/31536e6,f));if(p===0)return Ku.every(Math.max(Fh(l,u,f),1));let[m,y]=s[d/s[p-1][2]<s[p][2]/d?p-1:p];return m.every(y)}return[a,c]}var[a3,c3]=oC(Qr,Kh,cs,Yh,Vh,Wh),[TE,_E]=oC(yr,_c,Qn,Jn,yc,gc);function EE(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 vE(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 Qu(t,e,r){return{y:t,m:e,d:r,H:0,M:0,S:0,L:0}}function wE(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=ef(i),u=tf(i),f=ef(o),d=tf(o),p=ef(s),m=tf(s),y=ef(a),_=tf(a),E=ef(c),T=tf(c),v={a:I,A:F,b:z,B:U,c:null,d:fC,e:fC,f:C3,g:G3,G:H3,H:S3,I:k3,j:N3,L:gC,m:P3,M:O3,p:W,q:Z,Q:hC,s:mC,S:L3,u:D3,U:$3,V:M3,w:F3,W:U3,x:null,X:null,y:B3,Y:X3,Z:z3,"%":pC},S={a:pe,A:V,b:te,B:De,c:null,d:dC,e:dC,f:V3,g:iG,G:sG,H:j3,I:q3,j:W3,L:xC,m:Y3,M:K3,p:Ne,q:Xe,Q:hC,s:mC,S:Z3,u:J3,U:Q3,V:eG,w:tG,W:rG,x:null,X:null,y:nG,Y:oG,Z:aG,"%":pC},D={a:oe,A:L,b:w,B:O,c:$,d:lC,e:lC,f:R3,g:cC,G:aC,H:uC,I:uC,j:_3,L:w3,m:T3,M:E3,p:G,q:x3,Q:A3,s:I3,S:v3,u:p3,U:h3,V:m3,w:d3,W:g3,x:b,X:A,y:cC,Y:aC,Z:y3,"%":b3};v.x=N(r,v),v.X=N(n,v),v.c=N(e,v),S.x=N(r,S),S.X=N(n,S),S.c=N(e,S);function N(q,J){return function(re){var C=[],be=-1,me=0,ve=q.length,Tt,X,Cr;for(re instanceof Date||(re=new Date(+re));++be<ve;)q.charCodeAt(be)===37&&(C.push(q.slice(me,be)),(X=sC[Tt=q.charAt(++be)])!=null?Tt=q.charAt(++be):X=Tt==="e"?" ":"0",(Cr=J[Tt])&&(Tt=Cr(re,X)),C.push(Tt),me=be+1);return C.push(q.slice(me,be)),C.join("")}}function M(q,J){return function(re){var C=Qu(1900,void 0,1),be=B(C,q,re+="",0),me,ve;if(be!=re.length)return null;if("Q"in C)return new Date(C.Q);if("s"in C)return new Date(C.s*1e3+("L"in C?C.L:0));if(J&&!("Z"in C)&&(C.Z=0),"p"in C&&(C.H=C.H%12+C.p*12),C.m===void 0&&(C.m="q"in C?C.q:0),"V"in C){if(C.V<1||C.V>53)return null;"w"in C||(C.w=1),"Z"in C?(me=vE(Qu(C.y,0,1)),ve=me.getUTCDay(),me=ve>4||ve===0?Tc.ceil(me):Tc(me),me=Ju.offset(me,(C.V-1)*7),C.y=me.getUTCFullYear(),C.m=me.getUTCMonth(),C.d=me.getUTCDate()+(C.w+6)%7):(me=EE(Qu(C.y,0,1)),ve=me.getDay(),me=ve>4||ve===0?xc.ceil(me):xc(me),me=Jn.offset(me,(C.V-1)*7),C.y=me.getFullYear(),C.m=me.getMonth(),C.d=me.getDate()+(C.w+6)%7)}else("W"in C||"U"in C)&&("w"in C||(C.w="u"in C?C.u%7:"W"in C?1:0),ve="Z"in C?vE(Qu(C.y,0,1)).getUTCDay():EE(Qu(C.y,0,1)).getDay(),C.m=0,C.d="W"in C?(C.w+6)%7+C.W*7-(ve+5)%7:C.w+C.U*7-(ve+6)%7);return"Z"in C?(C.H+=C.Z/100|0,C.M+=C.Z%100,vE(C)):EE(C)}}function B(q,J,re,C){for(var be=0,me=J.length,ve=re.length,Tt,X;be<me;){if(C>=ve)return-1;if(Tt=J.charCodeAt(be++),Tt===37){if(Tt=J.charAt(be++),X=D[Tt in sC?J.charAt(be++):Tt],!X||(C=X(q,re,C))<0)return-1}else if(Tt!=re.charCodeAt(C++))return-1}return C}function G(q,J,re){var C=l.exec(J.slice(re));return C?(q.p=u.get(C[0].toLowerCase()),re+C[0].length):-1}function oe(q,J,re){var C=p.exec(J.slice(re));return C?(q.w=m.get(C[0].toLowerCase()),re+C[0].length):-1}function L(q,J,re){var C=f.exec(J.slice(re));return C?(q.w=d.get(C[0].toLowerCase()),re+C[0].length):-1}function w(q,J,re){var C=E.exec(J.slice(re));return C?(q.m=T.get(C[0].toLowerCase()),re+C[0].length):-1}function O(q,J,re){var C=y.exec(J.slice(re));return C?(q.m=_.get(C[0].toLowerCase()),re+C[0].length):-1}function $(q,J,re){return B(q,e,J,re)}function b(q,J,re){return B(q,r,J,re)}function A(q,J,re){return B(q,n,J,re)}function I(q){return s[q.getDay()]}function F(q){return o[q.getDay()]}function z(q){return c[q.getMonth()]}function U(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=N(q+="",v);return J.toString=function(){return q},J},parse:function(q){var J=M(q+="",!1);return J.toString=function(){return q},J},utcFormat:function(q){var J=N(q+="",S);return J.toString=function(){return q},J},utcParse:function(q){var J=M(q+="",!0);return J.toString=function(){return q},J}}}var sC={"-":"",_:" ",0:"0"},Ot=/^\s*\d+/,l3=/^%/,u3=/[\\^$*+?|[\]().{}]/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 f3(t){return t.replace(u3,"\\$&")}function ef(t){return new RegExp("^(?:"+t.map(f3).join("|")+")","i")}function tf(t){return new Map(t.map((e,r)=>[e.toLowerCase(),r]))}function d3(t,e,r){var n=Ot.exec(e.slice(r,r+1));return n?(t.w=+n[0],r+n[0].length):-1}function p3(t,e,r){var n=Ot.exec(e.slice(r,r+1));return n?(t.u=+n[0],r+n[0].length):-1}function h3(t,e,r){var n=Ot.exec(e.slice(r,r+2));return n?(t.U=+n[0],r+n[0].length):-1}function m3(t,e,r){var n=Ot.exec(e.slice(r,r+2));return n?(t.V=+n[0],r+n[0].length):-1}function g3(t,e,r){var n=Ot.exec(e.slice(r,r+2));return n?(t.W=+n[0],r+n[0].length):-1}function aC(t,e,r){var n=Ot.exec(e.slice(r,r+4));return n?(t.y=+n[0],r+n[0].length):-1}function cC(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 y3(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 x3(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 T3(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 lC(t,e,r){var n=Ot.exec(e.slice(r,r+2));return n?(t.d=+n[0],r+n[0].length):-1}function _3(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 uC(t,e,r){var n=Ot.exec(e.slice(r,r+2));return n?(t.H=+n[0],r+n[0].length):-1}function E3(t,e,r){var n=Ot.exec(e.slice(r,r+2));return n?(t.M=+n[0],r+n[0].length):-1}function v3(t,e,r){var n=Ot.exec(e.slice(r,r+2));return n?(t.S=+n[0],r+n[0].length):-1}function w3(t,e,r){var n=Ot.exec(e.slice(r,r+3));return n?(t.L=+n[0],r+n[0].length):-1}function R3(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 b3(t,e,r){var n=l3.exec(e.slice(r,r+1));return n?r+n[0].length:-1}function A3(t,e,r){var n=Ot.exec(e.slice(r));return n?(t.Q=+n[0],r+n[0].length):-1}function I3(t,e,r){var n=Ot.exec(e.slice(r));return n?(t.s=+n[0],r+n[0].length):-1}function fC(t,e){return Oe(t.getDate(),e,2)}function S3(t,e){return Oe(t.getHours(),e,2)}function k3(t,e){return Oe(t.getHours()%12||12,e,2)}function N3(t,e){return Oe(1+Jn.count(yr(t),t),e,3)}function gC(t,e){return Oe(t.getMilliseconds(),e,3)}function C3(t,e){return gC(t,e)+"000"}function P3(t,e){return Oe(t.getMonth()+1,e,2)}function O3(t,e){return Oe(t.getMinutes(),e,2)}function L3(t,e){return Oe(t.getSeconds(),e,2)}function D3(t){var e=t.getDay();return e===0?7:e}function $3(t,e){return Oe(Qn.count(yr(t)-1,t),e,2)}function yC(t){var e=t.getDay();return e>=4||e===0?Ki(t):Ki.ceil(t)}function M3(t,e){return t=yC(t),Oe(Ki.count(yr(t),t)+(yr(t).getDay()===4),e,2)}function F3(t){return t.getDay()}function U3(t,e){return Oe(xc.count(yr(t)-1,t),e,2)}function B3(t,e){return Oe(t.getFullYear()%100,e,2)}function G3(t,e){return t=yC(t),Oe(t.getFullYear()%100,e,2)}function X3(t,e){return Oe(t.getFullYear()%1e4,e,4)}function H3(t,e){var r=t.getDay();return t=r>=4||r===0?Ki(t):Ki.ceil(t),Oe(t.getFullYear()%1e4,e,4)}function z3(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+Oe(e/60|0,"0",2)+Oe(e%60,"0",2)}function dC(t,e){return Oe(t.getUTCDate(),e,2)}function j3(t,e){return Oe(t.getUTCHours(),e,2)}function q3(t,e){return Oe(t.getUTCHours()%12||12,e,2)}function W3(t,e){return Oe(1+Ju.count(Qr(t),t),e,3)}function xC(t,e){return Oe(t.getUTCMilliseconds(),e,3)}function V3(t,e){return xC(t,e)+"000"}function Y3(t,e){return Oe(t.getUTCMonth()+1,e,2)}function K3(t,e){return Oe(t.getUTCMinutes(),e,2)}function Z3(t,e){return Oe(t.getUTCSeconds(),e,2)}function J3(t){var e=t.getUTCDay();return e===0?7:e}function Q3(t,e){return Oe(cs.count(Qr(t)-1,t),e,2)}function TC(t){var e=t.getUTCDay();return e>=4||e===0?Zi(t):Zi.ceil(t)}function eG(t,e){return t=TC(t),Oe(Zi.count(Qr(t),t)+(Qr(t).getUTCDay()===4),e,2)}function tG(t){return t.getUTCDay()}function rG(t,e){return Oe(Tc.count(Qr(t)-1,t),e,2)}function nG(t,e){return Oe(t.getUTCFullYear()%100,e,2)}function iG(t,e){return t=TC(t),Oe(t.getUTCFullYear()%100,e,2)}function oG(t,e){return Oe(t.getUTCFullYear()%1e4,e,4)}function sG(t,e){var r=t.getUTCDay();return t=r>=4||r===0?Zi(t):Zi.ceil(t),Oe(t.getUTCFullYear()%1e4,e,4)}function aG(){return"+0000"}function pC(){return"%"}function hC(t){return+t}function mC(t){return Math.floor(+t/1e3)}var Ec,Zh,_C,EC,vC;RE({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 RE(t){return Ec=wE(t),Zh=Ec.format,_C=Ec.parse,EC=Ec.utcFormat,vC=Ec.utcParse,Ec}function cG(t){return new Date(t)}function lG(t){return t instanceof Date?+t:+new Date(+t)}function wC(t,e,r,n,i,o,s,a,c,l){var u=mE(),f=u.invert,d=u.domain,p=l(".%L"),m=l(":%S"),y=l("%I:%M"),_=l("%I %p"),E=l("%a %d"),T=l("%b %d"),v=l("%B"),S=l("%Y");function D(N){return(c(N)<N?p:a(N)<N?m:s(N)<N?y:o(N)<N?_:n(N)<N?i(N)<N?E:T:r(N)<N?v:S)(N)}return u.invert=function(N){return new Date(f(N))},u.domain=function(N){return arguments.length?d(Array.from(N,lG)):d().map(cG)},u.ticks=function(N){var M=d();return t(M[0],M[M.length-1],N??10)},u.tickFormat=function(N,M){return M==null?D:l(M)},u.nice=function(N){var M=d();return(!N||typeof N.range!="function")&&(N=e(M[0],M[M.length-1],N??10)),N?d(gE(M,N)):u},u.copy=function(){return jN(u,wC(t,e,r,n,i,o,s,a,c,l))},u}function Jh(){return dc.apply(wC(TE,_E,yr,_c,Qn,Jn,yc,gc,vn,Zh).domain([new Date(2e3,0,1),new Date(2e3,0,2)]),arguments)}var bE=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=ju().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}},uG={bandwidth:56,step:64};function RC(){return bE.fixedRow(uG)}var Qh=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,kr(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=kr(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 em(t){return t.endsWith(":")?t.slice(0,-1):t}function bC(t,e){let n=t.roadmapDecl?.properties.find(c=>em(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=tm(i)*l,s=1}}let a=s??yN[i]??4;if(e){let l=e.properties.find(m=>em(m.key)==="unit")?.value??i,u=e.properties.find(m=>em(m.key)==="label-every"),f=e.properties.find(m=>em(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)||tm(l)):o??tm(l);return{unit:l,labelEvery:d,pixelsPerUnit:p}}return{unit:i,labelEvery:a,pixelsPerUnit:o??tm(i)}}function tm(t){switch(t){case"days":return pN;case"weeks":return 40;case"months":return 80;case"quarters":return 160;case"years":return 320}}function AC(t,e,r,n=Ou){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?fG(e.unit,Zo(t.domain[0],u),l,n):void 0})}return c}function fG(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`${_h(n).quarterPrefix}${i} ${e.getUTCFullYear()}`}case"years":return`${e.getUTCFullYear()}`}}function IC(t){return{daysPerUnit:e=>AE(e,t),addUnits:(e,r,n)=>Zo(e,r*AE(n,t)),isWorkingDay:()=>!0}}function SC(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 IE=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=vt(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 NC(t,e,r){let n=[];for(let[i,o]of t){let s=new IE(i,o).place(e,r);s&&n.push(s)}return n}function SE(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:Zr,y:r+Zr,width:e.chartRightX-2*Zr,height:n.length===0?0:Gu+n.length*Xu+Zr},entries:n},index:i,hosts:o}}var dG=.8,pG=1;function hG(t){let e=[];return PC(t,e),e}function PC(t,e){for(let r of t)if(r.kind==="item"){let n=mG(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")&&PC(r.children,e)}function mG(t){return t.capacity?t.capacity.value:t.size?1:0}function OC(t){if(t.capacityValue<=0||t.warnFraction===null&&t.overFraction===null)return null;let e=hG(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:gG(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 gG(t,e,r,n){let i=t/e;return n!==null&&i>=n?"red":r!==null&&i>=r?"yellow":"green"}function LC(t,e){let r=e.get("swimlane"),n=CC(ae(t.properties,"utilization-warn-at"),r?ae(r.properties,"utilization-warn-at"):void 0,dG),i=CC(ae(t.properties,"utilization-over-at"),r?ae(r.properties,"utilization-over-at"):void 0,pG);return{warn:n,over:i}}function CC(t,e,r){let i=TG(t??e);return i.kind==="unset"?r:i.kind==="none"?null:i.value}var yG=/^\d+(?:\.\d+)?%$/,xG=/^\d+\.\d+$/;function TG(t){if(t===void 0)return{kind:"unset"};if(t==="none")return{kind:"none"};if(yG.test(t)){let e=parseFloat(t)/100;return Number.isFinite(e)&&e>0?{kind:"number",value:e}:{kind:"unset"}}if(xG.test(t)){let e=parseFloat(t);return Number.isFinite(e)&&e>0?{kind:"number",value:e}:{kind:"unset"}}return{kind:"unset"}}var DC=10;function _G(t,e,r){let n=ae(t.properties,"capacity"),i=oi(n);if(i===null)return{capacity:null,badgeWidthPx:0};let o=Ic(i),s=Sc(e.capacityIcon,r),a=to(o,s,DC);return{capacity:{value:i,text:o,icon:s},badgeWidthPx:a}}var EG=10,vG=38,wG=8;function RG(t,e,r){let n=t.title??t.name??"";if(!n)return 0;let i=ae(t.properties,"owner");return kc(0,n,i??void 0,e,r).rightX}function bG(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 AG(t,e,r,n){for(let i of t.content){if(i.$type==="DescriptionDirective")continue;let o=gr(i)?i.properties:i.properties??[];return n.resolveChildStart(o,e,e,r)}}var vc=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}=_G(n,s,r.symbols),d=bG(n,r),p=d.length>0?o.estimateTextWidth(d.join(","),DC):0,m=RG(n,f,p),y=AG(n,a,r,o),_=!n.title||y===void 0||y>=m+wG,E=e.y+(_?EG:vG),T=new sc({laneLeftX:a,originY:E,minRowHeight:c,slackCorridors:r.slackCorridors}),v=a,S=[];for(let w of n.content){if(w.$type==="DescriptionDirective")continue;if(!gr(w)){let Xe=w.properties??[],q=o.resolveChildStart(Xe,v,a,r),{rowIndex:J,y:re}=T.placeBlock(),C=o.newCursor(q,re),be=o.sequenceOne(w,C,r);S.push(be);let me=be.box.x+be.box.width,ve=Math.max(c,C.height);T.commitBlock({rowIndex:J,placed:be,blockHeight:ve,blockEnd:me}),v=Math.max(v,me);continue}let O=w.properties,$=o.resolveChildStart(O,v,a,r),b=ji(O,r.sizes,r.cal),A=Math.max(Nr,b*r.timeline.pixelsPerDay),I=$+A,F=w.name??"",z=o.predictItemChipExtraHeight(w,r),U=c+z,{rowIndex:W,y:Z}=T.placeItem({childId:F,desiredStart:$,desiredEnd:I,predictedHeight:U}),pe=o.newCursor($,Z),V=o.sequenceItem(w,pe,r);S.push(V);let te=V.box.x+V.box.width+Yr;v=Math.max(v,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),T.commitItem({rowIndex:W,placed:V,logicalEnd:te,spillReservation:De,rowHeight:U})}let D=E-e.y,N=Math.max(c+32,D+T.usedHeight()+16),M=Math.max(T.usedRightX(),m),B={x:0,y:e.y,width:r.chartRightX,height:N},G=ae(n.properties,"owner"),oe;if(G){let w=r.teams.get(G),O=r.persons.get(G);oe=w?.title??O?.title??G}let L=u?(()=>{let{warn:w,over:O}=LC(n,r.styleCtx.defaults);return OC({children:S,capacityValue:u.value,warnFraction:w,overFraction:O})})():null;return r.currentFlowKey=l,{positioned:{id:n.name,title:n.title??n.name??"",box:B,bandIndex:i,children:S,nested:[],style:s,owner:oe,footnoteIndicators:d,capacity:u,utilization:L},usedHeight:N,usedRightX:M}}};var IG=18,SG=14,kG=14,NG=16,CG=32;function $C(t,e,r,n){let i=r+IG,o=[],s=!0;for(let a of t){s||(i+=NG),s=!1;let c=a.content.roadmap?.title??a.sourcePath,l=i+SG,u={cal:e.cal,styleCtx:{theme:e.styleCtx.theme,styles:a.config.styles,defaults:a.config.defaults,labels:a.content.labels},sizes:xh(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,nextParallelId:0,nextGroupId:0},f=[],d=l,p=0,m=u.timeline.originX;for(let N of a.content.swimlanes.values()){u.nextParallelId=0,u.nextGroupId=0;let{positioned:M,usedHeight:B,usedRightX:G}=new vc({lane:N,bandIndex:p},n).place({x:u.timeline.originX,y:d},u);f.push(M),d+=B,p++,G>m&&(m=G)}let y=d,_=Math.max(e.bandScale.bandwidth(),y-i+kG),E=0,{chromeRightX:T}=Nc(E,c,a.sourcePath),v=Math.max(T,m)+CG,S=Math.min(e.chartRightX-E,v-E),D={x:E,y:i,width:S,height:_};for(let N of f)N.box.width=S;o.push({sourcePath:a.sourcePath,label:c,box:D,nestedSwimlanes:f,style:yt("swimlane",[],e.styleCtx)}),i+=_}return{regions:o,endY:i}}function im(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 om(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 MC(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 kE=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=vt(i),a=e.timeline.markerRow.y,c=6,l=r.title??this.id,u=null,f=a,d=null,p="right",m=!1,y,_=!1;if(s){let T=e.scale.forwardWithinDomain(s);if(T===null)return null;u=T,m=!0;let v=e.markerRowPlacements.get(this.id);v&&(f=v.centerY,d=v.labelBox,p=v.labelSide);let S=im(o,e),D=om(S),N=null;for(let M of D)(!N||M.x>N.x)&&(N=M);N&&N.x>T&&(_=!0,y=[{x:N.x,y:N.y>0?N.y:f}])}else if(o.length>0){let T=im(o,e),v=om(T);v.sort((M,B)=>B.x-M.x);let S=v[0]?.x??e.timeline.originX;u=S,m=!1;let D=MC(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 N=[];for(let M=1;M<v.length;M++){let B=v[M];B.x<S&&B.y>0&&N.push({x:B.x,y:B.y})}N.length>0&&(y=N)}if(u===null)return null;if(!d){let T=MC(u,f,c,l,10,!0,e.timeline.box.x,e.chartRightX);d=T.box,p=T.side}let E={x:u,y:f};return e.entityLeftEdges.set(this.id,E.x),e.entityRightEdges.set(this.id,E.x),e.entityMidpoints.set(this.id,E),{id:this.id,title:l,center:E,radius:c,fixed:m,slackArrows:y,isOverrun:_,style:n,cutTopY:e.chartTopY,cutBottomY:e.swimlaneBottomY,labelBox:d,labelSide:p}}};function FC(t,e){let r=[];for(let[n,i]of t){let o=new kE(n,i).place(e);o&&r.push(o)}return r}var OG=4;function LG(t,e){e>t.chartRightX&&(t.chartRightX=e)}var am=class{place(e,r,n,i){let o=n.theme??"light",s=D_[o],a=n.width??1280,c=eN(n.locale,MG(e)),l=Yk(e,r.config.calendar),u=bC(e,r.config.scale),f=xh(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),y=yt("roadmap",e.roadmapDecl?.properties??[],d),_=y.headerPosition==="beside",E=y.timelinePosition!=="bottom",T=y.timelinePosition==="bottom"||y.timelinePosition==="both",v=e.roadmapDecl?.title??e.roadmapDecl?.name??"",S=ae(e.roadmapDecl?.properties??[],"author"),D=i.sizeBesideHeader(v,S),N=_?{x:0,y:0,width:D.boxWidth,height:0}:{x:0,y:0,width:0,height:Ch},M=_?D.boxWidth:0,B=_?8:Ch+8,G=IC(l),oe=u.pixelsPerUnit/G.daysPerUnit(u.unit),w=Math.max(1,kr(p,m))*oe,O=M+Kr,$=w,b=M+Kr+$+Kr,A=Math.min(a,b),I=n.today!==void 0&&n.today>=p&&n.today<=m,F=r.content.anchors.size+r.content.milestones.size>0,z=I?qi:0,U=E?Mu:0,W=new Qh({domain:[p,m],range:[O,O+w],calendar:G}),Z=Math.max(A,O+$+Kr),pe=[];for(let[K,le]of r.content.anchors){let ze=vt(ae(le.properties,"date"));if(!ze)continue;let Lr=W.forwardWithinDomain(ze);Lr!==null&&pe.push({id:K,centerX:Lr,radius:6,title:le.title??K,fontSize:10,bold:!1,date:ze,isMilestone:!1})}for(let[K,le]of r.content.milestones){let ze=vt(ae(le.properties,"date"));if(!ze)continue;let Lr=W.forwardWithinDomain(ze);Lr!==null&&pe.push({id:K,centerX:Lr,radius:6,title:le.title??K,fontSize:10,bold:!0,date:ze,isMilestone:!0})}let V=BC(pe,M,Z,i.estimateTextWidth),te=F?Math.max(1,V.rowCount):0,De=te*26,Ne=z+U+De,Xe=Ne+8,q=_?D.cardHeight+OG:0,J=Math.max(B,q-Ne),re=J+z,C=re+U,be=C+De,me=AC(W,u,G,c),ve={box:{x:O,y:J,width:w,height:0},ticks:me,pixelsPerDay:oe,originX:O,startDate:p,endDate:m,labelStyle:yt("roadmap",[],d),pillRowHeight:z,tickPanelY:re,tickPanelHeight:U,markerRow:{y:C+13,height:De,collisionY:C-8},minorGrid:y.minorGrid},Tt=new Map;for(let[K,le]of V.placements){let ze=C+13+le.rowIndex*26;Tt.set(K,{rowIndex:le.rowIndex,centerY:ze,labelBox:{...le.labelBox,y:ze-4},labelSide:le.labelSide})}let X={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:G,bandScale:RC(),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:Tt,chartTopY:J+Xe,chartBottomY:0,swimlaneBottomY:0,chartRightX:Z,nextParallelId:0,nextGroupId:0};for(let K of pe){let le=Tt.get(K.id);le&&(X.entityLeftEdges.set(K.id,K.centerX),X.entityRightEdges.set(K.id,K.centerX),X.entityMidpoints.set(K.id,{x:K.centerX,y:le.centerY}))}let Cr=SE(r.content.footnotes,X,0);X.footnoteIndex=Cr.index,X.footnoteHosts=Cr.hosts;let Tr=new Map(X.entityLeftEdges),Pr=new Map(X.entityRightEdges),ds=new Map(X.entityMidpoints),_e=[...r.content.swimlanes.values()],Or=yt("swimlane",[],d),Qi=fN[Or.spacing]??0,bn=()=>{X.nextParallelId=0,X.nextGroupId=0;let K=[],le=X.chartTopY,ze=0,Lr=X.timeline.originX;for(let eo of _e){ze>0&&(le+=Qi);let{positioned:ni,usedHeight:_m,usedRightX:df}=new vc({lane:eo,bandIndex:ze},i).place({x:X.timeline.originX,y:le},X);K.push(ni),le+=_m,df>Lr&&(Lr=df),ze++}return{swimlanes:K,nextY:le,maxRightX:Lr}},_r=bn(),Ht=_r.swimlanes,bt=_r.nextY,x=DG(r.content.milestones,X);x.length>0&&(X.entityLeftEdges=new Map(Tr),X.entityRightEdges=new Map(Pr),X.entityMidpoints=new Map(ds),X.itemSlackAttachY=new Map,X.entityVisualLeftX=new Map,X.entityVisualRightX=new Map,X.itemArrowSource=new Map,X.itemFlowKey=new Map,X.currentFlowKey="",X.slackCorridors=x,_r=bn(),Ht=_r.swimlanes,bt=_r.nextY),LG(X,_r.maxRightX+Kr);for(let K of Ht)K.box.width=X.chartRightX;let P=r.content.isolatedRegions,j=[];if(P.length>0){let K=$C(P,X,bt+8,i);j=K.regions,bt=K.endY}X.chartBottomY=bt,X.swimlaneBottomY=bt,ve.box.height=X.chartBottomY-ve.box.y;let Y=FC(r.content.milestones,X),$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 Ce=BC($e,M,X.chartRightX,i.estimateTextWidth);X.markerRowPlacements.clear();for(let[K,le]of Ce.placements){let ze=C+13+le.rowIndex*26;X.markerRowPlacements.set(K,{rowIndex:le.rowIndex,centerY:ze,labelBox:{...le.labelBox,y:ze-4},labelSide:le.labelSide})}for(let K of Y){let le=X.markerRowPlacements.get(K.id??"");le&&(K.center={x:K.center.x,y:le.centerY},K.labelBox=le.labelBox,K.labelSide=le.labelSide)}for(let K of pe){let le=X.markerRowPlacements.get(K.id);le&&X.entityMidpoints.set(K.id,{x:K.centerX,y:le.centerY})}for(let K of Y)K.fixed||X.entityMidpoints.set(K.id??"",{x:K.center.x,y:K.center.y});let je=F?Math.max(1,Ce.rowCount):0;if(je>te){let K=(je-te)*26;X.timeline.markerRow.height=je*26,X.timeline.box.height+=K,X.chartTopY+=K,X.chartBottomY+=K,X.swimlaneBottomY+=K;for(let le of Ht)NE(le,K);for(let le of j)$G(le,K);for(let[le,ze]of X.entityMidpoints)X.markerRowPlacements.has(le)||X.entityMidpoints.set(le,{x:ze.x,y:ze.y+K});for(let[le,ze]of X.itemSlackAttachY)X.itemSlackAttachY.set(le,ze+K);for(let le of Y)if(le.cutTopY=X.chartTopY,le.cutBottomY=X.swimlaneBottomY,le.slackArrows)for(let ze of le.slackArrows)ze.y+=K}T&&(X.timeline.bottomTickPanelY=X.chartBottomY+8,X.timeline.bottomTickPanelHeight=Mu,X.chartBottomY+=8+Mu);let Ye=new Set(Y.map(K=>K.center.x)),ge=NC(r.content.anchors,X,Ye),Ue=i.collectItems(_e),Ae=i.buildDependencies(Ue,Ht,j,X),Ke=i.buildNowline(n.today,X,c),st=SE(r.content.footnotes,X,X.chartBottomY);X.footnoteIndex=st.index,X.footnoteHosts=st.hosts,N.height=N.height||X.chartBottomY,_||(N.width=X.chartRightX);let Jt=_?{x:6,y:be-D.cardHeight,width:D.cardWidth,height:D.cardHeight}:{x:0,y:0,width:X.chartRightX,height:Ch},ps=st.area.entries.length>0?st.area.box.y+st.area.box.height:X.chartBottomY,uf={x:X.chartRightX-Kr-Z_,y:ps+Kr,width:Z_,height:gN},Qt=uf.y+uf.height+Kr,tn={box:N,position:y.headerPosition,title:v,author:S,titleLines:D.titleLines,authorLines:D.authorLines,cardBox:Jt,logo:void 0,style:y,attributionBox:uf};return{width:X.chartRightX,height:Qt,theme:o,palette:s,backgroundColor:s.surface.page,header:tn,timeline:ve,nowline:Ke,swimlanes:Ht,anchors:ge,milestones:Y,edges:Ae,footnotes:st.area,includes:j,chartBox:{x:M,y:X.chartTopY,width:X.chartRightX-M,height:X.chartBottomY-X.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=vt(o),c=im(s,e),l=om(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 NE(t,e){t.box.y+=e;for(let r of t.children)GC(r,e);for(let r of t.nested)NE(r,e)}function GC(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)GC(r,e)}function $G(t,e){t.box.y+=e;for(let r of t.nestedSwimlanes)NE(r,e)}function BC(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,y=M=>M==="right"?l:u,_=M=>M==="right"?f:d,E=(M,B)=>{let G=Math.min(p,M),oe=Math.max(m,M+c);return s[B].some(L=>L.left<oe&&L.right>G)},T=-1,v="right",S=l;e:for(let M=s.length-1;M>=0;M--)for(let B of["right","left"]){if(!_(B))continue;let G=y(B);if(!E(G,M)){T=M,v=B,S=G;break e}}if(T===-1){for(let[M,B]of o)o.set(M,{...B,rowIndex:B.rowIndex+1});s=[[],...s],T=0,v=f?"right":"left",S=y(v)}let D=Math.min(p,S),N=Math.max(m,S+c);s[T].push({left:D,right:N}),o.set(a.id,{rowIndex:T,labelBox:{x:S,y:0,width:c,height:12},labelSide:v})}return{placements:o,rowCount:s.length}}function MG(t){return t.directive?.properties.find(r=>FG(r.key)==="locale")?.value}function FG(t){return t.endsWith(":")?t.slice(0,-1):t}function GG(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 XG(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 HG(t,e){if(t)return/^\d+(?:\.\d+)?[dwmqy]$/.test(t)||/^\d+%$/.test(t)?t:e.sizes.get(t)?.effortLiteral??t}function zG(t,e){if(t)return e.teams.get(t)?.title??e.persons.get(t)?.title??t}function jG(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 cm(t,e,r,n,i){let o=uN(t,e),s=t.name??t.title??"",a=o.padding==="none"?"xs":o.padding,c=dN[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 $E(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=ji(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=Kk(ae(i,"remaining"),r.sizes,r.cal),m=e.x,y=vt(d);if(y){let ue=r.scale.forwardWithinDomain(y);ue!==null&&(m=ue)}else if(u.length>0){let ue=e.x;for(let tt of u){let _t=vt(tt);if(_t){let ii=r.scale.forwardWithinDomain(_t);ii!==null&&(ue=Math.max(ue,ii));continue}let An=r.entityRightEdges.get(tt);An!==void 0&&(ue=Math.max(ue,An))}m=Math.max(e.x,ue)}let _=Math.max(Nr,c*r.timeline.pixelsPerDay),E=m,T=m+_,v=ae(i,"link"),S=jG(v),D=S.icon!=="none",N=Math.max(Nr,_-2*Yr),M=gt(i,"labels"),B=[];for(let ue of M){let tt=r.labels.get(ue);if(!tt)continue;let _t=cm(tt,r.styleCtx,0,0);B.push({id:tt,width:_t.box.width})}let G=0;for(let ue=0;ue<B.length;ue+=1)ue>0&&(G+=4),G+=B[ue].width;let oe=Math.max(0,N-24),L=B.length>0&&G>oe,w=!1,O,$;if(f.length>0){let ue,tt;for(let _t of f){let An=vt(_t),ii=An?r.scale.forwardWithinDomain(An)??void 0:r.entityLeftEdges.get(_t);ii!==void 0&&(ue===void 0||ii<ue)&&(ue=ii,tt=_t)}ue!==void 0&&T>ue&&(w=!0,O={x:ue,y:e.y,width:T-ue,height:r.bandScale.bandwidth()},$=tt)}let b=ae(i,"status"),A=GG(b),I=XG(b);I===0&&A==="done"&&(I=1);let F=/^(\d{1,3})%$/.exec(ae(i,"remaining")??"");I===0&&A==="in-progress"&&F&&(I=1-Math.max(0,Math.min(100,parseInt(F[1],10)))/100),I===0&&A==="in-progress"&&p>0&&l>0&&(I=Math.max(0,Math.min(1,1-p/l)));let z={done:"#ecfdf5","in-progress":"#eff6ff","at-risk":"#fffbeb",blocked:"#fee2e2",planned:"#f8fafc",neutral:"#f8fafc"},U={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?U[A]:z[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"),C=HG(re,r),be=zG(n??ae(i,"owner"),r),me=()=>[J,be].filter(Boolean).join(" "),ve;if(A==="in-progress"&&C){let ue=me();ve=ue?`${ue} \u2014 ${C} remaining`:`${C} remaining`}else if(A==="in-progress"&&I>0&&I<1){let ue=Math.round((1-I)*100),tt=me();ve=tt?`${tt} \u2014 ${ue}% remaining`:`${ue}% remaining`}else(be||J)&&(ve=me()||void 0);let Tt=ae(i,"capacity"),X=oi(Tt),Cr=null,Tr=0;if(X!==null){let ue=Ic(X),tt=Sc(o.capacityIcon,r.symbols);Cr={value:X,text:ue,icon:tt};let _t=11;Tr=(ve?Rn(" ",_t):0)+to(ue,tt,_t)}let Pr=t.title??t.name??"",ds=new $h({id:t.name??"",title:Pr,logicalLeftX:E,logicalRightX:T,metaText:ve,metaTrailingWidth:Tr,hasLinkIcon:D}).place({x:E,y:e.y},{time:r.scale,bands:r.bandScale,style:o}),_e=ds.box,Or=r.bandScale.bandwidth(),Qi=_e.width<17,bn=D&&_e.width<41,_r=_e.width<23,Ht=ds.textSpills||bn,bt=null;L&&(bt=vm(B,_e.width));let x=bt?bt.rows.length:B.length>0?1:0,P=ve!==void 0||Cr!==null,j=VC(L,Ht,x,Or,P);j>0&&(_e.height=Or+j);let Y=[],$e=_e.y+Or-_n-13-3,Ce=_e.y+38+3,Ye=L&&Ht||!L&&P&&B.length>0?Math.max($e,Ce):$e,ge=L?_e.x+_e.width+6:_e.x+12,Ue=ge;if(bt)for(let ue=0;ue<bt.rows.length;ue+=1){let tt=Ye+ue*17,_t=ge;for(let ii of bt.rows[ue]){let l0=cm(ii.id,r.styleCtx,_t,tt);Y.push(l0),_t+=l0.box.width+4}let An=_t-4;An>Ue&&(Ue=An)}else{let ue=ge;for(let tt of B){let _t=cm(tt.id,r.styleCtx,ue,Ye);Y.push(_t),ue+=_t.box.width+4}Ue=B.length>0?ue-4:ge}let Ae=new Set;if(t.name){for(let[ue,tt]of r.footnoteHosts.entries())if(tt.includes(t.name)){let _t=r.footnoteIndex.get(ue);_t!==void 0&&Ae.add(_t)}}let Ke=[...Ae].sort((ue,tt)=>ue-tt),st=be??n??ae(i,"owner"),Jt=t.description?.text,ps=Ke.length>0&&_r,Qt=_e.x+_e.width+6,tn=!1,ff=null;bn&&(tn&&(Qt+=4),ff=Qt,Qt=ff+14,tn=!0);let K=0;if(Ht){tn&&(Qt+=4);let ue=Rn(Pr,13),tt=(ve?Rn(ve,11):0)+Tr;K=Math.max(ue,tt),Qt+=K,tn=!0}let le=null;ps&&(tn&&(Qt+=4),le=Qt,Qt+=Ke.length*8,tn=!0);let ze=null;Qi&&(tn&&(Qt+=4),ze=Qt+5,Qt=ze+5,tn=!0);let Lr=Math.max(_e.x+_e.width,Qt),eo=t.name;eo&&(r.entityLeftEdges.set(eo,E),r.entityRightEdges.set(eo,T));let ni=eo??WC(t);r.entityMidpoints.set(ni,{x:(E+T)/2,y:_e.y+_e.height/2}),r.entityVisualLeftX.set(ni,_e.x),r.entityVisualRightX.set(ni,_e.x+_e.width);let _m=Ht?{x:_e.x+_e.width,y:_e.y+_e.height-_n/2}:{x:_e.x+_e.width,y:_e.y+_e.height/2};r.itemArrowSource.set(ni,_m),r.itemFlowKey.set(ni,r.currentFlowKey);let df=Ht?_e.y+_e.height-_n/2:_e.y+_e.height/2;r.itemSlackAttachY.set(ni,df),e.x=T,e.maxX=Math.max(e.maxX,e.x),e.height=Math.max(e.height,r.bandScale.step()+j);let c0=iN({box:_e,afterDate:Vn(u),beforeDate:Vn(f),hasLinkIcon:D,footnoteCount:Ke.length});return{kind:"item",id:eo,title:Pr,box:_e,status:A,progressFraction:I,footnoteIndicators:Ke,labelChips:Y,chipsOutside:L,chipsRightX:Ue,linkIcon:S.icon,linkHref:S.href,hasOverflow:w,overflowBox:O,overflowAnchorId:$,owner:st,description:Jt,metaText:ve,textSpills:Ht,dotSpills:Qi,iconSpills:bn,footnoteSpills:ps,dotSpillCx:ze,iconSpillX:ff,footnoteSpillStartX:le,decorationsRightX:Lr,capacity:Cr,size:a,style:o,inlineDatePins:c0.length>0?c0:void 0}}function qG(t,e,r){return new Mh(t,{sequenceOne:ME,newCursor:wh}).place(e,r)}function WG(t,e,r){return new Dh(t,{sequenceItem:$E,sequenceOne:ME,resolveChildStart:KC,newCursor:wh,estimateTextWidth:Rn,predictItemChipExtraHeight:YC}).place(e,r)}function ME(t,e,r){if(gr(t))return $E(t,e,r);if(Wr(t))return qG(t,e,r);if(qr(t))return WG(t,e,r);throw new Error(`Unknown swimlane child type: ${t.$type??"unknown"}`)}function Rn(t,e){return t.length*e*.58}function WC(t){let e=t.$cstNode?.range.start;return`#item@${e?e.line+1:0}:${e?e.character+1:0}`}function VC(t,e,r,n,i){if(r===0)return 0;let o=n-_n-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+_n;return Math.max(0,l-n)}function YC(t,e){let r=t.properties,n=gt(r,"labels");if(n.length===0)return 0;let i=ji(r,e.sizes,e.cal),o=Math.max(Nr,i*e.timeline.pixelsPerDay),s=Math.max(Nr,o-2*Yr),a=[];for(let E of n){let T=e.labels.get(E);if(!T)continue;let v=cm(T,e.styleCtx,0,0);a.push({id:T,width:v.box.width})}if(a.length===0)return 0;let c=0;for(let E=0;E<a.length;E+=1)E>0&&(c+=4),c+=a[E].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?Rn(d,13):0)>l,y=u?vm(a,s):null,_=y?y.rows.length:a.length>0?1:0;return VC(u,m,_,e.bandScale.bandwidth(),f)}function KC(t,e,r,n){let i=vt(ae(t,"date"))??vt(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=vt(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 CE=6;function XC(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&&Rn(a,r)>e?(i.push(o),o=s):o=a}return o&&i.push(o),i}function VG(t,e){let r=q_-32,n=XC(t,r,16),i=XC(e??"",r,11),o=0;for(let d of n)o=Math.max(o,Rn(d,16));for(let d of i)o=Math.max(o,Rn(d,11));let s=o+32,a=Math.max(hN-CE,Math.min(q_-CE,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+CE;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=vt(a)??KG(n),l=ae(s,"length");if(l){let p=ZG(l,e.cal);if(p>0)return{startDate:c,endDate:Zo(c,p)}}let u=ZC(r,e,c,n),f=SC(i.unit,e.cal),d=u>0?Math.ceil(u/f)*f:4*e.cal.daysPerWeek;return{startDate:c,endDate:Zo(c,Math.max(1,d))}}function KG(t){let e=t??new Date;return new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()))}function ZG(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 ZC(t,e,r,n){let i=new Map,o=new Map,s=new Map,a=0,c=f=>{let d=vt(f);return d?kr(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=vt(ae(f.properties,"date"));if(d&&f.name){let p=kr(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(gr(f)){let p=ji(f.properties,e.sizes,e.cal),m=vt(ae(f.properties,"date")),y=vt(ae(f.properties,"start")),_=gt(f.properties,"after"),E=d;m?E=kr(r,m):y?E=kr(r,y):_.length>0&&(E=Math.max(d,..._.map(c)));let T=E+p;return f.name&&i.set(f.name,T),T}if(Wr(f)){let p=gt(f.properties,"after"),m=p.length>0?Math.max(d,...p.map(c)):d,y=m;for(let _ of f.content){if(_.$type==="DescriptionDirective")continue;let E=u(_,m);y=Math.max(y,E)}return y}if(qr(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=vt(ae(f.properties,"date"));if(d){let m=kr(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=ZC({config:f.config,content:f.content,diagnostics:[],processedFiles:new Set},e,r,void 0);a=Math.max(a,d)}if(n){let f=kr(r,n);f>0&&(a=Math.max(a,f))}return a}function JG(t,e,r,n){let i=new Th(Jk(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 y of f){let _=n.itemArrowSource.get(y),E,T=_===void 0;if(_)E=_;else{let v=n.entityMidpoints.get(y);if(!v)continue;E={x:v.x,y:d.y}}!T&&Math.abs(E.y-m.y)<.5&&m.x-E.x<20||(o.push({fromId:y,toId:l,from:E,to:m,isMarkerSource:T}),s.push({fromId:y,toId:l}))}}let a=Qk(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 QG(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=_h(r).nowLabel,a=Rn(s,Bu),c=Math.max(H_,Math.ceil(a+2*uc)),l=e.timeline.originX-Kr,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 eX(t){let e=new Map,r=n=>{if(gr(n)){e.set(n.name??WC(n),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 FE(t,e,r={}){return new am().place(t,e,r,{sequenceItem:$E,sequenceOne:ME,resolveChildStart:KC,newCursor:wh,estimateTextWidth:Rn,predictItemChipExtraHeight:YC,computeDateWindow:YG,sizeBesideHeader:VG,collectItems:eX,buildDependencies:JG,buildNowline:QG})}function UE(t){return t.toISOString().slice(0,10)}function tX(t){return t.id??t.title}function JC(t,e){for(let r of t)r.kind==="item"?e(r):JC(r.children,e)}function rX(t,e,r){let n=tX(t);t.textSpills&&r.push(ls(e,"NL.I1000","info",{name:n},n)),t.chipsOutside&&r.push(ls(e,"NL.I1001","info",{name:n},n)),(t.box.width<17||t.dotSpills||t.iconSpills||t.footnoteSpills)&&r.push(ls(e,"NL.I1002","info",{name:n},n)),t.hasOverflow&&r.push(ls(e,"NL.I1003","info",{name:n,anchor:t.overflowAnchorId},n))}function ls(t,e,r,n,i){return{message:Cu(t,e,n),severity:r,code:e,entityId:i,lspSeverity:r==="warning"?2:3,data:{code:e,args:n}}}function QC(t,e,r){let n=t.id??t.title,i=[];JC(t.children,a=>i.push(a));for(let a of i)rX(a,e,r);let o=new Set(i.map(a=>a.box.y));o.size>1&&r.push(ls(e,"NL.I1004","info",{lane:n,rows:o.size},n)),(t.utilization?.segments.some(a=>a.classification==="red")??!1)&&r.push(ls(e,"NL.I1005","info",{lane:n},n));for(let a of t.nested)QC(a,e,r)}function BE(t,e={}){let r=e.locale??"en-US",n=[];for(let i of t.swimlanes)QC(i,r,n);if(e.today){let i=e.today,o=t.timeline.startDate,s=t.timeline.endDate;(i<o||i>s)&&n.push(ls(r,"NL.W1000","warning",{date:UE(i),start:UE(o),end:UE(s)}))}return n}var us=class extends Error{constructor(e){super(e),this.name="TimezoneError"}};function GE(t){if(!t||t.toLowerCase()==="local")return{kind:"local"};if(t.toUpperCase()==="UTC")return{kind:"utc"};if(t==="Z")return{kind:"offset",ms:0};let e=/^([+-])(\d{2})(?::?(\d{2}))?$/.exec(t);if(e){let r=e[1]==="+"?1:-1,n=parseInt(e[2],10),i=e[3]!==void 0?parseInt(e[3],10):0;if(n>23||i>59)throw new us(`nowline: invalid timezone offset "${t}". Hours must be 0\u201323 and minutes 0\u201359.`);return{kind:"offset",ms:r*(n*60+i)*6e4}}try{return{kind:"iana",name:Intl.DateTimeFormat(void 0,{timeZone:t}).resolvedOptions().timeZone}}catch{throw new us(`nowline: unrecognised timezone "${t}". Use "local", "UTC", an ISO 8601 offset (e.g. "+05:30", "-07:00", "Z"), or an IANA timezone name (e.g. "America/Los_Angeles", "Asia/Kolkata").`)}}function pm(t,e){switch(e.kind){case"local":return new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate()));case"utc":return new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate()));case"offset":{let r=new Date(t.getTime()+e.ms);return new Date(Date.UTC(r.getUTCFullYear(),r.getUTCMonth(),r.getUTCDate()))}case"iana":{let r=new Intl.DateTimeFormat("en-CA",{timeZone:e.name,year:"numeric",month:"2-digit",day:"2-digit"}).formatToParts(t),n=0,i=0,o=0;for(let s of r)s.type==="year"?n=parseInt(s.value,10):s.type==="month"?i=parseInt(s.value,10)-1:s.type==="day"&&(o=parseInt(s.value,10));return new Date(Date.UTC(n,i,o))}}}var nX=/^(\d{4})-(\d{2})-(\d{2})$/,iX=/^(\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?)(Z|([+-])(\d{2})(?::?(\d{2}))?)$/,oX=/^(\d{4})-(\d{2})-(\d{2})T\d{2}:\d{2}:\d{2}(?:\.\d+)?$/;function XE(t={}){let e=t.zone??{kind:"local"},r=t.clock??(()=>new Date),n=t.now;if(!(n==="-"||n===null)){if(n instanceof Date)return n;if(n!==void 0){let i=nX.exec(n);if(i)return new Date(Date.UTC(parseInt(i[1],10),parseInt(i[2],10)-1,parseInt(i[3],10)));let o=iX.exec(n);if(o){let a=new Date(n);if(!Number.isNaN(a.getTime())){if(o[2]==="Z")return pm(a,{kind:"utc"});let l=o[3]==="+"?1:-1,u=parseInt(o[4],10),f=o[5]!==void 0?parseInt(o[5],10):0,d=l*(u*60+f)*6e4;return pm(a,{kind:"offset",ms:d})}}let s=oX.exec(n);return s?new Date(Date.UTC(parseInt(s[1],10),parseInt(s[2],10)-1,parseInt(s[3],10))):void 0}return pm(r(),e)}}function sX(t){return t===2?"warning":t===3?"info":"error"}function eP(t,e){return{severity:sX(t.severity),code:bm(t),message:t.message,suggestion:Rm(t.message),file:e,line:(t.range?.start.line??0)+1,column:(t.range?.start.character??0)+1}}function tP(t,e){return{severity:"error",code:"parse-error",message:t.message,file:e,line:t.token?.startLine??1,column:t.token?.startColumn??1}}function rP(t,e){return{severity:"error",code:"lex-error",message:t.message,file:e,line:t.line??1,column:t.column??1}}function nP(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 iP(t,e,r="warning"){return{severity:r,code:"render.warning",message:t,file:e,line:1,column:1}}function oP(t,e){return{severity:t.severity,code:t.code,message:t.message,file:e,line:1,column:1}}var sP="__nowline_browser_noop_include__";async function aP(t){throw new Error(`${sP}: include "${t}" was skipped \u2014 running in single-file mode.`)}function cP(t){return t.includes(sP)}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"}},aX={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"}},lP={...Ji,...aX};var tae={none:"",multiplier:"x",person:Ji.person.ascii,people:Ji.people.ascii,points:Ji.points.ascii,time:Ji.time.ascii};var hm=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 cX=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"]),lX=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 uX(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=fX(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}=dX(a);e.push({kind:s?"self":"open",name:c,attrs:l}),r=i+1}return e}function fX(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 dX(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 of(t){return t.replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function pX(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 uP(t,e={}){let r=e.idPrefix??"nl-logo",n=e.onWarn??(()=>{}),i=uX(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(of(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(!cX.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(!lX.has(p)){n(`sanitizer: dropping attribute ${p}`);continue}if(p==="href"||p==="xlink:href"){let y=pX(m,o);if(y===null){n(`sanitizer: dropping external href ${m}`);continue}f.push(` ${p}="${of(y)}"`);continue}if(p==="style"){n("sanitizer: dropping inline style");continue}if(p==="id"){let y=o.get(m);y&&f.push(` id="${of(y)}"`);continue}if(/\burl\(#/i.test(m)){let y=m.replace(/url\(#([^)]+)\)/gi,(_,E)=>{let T=o.get(E);return T?`url(#${T})`:"none"});f.push(` ${p}="${of(y)}"`);continue}if(/data:|javascript:|vbscript:/i.test(m)){n(`sanitizer: dropping suspicious value at ${p}`);continue}f.push(` ${p}="${of(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 fP=/&/g,dP=/</g,pP=/>/g,hX=/"/g,mX=/'/g;function cr(t){return t.replace(fP,"&").replace(dP,"<").replace(pP,">")}function ei(t){return t.replace(fP,"&").replace(dP,"<").replace(pP,">").replace(hX,""").replace(mX,"'")}function bc(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}${bc(e)}/>`:`<${t}${bc(e)}>${r}</${t}>`}function Le(t,e){return`<text${bc(t)}>${cr(e)}</text>`}function h(t){return Number.isFinite(t)?Number.isInteger(t)?t.toString():(Math.round(t*100)/100).toString():"0"}var gX={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 yX(t,e){let r=`${t}-shadow-${e}`,n=gX[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 hP(t,e){return e==="none"?null:`url(#${t}-shadow-${e})`}function mP(t){return["subtle","soft","hard"].map(e=>yX(t,e)).join("")}var vX={thin:100,light:300,normal:400,bold:700};function wX(t){return cc[t]??14}function zE(t,e,r){return{"font-family":e[t.font],"font-size":r??wX(t.textSize),"font-weight":vX[t.weight]??400,"font-style":t.italic?"italic":"normal",fill:t.text}}function RX(t){if(t.border==="dashed")return"4 3";if(t.border==="dotted")return"1 3"}function bX(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 AX(t,e){return bX(t)>=.24?e.statusDot.onLight:e.statusDot.onDark}function HE(t,e){return t.length*e*.58}function TP(t,e,r,n,i,o,s){let a=i*.58,c=e?HE(e,i):0,l=e?a:0,u=r+c+l,{text:f,icon:d}=t,p=HE(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 _=Ji[d.name],E=Le({x:h(u),y:h(n),...m},f),T=i*.1,v=i,S=u+p+T,D=n-i*.85,N=`<svg x="${h(S)}" y="${h(D)}" width="${h(v)}" height="${h(v)}" viewBox="${_.viewBox}" style="color:${ei(s)}" aria-hidden="true">${_.body}</svg>`;return E+N}let y=h(i*.1);return`<text x="${h(u)}" y="${h(n)}" font-family="${ei(o)}" font-size="${i}" fill="${ei(s)}">${cr(f)}<tspan dx="${y}">${cr(d.text)}</tspan></text>`}var gP=.6,IX=.5;function SX(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 TP(r,void 0,n,i,o,s,a);let l=h(o*gP),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+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 N=h(o*.1);return u+cr(e)+`<tspan dx="${l}">${cr(f)}</tspan><tspan dx="${N}">${cr(d.text)}</tspan></text>`}let p=Ji[d.name],m=N=>N.length*o*IX,y=n+m(e)+o*gP,_=o*.1,E=o,T=y+m(f)+_,v=i-o*.85,S=u+cr(e)+`<tspan dx="${l}">${cr(f)}</tspan></text>`,D=`<svg x="${h(T)}" y="${h(v)}" width="${h(E)}" height="${h(E)}" viewBox="${p.viewBox}" style="color:${ei(a)}" aria-hidden="true">${p.body}</svg>`;return S+D}function kX(t,e){let r=lP.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>${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 jE(t,e){return!t||t.length===0?"":t.map(r=>kX(r,e)).join("")}function NX(t,e,r,n,i,o={}){let s=Math.min(Rh[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":RX(i)??null,...o})}function CX(t,e,r,n){let i=t.box.x+t.cardBox.x,o=t.box.y+t.cardBox.y,s=t.cardBox.width,a=t.cardBox.height,c=t.style.bg==="none"?r.surface.headerBox:t.style.bg,l=r.header.cardBorder,u=Q("rect",{x:h(i),y:h(o),width:h(s),height:h(a),rx:6,ry:6,fill:c,stroke:l,"stroke-width":1,filter:`url(#${e}-shadow-subtle)`}),f=[];t.titleLines.forEach((E,T)=>{f.push(Le({x:h(i+16),y:h(o+26+T*20),"font-family":n[t.style.font],"font-size":16,"font-weight":600,fill:t.style.text},E))});let d=f.join(""),p=o+26+Math.max(0,t.titleLines.length-1)*20,m=r.header.author,y=[];t.authorLines.forEach((E,T)=>{y.push(Le({x:h(i+16),y:h(p+18+T*14),"font-family":n[t.style.font],"font-size":11,fill:m},E))});let _=y.join("");return Q("g",{"data-layer":"header","data-id":`${e}-header`},u+d+_)}function PX(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,r){let n=e.timeline.panelFill,i=e.timeline.border,o=e.timeline.labelText,s=[],a=t.tickPanelY,c=t.tickPanelHeight,l=c>0,u=t.markerRow.height>0,f=a+c,d=t.markerRow.height,p=t.bottomTickPanelY,m=t.bottomTickPanelHeight??0,y=p!==void 0&&m>0;l&&s.push(Q("rect",{x:h(t.box.x),y:h(a),width:h(t.box.width),height:h(c),rx:4,ry:4,fill:n,stroke:i,"stroke-width":1})),u&&s.push(Q("rect",{x:h(t.box.x),y:h(f),width:h(t.box.width),height:h(d),rx:4,ry:4,fill:n,stroke:i,"stroke-width":1})),y&&s.push(Q("rect",{x:h(t.box.x),y:h(p),width:h(t.box.width),height:h(m),rx:4,ry:4,fill:n,stroke:i,"stroke-width":1}));for(let _ of t.ticks)_.major&&(!_.label||_.labelX===void 0||(l&&s.push(Le({x:h(_.labelX),y:h(a+bh),"font-family":r.sans,"font-size":10,fill:o,"text-anchor":"middle"},_.label)),y&&s.push(Le({x:h(_.labelX),y:h(p+bh),"font-family":r.sans,"font-size":10,fill:o,"text-anchor":"middle"},_.label))));return Q("g",{"data-layer":"timeline"},s.join(""))}function LX(t,e,r){if(!t)return"";let n=e.nowline.stroke,i=e.nowline.labelText,o=Q("line",{x1:h(t.x),y1:h(t.topY),x2:h(t.x),y2:h(t.bottomY),stroke:n,"stroke-width":Nh}),s=DX(t,n),a=$X(t,i,r);return Q("g",{"data-layer":"nowline"},o+s+a)}function _P(t){let e=Nh/2;return t.pillMode==="flag-right"?t.x-e:t.pillMode==="flag-left"?t.x+e:t.x}function DX(t,e){let r=t.pillTopY,n=t.pillTopY+qi,i=z_,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=_P(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 $X(t,e,r){let n=t.pillTopY+j_,i=_P(t),o,s;return t.pillMode==="center"?(o=t.x,s="middle"):t.pillMode==="flag-right"?(o=i+uc,s="start"):(o=i-uc,s="end"),Le({x:h(o),y:h(n),"font-family":r.sans,"font-size":Bu,"font-weight":700,fill:e,"text-anchor":s},t.label)}function MX(t,e,r,n,i){let o=[],s=hP(r,t.style.shadow);o.push(NX(t.box.x,t.box.y,t.box.width,t.box.height,t.style,{filter:s??null}));let a=AX(t.style.bg,n),c={done:a.done,"in-progress":a.inProgress,"at-risk":a.atRisk,blocked:a.blocked,planned:a.planned,neutral:a.neutral},l=c[t.status]??c.neutral;if(t.progressFraction>0){let _=Math.max(0,Math.min(t.box.width,t.box.width*t.progressFraction));o.push(Q("rect",{x:h(t.box.x),y:h(t.box.y+t.box.height-_n),width:h(_),height:_n,fill:t.style.fg,opacity:.55}))}let u=t.dotSpills&&t.dotSpillCx!==null?t.dotSpillCx:t.box.x+t.box.width-12;o.push(Q("circle",{cx:h(u),cy:h(t.box.y+12),r:5,fill:l})),o.push(jE(t.inlineDatePins,t.style.fg));let f;t.textSpills?(f=t.box.x+t.box.width+6,t.iconSpills&&(f+=18)):f=t.box.x+12;let d=t.style.text,p=n.entities.item.text,m=t.textSpills?p:d,y=t.textSpills?p:t.style.fg;if(t.title&&o.push(Le({x:h(f),y:h(t.box.y+20),"font-family":i[t.style.font],"font-size":13,"font-weight":600,fill:m},t.title)),(t.metaText||t.capacity)&&o.push(SX({metaText:t.metaText,capacity:t.capacity,x:f,baselineY:t.box.y+38,fontSize:11,fontFamily:i[t.style.font],color:y})),t.footnoteIndicators.length>0){let _=t.box.y+14;if(t.footnoteSpills&&t.footnoteSpillStartX!==null){let E=t.footnoteSpillStartX;for(let T=0;T<t.footnoteIndicators.length;T++){let v=t.footnoteIndicators[T];o.push(Le({x:h(E),y:h(_),"font-family":i.sans,"font-size":10,"font-weight":700,fill:p},String(v))),E+=8}}else{let E=t.box.x+t.box.width-22;for(let T=t.footnoteIndicators.length-1;T>=0;T--){let v=t.footnoteIndicators[T];o.push(Le({x:h(E),y:h(_),"font-family":i.sans,"font-size":10,"font-weight":700,fill:t.style.text,"text-anchor":"end"},String(v))),E-=8}}}if(!e.noLinks&&t.linkIcon&&t.linkIcon!=="none"){let _={linear:"#5e6ad2",github:"#0f172a",jira:"#0052cc",generic:n.item.linkIconFg},E=_[t.linkIcon]??_.generic,T=14,v=t.iconSpills&&t.iconSpillX!==null?t.iconSpillX:t.box.x+6,S=t.box.y+6,D=Q("rect",{x:h(v),y:h(S),width:T,height:T,rx:2,ry:2,fill:E}),N=v,M=S,B=Q("path",{d:`M${h(N+4)} ${h(M+10)} L${h(N+10)} ${h(M+4)} M${h(N+6)} ${h(M+4)} H${h(N+10)} V${h(M+8)}`,stroke:"#ffffff",fill:"none","stroke-width":1.1,"stroke-linecap":"round","stroke-linejoin":"round"}),G=D+B,oe=t.linkHref?Q("a",{href:t.linkHref,target:"_blank",rel:"noopener"},G):G;o.push(oe)}if(t.hasOverflow&&t.overflowBox){let _=n.item.overflowTailFill,E=n.item.overflowTailStroke,T=n.item.overflowCaption;o.push(Q("rect",{x:h(t.overflowBox.x),y:h(t.overflowBox.y),width:h(t.overflowBox.width),height:h(t.overflowBox.height),fill:_,stroke:E,"stroke-width":1})),t.overflowAnchorId&&t.overflowBox.width>60&&o.push(Le({x:h(t.overflowBox.x+t.overflowBox.width/2),y:h(t.overflowBox.y+t.overflowBox.height/2+3),"font-family":i.sans,"font-size":9,"font-weight":700,fill:T,"text-anchor":"middle"},`past ${t.overflowAnchorId}`))}for(let _ of t.labelChips){let E=Math.min(Rh[_.style.cornerRadius]??8,_.box.height/2);o.push(Q("rect",{x:h(_.box.x),y:h(_.box.y),width:h(_.box.width),height:h(_.box.height),rx:h(E),ry:h(E),fill:_.style.bg==="none"?"transparent":_.style.bg,stroke:_.style.fg,"stroke-width":.5})),o.push(Le({x:h(_.box.x+_.box.width/2),y:h(_.box.y+_.box.height/2+3),...zE(_.style,i,cc.xs),"text-anchor":"middle"},_.text))}return Q("g",{"data-layer":"item","data-id":t.id??null},o.join(""))}function FX(t,e,r,n,i){let o=[];if(t.style.bg!=="none"&&t.style.bg!=="#ffffff"){if(o.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 a=t.title.length*G_+2*Sh,c=t.box.x,l=t.box.y,u=Uu,f=6,d=`M${h(c+f)} ${h(l)}H${h(c+a)}V${h(l+u-f)}A${f} ${f} 0 0 1 ${h(c+a-f)} ${h(l+u)}H${h(c)}V${h(l+f)}A${f} ${f} 0 0 1 ${h(c+f)} ${h(l)}Z`;o.push(Q("path",{d,fill:t.style.fg})),o.push(Le({x:h(c+Sh),y:h(l+U_),"font-family":i[t.style.font],"font-size":B_,"font-weight":600,fill:"#ffffff"},t.title))}}else{let a=t.style.fg;if(t.style.bracket!=="none"){let l=t.box.y+t.box.height,u=t.style.bracket==="dashed"?"3 2":null,f=t.title?`M${h(t.box.x+4)} ${h(t.box.y-lc)} L${h(t.box.x)} ${h(t.box.y-lc)} L${h(t.box.x)} ${h(l)} L${h(t.box.x+4)} ${h(l)}`:`M${h(t.box.x)} ${h(t.box.y)} L${h(t.box.x)} ${h(l)} L${h(t.box.x+4)} ${h(l)}`;o.push(Q("path",{d:f,fill:"none",stroke:a,"stroke-width":1,"stroke-dasharray":u}))}t.title&&o.push(Le({x:h(t.box.x+6),y:h(t.box.y-2),...zE(t.style,i,cc.xs),"fill-opacity":.7},t.title))}o.push(jE(t.inlineDatePins,t.style.fg));for(let a of t.children)o.push(qE(a,e,r,n,i));return Q("g",{"data-layer":"group","data-id":t.id??null},o.join(""))}function UX(t,e,r,n,i){let o=[];if(t.style.bracket==="solid"||t.style.bracket==="dashed"){let c=t.box.y-12,l=t.box.y+t.box.height+12,u=t.box.x,f=t.box.x+t.box.width,d=n.parallel.bracketStroke;o.push(Q("path",{d:`M${h(u+4)} ${h(c)} H${h(u)} V${h(l)} H${h(u+4)}`,fill:"none",stroke:d,"stroke-width":1.25,"stroke-dasharray":t.style.bracket==="dashed"?"3 3":null,"stroke-linejoin":"round"})),o.push(Q("path",{d:`M${h(f-4)} ${h(c)} H${h(f)} V${h(l)} H${h(f-4)}`,fill:"none",stroke:d,"stroke-width":1.25,"stroke-dasharray":t.style.bracket==="dashed"?"3 3":null,"stroke-linejoin":"round"}))}t.title&&o.push(Le({x:h(t.box.x+4),y:h(t.box.y-2),...zE(t.style,i,cc.xs),"fill-opacity":.7},t.title)),o.push(jE(t.inlineDatePins,t.style.fg));for(let s of t.children)o.push(qE(s,e,r,n,i));return Q("g",{"data-layer":"parallel","data-id":t.id??null},o.join(""))}function qE(t,e,r,n,i){return t.kind==="item"?MX(t,e,r,n,i):t.kind==="group"?FX(t,e,r,n,i):UX(t,e,r,n,i)}var yP=2;function BX(t,e){switch(t){case"green":return e.swimlane.utilizationOk;case"yellow":return e.swimlane.utilizationWarn;case"red":return e.swimlane.utilizationOver}}function GX(t,e){if(!t.utilization||t.utilization.segments.length===0)return"";let r=t.box.y+t.box.height-yP,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:yP,fill:BX(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 XX(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 EP(t,e,r,n,i){let o=n.swimlane.tabFill,s=n.swimlane.tabStroke,a=n.swimlane.tabText,c=n.swimlane.ownerText,l=n.swimlane.footnoteIndicator,u=[];if(t.title){let d=t.capacity?to(t.capacity.text,t.capacity.icon,10):0,p=t.footnoteIndicators.length>0?t.footnoteIndicators.join(","):"",m=p?HE(p,10):0,y=kc(t.box.x,t.title,t.owner,d,m),_=Ah,E=t.box.y+10,T=E+Ih;u.push(Q("rect",{x:h(y.tabX),y:h(E),width:h(y.tabW),height:h(_),rx:4,ry:4,fill:o,stroke:s,"stroke-width":1})),u.push(Le({x:h(y.titleX),y:h(T),"font-family":i[t.style.font],"font-size":12,"font-weight":600,fill:a},t.title)),t.owner&&u.push(Le({x:h(y.ownerX),y:h(T),"font-family":i[t.style.font],"font-size":10,fill:c},`owner: ${t.owner}`)),t.capacity&&u.push(TP(t.capacity,void 0,y.badgeX,T,10,i[t.style.font],c)),p&&u.push(Le({x:h(y.footnoteRightX),y:h(E+14),"font-family":i.sans,"font-size":10,"font-weight":700,fill:l,"text-anchor":"end"},p))}for(let f of t.children)u.push(qE(f,e,r,n,i));return u.push(GX(t,n)),Q("g",{"data-layer":"swimlane","data-id":t.id??null},u.join(""))}function HX(t,e,r){let n=t.radius,i=t.center.x,o=t.center.y,s=e.anchorDiamond.fill,a=e.anchorDiamond.stroke,c=Q("path",{d:`M${h(i)} ${h(o-n)} L${h(i+n)} ${h(o)} L${h(i)} ${h(o+n)} L${h(i-n)} ${h(o)} Z`,fill:s,stroke:a,"stroke-width":1.25}),l=e.anchorDiamond.label,u=t.labelSide==="left"?t.labelBox.x+t.labelBox.width:t.labelBox.x,f={x:h(u),y:h(o+4),"font-family":r.sans,"font-size":10,fill:l};t.labelSide==="left"&&(f["text-anchor"]="end");let d=t.title?Le(f,t.title):"";return Q("g",{"data-layer":"anchor","data-id":t.id??null},c+d)}function zX(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 jX(t,e,r){let n=t.center.x,i=t.center.y,o=t.radius,s=e.milestoneDiamond.fill,a=Q("path",{d:`M${h(n)} ${h(i-o)} L${h(n+o)} ${h(i)} L${h(n)} ${h(i+o)} L${h(n-o)} ${h(i)} Z`,fill:s,stroke:s,"stroke-width":1}),c=e.milestoneDiamond.label,l=t.labelSide==="left"?t.labelBox.x+t.labelBox.width:t.labelBox.x,u={x:h(l),y:h(i+4),"font-family":r.sans,"font-size":10,"font-weight":600,fill:c};t.labelSide==="left"&&(u["text-anchor"]="end");let f=t.title?Le(u,t.title):"";return Q("g",{"data-layer":"milestone","data-id":t.id??null},a+f)}function qX(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":kh,"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 xP(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:WX(n,J_),fill:"none",stroke:r,"stroke-width":i,"stroke-dasharray":t.kind==="overflow"?"4 2":null,"stroke-linejoin":"round","marker-end":"url(#nl-arrow)"})}function WX(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},y={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(y.x)} ${h(y.y)}`)}return r.join(" ")}function VX(t,e,r,n){if(t.entries.length===0)return"";let i=r.footnotePanel.fill,o=r.footnotePanel.border,s=r.footnotePanel.header,a=r.footnotePanel.title,c=r.footnotePanel.description,l=r.footnotePanel.number,u=[];u.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:i,stroke:o,"stroke-width":1,filter:`url(#${e}-shadow-subtle)`})),u.push(Le({x:h(t.box.x+Zr),y:h(t.box.y+W_),"font-family":n.sans,"font-size":12,"font-weight":700,fill:s},"Footnotes"));let f=t.box.y+Gu+Zr,d=t.box.x+Zr,p=d+Zr;return t.entries.forEach((m,y)=>{let _=f+y*Xu;u.push(Le({x:h(d),y:h(_),"font-family":n.sans,"font-size":10,"font-weight":700,fill:l},String(m.number))),u.push(Le({x:h(p),y:h(_),"font-family":n.sans,"font-size":11,"font-weight":600,fill:a},m.title)),m.description&&u.push(Le({x:h(p+Math.max(120,m.title.length*6)),y:h(_),"font-family":n.sans,"font-size":11,fill:c},`\u2014 ${m.description}`))}),Q("g",{"data-layer":"footnotes"},u.join(""))}function YX(t,e,r,n,i){let o=n.includeRegion.border,s=n.includeRegion.fill,a=n.includeRegion.tabFill,c=n.includeRegion.tabStroke,l=n.includeRegion.tabText,u=n.includeRegion.badgeFill,f=n.includeRegion.badgeStroke,d=n.includeRegion.badgeText,p=t.box.x+8,m=t.box.y,y=t.box.width-16,_=t.box.height,E=Q("rect",{x:h(p),y:h(m),width:h(y),height:h(_),rx:8,ry:8,fill:s,stroke:o,"stroke-width":1,"stroke-dasharray":kh}),T=Ah,v=Nc(t.box.x,t.label,t.sourcePath),S=m-T/2,D=Q("rect",{x:h(v.tabX),y:h(S),width:h(v.tabWidth),height:T,rx:4,ry:4,fill:a,stroke:c,"stroke-width":1}),N=Le({x:h(v.tabLabelX),y:h(S+Ih),"font-family":i.sans,"font-size":11,"font-weight":600,fill:l},t.label),M=v.badgeX,B=v.badgeSize,G=m-B/2,oe=Q("rect",{x:h(M),y:h(G),width:B,height:B,rx:4,ry:4,fill:u,stroke:f,"stroke-width":1}),L=Q("path",{d:`M${h(M+7)} ${h(G+4)} H${h(M+14)} V${h(G+11)} M${h(M+4)} ${h(G+7)} H${h(M+11)} V${h(G+14)} H${h(M+4)} Z`,stroke:d,"stroke-width":1.4,fill:"none","stroke-linecap":"round","stroke-linejoin":"round"}),w=9,O=m+4,$=Q("rect",{x:h(v.sourceHaloX),y:h(O-w),width:h(v.sourceHaloWidth),height:w+6,fill:s}),b=Le({x:h(v.sourceTextX),y:h(O),"font-family":i.mono,"font-size":w,fill:d},t.sourcePath),A=t.nestedSwimlanes.map(I=>EP(I,e,r,n,i)).join("");return Q("g",{"data-layer":"include"},E+A+D+N+oe+L+$+b)}function KX(t,e){let r=t.palette.attribution.mark,n=t.palette.attribution.link;if(t.swimlanes.length===0)return"";let i=t.header.attributionBox.x,o=t.header.attributionBox.y,s=Wi,a=Le({x:"0",y:s,"font-family":e.sans,"font-size":Oh,"font-weight":400,fill:r},Ph)+Le({x:zu,y:s,"font-family":e.sans,"font-size":Wi,"font-weight":700,fill:r},"now")+Q("rect",{x:Y_,y:12,width:K_,height:Wi,fill:n})+Le({x:Lh,y:s,"font-family":e.sans,"font-size":Wi,"font-weight":400,fill:r},"ine"),c=Q("g",{transform:`translate(${h(i)} ${h(o)}) scale(${h(Hu)})`},a);return Q("a",{href:V_,target:"_blank",rel:"noopener","aria-label":"Powered by nowline"},Q("g",{"data-layer":"attribution"},c))}async function ZX(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=uP(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=JX(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 JX(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 hm(e.idPrefix??"nl").next("root"),i=t.palette,o=e.fontFamilies??Q_,s=[],a=i.arrowhead.neutral,c=i.arrowhead.light,l=i.arrowhead.dark,u=(p,m)=>`<marker id="${p}" 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="${m}"/></marker>`,f=`<defs>${mP(n)}`+u("nl-arrow",a)+u("nl-arrow-light",c)+u("nl-arrow-dark",l)+"</defs>";s.push(f),s.push(Q("rect",{x:0,y:0,width:h(t.width),height:h(t.height),fill:t.backgroundColor})),s.push(OX(t.timeline,i,o));for(let p of t.swimlanes)s.push(XX(p,i));s.push(PX(t.timeline,t.chartBox.y,i));for(let p of t.edges)p.kind==="underBar"&&s.push(xP(p,i));for(let p of t.swimlanes)s.push(EP(p,e,n,i,o));for(let p of t.includes)s.push(YX(p,e,n,i,o));for(let p of t.edges)p.kind!=="underBar"&&s.push(xP(p,i));for(let p of t.anchors)s.push(zX(p,i));for(let p of t.milestones)s.push(qX(p,i));for(let p of t.anchors)s.push(HX(p,i,o));for(let p of t.milestones)s.push(jX(p,i,o));if(s.push(LX(t.nowline,i,o)),s.push(VX(t.footnotes,n,i,o)),s.push(CX(t.header,n,i,o)),s.push(KX(t,o)),t.header.logo&&e.assetResolver){let p=await ZX(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));p&&s.push(p)}return`<svg${bc({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"})}>${s.join("")}</svg>`}var VE="/browser-source.nowline",QX={error:3,warning:2,info:1},eH={error:3,warning:2,info:1};function vP(t,e){return QX[t]>=eH[e]}var mm,wP=0;function RP(){return mm||(mm=N_()),mm}function tH(){return ht.parse(`memory:///nowline-browser-${++wP}.nowline`)}async function gm(t,e={}){let r=e.filePath??VE,n=RP(),o=n.shared.workspace.LangiumDocumentFactory.fromString(t,tH());await n.shared.workspace.DocumentBuilder.build([o],{validation:!0});let s=[];for(let a of wm(o))a.origin==="lexer"?s.push(rP(a.error,r)):a.origin==="parser"?s.push(tP(a.error,r)):s.push(eP(a.diagnostic,r));return{ast:o.parseResult.value,diagnostics:s}}async function YE(t,e={}){let r=e.filePath??VE,n=await gm(t,{filePath:r});if(n.diagnostics.some(T=>T.severity==="error"))return{kind:"diagnostics",diagnostics:n.diagnostics};let i=RP(),o=e.readFile??aP,s=await T_(n.ast,r,{services:i.Nowline,readFile:o}),a=[...n.diagnostics];for(let T of s.diagnostics){if(T.severity==="error"&&cP(T.message)){e.onSkippedInclude?.({sourcePath:T.sourcePath,message:T.message});continue}a.push(nP(T))}if(a.some(T=>T.severity==="error"))return{kind:"diagnostics",diagnostics:a};let c;if(e.timezone)try{c=GE(e.timezone)}catch(T){if(T instanceof us)return{kind:"diagnostics",diagnostics:[{severity:"error",code:"invalid-timezone",message:T.message,file:r,line:1,column:1}]};throw T}let l=XE({now:e.today,zone:c}),u=FE(n.ast,s,{theme:e.theme,today:l,locale:e.locale,width:e.width}),f=e.diagnosticLevel??"error",d=BE(u,{today:l??void 0,locale:e.locale??"en-US"}).map(T=>oP(T,r)),p=e.showLinks!==!1,m=e.strict===!0,y=[],_=await WE(u,{idPrefix:e.idPrefix,assetResolver:e.assetResolver,noLinks:!p,strict:m,warn:T=>y.push(T),fontFamilies:e.fontFamilies}),E=[...d,...y.map(T=>iP(T,r,m?"error":"warning"))].filter(T=>vP(T.severity,f));return m&&E.length>0?{kind:"diagnostics",diagnostics:[...a,...E]}:{kind:"svg",svg:_,warnings:E}}function KE(){mm=void 0,wP=0}var bP="/embed.nowline",ZE=!1;async function AP(t){let{ast:e,diagnostics:r}=await gm(t,{filePath:bP});return{ast:e,errors:r.filter(n=>n.severity==="error").map(n=>n.message)}}async function ym(t,e={}){let r={filePath:bP,theme:e.theme,today:e.today,timezone:e.timezone,locale:e.locale,width:e.width,idPrefix:e.idPrefix,onSkippedInclude:()=>{ZE||(ZE=!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 YE(t,r);if(n.kind==="svg")return n.svg;let i=n.diagnostics.filter(o=>o.severity==="error").map(o=>o.message);throw new sf(`Failed to render Nowline source: ${i.join("; ")}`,i)}var sf=class extends Error{constructor(r,n){super(r);de(this,"details",n);this.name="EmbedRenderError"}};function IP(){ZE=!1,KE()}var en=Uint8Array,xr=Uint16Array,r0=Int32Array,n0=new en([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]),i0=new en([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]),SP=new en([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),PP=function(t,e){for(var r=new xr(31),n=0;n<31;++n)r[n]=e+=1<<t[n-1];for(var i=new r0(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}},OP=PP(n0,2),rH=OP.b,QE=OP.r;rH[28]=258,QE[258]=28;var LP=PP(i0,0),Nae=LP.b,kP=LP.r,e0=new xr(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,e0[Fe]=((ti&65280)>>8|(ti&255)<<8)>>1;var ti,Fe,lf=(function(t,e,r){for(var n=t.length,i=0,o=new xr(e);i<n;++i)t[i]&&++o[t[i]-1];var s=new xr(e);for(i=1;i<e;++i)s[i]=s[i-1]+o[i-1]<<1;var a;if(r){a=new xr(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[e0[f]>>c]=l}else for(a=new xr(n),i=0;i<n;++i)t[i]&&(a[i]=e0[s[t[i]-1]++]>>15-t[i]);return a}),fs=new en(288);for(Fe=0;Fe<144;++Fe)fs[Fe]=8;var Fe;for(Fe=144;Fe<256;++Fe)fs[Fe]=9;var Fe;for(Fe=256;Fe<280;++Fe)fs[Fe]=7;var Fe;for(Fe=280;Fe<288;++Fe)fs[Fe]=8;var Fe,xm=new en(32);for(Fe=0;Fe<32;++Fe)xm[Fe]=5;var Fe,nH=lf(fs,9,0);var iH=lf(xm,5,0);var DP=function(t){return(t+7)/8|0},oH=function(t,e,r){return(e==null||e<0)&&(e=0),(r==null||r>t.length)&&(r=t.length),new en(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},af=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},JE=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:MP,l:0};if(i==1){var s=new en(r[0].s+1);return s[r[0].s]=1,{t:s,l:1}}r.sort(function(D,N){return D.f-N.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 xr(d+1),m=t0(r[u-1],p,0);if(m>e){var n=0,y=0,_=m-e,E=1<<_;for(o.sort(function(N,M){return p[M.s]-p[N.s]||N.f-M.f});n<i;++n){var T=o[n].s;if(p[T]>e)y+=E-(1<<m-p[T]),p[T]=e;else break}for(y>>=_;y>0;){var v=o[n].s;p[v]<e?y-=1<<e-p[v]++-1:++n}for(;n>=0&&y;--n){var S=o[n].s;p[S]==e&&(--p[S],++y)}m=e}return{t:new en(p),l:m}},t0=function(t,e,r){return t.s==-1?Math.max(t0(t.l,e,r+1),t0(t.r,e,r+1)):e[t.s]=r},NP=function(t){for(var e=t.length;e&&!t[--e];);for(var r=new xr(++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}},cf=function(t,e){for(var r=0,n=0;n<e.length;++n)r+=t[n]*e[n];return r},$P=function(t,e,r){var n=r.length,i=DP(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},CP=function(t,e,r,n,i,o,s,a,c,l,u){ri(e,u++,r),++i[256];for(var f=JE(i,15),d=f.t,p=f.l,m=JE(o,15),y=m.t,_=m.l,E=NP(d),T=E.c,v=E.n,S=NP(y),D=S.c,N=S.n,M=new xr(19),B=0;B<T.length;++B)++M[T[B]&31];for(var B=0;B<D.length;++B)++M[D[B]&31];for(var G=JE(M,7),oe=G.t,L=G.l,w=19;w>4&&!oe[SP[w-1]];--w);var O=l+5<<3,$=cf(i,fs)+cf(o,xm)+s,b=cf(i,d)+cf(o,y)+s+14+3*w+cf(M,oe)+2*M[16]+3*M[17]+7*M[18];if(c>=0&&O<=$&&O<=b)return $P(e,u,t.subarray(c,c+l));var A,I,F,z;if(ri(e,u,1+(b<$)),u+=2,b<$){A=lf(d,p,0),I=d,F=lf(y,_,0),z=y;var U=lf(oe,L,0);ri(e,u,v-257),ri(e,u+5,N-1),ri(e,u+10,w-4),u+=14;for(var B=0;B<w;++B)ri(e,u+3*B,oe[SP[B]]);u+=3*w;for(var W=[T,D],Z=0;Z<2;++Z)for(var pe=W[Z],B=0;B<pe.length;++B){var V=pe[B]&31;ri(e,u,U[V]),u+=oe[V],V>15&&(ri(e,u,pe[B]>>5&127),u+=pe[B]>>12)}}else A=nH,I=fs,F=iH,z=xm;for(var B=0;B<a;++B){var te=n[B];if(te>255){var V=te>>18&31;af(e,u,A[V+257]),u+=I[V+257],V>7&&(ri(e,u,te>>23&31),u+=n0[V]);var De=te&31;af(e,u,F[De]),u+=z[De],De>3&&(af(e,u,te>>5&8191),u+=i0[De])}else af(e,u,A[te]),u+=I[te]}return af(e,u,A[256]),u+I[256]},sH=new r0([65540,131080,131088,131104,262176,1048704,1048832,2114560,2117632]),MP=new en(0),aH=function(t,e,r,n,i,o){var s=o.z||t.length,a=new en(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=sH[e-1],d=f>>13,p=f&8191,m=(1<<r)-1,y=o.p||new xr(32768),_=o.h||new xr(m+1),E=Math.ceil(r/3),T=2*E,v=function(me){return(t[me]^t[me+1]<<E^t[me+2]<<T)&m},S=new r0(25e3),D=new xr(288),N=new xr(32),M=0,B=0,G=o.i||0,oe=0,L=o.w||0,w=0;G+2<s;++G){var O=v(G),$=G&32767,b=_[O];if(y[$]=b,_[O]=$,L<=G){var A=s-G;if((M>7e3||oe>24576)&&(A>423||!l)){u=CP(t,c,0,S,D,N,B,oe,w,G-w,u),oe=M=B=0,w=G;for(var I=0;I<286;++I)D[I]=0;for(var I=0;I<30;++I)N[I]=0}var F=2,z=0,U=p,W=$-b&32767;if(A>2&&O==v(G-W))for(var Z=Math.min(d,A)-1,pe=Math.min(32767,G),V=Math.min(258,A);W<=pe&&--U&&$!=b;){if(t[G+F]==t[G+F-W]){for(var te=0;te<V&&t[G+te]==t[G+te-W];++te);if(te>F){if(F=te,z=W,te>Z)break;for(var De=Math.min(W,te-2),Ne=0,I=0;I<De;++I){var Xe=G-W+I&32767,q=y[Xe],J=Xe-q&32767;J>Ne&&(Ne=J,b=Xe)}}}$=b,b=y[$],W+=$-b&32767}if(z){S[oe++]=268435456|QE[F]<<18|kP[z];var re=QE[F]&31,C=kP[z]&31;B+=n0[re]+i0[C],++D[257+re],++N[C],L=G+F,++M}else S[oe++]=t[G],++D[t[G]]}}for(G=Math.max(G,L);G<s;++G)S[oe++]=t[G],++D[t[G]];u=CP(t,c,l,S,D,N,B,oe,w,G-w,u),l||(o.r=u&7|c[u/8|0]<<3,u-=7,o.h=_,o.p=y,o.i=G,o.w=L)}else{for(var G=o.w||0;G<s+l;G+=65535){var be=G+65535;be>=s&&(c[u/8|0]=l,be=s),u=$P(c,u+1,t.subarray(G,be))}o.i=s}return oH(a,0,n+DP(u)+i)};var FP=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}}},cH=function(t,e,r,n,i){if(!i&&(i={l:1},e.dictionary)){var o=e.dictionary.subarray(-32768),s=new en(o.length+t.length);s.set(o),s.set(t,o.length),t=s,i.w=o.length}return aH(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 UP=function(t,e,r){for(;r;++e)t[e]=r,r>>>=8};var lH=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=FP();i.p(e.dictionary),UP(t,2,i.d())}};function BP(t,e){e||(e={});var r=FP();r.p(t);var n=cH(t,e,e.dictionary?6:2,4);return lH(n,e),UP(n,n.length-4,r.d()),n}var uH=typeof TextDecoder<"u"&&new TextDecoder,fH=0;try{uH.decode(MP,{stream:!0}),fH=1}catch{}var HP="https://free.nowline.io/open";function GP(t){let e=new TextEncoder().encode(t),r=BP(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 o0({source:t,sourceUrl:e,share:r}){if(r===!1||r==="none")return null;if(typeof r=="object")return e!==void 0&&XP(e)?r.remoteUrl.replace("{url}",encodeURIComponent(e)):r.textUrl.replace("{text}",GP(t));let n=r===!0?HP:r,i=new URL(n);return e!==void 0&&XP(e)?i.hash=`url=${encodeURIComponent(e)}`:i.hash=`text=${GP(t)}`,i.toString()}function XP(t){try{return new URL(t).protocol==="https:"}catch{return!1}}var zP=0;async function jP(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=++zP,s=t.share??!0,a=[],c=0;for(let l of Array.from(r)){let u=dH(l);if(!u)continue;let f=pH(l),d=`nl-r${o}-${c++}`,p={theme:t.theme,locale:t.locale,width:t.width,today:t.today,timezone:t.timezone,idPrefix:d},m=u.parentElement,y=u.nextSibling,E=l.getAttribute("data-nowline-source-url")??void 0??t.sourceUrl;a.push(ym(f,p).then(T=>{if(hH(u,T),n++,m!==null){let v=o0({source:f,sourceUrl:E,share:s});if(v!==null){let S=e.createElement("a");S.className="nowline-share",S.href=v,S.target="_blank",S.rel="noopener noreferrer",S.textContent="Share on Nowline",m.insertBefore(S,y)}}},T=>{i++,console.error("nowline: render failed",T)}))}return await Promise.all(a),{rendered:n,failed:i}}function dH(t){let e=t.parentElement;return e&&e.tagName.toUpperCase()==="PRE"?e:t}function pH(t){return t.textContent??""}function hH(t,e){t.outerHTML=e}function qP(){zP=0}function Tm(){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 WP(t,e){return t&&t!=="auto"?$_(t)??e:e}var mH="0.8.0",gH="871752d",yH="pre code.language-nowline, code.language-nowline",VP={theme:"auto",startOnLoad:!0,selector:yH,systemTheme:Tm(),share:!0},ot={...VP},s0=!1;function xH(t={}){ot={theme:t.theme??ot.theme,startOnLoad:t.startOnLoad??ot.startOnLoad,selector:t.selector??ot.selector,locale:t.locale??ot.locale,width:t.width??ot.width,today:t.today!==void 0?t.today:ot.today,timezone:t.timezone??ot.timezone,share:t.share??ot.share,sourceUrl:t.sourceUrl??ot.sourceUrl,systemTheme:Tm()}}function YP(){return{theme:WP(ot.theme,ot.systemTheme),locale:ot.locale,width:ot.width,today:ot.today,timezone:ot.timezone}}async function TH(t,e={}){let r={...YP(),...e};return ym(t,r)}async function _H(t){return AP(t)}async function a0(t){let e={selector:t?.selector??ot.selector,theme:t?.theme??YP().theme,locale:t?.locale??ot.locale,width:t?.width??ot.width,today:t?.today!==void 0?t.today:ot.today,timezone:t?.timezone??ot.timezone,share:t?.share??ot.share,sourceUrl:t?.sourceUrl??ot.sourceUrl,document:t?.document};return jP(e)}var EH=a0;if(typeof document<"u"&&!s0){s0=!0;let t=()=>{ot.startOnLoad&&a0()};document.readyState==="loading"?document.addEventListener("DOMContentLoaded",t,{once:!0}):queueMicrotask(t)}function vH(){ot={...VP,systemTheme:Tm()},s0=!1,IP(),qP()}return hf(wH);})();
|
|
2664
2664
|
//# sourceMappingURL=nowline.min.js.map
|