sprinty-mcp 0.1.3 → 0.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +8 -4
- package/clients/claude/.claude-plugin/plugin.json +1 -1
- package/clients/codex/README.md +5 -3
- package/clients/gemini/GEMINI.md +4 -1
- package/clients/gemini/gemini-extension.json +1 -1
- package/dist/dashboard/ui/model.js +1 -1
- package/dist/dashboard/ui/model.js.map +1 -1
- package/dist/dashboard-ui/assets/index-1kcWztKu.js +66 -0
- package/dist/dashboard-ui/assets/index-ClzG_oTu.css +1 -0
- package/dist/dashboard-ui/index.html +2 -2
- package/dist/server.js +6 -2
- package/dist/server.js.map +1 -1
- package/dist/tools/register.d.ts +2 -1
- package/dist/tools/register.js +57 -1
- package/dist/tools/register.js.map +1 -1
- package/dist/tools/schemas.d.ts +18 -0
- package/dist/tools/schemas.js +8 -0
- package/dist/tools/schemas.js.map +1 -1
- package/package.json +1 -1
- package/skills/how-to-run-a-sprint/SKILL.md +9 -2
- package/skills/using-sprinty/SKILL.md +8 -0
- package/dist/dashboard-ui/assets/index-DqR_XeMj.js +0 -66
- package/dist/dashboard-ui/assets/index-xdWTtMVs.css +0 -1
package/README.md
CHANGED
|
@@ -61,10 +61,13 @@ Sprinty does not guess from the MCP server process cwd. Start a sprint with expl
|
|
|
61
61
|
`git_dir` is where commits, gates, coverage, and change maps run. `data_dir` is where Sprinty stores
|
|
62
62
|
the `current` pointer and append-only JSONL ledgers. Use a worktree-scoped, uncommitted `data_dir`,
|
|
63
63
|
such as `<git_dir>/.sprinty` when that path is gitignored; avoid shared temp dirs or any directory
|
|
64
|
-
that will be committed.
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
64
|
+
that will be committed. After a Codex/MCP restart, call `sprint_list(data_dir)` to inspect the
|
|
65
|
+
existing ledgers and `sprint_resume(git_dir, data_dir)` to reattach without creating a sprint.
|
|
66
|
+
Use `sprint_detach()` to clear a process binding before resuming another sprint. For read-only
|
|
67
|
+
tools before `sprint_new`, you may also pre-bind the MCP server with `SPRINTY_GIT_DIR` and
|
|
68
|
+
`SPRINTY_DATA_DIR` or `--git-dir` and `--data-dir`; both are required together.
|
|
69
|
+
`SPRINTY_REPO_DIR` and `SPRINTY_WORKTREE` remain accepted as legacy aliases for `git_dir` only when
|
|
70
|
+
a `data_dir` is also supplied.
|
|
68
71
|
|
|
69
72
|
Codex CLI plugin path: install the repo-local marketplace from a repository checkout:
|
|
70
73
|
|
|
@@ -95,6 +98,7 @@ content rather than copying it.
|
|
|
95
98
|
## The loop
|
|
96
99
|
|
|
97
100
|
```
|
|
101
|
+
sprint_list(data_dir?) -> sprint_resume(git_dir, data_dir) | sprint_detach()
|
|
98
102
|
sprint_new(goal, git_dir, data_dir, context_notes?)
|
|
99
103
|
-> dashboard()
|
|
100
104
|
-> subsprint_new(description, goals[], gates[], dependencies?)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "sprinty",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.5",
|
|
4
4
|
"description": "Disciplined sprint workflow: dashboard-at-start, feature subsprints, artifacts, bug-id follow-ups, spike investigations, an immutable git-anchored ledger, and programmatic close gates.",
|
|
5
5
|
"author": { "name": "Elie Bursztein" },
|
|
6
6
|
"homepage": "https://github.com/ebursztein/sprinty",
|
package/clients/codex/README.md
CHANGED
|
@@ -32,9 +32,11 @@ codex mcp add sprinty -- npx -y sprinty-mcp
|
|
|
32
32
|
|
|
33
33
|
Sprinty does not infer state from Codex's MCP launch cwd. Start every sprint with explicit
|
|
34
34
|
`git_dir` and `data_dir`; `git_dir` is where commits, gates, coverage, and change maps run, while
|
|
35
|
-
`data_dir` stores the `current` pointer and JSONL ledgers.
|
|
36
|
-
|
|
37
|
-
|
|
35
|
+
`data_dir` stores the `current` pointer and JSONL ledgers. After a Codex/MCP restart, call
|
|
36
|
+
`sprint_list(data_dir)` and then `sprint_resume(git_dir, data_dir)` to reattach without creating a
|
|
37
|
+
new sprint. Use `sprint_detach()` before switching one MCP process to another sprint. For read-only
|
|
38
|
+
tools before `sprint_new`, you may pre-bind with both `SPRINTY_GIT_DIR` and `SPRINTY_DATA_DIR` or
|
|
39
|
+
both `--git-dir` and `--data-dir`.
|
|
38
40
|
|
|
39
41
|
Do not copy skill files into client directories; keep them in the top-level `skills/` directory.
|
|
40
42
|
|
package/clients/gemini/GEMINI.md
CHANGED
|
@@ -5,6 +5,7 @@ When a task is non-trivial, run a disciplined sprint with the sprinty MCP.
|
|
|
5
5
|
See `skills/how-to-run-a-sprint` and `skills/using-sprinty`. The loop:
|
|
6
6
|
|
|
7
7
|
```
|
|
8
|
+
sprint_list(data_dir?) -> sprint_resume(git_dir, data_dir) | sprint_detach()
|
|
8
9
|
sprint_new(goal, git_dir, data_dir, context_notes?)
|
|
9
10
|
-> dashboard()
|
|
10
11
|
-> subsprint_new(description, goals[], gates[], dependencies?)
|
|
@@ -21,7 +22,9 @@ sprint_new(goal, git_dir, data_dir, context_notes?)
|
|
|
21
22
|
|
|
22
23
|
Rules: IDs are minted by the server (`S01`, `S01-001`) — never invent them. Start with explicit
|
|
23
24
|
absolute `git_dir` and `data_dir`; `git_dir` is where commits/gates/coverage run, and `data_dir`
|
|
24
|
-
stores Sprinty's `current` pointer and JSONL ledgers.
|
|
25
|
+
stores Sprinty's `current` pointer and JSONL ledgers. After a Codex/MCP restart, use
|
|
26
|
+
`sprint_list(data_dir)` and `sprint_resume(git_dir, data_dir)` to reattach without creating a new
|
|
27
|
+
sprint; use `sprint_detach()` before switching one MCP process to another sprint. Every item needs a
|
|
25
28
|
description, at least one code location, and at least one gate. `done` requires a real commit,
|
|
26
29
|
passing evidence for every declared item gate, and a semver-style changelog line with a verb such as
|
|
27
30
|
`added`, `fixed`, or `removed`. `split` and `deprecate` are terminal non-code exits. Each
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "sprinty",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.5",
|
|
4
4
|
"description": "Disciplined sprint workflow with dashboard-at-start, feature subsprints, artifacts, bug-id follow-ups, spike investigations, an immutable git-anchored ledger, and close gates.",
|
|
5
5
|
"contextFileName": "GEMINI.md",
|
|
6
6
|
"mcpServers": {
|
|
@@ -36,7 +36,7 @@ export function deriveDashboardModel(sprint) {
|
|
|
36
36
|
},
|
|
37
37
|
tree: sprint.subsprints.map((sub) => treeSubsprint(sub, activeSubsprint, currentItem, nextItem, blockedIds)),
|
|
38
38
|
timeline: sprint.timeline.slice().reverse().map(timelineRow),
|
|
39
|
-
ledger: sprint.timeline.map(timelineRow),
|
|
39
|
+
ledger: sprint.timeline.slice().reverse().map(timelineRow),
|
|
40
40
|
};
|
|
41
41
|
}
|
|
42
42
|
function orderOpenItems(sprint, items) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model.js","sourceRoot":"","sources":["../../../src/dashboard/ui/model.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"model.js","sourceRoot":"","sources":["../../../src/dashboard/ui/model.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
var no=Object.defineProperty;var so=(t,e,n)=>e in t?no(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var X=(t,e,n)=>so(t,typeof e!="symbol"?e+"":e,n);(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const l of document.querySelectorAll('link[rel="modulepreload"]'))s(l);new MutationObserver(l=>{for(const i of l)if(i.type==="childList")for(const a of i.addedNodes)a.tagName==="LINK"&&a.rel==="modulepreload"&&s(a)}).observe(document,{childList:!0,subtree:!0});function n(l){const i={};return l.integrity&&(i.integrity=l.integrity),l.referrerPolicy&&(i.referrerPolicy=l.referrerPolicy),l.crossOrigin==="use-credentials"?i.credentials="include":l.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function s(l){if(l.ep)return;l.ep=!0;const i=n(l);fetch(l.href,i)}})();function Nt(){}function Ui(t){return t()}function Dr(){return Object.create(null)}function Ts(t){t.forEach(Ui)}function Fi(t){return typeof t=="function"}function lo(t,e){return t!=t?e==e:t!==e||t&&typeof t=="object"||typeof t=="function"}function ro(t){return Object.keys(t).length===0}const io=typeof window<"u"?window:typeof globalThis<"u"?globalThis:global;function r(t,e){t.appendChild(e)}function le(t,e,n){t.insertBefore(e,n||null)}function te(t){t.parentNode&&t.parentNode.removeChild(t)}function Gn(t,e){for(let n=0;n<t.length;n+=1)t[n]&&t[n].d(e)}function f(t){return document.createElement(t)}function T(t){return document.createTextNode(t)}function S(){return T(" ")}function oo(){return T("")}function Wn(t,e,n,s){return t.addEventListener(e,n,s),()=>t.removeEventListener(e,n,s)}function b(t,e,n){n==null?t.removeAttribute(e):t.getAttribute(e)!==n&&t.setAttribute(e,n)}function ao(t){return Array.from(t.childNodes)}function I(t,e){e=""+e,t.data!==e&&(t.data=e)}function Xs(t,e,n){t.classList.toggle(e,!!n)}let ks;function _s(t){ks=t}function co(){if(!ks)throw new Error("Function called outside component initialization");return ks}function uo(t){co().$$.on_mount.push(t)}const jn=[],Pr=[];let Yn=[];const Mr=[],po=Promise.resolve();let Ll=!1;function fo(){Ll||(Ll=!0,po.then(Bi))}function Ol(t){Yn.push(t)}const Al=new Set;let Fn=0;function Bi(){if(Fn!==0)return;const t=ks;do{try{for(;Fn<jn.length;){const e=jn[Fn];Fn++,_s(e),ho(e.$$)}}catch(e){throw jn.length=0,Fn=0,e}for(_s(null),jn.length=0,Fn=0;Pr.length;)Pr.pop()();for(let e=0;e<Yn.length;e+=1){const n=Yn[e];Al.has(n)||(Al.add(n),n())}Yn.length=0}while(jn.length);for(;Mr.length;)Mr.pop()();Ll=!1,Al.clear(),_s(t)}function ho(t){if(t.fragment!==null){t.update(),Ts(t.before_update);const e=t.dirty;t.dirty=[-1],t.fragment&&t.fragment.p(t.ctx,e),t.after_update.forEach(Ol)}}function go(t){const e=[],n=[];Yn.forEach(s=>t.indexOf(s)===-1?e.push(s):n.push(s)),n.forEach(s=>s()),Yn=e}const mo=new Set;function bo(t,e){t&&t.i&&(mo.delete(t),t.i(e))}function je(t){return(t==null?void 0:t.length)!==void 0?t:Array.from(t)}function _o(t,e,n){const{fragment:s,after_update:l}=t.$$;s&&s.m(e,n),Ol(()=>{const i=t.$$.on_mount.map(Ui).filter(Fi);t.$$.on_destroy?t.$$.on_destroy.push(...i):Ts(i),t.$$.on_mount=[]}),l.forEach(Ol)}function ko(t,e){const n=t.$$;n.fragment!==null&&(go(n.after_update),Ts(n.on_destroy),n.fragment&&n.fragment.d(e),n.on_destroy=n.fragment=null,n.ctx=[])}function To(t,e){t.$$.dirty[0]===-1&&(jn.push(t),fo(),t.$$.dirty.fill(0)),t.$$.dirty[e/31|0]|=1<<e%31}function wo(t,e,n,s,l,i,a=null,u=[-1]){const c=ks;_s(t);const d=t.$$={fragment:null,ctx:[],props:i,update:Nt,not_equal:l,bound:Dr(),on_mount:[],on_destroy:[],on_disconnect:[],before_update:[],after_update:[],context:new Map(e.context||(c?c.$$.context:[])),callbacks:Dr(),dirty:u,skip_bound:!1,root:e.target||c.$$.root};a&&a(d.root);let p=!1;if(d.ctx=n?n(t,e.props||{},(g,k,...A)=>{const m=A.length?A[0]:k;return d.ctx&&l(d.ctx[g],d.ctx[g]=m)&&(!d.skip_bound&&d.bound[g]&&d.bound[g](m),p&&To(t,g)),k}):[],d.update(),p=!0,Ts(d.before_update),d.fragment=s?s(d.ctx):!1,e.target){if(e.hydrate){const g=ao(e.target);d.fragment&&d.fragment.l(g),g.forEach(te)}else d.fragment&&d.fragment.c();e.intro&&bo(t.$$.fragment),_o(t,e.target,e.anchor),Bi()}_s(c)}class So{constructor(){X(this,"$$");X(this,"$$set")}$destroy(){ko(this,1),this.$destroy=Nt}$on(e,n){if(!Fi(n))return Nt;const s=this.$$.callbacks[e]||(this.$$.callbacks[e]=[]);return s.push(n),()=>{const l=s.indexOf(n);l!==-1&&s.splice(l,1)}}$set(e){this.$$set&&!ro(e)&&(this.$$.skip_bound=!0,this.$$set(e),this.$$.skip_bound=!1)}}const yo="4";typeof window<"u"&&(window.__svelte||(window.__svelte={v:new Set})).v.add(yo);/*! @license DOMPurify 3.4.10 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.4.10/LICENSE */function $r(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,s=Array(e);n<e;n++)s[n]=t[n];return s}function Ao(t){if(Array.isArray(t))return t}function Eo(t,e){var n=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(n!=null){var s,l,i,a,u=[],c=!0,d=!1;try{if(i=(n=n.call(t)).next,e!==0)for(;!(c=(s=i.call(n)).done)&&(u.push(s.value),u.length!==e);c=!0);}catch(p){d=!0,l=p}finally{try{if(!c&&n.return!=null&&(a=n.return(),Object(a)!==a))return}finally{if(d)throw l}}return u}}function vo(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
2
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Ro(t,e){return Ao(t)||Eo(t,e)||xo(t,e)||vo()}function xo(t,e){if(t){if(typeof t=="string")return $r(t,e);var n={}.toString.call(t).slice(8,-1);return n==="Object"&&t.constructor&&(n=t.constructor.name),n==="Map"||n==="Set"?Array.from(t):n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?$r(t,e):void 0}}const Hi=Object.entries,zr=Object.setPrototypeOf,Io=Object.isFrozen,Lo=Object.getPrototypeOf,Oo=Object.getOwnPropertyDescriptor;let me=Object.freeze,be=Object.seal,qn=Object.create,Gi=typeof Reflect<"u"&&Reflect,Nl=Gi.apply,Cl=Gi.construct;me||(me=function(e){return e});be||(be=function(e){return e});Nl||(Nl=function(e,n){for(var s=arguments.length,l=new Array(s>2?s-2:0),i=2;i<s;i++)l[i-2]=arguments[i];return e.apply(n,l)});Cl||(Cl=function(e){for(var n=arguments.length,s=new Array(n>1?n-1:0),l=1;l<n;l++)s[l-1]=arguments[l];return new e(...s)});const fs=ce(Array.prototype.forEach),No=ce(Array.prototype.lastIndexOf),Ur=ce(Array.prototype.pop),Bn=ce(Array.prototype.push),Co=ce(Array.prototype.splice),Ot=Array.isArray,ms=ce(String.prototype.toLowerCase),El=ce(String.prototype.toString),Fr=ce(String.prototype.match),hs=ce(String.prototype.replace),Br=ce(String.prototype.indexOf),Do=ce(String.prototype.trim),Po=ce(Number.prototype.toString),Mo=ce(Boolean.prototype.toString),Hr=typeof BigInt>"u"?null:ce(BigInt.prototype.toString),Gr=typeof Symbol>"u"?null:ce(Symbol.prototype.toString),Oe=ce(Object.prototype.hasOwnProperty),ds=ce(Object.prototype.toString),ge=ce(RegExp.prototype.test),tn=$o(TypeError);function ce(t){return function(e){e instanceof RegExp&&(e.lastIndex=0);for(var n=arguments.length,s=new Array(n>1?n-1:0),l=1;l<n;l++)s[l-1]=arguments[l];return Nl(t,e,s)}}function $o(t){return function(){for(var e=arguments.length,n=new Array(e),s=0;s<e;s++)n[s]=arguments[s];return Cl(t,n)}}function j(t,e){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:ms;if(zr&&zr(t,null),!Ot(e))return t;let s=e.length;for(;s--;){let l=e[s];if(typeof l=="string"){const i=n(l);i!==l&&(Io(e)||(e[s]=i),l=i)}t[l]=!0}return t}function zo(t){for(let e=0;e<t.length;e++)Oe(t,e)||(t[e]=null);return t}function Le(t){const e=qn(null);for(const s of Hi(t)){var n=Ro(s,2);const l=n[0],i=n[1];Oe(t,l)&&(Ot(i)?e[l]=zo(i):i&&typeof i=="object"&&i.constructor===Object?e[l]=Le(i):e[l]=i)}return e}function Uo(t){switch(typeof t){case"string":return t;case"number":return Po(t);case"boolean":return Mo(t);case"bigint":return Hr?Hr(t):"0";case"symbol":return Gr?Gr(t):"Symbol()";case"undefined":return ds(t);case"function":case"object":{if(t===null)return ds(t);const e=t,n=ot(e,"toString");if(typeof n=="function"){const s=n(e);return typeof s=="string"?s:ds(s)}return ds(t)}default:return ds(t)}}function ot(t,e){for(;t!==null;){const s=Oo(t,e);if(s){if(s.get)return ce(s.get);if(typeof s.value=="function")return ce(s.value)}t=Lo(t)}function n(){return null}return n}function Fo(t){try{return ge(t,""),!0}catch{return!1}}const jr=me(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","search","section","select","shadow","slot","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),vl=me(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","enterkeyhint","exportparts","filter","font","g","glyph","glyphref","hkern","image","inputmode","line","lineargradient","marker","mask","metadata","mpath","part","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),Rl=me(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),Bo=me(["animate","color-profile","cursor","discard","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]),xl=me(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover","mprescripts"]),Ho=me(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),qr=me(["#text"]),Wr=me(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","command","commandfor","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","exportparts","face","for","headers","height","hidden","high","href","hreflang","id","inert","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","nonce","noshade","novalidate","nowrap","open","optimum","part","pattern","placeholder","playsinline","popover","popovertarget","popovertargetaction","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","slot","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","wrap","xmlns"]),Il=me(["accent-height","accumulate","additive","alignment-baseline","amplitude","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clippathunits","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dur","edgemode","elevation","end","exponent","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","intercept","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","mask-type","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","slope","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","systemlanguage","tabindex","tablevalues","targetx","targety","transform","transform-origin","text-anchor","text-decoration","text-rendering","textlength","type","u1","u2","unicode","values","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]),Yr=me(["accent","accentunder","align","bevelled","close","columnalign","columnlines","columnspacing","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lquote","lspace","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]),qs=me(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),Go=be(/{{[\w\W]*|^[\w\W]*}}/g),jo=be(/<%[\w\W]*|^[\w\W]*%>/g),qo=be(/\${[\w\W]*/g),Wo=be(/^data-[\-\w.\u00B7-\uFFFF]+$/),Yo=be(/^aria-[\-\w]+$/),Zr=be(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),Zo=be(/^(?:\w+script|data):/i),Xo=be(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),Vo=be(/^html$/i),Qo=be(/^[a-z][.\w]*(-[.\w]+)+$/i),Xr=be(/<[/\w!]/g),Ko=be(/<[/\w]/g),Jo=be(/<\/no(script|embed|frames)/i),ea=be(/\/>/i),it={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,processingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},ta=function(){return typeof window>"u"?null:window},na=function(e,n){if(typeof e!="object"||typeof e.createPolicy!="function")return null;let s=null;const l="data-tt-policy-suffix";n&&n.hasAttribute(l)&&(s=n.getAttribute(l));const i="dompurify"+(s?"#"+s:"");try{return e.createPolicy(i,{createHTML(a){return a},createScriptURL(a){return a}})}catch{return console.warn("TrustedTypes policy "+i+" could not be created."),null}},Vr=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}},It=function(e,n,s,l){return Oe(e,n)&&Ot(e[n])?j(l.base?Le(l.base):{},e[n],l.transform):s};function ji(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:ta();const e=y=>ji(y);if(e.version="3.4.10",e.removed=[],!t||!t.document||t.document.nodeType!==it.document||!t.Element)return e.isSupported=!1,e;let n=t.document;const s=n,l=s.currentScript;t.DocumentFragment;const i=t.HTMLTemplateElement,a=t.Node,u=t.Element,c=t.NodeFilter,d=t.NamedNodeMap;d===void 0&&(t.NamedNodeMap||t.MozNamedAttrMap),t.HTMLFormElement;const p=t.DOMParser,g=t.trustedTypes,k=u.prototype,A=ot(k,"cloneNode"),m=ot(k,"remove"),x=ot(k,"nextSibling"),E=ot(k,"childNodes"),P=ot(k,"parentNode"),H=ot(k,"shadowRoot"),Y=ot(k,"attributes"),z=a&&a.prototype?ot(a.prototype,"nodeType"):null,B=a&&a.prototype?ot(a.prototype,"nodeName"):null;if(typeof i=="function"){const y=n.createElement("template");y.content&&y.content.ownerDocument&&(n=y.content.ownerDocument)}let O,C="",G,Z=!1,W=0;const U=function(){if(W>0)throw tn('A configured TRUSTED_TYPES_POLICY callback (createHTML or createScriptURL) must not call DOMPurify.sanitize, as that causes infinite recursion. Do not pass a policy whose callbacks wrap DOMPurify as TRUSTED_TYPES_POLICY; see the "DOMPurify and Trusted Types" section of the README.')},$=function(o){U(),W++;try{return O.createHTML(o)}finally{W--}},_e=function(o){U(),W++;try{return O.createScriptURL(o)}finally{W--}},ie=function(){return Z||(G=na(g,l),Z=!0),G},N=n,D=N.implementation,fe=N.createNodeIterator,He=N.createDocumentFragment,Ct=N.getElementsByTagName,rn=s.importNode;let oe=Vr();e.isSupported=typeof Hi=="function"&&typeof P=="function"&&D&&D.createHTMLDocument!==void 0;const Dt=Go,on=jo,Vn=qo,Ss=Wo,ys=Yo,he=Zo,Pt=Xo,As=Qo;let Mt=Zr,ne=null;const kt=j({},[...jr,...vl,...Rl,...xl,...qr]);let K=null;const Tt=j({},[...Wr,...Il,...Yr,...qs]);let J=Object.seal(qn(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),pe=null,wt=null;const de=Object.seal(qn(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}}));let qe=!0,Qe=!0,an=!1,Qn=!0,Ue=!1,Ke=!0,We=!1,cn=!1,un=!1,Ye=!1,Je=!1,ct=!1,Kn=!0,et=!1;const $t="user-content-";let zt=!0,pn=!1,Ze={},Ne=null;const fn=j({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","selectedcontent","style","svg","template","thead","title","video","xmp"]);let Jn=null;const ut=j({},["audio","video","img","source","image","track"]);let tt=null;const hn=j({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),pt="http://www.w3.org/1998/Math/MathML",St="http://www.w3.org/2000/svg",Te="http://www.w3.org/1999/xhtml";let ft=Te,Ce=!1,yt=null;const dn=j({},[pt,St,Te],El),Ut=me(["mi","mo","mn","ms","mtext"]);let Ft=j({},Ut);const es=me(["annotation-xml"]);let gn=j({},es);const mn=j({},["title","style","font","a","script"]);let nt=null;const bn=["application/xhtml+xml","text/html"],ts="text/html";let ee=null,ht=null;const _n=n.createElement("form"),Bt=function(o){return o instanceof RegExp||o instanceof Function},At=function(){let o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(ht&&ht===o)return;(!o||typeof o!="object")&&(o={}),o=Le(o),nt=bn.indexOf(o.PARSER_MEDIA_TYPE)===-1?ts:o.PARSER_MEDIA_TYPE,ee=nt==="application/xhtml+xml"?El:ms,ne=It(o,"ALLOWED_TAGS",kt,{transform:ee}),K=It(o,"ALLOWED_ATTR",Tt,{transform:ee}),yt=It(o,"ALLOWED_NAMESPACES",dn,{transform:El}),tt=It(o,"ADD_URI_SAFE_ATTR",hn,{transform:ee,base:hn}),Jn=It(o,"ADD_DATA_URI_TAGS",ut,{transform:ee,base:ut}),Ne=It(o,"FORBID_CONTENTS",fn,{transform:ee}),pe=It(o,"FORBID_TAGS",Le({}),{transform:ee}),wt=It(o,"FORBID_ATTR",Le({}),{transform:ee}),Ze=Oe(o,"USE_PROFILES")?o.USE_PROFILES&&typeof o.USE_PROFILES=="object"?Le(o.USE_PROFILES):o.USE_PROFILES:!1,qe=o.ALLOW_ARIA_ATTR!==!1,Qe=o.ALLOW_DATA_ATTR!==!1,an=o.ALLOW_UNKNOWN_PROTOCOLS||!1,Qn=o.ALLOW_SELF_CLOSE_IN_ATTR!==!1,Ue=o.SAFE_FOR_TEMPLATES||!1,Ke=o.SAFE_FOR_XML!==!1,We=o.WHOLE_DOCUMENT||!1,Ye=o.RETURN_DOM||!1,Je=o.RETURN_DOM_FRAGMENT||!1,ct=o.RETURN_TRUSTED_TYPE||!1,un=o.FORCE_BODY||!1,Kn=o.SANITIZE_DOM!==!1,et=o.SANITIZE_NAMED_PROPS||!1,zt=o.KEEP_CONTENT!==!1,pn=o.IN_PLACE||!1,Mt=Fo(o.ALLOWED_URI_REGEXP)?o.ALLOWED_URI_REGEXP:Zr,ft=typeof o.NAMESPACE=="string"?o.NAMESPACE:Te,Ft=Oe(o,"MATHML_TEXT_INTEGRATION_POINTS")&&o.MATHML_TEXT_INTEGRATION_POINTS&&typeof o.MATHML_TEXT_INTEGRATION_POINTS=="object"?Le(o.MATHML_TEXT_INTEGRATION_POINTS):j({},Ut),gn=Oe(o,"HTML_INTEGRATION_POINTS")&&o.HTML_INTEGRATION_POINTS&&typeof o.HTML_INTEGRATION_POINTS=="object"?Le(o.HTML_INTEGRATION_POINTS):j({},es);const h=Oe(o,"CUSTOM_ELEMENT_HANDLING")&&o.CUSTOM_ELEMENT_HANDLING&&typeof o.CUSTOM_ELEMENT_HANDLING=="object"?Le(o.CUSTOM_ELEMENT_HANDLING):qn(null);if(J=qn(null),Oe(h,"tagNameCheck")&&Bt(h.tagNameCheck)&&(J.tagNameCheck=h.tagNameCheck),Oe(h,"attributeNameCheck")&&Bt(h.attributeNameCheck)&&(J.attributeNameCheck=h.attributeNameCheck),Oe(h,"allowCustomizedBuiltInElements")&&typeof h.allowCustomizedBuiltInElements=="boolean"&&(J.allowCustomizedBuiltInElements=h.allowCustomizedBuiltInElements),be(J),Ue&&(Qe=!1),Je&&(Ye=!0),Ze&&(ne=j({},qr),K=qn(null),Ze.html===!0&&(j(ne,jr),j(K,Wr)),Ze.svg===!0&&(j(ne,vl),j(K,Il),j(K,qs)),Ze.svgFilters===!0&&(j(ne,Rl),j(K,Il),j(K,qs)),Ze.mathMl===!0&&(j(ne,xl),j(K,Yr),j(K,qs))),de.tagCheck=null,de.attributeCheck=null,Oe(o,"ADD_TAGS")&&(typeof o.ADD_TAGS=="function"?de.tagCheck=o.ADD_TAGS:Ot(o.ADD_TAGS)&&(ne===kt&&(ne=Le(ne)),j(ne,o.ADD_TAGS,ee))),Oe(o,"ADD_ATTR")&&(typeof o.ADD_ATTR=="function"?de.attributeCheck=o.ADD_ATTR:Ot(o.ADD_ATTR)&&(K===Tt&&(K=Le(K)),j(K,o.ADD_ATTR,ee))),Oe(o,"ADD_URI_SAFE_ATTR")&&Ot(o.ADD_URI_SAFE_ATTR)&&j(tt,o.ADD_URI_SAFE_ATTR,ee),Oe(o,"FORBID_CONTENTS")&&Ot(o.FORBID_CONTENTS)&&(Ne===fn&&(Ne=Le(Ne)),j(Ne,o.FORBID_CONTENTS,ee)),Oe(o,"ADD_FORBID_CONTENTS")&&Ot(o.ADD_FORBID_CONTENTS)&&(Ne===fn&&(Ne=Le(Ne)),j(Ne,o.ADD_FORBID_CONTENTS,ee)),zt&&(ne["#text"]=!0),We&&j(ne,["html","head","body"]),ne.table&&(j(ne,["tbody"]),delete pe.tbody),o.TRUSTED_TYPES_POLICY){if(typeof o.TRUSTED_TYPES_POLICY.createHTML!="function")throw tn('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof o.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw tn('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');const w=O;O=o.TRUSTED_TYPES_POLICY;try{C=$("")}catch(R){throw O=w,R}}else o.TRUSTED_TYPES_POLICY===null?(O=void 0,C=""):(O===void 0&&(O=ie()),O&&typeof C=="string"&&(C=$("")));(oe.uponSanitizeElement.length>0||oe.uponSanitizeAttribute.length>0)&&ne===kt&&(ne=Le(ne)),oe.uponSanitizeAttribute.length>0&&K===Tt&&(K=Le(K)),me&&me(o),ht=o},kn=j({},[...vl,...Rl,...Bo]),ns=j({},[...xl,...Ho]),Es=function(o,h,w){return h.namespaceURI===Te?o==="svg":h.namespaceURI===pt?o==="svg"&&(w==="annotation-xml"||Ft[w]):!!kn[o]},Tn=function(o,h,w){return h.namespaceURI===Te?o==="math":h.namespaceURI===St?o==="math"&&gn[w]:!!ns[o]},wn=function(o,h,w){return h.namespaceURI===St&&!gn[w]||h.namespaceURI===pt&&!Ft[w]?!1:!ns[o]&&(mn[o]||!kn[o])},Sn=function(o){let h=P(o);(!h||!h.tagName)&&(h={namespaceURI:ft,tagName:"template"});const w=ms(o.tagName),R=ms(h.tagName);return yt[o.namespaceURI]?o.namespaceURI===St?Es(w,h,R):o.namespaceURI===pt?Tn(w,h,R):o.namespaceURI===Te?wn(w,h,R):!!(nt==="application/xhtml+xml"&&yt[o.namespaceURI]):!1},Ge=function(o){Bn(e.removed,{element:o});try{P(o).removeChild(o)}catch{if(m(o),!P(o))throw tn("a node selected for removal could not be detached from its tree and cannot be safely returned; refusing to sanitize in place")}},ss=function(o){const h=E(o);if(h){const R=[];fs(h,M=>{Bn(R,M)}),fs(R,M=>{try{m(M)}catch{}})}const w=Y(o);if(w)for(let R=w.length-1;R>=0;--R){const M=w[R],F=M&&M.name;if(typeof F=="string")try{o.removeAttribute(F)}catch{}}},st=function(o,h){try{Bn(e.removed,{attribute:h.getAttributeNode(o),from:h})}catch{Bn(e.removed,{attribute:null,from:h})}if(h.removeAttribute(o),o==="is")if(Ye||Je)try{Ge(h)}catch{}else try{h.setAttribute(o,"")}catch{}},Et=function(o){const h=Y(o);if(h)for(let w=h.length-1;w>=0;--w){const R=h[w],M=R&&R.name;if(!(typeof M!="string"||K[ee(M)]))try{o.removeAttribute(M)}catch{}}},Ht=function(o){const h=[o];for(;h.length>0;){const w=h.pop();(z?z(w):w.nodeType)===it.element&&Et(w);const M=E(w);if(M)for(let F=M.length-1;F>=0;--F)h.push(M[F])}},yn=function(o){let h=null,w=null;if(un)o="<remove></remove>"+o;else{const F=Fr(o,/^[\r\n\t ]+/);w=F&&F[0]}nt==="application/xhtml+xml"&&ft===Te&&(o='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+o+"</body></html>");const R=O?$(o):o;if(ft===Te)try{h=new p().parseFromString(R,nt)}catch{}if(!h||!h.documentElement){h=D.createDocument(ft,"template",null);try{h.documentElement.innerHTML=Ce?C:R}catch{}}const M=h.body||h.documentElement;return o&&w&&M.insertBefore(n.createTextNode(w),M.childNodes[0]||null),ft===Te?Ct.call(h,We?"html":"body")[0]:We?h.documentElement:M},An=function(o){return fe.call(o.ownerDocument||o,o,c.SHOW_ELEMENT|c.SHOW_COMMENT|c.SHOW_TEXT|c.SHOW_PROCESSING_INSTRUCTION|c.SHOW_CDATA_SECTION,null)},dt=function(o){return o=hs(o,Dt," "),o=hs(o,on," "),o=hs(o,Vn," "),o},Gt=function(o){var h;o.normalize();const w=fe.call(o.ownerDocument||o,o,c.SHOW_TEXT|c.SHOW_COMMENT|c.SHOW_CDATA_SECTION|c.SHOW_PROCESSING_INSTRUCTION,null);let R=w.nextNode();for(;R;)R.data=dt(R.data),R=w.nextNode();const M=(h=o.querySelectorAll)===null||h===void 0?void 0:h.call(o,"template");M&&fs(M,F=>{ae(F.content)&&Gt(F.content)})},jt=function(o){const h=B?B(o):null;return typeof h!="string"||ee(h)!=="form"?!1:typeof o.nodeName!="string"||typeof o.textContent!="string"||typeof o.removeChild!="function"||o.attributes!==Y(o)||typeof o.removeAttribute!="function"||typeof o.setAttribute!="function"||typeof o.namespaceURI!="string"||typeof o.insertBefore!="function"||typeof o.hasChildNodes!="function"||o.nodeType!==z(o)||o.childNodes!==E(o)},ae=function(o){if(!z||typeof o!="object"||o===null)return!1;try{return z(o)===it.documentFragment}catch{return!1}},lt=function(o){if(!z||typeof o!="object"||o===null)return!1;try{return typeof z(o)=="number"}catch{return!1}};function Fe(y,o,h){y.length!==0&&fs(y,w=>{w.call(e,o,h,ht)})}const En=function(o,h){return!!(Ke&&o.hasChildNodes()&&!lt(o.firstElementChild)&&ge(Xr,o.textContent)&&ge(Xr,o.innerHTML)||Ke&&o.namespaceURI===Te&&h==="style"&<(o.firstElementChild)||o.nodeType===it.processingInstruction||Ke&&o.nodeType===it.comment&&ge(Ko,o.data))},ls=function(o,h){if(!pe[h]&&Rn(h)&&(J.tagNameCheck instanceof RegExp&&ge(J.tagNameCheck,h)||J.tagNameCheck instanceof Function&&J.tagNameCheck(h)))return!1;if(zt&&!Ne[h]){const w=P(o),R=E(o);if(R&&w){const M=R.length;for(let F=M-1;F>=0;--F){const re=pn?R[F]:A(R[F],!0);w.insertBefore(re,x(o))}}}return Ge(o),!0},rs=function(o){if(Fe(oe.beforeSanitizeElements,o,null),jt(o))return Ge(o),!0;const h=ee(B?B(o):o.nodeName);if(Fe(oe.uponSanitizeElement,o,{tagName:h,allowedTags:ne}),En(o,h))return Ge(o),!0;if(pe[h]||!(de.tagCheck instanceof Function&&de.tagCheck(h))&&!ne[h])return ls(o,h);if((z?z(o):o.nodeType)===it.element&&!Sn(o)||(h==="noscript"||h==="noembed"||h==="noframes")&&ge(Jo,o.innerHTML))return Ge(o),!0;if(Ue&&o.nodeType===it.text){const R=dt(o.textContent);o.textContent!==R&&(Bn(e.removed,{element:o.cloneNode()}),o.textContent=R)}return Fe(oe.afterSanitizeElements,o,null),!1},is=function(o,h,w){if(wt[h]||Kn&&(h==="id"||h==="name")&&(w in n||w in _n))return!1;const R=K[h]||de.attributeCheck instanceof Function&&de.attributeCheck(h,o);if(!(Qe&&ge(Ss,h))){if(!(qe&&ge(ys,h))){if(R){if(!tt[h]){if(!ge(Mt,hs(w,Pt,""))){if(!((h==="src"||h==="xlink:href"||h==="href")&&o!=="script"&&Br(w,"data:")===0&&Jn[o])){if(!(an&&!ge(he,hs(w,Pt,"")))){if(w)return!1}}}}}else if(!(Rn(o)&&(J.tagNameCheck instanceof RegExp&&ge(J.tagNameCheck,o)||J.tagNameCheck instanceof Function&&J.tagNameCheck(o))&&(J.attributeNameCheck instanceof RegExp&&ge(J.attributeNameCheck,h)||J.attributeNameCheck instanceof Function&&J.attributeNameCheck(h,o))||h==="is"&&J.allowCustomizedBuiltInElements&&(J.tagNameCheck instanceof RegExp&&ge(J.tagNameCheck,w)||J.tagNameCheck instanceof Function&&J.tagNameCheck(w))))return!1}}return!0},vn=j({},["annotation-xml","color-profile","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","missing-glyph"]),Rn=function(o){return!vn[ms(o)]&&ge(As,o)},xn=function(o,h,w,R){if(O&&typeof g=="object"&&typeof g.getAttributeType=="function"&&!w)switch(g.getAttributeType(o,h)){case"TrustedHTML":return $(R);case"TrustedScriptURL":return _e(R)}return R},os=function(o,h,w,R){try{w?o.setAttributeNS(w,h,R):o.setAttribute(h,R),jt(o)?Ge(o):Ur(e.removed)}catch{st(h,o)}},as=function(o){Fe(oe.beforeSanitizeAttributes,o,null);const h=o.attributes;if(!h||jt(o))return;const w={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:K,forceKeepAttr:void 0};let R=h.length;const M=ee(o.nodeName);for(;R--;){const F=h[R],re=F.name,se=F.namespaceURI,we=F.value,De=ee(re),Rt=we;let ue=re==="value"?Rt:Do(Rt);if(w.attrName=De,w.attrValue=ue,w.keepAttr=!0,w.forceKeepAttr=void 0,Fe(oe.uponSanitizeAttribute,o,w),ue=w.attrValue,et&&(De==="id"||De==="name")&&Br(ue,$t)!==0&&(st(re,o),ue=$t+ue),Ke&&ge(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,ue)){st(re,o);continue}if(De==="attributename"&&Fr(ue,"href")){st(re,o);continue}if(!w.forceKeepAttr){if(!w.keepAttr){st(re,o);continue}if(!Qn&&ge(ea,ue)){st(re,o);continue}if(Ue&&(ue=dt(ue)),!is(M,De,ue)){st(re,o);continue}ue=xn(M,De,se,ue),ue!==Rt&&os(o,re,se,ue)}}Fe(oe.afterSanitizeAttributes,o,null)},qt=function(o){let h=null;const w=An(o);for(Fe(oe.beforeSanitizeShadowDOM,o,null);h=w.nextNode();)if(Fe(oe.uponSanitizeShadowNode,h,null),rs(h),as(h),ae(h.content)&&qt(h.content),(z?z(h):h.nodeType)===it.element){const M=H(h);ae(M)&&(vt(M),qt(M))}Fe(oe.afterSanitizeShadowDOM,o,null)},vt=function(o){const h=[{node:o,shadow:null}];for(;h.length>0;){const w=h.pop();if(w.shadow){qt(w.shadow);continue}const R=w.node,F=(z?z(R):R.nodeType)===it.element,re=E(R);if(re)for(let se=re.length-1;se>=0;--se)h.push({node:re[se],shadow:null});if(F){const se=B?B(R):null;if(typeof se=="string"&&ee(se)==="template"){const we=R.content;ae(we)&&h.push({node:we,shadow:null})}}if(F){const se=H(R);ae(se)&&h.push({node:null,shadow:se},{node:se,shadow:null})}}};return e.sanitize=function(y){let o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},h=null,w=null,R=null,M=null;if(Ce=!y,Ce&&(y="<!-->"),typeof y!="string"&&!lt(y)&&(y=Uo(y),typeof y!="string"))throw tn("dirty is not a string, aborting");if(!e.isSupported)return y;cn||At(o),e.removed=[];const F=pn&&typeof y!="string"&<(y);if(F){const we=B?B(y):y.nodeName;if(typeof we=="string"){const De=ee(we);if(!ne[De]||pe[De])throw tn("root node is forbidden and cannot be sanitized in-place")}if(jt(y))throw tn("root node is clobbered and cannot be sanitized in-place");try{vt(y)}catch(De){throw ss(y),De}}else if(lt(y))h=yn("<!---->"),w=h.ownerDocument.importNode(y,!0),w.nodeType===it.element&&w.nodeName==="BODY"||w.nodeName==="HTML"?h=w:h.appendChild(w),vt(w);else{if(!Ye&&!Ue&&!We&&y.indexOf("<")===-1)return O&&ct?$(y):y;if(h=yn(y),!h)return Ye?null:ct?C:""}h&&un&&Ge(h.firstChild);const re=An(F?y:h);try{for(;R=re.nextNode();)rs(R),as(R),ae(R.content)&&qt(R.content)}catch(we){throw F&&ss(y),we}if(F)return fs(e.removed,we=>{we.element&&Ht(we.element)}),Ue&&Gt(y),y;if(Ye){if(Ue&&Gt(h),Je)for(M=He.call(h.ownerDocument);h.firstChild;)M.appendChild(h.firstChild);else M=h;return(K.shadowroot||K.shadowrootmode)&&(M=rn.call(s,M,!0)),M}let se=We?h.outerHTML:h.innerHTML;return We&&ne["!doctype"]&&h.ownerDocument&&h.ownerDocument.doctype&&h.ownerDocument.doctype.name&&ge(Vo,h.ownerDocument.doctype.name)&&(se="<!DOCTYPE "+h.ownerDocument.doctype.name+`>
|
|
3
|
+
`+se),Ue&&(se=dt(se)),O&&ct?$(se):se},e.setConfig=function(){let y=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};At(y),cn=!0},e.clearConfig=function(){ht=null,cn=!1,O=G,C=""},e.isValidAttribute=function(y,o,h){ht||At({});const w=ee(y),R=ee(o);return is(w,R,h)},e.addHook=function(y,o){typeof o=="function"&&Bn(oe[y],o)},e.removeHook=function(y,o){if(o!==void 0){const h=No(oe[y],o);return h===-1?void 0:Co(oe[y],h,1)[0]}return Ur(oe[y])},e.removeHooks=function(y){oe[y]=[]},e.removeAllHooks=function(){oe=Vr()},e}var sa=ji();function zl(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var ln=zl();function qi(t){ln=t}var nn={exec:()=>null};function Hn(t){let e=[];return n=>{let s=Math.max(0,Math.min(3,n-1)),l=e[s];return l||(l=t(s),e[s]=l),l}}function q(t,e=""){let n=typeof t=="string"?t:t.source,s={replace:(l,i)=>{let a=typeof i=="string"?i:i.source;return a=a.replace(ke.caret,"$1"),n=n.replace(l,a),s},getRegex:()=>new RegExp(n,e)};return s}var la=((t="")=>{try{return!!new RegExp("(?<=1)(?<!1)"+t)}catch{return!1}})(),ke={codeRemoveIndent:/^(?: {1,4}| {0,3}\t)/gm,outputLinkReplace:/\\([\[\]])/g,indentCodeCompensation:/^(\s+)(?:```)/,beginningSpace:/^\s+/,endingHash:/#$/,startingSpaceChar:/^ /,endingSpaceChar:/ $/,nonSpaceChar:/[^ ]/,newLineCharGlobal:/\n/g,tabCharGlobal:/\t/g,multipleSpaceGlobal:/\s+/g,blankLine:/^[ \t]*$/,doubleBlankLine:/\n[ \t]*\n[ \t]*$/,blockquoteStart:/^ {0,3}>/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] +\S/,listReplaceTask:/^\[[ xX]\] +/,listTaskCheckbox:/\[[ xX]\]/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^<a /i,endATag:/^<\/a>/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^</,endAngleBracket:/>$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:t=>new RegExp(`^( {0,3}${t})((?:[ ][^\\n]*)?(?:\\n|$))`),nextBulletRegex:Hn(t=>new RegExp(`^ {0,${t}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`)),hrRegex:Hn(t=>new RegExp(`^ {0,${t}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`)),fencesBeginRegex:Hn(t=>new RegExp(`^ {0,${t}}(?:\`\`\`|~~~)`)),headingBeginRegex:Hn(t=>new RegExp(`^ {0,${t}}#`)),htmlBeginRegex:Hn(t=>new RegExp(`^ {0,${t}}<(?:[a-z].*>|!--)`,"i")),blockquoteBeginRegex:Hn(t=>new RegExp(`^ {0,${t}}>`))},ra=/^(?:[ \t]*(?:\n|$))+/,ia=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,oa=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,ws=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,aa=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,Ul=/ {0,3}(?:[*+-]|\d{1,9}[.)])/,Wi=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,Yi=q(Wi).replace(/bull/g,Ul).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,"").getRegex(),ca=q(Wi).replace(/bull/g,Ul).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),Fl=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,ua=/^[^\n]+/,Bl=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,pa=q(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",Bl).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),fa=q(/^(bull)([ \t][^\n]*?)?(?:\n|$)/).replace(/bull/g,Ul).getRegex(),tl="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",Hl=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,ha=q("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))","i").replace("comment",Hl).replace("tag",tl).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),Zi=q(Fl).replace("hr",ws).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]+[^ \\t\\n]").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",tl).getRegex(),da=q(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",Zi).getRegex(),Gl={blockquote:da,code:ia,def:pa,fences:oa,heading:aa,hr:ws,html:ha,lheading:Yi,list:fa,newline:ra,paragraph:Zi,table:nn,text:ua},Qr=q("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",ws).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code","(?: {4}| {0,3} )[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",tl).getRegex(),ga={...Gl,lheading:ca,table:Qr,paragraph:q(Fl).replace("hr",ws).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",Qr).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]+[^ \\t\\n]").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",tl).getRegex()},ma={...Gl,html:q(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",Hl).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:nn,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:q(Fl).replace("hr",ws).replace("heading",` *#{1,6} *[^
|
|
4
|
+
]`).replace("lheading",Yi).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},ba=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,_a=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,Xi=/^( {2,}|\\)\n(?!\s*$)/,ka=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,Xn=/[\p{P}\p{S}]/u,nl=/[\s\p{P}\p{S}]/u,jl=/[^\s\p{P}\p{S}]/u,Ta=q(/^((?![*_])punctSpace)/,"u").replace(/punctSpace/g,nl).getRegex(),Vi=/(?!~)[\p{P}\p{S}]/u,wa=/(?!~)[\s\p{P}\p{S}]/u,Sa=/(?:[^\s\p{P}\p{S}]|~)/u,ya=q(/link|precode-code|html/,"g").replace("link",/\[(?:[^\[\]`]|(?<a>`+)[^`]+\k<a>(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("precode-",la?"(?<!`)()":"(^^|[^`])").replace("code",/(?<b>`+)[^`]+\k<b>(?!`)/).replace("html",/<(?! )[^<>]*?>/).getRegex(),Qi=/^(?:\*+(?:((?!\*)punct)|([^\s*]))?)|^_+(?:((?!_)punct)|([^\s_]))?/,Aa=q(Qi,"u").replace(/punct/g,Xn).getRegex(),Ea=q(Qi,"u").replace(/punct/g,Vi).getRegex(),Ki="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",va=q(Ki,"gu").replace(/notPunctSpace/g,jl).replace(/punctSpace/g,nl).replace(/punct/g,Xn).getRegex(),Ra=q(Ki,"gu").replace(/notPunctSpace/g,Sa).replace(/punctSpace/g,wa).replace(/punct/g,Vi).getRegex(),xa=q("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,jl).replace(/punctSpace/g,nl).replace(/punct/g,Xn).getRegex(),Ia=q(/^~~?(?:((?!~)punct)|[^\s~])/,"u").replace(/punct/g,Xn).getRegex(),La="^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)",Oa=q(La,"gu").replace(/notPunctSpace/g,jl).replace(/punctSpace/g,nl).replace(/punct/g,Xn).getRegex(),Na=q(/\\(punct)/,"gu").replace(/punct/g,Xn).getRegex(),Ca=q(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),Da=q(Hl).replace("(?:-->|$)","-->").getRegex(),Pa=q("^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>").replace("comment",Da).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),Vs=/(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+(?!`)[^`]*?`+(?!`)|``+(?=\])|[^\[\]\\`])*?/,Ma=q(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]+(?:\n[ \t]*)?|\n[ \t]*)(title))?\s*\)/).replace("label",Vs).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),Ji=q(/^!?\[(label)\]\[(ref)\]/).replace("label",Vs).replace("ref",Bl).getRegex(),eo=q(/^!?\[(ref)\](?:\[\])?/).replace("ref",Bl).getRegex(),$a=q("reflink|nolink(?!\\()","g").replace("reflink",Ji).replace("nolink",eo).getRegex(),Kr=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,ql={_backpedal:nn,anyPunctuation:Na,autolink:Ca,blockSkip:ya,br:Xi,code:_a,del:nn,delLDelim:nn,delRDelim:nn,emStrongLDelim:Aa,emStrongRDelimAst:va,emStrongRDelimUnd:xa,escape:ba,link:Ma,nolink:eo,punctuation:Ta,reflink:Ji,reflinkSearch:$a,tag:Pa,text:ka,url:nn},za={...ql,link:q(/^!?\[(label)\]\((.*?)\)/).replace("label",Vs).getRegex(),reflink:q(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",Vs).getRegex()},Dl={...ql,emStrongRDelimAst:Ra,emStrongLDelim:Ea,delLDelim:Ia,delRDelim:Oa,url:q(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("protocol",Kr).replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/,text:q(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|protocol:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/).replace("protocol",Kr).getRegex()},Ua={...Dl,br:q(Xi).replace("{2,}","*").getRegex(),text:q(Dl.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()},Ws={normal:Gl,gfm:ga,pedantic:ma},gs={normal:ql,gfm:Dl,breaks:Ua,pedantic:za},Fa={"&":"&","<":"<",">":">",'"':""","'":"'"},Jr=t=>Fa[t];function at(t,e){if(e){if(ke.escapeTest.test(t))return t.replace(ke.escapeReplace,Jr)}else if(ke.escapeTestNoEncode.test(t))return t.replace(ke.escapeReplaceNoEncode,Jr);return t}function ei(t){try{t=encodeURI(t).replace(ke.percentDecode,"%")}catch{return null}return t}function ti(t,e){var i;let n=t.replace(ke.findPipe,(a,u,c)=>{let d=!1,p=u;for(;--p>=0&&c[p]==="\\";)d=!d;return d?"|":" |"}),s=n.split(ke.splitPipe),l=0;if(s[0].trim()||s.shift(),s.length>0&&!((i=s.at(-1))!=null&&i.trim())&&s.pop(),e)if(s.length>e)s.splice(e);else for(;s.length<e;)s.push("");for(;l<s.length;l++)s[l]=s[l].trim().replace(ke.slashPipe,"|");return s}function Lt(t,e,n){let s=t.length;if(s===0)return"";let l=0;for(;l<s&&t.charAt(s-l-1)===e;)l++;return t.slice(0,s-l)}function ni(t){let e=t.split(`
|
|
5
|
+
`),n=e.length-1;for(;n>=0&&ke.blankLine.test(e[n]);)n--;return e.length-n<=2?t:e.slice(0,n+1).join(`
|
|
6
|
+
`)}function Ba(t,e){if(t.indexOf(e[1])===-1)return-1;let n=0;for(let s=0;s<t.length;s++)if(t[s]==="\\")s++;else if(t[s]===e[0])n++;else if(t[s]===e[1]&&(n--,n<0))return s;return n>0?-2:-1}function Ha(t,e=0){let n=e,s="";for(let l of t)if(l===" "){let i=4-n%4;s+=" ".repeat(i),n+=i}else s+=l,n++;return s}function si(t,e,n,s,l){let i=e.href,a=e.title||null,u=t[1].replace(l.other.outputLinkReplace,"$1");s.state.inLink=!0;let c={type:t[0].charAt(0)==="!"?"image":"link",raw:n,href:i,title:a,text:u,tokens:s.inlineTokens(u)};return s.state.inLink=!1,c}function Ga(t,e,n){let s=t.match(n.other.indentCodeCompensation);if(s===null)return e;let l=s[1];return e.split(`
|
|
7
|
+
`).map(i=>{let a=i.match(n.other.beginningSpace);if(a===null)return i;let[u]=a;return u.length>=l.length?i.slice(l.length):i}).join(`
|
|
8
|
+
`)}var Qs=class{constructor(t){X(this,"options");X(this,"rules");X(this,"lexer");this.options=t||ln}space(t){let e=this.rules.block.newline.exec(t);if(e&&e[0].length>0)return{type:"space",raw:e[0]}}code(t){let e=this.rules.block.code.exec(t);if(e){let n=this.options.pedantic?e[0]:ni(e[0]),s=n.replace(this.rules.other.codeRemoveIndent,"");return{type:"code",raw:n,codeBlockStyle:"indented",text:s}}}fences(t){let e=this.rules.block.fences.exec(t);if(e){let n=e[0],s=Ga(n,e[3]||"",this.rules);return{type:"code",raw:n,lang:e[2]?e[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):e[2],text:s}}}heading(t){let e=this.rules.block.heading.exec(t);if(e){let n=e[2].trim();if(this.rules.other.endingHash.test(n)){let s=Lt(n,"#");(this.options.pedantic||!s||this.rules.other.endingSpaceChar.test(s))&&(n=s.trim())}return{type:"heading",raw:Lt(e[0],`
|
|
9
|
+
`),depth:e[1].length,text:n,tokens:this.lexer.inline(n)}}}hr(t){let e=this.rules.block.hr.exec(t);if(e)return{type:"hr",raw:Lt(e[0],`
|
|
10
|
+
`)}}blockquote(t){let e=this.rules.block.blockquote.exec(t);if(e){let n=Lt(e[0],`
|
|
11
|
+
`).split(`
|
|
12
|
+
`),s="",l="",i=[];for(;n.length>0;){let a=!1,u=[],c;for(c=0;c<n.length;c++)if(this.rules.other.blockquoteStart.test(n[c]))u.push(n[c]),a=!0;else if(!a)u.push(n[c]);else break;n=n.slice(c);let d=u.join(`
|
|
13
|
+
`),p=d.replace(this.rules.other.blockquoteSetextReplace,`
|
|
14
|
+
$1`).replace(this.rules.other.blockquoteSetextReplace2,"");s=s?`${s}
|
|
15
|
+
${d}`:d,l=l?`${l}
|
|
16
|
+
${p}`:p;let g=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTokens(p,i,!0),this.lexer.state.top=g,n.length===0)break;let k=i.at(-1);if((k==null?void 0:k.type)==="code")break;if((k==null?void 0:k.type)==="blockquote"){let A=k,m=A.raw+`
|
|
17
|
+
`+n.join(`
|
|
18
|
+
`),x=this.blockquote(m);i[i.length-1]=x,s=s.substring(0,s.length-A.raw.length)+x.raw,l=l.substring(0,l.length-A.text.length)+x.text;break}else if((k==null?void 0:k.type)==="list"){let A=k,m=A.raw+`
|
|
19
|
+
`+n.join(`
|
|
20
|
+
`),x=this.list(m);i[i.length-1]=x,s=s.substring(0,s.length-k.raw.length)+x.raw,l=l.substring(0,l.length-A.raw.length)+x.raw,n=m.substring(i.at(-1).raw.length).split(`
|
|
21
|
+
`);continue}}return{type:"blockquote",raw:s,tokens:i,text:l}}}list(t){let e=this.rules.block.list.exec(t);if(e){let n=e[1].trim(),s=n.length>1,l={type:"list",raw:"",ordered:s,start:s?+n.slice(0,-1):"",loose:!1,items:[]};n=s?`\\d{1,9}\\${n.slice(-1)}`:`\\${n}`,this.options.pedantic&&(n=s?n:"[*+-]");let i=this.rules.other.listItemRegex(n),a=!1;for(;t;){let c=!1,d="",p="";if(!(e=i.exec(t))||this.rules.block.hr.test(t))break;d=e[0],t=t.substring(d.length);let g=Ha(e[2].split(`
|
|
22
|
+
`,1)[0],e[1].length),k=t.split(`
|
|
23
|
+
`,1)[0],A=!g.trim(),m=0;if(this.options.pedantic?(m=2,p=g.trimStart()):A?m=e[1].length+1:(m=g.search(this.rules.other.nonSpaceChar),m=m>4?1:m,p=g.slice(m),m+=e[1].length),A&&this.rules.other.blankLine.test(k)&&(d+=k+`
|
|
24
|
+
`,t=t.substring(k.length+1),c=!0),!c){let x=this.rules.other.nextBulletRegex(m),E=this.rules.other.hrRegex(m),P=this.rules.other.fencesBeginRegex(m),H=this.rules.other.headingBeginRegex(m),Y=this.rules.other.htmlBeginRegex(m),z=this.rules.other.blockquoteBeginRegex(m);for(;t;){let B=t.split(`
|
|
25
|
+
`,1)[0],O;if(k=B,this.options.pedantic?(k=k.replace(this.rules.other.listReplaceNesting," "),O=k):O=k.replace(this.rules.other.tabCharGlobal," "),P.test(k)||H.test(k)||Y.test(k)||z.test(k)||x.test(k)||E.test(k))break;if(O.search(this.rules.other.nonSpaceChar)>=m||!k.trim())p+=`
|
|
26
|
+
`+O.slice(m);else{if(A||g.replace(this.rules.other.tabCharGlobal," ").search(this.rules.other.nonSpaceChar)>=4||P.test(g)||H.test(g)||E.test(g))break;p+=`
|
|
27
|
+
`+k}A=!k.trim(),d+=B+`
|
|
28
|
+
`,t=t.substring(B.length+1),g=O.slice(m)}}l.loose||(a?l.loose=!0:this.rules.other.doubleBlankLine.test(d)&&(a=!0)),l.items.push({type:"list_item",raw:d,task:!!this.options.gfm&&this.rules.other.listIsTask.test(p),loose:!1,text:p,tokens:[]}),l.raw+=d}let u=l.items.at(-1);if(u)u.raw=u.raw.trimEnd(),u.text=u.text.trimEnd();else return;l.raw=l.raw.trimEnd();for(let c of l.items){this.lexer.state.top=!1,c.tokens=this.lexer.blockTokens(c.text,[]);let d=c.tokens[0];if(c.task&&((d==null?void 0:d.type)==="text"||(d==null?void 0:d.type)==="paragraph")){c.text=c.text.replace(this.rules.other.listReplaceTask,""),d.raw=d.raw.replace(this.rules.other.listReplaceTask,""),d.text=d.text.replace(this.rules.other.listReplaceTask,"");for(let g=this.lexer.inlineQueue.length-1;g>=0;g--)if(this.rules.other.listIsTask.test(this.lexer.inlineQueue[g].src)){this.lexer.inlineQueue[g].src=this.lexer.inlineQueue[g].src.replace(this.rules.other.listReplaceTask,"");break}let p=this.rules.other.listTaskCheckbox.exec(c.raw);if(p){let g={type:"checkbox",raw:p[0]+" ",checked:p[0]!=="[ ]"};c.checked=g.checked,l.loose?c.tokens[0]&&["paragraph","text"].includes(c.tokens[0].type)&&"tokens"in c.tokens[0]&&c.tokens[0].tokens?(c.tokens[0].raw=g.raw+c.tokens[0].raw,c.tokens[0].text=g.raw+c.tokens[0].text,c.tokens[0].tokens.unshift(g)):c.tokens.unshift({type:"paragraph",raw:g.raw,text:g.raw,tokens:[g]}):c.tokens.unshift(g)}}else c.task&&(c.task=!1);if(!l.loose){let p=c.tokens.filter(k=>k.type==="space"),g=p.length>0&&p.some(k=>this.rules.other.anyLine.test(k.raw));l.loose=g}}if(l.loose)for(let c of l.items){c.loose=!0;for(let d of c.tokens)d.type==="text"&&(d.type="paragraph")}return l}}html(t){let e=this.rules.block.html.exec(t);if(e){let n=ni(e[0]);return{type:"html",block:!0,raw:n,pre:e[1]==="pre"||e[1]==="script"||e[1]==="style",text:n}}}def(t){let e=this.rules.block.def.exec(t);if(e){let n=e[1].toLowerCase().replace(this.rules.other.multipleSpaceGlobal," "),s=e[2]?e[2].replace(this.rules.other.hrefBrackets,"$1").replace(this.rules.inline.anyPunctuation,"$1"):"",l=e[3]?e[3].substring(1,e[3].length-1).replace(this.rules.inline.anyPunctuation,"$1"):e[3];return{type:"def",tag:n,raw:Lt(e[0],`
|
|
29
|
+
`),href:s,title:l}}}table(t){var a;let e=this.rules.block.table.exec(t);if(!e||!this.rules.other.tableDelimiter.test(e[2]))return;let n=ti(e[1]),s=e[2].replace(this.rules.other.tableAlignChars,"").split("|"),l=(a=e[3])!=null&&a.trim()?e[3].replace(this.rules.other.tableRowBlankLine,"").split(`
|
|
30
|
+
`):[],i={type:"table",raw:Lt(e[0],`
|
|
31
|
+
`),header:[],align:[],rows:[]};if(n.length===s.length){for(let u of s)this.rules.other.tableAlignRight.test(u)?i.align.push("right"):this.rules.other.tableAlignCenter.test(u)?i.align.push("center"):this.rules.other.tableAlignLeft.test(u)?i.align.push("left"):i.align.push(null);for(let u=0;u<n.length;u++)i.header.push({text:n[u],tokens:this.lexer.inline(n[u]),header:!0,align:i.align[u]});for(let u of l)i.rows.push(ti(u,i.header.length).map((c,d)=>({text:c,tokens:this.lexer.inline(c),header:!1,align:i.align[d]})));return i}}lheading(t){let e=this.rules.block.lheading.exec(t);if(e){let n=e[1].trim();return{type:"heading",raw:Lt(e[0],`
|
|
32
|
+
`),depth:e[2].charAt(0)==="="?1:2,text:n,tokens:this.lexer.inline(n)}}}paragraph(t){let e=this.rules.block.paragraph.exec(t);if(e){let n=e[1].charAt(e[1].length-1)===`
|
|
33
|
+
`?e[1].slice(0,-1):e[1];return{type:"paragraph",raw:e[0],text:n,tokens:this.lexer.inline(n)}}}text(t){let e=this.rules.block.text.exec(t);if(e)return{type:"text",raw:e[0],text:e[0],tokens:this.lexer.inline(e[0])}}escape(t){let e=this.rules.inline.escape.exec(t);if(e)return{type:"escape",raw:e[0],text:e[1]}}tag(t){let e=this.rules.inline.tag.exec(t);if(e)return!this.lexer.state.inLink&&this.rules.other.startATag.test(e[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&this.rules.other.endATag.test(e[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&this.rules.other.startPreScriptTag.test(e[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&this.rules.other.endPreScriptTag.test(e[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:e[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:e[0]}}link(t){let e=this.rules.inline.link.exec(t);if(e){let n=e[2].trim();if(!this.options.pedantic&&this.rules.other.startAngleBracket.test(n)){if(!this.rules.other.endAngleBracket.test(n))return;let i=Lt(n.slice(0,-1),"\\");if((n.length-i.length)%2===0)return}else{let i=Ba(e[2],"()");if(i===-2)return;if(i>-1){let a=(e[0].indexOf("!")===0?5:4)+e[1].length+i;e[2]=e[2].substring(0,i),e[0]=e[0].substring(0,a).trim(),e[3]=""}}let s=e[2],l="";if(this.options.pedantic){let i=this.rules.other.pedanticHrefTitle.exec(s);i&&(s=i[1],l=i[3])}else l=e[3]?e[3].slice(1,-1):"";return s=s.trim(),this.rules.other.startAngleBracket.test(s)&&(this.options.pedantic&&!this.rules.other.endAngleBracket.test(n)?s=s.slice(1):s=s.slice(1,-1)),si(e,{href:s&&s.replace(this.rules.inline.anyPunctuation,"$1"),title:l&&l.replace(this.rules.inline.anyPunctuation,"$1")},e[0],this.lexer,this.rules)}}reflink(t,e){let n;if((n=this.rules.inline.reflink.exec(t))||(n=this.rules.inline.nolink.exec(t))){let s=(n[2]||n[1]).replace(this.rules.other.multipleSpaceGlobal," "),l=e[s.toLowerCase()];if(!l){let i=n[0].charAt(0);return{type:"text",raw:i,text:i}}return si(n,l,n[0],this.lexer,this.rules)}}emStrong(t,e,n=""){let s=this.rules.inline.emStrongLDelim.exec(t);if(!(!s||!s[1]&&!s[2]&&!s[3]&&!s[4]||s[4]&&n.match(this.rules.other.unicodeAlphaNumeric))&&(!(s[1]||s[3])||!n||this.rules.inline.punctuation.exec(n))){let l=[...s[0]].length-1,i,a,u=l,c=0,d=s[0][0]==="*"?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(d.lastIndex=0,e=e.slice(-1*t.length+l);(s=d.exec(e))!==null;){if(i=s[1]||s[2]||s[3]||s[4]||s[5]||s[6],!i)continue;if(a=[...i].length,s[3]||s[4]){u+=a;continue}else if((s[5]||s[6])&&l%3&&!((l+a)%3)){c+=a;continue}if(u-=a,u>0)continue;a=Math.min(a,a+u+c);let p=[...s[0]][0].length,g=t.slice(0,l+s.index+p+a);if(Math.min(l,a)%2){let A=g.slice(1,-1);return{type:"em",raw:g,text:A,tokens:this.lexer.inlineTokens(A)}}let k=g.slice(2,-2);return{type:"strong",raw:g,text:k,tokens:this.lexer.inlineTokens(k)}}}}codespan(t){let e=this.rules.inline.code.exec(t);if(e){let n=e[2].replace(this.rules.other.newLineCharGlobal," "),s=this.rules.other.nonSpaceChar.test(n),l=this.rules.other.startingSpaceChar.test(n)&&this.rules.other.endingSpaceChar.test(n);return s&&l&&(n=n.substring(1,n.length-1)),{type:"codespan",raw:e[0],text:n}}}br(t){let e=this.rules.inline.br.exec(t);if(e)return{type:"br",raw:e[0]}}del(t,e,n=""){let s=this.rules.inline.delLDelim.exec(t);if(s&&(!s[1]||!n||this.rules.inline.punctuation.exec(n))){let l=[...s[0]].length-1,i,a,u=l,c=this.rules.inline.delRDelim;for(c.lastIndex=0,e=e.slice(-1*t.length+l);(s=c.exec(e))!==null;){if(i=s[1]||s[2]||s[3]||s[4]||s[5]||s[6],!i||(a=[...i].length,a!==l))continue;if(s[3]||s[4]){u+=a;continue}if(u-=a,u>0)continue;a=Math.min(a,a+u);let d=[...s[0]][0].length,p=t.slice(0,l+s.index+d+a),g=p.slice(l,-l);return{type:"del",raw:p,text:g,tokens:this.lexer.inlineTokens(g)}}}}autolink(t){let e=this.rules.inline.autolink.exec(t);if(e){let n,s;return e[2]==="@"?(n=e[1],s="mailto:"+n):(n=e[1],s=n),{type:"link",raw:e[0],text:n,href:s,tokens:[{type:"text",raw:n,text:n}]}}}url(t){var n;let e;if(e=this.rules.inline.url.exec(t)){let s,l;if(e[2]==="@")s=e[0],l="mailto:"+s;else{let i;do i=e[0],e[0]=((n=this.rules.inline._backpedal.exec(e[0]))==null?void 0:n[0])??"";while(i!==e[0]);s=e[0],e[1]==="www."?l="http://"+e[0]:l=e[0]}return{type:"link",raw:e[0],text:s,href:l,tokens:[{type:"text",raw:s,text:s}]}}}inlineText(t){let e=this.rules.inline.text.exec(t);if(e){let n=this.lexer.state.inRawBlock;return{type:"text",raw:e[0],text:e[0],escaped:n}}}},Xe=class Pl{constructor(e){X(this,"tokens");X(this,"options");X(this,"state");X(this,"inlineQueue");X(this,"tokenizer");this.tokens=[],this.tokens.links=Object.create(null),this.options=e||ln,this.options.tokenizer=this.options.tokenizer||new Qs,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};let n={other:ke,block:Ws.normal,inline:gs.normal};this.options.pedantic?(n.block=Ws.pedantic,n.inline=gs.pedantic):this.options.gfm&&(n.block=Ws.gfm,this.options.breaks?n.inline=gs.breaks:n.inline=gs.gfm),this.tokenizer.rules=n}static get rules(){return{block:Ws,inline:gs}}static lex(e,n){return new Pl(n).lex(e)}static lexInline(e,n){return new Pl(n).inlineTokens(e)}lex(e){e=e.replace(ke.carriageReturn,`
|
|
34
|
+
`),this.blockTokens(e,this.tokens);for(let n=0;n<this.inlineQueue.length;n++){let s=this.inlineQueue[n];this.inlineTokens(s.src,s.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(e,n=[],s=!1){var i,a,u;this.tokenizer.lexer=this,this.options.pedantic&&(e=e.replace(ke.tabCharGlobal," ").replace(ke.spaceLine,""));let l=1/0;for(;e;){if(e.length<l)l=e.length;else{this.infiniteLoopError(e.charCodeAt(0));break}let c;if((a=(i=this.options.extensions)==null?void 0:i.block)!=null&&a.some(p=>(c=p.call({lexer:this},e,n))?(e=e.substring(c.raw.length),n.push(c),!0):!1))continue;if(c=this.tokenizer.space(e)){e=e.substring(c.raw.length);let p=n.at(-1);c.raw.length===1&&p!==void 0?p.raw+=`
|
|
35
|
+
`:n.push(c);continue}if(c=this.tokenizer.code(e)){e=e.substring(c.raw.length);let p=n.at(-1);(p==null?void 0:p.type)==="paragraph"||(p==null?void 0:p.type)==="text"?(p.raw+=(p.raw.endsWith(`
|
|
36
|
+
`)?"":`
|
|
37
|
+
`)+c.raw,p.text+=`
|
|
38
|
+
`+c.text,this.inlineQueue.at(-1).src=p.text):n.push(c);continue}if(c=this.tokenizer.fences(e)){e=e.substring(c.raw.length),n.push(c);continue}if(c=this.tokenizer.heading(e)){e=e.substring(c.raw.length),n.push(c);continue}if(c=this.tokenizer.hr(e)){e=e.substring(c.raw.length),n.push(c);continue}if(c=this.tokenizer.blockquote(e)){e=e.substring(c.raw.length),n.push(c);continue}if(c=this.tokenizer.list(e)){e=e.substring(c.raw.length),n.push(c);continue}if(c=this.tokenizer.html(e)){e=e.substring(c.raw.length),n.push(c);continue}if(c=this.tokenizer.def(e)){e=e.substring(c.raw.length);let p=n.at(-1);(p==null?void 0:p.type)==="paragraph"||(p==null?void 0:p.type)==="text"?(p.raw+=(p.raw.endsWith(`
|
|
39
|
+
`)?"":`
|
|
40
|
+
`)+c.raw,p.text+=`
|
|
41
|
+
`+c.raw,this.inlineQueue.at(-1).src=p.text):this.tokens.links[c.tag]||(this.tokens.links[c.tag]={href:c.href,title:c.title},n.push(c));continue}if(c=this.tokenizer.table(e)){e=e.substring(c.raw.length),n.push(c);continue}if(c=this.tokenizer.lheading(e)){e=e.substring(c.raw.length),n.push(c);continue}let d=e;if((u=this.options.extensions)!=null&&u.startBlock){let p=1/0,g=e.slice(1),k;this.options.extensions.startBlock.forEach(A=>{k=A.call({lexer:this},g),typeof k=="number"&&k>=0&&(p=Math.min(p,k))}),p<1/0&&p>=0&&(d=e.substring(0,p+1))}if(this.state.top&&(c=this.tokenizer.paragraph(d))){let p=n.at(-1);s&&(p==null?void 0:p.type)==="paragraph"?(p.raw+=(p.raw.endsWith(`
|
|
42
|
+
`)?"":`
|
|
43
|
+
`)+c.raw,p.text+=`
|
|
44
|
+
`+c.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=p.text):n.push(c),s=d.length!==e.length,e=e.substring(c.raw.length);continue}if(c=this.tokenizer.text(e)){e=e.substring(c.raw.length);let p=n.at(-1);(p==null?void 0:p.type)==="text"?(p.raw+=(p.raw.endsWith(`
|
|
45
|
+
`)?"":`
|
|
46
|
+
`)+c.raw,p.text+=`
|
|
47
|
+
`+c.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=p.text):n.push(c);continue}if(e){this.infiniteLoopError(e.charCodeAt(0));break}}return this.state.top=!0,n}inline(e,n=[]){return this.inlineQueue.push({src:e,tokens:n}),n}inlineTokens(e,n=[]){var d,p,g,k,A;this.tokenizer.lexer=this;let s=e,l=null;if(this.tokens.links){let m=Object.keys(this.tokens.links);if(m.length>0)for(;(l=this.tokenizer.rules.inline.reflinkSearch.exec(s))!==null;)m.includes(l[0].slice(l[0].lastIndexOf("[")+1,-1))&&(s=s.slice(0,l.index)+"["+"a".repeat(l[0].length-2)+"]"+s.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(l=this.tokenizer.rules.inline.anyPunctuation.exec(s))!==null;)s=s.slice(0,l.index)+"++"+s.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);let i;for(;(l=this.tokenizer.rules.inline.blockSkip.exec(s))!==null;)i=l[2]?l[2].length:0,s=s.slice(0,l.index+i)+"["+"a".repeat(l[0].length-i-2)+"]"+s.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);s=((p=(d=this.options.hooks)==null?void 0:d.emStrongMask)==null?void 0:p.call({lexer:this},s))??s;let a=!1,u="",c=1/0;for(;e;){if(e.length<c)c=e.length;else{this.infiniteLoopError(e.charCodeAt(0));break}a||(u=""),a=!1;let m;if((k=(g=this.options.extensions)==null?void 0:g.inline)!=null&&k.some(E=>(m=E.call({lexer:this},e,n))?(e=e.substring(m.raw.length),n.push(m),!0):!1))continue;if(m=this.tokenizer.escape(e)){e=e.substring(m.raw.length),n.push(m);continue}if(m=this.tokenizer.tag(e)){e=e.substring(m.raw.length),n.push(m);continue}if(m=this.tokenizer.link(e)){e=e.substring(m.raw.length),n.push(m);continue}if(m=this.tokenizer.reflink(e,this.tokens.links)){e=e.substring(m.raw.length);let E=n.at(-1);m.type==="text"&&(E==null?void 0:E.type)==="text"?(E.raw+=m.raw,E.text+=m.text):n.push(m);continue}if(m=this.tokenizer.emStrong(e,s,u)){e=e.substring(m.raw.length),n.push(m);continue}if(m=this.tokenizer.codespan(e)){e=e.substring(m.raw.length),n.push(m);continue}if(m=this.tokenizer.br(e)){e=e.substring(m.raw.length),n.push(m);continue}if(m=this.tokenizer.del(e,s,u)){e=e.substring(m.raw.length),n.push(m);continue}if(m=this.tokenizer.autolink(e)){e=e.substring(m.raw.length),n.push(m);continue}if(!this.state.inLink&&(m=this.tokenizer.url(e))){e=e.substring(m.raw.length),n.push(m);continue}let x=e;if((A=this.options.extensions)!=null&&A.startInline){let E=1/0,P=e.slice(1),H;this.options.extensions.startInline.forEach(Y=>{H=Y.call({lexer:this},P),typeof H=="number"&&H>=0&&(E=Math.min(E,H))}),E<1/0&&E>=0&&(x=e.substring(0,E+1))}if(m=this.tokenizer.inlineText(x)){e=e.substring(m.raw.length),m.raw.slice(-1)!=="_"&&(u=m.raw.slice(-1)),a=!0;let E=n.at(-1);(E==null?void 0:E.type)==="text"?(E.raw+=m.raw,E.text+=m.text):n.push(m);continue}if(e){this.infiniteLoopError(e.charCodeAt(0));break}}return n}infiniteLoopError(e){let n="Infinite loop on byte: "+e;if(this.options.silent)console.error(n);else throw new Error(n)}},Ks=class{constructor(t){X(this,"options");X(this,"parser");this.options=t||ln}space(t){return""}code({text:t,lang:e,escaped:n}){var i;let s=(i=(e||"").match(ke.notSpaceStart))==null?void 0:i[0],l=t.replace(ke.endingNewline,"")+`
|
|
48
|
+
`;return s?'<pre><code class="language-'+at(s)+'">'+(n?l:at(l,!0))+`</code></pre>
|
|
49
|
+
`:"<pre><code>"+(n?l:at(l,!0))+`</code></pre>
|
|
50
|
+
`}blockquote({tokens:t}){return`<blockquote>
|
|
51
|
+
${this.parser.parse(t)}</blockquote>
|
|
52
|
+
`}html({text:t}){return t}def(t){return""}heading({tokens:t,depth:e}){return`<h${e}>${this.parser.parseInline(t)}</h${e}>
|
|
53
|
+
`}hr(t){return`<hr>
|
|
54
|
+
`}list(t){let e=t.ordered,n=t.start,s="";for(let a=0;a<t.items.length;a++){let u=t.items[a];s+=this.listitem(u)}let l=e?"ol":"ul",i=e&&n!==1?' start="'+n+'"':"";return"<"+l+i+`>
|
|
55
|
+
`+s+"</"+l+`>
|
|
56
|
+
`}listitem(t){return`<li>${this.parser.parse(t.tokens)}</li>
|
|
57
|
+
`}checkbox({checked:t}){return"<input "+(t?'checked="" ':"")+'disabled="" type="checkbox"> '}paragraph({tokens:t}){return`<p>${this.parser.parseInline(t)}</p>
|
|
58
|
+
`}table(t){let e="",n="";for(let l=0;l<t.header.length;l++)n+=this.tablecell(t.header[l]);e+=this.tablerow({text:n});let s="";for(let l=0;l<t.rows.length;l++){let i=t.rows[l];n="";for(let a=0;a<i.length;a++)n+=this.tablecell(i[a]);s+=this.tablerow({text:n})}return s&&(s=`<tbody>${s}</tbody>`),`<table>
|
|
59
|
+
<thead>
|
|
60
|
+
`+e+`</thead>
|
|
61
|
+
`+s+`</table>
|
|
62
|
+
`}tablerow({text:t}){return`<tr>
|
|
63
|
+
${t}</tr>
|
|
64
|
+
`}tablecell(t){let e=this.parser.parseInline(t.tokens),n=t.header?"th":"td";return(t.align?`<${n} align="${t.align}">`:`<${n}>`)+e+`</${n}>
|
|
65
|
+
`}strong({tokens:t}){return`<strong>${this.parser.parseInline(t)}</strong>`}em({tokens:t}){return`<em>${this.parser.parseInline(t)}</em>`}codespan({text:t}){return`<code>${at(t,!0)}</code>`}br(t){return"<br>"}del({tokens:t}){return`<del>${this.parser.parseInline(t)}</del>`}link({href:t,title:e,tokens:n}){let s=this.parser.parseInline(n),l=ei(t);if(l===null)return s;t=l;let i='<a href="'+t+'"';return e&&(i+=' title="'+at(e)+'"'),i+=">"+s+"</a>",i}image({href:t,title:e,text:n,tokens:s}){s&&(n=this.parser.parseInline(s,this.parser.textRenderer));let l=ei(t);if(l===null)return at(n);t=l;let i=`<img src="${t}" alt="${at(n)}"`;return e&&(i+=` title="${at(e)}"`),i+=">",i}text(t){return"tokens"in t&&t.tokens?this.parser.parseInline(t.tokens):"escaped"in t&&t.escaped?t.text:at(t.text)}},Wl=class{strong({text:t}){return t}em({text:t}){return t}codespan({text:t}){return t}del({text:t}){return t}html({text:t}){return t}text({text:t}){return t}link({text:t}){return""+t}image({text:t}){return""+t}br(){return""}checkbox({raw:t}){return t}},Ve=class Ml{constructor(e){X(this,"options");X(this,"renderer");X(this,"textRenderer");this.options=e||ln,this.options.renderer=this.options.renderer||new Ks,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new Wl}static parse(e,n){return new Ml(n).parse(e)}static parseInline(e,n){return new Ml(n).parseInline(e)}parse(e){var s,l;this.renderer.parser=this;let n="";for(let i=0;i<e.length;i++){let a=e[i];if((l=(s=this.options.extensions)==null?void 0:s.renderers)!=null&&l[a.type]){let c=a,d=this.options.extensions.renderers[c.type].call({parser:this},c);if(d!==!1||!["space","hr","heading","code","table","blockquote","list","html","def","paragraph","text"].includes(c.type)){n+=d||"";continue}}let u=a;switch(u.type){case"space":{n+=this.renderer.space(u);break}case"hr":{n+=this.renderer.hr(u);break}case"heading":{n+=this.renderer.heading(u);break}case"code":{n+=this.renderer.code(u);break}case"table":{n+=this.renderer.table(u);break}case"blockquote":{n+=this.renderer.blockquote(u);break}case"list":{n+=this.renderer.list(u);break}case"checkbox":{n+=this.renderer.checkbox(u);break}case"html":{n+=this.renderer.html(u);break}case"def":{n+=this.renderer.def(u);break}case"paragraph":{n+=this.renderer.paragraph(u);break}case"text":{n+=this.renderer.text(u);break}default:{let c='Token with "'+u.type+'" type was not found.';if(this.options.silent)return console.error(c),"";throw new Error(c)}}}return n}parseInline(e,n=this.renderer){var l,i;this.renderer.parser=this;let s="";for(let a=0;a<e.length;a++){let u=e[a];if((i=(l=this.options.extensions)==null?void 0:l.renderers)!=null&&i[u.type]){let d=this.options.extensions.renderers[u.type].call({parser:this},u);if(d!==!1||!["escape","html","link","image","strong","em","codespan","br","del","text"].includes(u.type)){s+=d||"";continue}}let c=u;switch(c.type){case"escape":{s+=n.text(c);break}case"html":{s+=n.html(c);break}case"link":{s+=n.link(c);break}case"image":{s+=n.image(c);break}case"checkbox":{s+=n.checkbox(c);break}case"strong":{s+=n.strong(c);break}case"em":{s+=n.em(c);break}case"codespan":{s+=n.codespan(c);break}case"br":{s+=n.br(c);break}case"del":{s+=n.del(c);break}case"text":{s+=n.text(c);break}default:{let d='Token with "'+c.type+'" type was not found.';if(this.options.silent)return console.error(d),"";throw new Error(d)}}}return s}},Zs,bs=(Zs=class{constructor(t){X(this,"options");X(this,"block");this.options=t||ln}preprocess(t){return t}postprocess(t){return t}processAllTokens(t){return t}emStrongMask(t){return t}provideLexer(t=this.block){return t?Xe.lex:Xe.lexInline}provideParser(t=this.block){return t?Ve.parse:Ve.parseInline}},X(Zs,"passThroughHooks",new Set(["preprocess","postprocess","processAllTokens","emStrongMask"])),X(Zs,"passThroughHooksRespectAsync",new Set(["preprocess","postprocess","processAllTokens"])),Zs),ja=class{constructor(...t){X(this,"defaults",zl());X(this,"options",this.setOptions);X(this,"parse",this.parseMarkdown(!0));X(this,"parseInline",this.parseMarkdown(!1));X(this,"Parser",Ve);X(this,"Renderer",Ks);X(this,"TextRenderer",Wl);X(this,"Lexer",Xe);X(this,"Tokenizer",Qs);X(this,"Hooks",bs);this.use(...t)}walkTokens(t,e){var s,l;let n=[];for(let i of t)switch(n=n.concat(e.call(this,i)),i.type){case"table":{let a=i;for(let u of a.header)n=n.concat(this.walkTokens(u.tokens,e));for(let u of a.rows)for(let c of u)n=n.concat(this.walkTokens(c.tokens,e));break}case"list":{let a=i;n=n.concat(this.walkTokens(a.items,e));break}default:{let a=i;(l=(s=this.defaults.extensions)==null?void 0:s.childTokens)!=null&&l[a.type]?this.defaults.extensions.childTokens[a.type].forEach(u=>{let c=a[u].flat(1/0);n=n.concat(this.walkTokens(c,e))}):a.tokens&&(n=n.concat(this.walkTokens(a.tokens,e)))}}return n}use(...t){let e=this.defaults.extensions||{renderers:{},childTokens:{}};return t.forEach(n=>{let s={...n};if(s.async=this.defaults.async||s.async||!1,n.extensions&&(n.extensions.forEach(l=>{if(!l.name)throw new Error("extension name required");if("renderer"in l){let i=e.renderers[l.name];i?e.renderers[l.name]=function(...a){let u=l.renderer.apply(this,a);return u===!1&&(u=i.apply(this,a)),u}:e.renderers[l.name]=l.renderer}if("tokenizer"in l){if(!l.level||l.level!=="block"&&l.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");let i=e[l.level];i?i.unshift(l.tokenizer):e[l.level]=[l.tokenizer],l.start&&(l.level==="block"?e.startBlock?e.startBlock.push(l.start):e.startBlock=[l.start]:l.level==="inline"&&(e.startInline?e.startInline.push(l.start):e.startInline=[l.start]))}"childTokens"in l&&l.childTokens&&(e.childTokens[l.name]=l.childTokens)}),s.extensions=e),n.renderer){let l=this.defaults.renderer||new Ks(this.defaults);for(let i in n.renderer){if(!(i in l))throw new Error(`renderer '${i}' does not exist`);if(["options","parser"].includes(i))continue;let a=i,u=n.renderer[a],c=l[a];l[a]=(...d)=>{let p=u.apply(l,d);return p===!1&&(p=c.apply(l,d)),p||""}}s.renderer=l}if(n.tokenizer){let l=this.defaults.tokenizer||new Qs(this.defaults);for(let i in n.tokenizer){if(!(i in l))throw new Error(`tokenizer '${i}' does not exist`);if(["options","rules","lexer"].includes(i))continue;let a=i,u=n.tokenizer[a],c=l[a];l[a]=(...d)=>{let p=u.apply(l,d);return p===!1&&(p=c.apply(l,d)),p}}s.tokenizer=l}if(n.hooks){let l=this.defaults.hooks||new bs;for(let i in n.hooks){if(!(i in l))throw new Error(`hook '${i}' does not exist`);if(["options","block"].includes(i))continue;let a=i,u=n.hooks[a],c=l[a];bs.passThroughHooks.has(i)?l[a]=d=>{if(this.defaults.async&&bs.passThroughHooksRespectAsync.has(i))return(async()=>{let g=await u.call(l,d);return c.call(l,g)})();let p=u.call(l,d);return c.call(l,p)}:l[a]=(...d)=>{if(this.defaults.async)return(async()=>{let g=await u.apply(l,d);return g===!1&&(g=await c.apply(l,d)),g})();let p=u.apply(l,d);return p===!1&&(p=c.apply(l,d)),p}}s.hooks=l}if(n.walkTokens){let l=this.defaults.walkTokens,i=n.walkTokens;s.walkTokens=function(a){let u=[];return u.push(i.call(this,a)),l&&(u=u.concat(l.call(this,a))),u}}this.defaults={...this.defaults,...s}}),this}setOptions(t){return this.defaults={...this.defaults,...t},this}lexer(t,e){return Xe.lex(t,e??this.defaults)}parser(t,e){return Ve.parse(t,e??this.defaults)}parseMarkdown(t){return(e,n)=>{let s={...n},l={...this.defaults,...s},i=this.onError(!!l.silent,!!l.async);if(this.defaults.async===!0&&s.async===!1)return i(new Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));if(typeof e>"u"||e===null)return i(new Error("marked(): input parameter is undefined or null"));if(typeof e!="string")return i(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(e)+", string expected"));if(l.hooks&&(l.hooks.options=l,l.hooks.block=t),l.async)return(async()=>{let a=l.hooks?await l.hooks.preprocess(e):e,u=await(l.hooks?await l.hooks.provideLexer(t):t?Xe.lex:Xe.lexInline)(a,l),c=l.hooks?await l.hooks.processAllTokens(u):u;l.walkTokens&&await Promise.all(this.walkTokens(c,l.walkTokens));let d=await(l.hooks?await l.hooks.provideParser(t):t?Ve.parse:Ve.parseInline)(c,l);return l.hooks?await l.hooks.postprocess(d):d})().catch(i);try{l.hooks&&(e=l.hooks.preprocess(e));let a=(l.hooks?l.hooks.provideLexer(t):t?Xe.lex:Xe.lexInline)(e,l);l.hooks&&(a=l.hooks.processAllTokens(a)),l.walkTokens&&this.walkTokens(a,l.walkTokens);let u=(l.hooks?l.hooks.provideParser(t):t?Ve.parse:Ve.parseInline)(a,l);return l.hooks&&(u=l.hooks.postprocess(u)),u}catch(a){return i(a)}}}onError(t,e){return n=>{if(n.message+=`
|
|
66
|
+
Please report this to https://github.com/markedjs/marked.`,t){let s="<p>An error occurred:</p><pre>"+at(n.message+"",!0)+"</pre>";return e?Promise.resolve(s):s}if(e)return Promise.reject(n);throw n}}},sn=new ja;function V(t,e){return sn.parse(t,e)}V.options=V.setOptions=function(t){return sn.setOptions(t),V.defaults=sn.defaults,qi(V.defaults),V};V.getDefaults=zl;V.defaults=ln;V.use=function(...t){return sn.use(...t),V.defaults=sn.defaults,qi(V.defaults),V};V.walkTokens=function(t,e){return sn.walkTokens(t,e)};V.parseInline=sn.parseInline;V.Parser=Ve;V.parser=Ve.parse;V.Renderer=Ks;V.TextRenderer=Wl;V.Lexer=Xe;V.lexer=Xe.lex;V.Tokenizer=Qs;V.Hooks=bs;V.parse=V;V.options;V.setOptions;V.use;V.walkTokens;V.parseInline;Ve.parse;Xe.lex;function qa(t){const e=t.subsprints.flatMap(A=>A.items),{available:n,blocked:s}=Wa(t,e),l=new Set(s.map(A=>A.id)),i=n[0]??null,a=n[1]??null,u=i?t.subsprints.find(A=>A.id===i.subsprint_id)??null:t.subsprints.find(A=>A.status==="open")??null,c=e.filter(A=>A.status!=="open").length,d=Za(e),p=Xa(e),g=Va(t),k=t.subsprints.map(A=>{const m=A.items.length,x=A.items.filter(E=>E.status!=="open").length;return{id:A.id,label:A.description,done:x,total:m,percent:$l(x,m)}});return{sprint:t,activeSubsprint:u,currentItem:i,nextItem:a,blockedItems:s,progress:{items:{total:e.length,done:c,open:e.length-c,percent:$l(c,e.length)},statuses:d,gates:p,subsprints:k,code:g},artifacts:{active:t.artifacts.filter(A=>A.status==="active"),recent:t.artifacts.filter(A=>A.status==="active").slice(-6).reverse(),deprecated:t.artifacts.filter(A=>A.status==="deprecated")},tree:t.subsprints.map(A=>Ya(A,u,i,a,l)),timeline:t.timeline.slice().reverse().map(li),ledger:t.timeline.slice().reverse().map(li)}}function Wa(t,e){var d;const n=new Map(e.filter(p=>p.status==="open").map(p=>[p.id,p])),s=new Map(t.graph.nodes.map(p=>[p.id,p.status])),l=(t.graph.topological_order??[]).map(p=>n.get(p)).filter(p=>!!p),i=new Set(l.map(p=>p.id)),a=[...l,...e.filter(p=>p.status==="open"&&!i.has(p.id))],u=[],c=[];for(const p of a)(((d=t.graph.blocked_by)==null?void 0:d[p.id])??p.dependencies).some(k=>s.get(k)==="open")?c.push(p):u.push(p);return{available:u,blocked:c}}function Ya(t,e,n,s,l){const i=t.items.length,a=t.items.filter(c=>c.status!=="open").length,u=(e==null?void 0:e.id)===t.id;return{id:t.id,label:t.description,goals:t.goals,status:t.status,defaultOpen:u,tone:t.status==="closed"?"done":t.status==="deprecated"?"muted":u?"active":"normal",progress:{done:a,total:i,percent:$l(a,i)},items:t.items.map(c=>({id:c.id,label:Ka(c),status:c.status,tone:c.id===(n==null?void 0:n.id)?"current":c.id===(s==null?void 0:s.id)?"next":l.has(c.id)?"blocked":c.status==="open"?"normal":"muted",gateSummary:Qa(c),dependencies:c.dependencies,blocked:l.has(c.id)}))}}function Za(t){return{total:t.length,completed:t.filter(e=>e.status==="completed").length,open:t.filter(e=>e.status==="open").length,split:t.filter(e=>e.status==="split").length,deprecated:t.filter(e=>e.status==="deprecated").length}}function Xa(t){const e=t.reduce((l,i)=>l+i.gates.length,0),n=t.reduce((l,i)=>l+i.gate_results.filter(a=>a.passed).length,0),s=t.reduce((l,i)=>l+i.gate_results.filter(a=>!a.passed).length,0);return{total:e,passed:n,failed:s,pending:Math.max(0,e-n-s)}}function Va(t){return{files:t.change_map.by_file.length,additions:t.change_map.by_file.reduce((e,n)=>e+n.additions,0),deletions:t.change_map.by_file.reduce((e,n)=>e+n.deletions,0),net:t.change_map.by_file.reduce((e,n)=>e+n.net,0),churn:t.change_map.by_file.reduce((e,n)=>e+n.churn,0),hotspots:t.change_map.hotspots.length}}function Qa(t){if(t.gates.length===0)return"no gates";const e=t.gate_results.filter(l=>l.passed).length,n=t.gate_results.filter(l=>!l.passed).length,s=Math.max(0,t.gates.length-e-n);return`${e}/${t.gates.length} pass${n?`, ${n} fail`:""}${s?`, ${s} pending`:""}`}function Ka(t){const e=t.title;return e!=null&&e.trim()?e:t.description.split(/\s+/).slice(0,10).join(" ")}function li(t){return{seq:t.seq,id:t.id,type:t.type,text:t.text,time:t.ts}}function $l(t,e){return e===0?0:Math.round(t/e*100)}const{document:Ja}=io;function ri(t,e,n){const s=t.slice();return s[28]=e[n],s}function ii(t,e,n){const s=t.slice();return s[28]=e[n],s}function oi(t,e,n){const s=t.slice();return s[33]=e[n],s}function ai(t,e,n){const s=t.slice();return s[36]=e[n],s}function ci(t,e,n){const s=t.slice();return s[39]=e[n],s}function ui(t,e,n){const s=t.slice();return s[42]=e[n],s}function ec(t){var Er,vr,Rr,xr,Ir;let e,n,s,l,i,a,u,c=t[0].sprint.goal+"",d,p,g,k,A=(t[0].sprint.branch||"detached")+"",m,x,E,P,H=(t[0].sprint.dir||t[0].sprint.worktree)+"",Y,z,B,O,C=(t[0].sprint.data_dir||"not configured")+"",G,Z,W,U,$=Js(t[0].sprint.created_at)+"",_e,ie,N,D,fe,He=t[0].sprint.status+"",Ct,rn,oe,Dt,on=(((Er=t[0].sprint.coverage)==null?void 0:Er.lines.percent)??"--")+"",Vn,Ss,ys,he,Pt,As,Mt,ne,kt,K,Tt,J,pe,wt,de,qe,Qe,an,Qn,Ue,Ke=t[0].progress.items.percent+"",We,cn,un,Ye,Je,ct,Kn,et,$t=t[0].progress.items.done+"",zt,pn,Ze=t[0].progress.items.total+"",Ne,fn,Jn,ut,tt,hn,pt=t[0].progress.statuses.total+"",St,Te,ft,Ce,yt,dn,Ut=t[0].progress.statuses.completed+"",Ft,es,gn,mn,nt,bn=t[0].progress.statuses.open+"",ts,ee,ht,_n,Bt,At=t[0].progress.statuses.split+"",kn,ns,Es,Tn,wn,Sn=t[0].progress.statuses.deprecated+"",Ge,ss,st,Et,Ht,yn,An,dt=t[0].progress.code.churn+"",Gt,jt,ae,lt,Fe,En=t[0].progress.code.additions+"",ls,rs,is,vn,Rn,xn=t[0].progress.code.deletions+"",os,as,qt,vt,y,o=t[0].progress.code.files+"",h,w,R,M,F,re=t[0].progress.code.hotspots+"",se,we,De,Rt,ue,vs=t[0].progress.gates.passed+"",sl,Yl,Zl,Rs,ll,xs=t[0].progress.gates.pending+"",rl,Xl,Vl,In,Wt,Ln,il,Ql,ol,Is=t[0].sprint.subsprints.length+"",al,Kl,cs,Jl,rt,On,gt,Ls,Os=(((vr=t[4])==null?void 0:vr.id)??"No subsprint")+"",cl,er,ul,Ns=(((Rr=t[4])==null?void 0:Rr.description)??"No subsprint selected")+"",pl,tr,nr,Yt,fl,Zt,sr,Cs,lr,hl,Xt,rr,Vt,Nn,dl,ir,Ds,Ps=t[0].artifacts.active.length+"",gl,or,ar,Qt,cr,Kt,Cn,ml,ur,Ms,$s=t[0].timeline.length+"",bl,pr,fr,Jt,hr,en,Dn,Pn,_l,dr,zs,Us=t[5].length+"",kl,gr,mr,xt,Mn,br,Fs,_r,us,Bs=t[2]+1+"",Tl,kr,wl,Tr,$n,wr,Hs,Sr,Gs,ps,Sl,yr,js,yl,Ar,Be=t[8]&&pi(),zn=je(t[0].tree),Se=[];for(let _=0;_<zn.length;_+=1)Se[_]=fi(ui(t,zn,_));let Pe=t[4]&&hi(t),Me=t[4]&&di(t),$e=((xr=t[4])==null?void 0:xr.goals.length)&&gi(t),mt=je(((Ir=t[4])==null?void 0:Ir.items)??[]),ye=[];for(let _=0;_<mt.length;_+=1)ye[_]=Ai(ai(t,mt,_));let Ae=null;mt.length||(Ae=bi());let bt=je(t[0].artifacts.recent),Ee=[];for(let _=0;_<bt.length;_+=1)Ee[_]=vi(oi(t,bt,_));let ve=null;bt.length||(ve=Ei());let _t=je(t[11]),Re=[];for(let _=0;_<_t.length;_+=1)Re[_]=xi(ii(t,_t,_));let xe=null;_t.length||(xe=Ri());let Un=je(t[12]),Ie=[];for(let _=0;_<Un.length;_+=1)Ie[_]=Ii(ri(t,Un,_));return{c(){e=f("div"),n=f("div"),s=f("header"),l=f("div"),i=f("div"),i.textContent="Sprinty dashboard",a=S(),u=f("h1"),d=T(c),p=S(),g=f("div"),k=f("span"),m=T(A),x=S(),E=f("span"),P=T("git "),Y=T(H),z=S(),B=f("span"),O=T("data "),G=T(C),Z=S(),W=f("span"),U=T("started "),_e=T($),ie=S(),Be&&Be.c(),N=S(),D=f("div"),fe=f("span"),Ct=T(He),oe=S(),Dt=f("span"),Vn=T(on),Ss=T("% cov"),ys=S(),he=f("button"),Pt=f("span"),As=S(),Mt=f("span"),ne=S(),kt=f("span"),J=S(),pe=f("main"),wt=f("section"),de=f("div"),qe=f("div"),Qe=f("div"),an=f("span"),an.textContent="Sprint progress",Qn=S(),Ue=f("strong"),We=T(Ke),cn=T("%"),un=S(),Ye=f("div"),Je=f("div"),Kn=S(),et=f("div"),zt=T($t),pn=T("/"),Ne=T(Ze),fn=T(" items terminal"),Jn=S(),ut=f("div"),tt=f("div"),hn=f("span"),St=T(pt),ft=S(),Ce=f("div"),yt=f("span"),dn=f("b"),Ft=T(Ut),es=T(" done"),gn=S(),mn=f("span"),nt=f("b"),ts=T(bn),ee=T(" todo"),ht=S(),_n=f("span"),Bt=f("b"),kn=T(At),ns=T(" split"),Es=S(),Tn=f("span"),wn=f("b"),Ge=T(Sn),ss=T(" deprecated"),st=S(),Et=f("div"),Ht=f("div"),yn=f("span"),yn.textContent="Code stats",An=f("strong"),Gt=T(dt),jt=S(),ae=f("div"),lt=f("span"),Fe=f("b"),ls=T(En),rs=T(" added"),is=S(),vn=f("span"),Rn=f("b"),os=T(xn),as=T(" deleted"),qt=S(),vt=f("span"),y=f("b"),h=T(o),w=T(" files"),R=S(),M=f("span"),F=f("b"),se=T(re),we=T(" hotspots"),De=S(),Rt=f("span"),ue=f("b"),sl=T(vs),Yl=T(" gates passed"),Zl=S(),Rs=f("span"),ll=f("b"),rl=T(xs),Xl=T(" gates pending"),Vl=S(),In=f("section"),Wt=f("aside"),Ln=f("div"),il=f("h2"),il.textContent="Subsprints",Ql=S(),ol=f("span"),al=T(Is),Kl=S(),cs=f("div");for(let _=0;_<Se.length;_+=1)Se[_].c();Jl=S(),rt=f("section"),On=f("div"),gt=f("div"),Ls=f("div"),cl=T(Os),er=S(),ul=f("h2"),pl=T(Ns),tr=S(),Pe&&Pe.c(),nr=S(),Yt=f("div"),Me&&Me.c(),fl=S(),Zt=f("button"),sr=T("Collapse all"),lr=S(),$e&&$e.c(),hl=S(),Xt=f("div");for(let _=0;_<ye.length;_+=1)ye[_].c();Ae&&Ae.c(),rr=S(),Vt=f("section"),Nn=f("div"),dl=f("span"),dl.textContent="Artifacts",ir=S(),Ds=f("span"),gl=T(Ps),or=T(" active"),ar=S(),Qt=f("div");for(let _=0;_<Ee.length;_+=1)Ee[_].c();ve&&ve.c(),cr=S(),Kt=f("section"),Cn=f("div"),ml=f("span"),ml.textContent="Timeline",ur=S(),Ms=f("span"),bl=T($s),pr=T(" events"),fr=S(),Jt=f("div");for(let _=0;_<Re.length;_+=1)Re[_].c();xe&&xe.c(),hr=S(),en=f("section"),Dn=f("div"),Pn=f("div"),_l=f("span"),_l.textContent="Ledger",dr=S(),zs=f("span"),kl=T(Us),gr=T(" rows"),mr=S(),xt=f("div"),Mn=f("button"),br=T("Prev"),_r=S(),us=f("span"),Tl=T(Bs),kr=T("/"),wl=T(t[6]),Tr=S(),$n=f("button"),wr=T("Next"),Sr=S(),Gs=f("div"),ps=f("table"),Sl=f("thead"),Sl.innerHTML="<tr><th>Seq</th><th>Type</th><th>Target</th><th>Text</th><th>Time</th></tr>",yr=S(),js=f("tbody");for(let _=0;_<Ie.length;_+=1)Ie[_].c();b(i,"class","eyebrow"),b(E,"class","truncate"),b(B,"class","truncate"),b(g,"class","meta-line"),b(l,"class","min-w-0"),b(fe,"class",rn=Zn(t[0].sprint.status)),b(Dt,"class","coverage-chip badge badge-outline"),b(Pt,"class","theme-switch-icon theme-switch-sun"),b(Pt,"aria-hidden","true"),b(Mt,"class","theme-switch-icon theme-switch-moon"),b(Mt,"aria-hidden","true"),b(kt,"class","theme-switch-thumb"),b(kt,"aria-hidden","true"),b(he,"class","theme-switch"),b(he,"aria-label",K=`Switch to ${t[9]?"light":"dark"} theme`),b(he,"aria-pressed",t[9]),b(he,"title",Tt=`Switch to ${t[9]?"light":"dark"} theme`),b(D,"class","topbar-actions"),b(s,"class","topbar"),b(Qe,"class","metric-heading"),b(Je,"class","progress-fill"),b(Je,"style",ct=`width:${t[0].progress.items.percent}%`),b(Ye,"class","progress-track"),b(et,"class","metric-foot"),b(qe,"class","metric-panel metric-progress"),b(tt,"class","donut"),b(tt,"style",Te=`background:${Di(t[0])}`),b(dn,"class","legend-done"),b(nt,"class","legend-open"),b(Bt,"class","legend-split"),b(wn,"class","legend-muted"),b(Ce,"class","status-legend"),b(ut,"class","metric-panel metric-status"),b(Ht,"class","metric-heading"),b(ae,"class","code-grid"),b(Et,"class","metric-panel code-metrics"),b(de,"class","metrics-grid"),b(wt,"class","overview-band"),b(wt,"data-testid","stats-strip"),b(Ln,"class","tree-header"),b(cs,"class","tree-list"),b(Wt,"class","tree-panel"),b(Wt,"data-testid","subsprint-sidebar"),b(Ls,"class","eyebrow"),b(gt,"class","min-w-0"),b(Zt,"class","collapse-button"),Zt.disabled=Cs=t[10]===0,b(Yt,"class","core-actions"),b(On,"class","core-header"),b(Xt,"class","todo-list"),b(rt,"class","core-panel"),b(rt,"data-testid","item-core"),b(In,"class","workbench"),b(Nn,"class","section-title"),b(Qt,"class","artifact-list"),b(Vt,"class","artifact-strip"),b(Vt,"data-testid","artifact-shelf"),b(Cn,"class","section-title"),b(Jt,"class","timeline-list"),b(Kt,"class","timeline-panel"),b(Kt,"data-testid","timeline-panel"),b(Pn,"class","section-title"),Mn.disabled=Fs=t[2]===0,$n.disabled=Hs=t[2]>=t[6]-1,b(xt,"class","pager"),b(Dn,"class","ledger-header"),b(Gs,"class","table-scroll"),b(en,"class","ledger-panel"),b(en,"data-testid","ledger-table"),b(pe,"class","dashboard-main"),b(n,"class","dashboard-canvas"),b(e,"class","dashboard-frame"),b(e,"data-theme",t[3]),Xs(e,"dark",t[9])},m(_,L){le(_,e,L),r(e,n),r(n,s),r(s,l),r(l,i),r(l,a),r(l,u),r(u,d),r(l,p),r(l,g),r(g,k),r(k,m),r(g,x),r(g,E),r(E,P),r(E,Y),r(g,z),r(g,B),r(B,O),r(B,G),r(g,Z),r(g,W),r(W,U),r(W,_e),r(g,ie),Be&&Be.m(g,null),r(s,N),r(s,D),r(D,fe),r(fe,Ct),r(D,oe),r(D,Dt),r(Dt,Vn),r(Dt,Ss),r(D,ys),r(D,he),r(he,Pt),r(he,As),r(he,Mt),r(he,ne),r(he,kt),r(n,J),r(n,pe),r(pe,wt),r(wt,de),r(de,qe),r(qe,Qe),r(Qe,an),r(Qe,Qn),r(Qe,Ue),r(Ue,We),r(Ue,cn),r(qe,un),r(qe,Ye),r(Ye,Je),r(qe,Kn),r(qe,et),r(et,zt),r(et,pn),r(et,Ne),r(et,fn),r(de,Jn),r(de,ut),r(ut,tt),r(tt,hn),r(hn,St),r(ut,ft),r(ut,Ce),r(Ce,yt),r(yt,dn),r(dn,Ft),r(yt,es),r(Ce,gn),r(Ce,mn),r(mn,nt),r(nt,ts),r(mn,ee),r(Ce,ht),r(Ce,_n),r(_n,Bt),r(Bt,kn),r(_n,ns),r(Ce,Es),r(Ce,Tn),r(Tn,wn),r(wn,Ge),r(Tn,ss),r(de,st),r(de,Et),r(Et,Ht),r(Ht,yn),r(Ht,An),r(An,Gt),r(Et,jt),r(Et,ae),r(ae,lt),r(lt,Fe),r(Fe,ls),r(lt,rs),r(ae,is),r(ae,vn),r(vn,Rn),r(Rn,os),r(vn,as),r(ae,qt),r(ae,vt),r(vt,y),r(y,h),r(vt,w),r(ae,R),r(ae,M),r(M,F),r(F,se),r(M,we),r(ae,De),r(ae,Rt),r(Rt,ue),r(ue,sl),r(Rt,Yl),r(ae,Zl),r(ae,Rs),r(Rs,ll),r(ll,rl),r(Rs,Xl),r(pe,Vl),r(pe,In),r(In,Wt),r(Wt,Ln),r(Ln,il),r(Ln,Ql),r(Ln,ol),r(ol,al),r(Wt,Kl),r(Wt,cs);for(let Q=0;Q<Se.length;Q+=1)Se[Q]&&Se[Q].m(cs,null);r(In,Jl),r(In,rt),r(rt,On),r(On,gt),r(gt,Ls),r(Ls,cl),r(gt,er),r(gt,ul),r(ul,pl),r(gt,tr),Pe&&Pe.m(gt,null),r(On,nr),r(On,Yt),Me&&Me.m(Yt,null),r(Yt,fl),r(Yt,Zt),r(Zt,sr),r(rt,lr),$e&&$e.m(rt,null),r(rt,hl),r(rt,Xt);for(let Q=0;Q<ye.length;Q+=1)ye[Q]&&ye[Q].m(Xt,null);Ae&&Ae.m(Xt,null),r(pe,rr),r(pe,Vt),r(Vt,Nn),r(Nn,dl),r(Nn,ir),r(Nn,Ds),r(Ds,gl),r(Ds,or),r(Vt,ar),r(Vt,Qt);for(let Q=0;Q<Ee.length;Q+=1)Ee[Q]&&Ee[Q].m(Qt,null);ve&&ve.m(Qt,null),r(pe,cr),r(pe,Kt),r(Kt,Cn),r(Cn,ml),r(Cn,ur),r(Cn,Ms),r(Ms,bl),r(Ms,pr),r(Kt,fr),r(Kt,Jt);for(let Q=0;Q<Re.length;Q+=1)Re[Q]&&Re[Q].m(Jt,null);xe&&xe.m(Jt,null),r(pe,hr),r(pe,en),r(en,Dn),r(Dn,Pn),r(Pn,_l),r(Pn,dr),r(Pn,zs),r(zs,kl),r(zs,gr),r(Dn,mr),r(Dn,xt),r(xt,Mn),r(Mn,br),r(xt,_r),r(xt,us),r(us,Tl),r(us,kr),r(us,wl),r(xt,Tr),r(xt,$n),r($n,wr),r(en,Sr),r(en,Gs),r(Gs,ps),r(ps,Sl),r(ps,yr),r(ps,js);for(let Q=0;Q<Ie.length;Q+=1)Ie[Q]&&Ie[Q].m(js,null);yl||(Ar=[Wn(he,"click",t[13]),Wn(Zt,"click",t[16]),Wn(Mn,"click",t[25]),Wn($n,"click",t[26])],yl=!0)},p(_,L){var Q,Lr,Or,Nr,Cr;if(L[0]&1&&c!==(c=_[0].sprint.goal+"")&&I(d,c),L[0]&1&&A!==(A=(_[0].sprint.branch||"detached")+"")&&I(m,A),L[0]&1&&H!==(H=(_[0].sprint.dir||_[0].sprint.worktree)+"")&&I(Y,H),L[0]&1&&C!==(C=(_[0].sprint.data_dir||"not configured")+"")&&I(G,C),L[0]&1&&$!==($=Js(_[0].sprint.created_at)+"")&&I(_e,$),_[8]?Be||(Be=pi(),Be.c(),Be.m(g,null)):Be&&(Be.d(1),Be=null),L[0]&1&&He!==(He=_[0].sprint.status+"")&&I(Ct,He),L[0]&1&&rn!==(rn=Zn(_[0].sprint.status))&&b(fe,"class",rn),L[0]&1&&on!==(on=(((Q=_[0].sprint.coverage)==null?void 0:Q.lines.percent)??"--")+"")&&I(Vn,on),L[0]&512&&K!==(K=`Switch to ${_[9]?"light":"dark"} theme`)&&b(he,"aria-label",K),L[0]&512&&b(he,"aria-pressed",_[9]),L[0]&512&&Tt!==(Tt=`Switch to ${_[9]?"light":"dark"} theme`)&&b(he,"title",Tt),L[0]&1&&Ke!==(Ke=_[0].progress.items.percent+"")&&I(We,Ke),L[0]&1&&ct!==(ct=`width:${_[0].progress.items.percent}%`)&&b(Je,"style",ct),L[0]&1&&$t!==($t=_[0].progress.items.done+"")&&I(zt,$t),L[0]&1&&Ze!==(Ze=_[0].progress.items.total+"")&&I(Ne,Ze),L[0]&1&&pt!==(pt=_[0].progress.statuses.total+"")&&I(St,pt),L[0]&1&&Te!==(Te=`background:${Di(_[0])}`)&&b(tt,"style",Te),L[0]&1&&Ut!==(Ut=_[0].progress.statuses.completed+"")&&I(Ft,Ut),L[0]&1&&bn!==(bn=_[0].progress.statuses.open+"")&&I(ts,bn),L[0]&1&&At!==(At=_[0].progress.statuses.split+"")&&I(kn,At),L[0]&1&&Sn!==(Sn=_[0].progress.statuses.deprecated+"")&&I(Ge,Sn),L[0]&1&&dt!==(dt=_[0].progress.code.churn+"")&&I(Gt,dt),L[0]&1&&En!==(En=_[0].progress.code.additions+"")&&I(ls,En),L[0]&1&&xn!==(xn=_[0].progress.code.deletions+"")&&I(os,xn),L[0]&1&&o!==(o=_[0].progress.code.files+"")&&I(h,o),L[0]&1&&re!==(re=_[0].progress.code.hotspots+"")&&I(se,re),L[0]&1&&vs!==(vs=_[0].progress.gates.passed+"")&&I(sl,vs),L[0]&1&&xs!==(xs=_[0].progress.gates.pending+"")&&I(rl,xs),L[0]&1&&Is!==(Is=_[0].sprint.subsprints.length+"")&&I(al,Is),L[0]&278529){zn=je(_[0].tree);let v;for(v=0;v<zn.length;v+=1){const ze=ui(_,zn,v);Se[v]?Se[v].p(ze,L):(Se[v]=fi(ze),Se[v].c(),Se[v].m(cs,null))}for(;v<Se.length;v+=1)Se[v].d(1);Se.length=zn.length}if(L[0]&16&&Os!==(Os=(((Lr=_[4])==null?void 0:Lr.id)??"No subsprint")+"")&&I(cl,Os),L[0]&16&&Ns!==(Ns=(((Or=_[4])==null?void 0:Or.description)??"No subsprint selected")+"")&&I(pl,Ns),_[4]?Pe?Pe.p(_,L):(Pe=hi(_),Pe.c(),Pe.m(gt,null)):Pe&&(Pe.d(1),Pe=null),_[4]?Me?Me.p(_,L):(Me=di(_),Me.c(),Me.m(Yt,fl)):Me&&(Me.d(1),Me=null),L[0]&1024&&Cs!==(Cs=_[10]===0)&&(Zt.disabled=Cs),(Nr=_[4])!=null&&Nr.goals.length?$e?$e.p(_,L):($e=gi(_),$e.c(),$e.m(rt,hl)):$e&&($e.d(1),$e=null),L[0]&688146){mt=je(((Cr=_[4])==null?void 0:Cr.items)??[]);let v;for(v=0;v<mt.length;v+=1){const ze=ai(_,mt,v);ye[v]?ye[v].p(ze,L):(ye[v]=Ai(ze),ye[v].c(),ye[v].m(Xt,null))}for(;v<ye.length;v+=1)ye[v].d(1);ye.length=mt.length,!mt.length&&Ae?Ae.p(_,L):mt.length?Ae&&(Ae.d(1),Ae=null):(Ae=bi(),Ae.c(),Ae.m(Xt,null))}if(L[0]&1&&Ps!==(Ps=_[0].artifacts.active.length+"")&&I(gl,Ps),L[0]&1){bt=je(_[0].artifacts.recent);let v;for(v=0;v<bt.length;v+=1){const ze=oi(_,bt,v);Ee[v]?Ee[v].p(ze,L):(Ee[v]=vi(ze),Ee[v].c(),Ee[v].m(Qt,null))}for(;v<Ee.length;v+=1)Ee[v].d(1);Ee.length=bt.length,!bt.length&&ve?ve.p(_,L):bt.length?ve&&(ve.d(1),ve=null):(ve=Ei(),ve.c(),ve.m(Qt,null))}if(L[0]&1&&$s!==($s=_[0].timeline.length+"")&&I(bl,$s),L[0]&2048){_t=je(_[11]);let v;for(v=0;v<_t.length;v+=1){const ze=ii(_,_t,v);Re[v]?Re[v].p(ze,L):(Re[v]=xi(ze),Re[v].c(),Re[v].m(Jt,null))}for(;v<Re.length;v+=1)Re[v].d(1);Re.length=_t.length,!_t.length&&xe?xe.p(_,L):_t.length?xe&&(xe.d(1),xe=null):(xe=Ri(),xe.c(),xe.m(Jt,null))}if(L[0]&32&&Us!==(Us=_[5].length+"")&&I(kl,Us),L[0]&4&&Fs!==(Fs=_[2]===0)&&(Mn.disabled=Fs),L[0]&4&&Bs!==(Bs=_[2]+1+"")&&I(Tl,Bs),L[0]&64&&I(wl,_[6]),L[0]&68&&Hs!==(Hs=_[2]>=_[6]-1)&&($n.disabled=Hs),L[0]&4096){Un=je(_[12]);let v;for(v=0;v<Un.length;v+=1){const ze=ri(_,Un,v);Ie[v]?Ie[v].p(ze,L):(Ie[v]=Ii(ze),Ie[v].c(),Ie[v].m(js,null))}for(;v<Ie.length;v+=1)Ie[v].d(1);Ie.length=Un.length}L[0]&8&&b(e,"data-theme",_[3]),L[0]&512&&Xs(e,"dark",_[9])},d(_){_&&te(e),Be&&Be.d(),Gn(Se,_),Pe&&Pe.d(),Me&&Me.d(),$e&&$e.d(),Gn(ye,_),Ae&&Ae.d(),Gn(Ee,_),ve&&ve.d(),Gn(Re,_),xe&&xe.d(),Gn(Ie,_),yl=!1,Ts(Ar)}}}function tc(t){let e,n,s,l,i,a,u=t[7]&&Li(t);return{c(){e=f("main"),n=f("div"),s=f("div"),s.textContent="S",l=S(),i=f("h1"),i.textContent="Loading Sprinty",a=S(),u&&u.c(),b(s,"class","brand-mark"),b(n,"class","loading-panel"),b(e,"class","loading-screen")},m(c,d){le(c,e,d),r(e,n),r(n,s),r(n,l),r(n,i),r(n,a),u&&u.m(n,null)},p(c,d){c[7]?u?u.p(c,d):(u=Li(c),u.c(),u.m(n,null)):u&&(u.d(1),u=null)},d(c){c&&te(e),u&&u.d()}}}function pi(t){let e;return{c(){e=f("span"),e.textContent="stale connection",b(e,"class","warning-text")},m(n,s){le(n,e,s)},d(n){n&&te(e)}}}function fi(t){let e,n,s,l,i,a,u=t[42].id+"",c,d,p,g=t[42].label+"",k,A,m,x,E,P=t[42].progress.done+"",H,Y,z=t[42].progress.total+"",B,O,C,G,Z,W,U,$,_e;function ie(){return t[23](t[42])}return{c(){e=f("button"),n=f("div"),s=f("span"),i=S(),a=f("span"),c=T(u),d=S(),p=f("span"),k=T(g),A=S(),m=f("div"),x=f("span"),E=f("b"),H=T(P),Y=T("/"),B=T(z),O=S(),C=f("div"),G=f("div"),W=S(),b(s,"class",l=el(t[42].status)),b(a,"class","tree-id"),b(p,"class","tree-label"),b(n,"class","tree-row-main"),b(G,"style",Z=`width:${t[42].progress.percent}%`),b(C,"class","mini-track"),b(m,"class","tree-row-progress"),b(e,"class",U=t[18](t[42]))},m(N,D){le(N,e,D),r(e,n),r(n,s),r(n,i),r(n,a),r(a,c),r(n,d),r(n,p),r(p,k),r(e,A),r(e,m),r(m,x),r(x,E),r(E,H),r(x,Y),r(x,B),r(m,O),r(m,C),r(C,G),r(e,W),$||(_e=Wn(e,"click",ie),$=!0)},p(N,D){t=N,D[0]&1&&l!==(l=el(t[42].status))&&b(s,"class",l),D[0]&1&&u!==(u=t[42].id+"")&&I(c,u),D[0]&1&&g!==(g=t[42].label+"")&&I(k,g),D[0]&1&&P!==(P=t[42].progress.done+"")&&I(H,P),D[0]&1&&z!==(z=t[42].progress.total+"")&&I(B,z),D[0]&1&&Z!==(Z=`width:${t[42].progress.percent}%`)&&b(G,"style",Z),D[0]&1&&U!==(U=t[18](t[42]))&&b(e,"class",U)},d(N){N&&te(e),$=!1,_e()}}}function hi(t){let e,n=t[4].kind+"",s,l=t[4].spike_conclusion?`: ${t[4].spike_conclusion}`:"",i;return{c(){e=f("p"),s=T(n),i=T(l)},m(a,u){le(a,e,u),r(e,s),r(e,i)},p(a,u){u[0]&16&&n!==(n=a[4].kind+"")&&I(s,n),u[0]&16&&l!==(l=a[4].spike_conclusion?`: ${a[4].spike_conclusion}`:"")&&I(i,l)},d(a){a&&te(e)}}}function di(t){let e,n=t[4].status+"",s,l;return{c(){e=f("span"),s=T(n),b(e,"class",l=Zn(t[4].status))},m(i,a){le(i,e,a),r(e,s)},p(i,a){a[0]&16&&n!==(n=i[4].status+"")&&I(s,n),a[0]&16&&l!==(l=Zn(i[4].status))&&b(e,"class",l)},d(i){i&&te(e)}}}function gi(t){let e,n,s,l,i=je(t[4].goals),a=[];for(let u=0;u<i.length;u+=1)a[u]=mi(ci(t,i,u));return{c(){e=f("details"),n=f("summary"),n.textContent="Goals",s=S(),l=f("ul");for(let u=0;u<a.length;u+=1)a[u].c();b(e,"class","goals-fold")},m(u,c){le(u,e,c),r(e,n),r(e,s),r(e,l);for(let d=0;d<a.length;d+=1)a[d]&&a[d].m(l,null)},p(u,c){if(c[0]&16){i=je(u[4].goals);let d;for(d=0;d<i.length;d+=1){const p=ci(u,i,d);a[d]?a[d].p(p,c):(a[d]=mi(p),a[d].c(),a[d].m(l,null))}for(;d<a.length;d+=1)a[d].d(1);a.length=i.length}},d(u){u&&te(e),Gn(a,u)}}}function mi(t){let e,n=t[39]+"",s;return{c(){e=f("li"),s=T(n)},m(l,i){le(l,e,i),r(e,s)},p(l,i){i[0]&16&&n!==(n=l[39]+"")&&I(s,n)},d(l){l&&te(e)}}}function bi(t){let e;return{c(){e=f("div"),e.textContent="No items in this subsprint yet.",b(e,"class","empty-panel")},m(n,s){le(n,e,s)},p:Nt,d(n){n&&te(e)}}}function _i(t){let e,n,s=t[17](t[36].description)+"",l,i,a,u,c,d=t[36].code_locations.join(", ")+"",p,g,k,A,m,x=Ci(t[36])+"",E,P,H,Y,z,B,O=t[36].dependencies.length&&ki(t),C=t[36].commit_id&&Ti(t),G=t[36].changelog&&wi(t),Z=t[36].artifacts.length&&Si(t),W=t[36].follow_ups.length&&yi(t);return{c(){e=f("div"),n=f("div"),l=S(),i=f("div"),a=f("div"),u=f("span"),u.textContent="Files",c=f("strong"),p=T(d),g=S(),k=f("div"),A=f("span"),A.textContent="Gates",m=f("strong"),E=T(x),P=S(),O&&O.c(),H=S(),C&&C.c(),Y=S(),G&&G.c(),z=S(),Z&&Z.c(),B=S(),W&&W.c(),b(n,"class","detail-copy prose prose-zinc max-w-none dark:prose-invert"),b(i,"class","detail-grid"),b(e,"class","todo-detail")},m(U,$){le(U,e,$),r(e,n),n.innerHTML=s,r(e,l),r(e,i),r(i,a),r(a,u),r(a,c),r(c,p),r(i,g),r(i,k),r(k,A),r(k,m),r(m,E),r(i,P),O&&O.m(i,null),r(i,H),C&&C.m(i,null),r(i,Y),G&&G.m(i,null),r(i,z),Z&&Z.m(i,null),r(i,B),W&&W.m(i,null)},p(U,$){$[0]&16&&s!==(s=U[17](U[36].description)+"")&&(n.innerHTML=s),$[0]&16&&d!==(d=U[36].code_locations.join(", ")+"")&&I(p,d),$[0]&16&&x!==(x=Ci(U[36])+"")&&I(E,x),U[36].dependencies.length?O?O.p(U,$):(O=ki(U),O.c(),O.m(i,H)):O&&(O.d(1),O=null),U[36].commit_id?C?C.p(U,$):(C=Ti(U),C.c(),C.m(i,Y)):C&&(C.d(1),C=null),U[36].changelog?G?G.p(U,$):(G=wi(U),G.c(),G.m(i,z)):G&&(G.d(1),G=null),U[36].artifacts.length?Z?Z.p(U,$):(Z=Si(U),Z.c(),Z.m(i,B)):Z&&(Z.d(1),Z=null),U[36].follow_ups.length?W?W.p(U,$):(W=yi(U),W.c(),W.m(i,null)):W&&(W.d(1),W=null)},d(U){U&&te(e),O&&O.d(),C&&C.d(),G&&G.d(),Z&&Z.d(),W&&W.d()}}}function ki(t){let e,n,s,l=t[36].dependencies.join(", ")+"",i;return{c(){e=f("div"),n=f("span"),n.textContent="Depends on",s=f("strong"),i=T(l)},m(a,u){le(a,e,u),r(e,n),r(e,s),r(s,i)},p(a,u){u[0]&16&&l!==(l=a[36].dependencies.join(", ")+"")&&I(i,l)},d(a){a&&te(e)}}}function Ti(t){let e,n,s,l=t[36].commit_id+"",i;return{c(){e=f("div"),n=f("span"),n.textContent="Commit",s=f("strong"),i=T(l)},m(a,u){le(a,e,u),r(e,n),r(e,s),r(s,i)},p(a,u){u[0]&16&&l!==(l=a[36].commit_id+"")&&I(i,l)},d(a){a&&te(e)}}}function wi(t){let e,n,s,l=t[36].changelog.verb+"",i,a,u=t[36].changelog.line+"",c;return{c(){e=f("div"),n=f("span"),n.textContent="Changelog",s=f("strong"),i=T(l),a=T(": "),c=T(u)},m(d,p){le(d,e,p),r(e,n),r(e,s),r(s,i),r(s,a),r(s,c)},p(d,p){p[0]&16&&l!==(l=d[36].changelog.verb+"")&&I(i,l),p[0]&16&&u!==(u=d[36].changelog.line+"")&&I(c,u)},d(d){d&&te(e)}}}function Si(t){let e,n,s,l=t[36].artifacts.map($i).join(", ")+"",i;return{c(){e=f("div"),n=f("span"),n.textContent="Artifacts",s=f("strong"),i=T(l)},m(a,u){le(a,e,u),r(e,n),r(e,s),r(s,i)},p(a,u){u[0]&16&&l!==(l=a[36].artifacts.map($i).join(", ")+"")&&I(i,l)},d(a){a&&te(e)}}}function yi(t){let e,n,s,l=t[36].follow_ups.map(zi).join("; ")+"",i;return{c(){e=f("div"),n=f("span"),n.textContent="Follow-ups",s=f("strong"),i=T(l)},m(a,u){le(a,e,u),r(e,n),r(e,s),r(s,i)},p(a,u){u[0]&16&&l!==(l=a[36].follow_ups.map(zi).join("; ")+"")&&I(i,l)},d(a){a&&te(e)}}}function Ai(t){let e,n,s,l,i,a,u=t[36].id+"",c,d,p,g=Mi(t[36])+"",k,A,m,x=t[36].status+"",E,P,H,Y,z,B,O=t[1].includes(t[36].id),C,G,Z,W;function U(){return t[24](t[36])}let $=O&&_i(t);return{c(){e=f("article"),n=f("button"),s=f("span"),i=S(),a=f("span"),c=T(u),d=S(),p=f("span"),k=T(g),A=S(),m=f("span"),E=T(x),H=S(),Y=f("span"),B=S(),$&&$.c(),C=S(),b(s,"class",l=el(t[36].status)),b(a,"class","todo-id"),b(p,"class","todo-title"),b(m,"class",P=Zn(t[36].status)),b(Y,"class","todo-expand"),b(Y,"aria-hidden","true"),Xs(Y,"todo-expand-open",t[1].includes(t[36].id)),b(n,"class","todo-button"),b(n,"aria-expanded",z=t[1].includes(t[36].id)),b(e,"class",G=t[19](t[36])),b(e,"data-testid","item-row")},m(_e,ie){le(_e,e,ie),r(e,n),r(n,s),r(n,i),r(n,a),r(a,c),r(n,d),r(n,p),r(p,k),r(n,A),r(n,m),r(m,E),r(n,H),r(n,Y),r(e,B),$&&$.m(e,null),r(e,C),Z||(W=Wn(n,"click",U),Z=!0)},p(_e,ie){t=_e,ie[0]&16&&l!==(l=el(t[36].status))&&b(s,"class",l),ie[0]&16&&u!==(u=t[36].id+"")&&I(c,u),ie[0]&16&&g!==(g=Mi(t[36])+"")&&I(k,g),ie[0]&16&&x!==(x=t[36].status+"")&&I(E,x),ie[0]&16&&P!==(P=Zn(t[36].status))&&b(m,"class",P),ie[0]&18&&Xs(Y,"todo-expand-open",t[1].includes(t[36].id)),ie[0]&18&&z!==(z=t[1].includes(t[36].id))&&b(n,"aria-expanded",z),ie[0]&18&&(O=t[1].includes(t[36].id)),O?$?$.p(t,ie):($=_i(t),$.c(),$.m(e,C)):$&&($.d(1),$=null),ie[0]&16&&G!==(G=t[19](t[36]))&&b(e,"class",G)},d(_e){_e&&te(e),$&&$.d(),Z=!1,W()}}}function Ei(t){let e;return{c(){e=f("div"),e.textContent="No artifacts recorded yet.",b(e,"class","empty-inline")},m(n,s){le(n,e,s)},p:Nt,d(n){n&&te(e)}}}function vi(t){let e,n,s=t[33].kind+"",l,i,a,u=t[33].title+"",c,d,p,g=Pi(t[33])+"",k,A,m,x;return{c(){e=f("a"),n=f("span"),l=T(s),i=S(),a=f("strong"),c=T(u),d=S(),p=f("small"),k=T(g),A=S(),b(e,"class","artifact-token"),b(e,"href",m=t[33].uri),b(e,"title",x=t[33].uri)},m(E,P){le(E,e,P),r(e,n),r(n,l),r(e,i),r(e,a),r(a,c),r(e,d),r(e,p),r(p,k),r(e,A)},p(E,P){P[0]&1&&s!==(s=E[33].kind+"")&&I(l,s),P[0]&1&&u!==(u=E[33].title+"")&&I(c,u),P[0]&1&&g!==(g=Pi(E[33])+"")&&I(k,g),P[0]&1&&m!==(m=E[33].uri)&&b(e,"href",m),P[0]&1&&x!==(x=E[33].uri)&&b(e,"title",x)},d(E){E&&te(e)}}}function Ri(t){let e;return{c(){e=f("div"),e.textContent="No events yet.",b(e,"class","empty-inline")},m(n,s){le(n,e,s)},p:Nt,d(n){n&&te(e)}}}function xi(t){let e,n,s=Ni(t[28].time)+"",l,i,a,u=t[28].type+"",c,d,p,g=t[28].text+"",k,A;return{c(){e=f("div"),n=f("span"),l=T(s),i=S(),a=f("strong"),c=T(u),d=S(),p=f("p"),k=T(g),A=S(),b(e,"class","timeline-event")},m(m,x){le(m,e,x),r(e,n),r(n,l),r(e,i),r(e,a),r(a,c),r(e,d),r(e,p),r(p,k),r(e,A)},p(m,x){x[0]&2048&&s!==(s=Ni(m[28].time)+"")&&I(l,s),x[0]&2048&&u!==(u=m[28].type+"")&&I(c,u),x[0]&2048&&g!==(g=m[28].text+"")&&I(k,g)},d(m){m&&te(e)}}}function Ii(t){let e,n,s=t[28].seq+"",l,i,a,u=t[28].type+"",c,d,p,g=t[28].id+"",k,A,m,x=t[28].text+"",E,P,H,Y=Js(t[28].time)+"",z,B;return{c(){e=f("tr"),n=f("td"),l=T(s),i=S(),a=f("td"),c=T(u),d=S(),p=f("td"),k=T(g),A=S(),m=f("td"),E=T(x),P=S(),H=f("td"),z=T(Y),B=S()},m(O,C){le(O,e,C),r(e,n),r(n,l),r(e,i),r(e,a),r(a,c),r(e,d),r(e,p),r(p,k),r(e,A),r(e,m),r(m,E),r(e,P),r(e,H),r(H,z),r(e,B)},p(O,C){C[0]&4096&&s!==(s=O[28].seq+"")&&I(l,s),C[0]&4096&&u!==(u=O[28].type+"")&&I(c,u),C[0]&4096&&g!==(g=O[28].id+"")&&I(k,g),C[0]&4096&&x!==(x=O[28].text+"")&&I(E,x),C[0]&4096&&Y!==(Y=Js(O[28].time)+"")&&I(z,Y)},d(O){O&&te(e)}}}function Li(t){let e,n;return{c(){e=f("p"),n=T(t[7])},m(s,l){le(s,e,l),r(e,n)},p(s,l){l[0]&128&&I(n,s[7])},d(s){s&&te(e)}}}function nc(t){let e,n;function s(a,u){return a[0]?ec:tc}let l=s(t),i=l(t);return{c(){e=S(),i.c(),n=oo(),Ja.title="sprinty dashboard"},m(a,u){le(a,e,u),i.m(a,u),le(a,n,u)},p(a,u){l===(l=s(a))&&i?i.p(a,u):(i.d(1),i=l(a),i&&(i.c(),i.m(n.parentNode,n)))},i:Nt,o:Nt,d(a){a&&(te(e),te(n)),i.d(a)}}}const Ys=8,to="sprinty-dashboard-theme";function Oi(t){document.documentElement.dataset.theme=t,document.documentElement.classList.toggle("dark",t==="dark"),document.documentElement.style.colorScheme=t,document.body.dataset.theme=t,document.body.classList.toggle("dark",t==="dark"),window.localStorage.setItem(to,t)}function Js(t){if(!t)return"";const e=new Date(t);return Number.isNaN(e.valueOf())?t:e.toLocaleString()}function Ni(t){if(!t)return"";const e=new Date(t);return Number.isNaN(e.valueOf())?t:e.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})}function Zn(t){return t==="completed"||t==="closed"?"status-pill status-done":t==="open"||t==="active"?"status-pill status-open":t==="split"?"status-pill status-split":t==="deprecated"?"status-pill status-deprecated":"status-pill status-neutral"}function el(t){return t==="completed"||t==="closed"?"dot dot-done":t==="open"||t==="active"?"dot dot-open":t==="split"?"dot dot-split":t==="deprecated"?"dot dot-deprecated":"dot dot-neutral"}function Ci(t){const e=t.gate_results.filter(l=>l.passed).length,n=t.gate_results.filter(l=>!l.passed).length,s=Math.max(0,t.gates.length-e-n);return`${e}/${t.gates.length} passed${n?`, ${n} failed`:""}${s?`, ${s} pending`:""}`}function Di(t){const e=Math.max(1,t.progress.statuses.total),n=t.progress.statuses.completed/e*100,s=t.progress.statuses.open/e*100,l=t.progress.statuses.split/e*100,i=t.progress.statuses.deprecated/e*100;return`conic-gradient(#16a34a 0 ${n}%, #2563eb ${n}% ${n+s}%, #d97706 ${n+s}% ${n+s+l}%, #71717a ${n+s+l}% ${n+s+l+i}%, #d4d4d8 0)`}function Pi(t){return t.target_id==="sprint"?"sprint":t.target_id}function Mi(t){const e=t.title;return e!=null&&e.trim()?e:t.description.split(/\s+/).slice(0,10).join(" ")}const $i=t=>t.title,zi=t=>`${t.bug_ids.join(", ")}: ${t.description}`;function sc(t,e,n){let s,l,i,a,u,c,d,p=null,g=null,k=null,A=!1,m=null,x=[],E=0,P="dark",H=!1;uo(()=>{var He;const N=window.localStorage.getItem(to),D=((He=window.matchMedia)==null?void 0:He.call(window,"(prefers-color-scheme: light)").matches)??!1;n(3,P=N==="light"||N==="dark"?N:D?"light":"dark"),n(22,H=!0),Oi(P),z();const fe=setInterval(()=>void z(),2e3);return()=>clearInterval(fe)});function Y(){n(3,P=l?"light":"dark")}async function z(){try{const N=await fetch("/state");if(!N.ok)throw new Error(`${N.status} ${N.statusText}`);n(20,p=await N.json()),n(7,k=null),n(8,A=!1)}catch(N){n(7,k=N instanceof Error?N.message:"Unable to load state."),n(8,A=p!==null)}}function B(N){n(21,m=N.id)}function O(N){n(1,x=x.includes(N.id)?x.filter(D=>D!==N.id):[...x,N.id])}function C(){if(!s)return;const N=new Set(s.items.map(D=>D.id));n(1,x=x.filter(D=>!N.has(D)))}function G(N){return sa.sanitize(String(V.parse(N)))}function Z(N){const D=["tree-row"];return m===N.id&&D.push("tree-row-selected"),N.tone==="done"&&D.push("tree-row-done"),N.tone==="active"&&D.push("tree-row-active"),N.tone==="muted"&&D.push("tree-row-muted"),D.join(" ")}function W(N){var fe,He;const D=["todo-row"];return N.id===((fe=g==null?void 0:g.currentItem)==null?void 0:fe.id)?D.push("todo-current"):N.id===((He=g==null?void 0:g.nextItem)==null?void 0:He.id)?D.push("todo-next"):g!=null&&g.blockedItems.some(Ct=>Ct.id===N.id)&&D.push("todo-blocked"),N.status!=="open"&&D.push("todo-terminal"),D.join(" ")}const U=N=>B(N),$=N=>O(N),_e=()=>n(2,E=Math.max(0,E-1)),ie=()=>n(2,E=Math.min(a-1,E+1));return t.$$.update=()=>{var N,D;t.$$.dirty[0]&1048576&&n(0,g=p?qa(p):null),t.$$.dirty[0]&2097153&&g&&!m&&n(21,m=((N=g.activeSubsprint)==null?void 0:N.id)??((D=g.sprint.subsprints[0])==null?void 0:D.id)??null),t.$$.dirty[0]&2097153&&n(4,s=(g==null?void 0:g.sprint.subsprints.find(fe=>fe.id===m))??(g==null?void 0:g.activeSubsprint)??null),t.$$.dirty[0]&8&&n(9,l=P==="dark"),t.$$.dirty[0]&4194312&&H&&Oi(P),t.$$.dirty[0]&1&&n(5,i=(g==null?void 0:g.ledger)??[]),t.$$.dirty[0]&32&&n(6,a=Math.max(1,Math.ceil(i.length/Ys))),t.$$.dirty[0]&68&&E>a-1&&n(2,E=a-1),t.$$.dirty[0]&36&&n(12,u=i.slice(E*Ys,E*Ys+Ys)),t.$$.dirty[0]&1&&n(11,c=(g==null?void 0:g.timeline.slice(0,6))??[]),t.$$.dirty[0]&18&&n(10,d=(s==null?void 0:s.items.filter(fe=>x.includes(fe.id)).length)??0)},[g,x,E,P,s,i,a,k,A,l,d,c,u,Y,B,O,C,G,Z,W,p,m,H,U,$,_e,ie]}class lc extends So{constructor(e){super(),wo(this,e,sc,nc,lo,{},null,[-1,-1])}}new lc({target:document.getElementById("app")});
|