@continuous-excellence/ze-great-dashboard-client 0.29.0 → 0.29.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "index.html": {
3
- "file": "assets/index-IllBfdrc.js",
3
+ "file": "assets/index-B53iEZvu.js",
4
4
  "name": "index",
5
5
  "src": "index.html",
6
6
  "isEntry": true,
7
7
  "css": [
8
- "assets/index-C059EAiB.css"
8
+ "assets/index-B3fMD-vP.css"
9
9
  ]
10
10
  }
11
11
  }
@@ -0,0 +1 @@
1
+ ._board_2ghlz_1{gap:var(--gap);height:100dvh;min-height:0;padding:var(--gap);flex-direction:column;display:flex;overflow:hidden auto}._header_2ghlz_11{border-bottom:1px solid var(--edge);padding-bottom:var(--gap);flex:none;align-items:baseline;display:flex}._attentionRail_2ghlz_18{border:.14rem solid var(--status-critical);border-radius:var(--radius);color:var(--ink-primary);background:var(--surface-raised);align-items:flex-start;gap:.45em;margin-inline-start:auto;padding:.35em .55em;font-size:.7em;line-height:1.3;display:flex}._attentionRail_2ghlz_18 ul{margin:0;padding-left:1.1em}._attentionRail_2ghlz_18 a{color:inherit;-webkit-text-decoration-color:var(--status-critical);text-decoration-color:var(--status-critical)}._attentionRail_2ghlz_18 a:focus-visible{outline:.14rem solid var(--ink-primary);outline-offset:.12rem}._attentionGlyph_2ghlz_43{color:var(--status-critical)}._attention-beacon_2ghlz_46{outline:.16rem solid var(--status-critical);outline-offset:-.16rem;animation:1.8s ease-in-out infinite _attention-beacon_2ghlz_46}._attention-alarm_2ghlz_51{outline:.22rem solid var(--status-critical);outline-offset:-.22rem;animation:.75s steps(2,jump-none) infinite _attention-alarm_2ghlz_51}._attention-alarm_2ghlz_51 ._attentionRail_2ghlz_18{background:color-mix(in srgb, var(--status-critical) 18%, var(--surface-raised))}._attention-steady_2ghlz_59{outline:.22rem solid var(--status-critical);outline-offset:-.22rem}@keyframes _attention-beacon_2ghlz_46{50%{outline-color:var(--status-serious)}}@keyframes _attention-alarm_2ghlz_51{50%{outline-color:var(--ink-primary)}}@media (prefers-reduced-motion:reduce){._attention-beacon_2ghlz_46,._attention-alarm_2ghlz_51{outline:.22rem solid var(--status-critical);outline-offset:-.22rem;animation:none}}._title_2ghlz_81{letter-spacing:-.01em;margin:0;font-size:1.75em;font-weight:650}._grid_2ghlz_87{gap:var(--gap);flex:1;grid-template-rows:repeat(12,minmax(0,1fr));grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:minmax(0,1fr);align-content:stretch;min-height:0;display:grid}._footerTools_2ghlz_97{align-items:center;gap:.75rem;display:flex}._layoutWarning_2ghlz_102{position:relative}._layoutWarningButton_2ghlz_105{border:1px solid var(--status-warning);min-width:2em;min-height:2em;color:var(--status-warning);background:var(--surface-raised);font:inherit;cursor:pointer;border-radius:50%;justify-content:center;align-items:center;gap:.2em;display:inline-flex}._layoutWarningButton_2ghlz_105:hover,._layoutWarningButton_2ghlz_105:focus-visible{background:var(--surface)}._layoutWarningDialog_2ghlz_123{z-index:10;width:min(32rem, calc(100vw - 2 * var(--gap)));border:1px solid var(--status-warning);border-radius:var(--radius);color:var(--ink-secondary);background:var(--surface-raised);padding:.8rem;position:absolute;bottom:calc(100% + .75rem);right:0;box-shadow:0 .5rem 1.5rem #00000059}._layoutWarningHeading_2ghlz_136{justify-content:space-between;align-items:center;gap:1rem;display:flex}._layoutWarningHeading_2ghlz_136 strong{color:var(--status-warning)}._layoutWarningDialog_2ghlz_123 p{margin:.6rem 0}._layoutWarningDialog_2ghlz_123 ul{margin:.35rem 0 .75rem;padding-left:1.25rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85em}._layoutWarningClose_2ghlz_154{color:var(--ink-muted);cursor:pointer;background:0 0;border:0;font-size:1.25em;line-height:1}._layoutWarningDownloads_2ghlz_162{gap:.35rem;display:grid}._layoutWarningDownloads_2ghlz_162 button{border:1px solid var(--edge);background:var(--surface-raised);color:var(--ink-secondary);font:inherit;text-align:center;border-radius:.25rem;padding:.3em .55em;text-decoration:none}._layoutWarningDownloads_2ghlz_162 button:hover,._layoutWarningDownloads_2ghlz_162 button:focus-visible{border-color:var(--ink-secondary);color:var(--ink-primary)}._layoutWarningNote_2ghlz_181{color:var(--ink-muted);font-size:.85em}._footer_2ghlz_97{color:var(--ink-muted);flex:none;grid-template-columns:minmax(0,1fr) auto;justify-content:space-between;align-items:center;gap:.5rem;font-size:.75em;display:grid}@media (width<=64rem){._board_2ghlz_1{height:auto;min-height:100dvh;overflow:visible}._grid_2ghlz_87{flex:none;grid-template-rows:none;grid-template-columns:1fr;grid-auto-rows:auto;min-height:auto}._header_2ghlz_11{flex-direction:column;align-items:flex-start}._attentionRail_2ghlz_18{margin-inline-start:0}._layoutWarningDialog_2ghlz_123{right:var(--gap);bottom:calc(var(--gap) + 3rem);position:fixed}}._diagnostics_lseur_1{position:relative}._button_lseur_5{border:1px solid var(--edge);background:var(--surface-raised);color:var(--ink-secondary);font:inherit;border-radius:.25rem;padding:.3em .55em}._area_lseur_14{z-index:1;border:1px solid var(--edge);border-radius:var(--radius);background:var(--surface-raised);width:min(24rem,90vw);padding:.75rem;position:absolute;bottom:calc(100% + .5rem);right:0;box-shadow:0 .5rem 1.5rem #0008}._area_lseur_14 p{margin:0 0 .5rem}._warning_lseur_31{color:var(--status-warning)}._panels_lseur_35{border-top:1px solid var(--edge);max-height:12rem;margin:.5rem 0;padding-top:.5rem;overflow-y:auto}._actions_lseur_43{gap:.5rem;display:flex}._auth_19xn9_1{min-height:100dvh;color:var(--ink-primary);background:var(--surface);place-content:center;gap:.75rem;padding:2rem;display:grid}._auth_19xn9_1 h1,._auth_19xn9_1 p{margin:0}._auth_19xn9_1 button{border:1px solid var(--edge);border-radius:var(--radius);color:var(--ink-primary);background:var(--surface-raised);font:inherit;cursor:pointer;justify-self:start;padding:.5em .8em}._signout_19xn9_24{z-index:20;top:var(--gap);right:var(--gap);border:1px solid var(--edge);border-radius:var(--radius);color:var(--ink-secondary);background:var(--surface-raised);font:inherit;cursor:pointer;padding:.35em .6em;position:fixed}._panel_j8o4e_1{grid-column:var(--panel-column,span 6);grid-row:var(--panel-row,auto);min-width:0;min-height:0;padding:clamp(.5rem, .8vw, var(--gap));border:1px solid var(--edge);border-radius:var(--radius);background:var(--surface-raised);isolation:isolate;flex-direction:column;justify-content:flex-start;gap:.15em;line-height:1.2;display:flex;position:relative;overflow:hidden;container:panel/size}._attentionActive_j8o4e_22{outline:.14rem solid var(--status-critical);outline-offset:.16rem}._content_j8o4e_26{z-index:1;flex-direction:column;flex:0 auto;justify-content:flex-start;gap:.1em;min-width:0;min-height:0;display:flex;position:relative;overflow:hidden}._evidence_j8o4e_38{display:contents}._panel_j8o4e_1:has(._sourceAction_j8o4e_42) ._content_j8o4e_26{padding-inline-end:2.25em}._content_j8o4e_26>*,._details_j8o4e_46>*{min-width:0;max-width:100%}:is(._content_j8o4e_26:has([data-running-progress=runway]),._content_j8o4e_26:has([data-running-progress=signal-field])){flex:1 1 0}._statusBand_j8o4e_54{flex:1 1 0;grid-template-rows:2.6em minmax(0,1fr) auto;gap:0;display:grid}._statusBand_j8o4e_54>[data-panel-anchor=status]{inset-inline:0;grid-row:2;align-self:center;position:absolute;top:50%;transform:translateY(-50%)}._statusBand_j8o4e_54>[data-panel-anchor=evidence]{grid-row:3;align-self:end;display:block}._content_j8o4e_26:not(._statusBand_j8o4e_54)>[data-panel-anchor=status]{display:contents}._statusBand_j8o4e_54>[data-panel-anchor=status],._statusBand_j8o4e_54>[data-panel-anchor=evidence]{min-width:0}._error_j8o4e_80{border-color:var(--status-serious)}._wide_j8o4e_83{grid-column:span 12}._density-comfortable_j8o4e_86{gap:.1em;padding:.65em}._density-comfortable_j8o4e_86 ._content_j8o4e_26{gap:.1em}._density-compact_j8o4e_93{justify-content:flex-start;gap:0;min-height:3.5em;padding:.2em;line-height:1.05}._density-compact_j8o4e_93 ._content_j8o4e_26{gap:0}._label_j8o4e_103{overflow-wrap:anywhere;color:var(--ink-secondary);margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1em;font-weight:600}._statusBand_j8o4e_54 ._label_j8o4e_103{grid-row:1}._typeGlyph_j8o4e_114{display:none}._identityText_j8o4e_117{overflow-wrap:anywhere}._density-compact_j8o4e_93 ._label_j8o4e_103{font-size:.8em}._hint_j8o4e_123{color:var(--ink-muted);overflow-wrap:anywhere;margin:0;font-size:.75em}._branch_j8o4e_129{overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}._observed_j8o4e_133{flex-wrap:wrap;align-items:center;gap:.35em;display:flex}._meta_j8o4e_139{display:var(--panel-meta-display,block)}._metaValue_j8o4e_142{overflow-wrap:anywhere;min-width:0}._compactValue_j8o4e_146{display:none}._warning_j8o4e_149{color:var(--status-warning)}._serious_j8o4e_152{color:var(--status-serious)}._status_j8o4e_54{margin:0;font-size:1.35em;font-weight:650}._statusGlyph_j8o4e_160{display:inline-block}._compactOnlyStatus_j8o4e_163{display:none}._density-compact_j8o4e_93 ._status_j8o4e_54{font-size:1.1em}._passed_j8o4e_169{color:var(--status-good)}._failed_j8o4e_172{color:var(--status-critical)}._warning_j8o4e_149,._running_j8o4e_176{color:var(--status-warning)}._cancelled_j8o4e_179,._unknown_j8o4e_180{color:var(--ink-secondary)}._sourceAction_j8o4e_42{z-index:2;width:2em;height:2em;color:var(--ink-secondary);border-radius:.3em;place-items:center;font-size:.85em;font-weight:600;line-height:1;text-decoration:none;display:inline-grid;position:absolute;top:.35em;right:.35em}._sourceAction_j8o4e_42:hover{color:var(--ink-primary);background:color-mix(in srgb, var(--ink-primary) 8%, transparent)}._sourceAction_j8o4e_42:focus-visible{outline:2px solid var(--ink-primary);outline-offset:2px}._density-comfortable_j8o4e_86 :is(._hint_j8o4e_123,._observed_j8o4e_133),._density-compact_j8o4e_93 :is(._hint_j8o4e_123,._observed_j8o4e_133){font-size:.65em}@container panel (width>=48rem){._density-comfortable_j8o4e_86._shallow_j8o4e_213,._density-auto_j8o4e_214._shallow_j8o4e_213{padding:.45em .65em}._density-comfortable_j8o4e_86._shallow_j8o4e_213 ._content_j8o4e_26,._density-auto_j8o4e_214._shallow_j8o4e_213 ._content_j8o4e_26{flex-flow:wrap;align-items:baseline;gap:.15em .7em}._density-comfortable_j8o4e_86._shallow_j8o4e_213 ._status_j8o4e_54,._density-auto_j8o4e_214._shallow_j8o4e_213 ._status_j8o4e_54{flex:none;font-size:1em}._density-comfortable_j8o4e_86._shallow_j8o4e_213 :is(._label_j8o4e_103,._observed_j8o4e_133),._density-auto_j8o4e_214._shallow_j8o4e_213 :is(._label_j8o4e_103,._observed_j8o4e_133){flex:none}}@container panel (width>=12rem){._density-compact_j8o4e_93._shallow_j8o4e_213 ._content_j8o4e_26,._density-auto_j8o4e_214._shallow_j8o4e_213 ._content_j8o4e_26{flex-flow:wrap;align-items:baseline;gap:.15em .7em}._density-compact_j8o4e_93._shallow_j8o4e_213 :is(._label_j8o4e_103,._observed_j8o4e_133),._density-auto_j8o4e_214._shallow_j8o4e_213 :is(._label_j8o4e_103,._observed_j8o4e_133){flex:none}}@container panel (width<=22rem){._content_j8o4e_26,._sourceAction_j8o4e_42{font-size:.8em}}@container panel (width<=15rem){._content_j8o4e_26,._sourceAction_j8o4e_42{font-size:.9em}}@container panel (height<=10rem){._content_j8o4e_26,._sourceAction_j8o4e_42{font-size:.8em}}@container panel (height<=7rem){._content_j8o4e_26,._sourceAction_j8o4e_42{font-size:.9em}}@media (width<=64rem){._panel_j8o4e_1{--stacked-card-reading-line-height:1.25;grid-area:auto/1/auto/-1;min-height:6em;container-type:inline-size}._content_j8o4e_26{min-height:auto;line-height:var(--stacked-card-reading-line-height);flex-shrink:0;overflow:visible}._density-comfortable_j8o4e_86 ._content_j8o4e_26,._density-compact_j8o4e_93 ._content_j8o4e_26,._density-auto_j8o4e_214 ._content_j8o4e_26{flex-direction:column;align-items:stretch}}@container panel (width<=11rem) and (height<=9rem){._content_j8o4e_26{--panel-meta-display:flex}._label_j8o4e_103{font-size:.85em}._status_j8o4e_54{font-size:1.05em}}@container panel (height<=5rem){._content_j8o4e_26{--panel-meta-display:flex}._label_j8o4e_103{font-size:.85em}._status_j8o4e_54{font-size:1.05em}}@container panel (width<=13rem){._density-compact_j8o4e_93 ._content_j8o4e_26{--panel-meta-display:flex}._density-compact_j8o4e_93 ._content_j8o4e_26>._meta_j8o4e_139{font-size:.6em}._meta_j8o4e_139:has(._compactValue_j8o4e_146) ._fullValue_j8o4e_334{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}._meta_j8o4e_139:has(._compactValue_j8o4e_146) ._compactValue_j8o4e_146{display:inline}}@container panel (width<=8rem){._content_j8o4e_26{--panel-meta-display:flex;gap:.05em}}@container panel (height>=24rem) and (width<=13rem){._content_j8o4e_26{--panel-meta-display:flex;gap:.05em}._statusBand_j8o4e_54{grid-template-rows:2.6em minmax(0,1fr) 5em}}@container panel (height<=4rem){._content_j8o4e_26{--panel-meta-display:flex;gap:.05em}}@container panel (width<=13rem) and (height<=10rem){._density-comfortable_j8o4e_86 ._content_j8o4e_26>._meta_j8o4e_139{font-size:.68em}}@container panel (width<=18rem) and (height<=10rem){._density-compact_j8o4e_93 ._content_j8o4e_26>._meta_j8o4e_139{font-size:.6em}}._meta_j8o4e_139{align-items:center;gap:.2em;min-width:0}._metaValue_j8o4e_142{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@container panel (width<=13rem) and (height>=10rem) and (aspect-ratio<=3/4){._content_j8o4e_26{grid-template-rows:min-content;grid-template-columns:repeat(2,minmax(0,max-content));place-content:start center;gap:.45em;display:grid}._label_j8o4e_103{grid-area:1/1;margin:0}._typeGlyph_j8o4e_114{color:var(--ink-secondary);font-size:1.8em;line-height:1;display:inline-block}._status_j8o4e_54{grid-area:1/2;margin:0;font-size:1.8em;line-height:1}._compactOnlyStatus_j8o4e_163{display:block}._identityText_j8o4e_117,._statusText_j8o4e_429,._content_j8o4e_26>[data-panel-evidence-priority=secondary]>:not([data-panel-status]),._content_j8o4e_26>[data-panel-anchor=evidence][data-panel-evidence-priority=secondary]{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}._content_j8o4e_26>[data-panel-anchor=status]{grid-area:1/2;align-self:start}._statusBand_j8o4e_54{grid-template-rows:2.8em minmax(0,1fr) 5em;grid-template-columns:minmax(0,1fr);place-content:stretch;gap:0;display:grid}._statusBand_j8o4e_54 ._label_j8o4e_103{text-align:center;flex-direction:column;grid-area:1/1;justify-content:center;align-items:start;gap:.1em;width:100%;font-size:.78em;line-height:1.15;display:flex}._statusBand_j8o4e_54 ._identityText_j8o4e_117{clip:auto;white-space:normal;flex:none;width:100%;min-width:0;height:auto;margin:0;padding:0;position:static;overflow:visible}._statusBand_j8o4e_54>[data-panel-anchor=status]{inset-inline:auto;grid-area:2/1;place-self:center;position:static;top:auto;transform:none}._statusBand_j8o4e_54>[data-panel-anchor=evidence]{clip:auto;white-space:normal;grid-area:3/1;width:auto;height:auto;margin:0;padding:0;display:block;position:static;overflow:hidden}._statusBand_j8o4e_54 ._status_j8o4e_54{font-size:2.1em}}._fact_bnc4n_1{display:contents}._facts_bnc4n_5{grid-template-columns:repeat(2,minmax(0,1fr));gap:.35em .6em;min-width:0;display:grid}._factCell_bnc4n_12{min-width:0;padding:.1em 1.8em .1em 0;position:relative}._factCell_bnc4n_12 h3{color:var(--ink-secondary);overflow-wrap:anywhere;margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.65em;font-weight:600}._factCell_bnc4n_12 [data-panel-meta]{font-size:.55em}._factSource_bnc4n_31{width:1.5em;height:1.5em;color:var(--ink-secondary);border-radius:.25em;place-items:center;font-size:.7em;text-decoration:none;display:grid;position:absolute;top:.1em;right:.15em}._factSource_bnc4n_31:hover,._factSource_bnc4n_31:focus-visible{color:var(--ink-primary);background:color-mix(in srgb, var(--ink-primary) 8%, transparent)}@container panel (width<=13rem){._facts_bnc4n_5{grid-template-columns:1fr}}@container panel (width>=48rem){[data-density=compact][data-shallow=true] ._fact_bnc4n_1>*,[data-density=auto][data-shallow=true] ._fact_bnc4n_1>*{margin:0}}@container panel (width>=12rem){[data-density=compact][data-shallow=true] ._fact_bnc4n_1>*,[data-density=auto][data-shallow=true] ._fact_bnc4n_1>*{margin:0}}._variant_14ks8_1{color:var(--ink-muted);text-transform:capitalize;margin:0;font-size:.72em;transition:color .18s}@container panel (width<=13rem){._variantPrefix_14ks8_9{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}}@media (prefers-reduced-motion:reduce){._variant_14ks8_1{transition:none}}._field_1x3vm_1{z-index:0;pointer-events:none;contain:layout paint;color:var(--status-warning);position:absolute;inset:0;overflow:hidden}._grid_1x3vm_10{position:absolute;inset:10%}._piece_1x3vm_14{left:calc((var(--piece-x) / var(--shape-columns)) * 100%);top:calc((var(--piece-y) / var(--shape-rows)) * 100%);width:calc((var(--piece-width) / var(--shape-columns)) * 100%);height:calc((var(--piece-height) / var(--shape-rows)) * 100%);transition:left .12s linear,top .12s linear;position:absolute}._field_1x3vm_1[data-recycling=true] ._piece_1x3vm_14{transition:left .5s cubic-bezier(.22,1,.36,1),top .5s cubic-bezier(.22,1,.36,1),opacity .18s}._field_1x3vm_1[data-overdue=true] ._piece_1x3vm_14[data-piece-phase=settled]{opacity:.72;border-color:currentColor}._field_1x3vm_1[data-overdue=true] ._cell_1x3vm_34{background:color-mix(in srgb, currentColor 38%, transparent);box-shadow:0 0 .6em color-mix(in srgb, currentColor 48%, transparent)}._field_1x3vm_1[data-overdue=true] ._clearingCell_1x3vm_38{animation-duration:.9s}._cell_1x3vm_34{left:calc((var(--cell-x) / var(--piece-width)) * 100% + .12em);top:calc((var(--cell-y) / var(--piece-height)) * 100% + .12em);width:calc(100% / var(--piece-width) - .24em);height:calc(100% / var(--piece-height) - .24em);border:1px solid color-mix(in srgb, currentColor 55%, transparent);background:color-mix(in srgb, currentColor 28%, transparent);box-shadow:0 0 .45em color-mix(in srgb, currentColor 35%, transparent);border-radius:.12em;position:absolute}._clearingCell_1x3vm_38{left:calc((var(--clear-x) / var(--shape-columns)) * 100% + .12em);top:calc((var(--clear-y) / var(--shape-rows)) * 100% + .12em);width:calc(100% / var(--shape-columns) - .24em);height:calc(100% / var(--shape-rows) - .24em);border:1px solid color-mix(in srgb, currentColor 55%, transparent);background:color-mix(in srgb, currentColor 28%, transparent);border-radius:.12em;animation:.5s ease-out forwards _clear-cell_1x3vm_1;position:absolute}._piece_1x3vm_14[data-piece-phase=entry]{opacity:.35}._piece_1x3vm_14[data-piece-phase=align]{opacity:.65}._piece_1x3vm_14[data-piece-phase=travel]{opacity:.9}._piece_1x3vm_14[data-piece-phase=settled]{opacity:.5}@media (prefers-reduced-motion:reduce){._piece_1x3vm_14,._field_1x3vm_1[data-recycling=true] ._piece_1x3vm_14{transition:none}._field_1x3vm_1[data-overdue=true] ._clearingCell_1x3vm_38,._clearingCell_1x3vm_38{opacity:0;animation:none}}@keyframes _clear-cell_1x3vm_1{to{opacity:0;transform:scale(.35)}}._frontier_rnw91_1{width:var(--running-progress);background:linear-gradient(90deg, color-mix(in srgb, currentColor 16%, transparent), transparent);border-right:1px solid color-mix(in srgb, currentColor 75%, transparent);position:absolute;inset:0 auto 0 0}._now_rnw91_12{background:color-mix(in srgb, var(--ink-primary) 45%, transparent);width:1px;position:absolute;top:10%;bottom:10%;left:70%}._routes_rnw91_20{align-content:space-between;display:grid;position:absolute;inset:18% 8%}._route_rnw91_20{background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--ink-muted) 45%, transparent), transparent);height:1px}._route_rnw91_20:nth-child(2){transform:translate(8%)}._route_rnw91_20:nth-child(3){transform:translate(-6%)}._trail_rnw91_41,._packet_rnw91_42{border-radius:999px;animation:4.8s ease-in-out infinite alternate _packet_rnw91_42;position:absolute;top:50%;left:-10%}._trail_rnw91_41{opacity:.65;background:linear-gradient(90deg,#0000,currentColor);width:18%;height:2px}._packet_rnw91_42{background:currentColor;width:.48em;height:.48em;box-shadow:0 0 .65em}@container running-field (width<=40rem){._routes_rnw91_20,._trail_rnw91_41,._packet_rnw91_42,._now_rnw91_12{display:none}._frontier_rnw91_1{background:currentColor;border-right:0;width:.28em}}[data-overdue=true] ._frontier_rnw91_1{background:linear-gradient(90deg, color-mix(in srgb, currentColor 28%, transparent), transparent);width:70%}[data-overdue=true] ._packet_rnw91_42{animation:1.8s ease-in-out infinite alternate _packet-stall_rnw91_1;left:70%}[data-overdue=true] ._trail_rnw91_41{width:27%;animation:1.8s ease-in-out infinite alternate _trail-backup_rnw91_1;left:43%}@keyframes _packet_rnw91_42{0%{transform:translate(-10cqw,-50%)}to{transform:translate(120cqw,-50%)}}@keyframes _packet-stall_rnw91_1{0%{opacity:.72;transform:translate(-50%,-50%)scale(.82)}to{opacity:1;transform:translate(-50%,-50%)scale(1.12)}}@keyframes _trail-backup_rnw91_1{0%{opacity:.5;transform:translate(-8%,-50%)}to{opacity:.95;transform:translate(8%,-50%)}}@media (prefers-reduced-motion:reduce){[data-overdue=true] ._trail_rnw91_41,[data-overdue=true] ._packet_rnw91_42,._trail_rnw91_41,._packet_rnw91_42{animation:none}._frontier_rnw91_1{transition:none}}._field_1i9kx_1{z-index:0;pointer-events:none;color:var(--status-warning);position:absolute;inset:0;overflow:hidden;container:running-field/size}._overdue_1i9kx_11{color:var(--status-serious)}._timing_1i9kx_14{width:min(12ch,100%);min-width:0;max-width:100%;color:var(--ink-secondary);font-variant-numeric:tabular-nums;text-align:end;white-space:nowrap;flex:0 12ch;margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.72em;overflow:hidden}._timingOverdue_1i9kx_28{color:var(--status-serious)}._field_ozs8n_1{contain:layout paint;position:absolute;inset:0;overflow:hidden}._canvas_ozs8n_7{width:100%;height:100%;display:block}._haze_3npie_1{background:radial-gradient(ellipse at 18% 44%, color-mix(in srgb, currentColor 19%, transparent), transparent 42%), radial-gradient(ellipse at 74% 63%, color-mix(in srgb, currentColor 12%, transparent), transparent 38%);animation:15s ease-in-out infinite alternate _haze_3npie_1;position:absolute;inset:-15%}._pressure_3npie_17{display:none}._band_3npie_20{background:linear-gradient(90deg, transparent, color-mix(in srgb, currentColor 32%, transparent), transparent);height:1px;animation:10s ease-in-out infinite alternate _band_3npie_20;position:absolute;left:-15%;right:-15%}._bandOne_3npie_33{top:32%}._bandTwo_3npie_36{animation-delay:-4s;top:67%}._bandThree_3npie_40{opacity:.55;animation-delay:-7s;top:49%}._drift_3npie_45{border:1px solid color-mix(in srgb, currentColor 78%, transparent);width:clamp(.34em,.9cqw,.7em);height:clamp(.34em,.9cqw,.7em);box-shadow:0 0 .55em color-mix(in srgb, currentColor 55%, transparent);border-radius:50%;animation:11s ease-in-out infinite alternate _drift_3npie_45;position:absolute}._driftOne_3npie_54{top:25%;left:12%}._driftTwo_3npie_58{opacity:.6;width:.34em;height:.34em;animation-duration:14s;animation-delay:-4s;top:72%;left:58%}._driftThree_3npie_67{opacity:.55;width:.7em;height:.7em;animation-duration:17s;animation-delay:-9s;top:18%;left:74%}._driftFour_3npie_76{opacity:.75;width:.42em;height:.42em;animation-duration:9s;animation-delay:-2s;top:58%;left:31%}._driftFive_3npie_85{opacity:.45;width:.58em;height:.58em;animation-duration:13s;animation-delay:-6s;top:84%;left:83%}@container running-field (width<=40rem) or (height<=6rem){._drift_3npie_45,._band_3npie_20{display:none}._haze_3npie_1{opacity:.65;width:2.5em;height:2.5em;inset:auto 0 0 auto}}[data-overdue=true] ._haze_3npie_1{background:radial-gradient(ellipse at 22% 48%, color-mix(in srgb, currentColor 34%, transparent), transparent 42%), radial-gradient(ellipse at 78% 58%, color-mix(in srgb, currentColor 25%, transparent), transparent 36%);inset:-30%}[data-overdue=true] ._pressure_3npie_17{border-top:1px solid color-mix(in srgb, currentColor 65%, transparent);border-bottom:1px solid color-mix(in srgb, currentColor 65%, transparent);background:repeating-linear-gradient(180deg, transparent 0 .55em, color-mix(in srgb, currentColor 14%, transparent) .55em .62em);opacity:.75;animation:3.4s ease-in-out infinite alternate _pressure_3npie_17;display:block;position:absolute;inset:20% 0}[data-overdue=true] ._band_3npie_20{background:linear-gradient(90deg,#0000,currentColor,#0000);animation-name:_storm-band_3npie_1}[data-overdue=true] ._drift_3npie_45{transform:translate(12cqw,-2cqh)scale(.82)}@keyframes _haze_3npie_1{to{transform:translate(9%,-4%)}}@keyframes _band_3npie_20{to{opacity:.45;transform:translate(8%)}}@keyframes _drift_3npie_45{to{transform:translate(10cqw,-2cqh)}}@keyframes _pressure_3npie_17{0%{opacity:.45;transform:scaleY(.72)}to{opacity:.9;transform:scaleY(1.12)}}@keyframes _storm-band_3npie_1{to{opacity:.9;transform:translate(-14%)}}@media (prefers-reduced-motion:reduce){[data-overdue=true] ._pressure_3npie_17,._haze_3npie_1,._band_3npie_20,._drift_3npie_45,._pressure_3npie_17{animation:none}}._anchor_1bd86_1{top:50%;left:var(--running-progress);position:absolute}._body_1bd86_6{animation:3.2s ease-in-out infinite alternate _phased-marker_1bd86_1;animation-delay:var(--phased-marker-delay,0s);will-change:transform;position:absolute;inset:0}@keyframes _phased-marker_1bd86_1{0%{transform:translate(var(--phased-marker-travel,-10em), -50%)}to{transform:translate(-50%,-50%)}}@media (prefers-reduced-motion:reduce){._body_1bd86_6{animation:none}}._frontier_2wwhn_1{width:var(--running-progress);background:linear-gradient(90deg, color-mix(in srgb, currentColor 16%, transparent), transparent);border-right:1px solid color-mix(in srgb, currentColor 75%, transparent);position:absolute;inset:0 auto 0 0}._flare_2wwhn_12{display:none}._lanes_2wwhn_15{align-content:space-between;display:grid;position:absolute;inset:13% 7%}._lane_2wwhn_15{background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--edge) 90%, transparent), transparent);height:1px;position:relative}._markerAnchor_2wwhn_31{width:.42em;height:.25em}._markerBody_2wwhn_35{--phased-marker-travel:-10cqw;background:currentColor;border-radius:999px;box-shadow:0 0 .6em}._lane_2wwhn_15:nth-child(2) ._markerBody_2wwhn_35{opacity:.7}._lane_2wwhn_15:nth-child(3) ._markerBody_2wwhn_35{opacity:.5}._lane_2wwhn_15:nth-child(4) ._markerBody_2wwhn_35{opacity:.8}@container running-field (width<=40rem) or (height<=6rem){._lanes_2wwhn_15{display:none}._frontier_2wwhn_1{background:currentColor;border-right:0;width:.28em}}[data-overdue=true] ._frontier_2wwhn_1{background:linear-gradient(90deg, color-mix(in srgb, currentColor 34%, transparent), transparent);border-right-color:currentColor;width:100%}[data-overdue=true] ._flare_2wwhn_12{background:radial-gradient(currentColor 0,#0000 68%);width:2.4em;height:100%;animation:1.6s ease-in-out infinite alternate _bloom-flare_2wwhn_1;display:block;position:absolute;top:0;left:100%;transform:translate(-50%)}[data-overdue=true] ._markerBody_2wwhn_35{--phased-marker-travel:-22.5cqw;animation-duration:.72s;animation-timing-function:ease-in-out}@media (prefers-reduced-motion:reduce){._frontier_2wwhn_1{transition:none}[data-overdue=true] ._flare_2wwhn_12,[data-overdue=true] ._markerBody_2wwhn_35{animation:none}}@keyframes _bloom-flare_2wwhn_1{0%{opacity:.42;transform:translate(-50%)scale(.8)}to{opacity:.95;transform:translate(-50%)scale(1.15)}}._progress_1x79l_1{min-width:0;color:var(--status-warning);align-items:center;gap:.6em;display:flex}._visual_1x79l_8{flex:none;position:relative}._timing_1x79l_12{color:var(--ink-secondary);margin:0;font-size:.72em}._overdue_1x79l_17,._overdue_1x79l_17 ._timing_1x79l_12{color:var(--status-serious)}._readout_1x79l_23{font-variant-numeric:tabular-nums;text-align:end;white-space:nowrap;flex:0 0 12ch;width:12ch;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}._radial_1x79l_31 ._visual_1x79l_8{border:.14em solid var(--edge);background:conic-gradient(var(--status-warning) var(--running-progress), var(--edge) 0);width:2.35em;height:2.35em;box-shadow:inset 0 0 0 .22em var(--surface-raised), 0 0 .55em color-mix(in srgb, var(--status-warning) 45%, transparent);border-radius:50%}._radial_1x79l_31 ._visual_1x79l_8:after{content:"";border-top:.14em solid var(--status-warning);border-radius:50%;animation:1.7s linear infinite _sweep_1x79l_1;position:absolute;inset:-.14em}._overdue_1x79l_17._radial_1x79l_31 ._visual_1x79l_8:before{content:"";border:.1em solid var(--status-serious);box-shadow:0 0 .55em color-mix(in srgb, var(--status-serious) 65%, transparent);border-radius:50%;animation:1.8s ease-in-out infinite _alarm-ring_1x79l_1;position:absolute;inset:-.42em}._radialCore_1x79l_58{background:var(--status-warning);box-shadow:0 0 .45em var(--status-warning);border-radius:50%;position:absolute;inset:.68em}._overdue_1x79l_17 ._radialCore_1x79l_58{background:var(--status-serious);box-shadow:0 0 .55em var(--status-serious);animation:1.8s ease-in-out infinite alternate _reactor-breathe_1x79l_1}._runway_1x79l_70{grid-template-columns:minmax(0,1fr) auto;align-self:stretch;display:grid;container-type:inline-size}._runway_1x79l_70 ._visual_1x79l_8{border:1px solid var(--edge);background:linear-gradient(90deg, var(--status-warning) var(--running-progress), var(--edge) 0);border-radius:999px;width:min(12em,100%);max-width:100%;height:.8em;overflow:hidden}._runway_1x79l_70 ._visual_1x79l_8:after{content:"";top:-.25em;bottom:-.25em;left:calc(var(--running-progress) - .06em);background:var(--ink-primary);width:.12em;box-shadow:0 0 .45em var(--ink-primary);position:absolute}._overdue_1x79l_17._runway_1x79l_70 ._visual_1x79l_8:before{content:"";background:repeating-linear-gradient(-45deg, var(--status-serious) 0 .12em, var(--surface) .12em .24em);width:.55em;box-shadow:0 0 .5em color-mix(in srgb, var(--status-serious) 70%, transparent);animation:1.4s ease-in-out infinite alternate _barrier-pulse_1x79l_1;position:absolute;inset:-.2em 0 -.2em calc(100% - .55em)}._overdue_1x79l_17._runway_1x79l_70 ._visual_1x79l_8:after{background:var(--status-serious);box-shadow:0 0 .55em var(--status-serious);animation:1.4s ease-in-out infinite alternate _barrier-pulse_1x79l_1}._spark_1x79l_114{background:var(--ink-primary);width:.35em;height:.35em;box-shadow:0 0 .4em var(--status-warning);border-radius:50%;animation:1.5s linear infinite _spark_1x79l_114;position:absolute;top:50%;left:-.5em}._overdue_1x79l_17._runway_1x79l_70 ._spark_1x79l_114{animation-duration:1s}._sparkTwo_1x79l_128{animation-delay:-.5s;display:none}._overdue_1x79l_17._runway_1x79l_70 ._sparkTwo_1x79l_128{display:block}._orbit_1x79l_135 ._visual_1x79l_8{border:1px solid var(--edge);border-radius:50%;width:2.4em;height:2.4em}._orbit_1x79l_135 ._visual_1x79l_8:before{content:"";border:.12em solid #0000;border-top-color:var(--status-warning);transform:rotate(var(--running-degrees));border-radius:50%;position:absolute;inset:.18em}._orbitCore_1x79l_151{background:var(--status-warning);box-shadow:0 0 .45em var(--status-warning);border-radius:50%;position:absolute;inset:.75em}._overdue_1x79l_17 ._orbitCore_1x79l_151{background:var(--status-serious);box-shadow:0 0 .55em var(--status-serious);animation:1.15s ease-in-out infinite alternate _reactor-breathe_1x79l_1}._particle_1x79l_163{background:var(--ink-primary);transform-origin:.16em .95em;border-radius:50%;width:.32em;height:.32em;animation:1.8s linear infinite _orbit_1x79l_135;position:absolute;top:.25em;left:calc(50% - .16em)}._particleTwo_1x79l_174{background:var(--status-warning);animation-delay:-.9s}._overdue_1x79l_17._orbit_1x79l_135 ._visual_1x79l_8:after{content:"";border:.08em solid color-mix(in srgb, var(--status-serious) 75%, transparent);box-shadow:0 0 .6em color-mix(in srgb, var(--status-serious) 55%, transparent);border-radius:50%;animation:1.15s ease-in-out infinite alternate _gravity-well_1x79l_1;position:absolute;inset:.42em}._overdue_1x79l_17._orbit_1x79l_135 ._particle_1x79l_163{transform-origin:.16em .7em;animation-duration:.95s}._indeterminate_1x79l_191 ._visual_1x79l_8{background-image:repeating-linear-gradient(135deg, color-mix(in srgb, var(--status-warning) 70%, transparent) 0 .25em, var(--edge) .25em .5em);animation:1s linear infinite _shift_1x79l_1}._signalField_1x79l_199{flex:auto;grid-template-columns:minmax(0,1fr) auto;align-self:stretch;min-height:0;max-height:100%;display:grid;container-type:size}._signalField_1x79l_199 ._visual_1x79l_8{border:1px solid var(--edge);background:var(--surface);border-radius:999px;width:auto;height:1em;max-height:100%;overflow:hidden}._rail_1x79l_217{background:linear-gradient(90deg, var(--status-warning) var(--running-progress), var(--edge) 0);opacity:.75;position:absolute;inset:0}._lead_1x79l_223{top:-.2em;bottom:-.2em;left:calc(var(--running-progress) - .08em);background:var(--ink-primary);width:.16em;box-shadow:0 0 .5em var(--status-warning);border-radius:999px;position:absolute}._pulse_1x79l_233{background:var(--ink-primary);width:.3em;height:.3em;box-shadow:0 0 .4em var(--status-warning);border-radius:50%;animation:2.4s ease-in-out infinite alternate _pulse_1x79l_233;position:absolute;top:50%;left:-.5em}._pulseTwo_1x79l_244{animation-delay:-1.2s}._tracks_1x79l_247{display:none}@container panel (width>=26rem){._runway_1x79l_70 ._visual_1x79l_8{width:auto;height:clamp(1.1em,7cqw,2.7em);box-shadow:inset 0 0 1em color-mix(in srgb, var(--status-warning) 16%, transparent);flex:auto}._runway_1x79l_70 ._visual_1x79l_8:after{left:calc(var(--running-progress) - .08em);width:.16em}._spark_1x79l_114{animation-name:_sparkWide_1x79l_1}}@container panel (width<=18rem){._signalField_1x79l_199{flex:0 auto;min-height:0}._signalField_1x79l_199 ._visual_1x79l_8{width:2.65em;height:1.15em}._signalField_1x79l_199 ._rail_1x79l_217{background:var(--edge)}._signalField_1x79l_199 ._lead_1x79l_223{border-radius:50%;width:.38em;top:.2em;bottom:.2em}._pulse_1x79l_233{display:none}}@container panel (height<=5rem){._signalField_1x79l_199{flex:0 auto;min-height:0}._signalField_1x79l_199 ._visual_1x79l_8{width:2.65em;height:1.15em}._signalField_1x79l_199 ._rail_1x79l_217{background:var(--edge)}._signalField_1x79l_199 ._lead_1x79l_223{border-radius:50%;width:.38em;top:.2em;bottom:.2em}._pulse_1x79l_233{display:none}}@container panel (width>=26rem){._signalField_1x79l_199 ._visual_1x79l_8{background:linear-gradient(180deg, color-mix(in srgb, var(--edge) 60%, transparent), transparent);border-radius:.25em;height:100%;min-height:0}._signalField_1x79l_199 ._visual_1x79l_8:before{content:"";width:var(--running-progress);background:repeating-linear-gradient(0deg, transparent 0 .55em, color-mix(in srgb, var(--status-warning) 16%, transparent) .55em .6em), linear-gradient(90deg, color-mix(in srgb, var(--status-warning) 19%, transparent), color-mix(in srgb, var(--status-warning) 7%, transparent));box-shadow:inset -.8em 0 1em color-mix(in srgb, var(--status-warning) 22%, transparent);position:absolute;inset:0 auto 0 0}._signalField_1x79l_199 ._rail_1x79l_217{height:1px;top:50%;bottom:auto}._signalField_1x79l_199 ._lead_1x79l_223{height:.9em;top:calc(50% - .45em);bottom:auto}._pulse_1x79l_233{display:none}._tracks_1x79l_247{flex-direction:column;justify-content:space-between;display:flex;position:absolute;inset:.8em 0}._track_1x79l_247{background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--edge) 85%, transparent), transparent);height:1px;position:relative}._markerAnchor_1x79l_371{width:.38em;height:.22em}._markerBody_1x79l_375{background:var(--status-warning);box-shadow:0 0 .4em var(--status-warning);border-radius:.06em}._track_1x79l_247:nth-child(2) ._markerBody_1x79l_375{opacity:.7;animation-delay:-.8s}._track_1x79l_247:nth-child(3) ._markerBody_1x79l_375{opacity:.45;animation-delay:-1.7s}._track_1x79l_247:nth-child(4) ._markerBody_1x79l_375{opacity:.7;animation-delay:-2.4s}._track_1x79l_247:nth-child(5) ._markerBody_1x79l_375{opacity:.55;animation-delay:-.35s}}._overdue_1x79l_17._signalField_1x79l_199 ._rail_1x79l_217{background:linear-gradient(90deg, var(--status-serious) 0 100%);opacity:.42}._overdue_1x79l_17._signalField_1x79l_199 ._lead_1x79l_223{background:var(--status-serious);box-shadow:0 0 .7em var(--status-serious);animation:1.2s ease-in-out infinite alternate _endpoint-pulse_1x79l_1}._overdue_1x79l_17._signalField_1x79l_199 ._markerBody_1x79l_375{--phased-marker-travel:-10em;background:var(--status-serious);box-shadow:0 0 .55em var(--status-serious);animation-duration:.68s;animation-timing-function:ease-in-out}._short_1x79l_413 ._signalField_1x79l_199 ._visual_1x79l_8{height:1em}@keyframes _sweep_1x79l_1{to{transform:rotate(360deg)}}@keyframes _alarm-ring_1x79l_1{0%{opacity:.45;transform:scale(.92)}to{opacity:1;transform:scale(1.08)}}@keyframes _reactor-breathe_1x79l_1{0%{opacity:.7;transform:scale(.84)}to{opacity:1;transform:scale(1.12)}}@keyframes _barrier-pulse_1x79l_1{0%{opacity:.55}to{opacity:1}}@keyframes _gravity-well_1x79l_1{0%{opacity:.45;transform:scale(.82)}to{opacity:.95;transform:scale(1.08)}}@keyframes _endpoint-pulse_1x79l_1{0%{opacity:.65;transform:scaleY(.75)}to{opacity:1;transform:scaleY(1.15)}}@keyframes _spark_1x79l_114{to{transform:translate(13em)}}@keyframes _sparkWide_1x79l_1{to{transform:translate(100cqw)}}@keyframes _orbit_1x79l_135{to{transform:rotate(360deg)}}@keyframes _shift_1x79l_1{to{background-position:1em 0}}@keyframes _pulse_1x79l_233{0%{transform:translate(-.5em,-50%)}to{transform:translate(calc(var(--running-progress) + .5em), -50%)}}@media (prefers-reduced-motion:reduce){._radial_1x79l_31 ._visual_1x79l_8:after,._overdue_1x79l_17._radial_1x79l_31 ._visual_1x79l_8:before,._overdue_1x79l_17 ._radialCore_1x79l_58,._spark_1x79l_114,._runway_1x79l_70 ._visual_1x79l_8:after,._overdue_1x79l_17._runway_1x79l_70 ._visual_1x79l_8:before,._overdue_1x79l_17._runway_1x79l_70 ._visual_1x79l_8:after,._particle_1x79l_163,._overdue_1x79l_17._orbit_1x79l_135 ._visual_1x79l_8:after,._pulse_1x79l_233,._lead_1x79l_223,._overdue_1x79l_17._signalField_1x79l_199 ._lead_1x79l_223,._overdue_1x79l_17._signalField_1x79l_199 ._markerBody_1x79l_375,._signalField_1x79l_199 ._visual_1x79l_8:before,._indeterminate_1x79l_191 ._visual_1x79l_8{animation:none}}._details_19avj_1{display:contents}._details_19avj_1>.hint{line-height:1.1}._activity_19avj_7,._duration_19avj_8{overflow-wrap:anywhere}@container panel (width>=48rem){[data-density=comfortable][data-shallow=true] ._details_19avj_1>*,[data-density=auto][data-shallow=true] ._details_19avj_1>*{margin:0}}._compactFacts_f62xm_1{flex-direction:column;gap:.1em;min-width:0;display:none}._incomplete_f62xm_8{color:var(--warning-text)}._compactFact_f62xm_1{min-width:0;color:var(--ink-muted);margin:0;font-size:.7em}._failedItem_f62xm_19{min-width:0;color:var(--ink-primary);margin:0;font-size:.85em;font-weight:600}._evidence_f62xm_27,._freshness_f62xm_28{flex-direction:column;gap:.1em;min-width:0;display:flex}@container panel (width<=13rem) and (height>=24rem){._statusAnchor_f62xm_36 [class*=status]{font-size:1.7em}._compactFacts_f62xm_1{display:flex}._fullSummary_f62xm_44{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}}@container panel (width<=13rem) and (height<=10rem){[data-density=compact] ._compactFacts_f62xm_1~[data-panel-meta]{display:none}}._trigger_g9eon_1,._close_g9eon_2{border:1px solid var(--edge);background:var(--surface-raised);color:var(--ink-secondary);font:inherit;cursor:pointer;border-radius:.25rem;padding:.3em .55em}._dialog_g9eon_11{z-index:20;padding:var(--gap);background:var(--surface);color:var(--ink-secondary);grid-template-rows:auto minmax(0,1fr);font-size:clamp(.8rem,1vw,1.15rem);display:grid;position:fixed;inset:0}._dialogHeader_g9eon_22{border-bottom:1px solid var(--edge);padding-bottom:var(--gap);justify-content:space-between;align-items:start;gap:1rem;display:flex}._dialogHeader_g9eon_22 h2,._dialogHeader_g9eon_22 p,._note_g9eon_32,._empty_g9eon_33{margin:0}._dialogHeader_g9eon_22 h2{color:var(--ink-primary);font-size:1.35em}._dialogHeader_g9eon_22 p{margin-top:.2rem}._body_g9eon_43{min-height:0;padding-top:var(--gap);overflow:auto}._legend_g9eon_48,._note_g9eon_32,._empty_g9eon_33{color:var(--ink-muted)}._legend_g9eon_48{font-size:.9em;display:block}._axis_g9eon_57{color:var(--ink-muted);justify-content:space-between;margin:.45rem 0 .15rem max(10rem,28%);font-size:.85em;display:flex}._lanes_g9eon_64{gap:.2rem;display:grid}._lane_g9eon_64{grid-template-columns:minmax(9rem,28%) minmax(0,1fr);align-items:center;gap:.55rem;min-width:0;display:grid}._laneLabel_g9eon_75{overflow-wrap:anywhere}._track_g9eon_78{border-bottom:1px solid var(--edge);min-width:0;height:.8rem;display:block;position:relative}._observed_g9eon_85,._expected_g9eon_86{width:.55rem;height:.55rem;position:absolute;top:.1rem;transform:translate(-50%)}._observed_g9eon_85{background:var(--ink-primary);border-radius:50%}._expected_g9eon_86{border:1px solid var(--ink-secondary);transform:translate(-50%)rotate(45deg)}._note_g9eon_32{margin-top:.8rem;font-size:.9em}@media (width<=40rem){._axis_g9eon_57{margin-left:0}._lane_g9eon_64{grid-template-columns:1fr}._legend_g9eon_48{justify-self:start}}._error_yx1g9_1{max-width:60ch;color:var(--ink-primary);margin:0 auto;padding:2rem}._error_yx1g9_1 pre{border-radius:var(--radius);border:1px solid var(--status-critical);background:var(--surface-raised);color:var(--ink-secondary);white-space:pre-wrap;overflow-wrap:anywhere;padding:1rem;font-size:.75em}:root{--surface:#12140f;--surface-raised:#1a1a19;--ink-primary:#fff;--ink-secondary:#c3c2b7;--ink-muted:#898781;--edge:#2f312b;--status-good:#0ca30c;--status-warning:#fab219;--status-serious:#ec835a;--status-critical:#d03b3b;--gap:1rem;--radius:.5rem;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--surface);color:var(--ink-primary);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Helvetica,Arial,sans-serif;font-size:clamp(16px,1.1vw + .5rem,28px);line-height:1.4;overflow-x:hidden}.screen-reader-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}
@@ -1,3 +1,3 @@
1
1
  import{z as e}from"zod";import{StrictMode as t,useCallback as n,useEffect as r,useMemo as i,useRef as a,useState as o,useSyncExternalStore as s}from"react";import{createRoot as c}from"react-dom/client";import{Fragment as l,jsx as u,jsxs as d}from"react/jsx-runtime";import{AuthProvider as f,useAuth as p}from"react-oidc-context";import{UserManager as m,WebStorageStateStore as h}from"oidc-client-ts";(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),t.credentials=e.crossOrigin===`use-credentials`?`include`:e.crossOrigin===`anonymous`?`omit`:`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var g=/^([1-9][0-9]*)(ms|s|m|h)$/,_={ms:1,s:1e3,m:6e4,h:36e5};function v(e){let t=g.exec(e);if(!t)return null;let[,n,r]=t;if(n===void 0||r===void 0)return null;let i=Number(n);return i<=0?null:i*_[r]}var y=e.string().regex(/^[1-9][0-9]*(?:ms|s|m|h)$/,{message:`must be a positive duration like "30s", "5m", or "1h"`}).brand(),b=e.union([e.object({x:e.number().int().min(0),y:e.number().int().min(0),w:e.number().int().min(1).max(12),h:e.number().int().min(1)}),e.object({x:e.literal(0),y:e.literal(0),w:e.literal(0),h:e.literal(0)})]),x=e.enum([`auto`,`comfortable`,`compact`]),S=e.enum([`beacon`,`alarm`,`steady`]),C=e.string().regex(/^\$(?:\.[A-Za-z_][A-Za-z0-9_]*|\[\d+\])*$/,`must be a simple JSON path`),ee=e.object({id:e.string().min(1),label:e.string().min(1),link:e.url().optional(),url:e.url(),json_path:C.optional()}),w=e.object({id:e.string().min(1),type:e.literal(`http-value`)});w.extend({url:e.url(),json_path:C.optional(),link:e.url().optional()});var te=w.extend({facts:e.array(ee).min(1).max(4)}),T=[`radial`,`runway`,`orbit`,`signal-field`,`telemetry-bloom`,`release-transit`,`status-weather`,`falling-shapes`,`snowman`],ne=e.enum([...T,`off`]),re=e.looseObject({label:e.string().min(1).optional(),id:e.string().min(1),type:e.string().min(1),source:e.string().min(1).optional(),pipeline:e.union([e.string(),e.number()]).optional(),branch:e.string().min(1).optional(),density:x.optional(),attention:e.literal(!0).optional(),position:b.optional(),refresh:y.optional(),running_refresh:y.optional(),running_completion_refresh:y.optional(),running_completion_window:y.optional(),running_animation:ne.optional(),demo_run_duration:y.optional(),demo_review_duration:y.optional(),link:e.url().optional(),url:e.url().optional(),json_path:C.optional(),facts:te.shape.facts.optional()}).superRefine((e,t)=>{if(`display`in e&&t.addIssue({code:`custom`,path:[`display`],message:`display was removed; use density`,params:{constraint:`display was removed; use density`}}),e.type===`http-value`&&e.facts){e.url!==void 0&&t.addIssue({code:`custom`,path:[`url`],message:`use facts URLs for grouped panels`,params:{constraint:`use facts URLs for grouped panels`}}),e.json_path!==void 0&&t.addIssue({code:`custom`,path:[`json_path`],message:`use facts json_path values for grouped panels`,params:{constraint:`use facts json_path values for grouped panels`}});let n=new Map;e.facts.forEach((e,r)=>{let i=n.get(e.id);i===void 0?n.set(e.id,r):t.addIssue({code:`custom`,path:[`facts`,r,`id`],message:`duplicate fact id "${e.id}" (already used by fact at index ${i})`,params:{constraint:`Use a unique fact id within this panel.`}})})}}),ie=e.object({app_id_env:e.string().min(1),private_key_env:e.string().min(1),installation_id_env:e.string().min(1)}),ae={token_env:e.string().min(1).optional(),github_app:ie.optional()};function oe(e,t){e.token_env&&e.github_app&&t.addIssue({code:`custom`,message:`configure token_env or github_app, not both`,params:{constraint:`configure token_env or github_app, not both`}})}e.looseObject({type:e.literal(`github-actions`),repo:e.string().regex(/^[^/\s]+\/[^/\s]+$/,`must be an owner/repository pair`),branch:e.string().min(1).optional(),...ae}).superRefine(oe);var se=e.looseObject({type:e.literal(`azure-devops`),organization:e.string().regex(/^[^/\s]+$/,`must be an organization name`),project:e.string().min(1),branch:e.string().min(1).optional(),token_env:e.string().min(1).optional(),entra_token_file_env:e.string().min(1).optional()}).superRefine((e,t)=>{e.token_env&&e.entra_token_file_env&&t.addIssue({code:`custom`,message:`configure token_env or entra_token_file_env, not both`,params:{constraint:`configure token_env or entra_token_file_env, not both`}}),!e.token_env&&!e.entra_token_file_env&&t.addIssue({code:`custom`,message:`configure token_env or entra_token_file_env`,params:{constraint:`configure token_env or entra_token_file_env`}})}),ce=e.url().superRefine((e,t)=>{let n=new URL(e);n.protocol!==`https:`&&t.addIssue({code:`custom`,message:`must be an HTTPS GitLab instance URL`,params:{constraint:`must be an HTTPS GitLab instance URL`}}),(n.username||n.password)&&t.addIssue({code:`custom`,message:`must not include credentials`,params:{constraint:`must not include credentials`}}),n.search&&t.addIssue({code:`custom`,message:`must not include a query string`,params:{constraint:`must not include a query string`}}),n.hash&&t.addIssue({code:`custom`,message:`must not include a fragment`,params:{constraint:`must not include a fragment`}})}),le=e.looseObject({type:e.literal(`gitlab-ci`),project:e.string().regex(/^[^/\s]+(?:\/[^/\s]+)+$/,`must be a namespace/project path`),token_env:e.string().min(1),branch:e.string().min(1).optional(),url:ce.optional().default(`https://gitlab.com`)}),ue=e.looseObject({type:e.string().min(1),...ae}).superRefine(oe),de=e.object({refresh:y.optional(),running_refresh:y.optional(),running_completion_refresh:y.optional(),running_completion_window:y.optional(),attention:e.object({treatment:S}).optional(),panels:e.array(re).min(1).superRefine((e,t)=>{let n=new Map;e.forEach((e,r)=>{let i=n.get(e.id);if(i===void 0){n.set(e.id,r);return}t.addIssue({code:`custom`,path:[r,`id`],message:`duplicate panel id "${e.id}" (already used by panel at index ${i})`,params:{constraint:`Use a unique panel id within this board.`}})})})}).superRefine((e,t)=>{e.panels.some(e=>e.attention)&&!e.attention&&t.addIssue({code:`custom`,path:[`attention`],message:`configure attention.treatment when one or more panels opt into attention`,params:{constraint:`Important panels require one board attention treatment.`}})}),fe=e.strictObject({issuer:e.url(),client_id:e.string().min(1),audience:e.string().min(1),allow:e.strictObject({subjects:e.array(e.string().min(1)).min(1)})});e.object({sources:e.record(e.string().min(1),ue).default({}),boards:e.record(e.string().min(1),de),auth:fe.optional()}).superRefine((e,t)=>{for(let[n,r]of Object.entries(e.sources)){let e=r.type===`azure-devops`?se:r.type===`gitlab-ci`?le:void 0;if(!e)continue;let i=e.safeParse(r);if(!i.success)for(let e of i.error.issues)t.addIssue({...e,path:[`sources`,n,...e.path]})}for(let[n,r]of Object.entries(e.boards))r.panels.forEach((r,i)=>{let a=r.source?e.sources[r.source]:void 0;r.type===`pipeline-status`&&a?.type===`azure-devops`&&(typeof r.pipeline!=`number`||!Number.isInteger(r.pipeline)||r.pipeline<=0)&&t.addIssue({code:`custom`,path:[`boards`,n,`panels`,i,`pipeline`],message:`Azure DevOps pipeline-status panels require a positive numeric pipeline definition id`,params:{constraint:`Provide a positive numeric Azure DevOps pipeline definition id.`}})})});var pe=e.object({assetPath:e.string().min(1),assetPathId:e.string().regex(/^sha256:[a-f0-9]{64}$/),proxyPath:e.string().min(1),board:e.string().min(1),auth:e.object({issuer:e.string().min(1),clientId:e.string().min(1),audience:e.string().min(1)}).optional()}),me=pe.pick({assetPath:!0,assetPathId:!0}).extend({serverVersion:e.string().min(1)});function he(t=globalThis.window?.env){let n=pe.safeParse(t);if(!n.success)throw Error(`window.env is missing or invalid \u2014 the server did not inject usable configuration.
2
- ${e.prettifyError(n.error)}`);return n.data}var ge=e.enum([`unreachable`,`unauthorized`,`not-found`,`no-runs`,`upstream-error`]),_e=e.object({kind:ge,message:e.string()}),ve=e.discriminatedUnion(`state`,[e.object({panelId:e.string().min(1),state:e.literal(`ok`),observedAt:e.iso.datetime(),link:e.url().nullable(),signal:e.unknown()}),e.object({panelId:e.string().min(1),state:e.literal(`error`),observedAt:e.iso.datetime(),link:e.url().nullable(),error:_e})]),ye=e.object({kind:e.enum([`job`,`stage`,`step`]),name:e.string().min(1),parent:e.string().min(1).optional()}),E=e.object({type:e.literal(`pipeline-status`),status:e.enum([`passed`,`failed`,`warning`,`running`,`cancelled`,`unknown`]),rawStatus:e.string(),name:e.string().min(1),branch:e.string().min(1).optional(),durationMs:e.number().int().nonnegative().optional(),runStartedAt:e.iso.datetime().optional(),sourceRunId:e.string().min(1).optional(),activity:ye.optional(),estimatedDurationMs:e.number().int().positive().optional(),sourceUpdatedAt:e.iso.datetime().optional()}),be={passed:0,cancelled:1,unknown:2,running:3,warning:4,failed:5};function xe(e){return be[e]}var Se=e.object({label:e.string().min(1),status:E.shape.status,detail:e.string().min(1),link:e.url().nullable()}),Ce=e.object({type:e.literal(`pull-request-health`),status:E.shape.status,summary:e.string().min(1),workflows:e.array(Se),pullRequests:e.array(Se),incompleteObservations:e.array(e.object({label:e.string().min(1),message:e.string().min(1)})).optional(),newestObservedAt:e.iso.datetime().optional()}),we=e.object({number:e.number().int().positive(),branch:e.string().min(1),link:e.url()}),Te=e.object({type:e.literal(`pull-request-candidates`),pullRequests:e.array(we),truncated:e.boolean().optional()}),Ee=e.object({type:e.literal(`pull-request-workflow`),workflow:e.string().min(1),item:Se}),De=e.object({type:e.literal(`pull-request-build`),branch:e.string().min(1),item:Se}),Oe=e.object({type:e.literal(`http-value`),value:e.union([e.string(),e.number(),e.boolean()])}),ke=12,Ae=12;function je(e){let t=e.flatMap(e=>!e.position||D(e.position)||Me(e.position)?[]:[{panelId:e.id,kind:`out-of-bounds`,position:e.position,conflictsWith:[]}]),n=new Map;for(let r=0;r<e.length;r++){let i=e[r];if(i?.position&&!D(i.position))for(let a=r+1;a<e.length;a++){let r=e[a];if(!r?.position||D(r.position)||!Ne(i.position,r.position))continue;let o=`${r.id}\0overlap`,s=n.get(o);if(s)s.conflictsWith.push(i.id);else{let e={panelId:r.id,kind:`overlap`,position:r.position,conflictsWith:[i.id]};n.set(o,e),t.push(e)}}}return{issues:t}}function D(e){return e?.x===0&&e.y===0&&e.w===0&&e.h===0}function Me(e){return!D(e)&&e.x+e.w<=ke&&e.y+e.h<=Ae}function Ne(e,t){return e.x<t.x+t.w&&e.x+e.w>t.x&&e.y<t.y+t.h&&e.y+e.h>t.y}var Pe={refreshMillis:6e4,runningRefreshMillis:15e3,runningCompletionRefreshMillis:5e3,runningCompletionWindowMillis:12e4};function Fe(e,t){let n=(e,t)=>v(e??``)??t,r=(r,i,a)=>n(t[r],n(e[i],a));return{refreshMillis:r(`refresh`,`refresh`,Pe.refreshMillis),runningRefreshMillis:r(`running_refresh`,`running_refresh`,Pe.runningRefreshMillis),runningCompletionRefreshMillis:r(`running_completion_refresh`,`running_completion_refresh`,Pe.runningCompletionRefreshMillis),runningCompletionWindowMillis:r(`running_completion_window`,`running_completion_window`,Pe.runningCompletionWindowMillis)}}var O={board:`_board_2ghlz_1`,header:`_header_2ghlz_11`,attentionRail:`_attentionRail_2ghlz_18`,attentionGlyph:`_attentionGlyph_2ghlz_43`,"attention-beacon":`_attention-beacon_2ghlz_46`,"attention-alarm":`_attention-alarm_2ghlz_51`,"attention-steady":`_attention-steady_2ghlz_59`,title:`_title_2ghlz_81`,grid:`_grid_2ghlz_87`,footerTools:`_footerTools_2ghlz_97`,layoutWarning:`_layoutWarning_2ghlz_102`,layoutWarningButton:`_layoutWarningButton_2ghlz_105`,layoutWarningDialog:`_layoutWarningDialog_2ghlz_123`,layoutWarningHeading:`_layoutWarningHeading_2ghlz_136`,layoutWarningClose:`_layoutWarningClose_2ghlz_154`,layoutWarningDownloads:`_layoutWarningDownloads_2ghlz_162`,layoutWarningNote:`_layoutWarningNote_2ghlz_181`,footer:`_footer_2ghlz_97`};function Ie(e){return e.board?.attention?e.board.panels.flatMap(t=>{if(!t.attention)return[];let n=t.label??t.id;if(t.type===`http-value`&&t.facts)return t.facts.flatMap(r=>{let i=e.factSignals[t.id]?.[r.id],a=Le(i);return a?[{panelId:t.id,label:n,reason:`${r.label}: ${a}`,factId:r.id}]:[]});let r=Re(t.type,e.signals[t.id],e.updateHealth[t.id]);return r?[{panelId:t.id,label:n,reason:r}]:[]}):[]}function Le(e){if(e?.failure)return`Updates unavailable — ${e.failure}`;if(e?.updateHealth)return`Updates unavailable — ${e.updateHealth.message}`;if(e?.envelope)return e.envelope.state===`error`?e.envelope.error.message:Oe.safeParse(e.envelope.signal).success?void 0:`Invalid value`}function Re(e,t,n){if(n)return`Updates unavailable — ${n.message}`;if(t){if(t.state===`error`)return t.error.message;if(e===`pipeline-status`){let e=E.safeParse(t.signal);return e.success?e.data.status===`failed`?`Pipeline failed`:void 0:`Invalid signal`}if(e===`pull-request-health`){let e=Ce.safeParse(t.signal);if(!e.success)return`Invalid signal`;if(e.data.status===`failed`)return e.data.summary;let n=e.data.incompleteObservations?.[0];return n?`${n.label}: ${n.message}`:void 0}if(e===`http-value`)return Oe.safeParse(t.signal).success?void 0:`Invalid value`}}var k={diagnostics:`_diagnostics_lseur_1`,button:`_button_lseur_5`,area:`_area_lseur_14`,warning:`_warning_lseur_31`,panels:`_panels_lseur_35`,actions:`_actions_lseur_43`};function ze({log:e,updateActivity:t}){let[n,r]=o(!1);s(e.subscribe,e.snapshot,e.snapshot);let i=e.count(),a=e.githubConsistencyIncidentCount(),c=e.summary();return d(`section`,{className:k.diagnostics,children:[d(`button`,{className:k.button,type:`button`,"aria-expanded":n,onClick:()=>r(!n),children:[`Diagnostics (`,i,`)`,a>0&&` · GitHub consistency ${a}`]}),n&&d(`div`,{className:k.area,children:[d(`p`,{children:[`Client `,e.clientVersion(),` · assets `,e.assetPath()]}),d(`p`,{children:[c.retained.eventCount,` retained browser-local events across`,` `,c.retained.sessionCount,` session`,c.retained.sessionCount===1?``:`s`,c.retained.firstEventAt&&c.retained.lastEventAt?` (${Be(c.retained.firstEventAt,c.retained.lastEventAt)})`:``,`. They are never uploaded.`]}),c.retained.evidenceMayBeIncomplete&&d(`p`,{className:k.warning,role:`alert`,children:[`Earlier evidence was pruned: `,c.retained.retention.eventsPrunedByCount,` at the 2,000-event cap and `,c.retained.retention.eventsPrunedByAge,` by the 7-day age limit. “No failures” applies only to the retained window.`]}),d(`p`,{children:[`Update failures: `,c.failures.clientUpdate,`; board fetch failures:`,` `,c.failures.boardFetch,`.`]}),e.githubConsistencyIncidentCount()>0&&d(`p`,{className:k.warning,role:`alert`,children:[`GitHub API consistency incidents: `,e.githubConsistencyIncidentCount(),`. A response older than the last accepted run was rejected; download diagnostics to report it.`]}),c.panels.length>0&&u(`div`,{className:k.panels,children:c.panels.map(e=>d(`p`,{children:[u(`strong`,{children:e.panelId}),` — `,e.requests,` requests`,Object.keys(e.httpStatuses).length?`; HTTP ${Object.entries(e.httpStatuses).map(([e,t])=>`${e}×${t}`).join(`, `)}`:``,`; parse/network failures `,e.parseFailures,`/`,e.networkFailures,`; visible changes `,e.visibleStateChanges,`; latest`,` `,e.latestRendered?`${e.latestRendered.state}${e.latestRendered.status?`/${e.latestRendered.status}`:``}`:`not rendered`,`.`,e.latestFailedObservation&&d(l,{children:[` `,`Failure: `,e.latestFailedObservation.reason,`. Support reference:`,` `,u(`code`,{children:e.latestFailedObservation.supportReference??`not provided`}),`.`]})]},e.panelId))}),d(`div`,{className:k.actions,children:[u(`button`,{className:k.button,type:`button`,onClick:()=>{let n=new Blob([JSON.stringify(e.export(t?{updateActivity:t()}:{}),null,2)],{type:`application/json`}),r=URL.createObjectURL(n),i=document.createElement(`a`);i.href=r,i.download=`dashboard-diagnostics-${new Date().toISOString().replaceAll(`:`,`-`)}.json`,i.click(),URL.revokeObjectURL(r)},children:`Download`}),u(`button`,{className:k.button,type:`button`,onClick:()=>{window.confirm(`Clear this browser’s retained dashboard diagnostics?`)&&e.clear()},children:`Clear`})]})]})]})}function Be(e,t){return e===t?e:`${e} to ${t}`}var Ve=`0.29.0`;function A(e,t,n,r=globalThis.fetch,i={}){let a=new Headers(n?.headers);return a.set(`X-Dashboard-Client-Version`,Ve),a.set(`X-Dashboard-Client-Origin`,globalThis.window.location.origin),a.set(`X-Dashboard-Client-Asset-Id`,e.assetPathId),i.accessToken&&a.set(`authorization`,`Bearer ${i.accessToken}`),r(t,{...n,headers:a}).then(e=>((e.status===401||e.status===403)&&i.onAuthenticationFailure?.(e.status),e))}function He(){try{return window.localStorage}catch{return}}function Ue(e,t){try{let n=e?.getItem(t);return n?JSON.parse(n):void 0}catch{return}}function We(e,t,n){try{e?.setItem(t,JSON.stringify(n))}catch{}}function Ge(e,t){try{e?.removeItem(t)}catch{}}function Ke(e,t,n=0){let r=new Map,i=new Set,a=0,o=0;for(let t of e){if(i.add(t.sessionId),t.kind===`client-update-failure`&&a++,(t.kind===`board-fetch-failure`||t.kind===`board-fetch-parse-failure`)&&o++,!(`panelId`in t))continue;let e=r.get(t.panelId)??{panelId:t.panelId,requests:0,httpStatuses:{},parseFailures:0,networkFailures:0,visibleStateChanges:0};if(t.kind===`panel-fetch-start`&&e.requests++,t.kind===`panel-fetch-response`){if(t.status!==void 0){let n=String(t.status);e.httpStatuses[n]=(e.httpStatuses[n]??0)+1}t.failure&&(e.latestFailedObservation=t.failure)}t.kind===`panel-fetch-parse-failure`&&e.parseFailures++,t.kind===`panel-fetch-failure`&&e.networkFailures++,t.kind===`panel-rendered`&&(e.visibleStateChanges++,e.latestRendered=t.rendered),r.set(t.panelId,e)}let s=e.map(e=>e.at).sort(),c=t.eventsPrunedByAge+t.eventsPrunedByCount;return{githubConsistencyIncidents:n,retained:{eventCount:e.length,firstEventAt:s[0],lastEventAt:s.at(-1),sessionCount:i.size,retention:t,evidenceMayBeIncomplete:c>0},failures:{clientUpdate:a,boardFetch:o},panels:[...r.values()].sort((e,t)=>e.panelId.localeCompare(t.panelId))}}var qe=`ze-great-dashboard.diagnostics.v2`,Je=`ze-great-dashboard.diagnostics.v1`,Ye=2e3,Xe=6048e5,Ze=[`session-start`,`client-update-check`,`client-update-response`,`client-update-failure`,`client-update-detected`,`board-fetch-start`,`board-fetch-response`,`board-fetch-parse-failure`,`board-fetch-failure`,`layout-analyzed`,`panel-fetch-start`,`panel-fetch-response`,`panel-fetch-parse-failure`,`panel-fetch-failure`,`panel-rendered`],Qe=class{env;storage;now;events=[];retention=tt();revision=0;incidents=[];listeners=new Set;sessionId=crypto.randomUUID?.()??`${Date.now()}-${Math.random()}`;constructor(e,t=He(),n=()=>new Date){this.env=e,this.storage=t,this.now=n,Ge(this.storage,Je),this.events=this.read(),this.record({kind:`session-start`})}recordGithubConsistencyIncident(e){this.incidents.push({...e,at:this.now().toISOString(),board:this.env.board}),this.persist(),this.revision++,this.notify()}githubConsistencyIncidentCount=()=>this.incidents.length;record(e){let t=rt([...this.events,{...e,schemaVersion:2,at:this.now().toISOString(),sessionId:this.sessionId,board:this.env.board,clientVersion:Ve,clientAssetPath:this.env.assetPath,clientAssetPathId:this.env.assetPathId}],this.now(),this.retention);this.events=t.events,this.retention=t.retention,this.persist(),this.revision++,this.notify()}count=()=>this.events.length;clientVersion=()=>Ve;assetPath=()=>this.env.assetPath;snapshot=()=>this.revision;summary=()=>Ke(this.events,this.retention,this.incidents.length);retainedEvidence=()=>({events:[...this.events],retention:{...this.retention}});clear(){this.events=[],this.incidents=[],this.retention=tt(),Ge(this.storage,qe),this.revision++,this.notify()}subscribe=e=>(this.listeners.add(e),()=>{this.listeners.delete(e)});export=e=>({schemaVersion:2,exportedAt:this.now().toISOString(),client:{version:Ve,assetPath:this.env.assetPath,assetPathId:this.env.assetPathId,board:this.env.board,sessionId:this.sessionId},events:this.events,githubConsistencyIncidents:this.incidents,summary:this.summary(),...e});read(){let e=Ue(this.storage,qe);if(!e||e.schemaVersion!==2||!Array.isArray(e.events)||!e.events.every(it))return Ge(this.storage,qe),[];let t=rt(e.events.map(e=>({...e,schemaVersion:2})),this.now(),nt(e.retention));return this.retention=t.retention,this.incidents=$e(e.githubConsistencyIncidents),t.events}persist(){We(this.storage,qe,{schemaVersion:2,events:this.events,retention:this.retention,githubConsistencyIncidents:this.incidents})}notify(){for(let e of this.listeners)e()}};function $e(e){return Array.isArray(e)?e.filter(e=>{if(!e||typeof e!=`object`)return!1;let t=e;return typeof t.at==`string`&&typeof t.board==`string`&&typeof t.panelId==`string`&&typeof t.endpoint==`string`&&!!t.accepted&&!!t.regressed&&!!t.response}):[]}function et(e){let t=Object.fromEntries([[`cacheControl`,`cache-control`],[`etag`,`etag`],[`lastModified`,`last-modified`],[`date`,`date`],[`age`,`age`]].flatMap(([t,n])=>{let r=e.get(n);return r?[[t,r]]:[]}));return Object.keys(t).length?t:void 0}function tt(){return{eventsPrunedByAge:0,eventsPrunedByCount:0}}function nt(e){if(!e||typeof e!=`object`)return tt();let t=e;return{eventsPrunedByAge:typeof t.eventsPrunedByAge==`number`&&t.eventsPrunedByAge>=0?t.eventsPrunedByAge:0,eventsPrunedByCount:typeof t.eventsPrunedByCount==`number`&&t.eventsPrunedByCount>=0?t.eventsPrunedByCount:0}}function rt(e,t,n){let r=t.valueOf()-Xe,i=e.filter(e=>Number.isFinite(new Date(e.at).valueOf())&&new Date(e.at).valueOf()>=r),a=e.length-i.length,o=Math.max(0,i.length-Ye);return{events:i.slice(-2e3),retention:{eventsPrunedByAge:n.eventsPrunedByAge+a,eventsPrunedByCount:n.eventsPrunedByCount+o}}}function it(e){if(!e||typeof e!=`object`)return!1;let t=e;return(t.schemaVersion===void 0||t.schemaVersion===2)&&typeof t.at==`string`&&Number.isFinite(new Date(t.at).valueOf())&&typeof t.sessionId==`string`&&typeof t.board==`string`&&Ze.includes(t.kind)}var at={auth:`_auth_19xn9_1`,signout:`_signout_19xn9_24`},ot=class{values=new Map;async set(e,t){this.values.set(e,t)}async get(e){return this.values.get(e)??null}async remove(e){let t=this.values.get(e)??null;return this.values.delete(e),t}async getAllKeys(){return[...this.values.keys()]}};function st(e){return new m({authority:e.issuer,client_id:e.clientId,redirect_uri:`${window.location.origin}/`,post_logout_redirect_uri:`${window.location.origin}/`,response_type:`code`,scope:`openid profile offline_access`,resource:e.audience,extraQueryParams:{audience:e.audience},userStore:new ot,stateStore:new h({store:window.sessionStorage}),automaticSilentRenew:!0})}function ct({env:e,auth:t,children:n}){let r=i(()=>st(t),[t]);return u(f,{userManager:r,onSigninCallback:()=>window.history.replaceState({},document.title,window.location.pathname),children:u(lt,{env:e,children:n})})}function lt({env:e,children:t}){let i=p(),[a,s]=o(!1),c=n(()=>s(!0),[]);return r(()=>{i.isAuthenticated||s(!1)},[i.isAuthenticated]),i.isLoading?u(`main`,{className:at.auth,"aria-live":`polite`,children:`Signing in…`}):a?d(`main`,{className:at.auth,children:[u(`h1`,{children:`Access denied`}),u(`p`,{children:`Your authenticated identity is not permitted to view this dashboard.`})]}):!i.isAuthenticated||!i.user?.access_token?d(`main`,{className:at.auth,children:[u(`h1`,{children:e.board}),u(`p`,{children:`Sign in to view the dashboard.`}),u(`button`,{type:`button`,onClick:()=>void i.signinRedirect(),children:`Sign in`})]}):d(l,{children:[u(`button`,{className:at.signout,type:`button`,onClick:()=>void i.signoutRedirect(),children:`Sign out`}),t(i.user.access_token,c)]})}var j={panel:`_panel_1h5e7_1`,attentionActive:`_attentionActive_1h5e7_22`,content:`_content_1h5e7_26`,evidence:`_evidence_1h5e7_38`,sourceAction:`_sourceAction_1h5e7_42`,details:`_details_1h5e7_46`,statusBand:`_statusBand_1h5e7_54`,error:`_error_1h5e7_80`,wide:`_wide_1h5e7_83`,"density-comfortable":`_density-comfortable_1h5e7_86`,"density-compact":`_density-compact_1h5e7_93`,label:`_label_1h5e7_103`,typeGlyph:`_typeGlyph_1h5e7_114`,identityText:`_identityText_1h5e7_117`,hint:`_hint_1h5e7_123`,branch:`_branch_1h5e7_129`,observed:`_observed_1h5e7_133`,meta:`_meta_1h5e7_139`,metaValue:`_metaValue_1h5e7_142`,compactValue:`_compactValue_1h5e7_146`,warning:`_warning_1h5e7_149`,serious:`_serious_1h5e7_152`,status:`_status_1h5e7_54`,statusGlyph:`_statusGlyph_1h5e7_160`,compactOnlyStatus:`_compactOnlyStatus_1h5e7_163`,passed:`_passed_1h5e7_169`,failed:`_failed_1h5e7_172`,running:`_running_1h5e7_176`,cancelled:`_cancelled_1h5e7_179`,unknown:`_unknown_1h5e7_180`,shallow:`_shallow_1h5e7_213`,"density-auto":`_density-auto_1h5e7_214`,fullValue:`_fullValue_1h5e7_334`,statusText:`_statusText_1h5e7_418`};function ut({label:e,hint:t,wide:n=!1}){return d(`section`,{className:`${j.panel} ${n?j.wide:``}`,"data-panel":!0,"data-panel-id":`placeholder`,children:[u(`h2`,{className:j.label,children:e}),u(`p`,{className:j.hint,children:t})]})}function dt(e){switch(e){case`unauthorized`:return{label:`Access denied`,emphasis:`serious`};case`not-found`:return{label:`Source not found`,emphasis:`serious`};case`unreachable`:case`upstream-error`:return{label:`Source unavailable`,emphasis:`serious`};case`no-runs`:return{label:`No workflow runs`,emphasis:`warning`}}}var M={fact:`_fact_bnc4n_1`,facts:`_facts_bnc4n_5`,factCell:`_factCell_bnc4n_12`,factSource:`_factSource_bnc4n_31`};function ft(e){let t=e.position;if(t)return{"--panel-column":`${t.x+1} / span ${t.w}`,"--panel-row":`${t.y+1} / span ${t.h}`}}var pt={"pipeline-status":{glyph:`▣`,label:`Pipeline status`},"pull-request-health":{glyph:`⌘`,label:`Pull request health`},"http-value":{glyph:`◌`,label:`HTTP value`},"pipeline-animation-demo":{glyph:`✦`,label:`Pipeline animation demo`}},mt={passed:{glyph:`✓`,label:`Passed`},failed:{glyph:`✕`,label:`Failed`},warning:{glyph:`⚠`,label:`Warning`},running:{glyph:`↻`,label:`Running`},cancelled:{glyph:`⊘`,label:`Cancelled`},unknown:{glyph:`?`,label:`Unknown`}};function ht(e){return pt[e]}[...Object.entries(pt).map(([e,t])=>({glyph:t.glyph,meaning:`panel type: ${e}`})),...Object.entries(mt).map(([e,t])=>({glyph:t.glyph,meaning:`status: ${e}`}))];function N({children:e,className:t,title:n}){return u(`p`,{className:`${j.hint} ${t??``}`,title:n,children:e})}function P({glyph:e,label:t,value:n,compact:r,title:i,observed:a=!1,emphasis:o,className:s}){return d(`p`,{className:`${j.hint} ${a?j.observed:``} ${o?j[o]:``} ${j.meta} ${s??``}`,"data-panel-meta":!0,children:[u(`span`,{"aria-hidden":`true`,children:e}),` `,d(`span`,{className:`screen-reader-only`,children:[t,`: `]}),d(`span`,{className:j.metaValue,title:i,children:[u(`span`,{className:j.fullValue,children:n}),r&&u(`span`,{className:j.compactValue,"aria-hidden":`true`,children:r.kind===`short-value`?r.value:null})]})]})}function F({children:e,className:t,priority:n=`secondary`,anchor:r}){return u(`div`,{className:`${j.evidence} ${t??``}`,"data-panel-evidence":!0,"data-panel-evidence-priority":n,"data-panel-anchor":r,children:e})}function I({status:e,emphasis:t,glyph:n,label:r,compactOnly:i=!1}){return d(`p`,{className:`${j.status} ${e?j[e]:``} ${t?j[t]:``} ${i?j.compactOnlyStatus:``}`,"data-panel-status":!0,children:[n&&u(`span`,{className:j.statusGlyph,"aria-hidden":`true`,children:n}),n&&r&&` `,u(`span`,{className:j.statusText,children:r})]})}function gt({children:e,emphasis:t}){return u(`p`,{className:`${j.status} ${t?j[t]:``}`,children:e})}function L({panel:e,envelope:t,attentionActive:n=!1,error:r=!1,field:i,layout:a,children:o}){let s=e.density??`auto`,c=e.position,l=ht(e.type),f=c!==void 0&&c.h<=2,p=c!==void 0&&c.h<=3;return d(`section`,{className:`${j.panel} ${j[`density-${s}`]} ${f?j.shallow:``} ${p?j.short:``} ${r?j.error:``} ${n?j.attentionActive:``}`,id:`panel-${e.id}`,style:ft(e),"aria-busy":!t||void 0,"data-panel":!0,"data-panel-id":e.id,"data-panel-position":c?`${c.x},${c.y},${c.w},${c.h}`:void 0,"data-density":s,"data-shallow":f,"data-short":p,"data-error":r||void 0,"data-panel-type":e.type,"data-attention-active":n||void 0,children:[i,u(_t,{panelId:e.id,link:t?.link}),d(`div`,{className:`${j.content} ${a===`status-band`?j.statusBand:``}`,"data-panel-content":!0,"data-panel-layout":a,children:[d(`h2`,{className:j.label,"data-panel-anchor":`identity`,children:[l&&u(`span`,{className:j.typeGlyph,"aria-hidden":`true`,title:l.label,"data-panel-type-glyph":!0,children:l.glyph}),u(`span`,{className:j.identityText,"data-panel-identity-text":!0,children:e.label??e.id})]}),o]})]})}function _t({panelId:e,link:t}){return t?d(`a`,{className:j.sourceAction,href:t,target:`_blank`,rel:`noopener noreferrer`,"aria-label":`View source for ${e} (opens in a new tab)`,title:`View source for ${e} (opens in a new tab)`,"data-panel-action":`source`,"data-panel-link":!0,children:[u(`span`,{"aria-hidden":`true`,children:`↗`}),u(`span`,{className:`screen-reader-only`,children:`View source`})]}):null}function R({value:e,label:t=`Observed`}){return u(bt,{value:e,label:t})}function vt({sourceUpdatedAt:e,observedAt:t,running:n,runStartedAt:r}){return n&&r?u(bt,{value:r,label:`Started`}):u(bt,{value:e??t,label:e?`Last update`:`Observed`})}function yt({health:e}){let t=e.consecutiveFailures>=3,n=t?`Updates unavailable`:`Updates delayed`;return d(l,{children:[u(P,{glyph:`⚠`,label:n,value:`${n} · ${e.message}`,title:e.message,emphasis:t?`serious`:`warning`}),u(bt,{value:e.lastConfirmedAt,label:`Last confirmed`})]})}function bt({value:e,label:t}){let n=new Date(e),r=n.toLocaleTimeString([],{hour:`2-digit`,minute:`2-digit`}),i=Date.now()-n.getTime(),a=`${t} ${xt(i)}`;return u(P,{glyph:`◷`,label:t,value:a,compact:{kind:`short-value`,value:St(i)},title:`${t} at ${r}`,observed:!0})}function xt(e){if(e<6e4)return`just now`;let t=Math.floor(e/6e4);return t<60?`${t}m ago`:`${Math.floor(t/60)}h ${t%60}m ago`}function St(e){if(e<6e4)return`now`;let t=Math.floor(e/6e4);return t<60?`${t}m`:`${Math.floor(t/60)}h ${t%60}m`}function Ct({panel:e,envelope:t,attentionActive:n,updateHealth:r,facts:i}){if(e.facts)return u(wt,{panel:e,attentionActive:n,facts:i});if(!t)return u(L,{panel:e,attentionActive:n,children:u(F,{children:u(N,{children:`Loading…`})})});if(t.state===`error`){let r=dt(t.error.kind);return u(L,{panel:e,envelope:t,attentionActive:n,error:!0,children:d(F,{children:[u(I,{glyph:`⚠`,label:r.label,emphasis:r.emphasis}),u(N,{children:t.error.message})]})})}let a=Oe.safeParse(t.signal);return a.success?u(L,{panel:e,envelope:t,attentionActive:n,children:d(F,{className:M.fact,children:[u(I,{glyph:`✓`,label:`Value read`,compactOnly:!0}),u(gt,{children:String(a.data.value)}),u(R,{value:t.observedAt}),r&&u(yt,{health:r})]})}):u(L,{panel:e,envelope:t,attentionActive:n,error:!0,children:u(F,{children:u(I,{glyph:`⚠`,label:`Invalid value`})})})}function wt({panel:e,attentionActive:t,facts:n}){return e.facts?u(L,{panel:e,attentionActive:t,children:u(F,{children:u(`div`,{className:M.facts,"data-http-value-facts":!0,children:e.facts.map(e=>u(Tt,{label:e.label,observation:n?.[e.id]},e.id))})})}):null}function Tt({label:e,observation:t}){let n=t?.envelope;if(!n)return d(`section`,{className:M.factCell,"data-http-value-fact":!0,children:[u(`h3`,{children:e}),u(gt,{emphasis:t?.failure?`serious`:void 0,children:t?.failure?`⚠ Updates unavailable`:`Loading…`}),t?.updateHealth&&u(yt,{health:t.updateHealth})]});if(n.state===`error`){let t=dt(n.error.kind);return d(`section`,{className:M.factCell,"data-http-value-fact":!0,"data-error":!0,children:[u(Et,{label:e,link:n.link}),u(`h3`,{children:e}),u(I,{glyph:`⚠`,label:t.label,emphasis:t.emphasis}),u(N,{children:n.error.message}),u(R,{value:n.observedAt})]})}let r=Oe.safeParse(n.signal);return r.success?d(`section`,{className:M.factCell,"data-http-value-fact":!0,children:[u(Et,{label:e,link:n.link}),u(`h3`,{children:e}),u(gt,{children:String(r.data.value)}),u(R,{value:n.observedAt})]}):d(`section`,{className:M.factCell,"data-http-value-fact":!0,"data-error":!0,children:[u(Et,{label:e,link:n.link}),u(`h3`,{children:e}),u(I,{glyph:`⚠`,label:`Invalid value`,emphasis:`serious`}),u(R,{value:n.observedAt})]})}function Et({label:e,link:t}){return t?d(`a`,{className:M.factSource,href:t,target:`_blank`,rel:`noopener noreferrer`,"aria-label":`View source for ${e} (opens in a new tab)`,title:`View source for ${e} (opens in a new tab)`,children:[u(`span`,{"aria-hidden":`true`,children:`↗`}),u(`span`,{className:`screen-reader-only`,children:`View source`})]}):null}var Dt={variant:`_variant_14ks8_1`,variantPrefix:`_variantPrefix_14ks8_9`},z={field:`_field_1x3vm_1`,grid:`_grid_1x3vm_10`,piece:`_piece_1x3vm_14`,cell:`_cell_1x3vm_34`,clearingCell:`_clearingCell_1x3vm_38`,"clear-cell":`_clear-cell_1x3vm_1`},Ot=.85,kt=[[{x:0,y:0},{x:1,y:0}],[{x:0,y:0},{x:0,y:1}],[{x:0,y:0},{x:1,y:0},{x:0,y:1}],[{x:0,y:0},{x:1,y:0},{x:2,y:0}],[{x:0,y:0},{x:0,y:1},{x:1,y:1}]];function At(e,t){return e>t?`horizontal`:`vertical`}function jt(e,t=e===`horizontal`?12:3,n=e===`horizontal`?3:12){let r=Math.max(1,t*.8),i=Math.max(1,n*.8),a=Math.max(24,Math.min(42,Math.min(r,i)/4)),o=Math.max(3,Math.min(24,Math.round(r/a))),s=Math.max(3,Math.min(16,Math.round(i/a)));return e===`horizontal`?{columns:Math.max(o,s),rows:s}:{columns:o,rows:Math.max(s,o)}}function Mt(e,t,n){let r=Math.max(...e.map(e=>e.x)),i=Math.max(...e.map(e=>e.y));return r<t&&i<n}function Nt(e,t){return e.cells.some(n=>t.cells.some(r=>e.x+n.x===t.x+r.x&&e.y+n.y===t.y+r.y))}function Pt(e,t,n){let r=kt.filter(e=>Mt(e,t,n));return r[Ut(e,r.length)]??[{x:0,y:0}]}function Ft(e,t,n,r,i,a=0,o=!1){let s=Math.max(...e.map(e=>e.x))+1,c=Math.max(...e.map(e=>e.y))+1,l=[];for(let a=0;a<=r-c;a++)for(let c=0;c<=n-s;c++){let s={id:-1,bornAt:0,cells:e,x:c,y:a,phase:`settled`};if(i.some(e=>Nt(s,e))||!Ht(e,t,n,r,s,i))continue;let u=t===`vertical`?e.filter(e=>a+e.y===r-1||i.some(t=>t.cells.some(n=>t.x+n.x===c+e.x&&t.y+n.y===a+e.y+1))).length:e.filter(e=>c+e.x===0||i.some(t=>t.cells.some(n=>t.x+n.x===c+e.x-1&&t.y+n.y===a+e.y))).length;o&&u<Vt(e,t)||l.push({x:c,y:a,support:u})}l.sort((e,n)=>n.support-e.support||(t===`vertical`?n.y-e.y||e.x-n.x:e.x-n.x||e.y-n.y));let u=l[0]?.support,d=l.filter(e=>e.support===u),f=d[Ut(a,d.length)];return f?{x:f.x,y:f.y}:void 0}function It(e,t,n,r,i,a){let o=kt.flatMap((o,s)=>{if(!Mt(o,t,n))return[];let c=Ft(o,e,t,n,r,i+s*31,a);return c?[{shape:o,destination:c}]:[]});if(o.length!==0)return o[Ut(i,o.length)]}function Lt(e,t,n){return Math.ceil(e*t*Ot*Math.min(1,Math.max(0,n)))}function Rt(e){return e.reduce((e,t)=>e+t.cells.length,0)}function zt(e,t,n,r,i){let a=e===`vertical`?n-1:0,o=new Set(r.flatMap(t=>t.cells.filter(n=>e===`vertical`?t.y+n.y===a:t.x+n.x===a).map(n=>e===`vertical`?t.x+n.x:t.y+n.y))),s=e===`vertical`?t:n,c=o.size===s;if(!c&&!i||o.size===0)return;let l=[];return{shapes:r.flatMap(t=>{let n=t.cells.filter(n=>{let r=e===`vertical`?t.y+n.y===a:t.x+n.x===a;return r&&l.push({x:t.x+n.x,y:t.y+n.y}),!r});return n.length===0?[]:[{...t,cells:n,y:e===`vertical`?t.y+1:t.y,x:e===`horizontal`?t.x-1:t.x}]}),cleared:l,complete:c}}function Bt(e,t,n,r,i){let a=[];for(let o=0;o<i;o+=1){let i=r+o*17,s=Pt(i,t,n),c=Ft(s,e,t,n,a,i+1);if(!c)break;a.push({id:o,bornAt:0,cells:s,x:c.x,y:c.y,phase:`settled`})}return a}function Vt(e,t){return t===`vertical`?new Set(e.map(e=>e.x)).size:new Set(e.map(e=>e.y)).size}function Ht(e,t,n,r,i,a){let o=Math.max(...e.map(e=>e.x))+1,s=Math.max(...e.map(e=>e.y))+1;if(t===`vertical`){for(let e=0;e<=i.y;e+=1)if(a.some(t=>Nt({...i,y:e},t)))return!1;return i.y+s<=r}for(let e=n-o;e>=i.x;--e)if(a.some(t=>Nt({...i,x:e},t)))return!1;return i.x+o<=n}function Ut(e,t){if(t<=1)return 0;let n=Math.sin(e*12.9898+78.233)*43758.5453;return Math.floor((n-Math.floor(n))*t)}var Wt=50,Gt=1250,Kt=250,qt=850,Jt=500;function Yt({progress:e,estimatedDurationMs:t,overdue:n,seed:i=0}){let s=a(null),[c,l]=o({...jt(`vertical`),direction:`vertical`}),[f,p]=o([]),[m,h]=o(!1),[g,_]=o([]),[v,y]=o(!1),b=a(c),x=a(c),S=a(e),C=a(i),ee=a(void 0),w=a([]),te=a(!1),T=a({startedAt:Date.now(),nextPieceAt:Gt,recycleUntil:0,id:0,settled:[]});return r(()=>{S.current=e},[e]),r(()=>{C.current=i},[i]),r(()=>{let e=s.current;if(!e)return;let t=()=>{let t=e.getBoundingClientRect();t.width!==0&&t.height!==0&&l(e=>{let n=ee.current??At(t.width,t.height);ee.current=n;let r={...jt(n,t.width,t.height),direction:n};return b.current=r,r})};if(t(),typeof ResizeObserver>`u`)return;let n=new ResizeObserver(t);return n.observe(e),()=>n.disconnect()},[]),r(()=>{let e=window.matchMedia(`(prefers-reduced-motion: reduce)`),t=()=>y(e.matches);return t(),e.addEventListener?.(`change`,t),()=>e.removeEventListener?.(`change`,t)},[]),r(()=>{let e=x.current,t=e.direction!==c.direction||e.columns!==c.columns||e.rows!==c.rows;x.current=c,t&&!v&&(T.current={startedAt:Date.now(),nextPieceAt:Gt,id:0,recycleUntil:0,settled:[]},w.current=[],p([]),h(!1),_([]),te.current=!1)},[c,v]),r(()=>{if(!v)return;let e=Bt(c.direction,c.columns,c.rows,C.current,Math.max(1,Math.floor(S.current*6)));w.current=e,T.current.settled=e,p(e)},[c,v]),r(()=>{if(v)return;let e=window.setInterval(()=>{let e=T.current,r=Date.now()-e.startedAt,i=b.current,a=S.current,o=Lt(i.columns,i.rows,a),s=[...e.settled],c=w.current.filter(e=>e.phase!==`settled`);if(r<e.recycleUntil)return;if(te.current&&(te.current=!1,h(!1),_([])),r>=e.nextPieceAt&&c.length===0){if(a<1&&Rt(s)>=o)return;let l=e.id,u=C.current+l*17,d=It(i.direction,i.columns,i.rows,s,u+1,!n);if(!d&&(a>=1||t===void 0)){let t=zt(i.direction,i.columns,i.rows,s,!0);if(t){s=t.shapes,e.settled=s,e.recycleUntil=r+Jt,e.nextPieceAt=e.recycleUntil,w.current=s,te.current=!0,_(t.cleared),p(s),h(!0);return}}if(d){e.id+=1;let{shape:t,destination:n}=d,a=Math.max(...t.map(e=>e.y))+1;c=[...c,{id:l,bornAt:r,cells:t,x:i.direction===`horizontal`?i.columns-Math.max(...t.map(e=>e.x))-.5:n.x,y:i.direction===`vertical`?-a+.5:n.y,targetX:n.x,targetY:n.y,phase:`entry`}]}e.nextPieceAt+=Xt(t,i)}c=c.map(e=>{let t=r-e.bornAt,n=e.targetX===void 0||e.targetY===void 0?void 0:{x:e.targetX,y:e.targetY};if(!n)return e;let a=Math.min(1,Math.max(0,(t-Kt)/qt));if(a>=1)return s=[...s,{...e,x:n.x,y:n.y,phase:`settled`}],{...e,x:n.x,y:n.y,phase:`settled`};let o=i.direction===`horizontal`?i.columns-Math.max(...e.cells.map(e=>e.x))-1:n.x,c=i.direction===`vertical`?0:n.y,l=Math.min(1,Math.max(0,t/1100));return{...e,x:i.direction===`horizontal`?o+(n.x-o)*a:o,y:i.direction===`vertical`?c+(n.y-c)*a:c,phase:t<Kt?`entry`:l<.35?`align`:`travel`}}),e.settled=s;let l=[...s,...c.filter(e=>e.phase!==`settled`)];w.current=l,p(l)},Wt);return()=>window.clearInterval(e)},[t,n,v]),u(`div`,{ref:s,className:z.field,"data-running-part":`falling-shapes-field`,"data-overdue":n||void 0,"data-direction":c.direction,"data-recycling":m||void 0,style:{"--shape-columns":c.columns,"--shape-rows":c.rows},children:d(`div`,{className:z.grid,children:[g.map(e=>u(`span`,{className:z.clearingCell,style:{"--clear-x":e.x,"--clear-y":e.y}},`${e.x}-${e.y}`)),f.map(e=>u(`div`,{className:z.piece,"data-piece":e.id,"data-piece-phase":e.phase,style:{"--piece-x":e.x,"--piece-y":e.y,"--piece-width":Math.max(...e.cells.map(e=>e.x))+1,"--piece-height":Math.max(...e.cells.map(e=>e.y))+1},children:e.cells.map(e=>u(`span`,{className:z.cell,style:{"--cell-x":e.x,"--cell-y":e.y}},`${e.x}-${e.y}`))},e.id))]})})}function Xt(e,t){let n=Math.ceil(t.columns*t.rows*.85);return e===void 0||n<=0?Gt:Math.max(400,e/Math.max(1,Math.ceil(n/3)))}var B={frontier:`_frontier_rnw91_1`,now:`_now_rnw91_12`,routes:`_routes_rnw91_20`,route:`_route_rnw91_20`,trail:`_trail_rnw91_41`,packet:`_packet_rnw91_42`,"packet-stall":`_packet-stall_rnw91_1`,"trail-backup":`_trail-backup_rnw91_1`};function Zt(){return d(l,{children:[u(`span`,{className:B.frontier,"data-running-part":`frontier`}),u(`span`,{className:B.now,"data-running-part":`transit-now`}),u(`span`,{className:B.routes,"data-running-part":`transit-routes`,children:[0,1,2].map(e=>u(`span`,{className:B.route},e))}),u(`span`,{className:B.trail,"data-running-part":`transit-trail`}),u(`span`,{className:B.packet,"data-running-part":`transit-packet`})]})}var Qt={field:`_field_1i9kx_1`,overdue:`_overdue_1i9kx_11`,timing:`_timing_1i9kx_14`,timingOverdue:`_timingOverdue_1i9kx_28`},$t={field:`_field_ozs8n_1`,canvas:`_canvas_ozs8n_7`};function en(e){let t=e*.25,n=e*.2,r=t<700||n<350?`snowfall`:n<530?`arrival`:n<1030?`hop`:`full`,i=tn((n-(r===`full`?1030:530))/(r===`full`?1620:620),0,1),a=r===`full`?500+1e3*i:0,o=r===`arrival`?0:180+70*i,s=r===`arrival`?Math.min(900,n):350+550*i,c=e*.95,l=c-o;return{mode:r,bodyStart:e*.75-Math.min(2500,t),bodyEnd:e*.75,headStart:l-s-a,hopStart:l-s,land:l,settleEnd:l+(o?120+60*i:0),end:c}}function V(e,t,n){return n===t?Number(e>=n):tn((e-t)/(n-t),0,1)}function H(e){return e*e*(3-2*e)}function tn(e,t,n){return Math.max(t,Math.min(n,e))}var U=25,nn=.5,rn=.95;function an(e={width:360,height:180}){return{nextAt:0,id:0,lastElapsed:0,grid:on(e),flakes:[],cells:[],toppled:!1}}function on(e){return{columns:K(Math.round(e.width/4),48,180),rows:K(Math.round(e.height/4),28,100)}}function sn(e,t,n){return n?`overdue`:t===void 0||en(t).mode===`snowfall`?`snowing`:e>=rn?`complete`:e>=nn?`assembling`:`drift`}function cn(e,t){let n=q(e+41)<.5?-1:1,r=n*(.72+q(e+43)*.45),i=Math.sin(t/1600+q(e+47)*Math.PI*2)*.4,a=n*Math.max(0,Math.sin(t/3100+q(e+53)*Math.PI*2))**7*(3.2+q(e+59)*1.8);return r+i+a}function ln(e){let t=on(e);return Math.round(t.columns*t.rows*.18)}function un(e,t,n=!1,r=0){if(e===void 0)return n?30:60;let i=e*rn/ln(t);if(n)return i/2;let a=en(e);return a.mode!==`snowfall`&&r>=Math.max(0,a.bodyStart-500)?i*4:i}function dn(e,{elapsed:t,progress:n,estimatedDurationMs:r,overdue:i,seed:a,dimensions:o}){let s=on(o),c=e.grid.columns===s.columns&&e.grid.rows===s.rows?Fn(e):an(o),l=Math.max(c.lastElapsed,t);for(let e=c.lastElapsed+U;e<=l;e+=U)c=mn(c,e,r===void 0?n:e/r,r,i&&(r===void 0||e>=r),a,o),c.lastElapsed=e;return c}function fn(e){return e.filter(e=>e.owner===`snowman`).length}function pn(e){return e.cells.map(t=>{let n=t.owner===`body`?e.body:t.owner===`head`?e.head:void 0,r=n&&t.localX!==void 0&&t.localY!==void 0?{...t,x:n.x+t.localX*Math.cos(n.angle)-t.localY*Math.sin(n.angle),y:n.y+t.localX*Math.sin(n.angle)+t.localY*Math.cos(n.angle)}:t;return e.toppling&&r.owner!==`ground`?Pn(r,e.toppling):r})}function mn(e,t,n,r,i,a,o){let s=sn(n,r,i),c=un(r,o,i,t);for(;t>=e.nextAt;)e.flakes.push({id:e.id++,x:q(a+e.id*17)*e.grid.columns,y:-1-q(a+e.id*23)*6,bornAt:e.nextAt}),e.nextAt+=c;hn(e,n,r,i);let l=On(e),u=cn(a,t)*(U/1e3),d=r===void 0?.52:Math.max(.52,(e.grid.rows+7)*U/(r*.25)),f=[];for(let t of e.flakes){let n={...t,x:t.x+u,y:t.y+d},r=yn(e,n);if(r){bn(e,r,t.id,n.x-r.x,n.y-r.y);continue}let i=An(n,l,e.grid,u,a);if(!i){f.push({...n,x:K(n.x,0,e.grid.columns-1)});continue}let o=l.get(G(i.x,i.y+1));e.cells.push({id:t.id,x:i.x,y:i.y,owner:o===`body`||o===`head`||o===`snowman`?`snowman`:`ground`}),l.set(G(i.x,i.y),e.cells.at(-1)?.owner??`ground`)}e.flakes=f,r!==void 0&&s!==`drift`&&s!==`snowing`&&_n(e),Cn(e),kn(e,a,t),kn(e,a,t+U/2);let p=e.body;return p?.locked&&(p.supportY??=W(e,p.x,p.radius,p.y+p.radius),p.y=p.supportY),i&&!e.toppling&&!e.toppled&&fn(e.cells)>=60&&Mn(e,t),Nn(e,t),e}function hn(e,t,n,r){if(n===void 0)return;let i=en(n);if(i.mode===`snowfall`)return;let a=t*n,{columns:o,rows:s}=e.grid,c=H(V(a,i.bodyStart,i.bodyEnd));if(a>=i.bodyStart&&!e.body){let t=o*.14;e.body={kind:`body`,x:t,y:W(e,t,2,s-1),radius:2,angle:0,locked:!1}}let l=e.body;if(l&&!l.locked){l.radius=Math.max(l.radius,jn(e,`body`,2));let t=o*(.14+.38*c);gn(l,t,W(e,t,l.radius,s-1)),l.locked=a>=i.bodyEnd}if(a>=i.headStart&&!e.head){let t=o*(i.mode===`full`?.88:.66);e.head={kind:`head`,x:t,y:W(e,t,1.7,s-1),radius:1.7,angle:0,locked:!1},_n(e)}let u=e.head;if(u&&l&&!u.locked){if(u.radius=Math.max(u.radius,jn(e,`head`,1.7)),a<i.hopStart){let t=o*(.88-.22*H(V(a,i.headStart,i.hopStart)));gn(u,t,W(e,t,u.radius,s-1))}else{u.launch??={x:u.x,y:u.y};let e=V(a,i.hopStart,i.land),t=l.y-l.radius-u.radius+.5;if(u.x=u.launch.x+(l.x-u.launch.x)*H(e),u.y=u.launch.y+(t-u.launch.y)*H(e)-Math.sin(Math.PI*e)*Math.max(5,l.radius*1.5),a>=i.land){let e=V(a,i.land,i.settleEnd);u.y+=Math.sin(Math.PI*e)*.45}u.locked=a>=i.settleEnd}}if(u&&a>=i.land){let t=V(a,i.land,i.end);e.hat={x:u.x,y:u.y-u.radius-1-5*(1-t*t),angle:(1-H(t))*-.22}}}function gn(e,t,n){let r=In(e.y,n,.16),i=t-e.x;e.angle+=Math.sign(i)*Math.hypot(i,r-e.y)/Math.max(e.radius,1),e.x=t,e.y=r}function _n(e){let t=pn(e),n=new Map(e.cells.map(e=>[e.id,e])),r=new Set(t.filter(e=>e.owner===`ground`).map(e=>G(Math.round(e.x),Math.round(e.y)))),i=new Set(t.filter(e=>e.owner===`ground`).filter(e=>!r.has(G(Math.round(e.x),Math.round(e.y)-1))).map(e=>e.id));for(let r of[e.body,e.head]){if(!r||r.locked)continue;let a=r.kind,o=r.radius+.75;for(let a of t){if(!vn(e,r))break;if(a.owner!==`ground`)continue;let t=a.x-r.x,s=a.y-r.y,c=Math.hypot(t,s);if(!i.has(a.id)||c>o||s<-r.radius*.2)continue;let l=n.get(a.id);l&&bn(e,r,l.id,t,s)}r.radius=Math.max(r.radius,jn(e,a,r.kind===`body`?2:1.7))}}function vn(e,t){if(t.kind===`body`||!e.body)return!0;let n=e.body.radius*.72,r=Math.max(12,Math.round(Math.PI*(Math.max(0,n-1.7)/.6)**2));return e.cells.filter(e=>e.owner===`head`).length<r}function yn(e,t){return[e.body,e.head].filter(e=>e!==void 0&&!e.locked).find(n=>vn(e,n)&&Math.hypot(t.x-n.x,t.y-n.y)<=n.radius)}function bn(e,t,n,r,i){let a=Math.cos(-t.angle),o=Math.sin(-t.angle),s=r*a-i*o;i=r*o+i*a,r=s;let c=e.cells.find(e=>e.id===n),l=Sn(e,t,n),u=xn(e,t,r,i,n),d={id:n,x:t.x+u.x,y:t.y+u.y,owner:t.kind,localX:u.x,localY:u.y,targetLocalX:l.x,targetLocalY:l.y};c?Object.assign(c,d):e.cells.push(d),t.radius=Math.max(t.radius,jn(e,t.kind,t.kind===`body`?2:1.7)),wn(e,t)}function xn(e,t,n,r,i){let a=e.cells.filter(e=>e.id!==i&&e.owner===t.kind),o=(e,t)=>a.every(n=>Math.hypot((n.localX??0)-e,(n.localY??0)-t)>=.75);if(o(n,r))return{x:n,y:r};for(let e=.75;;e+=.75)for(let i=0;i<32;i++){let a=i*Math.PI/16,s=n+Math.cos(a)*e,c=r+Math.sin(a)*e;if((Math.hypot(s,c)<=t.radius+.75||e>t.radius*2)&&o(s,c))return t.radius=Math.max(t.radius,Math.hypot(s,c)-.5),{x:s,y:c}}}function Sn(e,t,n){let r=e.cells.filter(e=>e.owner===t.kind&&e.targetLocalX!==void 0&&e.targetLocalY!==void 0),i=(e,t,n=.72)=>r.every(r=>Math.hypot((r.targetLocalX??0)-e,(r.targetLocalY??0)-t)>=n);for(let e=0;e<64;e+=1){let r=q(n*31+e*17)*Math.PI*2,a=Math.sqrt(q(n*37+e*19))*Math.max(.4,t.radius-.35),o=Math.cos(r)*a,s=Math.sin(r)*a;if(i(o,s))return{x:o,y:s}}for(let e=.4;e<=t.radius-.35;e+=.5){let t=Math.max(6,Math.round(2*Math.PI*e/.72));for(let r=0;r<t;r++){let a=r*Math.PI*2/t+q(n*13),o=Math.cos(a)*e,s=Math.sin(a)*e;if(i(o,s,.6))return{x:o,y:s}}}return{x:0,y:0}}function Cn(e){for(let t of e.cells){if(t.packed||t.localX===void 0||t.localY===void 0||t.targetLocalX===void 0||t.targetLocalY===void 0)continue;let e=In(t.localX,t.targetLocalX,.25),n=In(t.localY,t.targetLocalY,.25);t.localX=e,t.localY=n,t.packed=e===t.targetLocalX&&n===t.targetLocalY}}function wn(e,t){let n=e.cells.filter(e=>e.owner===t.kind&&e.localX!==void 0&&e.localY!==void 0),r=Tn(t.radius,n.length);n.sort((e,t)=>e.id-t.id);for(let[e,t]of n.entries()){let n=r[e];if(!n)break;t.targetLocalX=n.x,t.targetLocalY=n.y,t.packed=!1}}function Tn(e,t){let n=Math.max(.2,e-.1),r=[],i=.9,a=i*Math.sqrt(3)/2;for(let e=-Math.ceil(n/a);e<=Math.ceil(n/a);e+=1){let t=e*a,o=e&1?i/2:0;for(let e=-Math.ceil(n/i);e<=Math.ceil(n/i);e+=1){let a=e*i+o;Math.hypot(a,t)<=n&&r.push({x:a,y:t})}}r.sort((e,t)=>Math.hypot(e.x,e.y)-Math.hypot(t.x,t.y));let o=[];for(let e of r)if(o.every(t=>Math.hypot(t.x-e.x,t.y-e.y)>=.82)&&o.push(e),o.length===t)break;return o}function En(e){if(e.hat)return e.toppling?{...Pn(e.hat,e.toppling),angle:e.hat.angle+e.toppling.angle}:e.hat}function Dn(e,t,n){let r=Fn(t),i=(e,t)=>e+(t-e)*K(n,0,1);for(let t of[`body`,`head`]){let n=e[t],a=r[t];n&&a&&(a.x=i(n.x,a.x),a.y=i(n.y,a.y),a.angle=i(n.angle,a.angle))}let a=new Map(e.flakes.map(e=>[e.id,e]));for(let e of r.flakes){let t=a.get(e.id);t&&(e.x=i(t.x,e.x),e.y=i(t.y,e.y))}return r.toppling&&e.toppling&&(r.toppling.angle=i(e.toppling.angle,r.toppling.angle)),r.hat&&e.hat&&(r.hat={x:i(e.hat.x,r.hat.x),y:i(e.hat.y,r.hat.y),angle:i(e.hat.angle,r.hat.angle)}),r}function On(e){let t=new Map;for(let n of pn(e))t.set(G(Math.round(n.x),Math.round(n.y)),n.owner);return t}function kn(e,t,n){let r=On(e),i=e.cells.filter(e=>e.owner===`ground`).sort((e,t)=>t.y-e.y||e.x-t.x);for(let a of i){let i=G(a.x,a.y+1);if(a.y<e.grid.rows-1&&!r.has(i)){r.delete(G(a.x,a.y)),a.y+=1,r.set(G(a.x,a.y),a.owner);continue}let o=q(t+a.id*29+n)<.5?-1:1;for(let t of[o,-o]){let n=a.x+t;if(!(n<0||n>=e.grid.columns||a.y>=e.grid.rows-1||r.has(G(n,a.y))||r.has(G(n,a.y+1)))){r.delete(G(a.x,a.y)),a.x=n,a.y+=1,r.set(G(a.x,a.y),a.owner);break}}}}function An(e,t,n,r,i){let a=Math.round(e.x),o=Math.round(e.y);if(o<0)return;if(o>=n.rows-1)return{x:a,y:n.rows-1};if(!t.has(G(a,o+1)))return;let s=r>=0?1:-1,c=q(i+e.id*71+o)>.5?s:-s;for(let e of[c,-c]){let r=a+e;if(r>=0&&r<n.columns&&!t.has(G(r,o+1))&&!t.has(G(r,o)))return{x:r,y:o+1}}return t.has(G(a,o))?{x:a,y:Math.max(0,o-1)}:{x:a,y:o}}function W(e,t,n,r){let i=pn(e).filter(e=>e.owner===`ground`&&Math.abs(e.x-t)<=n);return(i.length?Math.min(...i.map(e=>e.y)):r)-n}function jn(e,t,n){let r=e.cells.filter(e=>e.owner===t).length;return n+Math.sqrt(r/Math.PI)*.5}function Mn(e,t){let n=e.body;n&&(e.toppling={startedAt:t,angle:0,pivotX:n.x,pivotY:n.y+n.radius*.72})}function Nn(e,t){let n=e.toppling;if(!n)return;let r=K((t-n.startedAt)/750,0,1);n.angle=(1-(1-r)**3)*(Math.PI/2),r===1&&(e.toppled=!0)}function Pn(e,t){let n=Math.cos(t.angle),r=Math.sin(t.angle),i=e.x-t.pivotX,a=e.y-t.pivotY;return{...e,x:t.pivotX+i*n-a*r,y:t.pivotY+i*r+a*n}}function Fn(e){return{...e,grid:{...e.grid},hat:e.hat&&{...e.hat},flakes:e.flakes.map(e=>({...e})),cells:e.cells.map(e=>({...e})),body:e.body&&{...e.body},head:e.head&&{...e.head},toppling:e.toppling&&{...e.toppling}}}function G(e,t){return`${e}:${t}`}function K(e,t,n){return Math.max(t,Math.min(n,e))}function In(e,t,n){return Math.abs(t-e)<=n?t:e+Math.sign(t-e)*n}function q(e){let t=Math.sin(e*12.9898)*43758.5453;return t-Math.floor(t)}function Ln(e,t,n){if(!e)return;let r=e.getContext(`2d`);if(!r)return;let i=window.devicePixelRatio||1,a=Math.max(1,Math.round(n.width)),o=Math.max(1,Math.round(n.height));(e.width!==a*i||e.height!==o*i)&&(e.width=a*i,e.height=o*i,e.style.width=`${a}px`,e.style.height=`${o}px`),r.setTransform(i,0,0,i,0,0),r.clearRect(0,0,a,o);let s=a/t.grid.columns,c=o/t.grid.rows;r.fillStyle=`rgba(244, 241, 223, 0.52)`;for(let e of pn(t))Rn(r,(e.x+.5)*s,(e.y+.5)*c,s,c);r.fillStyle=`rgba(244, 241, 223, 0.76)`;for(let e of t.flakes)Rn(r,(e.x+.5)*s,(e.y+.5)*c,s*.72,c*.72);let l=En(t);if(l&&t.head){let e=t.head.radius;r.save(),r.translate(l.x*s,l.y*c),r.scale(s,c),r.rotate(l.angle),r.fillStyle=`rgba(27, 31, 24, 0.78)`,r.fillRect(-e*.65,-2,e*1.3,2),r.fillRect(-e,-.3,e*2,.45),r.restore()}}function Rn(e,t,n,r,i){e.beginPath(),e.arc(t,n,Math.max(.8,Math.min(r,i)*.42),0,Math.PI*2),e.fill()}function zn({progress:e,estimatedDurationMs:t,overdue:n,seed:i=0}){let s=a(null),c=a(null),[l,d]=o({width:360,height:180}),[f,p]=o(()=>window.matchMedia(`(prefers-reduced-motion: reduce)`).matches),m=a(e),h=a(n),g=a({startedAt:Date.now(),progressAt:Date.now(),progress:e,simulation:an()});r(()=>{m.current=e,g.current.progressAt=Date.now(),g.current.progress=e},[e]),r(()=>{h.current=n},[n]),r(()=>{let e=window.matchMedia(`(prefers-reduced-motion: reduce)`),t=()=>p(e.matches);return t(),e.addEventListener?.(`change`,t),()=>e.removeEventListener?.(`change`,t)},[]),r(()=>{let e=s.current;if(!e)return;let t=()=>{let t=e.getBoundingClientRect();t.width>0&&t.height>0&&d({width:t.width,height:t.height})};if(t(),typeof ResizeObserver>`u`)return;let n=new ResizeObserver(t);return n.observe(e),()=>n.disconnect()},[]),r(()=>{if(f)return;g.current.simulation=an(l);let e=0,n=()=>{let r=g.current,a=t===void 0?Date.now()-r.startedAt:r.progress*t+(Date.now()-r.progressAt),o={progress:m.current,estimatedDurationMs:t,overdue:h.current,seed:i,dimensions:l},u=dn(r.simulation,{...o,elapsed:a});r.simulation=u;let d=Dn(u,dn(u,{...o,elapsed:u.lastElapsed+25}),(a-u.lastElapsed)/25);Ln(c.current,d,l);let p=s.current;p&&(p.dataset.snowCellCount=String(u.cells.length),p.dataset.snowDensity=u.grid.columns<65?`compact`:`full`,u.toppled?p.dataset.snowmanToppled=`true`:delete p.dataset.snowmanToppled),f||(e=window.requestAnimationFrame(n))};return e=window.requestAnimationFrame(n),()=>window.cancelAnimationFrame(e)},[l,t,f,i]),r(()=>{if(!f)return;let r=dn(an(l),{elapsed:t===void 0?4800:e*t,progress:e,estimatedDurationMs:t,overdue:n,seed:i,dimensions:l});Ln(c.current,r,l),s.current&&(s.current.dataset.snowCellCount=String(r.cells.length),r.toppled?s.current.dataset.snowmanToppled=`true`:delete s.current.dataset.snowmanToppled)},[l,t,n,e,f,i]);let _=sn(e,t,n);return u(`div`,{ref:s,className:$t.field,"data-running-part":`snowman-field`,"data-snowman-phase":_,"data-reduced-motion":f||void 0,children:u(`canvas`,{ref:c,className:$t.canvas,"data-running-part":`snowman-canvas`})})}var J={haze:`_haze_3npie_1`,pressure:`_pressure_3npie_17`,band:`_band_3npie_20`,bandOne:`_bandOne_3npie_33`,bandTwo:`_bandTwo_3npie_36`,bandThree:`_bandThree_3npie_40`,drift:`_drift_3npie_45`,driftOne:`_driftOne_3npie_54`,driftTwo:`_driftTwo_3npie_58`,driftThree:`_driftThree_3npie_67`,driftFour:`_driftFour_3npie_76`,driftFive:`_driftFive_3npie_85`,"storm-band":`_storm-band_3npie_1`};function Bn(){return d(l,{children:[u(`span`,{className:J.haze,"data-running-part":`weather-haze`}),u(`span`,{className:J.pressure,"data-running-part":`weather-pressure`}),u(`span`,{className:`${J.band} ${J.bandOne}`}),u(`span`,{className:`${J.band} ${J.bandTwo}`}),u(`span`,{className:`${J.band} ${J.bandThree}`}),u(`span`,{className:`${J.drift} ${J.driftOne}`}),u(`span`,{className:`${J.drift} ${J.driftTwo}`}),u(`span`,{className:`${J.drift} ${J.driftThree}`}),u(`span`,{className:`${J.drift} ${J.driftFour}`}),u(`span`,{className:`${J.drift} ${J.driftFive}`})]})}var Vn={anchor:`_anchor_1bd86_1`,body:`_body_1bd86_6`,"phased-marker":`_phased-marker_1bd86_1`};function Hn({anchorClassName:e,bodyClassName:t,delay:n,anchorPart:r,bodyPart:i}){let a=n?{"--phased-marker-delay":n}:void 0;return u(`span`,{className:`${Vn.anchor} ${e??``}`,"data-running-part":r,children:u(`span`,{className:`${Vn.body} ${t??``}`,"data-running-part":i,style:a})})}var Y={frontier:`_frontier_2wwhn_1`,flare:`_flare_2wwhn_12`,lanes:`_lanes_2wwhn_15`,lane:`_lane_2wwhn_15`,markerAnchor:`_markerAnchor_2wwhn_31`,markerBody:`_markerBody_2wwhn_35`,"bloom-flare":`_bloom-flare_2wwhn_1`};function Un(){return d(l,{children:[u(`span`,{className:Y.frontier,"data-running-part":`frontier`}),u(`span`,{className:Y.flare,"data-running-part":`bloom-flare`}),u(`span`,{className:Y.lanes,"data-running-part":`bloom-lanes`,children:[0,1,2,3].map(e=>u(`span`,{className:Y.lane,"data-running-part":`bloom-lane`,children:u(Hn,{anchorClassName:Y.markerAnchor,bodyClassName:Y.markerBody,delay:[void 0,`-0.8s`,`-1.7s`,`-2.4s`][e],anchorPart:`bloom-marker-anchor`,bodyPart:`bloom-marker`})},e))})]})}function Wn(e){return[`telemetry-bloom`,`release-transit`,`status-weather`,`falling-shapes`,`snowman`].includes(e)}function Gn({animation:e,progress:t,estimatedDurationMs:n,overdue:r,indeterminate:i,seed:a}){let o={"--running-progress":`${t*100}%`};return d(`div`,{className:`${Qt.field} ${r?Qt.overdue:``}`,"data-animation":e,"data-running-field":!0,"data-overdue":r||void 0,"data-indeterminate":i||void 0,"aria-hidden":`true`,style:o,children:[e===`telemetry-bloom`&&u(Un,{}),e===`release-transit`&&u(Zt,{}),e===`status-weather`&&u(Bn,{}),e===`falling-shapes`&&u(Yt,{progress:t,estimatedDurationMs:n,overdue:r,seed:a}),e===`snowman`&&u(zn,{progress:t,estimatedDurationMs:n,overdue:r,seed:a})]})}var Kn=20;function qn(e,t){let n=Jn(!!e),r=e?new Date(e).valueOf():NaN,i=Number.isFinite(r)?Math.max(0,n-r):void 0,a=i!==void 0&&t!==void 0;return{elapsedMs:i,estimatedDurationMs:t,hasEstimate:a,overdue:a&&i>t,progress:a?Math.min(i/t,1):0}}function Jn(e){let[t,n]=o(()=>Date.now());return r(()=>{if(!e)return;n(Date.now());let t=window.setInterval(()=>n(Date.now()),Kn);return()=>window.clearInterval(t)},[e]),t}function Yn(e,t,n){return`${e===void 0?`Run in progress`:`Elapsed ${Zn(e)}`} · ${t===void 0?`Expected duration unavailable`:`Expected ≈ ${Zn(t)}`}${n?` · Over estimate`:``}`}function Xn(e,t,n){let r=e===void 0?`—`:Qn(e),i=t===void 0?`?`:`~${Qn(t)}`;return`${n?`⚠`:`\xA0`}${r}/${i}`}function Zn(e){let t=Math.floor(e/1e3),n=Math.floor(t/3600),r=Math.floor(t%3600/60),i=t%60;return n>0?`${n}h ${r}m`:r>0?`${r}m ${i}s`:`${i}s`}function Qn(e){let t=Math.floor(e/1e3),n=Math.floor(t/3600),r=Math.floor(t%3600/60),i=t%60,a=`${r}:${String(i).padStart(2,`0`)}`;return n>0?`${n}:${a.padStart(5,`0`)}`:a}function $n({elapsedMs:e,estimatedDurationMs:t,overdue:n}){return d(`p`,{className:`${Qt.timing} ${n?Qt.timingOverdue:``}`,children:[u(`span`,{className:`screen-reader-only`,children:Yn(e,t,n)}),u(`span`,{"aria-hidden":`true`,children:Xn(e,t,n)})]})}var X={progress:`_progress_1x79l_1`,visual:`_visual_1x79l_8`,timing:`_timing_1x79l_12`,overdue:`_overdue_1x79l_17`,readout:`_readout_1x79l_23`,radial:`_radial_1x79l_31`,sweep:`_sweep_1x79l_1`,"alarm-ring":`_alarm-ring_1x79l_1`,radialCore:`_radialCore_1x79l_58`,"reactor-breathe":`_reactor-breathe_1x79l_1`,runway:`_runway_1x79l_70`,"barrier-pulse":`_barrier-pulse_1x79l_1`,spark:`_spark_1x79l_114`,sparkTwo:`_sparkTwo_1x79l_128`,orbit:`_orbit_1x79l_135`,orbitCore:`_orbitCore_1x79l_151`,particle:`_particle_1x79l_163`,particleTwo:`_particleTwo_1x79l_174`,"gravity-well":`_gravity-well_1x79l_1`,indeterminate:`_indeterminate_1x79l_191`,shift:`_shift_1x79l_1`,signalField:`_signalField_1x79l_199`,rail:`_rail_1x79l_217`,lead:`_lead_1x79l_223`,pulse:`_pulse_1x79l_233`,pulseTwo:`_pulseTwo_1x79l_244`,tracks:`_tracks_1x79l_247`,sparkWide:`_sparkWide_1x79l_1`,track:`_track_1x79l_247`,markerAnchor:`_markerAnchor_1x79l_371`,markerBody:`_markerBody_1x79l_375`,"endpoint-pulse":`_endpoint-pulse_1x79l_1`,short:`_short_1x79l_413`};function er({animation:e,timing:t}){let{elapsedMs:n,estimatedDurationMs:r,hasEstimate:i,overdue:a,progress:o}=t,s=e===`runway`||e===`signal-field`,c=Yn(n,r,a),f={"--running-progress":`${o*100}%`,"--running-degrees":`${o*360}deg`},p=e===`signal-field`?X.signalField:X[e];return d(`div`,{className:`${X.progress} ${p} ${a?X.overdue:``} ${i?``:X.indeterminate}`,style:f,"data-running-progress":e,"data-overdue":a||void 0,"data-indeterminate":!i||void 0,children:[d(`div`,{className:X.visual,"aria-hidden":`true`,"data-running-visual":!0,children:[e===`radial`&&u(`span`,{className:X.radialCore}),e===`runway`&&d(l,{children:[u(`span`,{className:X.spark,"data-running-part":`runway-spark`}),u(`span`,{className:`${X.spark} ${X.sparkTwo}`,"data-running-part":`runway-spark-two`})]}),e===`orbit`&&d(l,{children:[u(`span`,{className:X.orbitCore}),u(`span`,{className:X.particle}),u(`span`,{className:`${X.particle} ${X.particleTwo}`})]}),e===`signal-field`&&d(l,{children:[u(`span`,{className:X.rail}),u(`span`,{className:X.lead}),u(`span`,{className:X.pulse}),u(`span`,{className:`${X.pulse} ${X.pulseTwo}`}),u(`span`,{className:X.tracks,"data-running-part":`signal-tracks`,children:[0,1,2,3,4].map(e=>u(`span`,{className:X.track,"data-running-part":`signal-track`,children:u(Hn,{anchorClassName:X.markerAnchor,bodyClassName:X.markerBody,delay:[void 0,`-0.8s`,`-1.7s`,`-2.4s`,`-0.35s`][e],anchorPart:`signal-marker-anchor`,bodyPart:`signal-marker`})},e))})]})]}),u(`p`,{className:`${X.timing} ${s?X.readout:``}`,children:s?d(l,{children:[u(`span`,{className:`screen-reader-only`,children:c}),u(`span`,{"aria-hidden":`true`,children:Xn(n,r,a)})]}):c})]})}function tr(e){return[`radial`,`runway`,`orbit`,`signal-field`].includes(e)}function nr(e){return Array.from(e).reduce((e,t)=>e*31+t.charCodeAt(0)>>>0,7)}var rr=2e4,ir=15e3,ar=3e5,or=1.25,sr=[`radial`,`runway`,`orbit`,`signal-field`,`telemetry-bloom`,`release-transit`,`status-weather`,`falling-shapes`,`snowman`];function cr({panel:e}){let t=dr(),n=e.running_animation===void 0||e.running_animation===`off`?void 0:e.running_animation,r=lr(e.demo_run_duration,rr),i=lr(e.demo_review_duration,ar),a=n?Math.ceil(i*or):r,o=Math.floor(t/a),s=n??sr[o%sr.length]??`radial`,c=o*a;return u(ur,{panel:e,animation:s,runStartedAt:c,estimatedDurationMs:n?i:ir})}function lr(e,t){return e?v(e)??t:t}function ur({panel:e,animation:t,runStartedAt:n,estimatedDurationMs:r}){let i=qn(new Date(n).toISOString(),r),a=Wn(t);return u(L,{panel:e,field:a?u(Gn,{animation:t,progress:i.progress,estimatedDurationMs:i.estimatedDurationMs,overdue:i.overdue,indeterminate:!i.hasEstimate,seed:nr(e.id)},`${t}-${n}`):void 0,children:d(F,{children:[u(I,{status:`running`,glyph:`↻`,label:`Running`}),d(`p`,{className:Dt.variant,children:[u(`span`,{className:Dt.variantPrefix,children:`Demo treatment · `}),t]}),a?u($n,{elapsedMs:i.elapsedMs,estimatedDurationMs:r,overdue:i.overdue}):u(er,{animation:t,timing:i})]})})}function dr(){let[e,t]=o(()=>Date.now());return r(()=>{let e=window.setInterval(()=>t(Date.now()),1e3);return()=>window.clearInterval(e)},[]),e}var fr={details:`_details_19avj_1`,activity:`_activity_19avj_7`,duration:`_duration_19avj_8`};function pr(e,t=`Passed`){let n=mt[e];return e===`passed`?{...n,label:t}:n}function mr(e){return e?e.parent?`${e.parent} › ${e.name}`:e.name:`Activity unavailable`}function hr({panel:e,envelope:t,attentionActive:n,updateHealth:r}){if(!t)return u(L,{panel:e,attentionActive:n,children:u(F,{children:u(N,{children:`Loading…`})})});if(t.state===`error`){let r=dt(t.error.kind);return d(L,{panel:e,envelope:t,attentionActive:n,error:!0,layout:`status-band`,children:[u(`div`,{"data-panel-anchor":`status`,children:u(I,{glyph:`⚠`,label:r.label,emphasis:r.emphasis})}),u(F,{anchor:`evidence`,children:u(N,{children:t.error.message})})]})}let i=E.safeParse(t.signal);return i.success?u(gr,{panel:e,envelope:t,signal:i.data,updateHealth:r,attentionActive:n}):d(L,{panel:e,envelope:t,attentionActive:n,error:!0,layout:`status-band`,children:[u(`div`,{"data-panel-anchor":`status`,children:u(I,{glyph:`⚠`,label:`Invalid signal`})}),u(F,{anchor:`evidence`,children:u(N,{children:`The received pipeline status could not be read.`})})]})}function gr({panel:e,envelope:t,signal:n,updateHealth:r,attentionActive:i}){let s=pr(n.status),[c,l]=o(()=>n.status===`running`?_r():void 0),f=a(n.status);if(n.status!==f.current){let t=f.current===`running`;f.current=n.status,e.running_animation===void 0&&!t&&n.status===`running`&&l(e=>_r(e))}let p=e.running_animation??c??`off`,m=n.status===`running`&&p!==`off`,h=qn(n.runStartedAt,n.estimatedDurationMs),g=m&&Wn(p),_=m&&tr(p);return d(L,{panel:e,envelope:t,attentionActive:i,layout:g||_?void 0:`status-band`,field:g?u(Gn,{animation:p,progress:h.progress,estimatedDurationMs:h.estimatedDurationMs,overdue:h.overdue,indeterminate:!h.hasEstimate,seed:nr(e.id)}):void 0,children:[u(`div`,{"data-panel-anchor":`status`,children:u(I,{status:n.status,glyph:s.glyph,label:s.label})}),d(F,{className:fr.details,anchor:`evidence`,children:[n.status===`running`&&u(P,{glyph:`⚙`,label:`Activity`,value:mr(n.activity),compact:{kind:`glyph-only`},title:`Activity: ${mr(n.activity)}`,className:fr.activity}),n.branch&&u(P,{glyph:`⎇`,label:`Branch`,value:u(`span`,{className:fr.branch,children:n.branch}),compact:{kind:`short-value`,value:u(`span`,{className:fr.branch,children:n.branch})},title:`Branch: ${n.branch}`}),g&&u($n,{elapsedMs:h.elapsedMs,estimatedDurationMs:n.estimatedDurationMs,overdue:h.overdue}),_&&u(er,{animation:p,timing:h}),n.status!==`running`&&n.durationMs!==void 0&&u(P,{glyph:`◷`,label:`Duration`,value:`Took ${vr(n.durationMs)}`,compact:{kind:`short-value`,value:vr(n.durationMs)},title:`Duration: Took ${vr(n.durationMs)}`,className:fr.duration}),u(vt,{sourceUpdatedAt:n.sourceUpdatedAt,observedAt:t.observedAt,running:n.status===`running`,runStartedAt:n.runStartedAt}),r&&u(yt,{health:r})]})]})}function _r(e){let t=T.filter(t=>t!==e);return t[Math.floor(Math.random()*t.length)]??`telemetry-bloom`}function vr(e){let t=Math.floor(e/1e3),n=Math.floor(t/3600),r=Math.floor(t%3600/60),i=t%60;return n>0?`${n}h ${r}m`:r>0?`${r}m ${i}s`:`${i}s`}var Z={compactFacts:`_compactFacts_f62xm_1`,incomplete:`_incomplete_f62xm_8`,compactFact:`_compactFact_f62xm_1`,failedItem:`_failedItem_f62xm_19`,evidence:`_evidence_f62xm_27`,freshness:`_freshness_f62xm_28`,statusAnchor:`_statusAnchor_f62xm_36`,fullSummary:`_fullSummary_f62xm_44`};function Q(e,t,n=`${t}s`){return`${e} ${e===1?t:n}`}function yr(e){let t=[...e.workflows,...e.pullRequests].find(e=>e.status===`failed`||e.status===`warning`);return t?{workflow:Q(e.workflows.length,`workflow`),pullRequests:Q(e.pullRequests.length,`open PR`),primary:`${t.label} ${t.status}`,secondary:`${Q(e.workflows.length,`workflow`)} · ${Q(e.pullRequests.length,`open PR`)}`,primaryDetail:t.detail,primaryKind:t.status===`warning`?`warning`:`failed`,title:`${e.summary} — ${t.label}: ${t.detail}`}:{workflow:Q(e.workflows.length,`workflow`),pullRequests:Q(e.pullRequests.length,`open PR`),primary:Q(e.workflows.length,`workflow`),secondary:Q(e.pullRequests.length,`open PR`),title:e.summary}}function br({panel:e,envelope:t,attentionActive:n,updateHealth:r}){if(!t)return u(L,{panel:e,attentionActive:n,children:u(F,{children:u(N,{children:`Loading…`})})});if(t.state===`error`){let r=dt(t.error.kind);return d(L,{panel:e,envelope:t,attentionActive:n,error:!0,layout:`status-band`,children:[u(`div`,{"data-panel-anchor":`status`,children:u(I,{glyph:`⚠`,label:r.label,emphasis:r.emphasis})}),u(F,{anchor:`evidence`,children:u(N,{children:t.error.message})})]})}let i=Ce.safeParse(t.signal);if(!i.success)return d(L,{panel:e,envelope:t,attentionActive:n,error:!0,layout:`status-band`,children:[u(`div`,{"data-panel-anchor":`status`,children:u(I,{glyph:`⚠`,label:`Invalid signal`})}),u(F,{anchor:`evidence`,children:u(N,{children:`The received pull-request health status could not be read.`})})]});let a=pr(i.data.status,`Healthy`),o=yr(i.data);return d(L,{panel:e,envelope:t,attentionActive:n,layout:`status-band`,children:[u(`div`,{className:Z.statusAnchor,"data-panel-anchor":`status`,children:u(I,{status:i.data.status,glyph:a.glyph,label:a.label})}),d(`div`,{className:Z.evidence,"data-panel-anchor":`evidence`,"data-panel-evidence-priority":`secondary`,children:[u(N,{className:Z.fullSummary,title:i.data.summary,children:i.data.summary}),d(`div`,{className:Z.compactFacts,title:o.title,"data-compact-facts":!0,children:[o.primaryDetail&&d(`p`,{className:Z.failedItem,title:o.primaryDetail,children:[u(`span`,{"aria-hidden":`true`,children:`⚠`}),` `,d(`span`,{className:`screen-reader-only`,children:[o.primaryKind===`warning`?`Warning`:`Failed`,` item:`,` `]}),o.primary,d(`span`,{className:`screen-reader-only`,children:[`. Detail: `,o.primaryDetail]})]}),u(P,{glyph:`⚙`,label:`Update workflows`,value:o.workflow,compact:{kind:`short-value`,value:i.data.workflows.length},title:`Update workflows: ${o.workflow}`,className:Z.compactFact}),u(P,{glyph:`⎇`,label:`Open update pull requests`,value:o.pullRequests,compact:{kind:`short-value`,value:i.data.pullRequests.length},title:`Open update pull requests: ${o.pullRequests}`,className:Z.compactFact})]}),d(`div`,{className:Z.freshness,children:[u(R,{value:t.observedAt,label:`Observed (oldest evidence)`}),i.data.newestObservedAt&&d(`span`,{className:`screen-reader-only`,children:[`Newest evidence observed `,i.data.newestObservedAt,`.`]}),r&&u(yt,{health:r})]}),i.data.incompleteObservations&&u(`div`,{role:`status`,children:d(N,{className:Z.incomplete,children:[`⚠ Incomplete observations:`,` `,i.data.incompleteObservations.map(({label:e,message:t})=>`${e}: ${t}`).join(` · `)]})})]})]})}var xr={"pipeline-status":hr,"pull-request-health":br,"http-value":Ct,"pipeline-animation-demo":cr};function Sr({panel:e,envelope:t,attentionActive:n,updateHealth:r,facts:i}){let a=xr[e.type];return a?u(a,{panel:e,envelope:t,attentionActive:n,updateHealth:r,facts:i}):u(ut,{label:e.type,hint:`Not wired yet`,wide:!0})}var $={trigger:`_trigger_g9eon_1`,close:`_close_g9eon_2`,dialog:`_dialog_g9eon_11`,dialogHeader:`_dialogHeader_g9eon_22`,note:`_note_g9eon_32`,empty:`_empty_g9eon_33`,body:`_body_g9eon_43`,legend:`_legend_g9eon_48`,axis:`_axis_g9eon_57`,lanes:`_lanes_g9eon_64`,lane:`_lane_g9eon_64`,laneLabel:`_laneLabel_g9eon_75`,track:`_track_g9eon_78`,observed:`_observed_g9eon_85`,expected:`_expected_g9eon_86`},Cr=6e5;function wr({schedules:e,events:t,retention:n,now:r=new Date}){let i=r.valueOf(),a=i-Cr,o=t.filter(e=>e.kind===`panel-fetch-start`&&Number.isFinite(Date.parse(e.at))&&Date.parse(e.at)>=a&&Date.parse(e.at)<=i),s=e.map(e=>{let t=new Map;for(let n of o){if(n.panelId!==e.panelId)continue;let r=t.get(n.path)??[];r.push(n.at),t.set(n.path,r)}return{...e,observed:[...t.entries()].map(([e,t])=>({path:e,starts:t})),hasRetainedEvidence:t.size>0}});return{capturedAt:r.toISOString(),window:{from:new Date(a).toISOString(),to:r.toISOString()},schedules:e,lanes:s,evidenceMayBeIncomplete:n.eventsPrunedByAge>0||n.eventsPrunedByCount>0}}function Tr(e,t){return Math.max(0,Math.min(100,(Date.parse(e)-(t.valueOf()-Cr))/Cr*100))}function Er(e,t){return`${e.label}, panel ${e.panelId}; ${Dr(e.cadence)} cadence; ${e.inFlight?`request in flight`:e.nextDueAt?Or(e.nextDueAt,t):`awaiting first request`}; ${e.observed.length?`${e.observed.length} observed proxy path${e.observed.length===1?``:`s`}`:`no retained requests in the last 10 minutes`}`}function Dr(e){return e===`completion-window`?`Completion-window`:e===`running`?`Running`:`Normal`}function Or(e,t){let n=Date.parse(e)-t.valueOf();return n<0?`Overdue by ${kr(-n)}`:`Next poll in ${kr(n)}`}function kr(e){return e%6e4==0?`${Math.round(e/6e4)}m`:`${Math.max(1,Math.round(e/1e3))}s`}function Ar({board:e,schedules:t,log:n}){let[c,f]=o(()=>new Date),[p,m]=o(!1),h=a(null),g=a(null),_=a(null),v=a(!1);s(n.subscribe,n.snapshot,n.snapshot),r(()=>{if(!p)return;let e=window.setInterval(()=>f(new Date),1e3);return()=>window.clearInterval(e)},[p]);let y=i(()=>wr({schedules:t,...n.retainedEvidence(),now:c}),[n,c,t]);return r(()=>{if(!p){v.current&&h.current?.focus(),v.current=!1;return}v.current=!0;let e=()=>m(!1),t=window.setTimeout(e,6e4),n=()=>{window.clearTimeout(t),t=window.setTimeout(e,6e4)},r=t=>{t.key===`Escape`&&e()},i=e=>{if(e.key!==`Tab`)return;let t=[...g.current?.querySelectorAll(`button:not([disabled]), [href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])`)??[]],n=t.at(0),r=t.at(-1);n&&r&&(e.shiftKey&&document.activeElement===n?(e.preventDefault(),r?.focus()):!e.shiftKey&&document.activeElement===r&&(e.preventDefault(),n.focus()))},a=g.current;return a?.addEventListener(`pointerdown`,n),a?.addEventListener(`keydown`,n),a?.addEventListener(`focusin`,n),a?.addEventListener(`keydown`,i),window.addEventListener(`keydown`,r),_.current?.focus(),()=>{window.clearTimeout(t),a?.removeEventListener(`pointerdown`,n),a?.removeEventListener(`keydown`,n),a?.removeEventListener(`focusin`,n),a?.removeEventListener(`keydown`,i),window.removeEventListener(`keydown`,r)}},[p]),d(l,{children:[u(`button`,{ref:h,className:$.trigger,type:`button`,"aria-expanded":p,"aria-controls":`update-activity-dialog`,onClick:()=>{f(new Date),m(!0)},children:`Update activity`}),p&&d(`section`,{ref:g,className:$.dialog,"data-update-activity":!0,id:`update-activity-dialog`,role:`dialog`,"aria-modal":`true`,"aria-labelledby":`update-activity-title`,children:[d(`div`,{className:$.dialogHeader,children:[d(`div`,{children:[u(`h2`,{id:`update-activity-title`,children:`Update activity`}),u(`p`,{children:`Browser-local proxy reads from the last 10 minutes. Panels schedule independently.`})]}),u(`button`,{ref:_,className:$.close,type:`button`,onClick:()=>m(!1),children:`Close`})]}),d(`div`,{className:$.body,children:[u(`span`,{className:$.legend,children:`● observed · ◇ expected`}),e&&y.lanes.length===0&&u(`p`,{className:$.empty,children:`No visible polling panels are configured.`}),y.lanes.length>0&&d(l,{children:[d(`div`,{className:$.axis,"aria-hidden":`true`,children:[u(`span`,{children:`10m ago`}),u(`span`,{children:`now`})]}),u(`div`,{className:$.lanes,children:y.lanes.map(e=>d(`div`,{className:$.lane,"data-update-activity-lane":!0,children:[u(`span`,{className:$.laneLabel,children:e.label}),d(`span`,{className:$.track,role:`img`,"aria-label":Er(e,c),children:[e.observed.flatMap(({path:e,starts:t})=>t.map(t=>u(`i`,{className:$.observed,style:{left:`${Tr(t,c)}%`},title:`Observed request: ${e}`},`${e}-${t}`))),e.nextDueAt&&u(`i`,{className:$.expected,style:{left:`${Tr(e.nextDueAt,c)}%`},title:`Expected next poll`})]})]},e.panelId))})]}),y.evidenceMayBeIncomplete&&u(`p`,{className:$.note,children:`Older browser evidence was pruned, so an empty lane only means no retained request in this window.`}),u(`p`,{className:$.note,children:`Observed markers are requests this browser started; the outlined marker is the current expected next poll, not an observed request.`})]})]})]})}var jr=6e4,Mr=1e4,Nr=()=>globalThis.window.location.reload();function Pr({env:e,diagnostics:t,fetcher:n,reload:i=Nr,auth:a}){r(()=>{let r=!1,o=!1,s,c=`${e.proxyPath}/client`,l=async()=>{if(r||o)return;o=!0;let u=new AbortController;s=u;let d=globalThis.setTimeout(()=>u.abort(),Mr);t.record({kind:`client-update-check`,path:c});try{let o=await A(e,c,{cache:`no-store`,signal:u.signal},n??globalThis.fetch,a);if(!o.ok)throw Error(`Client identity returned ${o.status}`);let s=me.safeParse(await o.json());if(!s.success)throw Error(`Client identity response was invalid`);if(r)return;t.record({kind:`client-update-response`,path:c,serverVersion:s.data.serverVersion,assetPathIdMatches:s.data.assetPathId===e.assetPathId}),s.data.assetPath!==e.assetPath&&(t.record({kind:`client-update-detected`,path:c,current:{assetPath:e.assetPath},next:s.data}),i())}catch(e){!r&&!(e instanceof DOMException&&e.name===`AbortError`)&&t.record({kind:`client-update-failure`,path:c,message:e instanceof Error?e.message:String(e)})}finally{globalThis.clearTimeout(d),o=!1,s===u&&(s=void 0),r||globalThis.setTimeout(()=>void l(),jr)}};return l(),()=>{r=!0,s?.abort()}},[a,t,e,n,i])}function Fr(e,t){if(t.state===`error`)return{state:t.state,link:t.link};if(e.type===`pipeline-status`){let e=E.safeParse(t.signal);return{state:t.state,status:e.success?e.data.status:void 0,link:t.link}}if(e.type===`pull-request-health`){let e=Ce.safeParse(t.signal);return{state:t.state,status:e.success?e.data.status:void 0,link:t.link}}return{state:t.state,link:t.link}}function Ir(e,t,n){if(!e)return!0;let r=Fr(t,e),i=Fr(t,n);return r.state!==i.state||r.status!==i.status||r.link!==i.link}function Lr(e){let t=Object.entries(e).map(([e,t])=>t?.envelope?{id:e,state:t.envelope.state,link:t.envelope.link}:{id:e,state:`unavailable`,link:null});return{state:t.some(e=>e.state===`ok`)?`ok`:`error`,link:null,facts:t}}function Rr(e,t){return JSON.stringify(e&&Lr(e))!==JSON.stringify(Lr(t))}var zr=`ze-great-dashboard.panel-memory.v1`,Br=1,Vr=12096e5,Hr=class{now;histories;storage;constructor(e=He(),t=()=>new Date){this.now=t,this.storage=e,this.histories=this.read(),this.pruneAll()}latest(e){return this.history(e).latest}rememberLatest(e,t){this.history(e).latest=t,this.persist()}recordRun(e,t,n=!1){let r=this.history(e);n&&(r.durations[Ur(t)]=t);let i=r.latestCompleted;(!i||Wr(t.sourceUpdatedAt,i.sourceUpdatedAt))&&(r.latestCompleted=t),this.pruneHistory(r),this.persist()}recordSuccessfulRun(e,t){this.recordRun(e,t,!0)}recordCompletedRun(e,t){this.recordRun(e,t)}medianDuration(e){let t=this.history(e);this.pruneHistory(t);let n=Object.values(t.durations).map(({durationMs:e})=>e).sort((e,t)=>e-t);if(n.length===0)return;let r=Math.floor(n.length/2);if(n.length%2==1)return n[r];let i=n[r-1],a=n[r];return i===void 0||a===void 0?void 0:Math.floor((i+a)/2)}resolveEstimatedDuration(e){let t=this.medianDuration(e);if(t!==void 0)return t;let n=this.history(e);return this.pruneHistory(n),n.latestCompleted?.durationMs}history(e){let t=qr(e),n=this.histories[t];if(n)return n;let r={durations:{}};return this.histories[t]=r,r}pruneAll(){for(let e of Object.values(this.histories))this.pruneHistory(e);this.persist()}pruneHistory(e){let t=this.now().valueOf()-Vr;for(let[n,r]of Object.entries(e.durations)){let i=Gr(r.sourceUpdatedAt);(i===void 0||i<t)&&delete e.durations[n]}let n=e.latestCompleted?Gr(e.latestCompleted.sourceUpdatedAt):void 0;e.latestCompleted&&(n===void 0||n<t)&&delete e.latestCompleted}read(){let e=Ue(this.storage,zr);return e?.schemaVersion!==Br||!e.histories?{}:Jr(e.histories)?e.histories:{}}persist(){We(this.storage,zr,{schemaVersion:Br,histories:this.histories})}};function Ur(e){return e.sourceRunId??e.link??e.sourceUpdatedAt}function Wr(e,t){let n=Gr(e),r=Gr(t);return n!==void 0&&(r===void 0||n>=r)}function Gr(e){let t=Date.parse(e);return Number.isFinite(t)?t:void 0}function Kr(e,t){return{board:e,panelId:t.id,source:t.source??``,workflow:typeof t.pipeline==`string`||typeof t.pipeline==`number`?String(t.pipeline):``,branch:t.branch??``}}function qr(e){return JSON.stringify([e.board,e.panelId,e.source,e.workflow,e.branch])}function Jr(e){return Zr(e)?Object.values(e).every(Yr):!1}function Yr(e){return!Zr(e)||!Zr(e.durations)||!Object.values(e.durations).every(Xr)?!1:e.latestCompleted===void 0||Xr(e.latestCompleted)}function Xr(e){return Zr(e)?(typeof e.link==`string`||e.link===null)&&(e.sourceRunId===void 0||typeof e.sourceRunId==`string`)&&typeof e.durationMs==`number`&&Number.isInteger(e.durationMs)&&e.durationMs>=0&&typeof e.sourceUpdatedAt==`string`&&Gr(e.sourceUpdatedAt)!==void 0:!1}function Zr(e){return!!e&&typeof e==`object`&&!Array.isArray(e)}async function Qr(e){e.diagnostics.record({kind:`panel-fetch-start`,panelId:e.panelId,path:e.path});try{let t=await e.fetcher(e.path,{signal:e.signal}),n={kind:`panel-fetch-response`,panelId:e.panelId,path:e.path,status:t.status,cache:et(t.headers)};if(t.status===304){e.diagnostics.record(n);let t=e.cache.get(e.path);return t?{envelope:t}:{error:`Source returned not modified before an initial observation.`}}let r=ve.safeParse(await t.json());if(!r.success)return e.diagnostics.record(n),e.diagnostics.record({kind:`panel-fetch-parse-failure`,panelId:e.panelId,path:e.path,message:`Response was not a valid signal envelope.`}),{error:`Response was not a valid signal envelope.`};let i=r.data;return e.diagnostics.record({...n,envelope:i,...i.state===`error`?{failure:$r(i,t)}:{}}),i.state===`ok`&&e.cache.set(e.path,i),{envelope:i}}catch(t){return e.signal?.aborted||e.diagnostics.record({kind:`panel-fetch-failure`,panelId:e.panelId,path:e.path,message:ei(t)}),{error:ei(t)}}}function $r(e,t){let n=t.headers.get(`x-dashboard-request-id`);return{reason:e.error.message,...n?{supportReference:n}:{}}}function ei(e){return e instanceof Error?e.message:String(e)}function ti(e){let t=ni(e.envelope);if(!t)return{kind:`not-pipeline`,envelope:e.envelope};if(e.accepted&&t.sourceUpdatedAt&&Date.parse(t.sourceUpdatedAt)<Date.parse(e.accepted.sourceUpdatedAt))return e.envelope.state!==`ok`||!t.sourceUpdatedAt?{kind:`not-pipeline`,envelope:e.envelope}:{kind:`rejected`,envelope:e.envelope,signal:{...t,sourceUpdatedAt:t.sourceUpdatedAt}};let n=t.sourceUpdatedAt?{sourceUpdatedAt:t.sourceUpdatedAt,status:t.status,link:e.envelope.link}:void 0,r=t.status!==`running`&&t.durationMs!==void 0&&t.sourceUpdatedAt&&Number.isFinite(Date.parse(t.sourceUpdatedAt))?{link:e.envelope.link,...t.sourceRunId?{sourceRunId:t.sourceRunId}:{},durationMs:t.durationMs,sourceUpdatedAt:t.sourceUpdatedAt}:void 0;return{kind:`accepted`,envelope:t.status===`running`&&e.estimatedDurationMs!==void 0&&e.envelope.state===`ok`?{...e.envelope,signal:{...t,estimatedDurationMs:e.estimatedDurationMs}}:e.envelope,signal:t,accepted:n,durationSample:r}}function ni(e){if(e.state!==`ok`)return;let t=E.safeParse(e.signal);return t.success?t.data:void 0}function ri(e){return e.panels.filter(e=>!D(e.position)&&(e.type===`pipeline-status`||e.type===`pull-request-health`||e.type===`http-value`))}function ii(e,t){return`${e.proxyPath}/panel/${encodeURIComponent(e.board)}/${encodeURIComponent(t)}`}function ai(e,t,n){let r=ii(t,n.id),i=n.type===`http-value`&&n.facts?n.facts.map(e=>`${r}/facts/${encodeURIComponent(e.id)}`):n.type===`pull-request-health`?[`${r}/pull-requests`,...oi(n).map(({workflow:e})=>`${r}/update-workflow/${encodeURIComponent(e)}`)]:[r];return{panelId:n.id,label:n.label??n.id,settings:Fe(e,n),cadence:`normal`,inFlight:!1,knownPaths:i}}function oi(e){let t=typeof e==`object`&&e?e.update_workflows:void 0;return Array.isArray(t)?t.flatMap(e=>typeof e==`object`&&e&&typeof e.workflow==`string`?[{workflow:e.workflow}]:[]):[]}function si(e,t,n){let r=ci(e);if(!r)return{delayMillis:n.refreshMillis,cadence:`normal`};let i=li(r);return i===void 0?{delayMillis:n.runningRefreshMillis,cadence:`running`}:t<i?{delayMillis:Math.min(n.runningRefreshMillis,i-t),cadence:`running`}:t<i+n.runningCompletionWindowMillis?{delayMillis:n.runningCompletionRefreshMillis,cadence:`completion-window`}:{delayMillis:n.runningRefreshMillis,cadence:`running`}}function ci(e){if(e?.state!==`ok`)return;let t=E.safeParse(e.signal);return t.success&&t.data.status===`running`?t.data:void 0}function li(e){if(!e.runStartedAt||e.estimatedDurationMs===void 0)return;let t=Date.parse(e.runStartedAt);return Number.isFinite(t)?t+e.estimatedDurationMs:void 0}function ui(e){let t=[],n=e.workflows.map(({workflow:e,observation:n})=>{let r=fi(n.envelope,`pull-request-workflow`);if(r)return r.item;let i=n.error??`No usable observation is available.`;return t.push({label:`Update workflow ${e}`,message:i}),{label:e,status:`unknown`,detail:`Update workflow ${e} · Unavailable: ${i}`,link:null}}),r=pi(e.candidates.envelope);if(!r){let r=e.candidates.error??`No usable observation is available.`;return t.push({label:`Open update PR candidates`,message:r}),n.every(e=>e.status===`unknown`)?void 0:di(e,n,[],t,mi(e.workflows.map(({observation:e})=>e)))}return r.truncated&&t.push({label:`Open update PR candidates`,message:`The first 100 candidates were observed; additional open update PRs may exist.`}),di(e,n,r.pullRequests.map(n=>{let r=e.builds.get(n.branch),i=fi(r?.envelope,`pull-request-build`);if(i)return{...i.item,label:`PR #${n.number}`,detail:i.item.detail,link:n.link};let a=r?.error??`No usable observation is available.`;return t.push({label:`PR #${n.number}`,message:a}),{label:`PR #${n.number}`,status:`unknown`,detail:`${n.branch} · Unavailable: ${a}`,link:n.link}}),t,mi([...e.workflows.map(({observation:e})=>e),e.candidates,...e.builds.values()]))}function di(e,t,n,r,i){let a=hi([...t,...n].map(e=>e.status)),o=[...t,...n].find(e=>e.status===a),s=a!==`passed`&&o?`${o.label}: ${o.detail}`:n.length===0?`${t.length} update workflow${t.length===1?``:`s`} · No open update PRs`:`${t.length} update workflow${t.length===1?``:`s`} · ${n.length} open update PR${n.length===1?``:`s`}`,c=i.sort();return{panelId:e.panelId,state:`ok`,observedAt:c[0]??new Date().toISOString(),link:e.link,signal:{type:`pull-request-health`,status:a,summary:s,workflows:t,pullRequests:n,...r.length?{incompleteObservations:r}:{},...c.length>1?{newestObservedAt:c.at(-1)}:{}}}}function fi(e,t){if(e?.state!==`ok`)return;let n=(t===`pull-request-workflow`?Ee:De).safeParse(e.signal);return n.success?{item:n.data.item}:void 0}function pi(e){if(e?.state!==`ok`)return;let t=Te.safeParse(e.signal);return t.success?t.data:void 0}function mi(e){return e.flatMap(({envelope:e})=>e?.state===`ok`?[e.observedAt]:[])}function hi(e){return e.reduce((e,t)=>xe(t)>xe(e)?t:e,`passed`)}function gi({board:e,env:t,diagnostics:n,memory:i,auth:s}){let[c,l]=o({}),[u,d]=o({}),[f,p]=o({}),[m,h]=o([]),g=a({}),_=a({}),v=a(null);return v.current||=i??new Hr,r(()=>{if(g.current={},_.current={},l({}),d({}),p({}),h([]),!e)return;let r=!1,i=new Set,a=new Set,o=ri(e),c=o.map(n=>ai(e,t,n)),u=new Map(c.map(e=>[e.panelId,e]));h(c);let f=(e,t)=>{r||h(n=>n.map(n=>n.panelId===e?{...n,...t}:n))};for(let e of o){let o=!1,c=v.current;if(!c)return;let m=u.get(e.id);if(!m)continue;let{settings:h}=m,y=ii(t,e.id),b,x,S=()=>{x=new Date().toISOString(),r||d(t=>{if(!t[e.id])return t;let n={...t};return delete n[e.id],n})},C=t=>{let n=x;if(r||!n)return;let i=yi(t);d(t=>{let r=t[e.id];return{...t,[e.id]:{consecutiveFailures:(r?.consecutiveFailures??0)+1,message:i,lastConfirmedAt:n}}})};if(e.type===`http-value`&&e.facts){let c=e.facts,l=new Map,u,d=async()=>{if(r||o)return;o=!0,f(e.id,{inFlight:!0,lastRequestStartedAt:new Date().toISOString(),nextDueAt:void 0}),u=new AbortController,a.add(u);let m=`${y}/facts`,g=await Promise.all(c.map(async r=>{let i=`${m}/${encodeURIComponent(r.id)}`,a=await Qr({diagnostics:n,panelId:e.id,path:i,signal:u?.signal,cache:l,fetcher:(e,n)=>A(t,e,n,globalThis.fetch,s)});return[r.id,a.error?{failure:a.error}:a]}));if(!r&&!u.signal.aborted){let t=Object.fromEntries(g),r=_.current[e.id];Rr(r,t)&&n.record({kind:`panel-rendered`,panelId:e.id,path:y,rendered:Lr(t)}),_.current={..._.current,[e.id]:t},p(_.current)}if(o=!1,a.delete(u),!r){let t=Date.now()+h.refreshMillis;f(e.id,{inFlight:!1,cadence:`normal`,nextDueAt:new Date(t).toISOString()});let n=window.setTimeout(()=>{i.delete(n),d()},h.refreshMillis);i.add(n)}};d();continue}if(e.type===`pull-request-health`){let c=oi(e),u=new Map,d,p=async r=>{let i=await Qr({diagnostics:n,panelId:e.id,path:r,signal:d?.signal,cache:u,fetcher:(e,n)=>A(t,e,n,globalThis.fetch,s)});return i.envelope?.state===`error`?{error:i.envelope.error.message}:i},m=async()=>{if(r||o)return;o=!0,f(e.id,{inFlight:!0,lastRequestStartedAt:new Date().toISOString(),nextDueAt:void 0}),d=new AbortController,a.add(d);let t=y,[s,...u]=await Promise.all([p(`${t}/pull-requests`),...c.map(({workflow:e})=>p(`${t}/update-workflow/${encodeURIComponent(e)}`))]),_=s.envelope?.state===`ok`&&vi(s.envelope.signal)?s.envelope.signal.pullRequests:[];if(r||d.signal.aborted){a.delete(d);return}let v=await Promise.all(_.map(async e=>[e.branch,await p(`${t}/pull-request-build?branch=${encodeURIComponent(e.branch)}`)])),x=ui({panelId:e.id,link:s.envelope?.link??null,workflows:c.map(({workflow:e},t)=>({workflow:e,observation:u[t]??{error:`Missing workflow result.`}})),candidates:s,builds:new Map(v)});if(r||d.signal.aborted){a.delete(d);return}if(x&&!r){b=x,S();let t=g.current[e.id];Ir(t,e,x)&&n.record({kind:`panel-rendered`,panelId:e.id,path:y,rendered:Fr(e,x)}),g.current={...g.current,[e.id]:x},l(g.current)}else r||C(`No usable pull-request observations.`);if(o=!1,a.delete(d),!r){let t=si(b,Date.now(),h),n=Date.now()+t.delayMillis;f(e.id,{inFlight:!1,cadence:t.cadence,nextDueAt:new Date(n).toISOString()});let r=window.setTimeout(()=>{i.delete(r),m()},t.delayMillis);i.add(r)}};m();continue}let ee=()=>{r||o||(o=!0,f(e.id,{inFlight:!0,lastRequestStartedAt:new Date().toISOString(),nextDueAt:void 0}),n.record({kind:`panel-fetch-start`,panelId:e.id,path:y}),A(t,y,void 0,globalThis.fetch,s).then(async t=>{let r={kind:`panel-fetch-response`,panelId:e.id,path:y,status:t.status,cache:et(t.headers)};if(t.status===304){n.record(r),S();return}try{let i=xi(await t.json());if(!i){n.record(r),n.record({kind:`panel-fetch-parse-failure`,panelId:e.id,path:y,message:`Response was not a valid signal envelope.`}),C(`Response was not a valid signal envelope.`);return}return n.record({...r,envelope:i,...i.state===`error`?{failure:_i(i,t)}:{}}),S(),{envelope:i,cache:r.cache,status:t.status}}catch(t){throw n.record(r),n.record({kind:`panel-fetch-parse-failure`,panelId:e.id,path:y,message:yi(t)}),new bi(t)}}).then(i=>{if(!i)return;let a=i.envelope;if(e.type===`pipeline-status`){let r=Kr(t.board,e),o=c.latest(r),s=ti({envelope:a,accepted:o,estimatedDurationMs:c.resolveEstimatedDuration(r)});if(s.kind===`rejected`&&o){let t=s.signal;n.recordGithubConsistencyIncident({panelId:e.id,endpoint:y,identity:{source:r.source,workflow:r.workflow,branch:r.branch},accepted:o,regressed:{sourceUpdatedAt:t.sourceUpdatedAt,status:t.status,link:a.link},response:{httpStatus:i.status,date:i.cache?.date,etag:i.cache?.etag,cacheControl:i.cache?.cacheControl}});return}if(s.kind===`accepted`&&(a=s.envelope,s.accepted&&c.rememberLatest(r,s.accepted),s.durationSample)){let e={link:s.durationSample.link,...s.durationSample.sourceRunId?{sourceRunId:s.durationSample.sourceRunId}:{},durationMs:s.durationSample.durationMs,sourceUpdatedAt:s.durationSample.sourceUpdatedAt};c.recordRun(r,e,s.signal.status===`passed`)}}if(b=a,!r){let t=g.current[e.id];Ir(t,e,a)&&n.record({kind:`panel-rendered`,panelId:e.id,path:y,rendered:Fr(e,a)}),g.current={...g.current,[e.id]:a},l(g.current)}}).catch(t=>{C(t),t instanceof bi||n.record({kind:`panel-fetch-failure`,panelId:e.id,path:y,message:yi(t)})}).finally(()=>{if(o=!1,!r){let t=si(b,Date.now(),h),n=Date.now()+t.delayMillis;f(e.id,{inFlight:!1,cadence:t.cadence,nextDueAt:new Date(n).toISOString()});let r=window.setTimeout(()=>{i.delete(r),ee()},t.delayMillis);i.add(r)}}))};ee()}return()=>{r=!0;for(let e of a)e.abort();for(let e of i)window.clearTimeout(e)}},[s,e,n,t]),{signals:c,updateHealth:u,factSignals:f,schedules:m}}function _i(e,t){let n=t.headers.get(`x-dashboard-request-id`);return{reason:e.error.message,...n?{supportReference:n}:{}}}function vi(e){return typeof e==`object`&&!!e&&e.type===`pull-request-candidates`&&Array.isArray(e.pullRequests)}function yi(e){return e instanceof Error?e.message:String(e)}var bi=class extends Error{constructor(e){super(yi(e))}};function xi(e){let t=ve.safeParse(e);return t.success?t.data:void 0}function Si({env:e}){return e.auth?u(ct,{env:e,auth:e.auth,children:(t,n)=>u(Ci,{env:e,accessToken:t,onDenied:n})}):u(Ci,{env:e})}function Ci({env:e,accessToken:t,onDenied:n}){let[s,c]=o(),[l,f]=o(),p=a(null);p.current||=new Qe(e);let m=p.current,h=i(()=>t?{accessToken:t,onAuthenticationFailure:e=>e===403&&n?.()}:void 0,[t,n]);Pr({env:e,diagnostics:m,auth:h});let{signals:g,updateHealth:_,factSignals:v,schedules:y}=gi({board:l===e.board?s:void 0,env:e,diagnostics:m,auth:h}),b=i(()=>s?je(s.panels):void 0,[s]),x=i(()=>Ie({board:s,signals:g,updateHealth:_,factSignals:v}),[s,v,g,_]),S=x.length?s?.attention?.treatment:void 0,C=new Set(x.map(e=>e.panelId));return r(()=>{b&&b.issues.length!==0&&m.record({kind:`layout-analyzed`,issueCount:b.issues.length,affectedPanelIds:b.issues.map(e=>e.panelId)})},[m,b]),r(()=>{let t=!1;c(void 0),f(void 0);let n=`${e.proxyPath}/boards/${encodeURIComponent(e.board)}`;return m.record({kind:`board-fetch-start`,path:n}),A(e,n,void 0,globalThis.fetch,h).then(async e=>{if(m.record({kind:`board-fetch-response`,path:n,status:e.status,cache:et(e.headers)}),!e.ok)throw Error(`Board configuration returned ${e.status}`);try{return await e.json()}catch(e){throw m.record({kind:`board-fetch-parse-failure`,path:n,message:Ei(e)}),new Di(e)}}).then(r=>{if(!t){c(r),f(e.board);let t=Array.isArray(r.panels)?r.panels:[];m.record({kind:`board-fetch-response`,path:n,boardSummary:{panelCount:t.length,panelIds:t.flatMap(e=>typeof e.id==`string`?[e.id]:[])}})}}).catch(r=>{r instanceof Di||m.record({kind:`board-fetch-failure`,path:n,message:Ei(r)}),t||(c({panels:[]}),f(e.board))}),()=>{t=!0}},[h,m,e]),d(`div`,{className:`${O.board} ${S?O[`attention-${S}`]:``}`,"data-attention-treatment":S,"data-attention-active":x.length||void 0,children:[d(`header`,{className:O.header,children:[u(`h1`,{className:O.title,children:e.board}),x.length>0&&d(`aside`,{className:O.attentionRail,role:`alert`,"aria-label":`Important panel attention`,children:[u(`span`,{className:O.attentionGlyph,"aria-hidden":`true`,children:`⚠`}),u(`ul`,{children:x.map(e=>u(`li`,{children:d(`a`,{href:`#panel-${e.panelId}`,children:[u(`strong`,{children:e.label}),`: `,e.reason]})},`${e.panelId}-${e.factId??`panel`}-${e.reason}`))})]})]}),d(`main`,{className:O.grid,children:[!s&&u(ut,{label:`board`,hint:`Loading configuration…`,wide:!0}),s?.panels.filter(e=>!D(e.position)).map(e=>u(Sr,{panel:e,envelope:g[e.id],attentionActive:C.has(e.id),updateHealth:_[e.id],facts:v[e.id]},e.id))]}),d(`footer`,{className:O.footer,"data-board-footer":!0,children:[u(`span`,{children:`Signals are read live from their configured authorities.`}),d(`div`,{className:O.footerTools,children:[b&&b.issues.length>0&&u(wi,{board:e.board,layout:b,env:e,auth:h}),u(ze,{log:m,updateActivity:()=>{let e=m.retainedEvidence(),t=wr({schedules:y,...e});return{capturedAt:t.capturedAt,window:t.window,schedules:t.schedules}}}),u(Ar,{board:s,schedules:y,log:m})]})]})]})}function wi({board:e,layout:t,env:n,auth:i}){let[a,s]=o(!1),c=`layout-warning-${e}`;r(()=>{if(!a)return;let e=e=>{e.key===`Escape`&&s(!1)};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[a]);let l=`${n.proxyPath}/boards/${encodeURIComponent(e)}`;return d(`div`,{className:O.layoutWarning,"data-layout-warning":!0,children:[d(`button`,{className:O.layoutWarningButton,type:`button`,"aria-label":`Layout warnings (${t.issues.length})`,"aria-expanded":a,"aria-controls":c,onClick:()=>s(!a),children:[u(`span`,{"aria-hidden":`true`,children:`⚠`}),u(`span`,{children:t.issues.length})]}),a&&d(`aside`,{className:O.layoutWarningDialog,id:c,role:`dialog`,"aria-labelledby":`${c}-title`,"aria-modal":`false`,children:[d(`div`,{className:O.layoutWarningHeading,children:[u(`strong`,{id:`${c}-title`,children:`Layout warnings`}),u(`button`,{className:O.layoutWarningClose,type:`button`,"aria-label":`Close layout warnings`,onClick:()=>s(!1),children:`×`})]}),d(`p`,{children:[t.issues.length,` layout issue`,t.issues.length===1?``:`s`,` detected against the intended 12×12 space. The live board is unchanged: explicit overlaps remain overlapped and overflow continues in implicit rows.`]}),u(`ul`,{children:t.issues.map(e=>d(`li`,{children:[u(`strong`,{children:e.panelId}),`: `,e.kind,` at (`,e.position.x,`,`,` `,e.position.y,`), `,e.position.w,`×`,e.position.h,e.conflictsWith.length?`; overlaps ${e.conflictsWith.join(`, `)}`:``]},`${e.panelId}-${e.kind}`))}),d(`div`,{className:O.layoutWarningDownloads,children:[u(`button`,{type:`button`,onClick:()=>void Ti(n,`${l}/rendered`,i),children:`Download legal rendered layout`}),u(`button`,{type:`button`,onClick:()=>void Ti(n,`${l}/authored`,i),children:`Download authored layout`})]}),u(`p`,{className:O.layoutWarningNote,children:`The legal rendered layout normalizes the currently visible explicit area into 12×12 and makes the smallest deterministic adjustments needed to avoid collisions. The authored layout preserves the original coordinates exactly.`})]})]})}async function Ti(e,t,n){let r=await A(e,t,void 0,globalThis.fetch,n);if(!r.ok)throw Error(`Layout download returned ${r.status}`);let i=document.createElement(`a`);i.href=URL.createObjectURL(await r.blob()),i.download=r.headers.get(`content-disposition`)?.match(/filename="([^"]+)"/)?.[1]??`layout.yaml`,i.click(),URL.revokeObjectURL(i.href)}function Ei(e){return e instanceof Error?e.message:String(e)}var Di=class extends Error{constructor(e){super(Ei(e))}},Oi={error:`_error_yx1g9_1`};function ki({message:e}){return d(`div`,{className:Oi.error,role:`alert`,children:[u(`h1`,{children:`⚠️ Dashboard misconfigured`}),u(`p`,{children:`The page loaded, but the server did not hand it usable configuration.`}),u(`pre`,{children:e})]})}var Ai=document.getElementById(`root`);if(!Ai)throw Error(`No #root element in the document — the template is not the one we expect.`);var ji=c(Ai);try{ji.render(u(t,{children:u(Si,{env:he()})}))}catch(e){ji.render(u(ki,{message:e instanceof Error?e.message:String(e)}))}
3
- //# sourceMappingURL=index-IllBfdrc.js.map
2
+ ${e.prettifyError(n.error)}`);return n.data}var ge=e.enum([`unreachable`,`unauthorized`,`not-found`,`no-runs`,`upstream-error`]),_e=e.object({kind:ge,message:e.string()}),ve=e.discriminatedUnion(`state`,[e.object({panelId:e.string().min(1),state:e.literal(`ok`),observedAt:e.iso.datetime(),link:e.url().nullable(),signal:e.unknown()}),e.object({panelId:e.string().min(1),state:e.literal(`error`),observedAt:e.iso.datetime(),link:e.url().nullable(),error:_e})]),ye=e.object({kind:e.enum([`job`,`stage`,`step`]),name:e.string().min(1),parent:e.string().min(1).optional()}),E=e.object({type:e.literal(`pipeline-status`),status:e.enum([`passed`,`failed`,`warning`,`running`,`cancelled`,`unknown`]),rawStatus:e.string(),name:e.string().min(1),branch:e.string().min(1).optional(),durationMs:e.number().int().nonnegative().optional(),runStartedAt:e.iso.datetime().optional(),sourceRunId:e.string().min(1).optional(),activity:ye.optional(),estimatedDurationMs:e.number().int().positive().optional(),sourceUpdatedAt:e.iso.datetime().optional()}),be={passed:0,cancelled:1,unknown:2,running:3,warning:4,failed:5};function xe(e){return be[e]}var Se=e.object({label:e.string().min(1),status:E.shape.status,detail:e.string().min(1),link:e.url().nullable()}),Ce=e.object({type:e.literal(`pull-request-health`),status:E.shape.status,summary:e.string().min(1),workflows:e.array(Se),pullRequests:e.array(Se),incompleteObservations:e.array(e.object({label:e.string().min(1),message:e.string().min(1)})).optional(),newestObservedAt:e.iso.datetime().optional()}),we=e.object({number:e.number().int().positive(),branch:e.string().min(1),link:e.url()}),Te=e.object({type:e.literal(`pull-request-candidates`),pullRequests:e.array(we),truncated:e.boolean().optional()}),Ee=e.object({type:e.literal(`pull-request-workflow`),workflow:e.string().min(1),item:Se}),De=e.object({type:e.literal(`pull-request-build`),branch:e.string().min(1),item:Se}),Oe=e.object({type:e.literal(`http-value`),value:e.union([e.string(),e.number(),e.boolean()])}),ke=12,Ae=12;function je(e){let t=e.flatMap(e=>!e.position||D(e.position)||Me(e.position)?[]:[{panelId:e.id,kind:`out-of-bounds`,position:e.position,conflictsWith:[]}]),n=new Map;for(let r=0;r<e.length;r++){let i=e[r];if(i?.position&&!D(i.position))for(let a=r+1;a<e.length;a++){let r=e[a];if(!r?.position||D(r.position)||!Ne(i.position,r.position))continue;let o=`${r.id}\0overlap`,s=n.get(o);if(s)s.conflictsWith.push(i.id);else{let e={panelId:r.id,kind:`overlap`,position:r.position,conflictsWith:[i.id]};n.set(o,e),t.push(e)}}}return{issues:t}}function D(e){return e?.x===0&&e.y===0&&e.w===0&&e.h===0}function Me(e){return!D(e)&&e.x+e.w<=ke&&e.y+e.h<=Ae}function Ne(e,t){return e.x<t.x+t.w&&e.x+e.w>t.x&&e.y<t.y+t.h&&e.y+e.h>t.y}var Pe={refreshMillis:6e4,runningRefreshMillis:15e3,runningCompletionRefreshMillis:5e3,runningCompletionWindowMillis:12e4};function Fe(e,t){let n=(e,t)=>v(e??``)??t,r=(r,i,a)=>n(t[r],n(e[i],a));return{refreshMillis:r(`refresh`,`refresh`,Pe.refreshMillis),runningRefreshMillis:r(`running_refresh`,`running_refresh`,Pe.runningRefreshMillis),runningCompletionRefreshMillis:r(`running_completion_refresh`,`running_completion_refresh`,Pe.runningCompletionRefreshMillis),runningCompletionWindowMillis:r(`running_completion_window`,`running_completion_window`,Pe.runningCompletionWindowMillis)}}var O={board:`_board_2ghlz_1`,header:`_header_2ghlz_11`,attentionRail:`_attentionRail_2ghlz_18`,attentionGlyph:`_attentionGlyph_2ghlz_43`,"attention-beacon":`_attention-beacon_2ghlz_46`,"attention-alarm":`_attention-alarm_2ghlz_51`,"attention-steady":`_attention-steady_2ghlz_59`,title:`_title_2ghlz_81`,grid:`_grid_2ghlz_87`,footerTools:`_footerTools_2ghlz_97`,layoutWarning:`_layoutWarning_2ghlz_102`,layoutWarningButton:`_layoutWarningButton_2ghlz_105`,layoutWarningDialog:`_layoutWarningDialog_2ghlz_123`,layoutWarningHeading:`_layoutWarningHeading_2ghlz_136`,layoutWarningClose:`_layoutWarningClose_2ghlz_154`,layoutWarningDownloads:`_layoutWarningDownloads_2ghlz_162`,layoutWarningNote:`_layoutWarningNote_2ghlz_181`,footer:`_footer_2ghlz_97`};function Ie(e){return e.board?.attention?e.board.panels.flatMap(t=>{if(!t.attention)return[];let n=t.label??t.id;if(t.type===`http-value`&&t.facts)return t.facts.flatMap(r=>{let i=e.factSignals[t.id]?.[r.id],a=Le(i);return a?[{panelId:t.id,label:n,reason:`${r.label}: ${a}`,factId:r.id}]:[]});let r=Re(t.type,e.signals[t.id],e.updateHealth[t.id]);return r?[{panelId:t.id,label:n,reason:r}]:[]}):[]}function Le(e){if(e?.failure)return`Updates unavailable — ${e.failure}`;if(e?.updateHealth)return`Updates unavailable — ${e.updateHealth.message}`;if(e?.envelope)return e.envelope.state===`error`?e.envelope.error.message:Oe.safeParse(e.envelope.signal).success?void 0:`Invalid value`}function Re(e,t,n){if(n)return`Updates unavailable — ${n.message}`;if(t){if(t.state===`error`)return t.error.message;if(e===`pipeline-status`){let e=E.safeParse(t.signal);return e.success?e.data.status===`failed`?`Pipeline failed`:void 0:`Invalid signal`}if(e===`pull-request-health`){let e=Ce.safeParse(t.signal);if(!e.success)return`Invalid signal`;if(e.data.status===`failed`)return e.data.summary;let n=e.data.incompleteObservations?.[0];return n?`${n.label}: ${n.message}`:void 0}if(e===`http-value`)return Oe.safeParse(t.signal).success?void 0:`Invalid value`}}var k={diagnostics:`_diagnostics_lseur_1`,button:`_button_lseur_5`,area:`_area_lseur_14`,warning:`_warning_lseur_31`,panels:`_panels_lseur_35`,actions:`_actions_lseur_43`};function ze({log:e,updateActivity:t}){let[n,r]=o(!1);s(e.subscribe,e.snapshot,e.snapshot);let i=e.count(),a=e.githubConsistencyIncidentCount(),c=e.summary();return d(`section`,{className:k.diagnostics,children:[d(`button`,{className:k.button,type:`button`,"aria-expanded":n,onClick:()=>r(!n),children:[`Diagnostics (`,i,`)`,a>0&&` · GitHub consistency ${a}`]}),n&&d(`div`,{className:k.area,children:[d(`p`,{children:[`Client `,e.clientVersion(),` · assets `,e.assetPath()]}),d(`p`,{children:[c.retained.eventCount,` retained browser-local events across`,` `,c.retained.sessionCount,` session`,c.retained.sessionCount===1?``:`s`,c.retained.firstEventAt&&c.retained.lastEventAt?` (${Be(c.retained.firstEventAt,c.retained.lastEventAt)})`:``,`. They are never uploaded.`]}),c.retained.evidenceMayBeIncomplete&&d(`p`,{className:k.warning,role:`alert`,children:[`Earlier evidence was pruned: `,c.retained.retention.eventsPrunedByCount,` at the 2,000-event cap and `,c.retained.retention.eventsPrunedByAge,` by the 7-day age limit. “No failures” applies only to the retained window.`]}),d(`p`,{children:[`Update failures: `,c.failures.clientUpdate,`; board fetch failures:`,` `,c.failures.boardFetch,`.`]}),e.githubConsistencyIncidentCount()>0&&d(`p`,{className:k.warning,role:`alert`,children:[`GitHub API consistency incidents: `,e.githubConsistencyIncidentCount(),`. A response older than the last accepted run was rejected; download diagnostics to report it.`]}),c.panels.length>0&&u(`div`,{className:k.panels,children:c.panels.map(e=>d(`p`,{children:[u(`strong`,{children:e.panelId}),` — `,e.requests,` requests`,Object.keys(e.httpStatuses).length?`; HTTP ${Object.entries(e.httpStatuses).map(([e,t])=>`${e}×${t}`).join(`, `)}`:``,`; parse/network failures `,e.parseFailures,`/`,e.networkFailures,`; visible changes `,e.visibleStateChanges,`; latest`,` `,e.latestRendered?`${e.latestRendered.state}${e.latestRendered.status?`/${e.latestRendered.status}`:``}`:`not rendered`,`.`,e.latestFailedObservation&&d(l,{children:[` `,`Failure: `,e.latestFailedObservation.reason,`. Support reference:`,` `,u(`code`,{children:e.latestFailedObservation.supportReference??`not provided`}),`.`]})]},e.panelId))}),d(`div`,{className:k.actions,children:[u(`button`,{className:k.button,type:`button`,onClick:()=>{let n=new Blob([JSON.stringify(e.export(t?{updateActivity:t()}:{}),null,2)],{type:`application/json`}),r=URL.createObjectURL(n),i=document.createElement(`a`);i.href=r,i.download=`dashboard-diagnostics-${new Date().toISOString().replaceAll(`:`,`-`)}.json`,i.click(),URL.revokeObjectURL(r)},children:`Download`}),u(`button`,{className:k.button,type:`button`,onClick:()=>{window.confirm(`Clear this browser’s retained dashboard diagnostics?`)&&e.clear()},children:`Clear`})]})]})]})}function Be(e,t){return e===t?e:`${e} to ${t}`}var Ve=`0.29.1`;function A(e,t,n,r=globalThis.fetch,i={}){let a=new Headers(n?.headers);return a.set(`X-Dashboard-Client-Version`,Ve),a.set(`X-Dashboard-Client-Origin`,globalThis.window.location.origin),a.set(`X-Dashboard-Client-Asset-Id`,e.assetPathId),i.accessToken&&a.set(`authorization`,`Bearer ${i.accessToken}`),r(t,{...n,headers:a}).then(e=>((e.status===401||e.status===403)&&i.onAuthenticationFailure?.(e.status),e))}function He(){try{return window.localStorage}catch{return}}function Ue(e,t){try{let n=e?.getItem(t);return n?JSON.parse(n):void 0}catch{return}}function We(e,t,n){try{e?.setItem(t,JSON.stringify(n))}catch{}}function Ge(e,t){try{e?.removeItem(t)}catch{}}function Ke(e,t,n=0){let r=new Map,i=new Set,a=0,o=0;for(let t of e){if(i.add(t.sessionId),t.kind===`client-update-failure`&&a++,(t.kind===`board-fetch-failure`||t.kind===`board-fetch-parse-failure`)&&o++,!(`panelId`in t))continue;let e=r.get(t.panelId)??{panelId:t.panelId,requests:0,httpStatuses:{},parseFailures:0,networkFailures:0,visibleStateChanges:0};if(t.kind===`panel-fetch-start`&&e.requests++,t.kind===`panel-fetch-response`){if(t.status!==void 0){let n=String(t.status);e.httpStatuses[n]=(e.httpStatuses[n]??0)+1}t.failure&&(e.latestFailedObservation=t.failure)}t.kind===`panel-fetch-parse-failure`&&e.parseFailures++,t.kind===`panel-fetch-failure`&&e.networkFailures++,t.kind===`panel-rendered`&&(e.visibleStateChanges++,e.latestRendered=t.rendered),r.set(t.panelId,e)}let s=e.map(e=>e.at).sort(),c=t.eventsPrunedByAge+t.eventsPrunedByCount;return{githubConsistencyIncidents:n,retained:{eventCount:e.length,firstEventAt:s[0],lastEventAt:s.at(-1),sessionCount:i.size,retention:t,evidenceMayBeIncomplete:c>0},failures:{clientUpdate:a,boardFetch:o},panels:[...r.values()].sort((e,t)=>e.panelId.localeCompare(t.panelId))}}var qe=`ze-great-dashboard.diagnostics.v2`,Je=`ze-great-dashboard.diagnostics.v1`,Ye=2e3,Xe=6048e5,Ze=[`session-start`,`client-update-check`,`client-update-response`,`client-update-failure`,`client-update-detected`,`board-fetch-start`,`board-fetch-response`,`board-fetch-parse-failure`,`board-fetch-failure`,`layout-analyzed`,`panel-fetch-start`,`panel-fetch-response`,`panel-fetch-parse-failure`,`panel-fetch-failure`,`panel-rendered`],Qe=class{env;storage;now;events=[];retention=tt();revision=0;incidents=[];listeners=new Set;sessionId=crypto.randomUUID?.()??`${Date.now()}-${Math.random()}`;constructor(e,t=He(),n=()=>new Date){this.env=e,this.storage=t,this.now=n,Ge(this.storage,Je),this.events=this.read(),this.record({kind:`session-start`})}recordGithubConsistencyIncident(e){this.incidents.push({...e,at:this.now().toISOString(),board:this.env.board}),this.persist(),this.revision++,this.notify()}githubConsistencyIncidentCount=()=>this.incidents.length;record(e){let t=rt([...this.events,{...e,schemaVersion:2,at:this.now().toISOString(),sessionId:this.sessionId,board:this.env.board,clientVersion:Ve,clientAssetPath:this.env.assetPath,clientAssetPathId:this.env.assetPathId}],this.now(),this.retention);this.events=t.events,this.retention=t.retention,this.persist(),this.revision++,this.notify()}count=()=>this.events.length;clientVersion=()=>Ve;assetPath=()=>this.env.assetPath;snapshot=()=>this.revision;summary=()=>Ke(this.events,this.retention,this.incidents.length);retainedEvidence=()=>({events:[...this.events],retention:{...this.retention}});clear(){this.events=[],this.incidents=[],this.retention=tt(),Ge(this.storage,qe),this.revision++,this.notify()}subscribe=e=>(this.listeners.add(e),()=>{this.listeners.delete(e)});export=e=>({schemaVersion:2,exportedAt:this.now().toISOString(),client:{version:Ve,assetPath:this.env.assetPath,assetPathId:this.env.assetPathId,board:this.env.board,sessionId:this.sessionId},events:this.events,githubConsistencyIncidents:this.incidents,summary:this.summary(),...e});read(){let e=Ue(this.storage,qe);if(!e||e.schemaVersion!==2||!Array.isArray(e.events)||!e.events.every(it))return Ge(this.storage,qe),[];let t=rt(e.events.map(e=>({...e,schemaVersion:2})),this.now(),nt(e.retention));return this.retention=t.retention,this.incidents=$e(e.githubConsistencyIncidents),t.events}persist(){We(this.storage,qe,{schemaVersion:2,events:this.events,retention:this.retention,githubConsistencyIncidents:this.incidents})}notify(){for(let e of this.listeners)e()}};function $e(e){return Array.isArray(e)?e.filter(e=>{if(!e||typeof e!=`object`)return!1;let t=e;return typeof t.at==`string`&&typeof t.board==`string`&&typeof t.panelId==`string`&&typeof t.endpoint==`string`&&!!t.accepted&&!!t.regressed&&!!t.response}):[]}function et(e){let t=Object.fromEntries([[`cacheControl`,`cache-control`],[`etag`,`etag`],[`lastModified`,`last-modified`],[`date`,`date`],[`age`,`age`]].flatMap(([t,n])=>{let r=e.get(n);return r?[[t,r]]:[]}));return Object.keys(t).length?t:void 0}function tt(){return{eventsPrunedByAge:0,eventsPrunedByCount:0}}function nt(e){if(!e||typeof e!=`object`)return tt();let t=e;return{eventsPrunedByAge:typeof t.eventsPrunedByAge==`number`&&t.eventsPrunedByAge>=0?t.eventsPrunedByAge:0,eventsPrunedByCount:typeof t.eventsPrunedByCount==`number`&&t.eventsPrunedByCount>=0?t.eventsPrunedByCount:0}}function rt(e,t,n){let r=t.valueOf()-Xe,i=e.filter(e=>Number.isFinite(new Date(e.at).valueOf())&&new Date(e.at).valueOf()>=r),a=e.length-i.length,o=Math.max(0,i.length-Ye);return{events:i.slice(-2e3),retention:{eventsPrunedByAge:n.eventsPrunedByAge+a,eventsPrunedByCount:n.eventsPrunedByCount+o}}}function it(e){if(!e||typeof e!=`object`)return!1;let t=e;return(t.schemaVersion===void 0||t.schemaVersion===2)&&typeof t.at==`string`&&Number.isFinite(new Date(t.at).valueOf())&&typeof t.sessionId==`string`&&typeof t.board==`string`&&Ze.includes(t.kind)}var at={auth:`_auth_19xn9_1`,signout:`_signout_19xn9_24`},ot=class{values=new Map;async set(e,t){this.values.set(e,t)}async get(e){return this.values.get(e)??null}async remove(e){let t=this.values.get(e)??null;return this.values.delete(e),t}async getAllKeys(){return[...this.values.keys()]}};function st(e){return new m({authority:e.issuer,client_id:e.clientId,redirect_uri:`${window.location.origin}/`,post_logout_redirect_uri:`${window.location.origin}/`,response_type:`code`,scope:`openid profile offline_access`,resource:e.audience,extraQueryParams:{audience:e.audience},userStore:new ot,stateStore:new h({store:window.sessionStorage}),automaticSilentRenew:!0})}function ct({env:e,auth:t,children:n}){let r=i(()=>st(t),[t]);return u(f,{userManager:r,onSigninCallback:()=>window.history.replaceState({},document.title,window.location.pathname),children:u(lt,{env:e,children:n})})}function lt({env:e,children:t}){let i=p(),[a,s]=o(!1),c=n(()=>s(!0),[]);return r(()=>{i.isAuthenticated||s(!1)},[i.isAuthenticated]),i.isLoading?u(`main`,{className:at.auth,"aria-live":`polite`,children:`Signing in…`}):a?d(`main`,{className:at.auth,children:[u(`h1`,{children:`Access denied`}),u(`p`,{children:`Your authenticated identity is not permitted to view this dashboard.`})]}):!i.isAuthenticated||!i.user?.access_token?d(`main`,{className:at.auth,children:[u(`h1`,{children:e.board}),u(`p`,{children:`Sign in to view the dashboard.`}),u(`button`,{type:`button`,onClick:()=>void i.signinRedirect(),children:`Sign in`})]}):d(l,{children:[u(`button`,{className:at.signout,type:`button`,onClick:()=>void i.signoutRedirect(),children:`Sign out`}),t(i.user.access_token,c)]})}var j={panel:`_panel_j8o4e_1`,attentionActive:`_attentionActive_j8o4e_22`,content:`_content_j8o4e_26`,evidence:`_evidence_j8o4e_38`,sourceAction:`_sourceAction_j8o4e_42`,details:`_details_j8o4e_46`,statusBand:`_statusBand_j8o4e_54`,error:`_error_j8o4e_80`,wide:`_wide_j8o4e_83`,"density-comfortable":`_density-comfortable_j8o4e_86`,"density-compact":`_density-compact_j8o4e_93`,label:`_label_j8o4e_103`,typeGlyph:`_typeGlyph_j8o4e_114`,identityText:`_identityText_j8o4e_117`,hint:`_hint_j8o4e_123`,branch:`_branch_j8o4e_129`,observed:`_observed_j8o4e_133`,meta:`_meta_j8o4e_139`,metaValue:`_metaValue_j8o4e_142`,compactValue:`_compactValue_j8o4e_146`,warning:`_warning_j8o4e_149`,serious:`_serious_j8o4e_152`,status:`_status_j8o4e_54`,statusGlyph:`_statusGlyph_j8o4e_160`,compactOnlyStatus:`_compactOnlyStatus_j8o4e_163`,passed:`_passed_j8o4e_169`,failed:`_failed_j8o4e_172`,running:`_running_j8o4e_176`,cancelled:`_cancelled_j8o4e_179`,unknown:`_unknown_j8o4e_180`,shallow:`_shallow_j8o4e_213`,"density-auto":`_density-auto_j8o4e_214`,fullValue:`_fullValue_j8o4e_334`,statusText:`_statusText_j8o4e_429`};function ut({label:e,hint:t,wide:n=!1}){return d(`section`,{className:`${j.panel} ${n?j.wide:``}`,"data-panel":!0,"data-panel-id":`placeholder`,children:[u(`h2`,{className:j.label,children:e}),u(`p`,{className:j.hint,children:t})]})}function dt(e){switch(e){case`unauthorized`:return{label:`Access denied`,emphasis:`serious`};case`not-found`:return{label:`Source not found`,emphasis:`serious`};case`unreachable`:case`upstream-error`:return{label:`Source unavailable`,emphasis:`serious`};case`no-runs`:return{label:`No workflow runs`,emphasis:`warning`}}}var M={fact:`_fact_bnc4n_1`,facts:`_facts_bnc4n_5`,factCell:`_factCell_bnc4n_12`,factSource:`_factSource_bnc4n_31`};function ft(e){let t=e.position;if(t)return{"--panel-column":`${t.x+1} / span ${t.w}`,"--panel-row":`${t.y+1} / span ${t.h}`}}var pt={"pipeline-status":{glyph:`▣`,label:`Pipeline status`},"pull-request-health":{glyph:`⌘`,label:`Pull request health`},"http-value":{glyph:`◌`,label:`HTTP value`},"pipeline-animation-demo":{glyph:`✦`,label:`Pipeline animation demo`}},mt={passed:{glyph:`✓`,label:`Passed`},failed:{glyph:`✕`,label:`Failed`},warning:{glyph:`⚠`,label:`Warning`},running:{glyph:`↻`,label:`Running`},cancelled:{glyph:`⊘`,label:`Cancelled`},unknown:{glyph:`?`,label:`Unknown`}};function ht(e){return pt[e]}[...Object.entries(pt).map(([e,t])=>({glyph:t.glyph,meaning:`panel type: ${e}`})),...Object.entries(mt).map(([e,t])=>({glyph:t.glyph,meaning:`status: ${e}`}))];function N({children:e,className:t,title:n}){return u(`p`,{className:`${j.hint} ${t??``}`,title:n,children:e})}function P({glyph:e,label:t,value:n,compact:r,title:i,observed:a=!1,emphasis:o,className:s}){return d(`p`,{className:`${j.hint} ${a?j.observed:``} ${o?j[o]:``} ${j.meta} ${s??``}`,"data-panel-meta":!0,children:[u(`span`,{"aria-hidden":`true`,children:e}),` `,d(`span`,{className:`screen-reader-only`,children:[t,`: `]}),d(`span`,{className:j.metaValue,title:i,children:[u(`span`,{className:j.fullValue,children:n}),r&&u(`span`,{className:j.compactValue,"aria-hidden":`true`,children:r.kind===`short-value`?r.value:null})]})]})}function F({children:e,className:t,priority:n=`secondary`,anchor:r}){return u(`div`,{className:`${j.evidence} ${t??``}`,"data-panel-evidence":!0,"data-panel-evidence-priority":n,"data-panel-anchor":r,children:e})}function I({status:e,emphasis:t,glyph:n,label:r,compactOnly:i=!1}){return d(`p`,{className:`${j.status} ${e?j[e]:``} ${t?j[t]:``} ${i?j.compactOnlyStatus:``}`,"data-panel-status":!0,children:[n&&u(`span`,{className:j.statusGlyph,"aria-hidden":`true`,children:n}),n&&r&&` `,u(`span`,{className:j.statusText,children:r})]})}function gt({children:e,emphasis:t}){return u(`p`,{className:`${j.status} ${t?j[t]:``}`,children:e})}function L({panel:e,envelope:t,attentionActive:n=!1,error:r=!1,field:i,layout:a,children:o}){let s=e.density??`auto`,c=e.position,l=ht(e.type),f=c!==void 0&&c.h<=2,p=c!==void 0&&c.h<=3;return d(`section`,{className:`${j.panel} ${j[`density-${s}`]} ${f?j.shallow:``} ${p?j.short:``} ${r?j.error:``} ${n?j.attentionActive:``}`,id:`panel-${e.id}`,style:ft(e),"aria-busy":!t||void 0,"data-panel":!0,"data-panel-id":e.id,"data-panel-position":c?`${c.x},${c.y},${c.w},${c.h}`:void 0,"data-density":s,"data-shallow":f,"data-short":p,"data-error":r||void 0,"data-panel-type":e.type,"data-attention-active":n||void 0,children:[i,u(_t,{panelId:e.id,link:t?.link}),d(`div`,{className:`${j.content} ${a===`status-band`?j.statusBand:``}`,"data-panel-content":!0,"data-panel-layout":a,children:[d(`h2`,{className:j.label,"data-panel-anchor":`identity`,children:[l&&u(`span`,{className:j.typeGlyph,"aria-hidden":`true`,title:l.label,"data-panel-type-glyph":!0,children:l.glyph}),u(`span`,{className:j.identityText,"data-panel-identity-text":!0,children:e.label??e.id})]}),o]})]})}function _t({panelId:e,link:t}){return t?d(`a`,{className:j.sourceAction,href:t,target:`_blank`,rel:`noopener noreferrer`,"aria-label":`View source for ${e} (opens in a new tab)`,title:`View source for ${e} (opens in a new tab)`,"data-panel-action":`source`,"data-panel-link":!0,children:[u(`span`,{"aria-hidden":`true`,children:`↗`}),u(`span`,{className:`screen-reader-only`,children:`View source`})]}):null}function R({value:e,label:t=`Observed`}){return u(bt,{value:e,label:t})}function vt({sourceUpdatedAt:e,observedAt:t,running:n,runStartedAt:r}){return n&&r?u(bt,{value:r,label:`Started`}):u(bt,{value:e??t,label:e?`Last update`:`Observed`})}function yt({health:e}){let t=e.consecutiveFailures>=3,n=t?`Updates unavailable`:`Updates delayed`;return d(l,{children:[u(P,{glyph:`⚠`,label:n,value:`${n} · ${e.message}`,title:e.message,emphasis:t?`serious`:`warning`}),u(bt,{value:e.lastConfirmedAt,label:`Last confirmed`})]})}function bt({value:e,label:t}){let n=new Date(e),r=n.toLocaleTimeString([],{hour:`2-digit`,minute:`2-digit`}),i=Date.now()-n.getTime(),a=`${t} ${xt(i)}`;return u(P,{glyph:`◷`,label:t,value:a,compact:{kind:`short-value`,value:St(i)},title:`${t} at ${r}`,observed:!0})}function xt(e){if(e<6e4)return`just now`;let t=Math.floor(e/6e4);return t<60?`${t}m ago`:`${Math.floor(t/60)}h ${t%60}m ago`}function St(e){if(e<6e4)return`now`;let t=Math.floor(e/6e4);return t<60?`${t}m`:`${Math.floor(t/60)}h ${t%60}m`}function Ct({panel:e,envelope:t,attentionActive:n,updateHealth:r,facts:i}){if(e.facts)return u(wt,{panel:e,attentionActive:n,facts:i});if(!t)return u(L,{panel:e,attentionActive:n,children:u(F,{children:u(N,{children:`Loading…`})})});if(t.state===`error`){let r=dt(t.error.kind);return u(L,{panel:e,envelope:t,attentionActive:n,error:!0,children:d(F,{children:[u(I,{glyph:`⚠`,label:r.label,emphasis:r.emphasis}),u(N,{children:t.error.message})]})})}let a=Oe.safeParse(t.signal);return a.success?u(L,{panel:e,envelope:t,attentionActive:n,children:d(F,{className:M.fact,children:[u(I,{glyph:`✓`,label:`Value read`,compactOnly:!0}),u(gt,{children:String(a.data.value)}),u(R,{value:t.observedAt}),r&&u(yt,{health:r})]})}):u(L,{panel:e,envelope:t,attentionActive:n,error:!0,children:u(F,{children:u(I,{glyph:`⚠`,label:`Invalid value`})})})}function wt({panel:e,attentionActive:t,facts:n}){return e.facts?u(L,{panel:e,attentionActive:t,children:u(F,{children:u(`div`,{className:M.facts,"data-http-value-facts":!0,children:e.facts.map(e=>u(Tt,{label:e.label,observation:n?.[e.id]},e.id))})})}):null}function Tt({label:e,observation:t}){let n=t?.envelope;if(!n)return d(`section`,{className:M.factCell,"data-http-value-fact":!0,children:[u(`h3`,{children:e}),u(gt,{emphasis:t?.failure?`serious`:void 0,children:t?.failure?`⚠ Updates unavailable`:`Loading…`}),t?.updateHealth&&u(yt,{health:t.updateHealth})]});if(n.state===`error`){let t=dt(n.error.kind);return d(`section`,{className:M.factCell,"data-http-value-fact":!0,"data-error":!0,children:[u(Et,{label:e,link:n.link}),u(`h3`,{children:e}),u(I,{glyph:`⚠`,label:t.label,emphasis:t.emphasis}),u(N,{children:n.error.message}),u(R,{value:n.observedAt})]})}let r=Oe.safeParse(n.signal);return r.success?d(`section`,{className:M.factCell,"data-http-value-fact":!0,children:[u(Et,{label:e,link:n.link}),u(`h3`,{children:e}),u(gt,{children:String(r.data.value)}),u(R,{value:n.observedAt})]}):d(`section`,{className:M.factCell,"data-http-value-fact":!0,"data-error":!0,children:[u(Et,{label:e,link:n.link}),u(`h3`,{children:e}),u(I,{glyph:`⚠`,label:`Invalid value`,emphasis:`serious`}),u(R,{value:n.observedAt})]})}function Et({label:e,link:t}){return t?d(`a`,{className:M.factSource,href:t,target:`_blank`,rel:`noopener noreferrer`,"aria-label":`View source for ${e} (opens in a new tab)`,title:`View source for ${e} (opens in a new tab)`,children:[u(`span`,{"aria-hidden":`true`,children:`↗`}),u(`span`,{className:`screen-reader-only`,children:`View source`})]}):null}var Dt={variant:`_variant_14ks8_1`,variantPrefix:`_variantPrefix_14ks8_9`},z={field:`_field_1x3vm_1`,grid:`_grid_1x3vm_10`,piece:`_piece_1x3vm_14`,cell:`_cell_1x3vm_34`,clearingCell:`_clearingCell_1x3vm_38`,"clear-cell":`_clear-cell_1x3vm_1`},Ot=.85,kt=[[{x:0,y:0},{x:1,y:0}],[{x:0,y:0},{x:0,y:1}],[{x:0,y:0},{x:1,y:0},{x:0,y:1}],[{x:0,y:0},{x:1,y:0},{x:2,y:0}],[{x:0,y:0},{x:0,y:1},{x:1,y:1}]];function At(e,t){return e>t?`horizontal`:`vertical`}function jt(e,t=e===`horizontal`?12:3,n=e===`horizontal`?3:12){let r=Math.max(1,t*.8),i=Math.max(1,n*.8),a=Math.max(24,Math.min(42,Math.min(r,i)/4)),o=Math.max(3,Math.min(24,Math.round(r/a))),s=Math.max(3,Math.min(16,Math.round(i/a)));return e===`horizontal`?{columns:Math.max(o,s),rows:s}:{columns:o,rows:Math.max(s,o)}}function Mt(e,t,n){let r=Math.max(...e.map(e=>e.x)),i=Math.max(...e.map(e=>e.y));return r<t&&i<n}function Nt(e,t){return e.cells.some(n=>t.cells.some(r=>e.x+n.x===t.x+r.x&&e.y+n.y===t.y+r.y))}function Pt(e,t,n){let r=kt.filter(e=>Mt(e,t,n));return r[Ut(e,r.length)]??[{x:0,y:0}]}function Ft(e,t,n,r,i,a=0,o=!1){let s=Math.max(...e.map(e=>e.x))+1,c=Math.max(...e.map(e=>e.y))+1,l=[];for(let a=0;a<=r-c;a++)for(let c=0;c<=n-s;c++){let s={id:-1,bornAt:0,cells:e,x:c,y:a,phase:`settled`};if(i.some(e=>Nt(s,e))||!Ht(e,t,n,r,s,i))continue;let u=t===`vertical`?e.filter(e=>a+e.y===r-1||i.some(t=>t.cells.some(n=>t.x+n.x===c+e.x&&t.y+n.y===a+e.y+1))).length:e.filter(e=>c+e.x===0||i.some(t=>t.cells.some(n=>t.x+n.x===c+e.x-1&&t.y+n.y===a+e.y))).length;o&&u<Vt(e,t)||l.push({x:c,y:a,support:u})}l.sort((e,n)=>n.support-e.support||(t===`vertical`?n.y-e.y||e.x-n.x:e.x-n.x||e.y-n.y));let u=l[0]?.support,d=l.filter(e=>e.support===u),f=d[Ut(a,d.length)];return f?{x:f.x,y:f.y}:void 0}function It(e,t,n,r,i,a){let o=kt.flatMap((o,s)=>{if(!Mt(o,t,n))return[];let c=Ft(o,e,t,n,r,i+s*31,a);return c?[{shape:o,destination:c}]:[]});if(o.length!==0)return o[Ut(i,o.length)]}function Lt(e,t,n){return Math.ceil(e*t*Ot*Math.min(1,Math.max(0,n)))}function Rt(e){return e.reduce((e,t)=>e+t.cells.length,0)}function zt(e,t,n,r,i){let a=e===`vertical`?n-1:0,o=new Set(r.flatMap(t=>t.cells.filter(n=>e===`vertical`?t.y+n.y===a:t.x+n.x===a).map(n=>e===`vertical`?t.x+n.x:t.y+n.y))),s=e===`vertical`?t:n,c=o.size===s;if(!c&&!i||o.size===0)return;let l=[];return{shapes:r.flatMap(t=>{let n=t.cells.filter(n=>{let r=e===`vertical`?t.y+n.y===a:t.x+n.x===a;return r&&l.push({x:t.x+n.x,y:t.y+n.y}),!r});return n.length===0?[]:[{...t,cells:n,y:e===`vertical`?t.y+1:t.y,x:e===`horizontal`?t.x-1:t.x}]}),cleared:l,complete:c}}function Bt(e,t,n,r,i){let a=[];for(let o=0;o<i;o+=1){let i=r+o*17,s=Pt(i,t,n),c=Ft(s,e,t,n,a,i+1);if(!c)break;a.push({id:o,bornAt:0,cells:s,x:c.x,y:c.y,phase:`settled`})}return a}function Vt(e,t){return t===`vertical`?new Set(e.map(e=>e.x)).size:new Set(e.map(e=>e.y)).size}function Ht(e,t,n,r,i,a){let o=Math.max(...e.map(e=>e.x))+1,s=Math.max(...e.map(e=>e.y))+1;if(t===`vertical`){for(let e=0;e<=i.y;e+=1)if(a.some(t=>Nt({...i,y:e},t)))return!1;return i.y+s<=r}for(let e=n-o;e>=i.x;--e)if(a.some(t=>Nt({...i,x:e},t)))return!1;return i.x+o<=n}function Ut(e,t){if(t<=1)return 0;let n=Math.sin(e*12.9898+78.233)*43758.5453;return Math.floor((n-Math.floor(n))*t)}var Wt=50,Gt=1250,Kt=250,qt=850,Jt=500;function Yt({progress:e,estimatedDurationMs:t,overdue:n,seed:i=0}){let s=a(null),[c,l]=o({...jt(`vertical`),direction:`vertical`}),[f,p]=o([]),[m,h]=o(!1),[g,_]=o([]),[v,y]=o(!1),b=a(c),x=a(c),S=a(e),C=a(i),ee=a(void 0),w=a([]),te=a(!1),T=a({startedAt:Date.now(),nextPieceAt:Gt,recycleUntil:0,id:0,settled:[]});return r(()=>{S.current=e},[e]),r(()=>{C.current=i},[i]),r(()=>{let e=s.current;if(!e)return;let t=()=>{let t=e.getBoundingClientRect();t.width!==0&&t.height!==0&&l(e=>{let n=ee.current??At(t.width,t.height);ee.current=n;let r={...jt(n,t.width,t.height),direction:n};return b.current=r,r})};if(t(),typeof ResizeObserver>`u`)return;let n=new ResizeObserver(t);return n.observe(e),()=>n.disconnect()},[]),r(()=>{let e=window.matchMedia(`(prefers-reduced-motion: reduce)`),t=()=>y(e.matches);return t(),e.addEventListener?.(`change`,t),()=>e.removeEventListener?.(`change`,t)},[]),r(()=>{let e=x.current,t=e.direction!==c.direction||e.columns!==c.columns||e.rows!==c.rows;x.current=c,t&&!v&&(T.current={startedAt:Date.now(),nextPieceAt:Gt,id:0,recycleUntil:0,settled:[]},w.current=[],p([]),h(!1),_([]),te.current=!1)},[c,v]),r(()=>{if(!v)return;let e=Bt(c.direction,c.columns,c.rows,C.current,Math.max(1,Math.floor(S.current*6)));w.current=e,T.current.settled=e,p(e)},[c,v]),r(()=>{if(v)return;let e=window.setInterval(()=>{let e=T.current,r=Date.now()-e.startedAt,i=b.current,a=S.current,o=Lt(i.columns,i.rows,a),s=[...e.settled],c=w.current.filter(e=>e.phase!==`settled`);if(r<e.recycleUntil)return;if(te.current&&(te.current=!1,h(!1),_([])),r>=e.nextPieceAt&&c.length===0){if(a<1&&Rt(s)>=o)return;let l=e.id,u=C.current+l*17,d=It(i.direction,i.columns,i.rows,s,u+1,!n);if(!d&&(a>=1||t===void 0)){let t=zt(i.direction,i.columns,i.rows,s,!0);if(t){s=t.shapes,e.settled=s,e.recycleUntil=r+Jt,e.nextPieceAt=e.recycleUntil,w.current=s,te.current=!0,_(t.cleared),p(s),h(!0);return}}if(d){e.id+=1;let{shape:t,destination:n}=d,a=Math.max(...t.map(e=>e.y))+1;c=[...c,{id:l,bornAt:r,cells:t,x:i.direction===`horizontal`?i.columns-Math.max(...t.map(e=>e.x))-.5:n.x,y:i.direction===`vertical`?-a+.5:n.y,targetX:n.x,targetY:n.y,phase:`entry`}]}e.nextPieceAt+=Xt(t,i)}c=c.map(e=>{let t=r-e.bornAt,n=e.targetX===void 0||e.targetY===void 0?void 0:{x:e.targetX,y:e.targetY};if(!n)return e;let a=Math.min(1,Math.max(0,(t-Kt)/qt));if(a>=1)return s=[...s,{...e,x:n.x,y:n.y,phase:`settled`}],{...e,x:n.x,y:n.y,phase:`settled`};let o=i.direction===`horizontal`?i.columns-Math.max(...e.cells.map(e=>e.x))-1:n.x,c=i.direction===`vertical`?0:n.y,l=Math.min(1,Math.max(0,t/1100));return{...e,x:i.direction===`horizontal`?o+(n.x-o)*a:o,y:i.direction===`vertical`?c+(n.y-c)*a:c,phase:t<Kt?`entry`:l<.35?`align`:`travel`}}),e.settled=s;let l=[...s,...c.filter(e=>e.phase!==`settled`)];w.current=l,p(l)},Wt);return()=>window.clearInterval(e)},[t,n,v]),u(`div`,{ref:s,className:z.field,"data-running-part":`falling-shapes-field`,"data-overdue":n||void 0,"data-direction":c.direction,"data-recycling":m||void 0,style:{"--shape-columns":c.columns,"--shape-rows":c.rows},children:d(`div`,{className:z.grid,children:[g.map(e=>u(`span`,{className:z.clearingCell,style:{"--clear-x":e.x,"--clear-y":e.y}},`${e.x}-${e.y}`)),f.map(e=>u(`div`,{className:z.piece,"data-piece":e.id,"data-piece-phase":e.phase,style:{"--piece-x":e.x,"--piece-y":e.y,"--piece-width":Math.max(...e.cells.map(e=>e.x))+1,"--piece-height":Math.max(...e.cells.map(e=>e.y))+1},children:e.cells.map(e=>u(`span`,{className:z.cell,style:{"--cell-x":e.x,"--cell-y":e.y}},`${e.x}-${e.y}`))},e.id))]})})}function Xt(e,t){let n=Math.ceil(t.columns*t.rows*.85);return e===void 0||n<=0?Gt:Math.max(400,e/Math.max(1,Math.ceil(n/3)))}var B={frontier:`_frontier_rnw91_1`,now:`_now_rnw91_12`,routes:`_routes_rnw91_20`,route:`_route_rnw91_20`,trail:`_trail_rnw91_41`,packet:`_packet_rnw91_42`,"packet-stall":`_packet-stall_rnw91_1`,"trail-backup":`_trail-backup_rnw91_1`};function Zt(){return d(l,{children:[u(`span`,{className:B.frontier,"data-running-part":`frontier`}),u(`span`,{className:B.now,"data-running-part":`transit-now`}),u(`span`,{className:B.routes,"data-running-part":`transit-routes`,children:[0,1,2].map(e=>u(`span`,{className:B.route},e))}),u(`span`,{className:B.trail,"data-running-part":`transit-trail`}),u(`span`,{className:B.packet,"data-running-part":`transit-packet`})]})}var Qt={field:`_field_1i9kx_1`,overdue:`_overdue_1i9kx_11`,timing:`_timing_1i9kx_14`,timingOverdue:`_timingOverdue_1i9kx_28`},$t={field:`_field_ozs8n_1`,canvas:`_canvas_ozs8n_7`};function en(e){let t=e*.25,n=e*.2,r=t<700||n<350?`snowfall`:n<530?`arrival`:n<1030?`hop`:`full`,i=tn((n-(r===`full`?1030:530))/(r===`full`?1620:620),0,1),a=r===`full`?500+1e3*i:0,o=r===`arrival`?0:180+70*i,s=r===`arrival`?Math.min(900,n):350+550*i,c=e*.95,l=c-o;return{mode:r,bodyStart:e*.75-Math.min(2500,t),bodyEnd:e*.75,headStart:l-s-a,hopStart:l-s,land:l,settleEnd:l+(o?120+60*i:0),end:c}}function V(e,t,n){return n===t?Number(e>=n):tn((e-t)/(n-t),0,1)}function H(e){return e*e*(3-2*e)}function tn(e,t,n){return Math.max(t,Math.min(n,e))}var U=25,nn=.5,rn=.95;function an(e={width:360,height:180}){return{nextAt:0,id:0,lastElapsed:0,grid:on(e),flakes:[],cells:[],toppled:!1}}function on(e){return{columns:K(Math.round(e.width/4),48,180),rows:K(Math.round(e.height/4),28,100)}}function sn(e,t,n){return n?`overdue`:t===void 0||en(t).mode===`snowfall`?`snowing`:e>=rn?`complete`:e>=nn?`assembling`:`drift`}function cn(e,t){let n=q(e+41)<.5?-1:1,r=n*(.72+q(e+43)*.45),i=Math.sin(t/1600+q(e+47)*Math.PI*2)*.4,a=n*Math.max(0,Math.sin(t/3100+q(e+53)*Math.PI*2))**7*(3.2+q(e+59)*1.8);return r+i+a}function ln(e){let t=on(e);return Math.round(t.columns*t.rows*.18)}function un(e,t,n=!1,r=0){if(e===void 0)return n?30:60;let i=e*rn/ln(t);if(n)return i/2;let a=en(e);return a.mode!==`snowfall`&&r>=Math.max(0,a.bodyStart-500)?i*4:i}function dn(e,{elapsed:t,progress:n,estimatedDurationMs:r,overdue:i,seed:a,dimensions:o}){let s=on(o),c=e.grid.columns===s.columns&&e.grid.rows===s.rows?Fn(e):an(o),l=Math.max(c.lastElapsed,t);for(let e=c.lastElapsed+U;e<=l;e+=U)c=mn(c,e,r===void 0?n:e/r,r,i&&(r===void 0||e>=r),a,o),c.lastElapsed=e;return c}function fn(e){return e.filter(e=>e.owner===`snowman`).length}function pn(e){return e.cells.map(t=>{let n=t.owner===`body`?e.body:t.owner===`head`?e.head:void 0,r=n&&t.localX!==void 0&&t.localY!==void 0?{...t,x:n.x+t.localX*Math.cos(n.angle)-t.localY*Math.sin(n.angle),y:n.y+t.localX*Math.sin(n.angle)+t.localY*Math.cos(n.angle)}:t;return e.toppling&&r.owner!==`ground`?Pn(r,e.toppling):r})}function mn(e,t,n,r,i,a,o){let s=sn(n,r,i),c=un(r,o,i,t);for(;t>=e.nextAt;)e.flakes.push({id:e.id++,x:q(a+e.id*17)*e.grid.columns,y:-1-q(a+e.id*23)*6,bornAt:e.nextAt}),e.nextAt+=c;hn(e,n,r,i);let l=On(e),u=cn(a,t)*(U/1e3),d=r===void 0?.52:Math.max(.52,(e.grid.rows+7)*U/(r*.25)),f=[];for(let t of e.flakes){let n={...t,x:t.x+u,y:t.y+d},r=yn(e,n);if(r){bn(e,r,t.id,n.x-r.x,n.y-r.y);continue}let i=An(n,l,e.grid,u,a);if(!i){f.push({...n,x:K(n.x,0,e.grid.columns-1)});continue}let o=l.get(G(i.x,i.y+1));e.cells.push({id:t.id,x:i.x,y:i.y,owner:o===`body`||o===`head`||o===`snowman`?`snowman`:`ground`}),l.set(G(i.x,i.y),e.cells.at(-1)?.owner??`ground`)}e.flakes=f,r!==void 0&&s!==`drift`&&s!==`snowing`&&_n(e),Cn(e),kn(e,a,t),kn(e,a,t+U/2);let p=e.body;return p?.locked&&(p.supportY??=W(e,p.x,p.radius,p.y+p.radius),p.y=p.supportY),i&&!e.toppling&&!e.toppled&&fn(e.cells)>=60&&Mn(e,t),Nn(e,t),e}function hn(e,t,n,r){if(n===void 0)return;let i=en(n);if(i.mode===`snowfall`)return;let a=t*n,{columns:o,rows:s}=e.grid,c=H(V(a,i.bodyStart,i.bodyEnd));if(a>=i.bodyStart&&!e.body){let t=o*.14;e.body={kind:`body`,x:t,y:W(e,t,2,s-1),radius:2,angle:0,locked:!1}}let l=e.body;if(l&&!l.locked){l.radius=Math.max(l.radius,jn(e,`body`,2));let t=o*(.14+.38*c);gn(l,t,W(e,t,l.radius,s-1)),l.locked=a>=i.bodyEnd}if(a>=i.headStart&&!e.head){let t=o*(i.mode===`full`?.88:.66);e.head={kind:`head`,x:t,y:W(e,t,1.7,s-1),radius:1.7,angle:0,locked:!1},_n(e)}let u=e.head;if(u&&l&&!u.locked){if(u.radius=Math.max(u.radius,jn(e,`head`,1.7)),a<i.hopStart){let t=o*(.88-.22*H(V(a,i.headStart,i.hopStart)));gn(u,t,W(e,t,u.radius,s-1))}else{u.launch??={x:u.x,y:u.y};let e=V(a,i.hopStart,i.land),t=l.y-l.radius-u.radius+.5;if(u.x=u.launch.x+(l.x-u.launch.x)*H(e),u.y=u.launch.y+(t-u.launch.y)*H(e)-Math.sin(Math.PI*e)*Math.max(5,l.radius*1.5),a>=i.land){let e=V(a,i.land,i.settleEnd);u.y+=Math.sin(Math.PI*e)*.45}u.locked=a>=i.settleEnd}}if(u&&a>=i.land){let t=V(a,i.land,i.end);e.hat={x:u.x,y:u.y-u.radius-1-5*(1-t*t),angle:(1-H(t))*-.22}}}function gn(e,t,n){let r=In(e.y,n,.16),i=t-e.x;e.angle+=Math.sign(i)*Math.hypot(i,r-e.y)/Math.max(e.radius,1),e.x=t,e.y=r}function _n(e){let t=pn(e),n=new Map(e.cells.map(e=>[e.id,e])),r=new Set(t.filter(e=>e.owner===`ground`).map(e=>G(Math.round(e.x),Math.round(e.y)))),i=new Set(t.filter(e=>e.owner===`ground`).filter(e=>!r.has(G(Math.round(e.x),Math.round(e.y)-1))).map(e=>e.id));for(let r of[e.body,e.head]){if(!r||r.locked)continue;let a=r.kind,o=r.radius+.75;for(let a of t){if(!vn(e,r))break;if(a.owner!==`ground`)continue;let t=a.x-r.x,s=a.y-r.y,c=Math.hypot(t,s);if(!i.has(a.id)||c>o||s<-r.radius*.2)continue;let l=n.get(a.id);l&&bn(e,r,l.id,t,s)}r.radius=Math.max(r.radius,jn(e,a,r.kind===`body`?2:1.7))}}function vn(e,t){if(t.kind===`body`||!e.body)return!0;let n=e.body.radius*.72,r=Math.max(12,Math.round(Math.PI*(Math.max(0,n-1.7)/.6)**2));return e.cells.filter(e=>e.owner===`head`).length<r}function yn(e,t){return[e.body,e.head].filter(e=>e!==void 0&&!e.locked).find(n=>vn(e,n)&&Math.hypot(t.x-n.x,t.y-n.y)<=n.radius)}function bn(e,t,n,r,i){let a=Math.cos(-t.angle),o=Math.sin(-t.angle),s=r*a-i*o;i=r*o+i*a,r=s;let c=e.cells.find(e=>e.id===n),l=Sn(e,t,n),u=xn(e,t,r,i,n),d={id:n,x:t.x+u.x,y:t.y+u.y,owner:t.kind,localX:u.x,localY:u.y,targetLocalX:l.x,targetLocalY:l.y};c?Object.assign(c,d):e.cells.push(d),t.radius=Math.max(t.radius,jn(e,t.kind,t.kind===`body`?2:1.7)),wn(e,t)}function xn(e,t,n,r,i){let a=e.cells.filter(e=>e.id!==i&&e.owner===t.kind),o=(e,t)=>a.every(n=>Math.hypot((n.localX??0)-e,(n.localY??0)-t)>=.75);if(o(n,r))return{x:n,y:r};for(let e=.75;;e+=.75)for(let i=0;i<32;i++){let a=i*Math.PI/16,s=n+Math.cos(a)*e,c=r+Math.sin(a)*e;if((Math.hypot(s,c)<=t.radius+.75||e>t.radius*2)&&o(s,c))return t.radius=Math.max(t.radius,Math.hypot(s,c)-.5),{x:s,y:c}}}function Sn(e,t,n){let r=e.cells.filter(e=>e.owner===t.kind&&e.targetLocalX!==void 0&&e.targetLocalY!==void 0),i=(e,t,n=.72)=>r.every(r=>Math.hypot((r.targetLocalX??0)-e,(r.targetLocalY??0)-t)>=n);for(let e=0;e<64;e+=1){let r=q(n*31+e*17)*Math.PI*2,a=Math.sqrt(q(n*37+e*19))*Math.max(.4,t.radius-.35),o=Math.cos(r)*a,s=Math.sin(r)*a;if(i(o,s))return{x:o,y:s}}for(let e=.4;e<=t.radius-.35;e+=.5){let t=Math.max(6,Math.round(2*Math.PI*e/.72));for(let r=0;r<t;r++){let a=r*Math.PI*2/t+q(n*13),o=Math.cos(a)*e,s=Math.sin(a)*e;if(i(o,s,.6))return{x:o,y:s}}}return{x:0,y:0}}function Cn(e){for(let t of e.cells){if(t.packed||t.localX===void 0||t.localY===void 0||t.targetLocalX===void 0||t.targetLocalY===void 0)continue;let e=In(t.localX,t.targetLocalX,.25),n=In(t.localY,t.targetLocalY,.25);t.localX=e,t.localY=n,t.packed=e===t.targetLocalX&&n===t.targetLocalY}}function wn(e,t){let n=e.cells.filter(e=>e.owner===t.kind&&e.localX!==void 0&&e.localY!==void 0),r=Tn(t.radius,n.length);n.sort((e,t)=>e.id-t.id);for(let[e,t]of n.entries()){let n=r[e];if(!n)break;t.targetLocalX=n.x,t.targetLocalY=n.y,t.packed=!1}}function Tn(e,t){let n=Math.max(.2,e-.1),r=[],i=.9,a=i*Math.sqrt(3)/2;for(let e=-Math.ceil(n/a);e<=Math.ceil(n/a);e+=1){let t=e*a,o=e&1?i/2:0;for(let e=-Math.ceil(n/i);e<=Math.ceil(n/i);e+=1){let a=e*i+o;Math.hypot(a,t)<=n&&r.push({x:a,y:t})}}r.sort((e,t)=>Math.hypot(e.x,e.y)-Math.hypot(t.x,t.y));let o=[];for(let e of r)if(o.every(t=>Math.hypot(t.x-e.x,t.y-e.y)>=.82)&&o.push(e),o.length===t)break;return o}function En(e){if(e.hat)return e.toppling?{...Pn(e.hat,e.toppling),angle:e.hat.angle+e.toppling.angle}:e.hat}function Dn(e,t,n){let r=Fn(t),i=(e,t)=>e+(t-e)*K(n,0,1);for(let t of[`body`,`head`]){let n=e[t],a=r[t];n&&a&&(a.x=i(n.x,a.x),a.y=i(n.y,a.y),a.angle=i(n.angle,a.angle))}let a=new Map(e.flakes.map(e=>[e.id,e]));for(let e of r.flakes){let t=a.get(e.id);t&&(e.x=i(t.x,e.x),e.y=i(t.y,e.y))}return r.toppling&&e.toppling&&(r.toppling.angle=i(e.toppling.angle,r.toppling.angle)),r.hat&&e.hat&&(r.hat={x:i(e.hat.x,r.hat.x),y:i(e.hat.y,r.hat.y),angle:i(e.hat.angle,r.hat.angle)}),r}function On(e){let t=new Map;for(let n of pn(e))t.set(G(Math.round(n.x),Math.round(n.y)),n.owner);return t}function kn(e,t,n){let r=On(e),i=e.cells.filter(e=>e.owner===`ground`).sort((e,t)=>t.y-e.y||e.x-t.x);for(let a of i){let i=G(a.x,a.y+1);if(a.y<e.grid.rows-1&&!r.has(i)){r.delete(G(a.x,a.y)),a.y+=1,r.set(G(a.x,a.y),a.owner);continue}let o=q(t+a.id*29+n)<.5?-1:1;for(let t of[o,-o]){let n=a.x+t;if(!(n<0||n>=e.grid.columns||a.y>=e.grid.rows-1||r.has(G(n,a.y))||r.has(G(n,a.y+1)))){r.delete(G(a.x,a.y)),a.x=n,a.y+=1,r.set(G(a.x,a.y),a.owner);break}}}}function An(e,t,n,r,i){let a=Math.round(e.x),o=Math.round(e.y);if(o<0)return;if(o>=n.rows-1)return{x:a,y:n.rows-1};if(!t.has(G(a,o+1)))return;let s=r>=0?1:-1,c=q(i+e.id*71+o)>.5?s:-s;for(let e of[c,-c]){let r=a+e;if(r>=0&&r<n.columns&&!t.has(G(r,o+1))&&!t.has(G(r,o)))return{x:r,y:o+1}}return t.has(G(a,o))?{x:a,y:Math.max(0,o-1)}:{x:a,y:o}}function W(e,t,n,r){let i=pn(e).filter(e=>e.owner===`ground`&&Math.abs(e.x-t)<=n);return(i.length?Math.min(...i.map(e=>e.y)):r)-n}function jn(e,t,n){let r=e.cells.filter(e=>e.owner===t).length;return n+Math.sqrt(r/Math.PI)*.5}function Mn(e,t){let n=e.body;n&&(e.toppling={startedAt:t,angle:0,pivotX:n.x,pivotY:n.y+n.radius*.72})}function Nn(e,t){let n=e.toppling;if(!n)return;let r=K((t-n.startedAt)/750,0,1);n.angle=(1-(1-r)**3)*(Math.PI/2),r===1&&(e.toppled=!0)}function Pn(e,t){let n=Math.cos(t.angle),r=Math.sin(t.angle),i=e.x-t.pivotX,a=e.y-t.pivotY;return{...e,x:t.pivotX+i*n-a*r,y:t.pivotY+i*r+a*n}}function Fn(e){return{...e,grid:{...e.grid},hat:e.hat&&{...e.hat},flakes:e.flakes.map(e=>({...e})),cells:e.cells.map(e=>({...e})),body:e.body&&{...e.body},head:e.head&&{...e.head},toppling:e.toppling&&{...e.toppling}}}function G(e,t){return`${e}:${t}`}function K(e,t,n){return Math.max(t,Math.min(n,e))}function In(e,t,n){return Math.abs(t-e)<=n?t:e+Math.sign(t-e)*n}function q(e){let t=Math.sin(e*12.9898)*43758.5453;return t-Math.floor(t)}function Ln(e,t,n){if(!e)return;let r=e.getContext(`2d`);if(!r)return;let i=window.devicePixelRatio||1,a=Math.max(1,Math.round(n.width)),o=Math.max(1,Math.round(n.height));(e.width!==a*i||e.height!==o*i)&&(e.width=a*i,e.height=o*i,e.style.width=`${a}px`,e.style.height=`${o}px`),r.setTransform(i,0,0,i,0,0),r.clearRect(0,0,a,o);let s=a/t.grid.columns,c=o/t.grid.rows;r.fillStyle=`rgba(244, 241, 223, 0.52)`;for(let e of pn(t))Rn(r,(e.x+.5)*s,(e.y+.5)*c,s,c);r.fillStyle=`rgba(244, 241, 223, 0.76)`;for(let e of t.flakes)Rn(r,(e.x+.5)*s,(e.y+.5)*c,s*.72,c*.72);let l=En(t);if(l&&t.head){let e=t.head.radius;r.save(),r.translate(l.x*s,l.y*c),r.scale(s,c),r.rotate(l.angle),r.fillStyle=`rgba(27, 31, 24, 0.78)`,r.fillRect(-e*.65,-2,e*1.3,2),r.fillRect(-e,-.3,e*2,.45),r.restore()}}function Rn(e,t,n,r,i){e.beginPath(),e.arc(t,n,Math.max(.8,Math.min(r,i)*.42),0,Math.PI*2),e.fill()}function zn({progress:e,estimatedDurationMs:t,overdue:n,seed:i=0}){let s=a(null),c=a(null),[l,d]=o({width:360,height:180}),[f,p]=o(()=>window.matchMedia(`(prefers-reduced-motion: reduce)`).matches),m=a(e),h=a(n),g=a({startedAt:Date.now(),progressAt:Date.now(),progress:e,simulation:an()});r(()=>{m.current=e,g.current.progressAt=Date.now(),g.current.progress=e},[e]),r(()=>{h.current=n},[n]),r(()=>{let e=window.matchMedia(`(prefers-reduced-motion: reduce)`),t=()=>p(e.matches);return t(),e.addEventListener?.(`change`,t),()=>e.removeEventListener?.(`change`,t)},[]),r(()=>{let e=s.current;if(!e)return;let t=()=>{let t=e.getBoundingClientRect();t.width>0&&t.height>0&&d({width:t.width,height:t.height})};if(t(),typeof ResizeObserver>`u`)return;let n=new ResizeObserver(t);return n.observe(e),()=>n.disconnect()},[]),r(()=>{if(f)return;g.current.simulation=an(l);let e=0,n=()=>{let r=g.current,a=t===void 0?Date.now()-r.startedAt:r.progress*t+(Date.now()-r.progressAt),o={progress:m.current,estimatedDurationMs:t,overdue:h.current,seed:i,dimensions:l},u=dn(r.simulation,{...o,elapsed:a});r.simulation=u;let d=Dn(u,dn(u,{...o,elapsed:u.lastElapsed+25}),(a-u.lastElapsed)/25);Ln(c.current,d,l);let p=s.current;p&&(p.dataset.snowCellCount=String(u.cells.length),p.dataset.snowDensity=u.grid.columns<65?`compact`:`full`,u.toppled?p.dataset.snowmanToppled=`true`:delete p.dataset.snowmanToppled),f||(e=window.requestAnimationFrame(n))};return e=window.requestAnimationFrame(n),()=>window.cancelAnimationFrame(e)},[l,t,f,i]),r(()=>{if(!f)return;let r=dn(an(l),{elapsed:t===void 0?4800:e*t,progress:e,estimatedDurationMs:t,overdue:n,seed:i,dimensions:l});Ln(c.current,r,l),s.current&&(s.current.dataset.snowCellCount=String(r.cells.length),r.toppled?s.current.dataset.snowmanToppled=`true`:delete s.current.dataset.snowmanToppled)},[l,t,n,e,f,i]);let _=sn(e,t,n);return u(`div`,{ref:s,className:$t.field,"data-running-part":`snowman-field`,"data-snowman-phase":_,"data-reduced-motion":f||void 0,children:u(`canvas`,{ref:c,className:$t.canvas,"data-running-part":`snowman-canvas`})})}var J={haze:`_haze_3npie_1`,pressure:`_pressure_3npie_17`,band:`_band_3npie_20`,bandOne:`_bandOne_3npie_33`,bandTwo:`_bandTwo_3npie_36`,bandThree:`_bandThree_3npie_40`,drift:`_drift_3npie_45`,driftOne:`_driftOne_3npie_54`,driftTwo:`_driftTwo_3npie_58`,driftThree:`_driftThree_3npie_67`,driftFour:`_driftFour_3npie_76`,driftFive:`_driftFive_3npie_85`,"storm-band":`_storm-band_3npie_1`};function Bn(){return d(l,{children:[u(`span`,{className:J.haze,"data-running-part":`weather-haze`}),u(`span`,{className:J.pressure,"data-running-part":`weather-pressure`}),u(`span`,{className:`${J.band} ${J.bandOne}`}),u(`span`,{className:`${J.band} ${J.bandTwo}`}),u(`span`,{className:`${J.band} ${J.bandThree}`}),u(`span`,{className:`${J.drift} ${J.driftOne}`}),u(`span`,{className:`${J.drift} ${J.driftTwo}`}),u(`span`,{className:`${J.drift} ${J.driftThree}`}),u(`span`,{className:`${J.drift} ${J.driftFour}`}),u(`span`,{className:`${J.drift} ${J.driftFive}`})]})}var Vn={anchor:`_anchor_1bd86_1`,body:`_body_1bd86_6`,"phased-marker":`_phased-marker_1bd86_1`};function Hn({anchorClassName:e,bodyClassName:t,delay:n,anchorPart:r,bodyPart:i}){let a=n?{"--phased-marker-delay":n}:void 0;return u(`span`,{className:`${Vn.anchor} ${e??``}`,"data-running-part":r,children:u(`span`,{className:`${Vn.body} ${t??``}`,"data-running-part":i,style:a})})}var Y={frontier:`_frontier_2wwhn_1`,flare:`_flare_2wwhn_12`,lanes:`_lanes_2wwhn_15`,lane:`_lane_2wwhn_15`,markerAnchor:`_markerAnchor_2wwhn_31`,markerBody:`_markerBody_2wwhn_35`,"bloom-flare":`_bloom-flare_2wwhn_1`};function Un(){return d(l,{children:[u(`span`,{className:Y.frontier,"data-running-part":`frontier`}),u(`span`,{className:Y.flare,"data-running-part":`bloom-flare`}),u(`span`,{className:Y.lanes,"data-running-part":`bloom-lanes`,children:[0,1,2,3].map(e=>u(`span`,{className:Y.lane,"data-running-part":`bloom-lane`,children:u(Hn,{anchorClassName:Y.markerAnchor,bodyClassName:Y.markerBody,delay:[void 0,`-0.8s`,`-1.7s`,`-2.4s`][e],anchorPart:`bloom-marker-anchor`,bodyPart:`bloom-marker`})},e))})]})}function Wn(e){return[`telemetry-bloom`,`release-transit`,`status-weather`,`falling-shapes`,`snowman`].includes(e)}function Gn({animation:e,progress:t,estimatedDurationMs:n,overdue:r,indeterminate:i,seed:a}){let o={"--running-progress":`${t*100}%`};return d(`div`,{className:`${Qt.field} ${r?Qt.overdue:``}`,"data-animation":e,"data-running-field":!0,"data-overdue":r||void 0,"data-indeterminate":i||void 0,"aria-hidden":`true`,style:o,children:[e===`telemetry-bloom`&&u(Un,{}),e===`release-transit`&&u(Zt,{}),e===`status-weather`&&u(Bn,{}),e===`falling-shapes`&&u(Yt,{progress:t,estimatedDurationMs:n,overdue:r,seed:a}),e===`snowman`&&u(zn,{progress:t,estimatedDurationMs:n,overdue:r,seed:a})]})}var Kn=20;function qn(e,t){let n=Jn(!!e),r=e?new Date(e).valueOf():NaN,i=Number.isFinite(r)?Math.max(0,n-r):void 0,a=i!==void 0&&t!==void 0;return{elapsedMs:i,estimatedDurationMs:t,hasEstimate:a,overdue:a&&i>t,progress:a?Math.min(i/t,1):0}}function Jn(e){let[t,n]=o(()=>Date.now());return r(()=>{if(!e)return;n(Date.now());let t=window.setInterval(()=>n(Date.now()),Kn);return()=>window.clearInterval(t)},[e]),t}function Yn(e,t,n){return`${e===void 0?`Run in progress`:`Elapsed ${Zn(e)}`} · ${t===void 0?`Expected duration unavailable`:`Expected ≈ ${Zn(t)}`}${n?` · Over estimate`:``}`}function Xn(e,t,n){let r=e===void 0?`—`:Qn(e),i=t===void 0?`?`:`~${Qn(t)}`;return`${n?`⚠`:`\xA0`}${r}/${i}`}function Zn(e){let t=Math.floor(e/1e3),n=Math.floor(t/3600),r=Math.floor(t%3600/60),i=t%60;return n>0?`${n}h ${r}m`:r>0?`${r}m ${i}s`:`${i}s`}function Qn(e){let t=Math.floor(e/1e3),n=Math.floor(t/3600),r=Math.floor(t%3600/60),i=t%60,a=`${r}:${String(i).padStart(2,`0`)}`;return n>0?`${n}:${a.padStart(5,`0`)}`:a}function $n({elapsedMs:e,estimatedDurationMs:t,overdue:n}){return d(`p`,{className:`${Qt.timing} ${n?Qt.timingOverdue:``}`,children:[u(`span`,{className:`screen-reader-only`,children:Yn(e,t,n)}),u(`span`,{"aria-hidden":`true`,children:Xn(e,t,n)})]})}var X={progress:`_progress_1x79l_1`,visual:`_visual_1x79l_8`,timing:`_timing_1x79l_12`,overdue:`_overdue_1x79l_17`,readout:`_readout_1x79l_23`,radial:`_radial_1x79l_31`,sweep:`_sweep_1x79l_1`,"alarm-ring":`_alarm-ring_1x79l_1`,radialCore:`_radialCore_1x79l_58`,"reactor-breathe":`_reactor-breathe_1x79l_1`,runway:`_runway_1x79l_70`,"barrier-pulse":`_barrier-pulse_1x79l_1`,spark:`_spark_1x79l_114`,sparkTwo:`_sparkTwo_1x79l_128`,orbit:`_orbit_1x79l_135`,orbitCore:`_orbitCore_1x79l_151`,particle:`_particle_1x79l_163`,particleTwo:`_particleTwo_1x79l_174`,"gravity-well":`_gravity-well_1x79l_1`,indeterminate:`_indeterminate_1x79l_191`,shift:`_shift_1x79l_1`,signalField:`_signalField_1x79l_199`,rail:`_rail_1x79l_217`,lead:`_lead_1x79l_223`,pulse:`_pulse_1x79l_233`,pulseTwo:`_pulseTwo_1x79l_244`,tracks:`_tracks_1x79l_247`,sparkWide:`_sparkWide_1x79l_1`,track:`_track_1x79l_247`,markerAnchor:`_markerAnchor_1x79l_371`,markerBody:`_markerBody_1x79l_375`,"endpoint-pulse":`_endpoint-pulse_1x79l_1`,short:`_short_1x79l_413`};function er({animation:e,timing:t}){let{elapsedMs:n,estimatedDurationMs:r,hasEstimate:i,overdue:a,progress:o}=t,s=e===`runway`||e===`signal-field`,c=Yn(n,r,a),f={"--running-progress":`${o*100}%`,"--running-degrees":`${o*360}deg`},p=e===`signal-field`?X.signalField:X[e];return d(`div`,{className:`${X.progress} ${p} ${a?X.overdue:``} ${i?``:X.indeterminate}`,style:f,"data-running-progress":e,"data-overdue":a||void 0,"data-indeterminate":!i||void 0,children:[d(`div`,{className:X.visual,"aria-hidden":`true`,"data-running-visual":!0,children:[e===`radial`&&u(`span`,{className:X.radialCore}),e===`runway`&&d(l,{children:[u(`span`,{className:X.spark,"data-running-part":`runway-spark`}),u(`span`,{className:`${X.spark} ${X.sparkTwo}`,"data-running-part":`runway-spark-two`})]}),e===`orbit`&&d(l,{children:[u(`span`,{className:X.orbitCore}),u(`span`,{className:X.particle}),u(`span`,{className:`${X.particle} ${X.particleTwo}`})]}),e===`signal-field`&&d(l,{children:[u(`span`,{className:X.rail}),u(`span`,{className:X.lead}),u(`span`,{className:X.pulse}),u(`span`,{className:`${X.pulse} ${X.pulseTwo}`}),u(`span`,{className:X.tracks,"data-running-part":`signal-tracks`,children:[0,1,2,3,4].map(e=>u(`span`,{className:X.track,"data-running-part":`signal-track`,children:u(Hn,{anchorClassName:X.markerAnchor,bodyClassName:X.markerBody,delay:[void 0,`-0.8s`,`-1.7s`,`-2.4s`,`-0.35s`][e],anchorPart:`signal-marker-anchor`,bodyPart:`signal-marker`})},e))})]})]}),u(`p`,{className:`${X.timing} ${s?X.readout:``}`,children:s?d(l,{children:[u(`span`,{className:`screen-reader-only`,children:c}),u(`span`,{"aria-hidden":`true`,children:Xn(n,r,a)})]}):c})]})}function tr(e){return[`radial`,`runway`,`orbit`,`signal-field`].includes(e)}function nr(e){return Array.from(e).reduce((e,t)=>e*31+t.charCodeAt(0)>>>0,7)}var rr=2e4,ir=15e3,ar=3e5,or=1.25,sr=[`radial`,`runway`,`orbit`,`signal-field`,`telemetry-bloom`,`release-transit`,`status-weather`,`falling-shapes`,`snowman`];function cr({panel:e}){let t=dr(),n=e.running_animation===void 0||e.running_animation===`off`?void 0:e.running_animation,r=lr(e.demo_run_duration,rr),i=lr(e.demo_review_duration,ar),a=n?Math.ceil(i*or):r,o=Math.floor(t/a),s=n??sr[o%sr.length]??`radial`,c=o*a;return u(ur,{panel:e,animation:s,runStartedAt:c,estimatedDurationMs:n?i:ir})}function lr(e,t){return e?v(e)??t:t}function ur({panel:e,animation:t,runStartedAt:n,estimatedDurationMs:r}){let i=qn(new Date(n).toISOString(),r),a=Wn(t);return u(L,{panel:e,field:a?u(Gn,{animation:t,progress:i.progress,estimatedDurationMs:i.estimatedDurationMs,overdue:i.overdue,indeterminate:!i.hasEstimate,seed:nr(e.id)},`${t}-${n}`):void 0,children:d(F,{children:[u(I,{status:`running`,glyph:`↻`,label:`Running`}),d(`p`,{className:Dt.variant,children:[u(`span`,{className:Dt.variantPrefix,children:`Demo treatment · `}),t]}),a?u($n,{elapsedMs:i.elapsedMs,estimatedDurationMs:r,overdue:i.overdue}):u(er,{animation:t,timing:i})]})})}function dr(){let[e,t]=o(()=>Date.now());return r(()=>{let e=window.setInterval(()=>t(Date.now()),1e3);return()=>window.clearInterval(e)},[]),e}var fr={details:`_details_19avj_1`,activity:`_activity_19avj_7`,duration:`_duration_19avj_8`};function pr(e,t=`Passed`){let n=mt[e];return e===`passed`?{...n,label:t}:n}function mr(e){return e?e.parent?`${e.parent} › ${e.name}`:e.name:`Activity unavailable`}function hr({panel:e,envelope:t,attentionActive:n,updateHealth:r}){if(!t)return u(L,{panel:e,attentionActive:n,children:u(F,{children:u(N,{children:`Loading…`})})});if(t.state===`error`){let r=dt(t.error.kind);return d(L,{panel:e,envelope:t,attentionActive:n,error:!0,layout:`status-band`,children:[u(`div`,{"data-panel-anchor":`status`,children:u(I,{glyph:`⚠`,label:r.label,emphasis:r.emphasis})}),u(F,{anchor:`evidence`,children:u(N,{children:t.error.message})})]})}let i=E.safeParse(t.signal);return i.success?u(gr,{panel:e,envelope:t,signal:i.data,updateHealth:r,attentionActive:n}):d(L,{panel:e,envelope:t,attentionActive:n,error:!0,layout:`status-band`,children:[u(`div`,{"data-panel-anchor":`status`,children:u(I,{glyph:`⚠`,label:`Invalid signal`})}),u(F,{anchor:`evidence`,children:u(N,{children:`The received pipeline status could not be read.`})})]})}function gr({panel:e,envelope:t,signal:n,updateHealth:r,attentionActive:i}){let s=pr(n.status),[c,l]=o(()=>n.status===`running`?_r():void 0),f=a(n.status);if(n.status!==f.current){let t=f.current===`running`;f.current=n.status,e.running_animation===void 0&&!t&&n.status===`running`&&l(e=>_r(e))}let p=e.running_animation??c??`off`,m=n.status===`running`&&p!==`off`,h=qn(n.runStartedAt,n.estimatedDurationMs),g=m&&Wn(p),_=m&&tr(p);return d(L,{panel:e,envelope:t,attentionActive:i,layout:g||_?void 0:`status-band`,field:g?u(Gn,{animation:p,progress:h.progress,estimatedDurationMs:h.estimatedDurationMs,overdue:h.overdue,indeterminate:!h.hasEstimate,seed:nr(e.id)}):void 0,children:[u(`div`,{"data-panel-anchor":`status`,children:u(I,{status:n.status,glyph:s.glyph,label:s.label})}),d(F,{className:fr.details,anchor:`evidence`,children:[n.status===`running`&&u(P,{glyph:`⚙`,label:`Activity`,value:mr(n.activity),compact:{kind:`glyph-only`},title:`Activity: ${mr(n.activity)}`,className:fr.activity}),n.branch&&u(P,{glyph:`⎇`,label:`Branch`,value:u(`span`,{className:fr.branch,children:n.branch}),compact:{kind:`short-value`,value:u(`span`,{className:fr.branch,children:n.branch})},title:`Branch: ${n.branch}`}),g&&u($n,{elapsedMs:h.elapsedMs,estimatedDurationMs:n.estimatedDurationMs,overdue:h.overdue}),_&&u(er,{animation:p,timing:h}),n.status!==`running`&&n.durationMs!==void 0&&u(P,{glyph:`◷`,label:`Duration`,value:`Took ${vr(n.durationMs)}`,compact:{kind:`short-value`,value:vr(n.durationMs)},title:`Duration: Took ${vr(n.durationMs)}`,className:fr.duration}),u(vt,{sourceUpdatedAt:n.sourceUpdatedAt,observedAt:t.observedAt,running:n.status===`running`,runStartedAt:n.runStartedAt}),r&&u(yt,{health:r})]})]})}function _r(e){let t=T.filter(t=>t!==e);return t[Math.floor(Math.random()*t.length)]??`telemetry-bloom`}function vr(e){let t=Math.floor(e/1e3),n=Math.floor(t/3600),r=Math.floor(t%3600/60),i=t%60;return n>0?`${n}h ${r}m`:r>0?`${r}m ${i}s`:`${i}s`}var Z={compactFacts:`_compactFacts_f62xm_1`,incomplete:`_incomplete_f62xm_8`,compactFact:`_compactFact_f62xm_1`,failedItem:`_failedItem_f62xm_19`,evidence:`_evidence_f62xm_27`,freshness:`_freshness_f62xm_28`,statusAnchor:`_statusAnchor_f62xm_36`,fullSummary:`_fullSummary_f62xm_44`};function Q(e,t,n=`${t}s`){return`${e} ${e===1?t:n}`}function yr(e){let t=[...e.workflows,...e.pullRequests].find(e=>e.status===`failed`||e.status===`warning`);return t?{workflow:Q(e.workflows.length,`workflow`),pullRequests:Q(e.pullRequests.length,`open PR`),primary:`${t.label} ${t.status}`,secondary:`${Q(e.workflows.length,`workflow`)} · ${Q(e.pullRequests.length,`open PR`)}`,primaryDetail:t.detail,primaryKind:t.status===`warning`?`warning`:`failed`,title:`${e.summary} — ${t.label}: ${t.detail}`}:{workflow:Q(e.workflows.length,`workflow`),pullRequests:Q(e.pullRequests.length,`open PR`),primary:Q(e.workflows.length,`workflow`),secondary:Q(e.pullRequests.length,`open PR`),title:e.summary}}function br({panel:e,envelope:t,attentionActive:n,updateHealth:r}){if(!t)return u(L,{panel:e,attentionActive:n,children:u(F,{children:u(N,{children:`Loading…`})})});if(t.state===`error`){let r=dt(t.error.kind);return d(L,{panel:e,envelope:t,attentionActive:n,error:!0,layout:`status-band`,children:[u(`div`,{"data-panel-anchor":`status`,children:u(I,{glyph:`⚠`,label:r.label,emphasis:r.emphasis})}),u(F,{anchor:`evidence`,children:u(N,{children:t.error.message})})]})}let i=Ce.safeParse(t.signal);if(!i.success)return d(L,{panel:e,envelope:t,attentionActive:n,error:!0,layout:`status-band`,children:[u(`div`,{"data-panel-anchor":`status`,children:u(I,{glyph:`⚠`,label:`Invalid signal`})}),u(F,{anchor:`evidence`,children:u(N,{children:`The received pull-request health status could not be read.`})})]});let a=pr(i.data.status,`Healthy`),o=yr(i.data);return d(L,{panel:e,envelope:t,attentionActive:n,layout:`status-band`,children:[u(`div`,{className:Z.statusAnchor,"data-panel-anchor":`status`,children:u(I,{status:i.data.status,glyph:a.glyph,label:a.label})}),d(`div`,{className:Z.evidence,"data-panel-anchor":`evidence`,"data-panel-evidence-priority":`secondary`,children:[u(N,{className:Z.fullSummary,title:i.data.summary,children:i.data.summary}),d(`div`,{className:Z.compactFacts,title:o.title,"data-compact-facts":!0,children:[o.primaryDetail&&d(`p`,{className:Z.failedItem,title:o.primaryDetail,children:[u(`span`,{"aria-hidden":`true`,children:`⚠`}),` `,d(`span`,{className:`screen-reader-only`,children:[o.primaryKind===`warning`?`Warning`:`Failed`,` item:`,` `]}),o.primary,d(`span`,{className:`screen-reader-only`,children:[`. Detail: `,o.primaryDetail]})]}),u(P,{glyph:`⚙`,label:`Update workflows`,value:o.workflow,compact:{kind:`short-value`,value:i.data.workflows.length},title:`Update workflows: ${o.workflow}`,className:Z.compactFact}),u(P,{glyph:`⎇`,label:`Open update pull requests`,value:o.pullRequests,compact:{kind:`short-value`,value:i.data.pullRequests.length},title:`Open update pull requests: ${o.pullRequests}`,className:Z.compactFact})]}),d(`div`,{className:Z.freshness,children:[u(R,{value:t.observedAt,label:`Observed (oldest evidence)`}),i.data.newestObservedAt&&d(`span`,{className:`screen-reader-only`,children:[`Newest evidence observed `,i.data.newestObservedAt,`.`]}),r&&u(yt,{health:r})]}),i.data.incompleteObservations&&u(`div`,{role:`status`,children:d(N,{className:Z.incomplete,children:[`⚠ Incomplete observations:`,` `,i.data.incompleteObservations.map(({label:e,message:t})=>`${e}: ${t}`).join(` · `)]})})]})]})}var xr={"pipeline-status":hr,"pull-request-health":br,"http-value":Ct,"pipeline-animation-demo":cr};function Sr({panel:e,envelope:t,attentionActive:n,updateHealth:r,facts:i}){let a=xr[e.type];return a?u(a,{panel:e,envelope:t,attentionActive:n,updateHealth:r,facts:i}):u(ut,{label:e.type,hint:`Not wired yet`,wide:!0})}var $={trigger:`_trigger_g9eon_1`,close:`_close_g9eon_2`,dialog:`_dialog_g9eon_11`,dialogHeader:`_dialogHeader_g9eon_22`,note:`_note_g9eon_32`,empty:`_empty_g9eon_33`,body:`_body_g9eon_43`,legend:`_legend_g9eon_48`,axis:`_axis_g9eon_57`,lanes:`_lanes_g9eon_64`,lane:`_lane_g9eon_64`,laneLabel:`_laneLabel_g9eon_75`,track:`_track_g9eon_78`,observed:`_observed_g9eon_85`,expected:`_expected_g9eon_86`},Cr=6e5;function wr({schedules:e,events:t,retention:n,now:r=new Date}){let i=r.valueOf(),a=i-Cr,o=t.filter(e=>e.kind===`panel-fetch-start`&&Number.isFinite(Date.parse(e.at))&&Date.parse(e.at)>=a&&Date.parse(e.at)<=i),s=e.map(e=>{let t=new Map;for(let n of o){if(n.panelId!==e.panelId)continue;let r=t.get(n.path)??[];r.push(n.at),t.set(n.path,r)}return{...e,observed:[...t.entries()].map(([e,t])=>({path:e,starts:t})),hasRetainedEvidence:t.size>0}});return{capturedAt:r.toISOString(),window:{from:new Date(a).toISOString(),to:r.toISOString()},schedules:e,lanes:s,evidenceMayBeIncomplete:n.eventsPrunedByAge>0||n.eventsPrunedByCount>0}}function Tr(e,t){return Math.max(0,Math.min(100,(Date.parse(e)-(t.valueOf()-Cr))/Cr*100))}function Er(e,t){return`${e.label}, panel ${e.panelId}; ${Dr(e.cadence)} cadence; ${e.inFlight?`request in flight`:e.nextDueAt?Or(e.nextDueAt,t):`awaiting first request`}; ${e.observed.length?`${e.observed.length} observed proxy path${e.observed.length===1?``:`s`}`:`no retained requests in the last 10 minutes`}`}function Dr(e){return e===`completion-window`?`Completion-window`:e===`running`?`Running`:`Normal`}function Or(e,t){let n=Date.parse(e)-t.valueOf();return n<0?`Overdue by ${kr(-n)}`:`Next poll in ${kr(n)}`}function kr(e){return e%6e4==0?`${Math.round(e/6e4)}m`:`${Math.max(1,Math.round(e/1e3))}s`}function Ar({board:e,schedules:t,log:n}){let[c,f]=o(()=>new Date),[p,m]=o(!1),h=a(null),g=a(null),_=a(null),v=a(!1);s(n.subscribe,n.snapshot,n.snapshot),r(()=>{if(!p)return;let e=window.setInterval(()=>f(new Date),1e3);return()=>window.clearInterval(e)},[p]);let y=i(()=>wr({schedules:t,...n.retainedEvidence(),now:c}),[n,c,t]);return r(()=>{if(!p){v.current&&h.current?.focus(),v.current=!1;return}v.current=!0;let e=()=>m(!1),t=window.setTimeout(e,6e4),n=()=>{window.clearTimeout(t),t=window.setTimeout(e,6e4)},r=t=>{t.key===`Escape`&&e()},i=e=>{if(e.key!==`Tab`)return;let t=[...g.current?.querySelectorAll(`button:not([disabled]), [href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])`)??[]],n=t.at(0),r=t.at(-1);n&&r&&(e.shiftKey&&document.activeElement===n?(e.preventDefault(),r?.focus()):!e.shiftKey&&document.activeElement===r&&(e.preventDefault(),n.focus()))},a=g.current;return a?.addEventListener(`pointerdown`,n),a?.addEventListener(`keydown`,n),a?.addEventListener(`focusin`,n),a?.addEventListener(`keydown`,i),window.addEventListener(`keydown`,r),_.current?.focus(),()=>{window.clearTimeout(t),a?.removeEventListener(`pointerdown`,n),a?.removeEventListener(`keydown`,n),a?.removeEventListener(`focusin`,n),a?.removeEventListener(`keydown`,i),window.removeEventListener(`keydown`,r)}},[p]),d(l,{children:[u(`button`,{ref:h,className:$.trigger,type:`button`,"aria-expanded":p,"aria-controls":`update-activity-dialog`,onClick:()=>{f(new Date),m(!0)},children:`Update activity`}),p&&d(`section`,{ref:g,className:$.dialog,"data-update-activity":!0,id:`update-activity-dialog`,role:`dialog`,"aria-modal":`true`,"aria-labelledby":`update-activity-title`,children:[d(`div`,{className:$.dialogHeader,children:[d(`div`,{children:[u(`h2`,{id:`update-activity-title`,children:`Update activity`}),u(`p`,{children:`Browser-local proxy reads from the last 10 minutes. Panels schedule independently.`})]}),u(`button`,{ref:_,className:$.close,type:`button`,onClick:()=>m(!1),children:`Close`})]}),d(`div`,{className:$.body,children:[u(`span`,{className:$.legend,children:`● observed · ◇ expected`}),e&&y.lanes.length===0&&u(`p`,{className:$.empty,children:`No visible polling panels are configured.`}),y.lanes.length>0&&d(l,{children:[d(`div`,{className:$.axis,"aria-hidden":`true`,children:[u(`span`,{children:`10m ago`}),u(`span`,{children:`now`})]}),u(`div`,{className:$.lanes,children:y.lanes.map(e=>d(`div`,{className:$.lane,"data-update-activity-lane":!0,children:[u(`span`,{className:$.laneLabel,children:e.label}),d(`span`,{className:$.track,role:`img`,"aria-label":Er(e,c),children:[e.observed.flatMap(({path:e,starts:t})=>t.map(t=>u(`i`,{className:$.observed,style:{left:`${Tr(t,c)}%`},title:`Observed request: ${e}`},`${e}-${t}`))),e.nextDueAt&&u(`i`,{className:$.expected,style:{left:`${Tr(e.nextDueAt,c)}%`},title:`Expected next poll`})]})]},e.panelId))})]}),y.evidenceMayBeIncomplete&&u(`p`,{className:$.note,children:`Older browser evidence was pruned, so an empty lane only means no retained request in this window.`}),u(`p`,{className:$.note,children:`Observed markers are requests this browser started; the outlined marker is the current expected next poll, not an observed request.`})]})]})]})}var jr=6e4,Mr=1e4,Nr=()=>globalThis.window.location.reload();function Pr({env:e,diagnostics:t,fetcher:n,reload:i=Nr,auth:a}){r(()=>{let r=!1,o=!1,s,c=`${e.proxyPath}/client`,l=async()=>{if(r||o)return;o=!0;let u=new AbortController;s=u;let d=globalThis.setTimeout(()=>u.abort(),Mr);t.record({kind:`client-update-check`,path:c});try{let o=await A(e,c,{cache:`no-store`,signal:u.signal},n??globalThis.fetch,a);if(!o.ok)throw Error(`Client identity returned ${o.status}`);let s=me.safeParse(await o.json());if(!s.success)throw Error(`Client identity response was invalid`);if(r)return;t.record({kind:`client-update-response`,path:c,serverVersion:s.data.serverVersion,assetPathIdMatches:s.data.assetPathId===e.assetPathId}),s.data.assetPath!==e.assetPath&&(t.record({kind:`client-update-detected`,path:c,current:{assetPath:e.assetPath},next:s.data}),i())}catch(e){!r&&!(e instanceof DOMException&&e.name===`AbortError`)&&t.record({kind:`client-update-failure`,path:c,message:e instanceof Error?e.message:String(e)})}finally{globalThis.clearTimeout(d),o=!1,s===u&&(s=void 0),r||globalThis.setTimeout(()=>void l(),jr)}};return l(),()=>{r=!0,s?.abort()}},[a,t,e,n,i])}function Fr(e,t){if(t.state===`error`)return{state:t.state,link:t.link};if(e.type===`pipeline-status`){let e=E.safeParse(t.signal);return{state:t.state,status:e.success?e.data.status:void 0,link:t.link}}if(e.type===`pull-request-health`){let e=Ce.safeParse(t.signal);return{state:t.state,status:e.success?e.data.status:void 0,link:t.link}}return{state:t.state,link:t.link}}function Ir(e,t,n){if(!e)return!0;let r=Fr(t,e),i=Fr(t,n);return r.state!==i.state||r.status!==i.status||r.link!==i.link}function Lr(e){let t=Object.entries(e).map(([e,t])=>t?.envelope?{id:e,state:t.envelope.state,link:t.envelope.link}:{id:e,state:`unavailable`,link:null});return{state:t.some(e=>e.state===`ok`)?`ok`:`error`,link:null,facts:t}}function Rr(e,t){return JSON.stringify(e&&Lr(e))!==JSON.stringify(Lr(t))}var zr=`ze-great-dashboard.panel-memory.v1`,Br=1,Vr=12096e5,Hr=class{now;histories;storage;constructor(e=He(),t=()=>new Date){this.now=t,this.storage=e,this.histories=this.read(),this.pruneAll()}latest(e){return this.history(e).latest}rememberLatest(e,t){this.history(e).latest=t,this.persist()}recordRun(e,t,n=!1){let r=this.history(e);n&&(r.durations[Ur(t)]=t);let i=r.latestCompleted;(!i||Wr(t.sourceUpdatedAt,i.sourceUpdatedAt))&&(r.latestCompleted=t),this.pruneHistory(r),this.persist()}recordSuccessfulRun(e,t){this.recordRun(e,t,!0)}recordCompletedRun(e,t){this.recordRun(e,t)}medianDuration(e){let t=this.history(e);this.pruneHistory(t);let n=Object.values(t.durations).map(({durationMs:e})=>e).sort((e,t)=>e-t);if(n.length===0)return;let r=Math.floor(n.length/2);if(n.length%2==1)return n[r];let i=n[r-1],a=n[r];return i===void 0||a===void 0?void 0:Math.floor((i+a)/2)}resolveEstimatedDuration(e){let t=this.medianDuration(e);if(t!==void 0)return t;let n=this.history(e);return this.pruneHistory(n),n.latestCompleted?.durationMs}history(e){let t=qr(e),n=this.histories[t];if(n)return n;let r={durations:{}};return this.histories[t]=r,r}pruneAll(){for(let e of Object.values(this.histories))this.pruneHistory(e);this.persist()}pruneHistory(e){let t=this.now().valueOf()-Vr;for(let[n,r]of Object.entries(e.durations)){let i=Gr(r.sourceUpdatedAt);(i===void 0||i<t)&&delete e.durations[n]}let n=e.latestCompleted?Gr(e.latestCompleted.sourceUpdatedAt):void 0;e.latestCompleted&&(n===void 0||n<t)&&delete e.latestCompleted}read(){let e=Ue(this.storage,zr);return e?.schemaVersion!==Br||!e.histories?{}:Jr(e.histories)?e.histories:{}}persist(){We(this.storage,zr,{schemaVersion:Br,histories:this.histories})}};function Ur(e){return e.sourceRunId??e.link??e.sourceUpdatedAt}function Wr(e,t){let n=Gr(e),r=Gr(t);return n!==void 0&&(r===void 0||n>=r)}function Gr(e){let t=Date.parse(e);return Number.isFinite(t)?t:void 0}function Kr(e,t){return{board:e,panelId:t.id,source:t.source??``,workflow:typeof t.pipeline==`string`||typeof t.pipeline==`number`?String(t.pipeline):``,branch:t.branch??``}}function qr(e){return JSON.stringify([e.board,e.panelId,e.source,e.workflow,e.branch])}function Jr(e){return Zr(e)?Object.values(e).every(Yr):!1}function Yr(e){return!Zr(e)||!Zr(e.durations)||!Object.values(e.durations).every(Xr)?!1:e.latestCompleted===void 0||Xr(e.latestCompleted)}function Xr(e){return Zr(e)?(typeof e.link==`string`||e.link===null)&&(e.sourceRunId===void 0||typeof e.sourceRunId==`string`)&&typeof e.durationMs==`number`&&Number.isInteger(e.durationMs)&&e.durationMs>=0&&typeof e.sourceUpdatedAt==`string`&&Gr(e.sourceUpdatedAt)!==void 0:!1}function Zr(e){return!!e&&typeof e==`object`&&!Array.isArray(e)}async function Qr(e){e.diagnostics.record({kind:`panel-fetch-start`,panelId:e.panelId,path:e.path});try{let t=await e.fetcher(e.path,{signal:e.signal}),n={kind:`panel-fetch-response`,panelId:e.panelId,path:e.path,status:t.status,cache:et(t.headers)};if(t.status===304){e.diagnostics.record(n);let t=e.cache.get(e.path);return t?{envelope:t}:{error:`Source returned not modified before an initial observation.`}}let r=ve.safeParse(await t.json());if(!r.success)return e.diagnostics.record(n),e.diagnostics.record({kind:`panel-fetch-parse-failure`,panelId:e.panelId,path:e.path,message:`Response was not a valid signal envelope.`}),{error:`Response was not a valid signal envelope.`};let i=r.data;return e.diagnostics.record({...n,envelope:i,...i.state===`error`?{failure:$r(i,t)}:{}}),i.state===`ok`&&e.cache.set(e.path,i),{envelope:i}}catch(t){return e.signal?.aborted||e.diagnostics.record({kind:`panel-fetch-failure`,panelId:e.panelId,path:e.path,message:ei(t)}),{error:ei(t)}}}function $r(e,t){let n=t.headers.get(`x-dashboard-request-id`);return{reason:e.error.message,...n?{supportReference:n}:{}}}function ei(e){return e instanceof Error?e.message:String(e)}function ti(e){let t=ni(e.envelope);if(!t)return{kind:`not-pipeline`,envelope:e.envelope};if(e.accepted&&t.sourceUpdatedAt&&Date.parse(t.sourceUpdatedAt)<Date.parse(e.accepted.sourceUpdatedAt))return e.envelope.state!==`ok`||!t.sourceUpdatedAt?{kind:`not-pipeline`,envelope:e.envelope}:{kind:`rejected`,envelope:e.envelope,signal:{...t,sourceUpdatedAt:t.sourceUpdatedAt}};let n=t.sourceUpdatedAt?{sourceUpdatedAt:t.sourceUpdatedAt,status:t.status,link:e.envelope.link}:void 0,r=t.status!==`running`&&t.durationMs!==void 0&&t.sourceUpdatedAt&&Number.isFinite(Date.parse(t.sourceUpdatedAt))?{link:e.envelope.link,...t.sourceRunId?{sourceRunId:t.sourceRunId}:{},durationMs:t.durationMs,sourceUpdatedAt:t.sourceUpdatedAt}:void 0;return{kind:`accepted`,envelope:t.status===`running`&&e.estimatedDurationMs!==void 0&&e.envelope.state===`ok`?{...e.envelope,signal:{...t,estimatedDurationMs:e.estimatedDurationMs}}:e.envelope,signal:t,accepted:n,durationSample:r}}function ni(e){if(e.state!==`ok`)return;let t=E.safeParse(e.signal);return t.success?t.data:void 0}function ri(e){return e.panels.filter(e=>!D(e.position)&&(e.type===`pipeline-status`||e.type===`pull-request-health`||e.type===`http-value`))}function ii(e,t){return`${e.proxyPath}/panel/${encodeURIComponent(e.board)}/${encodeURIComponent(t)}`}function ai(e,t,n){let r=ii(t,n.id),i=n.type===`http-value`&&n.facts?n.facts.map(e=>`${r}/facts/${encodeURIComponent(e.id)}`):n.type===`pull-request-health`?[`${r}/pull-requests`,...oi(n).map(({workflow:e})=>`${r}/update-workflow/${encodeURIComponent(e)}`)]:[r];return{panelId:n.id,label:n.label??n.id,settings:Fe(e,n),cadence:`normal`,inFlight:!1,knownPaths:i}}function oi(e){let t=typeof e==`object`&&e?e.update_workflows:void 0;return Array.isArray(t)?t.flatMap(e=>typeof e==`object`&&e&&typeof e.workflow==`string`?[{workflow:e.workflow}]:[]):[]}function si(e,t,n){let r=ci(e);if(!r)return{delayMillis:n.refreshMillis,cadence:`normal`};let i=li(r);return i===void 0?{delayMillis:n.runningRefreshMillis,cadence:`running`}:t<i?{delayMillis:Math.min(n.runningRefreshMillis,i-t),cadence:`running`}:t<i+n.runningCompletionWindowMillis?{delayMillis:n.runningCompletionRefreshMillis,cadence:`completion-window`}:{delayMillis:n.runningRefreshMillis,cadence:`running`}}function ci(e){if(e?.state!==`ok`)return;let t=E.safeParse(e.signal);return t.success&&t.data.status===`running`?t.data:void 0}function li(e){if(!e.runStartedAt||e.estimatedDurationMs===void 0)return;let t=Date.parse(e.runStartedAt);return Number.isFinite(t)?t+e.estimatedDurationMs:void 0}function ui(e){let t=[],n=e.workflows.map(({workflow:e,observation:n})=>{let r=fi(n.envelope,`pull-request-workflow`);if(r)return r.item;let i=n.error??`No usable observation is available.`;return t.push({label:`Update workflow ${e}`,message:i}),{label:e,status:`unknown`,detail:`Update workflow ${e} · Unavailable: ${i}`,link:null}}),r=pi(e.candidates.envelope);if(!r){let r=e.candidates.error??`No usable observation is available.`;return t.push({label:`Open update PR candidates`,message:r}),n.every(e=>e.status===`unknown`)?void 0:di(e,n,[],t,mi(e.workflows.map(({observation:e})=>e)))}return r.truncated&&t.push({label:`Open update PR candidates`,message:`The first 100 candidates were observed; additional open update PRs may exist.`}),di(e,n,r.pullRequests.map(n=>{let r=e.builds.get(n.branch),i=fi(r?.envelope,`pull-request-build`);if(i)return{...i.item,label:`PR #${n.number}`,detail:i.item.detail,link:n.link};let a=r?.error??`No usable observation is available.`;return t.push({label:`PR #${n.number}`,message:a}),{label:`PR #${n.number}`,status:`unknown`,detail:`${n.branch} · Unavailable: ${a}`,link:n.link}}),t,mi([...e.workflows.map(({observation:e})=>e),e.candidates,...e.builds.values()]))}function di(e,t,n,r,i){let a=hi([...t,...n].map(e=>e.status)),o=[...t,...n].find(e=>e.status===a),s=a!==`passed`&&o?`${o.label}: ${o.detail}`:n.length===0?`${t.length} update workflow${t.length===1?``:`s`} · No open update PRs`:`${t.length} update workflow${t.length===1?``:`s`} · ${n.length} open update PR${n.length===1?``:`s`}`,c=i.sort();return{panelId:e.panelId,state:`ok`,observedAt:c[0]??new Date().toISOString(),link:e.link,signal:{type:`pull-request-health`,status:a,summary:s,workflows:t,pullRequests:n,...r.length?{incompleteObservations:r}:{},...c.length>1?{newestObservedAt:c.at(-1)}:{}}}}function fi(e,t){if(e?.state!==`ok`)return;let n=(t===`pull-request-workflow`?Ee:De).safeParse(e.signal);return n.success?{item:n.data.item}:void 0}function pi(e){if(e?.state!==`ok`)return;let t=Te.safeParse(e.signal);return t.success?t.data:void 0}function mi(e){return e.flatMap(({envelope:e})=>e?.state===`ok`?[e.observedAt]:[])}function hi(e){return e.reduce((e,t)=>xe(t)>xe(e)?t:e,`passed`)}function gi({board:e,env:t,diagnostics:n,memory:i,auth:s}){let[c,l]=o({}),[u,d]=o({}),[f,p]=o({}),[m,h]=o([]),g=a({}),_=a({}),v=a(null);return v.current||=i??new Hr,r(()=>{if(g.current={},_.current={},l({}),d({}),p({}),h([]),!e)return;let r=!1,i=new Set,a=new Set,o=ri(e),c=o.map(n=>ai(e,t,n)),u=new Map(c.map(e=>[e.panelId,e]));h(c);let f=(e,t)=>{r||h(n=>n.map(n=>n.panelId===e?{...n,...t}:n))};for(let e of o){let o=!1,c=v.current;if(!c)return;let m=u.get(e.id);if(!m)continue;let{settings:h}=m,y=ii(t,e.id),b,x,S=()=>{x=new Date().toISOString(),r||d(t=>{if(!t[e.id])return t;let n={...t};return delete n[e.id],n})},C=t=>{let n=x;if(r||!n)return;let i=yi(t);d(t=>{let r=t[e.id];return{...t,[e.id]:{consecutiveFailures:(r?.consecutiveFailures??0)+1,message:i,lastConfirmedAt:n}}})};if(e.type===`http-value`&&e.facts){let c=e.facts,l=new Map,u,d=async()=>{if(r||o)return;o=!0,f(e.id,{inFlight:!0,lastRequestStartedAt:new Date().toISOString(),nextDueAt:void 0}),u=new AbortController,a.add(u);let m=`${y}/facts`,g=await Promise.all(c.map(async r=>{let i=`${m}/${encodeURIComponent(r.id)}`,a=await Qr({diagnostics:n,panelId:e.id,path:i,signal:u?.signal,cache:l,fetcher:(e,n)=>A(t,e,n,globalThis.fetch,s)});return[r.id,a.error?{failure:a.error}:a]}));if(!r&&!u.signal.aborted){let t=Object.fromEntries(g),r=_.current[e.id];Rr(r,t)&&n.record({kind:`panel-rendered`,panelId:e.id,path:y,rendered:Lr(t)}),_.current={..._.current,[e.id]:t},p(_.current)}if(o=!1,a.delete(u),!r){let t=Date.now()+h.refreshMillis;f(e.id,{inFlight:!1,cadence:`normal`,nextDueAt:new Date(t).toISOString()});let n=window.setTimeout(()=>{i.delete(n),d()},h.refreshMillis);i.add(n)}};d();continue}if(e.type===`pull-request-health`){let c=oi(e),u=new Map,d,p=async r=>{let i=await Qr({diagnostics:n,panelId:e.id,path:r,signal:d?.signal,cache:u,fetcher:(e,n)=>A(t,e,n,globalThis.fetch,s)});return i.envelope?.state===`error`?{error:i.envelope.error.message}:i},m=async()=>{if(r||o)return;o=!0,f(e.id,{inFlight:!0,lastRequestStartedAt:new Date().toISOString(),nextDueAt:void 0}),d=new AbortController,a.add(d);let t=y,[s,...u]=await Promise.all([p(`${t}/pull-requests`),...c.map(({workflow:e})=>p(`${t}/update-workflow/${encodeURIComponent(e)}`))]),_=s.envelope?.state===`ok`&&vi(s.envelope.signal)?s.envelope.signal.pullRequests:[];if(r||d.signal.aborted){a.delete(d);return}let v=await Promise.all(_.map(async e=>[e.branch,await p(`${t}/pull-request-build?branch=${encodeURIComponent(e.branch)}`)])),x=ui({panelId:e.id,link:s.envelope?.link??null,workflows:c.map(({workflow:e},t)=>({workflow:e,observation:u[t]??{error:`Missing workflow result.`}})),candidates:s,builds:new Map(v)});if(r||d.signal.aborted){a.delete(d);return}if(x&&!r){b=x,S();let t=g.current[e.id];Ir(t,e,x)&&n.record({kind:`panel-rendered`,panelId:e.id,path:y,rendered:Fr(e,x)}),g.current={...g.current,[e.id]:x},l(g.current)}else r||C(`No usable pull-request observations.`);if(o=!1,a.delete(d),!r){let t=si(b,Date.now(),h),n=Date.now()+t.delayMillis;f(e.id,{inFlight:!1,cadence:t.cadence,nextDueAt:new Date(n).toISOString()});let r=window.setTimeout(()=>{i.delete(r),m()},t.delayMillis);i.add(r)}};m();continue}let ee=()=>{r||o||(o=!0,f(e.id,{inFlight:!0,lastRequestStartedAt:new Date().toISOString(),nextDueAt:void 0}),n.record({kind:`panel-fetch-start`,panelId:e.id,path:y}),A(t,y,void 0,globalThis.fetch,s).then(async t=>{let r={kind:`panel-fetch-response`,panelId:e.id,path:y,status:t.status,cache:et(t.headers)};if(t.status===304){n.record(r),S();return}try{let i=xi(await t.json());if(!i){n.record(r),n.record({kind:`panel-fetch-parse-failure`,panelId:e.id,path:y,message:`Response was not a valid signal envelope.`}),C(`Response was not a valid signal envelope.`);return}return n.record({...r,envelope:i,...i.state===`error`?{failure:_i(i,t)}:{}}),S(),{envelope:i,cache:r.cache,status:t.status}}catch(t){throw n.record(r),n.record({kind:`panel-fetch-parse-failure`,panelId:e.id,path:y,message:yi(t)}),new bi(t)}}).then(i=>{if(!i)return;let a=i.envelope;if(e.type===`pipeline-status`){let r=Kr(t.board,e),o=c.latest(r),s=ti({envelope:a,accepted:o,estimatedDurationMs:c.resolveEstimatedDuration(r)});if(s.kind===`rejected`&&o){let t=s.signal;n.recordGithubConsistencyIncident({panelId:e.id,endpoint:y,identity:{source:r.source,workflow:r.workflow,branch:r.branch},accepted:o,regressed:{sourceUpdatedAt:t.sourceUpdatedAt,status:t.status,link:a.link},response:{httpStatus:i.status,date:i.cache?.date,etag:i.cache?.etag,cacheControl:i.cache?.cacheControl}});return}if(s.kind===`accepted`&&(a=s.envelope,s.accepted&&c.rememberLatest(r,s.accepted),s.durationSample)){let e={link:s.durationSample.link,...s.durationSample.sourceRunId?{sourceRunId:s.durationSample.sourceRunId}:{},durationMs:s.durationSample.durationMs,sourceUpdatedAt:s.durationSample.sourceUpdatedAt};c.recordRun(r,e,s.signal.status===`passed`)}}if(b=a,!r){let t=g.current[e.id];Ir(t,e,a)&&n.record({kind:`panel-rendered`,panelId:e.id,path:y,rendered:Fr(e,a)}),g.current={...g.current,[e.id]:a},l(g.current)}}).catch(t=>{C(t),t instanceof bi||n.record({kind:`panel-fetch-failure`,panelId:e.id,path:y,message:yi(t)})}).finally(()=>{if(o=!1,!r){let t=si(b,Date.now(),h),n=Date.now()+t.delayMillis;f(e.id,{inFlight:!1,cadence:t.cadence,nextDueAt:new Date(n).toISOString()});let r=window.setTimeout(()=>{i.delete(r),ee()},t.delayMillis);i.add(r)}}))};ee()}return()=>{r=!0;for(let e of a)e.abort();for(let e of i)window.clearTimeout(e)}},[s,e,n,t]),{signals:c,updateHealth:u,factSignals:f,schedules:m}}function _i(e,t){let n=t.headers.get(`x-dashboard-request-id`);return{reason:e.error.message,...n?{supportReference:n}:{}}}function vi(e){return typeof e==`object`&&!!e&&e.type===`pull-request-candidates`&&Array.isArray(e.pullRequests)}function yi(e){return e instanceof Error?e.message:String(e)}var bi=class extends Error{constructor(e){super(yi(e))}};function xi(e){let t=ve.safeParse(e);return t.success?t.data:void 0}function Si({env:e}){return e.auth?u(ct,{env:e,auth:e.auth,children:(t,n)=>u(Ci,{env:e,accessToken:t,onDenied:n})}):u(Ci,{env:e})}function Ci({env:e,accessToken:t,onDenied:n}){let[s,c]=o(),[l,f]=o(),p=a(null);p.current||=new Qe(e);let m=p.current,h=i(()=>t?{accessToken:t,onAuthenticationFailure:e=>e===403&&n?.()}:void 0,[t,n]);Pr({env:e,diagnostics:m,auth:h});let{signals:g,updateHealth:_,factSignals:v,schedules:y}=gi({board:l===e.board?s:void 0,env:e,diagnostics:m,auth:h}),b=i(()=>s?je(s.panels):void 0,[s]),x=i(()=>Ie({board:s,signals:g,updateHealth:_,factSignals:v}),[s,v,g,_]),S=x.length?s?.attention?.treatment:void 0,C=new Set(x.map(e=>e.panelId));return r(()=>{b&&b.issues.length!==0&&m.record({kind:`layout-analyzed`,issueCount:b.issues.length,affectedPanelIds:b.issues.map(e=>e.panelId)})},[m,b]),r(()=>{let t=!1;c(void 0),f(void 0);let n=`${e.proxyPath}/boards/${encodeURIComponent(e.board)}`;return m.record({kind:`board-fetch-start`,path:n}),A(e,n,void 0,globalThis.fetch,h).then(async e=>{if(m.record({kind:`board-fetch-response`,path:n,status:e.status,cache:et(e.headers)}),!e.ok)throw Error(`Board configuration returned ${e.status}`);try{return await e.json()}catch(e){throw m.record({kind:`board-fetch-parse-failure`,path:n,message:Ei(e)}),new Di(e)}}).then(r=>{if(!t){c(r),f(e.board);let t=Array.isArray(r.panels)?r.panels:[];m.record({kind:`board-fetch-response`,path:n,boardSummary:{panelCount:t.length,panelIds:t.flatMap(e=>typeof e.id==`string`?[e.id]:[])}})}}).catch(r=>{r instanceof Di||m.record({kind:`board-fetch-failure`,path:n,message:Ei(r)}),t||(c({panels:[]}),f(e.board))}),()=>{t=!0}},[h,m,e]),d(`div`,{className:`${O.board} ${S?O[`attention-${S}`]:``}`,"data-attention-treatment":S,"data-attention-active":x.length||void 0,children:[d(`header`,{className:O.header,children:[u(`h1`,{className:O.title,children:e.board}),x.length>0&&d(`aside`,{className:O.attentionRail,role:`alert`,"aria-label":`Important panel attention`,children:[u(`span`,{className:O.attentionGlyph,"aria-hidden":`true`,children:`⚠`}),u(`ul`,{children:x.map(e=>u(`li`,{children:d(`a`,{href:`#panel-${e.panelId}`,children:[u(`strong`,{children:e.label}),`: `,e.reason]})},`${e.panelId}-${e.factId??`panel`}-${e.reason}`))})]})]}),d(`main`,{className:O.grid,children:[!s&&u(ut,{label:`board`,hint:`Loading configuration…`,wide:!0}),s?.panels.filter(e=>!D(e.position)).map(e=>u(Sr,{panel:e,envelope:g[e.id],attentionActive:C.has(e.id),updateHealth:_[e.id],facts:v[e.id]},e.id))]}),d(`footer`,{className:O.footer,"data-board-footer":!0,children:[u(`span`,{children:`Signals are read live from their configured authorities.`}),d(`div`,{className:O.footerTools,children:[b&&b.issues.length>0&&u(wi,{board:e.board,layout:b,env:e,auth:h}),u(ze,{log:m,updateActivity:()=>{let e=m.retainedEvidence(),t=wr({schedules:y,...e});return{capturedAt:t.capturedAt,window:t.window,schedules:t.schedules}}}),u(Ar,{board:s,schedules:y,log:m})]})]})]})}function wi({board:e,layout:t,env:n,auth:i}){let[a,s]=o(!1),c=`layout-warning-${e}`;r(()=>{if(!a)return;let e=e=>{e.key===`Escape`&&s(!1)};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[a]);let l=`${n.proxyPath}/boards/${encodeURIComponent(e)}`;return d(`div`,{className:O.layoutWarning,"data-layout-warning":!0,children:[d(`button`,{className:O.layoutWarningButton,type:`button`,"aria-label":`Layout warnings (${t.issues.length})`,"aria-expanded":a,"aria-controls":c,onClick:()=>s(!a),children:[u(`span`,{"aria-hidden":`true`,children:`⚠`}),u(`span`,{children:t.issues.length})]}),a&&d(`aside`,{className:O.layoutWarningDialog,id:c,role:`dialog`,"aria-labelledby":`${c}-title`,"aria-modal":`false`,children:[d(`div`,{className:O.layoutWarningHeading,children:[u(`strong`,{id:`${c}-title`,children:`Layout warnings`}),u(`button`,{className:O.layoutWarningClose,type:`button`,"aria-label":`Close layout warnings`,onClick:()=>s(!1),children:`×`})]}),d(`p`,{children:[t.issues.length,` layout issue`,t.issues.length===1?``:`s`,` detected against the intended 12×12 space. The live board is unchanged: explicit overlaps remain overlapped and overflow continues in implicit rows.`]}),u(`ul`,{children:t.issues.map(e=>d(`li`,{children:[u(`strong`,{children:e.panelId}),`: `,e.kind,` at (`,e.position.x,`,`,` `,e.position.y,`), `,e.position.w,`×`,e.position.h,e.conflictsWith.length?`; overlaps ${e.conflictsWith.join(`, `)}`:``]},`${e.panelId}-${e.kind}`))}),d(`div`,{className:O.layoutWarningDownloads,children:[u(`button`,{type:`button`,onClick:()=>void Ti(n,`${l}/rendered`,i),children:`Download legal rendered layout`}),u(`button`,{type:`button`,onClick:()=>void Ti(n,`${l}/authored`,i),children:`Download authored layout`})]}),u(`p`,{className:O.layoutWarningNote,children:`The legal rendered layout normalizes the currently visible explicit area into 12×12 and makes the smallest deterministic adjustments needed to avoid collisions. The authored layout preserves the original coordinates exactly.`})]})]})}async function Ti(e,t,n){let r=await A(e,t,void 0,globalThis.fetch,n);if(!r.ok)throw Error(`Layout download returned ${r.status}`);let i=document.createElement(`a`);i.href=URL.createObjectURL(await r.blob()),i.download=r.headers.get(`content-disposition`)?.match(/filename="([^"]+)"/)?.[1]??`layout.yaml`,i.click(),URL.revokeObjectURL(i.href)}function Ei(e){return e instanceof Error?e.message:String(e)}var Di=class extends Error{constructor(e){super(Ei(e))}},Oi={error:`_error_yx1g9_1`};function ki({message:e}){return d(`div`,{className:Oi.error,role:`alert`,children:[u(`h1`,{children:`⚠️ Dashboard misconfigured`}),u(`p`,{children:`The page loaded, but the server did not hand it usable configuration.`}),u(`pre`,{children:e})]})}var Ai=document.getElementById(`root`);if(!Ai)throw Error(`No #root element in the document — the template is not the one we expect.`);var ji=c(Ai);try{ji.render(u(t,{children:u(Si,{env:he()})}))}catch(e){ji.render(u(ki,{message:e instanceof Error?e.message:String(e)}))}
3
+ //# sourceMappingURL=index-B53iEZvu.js.map