From 23bd8944d4687c7ca90e2828c95c3fabcae71df3 Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Tue, 26 May 2026 17:11:39 +0000 Subject: [PATCH 1/8] Polish web UI for release-quality UX and discoverability Set per-route document titles, sync theme-color with light/dark, add Open Graph meta and clearer sidebar landmark text. Refine controls (touch-friendly buttons/inputs), layered card shadows, and striped data tables. Extend Playwright coverage for titles and theme-color. Co-authored-by: Gottam Sai Bharath --- .../server/static/assets/index-6svobYoa.css | 1 + .../server/static/assets/index-CfaduCNo.js | 11 +++++++ .../server/static/assets/index-Cmx_W8JU.js | 11 ------- .../server/static/assets/index-DrCTr-qj.css | 1 - src/flightdeck/server/static/index.html | 11 +++++-- web/e2e/smoke.spec.ts | 13 ++++++++ web/e2e/theme.spec.ts | 2 ++ web/index.html | 7 ++++ web/src/components/AppShell.tsx | 2 +- web/src/index.css | 32 +++++++++++++++++-- web/src/pages/ActionsPage.tsx | 4 ++- web/src/pages/DiffPage.tsx | 2 ++ web/src/pages/OverviewPage.tsx | 8 +++-- web/src/pages/RunsPage.tsx | 6 ++-- web/src/pages/SettingsPage.tsx | 2 ++ web/src/themeStorage.ts | 12 +++++++ web/src/useDocumentTitle.ts | 13 ++++++++ 17 files changed, 114 insertions(+), 24 deletions(-) create mode 100644 src/flightdeck/server/static/assets/index-6svobYoa.css create mode 100644 src/flightdeck/server/static/assets/index-CfaduCNo.js delete mode 100644 src/flightdeck/server/static/assets/index-Cmx_W8JU.js delete mode 100644 src/flightdeck/server/static/assets/index-DrCTr-qj.css create mode 100644 web/src/useDocumentTitle.ts diff --git a/src/flightdeck/server/static/assets/index-6svobYoa.css b/src/flightdeck/server/static/assets/index-6svobYoa.css new file mode 100644 index 0000000..c84e231 --- /dev/null +++ b/src/flightdeck/server/static/assets/index-6svobYoa.css @@ -0,0 +1 @@ +:root{color-scheme:light;--fd-gradient-start: #0891b2;--fd-gradient-end: #7c3aed;--fd-accent-gradient: linear-gradient(135deg, var(--fd-gradient-start), var(--fd-gradient-end));--fd-bg: #f3f4f6;--fd-surface: #ffffff;--fd-surface-2: #f8f9fb;--fd-surface-elevated: #ffffff;--fd-border: #dfe3e8;--fd-border-strong: #c4c9d1;--fd-text: #171a1f;--fd-muted: #525a63;--fd-accent: #0d6efd;--fd-accent-hover: #0b5ed7;--fd-nav-active-indicator: var(--fd-gradient-start);--fd-on-accent: #ffffff;--fd-pass-bg: #e8f5e9;--fd-pass-fg: #1b5e20;--fd-fail-bg: #ffebee;--fd-fail-fg: #b71c1c;--fd-fail-border: rgba(183, 28, 28, .25);--fd-warn-bg: #fff8e1;--fd-warn-fg: #6d4c00;--fd-warn-border: rgba(180, 140, 0, .28);--fd-info-bg: #e7f1ff;--fd-info-fg: #0d3a66;--fd-info-border: rgba(13, 110, 253, .2);--fd-danger-border: rgba(183, 28, 28, .45);--fd-danger-border-hover: rgba(183, 28, 28, .55);--fd-danger-fg: #8b1a1a;--fd-danger-bg: rgba(183, 28, 28, .06);--fd-danger-bg-hover: rgba(183, 28, 28, .12);--fd-code-bg: #0d1117;--fd-code-fg: #e6edf3;--fd-backdrop-scrim: rgba(15, 23, 42, .45);--fd-drawer-shadow: -4px 0 24px rgba(15, 23, 42, .12);--fd-sidebar-edge: rgba(15, 23, 42, .04);--fd-input-focus-glow: rgba(13, 110, 253, .28);--fd-checkbox-focus-ring: rgba(13, 110, 253, .5);--fd-radius: 10px;--fd-radius-sm: 6px;--fd-shadow: 0 1px 2px rgba(15, 23, 42, .05), 0 1px 3px rgba(15, 23, 42, .08);--fd-font: system-ui, "Segoe UI Variable", "Segoe UI", -apple-system, BlinkMacSystemFont, Roboto, "Helvetica Neue", Arial, sans-serif;--fd-mono: ui-monospace, "Cascadia Code", "Consolas", monospace;--fd-focus-ring: 0 0 0 2px var(--fd-surface), 0 0 0 4px rgba(13, 110, 253, .45);--fd-type-page-title: 1.5rem;--fd-type-page-title--lh: 1.22;--fd-type-page-sub: .9375rem;--fd-type-page-sub--lh: 1.45;--fd-type-card-title: 1.0625rem;--fd-type-card-title--lh: 1.3;--fd-type-table: .875rem;--fd-type-table--lh: 1.45;--fd-type-table-head: .75rem;--fd-sidebar-width-expanded: 15.75rem;--fd-sidebar-width-collapsed: 4.5rem;--fd-sidebar-width: var(--fd-sidebar-width-expanded);font-family:var(--fd-font);line-height:1.5;color:var(--fd-text);background:var(--fd-bg)}html[data-theme=dark]{color-scheme:dark;--fd-gradient-start: #22d3ee;--fd-gradient-end: #a855f7;--fd-accent-gradient: linear-gradient(135deg, var(--fd-gradient-start), var(--fd-gradient-end));--fd-bg: #0c0f14;--fd-surface: #161b22;--fd-surface-2: #1c232d;--fd-surface-elevated: #21262d;--fd-border: #30363d;--fd-border-strong: #484f58;--fd-text: #e6edf3;--fd-muted: #8b949e;--fd-accent: #38bdf8;--fd-accent-hover: #7dd3fc;--fd-nav-active-indicator: var(--fd-gradient-start);--fd-on-accent: #0a0e14;--fd-pass-bg: rgba(34, 197, 94, .15);--fd-pass-fg: #4ade80;--fd-fail-bg: rgba(248, 113, 113, .12);--fd-fail-fg: #fca5a5;--fd-fail-border: rgba(248, 113, 113, .35);--fd-warn-bg: rgba(251, 191, 36, .12);--fd-warn-fg: #fcd34d;--fd-warn-border: rgba(251, 191, 36, .35);--fd-info-bg: rgba(56, 189, 248, .12);--fd-info-fg: #7dd3fc;--fd-info-border: rgba(56, 189, 248, .35);--fd-danger-border: rgba(248, 113, 113, .45);--fd-danger-border-hover: rgba(248, 113, 113, .65);--fd-danger-fg: #fecaca;--fd-danger-bg: rgba(248, 113, 113, .1);--fd-danger-bg-hover: rgba(248, 113, 113, .18);--fd-code-bg: #010409;--fd-code-fg: #e6edf3;--fd-backdrop-scrim: rgba(0, 0, 0, .55);--fd-drawer-shadow: -4px 0 28px rgba(0, 0, 0, .45);--fd-sidebar-edge: rgba(255, 255, 255, .06);--fd-input-focus-glow: rgba(34, 211, 238, .35);--fd-checkbox-focus-ring: rgba(34, 211, 238, .55);--fd-shadow: 0 1px 2px rgba(0, 0, 0, .28), 0 1px 3px rgba(0, 0, 0, .22);--fd-focus-ring: 0 0 0 2px var(--fd-surface), 0 0 0 4px rgba(34, 211, 238, .45)}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-height:100vh}.fd-shell{position:relative;min-height:100vh;display:flex;flex-direction:row;align-items:stretch}.fd-sidebar{position:sticky;top:0;align-self:flex-start;flex:0 0 var(--fd-sidebar-width);width:var(--fd-sidebar-width);max-width:100%;height:100vh;max-height:100vh;overflow-x:hidden;overflow-y:auto;display:flex;flex-direction:column;gap:1rem;padding:1rem .65rem 1.25rem;background:var(--fd-surface);border-right:1px solid var(--fd-border);box-shadow:1px 0 0 var(--fd-sidebar-edge);transition:width .2s ease,flex-basis .2s ease,padding .2s ease}.fd-sidebar--collapsed{--fd-sidebar-width: var(--fd-sidebar-width-collapsed);padding-inline:.4rem}@media(prefers-reduced-motion:reduce){.fd-sidebar{transition:none}}.fd-sidebar__head{display:flex;flex-direction:row;align-items:flex-start;gap:.35rem;min-width:0}.fd-sidebar--collapsed .fd-sidebar__head{flex-direction:column;align-items:stretch}.fd-sidebar__collapse{display:inline-flex;align-items:center;justify-content:center;width:2.35rem;height:2.35rem;padding:0;flex-shrink:0;border-radius:10px;border:1px solid var(--fd-border);background:var(--fd-surface-2);color:var(--fd-muted);cursor:pointer;font:inherit}.fd-sidebar__collapse:hover{background:var(--fd-bg);color:var(--fd-text);border-color:var(--fd-border-strong)}.fd-sidebar__collapse:focus{outline:none}.fd-sidebar__collapse:focus-visible{box-shadow:var(--fd-focus-ring)}.fd-sidebar--collapsed .fd-sidebar__collapse{width:100%;margin-bottom:.2rem}.fd-sidebar__brand{flex:1;min-width:0;padding:0 .15rem}.fd-sidebar__brand-top{display:flex;align-items:center;gap:.65rem;min-width:0}.fd-sidebar--collapsed .fd-sidebar__brand-top{flex-direction:column;align-items:center;gap:.45rem}.fd-sidebar__logo-wrap{display:flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;flex-shrink:0;overflow:hidden;border-radius:12px;background:var(--fd-surface);box-shadow:inset 0 1px #ffffff0f,0 0 0 1px var(--fd-border)}html[data-theme=dark] .fd-sidebar__logo-wrap{box-shadow:inset 0 1px #ffffff0a,0 0 0 1px var(--fd-border)}.fd-sidebar__logo{display:block;flex-shrink:0;width:100%;height:100%;object-fit:cover;object-position:center}.fd-sidebar__title{margin:0;font-size:1.125rem;font-weight:750;letter-spacing:-.03em;line-height:1.15;min-width:0}.fd-sidebar__title-text{display:inline;color:var(--fd-text)}.fd-sidebar--collapsed .fd-sidebar__title{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.fd-sidebar__tagline{margin:.35rem 0 0;font-size:.75rem;line-height:1.35;color:var(--fd-muted)}.fd-sidebar--collapsed .fd-sidebar__tagline{display:none}.fd-sidebar__nav-stack{display:flex;flex-direction:column;flex:1;min-height:0;gap:.25rem}.fd-sidebar__nav--primary{flex:1;min-height:0;display:flex;flex-direction:column;gap:.15rem}.fd-sidebar__nav--footer{flex-shrink:0;display:flex;flex-direction:column;gap:.15rem;padding-top:.65rem;margin-top:auto;border-top:1px solid var(--fd-border)}.fd-nav__glyph{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:1.45rem;height:1.45rem;color:var(--fd-muted)}.fd-nav__link:hover .fd-nav__glyph,.fd-nav__link--active .fd-nav__glyph{color:var(--fd-text)}.fd-nav__label{flex:1;min-width:0;font-size:.9rem;font-weight:500;letter-spacing:-.01em}.fd-sidebar--collapsed .fd-nav__label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.fd-theme-toggle{margin:0;padding:0;border:none;min-width:0}.fd-theme-toggle__legend{padding:0;margin:0 0 .4rem;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--fd-muted)}.fd-theme-toggle__options{display:flex;flex-direction:column;gap:.2rem}.fd-theme-toggle__label{display:flex;align-items:center;gap:.45rem;font-size:.82rem;font-weight:500;color:var(--fd-text);cursor:pointer;-webkit-user-select:none;user-select:none;padding:.28rem .15rem;border-radius:var(--fd-radius-sm)}.fd-theme-toggle__label:hover{background:var(--fd-surface-2)}.fd-theme-toggle__input{width:.95rem;height:.95rem;margin:0;flex-shrink:0;accent-color:var(--fd-accent)}.fd-theme-toggle__text{line-height:1.3}.fd-theme-toggle--settings .fd-theme-toggle__legend{font-size:.75rem;margin-bottom:.65rem}.fd-theme-toggle--settings .fd-theme-toggle__options{flex-direction:row;flex-wrap:wrap;gap:.5rem .75rem}.fd-theme-toggle--settings .fd-theme-toggle__label{padding:.45rem .75rem;border:1px solid var(--fd-border);border-radius:var(--fd-radius-sm);background:var(--fd-surface-2)}.fd-theme-toggle--settings .fd-theme-toggle__label:hover{background:var(--fd-surface-elevated)}.fd-theme-toggle--settings .fd-theme-toggle__label:has(.fd-theme-toggle__input:checked){border-color:var(--fd-gradient-start);background:var(--fd-surface);box-shadow:0 0 0 1px #0891b259}html[data-theme=dark] .fd-theme-toggle--settings .fd-theme-toggle__label:has(.fd-theme-toggle__input:checked){box-shadow:0 0 0 1px #22d3ee66}.fd-settings-appearance{margin-top:.35rem}.fd-shell__content{flex:1;min-width:0;display:flex;flex-direction:column;background:var(--fd-bg)}.fd-nav__link{position:relative;display:flex;flex-direction:row;align-items:center;gap:.65rem;width:100%;padding:.52rem .7rem;border-radius:10px;color:var(--fd-muted);text-decoration:none;border:1px solid transparent}@media(prefers-reduced-motion:no-preference){.fd-nav__link{transition:background .14s ease,color .14s ease,border-color .14s ease,box-shadow .14s ease}}.fd-nav__link:hover{color:var(--fd-text);background:var(--fd-surface-2);border-color:transparent}.fd-nav__link:focus{outline:none}.fd-nav__link:focus-visible{box-shadow:var(--fd-focus-ring)}.fd-nav__link--active{color:var(--fd-text);background:var(--fd-surface-2);border-color:transparent;box-shadow:inset 3px 0 0 0 var(--fd-nav-active-indicator)}.fd-sidebar--collapsed .fd-nav__link{justify-content:center;gap:0;padding:.55rem .35rem}.fd-main{flex:1;width:100%;max-width:min(72rem,calc(100vw - var(--fd-sidebar-width) - 2rem));margin:0 auto;padding:1.5rem 1.35rem 2.75rem;outline:none}.fd-page-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.85rem 1rem;margin-bottom:1.05rem;padding-bottom:1rem;border-bottom:1px solid color-mix(in srgb,var(--fd-border) 82%,var(--fd-bg))}.fd-page-title{margin:0;font-size:var(--fd-type-page-title);line-height:var(--fd-type-page-title--lh);font-weight:650;letter-spacing:-.015em;text-decoration:none}.fd-page-title--brand{color:var(--fd-text);font-weight:750}.fd-page-sub{margin:.4rem 0 0;max-width:min(52ch,100%);font-size:var(--fd-type-page-sub);line-height:var(--fd-type-page-sub--lh);color:var(--fd-muted)}.fd-page-sub--tight{margin-top:.35rem}.fd-page-sub--meta{margin-top:.45rem;font-size:.875rem;line-height:1.42;max-width:min(56ch,100%)}.fd-page-head>div:first-child{max-width:min(56rem,100%)}.fd-page-sub a{color:var(--fd-accent);font-weight:600;text-decoration:none}.fd-page-sub a:hover{color:var(--fd-accent-hover);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.14em}.fd-lifecycle-strip{margin:0 0 1.2rem;padding:.85rem 1rem .95rem;background:var(--fd-surface-2);border:1px solid var(--fd-border);border-radius:var(--fd-radius);box-shadow:var(--fd-shadow)}.fd-lifecycle-strip__intro{margin:0 0 .65rem;font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--fd-muted)}.fd-lifecycle-strip__list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:flex-start;gap:.55rem .95rem}.fd-lifecycle-strip__step{display:flex;flex-wrap:nowrap;align-items:flex-start;gap:.55rem}.fd-lifecycle-strip__arrow{flex-shrink:0;font-size:.72rem;color:var(--fd-muted);line-height:1.35;margin-top:.28rem;-webkit-user-select:none;user-select:none}.fd-lifecycle-strip__link{display:inline-flex;flex-direction:column;align-items:flex-start;gap:.1rem;min-width:0;padding:.2rem .35rem .25rem;margin:-.2rem -.35rem;border-radius:var(--fd-radius-sm);text-decoration:none;color:inherit;border:1px solid transparent;transition:border-color .12s ease,background .12s ease}.fd-lifecycle-strip__link:hover{background:color-mix(in srgb,var(--fd-accent) 8%,transparent);border-color:var(--fd-border)}.fd-lifecycle-strip__link:focus{outline:none}.fd-lifecycle-strip__link:focus-visible{box-shadow:var(--fd-focus-ring)}.fd-lifecycle-strip__link--static{cursor:default;opacity:.72}.fd-lifecycle-strip__link--static:hover{background:transparent;border-color:transparent}.fd-lifecycle-strip__label{font-size:.8125rem;font-weight:650;letter-spacing:-.01em;line-height:1.2}.fd-lifecycle-strip__hint{font-size:.68rem;color:var(--fd-muted);line-height:1.25;max-width:11rem}.fd-lifecycle-strip__note{margin:.75rem 0 0;padding-top:.65rem;border-top:1px solid var(--fd-border);font-size:.78rem;line-height:1.45;color:var(--fd-muted);max-width:72ch}.fd-card{background:var(--fd-surface);border:1px solid var(--fd-border);border-radius:var(--fd-radius);padding:1.15rem 1.25rem;margin-bottom:1.125rem;box-shadow:var(--fd-shadow)}.fd-card__head{margin-bottom:.8rem}.fd-card__head--row{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.75rem 1rem}.fd-card__head--row>.fd-btn{flex-shrink:0;align-self:flex-start}.fd-card__title{margin:0;font-size:var(--fd-type-card-title);line-height:var(--fd-type-card-title--lh);font-weight:600;letter-spacing:-.01em}.fd-card__subtitle{margin:0 0 .5rem;font-size:1rem;font-weight:600}.fd-card__desc{margin:.35rem 0 0;font-size:.85rem;color:var(--fd-muted)}.fd-table-wrap{overflow-x:auto;margin:0 -.15rem;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;scrollbar-gutter:stable}.fd-table{width:100%;border-collapse:collapse;font-size:var(--fd-type-table);line-height:var(--fd-type-table--lh)}.fd-table th,.fd-table td{text-align:left;padding:.55rem .65rem;border-bottom:1px solid var(--fd-border);vertical-align:top}.fd-table th{font-weight:600;color:var(--fd-muted);font-size:var(--fd-type-table-head);text-transform:uppercase;letter-spacing:.045em}.fd-table tbody tr:last-child td{border-bottom:none}.fd-table--hover tbody tr:hover td{background:color-mix(in srgb,var(--fd-surface-2) 88%,var(--fd-accent) 12%)}@media(prefers-reduced-motion:no-preference){.fd-table--hover tbody tr:hover td{transition:background .12s ease}}.fd-table--striped tbody tr:nth-child(2n) td{background:color-mix(in srgb,var(--fd-surface-2) 65%,var(--fd-surface))}@media(prefers-reduced-motion:no-preference){.fd-table--striped tbody tr:nth-child(2n) td{transition:background .12s ease}}.fd-table--striped.fd-table--hover tbody tr:hover td{background:color-mix(in srgb,var(--fd-surface-2) 88%,var(--fd-accent) 12%)}@media(prefers-reduced-motion:no-preference){.fd-table--striped.fd-table--hover tbody tr:hover td{transition:background .12s ease}}.fd-th-narrow{width:4.5rem}.fd-table-toolbar{padding:0 0 .65rem;margin:0 0 .25rem;border-bottom:1px solid var(--fd-border)}.fd-filter-row{display:flex;flex-wrap:wrap;gap:.65rem 1rem;align-items:flex-end}.fd-field--compact{min-width:10rem}.fd-field--compact .fd-field__label{font-size:.72rem}.fd-cell-stack{display:flex;flex-direction:column;gap:.25rem;align-items:flex-start}.fd-cell-stack__main{font-size:.9rem;color:var(--fd-text)}.fd-cell-stack__sub{font-size:.78rem;color:var(--fd-muted)}.fd-cell-inline{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .5rem}.fd-copy-btn{padding:.2rem .45rem;font-size:.75rem;min-height:0}.fd-card--collapse{padding-bottom:.35rem}.fd-collapse-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem .75rem;width:100%;padding:.65rem .85rem;margin:0;border:none;border-radius:var(--fd-radius-sm);background:var(--fd-surface-2);font:inherit;text-align:left;cursor:pointer;color:var(--fd-text)}.fd-collapse-head:hover{background:color-mix(in srgb,var(--fd-surface-2) 92%,var(--fd-border) 8%)}.fd-collapse-head:focus-visible{outline:none;box-shadow:var(--fd-focus-ring)}.fd-collapse-head__chevron{flex-shrink:0;width:1rem;color:var(--fd-muted)}.fd-collapse-head__title{font-weight:650;font-size:var(--fd-type-card-title)}.fd-collapse-head__hint{flex:1 1 12rem;font-size:.78rem;color:var(--fd-muted)}.fd-collapse-body{padding:0 .85rem .85rem}.fd-metric-meta{margin:0 0 .75rem}.fd-release-hero__primary{color:var(--fd-text)}.fd-release-hero__env{font-weight:500;color:var(--fd-muted)}.fd-diff-pricing-inline{display:flex;flex-wrap:wrap;align-items:flex-start;gap:.35rem .75rem}.fd-diff-pricing-inline__summary{flex:1 1 14rem}.fd-diff-detail-toggle{flex-shrink:0;margin-left:auto}.fd-mx-xs{margin-left:.25rem;margin-right:.25rem}@media(max-width:36rem){.fd-diff-detail-toggle{margin-left:0}}.fd-mono{font-family:var(--fd-mono);font-size:.82rem}.fd-mono--sm{font-size:.78rem}code.fd-mono,code.fd-mono--sm{text-decoration:none}.fd-nowrap{white-space:nowrap}.fd-reason{max-width:18rem;word-break:break-word}.fd-empty{margin:0;padding:.75rem 0;color:var(--fd-muted);font-size:.9rem}.fd-empty-cell{padding:.85rem .65rem;color:var(--fd-muted);font-size:.9rem;font-style:italic}.fd-muted{color:var(--fd-muted);font-size:.9rem}.fd-samples{margin:.5rem 0 1rem}.fd-badge{display:inline-block;padding:.15rem .45rem;border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.04em}.fd-badge--pass{background:var(--fd-pass-bg);color:var(--fd-pass-fg)}.fd-badge--fail{background:var(--fd-fail-bg);color:var(--fd-fail-fg)}.fd-badge--neutral{background:var(--fd-surface-2);color:var(--fd-muted)}.fd-badge--warn{background:var(--fd-warn-bg);color:var(--fd-warn-fg)}.fd-btn{font:inherit;cursor:pointer;border-radius:var(--fd-radius-sm);border:1px solid var(--fd-border-strong);background:var(--fd-surface);color:var(--fd-text);padding:.45rem .95rem;font-size:.9rem;font-weight:500;min-height:2.25rem;display:inline-flex;align-items:center;justify-content:center;gap:.35rem}@media(prefers-reduced-motion:no-preference){.fd-btn{transition:background .12s ease,border-color .12s ease,color .12s ease}}.fd-btn:focus{outline:none}.fd-btn:focus-visible{box-shadow:var(--fd-focus-ring)}.fd-btn:hover:not(:disabled){background:var(--fd-surface-2)}.fd-btn:disabled{opacity:.55;cursor:not-allowed}.fd-btn--primary{background-color:var(--fd-accent);border-color:color-mix(in srgb,var(--fd-accent) 65%,var(--fd-border-strong));color:var(--fd-on-accent)}.fd-btn--primary:hover:not(:disabled){background-color:var(--fd-accent-hover);filter:none}.fd-btn--primary:active:not(:disabled){filter:brightness(.94)}@media(prefers-reduced-motion:reduce){.fd-btn--primary:hover:not(:disabled),.fd-btn--primary:active:not(:disabled){filter:none}}.fd-btn--primary:focus-visible{box-shadow:var(--fd-focus-ring)}.fd-btn--ghost{background:transparent}.fd-btn--danger{border-color:var(--fd-danger-border);color:var(--fd-danger-fg);background:var(--fd-danger-bg)}.fd-btn--danger:hover:not(:disabled){background:var(--fd-danger-bg-hover);border-color:var(--fd-danger-border-hover)}.fd-form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));gap:.85rem 1rem}.fd-field{display:flex;flex-direction:column;gap:.3rem}.fd-field--full{grid-column:1 / -1}.fd-field__label{font-size:.8rem;font-weight:600;color:var(--fd-muted)}.fd-input{font:inherit;padding:.45rem .55rem;border:1px solid var(--fd-border-strong);border-radius:var(--fd-radius-sm);background:var(--fd-surface);color:var(--fd-text);min-height:2.25rem}@media(prefers-reduced-motion:no-preference){.fd-input{transition:border-color .12s ease,box-shadow .12s ease}}.fd-input:focus{outline:none}.fd-input:focus-visible{border-color:var(--fd-accent);box-shadow:0 0 0 1px var(--fd-surface),0 0 0 3px var(--fd-input-focus-glow)}.fd-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.fd-actions--align-center{align-items:center}.fd-grow-soft{flex:1 1 12rem;min-width:0}.fd-alert{padding:.65rem .85rem;margin:0 0 1rem;border-radius:var(--fd-radius-sm);font-size:.9rem}.fd-alert--error{background:var(--fd-fail-bg);color:var(--fd-fail-fg);border:1px solid var(--fd-fail-border)}.fd-alert--info{background:var(--fd-info-bg);color:var(--fd-info-fg);border:1px solid var(--fd-info-border)}.fd-alert--info,.fd-alert--info code{text-decoration:none}.fd-alert--warn{background:var(--fd-warn-bg);color:var(--fd-warn-fg);border:1px solid var(--fd-warn-border)}.fd-verdict-banner{margin:0 0 1rem;padding:.85rem 1rem;border-radius:var(--fd-radius);border:1px solid var(--fd-border-strong);font-size:.9375rem;line-height:1.45}.fd-verdict-banner__title{display:block;margin:0 0 .35rem;font-size:1rem;font-weight:650;letter-spacing:.01em}.fd-verdict-banner__reasons{margin:.5rem 0 0;padding-left:1.15rem}.fd-verdict-banner__reasons li{margin:.2em 0}.fd-verdict-banner--pass{background:var(--fd-pass-bg);color:var(--fd-pass-fg);border-color:var(--fd-pass-fg)}.fd-verdict-banner--fail{background:var(--fd-fail-bg);color:var(--fd-fail-fg);border-color:var(--fd-fail-border)}.fd-diff-twin{margin-bottom:1rem;padding:1rem 1.15rem;border-radius:var(--fd-radius);border:1px solid var(--fd-border-strong);background:var(--fd-surface-2)}.fd-diff-twin__meta{margin:0 0 .65rem}.fd-diff-twin__grid{display:grid;grid-template-columns:1fr auto 1fr;gap:.65rem .85rem;align-items:start}@media(max-width:40rem){.fd-diff-twin__grid{grid-template-columns:1fr}.fd-diff-twin__arrow{justify-self:center;transform:rotate(90deg);padding:.15rem 0}}.fd-diff-twin__col{min-width:0}.fd-diff-twin__label{display:block;font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--fd-muted);margin-bottom:.35rem}.fd-diff-twin__id{display:block;font-size:.82rem;word-break:break-all;line-height:1.35}.fd-diff-twin__detail{font-size:.8rem;line-height:1.4}.fd-diff-twin__arrow{padding-top:1.85rem;font-size:1.25rem;color:var(--fd-muted);text-align:center}.fd-diff-block-strip{margin:0 0 .65rem;padding:.55rem .85rem;border-radius:var(--fd-radius-sm);border:1px solid var(--fd-fail-border);background:var(--fd-fail-bg);color:var(--fd-fail-fg);font-size:.9rem;line-height:1.45}.fd-diff-verdict-strip{margin:0 0 .85rem;padding:.5rem .85rem;border-radius:var(--fd-radius-sm);font-size:.88rem;font-weight:600;letter-spacing:.02em}.fd-diff-verdict-strip--pass{border:1px solid color-mix(in srgb,var(--fd-pass-fg) 35%,var(--fd-border));background:var(--fd-pass-bg);color:var(--fd-pass-fg)}.fd-diff-verdict-strip--fail{border:1px solid var(--fd-fail-border);background:color-mix(in srgb,var(--fd-fail-bg) 92%,var(--fd-fail-fg));color:var(--fd-fail-fg)}.fd-policy-panel .fd-card__head{margin-bottom:.5rem}.fd-decision-card .fd-card__head{margin-bottom:0}.fd-release-hero{margin-bottom:1rem;padding:1rem 1.1rem;border-radius:var(--fd-radius);border:1px solid var(--fd-border-strong);background:var(--fd-surface-2)}.fd-release-hero__title{margin:0 0 .35rem;font-size:1.0625rem;font-weight:650}.fd-release-hero__meta{margin:0;font-size:.875rem;color:var(--fd-muted)}.fd-release-hero__actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.fd-release-hero__actions .fd-btn{text-decoration:none}.fd-table-actions{display:flex;flex-wrap:wrap;gap:.35rem .65rem;font-size:.8125rem}.fd-table-actions a{white-space:nowrap}.fd-security-strip{flex-shrink:0;padding:.5rem 1.25rem 0;margin-top:0}.fd-security-strip__msg{margin:0;text-decoration:none}.fd-security-strip__msg *{text-decoration:none}.fd-json-panel{margin-top:.5rem}.fd-json-panel__toggle{font:inherit;display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .5rem;margin:0;border:none;background:transparent;color:var(--fd-accent);cursor:pointer;font-size:.88rem;font-weight:500}.fd-json-panel__toggle:hover{text-decoration:underline}.fd-json-panel__toggle:focus{outline:none}.fd-json-panel__toggle:focus-visible{border-radius:var(--fd-radius-sm);box-shadow:var(--fd-focus-ring)}.fd-json-panel__chevron{font-size:.7rem;opacity:.85}.fd-json-panel__pre{margin:.5rem 0 0;padding:.85rem .9rem;border-radius:var(--fd-radius-sm);border:1px solid var(--fd-border);background:var(--fd-code-bg);color:var(--fd-code-fg);font-family:var(--fd-mono);font-size:.8rem;line-height:1.5;overflow-x:auto;white-space:pre-wrap;word-break:break-word}.fd-metric-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:1rem}.fd-metric{padding:.75rem;border:1px solid var(--fd-border);border-radius:var(--fd-radius-sm);background:var(--fd-surface-2)}.fd-metric__label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--fd-muted);margin-bottom:.45rem}.fd-metric__row{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .5rem;font-size:.88rem}.fd-metric__bc{display:inline-flex;align-items:center;flex-wrap:wrap;gap:.35rem .5rem;font-size:1.2rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--fd-text);line-height:1.25}.fd-metric__tag{display:inline-block;min-width:1.25rem;text-align:center;font-size:.68rem;font-weight:700;border-radius:4px;background:var(--fd-border);color:var(--fd-muted)}.fd-metric__arrow{color:var(--fd-muted)}.fd-metric__delta{margin-top:.4rem;font-size:.82rem;color:var(--fd-muted)}.fd-metric__hint{margin:.5rem 0 0;font-size:.78rem;line-height:1.45;color:var(--fd-muted);font-weight:400;text-transform:none;letter-spacing:normal;word-break:break-word;overflow-wrap:anywhere}.fd-checkbox-label{display:inline-flex;align-items:center;gap:.45rem;font-size:.88rem;color:var(--fd-text);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.fd-checkbox-label input{width:1rem;height:1rem;accent-color:var(--fd-accent)}.fd-checkbox-label input:focus{outline:none}.fd-checkbox-label input:focus-visible{outline:2px solid var(--fd-checkbox-focus-ring);outline-offset:3px}.fd-trace-groups{display:flex;flex-direction:column;gap:.65rem}.fd-trace-group{border:1px solid var(--fd-border);border-radius:var(--fd-radius-sm);background:var(--fd-surface);padding:.15rem .5rem .5rem}.fd-trace-group__summary{cursor:pointer;font-size:.9rem;padding:.45rem .35rem;list-style-position:outside;border-radius:var(--fd-radius-sm)}.fd-trace-group__summary:focus{outline:none}.fd-trace-group__summary:focus-visible{box-shadow:var(--fd-focus-ring)}.fd-trace-group__summary::-webkit-details-marker{color:var(--fd-muted)}.fd-trace-group .fd-table-wrap{margin:0 -.15rem}.fd-inline{margin-top:.25rem}.fd-reasons{margin:0 0 .75rem;padding-left:1.2rem;font-size:.88rem;color:var(--fd-text)}.fd-reasons li{margin-bottom:.25rem}.fd-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.fd-skip-link{position:absolute;left:.75rem;top:.55rem;z-index:200;padding:.45rem .75rem;font-size:.875rem;font-weight:600;font-family:inherit;line-height:1.3;color:var(--fd-text);background:var(--fd-surface);border:1px solid var(--fd-border-strong);border-radius:var(--fd-radius-sm);box-shadow:var(--fd-shadow);text-decoration:none;transform:translateY(-160%);opacity:0;pointer-events:none}.fd-skip-link:focus{outline:none}.fd-skip-link:focus-visible{transform:translateY(0);opacity:1;pointer-events:auto;box-shadow:var(--fd-focus-ring)}button.fd-skip-link{width:auto;text-align:left;font-family:inherit;cursor:pointer}@media(prefers-reduced-motion:reduce){.fd-skip-link{transition:none}}@media(prefers-reduced-motion:no-preference){.fd-skip-link{transition:transform .16s ease,opacity .16s ease}}.fd-btn--sm{padding:.28rem .55rem;font-size:.82rem}.fd-card--hint{background:var(--fd-surface-2);border-style:dashed}.fd-empty-state{padding:.5rem 0 1rem}.fd-empty-state__title{margin:0 0 .35rem;font-size:1rem;font-weight:650;color:var(--fd-text)}.fd-empty-state__body{margin:0;font-size:.9rem;color:var(--fd-muted);max-width:40rem;line-height:1.5}.fd-table__trace-sep td{padding-top:.85rem;padding-bottom:.35rem;font-size:.78rem;color:var(--fd-muted);border-bottom:1px solid var(--fd-border-strong);background:var(--fd-surface-2)}.fd-table__trace-sep-label{font-weight:700;text-transform:uppercase;letter-spacing:.05em;font-size:.68rem}.fd-dl{margin:0 0 1rem;display:grid;gap:.65rem 1rem}.fd-dl>div{display:grid;grid-template-columns:7rem 1fr;gap:.35rem .75rem;align-items:baseline}.fd-dl dt{margin:0;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--fd-muted)}.fd-dl dd{margin:0;min-width:0;word-break:break-word}.fd-drawer-root{position:fixed;inset:0;z-index:50;display:flex;justify-content:flex-end;align-items:stretch}.fd-drawer-backdrop{position:absolute;inset:0;border:none;padding:0;margin:0;background:var(--fd-backdrop-scrim);cursor:pointer}.fd-drawer{position:relative;width:min(28rem,100vw);max-width:100%;background:var(--fd-surface);border-left:1px solid var(--fd-border-strong);box-shadow:var(--fd-drawer-shadow);display:flex;flex-direction:column;min-height:0}.fd-drawer__head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.85rem 1rem;border-bottom:1px solid var(--fd-border);flex-shrink:0}.fd-drawer__title{margin:0;font-size:1rem;font-weight:650}.fd-drawer__body{padding:1rem;overflow:auto;flex:1;min-height:0}.fd-diff-stack{display:flex;flex-direction:column}.fd-diff-section{padding:.9rem 0;border-top:1px solid var(--fd-border)}.fd-diff-stack>.fd-diff-section:first-child{border-top:none;padding-top:0}.fd-diff-section__title{margin:0 0 .5rem;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--fd-muted)}.fd-diff-section__body{margin:0;font-size:.9rem;line-height:1.5}.fd-dl--inline dt{font-size:.75rem}.fd-dl--inline>div{grid-template-columns:9.5rem 1fr}.fd-loading-panel{padding:.5rem 0 1rem}.fd-skeleton{display:block;height:.82rem;max-width:100%;border-radius:4px;background:linear-gradient(90deg,var(--fd-surface-2) 0%,var(--fd-border) 45%,var(--fd-surface-2) 90%);background-size:200% 100%;animation:fd-skeleton-shimmer 1.1s ease-in-out infinite}.fd-skeleton--w40{width:40%}.fd-skeleton--w60{width:60%}.fd-skeleton--w75{width:75%}.fd-skeleton--mt{margin-top:.55rem}@keyframes fd-skeleton-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media(prefers-reduced-motion:reduce){.fd-skeleton{animation:none;background:var(--fd-surface-2)}}.fd-inline-nav{margin:.65rem 0 0;font-size:.85rem;color:var(--fd-muted)}.fd-inline-nav a{color:var(--fd-accent);font-weight:600;text-decoration:none}.fd-inline-nav a:hover{text-decoration:underline}.fd-m-0{margin:0}.fd-mt-sm{margin-top:.35rem}.fd-mt-md{margin-top:.5rem}.fd-mt-lg{margin-top:.65rem}.fd-mt-xl{margin-top:.75rem}.fd-mt-1{margin-top:1rem}.fd-ml-sm{margin-left:.35rem}.fd-ml-md{margin-left:.5rem}.fd-mb-md{margin-bottom:.65rem}.fd-muted-xs{font-size:.78rem;color:var(--fd-muted)}.fd-muted-inline{font-size:.85rem;color:var(--fd-muted)}.fd-muted-p{margin:.35rem 0 0;font-size:.88rem;color:var(--fd-muted)}.fd-flex-inline-gap{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.35rem}.fd-security-strip__loading-line{margin:0 0 .35rem}.fd-security-strip__skeleton{display:block;max-width:26rem}.fd-results-meta{margin:0;font-size:.88rem;color:var(--fd-muted)}.fd-block-mb-065{margin:0 0 .65rem}.fd-block-mt-065-mb-035{margin:.65rem 0 .35rem}.fd-mb-035{margin-bottom:.35rem}.fd-mt-0{margin-top:0}.fd-mb-0{margin-bottom:0}.fd-break-word{overflow-wrap:anywhere;word-break:break-word}.fd-type-desc{font-size:.88rem}@media(max-width:42rem){.fd-shell{flex-direction:column}.fd-sidebar{position:relative;top:auto;align-self:stretch;flex:none;width:100%;height:auto;max-height:none;overflow:visible;border-right:none;border-bottom:1px solid var(--fd-border);box-shadow:none;padding:.75rem 1rem .85rem;gap:.65rem}.fd-sidebar__nav-stack{flex-direction:row;flex-wrap:wrap;align-items:center;gap:.35rem .5rem}.fd-sidebar__nav--primary,.fd-sidebar__nav--footer{flex-direction:row;flex-wrap:wrap;gap:.25rem;padding-top:0;margin-top:0;border-top:none}.fd-sidebar__nav .fd-nav__link{width:auto;flex:0 1 auto}.fd-sidebar__nav .fd-nav__link--active{border-color:transparent;box-shadow:inset 3px 0 0 0 var(--fd-nav-active-indicator)}.fd-sidebar.fd-sidebar--collapsed{--fd-sidebar-width: 100%}.fd-sidebar.fd-sidebar--collapsed .fd-sidebar__head{flex-direction:row;align-items:flex-start}.fd-sidebar.fd-sidebar--collapsed .fd-sidebar__collapse{width:auto;margin-bottom:0}.fd-sidebar.fd-sidebar--collapsed .fd-sidebar__brand-top{flex-direction:row}.fd-sidebar.fd-sidebar--collapsed .fd-sidebar__title{position:static;width:auto;height:auto;margin:0;padding:0;overflow:visible;clip:auto;white-space:normal}.fd-sidebar.fd-sidebar--collapsed .fd-nav__glyph{display:flex}.fd-sidebar.fd-sidebar--collapsed .fd-nav__label{position:static;width:auto;height:auto;margin:0;padding:0;overflow:visible;clip:auto;white-space:normal}.fd-sidebar.fd-sidebar--collapsed .fd-nav__link{justify-content:flex-start;gap:.5rem}.fd-sidebar.fd-sidebar--collapsed .fd-sidebar__tagline{display:block}.fd-security-strip{padding-inline:1rem}.fd-main{padding-inline:1rem;max-width:100%}.fd-table th,.fd-table td{overflow-wrap:anywhere;word-break:break-word}.fd-checkbox-label{white-space:normal}} diff --git a/src/flightdeck/server/static/assets/index-CfaduCNo.js b/src/flightdeck/server/static/assets/index-CfaduCNo.js new file mode 100644 index 0000000..2d2b7cd --- /dev/null +++ b/src/flightdeck/server/static/assets/index-CfaduCNo.js @@ -0,0 +1,11 @@ +(function(){const c=document.createElement("link").relList;if(c&&c.supports&&c.supports("modulepreload"))return;for(const m of document.querySelectorAll('link[rel="modulepreload"]'))f(m);new MutationObserver(m=>{for(const h of m)if(h.type==="childList")for(const g of h.addedNodes)g.tagName==="LINK"&&g.rel==="modulepreload"&&f(g)}).observe(document,{childList:!0,subtree:!0});function o(m){const h={};return m.integrity&&(h.integrity=m.integrity),m.referrerPolicy&&(h.referrerPolicy=m.referrerPolicy),m.crossOrigin==="use-credentials"?h.credentials="include":m.crossOrigin==="anonymous"?h.credentials="omit":h.credentials="same-origin",h}function f(m){if(m.ep)return;m.ep=!0;const h=o(m);fetch(m.href,h)}})();var Jc={exports:{}},Fn={};var Em;function Vp(){if(Em)return Fn;Em=1;var s=Symbol.for("react.transitional.element"),c=Symbol.for("react.fragment");function o(f,m,h){var g=null;if(h!==void 0&&(g=""+h),m.key!==void 0&&(g=""+m.key),"key"in m){h={};for(var j in m)j!=="key"&&(h[j]=m[j])}else h=m;return m=h.ref,{$$typeof:s,type:f,key:g,ref:m!==void 0?m:null,props:h}}return Fn.Fragment=c,Fn.jsx=o,Fn.jsxs=o,Fn}var Tm;function Zp(){return Tm||(Tm=1,Jc.exports=Vp()),Jc.exports}var u=Zp(),kc={exports:{}},ue={};var Rm;function Kp(){if(Rm)return ue;Rm=1;var s=Symbol.for("react.transitional.element"),c=Symbol.for("react.portal"),o=Symbol.for("react.fragment"),f=Symbol.for("react.strict_mode"),m=Symbol.for("react.profiler"),h=Symbol.for("react.consumer"),g=Symbol.for("react.context"),j=Symbol.for("react.forward_ref"),x=Symbol.for("react.suspense"),p=Symbol.for("react.memo"),O=Symbol.for("react.lazy"),N=Symbol.for("react.activity"),q=Symbol.iterator;function Y(b){return b===null||typeof b!="object"?null:(b=q&&b[q]||b["@@iterator"],typeof b=="function"?b:null)}var V={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},G=Object.assign,U={};function Z(b,M,X){this.props=b,this.context=M,this.refs=U,this.updater=X||V}Z.prototype.isReactComponent={},Z.prototype.setState=function(b,M){if(typeof b!="object"&&typeof b!="function"&&b!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,b,M,"setState")},Z.prototype.forceUpdate=function(b){this.updater.enqueueForceUpdate(this,b,"forceUpdate")};function I(){}I.prototype=Z.prototype;function k(b,M,X){this.props=b,this.context=M,this.refs=U,this.updater=X||V}var me=k.prototype=new I;me.constructor=k,G(me,Z.prototype),me.isPureReactComponent=!0;var se=Array.isArray;function Ne(){}var $={H:null,A:null,T:null,S:null},ae=Object.prototype.hasOwnProperty;function _e(b,M,X){var K=X.ref;return{$$typeof:s,type:b,key:M,ref:K!==void 0?K:null,props:X}}function Ee(b,M){return _e(b.type,M,b.props)}function ne(b){return typeof b=="object"&&b!==null&&b.$$typeof===s}function Ce(b){var M={"=":"=0",":":"=2"};return"$"+b.replace(/[=:]/g,function(X){return M[X]})}var je=/\/+/g;function fe(b,M){return typeof b=="object"&&b!==null&&b.key!=null?Ce(""+b.key):M.toString(36)}function H(b){switch(b.status){case"fulfilled":return b.value;case"rejected":throw b.reason;default:switch(typeof b.status=="string"?b.then(Ne,Ne):(b.status="pending",b.then(function(M){b.status==="pending"&&(b.status="fulfilled",b.value=M)},function(M){b.status==="pending"&&(b.status="rejected",b.reason=M)})),b.status){case"fulfilled":return b.value;case"rejected":throw b.reason}}throw b}function R(b,M,X,K,te){var ie=typeof b;(ie==="undefined"||ie==="boolean")&&(b=null);var xe=!1;if(b===null)xe=!0;else switch(ie){case"bigint":case"string":case"number":xe=!0;break;case"object":switch(b.$$typeof){case s:case c:xe=!0;break;case O:return xe=b._init,R(xe(b._payload),M,X,K,te)}}if(xe)return te=te(b),xe=K===""?"."+fe(b,0):K,se(te)?(X="",xe!=null&&(X=xe.replace(je,"$&/")+"/"),R(te,M,X,"",function(B){return B})):te!=null&&(ne(te)&&(te=Ee(te,X+(te.key==null||b&&b.key===te.key?"":(""+te.key).replace(je,"$&/")+"/")+xe)),M.push(te)),1;xe=0;var Ke=K===""?".":K+":";if(se(b))for(var qe=0;qe>>1,ye=R[pe];if(0>>1;pem(X,F))Km(te,X)?(R[pe]=te,R[K]=F,pe=K):(R[pe]=X,R[M]=F,pe=M);else if(Km(te,F))R[pe]=te,R[K]=F,pe=K;else break e}}return L}function m(R,L){var F=R.sortIndex-L.sortIndex;return F!==0?F:R.id-L.id}if(s.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var h=performance;s.unstable_now=function(){return h.now()}}else{var g=Date,j=g.now();s.unstable_now=function(){return g.now()-j}}var x=[],p=[],O=1,N=null,q=3,Y=!1,V=!1,G=!1,U=!1,Z=typeof setTimeout=="function"?setTimeout:null,I=typeof clearTimeout=="function"?clearTimeout:null,k=typeof setImmediate<"u"?setImmediate:null;function me(R){for(var L=o(p);L!==null;){if(L.callback===null)f(p);else if(L.startTime<=R)f(p),L.sortIndex=L.expirationTime,c(x,L);else break;L=o(p)}}function se(R){if(G=!1,me(R),!V)if(o(x)!==null)V=!0,Ne||(Ne=!0,Ce());else{var L=o(p);L!==null&&H(se,L.startTime-R)}}var Ne=!1,$=-1,ae=5,_e=-1;function Ee(){return U?!0:!(s.unstable_now()-_eR&&Ee());){var pe=N.callback;if(typeof pe=="function"){N.callback=null,q=N.priorityLevel;var ye=pe(N.expirationTime<=R);if(R=s.unstable_now(),typeof ye=="function"){N.callback=ye,me(R),L=!0;break t}N===o(x)&&f(x),me(R)}else f(x);N=o(x)}if(N!==null)L=!0;else{var b=o(p);b!==null&&H(se,b.startTime-R),L=!1}}break e}finally{N=null,q=F,Y=!1}L=void 0}}finally{L?Ce():Ne=!1}}}var Ce;if(typeof k=="function")Ce=function(){k(ne)};else if(typeof MessageChannel<"u"){var je=new MessageChannel,fe=je.port2;je.port1.onmessage=ne,Ce=function(){fe.postMessage(null)}}else Ce=function(){Z(ne,0)};function H(R,L){$=Z(function(){R(s.unstable_now())},L)}s.unstable_IdlePriority=5,s.unstable_ImmediatePriority=1,s.unstable_LowPriority=4,s.unstable_NormalPriority=3,s.unstable_Profiling=null,s.unstable_UserBlockingPriority=2,s.unstable_cancelCallback=function(R){R.callback=null},s.unstable_forceFrameRate=function(R){0>R||125pe?(R.sortIndex=F,c(p,R),o(x)===null&&R===o(p)&&(G?(I($),$=-1):G=!0,H(se,F-pe))):(R.sortIndex=ye,c(x,R),V||Y||(V=!0,Ne||(Ne=!0,Ce()))),R},s.unstable_shouldYield=Ee,s.unstable_wrapCallback=function(R){var L=q;return function(){var F=q;q=L;try{return R.apply(this,arguments)}finally{q=F}}}})(Wc)),Wc}var Om;function kp(){return Om||(Om=1,Fc.exports=Jp()),Fc.exports}var Ic={exports:{}},ct={};var zm;function $p(){if(zm)return ct;zm=1;var s=dr();function c(x){var p="https://react.dev/errors/"+x;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(s)}catch(c){console.error(c)}}return s(),Ic.exports=$p(),Ic.exports}var Mm;function Wp(){if(Mm)return Wn;Mm=1;var s=kp(),c=dr(),o=Fp();function f(e){var t="https://react.dev/errors/"+e;if(1ye||(e.current=pe[ye],pe[ye]=null,ye--)}function X(e,t){ye++,pe[ye]=e.current,e.current=t}var K=b(null),te=b(null),ie=b(null),xe=b(null);function Ke(e,t){switch(X(ie,t),X(te,e),X(K,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?kd(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=kd(t),e=$d(t,e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}M(K),X(K,e)}function qe(){M(K),M(te),M(ie)}function B(e){e.memoizedState!==null&&X(xe,e);var t=K.current,l=$d(t,e.type);t!==l&&(X(te,e),X(K,l))}function oe(e){te.current===e&&(M(K),M(te)),xe.current===e&&(M(xe),Kn._currentValue=F)}var Ue,Q;function le(e){if(Ue===void 0)try{throw Error()}catch(l){var t=l.stack.trim().match(/\n( *(at )?)/);Ue=t&&t[1]||"",Q=-1)":-1n||y[a]!==T[n]){var z=` +`+y[a].replace(" at new "," at ");return e.displayName&&z.includes("")&&(z=z.replace("",e.displayName)),z}while(1<=a&&0<=n);break}}}finally{de=!1,Error.prepareStackTrace=l}return(l=e?e.displayName||e.name:"")?le(l):""}function Ct(e,t){switch(e.tag){case 26:case 27:case 5:return le(e.type);case 16:return le("Lazy");case 13:return e.child!==t&&t!==null?le("Suspense Fallback"):le("Suspense");case 19:return le("SuspenseList");case 0:case 15:return st(e.type,!1);case 11:return st(e.type.render,!1);case 1:return st(e.type,!0);case 31:return le("Activity");default:return""}}function Pe(e){try{var t="",l=null;do t+=Ct(e,l),l=e,e=e.return;while(e);return t}catch(a){return` +Error generating stack: `+a.message+` +`+a.stack}}var ln=Object.prototype.hasOwnProperty,Mu=s.unstable_scheduleCallback,wu=s.unstable_cancelCallback,Sh=s.unstable_shouldYield,jh=s.unstable_requestPaint,yt=s.unstable_now,Nh=s.unstable_getCurrentPriorityLevel,Nr=s.unstable_ImmediatePriority,Er=s.unstable_UserBlockingPriority,ii=s.unstable_NormalPriority,Eh=s.unstable_LowPriority,Tr=s.unstable_IdlePriority,Th=s.log,Rh=s.unstable_setDisableYieldValue,an=null,gt=null;function yl(e){if(typeof Th=="function"&&Rh(e),gt&&typeof gt.setStrictMode=="function")try{gt.setStrictMode(an,e)}catch{}}var bt=Math.clz32?Math.clz32:Oh,Ah=Math.log,Ch=Math.LN2;function Oh(e){return e>>>=0,e===0?32:31-(Ah(e)/Ch|0)|0}var ui=256,si=262144,ci=4194304;function Kl(e){var t=e&42;if(t!==0)return t;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return e&261888;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function ri(e,t,l){var a=e.pendingLanes;if(a===0)return 0;var n=0,i=e.suspendedLanes,r=e.pingedLanes;e=e.warmLanes;var d=a&134217727;return d!==0?(a=d&~i,a!==0?n=Kl(a):(r&=d,r!==0?n=Kl(r):l||(l=d&~e,l!==0&&(n=Kl(l))))):(d=a&~i,d!==0?n=Kl(d):r!==0?n=Kl(r):l||(l=a&~e,l!==0&&(n=Kl(l)))),n===0?0:t!==0&&t!==n&&(t&i)===0&&(i=n&-n,l=t&-t,i>=l||i===32&&(l&4194048)!==0)?t:n}function nn(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function zh(e,t){switch(e){case 1:case 2:case 4:case 8:case 64:return t+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function Rr(){var e=ci;return ci<<=1,(ci&62914560)===0&&(ci=4194304),e}function Uu(e){for(var t=[],l=0;31>l;l++)t.push(e);return t}function un(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function Dh(e,t,l,a,n,i){var r=e.pendingLanes;e.pendingLanes=l,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=l,e.entangledLanes&=l,e.errorRecoveryDisabledLanes&=l,e.shellSuspendCounter=0;var d=e.entanglements,y=e.expirationTimes,T=e.hiddenUpdates;for(l=r&~l;0"u")return null;try{return e.activeElement||e.body}catch{return e.body}}var Lh=/[\n"\\]/g;function zt(e){return e.replace(Lh,function(t){return"\\"+t.charCodeAt(0).toString(16)+" "})}function Gu(e,t,l,a,n,i,r,d){e.name="",r!=null&&typeof r!="function"&&typeof r!="symbol"&&typeof r!="boolean"?e.type=r:e.removeAttribute("type"),t!=null?r==="number"?(t===0&&e.value===""||e.value!=t)&&(e.value=""+Ot(t)):e.value!==""+Ot(t)&&(e.value=""+Ot(t)):r!=="submit"&&r!=="reset"||e.removeAttribute("value"),t!=null?Xu(e,r,Ot(t)):l!=null?Xu(e,r,Ot(l)):a!=null&&e.removeAttribute("value"),n==null&&i!=null&&(e.defaultChecked=!!i),n!=null&&(e.checked=n&&typeof n!="function"&&typeof n!="symbol"),d!=null&&typeof d!="function"&&typeof d!="symbol"&&typeof d!="boolean"?e.name=""+Ot(d):e.removeAttribute("name")}function Yr(e,t,l,a,n,i,r,d){if(i!=null&&typeof i!="function"&&typeof i!="symbol"&&typeof i!="boolean"&&(e.type=i),t!=null||l!=null){if(!(i!=="submit"&&i!=="reset"||t!=null)){Yu(e);return}l=l!=null?""+Ot(l):"",t=t!=null?""+Ot(t):l,d||t===e.value||(e.value=t),e.defaultValue=t}a=a??n,a=typeof a!="function"&&typeof a!="symbol"&&!!a,e.checked=d?e.checked:!!a,e.defaultChecked=!!a,r!=null&&typeof r!="function"&&typeof r!="symbol"&&typeof r!="boolean"&&(e.name=r),Yu(e)}function Xu(e,t,l){t==="number"&&di(e.ownerDocument)===e||e.defaultValue===""+l||(e.defaultValue=""+l)}function ba(e,t,l,a){if(e=e.options,t){t={};for(var n=0;n"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Ju=!1;if(Pt)try{var fn={};Object.defineProperty(fn,"passive",{get:function(){Ju=!0}}),window.addEventListener("test",fn,fn),window.removeEventListener("test",fn,fn)}catch{Ju=!1}var bl=null,ku=null,hi=null;function Jr(){if(hi)return hi;var e,t=ku,l=t.length,a,n="value"in bl?bl.value:bl.textContent,i=n.length;for(e=0;e=mn),Pr=" ",ef=!1;function tf(e,t){switch(e){case"keyup":return dv.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function lf(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var ja=!1;function hv(e,t){switch(e){case"compositionend":return lf(t);case"keypress":return t.which!==32?null:(ef=!0,Pr);case"textInput":return e=t.data,e===Pr&&ef?null:e;default:return null}}function vv(e,t){if(ja)return e==="compositionend"||!Pu&&tf(e,t)?(e=Jr(),hi=ku=bl=null,ja=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:l,offset:t-e};e=a}e:{for(;l;){if(l.nextSibling){l=l.nextSibling;break e}l=l.parentNode}l=void 0}l=of(l)}}function mf(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?mf(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function hf(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=di(e.document);t instanceof e.HTMLIFrameElement;){try{var l=typeof t.contentWindow.location.href=="string"}catch{l=!1}if(l)e=t.contentWindow;else break;t=di(e.document)}return t}function ls(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}var jv=Pt&&"documentMode"in document&&11>=document.documentMode,Na=null,as=null,yn=null,ns=!1;function vf(e,t,l){var a=l.window===l?l.document:l.nodeType===9?l:l.ownerDocument;ns||Na==null||Na!==di(a)||(a=Na,"selectionStart"in a&&ls(a)?a={start:a.selectionStart,end:a.selectionEnd}:(a=(a.ownerDocument&&a.ownerDocument.defaultView||window).getSelection(),a={anchorNode:a.anchorNode,anchorOffset:a.anchorOffset,focusNode:a.focusNode,focusOffset:a.focusOffset}),yn&&pn(yn,a)||(yn=a,a=su(as,"onSelect"),0>=r,n-=r,Jt=1<<32-bt(t)+n|l<re?(be=W,W=null):be=W.sibling;var Re=A(S,W,E[re],D);if(Re===null){W===null&&(W=be);break}e&&W&&Re.alternate===null&&t(S,W),_=i(Re,_,re),Te===null?P=Re:Te.sibling=Re,Te=Re,W=be}if(re===E.length)return l(S,W),Se&&tl(S,re),P;if(W===null){for(;rere?(be=W,W=null):be=W.sibling;var Gl=A(S,W,Re.value,D);if(Gl===null){W===null&&(W=be);break}e&&W&&Gl.alternate===null&&t(S,W),_=i(Gl,_,re),Te===null?P=Gl:Te.sibling=Gl,Te=Gl,W=be}if(Re.done)return l(S,W),Se&&tl(S,re),P;if(W===null){for(;!Re.done;re++,Re=E.next())Re=w(S,Re.value,D),Re!==null&&(_=i(Re,_,re),Te===null?P=Re:Te.sibling=Re,Te=Re);return Se&&tl(S,re),P}for(W=a(W);!Re.done;re++,Re=E.next())Re=C(W,S,re,Re.value,D),Re!==null&&(e&&Re.alternate!==null&&W.delete(Re.key===null?re:Re.key),_=i(Re,_,re),Te===null?P=Re:Te.sibling=Re,Te=Re);return e&&W.forEach(function(Qp){return t(S,Qp)}),Se&&tl(S,re),P}function we(S,_,E,D){if(typeof E=="object"&&E!==null&&E.type===G&&E.key===null&&(E=E.props.children),typeof E=="object"&&E!==null){switch(E.$$typeof){case Y:e:{for(var P=E.key;_!==null;){if(_.key===P){if(P=E.type,P===G){if(_.tag===7){l(S,_.sibling),D=n(_,E.props.children),D.return=S,S=D;break e}}else if(_.elementType===P||typeof P=="object"&&P!==null&&P.$$typeof===ae&&aa(P)===_.type){l(S,_.sibling),D=n(_,E.props),jn(D,E),D.return=S,S=D;break e}l(S,_);break}else t(S,_);_=_.sibling}E.type===G?(D=Il(E.props.children,S.mode,D,E.key),D.return=S,S=D):(D=Ni(E.type,E.key,E.props,null,S.mode,D),jn(D,E),D.return=S,S=D)}return r(S);case V:e:{for(P=E.key;_!==null;){if(_.key===P)if(_.tag===4&&_.stateNode.containerInfo===E.containerInfo&&_.stateNode.implementation===E.implementation){l(S,_.sibling),D=n(_,E.children||[]),D.return=S,S=D;break e}else{l(S,_);break}else t(S,_);_=_.sibling}D=os(E,S.mode,D),D.return=S,S=D}return r(S);case ae:return E=aa(E),we(S,_,E,D)}if(H(E))return J(S,_,E,D);if(Ce(E)){if(P=Ce(E),typeof P!="function")throw Error(f(150));return E=P.call(E),ee(S,_,E,D)}if(typeof E.then=="function")return we(S,_,zi(E),D);if(E.$$typeof===k)return we(S,_,Ri(S,E),D);Di(S,E)}return typeof E=="string"&&E!==""||typeof E=="number"||typeof E=="bigint"?(E=""+E,_!==null&&_.tag===6?(l(S,_.sibling),D=n(_,E),D.return=S,S=D):(l(S,_),D=fs(E,S.mode,D),D.return=S,S=D),r(S)):l(S,_)}return function(S,_,E,D){try{Sn=0;var P=we(S,_,E,D);return Ua=null,P}catch(W){if(W===wa||W===Ci)throw W;var Te=xt(29,W,null,S.mode);return Te.lanes=D,Te.return=S,Te}}}var ia=Lf(!0),Bf=Lf(!1),Nl=!1;function js(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function Ns(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function El(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function Tl(e,t,l){var a=e.updateQueue;if(a===null)return null;if(a=a.shared,(Ae&2)!==0){var n=a.pending;return n===null?t.next=t:(t.next=n.next,n.next=t),a.pending=t,t=ji(e),Sf(e,null,l),t}return Si(e,a,t,l),ji(e)}function Nn(e,t,l){if(t=t.updateQueue,t!==null&&(t=t.shared,(l&4194048)!==0)){var a=t.lanes;a&=e.pendingLanes,l|=a,t.lanes=l,Cr(e,l)}}function Es(e,t){var l=e.updateQueue,a=e.alternate;if(a!==null&&(a=a.updateQueue,l===a)){var n=null,i=null;if(l=l.firstBaseUpdate,l!==null){do{var r={lane:l.lane,tag:l.tag,payload:l.payload,callback:null,next:null};i===null?n=i=r:i=i.next=r,l=l.next}while(l!==null);i===null?n=i=t:i=i.next=t}else n=i=t;l={baseState:a.baseState,firstBaseUpdate:n,lastBaseUpdate:i,shared:a.shared,callbacks:a.callbacks},e.updateQueue=l;return}e=l.lastBaseUpdate,e===null?l.firstBaseUpdate=t:e.next=t,l.lastBaseUpdate=t}var Ts=!1;function En(){if(Ts){var e=Ma;if(e!==null)throw e}}function Tn(e,t,l,a){Ts=!1;var n=e.updateQueue;Nl=!1;var i=n.firstBaseUpdate,r=n.lastBaseUpdate,d=n.shared.pending;if(d!==null){n.shared.pending=null;var y=d,T=y.next;y.next=null,r===null?i=T:r.next=T,r=y;var z=e.alternate;z!==null&&(z=z.updateQueue,d=z.lastBaseUpdate,d!==r&&(d===null?z.firstBaseUpdate=T:d.next=T,z.lastBaseUpdate=y))}if(i!==null){var w=n.baseState;r=0,z=T=y=null,d=i;do{var A=d.lane&-536870913,C=A!==d.lane;if(C?(ge&A)===A:(a&A)===A){A!==0&&A===Da&&(Ts=!0),z!==null&&(z=z.next={lane:0,tag:d.tag,payload:d.payload,callback:null,next:null});e:{var J=e,ee=d;A=t;var we=l;switch(ee.tag){case 1:if(J=ee.payload,typeof J=="function"){w=J.call(we,w,A);break e}w=J;break e;case 3:J.flags=J.flags&-65537|128;case 0:if(J=ee.payload,A=typeof J=="function"?J.call(we,w,A):J,A==null)break e;w=N({},w,A);break e;case 2:Nl=!0}}A=d.callback,A!==null&&(e.flags|=64,C&&(e.flags|=8192),C=n.callbacks,C===null?n.callbacks=[A]:C.push(A))}else C={lane:A,tag:d.tag,payload:d.payload,callback:d.callback,next:null},z===null?(T=z=C,y=w):z=z.next=C,r|=A;if(d=d.next,d===null){if(d=n.shared.pending,d===null)break;C=d,d=C.next,C.next=null,n.lastBaseUpdate=C,n.shared.pending=null}}while(!0);z===null&&(y=w),n.baseState=y,n.firstBaseUpdate=T,n.lastBaseUpdate=z,i===null&&(n.shared.lanes=0),zl|=r,e.lanes=r,e.memoizedState=w}}function Yf(e,t){if(typeof e!="function")throw Error(f(191,e));e.call(t)}function Gf(e,t){var l=e.callbacks;if(l!==null)for(e.callbacks=null,e=0;ei?i:8;var r=R.T,d={};R.T=d,Zs(e,!1,t,l);try{var y=n(),T=R.S;if(T!==null&&T(d,y),y!==null&&typeof y=="object"&&typeof y.then=="function"){var z=Dv(y,a);Cn(e,t,z,Tt(e))}else Cn(e,t,a,Tt(e))}catch(w){Cn(e,t,{then:function(){},status:"rejected",reason:w},Tt())}finally{L.p=i,r!==null&&d.types!==null&&(r.types=d.types),R.T=r}}function Lv(){}function Qs(e,t,l,a){if(e.tag!==5)throw Error(f(476));var n=_o(e).queue;bo(e,n,t,F,l===null?Lv:function(){return xo(e),l(a)})}function _o(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:F,baseState:F,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:il,lastRenderedState:F},next:null};var l={};return t.next={memoizedState:l,baseState:l,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:il,lastRenderedState:l},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function xo(e){var t=_o(e);t.next===null&&(t=e.alternate.memoizedState),Cn(e,t.next.queue,{},Tt())}function Vs(){return nt(Kn)}function So(){return Ze().memoizedState}function jo(){return Ze().memoizedState}function Bv(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var l=Tt();e=El(l);var a=Tl(t,e,l);a!==null&&(pt(a,t,l),Nn(a,t,l)),t={cache:bs()},e.payload=t;return}t=t.return}}function Yv(e,t,l){var a=Tt();l={lane:a,revertLane:0,gesture:null,action:l,hasEagerState:!1,eagerState:null,next:null},Xi(e)?Eo(t,l):(l=cs(e,t,l,a),l!==null&&(pt(l,e,a),To(l,t,a)))}function No(e,t,l){var a=Tt();Cn(e,t,l,a)}function Cn(e,t,l,a){var n={lane:a,revertLane:0,gesture:null,action:l,hasEagerState:!1,eagerState:null,next:null};if(Xi(e))Eo(t,n);else{var i=e.alternate;if(e.lanes===0&&(i===null||i.lanes===0)&&(i=t.lastRenderedReducer,i!==null))try{var r=t.lastRenderedState,d=i(r,l);if(n.hasEagerState=!0,n.eagerState=d,_t(d,r))return Si(e,t,n,0),He===null&&xi(),!1}catch{}if(l=cs(e,t,n,a),l!==null)return pt(l,e,a),To(l,t,a),!0}return!1}function Zs(e,t,l,a){if(a={lane:2,revertLane:jc(),gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null},Xi(e)){if(t)throw Error(f(479))}else t=cs(e,l,a,2),t!==null&&pt(t,e,2)}function Xi(e){var t=e.alternate;return e===ce||t!==null&&t===ce}function Eo(e,t){qa=Ui=!0;var l=e.pending;l===null?t.next=t:(t.next=l.next,l.next=t),e.pending=t}function To(e,t,l){if((l&4194048)!==0){var a=t.lanes;a&=e.pendingLanes,l|=a,t.lanes=l,Cr(e,l)}}var On={readContext:nt,use:Li,useCallback:Xe,useContext:Xe,useEffect:Xe,useImperativeHandle:Xe,useLayoutEffect:Xe,useInsertionEffect:Xe,useMemo:Xe,useReducer:Xe,useRef:Xe,useState:Xe,useDebugValue:Xe,useDeferredValue:Xe,useTransition:Xe,useSyncExternalStore:Xe,useId:Xe,useHostTransitionStatus:Xe,useFormState:Xe,useActionState:Xe,useOptimistic:Xe,useMemoCache:Xe,useCacheRefresh:Xe};On.useEffectEvent=Xe;var Ro={readContext:nt,use:Li,useCallback:function(e,t){return rt().memoizedState=[e,t===void 0?null:t],e},useContext:nt,useEffect:ro,useImperativeHandle:function(e,t,l){l=l!=null?l.concat([e]):null,Yi(4194308,4,ho.bind(null,t,e),l)},useLayoutEffect:function(e,t){return Yi(4194308,4,e,t)},useInsertionEffect:function(e,t){Yi(4,2,e,t)},useMemo:function(e,t){var l=rt();t=t===void 0?null:t;var a=e();if(ua){yl(!0);try{e()}finally{yl(!1)}}return l.memoizedState=[a,t],a},useReducer:function(e,t,l){var a=rt();if(l!==void 0){var n=l(t);if(ua){yl(!0);try{l(t)}finally{yl(!1)}}}else n=t;return a.memoizedState=a.baseState=n,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:n},a.queue=e,e=e.dispatch=Yv.bind(null,ce,e),[a.memoizedState,e]},useRef:function(e){var t=rt();return e={current:e},t.memoizedState=e},useState:function(e){e=Ls(e);var t=e.queue,l=No.bind(null,ce,t);return t.dispatch=l,[e.memoizedState,l]},useDebugValue:Gs,useDeferredValue:function(e,t){var l=rt();return Xs(l,e,t)},useTransition:function(){var e=Ls(!1);return e=bo.bind(null,ce,e.queue,!0,!1),rt().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,l){var a=ce,n=rt();if(Se){if(l===void 0)throw Error(f(407));l=l()}else{if(l=t(),He===null)throw Error(f(349));(ge&127)!==0||Jf(a,t,l)}n.memoizedState=l;var i={value:l,getSnapshot:t};return n.queue=i,ro($f.bind(null,a,i,e),[e]),a.flags|=2048,Ba(9,{destroy:void 0},kf.bind(null,a,i,l,t),null),l},useId:function(){var e=rt(),t=He.identifierPrefix;if(Se){var l=kt,a=Jt;l=(a&~(1<<32-bt(a)-1)).toString(32)+l,t="_"+t+"R_"+l,l=Hi++,0<\/script>",i=i.removeChild(i.firstChild);break;case"select":i=typeof a.is=="string"?r.createElement("select",{is:a.is}):r.createElement("select"),a.multiple?i.multiple=!0:a.size&&(i.size=a.size);break;default:i=typeof a.is=="string"?r.createElement(n,{is:a.is}):r.createElement(n)}}i[lt]=t,i[ft]=a;e:for(r=t.child;r!==null;){if(r.tag===5||r.tag===6)i.appendChild(r.stateNode);else if(r.tag!==4&&r.tag!==27&&r.child!==null){r.child.return=r,r=r.child;continue}if(r===t)break e;for(;r.sibling===null;){if(r.return===null||r.return===t)break e;r=r.return}r.sibling.return=r.return,r=r.sibling}t.stateNode=i;e:switch(ut(i,n,a),n){case"button":case"input":case"select":case"textarea":a=!!a.autoFocus;break e;case"img":a=!0;break e;default:a=!1}a&&sl(t)}}return Be(t),ic(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,l),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==a&&sl(t);else{if(typeof a!="string"&&t.stateNode===null)throw Error(f(166));if(e=ie.current,Oa(t)){if(e=t.stateNode,l=t.memoizedProps,a=null,n=at,n!==null)switch(n.tag){case 27:case 5:a=n.memoizedProps}e[lt]=t,e=!!(e.nodeValue===l||a!==null&&a.suppressHydrationWarning===!0||Kd(e.nodeValue,l)),e||Sl(t,!0)}else e=cu(e).createTextNode(a),e[lt]=t,t.stateNode=e}return Be(t),null;case 31:if(l=t.memoizedState,e===null||e.memoizedState!==null){if(a=Oa(t),l!==null){if(e===null){if(!a)throw Error(f(318));if(e=t.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(f(557));e[lt]=t}else Pl(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;Be(t),e=!1}else l=vs(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=l),e=!0;if(!e)return t.flags&256?(jt(t),t):(jt(t),null);if((t.flags&128)!==0)throw Error(f(558))}return Be(t),null;case 13:if(a=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(n=Oa(t),a!==null&&a.dehydrated!==null){if(e===null){if(!n)throw Error(f(318));if(n=t.memoizedState,n=n!==null?n.dehydrated:null,!n)throw Error(f(317));n[lt]=t}else Pl(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;Be(t),n=!1}else n=vs(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=n),n=!0;if(!n)return t.flags&256?(jt(t),t):(jt(t),null)}return jt(t),(t.flags&128)!==0?(t.lanes=l,t):(l=a!==null,e=e!==null&&e.memoizedState!==null,l&&(a=t.child,n=null,a.alternate!==null&&a.alternate.memoizedState!==null&&a.alternate.memoizedState.cachePool!==null&&(n=a.alternate.memoizedState.cachePool.pool),i=null,a.memoizedState!==null&&a.memoizedState.cachePool!==null&&(i=a.memoizedState.cachePool.pool),i!==n&&(a.flags|=2048)),l!==e&&l&&(t.child.flags|=8192),Ji(t,t.updateQueue),Be(t),null);case 4:return qe(),e===null&&Rc(t.stateNode.containerInfo),Be(t),null;case 10:return al(t.type),Be(t),null;case 19:if(M(Ve),a=t.memoizedState,a===null)return Be(t),null;if(n=(t.flags&128)!==0,i=a.rendering,i===null)if(n)Dn(a,!1);else{if(Qe!==0||e!==null&&(e.flags&128)!==0)for(e=t.child;e!==null;){if(i=wi(e),i!==null){for(t.flags|=128,Dn(a,!1),e=i.updateQueue,t.updateQueue=e,Ji(t,e),t.subtreeFlags=0,e=l,l=t.child;l!==null;)jf(l,e),l=l.sibling;return X(Ve,Ve.current&1|2),Se&&tl(t,a.treeForkCount),t.child}e=e.sibling}a.tail!==null&&yt()>Ii&&(t.flags|=128,n=!0,Dn(a,!1),t.lanes=4194304)}else{if(!n)if(e=wi(i),e!==null){if(t.flags|=128,n=!0,e=e.updateQueue,t.updateQueue=e,Ji(t,e),Dn(a,!0),a.tail===null&&a.tailMode==="hidden"&&!i.alternate&&!Se)return Be(t),null}else 2*yt()-a.renderingStartTime>Ii&&l!==536870912&&(t.flags|=128,n=!0,Dn(a,!1),t.lanes=4194304);a.isBackwards?(i.sibling=t.child,t.child=i):(e=a.last,e!==null?e.sibling=i:t.child=i,a.last=i)}return a.tail!==null?(e=a.tail,a.rendering=e,a.tail=e.sibling,a.renderingStartTime=yt(),e.sibling=null,l=Ve.current,X(Ve,n?l&1|2:l&1),Se&&tl(t,a.treeForkCount),e):(Be(t),null);case 22:case 23:return jt(t),As(),a=t.memoizedState!==null,e!==null?e.memoizedState!==null!==a&&(t.flags|=8192):a&&(t.flags|=8192),a?(l&536870912)!==0&&(t.flags&128)===0&&(Be(t),t.subtreeFlags&6&&(t.flags|=8192)):Be(t),l=t.updateQueue,l!==null&&Ji(t,l.retryQueue),l=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(l=e.memoizedState.cachePool.pool),a=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(a=t.memoizedState.cachePool.pool),a!==l&&(t.flags|=2048),e!==null&&M(la),null;case 24:return l=null,e!==null&&(l=e.memoizedState.cache),t.memoizedState.cache!==l&&(t.flags|=2048),al(Je),Be(t),null;case 25:return null;case 30:return null}throw Error(f(156,t.tag))}function Zv(e,t){switch(ms(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return al(Je),qe(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return oe(t),null;case 31:if(t.memoizedState!==null){if(jt(t),t.alternate===null)throw Error(f(340));Pl()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(jt(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(f(340));Pl()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return M(Ve),null;case 4:return qe(),null;case 10:return al(t.type),null;case 22:case 23:return jt(t),As(),e!==null&&M(la),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return al(Je),null;case 25:return null;default:return null}}function Wo(e,t){switch(ms(t),t.tag){case 3:al(Je),qe();break;case 26:case 27:case 5:oe(t);break;case 4:qe();break;case 31:t.memoizedState!==null&&jt(t);break;case 13:jt(t);break;case 19:M(Ve);break;case 10:al(t.type);break;case 22:case 23:jt(t),As(),e!==null&&M(la);break;case 24:al(Je)}}function Mn(e,t){try{var l=t.updateQueue,a=l!==null?l.lastEffect:null;if(a!==null){var n=a.next;l=n;do{if((l.tag&e)===e){a=void 0;var i=l.create,r=l.inst;a=i(),r.destroy=a}l=l.next}while(l!==n)}}catch(d){ze(t,t.return,d)}}function Cl(e,t,l){try{var a=t.updateQueue,n=a!==null?a.lastEffect:null;if(n!==null){var i=n.next;a=i;do{if((a.tag&e)===e){var r=a.inst,d=r.destroy;if(d!==void 0){r.destroy=void 0,n=t;var y=l,T=d;try{T()}catch(z){ze(n,y,z)}}}a=a.next}while(a!==i)}}catch(z){ze(t,t.return,z)}}function Io(e){var t=e.updateQueue;if(t!==null){var l=e.stateNode;try{Gf(t,l)}catch(a){ze(e,e.return,a)}}}function Po(e,t,l){l.props=sa(e.type,e.memoizedProps),l.state=e.memoizedState;try{l.componentWillUnmount()}catch(a){ze(e,t,a)}}function wn(e,t){try{var l=e.ref;if(l!==null){switch(e.tag){case 26:case 27:case 5:var a=e.stateNode;break;case 30:a=e.stateNode;break;default:a=e.stateNode}typeof l=="function"?e.refCleanup=l(a):l.current=a}}catch(n){ze(e,t,n)}}function $t(e,t){var l=e.ref,a=e.refCleanup;if(l!==null)if(typeof a=="function")try{a()}catch(n){ze(e,t,n)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof l=="function")try{l(null)}catch(n){ze(e,t,n)}else l.current=null}function ed(e){var t=e.type,l=e.memoizedProps,a=e.stateNode;try{e:switch(t){case"button":case"input":case"select":case"textarea":l.autoFocus&&a.focus();break e;case"img":l.src?a.src=l.src:l.srcSet&&(a.srcset=l.srcSet)}}catch(n){ze(e,e.return,n)}}function uc(e,t,l){try{var a=e.stateNode;mp(a,e.type,l,t),a[ft]=t}catch(n){ze(e,e.return,n)}}function td(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&Hl(e.type)||e.tag===4}function sc(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||td(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.tag===27&&Hl(e.type)||e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function cc(e,t,l){var a=e.tag;if(a===5||a===6)e=e.stateNode,t?(l.nodeType===9?l.body:l.nodeName==="HTML"?l.ownerDocument.body:l).insertBefore(e,t):(t=l.nodeType===9?l.body:l.nodeName==="HTML"?l.ownerDocument.body:l,t.appendChild(e),l=l._reactRootContainer,l!=null||t.onclick!==null||(t.onclick=It));else if(a!==4&&(a===27&&Hl(e.type)&&(l=e.stateNode,t=null),e=e.child,e!==null))for(cc(e,t,l),e=e.sibling;e!==null;)cc(e,t,l),e=e.sibling}function ki(e,t,l){var a=e.tag;if(a===5||a===6)e=e.stateNode,t?l.insertBefore(e,t):l.appendChild(e);else if(a!==4&&(a===27&&Hl(e.type)&&(l=e.stateNode),e=e.child,e!==null))for(ki(e,t,l),e=e.sibling;e!==null;)ki(e,t,l),e=e.sibling}function ld(e){var t=e.stateNode,l=e.memoizedProps;try{for(var a=e.type,n=t.attributes;n.length;)t.removeAttributeNode(n[0]);ut(t,a,l),t[lt]=e,t[ft]=l}catch(i){ze(e,e.return,i)}}var cl=!1,Fe=!1,rc=!1,ad=typeof WeakSet=="function"?WeakSet:Set,tt=null;function Kv(e,t){if(e=e.containerInfo,Oc=vu,e=hf(e),ls(e)){if("selectionStart"in e)var l={start:e.selectionStart,end:e.selectionEnd};else e:{l=(l=e.ownerDocument)&&l.defaultView||window;var a=l.getSelection&&l.getSelection();if(a&&a.rangeCount!==0){l=a.anchorNode;var n=a.anchorOffset,i=a.focusNode;a=a.focusOffset;try{l.nodeType,i.nodeType}catch{l=null;break e}var r=0,d=-1,y=-1,T=0,z=0,w=e,A=null;t:for(;;){for(var C;w!==l||n!==0&&w.nodeType!==3||(d=r+n),w!==i||a!==0&&w.nodeType!==3||(y=r+a),w.nodeType===3&&(r+=w.nodeValue.length),(C=w.firstChild)!==null;)A=w,w=C;for(;;){if(w===e)break t;if(A===l&&++T===n&&(d=r),A===i&&++z===a&&(y=r),(C=w.nextSibling)!==null)break;w=A,A=w.parentNode}w=C}l=d===-1||y===-1?null:{start:d,end:y}}else l=null}l=l||{start:0,end:0}}else l=null;for(zc={focusedElem:e,selectionRange:l},vu=!1,tt=t;tt!==null;)if(t=tt,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,tt=e;else for(;tt!==null;){switch(t=tt,i=t.alternate,e=t.flags,t.tag){case 0:if((e&4)!==0&&(e=t.updateQueue,e=e!==null?e.events:null,e!==null))for(l=0;l title"))),ut(i,a,l),i[lt]=e,et(i),a=i;break e;case"link":var r=rm("link","href",n).get(a+(l.href||""));if(r){for(var d=0;dwe&&(r=we,we=ee,ee=r);var S=df(d,ee),_=df(d,we);if(S&&_&&(C.rangeCount!==1||C.anchorNode!==S.node||C.anchorOffset!==S.offset||C.focusNode!==_.node||C.focusOffset!==_.offset)){var E=w.createRange();E.setStart(S.node,S.offset),C.removeAllRanges(),ee>we?(C.addRange(E),C.extend(_.node,_.offset)):(E.setEnd(_.node,_.offset),C.addRange(E))}}}}for(w=[],C=d;C=C.parentNode;)C.nodeType===1&&w.push({element:C,left:C.scrollLeft,top:C.scrollTop});for(typeof d.focus=="function"&&d.focus(),d=0;dl?32:l,R.T=null,l=pc,pc=null;var i=Ml,r=ml;if(We=0,Va=Ml=null,ml=0,(Ae&6)!==0)throw Error(f(331));var d=Ae;if(Ae|=4,hd(i.current),od(i,i.current,r,l),Ae=d,Yn(0,!1),gt&&typeof gt.onPostCommitFiberRoot=="function")try{gt.onPostCommitFiberRoot(an,i)}catch{}return!0}finally{L.p=n,R.T=a,Dd(e,t)}}function wd(e,t,l){t=Mt(l,t),t=$s(e.stateNode,t,2),e=Tl(e,t,2),e!==null&&(un(e,2),Ft(e))}function ze(e,t,l){if(e.tag===3)wd(e,e,l);else for(;t!==null;){if(t.tag===3){wd(t,e,l);break}else if(t.tag===1){var a=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof a.componentDidCatch=="function"&&(Dl===null||!Dl.has(a))){e=Mt(l,e),l=Uo(2),a=Tl(t,l,2),a!==null&&(Ho(l,a,t,e),un(a,2),Ft(a));break}}t=t.return}}function _c(e,t,l){var a=e.pingCache;if(a===null){a=e.pingCache=new $v;var n=new Set;a.set(t,n)}else n=a.get(t),n===void 0&&(n=new Set,a.set(t,n));n.has(l)||(dc=!0,n.add(l),e=ep.bind(null,e,t,l),t.then(e,e))}function ep(e,t,l){var a=e.pingCache;a!==null&&a.delete(t),e.pingedLanes|=e.suspendedLanes&l,e.warmLanes&=~l,He===e&&(ge&l)===l&&(Qe===4||Qe===3&&(ge&62914560)===ge&&300>yt()-Wi?(Ae&2)===0&&Za(e,0):mc|=l,Qa===ge&&(Qa=0)),Ft(e)}function Ud(e,t){t===0&&(t=Rr()),e=Wl(e,t),e!==null&&(un(e,t),Ft(e))}function tp(e){var t=e.memoizedState,l=0;t!==null&&(l=t.retryLane),Ud(e,l)}function lp(e,t){var l=0;switch(e.tag){case 31:case 13:var a=e.stateNode,n=e.memoizedState;n!==null&&(l=n.retryLane);break;case 19:a=e.stateNode;break;case 22:a=e.stateNode._retryCache;break;default:throw Error(f(314))}a!==null&&a.delete(t),Ud(e,l)}function ap(e,t){return Mu(e,t)}var nu=null,Ja=null,xc=!1,iu=!1,Sc=!1,Ul=0;function Ft(e){e!==Ja&&e.next===null&&(Ja===null?nu=Ja=e:Ja=Ja.next=e),iu=!0,xc||(xc=!0,ip())}function Yn(e,t){if(!Sc&&iu){Sc=!0;do for(var l=!1,a=nu;a!==null;){if(e!==0){var n=a.pendingLanes;if(n===0)var i=0;else{var r=a.suspendedLanes,d=a.pingedLanes;i=(1<<31-bt(42|e)+1)-1,i&=n&~(r&~d),i=i&201326741?i&201326741|1:i?i|2:0}i!==0&&(l=!0,Bd(a,i))}else i=ge,i=ri(a,a===He?i:0,a.cancelPendingCommit!==null||a.timeoutHandle!==-1),(i&3)===0||nn(a,i)||(l=!0,Bd(a,i));a=a.next}while(l);Sc=!1}}function np(){Hd()}function Hd(){iu=xc=!1;var e=0;Ul!==0&&vp()&&(e=Ul);for(var t=yt(),l=null,a=nu;a!==null;){var n=a.next,i=qd(a,t);i===0?(a.next=null,l===null?nu=n:l.next=n,n===null&&(Ja=l)):(l=a,(e!==0||(i&3)!==0)&&(iu=!0)),a=n}We!==0&&We!==5||Yn(e),Ul!==0&&(Ul=0)}function qd(e,t){for(var l=e.suspendedLanes,a=e.pingedLanes,n=e.expirationTimes,i=e.pendingLanes&-62914561;0d)break;var z=y.transferSize,w=y.initiatorType;z&&Jd(w)&&(y=y.responseEnd,r+=z*(y"u"?null:document;function im(e,t,l){var a=ka;if(a&&typeof t=="string"&&t){var n=zt(t);n='link[rel="'+e+'"][href="'+n+'"]',typeof l=="string"&&(n+='[crossorigin="'+l+'"]'),nm.has(n)||(nm.add(n),e={rel:e,crossOrigin:l,href:t},a.querySelector(n)===null&&(t=a.createElement("link"),ut(t,"link",e),et(t),a.head.appendChild(t)))}}function Np(e){hl.D(e),im("dns-prefetch",e,null)}function Ep(e,t){hl.C(e,t),im("preconnect",e,t)}function Tp(e,t,l){hl.L(e,t,l);var a=ka;if(a&&e&&t){var n='link[rel="preload"][as="'+zt(t)+'"]';t==="image"&&l&&l.imageSrcSet?(n+='[imagesrcset="'+zt(l.imageSrcSet)+'"]',typeof l.imageSizes=="string"&&(n+='[imagesizes="'+zt(l.imageSizes)+'"]')):n+='[href="'+zt(e)+'"]';var i=n;switch(t){case"style":i=$a(e);break;case"script":i=Fa(e)}Bt.has(i)||(e=N({rel:"preload",href:t==="image"&&l&&l.imageSrcSet?void 0:e,as:t},l),Bt.set(i,e),a.querySelector(n)!==null||t==="style"&&a.querySelector(Vn(i))||t==="script"&&a.querySelector(Zn(i))||(t=a.createElement("link"),ut(t,"link",e),et(t),a.head.appendChild(t)))}}function Rp(e,t){hl.m(e,t);var l=ka;if(l&&e){var a=t&&typeof t.as=="string"?t.as:"script",n='link[rel="modulepreload"][as="'+zt(a)+'"][href="'+zt(e)+'"]',i=n;switch(a){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":i=Fa(e)}if(!Bt.has(i)&&(e=N({rel:"modulepreload",href:e},t),Bt.set(i,e),l.querySelector(n)===null)){switch(a){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(l.querySelector(Zn(i)))return}a=l.createElement("link"),ut(a,"link",e),et(a),l.head.appendChild(a)}}}function Ap(e,t,l){hl.S(e,t,l);var a=ka;if(a&&e){var n=ya(a).hoistableStyles,i=$a(e);t=t||"default";var r=n.get(i);if(!r){var d={loading:0,preload:null};if(r=a.querySelector(Vn(i)))d.loading=5;else{e=N({rel:"stylesheet",href:e,"data-precedence":t},l),(l=Bt.get(i))&&Lc(e,l);var y=r=a.createElement("link");et(y),ut(y,"link",e),y._p=new Promise(function(T,z){y.onload=T,y.onerror=z}),y.addEventListener("load",function(){d.loading|=1}),y.addEventListener("error",function(){d.loading|=2}),d.loading|=4,fu(r,t,a)}r={type:"stylesheet",instance:r,count:1,state:d},n.set(i,r)}}}function Cp(e,t){hl.X(e,t);var l=ka;if(l&&e){var a=ya(l).hoistableScripts,n=Fa(e),i=a.get(n);i||(i=l.querySelector(Zn(n)),i||(e=N({src:e,async:!0},t),(t=Bt.get(n))&&Bc(e,t),i=l.createElement("script"),et(i),ut(i,"link",e),l.head.appendChild(i)),i={type:"script",instance:i,count:1,state:null},a.set(n,i))}}function Op(e,t){hl.M(e,t);var l=ka;if(l&&e){var a=ya(l).hoistableScripts,n=Fa(e),i=a.get(n);i||(i=l.querySelector(Zn(n)),i||(e=N({src:e,async:!0,type:"module"},t),(t=Bt.get(n))&&Bc(e,t),i=l.createElement("script"),et(i),ut(i,"link",e),l.head.appendChild(i)),i={type:"script",instance:i,count:1,state:null},a.set(n,i))}}function um(e,t,l,a){var n=(n=ie.current)?ru(n):null;if(!n)throw Error(f(446));switch(e){case"meta":case"title":return null;case"style":return typeof l.precedence=="string"&&typeof l.href=="string"?(t=$a(l.href),l=ya(n).hoistableStyles,a=l.get(t),a||(a={type:"style",instance:null,count:0,state:null},l.set(t,a)),a):{type:"void",instance:null,count:0,state:null};case"link":if(l.rel==="stylesheet"&&typeof l.href=="string"&&typeof l.precedence=="string"){e=$a(l.href);var i=ya(n).hoistableStyles,r=i.get(e);if(r||(n=n.ownerDocument||n,r={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},i.set(e,r),(i=n.querySelector(Vn(e)))&&!i._p&&(r.instance=i,r.state.loading=5),Bt.has(e)||(l={rel:"preload",as:"style",href:l.href,crossOrigin:l.crossOrigin,integrity:l.integrity,media:l.media,hrefLang:l.hrefLang,referrerPolicy:l.referrerPolicy},Bt.set(e,l),i||zp(n,e,l,r.state))),t&&a===null)throw Error(f(528,""));return r}if(t&&a!==null)throw Error(f(529,""));return null;case"script":return t=l.async,l=l.src,typeof l=="string"&&t&&typeof t!="function"&&typeof t!="symbol"?(t=Fa(l),l=ya(n).hoistableScripts,a=l.get(t),a||(a={type:"script",instance:null,count:0,state:null},l.set(t,a)),a):{type:"void",instance:null,count:0,state:null};default:throw Error(f(444,e))}}function $a(e){return'href="'+zt(e)+'"'}function Vn(e){return'link[rel="stylesheet"]['+e+"]"}function sm(e){return N({},e,{"data-precedence":e.precedence,precedence:null})}function zp(e,t,l,a){e.querySelector('link[rel="preload"][as="style"]['+t+"]")?a.loading=1:(t=e.createElement("link"),a.preload=t,t.addEventListener("load",function(){return a.loading|=1}),t.addEventListener("error",function(){return a.loading|=2}),ut(t,"link",l),et(t),e.head.appendChild(t))}function Fa(e){return'[src="'+zt(e)+'"]'}function Zn(e){return"script[async]"+e}function cm(e,t,l){if(t.count++,t.instance===null)switch(t.type){case"style":var a=e.querySelector('style[data-href~="'+zt(l.href)+'"]');if(a)return t.instance=a,et(a),a;var n=N({},l,{"data-href":l.href,"data-precedence":l.precedence,href:null,precedence:null});return a=(e.ownerDocument||e).createElement("style"),et(a),ut(a,"style",n),fu(a,l.precedence,e),t.instance=a;case"stylesheet":n=$a(l.href);var i=e.querySelector(Vn(n));if(i)return t.state.loading|=4,t.instance=i,et(i),i;a=sm(l),(n=Bt.get(n))&&Lc(a,n),i=(e.ownerDocument||e).createElement("link"),et(i);var r=i;return r._p=new Promise(function(d,y){r.onload=d,r.onerror=y}),ut(i,"link",a),t.state.loading|=4,fu(i,l.precedence,e),t.instance=i;case"script":return i=Fa(l.src),(n=e.querySelector(Zn(i)))?(t.instance=n,et(n),n):(a=l,(n=Bt.get(i))&&(a=N({},l),Bc(a,n)),e=e.ownerDocument||e,n=e.createElement("script"),et(n),ut(n,"link",a),e.head.appendChild(n),t.instance=n);case"void":return null;default:throw Error(f(443,t.type))}else t.type==="stylesheet"&&(t.state.loading&4)===0&&(a=t.instance,t.state.loading|=4,fu(a,l.precedence,e));return t.instance}function fu(e,t,l){for(var a=l.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),n=a.length?a[a.length-1]:null,i=n,r=0;r title"):null)}function Dp(e,t,l){if(l===1||t.itemProp!=null)return!1;switch(e){case"meta":case"title":return!0;case"style":if(typeof t.precedence!="string"||typeof t.href!="string"||t.href==="")break;return!0;case"link":if(typeof t.rel!="string"||typeof t.href!="string"||t.href===""||t.onLoad||t.onError)break;return t.rel==="stylesheet"?(e=t.disabled,typeof t.precedence=="string"&&e==null):!0;case"script":if(t.async&&typeof t.async!="function"&&typeof t.async!="symbol"&&!t.onLoad&&!t.onError&&t.src&&typeof t.src=="string")return!0}return!1}function om(e){return!(e.type==="stylesheet"&&(e.state.loading&3)===0)}function Mp(e,t,l,a){if(l.type==="stylesheet"&&(typeof a.media!="string"||matchMedia(a.media).matches!==!1)&&(l.state.loading&4)===0){if(l.instance===null){var n=$a(a.href),i=t.querySelector(Vn(n));if(i){t=i._p,t!==null&&typeof t=="object"&&typeof t.then=="function"&&(e.count++,e=du.bind(e),t.then(e,e)),l.state.loading|=4,l.instance=i,et(i);return}i=t.ownerDocument||t,a=sm(a),(n=Bt.get(n))&&Lc(a,n),i=i.createElement("link"),et(i);var r=i;r._p=new Promise(function(d,y){r.onload=d,r.onerror=y}),ut(i,"link",a),l.instance=i}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(l,t),(t=l.state.preload)&&(l.state.loading&3)===0&&(e.count++,l=du.bind(e),t.addEventListener("load",l),t.addEventListener("error",l))}}var Yc=0;function wp(e,t){return e.stylesheets&&e.count===0&&hu(e,e.stylesheets),0Yc?50:800)+t);return e.unsuspend=l,function(){e.unsuspend=null,clearTimeout(a),clearTimeout(n)}}:null}function du(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)hu(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var mu=null;function hu(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,mu=new Map,t.forEach(Up,e),mu=null,du.call(e))}function Up(e,t){if(!(t.state.loading&4)){var l=mu.get(e);if(l)var a=l.get(null);else{l=new Map,mu.set(e,l);for(var n=e.querySelectorAll("link[data-precedence],style[data-precedence]"),i=0;i"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(s)}catch(c){console.error(c)}}return s(),$c.exports=Wp(),$c.exports}var Pp=Ip();var Um="popstate";function Hm(s){return typeof s=="object"&&s!=null&&"pathname"in s&&"search"in s&&"hash"in s&&"state"in s&&"key"in s}function ey(s={}){function c(m,h){let{pathname:g="/",search:j="",hash:x=""}=da(m.location.hash.substring(1));return!g.startsWith("/")&&!g.startsWith(".")&&(g="/"+g),ur("",{pathname:g,search:j,hash:x},h.state&&h.state.usr||null,h.state&&h.state.key||"default")}function o(m,h){let g=m.document.querySelector("base"),j="";if(g&&g.getAttribute("href")){let x=m.location.href,p=x.indexOf("#");j=p===-1?x:x.slice(0,p)}return j+"#"+(typeof h=="string"?h:ti(h))}function f(m,h){Rt(m.pathname.charAt(0)==="/",`relative pathnames are not supported in hash history.push(${JSON.stringify(h)})`)}return ly(c,o,f,s)}function Ge(s,c){if(s===!1||s===null||typeof s>"u")throw new Error(c)}function Rt(s,c){if(!s){typeof console<"u"&&console.warn(c);try{throw new Error(c)}catch{}}}function ty(){return Math.random().toString(36).substring(2,10)}function qm(s,c){return{usr:s.state,key:s.key,idx:c,masked:s.unstable_mask?{pathname:s.pathname,search:s.search,hash:s.hash}:void 0}}function ur(s,c,o=null,f,m){return{pathname:typeof s=="string"?s:s.pathname,search:"",hash:"",...typeof c=="string"?da(c):c,state:o,key:c&&c.key||f||ty(),unstable_mask:m}}function ti({pathname:s="/",search:c="",hash:o=""}){return c&&c!=="?"&&(s+=c.charAt(0)==="?"?c:"?"+c),o&&o!=="#"&&(s+=o.charAt(0)==="#"?o:"#"+o),s}function da(s){let c={};if(s){let o=s.indexOf("#");o>=0&&(c.hash=s.substring(o),s=s.substring(0,o));let f=s.indexOf("?");f>=0&&(c.search=s.substring(f),s=s.substring(0,f)),s&&(c.pathname=s)}return c}function ly(s,c,o,f={}){let{window:m=document.defaultView,v5Compat:h=!1}=f,g=m.history,j="POP",x=null,p=O();p==null&&(p=0,g.replaceState({...g.state,idx:p},""));function O(){return(g.state||{idx:null}).idx}function N(){j="POP";let U=O(),Z=U==null?null:U-p;p=U,x&&x({action:j,location:G.location,delta:Z})}function q(U,Z){j="PUSH";let I=Hm(U)?U:ur(G.location,U,Z);o&&o(I,U),p=O()+1;let k=qm(I,p),me=G.createHref(I.unstable_mask||I);try{g.pushState(k,"",me)}catch(se){if(se instanceof DOMException&&se.name==="DataCloneError")throw se;m.location.assign(me)}h&&x&&x({action:j,location:G.location,delta:1})}function Y(U,Z){j="REPLACE";let I=Hm(U)?U:ur(G.location,U,Z);o&&o(I,U),p=O();let k=qm(I,p),me=G.createHref(I.unstable_mask||I);g.replaceState(k,"",me),h&&x&&x({action:j,location:G.location,delta:0})}function V(U){return ay(U)}let G={get action(){return j},get location(){return s(m,g)},listen(U){if(x)throw new Error("A history only accepts one active listener");return m.addEventListener(Um,N),x=U,()=>{m.removeEventListener(Um,N),x=null}},createHref(U){return c(m,U)},createURL:V,encodeLocation(U){let Z=V(U);return{pathname:Z.pathname,search:Z.search,hash:Z.hash}},push:q,replace:Y,go(U){return g.go(U)}};return G}function ay(s,c=!1){let o="http://localhost";typeof window<"u"&&(o=window.location.origin!=="null"?window.location.origin:window.location.href),Ge(o,"No window.location.(origin|href) available to create URL");let f=typeof s=="string"?s:ti(s);return f=f.replace(/ $/,"%20"),!c&&f.startsWith("//")&&(f=o+f),new URL(f,o)}function Jm(s,c,o="/"){return ny(s,c,o,!1)}function ny(s,c,o,f){let m=typeof c=="string"?da(c):c,h=pl(m.pathname||"/",o);if(h==null)return null;let g=km(s);iy(g);let j=null;for(let x=0;j==null&&x{let O={relativePath:p===void 0?g.path||"":p,caseSensitive:g.caseSensitive===!0,childrenIndex:j,route:g};if(O.relativePath.startsWith("/")){if(!O.relativePath.startsWith(f)&&x)return;Ge(O.relativePath.startsWith(f),`Absolute route path "${O.relativePath}" nested under path "${f}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),O.relativePath=O.relativePath.slice(f.length)}let N=Vt([f,O.relativePath]),q=o.concat(O);g.children&&g.children.length>0&&(Ge(g.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${N}".`),km(g.children,c,q,N,x)),!(g.path==null&&!g.index)&&c.push({path:N,score:dy(N,g.index),routesMeta:q})};return s.forEach((g,j)=>{if(g.path===""||!g.path?.includes("?"))h(g,j);else for(let x of $m(g.path))h(g,j,!0,x)}),c}function $m(s){let c=s.split("/");if(c.length===0)return[];let[o,...f]=c,m=o.endsWith("?"),h=o.replace(/\?$/,"");if(f.length===0)return m?[h,""]:[h];let g=$m(f.join("/")),j=[];return j.push(...g.map(x=>x===""?h:[h,x].join("/"))),m&&j.push(...g),j.map(x=>s.startsWith("/")&&x===""?"/":x)}function iy(s){s.sort((c,o)=>c.score!==o.score?o.score-c.score:my(c.routesMeta.map(f=>f.childrenIndex),o.routesMeta.map(f=>f.childrenIndex)))}var uy=/^:[\w-]+$/,sy=3,cy=2,ry=1,fy=10,oy=-2,Lm=s=>s==="*";function dy(s,c){let o=s.split("/"),f=o.length;return o.some(Lm)&&(f+=oy),c&&(f+=cy),o.filter(m=>!Lm(m)).reduce((m,h)=>m+(uy.test(h)?sy:h===""?ry:fy),f)}function my(s,c){return s.length===c.length&&s.slice(0,-1).every((f,m)=>f===c[m])?s[s.length-1]-c[c.length-1]:0}function hy(s,c,o=!1){let{routesMeta:f}=s,m={},h="/",g=[];for(let j=0;j{if(O==="*"){let V=j[q]||"";g=h.slice(0,h.length-V.length).replace(/(.)\/+$/,"$1")}const Y=j[q];return N&&!Y?p[O]=void 0:p[O]=(Y||"").replace(/%2F/g,"/"),p},{}),pathname:h,pathnameBase:g,pattern:s}}function vy(s,c=!1,o=!0){Rt(s==="*"||!s.endsWith("*")||s.endsWith("/*"),`Route path "${s}" will be treated as if it were "${s.replace(/\*$/,"/*")}" because the \`*\` character must always follow a \`/\` in the pattern. To get rid of this warning, please change the route path to "${s.replace(/\*$/,"/*")}".`);let f=[],m="^"+s.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(g,j,x,p,O)=>{if(f.push({paramName:j,isOptional:x!=null}),x){let N=O.charAt(p+g.length);return N&&N!=="/"?"/([^\\/]*)":"(?:/([^\\/]*))?"}return"/([^\\/]+)"}).replace(/\/([\w-]+)\?(\/|$)/g,"(/$1)?$2");return s.endsWith("*")?(f.push({paramName:"*"}),m+=s==="*"||s==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):o?m+="\\/*$":s!==""&&s!=="/"&&(m+="(?:(?=\\/|$))"),[new RegExp(m,c?void 0:"i"),f]}function py(s){try{return s.split("/").map(c=>decodeURIComponent(c).replace(/\//g,"%2F")).join("/")}catch(c){return Rt(!1,`The URL path "${s}" could not be decoded because it is a malformed URL segment. This is probably due to a bad percent encoding (${c}).`),s}}function pl(s,c){if(c==="/")return s;if(!s.toLowerCase().startsWith(c.toLowerCase()))return null;let o=c.endsWith("/")?c.length-1:c.length,f=s.charAt(o);return f&&f!=="/"?null:s.slice(o)||"/"}var yy=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i;function gy(s,c="/"){let{pathname:o,search:f="",hash:m=""}=typeof s=="string"?da(s):s,h;return o?(o=Fm(o),o.startsWith("/")?h=Bm(o.substring(1),"/"):h=Bm(o,c)):h=c,{pathname:h,search:xy(f),hash:Sy(m)}}function Bm(s,c){let o=Au(c).split("/");return s.split("/").forEach(m=>{m===".."?o.length>1&&o.pop():m!=="."&&o.push(m)}),o.length>1?o.join("/"):"/"}function Pc(s,c,o,f){return`Cannot include a '${s}' character in a manually specified \`to.${c}\` field [${JSON.stringify(f)}]. Please separate it out to the \`to.${o}\` field. Alternatively you may provide the full path as a string in and the router will parse it for you.`}function by(s){return s.filter((c,o)=>o===0||c.route.path&&c.route.path.length>0)}function mr(s){let c=by(s);return c.map((o,f)=>f===c.length-1?o.pathname:o.pathnameBase)}function Cu(s,c,o,f=!1){let m;typeof s=="string"?m=da(s):(m={...s},Ge(!m.pathname||!m.pathname.includes("?"),Pc("?","pathname","search",m)),Ge(!m.pathname||!m.pathname.includes("#"),Pc("#","pathname","hash",m)),Ge(!m.search||!m.search.includes("#"),Pc("#","search","hash",m)));let h=s===""||m.pathname==="",g=h?"/":m.pathname,j;if(g==null)j=o;else{let N=c.length-1;if(!f&&g.startsWith("..")){let q=g.split("/");for(;q[0]==="..";)q.shift(),N-=1;m.pathname=q.join("/")}j=N>=0?c[N]:"/"}let x=gy(m,j),p=g&&g!=="/"&&g.endsWith("/"),O=(h||g===".")&&o.endsWith("/");return!x.pathname.endsWith("/")&&(p||O)&&(x.pathname+="/"),x}var Fm=s=>s.replace(/\/\/+/g,"/"),Vt=s=>Fm(s.join("/")),Au=s=>s.replace(/\/+$/,""),_y=s=>Au(s).replace(/^\/*/,"/"),xy=s=>!s||s==="?"?"":s.startsWith("?")?s:"?"+s,Sy=s=>!s||s==="#"?"":s.startsWith("#")?s:"#"+s,jy=class{constructor(s,c,o,f=!1){this.status=s,this.statusText=c||"",this.internal=f,o instanceof Error?(this.data=o.toString(),this.error=o):this.data=o}};function Ny(s){return s!=null&&typeof s.status=="number"&&typeof s.statusText=="string"&&typeof s.internal=="boolean"&&"data"in s}function Ey(s){let c=s.map(o=>o.route.path).filter(Boolean);return Vt(c)||"/"}var Wm=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";function Im(s,c){let o=s;if(typeof o!="string"||!yy.test(o))return{absoluteURL:void 0,isExternal:!1,to:o};let f=o,m=!1;if(Wm)try{let h=new URL(window.location.href),g=o.startsWith("//")?new URL(h.protocol+o):new URL(o),j=pl(g.pathname,c);g.origin===h.origin&&j!=null?o=j+g.search+g.hash:m=!0}catch{Rt(!1,` contains an invalid URL which will probably break when clicked - please update to a valid URL path.`)}return{absoluteURL:f,isExternal:m,to:o}}Object.getOwnPropertyNames(Object.prototype).sort().join("\0");var Pm=["POST","PUT","PATCH","DELETE"];new Set(Pm);var Ty=["GET",...Pm];new Set(Ty);var en=v.createContext(null);en.displayName="DataRouter";var Ou=v.createContext(null);Ou.displayName="DataRouterState";var eh=v.createContext(!1);function Ry(){return v.useContext(eh)}var th=v.createContext({isTransitioning:!1});th.displayName="ViewTransition";var Ay=v.createContext(new Map);Ay.displayName="Fetchers";var Cy=v.createContext(null);Cy.displayName="Await";var At=v.createContext(null);At.displayName="Navigation";var li=v.createContext(null);li.displayName="Location";var Zt=v.createContext({outlet:null,matches:[],isDataRoute:!1});Zt.displayName="Route";var hr=v.createContext(null);hr.displayName="RouteError";var lh="REACT_ROUTER_ERROR",Oy="REDIRECT",zy="ROUTE_ERROR_RESPONSE";function Dy(s){if(s.startsWith(`${lh}:${Oy}:{`))try{let c=JSON.parse(s.slice(28));if(typeof c=="object"&&c&&typeof c.status=="number"&&typeof c.statusText=="string"&&typeof c.location=="string"&&typeof c.reloadDocument=="boolean"&&typeof c.replace=="boolean")return c}catch{}}function My(s){if(s.startsWith(`${lh}:${zy}:{`))try{let c=JSON.parse(s.slice(40));if(typeof c=="object"&&c&&typeof c.status=="number"&&typeof c.statusText=="string")return new jy(c.status,c.statusText,c.data)}catch{}}function wy(s,{relative:c}={}){Ge(tn(),"useHref() may be used only in the context of a component.");let{basename:o,navigator:f}=v.useContext(At),{hash:m,pathname:h,search:g}=ai(s,{relative:c}),j=h;return o!=="/"&&(j=h==="/"?o:Vt([o,h])),f.createHref({pathname:j,search:g,hash:m})}function tn(){return v.useContext(li)!=null}function Kt(){return Ge(tn(),"useLocation() may be used only in the context of a component."),v.useContext(li).location}var ah="You should call navigate() in a React.useEffect(), not when your component is first rendered.";function nh(s){v.useContext(At).static||v.useLayoutEffect(s)}function vr(){let{isDataRoute:s}=v.useContext(Zt);return s?$y():Uy()}function Uy(){Ge(tn(),"useNavigate() may be used only in the context of a component.");let s=v.useContext(en),{basename:c,navigator:o}=v.useContext(At),{matches:f}=v.useContext(Zt),{pathname:m}=Kt(),h=JSON.stringify(mr(f)),g=v.useRef(!1);return nh(()=>{g.current=!0}),v.useCallback((x,p={})=>{if(Rt(g.current,ah),!g.current)return;if(typeof x=="number"){o.go(x);return}let O=Cu(x,JSON.parse(h),m,p.relative==="path");s==null&&c!=="/"&&(O.pathname=O.pathname==="/"?c:Vt([c,O.pathname])),(p.replace?o.replace:o.push)(O,p.state,p)},[c,o,h,m,s])}var Hy=v.createContext(null);function qy(s){let c=v.useContext(Zt).outlet;return v.useMemo(()=>c&&v.createElement(Hy.Provider,{value:s},c),[c,s])}function ai(s,{relative:c}={}){let{matches:o}=v.useContext(Zt),{pathname:f}=Kt(),m=JSON.stringify(mr(o));return v.useMemo(()=>Cu(s,JSON.parse(m),f,c==="path"),[s,m,f,c])}function Ly(s,c){return ih(s,c)}function ih(s,c,o){Ge(tn(),"useRoutes() may be used only in the context of a component.");let{navigator:f}=v.useContext(At),{matches:m}=v.useContext(Zt),h=m[m.length-1],g=h?h.params:{},j=h?h.pathname:"/",x=h?h.pathnameBase:"/",p=h&&h.route;{let U=p&&p.path||"";sh(j,!p||U.endsWith("*")||U.endsWith("*?"),`You rendered descendant (or called \`useRoutes()\`) at "${j}" (under ) but the parent route path has no trailing "*". This means if you navigate deeper, the parent won't match anymore and therefore the child routes will never render. + +Please change the parent to .`)}let O=Kt(),N;if(c){let U=typeof c=="string"?da(c):c;Ge(x==="/"||U.pathname?.startsWith(x),`When overriding the location using \`\` or \`useRoutes(routes, location)\`, the location pathname must begin with the portion of the URL pathname that was matched by all parent routes. The current pathname base is "${x}" but pathname "${U.pathname}" was given in the \`location\` prop.`),N=U}else N=O;let q=N.pathname||"/",Y=q;if(x!=="/"){let U=x.replace(/^\//,"").split("/");Y="/"+q.replace(/^\//,"").split("/").slice(U.length).join("/")}let V=Jm(s,{pathname:Y});Rt(p||V!=null,`No routes matched location "${N.pathname}${N.search}${N.hash}" `),Rt(V==null||V[V.length-1].route.element!==void 0||V[V.length-1].route.Component!==void 0||V[V.length-1].route.lazy!==void 0,`Matched leaf route at location "${N.pathname}${N.search}${N.hash}" does not have an element or Component. This means it will render an with a null value by default resulting in an "empty" page.`);let G=Qy(V&&V.map(U=>Object.assign({},U,{params:Object.assign({},g,U.params),pathname:Vt([x,f.encodeLocation?f.encodeLocation(U.pathname.replace(/%/g,"%25").replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:U.pathname]),pathnameBase:U.pathnameBase==="/"?x:Vt([x,f.encodeLocation?f.encodeLocation(U.pathnameBase.replace(/%/g,"%25").replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:U.pathnameBase])})),m,o);return c&&G?v.createElement(li.Provider,{value:{location:{pathname:"/",search:"",hash:"",state:null,key:"default",unstable_mask:void 0,...N},navigationType:"POP"}},G):G}function By(){let s=ky(),c=Ny(s)?`${s.status} ${s.statusText}`:s instanceof Error?s.message:JSON.stringify(s),o=s instanceof Error?s.stack:null,f="rgba(200,200,200, 0.5)",m={padding:"0.5rem",backgroundColor:f},h={padding:"2px 4px",backgroundColor:f},g=null;return console.error("Error handled by React Router default ErrorBoundary:",s),g=v.createElement(v.Fragment,null,v.createElement("p",null,"💿 Hey developer 👋"),v.createElement("p",null,"You can provide a way better UX than this when your app throws errors by providing your own ",v.createElement("code",{style:h},"ErrorBoundary")," or"," ",v.createElement("code",{style:h},"errorElement")," prop on your route.")),v.createElement(v.Fragment,null,v.createElement("h2",null,"Unexpected Application Error!"),v.createElement("h3",{style:{fontStyle:"italic"}},c),o?v.createElement("pre",{style:m},o):null,g)}var Yy=v.createElement(By,null),uh=class extends v.Component{constructor(s){super(s),this.state={location:s.location,revalidation:s.revalidation,error:s.error}}static getDerivedStateFromError(s){return{error:s}}static getDerivedStateFromProps(s,c){return c.location!==s.location||c.revalidation!=="idle"&&s.revalidation==="idle"?{error:s.error,location:s.location,revalidation:s.revalidation}:{error:s.error!==void 0?s.error:c.error,location:c.location,revalidation:s.revalidation||c.revalidation}}componentDidCatch(s,c){this.props.onError?this.props.onError(s,c):console.error("React Router caught the following error during render",s)}render(){let s=this.state.error;if(this.context&&typeof s=="object"&&s&&"digest"in s&&typeof s.digest=="string"){const o=My(s.digest);o&&(s=o)}let c=s!==void 0?v.createElement(Zt.Provider,{value:this.props.routeContext},v.createElement(hr.Provider,{value:s,children:this.props.component})):this.props.children;return this.context?v.createElement(Gy,{error:s},c):c}};uh.contextType=eh;var er=new WeakMap;function Gy({children:s,error:c}){let{basename:o}=v.useContext(At);if(typeof c=="object"&&c&&"digest"in c&&typeof c.digest=="string"){let f=Dy(c.digest);if(f){let m=er.get(c);if(m)throw m;let h=Im(f.location,o);if(Wm&&!er.get(c))if(h.isExternal||f.reloadDocument)window.location.href=h.absoluteURL||h.to;else{const g=Promise.resolve().then(()=>window.__reactRouterDataRouter.navigate(h.to,{replace:f.replace}));throw er.set(c,g),g}return v.createElement("meta",{httpEquiv:"refresh",content:`0;url=${h.absoluteURL||h.to}`})}}return s}function Xy({routeContext:s,match:c,children:o}){let f=v.useContext(en);return f&&f.static&&f.staticContext&&(c.route.errorElement||c.route.ErrorBoundary)&&(f.staticContext._deepestRenderedBoundaryId=c.route.id),v.createElement(Zt.Provider,{value:s},o)}function Qy(s,c=[],o){let f=o?.state;if(s==null){if(!f)return null;if(f.errors)s=f.matches;else if(c.length===0&&!f.initialized&&f.matches.length>0)s=f.matches;else return null}let m=s,h=f?.errors;if(h!=null){let O=m.findIndex(N=>N.route.id&&h?.[N.route.id]!==void 0);Ge(O>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(h).join(",")}`),m=m.slice(0,Math.min(m.length,O+1))}let g=!1,j=-1;if(o&&f){g=f.renderFallback;for(let O=0;O=0?m=m.slice(0,j+1):m=[m[0]];break}}}}let x=o?.onError,p=f&&x?(O,N)=>{x(O,{location:f.location,params:f.matches?.[0]?.params??{},unstable_pattern:Ey(f.matches),errorInfo:N})}:void 0;return m.reduceRight((O,N,q)=>{let Y,V=!1,G=null,U=null;f&&(Y=h&&N.route.id?h[N.route.id]:void 0,G=N.route.errorElement||Yy,g&&(j<0&&q===0?(sh("route-fallback",!1,"No `HydrateFallback` element provided to render during initial hydration"),V=!0,U=null):j===q&&(V=!0,U=N.route.hydrateFallbackElement||null)));let Z=c.concat(m.slice(0,q+1)),I=()=>{let k;return Y?k=G:V?k=U:N.route.Component?k=v.createElement(N.route.Component,null):N.route.element?k=N.route.element:k=O,v.createElement(Xy,{match:N,routeContext:{outlet:O,matches:Z,isDataRoute:f!=null},children:k})};return f&&(N.route.ErrorBoundary||N.route.errorElement||q===0)?v.createElement(uh,{location:f.location,revalidation:f.revalidation,component:G,error:Y,children:I(),routeContext:{outlet:null,matches:Z,isDataRoute:!0},onError:p}):I()},null)}function pr(s){return`${s} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function Vy(s){let c=v.useContext(en);return Ge(c,pr(s)),c}function Zy(s){let c=v.useContext(Ou);return Ge(c,pr(s)),c}function Ky(s){let c=v.useContext(Zt);return Ge(c,pr(s)),c}function yr(s){let c=Ky(s),o=c.matches[c.matches.length-1];return Ge(o.route.id,`${s} can only be used on routes that contain a unique "id"`),o.route.id}function Jy(){return yr("useRouteId")}function ky(){let s=v.useContext(hr),c=Zy("useRouteError"),o=yr("useRouteError");return s!==void 0?s:c.errors?.[o]}function $y(){let{router:s}=Vy("useNavigate"),c=yr("useNavigate"),o=v.useRef(!1);return nh(()=>{o.current=!0}),v.useCallback(async(m,h={})=>{Rt(o.current,ah),o.current&&(typeof m=="number"?await s.navigate(m):await s.navigate(m,{fromRouteId:c,...h}))},[s,c])}var Ym={};function sh(s,c,o){!c&&!Ym[s]&&(Ym[s]=!0,Rt(!1,o))}v.memo(Fy);function Fy({routes:s,future:c,state:o,isStatic:f,onError:m}){return ih(s,void 0,{state:o,isStatic:f,onError:m})}function Wy({to:s,replace:c,state:o,relative:f}){Ge(tn()," may be used only in the context of a component.");let{static:m}=v.useContext(At);Rt(!m," must not be used on the initial render in a . This is a no-op, but you should modify your code so the is only ever rendered in response to some user interaction or state change.");let{matches:h}=v.useContext(Zt),{pathname:g}=Kt(),j=vr(),x=Cu(s,mr(h),g,f==="path"),p=JSON.stringify(x);return v.useEffect(()=>{j(JSON.parse(p),{replace:c,state:o,relative:f})},[j,p,f,c,o]),null}function Iy(s){return qy(s.context)}function Vl(s){Ge(!1,"A is only ever to be used as the child of element, never rendered directly. Please wrap your in a .")}function Py({basename:s="/",children:c=null,location:o,navigationType:f="POP",navigator:m,static:h=!1,unstable_useTransitions:g}){Ge(!tn(),"You cannot render a inside another . You should never have more than one in your app.");let j=s.replace(/^\/*/,"/"),x=v.useMemo(()=>({basename:j,navigator:m,static:h,unstable_useTransitions:g,future:{}}),[j,m,h,g]);typeof o=="string"&&(o=da(o));let{pathname:p="/",search:O="",hash:N="",state:q=null,key:Y="default",unstable_mask:V}=o,G=v.useMemo(()=>{let U=pl(p,j);return U==null?null:{location:{pathname:U,search:O,hash:N,state:q,key:Y,unstable_mask:V},navigationType:f}},[j,p,O,N,q,Y,f,V]);return Rt(G!=null,` is not able to match the URL "${p}${O}${N}" because it does not start with the basename, so the won't render anything.`),G==null?null:v.createElement(At.Provider,{value:x},v.createElement(li.Provider,{children:c,value:G}))}function eg({children:s,location:c}){return Ly(sr(s),c)}function sr(s,c=[]){let o=[];return v.Children.forEach(s,(f,m)=>{if(!v.isValidElement(f))return;let h=[...c,m];if(f.type===v.Fragment){o.push.apply(o,sr(f.props.children,h));return}Ge(f.type===Vl,`[${typeof f.type=="string"?f.type:f.type.name}] is not a component. All component children of must be a or `),Ge(!f.props.index||!f.props.children,"An index route cannot have child routes.");let g={id:f.props.id||h.join("-"),caseSensitive:f.props.caseSensitive,element:f.props.element,Component:f.props.Component,index:f.props.index,path:f.props.path,middleware:f.props.middleware,loader:f.props.loader,action:f.props.action,hydrateFallbackElement:f.props.hydrateFallbackElement,HydrateFallback:f.props.HydrateFallback,errorElement:f.props.errorElement,ErrorBoundary:f.props.ErrorBoundary,hasErrorBoundary:f.props.hasErrorBoundary===!0||f.props.ErrorBoundary!=null||f.props.errorElement!=null,shouldRevalidate:f.props.shouldRevalidate,handle:f.props.handle,lazy:f.props.lazy};f.props.children&&(g.children=sr(f.props.children,h)),o.push(g)}),o}var ju="get",Nu="application/x-www-form-urlencoded";function zu(s){return typeof HTMLElement<"u"&&s instanceof HTMLElement}function tg(s){return zu(s)&&s.tagName.toLowerCase()==="button"}function lg(s){return zu(s)&&s.tagName.toLowerCase()==="form"}function ag(s){return zu(s)&&s.tagName.toLowerCase()==="input"}function ng(s){return!!(s.metaKey||s.altKey||s.ctrlKey||s.shiftKey)}function ig(s,c){return s.button===0&&(!c||c==="_self")&&!ng(s)}function cr(s=""){return new URLSearchParams(typeof s=="string"||Array.isArray(s)||s instanceof URLSearchParams?s:Object.keys(s).reduce((c,o)=>{let f=s[o];return c.concat(Array.isArray(f)?f.map(m=>[o,m]):[[o,f]])},[]))}function ug(s,c){let o=cr(s);return c&&c.forEach((f,m)=>{o.has(m)||c.getAll(m).forEach(h=>{o.append(m,h)})}),o}var Su=null;function sg(){if(Su===null)try{new FormData(document.createElement("form"),0),Su=!1}catch{Su=!0}return Su}var cg=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function tr(s){return s!=null&&!cg.has(s)?(Rt(!1,`"${s}" is not a valid \`encType\` for \`
\`/\`\` and will default to "${Nu}"`),null):s}function rg(s,c){let o,f,m,h,g;if(lg(s)){let j=s.getAttribute("action");f=j?pl(j,c):null,o=s.getAttribute("method")||ju,m=tr(s.getAttribute("enctype"))||Nu,h=new FormData(s)}else if(tg(s)||ag(s)&&(s.type==="submit"||s.type==="image")){let j=s.form;if(j==null)throw new Error('Cannot submit a