@nowline/embed 0.0.0-dev.20260620134314.g20f9d0f → 0.0.0-dev.20260620151124.g2df181e
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/nowline.esm.js +3 -3
- package/dist/nowline.min.js +2 -2
- package/package.json +6 -6
package/dist/nowline.esm.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! @nowline/embed 0.0.0-dev.
|
|
1
|
+
/*! @nowline/embed 0.0.0-dev.20260620151124.g2df181e sha=2df181e built=2026-06-20T08:11:00-07:00 */
|
|
2
2
|
var __create = Object.create;
|
|
3
3
|
var __defProp = Object.defineProperty;
|
|
4
4
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
@@ -39622,8 +39622,8 @@ function effectiveTheme(theme, systemTheme) {
|
|
|
39622
39622
|
}
|
|
39623
39623
|
|
|
39624
39624
|
// src/index.ts
|
|
39625
|
-
var version = true ? "0.0.0-dev.
|
|
39626
|
-
var sha = true ? "
|
|
39625
|
+
var version = true ? "0.0.0-dev.20260620151124.g2df181e" : "0.0.0";
|
|
39626
|
+
var sha = true ? "2df181e" : "unknown";
|
|
39627
39627
|
var DEFAULT_SELECTOR = "pre code.language-nowline, code.language-nowline";
|
|
39628
39628
|
var initialConfig = {
|
|
39629
39629
|
theme: "auto",
|
package/dist/nowline.min.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! @nowline/embed 0.0.0-dev.
|
|
1
|
+
/*! @nowline/embed 0.0.0-dev.20260620151124.g2df181e sha=2df181e built=2026-06-20T08:11:00-07:00 */
|
|
2
2
|
"use strict";var nowline=(()=>{var ZP=Object.create;var za=Object.defineProperty;var JP=Object.getOwnPropertyDescriptor;var QP=Object.getOwnPropertyNames;var eC=Object.getPrototypeOf,tC=Object.prototype.hasOwnProperty;var rC=(t,e,r)=>e in t?za(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r;var J_=(t,e,r)=>()=>{if(r)throw r[0];try{return t&&(e=t(t=0)),e}catch(n){throw r=[n],n}};var he=(t,e)=>()=>{try{return e||t((e={exports:{}}).exports,e),e.exports}catch(r){throw e=0,r}},eu=(t,e)=>{for(var r in e)za(t,r,{get:e[r],enumerable:!0})},Q_=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of QP(e))!tC.call(t,i)&&i!==r&&za(t,i,{get:()=>e[i],enumerable:!(n=JP(e,i))||n.enumerable});return t};var Rh=(t,e,r)=>(r=t!=null?ZP(eC(t)):{},Q_(e||!t||!t.__esModule?za(r,"default",{value:t,enumerable:!0}):r,t)),tu=t=>Q_(za({},"__esModule",{value:!0}),t);var R=(t,e,r)=>rC(t,typeof e!="symbol"?e+"":e,r);var Hf={};eu(Hf,{AnnotatedTextEdit:()=>An,ApplyKind:()=>hg,ChangeAnnotation:()=>gi,ChangeAnnotationIdentifier:()=>Rt,CodeAction:()=>Ng,CodeActionContext:()=>kg,CodeActionKind:()=>Ig,CodeActionTag:()=>Uf,CodeActionTriggerKind:()=>Hc,CodeDescription:()=>rg,CodeLens:()=>Pg,Color:()=>Lf,ColorInformation:()=>Km,ColorPresentation:()=>Zm,Command:()=>uo,CompletionItem:()=>gg,CompletionItemKind:()=>lg,CompletionItemLabelDetails:()=>mg,CompletionItemTag:()=>fg,CompletionList:()=>yg,CreateFile:()=>Ss,DeleteFile:()=>Is,Diagnostic:()=>Uc,DiagnosticRelatedInformation:()=>Df,DiagnosticSeverity:()=>eg,DiagnosticTag:()=>tg,DocumentHighlight:()=>vg,DocumentHighlightKind:()=>Eg,DocumentLink:()=>Og,DocumentSymbol:()=>Ag,DocumentUri:()=>qm,EOL:()=>J$,FoldingRange:()=>Qm,FoldingRangeKind:()=>Jm,FormattingOptions:()=>Cg,Hover:()=>xg,InlayHint:()=>Xg,InlayHintKind:()=>Bf,InlayHintLabelPart:()=>Gf,InlineCompletionContext:()=>qg,InlineCompletionItem:()=>Hg,InlineCompletionList:()=>jg,InlineCompletionTriggerKind:()=>zg,InlineValueContext:()=>Gg,InlineValueEvaluatableExpression:()=>Bg,InlineValueText:()=>Fg,InlineValueVariableLookup:()=>Ug,InsertReplaceEdit:()=>dg,InsertTextFormat:()=>ug,InsertTextMode:()=>pg,LanguageKind:()=>ag,Location:()=>Fc,LocationLink:()=>Ym,MarkedString:()=>Xc,MarkupContent:()=>yi,MarkupKind:()=>Ff,OptionalVersionedTextDocumentIdentifier:()=>Gc,ParameterInformation:()=>Tg,Position:()=>Ie,Range:()=>xe,RenameFile:()=>As,SelectedCompletionInfo:()=>Wg,SelectionRange:()=>Lg,SemanticTokenModifiers:()=>Mg,SemanticTokenTypes:()=>Dg,SemanticTokens:()=>$g,SignatureInformation:()=>_g,SnippetTextEdit:()=>ng,StringValue:()=>Xf,SymbolInformation:()=>Rg,SymbolKind:()=>bg,SymbolTag:()=>wg,TextDocument:()=>Yg,TextDocumentEdit:()=>Bc,TextDocumentIdentifier:()=>og,TextDocumentItem:()=>cg,TextEdit:()=>tn,URI:()=>Of,VersionedTextDocumentIdentifier:()=>sg,WorkspaceChange:()=>ig,WorkspaceEdit:()=>Mf,WorkspaceFolder:()=>Vg,WorkspaceSymbol:()=>Sg,integer:()=>Vm,uinteger:()=>$c});var qm,Of,Vm,$c,Ie,xe,Fc,Ym,Lf,Km,Zm,Jm,Qm,Df,eg,tg,rg,Uc,uo,tn,gi,Rt,An,Bc,Ss,As,Is,Mf,Rs,ng,$f,ig,og,sg,Gc,ag,cg,Ff,yi,lg,ug,fg,dg,pg,hg,mg,gg,yg,Xc,xg,Tg,_g,Eg,vg,bg,wg,Rg,Sg,Ag,Ig,Hc,kg,Uf,Ng,Pg,Cg,Og,Lg,Dg,Mg,$g,Fg,Ug,Bg,Gg,Bf,Gf,Xg,Xf,Hg,jg,zg,Wg,qg,Vg,J$,Yg,Kg,b,ks=J_(()=>{"use strict";(function(t){function e(r){return typeof r=="string"}t.is=e})(qm||(qm={}));(function(t){function e(r){return typeof r=="string"}t.is=e})(Of||(Of={}));(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})(Vm||(Vm={}));(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})($c||($c={}));(function(t){function e(n,i){return n===Number.MAX_VALUE&&(n=$c.MAX_VALUE),i===Number.MAX_VALUE&&(i=$c.MAX_VALUE),{line:n,character:i}}t.create=e;function r(n){let i=n;return b.objectLiteral(i)&&b.uinteger(i.line)&&b.uinteger(i.character)}t.is=r})(Ie||(Ie={}));(function(t){function e(n,i,o,s){if(b.uinteger(n)&&b.uinteger(i)&&b.uinteger(o)&&b.uinteger(s))return{start:Ie.create(n,i),end:Ie.create(o,s)};if(Ie.is(n)&&Ie.is(i))return{start:n,end:i};throw new Error(`Range#create called with invalid arguments[${n}, ${i}, ${o}, ${s}]`)}t.create=e;function r(n){let i=n;return b.objectLiteral(i)&&Ie.is(i.start)&&Ie.is(i.end)}t.is=r})(xe||(xe={}));(function(t){function e(n,i){return{uri:n,range:i}}t.create=e;function r(n){let i=n;return b.objectLiteral(i)&&xe.is(i.range)&&(b.string(i.uri)||b.undefined(i.uri))}t.is=r})(Fc||(Fc={}));(function(t){function e(n,i,o,s){return{targetUri:n,targetRange:i,targetSelectionRange:o,originSelectionRange:s}}t.create=e;function r(n){let i=n;return b.objectLiteral(i)&&xe.is(i.targetRange)&&b.string(i.targetUri)&&xe.is(i.targetSelectionRange)&&(xe.is(i.originSelectionRange)||b.undefined(i.originSelectionRange))}t.is=r})(Ym||(Ym={}));(function(t){function e(n,i,o,s){return{red:n,green:i,blue:o,alpha:s}}t.create=e;function r(n){let i=n;return b.objectLiteral(i)&&b.numberRange(i.red,0,1)&&b.numberRange(i.green,0,1)&&b.numberRange(i.blue,0,1)&&b.numberRange(i.alpha,0,1)}t.is=r})(Lf||(Lf={}));(function(t){function e(n,i){return{range:n,color:i}}t.create=e;function r(n){let i=n;return b.objectLiteral(i)&&xe.is(i.range)&&Lf.is(i.color)}t.is=r})(Km||(Km={}));(function(t){function e(n,i,o){return{label:n,textEdit:i,additionalTextEdits:o}}t.create=e;function r(n){let i=n;return b.objectLiteral(i)&&b.string(i.label)&&(b.undefined(i.textEdit)||tn.is(i))&&(b.undefined(i.additionalTextEdits)||b.typedArray(i.additionalTextEdits,tn.is))}t.is=r})(Zm||(Zm={}));(function(t){t.Comment="comment",t.Imports="imports",t.Region="region"})(Jm||(Jm={}));(function(t){function e(n,i,o,s,a,c){let l={startLine:n,endLine:i};return b.defined(o)&&(l.startCharacter=o),b.defined(s)&&(l.endCharacter=s),b.defined(a)&&(l.kind=a),b.defined(c)&&(l.collapsedText=c),l}t.create=e;function r(n){let i=n;return b.objectLiteral(i)&&b.uinteger(i.startLine)&&b.uinteger(i.startLine)&&(b.undefined(i.startCharacter)||b.uinteger(i.startCharacter))&&(b.undefined(i.endCharacter)||b.uinteger(i.endCharacter))&&(b.undefined(i.kind)||b.string(i.kind))}t.is=r})(Qm||(Qm={}));(function(t){function e(n,i){return{location:n,message:i}}t.create=e;function r(n){let i=n;return b.defined(i)&&Fc.is(i.location)&&b.string(i.message)}t.is=r})(Df||(Df={}));(function(t){t.Error=1,t.Warning=2,t.Information=3,t.Hint=4})(eg||(eg={}));(function(t){t.Unnecessary=1,t.Deprecated=2})(tg||(tg={}));(function(t){function e(r){let n=r;return b.objectLiteral(n)&&b.string(n.href)}t.is=e})(rg||(rg={}));(function(t){function e(o,s,a,c,l,u){let f={range:o,message:s};return b.defined(a)&&(f.severity=a),b.defined(c)&&(f.code=c),b.defined(l)&&(f.source=l),b.defined(u)&&(f.relatedInformation=u),f}t.create=e;function r(o){var s;let a=o;return b.defined(a)&&xe.is(a.range)&&(b.string(a.message)||yi.is(a.message))&&(b.number(a.severity)||b.undefined(a.severity))&&(b.integer(a.code)||b.string(a.code)||b.undefined(a.code))&&(b.undefined(a.codeDescription)||b.string((s=a.codeDescription)===null||s===void 0?void 0:s.href))&&(b.string(a.source)||b.undefined(a.source))&&(b.undefined(a.relatedInformation)||b.typedArray(a.relatedInformation,Df.is))}t.is=r;function n(o){return b.string(o.message)}t.is3_17=n;function i(o){if(b.string(o.message))return o.message;if(yi.is(o.message))return o.message.value;throw new Error(`Unknown message type ${typeof o.message}`)}t.getMessageString=i})(Uc||(Uc={}));(function(t){function e(n,i,...o){let s={title:n,command:i};return b.defined(o)&&o.length>0&&(s.arguments=o),s}t.create=e;function r(n){let i=n;return b.defined(i)&&b.string(i.title)&&(i.tooltip===void 0||b.string(i.tooltip))&&b.string(i.command)}t.is=r})(uo||(uo={}));(function(t){function e(o,s){return{range:o,newText:s}}t.replace=e;function r(o,s){return{range:{start:o,end:o},newText:s}}t.insert=r;function n(o){return{range:o,newText:""}}t.del=n;function i(o){let s=o;return b.objectLiteral(s)&&b.string(s.newText)&&xe.is(s.range)}t.is=i})(tn||(tn={}));(function(t){function e(n,i,o){let s={label:n};return i!==void 0&&(s.needsConfirmation=i),o!==void 0&&(s.description=o),s}t.create=e;function r(n){let i=n;return b.objectLiteral(i)&&b.string(i.label)&&(b.boolean(i.needsConfirmation)||i.needsConfirmation===void 0)&&(b.string(i.description)||i.description===void 0)}t.is=r})(gi||(gi={}));(function(t){function e(r){let n=r;return b.string(n)}t.is=e})(Rt||(Rt={}));(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 tn.is(s)&&(gi.is(s.annotationId)||Rt.is(s.annotationId))}t.is=i})(An||(An={}));(function(t){function e(n,i){return{textDocument:n,edits:i}}t.create=e;function r(n){let i=n;return b.defined(i)&&Gc.is(i.textDocument)&&Array.isArray(i.edits)}t.is=r})(Bc||(Bc={}));(function(t){function e(n,i,o){let s={kind:"create",uri:n};return i!==void 0&&(i.overwrite!==void 0||i.ignoreIfExists!==void 0)&&(s.options=i),o!==void 0&&(s.annotationId=o),s}t.create=e;function r(n){let i=n;return i&&i.kind==="create"&&b.string(i.uri)&&(i.options===void 0||(i.options.overwrite===void 0||b.boolean(i.options.overwrite))&&(i.options.ignoreIfExists===void 0||b.boolean(i.options.ignoreIfExists)))&&(i.annotationId===void 0||Rt.is(i.annotationId))}t.is=r})(Ss||(Ss={}));(function(t){function e(n,i,o,s){let a={kind:"rename",oldUri:n,newUri:i};return o!==void 0&&(o.overwrite!==void 0||o.ignoreIfExists!==void 0)&&(a.options=o),s!==void 0&&(a.annotationId=s),a}t.create=e;function r(n){let i=n;return i&&i.kind==="rename"&&b.string(i.oldUri)&&b.string(i.newUri)&&(i.options===void 0||(i.options.overwrite===void 0||b.boolean(i.options.overwrite))&&(i.options.ignoreIfExists===void 0||b.boolean(i.options.ignoreIfExists)))&&(i.annotationId===void 0||Rt.is(i.annotationId))}t.is=r})(As||(As={}));(function(t){function e(n,i,o){let s={kind:"delete",uri:n};return i!==void 0&&(i.recursive!==void 0||i.ignoreIfNotExists!==void 0)&&(s.options=i),o!==void 0&&(s.annotationId=o),s}t.create=e;function r(n){let i=n;return i&&i.kind==="delete"&&b.string(i.uri)&&(i.options===void 0||(i.options.recursive===void 0||b.boolean(i.options.recursive))&&(i.options.ignoreIfNotExists===void 0||b.boolean(i.options.ignoreIfNotExists)))&&(i.annotationId===void 0||Rt.is(i.annotationId))}t.is=r})(Is||(Is={}));(function(t){function e(r){let n=r;return n&&(n.changes!==void 0||n.documentChanges!==void 0)&&(n.documentChanges===void 0||n.documentChanges.every(i=>b.string(i.kind)?Ss.is(i)||As.is(i)||Is.is(i):Bc.is(i)))}t.is=e})(Mf||(Mf={}));Rs=class{constructor(e,r){this.edits=e,this.changeAnnotations=r}insert(e,r,n){let i,o;if(n===void 0?i=tn.insert(e,r):Rt.is(n)?(o=n,i=An.insert(e,r,n)):(this.assertChangeAnnotations(this.changeAnnotations),o=this.changeAnnotations.manage(n),i=An.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=tn.replace(e,r):Rt.is(n)?(o=n,i=An.replace(e,r,n)):(this.assertChangeAnnotations(this.changeAnnotations),o=this.changeAnnotations.manage(n),i=An.replace(e,r,o)),this.edits.push(i),o!==void 0)return o}delete(e,r){let n,i;if(r===void 0?n=tn.del(e):Rt.is(r)?(i=r,n=An.del(e,r)):(this.assertChangeAnnotations(this.changeAnnotations),i=this.changeAnnotations.manage(r),n=An.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.")}};(function(t){function e(r){let n=r;return b.objectLiteral(n)&&xe.is(n.range)&&Xf.isSnippet(n.snippet)&&(n.annotationId===void 0||gi.is(n.annotationId)||Rt.is(n.annotationId))}t.is=e})(ng||(ng={}));$f=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(Rt.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()}},ig=class{constructor(e){this._textEditChanges=Object.create(null),e!==void 0?(this._workspaceEdit=e,e.documentChanges?(this._changeAnnotations=new $f(e.changeAnnotations),e.changeAnnotations=this._changeAnnotations.all(),e.documentChanges.forEach(r=>{if(Bc.is(r)){let n=new Rs(r.edits,this._changeAnnotations);this._textEditChanges[r.textDocument.uri]=n}})):e.changes&&Object.keys(e.changes).forEach(r=>{let n=new Rs(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(Gc.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 Rs(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 Rs(n),this._textEditChanges[e]=r}return r}}initDocumentChanges(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._changeAnnotations=new $f,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;gi.is(r)||Rt.is(r)?i=r:n=r;let o,s;if(i===void 0?o=Ss.create(e,n):(s=Rt.is(i)?i:this._changeAnnotations.manage(i),o=Ss.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;gi.is(n)||Rt.is(n)?o=n:i=n;let s,a;if(o===void 0?s=As.create(e,r,i):(a=Rt.is(o)?o:this._changeAnnotations.manage(o),s=As.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;gi.is(r)||Rt.is(r)?i=r:n=r;let o,s;if(i===void 0?o=Is.create(e,n):(s=Rt.is(i)?i:this._changeAnnotations.manage(i),o=Is.create(e,n,s)),this._workspaceEdit.documentChanges.push(o),s!==void 0)return s}};(function(t){function e(n){return{uri:n}}t.create=e;function r(n){let i=n;return b.defined(i)&&b.string(i.uri)}t.is=r})(og||(og={}));(function(t){function e(n,i){return{uri:n,version:i}}t.create=e;function r(n){let i=n;return b.defined(i)&&b.string(i.uri)&&b.integer(i.version)}t.is=r})(sg||(sg={}));(function(t){function e(n,i){return{uri:n,version:i}}t.create=e;function r(n){let i=n;return b.defined(i)&&b.string(i.uri)&&(i.version===null||b.integer(i.version))}t.is=r})(Gc||(Gc={}));(function(t){t.ABAP="abap",t.WindowsBat="bat",t.BibTeX="bibtex",t.Clojure="clojure",t.Coffeescript="coffeescript",t.C="c",t.CPP="cpp",t.CSharp="csharp",t.CSS="css",t.D="d",t.Delphi="pascal",t.Diff="diff",t.Dart="dart",t.Dockerfile="dockerfile",t.Elixir="elixir",t.Erlang="erlang",t.FSharp="fsharp",t.GitCommit="git-commit",t.GitRebase="git-rebase",t.Go="go",t.Groovy="groovy",t.Handlebars="handlebars",t.Haskell="haskell",t.HTML="html",t.Ini="ini",t.Java="java",t.JavaScript="javascript",t.JavaScriptReact="javascriptreact",t.JSON="json",t.LaTeX="latex",t.Less="less",t.Lua="lua",t.Makefile="makefile",t.Markdown="markdown",t.ObjectiveC="objective-c",t.ObjectiveCPP="objective-cpp",t.Pascal="pascal",t.Perl="perl",t.Perl6="perl6",t.PHP="php",t.Plaintext="plaintext",t.Powershell="powershell",t.Pug="jade",t.Python="python",t.R="r",t.Razor="razor",t.Ruby="ruby",t.Rust="rust",t.SCSS="scss",t.SASS="sass",t.Scala="scala",t.ShaderLab="shaderlab",t.ShellScript="shellscript",t.SQL="sql",t.Swift="swift",t.TypeScript="typescript",t.TypeScriptReact="typescriptreact",t.TeX="tex",t.VisualBasic="vb",t.XML="xml",t.XSL="xsl",t.YAML="yaml"})(ag||(ag={}));(function(t){function e(n,i,o,s){return{uri:n,languageId:i,version:o,text:s}}t.create=e;function r(n){let i=n;return b.defined(i)&&b.string(i.uri)&&b.string(i.languageId)&&b.integer(i.version)&&b.string(i.text)}t.is=r})(cg||(cg={}));(function(t){t.PlainText="plaintext",t.Markdown="markdown";function e(r){let n=r;return n===t.PlainText||n===t.Markdown}t.is=e})(Ff||(Ff={}));(function(t){function e(r){let n=r;return b.objectLiteral(r)&&Ff.is(n.kind)&&b.string(n.value)}t.is=e})(yi||(yi={}));(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})(lg||(lg={}));(function(t){t.PlainText=1,t.Snippet=2})(ug||(ug={}));(function(t){t.Deprecated=1})(fg||(fg={}));(function(t){function e(n,i,o){return{newText:n,insert:i,replace:o}}t.create=e;function r(n){let i=n;return i&&b.string(i.newText)&&xe.is(i.insert)&&xe.is(i.replace)}t.is=r})(dg||(dg={}));(function(t){t.asIs=1,t.adjustIndentation=2})(pg||(pg={}));(function(t){t.Replace=1,t.Merge=2})(hg||(hg={}));(function(t){function e(r){let n=r;return n&&(b.string(n.detail)||n.detail===void 0)&&(b.string(n.description)||n.description===void 0)}t.is=e})(mg||(mg={}));(function(t){function e(r){return{label:r}}t.create=e})(gg||(gg={}));(function(t){function e(r,n){return{items:r||[],isIncomplete:!!n}}t.create=e})(yg||(yg={}));(function(t){function e(n){return n.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}t.fromPlainText=e;function r(n){let i=n;return b.string(i)||b.objectLiteral(i)&&b.string(i.language)&&b.string(i.value)}t.is=r})(Xc||(Xc={}));(function(t){function e(r){let n=r;return!!n&&b.objectLiteral(n)&&(yi.is(n.contents)||Xc.is(n.contents)||b.typedArray(n.contents,Xc.is))&&(r.range===void 0||xe.is(r.range))}t.is=e})(xg||(xg={}));(function(t){function e(r,n){return n?{label:r,documentation:n}:{label:r}}t.create=e})(Tg||(Tg={}));(function(t){function e(r,n,...i){let o={label:r};return b.defined(n)&&(o.documentation=n),b.defined(i)?o.parameters=i:o.parameters=[],o}t.create=e})(_g||(_g={}));(function(t){t.Text=1,t.Read=2,t.Write=3})(Eg||(Eg={}));(function(t){function e(r,n){let i={range:r};return b.number(n)&&(i.kind=n),i}t.create=e})(vg||(vg={}));(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})(bg||(bg={}));(function(t){t.Deprecated=1})(wg||(wg={}));(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})(Rg||(Rg={}));(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})(Sg||(Sg={}));(function(t){function e(n,i,o,s,a,c){let l={name:n,detail:i,kind:o,range:s,selectionRange:a};return c!==void 0&&(l.children=c),l}t.create=e;function r(n){let i=n;return i&&b.string(i.name)&&b.number(i.kind)&&xe.is(i.range)&&xe.is(i.selectionRange)&&(i.detail===void 0||b.string(i.detail))&&(i.deprecated===void 0||b.boolean(i.deprecated))&&(i.children===void 0||Array.isArray(i.children))&&(i.tags===void 0||Array.isArray(i.tags))}t.is=r})(Ag||(Ag={}));(function(t){t.Empty="",t.QuickFix="quickfix",t.Refactor="refactor",t.RefactorExtract="refactor.extract",t.RefactorInline="refactor.inline",t.RefactorMove="refactor.move",t.RefactorRewrite="refactor.rewrite",t.Source="source",t.SourceOrganizeImports="source.organizeImports",t.SourceFixAll="source.fixAll",t.Notebook="notebook"})(Ig||(Ig={}));(function(t){t.Invoked=1,t.Automatic=2})(Hc||(Hc={}));(function(t){function e(n,i,o){let s={diagnostics:n};return i!=null&&(s.only=i),o!=null&&(s.triggerKind=o),s}t.create=e;function r(n){let i=n;return b.defined(i)&&b.typedArray(i.diagnostics,Uc.is)&&(i.only===void 0||b.typedArray(i.only,b.string))&&(i.triggerKind===void 0||i.triggerKind===Hc.Invoked||i.triggerKind===Hc.Automatic)}t.is=r})(kg||(kg={}));(function(t){t.LLMGenerated=1;function e(r){return b.defined(r)&&r===t.LLMGenerated}t.is=e})(Uf||(Uf={}));(function(t){function e(n,i,o){let s={title:n},a=!0;return typeof i=="string"?(a=!1,s.kind=i):uo.is(i)?s.command=i:s.edit=i,a&&o!==void 0&&(s.kind=o),s}t.create=e;function r(n){let i=n;return i&&b.string(i.title)&&(i.diagnostics===void 0||b.typedArray(i.diagnostics,Uc.is))&&(i.kind===void 0||b.string(i.kind))&&(i.edit!==void 0||i.command!==void 0)&&(i.command===void 0||uo.is(i.command))&&(i.isPreferred===void 0||b.boolean(i.isPreferred))&&(i.edit===void 0||Mf.is(i.edit))&&(i.tags===void 0||b.typedArray(i.tags,Uf.is))}t.is=r})(Ng||(Ng={}));(function(t){function e(n,i){let o={range:n};return b.defined(i)&&(o.data=i),o}t.create=e;function r(n){let i=n;return b.defined(i)&&xe.is(i.range)&&(b.undefined(i.command)||uo.is(i.command))}t.is=r})(Pg||(Pg={}));(function(t){function e(n,i){return{tabSize:n,insertSpaces:i}}t.create=e;function r(n){let i=n;return b.defined(i)&&b.uinteger(i.tabSize)&&b.boolean(i.insertSpaces)}t.is=r})(Cg||(Cg={}));(function(t){function e(n,i,o){return{range:n,target:i,data:o}}t.create=e;function r(n){let i=n;return b.defined(i)&&xe.is(i.range)&&(b.undefined(i.target)||b.string(i.target))}t.is=r})(Og||(Og={}));(function(t){function e(n,i){return{range:n,parent:i}}t.create=e;function r(n){let i=n;return b.objectLiteral(i)&&xe.is(i.range)&&(i.parent===void 0||t.is(i.parent))}t.is=r})(Lg||(Lg={}));(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",t.label="label"})(Dg||(Dg={}));(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"})(Mg||(Mg={}));(function(t){function e(r){let n=r;return b.objectLiteral(n)&&(n.resultId===void 0||typeof n.resultId=="string")&&Array.isArray(n.data)&&(n.data.length===0||typeof n.data[0]=="number")}t.is=e})($g||($g={}));(function(t){function e(n,i){return{range:n,text:i}}t.create=e;function r(n){let i=n;return i!=null&&xe.is(i.range)&&b.string(i.text)}t.is=r})(Fg||(Fg={}));(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&&xe.is(i.range)&&b.boolean(i.caseSensitiveLookup)&&(b.string(i.variableName)||i.variableName===void 0)}t.is=r})(Ug||(Ug={}));(function(t){function e(n,i){return{range:n,expression:i}}t.create=e;function r(n){let i=n;return i!=null&&xe.is(i.range)&&(b.string(i.expression)||i.expression===void 0)}t.is=r})(Bg||(Bg={}));(function(t){function e(n,i){return{frameId:n,stoppedLocation:i}}t.create=e;function r(n){let i=n;return b.defined(i)&&xe.is(n.stoppedLocation)}t.is=r})(Gg||(Gg={}));(function(t){t.Type=1,t.Parameter=2;function e(r){return r===1||r===2}t.is=e})(Bf||(Bf={}));(function(t){function e(n){return{value:n}}t.create=e;function r(n){let i=n;return b.objectLiteral(i)&&(i.tooltip===void 0||b.string(i.tooltip)||yi.is(i.tooltip))&&(i.location===void 0||Fc.is(i.location))&&(i.command===void 0||uo.is(i.command))}t.is=r})(Gf||(Gf={}));(function(t){function e(n,i,o){let s={position:n,label:i};return o!==void 0&&(s.kind=o),s}t.create=e;function r(n){let i=n;return b.objectLiteral(i)&&Ie.is(i.position)&&(b.string(i.label)||b.typedArray(i.label,Gf.is))&&(i.kind===void 0||Bf.is(i.kind))&&i.textEdits===void 0||b.typedArray(i.textEdits,tn.is)&&(i.tooltip===void 0||b.string(i.tooltip)||yi.is(i.tooltip))&&(i.paddingLeft===void 0||b.boolean(i.paddingLeft))&&(i.paddingRight===void 0||b.boolean(i.paddingRight))}t.is=r})(Xg||(Xg={}));(function(t){function e(n){return{kind:"snippet",value:n}}t.createSnippet=e;function r(n){let i=n;return b.objectLiteral(i)&&i.kind==="snippet"&&b.string(i.value)}t.isSnippet=r})(Xf||(Xf={}));(function(t){function e(r,n,i,o){return{insertText:r,filterText:n,range:i,command:o}}t.create=e})(Hg||(Hg={}));(function(t){function e(r){return{items:r}}t.create=e})(jg||(jg={}));(function(t){t.Invoked=1,t.Automatic=2})(zg||(zg={}));(function(t){function e(r,n){return{range:r,text:n}}t.create=e})(Wg||(Wg={}));(function(t){function e(r,n){return{triggerKind:r,selectedCompletionInfo:n}}t.create=e})(qg||(qg={}));(function(t){function e(r){let n=r;return b.objectLiteral(n)&&Of.is(n.uri)&&b.string(n.name)}t.is=e})(Vg||(Vg={}));J$=[`
|
|
3
3
|
`,`\r
|
|
4
4
|
`,"\r"];(function(t){function e(o,s,a,c){return new Kg(o,s,a,c)}t.create=e;function r(o){let s=o;return!!(b.defined(s)&&b.string(s.uri)&&(b.undefined(s.languageId)||b.string(s.languageId))&&b.uinteger(s.lineCount)&&b.func(s.getText)&&b.func(s.positionAt)&&b.func(s.offsetAt))}t.is=r;function n(o,s){let a=o.getText(),c=i(s,(u,f)=>{let d=u.range.start.line-f.range.start.line;return d===0?u.range.start.character-f.range.start.character:d}),l=a.length;for(let u=c.length-1;u>=0;u--){let f=c[u],d=o.offsetAt(f.range.start),p=o.offsetAt(f.range.end);if(p<=l)a=a.substring(0,d)+f.newText+a.substring(p,a.length);else throw new Error("Overlapping edit");l=d}return a}t.applyEdits=n;function i(o,s){if(o.length<=1)return o;let a=o.length/2|0,c=o.slice(0,a),l=o.slice(a);i(c,s),i(l,s);let u=0,f=0,d=0;for(;u<c.length&&f<l.length;)s(c[u],l[f])<=0?o[d++]=c[u++]:o[d++]=l[f++];for(;u<c.length;)o[d++]=c[u++];for(;f<l.length;)o[d++]=l[f++];return o}})(Yg||(Yg={}));Kg=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===`
|
|
@@ -2636,5 +2636,5 @@ ${r}`),this.inline?`{${i}}`:i}};function W2(t,e,r){if(t==="linkplain"||t==="link
|
|
|
2636
2636
|
"interfaces": [],
|
|
2637
2637
|
"types": []
|
|
2638
2638
|
}`));var J2={languageId:"nowline",fileExtensions:[".nowline"],caseInsensitive:!1,mode:"development"},hI={AstReflection:()=>new pl},mI={Grammar:()=>pI(),LanguageMetaData:()=>J2,parser:{}};var gI={"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 yI={"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 xI={};var TI={};var Q2=new Map([["en-US",gI],["fr",yI],["fr-CA",xI],["fr-FR",TI]]);function _l(t,e,...r){for(let n of eU(t)){let o=Q2.get(n)?.[e];if(o)return o(...r)}return e}var _I="en-US";function eU(t){let e=[],r=tU(t);for(;r.length>0;){e.includes(r)||e.push(r);let n=r.lastIndexOf("-");if(n<=0)break;r=r.slice(0,n)}return e.includes(_I)||e.push(_I),e}function tU(t){return t.split("-").map((r,n)=>n===0?r.toLowerCase():/^[a-zA-Z]{2}$/.test(r)?r.toUpperCase():r).join("-")}var rU=/[\\/]/;function bI(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 EI(...t){for(let e of t)if(e){if(e.includes("\\")&&!e.includes("/"))return"\\";if(e.includes("/"))return"/"}return"/"}function nU(t){return t?t[0]==="/"||t[0]==="\\"?!0:t.length>=3&&/^[A-Za-z]:[\\/]/.test(t):!1}function wI(t){let e=bI(t);return e<0?".":e===0?t[0]:e===2&&/^[A-Za-z]:[\\/]/.test(t)?t.slice(0,3):t.slice(0,e)}function hp(t){let e=bI(t);return e<0?t:t.slice(e+1)}function oT(t,e){if(nU(e))return vI(e,EI(e));let r=EI(t,e);return vI(`${t}${r}${e}`,r)}function vI(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(rU))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 oU=/^\d{4}-\d{2}-\d{2}$/;function AI(t){let e=t?.properties.find(r=>r.key==="start");if(e?.value&&oU.test(e.value)&&!Number.isNaN(new Date(e.value).getTime()))return e.value}function sU(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 II(){return{styles:new Map,defaults:new Map,symbols:new Map}}function kI(){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 aT(t,e,r){let n=r.readFile??(async c=>{let{nodeReadFile:l}=await Promise.resolve().then(()=>(SI(),RI));return l(c)}),i={services:r.services,diagnostics:[],resolving:[],processed:new Map,readFile:n},o=oT("",e),{config:s,content:a}=await PI(t,o,i);return{config:s,content:a,diagnostics:i.diagnostics,processedFiles:new Set(i.processed.keys())}}async function PI(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:II(),content:kI()};return r.processed.set(e,a),a}r.resolving.push(e);let n=II(),i=kI();uU(n,t),pU(i,t);let o=new Set;for(let a of t.includes){let c=a.path,l=oT(wI(e),c);if(o.has(l)){r.diagnostics.push({severity:"error",message:`Duplicate include "${c}" in ${hp(e)}.`,sourcePath:e,line:a.$cstNode?.range.start.line});continue}o.add(l);let u=NI(a,"config")??"merge",f=NI(a,"roadmap")??"merge",d;try{let y=await r.readFile(l);d=await aU(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 PI(d,l,r);if(cU(n,p,u,l,r.diagnostics),lU(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=AI(t.roadmapDecl),E=AI(d.roadmapDecl);y!==E&&r.diagnostics.push({severity:"error",message:sU(c,y,E),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 NI(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 aU(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 cU(t,e,r,n,i){if(r==="ignore"||r==="isolate")return;let o=(s,a)=>i.push({severity:"warning",message:`${a} "${s}" from ${hp(n)} is shadowed by the parent's definition.`,sourcePath:n});sT(t.styles,e.styles,s=>o(s,"Style")),sT(t.defaults,e.defaults,s=>o(s,"Default")),sT(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 lU(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 ${hp(i)} is shadowed by the parent's definition.`,sourcePath:i});Ln(t.persons,e.persons,c=>a(c,"Person")),Ln(t.teams,e.teams,c=>a(c,"Team")),Ln(t.anchors,e.anchors,c=>a(c,"Anchor")),Ln(t.labels,e.labels,c=>a(c,"Label")),Ln(t.sizes,e.sizes,c=>a(c,"Size")),Ln(t.statuses,e.statuses,c=>a(c,"Status")),Ln(t.swimlanes,e.swimlanes,c=>a(c,"Swimlane")),Ln(t.milestones,e.milestones,c=>a(c,"Milestone")),Ln(t.footnotes,e.footnotes,c=>a(c,"Footnote")),e.roadmap&&!t.roadmap&&(t.roadmap=e.roadmap)}function sT(t,e,r){for(let[n,i]of e){if(t.has(n)){r(n);continue}t.set(n,i)}}function Ln(t,e,r){for(let[n,i]of e){if(!i.name&&i.title){t.set(OI(t,CI(i.title)),i);continue}if(t.has(n)){r(n);continue}t.set(n,i)}}function uU(t,e){for(let r of e.configEntries)fU(t,r)}function fU(t,e){fI(e)?t.scale||(t.scale=e):pp(e)?t.calendar||(t.calendar=e):xl(e)?e.name&&!t.styles.has(e.name)&&t.styles.set(e.name,e):Tl(e)?e.name&&!t.symbols.has(e.name)&&t.symbols.set(e.name,e):ki(e)&&(t.defaults.has(e.entityType)||t.defaults.set(e.entityType,e))}function dU(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&&(yr(r)?e.swimlanes.add(n):On(r)?e.persons.add(n):xr(r)?e.teams.add(n):hl(r)?e.anchors.add(n):gl(r)?e.labels.add(n):xo(r)?e.sizes.add(n):Ea(r)?e.statuses.add(n):yl(r)?e.milestones.add(n):ml(r)&&e.footnotes.add(n))}return e}function pU(t,e){e.roadmapDecl&&!t.roadmap&&(t.roadmap=e.roadmapDecl);let r=dU(e.roadmapEntries);for(let n of e.roadmapEntries)hU(t,n,r)}function CI(t){return t.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||"entity"}function OI(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 Dn(t,e,r){e.name?t.has(e.name)||t.set(e.name,e):e.title&&t.set(OI(t,CI(e.title),r),e)}function hU(t,e,r){yr(e)?Dn(t.swimlanes,e,r.swimlanes):On(e)?Dn(t.persons,e,r.persons):xr(e)?Dn(t.teams,e,r.teams):hl(e)?Dn(t.anchors,e,r.anchors):gl(e)?Dn(t.labels,e,r.labels):xo(e)?Dn(t.sizes,e,r.sizes):Ea(e)?Dn(t.statuses,e,r.statuses):yl(e)?Dn(t.milestones,e,r.milestones):ml(e)&&Dn(t.footnotes,e,r.footnotes)}var LI="v1",cT=new Set(["planned","in-progress","active","done","completed","at-risk","blocked"]),mp=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"]),pT=new Set(["none","multiplier","person","people","points","time"]),gp=new Set([...pT,"shield","warning","lock","calendar"]),jI="none",yp={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"])},mU=new Set(["red","blue","yellow","green","orange","purple","violet","gray","grey","navy","white","none"]),gU=new Set(["business","full","custom"]),lT=new Set(["days-per-week","days-per-month","days-per-quarter","days-per-year"]),DI=new Set(["name","label-every","label"]),MI=new Set(["item","label","swimlane","roadmap","milestone","footnote","anchor","parallel","group"]),yU={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},$I=new Set(["labels","link","style","description"]),xU={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 TU(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 _U(t,e,r=2){let n,i=r+1;for(let o of e){let s=TU(t,o,r);if(s<i&&(n=o,i=s,s===0))break}return n}var EU=[{keys:new Set(["progress","percent","percentage","pct","complete","completion"]),requires:"remaining",suggest:"status: + remaining:"}];function vU(t,e){let r=t.toLowerCase();for(let n of EU)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 El=/^\d+(?:\.\d+)?[dwmqy]$/,bU=/^\d+%$/,Ni=/^\d{4}-\d{2}-\d{2}$/,wU=/^#[0-9a-fA-F]{3,8}$/,RU=/^v\d+$/,FI=/^\d+$/,SU=/^[dwmqy]$/,UI=/^\d+(\.\d+)?$/,hT=/^\d+(\.\d+)?%$/,zI=/^\d+\.\d+$/,AU=/^\d+$/,IU=/^[\x20-\x7E]{1,3}$/,kU=/^[a-zA-Z]{2,3}(-[a-zA-Z]{2}|-\d{3})?$/,NU=new Set(["merge","ignore","isolate"]),BI=new Set(["locale"]);function uT(t){let e=t?.roadmapDecl?.properties.find(i=>ke(i)==="start");if(!e)return{kind:"missing"};let r=e.value;if(!r||!Ni.test(r))return{kind:"invalid"};let n=new Date(r);return Number.isNaN(n.getTime())?{kind:"invalid"}:{kind:"valid",iso:r,date:n}}function $r(t){return t.name??t.title??"<unnamed>"}function PU(t){return t.$type.replace(/Declaration$|Block$/,"").toLowerCase()}function be(t,e,r,n,...i){t(e,_l("en-US",n,...i),{...r,data:{code:n,args:i}})}function WI(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 Tp=class{checkFileStructure(e,r){let n=e.hasConfig?Su.findNodeForKeyword(e.$cstNode,"config")?.offset:void 0,i=e.roadmapDecl?.$cstNode?.offset;n!==void 0&&i!==void 0&&n>i&&be(r,"error",{node:e,property:"hasConfig"},"NL.E0001");for(let o of e.includes){let s=o.$cstNode?.offset??0;n!==void 0&&s>n&&be(r,"error",{node:o},"NL.E0002"),i!==void 0&&s>i&&be(r,"error",{node:o},"NL.E0003")}}checkRoadmapOnlyKeywordsPosition(e,r){}checkDirectiveVersion(e,r){if(!RU.test(e.version)){be(r,"error",{node:e,property:"version"},"NL.E0100",{version:e.version});return}let n=parseInt(e.version.slice(1),10),i=parseInt(LI.slice(1),10);n>i&&be(r,"error",{node:e,property:"version"},"NL.E0101",{version:e.version,supported:LI})}checkDirectiveProperties(e,r){let n=new Set;for(let i of e.properties){let o=ke(i);if(!BI.has(o)){be(r,"error",{node:i,property:"key"},"NL.E0102",{key:o,allowed:[...BI].join(", ")});continue}if(n.has(o)&&be(r,"error",{node:i,property:"key"},"NL.E0103",{key:o}),n.add(o),o==="locale"){let s=i.value;kU.test(s)||be(r,"error",{node:i,property:"value"},"NL.E0104",{value:s})}}}checkEntityIdOrTitle(e,r){!e.name&&!e.title&&be(r,"error",{node:e},"NL.E0301",{type:e.$type})}checkUniqueIdentifiers(e,r){let n=new Map,i=(o,s)=>{if(!o)return;let a=n.get(o);a?be(r,"error",{node:s},"NL.E0300",{name:o,location:xp(a)}):n.set(o,s)};e.roadmapDecl?.name&&i(e.roadmapDecl.name,e.roadmapDecl);for(let o of e.roadmapEntries)LU(o,i);for(let o of e.configEntries)xl(o)&&o.name&&i(o.name,o)}checkIndentationConsistency(e,r){let n=e.$document?.textDocument.getText()??e.$cstNode?.text;if(!n)return;let i=n.split(/\r?\n/);for(let o=0;o<i.length;o++){let s=i[o];if(s.length===0)continue;let a=s.match(/^([\t ]+)/);if(!a)continue;let c=a[1];if(c.includes(" ")&&c.includes(" ")){be(r,"error",{node:e},"NL.E0005",{line:o+1});return}}}checkSwimlaneRequired(e,r){let n=e.roadmapEntries.some(yr);e.roadmapDecl&&!n&&be(r,"error",{node:e.roadmapDecl},"NL.E0004")}checkIncludeMode(e,r){NU.has(e.value)||be(r,"error",{node:e,property:"value"},"NL.E0200",{value:e.value})}checkIncludeDuplicateOptions(e,r){let n=new Set;for(let i of e.options){let o=i.key.replace(/:$/,"");n.has(o)&&be(r,"error",{node:i},"NL.E0201",{key:o}),n.add(o)}}checkPropertyValues(e,r){let n=ke(e),i=e.value,o=e.values,s=i?[i]:o;switch(n){case"status":break;case"duration":i&&!El.test(i)&&be(r,"error",{node:e,property:"value"},"NL.E0400",{value:i});break;case"size":i&&!GI(i)&&be(r,"error",{node:e,property:"value"},"NL.E0401",{value:i});break;case"effort":i&&!El.test(i)&&be(r,"error",{node:e,property:"value"},"NL.E0402",{value:i});break;case"remaining":{if(i)if(bU.test(i)){let a=parseFloat(i);(a<0||a>100)&&be(r,"error",{node:e,property:"value"},"NL.E0404",{value:i})}else El.test(i)||be(r,"error",{node:e,property:"value"},"NL.E0403",{value:i});break}case"date":case"start":i&&(!Ni.test(i)||Number.isNaN(new Date(i).getTime()))&&be(r,"error",{node:e,property:"value"},"NL.E0405",{key:n,value:i});break;case"scale":i&&!El.test(i)&&be(r,"error",{node:e,property:"value"},"NL.E0406",{value:i});break;case"calendar":i&&!gU.has(i)&&be(r,"error",{node:e,property:"value"},"NL.E0407",{value:i});break;case"on":case"after":case"before":s.length===0&&be(r,"error",{node:e},"NL.E0408",{key:n});break;case"capacity":{if(!i)break;let a=e.$container,c=CU(a);if(c==="invalid")break;c==="lane"?(!UI.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"}):hT.test(i)?parseFloat(i)<=0&&r("error",`Item capacity "${i}" must be positive.`,{node:e,property:"value"}):UI.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(!OU(e.$container)){r("error",`"${n}:" is only valid on "swimlane" or "default swimlane".`,{node:e});break}if(i===jI)break;if(hT.test(i)){parseFloat(i)<=0&&r("error",`${n} value "${i}" must be positive.`,{node:e,property:"value"});break}if(zI.test(i)){parseFloat(i)<=0&&r("error",`${n} value "${i}" must be positive.`,{node:e,property:"value"});break}if(AU.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(mp.has(n)){if(n==="bg"||n==="fg"||n==="text")i&&!fT(i)&&r("error",`Invalid color "${i}" for "${n}". Use a named color, hex value, or "none".`,{node:e,property:"value"});else if(n in yp){let a=yp[n];i&&!a.has(i)&&!fT(i)&&r("error",`Invalid value "${i}" for "${n}". Allowed: ${[...a].join(", ")}.`,{node:e,property:"value"})}}break}}checkAnchorRequiredDate(e,r){e.properties.find(i=>ke(i)==="date")||be(r,"error",{node:e},"NL.E0500",{name:$r(e)})}checkAnchorAgainstStart(e,r){let n=e.properties.find(a=>ke(a)==="date");if(!n?.value)return;let i=n.value;if(!Ni.test(i))return;let o=new Date(i);if(Number.isNaN(o.getTime()))return;let s=uT(e.$container);switch(s.kind){case"invalid":return;case"missing":be(r,"error",{node:n,property:"value"},"NL.E0501",{name:$r(e)});return;case"valid":o<s.date&&be(r,"error",{node:n,property:"value"},"NL.E0502",{name:$r(e),date:i,start:s.iso});return}}checkMilestoneRequirement(e,r){let n=e.properties.some(o=>ke(o)==="date"),i=e.properties.some(o=>ke(o)==="after");!n&&!i&&be(r,"error",{node:e},"NL.E0503",{name:$r(e)})}checkMilestoneAgainstStart(e,r){let n=e.properties.find(a=>ke(a)==="date");if(!n?.value)return;let i=n.value;if(!Ni.test(i))return;let o=new Date(i);if(Number.isNaN(o.getTime()))return;let s=uT(e.$container);switch(s.kind){case"invalid":return;case"missing":r("error",`Milestone "${$r(e)}" has a date but the roadmap is missing "start:". Add start:YYYY-MM-DD to the roadmap.`,{node:n,property:"value"});return;case"valid":o<s.date&&be(r,"error",{node:n,property:"value"},"NL.E0504",{name:$r(e),date:i,start:s.iso});return}}checkFootnoteOn(e,r){e.properties.some(i=>ke(i)==="on")||be(r,"error",{node:e},"NL.E0505")}checkNoFootnoteProperty(e,r){for(let n of e.properties)ke(n)==="footnote"&&r("error",`Property "footnote:" is not valid on ${dT(e)}. Footnotes attach via "on:" on the footnote declaration \u2014 declare \`footnote <id> on:<target-id>\` instead.`,{node:n})}checkItemRequiredDuration(e,r){let n=e.properties.some(o=>ke(o)==="duration"),i=e.properties.some(o=>ke(o)==="size");!n&&!i&&be(r,"error",{node:e},"NL.E0600",{name:$r(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=>!iT(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=>!iT(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);mp.has(i)&&r("error",`Raw style property "${i}" is not allowed on ${dT(e)}. Declare a named style in config and reference it via "style:id".`,{node:n})}}checkUnknownEntityProperties(e,r){let n=xU[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)||$I.has(s)||mp.has(s)||s==="footnote"||i?.has(s))continue;let a=[...n,...$I],c=vU(s,n)??_U(s,a)??"";be(r,"warning",{node:o,property:"key"},"NL.W0700",{key:s,entity:dT(e),suggested:c})}}checkRoadmapProperties(e,r){}checkStylePropertyEnum(e,r){let n=ke(e),i=e.value;if(n==="bg"||n==="fg"||n==="text")fT(i)||r("error",`Invalid color "${i}" for "${n}". Use a named color, hex value, or "none".`,{node:e,property:"value"});else if(n in yp){let o=yp[n];o.has(i)||r("error",`Invalid value "${i}" for "${n}". Allowed: ${[...o].join(", ")}.`,{node:e,property:"value"})}else mp.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 "${$r(e)}" requires an "effort:" property.`,{node:e}),e.name&&(El.test(e.name)||SU.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&&cT.has(e.name)&&r("error",`Status id "${e.name}" collides with the built-in status value. Built-ins: ${[...cT].join(", ")}.`,{node:e,property:"name"})}checkDuplicateSizeIds(e,r){let n=new Map;for(let i of e.roadmapEntries)if(xo(i)&&i.name){let o=n.get(i.name);o?r("error",`Duplicate size id "${i.name}". First declared at ${xp(o)}.`,{node:i,property:"name"}):n.set(i.name,i)}}checkUtilizationOrdering(e,r){if(ki(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=XI(n.value),s=XI(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(!MI.has(e.entityType)){r("error",`"${e.entityType}" is not a supported entity type for default. Allowed: ${[...MI].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(ki(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=yU[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(pp),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 lT)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(!lT.has(o)){r("error",`Unknown calendar property "${o}". Allowed: ${[...lT].join(", ")}.`,{node:i,property:"key"});continue}n.has(o)&&r("error",`Duplicate calendar property "${o}".`,{node:i,property:"key"}),n.add(o),(!FI.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(!DI.has(o)){r("error",`Unknown scale property "${o}". Allowed: ${[...DI].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"&&(!FI.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];xo(s)&&s.name?n.has(s.name)||n.set(s.name,o):Ea(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];HI(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(cT.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=DU(e),i=o=>{HI(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")&&Ni.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=uT(e),i=o=>{let s=o.properties??[],a=ar(o)||Mr(o)||Dr(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&&Ni.test(d));if(f.length!==0){if(!a){be(r,"error",{node:c},"NL.E0411",{key:l,type:PU(o)});continue}f.length>1&&be(r,"error",{node:c},"NL.E0410",{key:l});for(let d of f)switch(n.kind){case"invalid":continue;case"missing":be(r,"error",{node:c},"NL.E0412",{key:l,date:d});continue;case"valid":{let p=new Date(d);if(Number.isNaN(p.getTime()))continue;p<n.date&&be(r,"error",{node:c},"NL.E0413",{key:l,date:d,start:n.iso})}}}}if(yr(o))for(let c of o.content)i(c);else if(Mr(o)||Dr(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 E of m){let _=ke(E);if(_==="after"){let x=E.value?[E.value]:E.values;for(let v of x)v&&(Ni.test(v)||i(p,v))}else if(_==="before"){let x=E.value?[E.value]:E.values;for(let v of x)v&&(Ni.test(v)||i(v,p))}}},s=p=>{let m=p.name,y=p.properties??[];if(o(m,y,e),yr(p))for(let E of p.content)s(E);else if(Mr(p)||Dr(p))for(let E of p.content)s(E)};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 E=u.get(y)??a;if(E===c){let _=m.indexOf(y),x=m.slice(_).concat(y),v=[...x].sort().join("\u2192");f.has(v)||(f.add(v),r("error",`Circular dependency detected: ${x.join(" \u2192 ")}.`,{node:e.roadmapDecl??e}))}else E===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)On(c)?o(c):xr(c)&&s(c)};for(let a of e.roadmapEntries)On(a)?o(a):xr(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 ${xp(l[0].node)}.`,{node:l[u].node})}}checkSymbolDeclaration(e,r){e.name&&gp.has(e.name)&&r("error",`Symbol id "${e.name}" collides with a built-in icon name. Reserved built-ins: ${[...gp].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 "${$r(e)}" unicode: must be a non-empty value.`,{node:n,property:"value"}):r("error",`Symbol "${$r(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??"";IU.test(o)||r("error",`Symbol "${$r(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(Tl(i)&&i.name){let o=n.get(i.name);o?r("error",`Duplicate symbol id "${i.name}". First declared at ${xp(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];Tl(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||!GI(a)||s==="capacity-icon"&&pT.has(a)||s==="icon"&&gp.has(a))return;let l=n.get(a);if(l===void 0){let u=s==="capacity-icon"?[...pT].sort().join(", "):[...gp].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(xl(s))for(let a of s.properties)i(o,ke(a),a.value,a);else if(ki(s))for(let a of s.properties)i(o,ke(a),a.value,a)}}};function fT(t){return mU.has(t)||wU.test(t)}function GI(t){return/^[a-zA-Z_][a-zA-Z0-9_-]*$/.test(t)}function CU(t){return t?yr(t)?"lane":ar(t)?"item":ki(t)?t.entityType==="swimlane"?"lane":"item":"invalid":"invalid"}function OU(t){return t?!!(yr(t)||ki(t)&&t.entityType==="swimlane"):!1}function XI(t){if(!t||t===jI)return null;if(hT.test(t)){let e=parseFloat(t);return Number.isFinite(e)&&e>0?e/100:null}if(zI.test(t)){let e=parseFloat(t);return Number.isFinite(e)&&e>0?e:null}return null}function xp(t){let e=t.$cstNode;return e?`line ${e.range.start.line+1}`:"unknown location"}function dT(t){let e=t.$type.replace(/Declaration$|Block$/,"").toLowerCase(),r=t.name??t.title;return r?`${e} "${r}"`:e}function LU(t,e){if(yr(t)){e(t.name,t);for(let r of t.content)mT(r,e)}else On(t)?e(t.name,t):xr(t)?qI(t,e):(hl(t)||yl(t)||ml(t)||gl(t)||xo(t)||Ea(t))&&e(t.name,t)}function qI(t,e){e(t.name,t);for(let r of t.content)xr(r)&&qI(r,e)}function mT(t,e){if(ar(t))e(t.name,t);else if(Mr(t)){e(t.name,t);for(let r of t.content)mT(r,e)}else if(Dr(t)){e(t.name,t);for(let r of t.content)mT(r,e)}}function HI(t,e){let r=n=>{let i=n.properties;if(Array.isArray(i))for(let o of i)e(o);if(yr(n))for(let o of n.content)r(o);else if(Mr(n)||Dr(n))for(let o of n.content)r(o);else if(xr(n))for(let o of n.content)(xr(o)||On(o))&&r(o)};r(t)}function DU(t){let e=new Set;t.roadmapDecl?.name&&e.add(t.roadmapDecl.name);let r=n=>{let i=n.name;if(i&&e.add(i),yr(n))for(let o of n.content)r(o);else if(Mr(n)||Dr(n))for(let o of n.content)r(o);else if(xr(n))for(let o of n.content)xr(o)||On(o)?r(o):uI(o)};for(let n of t.roadmapEntries)r(n);return e}var gT=class extends Os{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)}},yT=class extends ll{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]===`
|
|
2639
|
-
`);)n--;for(;n>=0&&(e[n]===" "||e[n]===" ");)n--;return n<0||e[n]!=="\\"}},VI={parser:{TokenBuilder:()=>new yT({indentTokenName:"INDENT",dedentTokenName:"DEDENT",whitespaceTokenName:"WS",ignoreIndentationDelimiters:[["[","]"]]}),Lexer:t=>new sp(t),ParserConfig:()=>({maxLookahead:4}),ValueConverter:()=>new gT},validation:{NowlineValidator:()=>new Tp}};function xT(t={}){let e=t.shared??oa(op(ap),hI),r=oa(ip({shared:e}),mI,VI);return e.ServiceRegistry.register(r),WI(r),{shared:e,Nowline:r}}function YI(t){return t.endsWith(":")?t.slice(0,-1):t}function ae(t,e){return t.find(r=>YI(r.key)===e)?.value}function ut(t,e){let r=t.find(n=>YI(n.key)===e);return r?r.value!==void 0?[r.value]:[...r.values]:[]}function mt(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 va={mode:"business",daysPerWeek:5,daysPerMonth:22,daysPerQuarter:65,daysPerYear:260},MU={mode:"full",daysPerWeek:7,daysPerMonth:30,daysPerQuarter:91,daysPerYear:365};function KI(t,e){let n=t.roadmapDecl?.properties.find(i=>TT(i.key)==="calendar")?.value??"business";if(n==="business")return{...va};if(n==="full")return{...MU};if(e){let i=(o,s)=>{let a=e.properties.find(l=>TT(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",va.daysPerWeek),daysPerMonth:i("days-per-month",va.daysPerMonth),daysPerQuarter:i("days-per-quarter",va.daysPerQuarter),daysPerYear:i("days-per-year",va.daysPerYear)}}return{...va}}var _p=/^(\d+(?:\.\d+)?)([dwmqy])$/;function Ep(t,e){let r=_p.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 ZI(t,e,r){return t?_p.test(t)?Ep(t,r):e.get(t)?.effortDays??0:0}function Pi(t,e,r){let n=ae(t,"duration");if(n&&_p.test(n))return Ep(n,r);let i=ae(t,"size"),o=i?e.get(i):void 0;if(!o)return 0;let s=qn(ae(t,"capacity"))??1;return o.effortDays/s}function JI(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&&_p.test(o)){let s=qn(ae(t,"capacity"))??1;return Ep(o,r)*s}return 0}function vp(t,e){let r=new Map;for(let[n,i]of t){let s=i.properties.find(c=>TT(c.key)==="effort")?.value;if(!s)continue;let a=Ep(s,e);a<=0||r.set(n,{name:n,title:i.title||void 0,effortDays:a,effortLiteral:s})}return r}function TT(t){return t.endsWith(":")?t.slice(0,-1):t}function Tr(t,e){return Math.round((e.getTime()-t.getTime())/864e5)}function To(t,e){let r=new Date(t.getTime());return r.setUTCDate(r.getUTCDate()+e),r}var bp=class{constructor(e){R(this,"items");R(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 QI(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 $U(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 FU(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 UU(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 BU(t){if(t===0||t>4)return 0;let e=Math.ceil(t/2);return(t%2===1?1:-1)*e*3}function GU(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 ek(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]=GU(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}=$U(s,e),{x:u,forceUnderBar:f}=FU(a,l,s,e),d=c||f;n.push({req:s,channelX:u,underBar:d,orderIndex:o})}let i=UU(n);for(let o of n){let s=BU(i.get(o.orderIndex)??0),a=o.channelX+s;r[o.orderIndex]={fromId:o.req.fromId,toId:o.req.toId,waypoints:XU(o.req.from,o.req.to,a),underBar:o.underBar}}return r}function XU(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 vl="en-US",HU={"en-US":{nowLabel:"now",quarterPrefix:"Q"},fr:{nowLabel:"maint.",quarterPrefix:"T"}};function tk(t,e){return e??t??vl}function wp(t){let e={};for(let r of jU(t)){let n=HU[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 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(vl)||e.push(vl),e}function zU(t){return t.split("-").map((r,n)=>n===0?r.toLowerCase():/^[a-zA-Z]{2}$/.test(r)?r.toUpperCase():r).join("-")}function ok(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 Sp(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 Mn(t){for(let e of t)if(/^\d{4}-\d{2}-\d{2}$/.test(e))return e}function Ap(t,e){return{x:t,y:e,height:0,maxX:t}}var Ra=class{constructor(e){R(this,"rows");R(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)sk(a,i)}}}};function sk(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)sk(r,e)}var ak={red:"#f87171",blue:"#60a5fa",yellow:"#facc15",green:"#34d399",orange:"#fb923c",purple:"#a78bfa",gray:"#94a3b8",navy:"#818cf8",white:"#e2e8f0"},$n={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"},_T={name:"dark",surface:{page:"#0b1220",chart:"#111827",headerBox:"#1e293b"},entities:{roadmap:{...$n,headerHeight:"md",padding:"md"},swimlane:{...$n,fg:"#e2e8f0",text:"#e2e8f0",padding:"sm",spacing:"none",textSize:"sm"},item:{...$n,bg:"#0f172a",fg:"#94a3b8",text:"#e2e8f0",shadow:"subtle",cornerRadius:"sm"},parallel:{...$n,bracket:"none",padding:"xs"},group:{...$n,bracket:"solid",padding:"xs",fg:"#94a3b8"},anchor:{...$n,bg:"#0b1220",fg:"#cbd5e1",text:"#cbd5e1",cornerRadius:"sm"},milestone:{...$n,bg:"#e2e8f0",fg:"#e2e8f0",text:"#0b1220",border:"solid"},footnote:{...$n,bg:"none",fg:"#94a3b8",text:"#e2e8f0",textSize:"sm"},label:{...$n,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 ck={red:"#4a4a4a",blue:"#6b6b6b",green:"#8a8a8a",yellow:"#c8c8c8",orange:"#5c5c5c",purple:"#3a3a3a",gray:"#9e9e9e",navy:"#2a2a2a",white:"#ffffff"},Fn={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"},ET={name:"grayscale",surface:{page:"#f5f5f5",chart:"#ffffff",headerBox:"#ffffff"},entities:{roadmap:{...Fn,headerHeight:"md",padding:"md"},swimlane:{...Fn,fg:"#3a3a3a",text:"#3a3a3a",padding:"sm",spacing:"none",textSize:"sm"},item:{...Fn,bg:"#ffffff",fg:"#9e9e9e",text:"#1a1a1a",shadow:"subtle",cornerRadius:"sm"},parallel:{...Fn,bracket:"none",padding:"xs"},group:{...Fn,bracket:"solid",padding:"xs",fg:"#595959"},anchor:{...Fn,bg:"#1a1a1a",fg:"#1a1a1a",text:"#1a1a1a",cornerRadius:"sm"},milestone:{...Fn,bg:"#2a2a2a",fg:"#2a2a2a",text:"#ffffff",border:"solid"},footnote:{...Fn,bg:"none",fg:"#595959",text:"#595959",textSize:"sm"},label:{...Fn,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 lk={red:"#e53935",blue:"#1e88e5",yellow:"#fdd835",green:"#43a047",orange:"#fb8c00",purple:"#8e24aa",gray:"#9e9e9e",navy:"#0d47a1",white:"#ffffff"},Un={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"},vT={name:"light",surface:{page:"#f8fafc",chart:"#ffffff",headerBox:"#ffffff"},entities:{roadmap:{...Un,headerHeight:"md",padding:"md"},swimlane:{...Un,fg:"#334155",text:"#334155",padding:"sm",spacing:"none",textSize:"sm"},item:{...Un,bg:"#ffffff",fg:"#94a3b8",text:"#0f172a",shadow:"subtle",cornerRadius:"sm"},parallel:{...Un,bracket:"none",padding:"xs"},group:{...Un,bracket:"solid",padding:"xs",fg:"#475569"},anchor:{...Un,bg:"#0f172a",fg:"#0f172a",text:"#0f172a",cornerRadius:"sm"},milestone:{...Un,bg:"#312e81",fg:"#312e81",text:"#ffffff",border:"solid"},footnote:{...Un,bg:"none",fg:"#475569",text:"#475569",textSize:"sm"},label:{...Un,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 bT={light:vT,dark:_T,grayscale:ET};var YU={greyscale:"grayscale"};function wT(t){let e=t.toLowerCase(),r=YU[e]??e;if(r==="light"||r==="dark"||r==="grayscale")return r}var KU={grey:"gray",violet:"purple"};function _o(t,e){if(t==="none")return"none";if(t.startsWith("#"))return t;let r=e.name==="dark"?ak:e.name==="grayscale"?ck:lk,n=KU[t]??t,i=r[n];return typeof i=="string"?i:t}function Sa(t){return t.key.endsWith(":")?t.key.slice(0,-1):t.key}function ZU(t,e){return{bg:_o(t.bg,e),fg:_o(t.fg,e),text:_o(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 RT(t,e,r,n){switch(e){case"bg":t.bg=_o(r,n);break;case"fg":t.fg=_o(r,n);break;case"text":t.text=_o(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=Rl(r,"xl");break;case"padding":t.padding=Rl(r,"xl");break;case"spacing":t.spacing=Rl(r,"xl");break;case"header-height":t.headerHeight=Rl(r,"xl");break;case"corner-radius":t.cornerRadius=Rl(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 Rl(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 uk(t,e,r){if(e)for(let n of e.properties)RT(t,Sa(n),n.value,r)}function JU(t,e,r){for(let n of e){let i=Sa(n);n.value!==void 0&&RT(t,i,n.value,r)}}function QU(t,e,r){let n=e.find(o=>Sa(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=>Sa(c)==="style");a?.value&&uk(t,r.styles.get(a.value),r.theme)}}function eB(t,e,r){let n=e.find(i=>Sa(i)==="style");n?.value&&uk(t,r.styles.get(n.value),r.theme)}function ft(t,e,r){let n=r.theme.entities[t],i=ZU(n,r.theme),o=r.defaults.get(t);if(o)for(let s of o.properties)s.value!==void 0&&RT(i,Sa(s),s.value,r.theme);return QU(i,e,r),eB(i,e,r),JU(i,e,r.theme),i}function fk(t,e){return ft("label",t.properties,e)}var dk={none:0,xs:2,sm:4,md:8,lg:16,xl:24},pk={none:0,xs:4,sm:8,md:12,lg:20,xl:32};var Aa={none:0,xs:10,sm:12,md:14,lg:18,xl:24},Ip={none:0,xs:2,sm:4,md:8,lg:12,xl:20,full:9999};var _r=8,an=4,Sl=24,kp=15,Al=8,Np=22,Pp=15,Il=16,Cp=6,ST=4,AT=11,IT=9,kT=5.5,NT=4,Ia=12,Op="6 4",PT=36,Ci=16,CT=Ci/2,kl=10,OT=Ci-4,ka=6,Lp=2.25,Fr=6,Ur=2*Fr,hk=5,mk=120,LT=240,Dp=72,Nl=28,Br=16,DT=22,Pl=18,Mp="Powered by",MT="https://nowline.io",Cl=.22,Oi=40,$p=32,gk=.58,tB=Mp.length*$p*gk,rB=10,Ol=tB+rB,$T=Ol+74,FT=5,Fp=Ol+81,nB=3*Oi*gk,iB=Fp+nB,oB=12+Oi,UT=iB*Cl,yk=oB*Cl,BT=4;var GT={sans:'system-ui, -apple-system, "Segoe UI", Roboto, sans-serif',serif:'Georgia, "Times New Roman", serif',mono:"ui-monospace, SFMono-Regular, Menlo, Consolas, monospace"},xk={days:7,weeks:4,months:3,quarters:4,years:5};var Up=class{constructor(e,r){R(this,"node");R(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=ft("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?Il+ST:0,f=l?NT:0,d=!l&&a?Ia:0,p=e.y+d,m=r.bandScale.step(),y=s,E=new Ra({laneLeftX:y,originY:p+u,minRowHeight:m,slackCorridors:r.slackCorridors}),_=y,x=[];for(let H of n.content){if(H.$type==="DescriptionDirective")continue;if(!ar(H)){let ne=H.properties??[],Re=i.resolveChildStart(ne,_,y,r),{rowIndex:Se,y:$e}=E.placeBlock(),q=i.newCursor(Re,$e),Q=i.sequenceOne(H,q,r);x.push(Q);let re=Q.box.x+Q.box.width,M=Math.max(m,q.height);E.commitBlock({rowIndex:Se,placed:Q,blockHeight:M,blockEnd:re}),_=Math.max(_,re);continue}let oe=H.properties,$=i.resolveChildStart(oe,_,y,r),w=Pi(oe,r.sizes,r.cal),D=Math.max(_r,w*r.timeline.pixelsPerDay),U=$+D,S=H.name??"",A=i.predictItemChipExtraHeight(H,r),I=m+A,{rowIndex:B,y:z}=E.placeItem({childId:S,desiredStart:$,desiredEnd:U,predictedHeight:I}),j=i.newCursor($,z),V=i.sequenceItem(H,j,r);x.push(V);let K=V.box.x+V.box.width+Fr;_=Math.max(_,K);let ue=null;(V.textSpills||V.chipsOutside||V.dotSpills||V.iconSpills||V.footnoteSpills)&&(ue=Math.max(V.decorationsRightX,V.chipsOutside?V.chipsRightX:0)+6),E.commitItem({rowIndex:B,placed:V,logicalEnd:K,spillReservation:ue,rowHeight:I})}let v=Math.max(m,E.usedHeight()),k=Math.max(_,E.usedRightX()),F={x:s,y:p,width:k-s,height:u+v+f};e.x=_+Al,e.maxX=Math.max(e.maxX,e.x);let O=r.bandScale.step()-r.bandScale.bandwidth();e.height=Math.max(e.height,d+F.height+O);let L=n.name;L&&(r.entityLeftEdges.set(L,F.x),r.entityRightEdges.set(L,F.x+F.width)),r.currentFlowKey=c;let G=Sp({box:F,afterDate:Mn(ut(n.properties,"after")),beforeDate:Mn(ut(n.properties,"before"))});return{kind:"group",id:L,title:a,box:F,children:x,style:o,inlineDatePins:G.length>0?G:void 0}}};var XT=12,sB=4,aB=13,cB=11;function Tk(t,e){return t.length*e*.58}var Bp=class{constructor(e){R(this,"input");this.input=e}get id(){return this.input.id}measure(e){return{width:Math.max(_r,this.input.logicalRightX-this.input.logicalLeftX),height:e.bands.bandwidth()}}place(e,r){let n=this.measure(r),i=Math.max(_r,n.width-2*Fr),o=e.x+Fr,s={x:o,y:e.y,width:i,height:n.height},a=this.input.hasLinkIcon?20+lB-XT:0,c=XT+Math.max(0,a),l=Math.max(0,i-c-XT),u=this.input.title,f=u?Tk(u,aB):0,d=this.input.metaText?Tk(this.input.metaText,cB):0,p=this.input.metaTrailingWidth??0,m=d+p,y=this.input.metaText!==void 0||p>0,E=u.length>0&&f>l||y&&m>l,_=E?o+i+sB:o+c;return{id:this.input.id,box:s,textX:_,textSpills:E}}},lB=4;var Gp=class{constructor(e,r){R(this,"node");R(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=ft("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 x=i.newCursor(s,a+u),v=i.sequenceOne(_,x,r);c.push(v),u+=Math.max(r.bandScale.step(),x.height),l=Math.max(l,x.maxX),p++}r.currentFlowKey=f;let m={x:s,y:a,width:l-s,height:u};e.x=l+Al,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 E=Sp({box:m,afterDate:Mn(ut(n.properties,"after")),beforeDate:Mn(ut(n.properties,"before"))});return{kind:"parallel",id:y,title:n.title??n.name,box:m,children:c,style:o,inlineDatePins:E.length>0?E:void 0}}};function Eo(t,e){return t==null||e==null?NaN:t<e?-1:t>e?1:t>=e?0:NaN}function HT(t,e){return t==null||e==null?NaN:e<t?-1:e>t?1:e>=t?0:NaN}function vo(t){let e,r,n;t.length!==2?(e=Eo,r=(a,c)=>Eo(t(a),c),n=(a,c)=>t(a)-c):(e=t===Eo||t===HT?t:uB,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 uB(){return 0}function jT(t){return t===null?NaN:+t}var _k=vo(Eo),Ek=_k.right,fB=_k.left,dB=vo(jT).center,zT=Ek;var Na=class extends Map{constructor(e,r=mB){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(vk(this,e))}has(e){return super.has(vk(this,e))}set(e,r){return super.set(pB(this,e),r)}delete(e){return super.delete(hB(this,e))}};function vk({_intern:t,_key:e},r){let n=e(r);return t.has(n)?t.get(n):r}function pB({_intern:t,_key:e},r){let n=e(r);return t.has(n)?t.get(n):(t.set(n,r),r)}function hB({_intern:t,_key:e},r){let n=e(r);return t.has(n)&&(r=t.get(n),t.delete(n)),r}function mB(t){return t!==null&&typeof t=="object"?t.valueOf():t}var gB=Math.sqrt(50),yB=Math.sqrt(10),xB=Math.sqrt(2);function bk(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>=gB?10:o>=yB?5:o>=xB?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?bk(t,e,r*2):[a,c,l]}function WT(t,e,r){return e=+e,t=+t,r=+r,bk(t,e,r)[2]}function Xp(t,e,r){e=+e,t=+t,r=+r;let n=e<t,i=n?WT(e,t,r):WT(t,e,r);return(n?-1:1)*(i<0?1/-i:i)}function Hp(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 Pa(t,e){switch(arguments.length){case 0:break;case 1:this.range(t);break;default:this.range(e).domain(t);break}return this}var wk=Symbol("implicit");function jp(){var t=new Na,e=[],r=[],n=wk;function i(o){let s=t.get(o);if(s===void 0){if(n!==wk)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 Na;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 jp(e,r).unknown(n)},Pa.apply(i,arguments),i}function Ll(){var t=jp().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 E=Hp(d).map(function(_){return m+o*_});return r(p?E.reverse():E)}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 Ll(e(),[n,i]).round(a).paddingInner(c).paddingOuter(l).align(u)},Pa.apply(f(),arguments)}function zp(t,e,r){t.prototype=e.prototype=r,r.constructor=t}function qT(t,e){var r=Object.create(t.prototype);for(var n in e)r[n]=e[n];return r}function $l(){}var Dl=.7,Vp=1/Dl,Ca="\\s*([+-]?\\d+)\\s*",Ml="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",cn="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",TB=/^#([0-9a-f]{3,8})$/,_B=new RegExp(`^rgb\\(${Ca},${Ca},${Ca}\\)$`),EB=new RegExp(`^rgb\\(${cn},${cn},${cn}\\)$`),vB=new RegExp(`^rgba\\(${Ca},${Ca},${Ca},${Ml}\\)$`),bB=new RegExp(`^rgba\\(${cn},${cn},${cn},${Ml}\\)$`),wB=new RegExp(`^hsl\\(${Ml},${cn},${cn}\\)$`),RB=new RegExp(`^hsla\\(${Ml},${cn},${cn},${Ml}\\)$`),Rk={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};zp($l,Li,{copy(t){return Object.assign(new this.constructor,this,t)},displayable(){return this.rgb().displayable()},hex:Sk,formatHex:Sk,formatHex8:SB,formatHsl:AB,formatRgb:Ak,toString:Ak});function Sk(){return this.rgb().formatHex()}function SB(){return this.rgb().formatHex8()}function AB(){return Ok(this).formatHsl()}function Ak(){return this.rgb().formatRgb()}function Li(t){var e,r;return t=(t+"").trim().toLowerCase(),(e=TB.exec(t))?(r=e[1].length,e=parseInt(e[1],16),r===6?Ik(e):r===3?new Jt(e>>8&15|e>>4&240,e>>4&15|e&240,(e&15)<<4|e&15,1):r===8?Wp(e>>24&255,e>>16&255,e>>8&255,(e&255)/255):r===4?Wp(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=_B.exec(t))?new Jt(e[1],e[2],e[3],1):(e=EB.exec(t))?new Jt(e[1]*255/100,e[2]*255/100,e[3]*255/100,1):(e=vB.exec(t))?Wp(e[1],e[2],e[3],e[4]):(e=bB.exec(t))?Wp(e[1]*255/100,e[2]*255/100,e[3]*255/100,e[4]):(e=wB.exec(t))?Pk(e[1],e[2]/100,e[3]/100,1):(e=RB.exec(t))?Pk(e[1],e[2]/100,e[3]/100,e[4]):Rk.hasOwnProperty(t)?Ik(Rk[t]):t==="transparent"?new Jt(NaN,NaN,NaN,0):null}function Ik(t){return new Jt(t>>16&255,t>>8&255,t&255,1)}function Wp(t,e,r,n){return n<=0&&(t=e=r=NaN),new Jt(t,e,r,n)}function IB(t){return t instanceof $l||(t=Li(t)),t?(t=t.rgb(),new Jt(t.r,t.g,t.b,t.opacity)):new Jt}function Oa(t,e,r,n){return arguments.length===1?IB(t):new Jt(t,e,r,n??1)}function Jt(t,e,r,n){this.r=+t,this.g=+e,this.b=+r,this.opacity=+n}zp(Jt,Oa,qT($l,{brighter(t){return t=t==null?Vp:Math.pow(Vp,t),new Jt(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=t==null?Dl:Math.pow(Dl,t),new Jt(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new Jt(wo(this.r),wo(this.g),wo(this.b),Yp(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:kk,formatHex:kk,formatHex8:kB,formatRgb:Nk,toString:Nk}));function kk(){return`#${bo(this.r)}${bo(this.g)}${bo(this.b)}`}function kB(){return`#${bo(this.r)}${bo(this.g)}${bo(this.b)}${bo((isNaN(this.opacity)?1:this.opacity)*255)}`}function Nk(){let t=Yp(this.opacity);return`${t===1?"rgb(":"rgba("}${wo(this.r)}, ${wo(this.g)}, ${wo(this.b)}${t===1?")":`, ${t})`}`}function Yp(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function wo(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function bo(t){return t=wo(t),(t<16?"0":"")+t.toString(16)}function Pk(t,e,r,n){return n<=0?t=e=r=NaN:r<=0||r>=1?t=e=NaN:e<=0&&(t=NaN),new Gr(t,e,r,n)}function Ok(t){if(t instanceof Gr)return new Gr(t.h,t.s,t.l,t.opacity);if(t instanceof $l||(t=Li(t)),!t)return new Gr;if(t instanceof Gr)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 Gr(s,a,c,t.opacity)}function Lk(t,e,r,n){return arguments.length===1?Ok(t):new Gr(t,e,r,n??1)}function Gr(t,e,r,n){this.h=+t,this.s=+e,this.l=+r,this.opacity=+n}zp(Gr,Lk,qT($l,{brighter(t){return t=t==null?Vp:Math.pow(Vp,t),new Gr(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=t==null?Dl:Math.pow(Dl,t),new Gr(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 Jt(VT(t>=240?t-240:t+120,i,n),VT(t,i,n),VT(t<120?t+240:t-120,i,n),this.opacity)},clamp(){return new Gr(Ck(this.h),qp(this.s),qp(this.l),Yp(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=Yp(this.opacity);return`${t===1?"hsl(":"hsla("}${Ck(this.h)}, ${qp(this.s)*100}%, ${qp(this.l)*100}%${t===1?")":`, ${t})`}`}}));function Ck(t){return t=(t||0)%360,t<0?t+360:t}function qp(t){return Math.max(0,Math.min(1,t||0))}function VT(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 YT(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 Dk(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 YT((r-n/e)*e,s,i,o,a)}}function Mk(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 YT((r-n/e)*e,i,o,s,a)}}var Fl=t=>()=>t;function NB(t,e){return function(r){return t+r*e}}function PB(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 $k(t){return(t=+t)==1?Kp:function(e,r){return r-e?PB(e,r,t):Fl(isNaN(e)?r:e)}}function Kp(t,e){var r=e-t;return r?NB(t,r):Fl(isNaN(t)?e:t)}var KT=(function t(e){var r=$k(e);function n(i,o){var s=r((i=Oa(i)).r,(o=Oa(o)).r),a=r(i.g,o.g),c=r(i.b,o.b),l=Kp(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 Fk(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=Oa(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 ure=Fk(Dk),fre=Fk(Mk);function Uk(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 Bk(t){return ArrayBuffer.isView(t)&&!(t instanceof DataView)}function Gk(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]=Ro(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 Xk(t,e){var r=new Date;return t=+t,e=+e,function(n){return r.setTime(t*(1-n)+e*n),r}}function Di(t,e){return t=+t,e=+e,function(r){return t*(1-r)+e*r}}function Hk(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]=Ro(t[i],e[i]):n[i]=e[i];return function(o){for(i in r)n[i]=r[i](o);return n}}var JT=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,ZT=new RegExp(JT.source,"g");function CB(t){return function(){return t}}function OB(t){return function(e){return t(e)+""}}function jk(t,e){var r=JT.lastIndex=ZT.lastIndex=0,n,i,o,s=-1,a=[],c=[];for(t=t+"",e=e+"";(n=JT.exec(t))&&(i=ZT.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:Di(n,i)})),r=ZT.lastIndex;return r<e.length&&(o=e.slice(r),a[s]?a[s]+=o:a[++s]=o),a.length<2?c[0]?OB(c[0].x):CB(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 Ro(t,e){var r=typeof e,n;return e==null||r==="boolean"?Fl(e):(r==="number"?Di:r==="string"?(n=Li(e))?(e=n,KT):jk:e instanceof Li?KT:e instanceof Date?Xk:Bk(e)?Uk:Array.isArray(e)?Gk:typeof e.valueOf!="function"&&typeof e.toString!="function"||isNaN(e)?Hk:Di)(t,e)}function QT(t,e){return t=+t,e=+e,function(r){return Math.round(t*(1-r)+e*r)}}function e_(t){return function(){return t}}function t_(t){return+t}var zk=[0,1];function La(t){return t}function r_(t,e){return(e-=t=+t)?function(r){return(r-t)/e}:e_(isNaN(e)?NaN:.5)}function LB(t,e){var r;return t>e&&(r=t,t=e,e=r),function(n){return Math.max(t,Math.min(e,n))}}function DB(t,e,r){var n=t[0],i=t[1],o=e[0],s=e[1];return i<n?(n=r_(i,n),o=r(s,o)):(n=r_(n,i),o=r(o,s)),function(a){return o(n(a))}}function MB(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]=r_(t[s],t[s+1]),o[s]=r(e[s],e[s+1]);return function(a){var c=zT(t,a,1,n)-1;return o[c](i[c](a))}}function Wk(t,e){return e.domain(t.domain()).range(t.range()).interpolate(t.interpolate()).clamp(t.clamp()).unknown(t.unknown())}function $B(){var t=zk,e=zk,r=Ro,n,i,o,s=La,a,c,l;function u(){var d=Math.min(t.length,e.length);return s!==La&&(s=LB(t[0],t[d-1])),a=d>2?MB:DB,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),Di)))(d)))},f.domain=function(d){return arguments.length?(t=Array.from(d,t_),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=QT,u()},f.clamp=function(d){return arguments.length?(s=d?!0:La,u()):s!==La},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 n_(){return $B()(La,La)}function i_(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 o_=new Date,s_=new Date;function We(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=>We(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)=>(o_.setTime(+o),s_.setTime(+s),t(o_),t(s_),Math.floor(r(o_,s_))),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 Ul=We(()=>{},(t,e)=>{t.setTime(+t+e)},(t,e)=>e-t);Ul.every=t=>(t=Math.floor(t),!isFinite(t)||!(t>0)?null:t>1?We(e=>{e.setTime(Math.floor(e/t)*t)},(e,r)=>{e.setTime(+e+r*t)},(e,r)=>(r-e)/t):Ul);var qre=Ul.range;var ln=We(t=>{t.setTime(t-t.getMilliseconds())},(t,e)=>{t.setTime(+t+e*1e3)},(t,e)=>(e-t)/1e3,t=>t.getUTCSeconds()),qk=ln.range;var Da=We(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*1e3)},(t,e)=>{t.setTime(+t+e*6e4)},(t,e)=>(e-t)/6e4,t=>t.getMinutes()),FB=Da.range,Zp=We(t=>{t.setUTCSeconds(0,0)},(t,e)=>{t.setTime(+t+e*6e4)},(t,e)=>(e-t)/6e4,t=>t.getUTCMinutes()),UB=Zp.range;var Ma=We(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()),BB=Ma.range,Jp=We(t=>{t.setUTCMinutes(0,0,0)},(t,e)=>{t.setTime(+t+e*36e5)},(t,e)=>(e-t)/36e5,t=>t.getUTCHours()),GB=Jp.range;var Bn=We(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),XB=Bn.range,Gl=We(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/864e5,t=>t.getUTCDate()-1),HB=Gl.range,Qp=We(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/864e5,t=>Math.floor(t/864e5)),jB=Qp.range;function Io(t){return We(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 Gn=Io(0),$a=Io(1),Yk=Io(2),Kk=Io(3),Mi=Io(4),Zk=Io(5),Jk=Io(6),Qk=Gn.range,zB=$a.range,WB=Yk.range,qB=Kk.range,VB=Mi.range,YB=Zk.range,KB=Jk.range;function ko(t){return We(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 No=ko(0),Fa=ko(1),eN=ko(2),tN=ko(3),$i=ko(4),rN=ko(5),nN=ko(6),iN=No.range,ZB=Fa.range,JB=eN.range,QB=tN.range,e4=$i.range,t4=rN.range,r4=nN.range;var Ua=We(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()),n4=Ua.range,eh=We(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()),i4=eh.range;var cr=We(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());cr.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:We(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 o4=cr.range,Xr=We(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());Xr.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:We(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 s4=Xr.range;function sN(t,e,r,n,i,o){let s=[[ln,1,1e3],[ln,5,5*1e3],[ln,15,15*1e3],[ln,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=vo(([,,E])=>E).right(s,d);if(p===s.length)return t.every(Xp(l/31536e6,u/31536e6,f));if(p===0)return Ul.every(Math.max(Xp(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[c4,l4]=sN(Xr,eh,No,Qp,Jp,Zp),[a_,c_]=sN(cr,Ua,Gn,Bn,Ma,Da);function l_(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 u_(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 Xl(t,e,r){return{y:t,m:e,d:r,H:0,M:0,S:0,L:0}}function f_(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=Hl(i),u=jl(i),f=Hl(o),d=jl(o),p=Hl(s),m=jl(s),y=Hl(a),E=jl(a),_=Hl(c),x=jl(c),v={a:I,A:B,b:z,B:j,c:null,d:dN,e:dN,f:C4,g:X4,G:j4,H:k4,I:N4,j:P4,L:yN,m:O4,M:L4,p:V,q:K,Q:mN,s:gN,S:D4,u:M4,U:$4,V:F4,w:U4,W:B4,x:null,X:null,y:G4,Y:H4,Z:z4,"%":hN},k={a:ue,A:Y,b:ne,B:Re,c:null,d:pN,e:pN,f:Y4,g:o3,G:a3,H:W4,I:q4,j:V4,L:TN,m:K4,M:Z4,p:Se,q:$e,Q:mN,s:gN,S:J4,u:Q4,U:e3,V:t3,w:r3,W:n3,x:null,X:null,y:i3,Y:s3,Z:c3,"%":hN},F={a:oe,A:$,b:w,B:D,c:U,d:uN,e:uN,f:R4,g:lN,G:cN,H:fN,I:fN,j:E4,L:w4,m:_4,M:v4,p:H,q:T4,Q:A4,s:I4,S:b4,u:h4,U:m4,V:g4,w:p4,W:y4,x:S,X:A,y:lN,Y:cN,Z:x4,"%":S4};v.x=O(r,v),v.X=O(n,v),v.c=O(e,v),k.x=O(r,k),k.X=O(n,k),k.c=O(e,k);function O(q,Q){return function(re){var M=[],de=-1,pe=0,Ne=q.length,at,W,er;for(re instanceof Date||(re=new Date(+re));++de<Ne;)q.charCodeAt(de)===37&&(M.push(q.slice(pe,de)),(W=aN[at=q.charAt(++de)])!=null?at=q.charAt(++de):W=at==="e"?" ":"0",(er=Q[at])&&(at=er(re,W)),M.push(at),pe=de+1);return M.push(q.slice(pe,de)),M.join("")}}function L(q,Q){return function(re){var M=Xl(1900,void 0,1),de=G(M,q,re+="",0),pe,Ne;if(de!=re.length)return null;if("Q"in M)return new Date(M.Q);if("s"in M)return new Date(M.s*1e3+("L"in M?M.L:0));if(Q&&!("Z"in M)&&(M.Z=0),"p"in M&&(M.H=M.H%12+M.p*12),M.m===void 0&&(M.m="q"in M?M.q:0),"V"in M){if(M.V<1||M.V>53)return null;"w"in M||(M.w=1),"Z"in M?(pe=u_(Xl(M.y,0,1)),Ne=pe.getUTCDay(),pe=Ne>4||Ne===0?Fa.ceil(pe):Fa(pe),pe=Gl.offset(pe,(M.V-1)*7),M.y=pe.getUTCFullYear(),M.m=pe.getUTCMonth(),M.d=pe.getUTCDate()+(M.w+6)%7):(pe=l_(Xl(M.y,0,1)),Ne=pe.getDay(),pe=Ne>4||Ne===0?$a.ceil(pe):$a(pe),pe=Bn.offset(pe,(M.V-1)*7),M.y=pe.getFullYear(),M.m=pe.getMonth(),M.d=pe.getDate()+(M.w+6)%7)}else("W"in M||"U"in M)&&("w"in M||(M.w="u"in M?M.u%7:"W"in M?1:0),Ne="Z"in M?u_(Xl(M.y,0,1)).getUTCDay():l_(Xl(M.y,0,1)).getDay(),M.m=0,M.d="W"in M?(M.w+6)%7+M.W*7-(Ne+5)%7:M.w+M.U*7-(Ne+6)%7);return"Z"in M?(M.H+=M.Z/100|0,M.M+=M.Z%100,u_(M)):l_(M)}}function G(q,Q,re,M){for(var de=0,pe=Q.length,Ne=re.length,at,W;de<pe;){if(M>=Ne)return-1;if(at=Q.charCodeAt(de++),at===37){if(at=Q.charAt(de++),W=F[at in aN?Q.charAt(de++):at],!W||(M=W(q,re,M))<0)return-1}else if(at!=re.charCodeAt(M++))return-1}return M}function H(q,Q,re){var M=l.exec(Q.slice(re));return M?(q.p=u.get(M[0].toLowerCase()),re+M[0].length):-1}function oe(q,Q,re){var M=p.exec(Q.slice(re));return M?(q.w=m.get(M[0].toLowerCase()),re+M[0].length):-1}function $(q,Q,re){var M=f.exec(Q.slice(re));return M?(q.w=d.get(M[0].toLowerCase()),re+M[0].length):-1}function w(q,Q,re){var M=_.exec(Q.slice(re));return M?(q.m=x.get(M[0].toLowerCase()),re+M[0].length):-1}function D(q,Q,re){var M=y.exec(Q.slice(re));return M?(q.m=E.get(M[0].toLowerCase()),re+M[0].length):-1}function U(q,Q,re){return G(q,e,Q,re)}function S(q,Q,re){return G(q,r,Q,re)}function A(q,Q,re){return G(q,n,Q,re)}function I(q){return s[q.getDay()]}function B(q){return o[q.getDay()]}function z(q){return c[q.getMonth()]}function j(q){return a[q.getMonth()]}function V(q){return i[+(q.getHours()>=12)]}function K(q){return 1+~~(q.getMonth()/3)}function ue(q){return s[q.getUTCDay()]}function Y(q){return o[q.getUTCDay()]}function ne(q){return c[q.getUTCMonth()]}function Re(q){return a[q.getUTCMonth()]}function Se(q){return i[+(q.getUTCHours()>=12)]}function $e(q){return 1+~~(q.getUTCMonth()/3)}return{format:function(q){var Q=O(q+="",v);return Q.toString=function(){return q},Q},parse:function(q){var Q=L(q+="",!1);return Q.toString=function(){return q},Q},utcFormat:function(q){var Q=O(q+="",k);return Q.toString=function(){return q},Q},utcParse:function(q){var Q=L(q+="",!0);return Q.toString=function(){return q},Q}}}var aN={"-":"",_:" ",0:"0"},kt=/^\s*\d+/,u4=/^%/,f4=/[\\^$*+?|[\]().{}]/g;function Pe(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 d4(t){return t.replace(f4,"\\$&")}function Hl(t){return new RegExp("^(?:"+t.map(d4).join("|")+")","i")}function jl(t){return new Map(t.map((e,r)=>[e.toLowerCase(),r]))}function p4(t,e,r){var n=kt.exec(e.slice(r,r+1));return n?(t.w=+n[0],r+n[0].length):-1}function h4(t,e,r){var n=kt.exec(e.slice(r,r+1));return n?(t.u=+n[0],r+n[0].length):-1}function m4(t,e,r){var n=kt.exec(e.slice(r,r+2));return n?(t.U=+n[0],r+n[0].length):-1}function g4(t,e,r){var n=kt.exec(e.slice(r,r+2));return n?(t.V=+n[0],r+n[0].length):-1}function y4(t,e,r){var n=kt.exec(e.slice(r,r+2));return n?(t.W=+n[0],r+n[0].length):-1}function cN(t,e,r){var n=kt.exec(e.slice(r,r+4));return n?(t.y=+n[0],r+n[0].length):-1}function lN(t,e,r){var n=kt.exec(e.slice(r,r+2));return n?(t.y=+n[0]+(+n[0]>68?1900:2e3),r+n[0].length):-1}function x4(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 T4(t,e,r){var n=kt.exec(e.slice(r,r+1));return n?(t.q=n[0]*3-3,r+n[0].length):-1}function _4(t,e,r){var n=kt.exec(e.slice(r,r+2));return n?(t.m=n[0]-1,r+n[0].length):-1}function uN(t,e,r){var n=kt.exec(e.slice(r,r+2));return n?(t.d=+n[0],r+n[0].length):-1}function E4(t,e,r){var n=kt.exec(e.slice(r,r+3));return n?(t.m=0,t.d=+n[0],r+n[0].length):-1}function fN(t,e,r){var n=kt.exec(e.slice(r,r+2));return n?(t.H=+n[0],r+n[0].length):-1}function v4(t,e,r){var n=kt.exec(e.slice(r,r+2));return n?(t.M=+n[0],r+n[0].length):-1}function b4(t,e,r){var n=kt.exec(e.slice(r,r+2));return n?(t.S=+n[0],r+n[0].length):-1}function w4(t,e,r){var n=kt.exec(e.slice(r,r+3));return n?(t.L=+n[0],r+n[0].length):-1}function R4(t,e,r){var n=kt.exec(e.slice(r,r+6));return n?(t.L=Math.floor(n[0]/1e3),r+n[0].length):-1}function S4(t,e,r){var n=u4.exec(e.slice(r,r+1));return n?r+n[0].length:-1}function A4(t,e,r){var n=kt.exec(e.slice(r));return n?(t.Q=+n[0],r+n[0].length):-1}function I4(t,e,r){var n=kt.exec(e.slice(r));return n?(t.s=+n[0],r+n[0].length):-1}function dN(t,e){return Pe(t.getDate(),e,2)}function k4(t,e){return Pe(t.getHours(),e,2)}function N4(t,e){return Pe(t.getHours()%12||12,e,2)}function P4(t,e){return Pe(1+Bn.count(cr(t),t),e,3)}function yN(t,e){return Pe(t.getMilliseconds(),e,3)}function C4(t,e){return yN(t,e)+"000"}function O4(t,e){return Pe(t.getMonth()+1,e,2)}function L4(t,e){return Pe(t.getMinutes(),e,2)}function D4(t,e){return Pe(t.getSeconds(),e,2)}function M4(t){var e=t.getDay();return e===0?7:e}function $4(t,e){return Pe(Gn.count(cr(t)-1,t),e,2)}function xN(t){var e=t.getDay();return e>=4||e===0?Mi(t):Mi.ceil(t)}function F4(t,e){return t=xN(t),Pe(Mi.count(cr(t),t)+(cr(t).getDay()===4),e,2)}function U4(t){return t.getDay()}function B4(t,e){return Pe($a.count(cr(t)-1,t),e,2)}function G4(t,e){return Pe(t.getFullYear()%100,e,2)}function X4(t,e){return t=xN(t),Pe(t.getFullYear()%100,e,2)}function H4(t,e){return Pe(t.getFullYear()%1e4,e,4)}function j4(t,e){var r=t.getDay();return t=r>=4||r===0?Mi(t):Mi.ceil(t),Pe(t.getFullYear()%1e4,e,4)}function z4(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+Pe(e/60|0,"0",2)+Pe(e%60,"0",2)}function pN(t,e){return Pe(t.getUTCDate(),e,2)}function W4(t,e){return Pe(t.getUTCHours(),e,2)}function q4(t,e){return Pe(t.getUTCHours()%12||12,e,2)}function V4(t,e){return Pe(1+Gl.count(Xr(t),t),e,3)}function TN(t,e){return Pe(t.getUTCMilliseconds(),e,3)}function Y4(t,e){return TN(t,e)+"000"}function K4(t,e){return Pe(t.getUTCMonth()+1,e,2)}function Z4(t,e){return Pe(t.getUTCMinutes(),e,2)}function J4(t,e){return Pe(t.getUTCSeconds(),e,2)}function Q4(t){var e=t.getUTCDay();return e===0?7:e}function e3(t,e){return Pe(No.count(Xr(t)-1,t),e,2)}function _N(t){var e=t.getUTCDay();return e>=4||e===0?$i(t):$i.ceil(t)}function t3(t,e){return t=_N(t),Pe($i.count(Xr(t),t)+(Xr(t).getUTCDay()===4),e,2)}function r3(t){return t.getUTCDay()}function n3(t,e){return Pe(Fa.count(Xr(t)-1,t),e,2)}function i3(t,e){return Pe(t.getUTCFullYear()%100,e,2)}function o3(t,e){return t=_N(t),Pe(t.getUTCFullYear()%100,e,2)}function s3(t,e){return Pe(t.getUTCFullYear()%1e4,e,4)}function a3(t,e){var r=t.getUTCDay();return t=r>=4||r===0?$i(t):$i.ceil(t),Pe(t.getUTCFullYear()%1e4,e,4)}function c3(){return"+0000"}function hN(){return"%"}function mN(t){return+t}function gN(t){return Math.floor(+t/1e3)}var Ba,th,EN,vN,bN;d_({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 d_(t){return Ba=f_(t),th=Ba.format,EN=Ba.parse,vN=Ba.utcFormat,bN=Ba.utcParse,Ba}function l3(t){return new Date(t)}function u3(t){return t instanceof Date?+t:+new Date(+t)}function wN(t,e,r,n,i,o,s,a,c,l){var u=n_(),f=u.invert,d=u.domain,p=l(".%L"),m=l(":%S"),y=l("%I:%M"),E=l("%I %p"),_=l("%a %d"),x=l("%b %d"),v=l("%B"),k=l("%Y");function F(O){return(c(O)<O?p:a(O)<O?m:s(O)<O?y:o(O)<O?E:n(O)<O?i(O)<O?_:x:r(O)<O?v:k)(O)}return u.invert=function(O){return new Date(f(O))},u.domain=function(O){return arguments.length?d(Array.from(O,u3)):d().map(l3)},u.ticks=function(O){var L=d();return t(L[0],L[L.length-1],O??10)},u.tickFormat=function(O,L){return L==null?F:l(L)},u.nice=function(O){var L=d();return(!O||typeof O.range!="function")&&(O=e(L[0],L[L.length-1],O??10)),O?d(i_(L,O)):u},u.copy=function(){return Wk(u,wN(t,e,r,n,i,o,s,a,c,l))},u}function rh(){return Pa.apply(wN(a_,c_,cr,Ua,Gn,Bn,Ma,Da,ln,th).domain([new Date(2e3,0,1),new Date(2e3,0,2)]),arguments)}var p_=class t{constructor(e,r,n){R(this,"bandwidthPx");R(this,"stepPx");R(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=Ll().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}},f3={bandwidth:56,step:64};function RN(){return p_.fixedRow(f3)}var nh=class{constructor(e){R(this,"domain");R(this,"range");R(this,"pixelsPerDay");R(this,"calendar");R(this,"d3");this.domain=e.domain,this.range=e.range,this.calendar=e.calendar;let r=Math.max(1,Tr(e.domain[0],e.domain[1]));this.pixelsPerDay=(e.range[1]-e.range[0])/r,this.d3=rh().domain(e.domain).range(e.range)}forward(e){let r=Tr(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 ih(t){return t.endsWith(":")?t.slice(0,-1):t}function SN(t,e){let n=t.roadmapDecl?.properties.find(c=>ih(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=oh(i)*l,s=1}}let a=s??xk[i]??4;if(e){let l=e.properties.find(m=>ih(m.key)==="unit")?.value??i,u=e.properties.find(m=>ih(m.key)==="label-every"),f=e.properties.find(m=>ih(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)||oh(l)):o??oh(l);return{unit:l,labelEvery:d,pixelsPerUnit:p}}return{unit:i,labelEvery:a,pixelsPerUnit:o??oh(i)}}function oh(t){switch(t){case"days":return hk;case"weeks":return 40;case"months":return 80;case"quarters":return 160;case"years":return 320}}function AN(t,e,r,n=vl){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?d3(e.unit,To(t.domain[0],u),l,n):void 0})}return c}function d3(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`${wp(n).quarterPrefix}${i} ${e.getUTCFullYear()}`}case"years":return`${e.getUTCFullYear()}`}}function IN(t){return{daysPerUnit:e=>h_(e,t),addUnits:(e,r,n)=>To(e,r*h_(n,t)),isWorkingDay:()=>!0}}function kN(t,e){return h_(t,e)}function h_(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 m_=class{constructor(e,r){R(this,"id");R(this,"anchor");this.id=e,this.anchor=r}place(e,r){let n=ae(this.anchor.properties,"date"),i=mt(n);if(!i)return null;let o=e.scale.forwardWithinDomain(i);if(o===null)return null;let s=ft("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 PN(t,e,r){let n=[];for(let[i,o]of t){let s=new m_(i,o).place(e,r);s&&n.push(s)}return n}function g_(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,ut(l.properties,"on")),n.push({number:f,title:l.title??c,description:l.description?.text,style:ft("footnote",l.properties,e.styleCtx)})}),{area:{box:{x:Br,y:r+Br,width:e.chartRightX-2*Br,height:n.length===0?0:Nl+n.length*Pl+Br},entries:n},index:i,hosts:o}}var p3=.8,h3=1;function m3(t){let e=[];return ON(t,e),e}function ON(t,e){for(let r of t)if(r.kind==="item"){let n=g3(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")&&ON(r.children,e)}function g3(t){return t.capacity?t.capacity.value:t.size?1:0}function LN(t){if(t.capacityValue<=0||t.warnFraction===null&&t.overFraction===null)return null;let e=m3(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:y3(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 y3(t,e,r,n){let i=t/e;return n!==null&&i>=n?"red":r!==null&&i>=r?"yellow":"green"}function DN(t,e){let r=e.get("swimlane"),n=CN(ae(t.properties,"utilization-warn-at"),r?ae(r.properties,"utilization-warn-at"):void 0,p3),i=CN(ae(t.properties,"utilization-over-at"),r?ae(r.properties,"utilization-over-at"):void 0,h3);return{warn:n,over:i}}function CN(t,e,r){let i=_3(t??e);return i.kind==="unset"?r:i.kind==="none"?null:i.value}var x3=/^\d+(?:\.\d+)?%$/,T3=/^\d+\.\d+$/;function _3(t){if(t===void 0)return{kind:"unset"};if(t==="none")return{kind:"none"};if(x3.test(t)){let e=parseFloat(t)/100;return Number.isFinite(e)&&e>0?{kind:"number",value:e}:{kind:"unset"}}if(T3.test(t)){let e=parseFloat(t);return Number.isFinite(e)&&e>0?{kind:"number",value:e}:{kind:"unset"}}return{kind:"unset"}}var MN=10;function E3(t,e,r){let n=ae(t.properties,"capacity"),i=qn(n);if(i===null)return{capacity:null,badgeWidthPx:0};let o=Wa(i),s=qa(e.capacityIcon,r),a=Xi(o,s,MN);return{capacity:{value:i,text:o,icon:s},badgeWidthPx:a}}var v3=10,b3=38,w3=8;function R3(t,e,r){let n=t.title??t.name??"";if(!n)return 0;let i=ae(t.properties,"owner");return Va(0,n,i??void 0,e,r).rightX}function S3(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 A3(t,e,r,n){for(let i of t.content){if(i.$type==="DescriptionDirective")continue;let o=ar(i)?i.properties:i.properties??[];return n.resolveChildStart(o,e,e,r)}}var Ga=class{constructor(e,r){R(this,"input");R(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=ft("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}=E3(n,s,r.symbols),d=S3(n,r),p=d.length>0?o.estimateTextWidth(d.join(","),MN):0,m=R3(n,f,p),y=A3(n,a,r,o),E=!n.title||y===void 0||y>=m+w3,_=e.y+(E?v3:b3),x=new Ra({laneLeftX:a,originY:_,minRowHeight:c,slackCorridors:r.slackCorridors}),v=a,k=[];for(let w of n.content){if(w.$type==="DescriptionDirective")continue;if(!ar(w)){let $e=w.properties??[],q=o.resolveChildStart($e,v,a,r),{rowIndex:Q,y:re}=x.placeBlock(),M=o.newCursor(q,re),de=o.sequenceOne(w,M,r);k.push(de);let pe=de.box.x+de.box.width,Ne=Math.max(c,M.height);x.commitBlock({rowIndex:Q,placed:de,blockHeight:Ne,blockEnd:pe}),v=Math.max(v,pe);continue}let D=w.properties,U=o.resolveChildStart(D,v,a,r),S=Pi(D,r.sizes,r.cal),A=Math.max(_r,S*r.timeline.pixelsPerDay),I=U+A,B=w.name??"",z=o.predictItemChipExtraHeight(w,r),j=c+z,{rowIndex:V,y:K}=x.placeItem({childId:B,desiredStart:U,desiredEnd:I,predictedHeight:j}),ue=o.newCursor(U,K),Y=o.sequenceItem(w,ue,r);k.push(Y);let ne=Y.box.x+Y.box.width+Fr;v=Math.max(v,ne);let Re=null;(Y.textSpills||Y.chipsOutside||Y.dotSpills||Y.iconSpills||Y.footnoteSpills)&&(Re=Math.max(Y.decorationsRightX,Y.chipsOutside?Y.chipsRightX:0)+6),x.commitItem({rowIndex:V,placed:Y,logicalEnd:ne,spillReservation:Re,rowHeight:j})}let F=_-e.y,O=Math.max(c+32,F+x.usedHeight()+16),L=Math.max(x.usedRightX(),m),G={x:0,y:e.y,width:r.chartRightX,height:O},H=ae(n.properties,"owner"),oe;if(H){let w=r.teams.get(H),D=r.persons.get(H);oe=w?.title??D?.title??H}let $=u?(()=>{let{warn:w,over:D}=DN(n,r.styleCtx.defaults);return LN({children:k,capacityValue:u.value,warnFraction:w,overFraction:D})})():null;return r.currentFlowKey=l,{positioned:{id:n.name,title:n.title??n.name??"",box:G,bandIndex:i,children:k,nested:[],style:s,owner:oe,footnoteIndicators:d,capacity:u,utilization:$},usedHeight:O,usedRightX:L}}};var I3=18,k3=14,N3=14,P3=16,C3=32;function $N(t,e,r,n){let i=r+I3,o=[],s=!0;for(let a of t){s||(i+=P3),s=!1;let c=a.content.roadmap?.title??a.sourcePath,l=i+k3,u={cal:e.cal,styleCtx:{theme:e.styleCtx.theme,styles:a.config.styles,defaults:a.config.defaults,labels:a.content.labels},sizes:vp(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 O of a.content.swimlanes.values()){u.nextParallelId=0,u.nextGroupId=0;let{positioned:L,usedHeight:G,usedRightX:H}=new Ga({lane:O,bandIndex:p},n).place({x:u.timeline.originX,y:d},u);f.push(L),d+=G,p++,H>m&&(m=H)}let y=d,E=Math.max(e.bandScale.bandwidth(),y-i+N3),_=0,{chromeRightX:x}=Ya(_,c,a.sourcePath),v=Math.max(x,m)+C3,k=Math.min(e.chartRightX-_,v-_),F={x:_,y:i,width:k,height:E};for(let O of f)O.box.width=k;o.push({sourcePath:a.sourcePath,label:c,box:F,nestedSwimlanes:f,style:ft("swimlane",[],e.styleCtx)}),i+=E}return{regions:o,endY:i}}function ch(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 lh(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 FN(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 y_=class{constructor(e,r){R(this,"id");R(this,"milestone");this.id=e,this.milestone=r}place(e){let r=this.milestone,n=ft("milestone",r.properties,e.styleCtx),i=ae(r.properties,"date"),o=ut(r.properties,"after"),s=mt(i),a=e.timeline.markerRow.y,c=6,l=r.title??this.id,u=null,f=a,d=null,p="right",m=!1,y,E=!1;if(s){let x=e.scale.forwardWithinDomain(s);if(x===null)return null;u=x,m=!0;let v=e.markerRowPlacements.get(this.id);v&&(f=v.centerY,d=v.labelBox,p=v.labelSide);let k=ch(o,e),F=lh(k),O=null;for(let L of F)(!O||L.x>O.x)&&(O=L);O&&O.x>x&&(E=!0,y=[{x:O.x,y:O.y>0?O.y:f}])}else if(o.length>0){let x=ch(o,e),v=lh(x);v.sort((L,G)=>G.x-L.x);let k=v[0]?.x??e.timeline.originX;u=k,m=!1;let F=FN(u,a,c,l,10,!0,e.timeline.box.x,e.chartRightX);f=a,d=F.box,p=F.side,e.markerRowPlacements.set(this.id,{rowIndex:0,centerY:f,labelBox:d,labelSide:p});let O=[];for(let L=1;L<v.length;L++){let G=v[L];G.x<k&&G.y>0&&O.push({x:G.x,y:G.y})}O.length>0&&(y=O)}if(u===null)return null;if(!d){let x=FN(u,f,c,l,10,!0,e.timeline.box.x,e.chartRightX);d=x.box,p=x.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:E,style:n,cutTopY:e.chartTopY,cutBottomY:e.swimlaneBottomY,labelBox:d,labelSide:p}}};function UN(t,e){let r=[];for(let[n,i]of t){let o=new y_(n,i).place(e);o&&r.push(o)}return r}var L3=4;function D3(t,e){e>t.chartRightX&&(t.chartRightX=e)}var fh=class{place(e,r,n,i){let o=n.theme??"light",s=bT[o],a=n.width??1280,c=tk(n.locale,F3(e)),l=KI(e,r.config.calendar),u=SN(e,r.config.scale),f=vp(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=ft("roadmap",e.roadmapDecl?.properties??[],d),E=y.headerPosition==="beside",_=y.timelinePosition!=="bottom",x=y.timelinePosition==="bottom"||y.timelinePosition==="both",v=e.roadmapDecl?.title??e.roadmapDecl?.name??"",k=ae(e.roadmapDecl?.properties??[],"author"),F=i.sizeBesideHeader(v,k),O=E?{x:0,y:0,width:F.boxWidth,height:0}:{x:0,y:0,width:0,height:Dp},L=E?F.boxWidth:0,G=E?8:Dp+8,H=IN(l),oe=u.pixelsPerUnit/H.daysPerUnit(u.unit),w=Math.max(1,Tr(p,m))*oe,D=L+Ur,U=w,S=L+Ur+U+Ur,A=Math.min(a,S),I=n.today!==void 0&&n.today>=p&&n.today<=m,B=r.content.anchors.size+r.content.milestones.size>0,z=I?Ci:0,j=_?Sl:0,V=new nh({domain:[p,m],range:[D,D+w],calendar:H}),K=Math.max(A,D+U+Ur),ue=[];for(let[Z,ce]of r.content.anchors){let Ge=mt(ae(ce.properties,"date"));if(!Ge)continue;let vr=V.forwardWithinDomain(Ge);vr!==null&&ue.push({id:Z,centerX:vr,radius:6,title:ce.title??Z,fontSize:10,bold:!1,date:Ge,isMilestone:!1})}for(let[Z,ce]of r.content.milestones){let Ge=mt(ae(ce.properties,"date"));if(!Ge)continue;let vr=V.forwardWithinDomain(Ge);vr!==null&&ue.push({id:Z,centerX:vr,radius:6,title:ce.title??Z,fontSize:10,bold:!0,date:Ge,isMilestone:!0})}let Y=GN(ue,L,K,i.estimateTextWidth),ne=B?Math.max(1,Y.rowCount):0,Re=ne*26,Se=z+j+Re,$e=Se+8,q=E?F.cardHeight+L3:0,Q=Math.max(G,q-Se),re=Q+z,M=re+j,de=M+Re,pe=AN(V,u,H,c),Ne={box:{x:D,y:Q,width:w,height:0},ticks:pe,pixelsPerDay:oe,originX:D,startDate:p,endDate:m,labelStyle:ft("roadmap",[],d),pillRowHeight:z,tickPanelY:re,tickPanelHeight:j,markerRow:{y:M+13,height:Re,collisionY:M-8},minorGrid:y.minorGrid},at=new Map;for(let[Z,ce]of Y.placements){let Ge=M+13+ce.rowIndex*26;at.set(Z,{rowIndex:ce.rowIndex,centerY:Ge,labelBox:{...ce.labelBox,y:Ge-4},labelSide:ce.labelSide})}let W={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:Ne,scale:V,calendar:H,bandScale:RN(),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:at,chartTopY:Q+$e,chartBottomY:0,swimlaneBottomY:0,chartRightX:K,nextParallelId:0,nextGroupId:0};for(let Z of ue){let ce=at.get(Z.id);ce&&(W.entityLeftEdges.set(Z.id,Z.centerX),W.entityRightEdges.set(Z.id,Z.centerX),W.entityMidpoints.set(Z.id,{x:Z.centerX,y:ce.centerY}))}let er=g_(r.content.footnotes,W,0);W.footnoteIndex=er.index,W.footnoteHosts=er.hosts;let Ui=new Map(W.entityLeftEdges),ur=new Map(W.entityRightEdges),jr=new Map(W.entityMidpoints),ye=[...r.content.swimlanes.values()],Bi=ft("swimlane",[],d),zr=dk[Bi.spacing]??0,dn=()=>{W.nextParallelId=0,W.nextGroupId=0;let Z=[],ce=W.chartTopY,Ge=0,vr=W.timeline.originX;for(let Gi of ye){Ge>0&&(ce+=zr);let{positioned:zn,usedHeight:wh,usedRightX:Ql}=new Ga({lane:Gi,bandIndex:Ge},i).place({x:W.timeline.originX,y:ce},W);Z.push(zn),ce+=wh,Ql>vr&&(vr=Ql),Ge++}return{swimlanes:Z,nextY:ce,maxRightX:vr}},Er=dn(),Nt=Er.swimlanes,$t=Er.nextY,fr=M3(r.content.milestones,W);fr.length>0&&(W.entityLeftEdges=new Map(Ui),W.entityRightEdges=new Map(ur),W.entityMidpoints=new Map(jr),W.itemSlackAttachY=new Map,W.entityVisualLeftX=new Map,W.entityVisualRightX=new Map,W.itemArrowSource=new Map,W.itemFlowKey=new Map,W.currentFlowKey="",W.slackCorridors=fr,Er=dn(),Nt=Er.swimlanes,$t=Er.nextY),D3(W,Er.maxRightX+Ur);for(let Z of Nt)Z.box.width=W.chartRightX;let T=r.content.isolatedRegions,P=[];if(T.length>0){let Z=$N(T,W,$t+8,i);P=Z.regions,$t=Z.endY}W.chartBottomY=$t,W.swimlaneBottomY=$t,Ne.box.height=W.chartBottomY-Ne.box.y;let X=UN(r.content.milestones,W),J=ue.map(Z=>({id:Z.id,centerX:Z.centerX,radius:Z.radius,title:Z.title,fontSize:Z.fontSize,bold:Z.bold}));for(let Z of X)Z.fixed||J.push({id:Z.id??"",centerX:Z.center.x,radius:Z.radius,title:Z.title,fontSize:10,bold:!0});let _e=GN(J,L,W.chartRightX,i.estimateTextWidth);W.markerRowPlacements.clear();for(let[Z,ce]of _e.placements){let Ge=M+13+ce.rowIndex*26;W.markerRowPlacements.set(Z,{rowIndex:ce.rowIndex,centerY:Ge,labelBox:{...ce.labelBox,y:Ge-4},labelSide:ce.labelSide})}for(let Z of X){let ce=W.markerRowPlacements.get(Z.id??"");ce&&(Z.center={x:Z.center.x,y:ce.centerY},Z.labelBox=ce.labelBox,Z.labelSide=ce.labelSide)}for(let Z of ue){let ce=W.markerRowPlacements.get(Z.id);ce&&W.entityMidpoints.set(Z.id,{x:Z.centerX,y:ce.centerY})}for(let Z of X)Z.fixed||W.entityMidpoints.set(Z.id??"",{x:Z.center.x,y:Z.center.y});let Be=B?Math.max(1,_e.rowCount):0;if(Be>ne){let Z=(Be-ne)*26;W.timeline.markerRow.height=Be*26,W.timeline.box.height+=Z,W.chartTopY+=Z,W.chartBottomY+=Z,W.swimlaneBottomY+=Z;for(let ce of Nt)x_(ce,Z);for(let ce of P)$3(ce,Z);for(let[ce,Ge]of W.entityMidpoints)W.markerRowPlacements.has(ce)||W.entityMidpoints.set(ce,{x:Ge.x,y:Ge.y+Z});for(let[ce,Ge]of W.itemSlackAttachY)W.itemSlackAttachY.set(ce,Ge+Z);for(let ce of X)if(ce.cutTopY=W.chartTopY,ce.cutBottomY=W.swimlaneBottomY,ce.slackArrows)for(let Ge of ce.slackArrows)Ge.y+=Z}x&&(W.timeline.bottomTickPanelY=W.chartBottomY+8,W.timeline.bottomTickPanelHeight=Sl,W.chartBottomY+=8+Sl);let Ae=new Set(X.map(Z=>Z.center.x)),Ze=PN(r.content.anchors,W,Ae),ct=i.collectItems(ye),He=i.buildDependencies(ct,Nt,P,W),Fe=i.buildNowline(n.today,W,c),gt=g_(r.content.footnotes,W,W.chartBottomY);W.footnoteIndex=gt.index,W.footnoteHosts=gt.hosts,O.height=O.height||W.chartBottomY,E||(O.width=W.chartRightX);let tr=E?{x:6,y:de-F.cardHeight,width:F.cardWidth,height:F.cardHeight}:{x:0,y:0,width:W.chartRightX,height:Dp},Wr=gt.area.entries.length>0?gt.area.box.y+gt.area.box.height:W.chartBottomY,dr={x:W.chartRightX-Ur-UT,y:Wr+Ur,width:UT,height:yk},Je=dr.y+dr.height+Ur,pr={box:O,position:y.headerPosition,title:v,author:k,titleLines:F.titleLines,authorLines:F.authorLines,cardBox:tr,logo:void 0,style:y,attributionBox:dr};return{width:W.chartRightX,height:Je,theme:o,palette:s,backgroundColor:s.surface.page,header:pr,timeline:Ne,nowline:Fe,swimlanes:Nt,anchors:Ze,milestones:X,edges:He,footnotes:gt.area,includes:P,chartBox:{x:L,y:W.chartTopY,width:W.chartRightX-L,height:W.chartBottomY-W.chartTopY}}}};function M3(t,e){let r=[];for(let[n,i]of t){let o=ae(i.properties,"date"),s=ut(i.properties,"after"),a=mt(o),c=ch(s,e),l=lh(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 x_(t,e){t.box.y+=e;for(let r of t.children)XN(r,e);for(let r of t.nested)x_(r,e)}function XN(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)XN(r,e)}function $3(t,e){t.box.y+=e;for(let r of t.nestedSwimlanes)x_(r,e)}function GN(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=L=>L==="right"?l:u,E=L=>L==="right"?f:d,_=(L,G)=>{let H=Math.min(p,L),oe=Math.max(m,L+c);return s[G].some($=>$.left<oe&&$.right>H)},x=-1,v="right",k=l;e:for(let L=s.length-1;L>=0;L--)for(let G of["right","left"]){if(!E(G))continue;let H=y(G);if(!_(H,L)){x=L,v=G,k=H;break e}}if(x===-1){for(let[L,G]of o)o.set(L,{...G,rowIndex:G.rowIndex+1});s=[[],...s],x=0,v=f?"right":"left",k=y(v)}let F=Math.min(p,k),O=Math.max(m,k+c);s[x].push({left:F,right:O}),o.set(a.id,{rowIndex:x,labelBox:{x:k,y:0,width:c,height:12},labelSide:v})}return{placements:o,rowCount:s.length}}function F3(t){return t.directive?.properties.find(r=>U3(r.key)==="locale")?.value}function U3(t){return t.endsWith(":")?t.slice(0,-1):t}function X3(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 H3(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 j3(t,e){if(t)return/^\d+(?:\.\d+)?[dwmqy]$/.test(t)||/^\d+%$/.test(t)?t:e.sizes.get(t)?.effortLiteral??t}function z3(t,e){if(t)return e.teams.get(t)?.title??e.persons.get(t)?.title??t}function W3(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 dh(t,e,r,n,i){let o=fk(t,e),s=t.name??t.title??"",a=o.padding==="none"?"xs":o.padding,c=pk[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 w_(t,e,r,n){let i=t.properties,o=ft("item",i,r.styleCtx),s=ae(i,"size"),a=s?r.sizes.get(s)??null:null,c=Pi(i,r.sizes,r.cal),l=JI(i,r.sizes,r.cal),u=ut(i,"after"),f=ut(i,"before"),d=ae(i,"date"),p=ZI(ae(i,"remaining"),r.sizes,r.cal),m=e.x,y=mt(d);if(y){let le=r.scale.forwardWithinDomain(y);le!==null&&(m=le)}else if(u.length>0){let le=e.x;for(let Qe of u){let dt=mt(Qe);if(dt){let Wn=r.scale.forwardWithinDomain(dt);Wn!==null&&(le=Math.max(le,Wn));continue}let pn=r.entityRightEdges.get(Qe);pn!==void 0&&(le=Math.max(le,pn))}m=Math.max(e.x,le)}let E=Math.max(_r,c*r.timeline.pixelsPerDay),_=m,x=m+E,v=ae(i,"link"),k=W3(v),F=k.icon!=="none",O=Math.max(_r,E-2*Fr),L=ut(i,"labels"),G=[];for(let le of L){let Qe=r.labels.get(le);if(!Qe)continue;let dt=dh(Qe,r.styleCtx,0,0);G.push({id:Qe,width:dt.box.width})}let H=0;for(let le=0;le<G.length;le+=1)le>0&&(H+=4),H+=G[le].width;let oe=Math.max(0,O-24),$=G.length>0&&H>oe,w=!1,D,U;if(f.length>0){let le,Qe;for(let dt of f){let pn=mt(dt),Wn=pn?r.scale.forwardWithinDomain(pn)??void 0:r.entityLeftEdges.get(dt);Wn!==void 0&&(le===void 0||Wn<le)&&(le=Wn,Qe=dt)}le!==void 0&&x>le&&(w=!0,D={x:le,y:e.y,width:x-le,height:r.bandScale.bandwidth()},U=Qe)}let S=ae(i,"status"),A=X3(S),I=H3(S);I===0&&A==="done"&&(I=1);let B=/^(\d{1,3})%$/.exec(ae(i,"remaining")??"");I===0&&A==="in-progress"&&B&&(I=1-Math.max(0,Math.min(100,parseInt(B[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"},j={done:"#052e16","in-progress":"#172554","at-risk":"#422006",blocked:"#7f1d1d",planned:"#1e293b",neutral:"#1e293b"},V={done:"#ebebeb","in-progress":"#e4e4e4","at-risk":"#eeeeee",blocked:"#dcdcdc",planned:"#f5f5f5",neutral:"#f5f5f5"},K={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},ue=r.styleCtx.theme.name,Y=ue==="dark",ne=Y?"#0f172a":"#ffffff",Re=ue==="grayscale"?"#9e9e9e":"#94a3b8";o.bg===ne&&(o.bg=ue==="grayscale"?V[A]:Y?j[A]:z[A]),o.fg===Re&&(o.fg=K[A]);let Se=ae(i,"duration"),$e=!!Se&&/^\d+(?:\.\d+)?[dwmqy]$/.test(Se),q=a?a.title??a.name:"",Q=$e?Se:q||void 0,re=ae(i,"remaining"),M=j3(re,r),de=z3(n??ae(i,"owner"),r),pe=()=>[Q,de].filter(Boolean).join(" "),Ne;if(A==="in-progress"&&M){let le=pe();Ne=le?`${le} \u2014 ${M} remaining`:`${M} remaining`}else if(A==="in-progress"&&I>0&&I<1){let le=Math.round((1-I)*100),Qe=pe();Ne=Qe?`${Qe} \u2014 ${le}% remaining`:`${le}% remaining`}else(de||Q)&&(Ne=pe()||void 0);let at=ae(i,"capacity"),W=qn(at),er=null,Ui=0;if(W!==null){let le=Wa(W),Qe=qa(o.capacityIcon,r.symbols);er={value:W,text:le,icon:Qe};let dt=11;Ui=(Ne?fn(" ",dt):0)+Xi(le,Qe,dt)}let ur=t.title??t.name??"",jr=new Bp({id:t.name??"",title:ur,logicalLeftX:_,logicalRightX:x,metaText:Ne,metaTrailingWidth:Ui,hasLinkIcon:F}).place({x:_,y:e.y},{time:r.scale,bands:r.bandScale,style:o}),ye=jr.box,Bi=r.bandScale.bandwidth(),zr=ye.width<17,dn=F&&ye.width<41,Er=ye.width<23,Nt=jr.textSpills||dn,$t=null;$&&($t=Sh(G,ye.width));let fr=$t?$t.rows.length:G.length>0?1:0,T=Ne!==void 0||er!==null,P=YN($,Nt,fr,Bi,T);P>0&&(ye.height=Bi+P);let X=[],J=ye.y+Bi-an-13-3,_e=ye.y+38+3,Ae=$&&Nt||!$&&T&&G.length>0?Math.max(J,_e):J,Ze=$?ye.x+ye.width+6:ye.x+12,ct=Ze;if($t)for(let le=0;le<$t.rows.length;le+=1){let Qe=Ae+le*17,dt=Ze;for(let Wn of $t.rows[le]){let Z_=dh(Wn.id,r.styleCtx,dt,Qe);X.push(Z_),dt+=Z_.box.width+4}let pn=dt-4;pn>ct&&(ct=pn)}else{let le=Ze;for(let Qe of G){let dt=dh(Qe.id,r.styleCtx,le,Ae);X.push(dt),le+=dt.box.width+4}ct=G.length>0?le-4:Ze}let He=new Set;if(t.name){for(let[le,Qe]of r.footnoteHosts.entries())if(Qe.includes(t.name)){let dt=r.footnoteIndex.get(le);dt!==void 0&&He.add(dt)}}let Fe=[...He].sort((le,Qe)=>le-Qe),gt=de??n??ae(i,"owner"),tr=t.description?.text,Wr=Fe.length>0&&Er,Je=ye.x+ye.width+6,pr=!1,Jl=null;dn&&(pr&&(Je+=4),Jl=Je,Je=Jl+14,pr=!0);let Z=0;if(Nt){pr&&(Je+=4);let le=fn(ur,13),Qe=(Ne?fn(Ne,11):0)+Ui;Z=Math.max(le,Qe),Je+=Z,pr=!0}let ce=null;Wr&&(pr&&(Je+=4),ce=Je,Je+=Fe.length*8,pr=!0);let Ge=null;zr&&(pr&&(Je+=4),Ge=Je+5,Je=Ge+5,pr=!0);let vr=Math.max(ye.x+ye.width,Je),Gi=t.name;Gi&&(r.entityLeftEdges.set(Gi,_),r.entityRightEdges.set(Gi,x));let zn=Gi??VN(t);r.entityMidpoints.set(zn,{x:(_+x)/2,y:ye.y+ye.height/2}),r.entityVisualLeftX.set(zn,ye.x),r.entityVisualRightX.set(zn,ye.x+ye.width);let wh=Nt?{x:ye.x+ye.width,y:ye.y+ye.height-an/2}:{x:ye.x+ye.width,y:ye.y+ye.height/2};r.itemArrowSource.set(zn,wh),r.itemFlowKey.set(zn,r.currentFlowKey);let Ql=Nt?ye.y+ye.height-an/2:ye.y+ye.height/2;r.itemSlackAttachY.set(zn,Ql),e.x=x,e.maxX=Math.max(e.maxX,e.x),e.height=Math.max(e.height,r.bandScale.step()+P);let K_=ok({box:ye,afterDate:Mn(u),beforeDate:Mn(f),hasLinkIcon:F,footnoteCount:Fe.length});return{kind:"item",id:Gi,title:ur,box:ye,status:A,progressFraction:I,footnoteIndicators:Fe,labelChips:X,chipsOutside:$,chipsRightX:ct,linkIcon:k.icon,linkHref:k.href,hasOverflow:w,overflowBox:D,overflowAnchorId:U,owner:gt,description:tr,metaText:Ne,textSpills:Nt,dotSpills:zr,iconSpills:dn,footnoteSpills:Wr,dotSpillCx:Ge,iconSpillX:Jl,footnoteSpillStartX:ce,decorationsRightX:vr,capacity:er,size:a,style:o,inlineDatePins:K_.length>0?K_:void 0}}function q3(t,e,r){return new Gp(t,{sequenceOne:R_,newCursor:Ap}).place(e,r)}function V3(t,e,r){return new Up(t,{sequenceItem:w_,sequenceOne:R_,resolveChildStart:ZN,newCursor:Ap,estimateTextWidth:fn,predictItemChipExtraHeight:KN}).place(e,r)}function R_(t,e,r){if(ar(t))return w_(t,e,r);if(Mr(t))return q3(t,e,r);if(Dr(t))return V3(t,e,r);throw new Error(`Unknown swimlane child type: ${t.$type??"unknown"}`)}function fn(t,e){return t.length*e*.58}function VN(t){let e=t.$cstNode?.range.start;return`#item@${e?e.line+1:0}:${e?e.character+1:0}`}function YN(t,e,r,n,i){if(r===0)return 0;let o=n-an-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+an;return Math.max(0,l-n)}function KN(t,e){let r=t.properties,n=ut(r,"labels");if(n.length===0)return 0;let i=Pi(r,e.sizes,e.cal),o=Math.max(_r,i*e.timeline.pixelsPerDay),s=Math.max(_r,o-2*Fr),a=[];for(let _ of n){let x=e.labels.get(_);if(!x)continue;let v=dh(x,e.styleCtx,0,0);a.push({id:x,width:v.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?fn(d,13):0)>l,y=u?Sh(a,s):null,E=y?y.rows.length:a.length>0?1:0;return YN(u,m,E,e.bandScale.bandwidth(),f)}function ZN(t,e,r,n){let i=mt(ae(t,"date"))??mt(ae(t,"start"));if(i){let s=n.scale.forwardWithinDomain(i);if(s!==null)return s}let o=ut(t,"after");if(o.length>0){let s=r;for(let a of o){let c=mt(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 T_=6;function HN(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&&fn(a,r)>e?(i.push(o),o=s):o=a}return o&&i.push(o),i}function Y3(t,e){let r=LT-32,n=HN(t,r,16),i=HN(e??"",r,11),o=0;for(let d of n)o=Math.max(o,fn(d,16));for(let d of i)o=Math.max(o,fn(d,11));let s=o+32,a=Math.max(mk-T_,Math.min(LT-T_,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+T_;return{titleLines:n,authorLines:i,cardWidth:a,cardHeight:u,boxWidth:f}}function K3(t,e,r,n,i){let s=t.roadmapDecl?.properties??[],a=ae(s,"start"),c=mt(a)??Z3(n),l=ae(s,"length");if(l){let p=J3(l,e.cal);if(p>0)return{startDate:c,endDate:To(c,p)}}let u=JN(r,e,c,n),f=kN(i.unit,e.cal),d=u>0?Math.ceil(u/f)*f:4*e.cal.daysPerWeek;return{startDate:c,endDate:To(c,Math.max(1,d))}}function Z3(t){let e=t??new Date;return new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()))}function J3(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 JN(t,e,r,n){let i=new Map,o=new Map,s=new Map,a=0,c=f=>{let d=mt(f);return d?Tr(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=mt(ae(f.properties,"date"));if(d&&f.name){let p=Tr(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(ar(f)){let p=Pi(f.properties,e.sizes,e.cal),m=mt(ae(f.properties,"date")),y=mt(ae(f.properties,"start")),E=ut(f.properties,"after"),_=d;m?_=Tr(r,m):y?_=Tr(r,y):E.length>0&&(_=Math.max(d,...E.map(c)));let x=_+p;return f.name&&i.set(f.name,x),x}if(Mr(f)){let p=ut(f.properties,"after"),m=p.length>0?Math.max(d,...p.map(c)):d,y=m;for(let E of f.content){if(E.$type==="DescriptionDirective")continue;let _=u(E,m);y=Math.max(y,_)}return y}if(Dr(f)){let p=ut(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=mt(ae(f.properties,"date"));if(d){let m=Tr(r,d);f.name&&s.set(f.name,m),a=Math.max(a,m);continue}let p=ut(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=JN({config:f.config,content:f.content,diagnostics:[],processedFiles:new Set},e,r,void 0);a=Math.max(a,d)}if(n){let f=Tr(r,n);f>0&&(a=Math.max(a,f))}return a}function Q3(t,e,r,n){let i=new bp(QI(e,r)),o=[],s=[];for(let[l,u]of t){let f=ut(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 E=n.itemArrowSource.get(y),_,x=E===void 0;if(E)_=E;else{let v=n.entityMidpoints.get(y);if(!v)continue;_={x:v.x,y:d.y}}!x&&Math.abs(_.y-m.y)<.5&&m.x-_.x<20||(o.push({fromId:y,toId:l,from:_,to:m,isMarkerSource:x}),s.push({fromId:y,toId:l}))}}let a=ek(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:ft("item",[],n.styleCtx)})}return c}function eG(t,e,r){if(!t)return null;let n=e.scale.forwardWithinDomain(t);if(n===null)return null;let i=e.timeline.box.y,o=e.timeline.tickPanelY,s=wp(r).nowLabel,a=fn(s,kl),c=Math.max(PT,Math.ceil(a+2*ka)),l=e.timeline.originX-Ur,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:ft("item",[],e.styleCtx)}}function tG(t){let e=new Map,r=n=>{if(ar(n)){e.set(n.name??VN(n),n);return}if(Mr(n)){for(let i of n.content)i.$type!=="DescriptionDirective"&&r(i);return}if(Dr(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 S_(t,e,r={}){return new fh().place(t,e,r,{sequenceItem:w_,sequenceOne:R_,resolveChildStart:ZN,newCursor:Ap,estimateTextWidth:fn,predictItemChipExtraHeight:KN,computeDateWindow:K3,sizeBesideHeader:Y3,collectItems:tG,buildDependencies:Q3,buildNowline:eG})}function A_(t){return t.toISOString().slice(0,10)}function rG(t){return t.id??t.title}function QN(t,e){for(let r of t)r.kind==="item"?e(r):QN(r.children,e)}function nG(t,e,r){let n=rG(t);t.textSpills&&r.push(Po(e,"NL.I1000","info",{name:n},n)),t.chipsOutside&&r.push(Po(e,"NL.I1001","info",{name:n},n)),(t.box.width<17||t.dotSpills||t.iconSpills||t.footnoteSpills)&&r.push(Po(e,"NL.I1002","info",{name:n},n)),t.hasOverflow&&r.push(Po(e,"NL.I1003","info",{name:n,anchor:t.overflowAnchorId},n))}function Po(t,e,r,n,i){return{message:_l(t,e,n),severity:r,code:e,entityId:i,lspSeverity:r==="warning"?2:3,data:{code:e,args:n}}}function eP(t,e,r){let n=t.id??t.title,i=[];QN(t.children,a=>i.push(a));for(let a of i)nG(a,e,r);let o=new Set(i.map(a=>a.box.y));o.size>1&&r.push(Po(e,"NL.I1004","info",{lane:n,rows:o.size},n)),(t.utilization?.segments.some(a=>a.classification==="red")??!1)&&r.push(Po(e,"NL.I1005","info",{lane:n},n));for(let a of t.nested)eP(a,e,r)}function I_(t,e={}){let r=e.locale??"en-US",n=[];for(let i of t.swimlanes)eP(i,r,n);if(e.today){let i=e.today,o=t.timeline.startDate,s=t.timeline.endDate;(i<o||i>s)&&n.push(Po(r,"NL.W1000","warning",{date:A_(i),start:A_(o),end:A_(s)}))}return n}var Co=class extends Error{constructor(e){super(e),this.name="TimezoneError"}};function k_(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 Co(`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 Co(`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 yh(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 iG=/^(\d{4})-(\d{2})-(\d{2})$/,oG=/^(\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?)(Z|([+-])(\d{2})(?::?(\d{2}))?)$/,sG=/^(\d{4})-(\d{2})-(\d{2})T\d{2}:\d{2}:\d{2}(?:\.\d+)?$/;function N_(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=iG.exec(n);if(i)return new Date(Date.UTC(parseInt(i[1],10),parseInt(i[2],10)-1,parseInt(i[3],10)));let o=oG.exec(n);if(o){let a=new Date(n);if(!Number.isNaN(a.getTime())){if(o[2]==="Z")return yh(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 yh(a,{kind:"offset",ms:d})}}let s=sG.exec(n);return s?new Date(Date.UTC(parseInt(s[1],10),parseInt(s[2],10)-1,parseInt(s[3],10))):void 0}return yh(r(),e)}}function aG(t){return t===2?"warning":t===3?"info":"error"}function tP(t,e){return{severity:aG(t.severity),code:kh(t),message:t.message,suggestion:Ih(t.message),file:e,line:(t.range?.start.line??0)+1,column:(t.range?.start.character??0)+1}}function rP(t,e){return{severity:"error",code:"parse-error",message:t.message,file:e,line:t.token?.startLine??1,column:t.token?.startColumn??1}}function nP(t,e){return{severity:"error",code:"lex-error",message:t.message,file:e,line:t.line??1,column:t.column??1}}function iP(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 oP(t,e,r="warning"){return{severity:r,code:"render.warning",message:t,file:e,line:1,column:1}}function sP(t,e){return{severity:t.severity,code:t.code,message:t.message,file:e,line:1,column:1}}var aP="__nowline_browser_noop_include__";async function cP(t){throw new Error(`${aP}: include "${t}" was skipped \u2014 running in single-file mode.`)}function lP(t){return t.includes(aP)}var Fi={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"}},cG={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"}},uP={...Fi,...cG};var Woe={none:"",multiplier:"x",person:Fi.person.ascii,people:Fi.people.ascii,points:Fi.points.ascii,time:Fi.time.ascii};var xh=class{constructor(e="nl"){R(this,"prefix");R(this,"counter",0);this.prefix=e}next(e){let r=`${this.prefix}-${this.counter++}`;return e?`${r}-${e}`:r}};var lG=new Set(["svg","g","defs","symbol","use","path","rect","circle","ellipse","line","polyline","polygon","text","tspan","title","desc","linearGradient","radialGradient","stop","clipPath","mask","pattern","filter","feGaussianBlur","feColorMatrix","feOffset","feMerge","feMergeNode","feFlood","feComposite","feBlend","feDropShadow","image"]),uG=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 fG(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=dG(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}=pG(a);e.push({kind:s?"self":"open",name:c,attrs:l}),r=i+1}return e}function dG(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 pG(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 ql(t){return t.replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function hG(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 fP(t,e={}){let r=e.idPrefix??"nl-logo",n=e.onWarn??(()=>{}),i=fG(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(ql(l.text??""));continue}if(l.kind==="text"){if(c.length===0||c[c.length-1]){let u=(l.text??"").replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">");a.push(u)}continue}if(l.kind==="open"||l.kind==="self"){let u=l.name??"";if(u==="script"||u==="foreignObject"||u==="animate"||u==="animateTransform"||u==="animateMotion"||u==="set"){n(`sanitizer: dropping <${u}>`),l.kind==="open"&&c.push(!1);continue}if(!lG.has(u)){n(`sanitizer: dropping unknown element <${u}>`),l.kind==="open"&&c.push(!1);continue}let f=[`<${u}`],d=Object.keys(l.attrs??{}).sort();for(let p of d){let m=l.attrs[p];if(/^on/i.test(p)){n(`sanitizer: dropping event handler ${p}`);continue}if(!uG.has(p)){n(`sanitizer: dropping attribute ${p}`);continue}if(p==="href"||p==="xlink:href"){let y=hG(m,o);if(y===null){n(`sanitizer: dropping external href ${m}`);continue}f.push(` ${p}="${ql(y)}"`);continue}if(p==="style"){n("sanitizer: dropping inline style");continue}if(p==="id"){let y=o.get(m);y&&f.push(` id="${ql(y)}"`);continue}if(/\burl\(#/i.test(m)){let y=m.replace(/url\(#([^)]+)\)/gi,(E,_)=>{let x=o.get(_);return x?`url(#${x})`:"none"});f.push(` ${p}="${ql(y)}"`);continue}if(/data:|javascript:|vbscript:/i.test(m)){n(`sanitizer: dropping suspicious value at ${p}`);continue}f.push(` ${p}="${ql(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 dP=/&/g,pP=/</g,hP=/>/g,mG=/"/g,gG=/'/g;function Qt(t){return t.replace(dP,"&").replace(pP,"<").replace(hP,">")}function Xn(t){return t.replace(dP,"&").replace(pP,"<").replace(hP,">").replace(mG,""").replace(gG,"'")}function ja(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}="${Xn(String(i))}"`))}return r.length?` ${r.join(" ")}`:""}function ee(t,e,r){return r===void 0||r===""?`<${t}${ja(e)}/>`:`<${t}${ja(e)}>${r}</${t}>`}function Ce(t,e){return`<text${ja(t)}>${Qt(e)}</text>`}function h(t){return Number.isFinite(t)?Number.isInteger(t)?t.toString():(Math.round(t*100)/100).toString():"0"}var yG={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 xG(t,e){let r=`${t}-shadow-${e}`,n=yG[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 ee("filter",{id:r,x:"-50%",y:"-50%",width:"200%",height:"200%"},i)}function mP(t,e){return e==="none"?null:`url(#${t}-shadow-${e})`}function gP(t){return["subtle","soft","hard"].map(e=>xG(t,e)).join("")}var bG={thin:100,light:300,normal:400,bold:700};function wG(t){return Aa[t]??14}function C_(t,e,r){return{"font-family":e[t.font],"font-size":r??wG(t.textSize),"font-weight":bG[t.weight]??400,"font-style":t.italic?"italic":"normal",fill:t.text}}function RG(t){if(t.border==="dashed")return"4 3";if(t.border==="dotted")return"1 3"}function SG(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 AG(t,e){return SG(t)>=.24?e.statusDot.onLight:e.statusDot.onDark}function P_(t,e){return t.length*e*.58}function _P(t,e,r,n,i,o,s){let a=i*.58,c=e?P_(e,i):0,l=e?a:0,u=r+c+l,{text:f,icon:d}=t,p=P_(f,i),m={"font-family":o,"font-size":i,fill:s};if(!d)return Ce({x:h(u),y:h(n),...m},f);if(d.kind==="builtin"&&d.name==="multiplier")return Ce({x:h(u),y:h(n),...m},`${f}\xD7`);if(d.kind==="builtin"){let E=Fi[d.name],_=Ce({x:h(u),y:h(n),...m},f),x=i*.1,v=i,k=u+p+x,F=n-i*.85,O=`<svg x="${h(k)}" y="${h(F)}" width="${h(v)}" height="${h(v)}" viewBox="${E.viewBox}" style="color:${Xn(s)}" aria-hidden="true">${E.body}</svg>`;return _+O}let y=h(i*.1);return`<text x="${h(u)}" y="${h(n)}" font-family="${Xn(o)}" font-size="${i}" fill="${Xn(s)}">${Qt(f)}<tspan dx="${y}">${Qt(d.text)}</tspan></text>`}var yP=.6,IG=.5;function kG(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 Ce({x:h(n),y:h(i),...c},e);if(!e)return _P(r,void 0,n,i,o,s,a);let l=h(o*yP),u=`<text x="${h(n)}" y="${h(i)}" font-family="${Xn(s)}" font-size="${o}" fill="${Xn(a)}">`,{text:f,icon:d}=r;if(!d)return u+Qt(e)+`<tspan dx="${l}">${Qt(f)}</tspan></text>`;if(d.kind==="builtin"&&d.name==="multiplier")return u+Qt(e)+`<tspan dx="${l}">${Qt(f)}\xD7</tspan></text>`;if(d.kind==="literal"){let O=h(o*.1);return u+Qt(e)+`<tspan dx="${l}">${Qt(f)}</tspan><tspan dx="${O}">${Qt(d.text)}</tspan></text>`}let p=Fi[d.name],m=O=>O.length*o*IG,y=n+m(e)+o*yP,E=o*.1,_=o,x=y+m(f)+E,v=i-o*.85,k=u+Qt(e)+`<tspan dx="${l}">${Qt(f)}</tspan></text>`,F=`<svg x="${h(x)}" y="${h(v)}" width="${h(_)}" height="${h(_)}" viewBox="${p.viewBox}" style="color:${Xn(a)}" aria-hidden="true">${p.body}</svg>`;return k+F}function NG(t,e){let r=uP.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:${Xn(e)}" aria-hidden="true">${r.body}</svg>`,i=`<title>${Qt(t.isoDate)}</title>`;return ee("g",{"data-layer":"inline-date-pin","data-side":t.side,"data-date":t.isoDate,"data-spilled":t.spilled?"true":null},i+n)}function O_(t,e){return!t||t.length===0?"":t.map(r=>NG(r,e)).join("")}function PG(t,e,r,n,i,o={}){let s=Math.min(Ip[i.cornerRadius]??4,n/2);return ee("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":RG(i)??null,...o})}function CG(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=ee("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((_,x)=>{f.push(Ce({x:h(i+16),y:h(o+26+x*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((_,x)=>{y.push(Ce({x:h(i+16),y:h(p+18+x*14),"font-family":n[t.style.font],"font-size":11,fill:m},_))});let E=y.join("");return ee("g",{"data-layer":"header","data-id":`${e}-header`},u+d+E)}function OG(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(ee("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(ee("line",{x1:h(d.x),y1:h(l),x2:h(d.x),y2:h(u),stroke:i,"stroke-width":1}))}return ee("g",{"data-layer":"grid"},f.join(""))}function LG(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(ee("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(ee("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(ee("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 E of t.ticks)E.major&&(!E.label||E.labelX===void 0||(l&&s.push(Ce({x:h(E.labelX),y:h(a+kp),"font-family":r.sans,"font-size":10,fill:o,"text-anchor":"middle"},E.label)),y&&s.push(Ce({x:h(E.labelX),y:h(p+kp),"font-family":r.sans,"font-size":10,fill:o,"text-anchor":"middle"},E.label))));return ee("g",{"data-layer":"timeline"},s.join(""))}function DG(t,e,r){if(!t)return"";let n=e.nowline.stroke,i=e.nowline.labelText,o=ee("line",{x1:h(t.x),y1:h(t.topY),x2:h(t.x),y2:h(t.bottomY),stroke:n,"stroke-width":Lp}),s=MG(t,n),a=$G(t,i,r);return ee("g",{"data-layer":"nowline"},o+s+a)}function EP(t){let e=Lp/2;return t.pillMode==="flag-right"?t.x-e:t.pillMode==="flag-left"?t.x+e:t.x}function MG(t,e){let r=t.pillTopY,n=t.pillTopY+Ci,i=CT,o=t.pillWidth;if(t.pillMode==="center")return ee("rect",{x:h(t.x-o/2),y:h(r),width:h(o),height:h(Ci),rx:i,ry:i,fill:e});let s=EP(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 ee("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 ee("path",{d:c,fill:e})}function $G(t,e,r){let n=t.pillTopY+OT,i=EP(t),o,s;return t.pillMode==="center"?(o=t.x,s="middle"):t.pillMode==="flag-right"?(o=i+ka,s="start"):(o=i-ka,s="end"),Ce({x:h(o),y:h(n),"font-family":r.sans,"font-size":kl,"font-weight":700,fill:e,"text-anchor":s},t.label)}function FG(t,e,r,n,i){let o=[],s=mP(r,t.style.shadow);o.push(PG(t.box.x,t.box.y,t.box.width,t.box.height,t.style,{filter:s??null}));let a=AG(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 E=Math.max(0,Math.min(t.box.width,t.box.width*t.progressFraction));o.push(ee("rect",{x:h(t.box.x),y:h(t.box.y+t.box.height-an),width:h(E),height:an,fill:t.style.fg,opacity:.55}))}let u=t.dotSpills&&t.dotSpillCx!==null?t.dotSpillCx:t.box.x+t.box.width-12;o.push(ee("circle",{cx:h(u),cy:h(t.box.y+12),r:5,fill:l})),o.push(O_(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(Ce({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(kG({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 E=t.box.y+14;if(t.footnoteSpills&&t.footnoteSpillStartX!==null){let _=t.footnoteSpillStartX;for(let x=0;x<t.footnoteIndicators.length;x++){let v=t.footnoteIndicators[x];o.push(Ce({x:h(_),y:h(E),"font-family":i.sans,"font-size":10,"font-weight":700,fill:p},String(v))),_+=8}}else{let _=t.box.x+t.box.width-22;for(let x=t.footnoteIndicators.length-1;x>=0;x--){let v=t.footnoteIndicators[x];o.push(Ce({x:h(_),y:h(E),"font-family":i.sans,"font-size":10,"font-weight":700,fill:t.style.text,"text-anchor":"end"},String(v))),_-=8}}}if(!e.noLinks&&t.linkIcon&&t.linkIcon!=="none"){let E={linear:"#5e6ad2",github:"#0f172a",jira:"#0052cc",generic:n.item.linkIconFg},_=E[t.linkIcon]??E.generic,x=14,v=t.iconSpills&&t.iconSpillX!==null?t.iconSpillX:t.box.x+6,k=t.box.y+6,F=ee("rect",{x:h(v),y:h(k),width:x,height:x,rx:2,ry:2,fill:_}),O=v,L=k,G=ee("path",{d:`M${h(O+4)} ${h(L+10)} L${h(O+10)} ${h(L+4)} M${h(O+6)} ${h(L+4)} H${h(O+10)} V${h(L+8)}`,stroke:"#ffffff",fill:"none","stroke-width":1.1,"stroke-linecap":"round","stroke-linejoin":"round"}),H=F+G,oe=t.linkHref?ee("a",{href:t.linkHref,target:"_blank",rel:"noopener"},H):H;o.push(oe)}if(t.hasOverflow&&t.overflowBox){let E=n.item.overflowTailFill,_=n.item.overflowTailStroke,x=n.item.overflowCaption;o.push(ee("rect",{x:h(t.overflowBox.x),y:h(t.overflowBox.y),width:h(t.overflowBox.width),height:h(t.overflowBox.height),fill:E,stroke:_,"stroke-width":1})),t.overflowAnchorId&&t.overflowBox.width>60&&o.push(Ce({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:x,"text-anchor":"middle"},`past ${t.overflowAnchorId}`))}for(let E of t.labelChips){let _=Math.min(Ip[E.style.cornerRadius]??8,E.box.height/2);o.push(ee("rect",{x:h(E.box.x),y:h(E.box.y),width:h(E.box.width),height:h(E.box.height),rx:h(_),ry:h(_),fill:E.style.bg==="none"?"transparent":E.style.bg,stroke:E.style.fg,"stroke-width":.5})),o.push(Ce({x:h(E.box.x+E.box.width/2),y:h(E.box.y+E.box.height/2+3),...C_(E.style,i,Aa.xs),"text-anchor":"middle"},E.text))}return ee("g",{"data-layer":"item","data-id":t.id??null},o.join(""))}function UG(t,e,r,n,i){let o=[];if(t.style.bg!=="none"&&t.style.bg!=="#ffffff"){if(o.push(ee("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*kT+2*Cp,c=t.box.x,l=t.box.y,u=Il,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(ee("path",{d,fill:t.style.fg})),o.push(Ce({x:h(c+Cp),y:h(l+AT),"font-family":i[t.style.font],"font-size":IT,"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-Ia)} L${h(t.box.x)} ${h(t.box.y-Ia)} 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(ee("path",{d:f,fill:"none",stroke:a,"stroke-width":1,"stroke-dasharray":u}))}t.title&&o.push(Ce({x:h(t.box.x+6),y:h(t.box.y-2),...C_(t.style,i,Aa.xs),"fill-opacity":.7},t.title))}o.push(O_(t.inlineDatePins,t.style.fg));for(let a of t.children)o.push(L_(a,e,r,n,i));return ee("g",{"data-layer":"group","data-id":t.id??null},o.join(""))}function BG(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(ee("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(ee("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(Ce({x:h(t.box.x+4),y:h(t.box.y-2),...C_(t.style,i,Aa.xs),"fill-opacity":.7},t.title)),o.push(O_(t.inlineDatePins,t.style.fg));for(let s of t.children)o.push(L_(s,e,r,n,i));return ee("g",{"data-layer":"parallel","data-id":t.id??null},o.join(""))}function L_(t,e,r,n,i){return t.kind==="item"?FG(t,e,r,n,i):t.kind==="group"?UG(t,e,r,n,i):BG(t,e,r,n,i)}var xP=2;function GG(t,e){switch(t){case"green":return e.swimlane.utilizationOk;case"yellow":return e.swimlane.utilizationWarn;case"red":return e.swimlane.utilizationOver}}function XG(t,e){if(!t.utilization||t.utilization.segments.length===0)return"";let r=t.box.y+t.box.height-xP,n=t.utilization.segments.map(i=>{let o=i.endX-i.startX;return o<=0?"":ee("rect",{x:h(i.startX),y:h(r),width:h(o),height:xP,fill:GG(i.classification,e),"data-utilization":i.classification,"data-load":h(i.load)})});return ee("g",{"data-layer":"lane-utilization","data-id":t.id??null},n.join(""))}function HG(t,e){let r=t.bandIndex%2===0?e.swimlane.rowTintEven:e.swimlane.rowTintOdd,n=e.swimlane.border;return ee("g",{"data-layer":"swimlane-bg","data-id":t.id??null},ee("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 vP(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?Xi(t.capacity.text,t.capacity.icon,10):0,p=t.footnoteIndicators.length>0?t.footnoteIndicators.join(","):"",m=p?P_(p,10):0,y=Va(t.box.x,t.title,t.owner,d,m),E=Np,_=t.box.y+10,x=_+Pp;u.push(ee("rect",{x:h(y.tabX),y:h(_),width:h(y.tabW),height:h(E),rx:4,ry:4,fill:o,stroke:s,"stroke-width":1})),u.push(Ce({x:h(y.titleX),y:h(x),"font-family":i[t.style.font],"font-size":12,"font-weight":600,fill:a},t.title)),t.owner&&u.push(Ce({x:h(y.ownerX),y:h(x),"font-family":i[t.style.font],"font-size":10,fill:c},`owner: ${t.owner}`)),t.capacity&&u.push(_P(t.capacity,void 0,y.badgeX,x,10,i[t.style.font],c)),p&&u.push(Ce({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(L_(f,e,r,n,i));return u.push(XG(t,n)),ee("g",{"data-layer":"swimlane","data-id":t.id??null},u.join(""))}function jG(t,e,r){let n=t.radius,i=t.center.x,o=t.center.y,s=e.anchorDiamond.fill,a=e.anchorDiamond.stroke,c=ee("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?Ce(f,t.title):"";return ee("g",{"data-layer":"anchor","data-id":t.id??null},c+d)}function zG(t,e){let r=e.anchorDiamond.cutLine;return ee("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 WG(t,e,r){let n=t.center.x,i=t.center.y,o=t.radius,s=e.milestoneDiamond.fill,a=ee("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?Ce(u,t.title):"";return ee("g",{"data-layer":"milestone","data-id":t.id??null},a+f)}function qG(t,e){let r=t.isOverrun?e.milestoneDiamond.cutLineOverrun:e.milestoneDiamond.cutLineNormal,n=[];if(n.push(ee("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":Op,"stroke-linecap":"round"})),t.slackArrows&&t.slackArrows.length>0){let i=e.milestoneDiamond.slack;for(let o of t.slackArrows)n.push(ee("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 TP(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 ee("path",{d:VG(n,BT),fill:"none",stroke:r,"stroke-width":i,"stroke-dasharray":t.kind==="overflow"?"4 2":null,"stroke-linejoin":"round","marker-end":"url(#nl-arrow)"})}function VG(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 YG(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(ee("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(Ce({x:h(t.box.x+Br),y:h(t.box.y+DT),"font-family":n.sans,"font-size":12,"font-weight":700,fill:s},"Footnotes"));let f=t.box.y+Nl+Br,d=t.box.x+Br,p=d+Br;return t.entries.forEach((m,y)=>{let E=f+y*Pl;u.push(Ce({x:h(d),y:h(E),"font-family":n.sans,"font-size":10,"font-weight":700,fill:l},String(m.number))),u.push(Ce({x:h(p),y:h(E),"font-family":n.sans,"font-size":11,"font-weight":600,fill:a},m.title)),m.description&&u.push(Ce({x:h(p+Math.max(120,m.title.length*6)),y:h(E),"font-family":n.sans,"font-size":11,fill:c},`\u2014 ${m.description}`))}),ee("g",{"data-layer":"footnotes"},u.join(""))}function KG(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,E=t.box.height,_=ee("rect",{x:h(p),y:h(m),width:h(y),height:h(E),rx:8,ry:8,fill:s,stroke:o,"stroke-width":1,"stroke-dasharray":Op}),x=Np,v=Ya(t.box.x,t.label,t.sourcePath),k=m-x/2,F=ee("rect",{x:h(v.tabX),y:h(k),width:h(v.tabWidth),height:x,rx:4,ry:4,fill:a,stroke:c,"stroke-width":1}),O=Ce({x:h(v.tabLabelX),y:h(k+Pp),"font-family":i.sans,"font-size":11,"font-weight":600,fill:l},t.label),L=v.badgeX,G=v.badgeSize,H=m-G/2,oe=ee("rect",{x:h(L),y:h(H),width:G,height:G,rx:4,ry:4,fill:u,stroke:f,"stroke-width":1}),$=ee("path",{d:`M${h(L+7)} ${h(H+4)} H${h(L+14)} V${h(H+11)} M${h(L+4)} ${h(H+7)} H${h(L+11)} V${h(H+14)} H${h(L+4)} Z`,stroke:d,"stroke-width":1.4,fill:"none","stroke-linecap":"round","stroke-linejoin":"round"}),w=9,D=m+4,U=ee("rect",{x:h(v.sourceHaloX),y:h(D-w),width:h(v.sourceHaloWidth),height:w+6,fill:s}),S=Ce({x:h(v.sourceTextX),y:h(D),"font-family":i.mono,"font-size":w,fill:d},t.sourcePath),A=t.nestedSwimlanes.map(I=>vP(I,e,r,n,i)).join("");return ee("g",{"data-layer":"include"},_+A+F+O+oe+$+U+S)}function ZG(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=Oi,a=Ce({x:"0",y:s,"font-family":e.sans,"font-size":$p,"font-weight":400,fill:r},Mp)+Ce({x:Ol,y:s,"font-family":e.sans,"font-size":Oi,"font-weight":700,fill:r},"now")+ee("rect",{x:$T,y:12,width:FT,height:Oi,fill:n})+Ce({x:Fp,y:s,"font-family":e.sans,"font-size":Oi,"font-weight":400,fill:r},"ine"),c=ee("g",{transform:`translate(${h(i)} ${h(o)}) scale(${h(Cl)})`},a);return ee("a",{href:MT,target:"_blank",rel:"noopener","aria-label":"Powered by nowline"},ee("g",{"data-layer":"attribution"},c))}async function JG(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=fP(u,{idPrefix:`${r}-logo`,onWarn:n.warn});return ee("g",{transform:`translate(${h(i)} ${h(o)})`},f)}if(c==="image/png"||c==="image/jpeg"||c==="image/jpg"||c==="image/webp"){let u=QG(a.bytes);return ee("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 QG(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 D_(t,e={}){let n=new xh(e.idPrefix??"nl").next("root"),i=t.palette,o=e.fontFamilies??GT,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>${gP(n)}`+u("nl-arrow",a)+u("nl-arrow-light",c)+u("nl-arrow-dark",l)+"</defs>";s.push(f),s.push(ee("rect",{x:0,y:0,width:h(t.width),height:h(t.height),fill:t.backgroundColor})),s.push(LG(t.timeline,i,o));for(let p of t.swimlanes)s.push(HG(p,i));s.push(OG(t.timeline,t.chartBox.y,i));for(let p of t.edges)p.kind==="underBar"&&s.push(TP(p,i));for(let p of t.swimlanes)s.push(vP(p,e,n,i,o));for(let p of t.includes)s.push(KG(p,e,n,i,o));for(let p of t.edges)p.kind!=="underBar"&&s.push(TP(p,i));for(let p of t.anchors)s.push(zG(p,i));for(let p of t.milestones)s.push(qG(p,i));for(let p of t.anchors)s.push(jG(p,i,o));for(let p of t.milestones)s.push(WG(p,i,o));if(s.push(DG(t.nowline,i,o)),s.push(YG(t.footnotes,n,i,o)),s.push(CG(t.header,n,i,o)),s.push(ZG(t,o)),t.header.logo&&e.assetResolver){let p=await JG(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${ja({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 M_="/browser-source.nowline",eX={error:3,warning:2,info:1},tX={error:3,warning:2,info:1};function bP(t,e){return eX[t]>=tX[e]}var Th,wP=0;function RP(){return Th||(Th=xT()),Th}function rX(){return ht.parse(`memory:///nowline-browser-${++wP}.nowline`)}async function _h(t,e={}){let r=e.filePath??M_,n=RP(),o=n.shared.workspace.LangiumDocumentFactory.fromString(t,rX());await n.shared.workspace.DocumentBuilder.build([o],{validation:!0});let s=[];for(let a of Ah(o))a.origin==="lexer"?s.push(nP(a.error,r)):a.origin==="parser"?s.push(rP(a.error,r)):s.push(tP(a.diagnostic,r));return{ast:o.parseResult.value,diagnostics:s}}async function $_(t,e={}){let r=e.filePath??M_,n=await _h(t,{filePath:r});if(n.diagnostics.some(x=>x.severity==="error"))return{kind:"diagnostics",diagnostics:n.diagnostics};let i=RP(),o=e.readFile??cP,s=await aT(n.ast,r,{services:i.Nowline,readFile:o}),a=[...n.diagnostics];for(let x of s.diagnostics){if(x.severity==="error"&&lP(x.message)){e.onSkippedInclude?.({sourcePath:x.sourcePath,message:x.message});continue}a.push(iP(x))}if(a.some(x=>x.severity==="error"))return{kind:"diagnostics",diagnostics:a};let c;if(e.timezone)try{c=k_(e.timezone)}catch(x){if(x instanceof Co)return{kind:"diagnostics",diagnostics:[{severity:"error",code:"invalid-timezone",message:x.message,file:r,line:1,column:1}]};throw x}let l=N_({now:e.today,zone:c}),u=S_(n.ast,s,{theme:e.theme,today:l,locale:e.locale,width:e.width}),f=e.diagnosticLevel??"error",d=I_(u,{today:l??void 0,locale:e.locale??"en-US"}).map(x=>sP(x,r)),p=e.showLinks!==!1,m=e.strict===!0,y=[],E=await D_(u,{idPrefix:e.idPrefix,assetResolver:e.assetResolver,noLinks:!p,strict:m,warn:x=>y.push(x),fontFamilies:e.fontFamilies}),_=[...d,...y.map(x=>oP(x,r,m?"error":"warning"))].filter(x=>bP(x.severity,f));return m&&_.length>0?{kind:"diagnostics",diagnostics:[...a,..._]}:{kind:"svg",svg:E,warnings:_}}function F_(){Th=void 0,wP=0}var SP="/embed.nowline",U_=!1;async function AP(t){let{ast:e,diagnostics:r}=await _h(t,{filePath:SP});return{ast:e,errors:r.filter(n=>n.severity==="error").map(n=>n.message)}}async function Eh(t,e={}){let r={filePath:SP,theme:e.theme,today:e.today,timezone:e.timezone,locale:e.locale,width:e.width,idPrefix:e.idPrefix,onSkippedInclude:()=>{U_||(U_=!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 $_(t,r);if(n.kind==="svg")return n.svg;let i=n.diagnostics.filter(o=>o.severity==="error").map(o=>o.message);throw new Vl(`Failed to render Nowline source: ${i.join("; ")}`,i)}var Vl=class extends Error{constructor(r,n){super(r);R(this,"details",n);this.name="EmbedRenderError"}};function IP(){U_=!1,F_()}var Hr=Uint8Array,lr=Uint16Array,j_=Int32Array,z_=new Hr([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]),W_=new Hr([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),kP=new Hr([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),OP=function(t,e){for(var r=new lr(31),n=0;n<31;++n)r[n]=e+=1<<t[n-1];for(var i=new j_(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}},LP=OP(z_,2),nX=LP.b,G_=LP.r;nX[28]=258,G_[258]=28;var DP=OP(W_,0),Ese=DP.b,NP=DP.r,X_=new lr(32768);for(Le=0;Le<32768;++Le)Hn=(Le&43690)>>1|(Le&21845)<<1,Hn=(Hn&52428)>>2|(Hn&13107)<<2,Hn=(Hn&61680)>>4|(Hn&3855)<<4,X_[Le]=((Hn&65280)>>8|(Hn&255)<<8)>>1;var Hn,Le,Zl=(function(t,e,r){for(var n=t.length,i=0,o=new lr(e);i<n;++i)t[i]&&++o[t[i]-1];var s=new lr(e);for(i=1;i<e;++i)s[i]=s[i-1]+o[i-1]<<1;var a;if(r){a=new lr(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[X_[f]>>c]=l}else for(a=new lr(n),i=0;i<n;++i)t[i]&&(a[i]=X_[s[t[i]-1]++]>>15-t[i]);return a}),Oo=new Hr(288);for(Le=0;Le<144;++Le)Oo[Le]=8;var Le;for(Le=144;Le<256;++Le)Oo[Le]=9;var Le;for(Le=256;Le<280;++Le)Oo[Le]=7;var Le;for(Le=280;Le<288;++Le)Oo[Le]=8;var Le,vh=new Hr(32);for(Le=0;Le<32;++Le)vh[Le]=5;var Le,iX=Zl(Oo,9,0);var oX=Zl(vh,5,0);var MP=function(t){return(t+7)/8|0},sX=function(t,e,r){return(e==null||e<0)&&(e=0),(r==null||r>t.length)&&(r=t.length),new Hr(t.subarray(e,r))};var jn=function(t,e,r){r<<=e&7;var n=e/8|0;t[n]|=r,t[n+1]|=r>>8},Yl=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},B_=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:FP,l:0};if(i==1){var s=new Hr(r[0].s+1);return s[r[0].s]=1,{t:s,l:1}}r.sort(function(F,O){return F.f-O.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 lr(d+1),m=H_(r[u-1],p,0);if(m>e){var n=0,y=0,E=m-e,_=1<<E;for(o.sort(function(O,L){return p[L.s]-p[O.s]||O.f-L.f});n<i;++n){var x=o[n].s;if(p[x]>e)y+=_-(1<<m-p[x]),p[x]=e;else break}for(y>>=E;y>0;){var v=o[n].s;p[v]<e?y-=1<<e-p[v]++-1:++n}for(;n>=0&&y;--n){var k=o[n].s;p[k]==e&&(--p[k],++y)}m=e}return{t:new Hr(p),l:m}},H_=function(t,e,r){return t.s==-1?Math.max(H_(t.l,e,r+1),H_(t.r,e,r+1)):e[t.s]=r},PP=function(t){for(var e=t.length;e&&!t[--e];);for(var r=new lr(++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}},Kl=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=MP(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){jn(e,u++,r),++i[256];for(var f=B_(i,15),d=f.t,p=f.l,m=B_(o,15),y=m.t,E=m.l,_=PP(d),x=_.c,v=_.n,k=PP(y),F=k.c,O=k.n,L=new lr(19),G=0;G<x.length;++G)++L[x[G]&31];for(var G=0;G<F.length;++G)++L[F[G]&31];for(var H=B_(L,7),oe=H.t,$=H.l,w=19;w>4&&!oe[kP[w-1]];--w);var D=l+5<<3,U=Kl(i,Oo)+Kl(o,vh)+s,S=Kl(i,d)+Kl(o,y)+s+14+3*w+Kl(L,oe)+2*L[16]+3*L[17]+7*L[18];if(c>=0&&D<=U&&D<=S)return $P(e,u,t.subarray(c,c+l));var A,I,B,z;if(jn(e,u,1+(S<U)),u+=2,S<U){A=Zl(d,p,0),I=d,B=Zl(y,E,0),z=y;var j=Zl(oe,$,0);jn(e,u,v-257),jn(e,u+5,O-1),jn(e,u+10,w-4),u+=14;for(var G=0;G<w;++G)jn(e,u+3*G,oe[kP[G]]);u+=3*w;for(var V=[x,F],K=0;K<2;++K)for(var ue=V[K],G=0;G<ue.length;++G){var Y=ue[G]&31;jn(e,u,j[Y]),u+=oe[Y],Y>15&&(jn(e,u,ue[G]>>5&127),u+=ue[G]>>12)}}else A=iX,I=Oo,B=oX,z=vh;for(var G=0;G<a;++G){var ne=n[G];if(ne>255){var Y=ne>>18&31;Yl(e,u,A[Y+257]),u+=I[Y+257],Y>7&&(jn(e,u,ne>>23&31),u+=z_[Y]);var Re=ne&31;Yl(e,u,B[Re]),u+=z[Re],Re>3&&(Yl(e,u,ne>>5&8191),u+=W_[Re])}else Yl(e,u,A[ne]),u+=I[ne]}return Yl(e,u,A[256]),u+I[256]},aX=new j_([65540,131080,131088,131104,262176,1048704,1048832,2114560,2117632]),FP=new Hr(0),cX=function(t,e,r,n,i,o){var s=o.z||t.length,a=new Hr(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=aX[e-1],d=f>>13,p=f&8191,m=(1<<r)-1,y=o.p||new lr(32768),E=o.h||new lr(m+1),_=Math.ceil(r/3),x=2*_,v=function(pe){return(t[pe]^t[pe+1]<<_^t[pe+2]<<x)&m},k=new j_(25e3),F=new lr(288),O=new lr(32),L=0,G=0,H=o.i||0,oe=0,$=o.w||0,w=0;H+2<s;++H){var D=v(H),U=H&32767,S=E[D];if(y[U]=S,E[D]=U,$<=H){var A=s-H;if((L>7e3||oe>24576)&&(A>423||!l)){u=CP(t,c,0,k,F,O,G,oe,w,H-w,u),oe=L=G=0,w=H;for(var I=0;I<286;++I)F[I]=0;for(var I=0;I<30;++I)O[I]=0}var B=2,z=0,j=p,V=U-S&32767;if(A>2&&D==v(H-V))for(var K=Math.min(d,A)-1,ue=Math.min(32767,H),Y=Math.min(258,A);V<=ue&&--j&&U!=S;){if(t[H+B]==t[H+B-V]){for(var ne=0;ne<Y&&t[H+ne]==t[H+ne-V];++ne);if(ne>B){if(B=ne,z=V,ne>K)break;for(var Re=Math.min(V,ne-2),Se=0,I=0;I<Re;++I){var $e=H-V+I&32767,q=y[$e],Q=$e-q&32767;Q>Se&&(Se=Q,S=$e)}}}U=S,S=y[U],V+=U-S&32767}if(z){k[oe++]=268435456|G_[B]<<18|NP[z];var re=G_[B]&31,M=NP[z]&31;G+=z_[re]+W_[M],++F[257+re],++O[M],$=H+B,++L}else k[oe++]=t[H],++F[t[H]]}}for(H=Math.max(H,$);H<s;++H)k[oe++]=t[H],++F[t[H]];u=CP(t,c,l,k,F,O,G,oe,w,H-w,u),l||(o.r=u&7|c[u/8|0]<<3,u-=7,o.h=E,o.p=y,o.i=H,o.w=$)}else{for(var H=o.w||0;H<s+l;H+=65535){var de=H+65535;de>=s&&(c[u/8|0]=l,de=s),u=$P(c,u+1,t.subarray(H,de))}o.i=s}return sX(a,0,n+MP(u)+i)};var UP=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}}},lX=function(t,e,r,n,i){if(!i&&(i={l:1},e.dictionary)){var o=e.dictionary.subarray(-32768),s=new Hr(o.length+t.length);s.set(o),s.set(t,o.length),t=s,i.w=o.length}return cX(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 BP=function(t,e,r){for(;r;++e)t[e]=r,r>>>=8};var uX=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=UP();i.p(e.dictionary),BP(t,2,i.d())}};function GP(t,e){e||(e={});var r=UP();r.p(t);var n=lX(t,e,e.dictionary?6:2,4);return uX(n,e),BP(n,n.length-4,r.d()),n}var fX=typeof TextDecoder<"u"&&new TextDecoder,dX=0;try{fX.decode(FP,{stream:!0}),dX=1}catch{}var jP="https://free.nowline.io/open";function XP(t){let e=new TextEncoder().encode(t),r=GP(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 q_({source:t,sourceUrl:e,share:r}){if(r===!1||r==="none")return null;if(typeof r=="object")return e!==void 0&&HP(e)?r.remoteUrl.replace("{url}",encodeURIComponent(e)):r.textUrl.replace("{text}",XP(t));let n=r===!0?jP:r,i=new URL(n);return e!==void 0&&HP(e)?i.hash=`url=${encodeURIComponent(e)}`:i.hash=`text=${XP(t)}`,i.toString()}function HP(t){try{return new URL(t).protocol==="https:"}catch{return!1}}var zP=0;async function WP(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=pX(l);if(!u)continue;let f=hX(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(Eh(f,p).then(x=>{if(mX(u,x),n++,m!==null){let v=q_({source:f,sourceUrl:_,share:s});if(v!==null){let k=e.createElement("a");k.className="nowline-share",k.href=v,k.target="_blank",k.rel="noopener noreferrer",k.textContent="Share on Nowline",m.insertBefore(k,y)}}},x=>{i++,console.error("nowline: render failed",x)}))}return await Promise.all(a),{rendered:n,failed:i}}function pX(t){let e=t.parentElement;return e&&e.tagName.toUpperCase()==="PRE"?e:t}function hX(t){return t.textContent??""}function mX(t,e){t.outerHTML=e}function qP(){zP=0}function bh(){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 VP(t,e){return t&&t!=="auto"?wT(t)??e:e}var gX="0.0.0-dev.20260620134314.g20f9d0f",yX="20f9d0f",xX="pre code.language-nowline, code.language-nowline",YP={theme:"auto",startOnLoad:!0,selector:xX,systemTheme:bh(),share:!0},nt={...YP},V_=!1;function TX(t={}){nt={theme:t.theme??nt.theme,startOnLoad:t.startOnLoad??nt.startOnLoad,selector:t.selector??nt.selector,locale:t.locale??nt.locale,width:t.width??nt.width,today:t.today!==void 0?t.today:nt.today,timezone:t.timezone??nt.timezone,share:t.share??nt.share,sourceUrl:t.sourceUrl??nt.sourceUrl,systemTheme:bh()}}function KP(){return{theme:VP(nt.theme,nt.systemTheme),locale:nt.locale,width:nt.width,today:nt.today,timezone:nt.timezone}}async function _X(t,e={}){let r={...KP(),...e};return Eh(t,r)}async function EX(t){return AP(t)}async function Y_(t){let e={selector:t?.selector??nt.selector,theme:t?.theme??KP().theme,locale:t?.locale??nt.locale,width:t?.width??nt.width,today:t?.today!==void 0?t.today:nt.today,timezone:t?.timezone??nt.timezone,share:t?.share??nt.share,sourceUrl:t?.sourceUrl??nt.sourceUrl,document:t?.document};return WP(e)}var vX=Y_;if(typeof document<"u"&&!V_){V_=!0;let t=()=>{nt.startOnLoad&&Y_()};document.readyState==="loading"?document.addEventListener("DOMContentLoaded",t,{once:!0}):queueMicrotask(t)}function bX(){nt={...YP,systemTheme:bh()},V_=!1,IP(),qP()}return tu(wX);})();
|
|
2639
|
+
`);)n--;for(;n>=0&&(e[n]===" "||e[n]===" ");)n--;return n<0||e[n]!=="\\"}},VI={parser:{TokenBuilder:()=>new yT({indentTokenName:"INDENT",dedentTokenName:"DEDENT",whitespaceTokenName:"WS",ignoreIndentationDelimiters:[["[","]"]]}),Lexer:t=>new sp(t),ParserConfig:()=>({maxLookahead:4}),ValueConverter:()=>new gT},validation:{NowlineValidator:()=>new Tp}};function xT(t={}){let e=t.shared??oa(op(ap),hI),r=oa(ip({shared:e}),mI,VI);return e.ServiceRegistry.register(r),WI(r),{shared:e,Nowline:r}}function YI(t){return t.endsWith(":")?t.slice(0,-1):t}function ae(t,e){return t.find(r=>YI(r.key)===e)?.value}function ut(t,e){let r=t.find(n=>YI(n.key)===e);return r?r.value!==void 0?[r.value]:[...r.values]:[]}function mt(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 va={mode:"business",daysPerWeek:5,daysPerMonth:22,daysPerQuarter:65,daysPerYear:260},MU={mode:"full",daysPerWeek:7,daysPerMonth:30,daysPerQuarter:91,daysPerYear:365};function KI(t,e){let n=t.roadmapDecl?.properties.find(i=>TT(i.key)==="calendar")?.value??"business";if(n==="business")return{...va};if(n==="full")return{...MU};if(e){let i=(o,s)=>{let a=e.properties.find(l=>TT(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",va.daysPerWeek),daysPerMonth:i("days-per-month",va.daysPerMonth),daysPerQuarter:i("days-per-quarter",va.daysPerQuarter),daysPerYear:i("days-per-year",va.daysPerYear)}}return{...va}}var _p=/^(\d+(?:\.\d+)?)([dwmqy])$/;function Ep(t,e){let r=_p.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 ZI(t,e,r){return t?_p.test(t)?Ep(t,r):e.get(t)?.effortDays??0:0}function Pi(t,e,r){let n=ae(t,"duration");if(n&&_p.test(n))return Ep(n,r);let i=ae(t,"size"),o=i?e.get(i):void 0;if(!o)return 0;let s=qn(ae(t,"capacity"))??1;return o.effortDays/s}function JI(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&&_p.test(o)){let s=qn(ae(t,"capacity"))??1;return Ep(o,r)*s}return 0}function vp(t,e){let r=new Map;for(let[n,i]of t){let s=i.properties.find(c=>TT(c.key)==="effort")?.value;if(!s)continue;let a=Ep(s,e);a<=0||r.set(n,{name:n,title:i.title||void 0,effortDays:a,effortLiteral:s})}return r}function TT(t){return t.endsWith(":")?t.slice(0,-1):t}function Tr(t,e){return Math.round((e.getTime()-t.getTime())/864e5)}function To(t,e){let r=new Date(t.getTime());return r.setUTCDate(r.getUTCDate()+e),r}var bp=class{constructor(e){R(this,"items");R(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 QI(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 $U(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 FU(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 UU(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 BU(t){if(t===0||t>4)return 0;let e=Math.ceil(t/2);return(t%2===1?1:-1)*e*3}function GU(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 ek(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]=GU(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}=$U(s,e),{x:u,forceUnderBar:f}=FU(a,l,s,e),d=c||f;n.push({req:s,channelX:u,underBar:d,orderIndex:o})}let i=UU(n);for(let o of n){let s=BU(i.get(o.orderIndex)??0),a=o.channelX+s;r[o.orderIndex]={fromId:o.req.fromId,toId:o.req.toId,waypoints:XU(o.req.from,o.req.to,a),underBar:o.underBar}}return r}function XU(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 vl="en-US",HU={"en-US":{nowLabel:"now",quarterPrefix:"Q"},fr:{nowLabel:"maint.",quarterPrefix:"T"}};function tk(t,e){return e??t??vl}function wp(t){let e={};for(let r of jU(t)){let n=HU[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 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(vl)||e.push(vl),e}function zU(t){return t.split("-").map((r,n)=>n===0?r.toLowerCase():/^[a-zA-Z]{2}$/.test(r)?r.toUpperCase():r).join("-")}function ok(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 Sp(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 Mn(t){for(let e of t)if(/^\d{4}-\d{2}-\d{2}$/.test(e))return e}function Ap(t,e){return{x:t,y:e,height:0,maxX:t}}var Ra=class{constructor(e){R(this,"rows");R(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)sk(a,i)}}}};function sk(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)sk(r,e)}var ak={red:"#f87171",blue:"#60a5fa",yellow:"#facc15",green:"#34d399",orange:"#fb923c",purple:"#a78bfa",gray:"#94a3b8",navy:"#818cf8",white:"#e2e8f0"},$n={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"},_T={name:"dark",surface:{page:"#0b1220",chart:"#111827",headerBox:"#1e293b"},entities:{roadmap:{...$n,headerHeight:"md",padding:"md"},swimlane:{...$n,fg:"#e2e8f0",text:"#e2e8f0",padding:"sm",spacing:"none",textSize:"sm"},item:{...$n,bg:"#0f172a",fg:"#94a3b8",text:"#e2e8f0",shadow:"subtle",cornerRadius:"sm"},parallel:{...$n,bracket:"none",padding:"xs"},group:{...$n,bracket:"solid",padding:"xs",fg:"#94a3b8"},anchor:{...$n,bg:"#0b1220",fg:"#cbd5e1",text:"#cbd5e1",cornerRadius:"sm"},milestone:{...$n,bg:"#e2e8f0",fg:"#e2e8f0",text:"#0b1220",border:"solid"},footnote:{...$n,bg:"none",fg:"#94a3b8",text:"#e2e8f0",textSize:"sm"},label:{...$n,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 ck={red:"#4a4a4a",blue:"#6b6b6b",green:"#8a8a8a",yellow:"#c8c8c8",orange:"#5c5c5c",purple:"#3a3a3a",gray:"#9e9e9e",navy:"#2a2a2a",white:"#ffffff"},Fn={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"},ET={name:"grayscale",surface:{page:"#f5f5f5",chart:"#ffffff",headerBox:"#ffffff"},entities:{roadmap:{...Fn,headerHeight:"md",padding:"md"},swimlane:{...Fn,fg:"#3a3a3a",text:"#3a3a3a",padding:"sm",spacing:"none",textSize:"sm"},item:{...Fn,bg:"#ffffff",fg:"#9e9e9e",text:"#1a1a1a",shadow:"subtle",cornerRadius:"sm"},parallel:{...Fn,bracket:"none",padding:"xs"},group:{...Fn,bracket:"solid",padding:"xs",fg:"#595959"},anchor:{...Fn,bg:"#1a1a1a",fg:"#1a1a1a",text:"#1a1a1a",cornerRadius:"sm"},milestone:{...Fn,bg:"#2a2a2a",fg:"#2a2a2a",text:"#ffffff",border:"solid"},footnote:{...Fn,bg:"none",fg:"#595959",text:"#595959",textSize:"sm"},label:{...Fn,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 lk={red:"#e53935",blue:"#1e88e5",yellow:"#fdd835",green:"#43a047",orange:"#fb8c00",purple:"#8e24aa",gray:"#9e9e9e",navy:"#0d47a1",white:"#ffffff"},Un={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"},vT={name:"light",surface:{page:"#f8fafc",chart:"#ffffff",headerBox:"#ffffff"},entities:{roadmap:{...Un,headerHeight:"md",padding:"md"},swimlane:{...Un,fg:"#334155",text:"#334155",padding:"sm",spacing:"none",textSize:"sm"},item:{...Un,bg:"#ffffff",fg:"#94a3b8",text:"#0f172a",shadow:"subtle",cornerRadius:"sm"},parallel:{...Un,bracket:"none",padding:"xs"},group:{...Un,bracket:"solid",padding:"xs",fg:"#475569"},anchor:{...Un,bg:"#0f172a",fg:"#0f172a",text:"#0f172a",cornerRadius:"sm"},milestone:{...Un,bg:"#312e81",fg:"#312e81",text:"#ffffff",border:"solid"},footnote:{...Un,bg:"none",fg:"#475569",text:"#475569",textSize:"sm"},label:{...Un,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 bT={light:vT,dark:_T,grayscale:ET};var YU={greyscale:"grayscale"};function wT(t){let e=t.toLowerCase(),r=YU[e]??e;if(r==="light"||r==="dark"||r==="grayscale")return r}var KU={grey:"gray",violet:"purple"};function _o(t,e){if(t==="none")return"none";if(t.startsWith("#"))return t;let r=e.name==="dark"?ak:e.name==="grayscale"?ck:lk,n=KU[t]??t,i=r[n];return typeof i=="string"?i:t}function Sa(t){return t.key.endsWith(":")?t.key.slice(0,-1):t.key}function ZU(t,e){return{bg:_o(t.bg,e),fg:_o(t.fg,e),text:_o(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 RT(t,e,r,n){switch(e){case"bg":t.bg=_o(r,n);break;case"fg":t.fg=_o(r,n);break;case"text":t.text=_o(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=Rl(r,"xl");break;case"padding":t.padding=Rl(r,"xl");break;case"spacing":t.spacing=Rl(r,"xl");break;case"header-height":t.headerHeight=Rl(r,"xl");break;case"corner-radius":t.cornerRadius=Rl(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 Rl(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 uk(t,e,r){if(e)for(let n of e.properties)RT(t,Sa(n),n.value,r)}function JU(t,e,r){for(let n of e){let i=Sa(n);n.value!==void 0&&RT(t,i,n.value,r)}}function QU(t,e,r){let n=e.find(o=>Sa(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=>Sa(c)==="style");a?.value&&uk(t,r.styles.get(a.value),r.theme)}}function eB(t,e,r){let n=e.find(i=>Sa(i)==="style");n?.value&&uk(t,r.styles.get(n.value),r.theme)}function ft(t,e,r){let n=r.theme.entities[t],i=ZU(n,r.theme),o=r.defaults.get(t);if(o)for(let s of o.properties)s.value!==void 0&&RT(i,Sa(s),s.value,r.theme);return QU(i,e,r),eB(i,e,r),JU(i,e,r.theme),i}function fk(t,e){return ft("label",t.properties,e)}var dk={none:0,xs:2,sm:4,md:8,lg:16,xl:24},pk={none:0,xs:4,sm:8,md:12,lg:20,xl:32};var Aa={none:0,xs:10,sm:12,md:14,lg:18,xl:24},Ip={none:0,xs:2,sm:4,md:8,lg:12,xl:20,full:9999};var _r=8,an=4,Sl=24,kp=15,Al=8,Np=22,Pp=15,Il=16,Cp=6,ST=4,AT=11,IT=9,kT=5.5,NT=4,Ia=12,Op="6 4",PT=36,Ci=16,CT=Ci/2,kl=10,OT=Ci-4,ka=6,Lp=2.25,Fr=6,Ur=2*Fr,hk=5,mk=120,LT=240,Dp=72,Nl=28,Br=16,DT=22,Pl=18,Mp="Powered by",MT="https://nowline.io",Cl=.22,Oi=40,$p=32,gk=.58,tB=Mp.length*$p*gk,rB=10,Ol=tB+rB,$T=Ol+74,FT=5,Fp=Ol+81,nB=3*Oi*gk,iB=Fp+nB,oB=12+Oi,UT=iB*Cl,yk=oB*Cl,BT=4;var GT={sans:'system-ui, -apple-system, "Segoe UI", Roboto, sans-serif',serif:'Georgia, "Times New Roman", serif',mono:"ui-monospace, SFMono-Regular, Menlo, Consolas, monospace"},xk={days:7,weeks:4,months:3,quarters:4,years:5};var Up=class{constructor(e,r){R(this,"node");R(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=ft("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?Il+ST:0,f=l?NT:0,d=!l&&a?Ia:0,p=e.y+d,m=r.bandScale.step(),y=s,E=new Ra({laneLeftX:y,originY:p+u,minRowHeight:m,slackCorridors:r.slackCorridors}),_=y,x=[];for(let H of n.content){if(H.$type==="DescriptionDirective")continue;if(!ar(H)){let ne=H.properties??[],Re=i.resolveChildStart(ne,_,y,r),{rowIndex:Se,y:$e}=E.placeBlock(),q=i.newCursor(Re,$e),Q=i.sequenceOne(H,q,r);x.push(Q);let re=Q.box.x+Q.box.width,M=Math.max(m,q.height);E.commitBlock({rowIndex:Se,placed:Q,blockHeight:M,blockEnd:re}),_=Math.max(_,re);continue}let oe=H.properties,$=i.resolveChildStart(oe,_,y,r),w=Pi(oe,r.sizes,r.cal),D=Math.max(_r,w*r.timeline.pixelsPerDay),U=$+D,S=H.name??"",A=i.predictItemChipExtraHeight(H,r),I=m+A,{rowIndex:B,y:z}=E.placeItem({childId:S,desiredStart:$,desiredEnd:U,predictedHeight:I}),j=i.newCursor($,z),V=i.sequenceItem(H,j,r);x.push(V);let K=V.box.x+V.box.width+Fr;_=Math.max(_,K);let ue=null;(V.textSpills||V.chipsOutside||V.dotSpills||V.iconSpills||V.footnoteSpills)&&(ue=Math.max(V.decorationsRightX,V.chipsOutside?V.chipsRightX:0)+6),E.commitItem({rowIndex:B,placed:V,logicalEnd:K,spillReservation:ue,rowHeight:I})}let v=Math.max(m,E.usedHeight()),k=Math.max(_,E.usedRightX()),F={x:s,y:p,width:k-s,height:u+v+f};e.x=_+Al,e.maxX=Math.max(e.maxX,e.x);let O=r.bandScale.step()-r.bandScale.bandwidth();e.height=Math.max(e.height,d+F.height+O);let L=n.name;L&&(r.entityLeftEdges.set(L,F.x),r.entityRightEdges.set(L,F.x+F.width)),r.currentFlowKey=c;let G=Sp({box:F,afterDate:Mn(ut(n.properties,"after")),beforeDate:Mn(ut(n.properties,"before"))});return{kind:"group",id:L,title:a,box:F,children:x,style:o,inlineDatePins:G.length>0?G:void 0}}};var XT=12,sB=4,aB=13,cB=11;function Tk(t,e){return t.length*e*.58}var Bp=class{constructor(e){R(this,"input");this.input=e}get id(){return this.input.id}measure(e){return{width:Math.max(_r,this.input.logicalRightX-this.input.logicalLeftX),height:e.bands.bandwidth()}}place(e,r){let n=this.measure(r),i=Math.max(_r,n.width-2*Fr),o=e.x+Fr,s={x:o,y:e.y,width:i,height:n.height},a=this.input.hasLinkIcon?20+lB-XT:0,c=XT+Math.max(0,a),l=Math.max(0,i-c-XT),u=this.input.title,f=u?Tk(u,aB):0,d=this.input.metaText?Tk(this.input.metaText,cB):0,p=this.input.metaTrailingWidth??0,m=d+p,y=this.input.metaText!==void 0||p>0,E=u.length>0&&f>l||y&&m>l,_=E?o+i+sB:o+c;return{id:this.input.id,box:s,textX:_,textSpills:E}}},lB=4;var Gp=class{constructor(e,r){R(this,"node");R(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=ft("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 x=i.newCursor(s,a+u),v=i.sequenceOne(_,x,r);c.push(v),u+=Math.max(r.bandScale.step(),x.height),l=Math.max(l,x.maxX),p++}r.currentFlowKey=f;let m={x:s,y:a,width:l-s,height:u};e.x=l+Al,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 E=Sp({box:m,afterDate:Mn(ut(n.properties,"after")),beforeDate:Mn(ut(n.properties,"before"))});return{kind:"parallel",id:y,title:n.title??n.name,box:m,children:c,style:o,inlineDatePins:E.length>0?E:void 0}}};function Eo(t,e){return t==null||e==null?NaN:t<e?-1:t>e?1:t>=e?0:NaN}function HT(t,e){return t==null||e==null?NaN:e<t?-1:e>t?1:e>=t?0:NaN}function vo(t){let e,r,n;t.length!==2?(e=Eo,r=(a,c)=>Eo(t(a),c),n=(a,c)=>t(a)-c):(e=t===Eo||t===HT?t:uB,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 uB(){return 0}function jT(t){return t===null?NaN:+t}var _k=vo(Eo),Ek=_k.right,fB=_k.left,dB=vo(jT).center,zT=Ek;var Na=class extends Map{constructor(e,r=mB){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(vk(this,e))}has(e){return super.has(vk(this,e))}set(e,r){return super.set(pB(this,e),r)}delete(e){return super.delete(hB(this,e))}};function vk({_intern:t,_key:e},r){let n=e(r);return t.has(n)?t.get(n):r}function pB({_intern:t,_key:e},r){let n=e(r);return t.has(n)?t.get(n):(t.set(n,r),r)}function hB({_intern:t,_key:e},r){let n=e(r);return t.has(n)&&(r=t.get(n),t.delete(n)),r}function mB(t){return t!==null&&typeof t=="object"?t.valueOf():t}var gB=Math.sqrt(50),yB=Math.sqrt(10),xB=Math.sqrt(2);function bk(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>=gB?10:o>=yB?5:o>=xB?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?bk(t,e,r*2):[a,c,l]}function WT(t,e,r){return e=+e,t=+t,r=+r,bk(t,e,r)[2]}function Xp(t,e,r){e=+e,t=+t,r=+r;let n=e<t,i=n?WT(e,t,r):WT(t,e,r);return(n?-1:1)*(i<0?1/-i:i)}function Hp(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 Pa(t,e){switch(arguments.length){case 0:break;case 1:this.range(t);break;default:this.range(e).domain(t);break}return this}var wk=Symbol("implicit");function jp(){var t=new Na,e=[],r=[],n=wk;function i(o){let s=t.get(o);if(s===void 0){if(n!==wk)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 Na;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 jp(e,r).unknown(n)},Pa.apply(i,arguments),i}function Ll(){var t=jp().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 E=Hp(d).map(function(_){return m+o*_});return r(p?E.reverse():E)}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 Ll(e(),[n,i]).round(a).paddingInner(c).paddingOuter(l).align(u)},Pa.apply(f(),arguments)}function zp(t,e,r){t.prototype=e.prototype=r,r.constructor=t}function qT(t,e){var r=Object.create(t.prototype);for(var n in e)r[n]=e[n];return r}function $l(){}var Dl=.7,Vp=1/Dl,Ca="\\s*([+-]?\\d+)\\s*",Ml="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",cn="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",TB=/^#([0-9a-f]{3,8})$/,_B=new RegExp(`^rgb\\(${Ca},${Ca},${Ca}\\)$`),EB=new RegExp(`^rgb\\(${cn},${cn},${cn}\\)$`),vB=new RegExp(`^rgba\\(${Ca},${Ca},${Ca},${Ml}\\)$`),bB=new RegExp(`^rgba\\(${cn},${cn},${cn},${Ml}\\)$`),wB=new RegExp(`^hsl\\(${Ml},${cn},${cn}\\)$`),RB=new RegExp(`^hsla\\(${Ml},${cn},${cn},${Ml}\\)$`),Rk={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};zp($l,Li,{copy(t){return Object.assign(new this.constructor,this,t)},displayable(){return this.rgb().displayable()},hex:Sk,formatHex:Sk,formatHex8:SB,formatHsl:AB,formatRgb:Ak,toString:Ak});function Sk(){return this.rgb().formatHex()}function SB(){return this.rgb().formatHex8()}function AB(){return Ok(this).formatHsl()}function Ak(){return this.rgb().formatRgb()}function Li(t){var e,r;return t=(t+"").trim().toLowerCase(),(e=TB.exec(t))?(r=e[1].length,e=parseInt(e[1],16),r===6?Ik(e):r===3?new Jt(e>>8&15|e>>4&240,e>>4&15|e&240,(e&15)<<4|e&15,1):r===8?Wp(e>>24&255,e>>16&255,e>>8&255,(e&255)/255):r===4?Wp(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=_B.exec(t))?new Jt(e[1],e[2],e[3],1):(e=EB.exec(t))?new Jt(e[1]*255/100,e[2]*255/100,e[3]*255/100,1):(e=vB.exec(t))?Wp(e[1],e[2],e[3],e[4]):(e=bB.exec(t))?Wp(e[1]*255/100,e[2]*255/100,e[3]*255/100,e[4]):(e=wB.exec(t))?Pk(e[1],e[2]/100,e[3]/100,1):(e=RB.exec(t))?Pk(e[1],e[2]/100,e[3]/100,e[4]):Rk.hasOwnProperty(t)?Ik(Rk[t]):t==="transparent"?new Jt(NaN,NaN,NaN,0):null}function Ik(t){return new Jt(t>>16&255,t>>8&255,t&255,1)}function Wp(t,e,r,n){return n<=0&&(t=e=r=NaN),new Jt(t,e,r,n)}function IB(t){return t instanceof $l||(t=Li(t)),t?(t=t.rgb(),new Jt(t.r,t.g,t.b,t.opacity)):new Jt}function Oa(t,e,r,n){return arguments.length===1?IB(t):new Jt(t,e,r,n??1)}function Jt(t,e,r,n){this.r=+t,this.g=+e,this.b=+r,this.opacity=+n}zp(Jt,Oa,qT($l,{brighter(t){return t=t==null?Vp:Math.pow(Vp,t),new Jt(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=t==null?Dl:Math.pow(Dl,t),new Jt(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new Jt(wo(this.r),wo(this.g),wo(this.b),Yp(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:kk,formatHex:kk,formatHex8:kB,formatRgb:Nk,toString:Nk}));function kk(){return`#${bo(this.r)}${bo(this.g)}${bo(this.b)}`}function kB(){return`#${bo(this.r)}${bo(this.g)}${bo(this.b)}${bo((isNaN(this.opacity)?1:this.opacity)*255)}`}function Nk(){let t=Yp(this.opacity);return`${t===1?"rgb(":"rgba("}${wo(this.r)}, ${wo(this.g)}, ${wo(this.b)}${t===1?")":`, ${t})`}`}function Yp(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function wo(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function bo(t){return t=wo(t),(t<16?"0":"")+t.toString(16)}function Pk(t,e,r,n){return n<=0?t=e=r=NaN:r<=0||r>=1?t=e=NaN:e<=0&&(t=NaN),new Gr(t,e,r,n)}function Ok(t){if(t instanceof Gr)return new Gr(t.h,t.s,t.l,t.opacity);if(t instanceof $l||(t=Li(t)),!t)return new Gr;if(t instanceof Gr)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 Gr(s,a,c,t.opacity)}function Lk(t,e,r,n){return arguments.length===1?Ok(t):new Gr(t,e,r,n??1)}function Gr(t,e,r,n){this.h=+t,this.s=+e,this.l=+r,this.opacity=+n}zp(Gr,Lk,qT($l,{brighter(t){return t=t==null?Vp:Math.pow(Vp,t),new Gr(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=t==null?Dl:Math.pow(Dl,t),new Gr(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 Jt(VT(t>=240?t-240:t+120,i,n),VT(t,i,n),VT(t<120?t+240:t-120,i,n),this.opacity)},clamp(){return new Gr(Ck(this.h),qp(this.s),qp(this.l),Yp(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=Yp(this.opacity);return`${t===1?"hsl(":"hsla("}${Ck(this.h)}, ${qp(this.s)*100}%, ${qp(this.l)*100}%${t===1?")":`, ${t})`}`}}));function Ck(t){return t=(t||0)%360,t<0?t+360:t}function qp(t){return Math.max(0,Math.min(1,t||0))}function VT(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 YT(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 Dk(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 YT((r-n/e)*e,s,i,o,a)}}function Mk(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 YT((r-n/e)*e,i,o,s,a)}}var Fl=t=>()=>t;function NB(t,e){return function(r){return t+r*e}}function PB(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 $k(t){return(t=+t)==1?Kp:function(e,r){return r-e?PB(e,r,t):Fl(isNaN(e)?r:e)}}function Kp(t,e){var r=e-t;return r?NB(t,r):Fl(isNaN(t)?e:t)}var KT=(function t(e){var r=$k(e);function n(i,o){var s=r((i=Oa(i)).r,(o=Oa(o)).r),a=r(i.g,o.g),c=r(i.b,o.b),l=Kp(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 Fk(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=Oa(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 ure=Fk(Dk),fre=Fk(Mk);function Uk(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 Bk(t){return ArrayBuffer.isView(t)&&!(t instanceof DataView)}function Gk(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]=Ro(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 Xk(t,e){var r=new Date;return t=+t,e=+e,function(n){return r.setTime(t*(1-n)+e*n),r}}function Di(t,e){return t=+t,e=+e,function(r){return t*(1-r)+e*r}}function Hk(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]=Ro(t[i],e[i]):n[i]=e[i];return function(o){for(i in r)n[i]=r[i](o);return n}}var JT=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,ZT=new RegExp(JT.source,"g");function CB(t){return function(){return t}}function OB(t){return function(e){return t(e)+""}}function jk(t,e){var r=JT.lastIndex=ZT.lastIndex=0,n,i,o,s=-1,a=[],c=[];for(t=t+"",e=e+"";(n=JT.exec(t))&&(i=ZT.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:Di(n,i)})),r=ZT.lastIndex;return r<e.length&&(o=e.slice(r),a[s]?a[s]+=o:a[++s]=o),a.length<2?c[0]?OB(c[0].x):CB(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 Ro(t,e){var r=typeof e,n;return e==null||r==="boolean"?Fl(e):(r==="number"?Di:r==="string"?(n=Li(e))?(e=n,KT):jk:e instanceof Li?KT:e instanceof Date?Xk:Bk(e)?Uk:Array.isArray(e)?Gk:typeof e.valueOf!="function"&&typeof e.toString!="function"||isNaN(e)?Hk:Di)(t,e)}function QT(t,e){return t=+t,e=+e,function(r){return Math.round(t*(1-r)+e*r)}}function e_(t){return function(){return t}}function t_(t){return+t}var zk=[0,1];function La(t){return t}function r_(t,e){return(e-=t=+t)?function(r){return(r-t)/e}:e_(isNaN(e)?NaN:.5)}function LB(t,e){var r;return t>e&&(r=t,t=e,e=r),function(n){return Math.max(t,Math.min(e,n))}}function DB(t,e,r){var n=t[0],i=t[1],o=e[0],s=e[1];return i<n?(n=r_(i,n),o=r(s,o)):(n=r_(n,i),o=r(o,s)),function(a){return o(n(a))}}function MB(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]=r_(t[s],t[s+1]),o[s]=r(e[s],e[s+1]);return function(a){var c=zT(t,a,1,n)-1;return o[c](i[c](a))}}function Wk(t,e){return e.domain(t.domain()).range(t.range()).interpolate(t.interpolate()).clamp(t.clamp()).unknown(t.unknown())}function $B(){var t=zk,e=zk,r=Ro,n,i,o,s=La,a,c,l;function u(){var d=Math.min(t.length,e.length);return s!==La&&(s=LB(t[0],t[d-1])),a=d>2?MB:DB,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),Di)))(d)))},f.domain=function(d){return arguments.length?(t=Array.from(d,t_),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=QT,u()},f.clamp=function(d){return arguments.length?(s=d?!0:La,u()):s!==La},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 n_(){return $B()(La,La)}function i_(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 o_=new Date,s_=new Date;function We(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=>We(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)=>(o_.setTime(+o),s_.setTime(+s),t(o_),t(s_),Math.floor(r(o_,s_))),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 Ul=We(()=>{},(t,e)=>{t.setTime(+t+e)},(t,e)=>e-t);Ul.every=t=>(t=Math.floor(t),!isFinite(t)||!(t>0)?null:t>1?We(e=>{e.setTime(Math.floor(e/t)*t)},(e,r)=>{e.setTime(+e+r*t)},(e,r)=>(r-e)/t):Ul);var qre=Ul.range;var ln=We(t=>{t.setTime(t-t.getMilliseconds())},(t,e)=>{t.setTime(+t+e*1e3)},(t,e)=>(e-t)/1e3,t=>t.getUTCSeconds()),qk=ln.range;var Da=We(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*1e3)},(t,e)=>{t.setTime(+t+e*6e4)},(t,e)=>(e-t)/6e4,t=>t.getMinutes()),FB=Da.range,Zp=We(t=>{t.setUTCSeconds(0,0)},(t,e)=>{t.setTime(+t+e*6e4)},(t,e)=>(e-t)/6e4,t=>t.getUTCMinutes()),UB=Zp.range;var Ma=We(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()),BB=Ma.range,Jp=We(t=>{t.setUTCMinutes(0,0,0)},(t,e)=>{t.setTime(+t+e*36e5)},(t,e)=>(e-t)/36e5,t=>t.getUTCHours()),GB=Jp.range;var Bn=We(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),XB=Bn.range,Gl=We(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/864e5,t=>t.getUTCDate()-1),HB=Gl.range,Qp=We(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/864e5,t=>Math.floor(t/864e5)),jB=Qp.range;function Io(t){return We(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 Gn=Io(0),$a=Io(1),Yk=Io(2),Kk=Io(3),Mi=Io(4),Zk=Io(5),Jk=Io(6),Qk=Gn.range,zB=$a.range,WB=Yk.range,qB=Kk.range,VB=Mi.range,YB=Zk.range,KB=Jk.range;function ko(t){return We(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 No=ko(0),Fa=ko(1),eN=ko(2),tN=ko(3),$i=ko(4),rN=ko(5),nN=ko(6),iN=No.range,ZB=Fa.range,JB=eN.range,QB=tN.range,e4=$i.range,t4=rN.range,r4=nN.range;var Ua=We(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()),n4=Ua.range,eh=We(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()),i4=eh.range;var cr=We(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());cr.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:We(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 o4=cr.range,Xr=We(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());Xr.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:We(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 s4=Xr.range;function sN(t,e,r,n,i,o){let s=[[ln,1,1e3],[ln,5,5*1e3],[ln,15,15*1e3],[ln,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=vo(([,,E])=>E).right(s,d);if(p===s.length)return t.every(Xp(l/31536e6,u/31536e6,f));if(p===0)return Ul.every(Math.max(Xp(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[c4,l4]=sN(Xr,eh,No,Qp,Jp,Zp),[a_,c_]=sN(cr,Ua,Gn,Bn,Ma,Da);function l_(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 u_(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 Xl(t,e,r){return{y:t,m:e,d:r,H:0,M:0,S:0,L:0}}function f_(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=Hl(i),u=jl(i),f=Hl(o),d=jl(o),p=Hl(s),m=jl(s),y=Hl(a),E=jl(a),_=Hl(c),x=jl(c),v={a:I,A:B,b:z,B:j,c:null,d:dN,e:dN,f:C4,g:X4,G:j4,H:k4,I:N4,j:P4,L:yN,m:O4,M:L4,p:V,q:K,Q:mN,s:gN,S:D4,u:M4,U:$4,V:F4,w:U4,W:B4,x:null,X:null,y:G4,Y:H4,Z:z4,"%":hN},k={a:ue,A:Y,b:ne,B:Re,c:null,d:pN,e:pN,f:Y4,g:o3,G:a3,H:W4,I:q4,j:V4,L:TN,m:K4,M:Z4,p:Se,q:$e,Q:mN,s:gN,S:J4,u:Q4,U:e3,V:t3,w:r3,W:n3,x:null,X:null,y:i3,Y:s3,Z:c3,"%":hN},F={a:oe,A:$,b:w,B:D,c:U,d:uN,e:uN,f:R4,g:lN,G:cN,H:fN,I:fN,j:E4,L:w4,m:_4,M:v4,p:H,q:T4,Q:A4,s:I4,S:b4,u:h4,U:m4,V:g4,w:p4,W:y4,x:S,X:A,y:lN,Y:cN,Z:x4,"%":S4};v.x=O(r,v),v.X=O(n,v),v.c=O(e,v),k.x=O(r,k),k.X=O(n,k),k.c=O(e,k);function O(q,Q){return function(re){var M=[],de=-1,pe=0,Ne=q.length,at,W,er;for(re instanceof Date||(re=new Date(+re));++de<Ne;)q.charCodeAt(de)===37&&(M.push(q.slice(pe,de)),(W=aN[at=q.charAt(++de)])!=null?at=q.charAt(++de):W=at==="e"?" ":"0",(er=Q[at])&&(at=er(re,W)),M.push(at),pe=de+1);return M.push(q.slice(pe,de)),M.join("")}}function L(q,Q){return function(re){var M=Xl(1900,void 0,1),de=G(M,q,re+="",0),pe,Ne;if(de!=re.length)return null;if("Q"in M)return new Date(M.Q);if("s"in M)return new Date(M.s*1e3+("L"in M?M.L:0));if(Q&&!("Z"in M)&&(M.Z=0),"p"in M&&(M.H=M.H%12+M.p*12),M.m===void 0&&(M.m="q"in M?M.q:0),"V"in M){if(M.V<1||M.V>53)return null;"w"in M||(M.w=1),"Z"in M?(pe=u_(Xl(M.y,0,1)),Ne=pe.getUTCDay(),pe=Ne>4||Ne===0?Fa.ceil(pe):Fa(pe),pe=Gl.offset(pe,(M.V-1)*7),M.y=pe.getUTCFullYear(),M.m=pe.getUTCMonth(),M.d=pe.getUTCDate()+(M.w+6)%7):(pe=l_(Xl(M.y,0,1)),Ne=pe.getDay(),pe=Ne>4||Ne===0?$a.ceil(pe):$a(pe),pe=Bn.offset(pe,(M.V-1)*7),M.y=pe.getFullYear(),M.m=pe.getMonth(),M.d=pe.getDate()+(M.w+6)%7)}else("W"in M||"U"in M)&&("w"in M||(M.w="u"in M?M.u%7:"W"in M?1:0),Ne="Z"in M?u_(Xl(M.y,0,1)).getUTCDay():l_(Xl(M.y,0,1)).getDay(),M.m=0,M.d="W"in M?(M.w+6)%7+M.W*7-(Ne+5)%7:M.w+M.U*7-(Ne+6)%7);return"Z"in M?(M.H+=M.Z/100|0,M.M+=M.Z%100,u_(M)):l_(M)}}function G(q,Q,re,M){for(var de=0,pe=Q.length,Ne=re.length,at,W;de<pe;){if(M>=Ne)return-1;if(at=Q.charCodeAt(de++),at===37){if(at=Q.charAt(de++),W=F[at in aN?Q.charAt(de++):at],!W||(M=W(q,re,M))<0)return-1}else if(at!=re.charCodeAt(M++))return-1}return M}function H(q,Q,re){var M=l.exec(Q.slice(re));return M?(q.p=u.get(M[0].toLowerCase()),re+M[0].length):-1}function oe(q,Q,re){var M=p.exec(Q.slice(re));return M?(q.w=m.get(M[0].toLowerCase()),re+M[0].length):-1}function $(q,Q,re){var M=f.exec(Q.slice(re));return M?(q.w=d.get(M[0].toLowerCase()),re+M[0].length):-1}function w(q,Q,re){var M=_.exec(Q.slice(re));return M?(q.m=x.get(M[0].toLowerCase()),re+M[0].length):-1}function D(q,Q,re){var M=y.exec(Q.slice(re));return M?(q.m=E.get(M[0].toLowerCase()),re+M[0].length):-1}function U(q,Q,re){return G(q,e,Q,re)}function S(q,Q,re){return G(q,r,Q,re)}function A(q,Q,re){return G(q,n,Q,re)}function I(q){return s[q.getDay()]}function B(q){return o[q.getDay()]}function z(q){return c[q.getMonth()]}function j(q){return a[q.getMonth()]}function V(q){return i[+(q.getHours()>=12)]}function K(q){return 1+~~(q.getMonth()/3)}function ue(q){return s[q.getUTCDay()]}function Y(q){return o[q.getUTCDay()]}function ne(q){return c[q.getUTCMonth()]}function Re(q){return a[q.getUTCMonth()]}function Se(q){return i[+(q.getUTCHours()>=12)]}function $e(q){return 1+~~(q.getUTCMonth()/3)}return{format:function(q){var Q=O(q+="",v);return Q.toString=function(){return q},Q},parse:function(q){var Q=L(q+="",!1);return Q.toString=function(){return q},Q},utcFormat:function(q){var Q=O(q+="",k);return Q.toString=function(){return q},Q},utcParse:function(q){var Q=L(q+="",!0);return Q.toString=function(){return q},Q}}}var aN={"-":"",_:" ",0:"0"},kt=/^\s*\d+/,u4=/^%/,f4=/[\\^$*+?|[\]().{}]/g;function Pe(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 d4(t){return t.replace(f4,"\\$&")}function Hl(t){return new RegExp("^(?:"+t.map(d4).join("|")+")","i")}function jl(t){return new Map(t.map((e,r)=>[e.toLowerCase(),r]))}function p4(t,e,r){var n=kt.exec(e.slice(r,r+1));return n?(t.w=+n[0],r+n[0].length):-1}function h4(t,e,r){var n=kt.exec(e.slice(r,r+1));return n?(t.u=+n[0],r+n[0].length):-1}function m4(t,e,r){var n=kt.exec(e.slice(r,r+2));return n?(t.U=+n[0],r+n[0].length):-1}function g4(t,e,r){var n=kt.exec(e.slice(r,r+2));return n?(t.V=+n[0],r+n[0].length):-1}function y4(t,e,r){var n=kt.exec(e.slice(r,r+2));return n?(t.W=+n[0],r+n[0].length):-1}function cN(t,e,r){var n=kt.exec(e.slice(r,r+4));return n?(t.y=+n[0],r+n[0].length):-1}function lN(t,e,r){var n=kt.exec(e.slice(r,r+2));return n?(t.y=+n[0]+(+n[0]>68?1900:2e3),r+n[0].length):-1}function x4(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 T4(t,e,r){var n=kt.exec(e.slice(r,r+1));return n?(t.q=n[0]*3-3,r+n[0].length):-1}function _4(t,e,r){var n=kt.exec(e.slice(r,r+2));return n?(t.m=n[0]-1,r+n[0].length):-1}function uN(t,e,r){var n=kt.exec(e.slice(r,r+2));return n?(t.d=+n[0],r+n[0].length):-1}function E4(t,e,r){var n=kt.exec(e.slice(r,r+3));return n?(t.m=0,t.d=+n[0],r+n[0].length):-1}function fN(t,e,r){var n=kt.exec(e.slice(r,r+2));return n?(t.H=+n[0],r+n[0].length):-1}function v4(t,e,r){var n=kt.exec(e.slice(r,r+2));return n?(t.M=+n[0],r+n[0].length):-1}function b4(t,e,r){var n=kt.exec(e.slice(r,r+2));return n?(t.S=+n[0],r+n[0].length):-1}function w4(t,e,r){var n=kt.exec(e.slice(r,r+3));return n?(t.L=+n[0],r+n[0].length):-1}function R4(t,e,r){var n=kt.exec(e.slice(r,r+6));return n?(t.L=Math.floor(n[0]/1e3),r+n[0].length):-1}function S4(t,e,r){var n=u4.exec(e.slice(r,r+1));return n?r+n[0].length:-1}function A4(t,e,r){var n=kt.exec(e.slice(r));return n?(t.Q=+n[0],r+n[0].length):-1}function I4(t,e,r){var n=kt.exec(e.slice(r));return n?(t.s=+n[0],r+n[0].length):-1}function dN(t,e){return Pe(t.getDate(),e,2)}function k4(t,e){return Pe(t.getHours(),e,2)}function N4(t,e){return Pe(t.getHours()%12||12,e,2)}function P4(t,e){return Pe(1+Bn.count(cr(t),t),e,3)}function yN(t,e){return Pe(t.getMilliseconds(),e,3)}function C4(t,e){return yN(t,e)+"000"}function O4(t,e){return Pe(t.getMonth()+1,e,2)}function L4(t,e){return Pe(t.getMinutes(),e,2)}function D4(t,e){return Pe(t.getSeconds(),e,2)}function M4(t){var e=t.getDay();return e===0?7:e}function $4(t,e){return Pe(Gn.count(cr(t)-1,t),e,2)}function xN(t){var e=t.getDay();return e>=4||e===0?Mi(t):Mi.ceil(t)}function F4(t,e){return t=xN(t),Pe(Mi.count(cr(t),t)+(cr(t).getDay()===4),e,2)}function U4(t){return t.getDay()}function B4(t,e){return Pe($a.count(cr(t)-1,t),e,2)}function G4(t,e){return Pe(t.getFullYear()%100,e,2)}function X4(t,e){return t=xN(t),Pe(t.getFullYear()%100,e,2)}function H4(t,e){return Pe(t.getFullYear()%1e4,e,4)}function j4(t,e){var r=t.getDay();return t=r>=4||r===0?Mi(t):Mi.ceil(t),Pe(t.getFullYear()%1e4,e,4)}function z4(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+Pe(e/60|0,"0",2)+Pe(e%60,"0",2)}function pN(t,e){return Pe(t.getUTCDate(),e,2)}function W4(t,e){return Pe(t.getUTCHours(),e,2)}function q4(t,e){return Pe(t.getUTCHours()%12||12,e,2)}function V4(t,e){return Pe(1+Gl.count(Xr(t),t),e,3)}function TN(t,e){return Pe(t.getUTCMilliseconds(),e,3)}function Y4(t,e){return TN(t,e)+"000"}function K4(t,e){return Pe(t.getUTCMonth()+1,e,2)}function Z4(t,e){return Pe(t.getUTCMinutes(),e,2)}function J4(t,e){return Pe(t.getUTCSeconds(),e,2)}function Q4(t){var e=t.getUTCDay();return e===0?7:e}function e3(t,e){return Pe(No.count(Xr(t)-1,t),e,2)}function _N(t){var e=t.getUTCDay();return e>=4||e===0?$i(t):$i.ceil(t)}function t3(t,e){return t=_N(t),Pe($i.count(Xr(t),t)+(Xr(t).getUTCDay()===4),e,2)}function r3(t){return t.getUTCDay()}function n3(t,e){return Pe(Fa.count(Xr(t)-1,t),e,2)}function i3(t,e){return Pe(t.getUTCFullYear()%100,e,2)}function o3(t,e){return t=_N(t),Pe(t.getUTCFullYear()%100,e,2)}function s3(t,e){return Pe(t.getUTCFullYear()%1e4,e,4)}function a3(t,e){var r=t.getUTCDay();return t=r>=4||r===0?$i(t):$i.ceil(t),Pe(t.getUTCFullYear()%1e4,e,4)}function c3(){return"+0000"}function hN(){return"%"}function mN(t){return+t}function gN(t){return Math.floor(+t/1e3)}var Ba,th,EN,vN,bN;d_({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 d_(t){return Ba=f_(t),th=Ba.format,EN=Ba.parse,vN=Ba.utcFormat,bN=Ba.utcParse,Ba}function l3(t){return new Date(t)}function u3(t){return t instanceof Date?+t:+new Date(+t)}function wN(t,e,r,n,i,o,s,a,c,l){var u=n_(),f=u.invert,d=u.domain,p=l(".%L"),m=l(":%S"),y=l("%I:%M"),E=l("%I %p"),_=l("%a %d"),x=l("%b %d"),v=l("%B"),k=l("%Y");function F(O){return(c(O)<O?p:a(O)<O?m:s(O)<O?y:o(O)<O?E:n(O)<O?i(O)<O?_:x:r(O)<O?v:k)(O)}return u.invert=function(O){return new Date(f(O))},u.domain=function(O){return arguments.length?d(Array.from(O,u3)):d().map(l3)},u.ticks=function(O){var L=d();return t(L[0],L[L.length-1],O??10)},u.tickFormat=function(O,L){return L==null?F:l(L)},u.nice=function(O){var L=d();return(!O||typeof O.range!="function")&&(O=e(L[0],L[L.length-1],O??10)),O?d(i_(L,O)):u},u.copy=function(){return Wk(u,wN(t,e,r,n,i,o,s,a,c,l))},u}function rh(){return Pa.apply(wN(a_,c_,cr,Ua,Gn,Bn,Ma,Da,ln,th).domain([new Date(2e3,0,1),new Date(2e3,0,2)]),arguments)}var p_=class t{constructor(e,r,n){R(this,"bandwidthPx");R(this,"stepPx");R(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=Ll().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}},f3={bandwidth:56,step:64};function RN(){return p_.fixedRow(f3)}var nh=class{constructor(e){R(this,"domain");R(this,"range");R(this,"pixelsPerDay");R(this,"calendar");R(this,"d3");this.domain=e.domain,this.range=e.range,this.calendar=e.calendar;let r=Math.max(1,Tr(e.domain[0],e.domain[1]));this.pixelsPerDay=(e.range[1]-e.range[0])/r,this.d3=rh().domain(e.domain).range(e.range)}forward(e){let r=Tr(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 ih(t){return t.endsWith(":")?t.slice(0,-1):t}function SN(t,e){let n=t.roadmapDecl?.properties.find(c=>ih(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=oh(i)*l,s=1}}let a=s??xk[i]??4;if(e){let l=e.properties.find(m=>ih(m.key)==="unit")?.value??i,u=e.properties.find(m=>ih(m.key)==="label-every"),f=e.properties.find(m=>ih(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)||oh(l)):o??oh(l);return{unit:l,labelEvery:d,pixelsPerUnit:p}}return{unit:i,labelEvery:a,pixelsPerUnit:o??oh(i)}}function oh(t){switch(t){case"days":return hk;case"weeks":return 40;case"months":return 80;case"quarters":return 160;case"years":return 320}}function AN(t,e,r,n=vl){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?d3(e.unit,To(t.domain[0],u),l,n):void 0})}return c}function d3(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`${wp(n).quarterPrefix}${i} ${e.getUTCFullYear()}`}case"years":return`${e.getUTCFullYear()}`}}function IN(t){return{daysPerUnit:e=>h_(e,t),addUnits:(e,r,n)=>To(e,r*h_(n,t)),isWorkingDay:()=>!0}}function kN(t,e){return h_(t,e)}function h_(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 m_=class{constructor(e,r){R(this,"id");R(this,"anchor");this.id=e,this.anchor=r}place(e,r){let n=ae(this.anchor.properties,"date"),i=mt(n);if(!i)return null;let o=e.scale.forwardWithinDomain(i);if(o===null)return null;let s=ft("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 PN(t,e,r){let n=[];for(let[i,o]of t){let s=new m_(i,o).place(e,r);s&&n.push(s)}return n}function g_(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,ut(l.properties,"on")),n.push({number:f,title:l.title??c,description:l.description?.text,style:ft("footnote",l.properties,e.styleCtx)})}),{area:{box:{x:Br,y:r+Br,width:e.chartRightX-2*Br,height:n.length===0?0:Nl+n.length*Pl+Br},entries:n},index:i,hosts:o}}var p3=.8,h3=1;function m3(t){let e=[];return ON(t,e),e}function ON(t,e){for(let r of t)if(r.kind==="item"){let n=g3(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")&&ON(r.children,e)}function g3(t){return t.capacity?t.capacity.value:t.size?1:0}function LN(t){if(t.capacityValue<=0||t.warnFraction===null&&t.overFraction===null)return null;let e=m3(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:y3(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 y3(t,e,r,n){let i=t/e;return n!==null&&i>=n?"red":r!==null&&i>=r?"yellow":"green"}function DN(t,e){let r=e.get("swimlane"),n=CN(ae(t.properties,"utilization-warn-at"),r?ae(r.properties,"utilization-warn-at"):void 0,p3),i=CN(ae(t.properties,"utilization-over-at"),r?ae(r.properties,"utilization-over-at"):void 0,h3);return{warn:n,over:i}}function CN(t,e,r){let i=_3(t??e);return i.kind==="unset"?r:i.kind==="none"?null:i.value}var x3=/^\d+(?:\.\d+)?%$/,T3=/^\d+\.\d+$/;function _3(t){if(t===void 0)return{kind:"unset"};if(t==="none")return{kind:"none"};if(x3.test(t)){let e=parseFloat(t)/100;return Number.isFinite(e)&&e>0?{kind:"number",value:e}:{kind:"unset"}}if(T3.test(t)){let e=parseFloat(t);return Number.isFinite(e)&&e>0?{kind:"number",value:e}:{kind:"unset"}}return{kind:"unset"}}var MN=10;function E3(t,e,r){let n=ae(t.properties,"capacity"),i=qn(n);if(i===null)return{capacity:null,badgeWidthPx:0};let o=Wa(i),s=qa(e.capacityIcon,r),a=Xi(o,s,MN);return{capacity:{value:i,text:o,icon:s},badgeWidthPx:a}}var v3=10,b3=38,w3=8;function R3(t,e,r){let n=t.title??t.name??"";if(!n)return 0;let i=ae(t.properties,"owner");return Va(0,n,i??void 0,e,r).rightX}function S3(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 A3(t,e,r,n){for(let i of t.content){if(i.$type==="DescriptionDirective")continue;let o=ar(i)?i.properties:i.properties??[];return n.resolveChildStart(o,e,e,r)}}var Ga=class{constructor(e,r){R(this,"input");R(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=ft("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}=E3(n,s,r.symbols),d=S3(n,r),p=d.length>0?o.estimateTextWidth(d.join(","),MN):0,m=R3(n,f,p),y=A3(n,a,r,o),E=!n.title||y===void 0||y>=m+w3,_=e.y+(E?v3:b3),x=new Ra({laneLeftX:a,originY:_,minRowHeight:c,slackCorridors:r.slackCorridors}),v=a,k=[];for(let w of n.content){if(w.$type==="DescriptionDirective")continue;if(!ar(w)){let $e=w.properties??[],q=o.resolveChildStart($e,v,a,r),{rowIndex:Q,y:re}=x.placeBlock(),M=o.newCursor(q,re),de=o.sequenceOne(w,M,r);k.push(de);let pe=de.box.x+de.box.width,Ne=Math.max(c,M.height);x.commitBlock({rowIndex:Q,placed:de,blockHeight:Ne,blockEnd:pe}),v=Math.max(v,pe);continue}let D=w.properties,U=o.resolveChildStart(D,v,a,r),S=Pi(D,r.sizes,r.cal),A=Math.max(_r,S*r.timeline.pixelsPerDay),I=U+A,B=w.name??"",z=o.predictItemChipExtraHeight(w,r),j=c+z,{rowIndex:V,y:K}=x.placeItem({childId:B,desiredStart:U,desiredEnd:I,predictedHeight:j}),ue=o.newCursor(U,K),Y=o.sequenceItem(w,ue,r);k.push(Y);let ne=Y.box.x+Y.box.width+Fr;v=Math.max(v,ne);let Re=null;(Y.textSpills||Y.chipsOutside||Y.dotSpills||Y.iconSpills||Y.footnoteSpills)&&(Re=Math.max(Y.decorationsRightX,Y.chipsOutside?Y.chipsRightX:0)+6),x.commitItem({rowIndex:V,placed:Y,logicalEnd:ne,spillReservation:Re,rowHeight:j})}let F=_-e.y,O=Math.max(c+32,F+x.usedHeight()+16),L=Math.max(x.usedRightX(),m),G={x:0,y:e.y,width:r.chartRightX,height:O},H=ae(n.properties,"owner"),oe;if(H){let w=r.teams.get(H),D=r.persons.get(H);oe=w?.title??D?.title??H}let $=u?(()=>{let{warn:w,over:D}=DN(n,r.styleCtx.defaults);return LN({children:k,capacityValue:u.value,warnFraction:w,overFraction:D})})():null;return r.currentFlowKey=l,{positioned:{id:n.name,title:n.title??n.name??"",box:G,bandIndex:i,children:k,nested:[],style:s,owner:oe,footnoteIndicators:d,capacity:u,utilization:$},usedHeight:O,usedRightX:L}}};var I3=18,k3=14,N3=14,P3=16,C3=32;function $N(t,e,r,n){let i=r+I3,o=[],s=!0;for(let a of t){s||(i+=P3),s=!1;let c=a.content.roadmap?.title??a.sourcePath,l=i+k3,u={cal:e.cal,styleCtx:{theme:e.styleCtx.theme,styles:a.config.styles,defaults:a.config.defaults,labels:a.content.labels},sizes:vp(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 O of a.content.swimlanes.values()){u.nextParallelId=0,u.nextGroupId=0;let{positioned:L,usedHeight:G,usedRightX:H}=new Ga({lane:O,bandIndex:p},n).place({x:u.timeline.originX,y:d},u);f.push(L),d+=G,p++,H>m&&(m=H)}let y=d,E=Math.max(e.bandScale.bandwidth(),y-i+N3),_=0,{chromeRightX:x}=Ya(_,c,a.sourcePath),v=Math.max(x,m)+C3,k=Math.min(e.chartRightX-_,v-_),F={x:_,y:i,width:k,height:E};for(let O of f)O.box.width=k;o.push({sourcePath:a.sourcePath,label:c,box:F,nestedSwimlanes:f,style:ft("swimlane",[],e.styleCtx)}),i+=E}return{regions:o,endY:i}}function ch(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 lh(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 FN(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 y_=class{constructor(e,r){R(this,"id");R(this,"milestone");this.id=e,this.milestone=r}place(e){let r=this.milestone,n=ft("milestone",r.properties,e.styleCtx),i=ae(r.properties,"date"),o=ut(r.properties,"after"),s=mt(i),a=e.timeline.markerRow.y,c=6,l=r.title??this.id,u=null,f=a,d=null,p="right",m=!1,y,E=!1;if(s){let x=e.scale.forwardWithinDomain(s);if(x===null)return null;u=x,m=!0;let v=e.markerRowPlacements.get(this.id);v&&(f=v.centerY,d=v.labelBox,p=v.labelSide);let k=ch(o,e),F=lh(k),O=null;for(let L of F)(!O||L.x>O.x)&&(O=L);O&&O.x>x&&(E=!0,y=[{x:O.x,y:O.y>0?O.y:f}])}else if(o.length>0){let x=ch(o,e),v=lh(x);v.sort((L,G)=>G.x-L.x);let k=v[0]?.x??e.timeline.originX;u=k,m=!1;let F=FN(u,a,c,l,10,!0,e.timeline.box.x,e.chartRightX);f=a,d=F.box,p=F.side,e.markerRowPlacements.set(this.id,{rowIndex:0,centerY:f,labelBox:d,labelSide:p});let O=[];for(let L=1;L<v.length;L++){let G=v[L];G.x<k&&G.y>0&&O.push({x:G.x,y:G.y})}O.length>0&&(y=O)}if(u===null)return null;if(!d){let x=FN(u,f,c,l,10,!0,e.timeline.box.x,e.chartRightX);d=x.box,p=x.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:E,style:n,cutTopY:e.chartTopY,cutBottomY:e.swimlaneBottomY,labelBox:d,labelSide:p}}};function UN(t,e){let r=[];for(let[n,i]of t){let o=new y_(n,i).place(e);o&&r.push(o)}return r}var L3=4;function D3(t,e){e>t.chartRightX&&(t.chartRightX=e)}var fh=class{place(e,r,n,i){let o=n.theme??"light",s=bT[o],a=n.width??1280,c=tk(n.locale,F3(e)),l=KI(e,r.config.calendar),u=SN(e,r.config.scale),f=vp(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=ft("roadmap",e.roadmapDecl?.properties??[],d),E=y.headerPosition==="beside",_=y.timelinePosition!=="bottom",x=y.timelinePosition==="bottom"||y.timelinePosition==="both",v=e.roadmapDecl?.title??e.roadmapDecl?.name??"",k=ae(e.roadmapDecl?.properties??[],"author"),F=i.sizeBesideHeader(v,k),O=E?{x:0,y:0,width:F.boxWidth,height:0}:{x:0,y:0,width:0,height:Dp},L=E?F.boxWidth:0,G=E?8:Dp+8,H=IN(l),oe=u.pixelsPerUnit/H.daysPerUnit(u.unit),w=Math.max(1,Tr(p,m))*oe,D=L+Ur,U=w,S=L+Ur+U+Ur,A=Math.min(a,S),I=n.today!==void 0&&n.today>=p&&n.today<=m,B=r.content.anchors.size+r.content.milestones.size>0,z=I?Ci:0,j=_?Sl:0,V=new nh({domain:[p,m],range:[D,D+w],calendar:H}),K=Math.max(A,D+U+Ur),ue=[];for(let[Z,ce]of r.content.anchors){let Ge=mt(ae(ce.properties,"date"));if(!Ge)continue;let vr=V.forwardWithinDomain(Ge);vr!==null&&ue.push({id:Z,centerX:vr,radius:6,title:ce.title??Z,fontSize:10,bold:!1,date:Ge,isMilestone:!1})}for(let[Z,ce]of r.content.milestones){let Ge=mt(ae(ce.properties,"date"));if(!Ge)continue;let vr=V.forwardWithinDomain(Ge);vr!==null&&ue.push({id:Z,centerX:vr,radius:6,title:ce.title??Z,fontSize:10,bold:!0,date:Ge,isMilestone:!0})}let Y=GN(ue,L,K,i.estimateTextWidth),ne=B?Math.max(1,Y.rowCount):0,Re=ne*26,Se=z+j+Re,$e=Se+8,q=E?F.cardHeight+L3:0,Q=Math.max(G,q-Se),re=Q+z,M=re+j,de=M+Re,pe=AN(V,u,H,c),Ne={box:{x:D,y:Q,width:w,height:0},ticks:pe,pixelsPerDay:oe,originX:D,startDate:p,endDate:m,labelStyle:ft("roadmap",[],d),pillRowHeight:z,tickPanelY:re,tickPanelHeight:j,markerRow:{y:M+13,height:Re,collisionY:M-8},minorGrid:y.minorGrid},at=new Map;for(let[Z,ce]of Y.placements){let Ge=M+13+ce.rowIndex*26;at.set(Z,{rowIndex:ce.rowIndex,centerY:Ge,labelBox:{...ce.labelBox,y:Ge-4},labelSide:ce.labelSide})}let W={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:Ne,scale:V,calendar:H,bandScale:RN(),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:at,chartTopY:Q+$e,chartBottomY:0,swimlaneBottomY:0,chartRightX:K,nextParallelId:0,nextGroupId:0};for(let Z of ue){let ce=at.get(Z.id);ce&&(W.entityLeftEdges.set(Z.id,Z.centerX),W.entityRightEdges.set(Z.id,Z.centerX),W.entityMidpoints.set(Z.id,{x:Z.centerX,y:ce.centerY}))}let er=g_(r.content.footnotes,W,0);W.footnoteIndex=er.index,W.footnoteHosts=er.hosts;let Ui=new Map(W.entityLeftEdges),ur=new Map(W.entityRightEdges),jr=new Map(W.entityMidpoints),ye=[...r.content.swimlanes.values()],Bi=ft("swimlane",[],d),zr=dk[Bi.spacing]??0,dn=()=>{W.nextParallelId=0,W.nextGroupId=0;let Z=[],ce=W.chartTopY,Ge=0,vr=W.timeline.originX;for(let Gi of ye){Ge>0&&(ce+=zr);let{positioned:zn,usedHeight:wh,usedRightX:Ql}=new Ga({lane:Gi,bandIndex:Ge},i).place({x:W.timeline.originX,y:ce},W);Z.push(zn),ce+=wh,Ql>vr&&(vr=Ql),Ge++}return{swimlanes:Z,nextY:ce,maxRightX:vr}},Er=dn(),Nt=Er.swimlanes,$t=Er.nextY,fr=M3(r.content.milestones,W);fr.length>0&&(W.entityLeftEdges=new Map(Ui),W.entityRightEdges=new Map(ur),W.entityMidpoints=new Map(jr),W.itemSlackAttachY=new Map,W.entityVisualLeftX=new Map,W.entityVisualRightX=new Map,W.itemArrowSource=new Map,W.itemFlowKey=new Map,W.currentFlowKey="",W.slackCorridors=fr,Er=dn(),Nt=Er.swimlanes,$t=Er.nextY),D3(W,Er.maxRightX+Ur);for(let Z of Nt)Z.box.width=W.chartRightX;let T=r.content.isolatedRegions,P=[];if(T.length>0){let Z=$N(T,W,$t+8,i);P=Z.regions,$t=Z.endY}W.chartBottomY=$t,W.swimlaneBottomY=$t,Ne.box.height=W.chartBottomY-Ne.box.y;let X=UN(r.content.milestones,W),J=ue.map(Z=>({id:Z.id,centerX:Z.centerX,radius:Z.radius,title:Z.title,fontSize:Z.fontSize,bold:Z.bold}));for(let Z of X)Z.fixed||J.push({id:Z.id??"",centerX:Z.center.x,radius:Z.radius,title:Z.title,fontSize:10,bold:!0});let _e=GN(J,L,W.chartRightX,i.estimateTextWidth);W.markerRowPlacements.clear();for(let[Z,ce]of _e.placements){let Ge=M+13+ce.rowIndex*26;W.markerRowPlacements.set(Z,{rowIndex:ce.rowIndex,centerY:Ge,labelBox:{...ce.labelBox,y:Ge-4},labelSide:ce.labelSide})}for(let Z of X){let ce=W.markerRowPlacements.get(Z.id??"");ce&&(Z.center={x:Z.center.x,y:ce.centerY},Z.labelBox=ce.labelBox,Z.labelSide=ce.labelSide)}for(let Z of ue){let ce=W.markerRowPlacements.get(Z.id);ce&&W.entityMidpoints.set(Z.id,{x:Z.centerX,y:ce.centerY})}for(let Z of X)Z.fixed||W.entityMidpoints.set(Z.id??"",{x:Z.center.x,y:Z.center.y});let Be=B?Math.max(1,_e.rowCount):0;if(Be>ne){let Z=(Be-ne)*26;W.timeline.markerRow.height=Be*26,W.timeline.box.height+=Z,W.chartTopY+=Z,W.chartBottomY+=Z,W.swimlaneBottomY+=Z;for(let ce of Nt)x_(ce,Z);for(let ce of P)$3(ce,Z);for(let[ce,Ge]of W.entityMidpoints)W.markerRowPlacements.has(ce)||W.entityMidpoints.set(ce,{x:Ge.x,y:Ge.y+Z});for(let[ce,Ge]of W.itemSlackAttachY)W.itemSlackAttachY.set(ce,Ge+Z);for(let ce of X)if(ce.cutTopY=W.chartTopY,ce.cutBottomY=W.swimlaneBottomY,ce.slackArrows)for(let Ge of ce.slackArrows)Ge.y+=Z}x&&(W.timeline.bottomTickPanelY=W.chartBottomY+8,W.timeline.bottomTickPanelHeight=Sl,W.chartBottomY+=8+Sl);let Ae=new Set(X.map(Z=>Z.center.x)),Ze=PN(r.content.anchors,W,Ae),ct=i.collectItems(ye),He=i.buildDependencies(ct,Nt,P,W),Fe=i.buildNowline(n.today,W,c),gt=g_(r.content.footnotes,W,W.chartBottomY);W.footnoteIndex=gt.index,W.footnoteHosts=gt.hosts,O.height=O.height||W.chartBottomY,E||(O.width=W.chartRightX);let tr=E?{x:6,y:de-F.cardHeight,width:F.cardWidth,height:F.cardHeight}:{x:0,y:0,width:W.chartRightX,height:Dp},Wr=gt.area.entries.length>0?gt.area.box.y+gt.area.box.height:W.chartBottomY,dr={x:W.chartRightX-Ur-UT,y:Wr+Ur,width:UT,height:yk},Je=dr.y+dr.height+Ur,pr={box:O,position:y.headerPosition,title:v,author:k,titleLines:F.titleLines,authorLines:F.authorLines,cardBox:tr,logo:void 0,style:y,attributionBox:dr};return{width:W.chartRightX,height:Je,theme:o,palette:s,backgroundColor:s.surface.page,header:pr,timeline:Ne,nowline:Fe,swimlanes:Nt,anchors:Ze,milestones:X,edges:He,footnotes:gt.area,includes:P,chartBox:{x:L,y:W.chartTopY,width:W.chartRightX-L,height:W.chartBottomY-W.chartTopY}}}};function M3(t,e){let r=[];for(let[n,i]of t){let o=ae(i.properties,"date"),s=ut(i.properties,"after"),a=mt(o),c=ch(s,e),l=lh(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 x_(t,e){t.box.y+=e;for(let r of t.children)XN(r,e);for(let r of t.nested)x_(r,e)}function XN(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)XN(r,e)}function $3(t,e){t.box.y+=e;for(let r of t.nestedSwimlanes)x_(r,e)}function GN(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=L=>L==="right"?l:u,E=L=>L==="right"?f:d,_=(L,G)=>{let H=Math.min(p,L),oe=Math.max(m,L+c);return s[G].some($=>$.left<oe&&$.right>H)},x=-1,v="right",k=l;e:for(let L=s.length-1;L>=0;L--)for(let G of["right","left"]){if(!E(G))continue;let H=y(G);if(!_(H,L)){x=L,v=G,k=H;break e}}if(x===-1){for(let[L,G]of o)o.set(L,{...G,rowIndex:G.rowIndex+1});s=[[],...s],x=0,v=f?"right":"left",k=y(v)}let F=Math.min(p,k),O=Math.max(m,k+c);s[x].push({left:F,right:O}),o.set(a.id,{rowIndex:x,labelBox:{x:k,y:0,width:c,height:12},labelSide:v})}return{placements:o,rowCount:s.length}}function F3(t){return t.directive?.properties.find(r=>U3(r.key)==="locale")?.value}function U3(t){return t.endsWith(":")?t.slice(0,-1):t}function X3(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 H3(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 j3(t,e){if(t)return/^\d+(?:\.\d+)?[dwmqy]$/.test(t)||/^\d+%$/.test(t)?t:e.sizes.get(t)?.effortLiteral??t}function z3(t,e){if(t)return e.teams.get(t)?.title??e.persons.get(t)?.title??t}function W3(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 dh(t,e,r,n,i){let o=fk(t,e),s=t.name??t.title??"",a=o.padding==="none"?"xs":o.padding,c=pk[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 w_(t,e,r,n){let i=t.properties,o=ft("item",i,r.styleCtx),s=ae(i,"size"),a=s?r.sizes.get(s)??null:null,c=Pi(i,r.sizes,r.cal),l=JI(i,r.sizes,r.cal),u=ut(i,"after"),f=ut(i,"before"),d=ae(i,"date"),p=ZI(ae(i,"remaining"),r.sizes,r.cal),m=e.x,y=mt(d);if(y){let le=r.scale.forwardWithinDomain(y);le!==null&&(m=le)}else if(u.length>0){let le=e.x;for(let Qe of u){let dt=mt(Qe);if(dt){let Wn=r.scale.forwardWithinDomain(dt);Wn!==null&&(le=Math.max(le,Wn));continue}let pn=r.entityRightEdges.get(Qe);pn!==void 0&&(le=Math.max(le,pn))}m=Math.max(e.x,le)}let E=Math.max(_r,c*r.timeline.pixelsPerDay),_=m,x=m+E,v=ae(i,"link"),k=W3(v),F=k.icon!=="none",O=Math.max(_r,E-2*Fr),L=ut(i,"labels"),G=[];for(let le of L){let Qe=r.labels.get(le);if(!Qe)continue;let dt=dh(Qe,r.styleCtx,0,0);G.push({id:Qe,width:dt.box.width})}let H=0;for(let le=0;le<G.length;le+=1)le>0&&(H+=4),H+=G[le].width;let oe=Math.max(0,O-24),$=G.length>0&&H>oe,w=!1,D,U;if(f.length>0){let le,Qe;for(let dt of f){let pn=mt(dt),Wn=pn?r.scale.forwardWithinDomain(pn)??void 0:r.entityLeftEdges.get(dt);Wn!==void 0&&(le===void 0||Wn<le)&&(le=Wn,Qe=dt)}le!==void 0&&x>le&&(w=!0,D={x:le,y:e.y,width:x-le,height:r.bandScale.bandwidth()},U=Qe)}let S=ae(i,"status"),A=X3(S),I=H3(S);I===0&&A==="done"&&(I=1);let B=/^(\d{1,3})%$/.exec(ae(i,"remaining")??"");I===0&&A==="in-progress"&&B&&(I=1-Math.max(0,Math.min(100,parseInt(B[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"},j={done:"#052e16","in-progress":"#172554","at-risk":"#422006",blocked:"#7f1d1d",planned:"#1e293b",neutral:"#1e293b"},V={done:"#ebebeb","in-progress":"#e4e4e4","at-risk":"#eeeeee",blocked:"#dcdcdc",planned:"#f5f5f5",neutral:"#f5f5f5"},K={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},ue=r.styleCtx.theme.name,Y=ue==="dark",ne=Y?"#0f172a":"#ffffff",Re=ue==="grayscale"?"#9e9e9e":"#94a3b8";o.bg===ne&&(o.bg=ue==="grayscale"?V[A]:Y?j[A]:z[A]),o.fg===Re&&(o.fg=K[A]);let Se=ae(i,"duration"),$e=!!Se&&/^\d+(?:\.\d+)?[dwmqy]$/.test(Se),q=a?a.title??a.name:"",Q=$e?Se:q||void 0,re=ae(i,"remaining"),M=j3(re,r),de=z3(n??ae(i,"owner"),r),pe=()=>[Q,de].filter(Boolean).join(" "),Ne;if(A==="in-progress"&&M){let le=pe();Ne=le?`${le} \u2014 ${M} remaining`:`${M} remaining`}else if(A==="in-progress"&&I>0&&I<1){let le=Math.round((1-I)*100),Qe=pe();Ne=Qe?`${Qe} \u2014 ${le}% remaining`:`${le}% remaining`}else(de||Q)&&(Ne=pe()||void 0);let at=ae(i,"capacity"),W=qn(at),er=null,Ui=0;if(W!==null){let le=Wa(W),Qe=qa(o.capacityIcon,r.symbols);er={value:W,text:le,icon:Qe};let dt=11;Ui=(Ne?fn(" ",dt):0)+Xi(le,Qe,dt)}let ur=t.title??t.name??"",jr=new Bp({id:t.name??"",title:ur,logicalLeftX:_,logicalRightX:x,metaText:Ne,metaTrailingWidth:Ui,hasLinkIcon:F}).place({x:_,y:e.y},{time:r.scale,bands:r.bandScale,style:o}),ye=jr.box,Bi=r.bandScale.bandwidth(),zr=ye.width<17,dn=F&&ye.width<41,Er=ye.width<23,Nt=jr.textSpills||dn,$t=null;$&&($t=Sh(G,ye.width));let fr=$t?$t.rows.length:G.length>0?1:0,T=Ne!==void 0||er!==null,P=YN($,Nt,fr,Bi,T);P>0&&(ye.height=Bi+P);let X=[],J=ye.y+Bi-an-13-3,_e=ye.y+38+3,Ae=$&&Nt||!$&&T&&G.length>0?Math.max(J,_e):J,Ze=$?ye.x+ye.width+6:ye.x+12,ct=Ze;if($t)for(let le=0;le<$t.rows.length;le+=1){let Qe=Ae+le*17,dt=Ze;for(let Wn of $t.rows[le]){let Z_=dh(Wn.id,r.styleCtx,dt,Qe);X.push(Z_),dt+=Z_.box.width+4}let pn=dt-4;pn>ct&&(ct=pn)}else{let le=Ze;for(let Qe of G){let dt=dh(Qe.id,r.styleCtx,le,Ae);X.push(dt),le+=dt.box.width+4}ct=G.length>0?le-4:Ze}let He=new Set;if(t.name){for(let[le,Qe]of r.footnoteHosts.entries())if(Qe.includes(t.name)){let dt=r.footnoteIndex.get(le);dt!==void 0&&He.add(dt)}}let Fe=[...He].sort((le,Qe)=>le-Qe),gt=de??n??ae(i,"owner"),tr=t.description?.text,Wr=Fe.length>0&&Er,Je=ye.x+ye.width+6,pr=!1,Jl=null;dn&&(pr&&(Je+=4),Jl=Je,Je=Jl+14,pr=!0);let Z=0;if(Nt){pr&&(Je+=4);let le=fn(ur,13),Qe=(Ne?fn(Ne,11):0)+Ui;Z=Math.max(le,Qe),Je+=Z,pr=!0}let ce=null;Wr&&(pr&&(Je+=4),ce=Je,Je+=Fe.length*8,pr=!0);let Ge=null;zr&&(pr&&(Je+=4),Ge=Je+5,Je=Ge+5,pr=!0);let vr=Math.max(ye.x+ye.width,Je),Gi=t.name;Gi&&(r.entityLeftEdges.set(Gi,_),r.entityRightEdges.set(Gi,x));let zn=Gi??VN(t);r.entityMidpoints.set(zn,{x:(_+x)/2,y:ye.y+ye.height/2}),r.entityVisualLeftX.set(zn,ye.x),r.entityVisualRightX.set(zn,ye.x+ye.width);let wh=Nt?{x:ye.x+ye.width,y:ye.y+ye.height-an/2}:{x:ye.x+ye.width,y:ye.y+ye.height/2};r.itemArrowSource.set(zn,wh),r.itemFlowKey.set(zn,r.currentFlowKey);let Ql=Nt?ye.y+ye.height-an/2:ye.y+ye.height/2;r.itemSlackAttachY.set(zn,Ql),e.x=x,e.maxX=Math.max(e.maxX,e.x),e.height=Math.max(e.height,r.bandScale.step()+P);let K_=ok({box:ye,afterDate:Mn(u),beforeDate:Mn(f),hasLinkIcon:F,footnoteCount:Fe.length});return{kind:"item",id:Gi,title:ur,box:ye,status:A,progressFraction:I,footnoteIndicators:Fe,labelChips:X,chipsOutside:$,chipsRightX:ct,linkIcon:k.icon,linkHref:k.href,hasOverflow:w,overflowBox:D,overflowAnchorId:U,owner:gt,description:tr,metaText:Ne,textSpills:Nt,dotSpills:zr,iconSpills:dn,footnoteSpills:Wr,dotSpillCx:Ge,iconSpillX:Jl,footnoteSpillStartX:ce,decorationsRightX:vr,capacity:er,size:a,style:o,inlineDatePins:K_.length>0?K_:void 0}}function q3(t,e,r){return new Gp(t,{sequenceOne:R_,newCursor:Ap}).place(e,r)}function V3(t,e,r){return new Up(t,{sequenceItem:w_,sequenceOne:R_,resolveChildStart:ZN,newCursor:Ap,estimateTextWidth:fn,predictItemChipExtraHeight:KN}).place(e,r)}function R_(t,e,r){if(ar(t))return w_(t,e,r);if(Mr(t))return q3(t,e,r);if(Dr(t))return V3(t,e,r);throw new Error(`Unknown swimlane child type: ${t.$type??"unknown"}`)}function fn(t,e){return t.length*e*.58}function VN(t){let e=t.$cstNode?.range.start;return`#item@${e?e.line+1:0}:${e?e.character+1:0}`}function YN(t,e,r,n,i){if(r===0)return 0;let o=n-an-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+an;return Math.max(0,l-n)}function KN(t,e){let r=t.properties,n=ut(r,"labels");if(n.length===0)return 0;let i=Pi(r,e.sizes,e.cal),o=Math.max(_r,i*e.timeline.pixelsPerDay),s=Math.max(_r,o-2*Fr),a=[];for(let _ of n){let x=e.labels.get(_);if(!x)continue;let v=dh(x,e.styleCtx,0,0);a.push({id:x,width:v.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?fn(d,13):0)>l,y=u?Sh(a,s):null,E=y?y.rows.length:a.length>0?1:0;return YN(u,m,E,e.bandScale.bandwidth(),f)}function ZN(t,e,r,n){let i=mt(ae(t,"date"))??mt(ae(t,"start"));if(i){let s=n.scale.forwardWithinDomain(i);if(s!==null)return s}let o=ut(t,"after");if(o.length>0){let s=r;for(let a of o){let c=mt(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 T_=6;function HN(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&&fn(a,r)>e?(i.push(o),o=s):o=a}return o&&i.push(o),i}function Y3(t,e){let r=LT-32,n=HN(t,r,16),i=HN(e??"",r,11),o=0;for(let d of n)o=Math.max(o,fn(d,16));for(let d of i)o=Math.max(o,fn(d,11));let s=o+32,a=Math.max(mk-T_,Math.min(LT-T_,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+T_;return{titleLines:n,authorLines:i,cardWidth:a,cardHeight:u,boxWidth:f}}function K3(t,e,r,n,i){let s=t.roadmapDecl?.properties??[],a=ae(s,"start"),c=mt(a)??Z3(n),l=ae(s,"length");if(l){let p=J3(l,e.cal);if(p>0)return{startDate:c,endDate:To(c,p)}}let u=JN(r,e,c,n),f=kN(i.unit,e.cal),d=u>0?Math.ceil(u/f)*f:4*e.cal.daysPerWeek;return{startDate:c,endDate:To(c,Math.max(1,d))}}function Z3(t){let e=t??new Date;return new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()))}function J3(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 JN(t,e,r,n){let i=new Map,o=new Map,s=new Map,a=0,c=f=>{let d=mt(f);return d?Tr(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=mt(ae(f.properties,"date"));if(d&&f.name){let p=Tr(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(ar(f)){let p=Pi(f.properties,e.sizes,e.cal),m=mt(ae(f.properties,"date")),y=mt(ae(f.properties,"start")),E=ut(f.properties,"after"),_=d;m?_=Tr(r,m):y?_=Tr(r,y):E.length>0&&(_=Math.max(d,...E.map(c)));let x=_+p;return f.name&&i.set(f.name,x),x}if(Mr(f)){let p=ut(f.properties,"after"),m=p.length>0?Math.max(d,...p.map(c)):d,y=m;for(let E of f.content){if(E.$type==="DescriptionDirective")continue;let _=u(E,m);y=Math.max(y,_)}return y}if(Dr(f)){let p=ut(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=mt(ae(f.properties,"date"));if(d){let m=Tr(r,d);f.name&&s.set(f.name,m),a=Math.max(a,m);continue}let p=ut(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=JN({config:f.config,content:f.content,diagnostics:[],processedFiles:new Set},e,r,void 0);a=Math.max(a,d)}if(n){let f=Tr(r,n);f>0&&(a=Math.max(a,f))}return a}function Q3(t,e,r,n){let i=new bp(QI(e,r)),o=[],s=[];for(let[l,u]of t){let f=ut(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 E=n.itemArrowSource.get(y),_,x=E===void 0;if(E)_=E;else{let v=n.entityMidpoints.get(y);if(!v)continue;_={x:v.x,y:d.y}}!x&&Math.abs(_.y-m.y)<.5&&m.x-_.x<20||(o.push({fromId:y,toId:l,from:_,to:m,isMarkerSource:x}),s.push({fromId:y,toId:l}))}}let a=ek(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:ft("item",[],n.styleCtx)})}return c}function eG(t,e,r){if(!t)return null;let n=e.scale.forwardWithinDomain(t);if(n===null)return null;let i=e.timeline.box.y,o=e.timeline.tickPanelY,s=wp(r).nowLabel,a=fn(s,kl),c=Math.max(PT,Math.ceil(a+2*ka)),l=e.timeline.originX-Ur,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:ft("item",[],e.styleCtx)}}function tG(t){let e=new Map,r=n=>{if(ar(n)){e.set(n.name??VN(n),n);return}if(Mr(n)){for(let i of n.content)i.$type!=="DescriptionDirective"&&r(i);return}if(Dr(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 S_(t,e,r={}){return new fh().place(t,e,r,{sequenceItem:w_,sequenceOne:R_,resolveChildStart:ZN,newCursor:Ap,estimateTextWidth:fn,predictItemChipExtraHeight:KN,computeDateWindow:K3,sizeBesideHeader:Y3,collectItems:tG,buildDependencies:Q3,buildNowline:eG})}function A_(t){return t.toISOString().slice(0,10)}function rG(t){return t.id??t.title}function QN(t,e){for(let r of t)r.kind==="item"?e(r):QN(r.children,e)}function nG(t,e,r){let n=rG(t);t.textSpills&&r.push(Po(e,"NL.I1000","info",{name:n},n)),t.chipsOutside&&r.push(Po(e,"NL.I1001","info",{name:n},n)),(t.box.width<17||t.dotSpills||t.iconSpills||t.footnoteSpills)&&r.push(Po(e,"NL.I1002","info",{name:n},n)),t.hasOverflow&&r.push(Po(e,"NL.I1003","info",{name:n,anchor:t.overflowAnchorId},n))}function Po(t,e,r,n,i){return{message:_l(t,e,n),severity:r,code:e,entityId:i,lspSeverity:r==="warning"?2:3,data:{code:e,args:n}}}function eP(t,e,r){let n=t.id??t.title,i=[];QN(t.children,a=>i.push(a));for(let a of i)nG(a,e,r);let o=new Set(i.map(a=>a.box.y));o.size>1&&r.push(Po(e,"NL.I1004","info",{lane:n,rows:o.size},n)),(t.utilization?.segments.some(a=>a.classification==="red")??!1)&&r.push(Po(e,"NL.I1005","info",{lane:n},n));for(let a of t.nested)eP(a,e,r)}function I_(t,e={}){let r=e.locale??"en-US",n=[];for(let i of t.swimlanes)eP(i,r,n);if(e.today){let i=e.today,o=t.timeline.startDate,s=t.timeline.endDate;(i<o||i>s)&&n.push(Po(r,"NL.W1000","warning",{date:A_(i),start:A_(o),end:A_(s)}))}return n}var Co=class extends Error{constructor(e){super(e),this.name="TimezoneError"}};function k_(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 Co(`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 Co(`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 yh(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 iG=/^(\d{4})-(\d{2})-(\d{2})$/,oG=/^(\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?)(Z|([+-])(\d{2})(?::?(\d{2}))?)$/,sG=/^(\d{4})-(\d{2})-(\d{2})T\d{2}:\d{2}:\d{2}(?:\.\d+)?$/;function N_(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=iG.exec(n);if(i)return new Date(Date.UTC(parseInt(i[1],10),parseInt(i[2],10)-1,parseInt(i[3],10)));let o=oG.exec(n);if(o){let a=new Date(n);if(!Number.isNaN(a.getTime())){if(o[2]==="Z")return yh(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 yh(a,{kind:"offset",ms:d})}}let s=sG.exec(n);return s?new Date(Date.UTC(parseInt(s[1],10),parseInt(s[2],10)-1,parseInt(s[3],10))):void 0}return yh(r(),e)}}function aG(t){return t===2?"warning":t===3?"info":"error"}function tP(t,e){return{severity:aG(t.severity),code:kh(t),message:t.message,suggestion:Ih(t.message),file:e,line:(t.range?.start.line??0)+1,column:(t.range?.start.character??0)+1}}function rP(t,e){return{severity:"error",code:"parse-error",message:t.message,file:e,line:t.token?.startLine??1,column:t.token?.startColumn??1}}function nP(t,e){return{severity:"error",code:"lex-error",message:t.message,file:e,line:t.line??1,column:t.column??1}}function iP(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 oP(t,e,r="warning"){return{severity:r,code:"render.warning",message:t,file:e,line:1,column:1}}function sP(t,e){return{severity:t.severity,code:t.code,message:t.message,file:e,line:1,column:1}}var aP="__nowline_browser_noop_include__";async function cP(t){throw new Error(`${aP}: include "${t}" was skipped \u2014 running in single-file mode.`)}function lP(t){return t.includes(aP)}var Fi={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"}},cG={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"}},uP={...Fi,...cG};var Woe={none:"",multiplier:"x",person:Fi.person.ascii,people:Fi.people.ascii,points:Fi.points.ascii,time:Fi.time.ascii};var xh=class{constructor(e="nl"){R(this,"prefix");R(this,"counter",0);this.prefix=e}next(e){let r=`${this.prefix}-${this.counter++}`;return e?`${r}-${e}`:r}};var lG=new Set(["svg","g","defs","symbol","use","path","rect","circle","ellipse","line","polyline","polygon","text","tspan","title","desc","linearGradient","radialGradient","stop","clipPath","mask","pattern","filter","feGaussianBlur","feColorMatrix","feOffset","feMerge","feMergeNode","feFlood","feComposite","feBlend","feDropShadow","image"]),uG=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 fG(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=dG(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}=pG(a);e.push({kind:s?"self":"open",name:c,attrs:l}),r=i+1}return e}function dG(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 pG(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 ql(t){return t.replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function hG(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 fP(t,e={}){let r=e.idPrefix??"nl-logo",n=e.onWarn??(()=>{}),i=fG(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(ql(l.text??""));continue}if(l.kind==="text"){if(c.length===0||c[c.length-1]){let u=(l.text??"").replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">");a.push(u)}continue}if(l.kind==="open"||l.kind==="self"){let u=l.name??"";if(u==="script"||u==="foreignObject"||u==="animate"||u==="animateTransform"||u==="animateMotion"||u==="set"){n(`sanitizer: dropping <${u}>`),l.kind==="open"&&c.push(!1);continue}if(!lG.has(u)){n(`sanitizer: dropping unknown element <${u}>`),l.kind==="open"&&c.push(!1);continue}let f=[`<${u}`],d=Object.keys(l.attrs??{}).sort();for(let p of d){let m=l.attrs[p];if(/^on/i.test(p)){n(`sanitizer: dropping event handler ${p}`);continue}if(!uG.has(p)){n(`sanitizer: dropping attribute ${p}`);continue}if(p==="href"||p==="xlink:href"){let y=hG(m,o);if(y===null){n(`sanitizer: dropping external href ${m}`);continue}f.push(` ${p}="${ql(y)}"`);continue}if(p==="style"){n("sanitizer: dropping inline style");continue}if(p==="id"){let y=o.get(m);y&&f.push(` id="${ql(y)}"`);continue}if(/\burl\(#/i.test(m)){let y=m.replace(/url\(#([^)]+)\)/gi,(E,_)=>{let x=o.get(_);return x?`url(#${x})`:"none"});f.push(` ${p}="${ql(y)}"`);continue}if(/data:|javascript:|vbscript:/i.test(m)){n(`sanitizer: dropping suspicious value at ${p}`);continue}f.push(` ${p}="${ql(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 dP=/&/g,pP=/</g,hP=/>/g,mG=/"/g,gG=/'/g;function Qt(t){return t.replace(dP,"&").replace(pP,"<").replace(hP,">")}function Xn(t){return t.replace(dP,"&").replace(pP,"<").replace(hP,">").replace(mG,""").replace(gG,"'")}function ja(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}="${Xn(String(i))}"`))}return r.length?` ${r.join(" ")}`:""}function ee(t,e,r){return r===void 0||r===""?`<${t}${ja(e)}/>`:`<${t}${ja(e)}>${r}</${t}>`}function Ce(t,e){return`<text${ja(t)}>${Qt(e)}</text>`}function h(t){return Number.isFinite(t)?Number.isInteger(t)?t.toString():(Math.round(t*100)/100).toString():"0"}var yG={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 xG(t,e){let r=`${t}-shadow-${e}`,n=yG[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 ee("filter",{id:r,x:"-50%",y:"-50%",width:"200%",height:"200%"},i)}function mP(t,e){return e==="none"?null:`url(#${t}-shadow-${e})`}function gP(t){return["subtle","soft","hard"].map(e=>xG(t,e)).join("")}var bG={thin:100,light:300,normal:400,bold:700};function wG(t){return Aa[t]??14}function C_(t,e,r){return{"font-family":e[t.font],"font-size":r??wG(t.textSize),"font-weight":bG[t.weight]??400,"font-style":t.italic?"italic":"normal",fill:t.text}}function RG(t){if(t.border==="dashed")return"4 3";if(t.border==="dotted")return"1 3"}function SG(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 AG(t,e){return SG(t)>=.24?e.statusDot.onLight:e.statusDot.onDark}function P_(t,e){return t.length*e*.58}function _P(t,e,r,n,i,o,s){let a=i*.58,c=e?P_(e,i):0,l=e?a:0,u=r+c+l,{text:f,icon:d}=t,p=P_(f,i),m={"font-family":o,"font-size":i,fill:s};if(!d)return Ce({x:h(u),y:h(n),...m},f);if(d.kind==="builtin"&&d.name==="multiplier")return Ce({x:h(u),y:h(n),...m},`${f}\xD7`);if(d.kind==="builtin"){let E=Fi[d.name],_=Ce({x:h(u),y:h(n),...m},f),x=i*.1,v=i,k=u+p+x,F=n-i*.85,O=`<svg x="${h(k)}" y="${h(F)}" width="${h(v)}" height="${h(v)}" viewBox="${E.viewBox}" style="color:${Xn(s)}" aria-hidden="true">${E.body}</svg>`;return _+O}let y=h(i*.1);return`<text x="${h(u)}" y="${h(n)}" font-family="${Xn(o)}" font-size="${i}" fill="${Xn(s)}">${Qt(f)}<tspan dx="${y}">${Qt(d.text)}</tspan></text>`}var yP=.6,IG=.5;function kG(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 Ce({x:h(n),y:h(i),...c},e);if(!e)return _P(r,void 0,n,i,o,s,a);let l=h(o*yP),u=`<text x="${h(n)}" y="${h(i)}" font-family="${Xn(s)}" font-size="${o}" fill="${Xn(a)}">`,{text:f,icon:d}=r;if(!d)return u+Qt(e)+`<tspan dx="${l}">${Qt(f)}</tspan></text>`;if(d.kind==="builtin"&&d.name==="multiplier")return u+Qt(e)+`<tspan dx="${l}">${Qt(f)}\xD7</tspan></text>`;if(d.kind==="literal"){let O=h(o*.1);return u+Qt(e)+`<tspan dx="${l}">${Qt(f)}</tspan><tspan dx="${O}">${Qt(d.text)}</tspan></text>`}let p=Fi[d.name],m=O=>O.length*o*IG,y=n+m(e)+o*yP,E=o*.1,_=o,x=y+m(f)+E,v=i-o*.85,k=u+Qt(e)+`<tspan dx="${l}">${Qt(f)}</tspan></text>`,F=`<svg x="${h(x)}" y="${h(v)}" width="${h(_)}" height="${h(_)}" viewBox="${p.viewBox}" style="color:${Xn(a)}" aria-hidden="true">${p.body}</svg>`;return k+F}function NG(t,e){let r=uP.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:${Xn(e)}" aria-hidden="true">${r.body}</svg>`,i=`<title>${Qt(t.isoDate)}</title>`;return ee("g",{"data-layer":"inline-date-pin","data-side":t.side,"data-date":t.isoDate,"data-spilled":t.spilled?"true":null},i+n)}function O_(t,e){return!t||t.length===0?"":t.map(r=>NG(r,e)).join("")}function PG(t,e,r,n,i,o={}){let s=Math.min(Ip[i.cornerRadius]??4,n/2);return ee("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":RG(i)??null,...o})}function CG(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=ee("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((_,x)=>{f.push(Ce({x:h(i+16),y:h(o+26+x*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((_,x)=>{y.push(Ce({x:h(i+16),y:h(p+18+x*14),"font-family":n[t.style.font],"font-size":11,fill:m},_))});let E=y.join("");return ee("g",{"data-layer":"header","data-id":`${e}-header`},u+d+E)}function OG(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(ee("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(ee("line",{x1:h(d.x),y1:h(l),x2:h(d.x),y2:h(u),stroke:i,"stroke-width":1}))}return ee("g",{"data-layer":"grid"},f.join(""))}function LG(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(ee("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(ee("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(ee("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 E of t.ticks)E.major&&(!E.label||E.labelX===void 0||(l&&s.push(Ce({x:h(E.labelX),y:h(a+kp),"font-family":r.sans,"font-size":10,fill:o,"text-anchor":"middle"},E.label)),y&&s.push(Ce({x:h(E.labelX),y:h(p+kp),"font-family":r.sans,"font-size":10,fill:o,"text-anchor":"middle"},E.label))));return ee("g",{"data-layer":"timeline"},s.join(""))}function DG(t,e,r){if(!t)return"";let n=e.nowline.stroke,i=e.nowline.labelText,o=ee("line",{x1:h(t.x),y1:h(t.topY),x2:h(t.x),y2:h(t.bottomY),stroke:n,"stroke-width":Lp}),s=MG(t,n),a=$G(t,i,r);return ee("g",{"data-layer":"nowline"},o+s+a)}function EP(t){let e=Lp/2;return t.pillMode==="flag-right"?t.x-e:t.pillMode==="flag-left"?t.x+e:t.x}function MG(t,e){let r=t.pillTopY,n=t.pillTopY+Ci,i=CT,o=t.pillWidth;if(t.pillMode==="center")return ee("rect",{x:h(t.x-o/2),y:h(r),width:h(o),height:h(Ci),rx:i,ry:i,fill:e});let s=EP(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 ee("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 ee("path",{d:c,fill:e})}function $G(t,e,r){let n=t.pillTopY+OT,i=EP(t),o,s;return t.pillMode==="center"?(o=t.x,s="middle"):t.pillMode==="flag-right"?(o=i+ka,s="start"):(o=i-ka,s="end"),Ce({x:h(o),y:h(n),"font-family":r.sans,"font-size":kl,"font-weight":700,fill:e,"text-anchor":s},t.label)}function FG(t,e,r,n,i){let o=[],s=mP(r,t.style.shadow);o.push(PG(t.box.x,t.box.y,t.box.width,t.box.height,t.style,{filter:s??null}));let a=AG(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 E=Math.max(0,Math.min(t.box.width,t.box.width*t.progressFraction));o.push(ee("rect",{x:h(t.box.x),y:h(t.box.y+t.box.height-an),width:h(E),height:an,fill:t.style.fg,opacity:.55}))}let u=t.dotSpills&&t.dotSpillCx!==null?t.dotSpillCx:t.box.x+t.box.width-12;o.push(ee("circle",{cx:h(u),cy:h(t.box.y+12),r:5,fill:l})),o.push(O_(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(Ce({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(kG({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 E=t.box.y+14;if(t.footnoteSpills&&t.footnoteSpillStartX!==null){let _=t.footnoteSpillStartX;for(let x=0;x<t.footnoteIndicators.length;x++){let v=t.footnoteIndicators[x];o.push(Ce({x:h(_),y:h(E),"font-family":i.sans,"font-size":10,"font-weight":700,fill:p},String(v))),_+=8}}else{let _=t.box.x+t.box.width-22;for(let x=t.footnoteIndicators.length-1;x>=0;x--){let v=t.footnoteIndicators[x];o.push(Ce({x:h(_),y:h(E),"font-family":i.sans,"font-size":10,"font-weight":700,fill:t.style.text,"text-anchor":"end"},String(v))),_-=8}}}if(!e.noLinks&&t.linkIcon&&t.linkIcon!=="none"){let E={linear:"#5e6ad2",github:"#0f172a",jira:"#0052cc",generic:n.item.linkIconFg},_=E[t.linkIcon]??E.generic,x=14,v=t.iconSpills&&t.iconSpillX!==null?t.iconSpillX:t.box.x+6,k=t.box.y+6,F=ee("rect",{x:h(v),y:h(k),width:x,height:x,rx:2,ry:2,fill:_}),O=v,L=k,G=ee("path",{d:`M${h(O+4)} ${h(L+10)} L${h(O+10)} ${h(L+4)} M${h(O+6)} ${h(L+4)} H${h(O+10)} V${h(L+8)}`,stroke:"#ffffff",fill:"none","stroke-width":1.1,"stroke-linecap":"round","stroke-linejoin":"round"}),H=F+G,oe=t.linkHref?ee("a",{href:t.linkHref,target:"_blank",rel:"noopener"},H):H;o.push(oe)}if(t.hasOverflow&&t.overflowBox){let E=n.item.overflowTailFill,_=n.item.overflowTailStroke,x=n.item.overflowCaption;o.push(ee("rect",{x:h(t.overflowBox.x),y:h(t.overflowBox.y),width:h(t.overflowBox.width),height:h(t.overflowBox.height),fill:E,stroke:_,"stroke-width":1})),t.overflowAnchorId&&t.overflowBox.width>60&&o.push(Ce({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:x,"text-anchor":"middle"},`past ${t.overflowAnchorId}`))}for(let E of t.labelChips){let _=Math.min(Ip[E.style.cornerRadius]??8,E.box.height/2);o.push(ee("rect",{x:h(E.box.x),y:h(E.box.y),width:h(E.box.width),height:h(E.box.height),rx:h(_),ry:h(_),fill:E.style.bg==="none"?"transparent":E.style.bg,stroke:E.style.fg,"stroke-width":.5})),o.push(Ce({x:h(E.box.x+E.box.width/2),y:h(E.box.y+E.box.height/2+3),...C_(E.style,i,Aa.xs),"text-anchor":"middle"},E.text))}return ee("g",{"data-layer":"item","data-id":t.id??null},o.join(""))}function UG(t,e,r,n,i){let o=[];if(t.style.bg!=="none"&&t.style.bg!=="#ffffff"){if(o.push(ee("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*kT+2*Cp,c=t.box.x,l=t.box.y,u=Il,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(ee("path",{d,fill:t.style.fg})),o.push(Ce({x:h(c+Cp),y:h(l+AT),"font-family":i[t.style.font],"font-size":IT,"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-Ia)} L${h(t.box.x)} ${h(t.box.y-Ia)} 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(ee("path",{d:f,fill:"none",stroke:a,"stroke-width":1,"stroke-dasharray":u}))}t.title&&o.push(Ce({x:h(t.box.x+6),y:h(t.box.y-2),...C_(t.style,i,Aa.xs),"fill-opacity":.7},t.title))}o.push(O_(t.inlineDatePins,t.style.fg));for(let a of t.children)o.push(L_(a,e,r,n,i));return ee("g",{"data-layer":"group","data-id":t.id??null},o.join(""))}function BG(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(ee("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(ee("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(Ce({x:h(t.box.x+4),y:h(t.box.y-2),...C_(t.style,i,Aa.xs),"fill-opacity":.7},t.title)),o.push(O_(t.inlineDatePins,t.style.fg));for(let s of t.children)o.push(L_(s,e,r,n,i));return ee("g",{"data-layer":"parallel","data-id":t.id??null},o.join(""))}function L_(t,e,r,n,i){return t.kind==="item"?FG(t,e,r,n,i):t.kind==="group"?UG(t,e,r,n,i):BG(t,e,r,n,i)}var xP=2;function GG(t,e){switch(t){case"green":return e.swimlane.utilizationOk;case"yellow":return e.swimlane.utilizationWarn;case"red":return e.swimlane.utilizationOver}}function XG(t,e){if(!t.utilization||t.utilization.segments.length===0)return"";let r=t.box.y+t.box.height-xP,n=t.utilization.segments.map(i=>{let o=i.endX-i.startX;return o<=0?"":ee("rect",{x:h(i.startX),y:h(r),width:h(o),height:xP,fill:GG(i.classification,e),"data-utilization":i.classification,"data-load":h(i.load)})});return ee("g",{"data-layer":"lane-utilization","data-id":t.id??null},n.join(""))}function HG(t,e){let r=t.bandIndex%2===0?e.swimlane.rowTintEven:e.swimlane.rowTintOdd,n=e.swimlane.border;return ee("g",{"data-layer":"swimlane-bg","data-id":t.id??null},ee("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 vP(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?Xi(t.capacity.text,t.capacity.icon,10):0,p=t.footnoteIndicators.length>0?t.footnoteIndicators.join(","):"",m=p?P_(p,10):0,y=Va(t.box.x,t.title,t.owner,d,m),E=Np,_=t.box.y+10,x=_+Pp;u.push(ee("rect",{x:h(y.tabX),y:h(_),width:h(y.tabW),height:h(E),rx:4,ry:4,fill:o,stroke:s,"stroke-width":1})),u.push(Ce({x:h(y.titleX),y:h(x),"font-family":i[t.style.font],"font-size":12,"font-weight":600,fill:a},t.title)),t.owner&&u.push(Ce({x:h(y.ownerX),y:h(x),"font-family":i[t.style.font],"font-size":10,fill:c},`owner: ${t.owner}`)),t.capacity&&u.push(_P(t.capacity,void 0,y.badgeX,x,10,i[t.style.font],c)),p&&u.push(Ce({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(L_(f,e,r,n,i));return u.push(XG(t,n)),ee("g",{"data-layer":"swimlane","data-id":t.id??null},u.join(""))}function jG(t,e,r){let n=t.radius,i=t.center.x,o=t.center.y,s=e.anchorDiamond.fill,a=e.anchorDiamond.stroke,c=ee("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?Ce(f,t.title):"";return ee("g",{"data-layer":"anchor","data-id":t.id??null},c+d)}function zG(t,e){let r=e.anchorDiamond.cutLine;return ee("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 WG(t,e,r){let n=t.center.x,i=t.center.y,o=t.radius,s=e.milestoneDiamond.fill,a=ee("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?Ce(u,t.title):"";return ee("g",{"data-layer":"milestone","data-id":t.id??null},a+f)}function qG(t,e){let r=t.isOverrun?e.milestoneDiamond.cutLineOverrun:e.milestoneDiamond.cutLineNormal,n=[];if(n.push(ee("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":Op,"stroke-linecap":"round"})),t.slackArrows&&t.slackArrows.length>0){let i=e.milestoneDiamond.slack;for(let o of t.slackArrows)n.push(ee("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 TP(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 ee("path",{d:VG(n,BT),fill:"none",stroke:r,"stroke-width":i,"stroke-dasharray":t.kind==="overflow"?"4 2":null,"stroke-linejoin":"round","marker-end":"url(#nl-arrow)"})}function VG(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 YG(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(ee("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(Ce({x:h(t.box.x+Br),y:h(t.box.y+DT),"font-family":n.sans,"font-size":12,"font-weight":700,fill:s},"Footnotes"));let f=t.box.y+Nl+Br,d=t.box.x+Br,p=d+Br;return t.entries.forEach((m,y)=>{let E=f+y*Pl;u.push(Ce({x:h(d),y:h(E),"font-family":n.sans,"font-size":10,"font-weight":700,fill:l},String(m.number))),u.push(Ce({x:h(p),y:h(E),"font-family":n.sans,"font-size":11,"font-weight":600,fill:a},m.title)),m.description&&u.push(Ce({x:h(p+Math.max(120,m.title.length*6)),y:h(E),"font-family":n.sans,"font-size":11,fill:c},`\u2014 ${m.description}`))}),ee("g",{"data-layer":"footnotes"},u.join(""))}function KG(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,E=t.box.height,_=ee("rect",{x:h(p),y:h(m),width:h(y),height:h(E),rx:8,ry:8,fill:s,stroke:o,"stroke-width":1,"stroke-dasharray":Op}),x=Np,v=Ya(t.box.x,t.label,t.sourcePath),k=m-x/2,F=ee("rect",{x:h(v.tabX),y:h(k),width:h(v.tabWidth),height:x,rx:4,ry:4,fill:a,stroke:c,"stroke-width":1}),O=Ce({x:h(v.tabLabelX),y:h(k+Pp),"font-family":i.sans,"font-size":11,"font-weight":600,fill:l},t.label),L=v.badgeX,G=v.badgeSize,H=m-G/2,oe=ee("rect",{x:h(L),y:h(H),width:G,height:G,rx:4,ry:4,fill:u,stroke:f,"stroke-width":1}),$=ee("path",{d:`M${h(L+7)} ${h(H+4)} H${h(L+14)} V${h(H+11)} M${h(L+4)} ${h(H+7)} H${h(L+11)} V${h(H+14)} H${h(L+4)} Z`,stroke:d,"stroke-width":1.4,fill:"none","stroke-linecap":"round","stroke-linejoin":"round"}),w=9,D=m+4,U=ee("rect",{x:h(v.sourceHaloX),y:h(D-w),width:h(v.sourceHaloWidth),height:w+6,fill:s}),S=Ce({x:h(v.sourceTextX),y:h(D),"font-family":i.mono,"font-size":w,fill:d},t.sourcePath),A=t.nestedSwimlanes.map(I=>vP(I,e,r,n,i)).join("");return ee("g",{"data-layer":"include"},_+A+F+O+oe+$+U+S)}function ZG(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=Oi,a=Ce({x:"0",y:s,"font-family":e.sans,"font-size":$p,"font-weight":400,fill:r},Mp)+Ce({x:Ol,y:s,"font-family":e.sans,"font-size":Oi,"font-weight":700,fill:r},"now")+ee("rect",{x:$T,y:12,width:FT,height:Oi,fill:n})+Ce({x:Fp,y:s,"font-family":e.sans,"font-size":Oi,"font-weight":400,fill:r},"ine"),c=ee("g",{transform:`translate(${h(i)} ${h(o)}) scale(${h(Cl)})`},a);return ee("a",{href:MT,target:"_blank",rel:"noopener","aria-label":"Powered by nowline"},ee("g",{"data-layer":"attribution"},c))}async function JG(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=fP(u,{idPrefix:`${r}-logo`,onWarn:n.warn});return ee("g",{transform:`translate(${h(i)} ${h(o)})`},f)}if(c==="image/png"||c==="image/jpeg"||c==="image/jpg"||c==="image/webp"){let u=QG(a.bytes);return ee("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 QG(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 D_(t,e={}){let n=new xh(e.idPrefix??"nl").next("root"),i=t.palette,o=e.fontFamilies??GT,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>${gP(n)}`+u("nl-arrow",a)+u("nl-arrow-light",c)+u("nl-arrow-dark",l)+"</defs>";s.push(f),s.push(ee("rect",{x:0,y:0,width:h(t.width),height:h(t.height),fill:t.backgroundColor})),s.push(LG(t.timeline,i,o));for(let p of t.swimlanes)s.push(HG(p,i));s.push(OG(t.timeline,t.chartBox.y,i));for(let p of t.edges)p.kind==="underBar"&&s.push(TP(p,i));for(let p of t.swimlanes)s.push(vP(p,e,n,i,o));for(let p of t.includes)s.push(KG(p,e,n,i,o));for(let p of t.edges)p.kind!=="underBar"&&s.push(TP(p,i));for(let p of t.anchors)s.push(zG(p,i));for(let p of t.milestones)s.push(qG(p,i));for(let p of t.anchors)s.push(jG(p,i,o));for(let p of t.milestones)s.push(WG(p,i,o));if(s.push(DG(t.nowline,i,o)),s.push(YG(t.footnotes,n,i,o)),s.push(CG(t.header,n,i,o)),s.push(ZG(t,o)),t.header.logo&&e.assetResolver){let p=await JG(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${ja({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 M_="/browser-source.nowline",eX={error:3,warning:2,info:1},tX={error:3,warning:2,info:1};function bP(t,e){return eX[t]>=tX[e]}var Th,wP=0;function RP(){return Th||(Th=xT()),Th}function rX(){return ht.parse(`memory:///nowline-browser-${++wP}.nowline`)}async function _h(t,e={}){let r=e.filePath??M_,n=RP(),o=n.shared.workspace.LangiumDocumentFactory.fromString(t,rX());await n.shared.workspace.DocumentBuilder.build([o],{validation:!0});let s=[];for(let a of Ah(o))a.origin==="lexer"?s.push(nP(a.error,r)):a.origin==="parser"?s.push(rP(a.error,r)):s.push(tP(a.diagnostic,r));return{ast:o.parseResult.value,diagnostics:s}}async function $_(t,e={}){let r=e.filePath??M_,n=await _h(t,{filePath:r});if(n.diagnostics.some(x=>x.severity==="error"))return{kind:"diagnostics",diagnostics:n.diagnostics};let i=RP(),o=e.readFile??cP,s=await aT(n.ast,r,{services:i.Nowline,readFile:o}),a=[...n.diagnostics];for(let x of s.diagnostics){if(x.severity==="error"&&lP(x.message)){e.onSkippedInclude?.({sourcePath:x.sourcePath,message:x.message});continue}a.push(iP(x))}if(a.some(x=>x.severity==="error"))return{kind:"diagnostics",diagnostics:a};let c;if(e.timezone)try{c=k_(e.timezone)}catch(x){if(x instanceof Co)return{kind:"diagnostics",diagnostics:[{severity:"error",code:"invalid-timezone",message:x.message,file:r,line:1,column:1}]};throw x}let l=N_({now:e.today,zone:c}),u=S_(n.ast,s,{theme:e.theme,today:l,locale:e.locale,width:e.width}),f=e.diagnosticLevel??"error",d=I_(u,{today:l??void 0,locale:e.locale??"en-US"}).map(x=>sP(x,r)),p=e.showLinks!==!1,m=e.strict===!0,y=[],E=await D_(u,{idPrefix:e.idPrefix,assetResolver:e.assetResolver,noLinks:!p,strict:m,warn:x=>y.push(x),fontFamilies:e.fontFamilies}),_=[...d,...y.map(x=>oP(x,r,m?"error":"warning"))].filter(x=>bP(x.severity,f));return m&&_.length>0?{kind:"diagnostics",diagnostics:[...a,..._]}:{kind:"svg",svg:E,warnings:_}}function F_(){Th=void 0,wP=0}var SP="/embed.nowline",U_=!1;async function AP(t){let{ast:e,diagnostics:r}=await _h(t,{filePath:SP});return{ast:e,errors:r.filter(n=>n.severity==="error").map(n=>n.message)}}async function Eh(t,e={}){let r={filePath:SP,theme:e.theme,today:e.today,timezone:e.timezone,locale:e.locale,width:e.width,idPrefix:e.idPrefix,onSkippedInclude:()=>{U_||(U_=!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 $_(t,r);if(n.kind==="svg")return n.svg;let i=n.diagnostics.filter(o=>o.severity==="error").map(o=>o.message);throw new Vl(`Failed to render Nowline source: ${i.join("; ")}`,i)}var Vl=class extends Error{constructor(r,n){super(r);R(this,"details",n);this.name="EmbedRenderError"}};function IP(){U_=!1,F_()}var Hr=Uint8Array,lr=Uint16Array,j_=Int32Array,z_=new Hr([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]),W_=new Hr([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),kP=new Hr([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),OP=function(t,e){for(var r=new lr(31),n=0;n<31;++n)r[n]=e+=1<<t[n-1];for(var i=new j_(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}},LP=OP(z_,2),nX=LP.b,G_=LP.r;nX[28]=258,G_[258]=28;var DP=OP(W_,0),Ese=DP.b,NP=DP.r,X_=new lr(32768);for(Le=0;Le<32768;++Le)Hn=(Le&43690)>>1|(Le&21845)<<1,Hn=(Hn&52428)>>2|(Hn&13107)<<2,Hn=(Hn&61680)>>4|(Hn&3855)<<4,X_[Le]=((Hn&65280)>>8|(Hn&255)<<8)>>1;var Hn,Le,Zl=(function(t,e,r){for(var n=t.length,i=0,o=new lr(e);i<n;++i)t[i]&&++o[t[i]-1];var s=new lr(e);for(i=1;i<e;++i)s[i]=s[i-1]+o[i-1]<<1;var a;if(r){a=new lr(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[X_[f]>>c]=l}else for(a=new lr(n),i=0;i<n;++i)t[i]&&(a[i]=X_[s[t[i]-1]++]>>15-t[i]);return a}),Oo=new Hr(288);for(Le=0;Le<144;++Le)Oo[Le]=8;var Le;for(Le=144;Le<256;++Le)Oo[Le]=9;var Le;for(Le=256;Le<280;++Le)Oo[Le]=7;var Le;for(Le=280;Le<288;++Le)Oo[Le]=8;var Le,vh=new Hr(32);for(Le=0;Le<32;++Le)vh[Le]=5;var Le,iX=Zl(Oo,9,0);var oX=Zl(vh,5,0);var MP=function(t){return(t+7)/8|0},sX=function(t,e,r){return(e==null||e<0)&&(e=0),(r==null||r>t.length)&&(r=t.length),new Hr(t.subarray(e,r))};var jn=function(t,e,r){r<<=e&7;var n=e/8|0;t[n]|=r,t[n+1]|=r>>8},Yl=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},B_=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:FP,l:0};if(i==1){var s=new Hr(r[0].s+1);return s[r[0].s]=1,{t:s,l:1}}r.sort(function(F,O){return F.f-O.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 lr(d+1),m=H_(r[u-1],p,0);if(m>e){var n=0,y=0,E=m-e,_=1<<E;for(o.sort(function(O,L){return p[L.s]-p[O.s]||O.f-L.f});n<i;++n){var x=o[n].s;if(p[x]>e)y+=_-(1<<m-p[x]),p[x]=e;else break}for(y>>=E;y>0;){var v=o[n].s;p[v]<e?y-=1<<e-p[v]++-1:++n}for(;n>=0&&y;--n){var k=o[n].s;p[k]==e&&(--p[k],++y)}m=e}return{t:new Hr(p),l:m}},H_=function(t,e,r){return t.s==-1?Math.max(H_(t.l,e,r+1),H_(t.r,e,r+1)):e[t.s]=r},PP=function(t){for(var e=t.length;e&&!t[--e];);for(var r=new lr(++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}},Kl=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=MP(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){jn(e,u++,r),++i[256];for(var f=B_(i,15),d=f.t,p=f.l,m=B_(o,15),y=m.t,E=m.l,_=PP(d),x=_.c,v=_.n,k=PP(y),F=k.c,O=k.n,L=new lr(19),G=0;G<x.length;++G)++L[x[G]&31];for(var G=0;G<F.length;++G)++L[F[G]&31];for(var H=B_(L,7),oe=H.t,$=H.l,w=19;w>4&&!oe[kP[w-1]];--w);var D=l+5<<3,U=Kl(i,Oo)+Kl(o,vh)+s,S=Kl(i,d)+Kl(o,y)+s+14+3*w+Kl(L,oe)+2*L[16]+3*L[17]+7*L[18];if(c>=0&&D<=U&&D<=S)return $P(e,u,t.subarray(c,c+l));var A,I,B,z;if(jn(e,u,1+(S<U)),u+=2,S<U){A=Zl(d,p,0),I=d,B=Zl(y,E,0),z=y;var j=Zl(oe,$,0);jn(e,u,v-257),jn(e,u+5,O-1),jn(e,u+10,w-4),u+=14;for(var G=0;G<w;++G)jn(e,u+3*G,oe[kP[G]]);u+=3*w;for(var V=[x,F],K=0;K<2;++K)for(var ue=V[K],G=0;G<ue.length;++G){var Y=ue[G]&31;jn(e,u,j[Y]),u+=oe[Y],Y>15&&(jn(e,u,ue[G]>>5&127),u+=ue[G]>>12)}}else A=iX,I=Oo,B=oX,z=vh;for(var G=0;G<a;++G){var ne=n[G];if(ne>255){var Y=ne>>18&31;Yl(e,u,A[Y+257]),u+=I[Y+257],Y>7&&(jn(e,u,ne>>23&31),u+=z_[Y]);var Re=ne&31;Yl(e,u,B[Re]),u+=z[Re],Re>3&&(Yl(e,u,ne>>5&8191),u+=W_[Re])}else Yl(e,u,A[ne]),u+=I[ne]}return Yl(e,u,A[256]),u+I[256]},aX=new j_([65540,131080,131088,131104,262176,1048704,1048832,2114560,2117632]),FP=new Hr(0),cX=function(t,e,r,n,i,o){var s=o.z||t.length,a=new Hr(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=aX[e-1],d=f>>13,p=f&8191,m=(1<<r)-1,y=o.p||new lr(32768),E=o.h||new lr(m+1),_=Math.ceil(r/3),x=2*_,v=function(pe){return(t[pe]^t[pe+1]<<_^t[pe+2]<<x)&m},k=new j_(25e3),F=new lr(288),O=new lr(32),L=0,G=0,H=o.i||0,oe=0,$=o.w||0,w=0;H+2<s;++H){var D=v(H),U=H&32767,S=E[D];if(y[U]=S,E[D]=U,$<=H){var A=s-H;if((L>7e3||oe>24576)&&(A>423||!l)){u=CP(t,c,0,k,F,O,G,oe,w,H-w,u),oe=L=G=0,w=H;for(var I=0;I<286;++I)F[I]=0;for(var I=0;I<30;++I)O[I]=0}var B=2,z=0,j=p,V=U-S&32767;if(A>2&&D==v(H-V))for(var K=Math.min(d,A)-1,ue=Math.min(32767,H),Y=Math.min(258,A);V<=ue&&--j&&U!=S;){if(t[H+B]==t[H+B-V]){for(var ne=0;ne<Y&&t[H+ne]==t[H+ne-V];++ne);if(ne>B){if(B=ne,z=V,ne>K)break;for(var Re=Math.min(V,ne-2),Se=0,I=0;I<Re;++I){var $e=H-V+I&32767,q=y[$e],Q=$e-q&32767;Q>Se&&(Se=Q,S=$e)}}}U=S,S=y[U],V+=U-S&32767}if(z){k[oe++]=268435456|G_[B]<<18|NP[z];var re=G_[B]&31,M=NP[z]&31;G+=z_[re]+W_[M],++F[257+re],++O[M],$=H+B,++L}else k[oe++]=t[H],++F[t[H]]}}for(H=Math.max(H,$);H<s;++H)k[oe++]=t[H],++F[t[H]];u=CP(t,c,l,k,F,O,G,oe,w,H-w,u),l||(o.r=u&7|c[u/8|0]<<3,u-=7,o.h=E,o.p=y,o.i=H,o.w=$)}else{for(var H=o.w||0;H<s+l;H+=65535){var de=H+65535;de>=s&&(c[u/8|0]=l,de=s),u=$P(c,u+1,t.subarray(H,de))}o.i=s}return sX(a,0,n+MP(u)+i)};var UP=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}}},lX=function(t,e,r,n,i){if(!i&&(i={l:1},e.dictionary)){var o=e.dictionary.subarray(-32768),s=new Hr(o.length+t.length);s.set(o),s.set(t,o.length),t=s,i.w=o.length}return cX(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 BP=function(t,e,r){for(;r;++e)t[e]=r,r>>>=8};var uX=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=UP();i.p(e.dictionary),BP(t,2,i.d())}};function GP(t,e){e||(e={});var r=UP();r.p(t);var n=lX(t,e,e.dictionary?6:2,4);return uX(n,e),BP(n,n.length-4,r.d()),n}var fX=typeof TextDecoder<"u"&&new TextDecoder,dX=0;try{fX.decode(FP,{stream:!0}),dX=1}catch{}var jP="https://free.nowline.io/open";function XP(t){let e=new TextEncoder().encode(t),r=GP(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 q_({source:t,sourceUrl:e,share:r}){if(r===!1||r==="none")return null;if(typeof r=="object")return e!==void 0&&HP(e)?r.remoteUrl.replace("{url}",encodeURIComponent(e)):r.textUrl.replace("{text}",XP(t));let n=r===!0?jP:r,i=new URL(n);return e!==void 0&&HP(e)?i.hash=`url=${encodeURIComponent(e)}`:i.hash=`text=${XP(t)}`,i.toString()}function HP(t){try{return new URL(t).protocol==="https:"}catch{return!1}}var zP=0;async function WP(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=pX(l);if(!u)continue;let f=hX(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(Eh(f,p).then(x=>{if(mX(u,x),n++,m!==null){let v=q_({source:f,sourceUrl:_,share:s});if(v!==null){let k=e.createElement("a");k.className="nowline-share",k.href=v,k.target="_blank",k.rel="noopener noreferrer",k.textContent="Share on Nowline",m.insertBefore(k,y)}}},x=>{i++,console.error("nowline: render failed",x)}))}return await Promise.all(a),{rendered:n,failed:i}}function pX(t){let e=t.parentElement;return e&&e.tagName.toUpperCase()==="PRE"?e:t}function hX(t){return t.textContent??""}function mX(t,e){t.outerHTML=e}function qP(){zP=0}function bh(){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 VP(t,e){return t&&t!=="auto"?wT(t)??e:e}var gX="0.0.0-dev.20260620151124.g2df181e",yX="2df181e",xX="pre code.language-nowline, code.language-nowline",YP={theme:"auto",startOnLoad:!0,selector:xX,systemTheme:bh(),share:!0},nt={...YP},V_=!1;function TX(t={}){nt={theme:t.theme??nt.theme,startOnLoad:t.startOnLoad??nt.startOnLoad,selector:t.selector??nt.selector,locale:t.locale??nt.locale,width:t.width??nt.width,today:t.today!==void 0?t.today:nt.today,timezone:t.timezone??nt.timezone,share:t.share??nt.share,sourceUrl:t.sourceUrl??nt.sourceUrl,systemTheme:bh()}}function KP(){return{theme:VP(nt.theme,nt.systemTheme),locale:nt.locale,width:nt.width,today:nt.today,timezone:nt.timezone}}async function _X(t,e={}){let r={...KP(),...e};return Eh(t,r)}async function EX(t){return AP(t)}async function Y_(t){let e={selector:t?.selector??nt.selector,theme:t?.theme??KP().theme,locale:t?.locale??nt.locale,width:t?.width??nt.width,today:t?.today!==void 0?t.today:nt.today,timezone:t?.timezone??nt.timezone,share:t?.share??nt.share,sourceUrl:t?.sourceUrl??nt.sourceUrl,document:t?.document};return WP(e)}var vX=Y_;if(typeof document<"u"&&!V_){V_=!0;let t=()=>{nt.startOnLoad&&Y_()};document.readyState==="loading"?document.addEventListener("DOMContentLoaded",t,{once:!0}):queueMicrotask(t)}function bX(){nt={...YP,systemTheme:bh()},V_=!1,IP(),qP()}return tu(wX);})();
|
|
2640
2640
|
//# sourceMappingURL=nowline.min.js.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nowline/embed",
|
|
3
|
-
"version": "0.0.0-dev.
|
|
3
|
+
"version": "0.0.0-dev.20260620151124.g2df181e",
|
|
4
4
|
"description": "Browser embed bundle for Nowline. Drop a <script> tag and ```nowline``` blocks render in place.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"engines": {
|
|
@@ -40,11 +40,11 @@
|
|
|
40
40
|
],
|
|
41
41
|
"dependencies": {
|
|
42
42
|
"langium": "~4.3.0",
|
|
43
|
-
"@nowline/
|
|
44
|
-
"@nowline/
|
|
45
|
-
"@nowline/
|
|
46
|
-
"@nowline/renderer": "0.0.0-dev.
|
|
47
|
-
"@nowline/
|
|
43
|
+
"@nowline/browser": "0.0.0-dev.20260620151124.g2df181e",
|
|
44
|
+
"@nowline/core": "0.0.0-dev.20260620151124.g2df181e",
|
|
45
|
+
"@nowline/share-link": "0.0.0-dev.20260620151124.g2df181e",
|
|
46
|
+
"@nowline/renderer": "0.0.0-dev.20260620151124.g2df181e",
|
|
47
|
+
"@nowline/layout": "0.0.0-dev.20260620151124.g2df181e"
|
|
48
48
|
},
|
|
49
49
|
"devDependencies": {
|
|
50
50
|
"@types/node": "^25.9.3",
|