@changfenhuang/dsh-genui 0.11.3 → 0.11.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/client.js CHANGED
@@ -1,4 +1,4 @@
1
- window.__ModuleLoader__.load({id:`@changfenhuang/dsh-genui`,factory:e=>{var t={exports:{}},n=t.exports;Object.defineProperty(n,Symbol.toStringTag,{value:`Module`});var r=Object.create,i=Object.defineProperty,a=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyNames,s=Object.getPrototypeOf,c=Object.prototype.hasOwnProperty,l=(e,t,n)=>()=>{if(n)throw n[0];try{return e&&(t=e(e=0)),t}catch(e){throw n=[e],e}},u=(e,t)=>{let n={};for(var r in e)i(n,r,{get:e[r],enumerable:!0});return t||i(n,Symbol.toStringTag,{value:`Module`}),n},d=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var s=o(t),l=0,u=s.length,d;l<u;l++)d=s[l],!c.call(e,d)&&d!==n&&i(e,d,{get:(e=>t[e]).bind(null,d),enumerable:!(r=a(t,d))||r.enumerable});return e},f=(e,t,n)=>(n=e==null?{}:r(s(e)),d(t||!e||!e.__esModule||!c.call(e,`default`)?i(n,`default`,{value:e,enumerable:!0}):n,e));let p=e("@deepseek-ai/dsh-client-ui-primitives");p=f(p,1);let m=e("react"),h=e("react-dom/client"),g=e("react/jsx-runtime"),_=p,v=_.getGenuiComponent,y=_.GenuiActionContext,b=(0,m.createContext)(void 0),x=y??b;function S(){return(0,m.useContext)(x)}let C=`@changfenhuang/dsh-genui/GenuiBlock.module.css`;if(typeof document<`u`&&document.querySelector(`style[data-plugin-css=`+JSON.stringify(C)+`]`)===null){let e=document.createElement(`style`);e.dataset.plugin=`@changfenhuang/dsh-genui`,e.dataset.pluginCss=C,e.textContent=`body[data-ds-dark-theme] .V1MMBW_block,body[data-ds-dark-theme] .V1MMBW_panel{--dsl-g-surface:color-mix(in srgb, var(--dsw-alias-label-primary) 4%, var(--dsw-alias-bg-layer-2,var(--dsw-alias-bg-layer-1,var(--dsw-alias-markdown-code-block,transparent))));--dsl-g-shadow-card:0 1px 2px #0000003d, 0 8px 24px #0000002e}.V1MMBW_block,.V1MMBW_panel{--dsl-g-radius-surface:12px;--dsl-g-radius-control:8px;--dsl-g-radius-sm:6px;--dsl-g-radius-pill:999px;--dsl-g-font-hero:34px;--dsl-g-font-display:28px;--dsl-g-font-h1:24px;--dsl-g-font-h2:19px;--dsl-g-font-h3:16px;--dsl-g-font-body:14.5px;--dsl-g-font-title:13.5px;--dsl-g-font-meta:12.5px;--dsl-g-font-data:12px;--dsl-g-gap-lg:16px;--dsl-g-gap-md:12px;--dsl-g-gap-sm:8px;--dsl-g-gap-xs:4px;--dsl-g-border:var(--dsw-alias-border-l1,var(--dsw-alias-border-l2,#ffffff1f));--dsl-g-border-strong:var(--dsw-alias-border-l2,#ffffff1f);--dsl-g-accent:var(--dsw-alias-state-business-primary,#4f8ef7);--dsl-g-accent-soft:color-mix(in srgb, var(--dsl-g-accent) var(--dsl-g-tint), transparent);--dsl-g-hover:color-mix(in srgb, var(--dsw-alias-label-primary) 4%, transparent);--dsl-g-zebra:color-mix(in srgb, var(--dsw-alias-label-primary) 2.5%, transparent);--dsl-g-tint:8%;--dsl-g-tint-strong:14%;--dsl-g-font-mono:var(--ds-font-family-code,ui-monospace, "SF Mono", monospace);--dsl-g-surface:var(--dsw-alias-bg-layer-2,var(--dsw-alias-bg-layer-1,var(--dsw-alias-markdown-code-block,#fff)));--dsl-g-border-surface:color-mix(in srgb, var(--dsw-alias-label-primary) 12%, transparent);--dsl-g-shadow-card:0 1px 3px #0000001a, 0 8px 24px #0000000f}.V1MMBW_block{color:var(--dsw-alias-label-primary);font-variant-numeric:tabular-nums;margin:8px 0}.V1MMBW_block *,.V1MMBW_block :before,.V1MMBW_block :after,.V1MMBW_panel *,.V1MMBW_panel :before,.V1MMBW_panel :after{box-sizing:border-box}.V1MMBW_banner{letter-spacing:-.02em;color:var(--dsw-alias-label-primary);border-bottom:1px solid var(--dsl-g-border);margin-bottom:18px;padding-bottom:14px;font-size:22px;font-weight:800}.V1MMBW_col{gap:var(--dsl-g-gap-md);flex-direction:column;display:flex}.V1MMBW_row{align-items:center;gap:var(--dsl-g-gap-md);display:flex}.V1MMBW_row.V1MMBW_wrap{flex-wrap:wrap}.V1MMBW_row>.V1MMBW_card{flex:1 1 0;align-self:stretch}.V1MMBW_grid{gap:var(--dsl-g-gap-md);display:grid}.V1MMBW_gridSpan{flex-direction:column;min-width:0;display:flex}.V1MMBW_gridSpan>*{flex:1}@media (width<=560px){.V1MMBW_grid{grid-template-columns:1fr!important}.V1MMBW_row{flex-wrap:wrap}.V1MMBW_row>.V1MMBW_card{flex-basis:100%}}.V1MMBW_spacer{flex:1}.V1MMBW_divider{background:var(--dsw-alias-markdown-hr,var(--dsl-g-border));height:1px;margin:var(--dsl-g-gap-xs) 0;border:none}.V1MMBW_card{background:var(--dsl-g-surface);border:1px solid var(--dsl-g-border-surface);border-radius:var(--dsl-g-radius-surface);padding:var(--dsl-g-gap-lg);gap:var(--dsl-g-gap-md);min-width:0;box-shadow:var(--dsl-g-shadow-card);flex-direction:column;display:flex}.V1MMBW_card>:last-child{flex:auto;min-height:0}.V1MMBW_card>.V1MMBW_chart,.V1MMBW_card>.V1MMBW_lineChart,.V1MMBW_card>.V1MMBW_donut,.V1MMBW_card>.V1MMBW_hbars,.V1MMBW_card>.V1MMBW_col{justify-content:center}.V1MMBW_cardTitle{font-size:var(--dsl-g-font-h3);letter-spacing:-.01em;text-transform:none;color:var(--dsw-alias-label-secondary);font-weight:650}.V1MMBW_text{color:var(--dsw-alias-label-primary)}.V1MMBW_text.V1MMBW_h1{font-size:var(--dsl-g-font-h1);letter-spacing:-.02em;font-weight:800;line-height:1.25}.V1MMBW_text.V1MMBW_h2{font-size:var(--dsl-g-font-h2);letter-spacing:-.015em;font-weight:700;line-height:1.3}.V1MMBW_text.V1MMBW_h3{font-size:var(--dsl-g-font-h3);font-weight:650;line-height:1.45}.V1MMBW_text.V1MMBW_body{font-size:var(--dsl-g-font-body);color:var(--dsw-alias-label-primary);text-wrap:pretty;max-width:68ch;line-height:1.7}.V1MMBW_text.V1MMBW_muted{font-size:var(--dsl-g-font-title);color:var(--dsw-alias-label-secondary);line-height:1.65}.V1MMBW_text.V1MMBW_caption{font-size:var(--dsl-g-font-meta);color:var(--dsw-alias-label-secondary);line-height:1.6}.V1MMBW_text.V1MMBW_center{text-align:center}.V1MMBW_button{border:1px solid var(--dsl-g-border);background:var(--dsw-alias-bg-layer-1);color:var(--dsw-alias-label-primary);border-radius:var(--dsl-g-radius-control);padding:8px var(--dsl-g-gap-lg);font-size:var(--dsl-g-font-title);cursor:pointer;text-align:center;align-self:flex-start;font-family:inherit;font-weight:600;line-height:1.4;transition:border-color .15s,filter .15s,background .15s,transform .1s}.V1MMBW_button:hover:not(:disabled){border-color:var(--dsl-g-accent);filter:brightness(1.06)}.V1MMBW_button.V1MMBW_primary:hover:not(:disabled){filter:brightness(1.08)}.V1MMBW_button:active:not(:disabled){filter:brightness(.97);transform:translateY(1px)}.V1MMBW_button:disabled{cursor:not-allowed;opacity:.45;filter:none;box-shadow:none;pointer-events:none}.V1MMBW_button.V1MMBW_primary{background:var(--dsl-g-accent);color:#fff;border:none;box-shadow:inset 0 1px #ffffff24}.V1MMBW_button.V1MMBW_danger{background:color-mix(in srgb, var(--dsw-alias-state-error-primary,#ff6b6b) var(--dsl-g-tint), transparent);border-color:color-mix(in srgb, var(--dsw-alias-state-error-primary,#ff6b6b) 30%, transparent);color:var(--dsw-alias-state-error-primary,#ffb3b3)}.V1MMBW_button.V1MMBW_success{background:color-mix(in srgb, var(--dsw-alias-state-success-primary,#3ecf8e) var(--dsl-g-tint), transparent);border-color:color-mix(in srgb, var(--dsw-alias-state-success-primary,#3ecf8e) 30%, transparent);color:var(--dsw-alias-state-success-secondary,#9fe8c5)}.V1MMBW_button.V1MMBW_ghost{background:0 0}.V1MMBW_button.V1MMBW_full{width:100%}.V1MMBW_button.V1MMBW_small{font-size:var(--dsl-g-font-meta);border-radius:var(--dsl-g-radius-control);padding:4px 12px}.V1MMBW_field{gap:var(--dsl-g-gap-xs);flex-direction:column;display:flex}.V1MMBW_field>span{font-size:var(--dsl-g-font-meta);color:var(--dsw-alias-label-tertiary)}.V1MMBW_input,.V1MMBW_select{background:var(--dsl-g-surface);border:1px solid var(--dsl-g-border-surface);border-radius:var(--dsl-g-radius-control);color:var(--dsw-alias-label-primary);font-size:var(--dsl-g-font-title);outline:none;width:100%;padding:8px 12px;font-family:inherit}.V1MMBW_input:focus,.V1MMBW_select:focus{border-color:var(--dsl-g-accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--dsl-g-accent) var(--dsl-g-tint-strong), transparent)}.V1MMBW_input::placeholder{color:var(--dsw-alias-label-caption,#5b6378)}.V1MMBW_checkbox{align-items:center;gap:var(--dsl-g-gap-sm);font-size:var(--dsl-g-font-title);color:var(--dsw-alias-label-secondary);cursor:pointer;display:flex}.V1MMBW_checkbox input{accent-color:var(--dsl-g-accent);width:15px;height:15px}.V1MMBW_checkbox input:focus-visible{outline:2px solid var(--dsl-g-accent);outline-offset:2px;border-radius:4px}.V1MMBW_link{color:var(--dsl-g-accent);font-size:var(--dsl-g-font-title);cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;text-decoration:none}.V1MMBW_link:hover{text-decoration:underline}.V1MMBW_linkText{color:var(--dsl-g-accent);font-size:var(--dsl-g-font-title);font-family:inherit;text-decoration:none}.V1MMBW_media{padding:var(--dsl-g-gap-md);gap:var(--dsl-g-gap-sm);background:var(--dsl-g-surface);border:1px solid var(--dsl-g-border-surface);border-radius:var(--dsl-g-radius-surface);flex-direction:column;margin:0;display:flex}.V1MMBW_mediaLabel{font-size:var(--dsl-g-font-title);color:var(--dsw-alias-label-primary);font-weight:600}.V1MMBW_mediaPlayer{border-radius:var(--dsl-g-radius-control);width:100%;min-width:0;display:block}img.V1MMBW_mediaPlayer{aspect-ratio:16/9;object-fit:cover;background:var(--dsl-g-surface)}.V1MMBW_videoPlayer{object-fit:contain;background:#000;max-height:min(70vh,720px)}.V1MMBW_mediaError{font-size:var(--dsl-g-font-title);color:var(--dsw-alias-state-error-primary,#f25a5a)}.V1MMBW_hero{border:1px solid var(--dsl-g-border-surface);background:radial-gradient(120% 140% at 100% 0%, color-mix(in srgb, var(--dsl-g-accent) 22%, transparent) 0%, transparent 58%), linear-gradient(180deg, color-mix(in srgb, var(--dsl-g-accent) 7%, transparent), transparent 70%), var(--dsw-alias-bg-layer-2,var(--dsw-alias-bg-layer-1,transparent));box-shadow:var(--dsl-g-shadow-card);border-radius:14px;flex-direction:column;gap:6px;padding:22px 24px 24px;display:flex;position:relative;overflow:hidden}.V1MMBW_heroSuccess{background:radial-gradient(120% 140% at 100% 0%, color-mix(in srgb, var(--dsw-alias-state-success-primary,#3ecf8e) 20%, transparent) 0%, transparent 58%), linear-gradient(180deg, color-mix(in srgb, var(--dsw-alias-state-success-primary,#3ecf8e) 6%, transparent), transparent 70%), var(--dsw-alias-bg-layer-2,var(--dsw-alias-bg-layer-1,transparent))}.V1MMBW_heroWarning{background:radial-gradient(120% 140% at 100% 0%, color-mix(in srgb, var(--dsw-alias-state-warn-primary,#f5b83d) 20%, transparent) 0%, transparent 58%), linear-gradient(180deg, color-mix(in srgb, var(--dsw-alias-state-warn-primary,#f5b83d) 6%, transparent), transparent 70%), var(--dsw-alias-bg-layer-2,var(--dsw-alias-bg-layer-1,transparent))}.V1MMBW_heroDanger{background:radial-gradient(120% 140% at 100% 0%, color-mix(in srgb, var(--dsw-alias-state-error-primary,#ff6b6b) 18%, transparent) 0%, transparent 58%), linear-gradient(180deg, color-mix(in srgb, var(--dsw-alias-state-error-primary,#ff6b6b) 6%, transparent), transparent 70%), var(--dsw-alias-bg-layer-2,var(--dsw-alias-bg-layer-1,transparent))}.V1MMBW_heroLabel{font-size:var(--dsl-g-font-meta);letter-spacing:.1em;text-transform:uppercase;color:var(--dsw-alias-label-secondary);font-weight:700}.V1MMBW_heroTop{align-items:baseline;gap:var(--dsl-g-gap-md);flex-wrap:wrap;display:flex}.V1MMBW_heroValue{font-family:var(--dsl-g-font-mono);letter-spacing:-.028em;color:var(--dsw-alias-label-primary);font-variant-numeric:tabular-nums;align-items:baseline;gap:4px;font-size:52px;font-weight:750;line-height:1;display:inline-flex}.V1MMBW_heroUnit{letter-spacing:0;color:var(--dsw-alias-label-secondary);font-size:.44em;font-weight:650}.V1MMBW_heroSpark{align-self:center;width:168px;margin-left:auto}.V1MMBW_heroTitle{letter-spacing:-.01em;color:var(--dsw-alias-label-primary);font-size:20px;font-weight:700;line-height:1.3}.V1MMBW_heroSubtitle{font-size:var(--dsl-g-font-title);color:var(--dsw-alias-label-secondary);text-wrap:pretty;line-height:1.6}.V1MMBW_inlineCode{font-family:var(--dsl-g-font-mono);background:var(--dsl-g-surface);border:1px solid var(--dsl-g-border-surface);white-space:nowrap;border-radius:5px;padding:1px 5px;font-size:.92em}.V1MMBW_inlineStrong{color:var(--dsw-alias-label-primary);font-weight:680}.V1MMBW_inlineMark{background:color-mix(in srgb, var(--dsl-g-accent) 20%, transparent);color:inherit;border-radius:4px;padding:0 3px}.V1MMBW_inlineLink{color:var(--dsl-g-accent);text-underline-offset:2px;text-decoration:underline}.V1MMBW_inlineLink:hover{text-decoration-thickness:2px}.V1MMBW_badge{align-items:center;gap:var(--dsl-g-gap-xs);font-size:var(--dsl-g-font-meta);letter-spacing:.01em;border-radius:var(--dsl-g-radius-pill);background:color-mix(in srgb, var(--dsw-alias-label-tertiary) var(--dsl-g-tint), transparent);width:fit-content;color:var(--dsw-alias-label-secondary);border:1px solid var(--dsl-g-border);padding:1px 10px;font-weight:500;line-height:1.5;display:inline-flex}.V1MMBW_badge.V1MMBW_success{background:color-mix(in srgb, var(--dsw-alias-state-success-primary,#3ecf8e) var(--dsl-g-tint), transparent);color:var(--dsw-alias-state-success-secondary,#7fe3b4);border-color:color-mix(in srgb, var(--dsw-alias-state-success-primary,#3ecf8e) 30%, transparent)}.V1MMBW_badge.V1MMBW_warn{background:color-mix(in srgb, var(--dsw-alias-state-warn-primary,#f5b83d) var(--dsl-g-tint), transparent);color:var(--dsw-alias-state-warn-secondary,#f7cf7d);border-color:color-mix(in srgb, var(--dsw-alias-state-warn-primary,#f5b83d) 30%, transparent)}.V1MMBW_badge.V1MMBW_danger{background:color-mix(in srgb, var(--dsw-alias-state-error-primary,#ff6b6b) var(--dsl-g-tint), transparent);color:var(--dsw-alias-state-error-primary,#ff9d9d);border-color:color-mix(in srgb, var(--dsw-alias-state-error-primary,#ff6b6b) 30%, transparent)}.V1MMBW_badge.V1MMBW_accent{background:color-mix(in srgb, var(--dsl-g-accent) var(--dsl-g-tint), transparent);color:var(--dsw-alias-state-business-primary,#9cc3ff);border-color:color-mix(in srgb, var(--dsl-g-accent) 30%, transparent)}.V1MMBW_stat{border:1px solid var(--dsl-g-border-surface);border-radius:var(--dsl-g-radius-surface);background:var(--dsl-g-surface);min-width:0;box-shadow:var(--dsl-g-shadow-card);flex-direction:column;gap:4px;padding:14px 16px 15px;display:flex;overflow:hidden}.V1MMBW_statHero{padding:18px 20px 20px}.V1MMBW_statHero .V1MMBW_statValue{letter-spacing:-.035em;font-size:44px;line-height:1.02}.V1MMBW_statHero .V1MMBW_statLabel{font-size:13px}.V1MMBW_grid>.V1MMBW_stat,.V1MMBW_row>.V1MMBW_stat{border-left:1px solid var(--dsl-g-border)}.V1MMBW_statLabel{font-size:var(--dsl-g-font-meta);color:var(--dsw-alias-label-secondary);letter-spacing:.05em;text-transform:uppercase;line-height:1.4}.V1MMBW_statValue{font-family:var(--dsl-g-font-mono);font-size:var(--dsl-g-font-hero);letter-spacing:-.03em;font-variant-numeric:tabular-nums;color:var(--dsw-alias-label-primary);overflow-wrap:anywhere;align-items:baseline;gap:3px;font-weight:700;line-height:1.05;display:flex}.V1MMBW_statUnit{letter-spacing:0;color:var(--dsw-alias-label-secondary);font-size:.5em;font-weight:600}.V1MMBW_statHero .V1MMBW_statUnit{font-size:.46em}.V1MMBW_statDelta{font-size:var(--dsl-g-font-meta);border-radius:var(--dsl-g-radius-pill);width:fit-content;color:var(--dsw-alias-label-secondary);background:color-mix(in srgb, var(--dsw-alias-label-primary) 5%, transparent);padding:0 6px;font-weight:600}.V1MMBW_statDelta.V1MMBW_up{color:var(--dsw-alias-state-success-secondary,#1f9d63);background:color-mix(in srgb, var(--dsw-alias-state-success-primary,#22c55e) 12%, transparent)}.V1MMBW_statSpark{width:calc(100% + 32px);max-width:none;height:30px;margin:6px -16px -15px;display:block;overflow:visible}.V1MMBW_statHero .V1MMBW_statSpark{width:calc(100% + 40px);margin:8px -20px -20px}.V1MMBW_statDelta.V1MMBW_down{color:var(--dsw-alias-state-error-primary,#d94848);background:color-mix(in srgb, var(--dsw-alias-state-error-primary,#f25a5a) 12%, transparent)}.V1MMBW_progress{gap:var(--dsl-g-gap-sm);flex-direction:column;display:flex}.V1MMBW_progressRow{justify-content:space-between;gap:var(--dsl-g-gap-md);font-size:var(--dsl-g-font-meta);color:var(--dsw-alias-label-secondary);display:flex}.V1MMBW_progressRow span:last-child{font-family:var(--dsl-g-font-mono);color:var(--dsw-alias-label-primary);font-weight:600}.V1MMBW_track{border-radius:var(--dsl-g-radius-pill);background:color-mix(in srgb, var(--dsw-alias-label-primary) 7%, transparent);height:8px;box-shadow:inset 0 0 0 1px var(--dsl-g-border);overflow:hidden}.V1MMBW_fill{border-radius:var(--dsl-g-radius-pill);background:linear-gradient(180deg, color-mix(in srgb, var(--dsl-g-accent) 85%, white), var(--dsl-g-accent));height:100%;transition:width .5s}.V1MMBW_list{flex-direction:column;display:flex}.V1MMBW_li{padding:9px var(--dsl-g-gap-xs) 9px 16px;flex-direction:column;gap:3px;display:flex;position:relative}.V1MMBW_li:before{content:"";background:var(--dsl-g-accent);opacity:.6;border-radius:50%;width:5px;height:5px;position:absolute;top:15px;left:2px}.V1MMBW_li+.V1MMBW_li{border-top:1px solid var(--dsl-g-border)}.V1MMBW_li:last-child{border-bottom:none}.V1MMBW_liTitle{font-size:var(--dsl-g-font-body);color:var(--dsw-alias-label-primary);font-weight:650;line-height:1.5}.V1MMBW_liDesc{font-size:var(--dsl-g-font-meta);color:var(--dsw-alias-label-secondary);line-height:1.55}.V1MMBW_tableWrap{border-radius:var(--dsl-g-radius-control);border:1px solid var(--dsl-g-border-surface);overscroll-behavior-x:contain;min-width:0;max-width:100%;overflow-x:auto}.V1MMBW_table{border-collapse:collapse;width:100%;font-size:var(--dsl-g-font-title)}.V1MMBW_table th{text-align:left;padding:9px var(--dsl-g-gap-md);color:var(--dsw-alias-label-secondary);font-weight:700;font-size:var(--dsl-g-font-meta);letter-spacing:.06em;text-transform:uppercase;border-bottom:1px solid var(--dsl-g-border-strong);background:var(--dsl-g-zebra);white-space:nowrap}.V1MMBW_table td{padding:10px var(--dsl-g-gap-md);border-bottom:1px solid var(--dsl-g-border);color:var(--dsw-alias-label-primary);white-space:nowrap;font-variant-numeric:tabular-nums;vertical-align:middle;line-height:1.5}.V1MMBW_table td:first-child{font-weight:600}.V1MMBW_table th:first-child{color:var(--dsw-alias-label-primary)}.V1MMBW_table tbody tr:nth-child(2n){background:var(--dsl-g-zebra)}.V1MMBW_table tbody tr:hover{background:var(--dsl-g-hover)}.V1MMBW_table tr:last-child td{border-bottom:none}.V1MMBW_table th.V1MMBW_thNum,.V1MMBW_table td.V1MMBW_tdNum{text-align:right}.V1MMBW_tdDelta{font-weight:600}.V1MMBW_tdDeltaUp{color:var(--dsw-alias-state-success-secondary,#1f9d63)}.V1MMBW_tdDeltaDown{color:var(--dsw-alias-state-error-primary,#d94848)}.V1MMBW_thSort{color:inherit;font:inherit;font-weight:inherit;cursor:pointer;text-align:left;background:0 0;border:none;margin:0;padding:0;transition:color .12s}.V1MMBW_table th.V1MMBW_thNum .V1MMBW_thSort{text-align:right;width:100%}.V1MMBW_thSort:hover,.V1MMBW_table th[aria-sort]:not([aria-sort=none]) .V1MMBW_thSort{color:var(--dsw-alias-label-primary)}.V1MMBW_thSortMark{color:var(--dsl-g-accent)}.V1MMBW_thSort:focus-visible{outline:2px solid var(--dsl-g-accent);outline-offset:1px;border-radius:var(--dsl-g-radius-control)}.V1MMBW_chart{gap:var(--dsl-g-gap-sm);flex-direction:column;display:flex;position:relative}.V1MMBW_chartBody{align-items:stretch;gap:6px;display:flex}.V1MMBW_chartYAxis{flex-shrink:0;width:42px;position:relative}.V1MMBW_chartYTick{font-family:var(--dsl-g-font-mono);font-size:var(--dsl-g-font-data);color:var(--dsw-alias-label-tertiary);white-space:nowrap;position:absolute;right:0;transform:translateY(50%)}.V1MMBW_chartPlot{align-items:flex-end;gap:var(--dsl-g-gap-sm);flex:1;min-width:0;height:160px;display:flex;position:relative}.V1MMBW_baseline{background:var(--dsl-g-border-strong);pointer-events:none;height:1px;position:absolute;bottom:0;left:0;right:0}.V1MMBW_gridline{background:var(--dsw-alias-border-l1,#ffffff0f);pointer-events:none;height:1px;position:absolute;left:0;right:0}.V1MMBW_chartLabels{gap:var(--dsl-g-gap-sm);display:flex}.V1MMBW_chartLabels>span{flex:1;min-width:0}.V1MMBW_chartLegend{gap:var(--dsl-g-gap-md);font-size:var(--dsl-g-font-meta);color:var(--dsw-alias-label-secondary);flex-wrap:wrap;line-height:1.5;display:flex}.V1MMBW_legendItem{align-items:center;gap:6px;display:inline-flex}.V1MMBW_legendSwatch{border-radius:3px;flex-shrink:0;width:10px;height:10px}.V1MMBW_lineArea{fill:var(--dsl-g-accent);opacity:.1}.V1MMBW_chartTip{border-radius:var(--dsl-g-radius-control);border:1px solid var(--dsl-g-border-strong);background:var(--dsw-alias-bg-layer-3,var(--dsw-alias-bg-layer-2,var(--dsw-alias-bg-layer-1,#1c1c1e)));color:var(--dsw-alias-label-primary);font-size:var(--dsl-g-font-meta);white-space:nowrap;pointer-events:none;z-index:6;flex-direction:column;gap:2px;padding:6px 10px;line-height:1.4;display:flex;position:absolute;transform:translate(-50%,calc(-100% - 10px));box-shadow:0 8px 22px #0000004d}.V1MMBW_chartTipRow{justify-content:space-between;gap:14px;display:flex}.V1MMBW_chartTipValue{font-family:var(--dsl-g-font-mono);font-variant-numeric:tabular-nums;font-weight:600}.V1MMBW_stackValue{text-align:center;font-family:var(--dsl-g-font-mono);font-size:var(--dsl-g-font-data);color:#fff;text-shadow:0 1px 2px #0006;font-variant-numeric:tabular-nums;font-weight:700;line-height:1.5;display:block}.V1MMBW_barCol{flex:1;min-width:0;height:100%;position:relative}.V1MMBW_barValue{font-family:var(--dsl-g-font-mono);font-size:var(--dsl-g-font-data);font-variant-numeric:tabular-nums;color:var(--dsw-alias-label-primary);text-align:center;font-weight:600;line-height:1.2;position:absolute;left:0;right:0}.V1MMBW_stack{border-radius:5px 5px 0 0;flex-direction:column-reverse;gap:2px;transition:height .6s;display:flex;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.V1MMBW_stackSeg{width:100%;transition:height .6s,filter .15s}.V1MMBW_stackSeg:hover{filter:brightness(1.15)}.V1MMBW_barFill{background:linear-gradient(180deg, color-mix(in srgb, var(--dsl-g-accent) 78%, white), var(--dsl-g-accent));border-radius:5px 5px 0 0;min-height:2px;transition:height .6s,filter .15s;position:absolute;left:0;right:0}.V1MMBW_barFill:hover{filter:brightness(1.18)}.V1MMBW_barLabel{font-size:var(--dsl-g-font-meta);color:var(--dsw-alias-label-secondary);text-align:center;white-space:nowrap;text-overflow:ellipsis;line-height:1.5;overflow:hidden}.V1MMBW_tabs{gap:var(--dsl-g-gap-md);flex-direction:column;display:flex}.V1MMBW_tabBar{border-bottom:1px solid var(--dsl-g-border);gap:2px;display:flex}.V1MMBW_tab{color:var(--dsw-alias-label-secondary);font-size:var(--dsl-g-font-title);border-radius:var(--dsl-g-radius-sm) var(--dsl-g-radius-sm) 0 0;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:8px 14px;font-family:inherit;font-weight:600;line-height:1.5;transition:color .15s,background .15s,border-bottom-color .15s}.V1MMBW_tab:hover{color:var(--dsw-alias-label-primary);background:var(--dsl-g-hover)}.V1MMBW_tabActive{color:var(--dsw-alias-label-primary);border-bottom-color:var(--dsl-g-accent);font-weight:650}.V1MMBW_tab:focus-visible{outline:2px solid var(--dsl-g-accent);outline-offset:-2px}.V1MMBW_avatar{width:32px;height:32px;font-size:var(--dsl-g-font-title);color:#fff;border:1px solid #ffffff24;border-radius:50%;flex-shrink:0;place-items:center;font-weight:700;display:grid;box-shadow:inset 0 1px #ffffff29}.V1MMBW_callout{border-radius:var(--dsl-g-radius-surface);border:1px solid var(--dsl-g-border-surface);font-size:var(--dsl-g-font-title);background:var(--dsl-g-surface);box-shadow:var(--dsl-g-shadow-card);flex-direction:column;gap:3px;padding:12px 15px;line-height:1.65;display:flex}.V1MMBW_calloutInfo{background:color-mix(in srgb, var(--dsl-g-accent) var(--dsl-g-tint), transparent)}.V1MMBW_calloutSuccess{background:color-mix(in srgb, var(--dsw-alias-state-success-primary,#3ecf8e) var(--dsl-g-tint), transparent)}.V1MMBW_calloutWarning{background:color-mix(in srgb, var(--dsw-alias-state-warn-primary,#f5b83d) var(--dsl-g-tint), transparent)}.V1MMBW_calloutError{background:color-mix(in srgb, var(--dsw-alias-state-error-primary,#ff6b6b) var(--dsl-g-tint), transparent)}.V1MMBW_calloutInfo .V1MMBW_calloutTitle{color:var(--dsw-alias-state-business-primary,#4f8ef7)}.V1MMBW_calloutSuccess .V1MMBW_calloutTitle{color:var(--dsw-alias-state-success-primary,#2f9e6b)}.V1MMBW_calloutWarning .V1MMBW_calloutTitle{color:var(--dsw-alias-state-warn-primary,#b8860b)}.V1MMBW_calloutError .V1MMBW_calloutTitle{color:var(--dsw-alias-state-error-primary,#d94848)}.V1MMBW_calloutTitle{font-weight:700;font-size:var(--dsl-g-font-h3);letter-spacing:-.005em;color:var(--dsw-alias-label-primary);align-items:center;gap:6px;display:flex}.V1MMBW_calloutBody{color:var(--dsw-alias-label-secondary)}.V1MMBW_steps{gap:var(--dsl-g-gap-md);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.V1MMBW_step{gap:var(--dsl-g-gap-md);align-items:flex-start;display:flex;position:relative}.V1MMBW_step:not(:last-child):before{content:"";top:27px;left:11px;bottom:calc(-1 * var(--dsl-g-gap-md));background:var(--dsl-g-border);width:1px;position:absolute}.V1MMBW_stepDone:not(:last-child):before{background:color-mix(in srgb, var(--dsw-alias-state-success-primary,#3ecf8e) 45%, transparent)}.V1MMBW_stepTitle{transition:color .15s}.V1MMBW_stepActive .V1MMBW_stepTitle{color:var(--dsl-g-accent)}.V1MMBW_stepMarker{width:24px;height:24px;font-size:var(--dsl-g-font-meta);background:var(--dsl-g-surface);border:1px solid var(--dsl-g-border-surface);color:var(--dsw-alias-label-secondary);z-index:1;border-radius:50%;flex-shrink:0;place-items:center;font-weight:700;display:grid}.V1MMBW_stepDone .V1MMBW_stepMarker{background:color-mix(in srgb, var(--dsw-alias-state-success-primary,#3ecf8e) 18%, transparent);border-color:color-mix(in srgb, var(--dsw-alias-state-success-primary,#3ecf8e) 55%, transparent);color:var(--dsw-alias-state-success-primary,#2f9e6b);font-size:13px}.V1MMBW_stepActive .V1MMBW_stepMarker{background:color-mix(in srgb, var(--dsl-g-accent) var(--dsl-g-tint-strong), transparent);border-color:var(--dsl-g-accent);color:var(--dsl-g-accent)}.V1MMBW_stepContent{flex-direction:column;gap:2px;padding-top:2px;display:flex}.V1MMBW_stepTitle{font-size:var(--dsl-g-font-body);color:var(--dsw-alias-label-primary);font-weight:650;line-height:1.45}.V1MMBW_stepDesc{font-size:var(--dsl-g-font-meta);color:var(--dsw-alias-label-secondary);line-height:1.55}.V1MMBW_keyvalue{flex-direction:column;margin:0;display:flex}.V1MMBW_kvRow{gap:var(--dsl-g-gap-md);font-size:var(--dsl-g-font-title);align-items:baseline;padding:7px 0;display:flex}.V1MMBW_kvRow+.V1MMBW_kvRow{border-top:1px solid var(--dsl-g-border)}.V1MMBW_kvRow:last-child{border-bottom:none}.V1MMBW_kvKey{width:120px;color:var(--dsw-alias-label-secondary);flex-shrink:0;font-weight:600}.V1MMBW_kvValue{color:var(--dsw-alias-label-primary);word-break:break-word;font-variant-numeric:tabular-nums;margin:0;font-weight:600;line-height:1.5}.V1MMBW_jsonScalar{font-family:var(--dsl-g-font-mono);font-size:var(--dsl-g-font-title);color:var(--dsw-alias-label-secondary)}.V1MMBW_lineChart{gap:var(--dsl-g-gap-sm);flex-direction:column;display:flex;position:relative}.V1MMBW_linePath{fill:none;stroke:var(--dsl-g-accent);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.V1MMBW_lineDot{fill:var(--dsl-g-accent);transition:filter .15s}.V1MMBW_lineDot:hover{filter:brightness(1.3)}.V1MMBW_lineGrid{stroke:var(--dsw-alias-border-l1,#ffffff12);stroke-width:1px}.V1MMBW_lineGridAxis{stroke:var(--dsl-g-border-strong);stroke-width:1px}.V1MMBW_lineTick{fill:var(--dsw-alias-label-tertiary);font-family:var(--dsl-g-font-mono);font-size:var(--dsl-g-font-data)}.V1MMBW_lineLabel{fill:var(--dsw-alias-label-secondary);font-size:var(--dsl-g-font-meta)}.V1MMBW_lineLabels{justify-content:space-between;display:flex}.V1MMBW_groupedBars{gap:var(--dsl-g-gap-xs);align-items:flex-end;width:100%;height:100%;display:flex}.V1MMBW_groupedBar{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:2px;min-width:0;height:100%;display:flex}.V1MMBW_groupValue{font-family:var(--dsl-g-font-mono);font-size:var(--dsl-g-font-data);font-variant-numeric:tabular-nums;color:var(--dsw-alias-label-secondary);text-overflow:ellipsis;max-width:100%;line-height:1.2;overflow:hidden}.V1MMBW_groupedFill{background:var(--dsl-g-accent);border-radius:4px 4px 2px 2px;flex:none;width:100%;min-height:3px;transition:filter .15s}.V1MMBW_groupedFill:hover{filter:brightness(1.18)}.V1MMBW_donut{align-items:center;gap:var(--dsl-g-gap-lg);display:flex;position:relative}.V1MMBW_donutTrack{stroke:var(--dsw-alias-border-l1,#ffffff14)}.V1MMBW_donutSeg{transition:filter .15s}.V1MMBW_donutSeg:hover{filter:brightness(1.18)}.V1MMBW_donutTotal{fill:var(--dsw-alias-label-primary);font-size:var(--dsl-g-font-h2);font-weight:700}.V1MMBW_donutTotalLabel{fill:var(--dsw-alias-label-tertiary);font-size:10px}.V1MMBW_donutLegend{justify-content:center;gap:var(--dsl-g-gap-sm);font-size:var(--dsl-g-font-meta);color:var(--dsw-alias-label-secondary);flex-direction:column;line-height:1.5;display:flex}.V1MMBW_donutPct{color:var(--dsw-alias-label-tertiary);font-variant-numeric:tabular-nums}.V1MMBW_ring{align-items:center;gap:var(--dsl-g-gap-md);display:flex}.V1MMBW_ringTrack{stroke:color-mix(in srgb, var(--dsw-alias-label-primary) 8%, transparent)}.V1MMBW_ringFill{stroke:var(--dsl-g-accent);transition:stroke-dasharray .6s}.V1MMBW_ringValue{fill:var(--dsw-alias-label-primary);font-family:var(--dsl-g-font-mono);font-variant-numeric:tabular-nums;font-size:17px;font-weight:700}.V1MMBW_ringMeta{flex-direction:column;gap:2px;min-width:0;display:flex}.V1MMBW_ringLabel{font-size:var(--dsl-g-font-body);color:var(--dsw-alias-label-primary);font-weight:650}.V1MMBW_ringSub{font-size:var(--dsl-g-font-meta);color:var(--dsw-alias-label-secondary)}.V1MMBW_track{position:relative;overflow:visible}.V1MMBW_targetMark{background:var(--dsw-alias-label-primary);opacity:.6;border-radius:1px;width:2px;margin-left:-1px;position:absolute;top:-3px;bottom:-3px}.V1MMBW_filterRow td{padding:7px var(--dsl-g-gap-md);border-top:1px solid var(--dsl-g-border);color:var(--dsw-alias-label-secondary);font-size:var(--dsl-g-font-meta);font-variant-numeric:tabular-nums;background:0 0}.V1MMBW_filterHint{color:var(--dsw-alias-label-secondary);font-size:var(--dsl-g-font-meta);padding-top:6px;display:block}.V1MMBW_tableTools{justify-content:flex-end;gap:6px;padding:6px 8px 4px;display:flex}.V1MMBW_tableTool{border:1px solid var(--dsl-g-border);border-radius:var(--dsl-g-radius-pill);color:var(--dsw-alias-label-secondary);font-family:inherit;font-size:var(--dsl-g-font-meta);cursor:pointer;background:0 0;padding:2px 9px;transition:color .15s,border-color .15s,background .15s}.V1MMBW_tableTool:hover{color:var(--dsw-alias-label-primary);border-color:var(--dsl-g-border-strong);background:var(--dsl-g-hover)}.V1MMBW_tableTool:focus-visible{outline:2px solid var(--dsl-g-accent);outline-offset:1px}.V1MMBW_card[style*=--dsl-card-accent]>.V1MMBW_cardTitle{color:color-mix(in srgb, var(--dsl-card-accent) 38%, var(--dsw-alias-label-primary))}.V1MMBW_detailCell{padding-left:var(--dsl-g-gap-sm)}.V1MMBW_detailToggle{font:inherit;color:inherit;cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:6px;padding:0;font-weight:600;display:inline-flex}.V1MMBW_detailToggle:hover{color:var(--dsl-g-accent)}.V1MMBW_detailToggle:focus-visible{outline:2px solid var(--dsl-g-accent);outline-offset:2px;border-radius:4px}.V1MMBW_detailChevron{color:var(--dsw-alias-label-tertiary);flex-shrink:0;font-size:10px;transition:transform .18s}.V1MMBW_detailChevron[data-open=true]{transform:rotate(90deg)}.V1MMBW_table tbody tr.V1MMBW_detailRow>td{padding:0 var(--dsl-g-gap-md) 12px;background:color-mix(in srgb, var(--dsw-alias-label-primary) 3%, transparent);border-bottom:1px solid var(--dsl-g-border)}.V1MMBW_table tbody tr.V1MMBW_detailRow:hover>td{background:color-mix(in srgb, var(--dsw-alias-label-primary) 3%, transparent)}.V1MMBW_detailBody{gap:var(--dsl-g-gap-sm);border-radius:var(--dsl-g-radius-control);background:var(--dsw-alias-bg-layer-1,transparent);box-shadow:inset 2px 0 0 color-mix(in srgb, var(--dsl-g-accent) 45%, transparent);flex-direction:column;padding:12px 14px;display:flex}.V1MMBW_groupRow td{padding:22px var(--dsl-g-gap-md) 6px;box-shadow:inset 0 1px 0 var(--dsl-g-border);background:0 0;border-top:none;border-bottom:none}.V1MMBW_table tbody tr.V1MMBW_groupRow:first-child td{box-shadow:none;padding-top:10px}.V1MMBW_table tbody tr.V1MMBW_groupRow:hover,.V1MMBW_table tbody tr.V1MMBW_groupRow:nth-child(2n){background:0 0}.V1MMBW_groupToggle{font:inherit;font-size:var(--dsl-g-font-title);letter-spacing:.02em;color:var(--dsw-alias-label-primary);cursor:pointer;background:0 0;border:none;align-items:center;gap:7px;padding:0;font-weight:650;display:inline-flex}.V1MMBW_groupToggle:hover{color:var(--dsl-g-accent)}.V1MMBW_groupToggle:focus-visible{outline:2px solid var(--dsl-g-accent);outline-offset:2px;border-radius:4px}.V1MMBW_groupChevron{color:var(--dsw-alias-label-tertiary);width:10px;font-size:11px}.V1MMBW_groupCount{border-radius:var(--dsl-g-radius-pill);background:color-mix(in srgb, var(--dsw-alias-label-primary) 7%, transparent);color:var(--dsw-alias-label-secondary);font-size:var(--dsl-g-font-meta);font-variant-numeric:tabular-nums;padding:0 7px;font-weight:600}.V1MMBW_table tbody tr.V1MMBW_groupChild td:first-child{padding-left:calc(var(--dsl-g-gap-md) + 22px);position:relative}.V1MMBW_table tbody tr.V1MMBW_groupChild td:first-child:before{content:"";left:calc(var(--dsl-g-gap-md) + 8px);background:var(--dsl-g-border);width:1px;position:absolute;top:0;bottom:0}.V1MMBW_table tbody tr.V1MMBW_groupChild:last-child td:first-child:before{bottom:50%}.V1MMBW_table tfoot td{border-top:1px solid var(--dsl-g-border-strong);color:var(--dsw-alias-label-primary);background:color-mix(in srgb, var(--dsw-alias-label-primary) 4%, transparent);border-bottom:none;font-weight:700}.V1MMBW_cardInfo{background:color-mix(in srgb, var(--dsl-g-accent) var(--dsl-g-tint), transparent)}.V1MMBW_cardSuccess{background:color-mix(in srgb, var(--dsw-alias-state-success-primary,#3ecf8e) var(--dsl-g-tint), transparent)}.V1MMBW_cardWarning{background:color-mix(in srgb, var(--dsw-alias-state-warn-primary,#f5b83d) var(--dsl-g-tint), transparent)}.V1MMBW_cardDanger{background:color-mix(in srgb, var(--dsw-alias-state-error-primary,#ff6b6b) var(--dsl-g-tint), transparent)}.V1MMBW_cardInfo>.V1MMBW_cardTitle{color:var(--dsw-alias-state-business-primary,#4f8ef7)}.V1MMBW_cardSuccess>.V1MMBW_cardTitle{color:var(--dsw-alias-state-success-primary,#2f9e6b)}.V1MMBW_cardWarning>.V1MMBW_cardTitle{color:var(--dsw-alias-state-warn-primary,#b8860b)}.V1MMBW_cardDanger>.V1MMBW_cardTitle{color:var(--dsw-alias-state-error-primary,#d94848)}.V1MMBW_hbars{gap:var(--dsl-g-gap-sm);flex-direction:column;display:flex}.V1MMBW_hbarRow{align-items:center;gap:var(--dsl-g-gap-md);display:flex}.V1MMBW_hbarLabel{text-align:right;width:96px;font-size:var(--dsl-g-font-meta);color:var(--dsw-alias-label-secondary);white-space:nowrap;text-overflow:ellipsis;flex-shrink:0;overflow:hidden}.V1MMBW_hbarTracks{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.V1MMBW_hbarSeg{height:100%}.V1MMBW_hbarTrack{border-radius:var(--dsl-g-radius-sm);background:color-mix(in srgb, var(--dsw-alias-label-primary) 7%, transparent);height:14px;display:flex;overflow:hidden}.V1MMBW_hbarFill{border-radius:var(--dsl-g-radius-sm);background:var(--dsl-g-accent);min-width:2px;height:100%;transition:width .6s}.V1MMBW_hbarValue{text-align:right;width:64px;font-family:var(--dsl-g-font-mono);font-size:var(--dsl-g-font-data);color:var(--dsw-alias-label-primary);font-variant-numeric:tabular-nums;flex-shrink:0}.V1MMBW_cellBadge{border-radius:var(--dsl-g-radius-pill);background:color-mix(in srgb, var(--dsl-g-accent) var(--dsl-g-tint), transparent);color:var(--dsw-alias-label-primary);font-size:var(--dsl-g-font-meta);padding:1px 8px;font-weight:600;display:inline-block}.V1MMBW_cellSpark{width:88px;height:22px;display:block;overflow:visible}.V1MMBW_cellRing{align-items:center;gap:6px;display:inline-flex}.V1MMBW_cellRingText{font-family:var(--dsl-g-font-mono);font-size:var(--dsl-g-font-data);color:var(--dsw-alias-label-primary);font-variant-numeric:tabular-nums}.V1MMBW_cellIndex{min-width:18px;font-family:var(--dsl-g-font-mono);font-size:var(--dsl-g-font-data);color:var(--dsw-alias-label-tertiary);font-variant-numeric:tabular-nums;display:inline-block}.V1MMBW_cellBar{border-radius:var(--dsl-g-radius-sm);background:color-mix(in srgb, var(--dsw-alias-label-primary) 7%, transparent);min-width:104px;height:18px;display:block;position:relative;overflow:hidden}.V1MMBW_cellBarFill{border-radius:var(--dsl-g-radius-sm);background:color-mix(in srgb, var(--dsl-g-accent) 72%, transparent);position:absolute;inset:0 auto 0 0}.V1MMBW_cellBarText{text-align:right;font-family:var(--dsl-g-font-mono);font-size:var(--dsl-g-font-data);color:var(--dsw-alias-label-primary);padding:0 6px;line-height:18px;display:block;position:relative}.V1MMBW_fieldGroup{gap:var(--dsl-g-gap-sm);flex-direction:column;display:flex}.V1MMBW_fieldLabel{font-size:var(--dsl-g-font-meta);color:var(--dsw-alias-label-tertiary)}.V1MMBW_radio{align-items:center;gap:var(--dsl-g-gap-sm);font-size:var(--dsl-g-font-title);color:var(--dsw-alias-label-secondary);cursor:pointer;line-height:1.5;display:flex}.V1MMBW_radio input{accent-color:var(--dsl-g-accent)}.V1MMBW_radio input:focus-visible{outline:2px solid var(--dsl-g-accent);outline-offset:2px;border-radius:50%}.V1MMBW_submitRow{align-items:center;gap:var(--dsl-g-gap-md);margin-top:2px;display:flex}.V1MMBW_submit{align-self:flex-start}.V1MMBW_submitHint{font-size:var(--dsl-g-font-meta);color:var(--dsw-alias-label-tertiary)}.V1MMBW_btnSent{margin-left:var(--dsl-g-gap-sm);font-size:var(--dsl-g-font-meta);color:var(--dsw-alias-state-success-primary,#3ecf8e);font-weight:600}.V1MMBW_gradeWrap{gap:var(--dsl-g-gap-md);flex-direction:column;display:flex}.V1MMBW_gradeScore{align-items:baseline;gap:var(--dsl-g-gap-sm);display:flex}.V1MMBW_gradeScoreValue{font-size:var(--dsl-g-font-display);color:var(--dsw-alias-label-primary);font-weight:700;line-height:1.2}.V1MMBW_gradeScoreLabel{font-size:var(--dsl-g-font-meta);color:var(--dsw-alias-label-tertiary)}.V1MMBW_gradeList{gap:var(--dsl-g-gap-sm);flex-direction:column;display:flex}.V1MMBW_gradeItem{font-size:var(--dsl-g-font-title);padding:var(--dsl-g-gap-sm) 12px;border-radius:var(--dsl-g-radius-control);border:1px solid var(--dsl-g-border);background:var(--dsw-alias-bg-layer-1);grid-template-columns:auto minmax(0,1fr);align-items:baseline;gap:6px 10px;line-height:1.5;display:grid}.V1MMBW_gradeItemOk{border-color:color-mix(in srgb, var(--dsw-alias-state-success-primary,#3ecf8e) 30%, transparent)}.V1MMBW_gradeItemNo{border-color:color-mix(in srgb, var(--dsw-alias-state-error-primary,#ff6b6b) 30%, transparent)}.V1MMBW_gradeQ{overflow-wrap:anywhere;color:var(--dsw-alias-label-primary);grid-column:1/-1;margin-bottom:8px;font-weight:600}.V1MMBW_gradeTag{font-weight:700}.V1MMBW_gradeItemOk .V1MMBW_gradeTag{color:var(--dsw-alias-state-success-primary,#3ecf8e)}.V1MMBW_gradeItemNo .V1MMBW_gradeTag{color:var(--dsw-alias-state-error-primary,#ff6b6b)}.V1MMBW_gradeAns{overflow-wrap:anywhere;color:var(--dsw-alias-label-secondary)}.V1MMBW_gradeRight{color:var(--dsw-alias-state-error-primary,#ffb3b3)}.V1MMBW_gradeExp{overflow-wrap:anywhere;font-size:var(--dsl-g-font-meta);color:var(--dsw-alias-label-tertiary);grid-column:1/-1;line-height:1.5}.V1MMBW_switchRow{justify-content:space-between;align-items:center;gap:var(--dsl-g-gap-md);cursor:pointer;display:flex}.V1MMBW_switchRow:focus-within .V1MMBW_switch{box-shadow:0 0 0 3px color-mix(in srgb, var(--dsl-g-accent) var(--dsl-g-tint-strong), transparent)}.V1MMBW_switchLabel{font-size:var(--dsl-g-font-title);color:var(--dsw-alias-label-primary);line-height:1.5}.V1MMBW_switch{border-radius:var(--dsl-g-radius-pill);border:1px solid var(--dsl-g-border);background:var(--dsw-alias-bg-base,#17171a);width:38px;height:22px;transition:background .2s;position:relative}.V1MMBW_switchOn{background:var(--dsl-g-accent);border-color:#0000}.V1MMBW_switchKnob{background:#fff;border-radius:50%;width:14px;height:14px;transition:left .2s;position:absolute;top:3px;left:3px;box-shadow:0 1px 2px #0000004d}.V1MMBW_switchOn .V1MMBW_switchKnob{left:19px}.V1MMBW_sliderRow{align-items:center;gap:var(--dsl-g-gap-md);width:100%;display:flex}.V1MMBW_sliderInput{min-width:0;accent-color:var(--dsl-g-accent);flex:1}.V1MMBW_sliderInput:focus-visible{outline:2px solid var(--dsl-g-accent);outline-offset:2px;border-radius:4px}.V1MMBW_sliderValue{text-align:right;min-width:44px;font-family:var(--dsl-g-font-mono);font-size:var(--dsl-g-font-data);color:var(--dsw-alias-label-primary)}.V1MMBW_textarea{background:var(--dsl-g-surface);border:1px solid var(--dsl-g-border-surface);border-radius:var(--dsl-g-radius-control);width:100%;color:var(--dsw-alias-label-primary);padding:var(--dsl-g-gap-sm) 12px;font-size:var(--dsl-g-font-title);resize:vertical;outline:none;font-family:inherit;line-height:1.5}.V1MMBW_textarea:focus{border-color:var(--dsl-g-accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--dsl-g-accent) var(--dsl-g-tint-strong), transparent)}.V1MMBW_accordion{border:1px solid var(--dsl-g-border-surface);border-radius:var(--dsl-g-radius-surface);background:var(--dsl-g-surface);box-shadow:var(--dsl-g-shadow-card);flex-direction:column;display:flex;overflow:hidden}.V1MMBW_accItem{border-bottom:1px solid var(--dsl-g-border)}.V1MMBW_accItem:last-child{border-bottom:none}.V1MMBW_accHead{justify-content:space-between;align-items:center;gap:var(--dsl-g-gap-sm);width:100%;color:var(--dsw-alias-label-primary);font-size:var(--dsl-g-font-body);cursor:pointer;text-align:left;background:0 0;border:none;padding:12px 15px;font-family:inherit;font-weight:600;line-height:1.5;transition:background .15s,color .15s;display:flex}.V1MMBW_accHead:hover{background:var(--dsl-g-hover)}.V1MMBW_accHead[aria-expanded=true]{border-bottom:1px solid var(--dsl-g-border)}.V1MMBW_accChevron{color:var(--dsw-alias-label-tertiary);flex-shrink:0;font-size:11px;transition:transform .2s}.V1MMBW_accChevron[data-open=true]{transform:rotate(90deg)}.V1MMBW_accBody{gap:var(--dsl-g-gap-sm);background:color-mix(in srgb, var(--dsw-alias-label-primary) 2%, transparent);flex-direction:column;padding:12px 15px 14px;display:flex}.V1MMBW_copyChip{border:1px solid var(--dsl-g-border);background:var(--dsw-alias-bg-layer-1);color:var(--dsw-alias-label-primary);border-radius:var(--dsl-g-radius-control);font-size:var(--dsl-g-font-title);cursor:pointer;width:fit-content;padding:6px 14px;font-family:inherit;font-weight:600;transition:all .15s}.V1MMBW_copyChip:hover{border-color:var(--dsl-g-accent)}.V1MMBW_copyChip:active{transform:translateY(1px)}.V1MMBW_copyChipDone{border-color:var(--dsw-alias-state-success-primary,#3ecf8e);color:var(--dsw-alias-state-success-primary,#3ecf8e)}.V1MMBW_mermaid{padding:var(--dsl-g-gap-xs) 0;overflow-x:auto}.V1MMBW_mermaid svg{max-width:100%;height:auto}.V1MMBW_mermaidFallback{gap:var(--dsl-g-gap-sm);flex-direction:column;display:flex}.V1MMBW_mermaidFallback pre{padding:var(--dsl-g-gap-sm) 10px;background:var(--dsw-alias-bg-base,#17171a);border:1px solid var(--dsl-g-border);border-radius:var(--dsl-g-radius-control);font-family:var(--dsl-g-font-mono);font-size:var(--dsl-g-font-meta);margin:0;overflow-x:auto}.V1MMBW_mermaidErr{color:var(--dsw-alias-state-error-primary,#ff6b6b);font-size:var(--dsl-g-font-meta)}.V1MMBW_mermaidHint{color:var(--dsw-alias-label-tertiary);font-size:var(--dsl-g-font-meta)}.V1MMBW_scene3dWrap{gap:var(--dsl-g-gap-sm);flex-direction:column;display:flex}.V1MMBW_echartWrap{gap:var(--dsl-g-gap-sm);padding:var(--dsl-g-gap-md);background:var(--dsw-alias-bg-layer-1,var(--dsw-alias-markdown-code-block));border:1px solid var(--dsl-g-border);border-radius:var(--dsl-g-radius-surface);flex-direction:column;display:flex}.V1MMBW_echartTitle{font-size:var(--dsl-g-font-title);color:var(--dsw-alias-label-primary);font-weight:600}.V1MMBW_echartCanvas{width:100%;min-height:0}.V1MMBW_echartHint{color:var(--dsw-alias-label-tertiary);font-size:var(--dsl-g-font-meta)}.V1MMBW_echartFallback{gap:var(--dsl-g-gap-sm);padding:var(--dsl-g-gap-md);background:var(--dsw-alias-bg-layer-1,var(--dsw-alias-markdown-code-block));border:1px solid var(--dsl-g-border);border-radius:var(--dsl-g-radius-surface);flex-direction:column;display:flex}.V1MMBW_echartErr{color:var(--dsw-alias-state-error-primary,#ff6b6b);font-size:var(--dsl-g-font-meta)}.V1MMBW_scene3dTitle{font-size:var(--dsl-g-font-title);color:var(--dsw-alias-label-primary);font-weight:700}.V1MMBW_scene3dCanvas{border-radius:var(--dsl-g-radius-surface);background:var(--dsw-alias-bg-base,#17171a);border:1px solid var(--dsl-g-border);height:240px;overflow:hidden}.V1MMBW_scene3dCanvas canvas{display:block}.V1MMBW_scene3dHint{color:var(--dsw-alias-label-tertiary);font-size:var(--dsl-g-font-meta)}.V1MMBW_timeline{flex-direction:column;display:flex}.V1MMBW_tlItem{gap:var(--dsl-g-gap-md);display:flex}.V1MMBW_tlRail{flex-direction:column;flex-shrink:0;align-items:center;width:10px;display:flex}.V1MMBW_tlDot{background:var(--dsl-g-accent);width:9px;height:9px;box-shadow:0 0 0 3px color-mix(in srgb, var(--dsl-g-accent) 16%, transparent);border-radius:50%;flex-shrink:0;margin-top:5px;transition:transform .15s}.V1MMBW_tlItem:hover .V1MMBW_tlDot{transform:scale(1.15)}.V1MMBW_tlLine{background:var(--dsl-g-border);flex:1;width:1px;margin:4px 0 0}.V1MMBW_tlBody{flex:1;min-width:0;padding-bottom:18px}.V1MMBW_tlItem:last-child .V1MMBW_tlBody{padding-bottom:0}.V1MMBW_tlHead{align-items:baseline;gap:var(--dsl-g-gap-md);display:flex}.V1MMBW_tlTitle{font-size:var(--dsl-g-font-body);color:var(--dsw-alias-label-primary);font-weight:650;line-height:1.45}.V1MMBW_tlTime{white-space:nowrap;font-family:var(--dsl-g-font-mono);font-size:var(--dsl-g-font-data);color:var(--dsw-alias-label-tertiary);font-variant-numeric:tabular-nums;margin-left:auto}.V1MMBW_tlDesc{font-size:var(--dsl-g-font-title);color:var(--dsw-alias-label-secondary);margin-top:3px;line-height:1.55}.V1MMBW_fileTree{font-family:var(--dsl-g-font-mono);font-size:var(--dsl-g-font-meta);overscroll-behavior-x:contain;flex-direction:column;min-width:0;max-width:100%;display:flex;overflow-x:auto}.V1MMBW_ftChildren{display:block}.V1MMBW_ftRow{min-height:26px;padding:2px var(--dsl-g-gap-xs);border-radius:var(--dsl-g-radius-sm);align-items:center;gap:6px;transition:background .12s;display:flex;position:relative}.V1MMBW_ftRow:hover{background:color-mix(in srgb, var(--dsw-alias-label-primary) 5%, transparent)}.V1MMBW_ftGuide{background:var(--dsl-g-border);width:1px;position:absolute;top:0;bottom:0}.V1MMBW_ftChevron{width:10px;color:var(--dsw-alias-label-tertiary);transform-origin:50%;flex-shrink:0;font-size:10px;line-height:1;transition:transform .15s}.V1MMBW_ftChevron[data-open=true]{transform:rotate(90deg)}.V1MMBW_ftGlyph{color:var(--dsw-alias-label-tertiary);flex-shrink:0;display:inline-flex}.V1MMBW_ftGlyphDir{color:var(--dsl-g-accent)}.V1MMBW_ftName{color:var(--dsw-alias-label-secondary);font-size:var(--dsl-g-font-title);white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.V1MMBW_ftDir{color:var(--dsw-alias-label-primary);font-weight:650}.V1MMBW_ftNameBtn{align-items:center;gap:var(--dsl-g-gap-sm);min-width:0;max-width:100%;font-family:inherit;font-size:var(--dsl-g-font-title);cursor:default;text-align:left;background:0 0;border:none;padding:0;display:inline-flex}button.V1MMBW_ftNameBtn[aria-expanded]{cursor:pointer}.V1MMBW_ftNameBtn:focus-visible{outline:2px solid var(--dsl-g-accent);outline-offset:1px;border-radius:var(--dsl-g-radius-control)}.V1MMBW_breadcrumb{align-items:center;gap:var(--dsl-g-gap-xs);font-size:var(--dsl-g-font-title);flex-wrap:wrap;display:flex}.V1MMBW_bcItem{align-items:center;gap:var(--dsl-g-gap-xs);display:inline-flex}.V1MMBW_bcText{color:var(--dsw-alias-label-secondary);cursor:pointer}.V1MMBW_bcText:hover{color:var(--dsl-g-accent)}.V1MMBW_bcCurrent{color:var(--dsw-alias-label-primary);cursor:default;font-weight:600}.V1MMBW_bcSep{color:var(--dsw-alias-label-caption,var(--dsw-alias-label-tertiary))}.V1MMBW_skeleton{gap:var(--dsl-g-gap-md);padding:var(--dsl-g-gap-lg);border:1px solid var(--dsl-g-border);border-radius:var(--dsl-g-radius-surface);background:var(--dsl-g-surface);flex-direction:column;display:flex}.V1MMBW_skeletonTitle{border-radius:var(--dsl-g-radius-pill);width:34%;height:12px;display:block}.V1MMBW_skeletonBars{gap:var(--dsl-g-gap-sm);display:flex}.V1MMBW_skeletonBars>span{border-radius:var(--dsl-g-radius-control);height:44px;display:block}.V1MMBW_skeletonBlock{border-radius:var(--dsl-g-radius-control);height:76px;display:block}.V1MMBW_skeletonTitle,.V1MMBW_skeletonBars>span,.V1MMBW_skeletonBlock{background:linear-gradient(90deg, color-mix(in srgb, var(--dsw-alias-label-primary) 6%, transparent) 0%, color-mix(in srgb, var(--dsw-alias-label-primary) 13%, transparent) 50%, color-mix(in srgb, var(--dsw-alias-label-primary) 6%, transparent) 100%);background-size:200% 100%;animation:1.4s ease-in-out infinite V1MMBW_dsl-skeleton}@keyframes V1MMBW_dsl-skeleton{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.V1MMBW_skeletonTitle,.V1MMBW_skeletonBars>span,.V1MMBW_skeletonBlock{animation:none}}@keyframes V1MMBW_genuiReveal{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes V1MMBW_genuiPopIn{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}.V1MMBW_reveal{animation:.45s cubic-bezier(.22,1,.36,1) backwards V1MMBW_genuiReveal}.V1MMBW_btnSent{animation:.2s backwards V1MMBW_genuiPopIn}@media (prefers-reduced-motion:reduce){.V1MMBW_reveal,.V1MMBW_btnSent{animation:none}.V1MMBW_fill,.V1MMBW_barFill,.V1MMBW_switch,.V1MMBW_switchKnob{transition:none}}.V1MMBW_tableWrap,.V1MMBW_fileTree,.V1MMBW_mermaid,.V1MMBW_panelBody{scrollbar-width:thin;scrollbar-color:var(--dsw-alias-border-l2,#ffffff38) transparent}.V1MMBW_tableWrap::-webkit-scrollbar,.V1MMBW_fileTree::-webkit-scrollbar,.V1MMBW_mermaid::-webkit-scrollbar,.V1MMBW_panelBody::-webkit-scrollbar{width:8px;height:8px}.V1MMBW_tableWrap::-webkit-scrollbar-thumb,.V1MMBW_fileTree::-webkit-scrollbar-thumb,.V1MMBW_mermaid::-webkit-scrollbar-thumb,.V1MMBW_panelBody::-webkit-scrollbar-thumb{background:var(--dsw-alias-border-l2,#ffffff38);border-radius:4px}.V1MMBW_tableWrap::-webkit-scrollbar-track,.V1MMBW_fileTree::-webkit-scrollbar-track,.V1MMBW_mermaid::-webkit-scrollbar-track,.V1MMBW_panelBody::-webkit-scrollbar-track{background:0 0}.V1MMBW_visuallyHidden{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.V1MMBW_quiz{gap:var(--dsl-g-gap-md);padding:var(--dsl-g-gap-lg);background:var(--dsw-alias-bg-layer-1);border:1px solid var(--dsl-g-border);border-radius:var(--dsl-g-radius-surface);flex-direction:column;display:flex}.V1MMBW_quizQuestion{font-size:var(--dsl-g-font-body);color:var(--dsw-alias-label-primary);font-weight:600;line-height:1.6}.V1MMBW_quizOptions{gap:var(--dsl-g-gap-sm);flex-direction:column;display:flex}.V1MMBW_quizOpt{align-items:center;gap:var(--dsl-g-gap-sm);text-align:left;background:var(--dsw-alias-bg-base,#17171a);border:1px solid var(--dsl-g-border);border-radius:var(--dsl-g-radius-control);font-size:var(--dsl-g-font-title);color:var(--dsw-alias-label-secondary);cursor:pointer;padding:10px 14px;font-family:inherit;line-height:1.5;transition:border-color .15s,background .15s;display:flex}.V1MMBW_quizOpt:hover:not(:disabled){border-color:var(--dsl-g-accent);background:var(--dsl-g-accent-soft)}.V1MMBW_quizOpt:focus-visible,.V1MMBW_button:focus-visible,.V1MMBW_tab:focus-visible,.V1MMBW_accHead:focus-visible,.V1MMBW_copyChip:focus-visible,.V1MMBW_link:focus-visible,.V1MMBW_quizRetry:focus-visible,.V1MMBW_resetBtn:focus-visible,.V1MMBW_playBtn:focus-visible,.V1MMBW_bcText:focus-visible{outline:2px solid var(--dsl-g-accent);outline-offset:1px}.V1MMBW_quizOpt:disabled{cursor:default;opacity:.85}.V1MMBW_quizOptCorrect{align-items:center;gap:var(--dsl-g-gap-sm);text-align:left;background:color-mix(in srgb, var(--dsw-alias-state-success-primary,#3ecf8e) var(--dsl-g-tint), transparent);border:1px solid color-mix(in srgb, var(--dsw-alias-state-success-primary,#3ecf8e) 40%, transparent);border-radius:var(--dsl-g-radius-control);font-size:var(--dsl-g-font-title);color:var(--dsw-alias-state-success-primary,#3ecf8e);padding:10px 14px;font-family:inherit;font-weight:600;line-height:1.5;display:flex}.V1MMBW_quizOptWrong{align-items:center;gap:var(--dsl-g-gap-sm);text-align:left;background:color-mix(in srgb, var(--dsw-alias-state-error-primary,#ff6b6b) var(--dsl-g-tint), transparent);border:1px solid color-mix(in srgb, var(--dsw-alias-state-error-primary,#ff6b6b) 30%, transparent);border-radius:var(--dsl-g-radius-control);font-size:var(--dsl-g-font-title);color:var(--dsw-alias-state-error-primary,#ff6b6b);padding:10px 14px;font-family:inherit;font-weight:600;line-height:1.5;display:flex}.V1MMBW_quizOptReveal{align-items:center;gap:var(--dsl-g-gap-sm);text-align:left;background:color-mix(in srgb, var(--dsw-alias-state-success-primary,#3ecf8e) var(--dsl-g-tint), transparent);border:1px dashed color-mix(in srgb, var(--dsw-alias-state-success-primary,#3ecf8e) 40%, transparent);border-radius:var(--dsl-g-radius-control);font-size:var(--dsl-g-font-title);color:var(--dsw-alias-state-success-primary,#3ecf8e);padding:10px 14px;font-family:inherit;line-height:1.5;display:flex}.V1MMBW_quizMarker{text-align:center;width:14px;color:var(--dsw-alias-label-tertiary);flex-shrink:0;font-weight:700;display:inline-block}.V1MMBW_quizOptCorrect .V1MMBW_quizMarker{color:var(--dsw-alias-state-success-primary,#3ecf8e)}.V1MMBW_quizOptWrong .V1MMBW_quizMarker{color:var(--dsw-alias-state-error-primary,#ff6b6b)}.V1MMBW_quizResult{gap:var(--dsl-g-gap-sm);flex-direction:column;display:flex}.V1MMBW_quizCorrectMsg{font-size:var(--dsl-g-font-title);color:var(--dsw-alias-state-success-primary,#3ecf8e);font-weight:600}.V1MMBW_quizWrongMsg{font-size:var(--dsl-g-font-title);color:var(--dsw-alias-state-error-primary,#ff6b6b);font-weight:600}.V1MMBW_quizFeedback{font-size:var(--dsl-g-font-meta);color:var(--dsw-alias-label-secondary);margin-top:3px;font-weight:400;line-height:1.5}.V1MMBW_quizExplanation{font-size:var(--dsl-g-font-meta);color:var(--dsw-alias-label-tertiary);padding:var(--dsl-g-gap-sm) 10px;border-top:1px solid var(--dsl-g-border);line-height:1.6}.V1MMBW_quizRetry{border:1px solid var(--dsl-g-border);width:fit-content;color:var(--dsw-alias-label-secondary);border-radius:var(--dsl-g-radius-control);font-size:var(--dsl-g-font-title);cursor:pointer;background:0 0;padding:6px 14px;font-family:inherit}.V1MMBW_quizRetry:hover{border-color:var(--dsl-g-accent);color:var(--dsl-g-accent)}.V1MMBW_tool{margin:4px 0}.V1MMBW_toolFallback{align-items:center;gap:var(--dsl-g-gap-md);padding:var(--dsl-g-gap-sm) 12px;border:1px solid var(--dsl-g-border);border-radius:var(--dsl-g-radius-surface);background:var(--dsw-alias-bg-layer-1,var(--dsw-alias-markdown-code-block));font-size:var(--dsl-g-font-title);display:flex}.V1MMBW_toolFallbackTitle{color:var(--dsw-alias-label-primary);font-weight:600}.V1MMBW_toolFallbackMeta{color:var(--dsw-alias-label-secondary);font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.V1MMBW_panel{width:calc(100% - var(--dsh-composer-side-clearance,16px) * 2 - var(--dsh-composer-dock-inset,8px) * 4);max-width:calc(var(--dsh-composer-card-max-width,780px) - var(--dsh-composer-dock-inset,8px) * 4);border:1px solid color-mix(in srgb, var(--dsw-alias-state-business-primary,#4f8ef7) 35%, transparent);background:var(--dsw-alias-bg-layer-1,#ffffff0a);border-radius:12px;margin:10px auto 2px;overflow:hidden}.V1MMBW_panelHeader{border-bottom:1px solid var(--dsw-alias-border-l1,#7f7f7f40);align-items:center;display:flex}.V1MMBW_panelToggle{min-width:0;color:inherit;font:inherit;font-size:var(--dsl-g-font-title);cursor:pointer;background:0 0;border:0;flex:auto;align-items:center;gap:10px;padding:9px 14px;display:flex}.V1MMBW_panelToggle:hover{background:#ffffff0a}.V1MMBW_panelClose{width:26px;height:26px;color:inherit;cursor:pointer;opacity:.65;background:0 0;border:0;border-radius:6px;flex:none;justify-content:center;align-items:center;margin-right:8px;padding:0;font-size:13px;line-height:1;display:flex}.V1MMBW_panelClose:hover{opacity:1;background:#ffffff14}.V1MMBW_panelClose:focus-visible{outline:1px solid var(--dsw-alias-state-business-primary,#4f8ef7);outline-offset:1px;opacity:1}.V1MMBW_panelTpl{border:1px solid var(--dsw-alias-border-l1,#ffffff1f);height:26px;color:var(--dsw-alias-label-secondary,#fff9);cursor:pointer;opacity:.85;background:0 0;border-radius:8px;flex:none;align-items:center;margin-right:4px;padding:0 10px;font-size:12px;line-height:1.5;display:flex}.V1MMBW_panelTpl:hover{opacity:1;background:#ffffff14}.V1MMBW_panelTplActive{border-color:var(--dsw-alias-state-business-primary,#4f8ef7);color:var(--dsw-alias-state-business-primary,#4f8ef7)}.V1MMBW_panelOnboard .V1MMBW_panelHeader{cursor:default}.V1MMBW_panelOnboardText{min-width:0;color:var(--dsw-alias-label-secondary,#fff9);flex:1;padding:0 8px;font-size:12px;line-height:1.5}.V1MMBW_panelFlash{border-top:1px solid var(--dsw-alias-border-l1,#ffffff1f);color:var(--dsw-alias-state-success-primary,#6ccb5f);background:color-mix(in srgb, var(--dsw-alias-state-success-primary,#6ccb5f) 8%, transparent);padding:6px 12px;font-size:12px;line-height:1.5}.V1MMBW_panelHint{border-top:1px solid var(--dsw-alias-border-l1,#ffffff1f);color:var(--dsw-alias-state-business-primary,#4f8ef7);background:color-mix(in srgb, var(--dsw-alias-state-business-primary,#4f8ef7) 8%, transparent);padding:6px 14px;font-size:12px;line-height:1.5}.V1MMBW_achToasts{z-index:9999;pointer-events:none;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:16px;right:16px}.V1MMBW_achToast{border:1px solid color-mix(in srgb, var(--dsw-alias-state-business-primary,#4f8ef7) 35%, transparent);border-radius:var(--dsl-g-radius-surface,12px);background:var(--dsw-alias-bg-layer-2,#000000d9);align-items:flex-start;gap:10px;width:300px;padding:10px 12px;display:flex;box-shadow:0 8px 24px #00000040}.V1MMBW_achToastBadge{flex:none;font-size:18px;line-height:1.2}.V1MMBW_achToastBody{min-width:0}.V1MMBW_achToastName{color:var(--dsw-alias-state-business-primary,#4f8ef7);font-size:13px;font-weight:600}.V1MMBW_achToastDesc{color:var(--dsw-alias-label-secondary,#fff9);margin-top:2px;font-size:12px;line-height:1.5}.V1MMBW_panelBadge{padding:0 var(--dsl-g-gap-sm);background:color-mix(in srgb, var(--dsw-alias-state-business-primary,#4f8ef7) var(--dsl-g-tint-strong), transparent);color:var(--dsw-alias-state-business-primary,#7ba8ff);letter-spacing:.04em;border-radius:6px;flex:none;font-size:11px;font-weight:600;line-height:1.6}.V1MMBW_panelTitle{color:var(--dsw-alias-label-primary,#e6e6e6);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.V1MMBW_panelChevron{color:var(--dsw-alias-label-tertiary);flex:none;place-items:center;margin-left:auto;display:grid}.V1MMBW_panelBody{height:360px;padding:0 16px var(--dsl-g-gap-lg);overflow-y:auto}.V1MMBW_panelResizeHandle{cursor:ns-resize;touch-action:none;background:0 0;border-radius:3px;height:6px;transition:background .15s}.V1MMBW_panelResizeHandle:hover,.V1MMBW_panelResizeHandleActive{background:color-mix(in srgb, var(--dsw-alias-state-business-primary,#4f8ef7) 35%, transparent)}.V1MMBW_inlineMath{display:inline}.V1MMBW_inlineMath [class~=katex-display]{max-width:100%;overflow:auto hidden}`,document.head.appendChild(e)}var w={accBody:`V1MMBW_accBody`,accChevron:`V1MMBW_accChevron`,accHead:`V1MMBW_accHead`,accItem:`V1MMBW_accItem`,accent:`V1MMBW_accent`,accordion:`V1MMBW_accordion`,achToast:`V1MMBW_achToast`,achToastBadge:`V1MMBW_achToastBadge`,achToastBody:`V1MMBW_achToastBody`,achToastDesc:`V1MMBW_achToastDesc`,achToastName:`V1MMBW_achToastName`,achToasts:`V1MMBW_achToasts`,avatar:`V1MMBW_avatar`,badge:`V1MMBW_badge`,banner:`V1MMBW_banner`,barCol:`V1MMBW_barCol`,barFill:`V1MMBW_barFill`,barLabel:`V1MMBW_barLabel`,barValue:`V1MMBW_barValue`,baseline:`V1MMBW_baseline`,bcCurrent:`V1MMBW_bcCurrent`,bcItem:`V1MMBW_bcItem`,bcSep:`V1MMBW_bcSep`,bcText:`V1MMBW_bcText`,block:`V1MMBW_block`,body:`V1MMBW_body`,breadcrumb:`V1MMBW_breadcrumb`,btnSent:`V1MMBW_btnSent`,button:`V1MMBW_button`,callout:`V1MMBW_callout`,calloutBody:`V1MMBW_calloutBody`,calloutError:`V1MMBW_calloutError`,calloutInfo:`V1MMBW_calloutInfo`,calloutSuccess:`V1MMBW_calloutSuccess`,calloutTitle:`V1MMBW_calloutTitle`,calloutWarning:`V1MMBW_calloutWarning`,caption:`V1MMBW_caption`,card:`V1MMBW_card`,cardDanger:`V1MMBW_cardDanger`,cardInfo:`V1MMBW_cardInfo`,cardSuccess:`V1MMBW_cardSuccess`,cardTitle:`V1MMBW_cardTitle`,cardWarning:`V1MMBW_cardWarning`,cellBadge:`V1MMBW_cellBadge`,cellBar:`V1MMBW_cellBar`,cellBarFill:`V1MMBW_cellBarFill`,cellBarText:`V1MMBW_cellBarText`,cellIndex:`V1MMBW_cellIndex`,cellRing:`V1MMBW_cellRing`,cellRingText:`V1MMBW_cellRingText`,cellSpark:`V1MMBW_cellSpark`,center:`V1MMBW_center`,chart:`V1MMBW_chart`,chartBody:`V1MMBW_chartBody`,chartLabels:`V1MMBW_chartLabels`,chartLegend:`V1MMBW_chartLegend`,chartPlot:`V1MMBW_chartPlot`,chartTip:`V1MMBW_chartTip`,chartTipRow:`V1MMBW_chartTipRow`,chartTipValue:`V1MMBW_chartTipValue`,chartYAxis:`V1MMBW_chartYAxis`,chartYTick:`V1MMBW_chartYTick`,checkbox:`V1MMBW_checkbox`,col:`V1MMBW_col`,copyChip:`V1MMBW_copyChip`,copyChipDone:`V1MMBW_copyChipDone`,danger:`V1MMBW_danger`,detailBody:`V1MMBW_detailBody`,detailCell:`V1MMBW_detailCell`,detailChevron:`V1MMBW_detailChevron`,detailRow:`V1MMBW_detailRow`,detailToggle:`V1MMBW_detailToggle`,divider:`V1MMBW_divider`,donut:`V1MMBW_donut`,donutLegend:`V1MMBW_donutLegend`,donutPct:`V1MMBW_donutPct`,donutSeg:`V1MMBW_donutSeg`,donutTotal:`V1MMBW_donutTotal`,donutTotalLabel:`V1MMBW_donutTotalLabel`,donutTrack:`V1MMBW_donutTrack`,down:`V1MMBW_down`,"dsl-skeleton":`V1MMBW_dsl-skeleton`,echartCanvas:`V1MMBW_echartCanvas`,echartErr:`V1MMBW_echartErr`,echartFallback:`V1MMBW_echartFallback`,echartHint:`V1MMBW_echartHint`,echartTitle:`V1MMBW_echartTitle`,echartWrap:`V1MMBW_echartWrap`,field:`V1MMBW_field`,fieldGroup:`V1MMBW_fieldGroup`,fieldLabel:`V1MMBW_fieldLabel`,fileTree:`V1MMBW_fileTree`,fill:`V1MMBW_fill`,filterHint:`V1MMBW_filterHint`,filterRow:`V1MMBW_filterRow`,ftChevron:`V1MMBW_ftChevron`,ftChildren:`V1MMBW_ftChildren`,ftDir:`V1MMBW_ftDir`,ftGlyph:`V1MMBW_ftGlyph`,ftGlyphDir:`V1MMBW_ftGlyphDir`,ftGuide:`V1MMBW_ftGuide`,ftName:`V1MMBW_ftName`,ftNameBtn:`V1MMBW_ftNameBtn`,ftRow:`V1MMBW_ftRow`,full:`V1MMBW_full`,genuiPopIn:`V1MMBW_genuiPopIn`,genuiReveal:`V1MMBW_genuiReveal`,ghost:`V1MMBW_ghost`,gradeAns:`V1MMBW_gradeAns`,gradeExp:`V1MMBW_gradeExp`,gradeItem:`V1MMBW_gradeItem`,gradeItemNo:`V1MMBW_gradeItemNo`,gradeItemOk:`V1MMBW_gradeItemOk`,gradeList:`V1MMBW_gradeList`,gradeQ:`V1MMBW_gradeQ`,gradeRight:`V1MMBW_gradeRight`,gradeScore:`V1MMBW_gradeScore`,gradeScoreLabel:`V1MMBW_gradeScoreLabel`,gradeScoreValue:`V1MMBW_gradeScoreValue`,gradeTag:`V1MMBW_gradeTag`,gradeWrap:`V1MMBW_gradeWrap`,grid:`V1MMBW_grid`,gridSpan:`V1MMBW_gridSpan`,gridline:`V1MMBW_gridline`,groupChevron:`V1MMBW_groupChevron`,groupChild:`V1MMBW_groupChild`,groupCount:`V1MMBW_groupCount`,groupRow:`V1MMBW_groupRow`,groupToggle:`V1MMBW_groupToggle`,groupValue:`V1MMBW_groupValue`,groupedBar:`V1MMBW_groupedBar`,groupedBars:`V1MMBW_groupedBars`,groupedFill:`V1MMBW_groupedFill`,h1:`V1MMBW_h1`,h2:`V1MMBW_h2`,h3:`V1MMBW_h3`,hbarFill:`V1MMBW_hbarFill`,hbarLabel:`V1MMBW_hbarLabel`,hbarRow:`V1MMBW_hbarRow`,hbarSeg:`V1MMBW_hbarSeg`,hbarTrack:`V1MMBW_hbarTrack`,hbarTracks:`V1MMBW_hbarTracks`,hbarValue:`V1MMBW_hbarValue`,hbars:`V1MMBW_hbars`,hero:`V1MMBW_hero`,heroDanger:`V1MMBW_heroDanger`,heroLabel:`V1MMBW_heroLabel`,heroSpark:`V1MMBW_heroSpark`,heroSubtitle:`V1MMBW_heroSubtitle`,heroSuccess:`V1MMBW_heroSuccess`,heroTitle:`V1MMBW_heroTitle`,heroTop:`V1MMBW_heroTop`,heroUnit:`V1MMBW_heroUnit`,heroValue:`V1MMBW_heroValue`,heroWarning:`V1MMBW_heroWarning`,inlineCode:`V1MMBW_inlineCode`,inlineLink:`V1MMBW_inlineLink`,inlineMark:`V1MMBW_inlineMark`,inlineMath:`V1MMBW_inlineMath`,inlineStrong:`V1MMBW_inlineStrong`,input:`V1MMBW_input`,jsonScalar:`V1MMBW_jsonScalar`,keyvalue:`V1MMBW_keyvalue`,kvKey:`V1MMBW_kvKey`,kvRow:`V1MMBW_kvRow`,kvValue:`V1MMBW_kvValue`,legendItem:`V1MMBW_legendItem`,legendSwatch:`V1MMBW_legendSwatch`,li:`V1MMBW_li`,liDesc:`V1MMBW_liDesc`,liTitle:`V1MMBW_liTitle`,lineArea:`V1MMBW_lineArea`,lineChart:`V1MMBW_lineChart`,lineDot:`V1MMBW_lineDot`,lineGrid:`V1MMBW_lineGrid`,lineGridAxis:`V1MMBW_lineGridAxis`,lineLabel:`V1MMBW_lineLabel`,lineLabels:`V1MMBW_lineLabels`,linePath:`V1MMBW_linePath`,lineTick:`V1MMBW_lineTick`,link:`V1MMBW_link`,linkText:`V1MMBW_linkText`,list:`V1MMBW_list`,media:`V1MMBW_media`,mediaError:`V1MMBW_mediaError`,mediaLabel:`V1MMBW_mediaLabel`,mediaPlayer:`V1MMBW_mediaPlayer`,mermaid:`V1MMBW_mermaid`,mermaidErr:`V1MMBW_mermaidErr`,mermaidFallback:`V1MMBW_mermaidFallback`,mermaidHint:`V1MMBW_mermaidHint`,muted:`V1MMBW_muted`,panel:`V1MMBW_panel`,panelBadge:`V1MMBW_panelBadge`,panelBody:`V1MMBW_panelBody`,panelChevron:`V1MMBW_panelChevron`,panelClose:`V1MMBW_panelClose`,panelFlash:`V1MMBW_panelFlash`,panelHeader:`V1MMBW_panelHeader`,panelHint:`V1MMBW_panelHint`,panelOnboard:`V1MMBW_panelOnboard`,panelOnboardText:`V1MMBW_panelOnboardText`,panelResizeHandle:`V1MMBW_panelResizeHandle`,panelResizeHandleActive:`V1MMBW_panelResizeHandleActive`,panelTitle:`V1MMBW_panelTitle`,panelToggle:`V1MMBW_panelToggle`,panelTpl:`V1MMBW_panelTpl`,panelTplActive:`V1MMBW_panelTplActive`,playBtn:`V1MMBW_playBtn`,primary:`V1MMBW_primary`,progress:`V1MMBW_progress`,progressRow:`V1MMBW_progressRow`,quiz:`V1MMBW_quiz`,quizCorrectMsg:`V1MMBW_quizCorrectMsg`,quizExplanation:`V1MMBW_quizExplanation`,quizFeedback:`V1MMBW_quizFeedback`,quizMarker:`V1MMBW_quizMarker`,quizOpt:`V1MMBW_quizOpt`,quizOptCorrect:`V1MMBW_quizOptCorrect`,quizOptReveal:`V1MMBW_quizOptReveal`,quizOptWrong:`V1MMBW_quizOptWrong`,quizOptions:`V1MMBW_quizOptions`,quizQuestion:`V1MMBW_quizQuestion`,quizResult:`V1MMBW_quizResult`,quizRetry:`V1MMBW_quizRetry`,quizWrongMsg:`V1MMBW_quizWrongMsg`,radio:`V1MMBW_radio`,resetBtn:`V1MMBW_resetBtn`,reveal:`V1MMBW_reveal`,ring:`V1MMBW_ring`,ringFill:`V1MMBW_ringFill`,ringLabel:`V1MMBW_ringLabel`,ringMeta:`V1MMBW_ringMeta`,ringSub:`V1MMBW_ringSub`,ringTrack:`V1MMBW_ringTrack`,ringValue:`V1MMBW_ringValue`,row:`V1MMBW_row`,scene3dCanvas:`V1MMBW_scene3dCanvas`,scene3dHint:`V1MMBW_scene3dHint`,scene3dTitle:`V1MMBW_scene3dTitle`,scene3dWrap:`V1MMBW_scene3dWrap`,select:`V1MMBW_select`,skeleton:`V1MMBW_skeleton`,skeletonBars:`V1MMBW_skeletonBars`,skeletonBlock:`V1MMBW_skeletonBlock`,skeletonTitle:`V1MMBW_skeletonTitle`,sliderInput:`V1MMBW_sliderInput`,sliderRow:`V1MMBW_sliderRow`,sliderValue:`V1MMBW_sliderValue`,small:`V1MMBW_small`,spacer:`V1MMBW_spacer`,stack:`V1MMBW_stack`,stackSeg:`V1MMBW_stackSeg`,stackValue:`V1MMBW_stackValue`,stat:`V1MMBW_stat`,statDelta:`V1MMBW_statDelta`,statHero:`V1MMBW_statHero`,statLabel:`V1MMBW_statLabel`,statSpark:`V1MMBW_statSpark`,statUnit:`V1MMBW_statUnit`,statValue:`V1MMBW_statValue`,step:`V1MMBW_step`,stepActive:`V1MMBW_stepActive`,stepContent:`V1MMBW_stepContent`,stepDesc:`V1MMBW_stepDesc`,stepDone:`V1MMBW_stepDone`,stepMarker:`V1MMBW_stepMarker`,stepTitle:`V1MMBW_stepTitle`,steps:`V1MMBW_steps`,submit:`V1MMBW_submit`,submitHint:`V1MMBW_submitHint`,submitRow:`V1MMBW_submitRow`,success:`V1MMBW_success`,switch:`V1MMBW_switch`,switchKnob:`V1MMBW_switchKnob`,switchLabel:`V1MMBW_switchLabel`,switchOn:`V1MMBW_switchOn`,switchRow:`V1MMBW_switchRow`,tab:`V1MMBW_tab`,tabActive:`V1MMBW_tabActive`,tabBar:`V1MMBW_tabBar`,table:`V1MMBW_table`,tableTool:`V1MMBW_tableTool`,tableTools:`V1MMBW_tableTools`,tableWrap:`V1MMBW_tableWrap`,tabs:`V1MMBW_tabs`,targetMark:`V1MMBW_targetMark`,tdDelta:`V1MMBW_tdDelta`,tdDeltaDown:`V1MMBW_tdDeltaDown`,tdDeltaUp:`V1MMBW_tdDeltaUp`,tdNum:`V1MMBW_tdNum`,text:`V1MMBW_text`,textarea:`V1MMBW_textarea`,thNum:`V1MMBW_thNum`,thSort:`V1MMBW_thSort`,thSortMark:`V1MMBW_thSortMark`,timeline:`V1MMBW_timeline`,tlBody:`V1MMBW_tlBody`,tlDesc:`V1MMBW_tlDesc`,tlDot:`V1MMBW_tlDot`,tlHead:`V1MMBW_tlHead`,tlItem:`V1MMBW_tlItem`,tlLine:`V1MMBW_tlLine`,tlRail:`V1MMBW_tlRail`,tlTime:`V1MMBW_tlTime`,tlTitle:`V1MMBW_tlTitle`,tool:`V1MMBW_tool`,toolFallback:`V1MMBW_toolFallback`,toolFallbackMeta:`V1MMBW_toolFallbackMeta`,toolFallbackTitle:`V1MMBW_toolFallbackTitle`,track:`V1MMBW_track`,up:`V1MMBW_up`,videoPlayer:`V1MMBW_videoPlayer`,visuallyHidden:`V1MMBW_visuallyHidden`,warn:`V1MMBW_warn`,wrap:`V1MMBW_wrap`},T=class e extends Error{constructor(t,n){var r=`KaTeX parse error: `+t,i,a,o=n&&n.loc;if(o&&o.start<=o.end){var s=o.lexer.input;i=o.start,a=o.end,i===s.length?r+=` at end of input: `:r+=` at position `+(i+1)+`: `;var c=s.slice(i,a).replace(/[^]/g,`$&̲`),l=i>15?`…`+s.slice(i-15,i):s.slice(0,i),u=a+15<s.length?s.slice(a,a+15)+`…`:s.slice(a);r+=l+c+u}super(r),this.name=`ParseError`,this.position=void 0,this.length=void 0,this.rawMessage=void 0,Object.setPrototypeOf(this,e.prototype),this.position=i,i!=null&&a!=null&&(this.length=a-i),this.rawMessage=t}},E=/([A-Z])/g,ee=e=>e.replace(E,`-$1`).toLowerCase(),te={"&":`&amp;`,">":`&gt;`,"<":`&lt;`,'"':`&quot;`,"'":`&#x27;`},ne=/[&><"']/g,D=e=>String(e).replace(ne,e=>te[e]),re=e=>e.type===`ordgroup`||e.type===`color`?e.body.length===1?re(e.body[0]):e:e.type===`font`?re(e.body):e,ie=new Set([`mathord`,`textord`,`atom`]),ae=e=>ie.has(re(e).type),oe=e=>{var t=/^[\x00-\x20]*([^\\/#?]*?)(:|&#0*58|&#x0*3a|&colon)/i.exec(e);return t?t[2]!==`:`||!/^[a-zA-Z][a-zA-Z0-9+\-.]*$/.test(t[1])?null:t[1].toLowerCase():`_relative`},se={displayMode:{type:`boolean`,description:`Render math in display mode, which puts the math in display style (so \\int and \\sum are large, for example), and centers the math on the page on its own line.`,cli:`-d, --display-mode`},output:{type:{enum:[`htmlAndMathml`,`html`,`mathml`]},description:`Determines the markup language of the output.`,cli:`-F, --format <type>`},leqno:{type:`boolean`,description:`Render display math in leqno style (left-justified tags).`},fleqn:{type:`boolean`,description:`Render display math flush left.`},throwOnError:{type:`boolean`,default:!0,cli:`-t, --no-throw-on-error`,cliDescription:`Render errors (in the color given by --error-color) instead of throwing a ParseError exception when encountering an error.`},errorColor:{type:`string`,default:`#cc0000`,cli:`-c, --error-color <color>`,cliDescription:`A color string given in the format 'rgb' or 'rrggbb' (no #). This option determines the color of errors rendered by the -t option.`,cliProcessor:e=>`#`+e},macros:{type:`object`,cli:`-m, --macro <def>`,cliDescription:`Define custom macro of the form '\\foo:expansion' (use multiple -m arguments for multiple macros).`,cliDefault:[],cliProcessor:(e,t)=>(t.push(e),t)},minRuleThickness:{type:`number`,description:"Specifies a minimum thickness, in ems, for fraction lines, `\\sqrt` top lines, `{array}` vertical lines, `\\hline`, `\\hdashline`, `\\underline`, `\\overline`, and the borders of `\\fbox`, `\\boxed`, and `\\fcolorbox`.",processor:e=>Math.max(0,e),cli:`--min-rule-thickness <size>`,cliProcessor:parseFloat},colorIsTextColor:{type:`boolean`,description:`Makes \\color behave like LaTeX's 2-argument \\textcolor, instead of LaTeX's one-argument \\color mode change.`,cli:`-b, --color-is-text-color`},strict:{type:[{enum:[`warn`,`ignore`,`error`]},`boolean`,`function`],description:`Turn on strict / LaTeX faithfulness mode, which throws an error if the input uses features that are not supported by LaTeX.`,cli:`-S, --strict`,cliDefault:!1},trust:{type:[`boolean`,`function`],description:`Trust the input, enabling all HTML features such as \\url.`,cli:`-T, --trust`},maxSize:{type:`number`,default:1/0,description:`If non-zero, all user-specified sizes, e.g. in \\rule{500em}{500em}, will be capped to maxSize ems. Otherwise, elements and spaces can be arbitrarily large`,processor:e=>Math.max(0,e),cli:`-s, --max-size <n>`,cliProcessor:parseInt},maxExpand:{type:`number`,default:1e3,description:`Limit the number of macro expansions to the specified number, to prevent e.g. infinite macro loops. If set to Infinity, the macro expander will try to fully expand as in LaTeX.`,processor:e=>Math.max(0,e),cli:`-e, --max-expand <n>`,cliProcessor:e=>e===`Infinity`?1/0:parseInt(e)},globalGroup:{type:`boolean`,cli:!1}};function ce(e){if(typeof e!=`string`)return e.enum[0];switch(e){case`boolean`:return!1;case`string`:return``;case`number`:return 0;case`object`:return{};default:throw Error(`Unexpected schema type; settings must declare an explicit default.`)}}function le(e){return e.default===void 0?ce(Array.isArray(e.type)?e.type[0]:e.type):e.default}function ue(e,t,n,r){var i=n[t];e[t]=i===void 0?le(r):r.processor?r.processor(i):i}var de=class{constructor(e){e===void 0&&(e={}),this.displayMode=void 0,this.output=void 0,this.leqno=void 0,this.fleqn=void 0,this.throwOnError=void 0,this.errorColor=void 0,this.macros=void 0,this.minRuleThickness=void 0,this.colorIsTextColor=void 0,this.strict=void 0,this.trust=void 0,this.maxSize=void 0,this.maxExpand=void 0,this.globalGroup=void 0,e||={};for(var t of Object.keys(se)){var n=se[t];n&&ue(this,t,e,n)}}reportNonstrict(e,t,n){var r=this.strict;if(typeof r==`function`&&(r=r(e,t,n)),!(!r||r===`ignore`)){if(r===!0||r===`error`)throw new T(`LaTeX-incompatible input and strict mode is set to 'error': `+(t+` [`+e+`]`),n);r===`warn`?typeof console<`u`&&console.warn(`LaTeX-incompatible input and strict mode is set to 'warn': `+(t+` [`+e+`]`)):typeof console<`u`&&console.warn(`LaTeX-incompatible input and strict mode is set to `+(`unrecognized '`+r+`': `+t+` [`+e+`]`))}}useStrictBehavior(e,t,n){var r=this.strict;if(typeof r==`function`)try{r=r(e,t,n)}catch{r=`error`}return!r||r===`ignore`?!1:r===!0||r===`error`?!0:r===`warn`?(typeof console<`u`&&console.warn(`LaTeX-incompatible input and strict mode is set to 'warn': `+(t+` [`+e+`]`)),!1):(typeof console<`u`&&console.warn(`LaTeX-incompatible input and strict mode is set to `+(`unrecognized '`+r+`': `+t+` [`+e+`]`)),!1)}isTrusted(e){if(`url`in e&&e.url&&!e.protocol){var t=oe(e.url);if(t==null)return!1;e.protocol=t}return!!(typeof this.trust==`function`?this.trust(e):this.trust)}},fe=class{constructor(e,t,n){this.id=void 0,this.size=void 0,this.cramped=void 0,this.id=e,this.size=t,this.cramped=n}sup(){return xe[Se[this.id]]}sub(){return xe[Ce[this.id]]}fracNum(){return xe[we[this.id]]}fracDen(){return xe[Te[this.id]]}cramp(){return xe[Ee[this.id]]}text(){return xe[De[this.id]]}isTight(){return this.size>=2}},pe=0,me=1,he=2,ge=3,_e=4,ve=5,ye=6,be=7,xe=[new fe(pe,0,!1),new fe(me,0,!0),new fe(he,1,!1),new fe(ge,1,!0),new fe(_e,2,!1),new fe(ve,2,!0),new fe(ye,3,!1),new fe(be,3,!0)],Se=[_e,ve,_e,ve,ye,be,ye,be],Ce=[ve,ve,ve,ve,be,be,be,be],we=[he,ge,_e,ve,ye,be,ye,be],Te=[ge,ge,ve,ve,be,be,be,be],Ee=[me,me,ge,ge,ve,ve,be,be],De=[pe,me,he,ge,he,ge,he,ge],O={DISPLAY:xe[pe],TEXT:xe[he],SCRIPT:xe[_e],SCRIPTSCRIPT:xe[ye]},Oe=[{name:`latin`,blocks:[[256,591],[768,879]]},{name:`cyrillic`,blocks:[[1024,1279]]},{name:`armenian`,blocks:[[1328,1423]]},{name:`brahmic`,blocks:[[2304,4255]]},{name:`georgian`,blocks:[[4256,4351]]},{name:`cjk`,blocks:[[12288,12543],[19968,40879],[65280,65376]]},{name:`hangul`,blocks:[[44032,55215]]}];function ke(e){for(var t=0;t<Oe.length;t++)for(var n=Oe[t],r=0;r<n.blocks.length;r++){var i=n.blocks[r];if(e>=i[0]&&e<=i[1])return n.name}return null}var Ae=[];Oe.forEach(e=>e.blocks.forEach(e=>Ae.push(...e)));function je(e){for(var t=0;t<Ae.length;t+=2)if(e>=Ae[t]&&e<=Ae[t+1])return!0;return!1}var Me=e=>e+` `+e,Ne=80,Pe=function(e,t){return`M95,`+(622+e+t)+`
1
+ window.__ModuleLoader__.load({id:`@changfenhuang/dsh-genui`,factory:e=>{var t={exports:{}},n=t.exports;Object.defineProperty(n,Symbol.toStringTag,{value:`Module`});var r=Object.create,i=Object.defineProperty,a=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyNames,s=Object.getPrototypeOf,c=Object.prototype.hasOwnProperty,l=(e,t,n)=>()=>{if(n)throw n[0];try{return e&&(t=e(e=0)),t}catch(e){throw n=[e],e}},u=(e,t)=>{let n={};for(var r in e)i(n,r,{get:e[r],enumerable:!0});return t||i(n,Symbol.toStringTag,{value:`Module`}),n},d=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var s=o(t),l=0,u=s.length,d;l<u;l++)d=s[l],!c.call(e,d)&&d!==n&&i(e,d,{get:(e=>t[e]).bind(null,d),enumerable:!(r=a(t,d))||r.enumerable});return e},f=(e,t,n)=>(n=e==null?{}:r(s(e)),d(t||!e||!e.__esModule||!c.call(e,`default`)?i(n,`default`,{value:e,enumerable:!0}):n,e));let p=e("@deepseek-ai/dsh-client-ui-primitives");p=f(p,1);let m=e("react"),h=e("react-dom/client"),g=e("react/jsx-runtime"),_=p,v=_.getGenuiComponent,y=_.GenuiActionContext,b=(0,m.createContext)(void 0),x=y??b;function S(){return(0,m.useContext)(x)}let C=`@changfenhuang/dsh-genui/GenuiBlock.module.css`;if(typeof document<`u`&&document.querySelector(`style[data-plugin-css=`+JSON.stringify(C)+`]`)===null){let e=document.createElement(`style`);e.dataset.plugin=`@changfenhuang/dsh-genui`,e.dataset.pluginCss=C,e.textContent=`body[data-ds-dark-theme] .V1MMBW_block,body[data-ds-dark-theme] .V1MMBW_panel{--dsl-g-surface:color-mix(in srgb, var(--dsw-alias-label-primary) 4%, var(--dsw-alias-bg-layer-2,var(--dsw-alias-bg-layer-1,var(--dsw-alias-markdown-code-block,transparent))));--dsl-g-shadow-card:0 1px 2px #0000003d, 0 8px 24px #0000002e}.V1MMBW_block,.V1MMBW_panel{--dsl-g-radius-surface:12px;--dsl-g-radius-control:8px;--dsl-g-radius-sm:6px;--dsl-g-radius-pill:999px;--dsl-g-font-hero:34px;--dsl-g-font-display:28px;--dsl-g-font-h1:24px;--dsl-g-font-h2:19px;--dsl-g-font-h3:16px;--dsl-g-font-body:14.5px;--dsl-g-font-title:13.5px;--dsl-g-font-meta:12.5px;--dsl-g-font-data:12px;--dsl-g-gap-lg:16px;--dsl-g-gap-md:12px;--dsl-g-gap-sm:8px;--dsl-g-gap-xs:4px;--dsl-g-border:var(--dsw-alias-border-l1,var(--dsw-alias-border-l2,#ffffff1f));--dsl-g-border-strong:var(--dsw-alias-border-l2,#ffffff1f);--dsl-g-accent:var(--dsw-alias-state-business-primary,#4f8ef7);--dsl-g-accent-soft:color-mix(in srgb, var(--dsl-g-accent) var(--dsl-g-tint), transparent);--dsl-g-hover:color-mix(in srgb, var(--dsw-alias-label-primary) 4%, transparent);--dsl-g-zebra:color-mix(in srgb, var(--dsw-alias-label-primary) 2.5%, transparent);--dsl-g-tint:8%;--dsl-g-tint-strong:14%;--dsl-g-font-mono:var(--ds-font-family-code,ui-monospace, "SF Mono", monospace);--dsl-g-surface:var(--dsw-alias-bg-layer-2,var(--dsw-alias-bg-layer-1,var(--dsw-alias-markdown-code-block,#fff)));--dsl-g-border-surface:color-mix(in srgb, var(--dsw-alias-label-primary) 12%, transparent);--dsl-g-shadow-card:0 1px 3px #0000001a, 0 8px 24px #0000000f}.V1MMBW_block{color:var(--dsw-alias-label-primary);font-variant-numeric:tabular-nums;margin:8px 0}.V1MMBW_block *,.V1MMBW_block :before,.V1MMBW_block :after,.V1MMBW_panel *,.V1MMBW_panel :before,.V1MMBW_panel :after{box-sizing:border-box}.V1MMBW_banner{letter-spacing:-.02em;color:var(--dsw-alias-label-primary);border-bottom:1px solid var(--dsl-g-border);margin-bottom:18px;padding-bottom:14px;font-size:22px;font-weight:800}.V1MMBW_col{gap:var(--dsl-g-gap-md);flex-direction:column;display:flex}.V1MMBW_row{align-items:center;gap:var(--dsl-g-gap-md);display:flex}.V1MMBW_row.V1MMBW_wrap{flex-wrap:wrap}.V1MMBW_row>.V1MMBW_card{flex:1 1 0;align-self:stretch}.V1MMBW_grid{gap:var(--dsl-g-gap-md);display:grid}.V1MMBW_gridSpan{flex-direction:column;min-width:0;display:flex}.V1MMBW_gridSpan>*{flex:1}@media (width<=560px){.V1MMBW_grid{grid-template-columns:1fr!important}.V1MMBW_row{flex-wrap:wrap}.V1MMBW_row>.V1MMBW_card{flex-basis:100%}}.V1MMBW_spacer{flex:1}.V1MMBW_divider{background:var(--dsw-alias-markdown-hr,var(--dsl-g-border));height:1px;margin:var(--dsl-g-gap-xs) 0;border:none}.V1MMBW_card{background:var(--dsl-g-surface);border:1px solid var(--dsl-g-border-surface);border-radius:var(--dsl-g-radius-surface);padding:var(--dsl-g-gap-lg);gap:var(--dsl-g-gap-md);min-width:0;box-shadow:var(--dsl-g-shadow-card);flex-direction:column;display:flex}.V1MMBW_card>:last-child{flex:auto;min-height:0}.V1MMBW_card>.V1MMBW_chart,.V1MMBW_card>.V1MMBW_lineChart,.V1MMBW_card>.V1MMBW_donut,.V1MMBW_card>.V1MMBW_hbars,.V1MMBW_card>.V1MMBW_col{justify-content:center}.V1MMBW_cardTitle{font-size:var(--dsl-g-font-h3);letter-spacing:-.01em;text-transform:none;color:var(--dsw-alias-label-secondary);font-weight:650}.V1MMBW_text{color:var(--dsw-alias-label-primary);white-space:pre-line}.V1MMBW_text.V1MMBW_h1{font-size:var(--dsl-g-font-h1);letter-spacing:-.02em;font-weight:800;line-height:1.25}.V1MMBW_text.V1MMBW_h2{font-size:var(--dsl-g-font-h2);letter-spacing:-.015em;font-weight:700;line-height:1.3}.V1MMBW_text.V1MMBW_h3{font-size:var(--dsl-g-font-h3);font-weight:650;line-height:1.45}.V1MMBW_text.V1MMBW_body{font-size:var(--dsl-g-font-body);color:var(--dsw-alias-label-primary);text-wrap:pretty;max-width:68ch;line-height:1.7}.V1MMBW_text.V1MMBW_muted{font-size:var(--dsl-g-font-title);color:var(--dsw-alias-label-secondary);line-height:1.65}.V1MMBW_text.V1MMBW_caption{font-size:var(--dsl-g-font-meta);color:var(--dsw-alias-label-secondary);line-height:1.6}.V1MMBW_text.V1MMBW_center{text-align:center}.V1MMBW_button{border:1px solid var(--dsl-g-border);background:var(--dsw-alias-bg-layer-1);color:var(--dsw-alias-label-primary);border-radius:var(--dsl-g-radius-control);padding:8px var(--dsl-g-gap-lg);font-size:var(--dsl-g-font-title);cursor:pointer;text-align:center;white-space:pre-line;align-self:flex-start;font-family:inherit;font-weight:600;line-height:1.4;transition:border-color .15s,filter .15s,background .15s,transform .1s}.V1MMBW_button:hover:not(:disabled){border-color:var(--dsl-g-accent);filter:brightness(1.06)}.V1MMBW_button.V1MMBW_primary:hover:not(:disabled){filter:brightness(1.08)}.V1MMBW_button:active:not(:disabled){filter:brightness(.97);transform:translateY(1px)}.V1MMBW_button:disabled{cursor:not-allowed;opacity:.45;filter:none;box-shadow:none;pointer-events:none}.V1MMBW_button.V1MMBW_primary{background:var(--dsl-g-accent);color:#fff;border:none;box-shadow:inset 0 1px #ffffff24}.V1MMBW_button.V1MMBW_danger{background:color-mix(in srgb, var(--dsw-alias-state-error-primary,#ff6b6b) var(--dsl-g-tint), transparent);border-color:color-mix(in srgb, var(--dsw-alias-state-error-primary,#ff6b6b) 30%, transparent);color:var(--dsw-alias-state-error-primary,#ffb3b3)}.V1MMBW_button.V1MMBW_success{background:color-mix(in srgb, var(--dsw-alias-state-success-primary,#3ecf8e) var(--dsl-g-tint), transparent);border-color:color-mix(in srgb, var(--dsw-alias-state-success-primary,#3ecf8e) 30%, transparent);color:var(--dsw-alias-state-success-secondary,#9fe8c5)}.V1MMBW_button.V1MMBW_ghost{background:0 0}.V1MMBW_button.V1MMBW_full{width:100%}.V1MMBW_button.V1MMBW_small{font-size:var(--dsl-g-font-meta);border-radius:var(--dsl-g-radius-control);padding:4px 12px}.V1MMBW_field{gap:var(--dsl-g-gap-xs);flex-direction:column;display:flex}.V1MMBW_field>span{font-size:var(--dsl-g-font-meta);color:var(--dsw-alias-label-tertiary)}.V1MMBW_input,.V1MMBW_select{background:var(--dsl-g-surface);border:1px solid var(--dsl-g-border-surface);border-radius:var(--dsl-g-radius-control);color:var(--dsw-alias-label-primary);font-size:var(--dsl-g-font-title);outline:none;width:100%;padding:8px 12px;font-family:inherit}.V1MMBW_input:focus,.V1MMBW_select:focus{border-color:var(--dsl-g-accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--dsl-g-accent) var(--dsl-g-tint-strong), transparent)}.V1MMBW_input::placeholder{color:var(--dsw-alias-label-caption,#5b6378)}.V1MMBW_checkbox{align-items:center;gap:var(--dsl-g-gap-sm);font-size:var(--dsl-g-font-title);color:var(--dsw-alias-label-secondary);cursor:pointer;display:flex}.V1MMBW_checkbox input{accent-color:var(--dsl-g-accent);width:15px;height:15px}.V1MMBW_checkbox input:focus-visible{outline:2px solid var(--dsl-g-accent);outline-offset:2px;border-radius:4px}.V1MMBW_link{color:var(--dsl-g-accent);font-size:var(--dsl-g-font-title);cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;text-decoration:none}.V1MMBW_link:hover{text-decoration:underline}.V1MMBW_linkText{color:var(--dsl-g-accent);font-size:var(--dsl-g-font-title);font-family:inherit;text-decoration:none}.V1MMBW_media{padding:var(--dsl-g-gap-md);gap:var(--dsl-g-gap-sm);background:var(--dsl-g-surface);border:1px solid var(--dsl-g-border-surface);border-radius:var(--dsl-g-radius-surface);flex-direction:column;margin:0;display:flex}.V1MMBW_mediaLabel{font-size:var(--dsl-g-font-title);color:var(--dsw-alias-label-primary);font-weight:600}.V1MMBW_mediaPlayer{border-radius:var(--dsl-g-radius-control);width:100%;min-width:0;display:block}img.V1MMBW_mediaPlayer{aspect-ratio:16/9;object-fit:cover;background:var(--dsl-g-surface)}.V1MMBW_videoPlayer{object-fit:contain;background:#000;max-height:min(70vh,720px)}.V1MMBW_mediaError{font-size:var(--dsl-g-font-title);color:var(--dsw-alias-state-error-primary,#f25a5a)}.V1MMBW_hero{border:1px solid var(--dsl-g-border-surface);background:radial-gradient(120% 140% at 100% 0%, color-mix(in srgb, var(--dsl-g-accent) 22%, transparent) 0%, transparent 58%), linear-gradient(180deg, color-mix(in srgb, var(--dsl-g-accent) 7%, transparent), transparent 70%), var(--dsw-alias-bg-layer-2,var(--dsw-alias-bg-layer-1,transparent));box-shadow:var(--dsl-g-shadow-card);border-radius:14px;flex-direction:column;gap:6px;padding:22px 24px 24px;display:flex;position:relative;overflow:hidden}.V1MMBW_heroSuccess{background:radial-gradient(120% 140% at 100% 0%, color-mix(in srgb, var(--dsw-alias-state-success-primary,#3ecf8e) 20%, transparent) 0%, transparent 58%), linear-gradient(180deg, color-mix(in srgb, var(--dsw-alias-state-success-primary,#3ecf8e) 6%, transparent), transparent 70%), var(--dsw-alias-bg-layer-2,var(--dsw-alias-bg-layer-1,transparent))}.V1MMBW_heroWarning{background:radial-gradient(120% 140% at 100% 0%, color-mix(in srgb, var(--dsw-alias-state-warn-primary,#f5b83d) 20%, transparent) 0%, transparent 58%), linear-gradient(180deg, color-mix(in srgb, var(--dsw-alias-state-warn-primary,#f5b83d) 6%, transparent), transparent 70%), var(--dsw-alias-bg-layer-2,var(--dsw-alias-bg-layer-1,transparent))}.V1MMBW_heroDanger{background:radial-gradient(120% 140% at 100% 0%, color-mix(in srgb, var(--dsw-alias-state-error-primary,#ff6b6b) 18%, transparent) 0%, transparent 58%), linear-gradient(180deg, color-mix(in srgb, var(--dsw-alias-state-error-primary,#ff6b6b) 6%, transparent), transparent 70%), var(--dsw-alias-bg-layer-2,var(--dsw-alias-bg-layer-1,transparent))}.V1MMBW_heroLabel{font-size:var(--dsl-g-font-meta);letter-spacing:.1em;text-transform:uppercase;color:var(--dsw-alias-label-secondary);font-weight:700}.V1MMBW_heroTop{align-items:baseline;gap:var(--dsl-g-gap-md);flex-wrap:wrap;display:flex}.V1MMBW_heroValue{font-family:var(--dsl-g-font-mono);letter-spacing:-.028em;color:var(--dsw-alias-label-primary);font-variant-numeric:tabular-nums;align-items:baseline;gap:4px;font-size:52px;font-weight:750;line-height:1;display:inline-flex}.V1MMBW_heroUnit{letter-spacing:0;color:var(--dsw-alias-label-secondary);font-size:.44em;font-weight:650}.V1MMBW_heroSpark{align-self:center;width:168px;margin-left:auto}.V1MMBW_heroTitle{letter-spacing:-.01em;color:var(--dsw-alias-label-primary);font-size:20px;font-weight:700;line-height:1.3}.V1MMBW_heroSubtitle{font-size:var(--dsl-g-font-title);color:var(--dsw-alias-label-secondary);text-wrap:pretty;line-height:1.6}.V1MMBW_inlineCode{font-family:var(--dsl-g-font-mono);background:var(--dsl-g-surface);border:1px solid var(--dsl-g-border-surface);white-space:nowrap;border-radius:5px;padding:1px 5px;font-size:.92em}.V1MMBW_inlineStrong{color:var(--dsw-alias-label-primary);font-weight:680}.V1MMBW_inlineMark{background:color-mix(in srgb, var(--dsl-g-accent) 20%, transparent);color:inherit;border-radius:4px;padding:0 3px}.V1MMBW_inlineLink{color:var(--dsl-g-accent);text-underline-offset:2px;text-decoration:underline}.V1MMBW_inlineLink:hover{text-decoration-thickness:2px}.V1MMBW_badge{align-items:center;gap:var(--dsl-g-gap-xs);font-size:var(--dsl-g-font-meta);letter-spacing:.01em;border-radius:var(--dsl-g-radius-pill);background:color-mix(in srgb, var(--dsw-alias-label-tertiary) var(--dsl-g-tint), transparent);width:fit-content;color:var(--dsw-alias-label-secondary);border:1px solid var(--dsl-g-border);padding:1px 10px;font-weight:500;line-height:1.5;display:inline-flex}.V1MMBW_badge.V1MMBW_success{background:color-mix(in srgb, var(--dsw-alias-state-success-primary,#3ecf8e) var(--dsl-g-tint), transparent);color:var(--dsw-alias-state-success-secondary,#7fe3b4);border-color:color-mix(in srgb, var(--dsw-alias-state-success-primary,#3ecf8e) 30%, transparent)}.V1MMBW_badge.V1MMBW_warn{background:color-mix(in srgb, var(--dsw-alias-state-warn-primary,#f5b83d) var(--dsl-g-tint), transparent);color:var(--dsw-alias-state-warn-secondary,#f7cf7d);border-color:color-mix(in srgb, var(--dsw-alias-state-warn-primary,#f5b83d) 30%, transparent)}.V1MMBW_badge.V1MMBW_danger{background:color-mix(in srgb, var(--dsw-alias-state-error-primary,#ff6b6b) var(--dsl-g-tint), transparent);color:var(--dsw-alias-state-error-primary,#ff9d9d);border-color:color-mix(in srgb, var(--dsw-alias-state-error-primary,#ff6b6b) 30%, transparent)}.V1MMBW_badge.V1MMBW_accent{background:color-mix(in srgb, var(--dsl-g-accent) var(--dsl-g-tint), transparent);color:var(--dsw-alias-state-business-primary,#9cc3ff);border-color:color-mix(in srgb, var(--dsl-g-accent) 30%, transparent)}.V1MMBW_stat{border:1px solid var(--dsl-g-border-surface);border-radius:var(--dsl-g-radius-surface);background:var(--dsl-g-surface);min-width:0;box-shadow:var(--dsl-g-shadow-card);flex-direction:column;gap:4px;padding:14px 16px 15px;display:flex;overflow:hidden}.V1MMBW_statHero{padding:18px 20px 20px}.V1MMBW_statHero .V1MMBW_statValue{letter-spacing:-.035em;font-size:44px;line-height:1.02}.V1MMBW_statHero .V1MMBW_statLabel{font-size:13px}.V1MMBW_grid>.V1MMBW_stat,.V1MMBW_row>.V1MMBW_stat{border-left:1px solid var(--dsl-g-border)}.V1MMBW_statLabel{font-size:var(--dsl-g-font-meta);color:var(--dsw-alias-label-secondary);letter-spacing:.05em;text-transform:uppercase;line-height:1.4}.V1MMBW_statValue{font-family:var(--dsl-g-font-mono);font-size:var(--dsl-g-font-hero);letter-spacing:-.03em;font-variant-numeric:tabular-nums;color:var(--dsw-alias-label-primary);overflow-wrap:anywhere;align-items:baseline;gap:3px;font-weight:700;line-height:1.05;display:flex}.V1MMBW_statUnit{letter-spacing:0;color:var(--dsw-alias-label-secondary);font-size:.5em;font-weight:600}.V1MMBW_statHero .V1MMBW_statUnit{font-size:.46em}.V1MMBW_statDelta{font-size:var(--dsl-g-font-meta);border-radius:var(--dsl-g-radius-pill);width:fit-content;color:var(--dsw-alias-label-secondary);background:color-mix(in srgb, var(--dsw-alias-label-primary) 5%, transparent);padding:0 6px;font-weight:600}.V1MMBW_statDelta.V1MMBW_up{color:var(--dsw-alias-state-success-secondary,#1f9d63);background:color-mix(in srgb, var(--dsw-alias-state-success-primary,#22c55e) 12%, transparent)}.V1MMBW_statSpark{width:calc(100% + 32px);max-width:none;height:30px;margin:6px -16px -15px;display:block;overflow:visible}.V1MMBW_statHero .V1MMBW_statSpark{width:calc(100% + 40px);margin:8px -20px -20px}.V1MMBW_statDelta.V1MMBW_down{color:var(--dsw-alias-state-error-primary,#d94848);background:color-mix(in srgb, var(--dsw-alias-state-error-primary,#f25a5a) 12%, transparent)}.V1MMBW_progress{gap:var(--dsl-g-gap-sm);flex-direction:column;display:flex}.V1MMBW_progressRow{justify-content:space-between;gap:var(--dsl-g-gap-md);font-size:var(--dsl-g-font-meta);color:var(--dsw-alias-label-secondary);display:flex}.V1MMBW_progressRow span:last-child{font-family:var(--dsl-g-font-mono);color:var(--dsw-alias-label-primary);font-weight:600}.V1MMBW_track{border-radius:var(--dsl-g-radius-pill);background:color-mix(in srgb, var(--dsw-alias-label-primary) 7%, transparent);height:8px;box-shadow:inset 0 0 0 1px var(--dsl-g-border);overflow:hidden}.V1MMBW_fill{border-radius:var(--dsl-g-radius-pill);background:linear-gradient(180deg, color-mix(in srgb, var(--dsl-g-accent) 85%, white), var(--dsl-g-accent));height:100%;transition:width .5s}.V1MMBW_list{flex-direction:column;display:flex}.V1MMBW_li{padding:9px var(--dsl-g-gap-xs) 9px 16px;flex-direction:column;gap:3px;display:flex;position:relative}.V1MMBW_li:before{content:"";background:var(--dsl-g-accent);opacity:.6;border-radius:50%;width:5px;height:5px;position:absolute;top:15px;left:2px}.V1MMBW_li+.V1MMBW_li{border-top:1px solid var(--dsl-g-border)}.V1MMBW_li:last-child{border-bottom:none}.V1MMBW_liTitle{font-size:var(--dsl-g-font-body);color:var(--dsw-alias-label-primary);font-weight:650;line-height:1.5}.V1MMBW_liDesc{font-size:var(--dsl-g-font-meta);color:var(--dsw-alias-label-secondary);line-height:1.55}.V1MMBW_tableWrap{border-radius:var(--dsl-g-radius-control);border:1px solid var(--dsl-g-border-surface);overscroll-behavior-x:contain;min-width:0;max-width:100%;overflow-x:auto}.V1MMBW_table{border-collapse:collapse;width:100%;font-size:var(--dsl-g-font-title)}.V1MMBW_table th{text-align:left;padding:9px var(--dsl-g-gap-md);color:var(--dsw-alias-label-secondary);font-weight:700;font-size:var(--dsl-g-font-meta);letter-spacing:.06em;text-transform:uppercase;border-bottom:1px solid var(--dsl-g-border-strong);background:var(--dsl-g-zebra);white-space:nowrap}.V1MMBW_table td{padding:10px var(--dsl-g-gap-md);border-bottom:1px solid var(--dsl-g-border);color:var(--dsw-alias-label-primary);white-space:nowrap;font-variant-numeric:tabular-nums;vertical-align:middle;line-height:1.5}.V1MMBW_table td:first-child{font-weight:600}.V1MMBW_table th:first-child{color:var(--dsw-alias-label-primary)}.V1MMBW_table tbody tr:nth-child(2n){background:var(--dsl-g-zebra)}.V1MMBW_table tbody tr:hover{background:var(--dsl-g-hover)}.V1MMBW_table tr:last-child td{border-bottom:none}.V1MMBW_table th.V1MMBW_thNum,.V1MMBW_table td.V1MMBW_tdNum{text-align:right}.V1MMBW_tdDelta{font-weight:600}.V1MMBW_tdDeltaUp{color:var(--dsw-alias-state-success-secondary,#1f9d63)}.V1MMBW_tdDeltaDown{color:var(--dsw-alias-state-error-primary,#d94848)}.V1MMBW_table th.V1MMBW_tdMultiline,.V1MMBW_table td.V1MMBW_tdMultiline{white-space:pre-line;overflow-wrap:anywhere;word-break:normal;vertical-align:top}.V1MMBW_table th.V1MMBW_tdCode,.V1MMBW_table td.V1MMBW_tdCode{white-space:pre-wrap;overflow-wrap:anywhere;word-break:normal;vertical-align:top}.V1MMBW_inlineCode{white-space:pre-wrap}.V1MMBW_calloutBody,.V1MMBW_liTitle,.V1MMBW_liDesc,.V1MMBW_kvValue,.V1MMBW_tlDesc,.V1MMBW_detailBody,.V1MMBW_accBody,.V1MMBW_banner,.V1MMBW_cardTitle,.V1MMBW_mediaLabel,.V1MMBW_heroLabel,.V1MMBW_heroTitle,.V1MMBW_heroSubtitle,.V1MMBW_statLabel,.V1MMBW_ringLabel,.V1MMBW_ringSub,.V1MMBW_calloutTitle,.V1MMBW_stepTitle,.V1MMBW_stepDesc,.V1MMBW_kvKey,.V1MMBW_tlTitle,.V1MMBW_tlTime,.V1MMBW_accTitle,.V1MMBW_field>span,.V1MMBW_fieldLabel,.V1MMBW_switchLabel,.V1MMBW_radio>span,.V1MMBW_checkbox>span,.V1MMBW_tab,.V1MMBW_badgeLabel,.V1MMBW_gradeQ,.V1MMBW_gradeAns,.V1MMBW_gradeRight,.V1MMBW_gradeExp,.V1MMBW_quizQuestion,.V1MMBW_quizFeedback,.V1MMBW_quizExplanation{white-space:pre-line}.V1MMBW_thSort{color:inherit;font:inherit;font-weight:inherit;cursor:pointer;text-align:left;background:0 0;border:none;margin:0;padding:0;transition:color .12s}.V1MMBW_table th.V1MMBW_thNum .V1MMBW_thSort{text-align:right;width:100%}.V1MMBW_thSort:hover,.V1MMBW_table th[aria-sort]:not([aria-sort=none]) .V1MMBW_thSort{color:var(--dsw-alias-label-primary)}.V1MMBW_thSortMark{color:var(--dsl-g-accent)}.V1MMBW_thSort:focus-visible{outline:2px solid var(--dsl-g-accent);outline-offset:1px;border-radius:var(--dsl-g-radius-control)}.V1MMBW_chart{gap:var(--dsl-g-gap-sm);flex-direction:column;display:flex;position:relative}.V1MMBW_chartBody{align-items:stretch;gap:6px;display:flex}.V1MMBW_chartYAxis{flex-shrink:0;width:42px;position:relative}.V1MMBW_chartYTick{font-family:var(--dsl-g-font-mono);font-size:var(--dsl-g-font-data);color:var(--dsw-alias-label-tertiary);white-space:nowrap;position:absolute;right:0;transform:translateY(50%)}.V1MMBW_chartPlot{align-items:flex-end;gap:var(--dsl-g-gap-sm);flex:1;min-width:0;height:160px;display:flex;position:relative}.V1MMBW_baseline{background:var(--dsl-g-border-strong);pointer-events:none;height:1px;position:absolute;bottom:0;left:0;right:0}.V1MMBW_gridline{background:var(--dsw-alias-border-l1,#ffffff0f);pointer-events:none;height:1px;position:absolute;left:0;right:0}.V1MMBW_chartLabels{gap:var(--dsl-g-gap-sm);display:flex}.V1MMBW_chartLabels>span{flex:1;min-width:0}.V1MMBW_chartLegend{gap:var(--dsl-g-gap-md);font-size:var(--dsl-g-font-meta);color:var(--dsw-alias-label-secondary);flex-wrap:wrap;line-height:1.5;display:flex}.V1MMBW_legendItem{align-items:center;gap:6px;display:inline-flex}.V1MMBW_legendSwatch{border-radius:3px;flex-shrink:0;width:10px;height:10px}.V1MMBW_lineArea{fill:var(--dsl-g-accent);opacity:.1}.V1MMBW_chartTip{border-radius:var(--dsl-g-radius-control);border:1px solid var(--dsl-g-border-strong);background:var(--dsw-alias-bg-layer-3,var(--dsw-alias-bg-layer-2,var(--dsw-alias-bg-layer-1,#1c1c1e)));color:var(--dsw-alias-label-primary);font-size:var(--dsl-g-font-meta);white-space:nowrap;pointer-events:none;z-index:6;flex-direction:column;gap:2px;padding:6px 10px;line-height:1.4;display:flex;position:absolute;transform:translate(-50%,calc(-100% - 10px));box-shadow:0 8px 22px #0000004d}.V1MMBW_chartTipRow{justify-content:space-between;gap:14px;display:flex}.V1MMBW_chartTipValue{font-family:var(--dsl-g-font-mono);font-variant-numeric:tabular-nums;font-weight:600}.V1MMBW_stackValue{text-align:center;font-family:var(--dsl-g-font-mono);font-size:var(--dsl-g-font-data);color:#fff;text-shadow:0 1px 2px #0006;font-variant-numeric:tabular-nums;font-weight:700;line-height:1.5;display:block}.V1MMBW_barCol{flex:1;min-width:0;height:100%;position:relative}.V1MMBW_barValue{font-family:var(--dsl-g-font-mono);font-size:var(--dsl-g-font-data);font-variant-numeric:tabular-nums;color:var(--dsw-alias-label-primary);text-align:center;font-weight:600;line-height:1.2;position:absolute;left:0;right:0}.V1MMBW_stack{border-radius:5px 5px 0 0;flex-direction:column-reverse;gap:2px;transition:height .6s;display:flex;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.V1MMBW_stackSeg{width:100%;transition:height .6s,filter .15s}.V1MMBW_stackSeg:hover{filter:brightness(1.15)}.V1MMBW_barFill{background:linear-gradient(180deg, color-mix(in srgb, var(--dsl-g-accent) 78%, white), var(--dsl-g-accent));border-radius:5px 5px 0 0;min-height:2px;transition:height .6s,filter .15s;position:absolute;left:0;right:0}.V1MMBW_barFill:hover{filter:brightness(1.18)}.V1MMBW_barLabel{font-size:var(--dsl-g-font-meta);color:var(--dsw-alias-label-secondary);text-align:center;white-space:nowrap;text-overflow:ellipsis;line-height:1.5;overflow:hidden}.V1MMBW_tabs{gap:var(--dsl-g-gap-md);flex-direction:column;display:flex}.V1MMBW_tabBar{border-bottom:1px solid var(--dsl-g-border);gap:2px;display:flex}.V1MMBW_tab{color:var(--dsw-alias-label-secondary);font-size:var(--dsl-g-font-title);border-radius:var(--dsl-g-radius-sm) var(--dsl-g-radius-sm) 0 0;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:8px 14px;font-family:inherit;font-weight:600;line-height:1.5;transition:color .15s,background .15s,border-bottom-color .15s}.V1MMBW_tab:hover{color:var(--dsw-alias-label-primary);background:var(--dsl-g-hover)}.V1MMBW_tabActive{color:var(--dsw-alias-label-primary);border-bottom-color:var(--dsl-g-accent);font-weight:650}.V1MMBW_tab:focus-visible{outline:2px solid var(--dsl-g-accent);outline-offset:-2px}.V1MMBW_avatar{width:32px;height:32px;font-size:var(--dsl-g-font-title);color:#fff;border:1px solid #ffffff24;border-radius:50%;flex-shrink:0;place-items:center;font-weight:700;display:grid;box-shadow:inset 0 1px #ffffff29}.V1MMBW_callout{border-radius:var(--dsl-g-radius-surface);border:1px solid var(--dsl-g-border-surface);font-size:var(--dsl-g-font-title);background:var(--dsl-g-surface);box-shadow:var(--dsl-g-shadow-card);flex-direction:column;gap:3px;padding:12px 15px;line-height:1.65;display:flex}.V1MMBW_calloutInfo{background:color-mix(in srgb, var(--dsl-g-accent) var(--dsl-g-tint), transparent)}.V1MMBW_calloutSuccess{background:color-mix(in srgb, var(--dsw-alias-state-success-primary,#3ecf8e) var(--dsl-g-tint), transparent)}.V1MMBW_calloutWarning{background:color-mix(in srgb, var(--dsw-alias-state-warn-primary,#f5b83d) var(--dsl-g-tint), transparent)}.V1MMBW_calloutError{background:color-mix(in srgb, var(--dsw-alias-state-error-primary,#ff6b6b) var(--dsl-g-tint), transparent)}.V1MMBW_calloutInfo .V1MMBW_calloutTitle{color:var(--dsw-alias-state-business-primary,#4f8ef7)}.V1MMBW_calloutSuccess .V1MMBW_calloutTitle{color:var(--dsw-alias-state-success-primary,#2f9e6b)}.V1MMBW_calloutWarning .V1MMBW_calloutTitle{color:var(--dsw-alias-state-warn-primary,#b8860b)}.V1MMBW_calloutError .V1MMBW_calloutTitle{color:var(--dsw-alias-state-error-primary,#d94848)}.V1MMBW_calloutTitle{font-weight:700;font-size:var(--dsl-g-font-h3);letter-spacing:-.005em;color:var(--dsw-alias-label-primary);align-items:center;gap:6px;display:flex}.V1MMBW_calloutBody{color:var(--dsw-alias-label-secondary)}.V1MMBW_steps{gap:var(--dsl-g-gap-md);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.V1MMBW_step{gap:var(--dsl-g-gap-md);align-items:flex-start;display:flex;position:relative}.V1MMBW_step:not(:last-child):before{content:"";top:27px;left:11px;bottom:calc(-1 * var(--dsl-g-gap-md));background:var(--dsl-g-border);width:1px;position:absolute}.V1MMBW_stepDone:not(:last-child):before{background:color-mix(in srgb, var(--dsw-alias-state-success-primary,#3ecf8e) 45%, transparent)}.V1MMBW_stepTitle{transition:color .15s}.V1MMBW_stepActive .V1MMBW_stepTitle{color:var(--dsl-g-accent)}.V1MMBW_stepMarker{width:24px;height:24px;font-size:var(--dsl-g-font-meta);background:var(--dsl-g-surface);border:1px solid var(--dsl-g-border-surface);color:var(--dsw-alias-label-secondary);z-index:1;border-radius:50%;flex-shrink:0;place-items:center;font-weight:700;display:grid}.V1MMBW_stepDone .V1MMBW_stepMarker{background:color-mix(in srgb, var(--dsw-alias-state-success-primary,#3ecf8e) 18%, transparent);border-color:color-mix(in srgb, var(--dsw-alias-state-success-primary,#3ecf8e) 55%, transparent);color:var(--dsw-alias-state-success-primary,#2f9e6b);font-size:13px}.V1MMBW_stepActive .V1MMBW_stepMarker{background:color-mix(in srgb, var(--dsl-g-accent) var(--dsl-g-tint-strong), transparent);border-color:var(--dsl-g-accent);color:var(--dsl-g-accent)}.V1MMBW_stepContent{flex-direction:column;gap:2px;padding-top:2px;display:flex}.V1MMBW_stepTitle{font-size:var(--dsl-g-font-body);color:var(--dsw-alias-label-primary);font-weight:650;line-height:1.45}.V1MMBW_stepDesc{font-size:var(--dsl-g-font-meta);color:var(--dsw-alias-label-secondary);line-height:1.55}.V1MMBW_keyvalue{flex-direction:column;margin:0;display:flex}.V1MMBW_kvRow{gap:var(--dsl-g-gap-md);font-size:var(--dsl-g-font-title);align-items:baseline;padding:7px 0;display:flex}.V1MMBW_kvRow+.V1MMBW_kvRow{border-top:1px solid var(--dsl-g-border)}.V1MMBW_kvRow:last-child{border-bottom:none}.V1MMBW_kvKey{width:120px;color:var(--dsw-alias-label-secondary);flex-shrink:0;font-weight:600}.V1MMBW_kvValue{color:var(--dsw-alias-label-primary);word-break:break-word;font-variant-numeric:tabular-nums;margin:0;font-weight:600;line-height:1.5}.V1MMBW_jsonScalar{font-family:var(--dsl-g-font-mono);font-size:var(--dsl-g-font-title);color:var(--dsw-alias-label-secondary)}.V1MMBW_lineChart{gap:var(--dsl-g-gap-sm);flex-direction:column;display:flex;position:relative}.V1MMBW_linePath{fill:none;stroke:var(--dsl-g-accent);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.V1MMBW_lineDot{fill:var(--dsl-g-accent);transition:filter .15s}.V1MMBW_lineDot:hover{filter:brightness(1.3)}.V1MMBW_lineGrid{stroke:var(--dsw-alias-border-l1,#ffffff12);stroke-width:1px}.V1MMBW_lineGridAxis{stroke:var(--dsl-g-border-strong);stroke-width:1px}.V1MMBW_lineTick{fill:var(--dsw-alias-label-tertiary);font-family:var(--dsl-g-font-mono);font-size:var(--dsl-g-font-data)}.V1MMBW_lineLabel{fill:var(--dsw-alias-label-secondary);font-size:var(--dsl-g-font-meta)}.V1MMBW_lineLabels{justify-content:space-between;display:flex}.V1MMBW_groupedBars{gap:var(--dsl-g-gap-xs);align-items:flex-end;width:100%;height:100%;display:flex}.V1MMBW_groupedBar{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:2px;min-width:0;height:100%;display:flex}.V1MMBW_groupValue{font-family:var(--dsl-g-font-mono);font-size:var(--dsl-g-font-data);font-variant-numeric:tabular-nums;color:var(--dsw-alias-label-secondary);text-overflow:ellipsis;max-width:100%;line-height:1.2;overflow:hidden}.V1MMBW_groupedFill{background:var(--dsl-g-accent);border-radius:4px 4px 2px 2px;flex:none;width:100%;min-height:3px;transition:filter .15s}.V1MMBW_groupedFill:hover{filter:brightness(1.18)}.V1MMBW_donut{align-items:center;gap:var(--dsl-g-gap-lg);display:flex;position:relative}.V1MMBW_donutTrack{stroke:var(--dsw-alias-border-l1,#ffffff14)}.V1MMBW_donutSeg{transition:filter .15s}.V1MMBW_donutSeg:hover{filter:brightness(1.18)}.V1MMBW_donutTotal{fill:var(--dsw-alias-label-primary);font-size:var(--dsl-g-font-h2);font-weight:700}.V1MMBW_donutTotalLabel{fill:var(--dsw-alias-label-tertiary);font-size:10px}.V1MMBW_donutLegend{justify-content:center;gap:var(--dsl-g-gap-sm);font-size:var(--dsl-g-font-meta);color:var(--dsw-alias-label-secondary);flex-direction:column;line-height:1.5;display:flex}.V1MMBW_donutPct{color:var(--dsw-alias-label-tertiary);font-variant-numeric:tabular-nums}.V1MMBW_ring{align-items:center;gap:var(--dsl-g-gap-md);display:flex}.V1MMBW_ringTrack{stroke:color-mix(in srgb, var(--dsw-alias-label-primary) 8%, transparent)}.V1MMBW_ringFill{stroke:var(--dsl-g-accent);transition:stroke-dasharray .6s}.V1MMBW_ringValue{fill:var(--dsw-alias-label-primary);font-family:var(--dsl-g-font-mono);font-variant-numeric:tabular-nums;font-size:17px;font-weight:700}.V1MMBW_ringMeta{flex-direction:column;gap:2px;min-width:0;display:flex}.V1MMBW_ringLabel{font-size:var(--dsl-g-font-body);color:var(--dsw-alias-label-primary);font-weight:650}.V1MMBW_ringSub{font-size:var(--dsl-g-font-meta);color:var(--dsw-alias-label-secondary)}.V1MMBW_track{position:relative;overflow:visible}.V1MMBW_targetMark{background:var(--dsw-alias-label-primary);opacity:.6;border-radius:1px;width:2px;margin-left:-1px;position:absolute;top:-3px;bottom:-3px}.V1MMBW_filterRow td{padding:7px var(--dsl-g-gap-md);border-top:1px solid var(--dsl-g-border);color:var(--dsw-alias-label-secondary);font-size:var(--dsl-g-font-meta);font-variant-numeric:tabular-nums;background:0 0}.V1MMBW_filterHint{color:var(--dsw-alias-label-secondary);font-size:var(--dsl-g-font-meta);padding-top:6px;display:block}.V1MMBW_tableTools{justify-content:flex-end;gap:6px;padding:6px 8px 4px;display:flex}.V1MMBW_tableTool{border:1px solid var(--dsl-g-border);border-radius:var(--dsl-g-radius-pill);color:var(--dsw-alias-label-secondary);font-family:inherit;font-size:var(--dsl-g-font-meta);cursor:pointer;background:0 0;padding:2px 9px;transition:color .15s,border-color .15s,background .15s}.V1MMBW_tableTool:hover{color:var(--dsw-alias-label-primary);border-color:var(--dsl-g-border-strong);background:var(--dsl-g-hover)}.V1MMBW_tableTool:focus-visible{outline:2px solid var(--dsl-g-accent);outline-offset:1px}.V1MMBW_card[style*=--dsl-card-accent]>.V1MMBW_cardTitle{color:color-mix(in srgb, var(--dsl-card-accent) 38%, var(--dsw-alias-label-primary))}.V1MMBW_detailCell{padding-left:var(--dsl-g-gap-sm)}.V1MMBW_detailToggle{font:inherit;color:inherit;cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:6px;padding:0;font-weight:600;display:inline-flex}.V1MMBW_detailToggle:hover{color:var(--dsl-g-accent)}.V1MMBW_detailToggle:focus-visible{outline:2px solid var(--dsl-g-accent);outline-offset:2px;border-radius:4px}.V1MMBW_detailChevron{color:var(--dsw-alias-label-tertiary);flex-shrink:0;font-size:10px;transition:transform .18s}.V1MMBW_detailChevron[data-open=true]{transform:rotate(90deg)}.V1MMBW_table tbody tr.V1MMBW_detailRow>td{padding:0 var(--dsl-g-gap-md) 12px;background:color-mix(in srgb, var(--dsw-alias-label-primary) 3%, transparent);border-bottom:1px solid var(--dsl-g-border)}.V1MMBW_table tbody tr.V1MMBW_detailRow:hover>td{background:color-mix(in srgb, var(--dsw-alias-label-primary) 3%, transparent)}.V1MMBW_detailBody{gap:var(--dsl-g-gap-sm);border-radius:var(--dsl-g-radius-control);background:var(--dsw-alias-bg-layer-1,transparent);box-shadow:inset 2px 0 0 color-mix(in srgb, var(--dsl-g-accent) 45%, transparent);flex-direction:column;padding:12px 14px;display:flex}.V1MMBW_groupRow td{padding:22px var(--dsl-g-gap-md) 6px;box-shadow:inset 0 1px 0 var(--dsl-g-border);background:0 0;border-top:none;border-bottom:none}.V1MMBW_table tbody tr.V1MMBW_groupRow:first-child td{box-shadow:none;padding-top:10px}.V1MMBW_table tbody tr.V1MMBW_groupRow:hover,.V1MMBW_table tbody tr.V1MMBW_groupRow:nth-child(2n){background:0 0}.V1MMBW_groupToggle{font:inherit;font-size:var(--dsl-g-font-title);letter-spacing:.02em;color:var(--dsw-alias-label-primary);cursor:pointer;background:0 0;border:none;align-items:center;gap:7px;padding:0;font-weight:650;display:inline-flex}.V1MMBW_groupToggle:hover{color:var(--dsl-g-accent)}.V1MMBW_groupToggle:focus-visible{outline:2px solid var(--dsl-g-accent);outline-offset:2px;border-radius:4px}.V1MMBW_groupChevron{color:var(--dsw-alias-label-tertiary);width:10px;font-size:11px}.V1MMBW_groupCount{border-radius:var(--dsl-g-radius-pill);background:color-mix(in srgb, var(--dsw-alias-label-primary) 7%, transparent);color:var(--dsw-alias-label-secondary);font-size:var(--dsl-g-font-meta);font-variant-numeric:tabular-nums;padding:0 7px;font-weight:600}.V1MMBW_table tbody tr.V1MMBW_groupChild td:first-child{padding-left:calc(var(--dsl-g-gap-md) + 22px);position:relative}.V1MMBW_table tbody tr.V1MMBW_groupChild td:first-child:before{content:"";left:calc(var(--dsl-g-gap-md) + 8px);background:var(--dsl-g-border);width:1px;position:absolute;top:0;bottom:0}.V1MMBW_table tbody tr.V1MMBW_groupChild:last-child td:first-child:before{bottom:50%}.V1MMBW_table tfoot td{border-top:1px solid var(--dsl-g-border-strong);color:var(--dsw-alias-label-primary);background:color-mix(in srgb, var(--dsw-alias-label-primary) 4%, transparent);border-bottom:none;font-weight:700}.V1MMBW_cardInfo{background:color-mix(in srgb, var(--dsl-g-accent) var(--dsl-g-tint), transparent)}.V1MMBW_cardSuccess{background:color-mix(in srgb, var(--dsw-alias-state-success-primary,#3ecf8e) var(--dsl-g-tint), transparent)}.V1MMBW_cardWarning{background:color-mix(in srgb, var(--dsw-alias-state-warn-primary,#f5b83d) var(--dsl-g-tint), transparent)}.V1MMBW_cardDanger{background:color-mix(in srgb, var(--dsw-alias-state-error-primary,#ff6b6b) var(--dsl-g-tint), transparent)}.V1MMBW_cardInfo>.V1MMBW_cardTitle{color:var(--dsw-alias-state-business-primary,#4f8ef7)}.V1MMBW_cardSuccess>.V1MMBW_cardTitle{color:var(--dsw-alias-state-success-primary,#2f9e6b)}.V1MMBW_cardWarning>.V1MMBW_cardTitle{color:var(--dsw-alias-state-warn-primary,#b8860b)}.V1MMBW_cardDanger>.V1MMBW_cardTitle{color:var(--dsw-alias-state-error-primary,#d94848)}.V1MMBW_hbars{gap:var(--dsl-g-gap-sm);flex-direction:column;display:flex}.V1MMBW_hbarRow{align-items:center;gap:var(--dsl-g-gap-md);display:flex}.V1MMBW_hbarLabel{text-align:right;width:96px;font-size:var(--dsl-g-font-meta);color:var(--dsw-alias-label-secondary);white-space:nowrap;text-overflow:ellipsis;flex-shrink:0;overflow:hidden}.V1MMBW_hbarTracks{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.V1MMBW_hbarSeg{height:100%}.V1MMBW_hbarTrack{border-radius:var(--dsl-g-radius-sm);background:color-mix(in srgb, var(--dsw-alias-label-primary) 7%, transparent);height:14px;display:flex;overflow:hidden}.V1MMBW_hbarFill{border-radius:var(--dsl-g-radius-sm);background:var(--dsl-g-accent);min-width:2px;height:100%;transition:width .6s}.V1MMBW_hbarValue{text-align:right;width:64px;font-family:var(--dsl-g-font-mono);font-size:var(--dsl-g-font-data);color:var(--dsw-alias-label-primary);font-variant-numeric:tabular-nums;flex-shrink:0}.V1MMBW_cellBadge{border-radius:var(--dsl-g-radius-pill);background:color-mix(in srgb, var(--dsl-g-accent) var(--dsl-g-tint), transparent);color:var(--dsw-alias-label-primary);font-size:var(--dsl-g-font-meta);padding:1px 8px;font-weight:600;display:inline-block}.V1MMBW_cellSpark{width:88px;height:22px;display:block;overflow:visible}.V1MMBW_cellRing{align-items:center;gap:6px;display:inline-flex}.V1MMBW_cellRingText{font-family:var(--dsl-g-font-mono);font-size:var(--dsl-g-font-data);color:var(--dsw-alias-label-primary);font-variant-numeric:tabular-nums}.V1MMBW_cellIndex{min-width:18px;font-family:var(--dsl-g-font-mono);font-size:var(--dsl-g-font-data);color:var(--dsw-alias-label-tertiary);font-variant-numeric:tabular-nums;display:inline-block}.V1MMBW_cellBar{border-radius:var(--dsl-g-radius-sm);background:color-mix(in srgb, var(--dsw-alias-label-primary) 7%, transparent);min-width:104px;height:18px;display:block;position:relative;overflow:hidden}.V1MMBW_cellBarFill{border-radius:var(--dsl-g-radius-sm);background:color-mix(in srgb, var(--dsl-g-accent) 72%, transparent);position:absolute;inset:0 auto 0 0}.V1MMBW_cellBarText{text-align:right;font-family:var(--dsl-g-font-mono);font-size:var(--dsl-g-font-data);color:var(--dsw-alias-label-primary);padding:0 6px;line-height:18px;display:block;position:relative}.V1MMBW_fieldGroup{gap:var(--dsl-g-gap-sm);flex-direction:column;display:flex}.V1MMBW_fieldLabel{font-size:var(--dsl-g-font-meta);color:var(--dsw-alias-label-tertiary)}.V1MMBW_radio{align-items:center;gap:var(--dsl-g-gap-sm);font-size:var(--dsl-g-font-title);color:var(--dsw-alias-label-secondary);cursor:pointer;line-height:1.5;display:flex}.V1MMBW_radio input{accent-color:var(--dsl-g-accent)}.V1MMBW_radio input:focus-visible{outline:2px solid var(--dsl-g-accent);outline-offset:2px;border-radius:50%}.V1MMBW_submitRow{align-items:center;gap:var(--dsl-g-gap-md);margin-top:2px;display:flex}.V1MMBW_submit{align-self:flex-start}.V1MMBW_submitHint{font-size:var(--dsl-g-font-meta);color:var(--dsw-alias-label-tertiary)}.V1MMBW_btnSent{margin-left:var(--dsl-g-gap-sm);font-size:var(--dsl-g-font-meta);color:var(--dsw-alias-state-success-primary,#3ecf8e);font-weight:600}.V1MMBW_gradeWrap{gap:var(--dsl-g-gap-md);flex-direction:column;display:flex}.V1MMBW_gradeScore{align-items:baseline;gap:var(--dsl-g-gap-sm);display:flex}.V1MMBW_gradeScoreValue{font-size:var(--dsl-g-font-display);color:var(--dsw-alias-label-primary);font-weight:700;line-height:1.2}.V1MMBW_gradeScoreLabel{font-size:var(--dsl-g-font-meta);color:var(--dsw-alias-label-tertiary)}.V1MMBW_gradeList{gap:var(--dsl-g-gap-sm);flex-direction:column;display:flex}.V1MMBW_gradeItem{font-size:var(--dsl-g-font-title);padding:var(--dsl-g-gap-sm) 12px;border-radius:var(--dsl-g-radius-control);border:1px solid var(--dsl-g-border);background:var(--dsw-alias-bg-layer-1);grid-template-columns:auto minmax(0,1fr);align-items:baseline;gap:6px 10px;line-height:1.5;display:grid}.V1MMBW_gradeItemOk{border-color:color-mix(in srgb, var(--dsw-alias-state-success-primary,#3ecf8e) 30%, transparent)}.V1MMBW_gradeItemNo{border-color:color-mix(in srgb, var(--dsw-alias-state-error-primary,#ff6b6b) 30%, transparent)}.V1MMBW_gradeQ{overflow-wrap:anywhere;color:var(--dsw-alias-label-primary);grid-column:1/-1;margin-bottom:8px;font-weight:600}.V1MMBW_gradeTag{font-weight:700}.V1MMBW_gradeItemOk .V1MMBW_gradeTag{color:var(--dsw-alias-state-success-primary,#3ecf8e)}.V1MMBW_gradeItemNo .V1MMBW_gradeTag{color:var(--dsw-alias-state-error-primary,#ff6b6b)}.V1MMBW_gradeAns{overflow-wrap:anywhere;color:var(--dsw-alias-label-secondary)}.V1MMBW_gradeRight{color:var(--dsw-alias-state-error-primary,#ffb3b3)}.V1MMBW_gradeExp{overflow-wrap:anywhere;font-size:var(--dsl-g-font-meta);color:var(--dsw-alias-label-tertiary);grid-column:1/-1;line-height:1.5}.V1MMBW_switchRow{justify-content:space-between;align-items:center;gap:var(--dsl-g-gap-md);cursor:pointer;display:flex}.V1MMBW_switchRow:focus-within .V1MMBW_switch{box-shadow:0 0 0 3px color-mix(in srgb, var(--dsl-g-accent) var(--dsl-g-tint-strong), transparent)}.V1MMBW_switchLabel{font-size:var(--dsl-g-font-title);color:var(--dsw-alias-label-primary);line-height:1.5}.V1MMBW_switch{border-radius:var(--dsl-g-radius-pill);border:1px solid var(--dsl-g-border);background:var(--dsw-alias-bg-base,#17171a);width:38px;height:22px;transition:background .2s;position:relative}.V1MMBW_switchOn{background:var(--dsl-g-accent);border-color:#0000}.V1MMBW_switchKnob{background:#fff;border-radius:50%;width:14px;height:14px;transition:left .2s;position:absolute;top:3px;left:3px;box-shadow:0 1px 2px #0000004d}.V1MMBW_switchOn .V1MMBW_switchKnob{left:19px}.V1MMBW_sliderRow{align-items:center;gap:var(--dsl-g-gap-md);width:100%;display:flex}.V1MMBW_sliderInput{min-width:0;accent-color:var(--dsl-g-accent);flex:1}.V1MMBW_sliderInput:focus-visible{outline:2px solid var(--dsl-g-accent);outline-offset:2px;border-radius:4px}.V1MMBW_sliderValue{text-align:right;min-width:44px;font-family:var(--dsl-g-font-mono);font-size:var(--dsl-g-font-data);color:var(--dsw-alias-label-primary)}.V1MMBW_textarea{background:var(--dsl-g-surface);border:1px solid var(--dsl-g-border-surface);border-radius:var(--dsl-g-radius-control);width:100%;color:var(--dsw-alias-label-primary);padding:var(--dsl-g-gap-sm) 12px;font-size:var(--dsl-g-font-title);resize:vertical;outline:none;font-family:inherit;line-height:1.5}.V1MMBW_textarea:focus{border-color:var(--dsl-g-accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--dsl-g-accent) var(--dsl-g-tint-strong), transparent)}.V1MMBW_accordion{border:1px solid var(--dsl-g-border-surface);border-radius:var(--dsl-g-radius-surface);background:var(--dsl-g-surface);box-shadow:var(--dsl-g-shadow-card);flex-direction:column;display:flex;overflow:hidden}.V1MMBW_accItem{border-bottom:1px solid var(--dsl-g-border)}.V1MMBW_accItem:last-child{border-bottom:none}.V1MMBW_accHead{justify-content:space-between;align-items:center;gap:var(--dsl-g-gap-sm);width:100%;color:var(--dsw-alias-label-primary);font-size:var(--dsl-g-font-body);cursor:pointer;text-align:left;background:0 0;border:none;padding:12px 15px;font-family:inherit;font-weight:600;line-height:1.5;transition:background .15s,color .15s;display:flex}.V1MMBW_accHead:hover{background:var(--dsl-g-hover)}.V1MMBW_accHead[aria-expanded=true]{border-bottom:1px solid var(--dsl-g-border)}.V1MMBW_accChevron{color:var(--dsw-alias-label-tertiary);flex-shrink:0;font-size:11px;transition:transform .2s}.V1MMBW_accChevron[data-open=true]{transform:rotate(90deg)}.V1MMBW_accBody{gap:var(--dsl-g-gap-sm);background:color-mix(in srgb, var(--dsw-alias-label-primary) 2%, transparent);flex-direction:column;padding:12px 15px 14px;display:flex}.V1MMBW_copyChip{border:1px solid var(--dsl-g-border);background:var(--dsw-alias-bg-layer-1);color:var(--dsw-alias-label-primary);border-radius:var(--dsl-g-radius-control);font-size:var(--dsl-g-font-title);cursor:pointer;width:fit-content;padding:6px 14px;font-family:inherit;font-weight:600;transition:all .15s}.V1MMBW_copyChip:hover{border-color:var(--dsl-g-accent)}.V1MMBW_copyChip:active{transform:translateY(1px)}.V1MMBW_copyChipDone{border-color:var(--dsw-alias-state-success-primary,#3ecf8e);color:var(--dsw-alias-state-success-primary,#3ecf8e)}.V1MMBW_mermaid{padding:var(--dsl-g-gap-xs) 0;overflow-x:auto}.V1MMBW_mermaid svg{max-width:100%;height:auto}.V1MMBW_mermaidFallback{gap:var(--dsl-g-gap-sm);flex-direction:column;display:flex}.V1MMBW_mermaidFallback pre{padding:var(--dsl-g-gap-sm) 10px;background:var(--dsw-alias-bg-base,#17171a);border:1px solid var(--dsl-g-border);border-radius:var(--dsl-g-radius-control);font-family:var(--dsl-g-font-mono);font-size:var(--dsl-g-font-meta);margin:0;overflow-x:auto}.V1MMBW_mermaidErr{color:var(--dsw-alias-state-error-primary,#ff6b6b);font-size:var(--dsl-g-font-meta)}.V1MMBW_mermaidHint{color:var(--dsw-alias-label-tertiary);font-size:var(--dsl-g-font-meta)}.V1MMBW_scene3dWrap{gap:var(--dsl-g-gap-sm);flex-direction:column;display:flex}.V1MMBW_echartWrap{gap:var(--dsl-g-gap-sm);padding:var(--dsl-g-gap-md);background:var(--dsw-alias-bg-layer-1,var(--dsw-alias-markdown-code-block));border:1px solid var(--dsl-g-border);border-radius:var(--dsl-g-radius-surface);flex-direction:column;display:flex}.V1MMBW_echartTitle{font-size:var(--dsl-g-font-title);color:var(--dsw-alias-label-primary);font-weight:600}.V1MMBW_echartCanvas{width:100%;min-height:0}.V1MMBW_echartHint{color:var(--dsw-alias-label-tertiary);font-size:var(--dsl-g-font-meta)}.V1MMBW_echartFallback{gap:var(--dsl-g-gap-sm);padding:var(--dsl-g-gap-md);background:var(--dsw-alias-bg-layer-1,var(--dsw-alias-markdown-code-block));border:1px solid var(--dsl-g-border);border-radius:var(--dsl-g-radius-surface);flex-direction:column;display:flex}.V1MMBW_echartErr{color:var(--dsw-alias-state-error-primary,#ff6b6b);font-size:var(--dsl-g-font-meta)}.V1MMBW_scene3dTitle{font-size:var(--dsl-g-font-title);color:var(--dsw-alias-label-primary);font-weight:700}.V1MMBW_scene3dCanvas{border-radius:var(--dsl-g-radius-surface);background:var(--dsw-alias-bg-base,#17171a);border:1px solid var(--dsl-g-border);height:240px;overflow:hidden}.V1MMBW_scene3dCanvas canvas{display:block}.V1MMBW_scene3dHint{color:var(--dsw-alias-label-tertiary);font-size:var(--dsl-g-font-meta)}.V1MMBW_timeline{flex-direction:column;display:flex}.V1MMBW_tlItem{gap:var(--dsl-g-gap-md);display:flex}.V1MMBW_tlRail{flex-direction:column;flex-shrink:0;align-items:center;width:10px;display:flex}.V1MMBW_tlDot{background:var(--dsl-g-accent);width:9px;height:9px;box-shadow:0 0 0 3px color-mix(in srgb, var(--dsl-g-accent) 16%, transparent);border-radius:50%;flex-shrink:0;margin-top:5px;transition:transform .15s}.V1MMBW_tlItem:hover .V1MMBW_tlDot{transform:scale(1.15)}.V1MMBW_tlLine{background:var(--dsl-g-border);flex:1;width:1px;margin:4px 0 0}.V1MMBW_tlBody{flex:1;min-width:0;padding-bottom:18px}.V1MMBW_tlItem:last-child .V1MMBW_tlBody{padding-bottom:0}.V1MMBW_tlHead{align-items:baseline;gap:var(--dsl-g-gap-md);display:flex}.V1MMBW_tlTitle{font-size:var(--dsl-g-font-body);color:var(--dsw-alias-label-primary);font-weight:650;line-height:1.45}.V1MMBW_tlTime{white-space:nowrap;font-family:var(--dsl-g-font-mono);font-size:var(--dsl-g-font-data);color:var(--dsw-alias-label-tertiary);font-variant-numeric:tabular-nums;margin-left:auto}.V1MMBW_tlDesc{font-size:var(--dsl-g-font-title);color:var(--dsw-alias-label-secondary);margin-top:3px;line-height:1.55}.V1MMBW_fileTree{font-family:var(--dsl-g-font-mono);font-size:var(--dsl-g-font-meta);overscroll-behavior-x:contain;flex-direction:column;min-width:0;max-width:100%;display:flex;overflow-x:auto}.V1MMBW_ftChildren{display:block}.V1MMBW_ftRow{min-height:26px;padding:2px var(--dsl-g-gap-xs);border-radius:var(--dsl-g-radius-sm);align-items:center;gap:6px;transition:background .12s;display:flex;position:relative}.V1MMBW_ftRow:hover{background:color-mix(in srgb, var(--dsw-alias-label-primary) 5%, transparent)}.V1MMBW_ftGuide{background:var(--dsl-g-border);width:1px;position:absolute;top:0;bottom:0}.V1MMBW_ftChevron{width:10px;color:var(--dsw-alias-label-tertiary);transform-origin:50%;flex-shrink:0;font-size:10px;line-height:1;transition:transform .15s}.V1MMBW_ftChevron[data-open=true]{transform:rotate(90deg)}.V1MMBW_ftGlyph{color:var(--dsw-alias-label-tertiary);flex-shrink:0;display:inline-flex}.V1MMBW_ftGlyphDir{color:var(--dsl-g-accent)}.V1MMBW_ftName{color:var(--dsw-alias-label-secondary);font-size:var(--dsl-g-font-title);white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.V1MMBW_ftDir{color:var(--dsw-alias-label-primary);font-weight:650}.V1MMBW_ftNameBtn{align-items:center;gap:var(--dsl-g-gap-sm);min-width:0;max-width:100%;font-family:inherit;font-size:var(--dsl-g-font-title);cursor:default;text-align:left;background:0 0;border:none;padding:0;display:inline-flex}button.V1MMBW_ftNameBtn[aria-expanded]{cursor:pointer}.V1MMBW_ftNameBtn:focus-visible{outline:2px solid var(--dsl-g-accent);outline-offset:1px;border-radius:var(--dsl-g-radius-control)}.V1MMBW_breadcrumb{align-items:center;gap:var(--dsl-g-gap-xs);font-size:var(--dsl-g-font-title);flex-wrap:wrap;display:flex}.V1MMBW_bcItem{align-items:center;gap:var(--dsl-g-gap-xs);display:inline-flex}.V1MMBW_bcText{color:var(--dsw-alias-label-secondary);cursor:pointer}.V1MMBW_bcText:hover{color:var(--dsl-g-accent)}.V1MMBW_bcCurrent{color:var(--dsw-alias-label-primary);cursor:default;font-weight:600}.V1MMBW_bcSep{color:var(--dsw-alias-label-caption,var(--dsw-alias-label-tertiary))}.V1MMBW_skeleton{gap:var(--dsl-g-gap-md);padding:var(--dsl-g-gap-lg);border:1px solid var(--dsl-g-border);border-radius:var(--dsl-g-radius-surface);background:var(--dsl-g-surface);flex-direction:column;display:flex}.V1MMBW_skeletonTitle{border-radius:var(--dsl-g-radius-pill);width:34%;height:12px;display:block}.V1MMBW_skeletonBars{gap:var(--dsl-g-gap-sm);display:flex}.V1MMBW_skeletonBars>span{border-radius:var(--dsl-g-radius-control);height:44px;display:block}.V1MMBW_skeletonBlock{border-radius:var(--dsl-g-radius-control);height:76px;display:block}.V1MMBW_skeletonTitle,.V1MMBW_skeletonBars>span,.V1MMBW_skeletonBlock{background:linear-gradient(90deg, color-mix(in srgb, var(--dsw-alias-label-primary) 6%, transparent) 0%, color-mix(in srgb, var(--dsw-alias-label-primary) 13%, transparent) 50%, color-mix(in srgb, var(--dsw-alias-label-primary) 6%, transparent) 100%);background-size:200% 100%;animation:1.4s ease-in-out infinite V1MMBW_dsl-skeleton}@keyframes V1MMBW_dsl-skeleton{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.V1MMBW_skeletonTitle,.V1MMBW_skeletonBars>span,.V1MMBW_skeletonBlock{animation:none}}@keyframes V1MMBW_genuiReveal{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes V1MMBW_genuiPopIn{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}.V1MMBW_reveal{animation:.45s cubic-bezier(.22,1,.36,1) backwards V1MMBW_genuiReveal}.V1MMBW_btnSent{animation:.2s backwards V1MMBW_genuiPopIn}@media (prefers-reduced-motion:reduce){.V1MMBW_reveal,.V1MMBW_btnSent{animation:none}.V1MMBW_fill,.V1MMBW_barFill,.V1MMBW_switch,.V1MMBW_switchKnob{transition:none}}.V1MMBW_tableWrap,.V1MMBW_fileTree,.V1MMBW_mermaid,.V1MMBW_panelBody{scrollbar-width:thin;scrollbar-color:var(--dsw-alias-border-l2,#ffffff38) transparent}.V1MMBW_tableWrap::-webkit-scrollbar,.V1MMBW_fileTree::-webkit-scrollbar,.V1MMBW_mermaid::-webkit-scrollbar,.V1MMBW_panelBody::-webkit-scrollbar{width:8px;height:8px}.V1MMBW_tableWrap::-webkit-scrollbar-thumb,.V1MMBW_fileTree::-webkit-scrollbar-thumb,.V1MMBW_mermaid::-webkit-scrollbar-thumb,.V1MMBW_panelBody::-webkit-scrollbar-thumb{background:var(--dsw-alias-border-l2,#ffffff38);border-radius:4px}.V1MMBW_tableWrap::-webkit-scrollbar-track,.V1MMBW_fileTree::-webkit-scrollbar-track,.V1MMBW_mermaid::-webkit-scrollbar-track,.V1MMBW_panelBody::-webkit-scrollbar-track{background:0 0}.V1MMBW_visuallyHidden{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.V1MMBW_quiz{gap:var(--dsl-g-gap-md);padding:var(--dsl-g-gap-lg);background:var(--dsw-alias-bg-layer-1);border:1px solid var(--dsl-g-border);border-radius:var(--dsl-g-radius-surface);flex-direction:column;display:flex}.V1MMBW_quizQuestion{font-size:var(--dsl-g-font-body);color:var(--dsw-alias-label-primary);font-weight:600;line-height:1.6}.V1MMBW_quizOptions{gap:var(--dsl-g-gap-sm);flex-direction:column;display:flex}.V1MMBW_quizOpt{align-items:center;gap:var(--dsl-g-gap-sm);text-align:left;background:var(--dsw-alias-bg-base,#17171a);border:1px solid var(--dsl-g-border);border-radius:var(--dsl-g-radius-control);font-size:var(--dsl-g-font-title);color:var(--dsw-alias-label-secondary);cursor:pointer;padding:10px 14px;font-family:inherit;line-height:1.5;transition:border-color .15s,background .15s;display:flex}.V1MMBW_quizOpt:hover:not(:disabled){border-color:var(--dsl-g-accent);background:var(--dsl-g-accent-soft)}.V1MMBW_quizOpt:focus-visible,.V1MMBW_button:focus-visible,.V1MMBW_tab:focus-visible,.V1MMBW_accHead:focus-visible,.V1MMBW_copyChip:focus-visible,.V1MMBW_link:focus-visible,.V1MMBW_quizRetry:focus-visible,.V1MMBW_resetBtn:focus-visible,.V1MMBW_playBtn:focus-visible,.V1MMBW_bcText:focus-visible{outline:2px solid var(--dsl-g-accent);outline-offset:1px}.V1MMBW_quizOpt:disabled{cursor:default;opacity:.85}.V1MMBW_quizOptCorrect{align-items:center;gap:var(--dsl-g-gap-sm);text-align:left;background:color-mix(in srgb, var(--dsw-alias-state-success-primary,#3ecf8e) var(--dsl-g-tint), transparent);border:1px solid color-mix(in srgb, var(--dsw-alias-state-success-primary,#3ecf8e) 40%, transparent);border-radius:var(--dsl-g-radius-control);font-size:var(--dsl-g-font-title);color:var(--dsw-alias-state-success-primary,#3ecf8e);padding:10px 14px;font-family:inherit;font-weight:600;line-height:1.5;display:flex}.V1MMBW_quizOptWrong{align-items:center;gap:var(--dsl-g-gap-sm);text-align:left;background:color-mix(in srgb, var(--dsw-alias-state-error-primary,#ff6b6b) var(--dsl-g-tint), transparent);border:1px solid color-mix(in srgb, var(--dsw-alias-state-error-primary,#ff6b6b) 30%, transparent);border-radius:var(--dsl-g-radius-control);font-size:var(--dsl-g-font-title);color:var(--dsw-alias-state-error-primary,#ff6b6b);padding:10px 14px;font-family:inherit;font-weight:600;line-height:1.5;display:flex}.V1MMBW_quizOptReveal{align-items:center;gap:var(--dsl-g-gap-sm);text-align:left;background:color-mix(in srgb, var(--dsw-alias-state-success-primary,#3ecf8e) var(--dsl-g-tint), transparent);border:1px dashed color-mix(in srgb, var(--dsw-alias-state-success-primary,#3ecf8e) 40%, transparent);border-radius:var(--dsl-g-radius-control);font-size:var(--dsl-g-font-title);color:var(--dsw-alias-state-success-primary,#3ecf8e);padding:10px 14px;font-family:inherit;line-height:1.5;display:flex}.V1MMBW_quizMarker{text-align:center;width:14px;color:var(--dsw-alias-label-tertiary);flex-shrink:0;font-weight:700;display:inline-block}.V1MMBW_quizOptCorrect .V1MMBW_quizMarker{color:var(--dsw-alias-state-success-primary,#3ecf8e)}.V1MMBW_quizOptWrong .V1MMBW_quizMarker{color:var(--dsw-alias-state-error-primary,#ff6b6b)}.V1MMBW_quizResult{gap:var(--dsl-g-gap-sm);flex-direction:column;display:flex}.V1MMBW_quizCorrectMsg{font-size:var(--dsl-g-font-title);color:var(--dsw-alias-state-success-primary,#3ecf8e);font-weight:600}.V1MMBW_quizWrongMsg{font-size:var(--dsl-g-font-title);color:var(--dsw-alias-state-error-primary,#ff6b6b);font-weight:600}.V1MMBW_quizFeedback{font-size:var(--dsl-g-font-meta);color:var(--dsw-alias-label-secondary);margin-top:3px;font-weight:400;line-height:1.5}.V1MMBW_quizExplanation{font-size:var(--dsl-g-font-meta);color:var(--dsw-alias-label-tertiary);padding:var(--dsl-g-gap-sm) 10px;border-top:1px solid var(--dsl-g-border);line-height:1.6}.V1MMBW_quizRetry{border:1px solid var(--dsl-g-border);width:fit-content;color:var(--dsw-alias-label-secondary);border-radius:var(--dsl-g-radius-control);font-size:var(--dsl-g-font-title);cursor:pointer;background:0 0;padding:6px 14px;font-family:inherit}.V1MMBW_quizRetry:hover{border-color:var(--dsl-g-accent);color:var(--dsl-g-accent)}.V1MMBW_tool{margin:4px 0}.V1MMBW_toolFallback{align-items:center;gap:var(--dsl-g-gap-md);padding:var(--dsl-g-gap-sm) 12px;border:1px solid var(--dsl-g-border);border-radius:var(--dsl-g-radius-surface);background:var(--dsw-alias-bg-layer-1,var(--dsw-alias-markdown-code-block));font-size:var(--dsl-g-font-title);display:flex}.V1MMBW_toolFallbackTitle{color:var(--dsw-alias-label-primary);font-weight:600}.V1MMBW_toolFallbackMeta{color:var(--dsw-alias-label-secondary);font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.V1MMBW_panel{width:calc(100% - var(--dsh-composer-side-clearance,16px) * 2 - var(--dsh-composer-dock-inset,8px) * 4);max-width:calc(var(--dsh-composer-card-max-width,780px) - var(--dsh-composer-dock-inset,8px) * 4);border:1px solid color-mix(in srgb, var(--dsw-alias-state-business-primary,#4f8ef7) 35%, transparent);background:var(--dsw-alias-bg-layer-1,#ffffff0a);border-radius:12px;margin:10px auto 2px;overflow:hidden}.V1MMBW_panelHeader{border-bottom:1px solid var(--dsw-alias-border-l1,#7f7f7f40);align-items:center;display:flex}.V1MMBW_panelToggle{min-width:0;color:inherit;font:inherit;font-size:var(--dsl-g-font-title);cursor:pointer;background:0 0;border:0;flex:auto;align-items:center;gap:10px;padding:9px 14px;display:flex}.V1MMBW_panelToggle:hover{background:#ffffff0a}.V1MMBW_panelClose{width:26px;height:26px;color:inherit;cursor:pointer;opacity:.65;background:0 0;border:0;border-radius:6px;flex:none;justify-content:center;align-items:center;margin-right:8px;padding:0;font-size:13px;line-height:1;display:flex}.V1MMBW_panelClose:hover{opacity:1;background:#ffffff14}.V1MMBW_panelClose:focus-visible{outline:1px solid var(--dsw-alias-state-business-primary,#4f8ef7);outline-offset:1px;opacity:1}.V1MMBW_panelTpl{border:1px solid var(--dsw-alias-border-l1,#ffffff1f);height:26px;color:var(--dsw-alias-label-secondary,#fff9);cursor:pointer;opacity:.85;background:0 0;border-radius:8px;flex:none;align-items:center;margin-right:4px;padding:0 10px;font-size:12px;line-height:1.5;display:flex}.V1MMBW_panelTpl:hover{opacity:1;background:#ffffff14}.V1MMBW_panelTplActive{border-color:var(--dsw-alias-state-business-primary,#4f8ef7);color:var(--dsw-alias-state-business-primary,#4f8ef7)}.V1MMBW_panelOnboard .V1MMBW_panelHeader{cursor:default}.V1MMBW_panelOnboardText{min-width:0;color:var(--dsw-alias-label-secondary,#fff9);flex:1;padding:0 8px;font-size:12px;line-height:1.5}.V1MMBW_panelFlash{border-top:1px solid var(--dsw-alias-border-l1,#ffffff1f);color:var(--dsw-alias-state-success-primary,#6ccb5f);background:color-mix(in srgb, var(--dsw-alias-state-success-primary,#6ccb5f) 8%, transparent);padding:6px 12px;font-size:12px;line-height:1.5}.V1MMBW_panelHint{border-top:1px solid var(--dsw-alias-border-l1,#ffffff1f);color:var(--dsw-alias-state-business-primary,#4f8ef7);background:color-mix(in srgb, var(--dsw-alias-state-business-primary,#4f8ef7) 8%, transparent);padding:6px 14px;font-size:12px;line-height:1.5}.V1MMBW_achToasts{z-index:9999;pointer-events:none;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:16px;right:16px}.V1MMBW_achToast{border:1px solid color-mix(in srgb, var(--dsw-alias-state-business-primary,#4f8ef7) 35%, transparent);border-radius:var(--dsl-g-radius-surface,12px);background:var(--dsw-alias-bg-layer-2,#000000d9);align-items:flex-start;gap:10px;width:300px;padding:10px 12px;display:flex;box-shadow:0 8px 24px #00000040}.V1MMBW_achToastBadge{flex:none;font-size:18px;line-height:1.2}.V1MMBW_achToastBody{min-width:0}.V1MMBW_achToastName{color:var(--dsw-alias-state-business-primary,#4f8ef7);font-size:13px;font-weight:600}.V1MMBW_achToastDesc{color:var(--dsw-alias-label-secondary,#fff9);margin-top:2px;font-size:12px;line-height:1.5}.V1MMBW_panelBadge{padding:0 var(--dsl-g-gap-sm);background:color-mix(in srgb, var(--dsw-alias-state-business-primary,#4f8ef7) var(--dsl-g-tint-strong), transparent);color:var(--dsw-alias-state-business-primary,#7ba8ff);letter-spacing:.04em;border-radius:6px;flex:none;font-size:11px;font-weight:600;line-height:1.6}.V1MMBW_panelTitle{color:var(--dsw-alias-label-primary,#e6e6e6);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.V1MMBW_panelChevron{color:var(--dsw-alias-label-tertiary);flex:none;place-items:center;margin-left:auto;display:grid}.V1MMBW_panelBody{height:360px;padding:0 16px var(--dsl-g-gap-lg);overflow-y:auto}.V1MMBW_panelResizeHandle{cursor:ns-resize;touch-action:none;background:0 0;border-radius:3px;height:6px;transition:background .15s}.V1MMBW_panelResizeHandle:hover,.V1MMBW_panelResizeHandleActive{background:color-mix(in srgb, var(--dsw-alias-state-business-primary,#4f8ef7) 35%, transparent)}.V1MMBW_inlineMath{display:inline}.V1MMBW_inlineMath [class~=katex-display]{max-width:100%;overflow:auto hidden}`,document.head.appendChild(e)}var w={accBody:`V1MMBW_accBody`,accChevron:`V1MMBW_accChevron`,accHead:`V1MMBW_accHead`,accItem:`V1MMBW_accItem`,accTitle:`V1MMBW_accTitle`,accent:`V1MMBW_accent`,accordion:`V1MMBW_accordion`,achToast:`V1MMBW_achToast`,achToastBadge:`V1MMBW_achToastBadge`,achToastBody:`V1MMBW_achToastBody`,achToastDesc:`V1MMBW_achToastDesc`,achToastName:`V1MMBW_achToastName`,achToasts:`V1MMBW_achToasts`,avatar:`V1MMBW_avatar`,badge:`V1MMBW_badge`,badgeLabel:`V1MMBW_badgeLabel`,banner:`V1MMBW_banner`,barCol:`V1MMBW_barCol`,barFill:`V1MMBW_barFill`,barLabel:`V1MMBW_barLabel`,barValue:`V1MMBW_barValue`,baseline:`V1MMBW_baseline`,bcCurrent:`V1MMBW_bcCurrent`,bcItem:`V1MMBW_bcItem`,bcSep:`V1MMBW_bcSep`,bcText:`V1MMBW_bcText`,block:`V1MMBW_block`,body:`V1MMBW_body`,breadcrumb:`V1MMBW_breadcrumb`,btnSent:`V1MMBW_btnSent`,button:`V1MMBW_button`,callout:`V1MMBW_callout`,calloutBody:`V1MMBW_calloutBody`,calloutError:`V1MMBW_calloutError`,calloutInfo:`V1MMBW_calloutInfo`,calloutSuccess:`V1MMBW_calloutSuccess`,calloutTitle:`V1MMBW_calloutTitle`,calloutWarning:`V1MMBW_calloutWarning`,caption:`V1MMBW_caption`,card:`V1MMBW_card`,cardDanger:`V1MMBW_cardDanger`,cardInfo:`V1MMBW_cardInfo`,cardSuccess:`V1MMBW_cardSuccess`,cardTitle:`V1MMBW_cardTitle`,cardWarning:`V1MMBW_cardWarning`,cellBadge:`V1MMBW_cellBadge`,cellBar:`V1MMBW_cellBar`,cellBarFill:`V1MMBW_cellBarFill`,cellBarText:`V1MMBW_cellBarText`,cellIndex:`V1MMBW_cellIndex`,cellRing:`V1MMBW_cellRing`,cellRingText:`V1MMBW_cellRingText`,cellSpark:`V1MMBW_cellSpark`,center:`V1MMBW_center`,chart:`V1MMBW_chart`,chartBody:`V1MMBW_chartBody`,chartLabels:`V1MMBW_chartLabels`,chartLegend:`V1MMBW_chartLegend`,chartPlot:`V1MMBW_chartPlot`,chartTip:`V1MMBW_chartTip`,chartTipRow:`V1MMBW_chartTipRow`,chartTipValue:`V1MMBW_chartTipValue`,chartYAxis:`V1MMBW_chartYAxis`,chartYTick:`V1MMBW_chartYTick`,checkbox:`V1MMBW_checkbox`,col:`V1MMBW_col`,copyChip:`V1MMBW_copyChip`,copyChipDone:`V1MMBW_copyChipDone`,danger:`V1MMBW_danger`,detailBody:`V1MMBW_detailBody`,detailCell:`V1MMBW_detailCell`,detailChevron:`V1MMBW_detailChevron`,detailRow:`V1MMBW_detailRow`,detailToggle:`V1MMBW_detailToggle`,divider:`V1MMBW_divider`,donut:`V1MMBW_donut`,donutLegend:`V1MMBW_donutLegend`,donutPct:`V1MMBW_donutPct`,donutSeg:`V1MMBW_donutSeg`,donutTotal:`V1MMBW_donutTotal`,donutTotalLabel:`V1MMBW_donutTotalLabel`,donutTrack:`V1MMBW_donutTrack`,down:`V1MMBW_down`,"dsl-skeleton":`V1MMBW_dsl-skeleton`,echartCanvas:`V1MMBW_echartCanvas`,echartErr:`V1MMBW_echartErr`,echartFallback:`V1MMBW_echartFallback`,echartHint:`V1MMBW_echartHint`,echartTitle:`V1MMBW_echartTitle`,echartWrap:`V1MMBW_echartWrap`,field:`V1MMBW_field`,fieldGroup:`V1MMBW_fieldGroup`,fieldLabel:`V1MMBW_fieldLabel`,fileTree:`V1MMBW_fileTree`,fill:`V1MMBW_fill`,filterHint:`V1MMBW_filterHint`,filterRow:`V1MMBW_filterRow`,ftChevron:`V1MMBW_ftChevron`,ftChildren:`V1MMBW_ftChildren`,ftDir:`V1MMBW_ftDir`,ftGlyph:`V1MMBW_ftGlyph`,ftGlyphDir:`V1MMBW_ftGlyphDir`,ftGuide:`V1MMBW_ftGuide`,ftName:`V1MMBW_ftName`,ftNameBtn:`V1MMBW_ftNameBtn`,ftRow:`V1MMBW_ftRow`,full:`V1MMBW_full`,genuiPopIn:`V1MMBW_genuiPopIn`,genuiReveal:`V1MMBW_genuiReveal`,ghost:`V1MMBW_ghost`,gradeAns:`V1MMBW_gradeAns`,gradeExp:`V1MMBW_gradeExp`,gradeItem:`V1MMBW_gradeItem`,gradeItemNo:`V1MMBW_gradeItemNo`,gradeItemOk:`V1MMBW_gradeItemOk`,gradeList:`V1MMBW_gradeList`,gradeQ:`V1MMBW_gradeQ`,gradeRight:`V1MMBW_gradeRight`,gradeScore:`V1MMBW_gradeScore`,gradeScoreLabel:`V1MMBW_gradeScoreLabel`,gradeScoreValue:`V1MMBW_gradeScoreValue`,gradeTag:`V1MMBW_gradeTag`,gradeWrap:`V1MMBW_gradeWrap`,grid:`V1MMBW_grid`,gridSpan:`V1MMBW_gridSpan`,gridline:`V1MMBW_gridline`,groupChevron:`V1MMBW_groupChevron`,groupChild:`V1MMBW_groupChild`,groupCount:`V1MMBW_groupCount`,groupRow:`V1MMBW_groupRow`,groupToggle:`V1MMBW_groupToggle`,groupValue:`V1MMBW_groupValue`,groupedBar:`V1MMBW_groupedBar`,groupedBars:`V1MMBW_groupedBars`,groupedFill:`V1MMBW_groupedFill`,h1:`V1MMBW_h1`,h2:`V1MMBW_h2`,h3:`V1MMBW_h3`,hbarFill:`V1MMBW_hbarFill`,hbarLabel:`V1MMBW_hbarLabel`,hbarRow:`V1MMBW_hbarRow`,hbarSeg:`V1MMBW_hbarSeg`,hbarTrack:`V1MMBW_hbarTrack`,hbarTracks:`V1MMBW_hbarTracks`,hbarValue:`V1MMBW_hbarValue`,hbars:`V1MMBW_hbars`,hero:`V1MMBW_hero`,heroDanger:`V1MMBW_heroDanger`,heroLabel:`V1MMBW_heroLabel`,heroSpark:`V1MMBW_heroSpark`,heroSubtitle:`V1MMBW_heroSubtitle`,heroSuccess:`V1MMBW_heroSuccess`,heroTitle:`V1MMBW_heroTitle`,heroTop:`V1MMBW_heroTop`,heroUnit:`V1MMBW_heroUnit`,heroValue:`V1MMBW_heroValue`,heroWarning:`V1MMBW_heroWarning`,inlineCode:`V1MMBW_inlineCode`,inlineLink:`V1MMBW_inlineLink`,inlineMark:`V1MMBW_inlineMark`,inlineMath:`V1MMBW_inlineMath`,inlineStrong:`V1MMBW_inlineStrong`,input:`V1MMBW_input`,jsonScalar:`V1MMBW_jsonScalar`,keyvalue:`V1MMBW_keyvalue`,kvKey:`V1MMBW_kvKey`,kvRow:`V1MMBW_kvRow`,kvValue:`V1MMBW_kvValue`,legendItem:`V1MMBW_legendItem`,legendSwatch:`V1MMBW_legendSwatch`,li:`V1MMBW_li`,liDesc:`V1MMBW_liDesc`,liTitle:`V1MMBW_liTitle`,lineArea:`V1MMBW_lineArea`,lineChart:`V1MMBW_lineChart`,lineDot:`V1MMBW_lineDot`,lineGrid:`V1MMBW_lineGrid`,lineGridAxis:`V1MMBW_lineGridAxis`,lineLabel:`V1MMBW_lineLabel`,lineLabels:`V1MMBW_lineLabels`,linePath:`V1MMBW_linePath`,lineTick:`V1MMBW_lineTick`,link:`V1MMBW_link`,linkText:`V1MMBW_linkText`,list:`V1MMBW_list`,media:`V1MMBW_media`,mediaError:`V1MMBW_mediaError`,mediaLabel:`V1MMBW_mediaLabel`,mediaPlayer:`V1MMBW_mediaPlayer`,mermaid:`V1MMBW_mermaid`,mermaidErr:`V1MMBW_mermaidErr`,mermaidFallback:`V1MMBW_mermaidFallback`,mermaidHint:`V1MMBW_mermaidHint`,muted:`V1MMBW_muted`,panel:`V1MMBW_panel`,panelBadge:`V1MMBW_panelBadge`,panelBody:`V1MMBW_panelBody`,panelChevron:`V1MMBW_panelChevron`,panelClose:`V1MMBW_panelClose`,panelFlash:`V1MMBW_panelFlash`,panelHeader:`V1MMBW_panelHeader`,panelHint:`V1MMBW_panelHint`,panelOnboard:`V1MMBW_panelOnboard`,panelOnboardText:`V1MMBW_panelOnboardText`,panelResizeHandle:`V1MMBW_panelResizeHandle`,panelResizeHandleActive:`V1MMBW_panelResizeHandleActive`,panelTitle:`V1MMBW_panelTitle`,panelToggle:`V1MMBW_panelToggle`,panelTpl:`V1MMBW_panelTpl`,panelTplActive:`V1MMBW_panelTplActive`,playBtn:`V1MMBW_playBtn`,primary:`V1MMBW_primary`,progress:`V1MMBW_progress`,progressRow:`V1MMBW_progressRow`,quiz:`V1MMBW_quiz`,quizCorrectMsg:`V1MMBW_quizCorrectMsg`,quizExplanation:`V1MMBW_quizExplanation`,quizFeedback:`V1MMBW_quizFeedback`,quizMarker:`V1MMBW_quizMarker`,quizOpt:`V1MMBW_quizOpt`,quizOptCorrect:`V1MMBW_quizOptCorrect`,quizOptReveal:`V1MMBW_quizOptReveal`,quizOptWrong:`V1MMBW_quizOptWrong`,quizOptions:`V1MMBW_quizOptions`,quizQuestion:`V1MMBW_quizQuestion`,quizResult:`V1MMBW_quizResult`,quizRetry:`V1MMBW_quizRetry`,quizWrongMsg:`V1MMBW_quizWrongMsg`,radio:`V1MMBW_radio`,resetBtn:`V1MMBW_resetBtn`,reveal:`V1MMBW_reveal`,ring:`V1MMBW_ring`,ringFill:`V1MMBW_ringFill`,ringLabel:`V1MMBW_ringLabel`,ringMeta:`V1MMBW_ringMeta`,ringSub:`V1MMBW_ringSub`,ringTrack:`V1MMBW_ringTrack`,ringValue:`V1MMBW_ringValue`,row:`V1MMBW_row`,scene3dCanvas:`V1MMBW_scene3dCanvas`,scene3dHint:`V1MMBW_scene3dHint`,scene3dTitle:`V1MMBW_scene3dTitle`,scene3dWrap:`V1MMBW_scene3dWrap`,select:`V1MMBW_select`,skeleton:`V1MMBW_skeleton`,skeletonBars:`V1MMBW_skeletonBars`,skeletonBlock:`V1MMBW_skeletonBlock`,skeletonTitle:`V1MMBW_skeletonTitle`,sliderInput:`V1MMBW_sliderInput`,sliderRow:`V1MMBW_sliderRow`,sliderValue:`V1MMBW_sliderValue`,small:`V1MMBW_small`,spacer:`V1MMBW_spacer`,stack:`V1MMBW_stack`,stackSeg:`V1MMBW_stackSeg`,stackValue:`V1MMBW_stackValue`,stat:`V1MMBW_stat`,statDelta:`V1MMBW_statDelta`,statHero:`V1MMBW_statHero`,statLabel:`V1MMBW_statLabel`,statSpark:`V1MMBW_statSpark`,statUnit:`V1MMBW_statUnit`,statValue:`V1MMBW_statValue`,step:`V1MMBW_step`,stepActive:`V1MMBW_stepActive`,stepContent:`V1MMBW_stepContent`,stepDesc:`V1MMBW_stepDesc`,stepDone:`V1MMBW_stepDone`,stepMarker:`V1MMBW_stepMarker`,stepTitle:`V1MMBW_stepTitle`,steps:`V1MMBW_steps`,submit:`V1MMBW_submit`,submitHint:`V1MMBW_submitHint`,submitRow:`V1MMBW_submitRow`,success:`V1MMBW_success`,switch:`V1MMBW_switch`,switchKnob:`V1MMBW_switchKnob`,switchLabel:`V1MMBW_switchLabel`,switchOn:`V1MMBW_switchOn`,switchRow:`V1MMBW_switchRow`,tab:`V1MMBW_tab`,tabActive:`V1MMBW_tabActive`,tabBar:`V1MMBW_tabBar`,table:`V1MMBW_table`,tableTool:`V1MMBW_tableTool`,tableTools:`V1MMBW_tableTools`,tableWrap:`V1MMBW_tableWrap`,tabs:`V1MMBW_tabs`,targetMark:`V1MMBW_targetMark`,tdCode:`V1MMBW_tdCode`,tdDelta:`V1MMBW_tdDelta`,tdDeltaDown:`V1MMBW_tdDeltaDown`,tdDeltaUp:`V1MMBW_tdDeltaUp`,tdMultiline:`V1MMBW_tdMultiline`,tdNum:`V1MMBW_tdNum`,text:`V1MMBW_text`,textarea:`V1MMBW_textarea`,thNum:`V1MMBW_thNum`,thSort:`V1MMBW_thSort`,thSortMark:`V1MMBW_thSortMark`,timeline:`V1MMBW_timeline`,tlBody:`V1MMBW_tlBody`,tlDesc:`V1MMBW_tlDesc`,tlDot:`V1MMBW_tlDot`,tlHead:`V1MMBW_tlHead`,tlItem:`V1MMBW_tlItem`,tlLine:`V1MMBW_tlLine`,tlRail:`V1MMBW_tlRail`,tlTime:`V1MMBW_tlTime`,tlTitle:`V1MMBW_tlTitle`,tool:`V1MMBW_tool`,toolFallback:`V1MMBW_toolFallback`,toolFallbackMeta:`V1MMBW_toolFallbackMeta`,toolFallbackTitle:`V1MMBW_toolFallbackTitle`,track:`V1MMBW_track`,up:`V1MMBW_up`,videoPlayer:`V1MMBW_videoPlayer`,visuallyHidden:`V1MMBW_visuallyHidden`,warn:`V1MMBW_warn`,wrap:`V1MMBW_wrap`},T=class e extends Error{constructor(t,n){var r=`KaTeX parse error: `+t,i,a,o=n&&n.loc;if(o&&o.start<=o.end){var s=o.lexer.input;i=o.start,a=o.end,i===s.length?r+=` at end of input: `:r+=` at position `+(i+1)+`: `;var c=s.slice(i,a).replace(/[^]/g,`$&̲`),l=i>15?`…`+s.slice(i-15,i):s.slice(0,i),u=a+15<s.length?s.slice(a,a+15)+`…`:s.slice(a);r+=l+c+u}super(r),this.name=`ParseError`,this.position=void 0,this.length=void 0,this.rawMessage=void 0,Object.setPrototypeOf(this,e.prototype),this.position=i,i!=null&&a!=null&&(this.length=a-i),this.rawMessage=t}},E=/([A-Z])/g,ee=e=>e.replace(E,`-$1`).toLowerCase(),te={"&":`&amp;`,">":`&gt;`,"<":`&lt;`,'"':`&quot;`,"'":`&#x27;`},ne=/[&><"']/g,D=e=>String(e).replace(ne,e=>te[e]),re=e=>e.type===`ordgroup`||e.type===`color`?e.body.length===1?re(e.body[0]):e:e.type===`font`?re(e.body):e,ie=new Set([`mathord`,`textord`,`atom`]),ae=e=>ie.has(re(e).type),oe=e=>{var t=/^[\x00-\x20]*([^\\/#?]*?)(:|&#0*58|&#x0*3a|&colon)/i.exec(e);return t?t[2]!==`:`||!/^[a-zA-Z][a-zA-Z0-9+\-.]*$/.test(t[1])?null:t[1].toLowerCase():`_relative`},se={displayMode:{type:`boolean`,description:`Render math in display mode, which puts the math in display style (so \\int and \\sum are large, for example), and centers the math on the page on its own line.`,cli:`-d, --display-mode`},output:{type:{enum:[`htmlAndMathml`,`html`,`mathml`]},description:`Determines the markup language of the output.`,cli:`-F, --format <type>`},leqno:{type:`boolean`,description:`Render display math in leqno style (left-justified tags).`},fleqn:{type:`boolean`,description:`Render display math flush left.`},throwOnError:{type:`boolean`,default:!0,cli:`-t, --no-throw-on-error`,cliDescription:`Render errors (in the color given by --error-color) instead of throwing a ParseError exception when encountering an error.`},errorColor:{type:`string`,default:`#cc0000`,cli:`-c, --error-color <color>`,cliDescription:`A color string given in the format 'rgb' or 'rrggbb' (no #). This option determines the color of errors rendered by the -t option.`,cliProcessor:e=>`#`+e},macros:{type:`object`,cli:`-m, --macro <def>`,cliDescription:`Define custom macro of the form '\\foo:expansion' (use multiple -m arguments for multiple macros).`,cliDefault:[],cliProcessor:(e,t)=>(t.push(e),t)},minRuleThickness:{type:`number`,description:"Specifies a minimum thickness, in ems, for fraction lines, `\\sqrt` top lines, `{array}` vertical lines, `\\hline`, `\\hdashline`, `\\underline`, `\\overline`, and the borders of `\\fbox`, `\\boxed`, and `\\fcolorbox`.",processor:e=>Math.max(0,e),cli:`--min-rule-thickness <size>`,cliProcessor:parseFloat},colorIsTextColor:{type:`boolean`,description:`Makes \\color behave like LaTeX's 2-argument \\textcolor, instead of LaTeX's one-argument \\color mode change.`,cli:`-b, --color-is-text-color`},strict:{type:[{enum:[`warn`,`ignore`,`error`]},`boolean`,`function`],description:`Turn on strict / LaTeX faithfulness mode, which throws an error if the input uses features that are not supported by LaTeX.`,cli:`-S, --strict`,cliDefault:!1},trust:{type:[`boolean`,`function`],description:`Trust the input, enabling all HTML features such as \\url.`,cli:`-T, --trust`},maxSize:{type:`number`,default:1/0,description:`If non-zero, all user-specified sizes, e.g. in \\rule{500em}{500em}, will be capped to maxSize ems. Otherwise, elements and spaces can be arbitrarily large`,processor:e=>Math.max(0,e),cli:`-s, --max-size <n>`,cliProcessor:parseInt},maxExpand:{type:`number`,default:1e3,description:`Limit the number of macro expansions to the specified number, to prevent e.g. infinite macro loops. If set to Infinity, the macro expander will try to fully expand as in LaTeX.`,processor:e=>Math.max(0,e),cli:`-e, --max-expand <n>`,cliProcessor:e=>e===`Infinity`?1/0:parseInt(e)},globalGroup:{type:`boolean`,cli:!1}};function ce(e){if(typeof e!=`string`)return e.enum[0];switch(e){case`boolean`:return!1;case`string`:return``;case`number`:return 0;case`object`:return{};default:throw Error(`Unexpected schema type; settings must declare an explicit default.`)}}function le(e){return e.default===void 0?ce(Array.isArray(e.type)?e.type[0]:e.type):e.default}function ue(e,t,n,r){var i=n[t];e[t]=i===void 0?le(r):r.processor?r.processor(i):i}var de=class{constructor(e){e===void 0&&(e={}),this.displayMode=void 0,this.output=void 0,this.leqno=void 0,this.fleqn=void 0,this.throwOnError=void 0,this.errorColor=void 0,this.macros=void 0,this.minRuleThickness=void 0,this.colorIsTextColor=void 0,this.strict=void 0,this.trust=void 0,this.maxSize=void 0,this.maxExpand=void 0,this.globalGroup=void 0,e||={};for(var t of Object.keys(se)){var n=se[t];n&&ue(this,t,e,n)}}reportNonstrict(e,t,n){var r=this.strict;if(typeof r==`function`&&(r=r(e,t,n)),!(!r||r===`ignore`)){if(r===!0||r===`error`)throw new T(`LaTeX-incompatible input and strict mode is set to 'error': `+(t+` [`+e+`]`),n);r===`warn`?typeof console<`u`&&console.warn(`LaTeX-incompatible input and strict mode is set to 'warn': `+(t+` [`+e+`]`)):typeof console<`u`&&console.warn(`LaTeX-incompatible input and strict mode is set to `+(`unrecognized '`+r+`': `+t+` [`+e+`]`))}}useStrictBehavior(e,t,n){var r=this.strict;if(typeof r==`function`)try{r=r(e,t,n)}catch{r=`error`}return!r||r===`ignore`?!1:r===!0||r===`error`?!0:r===`warn`?(typeof console<`u`&&console.warn(`LaTeX-incompatible input and strict mode is set to 'warn': `+(t+` [`+e+`]`)),!1):(typeof console<`u`&&console.warn(`LaTeX-incompatible input and strict mode is set to `+(`unrecognized '`+r+`': `+t+` [`+e+`]`)),!1)}isTrusted(e){if(`url`in e&&e.url&&!e.protocol){var t=oe(e.url);if(t==null)return!1;e.protocol=t}return!!(typeof this.trust==`function`?this.trust(e):this.trust)}},fe=class{constructor(e,t,n){this.id=void 0,this.size=void 0,this.cramped=void 0,this.id=e,this.size=t,this.cramped=n}sup(){return xe[Se[this.id]]}sub(){return xe[Ce[this.id]]}fracNum(){return xe[we[this.id]]}fracDen(){return xe[Te[this.id]]}cramp(){return xe[Ee[this.id]]}text(){return xe[De[this.id]]}isTight(){return this.size>=2}},pe=0,me=1,he=2,ge=3,_e=4,ve=5,ye=6,be=7,xe=[new fe(pe,0,!1),new fe(me,0,!0),new fe(he,1,!1),new fe(ge,1,!0),new fe(_e,2,!1),new fe(ve,2,!0),new fe(ye,3,!1),new fe(be,3,!0)],Se=[_e,ve,_e,ve,ye,be,ye,be],Ce=[ve,ve,ve,ve,be,be,be,be],we=[he,ge,_e,ve,ye,be,ye,be],Te=[ge,ge,ve,ve,be,be,be,be],Ee=[me,me,ge,ge,ve,ve,be,be],De=[pe,me,he,ge,he,ge,he,ge],O={DISPLAY:xe[pe],TEXT:xe[he],SCRIPT:xe[_e],SCRIPTSCRIPT:xe[ye]},Oe=[{name:`latin`,blocks:[[256,591],[768,879]]},{name:`cyrillic`,blocks:[[1024,1279]]},{name:`armenian`,blocks:[[1328,1423]]},{name:`brahmic`,blocks:[[2304,4255]]},{name:`georgian`,blocks:[[4256,4351]]},{name:`cjk`,blocks:[[12288,12543],[19968,40879],[65280,65376]]},{name:`hangul`,blocks:[[44032,55215]]}];function ke(e){for(var t=0;t<Oe.length;t++)for(var n=Oe[t],r=0;r<n.blocks.length;r++){var i=n.blocks[r];if(e>=i[0]&&e<=i[1])return n.name}return null}var Ae=[];Oe.forEach(e=>e.blocks.forEach(e=>Ae.push(...e)));function je(e){for(var t=0;t<Ae.length;t+=2)if(e>=Ae[t]&&e<=Ae[t+1])return!0;return!1}var Me=e=>e+` `+e,Ne=80,Pe=function(e,t){return`M95,`+(622+e+t)+`
2
2
  c-2.7,0,-7.17,-2.7,-13.5,-8c-5.8,-5.3,-9.5,-10,-9.5,-14
3
3
  c0,-2,0.3,-3.3,1,-4c1.3,-2.7,23.83,-20.7,67.5,-54
4
4
  c44.2,-33.3,65.8,-50.3,66.5,-51c1.3,-1.3,3,-2,5,-2c4.7,0,8.7,3.3,12,10
@@ -256,9 +256,11 @@ l0,-`+(t+144)+`c-2,-159.3,-10,-310.7,-24,-454c-53.3,-528,-210,-949.7,
256
256
  `,this.tokenRegex.lastIndex);return i===-1?(this.tokenRegex.lastIndex=e.length,this.settings.reportNonstrict(`commentAtEnd`,`% comment has no terminating newline; LaTeX would fail because of commenting the end of math mode (e.g. $)`)):this.tokenRegex.lastIndex=i+1,this.lex()}return new Li(r,new Ii(this,t,this.tokenRegex.lastIndex))}},La=class{constructor(e,t){e===void 0&&(e={}),t===void 0&&(t={}),this.current=void 0,this.builtins=void 0,this.undefStack=void 0,this.current=t,this.builtins=e,this.undefStack=[]}beginGroup(){this.undefStack.push({})}endGroup(){if(this.undefStack.length===0)throw new T(`Unbalanced namespace destruction: attempt to pop global namespace; please report this as a bug`);var e=this.undefStack.pop();for(var t in e)e.hasOwnProperty(t)&&(e[t]==null?delete this.current[t]:this.current[t]=e[t])}endGroups(){for(;this.undefStack.length>0;)this.endGroup()}has(e){return this.current.hasOwnProperty(e)||this.builtins.hasOwnProperty(e)}get(e){return this.current.hasOwnProperty(e)?this.current[e]:this.builtins[e]}set(e,t,n){if(n===void 0&&(n=!1),n){for(var r=0;r<this.undefStack.length;r++)delete this.undefStack[r][e];this.undefStack.length>0&&(this.undefStack[this.undefStack.length-1][e]=t)}else{var i=this.undefStack[this.undefStack.length-1];i&&!i.hasOwnProperty(e)&&(i[e]=this.current[e])}t==null?delete this.current[e]:this.current[e]=t}},Ra=Fi;W(`\\noexpand`,function(e){var t=e.popToken();return e.isExpandable(t.text)&&(t.noexpand=!0,t.treatAsRelax=!0),{tokens:[t],numArgs:0}}),W(`\\expandafter`,function(e){var t=e.popToken();return e.expandOnce(!0),{tokens:[t],numArgs:0}}),W(`\\@firstoftwo`,function(e){return{tokens:e.consumeArgs(2)[0],numArgs:0}}),W(`\\@secondoftwo`,function(e){return{tokens:e.consumeArgs(2)[1],numArgs:0}}),W(`\\@ifnextchar`,function(e){var t=e.consumeArgs(3);e.consumeSpaces();var n=e.future();return t[0].length===1&&t[0][0].text===n.text?{tokens:t[1],numArgs:0}:{tokens:t[2],numArgs:0}}),W(`\\@ifstar`,`\\@ifnextchar *{\\@firstoftwo{#1}}`),W(`\\TextOrMath`,function(e){var t=e.consumeArgs(2);return e.mode===`text`?{tokens:t[0],numArgs:0}:{tokens:t[1],numArgs:0}});var za={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,a:10,A:10,b:11,B:11,c:12,C:12,d:13,D:13,e:14,E:14,f:15,F:15};W(`\\char`,function(e){var t=e.popToken(),n,r=0;if(t.text===`'`)n=8,t=e.popToken();else if(t.text===`"`)n=16,t=e.popToken();else if(t.text==="`"){if(t=e.popToken(),t.text[0]===`\\`)r=t.text.charCodeAt(1);else if(t.text===`EOF`)throw new T("\\char` missing argument");else r=t.text.charCodeAt(0)}else n=10;if(n){if(r=za[t.text],r==null||r>=n)throw new T(`Invalid base-`+n+` digit `+t.text);for(var i;(i=za[e.future().text])!=null&&i<n;)r*=n,r+=i,e.popToken()}return`\\@char{`+r+`}`});var Ba=(e,t,n,r)=>{var i=e.consumeArg().tokens;if(i.length!==1)throw new T(`\\newcommand's first argument must be a macro name`);var a=i[0].text,o=e.isDefined(a);if(o&&!t)throw new T(`\\newcommand{`+a+`} attempting to redefine `+(a+`; use \\renewcommand`));if(!o&&!n)throw new T(`\\renewcommand{`+a+`} when command `+a+` does not yet exist; use \\newcommand`);var s=0;if(i=e.consumeArg().tokens,i.length===1&&i[0].text===`[`){for(var c=``,l=e.expandNextToken();l.text!==`]`&&l.text!==`EOF`;)c+=l.text,l=e.expandNextToken();if(!c.match(/^\s*[0-9]+\s*$/))throw new T(`Invalid number of arguments: `+c);s=parseInt(c),i=e.consumeArg().tokens}return o&&r||e.macros.set(a,{tokens:i,numArgs:s}),``};W(`\\newcommand`,e=>Ba(e,!1,!0,!1)),W(`\\renewcommand`,e=>Ba(e,!0,!1,!1)),W(`\\providecommand`,e=>Ba(e,!0,!0,!0)),W(`\\message`,e=>{var t=e.consumeArgs(1)[0];return console.log(t.reverse().map(e=>e.text).join(``)),``}),W(`\\errmessage`,e=>{var t=e.consumeArgs(1)[0];return console.error(t.reverse().map(e=>e.text).join(``)),``}),W(`\\show`,e=>{var t=e.popToken(),n=t.text;return console.log(t,e.macros.get(n),Da[n],xt.math[n],xt.text[n]),``}),W(`\\bgroup`,`{`),W(`\\egroup`,`}`),W(`~`,`\\nobreakspace`),W(`\\lq`,"`"),W(`\\rq`,`'`),W(`\\aa`,`\\r a`),W(`\\AA`,`\\r A`),W(`\\textcopyright`,"\\html@mathml{\\textcircled{c}}{\\char`©}"),W(`\\copyright`,`\\TextOrMath{\\textcopyright}{\\text{\\textcopyright}}`),W(`\\textregistered`,"\\html@mathml{\\textcircled{\\scriptsize R}}{\\char`®}"),W(`ℬ`,`\\mathscr{B}`),W(`ℰ`,`\\mathscr{E}`),W(`ℱ`,`\\mathscr{F}`),W(`ℋ`,`\\mathscr{H}`),W(`ℐ`,`\\mathscr{I}`),W(`ℒ`,`\\mathscr{L}`),W(`ℳ`,`\\mathscr{M}`),W(`ℛ`,`\\mathscr{R}`),W(`ℭ`,`\\mathfrak{C}`),W(`ℌ`,`\\mathfrak{H}`),W(`ℨ`,`\\mathfrak{Z}`),W(`\\Bbbk`,`\\Bbb{k}`),W(`\\llap`,`\\mathllap{\\textrm{#1}}`),W(`\\rlap`,`\\mathrlap{\\textrm{#1}}`),W(`\\clap`,`\\mathclap{\\textrm{#1}}`),W(`\\mathstrut`,`\\vphantom{(}`),W(`\\underbar`,`\\underline{\\text{#1}}`),W(`\\not`,`\\html@mathml{\\mathrel{\\mathrlap\\@not}\\nobreak}{\\char"338}`),W(`\\neq`,"\\html@mathml{\\mathrel{\\not=}}{\\mathrel{\\char`≠}}"),W(`\\ne`,`\\neq`),W(`≠`,`\\neq`),W(`\\notin`,"\\html@mathml{\\mathrel{{\\in}\\mathllap{/\\mskip1mu}}}{\\mathrel{\\char`∉}}"),W(`∉`,`\\notin`),W(`≘`,"\\html@mathml{\\mathrel{=\\kern{-1em}\\raisebox{0.4em}{$\\scriptsize\\frown$}}}{\\mathrel{\\char`≘}}"),W(`≙`,"\\html@mathml{\\stackrel{\\tiny\\wedge}{=}}{\\mathrel{\\char`≘}}"),W(`≚`,"\\html@mathml{\\stackrel{\\tiny\\vee}{=}}{\\mathrel{\\char`≚}}"),W(`≛`,"\\html@mathml{\\stackrel{\\scriptsize\\star}{=}}{\\mathrel{\\char`≛}}"),W(`≝`,"\\html@mathml{\\stackrel{\\tiny\\mathrm{def}}{=}}{\\mathrel{\\char`≝}}"),W(`≞`,"\\html@mathml{\\stackrel{\\tiny\\mathrm{m}}{=}}{\\mathrel{\\char`≞}}"),W(`≟`,"\\html@mathml{\\stackrel{\\tiny?}{=}}{\\mathrel{\\char`≟}}"),W(`⟂`,`\\perp`),W(`‼`,`\\mathclose{!\\mkern-0.8mu!}`),W(`∌`,`\\notni`),W(`⌜`,`\\ulcorner`),W(`⌝`,`\\urcorner`),W(`⌞`,`\\llcorner`),W(`⌟`,`\\lrcorner`),W(`©`,`\\copyright`),W(`®`,`\\textregistered`),W(`\\ulcorner`,`\\html@mathml{\\@ulcorner}{\\mathop{\\char"231c}}`),W(`\\urcorner`,`\\html@mathml{\\@urcorner}{\\mathop{\\char"231d}}`),W(`\\llcorner`,`\\html@mathml{\\@llcorner}{\\mathop{\\char"231e}}`),W(`\\lrcorner`,`\\html@mathml{\\@lrcorner}{\\mathop{\\char"231f}}`),W(`\\vdots`,`{\\varvdots\\rule{0pt}{15pt}}`),W(`⋮`,`\\vdots`),W(`\\varGamma`,`\\mathit{\\Gamma}`),W(`\\varDelta`,`\\mathit{\\Delta}`),W(`\\varTheta`,`\\mathit{\\Theta}`),W(`\\varLambda`,`\\mathit{\\Lambda}`),W(`\\varXi`,`\\mathit{\\Xi}`),W(`\\varPi`,`\\mathit{\\Pi}`),W(`\\varSigma`,`\\mathit{\\Sigma}`),W(`\\varUpsilon`,`\\mathit{\\Upsilon}`),W(`\\varPhi`,`\\mathit{\\Phi}`),W(`\\varPsi`,`\\mathit{\\Psi}`),W(`\\varOmega`,`\\mathit{\\Omega}`),W(`\\substack`,`\\begin{subarray}{c}#1\\end{subarray}`),W(`\\colon`,`\\nobreak\\mskip2mu\\mathpunct{}\\mathchoice{\\mkern-3mu}{\\mkern-3mu}{}{}{:}\\mskip6mu\\relax`),W(`\\boxed`,`\\fbox{$\\displaystyle{#1}$}`),W(`\\iff`,`\\DOTSB\\;\\Longleftrightarrow\\;`),W(`\\implies`,`\\DOTSB\\;\\Longrightarrow\\;`),W(`\\impliedby`,`\\DOTSB\\;\\Longleftarrow\\;`),W(`\\dddot`,`{\\overset{\\raisebox{-0.1ex}{\\normalsize ...}}{#1}}`),W(`\\ddddot`,`{\\overset{\\raisebox{-0.1ex}{\\normalsize ....}}{#1}}`);var Va={",":`\\dotsc`,"\\not":`\\dotsb`,"+":`\\dotsb`,"=":`\\dotsb`,"<":`\\dotsb`,">":`\\dotsb`,"-":`\\dotsb`,"*":`\\dotsb`,":":`\\dotsb`,"\\DOTSB":`\\dotsb`,"\\coprod":`\\dotsb`,"\\bigvee":`\\dotsb`,"\\bigwedge":`\\dotsb`,"\\biguplus":`\\dotsb`,"\\bigcap":`\\dotsb`,"\\bigcup":`\\dotsb`,"\\prod":`\\dotsb`,"\\sum":`\\dotsb`,"\\bigotimes":`\\dotsb`,"\\bigoplus":`\\dotsb`,"\\bigodot":`\\dotsb`,"\\bigsqcup":`\\dotsb`,"\\And":`\\dotsb`,"\\longrightarrow":`\\dotsb`,"\\Longrightarrow":`\\dotsb`,"\\longleftarrow":`\\dotsb`,"\\Longleftarrow":`\\dotsb`,"\\longleftrightarrow":`\\dotsb`,"\\Longleftrightarrow":`\\dotsb`,"\\mapsto":`\\dotsb`,"\\longmapsto":`\\dotsb`,"\\hookrightarrow":`\\dotsb`,"\\doteq":`\\dotsb`,"\\mathbin":`\\dotsb`,"\\mathrel":`\\dotsb`,"\\relbar":`\\dotsb`,"\\Relbar":`\\dotsb`,"\\xrightarrow":`\\dotsb`,"\\xleftarrow":`\\dotsb`,"\\DOTSI":`\\dotsi`,"\\int":`\\dotsi`,"\\oint":`\\dotsi`,"\\iint":`\\dotsi`,"\\iiint":`\\dotsi`,"\\iiiint":`\\dotsi`,"\\idotsint":`\\dotsi`,"\\DOTSX":`\\dotsx`},Ha=new Set([`bin`,`rel`]);W(`\\dots`,function(e){var t=`\\dotso`,n=e.expandAfterFuture().text;return n in Va?t=Va[n]:(n.slice(0,4)===`\\not`||n in xt.math&&Ha.has(xt.math[n].group))&&(t=`\\dotsb`),t});var Ua={")":!0,"]":!0,"\\rbrack":!0,"\\}":!0,"\\rbrace":!0,"\\rangle":!0,"\\rceil":!0,"\\rfloor":!0,"\\rgroup":!0,"\\rmoustache":!0,"\\right":!0,"\\bigr":!0,"\\biggr":!0,"\\Bigr":!0,"\\Biggr":!0,$:!0,";":!0,".":!0,",":!0};W(`\\dotso`,function(e){return e.future().text in Ua?`\\ldots\\,`:`\\ldots`}),W(`\\dotsc`,function(e){var t=e.future().text;return t in Ua&&t!==`,`?`\\ldots\\,`:`\\ldots`}),W(`\\cdots`,function(e){return e.future().text in Ua?`\\@cdots\\,`:`\\@cdots`}),W(`\\dotsb`,`\\cdots`),W(`\\dotsm`,`\\cdots`),W(`\\dotsi`,`\\!\\cdots`),W(`\\dotsx`,`\\ldots\\,`),W(`\\DOTSI`,`\\relax`),W(`\\DOTSB`,`\\relax`),W(`\\DOTSX`,`\\relax`),W(`\\tmspace`,`\\TextOrMath{\\kern#1#3}{\\mskip#1#2}\\relax`),W(`\\,`,`\\tmspace+{3mu}{.1667em}`),W(`\\thinspace`,`\\,`),W(`\\>`,`\\mskip{4mu}`),W(`\\:`,`\\tmspace+{4mu}{.2222em}`),W(`\\medspace`,`\\:`),W(`\\;`,`\\tmspace+{5mu}{.2777em}`),W(`\\thickspace`,`\\;`),W(`\\!`,`\\tmspace-{3mu}{.1667em}`),W(`\\negthinspace`,`\\!`),W(`\\negmedspace`,`\\tmspace-{4mu}{.2222em}`),W(`\\negthickspace`,`\\tmspace-{5mu}{.277em}`),W(`\\enspace`,`\\kern.5em `),W(`\\enskip`,`\\hskip.5em\\relax`),W(`\\quad`,`\\hskip1em\\relax`),W(`\\qquad`,`\\hskip2em\\relax`),W(`\\tag`,`\\@ifstar\\tag@literal\\tag@paren`),W(`\\tag@paren`,`\\tag@literal{({#1})}`),W(`\\tag@literal`,e=>{if(e.macros.get(`\\df@tag`))throw new T(`Multiple \\tag`);return`\\gdef\\df@tag{\\text{#1}}`}),W(`\\bmod`,`\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}\\mathbin{\\rm mod}\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}`),W(`\\pod`,`\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern8mu}{\\mkern8mu}{\\mkern8mu}(#1)`),W(`\\pmod`,`\\pod{{\\rm mod}\\mkern6mu#1}`),W(`\\mod`,`\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern12mu}{\\mkern12mu}{\\mkern12mu}{\\rm mod}\\,\\,#1`),W(`\\newline`,`\\\\\\relax`),W(`\\TeX`,`\\textrm{\\html@mathml{T\\kern-.1667em\\raisebox{-.5ex}{E}\\kern-.125emX}{TeX}}`);var Wa=k(mt[`Main-Regular`][84][1]-.7*mt[`Main-Regular`][65][1]);W(`\\LaTeX`,`\\textrm{\\html@mathml{`+(`L\\kern-.36em\\raisebox{`+Wa+`}{\\scriptstyle A}`)+`\\kern-.15em\\TeX}{LaTeX}}`),W(`\\KaTeX`,`\\textrm{\\html@mathml{`+(`K\\kern-.17em\\raisebox{`+Wa+`}{\\scriptstyle A}`)+`\\kern-.15em\\TeX}{KaTeX}}`),W(`\\hspace`,`\\@ifstar\\@hspacer\\@hspace`),W(`\\@hspace`,`\\hskip #1\\relax`),W(`\\@hspacer`,`\\rule{0pt}{0pt}\\hskip #1\\relax`),W(`\\ordinarycolon`,`:`),W(`\\vcentcolon`,`\\mathrel{\\mathop\\ordinarycolon}`),W(`\\dblcolon`,`\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-.9mu}\\vcentcolon}}{\\mathop{\\char"2237}}`),W(`\\coloneqq`,`\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2254}}`),W(`\\Coloneqq`,`\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2237\\char"3d}}`),W(`\\coloneq`,`\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"3a\\char"2212}}`),W(`\\Coloneq`,`\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"2237\\char"2212}}`),W(`\\eqqcolon`,`\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2255}}`),W(`\\Eqqcolon`,`\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"3d\\char"2237}}`),W(`\\eqcolon`,`\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2239}}`),W(`\\Eqcolon`,`\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"2212\\char"2237}}`),W(`\\colonapprox`,`\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"3a\\char"2248}}`),W(`\\Colonapprox`,`\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"2237\\char"2248}}`),W(`\\colonsim`,`\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"3a\\char"223c}}`),W(`\\Colonsim`,`\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"2237\\char"223c}}`),W(`∷`,`\\dblcolon`),W(`∹`,`\\eqcolon`),W(`≔`,`\\coloneqq`),W(`≕`,`\\eqqcolon`),W(`⩴`,`\\Coloneqq`),W(`\\ratio`,`\\vcentcolon`),W(`\\coloncolon`,`\\dblcolon`),W(`\\colonequals`,`\\coloneqq`),W(`\\coloncolonequals`,`\\Coloneqq`),W(`\\equalscolon`,`\\eqqcolon`),W(`\\equalscoloncolon`,`\\Eqqcolon`),W(`\\colonminus`,`\\coloneq`),W(`\\coloncolonminus`,`\\Coloneq`),W(`\\minuscolon`,`\\eqcolon`),W(`\\minuscoloncolon`,`\\Eqcolon`),W(`\\coloncolonapprox`,`\\Colonapprox`),W(`\\coloncolonsim`,`\\Colonsim`),W(`\\simcolon`,`\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\vcentcolon}`),W(`\\simcoloncolon`,`\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\dblcolon}`),W(`\\approxcolon`,`\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\vcentcolon}`),W(`\\approxcoloncolon`,`\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\dblcolon}`),W(`\\notni`,"\\html@mathml{\\not\\ni}{\\mathrel{\\char`∌}}"),W(`\\limsup`,`\\DOTSB\\operatorname*{lim\\,sup}`),W(`\\liminf`,`\\DOTSB\\operatorname*{lim\\,inf}`),W(`\\injlim`,`\\DOTSB\\operatorname*{inj\\,lim}`),W(`\\projlim`,`\\DOTSB\\operatorname*{proj\\,lim}`),W(`\\varlimsup`,`\\DOTSB\\operatorname*{\\overline{lim}}`),W(`\\varliminf`,`\\DOTSB\\operatorname*{\\underline{lim}}`),W(`\\varinjlim`,`\\DOTSB\\operatorname*{\\underrightarrow{lim}}`),W(`\\varprojlim`,`\\DOTSB\\operatorname*{\\underleftarrow{lim}}`),W(`\\gvertneqq`,`\\html@mathml{\\@gvertneqq}{≩}`),W(`\\lvertneqq`,`\\html@mathml{\\@lvertneqq}{≨}`),W(`\\ngeqq`,`\\html@mathml{\\@ngeqq}{≱}`),W(`\\ngeqslant`,`\\html@mathml{\\@ngeqslant}{≱}`),W(`\\nleqq`,`\\html@mathml{\\@nleqq}{≰}`),W(`\\nleqslant`,`\\html@mathml{\\@nleqslant}{≰}`),W(`\\nshortmid`,`\\html@mathml{\\@nshortmid}{∤}`),W(`\\nshortparallel`,`\\html@mathml{\\@nshortparallel}{∦}`),W(`\\nsubseteqq`,`\\html@mathml{\\@nsubseteqq}{⊈}`),W(`\\nsupseteqq`,`\\html@mathml{\\@nsupseteqq}{⊉}`),W(`\\varsubsetneq`,`\\html@mathml{\\@varsubsetneq}{⊊}`),W(`\\varsubsetneqq`,`\\html@mathml{\\@varsubsetneqq}{⫋}`),W(`\\varsupsetneq`,`\\html@mathml{\\@varsupsetneq}{⊋}`),W(`\\varsupsetneqq`,`\\html@mathml{\\@varsupsetneqq}{⫌}`),W(`\\imath`,`\\html@mathml{\\@imath}{ı}`),W(`\\jmath`,`\\html@mathml{\\@jmath}{ȷ}`),W(`\\llbracket`,"\\html@mathml{\\mathopen{[\\mkern-3.2mu[}}{\\mathopen{\\char`⟦}}"),W(`\\rrbracket`,"\\html@mathml{\\mathclose{]\\mkern-3.2mu]}}{\\mathclose{\\char`⟧}}"),W(`⟦`,`\\llbracket`),W(`⟧`,`\\rrbracket`),W(`\\lBrace`,"\\html@mathml{\\mathopen{\\{\\mkern-3.2mu[}}{\\mathopen{\\char`⦃}}"),W(`\\rBrace`,"\\html@mathml{\\mathclose{]\\mkern-3.2mu\\}}}{\\mathclose{\\char`⦄}}"),W(`⦃`,`\\lBrace`),W(`⦄`,`\\rBrace`),W(`\\minuso`,"\\mathbin{\\html@mathml{{\\mathrlap{\\mathchoice{\\kern{0.145em}}{\\kern{0.145em}}{\\kern{0.1015em}}{\\kern{0.0725em}}\\circ}{-}}}{\\char`⦵}}"),W(`⦵`,`\\minuso`),W(`\\darr`,`\\downarrow`),W(`\\dArr`,`\\Downarrow`),W(`\\Darr`,`\\Downarrow`),W(`\\lang`,`\\langle`),W(`\\rang`,`\\rangle`),W(`\\uarr`,`\\uparrow`),W(`\\uArr`,`\\Uparrow`),W(`\\Uarr`,`\\Uparrow`),W(`\\N`,`\\mathbb{N}`),W(`\\R`,`\\mathbb{R}`),W(`\\Z`,`\\mathbb{Z}`),W(`\\alef`,`\\aleph`),W(`\\alefsym`,`\\aleph`),W(`\\Alpha`,`\\mathrm{A}`),W(`\\Beta`,`\\mathrm{B}`),W(`\\bull`,`\\bullet`),W(`\\Chi`,`\\mathrm{X}`),W(`\\clubs`,`\\clubsuit`),W(`\\cnums`,`\\mathbb{C}`),W(`\\Complex`,`\\mathbb{C}`),W(`\\Dagger`,`\\ddagger`),W(`\\diamonds`,`\\diamondsuit`),W(`\\empty`,`\\emptyset`),W(`\\Epsilon`,`\\mathrm{E}`),W(`\\Eta`,`\\mathrm{H}`),W(`\\exist`,`\\exists`),W(`\\harr`,`\\leftrightarrow`),W(`\\hArr`,`\\Leftrightarrow`),W(`\\Harr`,`\\Leftrightarrow`),W(`\\hearts`,`\\heartsuit`),W(`\\image`,`\\Im`),W(`\\infin`,`\\infty`),W(`\\Iota`,`\\mathrm{I}`),W(`\\isin`,`\\in`),W(`\\Kappa`,`\\mathrm{K}`),W(`\\larr`,`\\leftarrow`),W(`\\lArr`,`\\Leftarrow`),W(`\\Larr`,`\\Leftarrow`),W(`\\lrarr`,`\\leftrightarrow`),W(`\\lrArr`,`\\Leftrightarrow`),W(`\\Lrarr`,`\\Leftrightarrow`),W(`\\Mu`,`\\mathrm{M}`),W(`\\natnums`,`\\mathbb{N}`),W(`\\Nu`,`\\mathrm{N}`),W(`\\Omicron`,`\\mathrm{O}`),W(`\\plusmn`,`\\pm`),W(`\\rarr`,`\\rightarrow`),W(`\\rArr`,`\\Rightarrow`),W(`\\Rarr`,`\\Rightarrow`),W(`\\real`,`\\Re`),W(`\\reals`,`\\mathbb{R}`),W(`\\Reals`,`\\mathbb{R}`),W(`\\Rho`,`\\mathrm{P}`),W(`\\sdot`,`\\cdot`),W(`\\sect`,`\\S`),W(`\\spades`,`\\spadesuit`),W(`\\sub`,`\\subset`),W(`\\sube`,`\\subseteq`),W(`\\supe`,`\\supseteq`),W(`\\Tau`,`\\mathrm{T}`),W(`\\thetasym`,`\\vartheta`),W(`\\weierp`,`\\wp`),W(`\\Zeta`,`\\mathrm{Z}`),W(`\\argmin`,`\\DOTSB\\operatorname*{arg\\,min}`),W(`\\argmax`,`\\DOTSB\\operatorname*{arg\\,max}`),W(`\\plim`,`\\DOTSB\\mathop{\\operatorname{plim}}\\limits`),W(`\\bra`,`\\mathinner{\\langle{#1}|}`),W(`\\ket`,`\\mathinner{|{#1}\\rangle}`),W(`\\braket`,`\\mathinner{\\langle{#1}\\rangle}`),W(`\\Bra`,`\\left\\langle#1\\right|`),W(`\\Ket`,`\\left|#1\\right\\rangle`);var Ga=e=>t=>{var n=t.consumeArg().tokens,r=t.consumeArg().tokens,i=t.consumeArg().tokens,a=t.consumeArg().tokens,o=t.macros.get(`|`),s=t.macros.get(`\\|`);t.macros.beginGroup();var c=t=>n=>{e&&(n.macros.set(`|`,o),i.length&&n.macros.set(`\\|`,s));var a=t;return!t&&i.length&&n.future().text===`|`&&(n.popToken(),a=!0),{tokens:a?i:r,numArgs:0}};t.macros.set(`|`,c(!1)),i.length&&t.macros.set(`\\|`,c(!0));var l=t.consumeArg().tokens,u=t.expandTokens([...a,...l,...n]);return t.macros.endGroup(),{tokens:u.reverse(),numArgs:0}};W(`\\bra@ket`,Ga(!1)),W(`\\bra@set`,Ga(!0)),W(`\\Braket`,`\\bra@ket{\\left\\langle}{\\,\\middle\\vert\\,}{\\,\\middle\\vert\\,}{\\right\\rangle}`),W(`\\Set`,`\\bra@set{\\left\\{\\:}{\\;\\middle\\vert\\;}{\\;\\middle\\Vert\\;}{\\:\\right\\}}`),W(`\\set`,`\\bra@set{\\{\\,}{\\mid}{}{\\,\\}}`),W(`\\angln`,`{\\angl n}`),W(`\\blue`,`\\textcolor{##6495ed}{#1}`),W(`\\orange`,`\\textcolor{##ffa500}{#1}`),W(`\\pink`,`\\textcolor{##ff00af}{#1}`),W(`\\red`,`\\textcolor{##df0030}{#1}`),W(`\\green`,`\\textcolor{##28ae7b}{#1}`),W(`\\gray`,`\\textcolor{gray}{#1}`),W(`\\purple`,`\\textcolor{##9d38bd}{#1}`),W(`\\blueA`,`\\textcolor{##ccfaff}{#1}`),W(`\\blueB`,`\\textcolor{##80f6ff}{#1}`),W(`\\blueC`,`\\textcolor{##63d9ea}{#1}`),W(`\\blueD`,`\\textcolor{##11accd}{#1}`),W(`\\blueE`,`\\textcolor{##0c7f99}{#1}`),W(`\\tealA`,`\\textcolor{##94fff5}{#1}`),W(`\\tealB`,`\\textcolor{##26edd5}{#1}`),W(`\\tealC`,`\\textcolor{##01d1c1}{#1}`),W(`\\tealD`,`\\textcolor{##01a995}{#1}`),W(`\\tealE`,`\\textcolor{##208170}{#1}`),W(`\\greenA`,`\\textcolor{##b6ffb0}{#1}`),W(`\\greenB`,`\\textcolor{##8af281}{#1}`),W(`\\greenC`,`\\textcolor{##74cf70}{#1}`),W(`\\greenD`,`\\textcolor{##1fab54}{#1}`),W(`\\greenE`,`\\textcolor{##0d923f}{#1}`),W(`\\goldA`,`\\textcolor{##ffd0a9}{#1}`),W(`\\goldB`,`\\textcolor{##ffbb71}{#1}`),W(`\\goldC`,`\\textcolor{##ff9c39}{#1}`),W(`\\goldD`,`\\textcolor{##e07d10}{#1}`),W(`\\goldE`,`\\textcolor{##a75a05}{#1}`),W(`\\redA`,`\\textcolor{##fca9a9}{#1}`),W(`\\redB`,`\\textcolor{##ff8482}{#1}`),W(`\\redC`,`\\textcolor{##f9685d}{#1}`),W(`\\redD`,`\\textcolor{##e84d39}{#1}`),W(`\\redE`,`\\textcolor{##bc2612}{#1}`),W(`\\maroonA`,`\\textcolor{##ffbde0}{#1}`),W(`\\maroonB`,`\\textcolor{##ff92c6}{#1}`),W(`\\maroonC`,`\\textcolor{##ed5fa6}{#1}`),W(`\\maroonD`,`\\textcolor{##ca337c}{#1}`),W(`\\maroonE`,`\\textcolor{##9e034e}{#1}`),W(`\\purpleA`,`\\textcolor{##ddd7ff}{#1}`),W(`\\purpleB`,`\\textcolor{##c6b9fc}{#1}`),W(`\\purpleC`,`\\textcolor{##aa87ff}{#1}`),W(`\\purpleD`,`\\textcolor{##7854ab}{#1}`),W(`\\purpleE`,`\\textcolor{##543b78}{#1}`),W(`\\mintA`,`\\textcolor{##f5f9e8}{#1}`),W(`\\mintB`,`\\textcolor{##edf2df}{#1}`),W(`\\mintC`,`\\textcolor{##e0e5cc}{#1}`),W(`\\grayA`,`\\textcolor{##f6f7f7}{#1}`),W(`\\grayB`,`\\textcolor{##f0f1f2}{#1}`),W(`\\grayC`,`\\textcolor{##e3e5e6}{#1}`),W(`\\grayD`,`\\textcolor{##d6d8da}{#1}`),W(`\\grayE`,`\\textcolor{##babec2}{#1}`),W(`\\grayF`,`\\textcolor{##888d93}{#1}`),W(`\\grayG`,`\\textcolor{##626569}{#1}`),W(`\\grayH`,`\\textcolor{##3b3e40}{#1}`),W(`\\grayI`,`\\textcolor{##21242c}{#1}`),W(`\\kaBlue`,`\\textcolor{##314453}{#1}`),W(`\\kaGreen`,`\\textcolor{##71B307}{#1}`);var Ka={"^":!0,_:!0,"\\limits":!0,"\\nolimits":!0},qa=class{constructor(e,t,n){this.settings=void 0,this.expansionCount=void 0,this.lexer=void 0,this.macros=void 0,this.stack=void 0,this.mode=void 0,this.settings=t,this.expansionCount=0,this.feed(e),this.macros=new La(Ra,t.macros),this.mode=n,this.stack=[]}feed(e){this.lexer=new Ia(e,this.settings)}switchMode(e){this.mode=e}beginGroup(){this.macros.beginGroup()}endGroup(){this.macros.endGroup()}endGroups(){this.macros.endGroups()}future(){return this.stack.length===0&&this.pushToken(this.lexer.lex()),this.stack[this.stack.length-1]}popToken(){return this.future(),this.stack.pop()}pushToken(e){this.stack.push(e)}pushTokens(e){this.stack.push(...e)}scanArgument(e){var t,n,r;if(e){if(this.consumeSpaces(),this.future().text!==`[`)return null;t=this.popToken(),{tokens:r,end:n}=this.consumeArg([`]`])}else({tokens:r,start:t,end:n}=this.consumeArg());return this.pushToken(new Li(`EOF`,n.loc)),this.pushTokens(r),new Li(``,Ii.range(t,n))}consumeSpaces(){for(;this.future().text===` `;)this.stack.pop()}consumeArg(e){var t=[],n=e&&e.length>0;n||this.consumeSpaces();var r=this.future(),i,a=0,o=0;do{if(i=this.popToken(),t.push(i),i.text===`{`)++a;else if(i.text===`}`){if(--a,a===-1)throw new T(`Extra }`,i)}else if(i.text===`EOF`)throw new T(`Unexpected end of input in a macro argument, expected '`+(e&&n?e[o]:`}`)+`'`,i);if(e&&n){if((a===0||a===1&&e[o]===`{`)&&i.text===e[o]){if(++o,o===e.length){t.splice(-o,o);break}}else o=0}}while(a!==0||n);return r.text===`{`&&t[t.length-1].text===`}`&&(t.pop(),t.shift()),t.reverse(),{tokens:t,start:r,end:i}}consumeArgs(e,t){if(t){if(t.length!==e+1)throw new T(`The length of delimiters doesn't match the number of args!`);for(var n=t[0],r=0;r<n.length;r++){var i=this.popToken();if(n[r]!==i.text)throw new T(`Use of the macro doesn't match its definition`,i)}}for(var a=[],o=0;o<e;o++)a.push(this.consumeArg(t&&t[o+1]).tokens);return a}countExpansion(e){if(this.expansionCount+=e,this.expansionCount>this.settings.maxExpand)throw new T(`Too many expansions: infinite loop or need to increase maxExpand setting`)}expandOnce(e){var t=this.popToken(),n=t.text,r=t.noexpand?null:this._getExpansion(n);if(r==null||e&&r.unexpandable){if(e&&r==null&&n[0]===`\\`&&!this.isDefined(n))throw new T(`Undefined control sequence: `+n);return this.pushToken(t),!1}this.countExpansion(1);var i=r.tokens,a=this.consumeArgs(r.numArgs,r.delimiters);if(r.numArgs){i=i.slice();for(var o=i.length-1;o>=0;--o){var s=i[o];if(s.text===`#`){if(o===0)throw new T(`Incomplete placeholder at end of macro body`,s);if(s=i[--o],s.text===`#`)i.splice(o+1,1);else if(/^[1-9]$/.test(s.text))i.splice(o,2,...a[s.text-1]);else throw new T(`Not a valid argument number`,s)}}}return this.pushTokens(i),i.length}expandAfterFuture(){return this.expandOnce(),this.future()}expandNextToken(){for(;;)if(this.expandOnce()===!1){var e=this.stack.pop();return e.treatAsRelax&&(e.text=`\\relax`),e}}expandMacro(e){return this.macros.has(e)?this.expandTokens([new Li(e)]):void 0}expandTokens(e){var t=[],n=this.stack.length;for(this.pushTokens(e);this.stack.length>n;)if(this.expandOnce(!0)===!1){var r=this.stack.pop();r.treatAsRelax&&=(r.noexpand=!1,!1),t.push(r)}return this.countExpansion(t.length),t}expandMacroAsText(e){var t=this.expandMacro(e);return t&&t.map(e=>e.text).join(``)}_getExpansion(e){var t=this.macros.get(e);if(t==null)return t;if(e.length===1){var n=this.lexer.catcodes[e];if(n!=null&&n!==13)return}var r=typeof t==`function`?t(this):t;if(typeof r==`string`){var i=0;if(r.includes(`#`))for(var a=r.replace(/##/g,``);a.includes(`#`+(i+1));)++i;for(var o=new Ia(r,this.settings),s=[],c=o.lex();c.text!==`EOF`;)s.push(c),c=o.lex();return s.reverse(),{tokens:s,numArgs:i}}return r}isDefined(e){return this.macros.has(e)||Da.hasOwnProperty(e)||xt.math.hasOwnProperty(e)||xt.text.hasOwnProperty(e)||Ka.hasOwnProperty(e)}isExpandable(e){var t=this.macros.get(e);return t==null?Da.hasOwnProperty(e)&&!Da[e].primitive:typeof t==`string`||typeof t==`function`||!t.unexpandable}},Ja=/^[₊₋₌₍₎₀₁₂₃₄₅₆₇₈₉ₐₑₕᵢⱼₖₗₘₙₒₚᵣₛₜᵤᵥₓᵦᵧᵨᵩᵪ]/,Ya=Object.freeze({"₊":`+`,"₋":`-`,"₌":`=`,"₍":`(`,"₎":`)`,"₀":`0`,"₁":`1`,"₂":`2`,"₃":`3`,"₄":`4`,"₅":`5`,"₆":`6`,"₇":`7`,"₈":`8`,"₉":`9`,ₐ:`a`,ₑ:`e`,ₕ:`h`,ᵢ:`i`,ⱼ:`j`,ₖ:`k`,ₗ:`l`,ₘ:`m`,ₙ:`n`,ₒ:`o`,ₚ:`p`,ᵣ:`r`,ₛ:`s`,ₜ:`t`,ᵤ:`u`,ᵥ:`v`,ₓ:`x`,ᵦ:`β`,ᵧ:`γ`,ᵨ:`ρ`,ᵩ:`ϕ`,ᵪ:`χ`,"⁺":`+`,"⁻":`-`,"⁼":`=`,"⁽":`(`,"⁾":`)`,"⁰":`0`,"¹":`1`,"²":`2`,"³":`3`,"⁴":`4`,"⁵":`5`,"⁶":`6`,"⁷":`7`,"⁸":`8`,"⁹":`9`,ᴬ:`A`,ᴮ:`B`,ᴰ:`D`,ᴱ:`E`,ᴳ:`G`,ᴴ:`H`,ᴵ:`I`,ᴶ:`J`,ᴷ:`K`,ᴸ:`L`,ᴹ:`M`,ᴺ:`N`,ᴼ:`O`,ᴾ:`P`,ᴿ:`R`,ᵀ:`T`,ᵁ:`U`,ⱽ:`V`,ᵂ:`W`,ᵃ:`a`,ᵇ:`b`,ᶜ:`c`,ᵈ:`d`,ᵉ:`e`,ᶠ:`f`,ᵍ:`g`,ʰ:`h`,ⁱ:`i`,ʲ:`j`,ᵏ:`k`,ˡ:`l`,ᵐ:`m`,ⁿ:`n`,ᵒ:`o`,ᵖ:`p`,ʳ:`r`,ˢ:`s`,ᵗ:`t`,ᵘ:`u`,ᵛ:`v`,ʷ:`w`,ˣ:`x`,ʸ:`y`,ᶻ:`z`,ᵝ:`β`,ᵞ:`γ`,ᵟ:`δ`,ᵠ:`ϕ`,ᵡ:`χ`,ᶿ:`θ`}),Xa={"́":{text:`\\'`,math:`\\acute`},"̀":{text:"\\`",math:`\\grave`},"̈":{text:`\\"`,math:`\\ddot`},"̃":{text:`\\~`,math:`\\tilde`},"̄":{text:`\\=`,math:`\\bar`},"̆":{text:`\\u`,math:`\\breve`},"̌":{text:`\\v`,math:`\\check`},"̂":{text:`\\^`,math:`\\hat`},"̇":{text:`\\.`,math:`\\dot`},"̊":{text:`\\r`,math:`\\mathring`},"̋":{text:`\\H`},"̧":{text:`\\c`}},Za={á:`á`,à:`à`,ä:`ä`,ǟ:`ǟ`,ã:`ã`,ā:`ā`,ă:`ă`,ắ:`ắ`,ằ:`ằ`,ẵ:`ẵ`,ǎ:`ǎ`,â:`â`,ấ:`ấ`,ầ:`ầ`,ẫ:`ẫ`,ȧ:`ȧ`,ǡ:`ǡ`,å:`å`,ǻ:`ǻ`,ḃ:`ḃ`,ć:`ć`,ḉ:`ḉ`,č:`č`,ĉ:`ĉ`,ċ:`ċ`,ç:`ç`,ď:`ď`,ḋ:`ḋ`,ḑ:`ḑ`,é:`é`,è:`è`,ë:`ë`,ẽ:`ẽ`,ē:`ē`,ḗ:`ḗ`,ḕ:`ḕ`,ĕ:`ĕ`,ḝ:`ḝ`,ě:`ě`,ê:`ê`,ế:`ế`,ề:`ề`,ễ:`ễ`,ė:`ė`,ȩ:`ȩ`,ḟ:`ḟ`,ǵ:`ǵ`,ḡ:`ḡ`,ğ:`ğ`,ǧ:`ǧ`,ĝ:`ĝ`,ġ:`ġ`,ģ:`ģ`,ḧ:`ḧ`,ȟ:`ȟ`,ĥ:`ĥ`,ḣ:`ḣ`,ḩ:`ḩ`,í:`í`,ì:`ì`,ï:`ï`,ḯ:`ḯ`,ĩ:`ĩ`,ī:`ī`,ĭ:`ĭ`,ǐ:`ǐ`,î:`î`,ǰ:`ǰ`,ĵ:`ĵ`,ḱ:`ḱ`,ǩ:`ǩ`,ķ:`ķ`,ĺ:`ĺ`,ľ:`ľ`,ļ:`ļ`,ḿ:`ḿ`,ṁ:`ṁ`,ń:`ń`,ǹ:`ǹ`,ñ:`ñ`,ň:`ň`,ṅ:`ṅ`,ņ:`ņ`,ó:`ó`,ò:`ò`,ö:`ö`,ȫ:`ȫ`,õ:`õ`,ṍ:`ṍ`,ṏ:`ṏ`,ȭ:`ȭ`,ō:`ō`,ṓ:`ṓ`,ṑ:`ṑ`,ŏ:`ŏ`,ǒ:`ǒ`,ô:`ô`,ố:`ố`,ồ:`ồ`,ỗ:`ỗ`,ȯ:`ȯ`,ȱ:`ȱ`,ő:`ő`,ṕ:`ṕ`,ṗ:`ṗ`,ŕ:`ŕ`,ř:`ř`,ṙ:`ṙ`,ŗ:`ŗ`,ś:`ś`,ṥ:`ṥ`,š:`š`,ṧ:`ṧ`,ŝ:`ŝ`,ṡ:`ṡ`,ş:`ş`,ẗ:`ẗ`,ť:`ť`,ṫ:`ṫ`,ţ:`ţ`,ú:`ú`,ù:`ù`,ü:`ü`,ǘ:`ǘ`,ǜ:`ǜ`,ǖ:`ǖ`,ǚ:`ǚ`,ũ:`ũ`,ṹ:`ṹ`,ū:`ū`,ṻ:`ṻ`,ŭ:`ŭ`,ǔ:`ǔ`,û:`û`,ů:`ů`,ű:`ű`,ṽ:`ṽ`,ẃ:`ẃ`,ẁ:`ẁ`,ẅ:`ẅ`,ŵ:`ŵ`,ẇ:`ẇ`,ẘ:`ẘ`,ẍ:`ẍ`,ẋ:`ẋ`,ý:`ý`,ỳ:`ỳ`,ÿ:`ÿ`,ỹ:`ỹ`,ȳ:`ȳ`,ŷ:`ŷ`,ẏ:`ẏ`,ẙ:`ẙ`,ź:`ź`,ž:`ž`,ẑ:`ẑ`,ż:`ż`,Á:`Á`,À:`À`,Ä:`Ä`,Ǟ:`Ǟ`,Ã:`Ã`,Ā:`Ā`,Ă:`Ă`,Ắ:`Ắ`,Ằ:`Ằ`,Ẵ:`Ẵ`,Ǎ:`Ǎ`,Â:`Â`,Ấ:`Ấ`,Ầ:`Ầ`,Ẫ:`Ẫ`,Ȧ:`Ȧ`,Ǡ:`Ǡ`,Å:`Å`,Ǻ:`Ǻ`,Ḃ:`Ḃ`,Ć:`Ć`,Ḉ:`Ḉ`,Č:`Č`,Ĉ:`Ĉ`,Ċ:`Ċ`,Ç:`Ç`,Ď:`Ď`,Ḋ:`Ḋ`,Ḑ:`Ḑ`,É:`É`,È:`È`,Ë:`Ë`,Ẽ:`Ẽ`,Ē:`Ē`,Ḗ:`Ḗ`,Ḕ:`Ḕ`,Ĕ:`Ĕ`,Ḝ:`Ḝ`,Ě:`Ě`,Ê:`Ê`,Ế:`Ế`,Ề:`Ề`,Ễ:`Ễ`,Ė:`Ė`,Ȩ:`Ȩ`,Ḟ:`Ḟ`,Ǵ:`Ǵ`,Ḡ:`Ḡ`,Ğ:`Ğ`,Ǧ:`Ǧ`,Ĝ:`Ĝ`,Ġ:`Ġ`,Ģ:`Ģ`,Ḧ:`Ḧ`,Ȟ:`Ȟ`,Ĥ:`Ĥ`,Ḣ:`Ḣ`,Ḩ:`Ḩ`,Í:`Í`,Ì:`Ì`,Ï:`Ï`,Ḯ:`Ḯ`,Ĩ:`Ĩ`,Ī:`Ī`,Ĭ:`Ĭ`,Ǐ:`Ǐ`,Î:`Î`,İ:`İ`,Ĵ:`Ĵ`,Ḱ:`Ḱ`,Ǩ:`Ǩ`,Ķ:`Ķ`,Ĺ:`Ĺ`,Ľ:`Ľ`,Ļ:`Ļ`,Ḿ:`Ḿ`,Ṁ:`Ṁ`,Ń:`Ń`,Ǹ:`Ǹ`,Ñ:`Ñ`,Ň:`Ň`,Ṅ:`Ṅ`,Ņ:`Ņ`,Ó:`Ó`,Ò:`Ò`,Ö:`Ö`,Ȫ:`Ȫ`,Õ:`Õ`,Ṍ:`Ṍ`,Ṏ:`Ṏ`,Ȭ:`Ȭ`,Ō:`Ō`,Ṓ:`Ṓ`,Ṑ:`Ṑ`,Ŏ:`Ŏ`,Ǒ:`Ǒ`,Ô:`Ô`,Ố:`Ố`,Ồ:`Ồ`,Ỗ:`Ỗ`,Ȯ:`Ȯ`,Ȱ:`Ȱ`,Ő:`Ő`,Ṕ:`Ṕ`,Ṗ:`Ṗ`,Ŕ:`Ŕ`,Ř:`Ř`,Ṙ:`Ṙ`,Ŗ:`Ŗ`,Ś:`Ś`,Ṥ:`Ṥ`,Š:`Š`,Ṧ:`Ṧ`,Ŝ:`Ŝ`,Ṡ:`Ṡ`,Ş:`Ş`,Ť:`Ť`,Ṫ:`Ṫ`,Ţ:`Ţ`,Ú:`Ú`,Ù:`Ù`,Ü:`Ü`,Ǘ:`Ǘ`,Ǜ:`Ǜ`,Ǖ:`Ǖ`,Ǚ:`Ǚ`,Ũ:`Ũ`,Ṹ:`Ṹ`,Ū:`Ū`,Ṻ:`Ṻ`,Ŭ:`Ŭ`,Ǔ:`Ǔ`,Û:`Û`,Ů:`Ů`,Ű:`Ű`,Ṽ:`Ṽ`,Ẃ:`Ẃ`,Ẁ:`Ẁ`,Ẅ:`Ẅ`,Ŵ:`Ŵ`,Ẇ:`Ẇ`,Ẍ:`Ẍ`,Ẋ:`Ẋ`,Ý:`Ý`,Ỳ:`Ỳ`,Ÿ:`Ÿ`,Ỹ:`Ỹ`,Ȳ:`Ȳ`,Ŷ:`Ŷ`,Ẏ:`Ẏ`,Ź:`Ź`,Ž:`Ž`,Ẑ:`Ẑ`,Ż:`Ż`,ά:`ά`,ὰ:`ὰ`,ᾱ:`ᾱ`,ᾰ:`ᾰ`,έ:`έ`,ὲ:`ὲ`,ή:`ή`,ὴ:`ὴ`,ί:`ί`,ὶ:`ὶ`,ϊ:`ϊ`,ΐ:`ΐ`,ῒ:`ῒ`,ῑ:`ῑ`,ῐ:`ῐ`,ό:`ό`,ὸ:`ὸ`,ύ:`ύ`,ὺ:`ὺ`,ϋ:`ϋ`,ΰ:`ΰ`,ῢ:`ῢ`,ῡ:`ῡ`,ῠ:`ῠ`,ώ:`ώ`,ὼ:`ὼ`,Ύ:`Ύ`,Ὺ:`Ὺ`,Ϋ:`Ϋ`,Ῡ:`Ῡ`,Ῠ:`Ῠ`,Ώ:`Ώ`,Ὼ:`Ὼ`},Qa=class e{constructor(e,t){this.mode=void 0,this.gullet=void 0,this.settings=void 0,this.leftrightDepth=void 0,this.nextToken=void 0,this.mode=`math`,this.gullet=new qa(e,t,this.mode),this.settings=t,this.leftrightDepth=0,this.nextToken=null}expect(e,t){if(t===void 0&&(t=!0),this.fetch().text!==e)throw new T(`Expected '`+e+`', got '`+this.fetch().text+`'`,this.fetch());t&&this.consume()}consume(){this.nextToken=null}fetch(){return this.nextToken??=this.gullet.expandNextToken(),this.nextToken}switchMode(e){this.mode=e,this.gullet.switchMode(e)}parse(){this.settings.globalGroup||this.gullet.beginGroup(),this.settings.colorIsTextColor&&this.gullet.macros.set(`\\color`,`\\textcolor`);try{var e=this.parseExpression(!1);return this.expect(`EOF`),this.settings.globalGroup||this.gullet.endGroup(),e}finally{this.gullet.endGroups()}}subparse(e){var t=this.nextToken;this.consume(),this.gullet.pushToken(new Li(`}`)),this.gullet.pushTokens(e);var n=this.parseExpression(!1);return this.expect(`}`),this.nextToken=t,n}parseExpression(t,n){for(var r=[];;){this.mode===`math`&&this.consumeSpaces();var i=this.fetch();if(e.endOfExpression.has(i.text)||n&&i.text===n||t&&Da[i.text]&&Da[i.text].infix)break;var a=this.parseAtom(n);if(!a)break;a.type!==`internal`&&r.push(a)}return this.mode===`text`&&this.formLigatures(r),this.handleInfixNodes(r)}handleInfixNodes(e){for(var t=-1,n,r=0;r<e.length;r++){var i=e[r];if(i.type===`infix`){if(t!==-1)throw new T(`only one infix operator per group`,i.token);t=r,n=i.replaceWith}}if(t!==-1&&n){var a,o,s=e.slice(0,t),c=e.slice(t+1);return a=s.length===1&&s[0].type===`ordgroup`?s[0]:{type:`ordgroup`,mode:this.mode,body:s},o=c.length===1&&c[0].type===`ordgroup`?c[0]:{type:`ordgroup`,mode:this.mode,body:c},[n===`\\\\abovefrac`?this.callFunction(n,[a,e[t],o],[]):this.callFunction(n,[a,o],[])]}return e}handleSupSubscript(e){var t=this.fetch(),n=t.text;this.consume(),this.consumeSpaces();var r;do r=this.parseGroup(e);while(r?.type===`internal`);if(!r)throw new T(`Expected group after '`+n+`'`,t);return r}formatUnsupportedCmd(e){for(var t=[],n=0;n<e.length;n++)t.push({type:`textord`,mode:`text`,text:e[n]});var r={type:`text`,mode:this.mode,body:t};return{type:`color`,mode:this.mode,color:this.settings.errorColor,body:[r]}}parseAtom(e){var t=this.parseGroup(`atom`,e);if(t?.type===`internal`||this.mode===`text`)return t;for(var n,r;;){this.consumeSpaces();var i=this.fetch();if(i.text===`\\limits`||i.text===`\\nolimits`){if(t&&t.type===`op`)t.limits=i.text===`\\limits`,t.alwaysHandleSupSub=!0;else if(t&&t.type===`operatorname`)t.alwaysHandleSupSub&&(t.limits=i.text===`\\limits`);else throw new T(`Limit controls must follow a math operator`,i);this.consume()}else if(i.text===`^`){if(n)throw new T(`Double superscript`,i);n=this.handleSupSubscript(`superscript`)}else if(i.text===`_`){if(r)throw new T(`Double subscript`,i);r=this.handleSupSubscript(`subscript`)}else if(i.text===`'`){if(n)throw new T(`Double superscript`,i);var a={type:`textord`,mode:this.mode,text:`\\prime`},o=[a];for(this.consume();this.fetch().text===`'`;)o.push(a),this.consume();this.fetch().text===`^`&&o.push(this.handleSupSubscript(`superscript`)),n={type:`ordgroup`,mode:this.mode,body:o}}else if(Ya[i.text]){var s=Ja.test(i.text),c=[];for(c.push(new Li(Ya[i.text])),this.consume();;){var l=this.fetch().text;if(!Ya[l]||Ja.test(l)!==s)break;c.unshift(new Li(Ya[l])),this.consume()}var u=this.subparse(c);s?r={type:`ordgroup`,mode:`math`,body:u}:n={type:`ordgroup`,mode:`math`,body:u}}else break}return n||r?{type:`supsub`,mode:this.mode,base:t,sup:n,sub:r}:t}parseFunction(e,t){var n=this.fetch(),r=n.text,i=Da[r];if(!i)return null;if(this.consume(),t&&t!==`atom`&&!i.allowedInArgument)throw new T(`Got function '`+r+`' with no arguments`+(t?` as `+t:``),n);if(this.mode===`text`&&!i.allowedInText)throw new T(`Can't use function '`+r+`' in text mode`,n);if(this.mode===`math`&&i.allowedInMath===!1)throw new T(`Can't use function '`+r+`' in math mode`,n);var{args:a,optArgs:o}=this.parseArguments(r,i);return this.callFunction(r,a,o,n,e)}callFunction(e,t,n,r,i){var a={funcName:e,parser:this,token:r,breakOnTokenText:i},o=Da[e];if(o&&o.handler)return o.handler(a,t,n);throw new T(`No function handler for `+e)}parseArguments(e,t){var n=t.numArgs+t.numOptionalArgs;if(n===0)return{args:[],optArgs:[]};for(var r=[],i=[],a=0;a<n;a++){var o=t.argTypes&&t.argTypes[a],s=a<t.numOptionalArgs;(`primitive`in t&&t.primitive&&o==null||t.type===`sqrt`&&a===1&&i[0]==null)&&(o=`primitive`);var c=this.parseGroupOfType(`argument to '`+e+`'`,o,s);if(s)i.push(c);else if(c!=null)r.push(c);else throw new T(`Null argument, please report this as a bug`)}return{args:r,optArgs:i}}parseGroupOfType(e,t,n){switch(t){case`color`:return this.parseColorGroup(n);case`size`:return this.parseSizeGroup(n);case`url`:return this.parseUrlGroup(n);case`math`:case`text`:return this.parseArgumentGroup(n,t);case`hbox`:var r=this.parseArgumentGroup(n,`text`);return r==null?null:{type:`styling`,mode:r.mode,body:[r],style:`text`,resetFont:!0};case`raw`:var i=this.parseStringGroup(`raw`,n);return i==null?null:{type:`raw`,mode:`text`,string:i.text};case`primitive`:if(n)throw new T(`A primitive argument cannot be optional`);var a=this.parseGroup(e);if(a==null)throw new T(`Expected group as `+e,this.fetch());return a;case`original`:case null:case void 0:return this.parseArgumentGroup(n);default:throw new T(`Unknown group type as `+e,this.fetch())}}consumeSpaces(){for(;this.fetch().text===` `;)this.consume()}parseStringGroup(e,t){var n=this.gullet.scanArgument(t);if(n==null)return null;for(var r=``,i;(i=this.fetch()).text!==`EOF`;)r+=i.text,this.consume();return this.consume(),n.text=r,n}parseRegexGroup(e,t){for(var n=this.fetch(),r=n,i=``,a;(a=this.fetch()).text!==`EOF`&&e.test(i+a.text);)r=a,i+=r.text,this.consume();if(i===``)throw new T(`Invalid `+t+`: '`+n.text+`'`,n);return n.range(r,i)}parseColorGroup(e){var t=this.parseStringGroup(`color`,e);if(t==null)return null;var n=/^(#[a-f0-9]{3,4}|#[a-f0-9]{6}|#[a-f0-9]{8}|[a-f0-9]{6}|[a-z]+)$/i.exec(t.text);if(!n)throw new T(`Invalid color: '`+t.text+`'`,t);var r=n[0];return/^[0-9a-f]{6}$/i.test(r)&&(r=`#`+r),{type:`color-token`,mode:this.mode,color:r}}parseSizeGroup(e){var t,n=!1;if(this.gullet.consumeSpaces(),t=!e&&this.gullet.future().text!==`{`?this.parseRegexGroup(/^[-+]? *(?:$|\d+|\d+\.\d*|\.\d*) *[a-z]{0,2} *$/,`size`):this.parseStringGroup(`size`,e),!t)return null;!e&&t.text.length===0&&(t.text=`0pt`,n=!0);var r=/([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(t.text);if(!r)throw new T(`Invalid size: '`+t.text+`'`,t);var i={number:+(r[1]+r[2]),unit:r[3]};if(!Ye(i))throw new T(`Invalid unit: '`+i.unit+`'`,t);return{type:`size`,mode:this.mode,value:i,isBlank:n}}parseUrlGroup(e){this.gullet.lexer.setCatcode(`%`,13),this.gullet.lexer.setCatcode(`~`,12);var t=this.parseStringGroup(`url`,e);if(this.gullet.lexer.setCatcode(`%`,14),this.gullet.lexer.setCatcode(`~`,13),t==null)return null;var n=t.text.replace(/\\([#$%&~_^{}])/g,`$1`);return{type:`url`,mode:this.mode,url:n}}parseArgumentGroup(e,t){var n=this.gullet.scanArgument(e);if(n==null)return null;var r=this.mode;t&&this.switchMode(t),this.gullet.beginGroup();var i=this.parseExpression(!1,`EOF`);this.expect(`EOF`),this.gullet.endGroup();var a={type:`ordgroup`,mode:this.mode,loc:n.loc,body:i};return t&&this.switchMode(r),a}parseGroup(e,t){var n=this.fetch(),r=n.text,i;if(r===`{`||r===`\\begingroup`){this.consume();var a=r===`{`?`}`:`\\endgroup`;this.gullet.beginGroup();var o=this.parseExpression(!1,a),s=this.fetch();this.expect(a),this.gullet.endGroup(),i={type:`ordgroup`,mode:this.mode,loc:Ii.range(n,s),body:o,semisimple:r===`\\begingroup`||void 0}}else if(i=this.parseFunction(t,e)||this.parseSymbol(),i==null&&r[0]===`\\`&&!Ka.hasOwnProperty(r)){if(this.settings.throwOnError)throw new T(`Undefined control sequence: `+r,n);i=this.formatUnsupportedCmd(r),this.consume()}return i}formLigatures(e){for(var t=e.length-1,n=0;n<t;++n){var r=e[n];if(r.type===`textord`){var i=r.text,a=e[n+1];if(!(!a||a.type!==`textord`)){if(i===`-`&&a.text===`-`){var o=e[n+2];n+1<t&&o&&o.type===`textord`&&o.text===`-`?(e.splice(n,3,{type:`textord`,mode:`text`,loc:Ii.range(r,o),text:`---`}),t-=2):(e.splice(n,2,{type:`textord`,mode:`text`,loc:Ii.range(r,a),text:`--`}),--t)}(i===`'`||i==="`")&&a.text===i&&(e.splice(n,2,{type:`textord`,mode:`text`,loc:Ii.range(r,a),text:i+i}),--t)}}}}parseSymbol(){var e=this.fetch(),t=e.text;if(/^\\verb[^a-zA-Z]/.test(t)){this.consume();var n=t.slice(5),r=n.charAt(0)===`*`;if(r&&(n=n.slice(1)),n.length<2||n.charAt(0)!==n.slice(-1))throw new T(`\\verb assertion failed --
257
257
  please report what input caused this bug`);return n=n.slice(1,-1),{type:`verb`,mode:`text`,body:n,star:r}}Za.hasOwnProperty(t[0])&&!xt[this.mode][t[0]]&&(this.settings.strict&&this.mode===`math`&&this.settings.reportNonstrict(`unicodeTextInMathMode`,`Accented Unicode text character "`+t[0]+`" used in math mode`,e),t=Za[t[0]]+t.slice(1));var i=Pa.exec(t);i&&(t=t.substring(0,i.index),t===`i`?t=`ı`:t===`j`&&(t=`ȷ`));var a;if(xt[this.mode][t]){this.settings.strict&&this.mode===`math`&&Ut.includes(t)&&this.settings.reportNonstrict(`unicodeTextInMathMode`,`Latin-1/Unicode text character "`+t[0]+`" used in math mode`,e);var o=xt[this.mode][t].group,s=Ii.range(e);a=Or(o)?{type:`atom`,mode:this.mode,family:o,loc:s,text:t}:{type:o,mode:this.mode,loc:s,text:t}}else if(t.charCodeAt(0)>=128)this.settings.strict&&(je(t.charCodeAt(0))?this.mode===`math`&&this.settings.reportNonstrict(`unicodeTextInMathMode`,`Unicode text character "`+t[0]+`" used in math mode`,e):this.settings.reportNonstrict(`unknownSymbol`,`Unrecognized Unicode character "`+t[0]+`"`+(` (`+t.charCodeAt(0)+`)`),e)),a={type:`textord`,mode:`text`,loc:Ii.range(e),text:t};else return null;if(this.consume(),i)for(var c=0;c<i[0].length;c++){var l=i[0][c];if(!Xa[l])throw new T(`Unknown accent ' `+l+`'`,e);var u=Xa[l][this.mode]||Xa[l].text;if(!u)throw new T(`Accent `+l+` unsupported in `+this.mode+` mode`,e);a={type:`accent`,mode:this.mode,loc:Ii.range(e),label:u,isStretchy:!1,isShifty:!0,base:a}}return a}};Qa.endOfExpression=new Set([`}`,`\\endgroup`,`\\end`,`\\right`,`&`]);var $a=function(e,t){if(!(typeof e==`string`||e instanceof String))throw TypeError(`KaTeX can only parse string typed expression`);var n=new Qa(e,t);delete n.gullet.macros.current[`\\df@tag`];var r=n.parse();if(delete n.gullet.macros.current[`\\current@color`],delete n.gullet.macros.current[`\\color`],n.gullet.macros.get(`\\df@tag`)){if(!t.displayMode)throw new T(`\\tag works only in display equations`);r=[{type:`tag`,mode:`text`,body:r,tag:n.subparse([new Li(`\\df@tag`)])}]}return r},eo=function(e,t,n){t.textContent=``;var r=io(e,n).toNode();t.appendChild(r)};typeof document<`u`&&document.compatMode!==`CSS1Compat`&&(typeof console<`u`&&console.warn(`Warning: KaTeX doesn't work in quirks mode. Make sure your website has a suitable doctype.`),eo=function(){throw new T(`KaTeX doesn't work in quirks mode.`)});var to=function(e,t){return io(e,t).toMarkup()},no=function(e,t){return $a(e,new de(t))},ro=function(e,t,n){if(n.throwOnError||!(e instanceof T))throw e;var r=B([`katex-error`],[new st(t)]);return r.setAttribute(`title`,e.toString()),r.setAttribute(`style`,`color:`+n.errorColor),r},io=function(e,t){var n=new de(t);try{return vr($a(e,n),e,n)}catch(t){return ro(t,e,n)}},ao={version:`0.16.47`,render:eo,renderToString:to,ParseError:T,SETTINGS_SCHEMA:se,__parse:no,__renderToDomTree:io,__renderToHTMLTree:function(e,t){var n=new de(t);try{return yr($a(e,n),e,n)}catch(t){return ro(t,e,n)}},__setFontMetrics:_t,__defineSymbol:A,__defineFunction:V,__defineMacro:W,__domTree:{Span:rt,Anchor:it,SymbolNode:st,SvgNode:ct,PathNode:lt,LineNode:ut}};function oo(e,t){return typeof e==`string`&&t.includes(e)}function G(e,t){return typeof e==`string`?e.slice(0,t):void 0}let so=/^(?:#[\da-fA-F]{3,8}|rgba?\([^)]{0,64}\)|hsla?\([^)]{0,64}\)|var\(--dsw-[\w-]+(?:,\s*#[0-9a-fA-F]{3,8})?\))$/;function co(e){if(typeof e!=`string`)return;let t=e.trim();return t.length<=64&&so.test(t)?t:void 0}function lo(e){if(typeof e!=`string`)return;let t=e.trim();if(!(t.length>2048))return/^https?:\/\//i.test(t)||/^mailto:[^@\s]+@[^@\s]+$/i.test(t)?t:void 0}function uo(e){if(typeof e!=`string`)return;let t=e.trim();if(!(t===``||t.length>2048)&&(/^https?:\/\//i.test(t)||!(/^[a-z][a-z0-9+.-]*:/i.test(t)||/^[/\\]{2}/.test(t))))return t}function fo(e,t,n){return typeof e==`number`&&Number.isFinite(e)?Math.min(n,Math.max(t,e)):void 0}function po(e,t,n){return typeof e==`number`&&Number.isFinite(e)?Math.min(n,Math.max(t,Math.trunc(e))):void 0}function mo(e,t){return oo(e,t)?e:void 0}function K(e){return typeof e==`object`&&e&&!Array.isArray(e)?e:void 0}function q(e,t){return t===void 0?{}:{[e]:t}}function ho({source:e,display:t}){let n=(0,m.useRef)(null);return(0,m.useLayoutEffect)(()=>{n.current!==null&&ao.render(e,n.current,{displayMode:t,throwOnError:!1,trust:!1,maxExpand:1e3,maxSize:20,output:`htmlAndMathml`})},[e,t]),(0,m.createElement)(`span`,{ref:n,className:w.inlineMath})}let go=/(?<!`)`[^`\n]+`(?!`)|\\\\|\\\$|(?<![\\$])\$\$(?:\\.|[^\\])*?\$\$|\\\[(?:\\(?!\])[^]|[^\\])*?\\\]|\\\((?:\\(?!\))[^]|[^\\])*?\\\)|(?<![\\$])\$(?!\s|\$)(?:\\.|[^$\\\n])+(?<!\s)\$(?!\d|\$)|\*\*[\s\S]+?\*\*|==[\s\S]+?==|\[[^\]\n]+\]\([^)\s]+\)|\r?\n/g,_o=/`{3,}|~{3,}/g;function vo(e){return typeof e==`string`&&/[`*=$\\\n\r]|\[/.test(e)}function J(e,t=!0,n=0){if(typeof e!=`string`||e===``||!vo(e)||n>=8)return e;let r=[],i=0;for(let a of e.matchAll(_o)){let o=a.index??0;if(o<i)continue;let s=a[0],c=o+s.length,l;for(let t of e.slice(c).matchAll(_o))if(t[0][0]===s[0]&&t[0].length>=s.length){l=c+(t.index??0)+t[0].length;break}if(o>i&&r.push(J(e.slice(i,o),t,n)),i=l??e.length,r.push(e.slice(o,i)),l===void 0)break}if(r.length>0)return i<e.length&&r.push(J(e.slice(i),t,n)),r;let a=[],o=0,s=0;for(let r of e.matchAll(go)){let i=r.index??0,c=r[0];if(i>o&&a.push(e.slice(o,i)),c===`
258
258
  `||c===`\r
259
- `)a.push((0,m.createElement)(`br`,{key:s++}));else if(c.startsWith("`"))a.push((0,m.createElement)(`code`,{key:s++,className:w.inlineCode},c.slice(1,-1)));else if(c===`\\$`||c===`\\\\`)a.push(c.slice(1));else if(c.startsWith(`$`)||c.startsWith(`\\(`)||c.startsWith(`\\[`)){let e=c.startsWith(`$$`)||c.startsWith(`\\[`),t=c.startsWith(`$`)&&!e?1:2;a.push((0,m.createElement)(ho,{key:s++,source:c.slice(t,-t),display:e}))}else if(c.startsWith(`**`)||c.startsWith(`==`)){let e=c.startsWith(`**`);a.push((0,m.createElement)(e?`strong`:`mark`,{key:s++,className:e?w.inlineStrong:w.inlineMark},J(c.slice(2,-2),t,n+1)))}else{let e=/^\[([^\]\n]+)\]\(([^)\s]+)\)$/.exec(c);if(e===null)a.push(c);else{let r=lo(e[2]);a.push(r===void 0||!t?J(e[1],!1,n+1):(0,m.createElement)(`a`,{key:s++,className:w.inlineLink,href:r,target:`_blank`,rel:`noreferrer noopener`},J(e[1],!1,n+1)))}}o=i+c.length}return o<e.length&&a.push(e.slice(o)),a.length===0?e:a}let yo={"artifact.export":`Export`,"artifact.exportHtml":`HTML`,"artifact.exportJson":`GenUI JSON`,"artifact.exportFailed":`Export failed. Try again.`,"artifact.unsupportedCustom":`Cannot export HTML because the standalone runtime cannot render custom components: {types}. Export GenUI JSON to preserve these nodes.`,"artifact.externalMediaNotice":`External media may not appear when this file is opened offline.`,"panel.badge":`Panel`,"panel.title.default":`GenUI panel`,"panel.title.explore":`GenUI explorer`,"panel.templates":`Templates`,"panel.templates.aria":`Template center`,"panel.templates.title":`Template center: preview and try GenUI examples`,"panel.achievements":`Trophies`,"panel.achievements.aria":`Exploration trophies`,"panel.achievements.title":`Exploration trophies: badges and progress`,"panel.close.aria":`Close panel`,"panel.resize.aria":`Resize panel height`,"panel.hint":`💡 This is the GenUI session panel — hit “Templates” above to browse runnable examples`,"panel.boundary":`panel`,"panel.flash.inserted":`Instruction inserted into the composer — send it to generate`,"panel.cmd.hint":`Open the GenUI panel; /panel <instruction> to customize; /panel clear to empty`,"panel.cmd.description":`Open the GenUI panel (/panel clear empties it; /panel <instruction> tailors the content)`,"panel.default.heading":`GenUI generative interface`,"panel.default.subtitle":`The panel updates in place: say “update the panel” in chat, or run /panel again to refresh.`,"panel.default.stat.components":`Components`,"panel.default.stat.single":`Primitives`,"panel.default.stat.composite":`Composites`,"panel.default.stat.advanced":`Advanced`,"panel.default.group.single":`Primitives ×12`,"panel.default.group.composite":`Composites ×8`,"panel.default.group.data":`Data ×7`,"panel.default.group.interactive":`Interactive ×5`,"panel.default.group.advanced":`Advanced ×5`,"panel.default.group.teaching":`Teaching ×1`,"panel.default.callout.title":`How to update`,"panel.default.callout.body":`Say “update the panel” in chat → the model emits a panel:true fence; /panel clear empties it.`,"tpl.category.all":`All`,"tpl.category.dashboard":`Dashboard`,"tpl.category.data":`Data`,"tpl.category.flow":`Flow`,"tpl.category.chart":`Charts`,"tpl.category.interactive":`Interactive`,"tpl.category.quiz":`Quiz`,"tpl.category.advanced":`Advanced`,"tpl.categories.aria":`Template categories`,"tpl.try":`Try it: insert into composer`,"tpl.copy":`Copy instruction`,"tpl.copied":`✓ Copied`,"tpl.boundary.preview":`template preview`,"tpl.boundary.achievements":`trophy page`,"tpl.dashboard.name":`Project dashboard`,"tpl.dashboard.desc":`Core metrics on one card: numbers, deltas and a progress bar — the decision at a glance.`,"tpl.dashboard.instruction":`Use dsh-ui to build a dashboard for this project: 4 key-metric stat cards (with deltas), an overall progress bar, and a list of today’s 3 todos. Title it “Project dashboard”.`,"tpl.dashboard.demo.title":`Project dashboard (example)`,"tpl.dashboard.demo.metrics":`This week’s key metrics`,"tpl.dashboard.demo.done":`Completed`,"tpl.dashboard.demo.blocked":`Blocked`,"tpl.dashboard.demo.duration":`Avg. cycle time`,"tpl.dashboard.demo.coverage":`Coverage`,"tpl.dashboard.demo.progress":`Overall progress`,"tpl.dashboard.demo.milestone":`v1.0 milestone`,"tpl.dashboard.demo.todo":`Today’s todos`,"tpl.dashboard.demo.todo1":`Review the M1 template-center PR`,"tpl.dashboard.demo.todo2":`Sync vendor to SSiD`,"tpl.dashboard.demo.todo3":`Wednesday standup deck`,"tpl.compare.name":`Option comparison`,"tpl.compare.desc":`Options scored dimension by dimension — the contested cells jump out.`,"tpl.compare.instruction":`Use dsh-ui to turn these options into a comparison table: options A/B/C × dimensions (cost / complexity / risk / payoff), marking the recommended column; add a callout at the top stating the conclusion.`,"tpl.compare.demo.title":`Option comparison (example)`,"tpl.compare.demo.conclusion":`Conclusion`,"tpl.compare.demo.body":`Option B wins overall: medium cost, low complexity, low risk.`,"tpl.compare.demo.dimension":`Dimension`,"tpl.compare.demo.optionA":`Option A`,"tpl.compare.demo.optionB":`Option B ★`,"tpl.compare.demo.optionC":`Option C`,"tpl.compare.demo.cost":`Cost`,"tpl.compare.demo.complexity":`Complexity`,"tpl.compare.demo.risk":`Risk`,"tpl.compare.demo.payoff":`Payoff`,"tpl.compare.demo.high":`High`,"tpl.compare.demo.medium":`Medium`,"tpl.compare.demo.low":`Low`,"tpl.compare.demo.large":`Large`,"tpl.compare.demo.small":`Small`,"tpl.steps.name":`Five-step walkthrough`,"tpl.steps.desc":`Key steps on a timeline, one line each — for tutorials, handovers and release runbooks.`,"tpl.steps.instruction":`Use dsh-ui to turn the procedure into a steps walkthrough: 5 steps following the real flow, each with a title and a line or two of detail, with a badge at the top showing the expected duration.`,"tpl.steps.demo.title":`Getting started (example)`,"tpl.steps.demo.badge":`About 5 minutes`,"tpl.steps.demo.s1":`Install the plugin`,"tpl.steps.demo.s1desc":`From the plugin center, or npm-install it into your profile`,"tpl.steps.demo.s2":`Send your first instruction`,"tpl.steps.demo.s2desc":`Ask the model to answer with a dsh-ui interface`,"tpl.steps.demo.s3":`Try the interaction`,"tpl.steps.demo.s3desc":`Click a button, grade a quiz, switch a tab — actions travel back to the model`,"tpl.steps.demo.s4":`Pin a panel`,"tpl.steps.demo.s4desc":`The model uses panel:true to pin results to the session panel`,"tpl.steps.demo.s5":`Advanced components`,"tpl.steps.demo.s5desc":`Charts, diagrams and 3D load lazily, on demand`,"tpl.quiz.name":`Pop quiz`,"tpl.quiz.desc":`Graded the moment you answer: right or wrong plus an explanation — good for training.`,"tpl.quiz.instruction":`Use dsh-ui to write 3 pop-quiz questions (quiz component: question + options, exactly one correct, each with an explanation), titled “Pop quiz”, graded as soon as an option is picked.`,"tpl.quiz.demo.title":`Pop quiz (example)`,"tpl.quiz.demo.hint":`Picking an option grades it instantly and reveals the explanation.`,"tpl.quiz.demo.q1":`What is the smallest unit of a DSH plugin?`,"tpl.quiz.demo.q1a":`A service`,"tpl.quiz.demo.q1b":`A plugin (a cordis plugin)`,"tpl.quiz.demo.q1bfx":`✓ Everything is a plugin: services, tools and UI all register through one.`,"tpl.quiz.demo.q1c":`A tool`,"tpl.quiz.demo.q1exp":`DSH is built on cordis: every capability, services and tools included, registers as a plugin.`,"tpl.quiz.demo.q2":`Who emits a dsh-ui fence?`,"tpl.quiz.demo.q2a":`The user`,"tpl.quiz.demo.q2b":`The model`,"tpl.quiz.demo.q2bfx":`✓ The model writes the dsh-ui fence into its reply.`,"tpl.quiz.demo.q2c":`The host`,"tpl.quiz.demo.q2exp":`The model emits the fence; the renderer paints it into real components.`,"tpl.quiz.demo.q3":`Where does a panel:true fence render?`,"tpl.quiz.demo.q3a":`The message flow`,"tpl.quiz.demo.q3b":`The session panel dock`,"tpl.quiz.demo.q3bfx":`✓ Panel updates never spam the transcript.`,"tpl.quiz.demo.q3c":`The settings page`,"tpl.stats.name":`Key figures + progress`,"tpl.stats.desc":`Numbers, progress and milestones in one delivery — the standard weekly report.`,"tpl.stats.instruction":`Use dsh-ui to summarize this week: a keyvalue block with 3 key figures, two progress bars (planned vs actual), and a timeline with 3 milestones. Title it “Weekly snapshot”.`,"tpl.stats.demo.title":`Weekly snapshot (example)`,"tpl.stats.demo.done":`Completed`,"tpl.stats.demo.late":`Late`,"tpl.stats.demo.risk":`Risks`,"tpl.stats.demo.riskValue":`2 (both mitigated)`,"tpl.stats.demo.planned":`Planned progress`,"tpl.stats.demo.actual":`Actual progress`,"tpl.stats.demo.mon":`Monday`,"tpl.stats.demo.monDesc":`M1 development complete`,"tpl.stats.demo.wed":`Wednesday`,"tpl.stats.demo.wedDesc":`End-to-end verification passed`,"tpl.stats.demo.fri":`Friday`,"tpl.stats.demo.friDesc":`Shipped 0.9.4`,"tpl.chart.name":`Trend chart`,"tpl.chart.desc":`Data drawn straight into a chart — multiple series, trend visible at a glance.`,"tpl.chart.instruction":`Use dsh-ui to plot this data as a chart (bars, multi-series): completed vs planned over the last 6 weeks, with a one-line trend conclusion above the chart.`,"tpl.chart.demo.title":`Trend comparison (example)`,"tpl.chart.demo.conclusion":`Conclusion: completions rose 3 weeks running and overtook plan for the first time this week.`,"tpl.tabs.name":`Tabbed sections`,"tpl.tabs.desc":`A big block split into tabs: clear anchors, an uncluttered panel, no transcript spam.`,"tpl.tabs.instruction":`Use dsh-ui to split the content into three tabs: Overview / Details / FAQ, at most 3 points per tab. Title it “Feature tour”.`,"tpl.tabs.demo.title":`Feature tour (example)`,"tpl.tabs.demo.overview":`Overview`,"tpl.tabs.demo.overviewBody":`Three capabilities: live rendering, action round-trips, and a persistent panel.`,"tpl.tabs.demo.details":`Details`,"tpl.tabs.demo.d1":`Rendering: incremental fence parsing, painted as it streams`,"tpl.tabs.demo.d2":`Interaction: actions travel back and the model updates in place`,"tpl.tabs.demo.d3":`Panel: a session-level dock you can collapse and resize`,"tpl.tabs.demo.faqBody":`Q: What if the model never replies? A: Components still grade and expand locally.`,"tpl.checklist.name":`Release checklist`,"tpl.checklist.desc":`Tick every box before you ship: the list is the process, and gaps are visible.`,"tpl.checklist.instruction":`Use dsh-ui to build a release checklist: 6 tickable checkbox items (tests / docs / release / rollback / monitoring / announcement), with a badge at the top reading “Tick everything before merging”.`,"tpl.checklist.demo.title":`Release checklist (example)`,"tpl.checklist.demo.badge":`Tick everything before merging`,"tpl.checklist.demo.c1":`Unit tests pass`,"tpl.checklist.demo.c2":`Docs updated`,"tpl.checklist.demo.c3":`Release bundle ready`,"tpl.checklist.demo.c4":`Rollback plan`,"tpl.accordion.name":`FAQ accordion`,"tpl.accordion.desc":`Questions and answers folded away: long documents get short and answers stop intimidating.`,"tpl.accordion.instruction":`Use dsh-ui to build an FAQ accordion: 5 common questions, the question as the header and the answer inside, with the first one expanded by default.`,"tpl.accordion.demo.title":`FAQ (example)`,"tpl.accordion.demo.q1":`Which chart types are supported?`,"tpl.accordion.demo.a1":`chart (bars/line/donut), plot for function graphs, and echart for the full chart library.`,"tpl.accordion.demo.q2":`Does the panel persist?`,"tpl.accordion.demo.a2":`The same content fingerprint restores its state across refresh and replay; new content resets.`,"tpl.accordion.demo.q3":`Do interactions disturb the model?`,"tpl.accordion.demo.a3":`Only components carrying an action send anything; pure display costs zero round-trips.`,"tpl.diagram.name":`System architecture`,"tpl.diagram.desc":`Architecture drawn as SVG: layered nodes, real edges, labelled zones — clearer than a screenshot.`,"tpl.diagram.instruction":`Use dsh-ui to draw an architecture diagram: 5 nodes of this system and their connections (kind: architecture or flowchart), including one security zone.`,"tpl.diagram.demo.title":`Architecture (example)`,"tpl.diagram.demo.caption":`DSH plugin path`,"tpl.diagram.demo.model":`Model`,"tpl.diagram.demo.plugin":`Plugin`,"tpl.diagram.demo.host":`Host`,"tpl.3d.name":`3D scene`,"tpl.3d.desc":`A rotatable 3D scene — for product demos and spatial explanations.`,"tpl.3d.instruction":`Use dsh-ui to render a 3D scene (scene3d): a cube and a sphere, titled “Example scene”, with a sentence on when to use it.`,"tpl.3d.demo.title":`3D scene (example)`,"tpl.3d.demo.note":`The first load downloads three.js (~700KB, lazily); afterwards it comes from cache.`,"tpl.3d.demo.scene":`Example scene`,"tpl.breadcrumb.name":`Path breadcrumb`,"tpl.breadcrumb.desc":`Long paths as breadcrumbs: file location and org hierarchy read instantly.`,"tpl.breadcrumb.instruction":`Use dsh-ui to show the current workspace layout: a breadcrumb for the file path (4 segments) and a file-tree of the project (3 directories, 2 children each).`,"tpl.breadcrumb.demo.title":`Directory layout (example)`,"tpl.breadcrumb.demo.workspace":`Workspace`,"ach.page.title":`GenUI exploration trophies`,"ach.stat.unlocked":`Unlocked`,"ach.stat.rendered":`Interfaces rendered`,"ach.stat.interactions":`Interactions`,"ach.progress":`Exploration progress`,"ach.rarity.common":`Common`,"ach.rarity.rare":`Rare`,"ach.rarity.legendary":`Legendary`,"ach.hidden.name":`?`,"ach.hidden.desc":`Keep exploring to reveal`,"ach.toast.unlocked":`Trophy unlocked: {name}`,"ach.first-fence.name":`First contact`,"ach.first-fence.desc":`Rendered your first GenUI interface.`,"ach.fence-5.name":`Getting the hang of it`,"ach.fence-5.desc":`Rendered 5 interfaces.`,"ach.fence-25.name":`Interface weaver`,"ach.fence-25.desc":`Rendered 25 interfaces.`,"ach.fence-50.name":`Soul of the blueprint`,"ach.fence-50.desc":`Rendered 50 interfaces — you and GenUI go way back.`,"ach.first-interaction.name":`The button works`,"ach.first-interaction.desc":`Triggered a component interaction for the first time.`,"ach.interaction-10.name":`Little puppeteer`,"ach.interaction-10.desc":`Triggered 10 component interactions.`,"ach.first-panel.name":`Pinned to the wall`,"ach.first-panel.desc":`Pinned content to the session panel for the first time.`,"ach.panel-5.name":`Panel keeper`,"ach.panel-5.desc":`Used the panel in 5 different sessions.`,"ach.first-chart.name":`Chart enthusiast`,"ach.first-chart.desc":`Rendered your first chart (chart/plot/echart).`,"ach.chart-10.name":`Data visualizer`,"ach.chart-10.desc":`Charts appeared in 10 interfaces.`,"ach.first-advanced.name":`Power user`,"ach.first-advanced.desc":`Used 3D, a chart engine, or an architecture diagram.`,"ach.template-1.name":`Template student`,"ach.template-1.desc":`Tried a template from the template center.`,"label.copy":`Copy`,"label.copied":`Copied`,"label.copiedDone":`Copied`,"label.copiedShort":`✓ Copied`,"label.copiedToClipboard":`Copied to clipboard`,"label.copyFailed":`Copy failed`,"label.code":`Code`,"label.wrap":`Wrap lines`,"label.unwrap":`Unwrap lines`,"label.collapse":`Collapse`,"label.collapseDiff.aria":`Collapse diff`,"label.expandDiff.aria":`Show the remaining {hidden} diff lines`,"label.expandDiff":`… {hidden} more lines`,"label.diffFiles":`{count} files`,"label.copyValue":`Copy value`,"label.copyJson":`Copy JSON`,"label.copyPath":`Copy property path`,"label.copyPrettyJson":`Copy formatted JSON`,"label.copyCompactJson":`Copy compact JSON`,"label.collapseNode":`Collapse JSON node`,"label.expandNode":`Expand JSON node`,"label.copyButtonTitle":`{action}; right-click for copy options`,"block.copyMarkdown":`Copy Markdown`,"block.copyCsv":`Copy CSV`,"block.total":`Total`,"block.filteredRows":`{visible} / {total} rows after filtering`,"block.filterMatch":`{shown} / {total} matched`,"block.triggered":`✓ Sent`,"block.triggeredPlain":`Sent`,"block.audio":`Audio`,"block.audioError":`Audio cannot be played`,"block.video":`Video`,"block.videoError":`Video cannot be played`,"block.image":`Image`,"block.imageError":`Image failed to load`,"block.svgLabel":`SVG diagram`,"block.svgPreview":`Preview`,"block.svgSource":`Source`,"block.svgError":`SVG could not be displayed — showing the source instead`,"block.mermaidError":`Invalid diagram syntax — showing the source instead`,"block.mermaidLoading":`Rendering…`,"block.scene3dLoading":`Loading 3D scene…`,"block.scene3dError":`3D rendering failed`,"block.quizCorrect":`✓ Correct!`,"block.quizWrong":`✗ Try again`,"block.quizRetry":`Start over`,"block.selectPlaceholder":`Choose…`,"block.score":`Score`,"block.scoreUngraded":` ({count} unanswered, not scored)`,"block.yourAnswer":`Your answer:`,"block.correctAnswer":` Correct answer:`,"block.selectedCount":`{answered}/{total} answered`,"block.target":`Target {value}%`,"block.chart.barsAria":`Horizontal bar chart, {count} groups`,"block.chart.barsSummary":`Bar chart, {count} groups, max {max}`,"block.chart.lineSeries":`Line chart, {count} series, range {min} to {max}`,"block.chart.linePoints":`Line chart, {count} points, range {min} to {max}`,"block.chart.donutSummary":`Donut chart, {count} slices, total {total}`,"block.chart.node":`Point`,"err.boundary.generic":`this interface`,"err.boundary.fence":`this interface`,"err.boundary.body":`⚠️ {label} failed to render (isolated — the rest of the reply is unaffected)`,"err.fieldValidation":`GenUI field validation failed: {errors}`,"err.chartValidation":`chart field validation failed: {errors}`,"err.fenceKeptAsCode":`⚠️ dsh-ui {diagnostic} — the fence stays a code block; fix it and resend.`,"err.fenceParse":`⚠️ dsh-ui fence JSON failed to parse{diagnostic} — the fence stays a code block; ask the model to fix the JSON and resend.`},bo={"artifact.export":`导出`,"artifact.exportHtml":`HTML`,"artifact.exportJson":`GenUI JSON`,"artifact.exportFailed":`导出失败,请重试。`,"artifact.unsupportedCustom":`无法导出 HTML:独立运行环境无法显示自定义组件 {types}。可导出 GenUI JSON 保存这些节点。`,"artifact.externalMediaNotice":`此页面含有外部媒体,离线打开时部分内容可能无法显示。`,"panel.badge":`面板`,"panel.title.default":`GenUI 面板`,"panel.title.explore":`GenUI 探索`,"panel.templates":`模板`,"panel.templates.aria":`模板中心`,"panel.templates.title":`模板中心:预览并试用 GenUI 示例`,"panel.achievements":`成就`,"panel.achievements.aria":`探索成就`,"panel.achievements.title":`探索成就:解锁徽章与进度`,"panel.close.aria":`关闭面板`,"panel.resize.aria":`调整面板高度`,"panel.hint":`💡 这是 GenUI 会话面板:点右上角「模板」可浏览并试用示例`,"panel.boundary":`面板`,"panel.flash.inserted":`指令已插入输入框,发送即可让模型生成`,"panel.cmd.hint":`开启 GenUI 面板;/panel <指令> 让模型定制;/panel clear 清空`,"panel.cmd.description":`开启 GenUI 面板(/panel clear 清空;/panel <指令> 定制内容)`,"panel.default.heading":`GenUI 生成式界面`,"panel.default.subtitle":`面板会原地更新:对话里说「更新面板」,或再次执行 /panel 刷新。`,"panel.default.stat.components":`组件`,"panel.default.stat.single":`单个`,"panel.default.stat.composite":`组合`,"panel.default.stat.advanced":`高级`,"panel.default.group.single":`单个 ×12`,"panel.default.group.composite":`组合 ×8`,"panel.default.group.data":`数据 ×7`,"panel.default.group.interactive":`交互 ×5`,"panel.default.group.advanced":`高级 ×5`,"panel.default.group.teaching":`教学 ×1`,"panel.default.callout.title":`更新方式`,"panel.default.callout.body":`对话说「更新面板」→ 模型输出 panel:true 围栏;/panel clear 清空面板。`,"tpl.category.all":`全部`,"tpl.category.dashboard":`仪表盘`,"tpl.category.data":`数据`,"tpl.category.flow":`流程`,"tpl.category.chart":`图表`,"tpl.category.interactive":`交互`,"tpl.category.quiz":`测验`,"tpl.category.advanced":`高级`,"tpl.categories.aria":`模板分类`,"tpl.try":`试用:插入输入框`,"tpl.copy":`复制指令`,"tpl.copied":`✓ 已复制`,"tpl.boundary.preview":`模板预览`,"tpl.boundary.achievements":`成就页`,"tpl.dashboard.name":`项目仪表盘`,"tpl.dashboard.desc":`一张卡片汇总核心指标:数字 + 环比 + 进度条,决策一眼可见。`,"tpl.dashboard.instruction":`请用 dsh-ui 给当前项目做一个仪表盘:4 个关键指标的 stat 卡片(带环比 delta)、整体进度 progress 条、今天的 3 件待办 list。标题用「项目仪表盘」。`,"tpl.dashboard.demo.title":`项目仪表盘(示例)`,"tpl.dashboard.demo.metrics":`本周关键指标`,"tpl.dashboard.demo.done":`本周完成`,"tpl.dashboard.demo.blocked":`阻塞事项`,"tpl.dashboard.demo.duration":`平均耗时`,"tpl.dashboard.demo.coverage":`覆盖率`,"tpl.dashboard.demo.progress":`整体进度`,"tpl.dashboard.demo.milestone":`v1.0 里程碑`,"tpl.dashboard.demo.todo":`今日待办`,"tpl.dashboard.demo.todo1":`评审 M1 模板中心 PR`,"tpl.dashboard.demo.todo2":`同步 vendor 到 SSiD`,"tpl.dashboard.demo.todo3":`周三周会材料`,"tpl.compare.name":`方案对比表`,"tpl.compare.desc":`多方案逐维度对照,表格直接可读,争议点一目了然。`,"tpl.compare.instruction":`请用 dsh-ui 把以下方案的对比做成一张 table:方案 A/B/C × 维度(成本/复杂度/风险/收益),列首高亮推荐项;顶部加一行 callout 说明结论。`,"tpl.compare.demo.title":`方案对比(示例)`,"tpl.compare.demo.conclusion":`结论`,"tpl.compare.demo.body":`方案 B 综合最优:成本中、复杂度低、风险低。`,"tpl.compare.demo.dimension":`维度`,"tpl.compare.demo.optionA":`方案 A`,"tpl.compare.demo.optionB":`方案 B ★`,"tpl.compare.demo.optionC":`方案 C`,"tpl.compare.demo.cost":`成本`,"tpl.compare.demo.complexity":`复杂度`,"tpl.compare.demo.risk":`风险`,"tpl.compare.demo.payoff":`收益`,"tpl.compare.demo.high":`高`,"tpl.compare.demo.medium":`中`,"tpl.compare.demo.low":`低`,"tpl.compare.demo.large":`大`,"tpl.compare.demo.small":`小`,"tpl.steps.name":`五步上手流程`,"tpl.steps.desc":`关键步骤排成时间线,每步一句要点,适合教程/交接/发布流程。`,"tpl.steps.instruction":`请用 dsh-ui 把操作步骤做成 steps 教程:5 步(按实际流程),每步标题 + 一两句要点,顶部用 badge 标出预计耗时。`,"tpl.steps.demo.title":`上手流程(示例)`,"tpl.steps.demo.badge":`约 5 分钟`,"tpl.steps.demo.s1":`安装插件`,"tpl.steps.demo.s1desc":`从插件中心安装,或 npm 安装到 profile`,"tpl.steps.demo.s2":`发送第一条指令`,"tpl.steps.demo.s2desc":`让模型用 dsh-ui 输出一个界面`,"tpl.steps.demo.s3":`体验交互`,"tpl.steps.demo.s3desc":`点按钮/判卷/切 tab,动作会回传模型`,"tpl.steps.demo.s4":`常驻面板`,"tpl.steps.demo.s4desc":`模型用 panel:true 把结果钉在会话面板`,"tpl.steps.demo.s5":`进阶组件`,"tpl.steps.demo.s5desc":`图表/流程/3D 按需懒加载`,"tpl.quiz.name":`随堂测验`,"tpl.quiz.desc":`一题一答即时判卷:选中即知对错,附讲解,适合培训问答。`,"tpl.quiz.instruction":`请用 dsh-ui 出 3 道随堂测验(quiz 组件:question + options,其中一项 correct,附 explanation),标题「随堂测验」,每题即选即评。`,"tpl.quiz.demo.title":`随堂测验(示例)`,"tpl.quiz.demo.hint":`选中即判卷并显示讲解。`,"tpl.quiz.demo.q1":`DSH 插件的最小单位是?`,"tpl.quiz.demo.q1a":`服务`,"tpl.quiz.demo.q1b":`插件(cordis 插件)`,"tpl.quiz.demo.q1bfx":`✓ 一切皆插件:服务、工具、UI 都通过插件注册。`,"tpl.quiz.demo.q1c":`工具`,"tpl.quiz.demo.q1exp":`DSH 基于 cordis,任何能力(含服务与工具)都以插件形式注册。`,"tpl.quiz.demo.q2":`dsh-ui 围栏由谁输出?`,"tpl.quiz.demo.q2a":`用户`,"tpl.quiz.demo.q2b":`模型`,"tpl.quiz.demo.q2bfx":`✓ 模型在回复中输出 dsh-ui fence。`,"tpl.quiz.demo.q2c":`宿主`,"tpl.quiz.demo.q2exp":`模型输出 fence,渲染器将其画成真实组件。`,"tpl.quiz.demo.q3":`panel:true 的围栏渲染到哪里?`,"tpl.quiz.demo.q3a":`消息流`,"tpl.quiz.demo.q3b":`会话面板 dock`,"tpl.quiz.demo.q3bfx":`✓ 面板更新不刷屏。`,"tpl.quiz.demo.q3c":`设置页`,"tpl.stats.name":`关键值 + 进度`,"tpl.stats.desc":`一次交付:数值、进度、里程碑三件套,周报/复盘通用。`,"tpl.stats.instruction":`请用 dsh-ui 总结本周关键数据:keyvalue 列 3 组关键值、两根 progress 进度(计划 vs 实际)、timeline 放 3 个里程碑,标题「周报速览」。`,"tpl.stats.demo.title":`周报速览(示例)`,"tpl.stats.demo.done":`完成项`,"tpl.stats.demo.late":`延期`,"tpl.stats.demo.risk":`风险`,"tpl.stats.demo.riskValue":`2(均已有缓解)`,"tpl.stats.demo.planned":`计划进度`,"tpl.stats.demo.actual":`实际进度`,"tpl.stats.demo.mon":`周一`,"tpl.stats.demo.monDesc":`完成 M1 开发`,"tpl.stats.demo.wed":`周三`,"tpl.stats.demo.wedDesc":`全链路验证通过`,"tpl.stats.demo.fri":`周五`,"tpl.stats.demo.friDesc":`发布 0.9.4`,"tpl.chart.name":`趋势柱状图`,"tpl.chart.desc":`数据直接画成柱状图,多序列对比,走势一眼看清。`,"tpl.chart.instruction":`请用 dsh-ui 把下列数据画成 chart(bars,多序列):近 6 周完成量 vs 计划量;图表上方给一句趋势结论。`,"tpl.chart.demo.title":`趋势对比(示例)`,"tpl.chart.demo.conclusion":`结论:近 3 周完成量连续上升,本周首次反超计划。`,"tpl.tabs.name":`分标签页`,"tpl.tabs.desc":`一大块内容拆成标签页,锚点清晰;面板不挤、消息不刷屏。`,"tpl.tabs.instruction":`请用 dsh-ui 把内容分成 tabs 三个标签:概览/明细/FAQ,每个标签 3 条以内要点;标题「功能速览」。`,"tpl.tabs.demo.title":`功能速览(示例)`,"tpl.tabs.demo.overview":`概览`,"tpl.tabs.demo.overviewBody":`三项能力:实时渲染、交互回传、常驻面板。`,"tpl.tabs.demo.details":`明细`,"tpl.tabs.demo.d1":`渲染:fence 增量解析,边流边出`,"tpl.tabs.demo.d2":`交互:动作回传模型增量更新`,"tpl.tabs.demo.d3":`面板:会话级 dock,折叠/调高`,"tpl.tabs.demo.faqBody":`问:不动模型会怎样?答:组件仍可本地判卷/展开。`,"tpl.checklist.name":`交付检查清单`,"tpl.checklist.desc":`提交前逐项打勾:清单即流程,漏项看得见。`,"tpl.checklist.instruction":`请用 dsh-ui 做一张交付检查清单:6 项(测试/文档/发布/回滚/监控/公告),checkbox 可勾选,顶部 badge 提示「全部勾选再合并」。`,"tpl.checklist.demo.title":`交付清单(示例)`,"tpl.checklist.demo.badge":`全部勾选再合并`,"tpl.checklist.demo.c1":`单元测试通过`,"tpl.checklist.demo.c2":`文档同步`,"tpl.checklist.demo.c3":`发布套餐就绪`,"tpl.checklist.demo.c4":`回滚预案`,"tpl.accordion.name":`FAQ 手风琴`,"tpl.accordion.desc":`一问一答收在折叠面板里,长文档变短,回答不吓人。`,"tpl.accordion.instruction":`请用 dsh-ui 做 FAQ 手风琴(accordion):5 个高频问题,标题栏就是问题、展开一条给答案;第一问默认展开。`,"tpl.accordion.demo.title":`FAQ(示例)`,"tpl.accordion.demo.q1":`支持哪些图表?`,"tpl.accordion.demo.a1":`chart(bars/line/donut)、plot 函数图、echart 全功能图表。`,"tpl.accordion.demo.q2":`面板能持久吗?`,"tpl.accordion.demo.a2":`同一内容指纹刷新/重放恢复状态;新内容重置。`,"tpl.accordion.demo.q3":`交互会打扰模型吗?`,"tpl.accordion.demo.a3":`带 action 的组件才回传;纯展示组件零往返。`,"tpl.diagram.name":`系统架构图`,"tpl.diagram.desc":`框架图画成 SVG:节点分层、连接线、分区标注,比截图清楚。`,"tpl.diagram.instruction":`请用 dsh-ui 画一幅架构图(diagram):描述当前系统的 5 个节点与连接(kind: architecture 或 flowchart),包含一个安全区 zone。`,"tpl.diagram.demo.title":`架构图(示例)`,"tpl.diagram.demo.caption":`DSH 插件链路`,"tpl.diagram.demo.model":`模型`,"tpl.diagram.demo.plugin":`插件`,"tpl.diagram.demo.host":`宿主`,"tpl.3d.name":`3D 场景`,"tpl.3d.desc":`一个可旋转的 3D 场景:产品演示/空间示意用得上。`,"tpl.3d.instruction":`请用 dsh-ui 渲染一个 3D 场景(scene3d):一个立方体 + 一个球体,标题「示例场景」,附一句使用场景说明。`,"tpl.3d.demo.title":`3D 场景(示例)`,"tpl.3d.demo.note":`首次加载需下载 three.js(约 700KB,懒加载),之后走缓存。`,"tpl.3d.demo.scene":`示例场景`,"tpl.breadcrumb.name":`路径面包屑`,"tpl.breadcrumb.desc":`长路径拆成面包屑:文件位置、组织层级一读就懂。`,"tpl.breadcrumb.instruction":`请用 dsh-ui 展示当前工作区结构:breadcrumb 显示文件路径(4 段)、file-tree 描述项目目录(3 个目录、每个 2 个子项)。`,"tpl.breadcrumb.demo.title":`目录结构(示例)`,"tpl.breadcrumb.demo.workspace":`工作区`,"ach.page.title":`GenUI 探索成就`,"ach.stat.unlocked":`已解锁`,"ach.stat.rendered":`渲染界面`,"ach.stat.interactions":`组件交互`,"ach.progress":`探索进度`,"ach.rarity.common":`普通`,"ach.rarity.rare":`稀有`,"ach.rarity.legendary":`传说`,"ach.hidden.name":`?`,"ach.hidden.desc":`继续探索以揭示`,"ach.toast.unlocked":`成就解锁:{name}`,"ach.first-fence.name":`初次相见`,"ach.first-fence.desc":`渲染了第一块 GenUI 界面。`,"ach.fence-5.name":`渐入佳境`,"ach.fence-5.desc":`累计渲染 5 个界面。`,"ach.fence-25.name":`界面编织者`,"ach.fence-25.desc":`累计渲染 25 个界面。`,"ach.fence-50.name":`蓝图之魂`,"ach.fence-50.desc":`累计渲染 50 个界面——你是 GenUI 的老朋友了。`,"ach.first-interaction.name":`按钮按得动`,"ach.first-interaction.desc":`触发了一次组件交互(动作回传)。`,"ach.interaction-10.name":`小小操纵者`,"ach.interaction-10.desc":`累计触发 10 次组件交互。`,"ach.first-panel.name":`钉在墙上`,"ach.first-panel.desc":`第一次把内容钉进了会话面板。`,"ach.panel-5.name":`面板管家`,"ach.panel-5.desc":`5 个会话都用过面板。`,"ach.first-chart.name":`图表爱好者`,"ach.first-chart.desc":`渲染了第一张图表(chart/plot/echart)。`,"ach.chart-10.name":`数据可视化人`,"ach.chart-10.desc":`10 个界面里出现过图表。`,"ach.first-advanced.name":`高级玩家`,"ach.first-advanced.desc":`用上了 3D/图表引擎/架构图之一。`,"ach.template-1.name":`模板学员`,"ach.template-1.desc":`从模板中心试用了一个模板。`,"label.copy":`复制`,"label.copied":`复制成功`,"label.copiedDone":`已复制`,"label.copiedShort":`✓ 已复制`,"label.copiedToClipboard":`已复制到剪贴板`,"label.copyFailed":`复制失败`,"label.code":`代码`,"label.wrap":`自动换行`,"label.unwrap":`取消自动换行`,"label.collapse":`收起`,"label.collapseDiff.aria":`收起差异`,"label.expandDiff.aria":`展开其余 {hidden} 行差异`,"label.expandDiff":`… 其余 {hidden} 行`,"label.diffFiles":`{count} 个文件`,"label.copyValue":`复制值`,"label.copyJson":`复制 JSON`,"label.copyPath":`复制属性路径`,"label.copyPrettyJson":`复制格式化 JSON`,"label.copyCompactJson":`复制紧凑 JSON`,"label.collapseNode":`收起 JSON 节点`,"label.expandNode":`展开 JSON 节点`,"label.copyButtonTitle":`{action};右键查看复制选项`,"block.copyMarkdown":`复制 Markdown`,"block.copyCsv":`复制 CSV`,"block.total":`合计`,"block.filteredRows":`筛选后 {visible} / {total} 行`,"block.filterMatch":`匹配 {shown} / {total} 项`,"block.triggered":`✓ 已触发`,"block.triggeredPlain":`已触发`,"block.audio":`音频`,"block.audioError":`音频无法播放`,"block.video":`视频`,"block.videoError":`视频无法播放`,"block.image":`图片`,"block.imageError":`图片无法加载`,"block.svgLabel":`SVG 图形`,"block.svgPreview":`预览`,"block.svgSource":`源码`,"block.svgError":`SVG 无法显示,已降级显示源码`,"block.mermaidError":`图语法有误,已降级显示源码`,"block.mermaidLoading":`渲染中…`,"block.scene3dLoading":`加载 3D 场景…`,"block.scene3dError":`3D 渲染失败`,"block.quizCorrect":`✓ 回答正确!`,"block.quizWrong":`✗ 再想想看`,"block.quizRetry":`重新作答`,"block.selectPlaceholder":`请选择…`,"block.score":`得分`,"block.scoreUngraded":`({count} 题无答案未计分)`,"block.yourAnswer":`你的答案:`,"block.correctAnswer":` 正确答案:`,"block.selectedCount":`已选 {answered}/{total}`,"block.target":`目标 {value}%`,"block.chart.barsAria":`横向柱状图,{count} 组`,"block.chart.barsSummary":`柱状图,{count} 组,最大 {max}`,"block.chart.lineSeries":`折线图,{count} 条序列,范围 {min} 到 {max}`,"block.chart.linePoints":`折线图,{count} 个点,范围 {min} 到 {max}`,"block.chart.donutSummary":`环形图,{count} 项,合计 {total}`,"block.chart.node":`节点`,"err.boundary.generic":`此界面`,"err.boundary.fence":`该界面`,"err.boundary.body":`⚠️ {label}渲染失败(已隔离,不影响其他内容)`,"err.fieldValidation":`GenUI 字段验证失败:{errors}`,"err.chartValidation":`chart 字段验证失败:{errors}`,"err.fenceKeptAsCode":`⚠️ dsh-ui {diagnostic} —— 围栏保持为代码块;请修正后重发。`,"err.fenceParse":`⚠️ dsh-ui fence JSON 解析失败{diagnostic} —— 围栏保持为代码块;请让模型检查并修复 JSON 后重发。`},xo=[`en`,`zh`],So={en:yo,zh:bo};function Co(e){if(typeof e!=`string`||e===``)return;let t=e.toLowerCase().split(/[-_]/)[0];return xo.find(e=>e===t)}function wo(){if(typeof navigator>`u`)return`en`;let e=navigator,t=Array.isArray(e.languages)&&e.languages.length>0?e.languages:[e.language];for(let e of t){let t=Co(e);if(t!==void 0)return t}return`en`}let To=wo(),Eo=0,Do=new Set;function Oo(){return To}function ko(){return Eo}function Ao(e){return Do.add(e),()=>{Do.delete(e)}}function jo(e){let t=Co(e);if(t!==void 0&&t!==To){To=t,Eo+=1;for(let e of[...Do])e()}}function Mo(e,t){return t===void 0?e:e.replace(/\{(\w+)\}/g,(e,n)=>{let r=t[n];return r===void 0?e:String(r)})}function Y(e,t){return Mo(So[To][e]??So.en[e]??e,t)}function No(e){return So[e]}function Po(){return(0,m.useSyncExternalStore)(Ao,ko,ko),Y}function Fo(){return(0,m.useSyncExternalStore)(Ao,ko,ko)}function Io(e){let t=typeof e.get==`function`?e.get(`locale`):void 0;if(t===void 0)return()=>{};let n=[];if(typeof t.register==`function`)for(let e of xo)try{n.push(t.register(`genui`,e,{...No(e)}))}catch{}let r=()=>{let e=t.getLocale?.().active;typeof e==`string`&&jo(e)};return r(),typeof t.subscribe==`function`&&n.push(t.subscribe(r)),()=>{for(let e of n)e()}}function Lo(){return Oo()}let Ro=`http://www.w3.org/2000/svg`;function zo(e){let t=new DOMParser().parseFromString(e,`image/svg+xml`),n=t.documentElement;return t.doctype!==null||t.querySelector(`parsererror`)!==null||n.localName!==`svg`?null:n}function Bo(e){try{let t=zo(e);if(t===null)return null;if(t.namespaceURI!==Ro){if(t.namespaceURI!==null)return null;let n=e.replace(/<svg(?=[\s/>])/,`<svg xmlns="${Ro}"`),r=zo(n);return r===null||r.namespaceURI!==Ro?null:`data:image/svg+xml;charset=utf-8,${encodeURIComponent(n)}`}return`data:image/svg+xml;charset=utf-8,${encodeURIComponent(e)}`}catch{return null}}function Vo({node:e}){let t=(0,m.useMemo)(()=>Bo(e.code),[e.code]),[n,r]=(0,m.useState)(null);return(0,g.jsxs)(`div`,{"data-genui-svg":!0,children:[e.title!==void 0&&(0,g.jsx)(`div`,{className:w.echartTitle,children:J(e.title)}),t===null||n===t?(0,g.jsxs)(`div`,{children:[(0,g.jsx)(`div`,{role:`status`,children:Y(`block.svgError`)}),(0,g.jsx)(`pre`,{style:{overflow:`auto`,maxHeight:400},children:(0,g.jsx)(`code`,{children:e.code})})]}):(0,g.jsx)(`img`,{src:t,alt:e.title??Y(`block.svgLabel`),style:{display:`block`,width:`100%`,height:e.height??`auto`,maxHeight:800,objectFit:`contain`},onError:()=>{r(t)}},t)]})}function Ho(){return{copy:Y(`label.copy`),copied:Y(`label.copied`),codeLabel:Y(`label.code`),wrapLabel:Y(`label.wrap`),unwrapLabel:Y(`label.unwrap`),collapseAria:Y(`label.collapseDiff.aria`),expandAria(e){return Y(`label.expandDiff.aria`,{hidden:e})},collapse:Y(`label.collapse`),expand(e){return Y(`label.expandDiff`,{hidden:e})},files(e){return Y(`label.diffFiles`,{count:e})}}}function Uo(){return{copyLabel:Y(`label.copy`),copiedLabel:Y(`label.copied`)}}function Wo(){return{copyValue:Y(`label.copyValue`),copyJson:Y(`label.copyJson`),copyPath:Y(`label.copyPath`),copyPrettyJson:Y(`label.copyPrettyJson`),copyCompactJson:Y(`label.copyCompactJson`),copied:Y(`label.copiedDone`),copyFailed:Y(`label.copyFailed`),collapseNode:Y(`label.collapseNode`),expandNode:Y(`label.expandNode`),copyButtonTitle(e){return Y(`label.copyButtonTitle`,{action:e})}}}function Go({raw:e}){let t=Po(),n=(0,m.useRef)(null),[r,i]=(0,m.useState)(!1),[a,o]=(0,m.useState)(!1);return(0,m.useLayoutEffect)(()=>{let e=n.current;if(e===null)return;let t=()=>{i(e.closest(`[data-streaming]`)===null)};t();let r=new MutationObserver(t);for(let t=e.parentElement;t!==null;t=t.parentElement)r.observe(t,{attributes:!0,attributeFilter:[`data-streaming`]});return()=>{r.disconnect()}}),(0,g.jsxs)(`div`,{ref:n,"data-genui-svg-fence":!0,className:`${w.block} ${w.tabs}`,children:[r&&(0,g.jsxs)(`div`,{role:`group`,"aria-label":t(`block.svgLabel`),className:w.tabBar,children:[(0,g.jsx)(`button`,{type:`button`,className:`${w.tab} ${a?``:w.tabActive}`,"aria-pressed":!a,onClick:()=>{o(!1)},children:t(`block.svgPreview`)}),(0,g.jsx)(`button`,{type:`button`,className:`${w.tab} ${a?w.tabActive:``}`,"aria-pressed":a,onClick:()=>{o(!0)},children:t(`block.svgSource`)})]}),!r||a?(0,g.jsx)(p.CodeBlock,{...Uo(),code:e,lang:`svg`}):(0,g.jsx)(Vo,{node:{type:`svg`,code:e}})]})}function Ko(e,t){return(0,g.jsx)(Go,{raw:e},t)}let qo={display:`flex`,flexDirection:`column`,gap:`4px`,padding:`8px 12px`,margin:`4px 0`,borderRadius:`8px`,border:`1px solid rgba(127,127,127,0.35)`,background:`rgba(127,127,127,0.08)`,color:`inherit`,fontSize:`12px`,lineHeight:1.5,fontFamily:`inherit`};var Jo=class extends m.Component{state={error:null};static getDerivedStateFromError(e){return{error:e}}componentDidCatch(e,t){console.error(`[dsh-genui] render failed:`,e,t.componentStack??``)}render(){let{error:e}=this.state;return e===null?this.props.children:(0,g.jsxs)(`div`,{style:qo,role:`alert`,"data-genui-error":!0,children:[(0,g.jsx)(`span`,{style:{fontWeight:600},children:Y(`err.boundary.body`,{label:this.props.label??Y(`err.boundary.generic`)})}),(0,g.jsx)(`span`,{style:{opacity:.75,overflowWrap:`anywhere`},children:e.message})]})}};let Yo=`dsh.genui.interaction`;function Xo(){return{order:[],blocks:{}}}function Zo(){try{let e=localStorage.getItem(Yo);if(e===null)return Xo();let t=JSON.parse(e);return!Array.isArray(t.order)||typeof t.blocks!=`object`||t.blocks===null?Xo():{order:t.order.filter(e=>typeof e==`string`),blocks:t.blocks}}catch{return Xo()}}function Qo(e){try{localStorage.setItem(Yo,JSON.stringify(e))}catch{}}function $o(e){return e===``?null:Zo().blocks[e]??null}function es(e,t){if(e===``)return;let n=Zo(),r=n.order.filter(t=>t!==e);r.unshift(e);let i={...n.blocks,[e]:t};for(;r.length>200;){let e=r.pop();e!==void 0&&delete i[e]}Qo({order:r,blocks:i})}function ts(e){let t=5381;for(let n=0;n<e.length;n++)t=(t<<5)+t+e.charCodeAt(n)>>>0;return t.toString(36)}function ns(e,t,n){return`f:${e}:${String(t)}:${ts(n)}`}function rs(e,t){return`p:${e}:${ts(t)}`}function is(e,t){return`t:${e}:${t}`}function as(){return{fences:0,panels:0,interactions:0,templates:0,charts:0,advanced:0}}let os=e=>t=>t.fences>=e;function ss(e){return Y(`ach.${e}.name`)}function cs(e){return Y(`ach.${e}.desc`)}function ls(e){return Y(`ach.rarity.${e}`)}function us(e,t,n,r=!1){return{id:e,rarity:t,check:n,...r?{hidden:!0}:{},get name(){return ss(e)},get description(){return cs(e)}}}let ds=[us(`first-fence`,`common`,os(1)),us(`fence-5`,`common`,os(5)),us(`fence-25`,`rare`,os(25)),us(`fence-50`,`legendary`,os(50),!0),us(`first-interaction`,`common`,e=>e.interactions>=1),us(`interaction-10`,`rare`,e=>e.interactions>=10),us(`first-panel`,`common`,e=>e.panels>=1),us(`panel-5`,`rare`,e=>e.panels>=5),us(`first-chart`,`common`,e=>e.charts>=1),us(`chart-10`,`rare`,e=>e.charts>=10),us(`first-advanced`,`rare`,e=>e.advanced>=1),us(`template-1`,`common`,e=>e.templates>=1)];function fs(e){let t=0,n=0,r=e=>{if(Array.isArray(e))for(let i of e){if(typeof i!=`object`||!i)continue;let e=i,a=e.type;if((a===`chart`||a===`plot`||a===`echart`)&&(t+=1),(a===`scene3d`||a===`mermaid`||a===`diagram`)&&(n+=1),Array.isArray(e.items)&&r(e.items),Array.isArray(e.tabs))for(let t of e.tabs)r(t.items)}};return r(e.items),{charts:t,advanced:n}}function ps(e,t){let n=ds.length,r=ds.filter(e=>t[e.id]!==void 0).length,i=[{type:`grid`,cols:3,items:[{type:`stat`,label:Y(`ach.stat.unlocked`),value:`${r} / ${n}`},{type:`stat`,label:Y(`ach.stat.rendered`),value:String(e.fences)},{type:`stat`,label:Y(`ach.stat.interactions`),value:String(e.interactions)}]},{type:`progress`,label:Y(`ach.progress`),value:Math.round(r/n*100),valueLabel:`${Math.round(r/n*100)}%`},{type:`list`,items:ds.map(e=>{let n=e.hidden===!0&&t[e.id]===void 0;return{type:`row`,items:[{type:`badge`,label:ls(e.rarity),tone:t[e.id]===void 0?`warn`:`success`},{type:`text`,size:`body`,content:n?Y(`ach.hidden.name`):e.name},{type:`text`,size:`muted`,content:n?Y(`ach.hidden.desc`):e.description}]}})}];return{title:Y(`ach.page.title`),items:i}}function ms(e,t){return ds.filter(n=>t[n.id]===void 0&&n.check(e))}let hs=`dsh.genui.achievements`,gs=`dsh.genui.achievements.seen`,_s=bs(),vs=new Set,ys=[];function bs(){try{let e=localStorage.getItem(hs);if(e===null)return{state:as(),unlocked:{}};let t=JSON.parse(e);return{state:{...as(),...t.state??{}},unlocked:typeof t.unlocked==`object`&&t.unlocked!==null?t.unlocked:{}}}catch{return{state:as(),unlocked:{}}}}function xs(){try{localStorage.setItem(hs,JSON.stringify(_s))}catch{}}function Ss(){try{let e=localStorage.getItem(gs);if(e===null)return[];let t=JSON.parse(e);return Array.isArray(t)?t.filter(e=>typeof e==`string`):[]}catch{return[]}}function Cs(e){try{localStorage.setItem(gs,JSON.stringify(e.slice(0,200)))}catch{}}function ws(){for(let e of vs)e()}function Ts(e){_s.state={..._s.state,...e};let t=ms(_s.state,_s.unlocked);for(let e of t)_s.unlocked[e.id]=Date.now();t.length>0&&ys.push(...t),xs(),ws()}function Es(e){let t=JSON.stringify(e),n=3735928559,r=1103547991;for(let e=0;e<t.length;e++){let i=t.charCodeAt(e);n=Math.imul(n^i,2654435761),r=Math.imul(r^i,1597334677)}return`${(n>>>0).toString(36)}-${(r>>>0).toString(36)}`}function Ds(e){let t=Es(e),n=Ss();if(n.includes(t))return;Cs([t,...n]);let r=fs(e);Ts({fences:_s.state.fences+1,charts:_s.state.charts+ +(r.charts>0),advanced:_s.state.advanced+ +(r.advanced>0)})}function Os(){Ts({panels:_s.state.panels+1})}function ks(){Ts({interactions:_s.state.interactions+1})}function As(){Ts({templates:_s.state.templates+1})}function js(){return _s}function Ms(){let e=ys;return ys=[],e}function Ns(e){return vs.add(e),()=>vs.delete(e)}let X={maxDepth:8,maxNodes:200,maxString:2e3,maxCode:12e3,maxMermaid:8e3,maxGridCols:12,maxTabs:12,maxAccordionItems:24,maxListItems:50,maxOptions:50,maxTableRows:50,maxTableCols:12,maxChartPoints:60,maxPlotSeries:8,maxPlotParams:6,maxMeshes:5,maxQuizOptions:8,maxSteps:24,maxTimelineItems:24,maxBreadcrumbItems:12,maxKeyValuePairs:24,maxTreeDepth:6,maxDiagramNodes:9,maxDiagramEdges:12,maxDiagramZones:3,maxDiagramFocal:2,maxDiagramLabel:14,maxEChartOptionDepth:10,maxEChartArrayLen:500,maxEChartOptionNodes:2e3},Ps=[`var(--dsw-static-deepseek-400)`,`var(--dsw-static-deepseek-450)`,`var(--dsw-static-blue-450)`,`var(--dsw-static-green-400)`,`var(--dsw-static-amber-400)`,`var(--dsw-static-red-400)`,`var(--dsw-static-deepseek-300)`,`var(--dsw-static-neutral-bluish-400)`];function Fs(e){let t=0;for(let n=0;n<e.length;n++)t=t*31+e.charCodeAt(n)>>>0;return Ps[t%Ps.length]}function Is({className:e,disabled:t,onClick:n,children:r}){let i=Po(),[a,o]=(0,m.useState)(!1),s=(0,m.useRef)(null);return(0,m.useEffect)(()=>()=>{s.current!==null&&clearTimeout(s.current)},[]),(0,g.jsxs)(g.Fragment,{children:[(0,g.jsxs)(`button`,{type:`button`,className:e,disabled:t,onClick:n===void 0?void 0:()=>{n(),s.current!==null&&clearTimeout(s.current),o(!0),s.current=setTimeout(()=>o(!1),1400)},children:[r,a&&(0,g.jsx)(`span`,{className:w.btnSent,"aria-hidden":!0,children:i(`block.triggered`)})]}),(0,g.jsx)(`span`,{className:w.visuallyHidden,role:`status`,children:a?i(`block.triggeredPlain`):``})]})}let Ls=(0,m.memo)(function({node:e}){let t=Po(),[n,r]=(0,m.useState)(!1);return(0,g.jsxs)(`figure`,{className:w.media,children:[e.alt!==void 0&&(0,g.jsx)(`figcaption`,{className:w.mediaLabel,children:J(e.alt)}),n?(0,g.jsx)(`div`,{className:w.mediaError,role:`alert`,children:t(`block.audioError`)}):(0,g.jsx)(`audio`,{className:w.mediaPlayer,src:e.src,"aria-label":e.alt??t(`block.audio`),controls:!0,preload:`metadata`,loop:e.loop===!0,onError:()=>r(!0)})]})}),Rs=(0,m.memo)(function({node:e}){let t=Po(),[n,r]=(0,m.useState)(!1);return(0,g.jsxs)(`figure`,{className:w.media,children:[e.alt!==void 0&&(0,g.jsx)(`figcaption`,{className:w.mediaLabel,children:J(e.alt)}),n?(0,g.jsx)(`div`,{className:w.mediaError,role:`alert`,children:t(`block.videoError`)}):(0,g.jsx)(`video`,{className:`${w.mediaPlayer} ${w.videoPlayer}`,src:e.src,poster:e.poster,"aria-label":e.alt??t(`block.video`),controls:!0,preload:`metadata`,playsInline:!0,loop:e.loop===!0,muted:e.muted===!0,style:e.aspectRatio===void 0?void 0:{aspectRatio:e.aspectRatio.replace(`:`,` / `)},onError:()=>r(!0)})]})}),zs=[`var(--dsw-static-deepseek-400)`,`var(--dsw-static-green-400)`,`var(--dsw-static-amber-400)`,`var(--dsw-static-red-400)`,`var(--dsw-static-blue-450)`,`var(--dsw-static-deepseek-450)`,`var(--dsw-static-neutral-bluish-400)`,`var(--dsw-static-deepseek-300)`],Bs=(e,t,n,r)=>n??(r!==void 0&&r.length>0?r[e%r.length]:t>1?zs[e%zs.length]:void 0);function Vs(e){if(typeof e==`number`)return Number.isFinite(e)?e:NaN;if(typeof e!=`string`)return NaN;let t=e.trim();if(t===``)return NaN;t=t.replace(/^[¥$€£]/,``),t.endsWith(`%`)&&(t=t.slice(0,-1));let n=1;if(t.endsWith(`万`))n=1e4,t=t.slice(0,-1);else if(t.endsWith(`亿`))n=1e8,t=t.slice(0,-1);else if(/[kmb]$/i.test(t)){let e=t.slice(-1).toLowerCase();n=e===`k`?1e3:e===`m`?1e6:1e9,t=t.slice(0,-1)}t=t.replace(/[,,\s]/g,``);let r=Number(t);return Number.isFinite(r)?r*n:NaN}function Hs(e,t){return Array.from({length:t},(t,n)=>{let r=!1;for(let t of e){let e=t[n];if(e!=null&&e!==``){if(!Number.isFinite(Vs(e)))return!1;r=!0}}return r})}function Us(e){if(typeof e!=`string`)return null;let t=e.trim();return!/^[+][\s]*[\d.]/.test(t)&&!/^[-−][\s]*[\d.]/.test(t)?null:t.startsWith(`+`)?`up`:`down`}function Ws({cell:e}){let t=String(e).split(/[\s,;]+/).map(Number).filter(Number.isFinite);if(t.length<2)return(0,g.jsx)(g.Fragment,{children:J(String(e),!1)});let n=Math.min(...t),r=Math.max(...t)-n||1,i=84/(t.length-1),a=t.map((e,t)=>[2+t*i,20-(e-n)/r*18]),o=a.map(([e,t])=>`${e.toFixed(1)},${t.toFixed(1)}`).join(` `),s=a[a.length-1],c=`M 2,20 L ${o.split(` `).join(` L `)} L ${s[0].toFixed(1)},20 Z`;return(0,g.jsxs)(`svg`,{className:w.cellSpark,viewBox:`0 0 88 22`,preserveAspectRatio:`none`,"aria-hidden":`true`,children:[(0,g.jsx)(`path`,{d:c,fill:`var(--dsl-g-accent)`,opacity:`0.14`}),(0,g.jsx)(`polyline`,{points:o,fill:`none`,stroke:`var(--dsl-g-accent)`,strokeWidth:`1.5`,strokeLinejoin:`round`,strokeLinecap:`round`,vectorEffect:`non-scaling-stroke`}),(0,g.jsx)(`path`,{d:`M ${s[0].toFixed(1)} ${s[1].toFixed(1)} L ${s[0].toFixed(1)} ${s[1].toFixed(1)}`,stroke:`var(--dsl-g-accent)`,strokeWidth:4,strokeLinecap:`round`,vectorEffect:`non-scaling-stroke`,fill:`none`})]})}function Gs({cell:e}){let t=Vs(e),n=Number.isFinite(t)?Math.max(0,Math.min(100,t)):0,r=2*Math.PI*11;return(0,g.jsxs)(`span`,{className:w.cellRing,children:[(0,g.jsxs)(`svg`,{width:28,height:28,viewBox:`0 0 28 28`,"aria-hidden":`true`,children:[(0,g.jsx)(`circle`,{cx:14,cy:14,r:11,fill:`none`,strokeWidth:4,className:w.ringTrack}),(0,g.jsx)(`circle`,{cx:14,cy:14,r:11,fill:`none`,strokeWidth:4,strokeLinecap:`round`,className:w.ringFill,strokeDasharray:`${n/100*r} ${r}`,transform:`rotate(-90 14 14)`})]}),(0,g.jsx)(`span`,{className:w.cellRingText,children:J(String(e),!1)})]})}function Ks(e,t){let n=e=>String(e??``).replace(/\|/g,`\\|`).replace(/\n/g,` `);return[`| ${e.map(n).join(` | `)} |`,`| ${e.map(()=>`---`).join(` | `)} |`,...t.map(t=>`| ${e.map((e,r)=>n(t[r])).join(` | `)} |`)].join(`
260
- `)}function qs(e){let t=e=>{let t=String(e??``);return/[",\n]/.test(t)?`"${t.replace(/"/g,`""`)}"`:t};return e.map(e=>e.map(t).join(`,`)).join(`
261
- `)}function Js({columns:e,rows:t}){Po();let[n,r]=(0,m.useState)(null),i=n=>{let i=n===`md`?Ks(e,t):qs(t);(0,p.writeClipboard)(i).then(e=>{e&&(r(n),window.setTimeout(()=>r(null),1200))})};return(0,g.jsxs)(`div`,{className:w.tableTools,children:[(0,g.jsx)(`button`,{type:`button`,className:w.tableTool,onClick:()=>i(`md`),children:Y(n===`md`?`label.copiedDone`:`block.copyMarkdown`)}),(0,g.jsx)(`button`,{type:`button`,className:w.tableTool,onClick:()=>i(`csv`),children:Y(n===`csv`?`label.copiedDone`:`block.copyCsv`)})]})}function Ys({cell:e}){let t=Vs(e),n=Number.isFinite(t)?Math.max(0,Math.min(100,t)):0;return(0,g.jsxs)(`span`,{className:w.cellBar,children:[(0,g.jsx)(`span`,{className:w.cellBarFill,style:{width:`${n}%`}}),(0,g.jsx)(`span`,{className:w.cellBarText,children:J(String(e),!1)})]})}let Xs=(0,m.memo)(function({node:e,renderDetail:t,filterValue:n,sortValue:r}){Po();let i=e.columns.slice(0,X.maxTableCols),a=e.rows.slice(0,X.maxTableRows),o=e.types??[],s=o[0]===`group`,[c,l]=(0,m.useState)(null),[u,d]=(0,m.useState)(()=>new Set),[f,p]=(0,m.useState)(()=>new Set),h=(e,t,n,r)=>{let i=Vs(e[n]),a=Vs(t[n]);if(Number.isFinite(i)&&Number.isFinite(a)&&i!==a)return(i-a)*r;if(Number.isFinite(i)!==Number.isFinite(a))return Number.isFinite(i)?-r:r;let o=String(e[n]??``),s=String(t[n]??``);return(o<s?-1:+(o>s))*r},_=e=>s&&String(e[0]??``).trim()!==``&&e.slice(1).every(e=>String(e??``).trim()===``),v=n?.trim().toLowerCase(),y=(v===void 0||v===``?a.map((e,t)=>({row:e,index:t})):a.map((e,t)=>({row:e,index:t})).filter(({row:t})=>(e.filterColumn===void 0?t:[t[e.filterColumn]]).some(e=>String(e??``).toLowerCase().includes(v)))).map(e=>e.row),b=a.length-y.length,x=[];y.forEach((e,t)=>{if(_(e)){x.push({header:{row:e,index:t},children:[]});return}(x.length===0||x[x.length-1].header===null)&&x.length===0&&x.push({header:null,children:[]}),x[x.length-1].children.push({row:e,index:t})});let S=r===void 0?-1:i.indexOf(r),C=c===null?S>=0?{col:S,dir:1}:null:c,T=x.map(e=>({header:e.header,children:C===null?e.children:[...e.children].sort((e,t)=>h(e.row,t.row,C.col,C.dir))})),E=Hs(y,i.length),ee=e=>{d(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},te=e=>{p(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},ne=e=>{l(t=>t!==null&&t.col===e?t.dir===1?{col:e,dir:-1}:null:{col:e,dir:1})},D=i.map((e,t)=>{if(!E[t])return null;let n=0;for(let e of y){if(_(e))continue;let r=Vs(e[t]);Number.isFinite(r)&&(n+=r)}return n}),re=e.total===!0&&D.some(e=>e!==null),ie=e=>Number.isInteger(e)?e.toLocaleString(`en-US`):String(Math.round(e*100)/100),ae=(e,t,n)=>{let r=o[t],i=r===`delta`?String(e).trim().startsWith(`-`)?`down`:`up`:Us(e);return(0,g.jsx)(`td`,{className:E[t]||r===`num`?w.tdNum:void 0,children:r===`badge`?(0,g.jsx)(`span`,{className:w.cellBadge,children:J(String(e),!1)}):r===`bar`?(0,g.jsx)(Ys,{cell:e}):r===`spark`?(0,g.jsx)(Ws,{cell:e}):r===`ring`?(0,g.jsx)(Gs,{cell:e}):r===`index`?(0,g.jsx)(`span`,{className:w.cellIndex,children:n+1}):i===null?J(String(e),!1):(0,g.jsx)(`span`,{className:`${w.tdDelta} ${i===`up`?w.tdDeltaUp:w.tdDeltaDown}`,children:J(String(e),!1)})},t)};return(0,g.jsxs)(`div`,{className:w.tableWrap,children:[e.export===!0&&(0,g.jsx)(Js,{columns:i,rows:a}),(0,g.jsxs)(`table`,{className:w.table,children:[(0,g.jsx)(`thead`,{children:(0,g.jsx)(`tr`,{children:i.map((e,t)=>(0,g.jsx)(`th`,{className:E[t]?w.thNum:void 0,"aria-sort":c!==null&&c.col===t?c.dir===1?`ascending`:`descending`:`none`,children:(0,g.jsxs)(`button`,{type:`button`,className:w.thSort,onClick:()=>ne(t),children:[J(e,!1),c!==null&&c.col===t&&(0,g.jsx)(`span`,{className:w.thSortMark,"aria-hidden":!0,children:c.dir===1?` ▲`:` ▼`})]})},t))})}),(0,g.jsx)(`tbody`,{children:T.map((n,r)=>{let a=n.header?.index??r,o=u.has(a);return(0,g.jsxs)(m.Fragment,{children:[n.header!==null&&(0,g.jsx)(`tr`,{className:w.groupRow,children:(0,g.jsx)(`td`,{colSpan:i.length,children:(0,g.jsxs)(`button`,{type:`button`,className:w.groupToggle,"aria-expanded":!o,onClick:()=>ee(a),children:[(0,g.jsx)(`span`,{className:w.groupChevron,"aria-hidden":!0,children:o?`▸`:`▾`}),J(String(n.header.row[0]),!1),(0,g.jsx)(`span`,{className:w.groupCount,children:n.children.length})]})})}),!o&&n.children.map(r=>{let a=e.details?.[r.index]??null,o=f.has(r.index);return(0,g.jsxs)(m.Fragment,{children:[(0,g.jsx)(`tr`,{className:n.header===null?void 0:w.groupChild,children:r.row.slice(0,i.length).map((e,t)=>t===0&&a!==null?(0,g.jsx)(`td`,{className:w.detailCell,children:(0,g.jsxs)(`button`,{type:`button`,className:w.detailToggle,"aria-expanded":o,onClick:()=>te(r.index),children:[(0,g.jsx)(`span`,{className:w.detailChevron,"data-open":o,"aria-hidden":!0,children:`▸`}),J(String(e),!1)]})},t):ae(e,t,r.index))}),o&&a!==null&&(0,g.jsx)(`tr`,{className:w.detailRow,children:(0,g.jsx)(`td`,{colSpan:i.length,children:(0,g.jsx)(`div`,{className:w.detailBody,children:t===void 0?null:t(a)})})})]},r.index)})]},n.header===null?`s-${r}`:`g-${n.header.index}`)})}),b>0&&(0,g.jsx)(`tfoot`,{children:(0,g.jsx)(`tr`,{className:w.filterRow,children:(0,g.jsx)(`td`,{colSpan:i.length,children:Y(`block.filteredRows`,{visible:y.length,total:a.length})})})}),re&&(0,g.jsx)(`tfoot`,{children:(0,g.jsx)(`tr`,{children:i.map((e,t)=>(0,g.jsx)(`td`,{className:E[t]?w.tdNum:void 0,children:t===0?Y(`block.total`):D[t]===null?``:ie(D[t])},t))})})]})]})});function Zs(){let[e,t]=(0,m.useState)(null);return{tip:e,show:(0,m.useCallback)((e,n)=>{let r=e.currentTarget,i=r.closest(`[data-genui-chart], [data-genui-line], [data-genui-donut]`);if(i===null)return;let a=i.getBoundingClientRect(),o=r.getBoundingClientRect();t({x:o.left-a.left+o.width/2,y:o.top-a.top,rows:n})},[]),hide:(0,m.useCallback)(()=>t(null),[])}}function Qs({tip:e}){return e===null?null:(0,g.jsx)(`div`,{className:w.chartTip,style:{left:`${e.x}px`,top:`${e.y}px`},role:`tooltip`,children:e.rows.map(([e,t],n)=>(0,g.jsxs)(`span`,{className:w.chartTipRow,children:[(0,g.jsx)(`span`,{children:J(e)}),(0,g.jsx)(`span`,{className:w.chartTipValue,children:J(String(t))})]},`${e}-${n}`))})}function $s(){let e=(0,m.useRef)(null),[t,n]=(0,m.useState)(560);return(0,m.useLayoutEffect)(()=>{let t=e.current;if(t===null)return;let r=()=>{let e=t.clientWidth;e>0&&n(e)};if(r(),typeof ResizeObserver>`u`)return;let i=new ResizeObserver(r);return i.observe(t),()=>i.disconnect()},[]),[e,t]}function ec(e,t,n=4){let r=Math.min(e,0),i=Math.max(t,0);if(r===i)return[0,1];let a=(i-r)/Math.max(n,1),o=10**Math.floor(Math.log10(Math.max(a,Number.MIN_VALUE))),s=a/o,c=(s<=1?1:s<=2?2:s<=5?5:10)*o,l=Math.floor(r/c)*c,u=Math.ceil(i/c)*c,d=[];for(let e=l;e<=u+c/2;e+=c)d.push(Math.abs(e)<c/1e6?0:e);return d}function tc(e){let t=Math.abs(e);return t>=1e9?`${(e/1e9).toFixed(t%1e9==0?0:1)}b`:t>=1e6?`${(e/1e6).toFixed(t%1e6==0?0:1)}m`:t>=1e3?`${(e/1e3).toFixed(t%1e3==0?0:1)}k`:String(Number.isInteger(e)?e:Math.round(e*100)/100)}function nc(e){if(!Number.isFinite(e))return 0;let[t,n]=String(e).toLowerCase().split(`e`),r=t.split(`.`)[1]?.length??0,i=n===void 0?0:Number(n);return Math.max(r-i,0)}function rc(e,t){if(!Number.isFinite(e)||Math.abs(e)>=1e21||t>100)return String(e);let n=e.toFixed(t);return n.includes(`.`)?n.replace(/\.?0+$/,``):n}function ic({ticks:e,lo:t,span:n}){return(0,g.jsx)(`div`,{className:w.chartYAxis,style:{height:160},children:e.map(e=>(0,g.jsx)(`span`,{className:w.chartYTick,style:{bottom:`${(e-t)/n*100}%`},children:tc(e)},e))})}let ac=(0,m.memo)(function({chart:e,filterValue:t}){let n=(0,m.useMemo)(()=>oc(e,t),[e,t]),r=n.kind??`bars`;return r===`donut`?(0,g.jsx)(lc,{chart:n}):r===`line`?(0,g.jsx)(cc,{chart:n}):(0,g.jsx)(sc,{chart:n})});function oc(e,t){let n=t?.trim().toLowerCase();if(n===void 0||n===``)return e;let r=e=>e.label.toLowerCase().includes(n),i=e.data.filter(r);if(e.series===void 0)return i.length===e.data.length?e:{...e,data:i};let a=e.series.map(e=>({...e,data:e.data.filter(r)}));return{...e,data:i,series:a}}let sc=(0,m.memo)(function({chart:e}){Po();let{tip:t,show:n,hide:r}=Zs(),i=e.series===void 0?void 0:e.series.slice(0,X.maxPlotSeries),a=i!==void 0&&i.length>0,o=e.data.slice(0,X.maxChartPoints),s=a?i[0].data.map(e=>e.label):o.map(e=>e.label),c=a?i.map(e=>e.data.map(e=>Number(e.value)||0)):[o.map(e=>Number(e.value)||0)],l=c.map((t,n)=>Bs(n,c.length,a?i[n]?.color:void 0,e.palette)??`var(--dsw-alias-state-business-primary, #4f8ef7)`),u=c.flat(),d=s.length<=12,f=e.stacked===!0&&a,p=s.map((e,t)=>c.reduce((e,n)=>e+Math.max(0,n[t]??0),0)),m=s.map((e,t)=>Math.max(...c.map(e=>nc(e[t]??0)),0)),h=Math.max(...f?p:u,0);if(e.horizontal===!0){let e=Math.max(h,1),u=a?(0,g.jsx)(`div`,{className:w.chartLegend,children:i.map((e,t)=>(0,g.jsxs)(`span`,{className:w.legendItem,children:[(0,g.jsx)(`span`,{className:w.legendSwatch,style:{background:l[t]}}),J(e.label)]},t))}):null;return(0,g.jsxs)(`div`,{className:w.chart,"data-genui-chart":`bars`,role:`img`,"aria-label":Y(`block.chart.barsAria`,{count:s.length}),onMouseLeave:r,children:[(0,g.jsx)(`div`,{className:w.hbars,children:s.map((t,r)=>(0,g.jsxs)(`div`,{className:w.hbarRow,children:[(0,g.jsx)(`span`,{className:w.hbarLabel,title:t,children:J(t)}),(0,g.jsx)(`div`,{className:w.hbarTracks,children:f?(0,g.jsx)(`div`,{className:w.hbarTrack,title:`${t}: ${rc(p[r]??0,m[r]??0)}`,children:c.map((t,a)=>{let o=Math.max(0,t[r]??0),s=p[r]??0,c=s===0?0:o/s*Math.max(0,Math.min(100,s/e*100));return(0,g.jsx)(`div`,{className:w.hbarSeg,style:{width:`${c}%`,background:l[a]},onMouseEnter:e=>n(e,[[i[a].label,String(o)],[Y(`block.total`),rc(s,m[r]??0)]]),onMouseMove:e=>n(e,[[i[a].label,String(o)],[Y(`block.total`),rc(s,m[r]??0)]])},a)})}):c.map((o,s)=>{let c=o[r]??0,u=Math.max(0,Math.min(100,Math.max(0,c)/e*100));return(0,g.jsx)(`div`,{className:w.hbarTrack,children:(0,g.jsx)(`div`,{className:w.hbarFill,style:{width:`${u}%`,background:l[s]},onMouseEnter:e=>n(e,a?[[i[s].label,String(c)],[Y(`block.total`),rc(p[r]??0,m[r]??0)]]:[[t,String(c)]]),onMouseMove:e=>n(e,a?[[i[s].label,String(c)],[Y(`block.total`),rc(p[r]??0,m[r]??0)]]:[[t,String(c)]])})},s)})}),d&&(0,g.jsx)(`span`,{className:w.hbarValue,children:a?rc(p[r]??0,m[r]??0):String(o[r]?.value??``)})]},r))}),u,(0,g.jsx)(Qs,{tip:t})]})}let _=ec(a?0:Math.min(...u,0),h,4),v=_[0],y=_[_.length-1]-v||1,b=e=>(e-v)/y*100,x=b(0),S=Y(`block.chart.barsSummary`,{count:s.length,max:tc(Math.max(...u,0))});return(0,g.jsxs)(`div`,{className:w.chart,"data-genui-chart":`bars`,role:`img`,"aria-label":S,onMouseLeave:r,children:[(0,g.jsx)(Qs,{tip:t}),(0,g.jsxs)(`div`,{className:w.chartBody,children:[(0,g.jsx)(ic,{ticks:_,lo:v,span:y}),(0,g.jsxs)(`div`,{className:w.chartPlot,children:[_.map(e=>(0,g.jsx)(`span`,{className:e===0?w.baseline:w.gridline,style:{bottom:`${b(e)}%`}},e)),s.map((e,t)=>(0,g.jsx)(`div`,{className:w.barCol,children:f?(0,g.jsxs)(g.Fragment,{children:[d&&(0,g.jsx)(`span`,{className:w.barValue,style:{bottom:`calc(${b(p[t]??0)}% + 4px)`},children:rc(p[t]??0,m[t]??0)}),(0,g.jsx)(`div`,{className:w.stack,style:{height:`${Math.max(0,b(p[t]??0))}%`},children:i.map((e,r)=>{let i=e.data[t],a=i===void 0?0:Number(i.value)||0,o=Math.max(0,a),s=p[t]??0,c=s===0?0:o/s*b(s),u=[[e.label,String(a)],[Y(`block.total`),rc(s,m[t]??0)]];return(0,g.jsx)(`div`,{className:w.stackSeg,style:{height:s===0?`0%`:`${o/s*100}%`,background:l[r]},onMouseEnter:e=>n(e,u),onMouseMove:e=>n(e,u),children:c>=11&&(0,g.jsx)(`span`,{className:w.stackValue,children:a})},r)})})]}):a?(0,g.jsx)(`div`,{className:w.groupedBars,children:i.map((e,r)=>{let i=e.data[t],a=i===void 0?0:Number(i.value)||0;return(0,g.jsxs)(`div`,{className:w.groupedBar,children:[d&&(0,g.jsx)(`span`,{className:w.groupValue,children:i===void 0?``:String(i.value)}),(0,g.jsx)(`div`,{className:w.groupedFill,style:{height:`${Math.max(0,b(Math.max(0,a)))}%`,background:l[r]},onMouseEnter:r=>n(r,[[e.label,String(i?.value??``)],[Y(`block.total`),rc(p[t]??0,m[t]??0)]]),onMouseMove:r=>n(r,[[e.label,String(i?.value??``)],[Y(`block.total`),rc(p[t]??0,m[t]??0)]])})]},r)})}):(()=>{let r=c[0][t]??0,i=Math.max(b(r),x),a=Math.min(b(r),x);return(0,g.jsxs)(g.Fragment,{children:[d&&(0,g.jsx)(`span`,{className:w.barValue,style:{bottom:`calc(${i}% + 4px)`},children:String(o[t]?.value??``)}),(0,g.jsx)(`div`,{className:w.barFill,style:{bottom:`${a}%`,height:`${Math.max(i-a,.6)}%`,...r<0?{borderRadius:`0 0 5px 5px`}:{},...o[t]?.color===void 0?{}:{background:o[t].color}},onMouseEnter:r=>n(r,[[e,String(o[t]?.value??``)]]),onMouseMove:r=>n(r,[[e,String(o[t]?.value??``)]])})]})})()},t))]})]}),(0,g.jsx)(`div`,{className:w.chartLabels,children:s.map((e,t)=>(0,g.jsx)(`span`,{className:w.barLabel,children:J(e)},`${e}-${t}`))}),a&&(0,g.jsx)(`div`,{className:w.chartLegend,children:i.map((e,t)=>(0,g.jsxs)(`span`,{className:w.legendItem,children:[(0,g.jsx)(`span`,{className:w.legendSwatch,style:{background:l[t]}}),J(e.label)]},t))})]})}),cc=(0,m.memo)(function({chart:e}){Po();let[t,n]=$s(),{tip:r,show:i,hide:a}=Zs(),o=`genui-line-${(0,m.useId)().replace(/:/g,``)}`,s=e.series!==void 0&&e.series.length>0?e.series.slice(0,X.maxPlotSeries):void 0,c=e.data.slice(0,X.maxChartPoints),l=s===void 0?c.map(e=>e.label):s[0].data.map(e=>e.label),u=s===void 0?[c.map(e=>Number(e.value)||0)]:s.map(e=>e.data.map(e=>Number(e.value)||0)),d=u.map((t,n)=>Bs(n,u.length,s===void 0?void 0:s[n]?.color,e.palette)??`var(--dsl-g-accent)`),f=u.length>1,p=u.flat(),h=Math.max(...u.map(e=>e.length),0),_=Math.max(n,260),v=ec(Math.min(...p,0),Math.max(...p,0),4),y=v[0],b=v[v.length-1]-y||1,x=_-44-12,S=e=>44+(h<=1?x/2:e/(h-1)*x),C=e=>14+(1-(e-y)/b)*136,T=u.map(e=>e.map((e,t)=>`${t===0?`M`:`L`} ${S(t).toFixed(1)} ${C(e).toFixed(1)}`).join(` `)),E=!f&&h>1?`${T[0]} L ${S(h-1).toFixed(1)} ${C(y).toFixed(1)} L ${S(0).toFixed(1)} ${C(y).toFixed(1)} Z`:null,ee=Math.max(1,Math.ceil(h/Math.max(1,Math.floor(x/64)))),te=Y(f?`block.chart.lineSeries`:`block.chart.linePoints`,{count:f?u.length:h,min:tc(Math.min(...p,0)),max:tc(Math.max(...p,0))});return(0,g.jsxs)(`div`,{className:w.lineChart,"data-genui-chart":`line`,"data-genui-line":!0,ref:t,role:`img`,"aria-label":te,onMouseLeave:a,children:[(0,g.jsx)(Qs,{tip:r}),(0,g.jsxs)(`svg`,{width:`100%`,viewBox:`0 0 ${_} 176`,preserveAspectRatio:`none`,children:[(0,g.jsx)(`defs`,{children:(0,g.jsxs)(`linearGradient`,{id:o,x1:`0`,y1:`0`,x2:`0`,y2:`1`,children:[(0,g.jsx)(`stop`,{offset:`0%`,stopColor:`var(--dsl-g-accent)`,stopOpacity:`0.22`}),(0,g.jsx)(`stop`,{offset:`100%`,stopColor:`var(--dsl-g-accent)`,stopOpacity:`0.02`})]})}),v.map((e,t)=>{let n=C(e);return(0,g.jsxs)(`g`,{children:[(0,g.jsx)(`line`,{x1:44,x2:_-12,y1:n,y2:n,className:t===0?w.lineGridAxis:w.lineGrid}),(0,g.jsx)(`text`,{x:36,y:n+4,textAnchor:`end`,className:w.lineTick,children:tc(e)})]},e)}),E!==null&&(0,g.jsx)(`path`,{d:E,fill:`url(#${o})`}),T.map((e,t)=>(0,g.jsx)(`path`,{d:e,className:w.linePath,style:{stroke:d[t]}},t)),u.map((e,t)=>e.map((e,n)=>{let r=f?[[s[t].label,String(e)],[Y(`block.chart.node`),l[n]??``]]:[[l[n]??``,String(e)]];return(0,g.jsx)(`circle`,{cx:S(n),cy:C(e),r:f?3:3.5,className:w.lineDot,style:{fill:d[t]},onMouseEnter:e=>i(e,r),onMouseMove:e=>i(e,r)},`${t}-${n}`)})),l.map((e,t)=>t%ee===0?(0,g.jsx)(`text`,{x:S(t),y:168,textAnchor:`middle`,className:w.lineLabel,children:e},`l-${t}`):null)]}),f&&(0,g.jsx)(`div`,{className:w.chartLegend,children:s.map((e,t)=>(0,g.jsxs)(`span`,{className:w.legendItem,children:[(0,g.jsx)(`span`,{className:w.legendSwatch,style:{background:d[t]}}),J(e.label)]},t))})]})}),lc=(0,m.memo)(function({chart:e}){Po();let{tip:t,show:n,hide:r}=Zs(),i=e.data.slice(0,X.maxChartPoints),a=i.map(e=>({...e,v:Math.max(0,Number(e.value)||0)})),o=a.reduce((e,t)=>e+t.v,0)||1,s=o>=1e3?`${Math.round(o/100)/10}k`:Number.isInteger(o)?String(o):o.toFixed(1),c=2*Math.PI*62,l=0,u=Y(`block.chart.donutSummary`,{count:a.length,total:s});return(0,g.jsxs)(`div`,{className:w.donut,"data-genui-chart":`donut`,"data-genui-donut":!0,role:`img`,"aria-label":u,onMouseLeave:r,children:[(0,g.jsx)(Qs,{tip:t}),(0,g.jsxs)(`svg`,{width:160,height:160,viewBox:`0 0 160 160`,children:[(0,g.jsx)(`circle`,{cx:80,cy:80,r:62,fill:`none`,strokeWidth:18,className:w.donutTrack}),a.map((t,r)=>{let a=t.v/o,s=a*c,u=(0,g.jsx)(`circle`,{cx:80,cy:80,r:62,fill:`none`,strokeWidth:18,className:w.donutSeg,style:{stroke:Bs(r,i.length,t.color,e.palette)??`var(--dsw-alias-state-business-primary, #4f8ef7)`},strokeDasharray:`${s} ${c-s}`,strokeDashoffset:-l,transform:`rotate(-90 80 80)`,onMouseEnter:e=>n(e,[[t.label,`${String(t.value)} · ${(a*100).toFixed(1)}%`]]),onMouseMove:e=>n(e,[[t.label,`${String(t.value)} · ${(a*100).toFixed(1)}%`]])},r);return l+=s,u}),(0,g.jsx)(`text`,{x:80,y:78,textAnchor:`middle`,className:w.donutTotal,children:s}),(0,g.jsx)(`text`,{x:80,y:96,textAnchor:`middle`,className:w.donutTotalLabel,children:Y(`block.total`)})]}),(0,g.jsx)(`div`,{className:w.donutLegend,children:a.map((t,n)=>(0,g.jsxs)(`span`,{className:w.legendItem,children:[(0,g.jsx)(`span`,{className:w.legendSwatch,style:{background:Bs(n,i.length,t.color,e.palette)??`var(--dsw-alias-state-business-primary, #4f8ef7)`}}),(0,g.jsx)(`span`,{children:J(t.label)}),(0,g.jsxs)(`span`,{className:w.donutPct,children:[String(t.value),` · `,(t.v/o*100).toFixed(1),`%`]})]},n))})]})});function uc({node:e,onAction:t,answers:n}){let r=e.action,i=e.group,a=i!==void 0,o=e.options.slice(0,X.maxOptions),s=i!==void 0&&n?.answers[i]!==void 0?o.indexOf(n.answers[i]):-1,[c,l]=(0,m.useState)(s>=0?s:e.selected??null),u=(0,m.useId)(),d=a&&n?.locked===!0;return(0,m.useEffect)(()=>{i!==void 0&&(n?.registerMeta(i,{label:e.label??i,options:o,answer:e.answer,explanation:e.explanation}),e.selected!==void 0&&o[e.selected]!==void 0&&n?.answers[i]===void 0&&n?.setAnswer(i,o[e.selected]))},[i,e.label,e.answer,e.explanation,e.options,e.selected]),(0,g.jsxs)(`div`,{className:w.fieldGroup,role:`radiogroup`,"aria-label":e.label,children:[e.label!==void 0&&(0,g.jsx)(`span`,{className:w.fieldLabel,children:J(e.label,!1)}),o.map((e,o)=>(0,g.jsxs)(`label`,{className:w.radio,children:[(0,g.jsx)(`input`,{type:`radio`,name:`genui-radio-${u}`,checked:c===o,disabled:d,onChange:()=>{l(o),a?n?.setAnswer(i,e):r!==void 0&&t!==void 0&&t(r,{type:`radio`,value:e})}}),(0,g.jsx)(`span`,{children:J(e,!1)})]},o))]})}function dc(e){if(e.answer!==void 0)return typeof e.answer==`number`?e.options[e.answer]:e.answer}function fc({node:e,onAction:t,answers:n}){let r=Po(),i=n?.answers??{},a=n?.multiAnswers??{},o=n?.fields??{},s=n?.meta??{},c=e.groups,l=Object.fromEntries(Object.entries(o).filter(([e,t])=>t.trim()!==``&&!n?.secretFields.has(e))),u=Object.entries(a).filter(([,e])=>Array.isArray(e)&&e.length>0).map(([e])=>e),d=new Set([...Object.keys(i),...u]),f=c===void 0?Math.max(d.size,Object.keys(l).length):c.filter(e=>i[e]!==void 0||Array.isArray(a[e])&&a[e].length>0).length,p=c?.length??f,m=c??[...d],h=!m.some(e=>Array.isArray(a[e])&&a[e].length>0)&&m.some(e=>s[e]?.answer!==void 0),_=n?.locked===!0,v={...i,...a},y=f>0&&f>=p&&(h||e.action!==void 0&&t!==void 0);if(_){let a=m.filter(e=>i[e]!==void 0&&s[e]?.answer!==void 0),o=a.filter(e=>i[e]===dc(s[e])).length;return(0,g.jsxs)(`div`,{className:w.gradeWrap,"data-genui-grade":!0,children:[(0,g.jsxs)(`div`,{className:w.gradeScore,children:[(0,g.jsxs)(`span`,{className:w.gradeScoreValue,children:[o,` / `,a.length]}),(0,g.jsxs)(`span`,{className:w.gradeScoreLabel,children:[r(`block.score`),a.length<m.length?r(`block.scoreUngraded`,{count:m.length-a.length}):``]})]}),(0,g.jsx)(`div`,{className:w.gradeList,children:m.map(e=>{let t=i[e],n=s[e];if(t===void 0||n===void 0)return null;let a=dc(n);if(a===void 0)return(0,g.jsxs)(`div`,{className:w.gradeItem,children:[(0,g.jsx)(`span`,{className:w.gradeQ,children:J(n.label)}),(0,g.jsxs)(`span`,{className:w.gradeAns,children:[r(`block.yourAnswer`),J(t)]})]},e);let o=t===a;return(0,g.jsxs)(`div`,{className:`${w.gradeItem} ${o?w.gradeItemOk:w.gradeItemNo}`,children:[(0,g.jsx)(`span`,{className:w.gradeQ,children:J(n.label)}),(0,g.jsx)(`span`,{className:w.gradeTag,children:o?`✓`:`✗`}),(0,g.jsxs)(`span`,{className:w.gradeAns,children:[r(`block.yourAnswer`),J(t),!o&&(0,g.jsxs)(`span`,{className:w.gradeRight,children:[r(`block.correctAnswer`),J(a??``)]})]}),n.explanation!==void 0&&(0,g.jsx)(`span`,{className:w.gradeExp,children:J(n.explanation)})]},e)})}),(0,g.jsx)(`button`,{type:`button`,className:`${w.button} ${w.ghost} ${w.submit}`,onClick:()=>{n?.clear(),e.resetAction!==void 0&&t!==void 0&&t(e.resetAction,{type:`submit-reset`,groups:c??Object.keys(i)})},children:r(`block.quizRetry`)})]})}return(0,g.jsxs)(`div`,{className:w.submitRow,children:[(0,g.jsx)(`button`,{type:`button`,className:`${w.button} ${w.primary} ${w.submit}`,disabled:!y,onClick:y?()=>{h?n?.setLocked(!0):e.action!==void 0&&t!==void 0&&t(e.action,{type:`submit`,answers:v,...Object.keys(l).length>0?{fields:l}:{},total:p,answered:f})}:void 0,children:J(e.label,!1)}),p>0&&(0,g.jsx)(`span`,{className:w.submitHint,"aria-live":`polite`,children:r(`block.selectedCount`,{answered:f,total:p})})]})}function pc({node:e,onAction:t}){let[n,r]=(0,m.useState)(e.checked===!0),i=e.action;return(0,g.jsxs)(`label`,{className:w.switchRow,children:[(0,g.jsx)(`span`,{className:w.switchLabel,children:J(e.label,!1)}),(0,g.jsx)(`button`,{type:`button`,role:`switch`,"aria-checked":n,className:`${w.switch} ${n?w.switchOn:``}`,onClick:()=>{let e=!n;r(e),i!==void 0&&t!==void 0&&t(i,{type:`switch`,checked:e})},children:(0,g.jsx)(`span`,{className:w.switchKnob})})]})}function mc({node:e,onAction:t,answers:n}){let r=e.action,i=e.id,a=i!==void 0&&n?.fields[i]!==void 0?Number(n.fields[i]):NaN,o=Number.isFinite(a)?a:e.value??e.min??0,[s,c]=(0,m.useState)(o),l=(0,m.useRef)(!1);(0,m.useEffect)(()=>{l.current||(l.current=!0,i!==void 0&&n?.setField(i,String(o)))},[]);let u=e=>{r!==void 0&&t!==void 0&&t(r,{type:`slider`,value:e,...i===void 0?{}:{id:i}})};return(0,g.jsxs)(`label`,{className:w.sliderRow,children:[e.label!==void 0&&(0,g.jsx)(`span`,{className:w.fieldLabel,children:J(e.label,!1)}),(0,g.jsx)(`input`,{type:`range`,className:w.sliderInput,min:e.min,max:e.max,step:e.step??1,value:s,"aria-label":e.label,onChange:e=>{let t=Number(e.currentTarget.value);c(t),i!==void 0&&n?.setField(i,String(t)),u(t)}}),(0,g.jsx)(`span`,{className:w.sliderValue,children:Math.round(s*100)/100})]})}function hc(){let e=(0,m.useRef)(!1),t=(0,m.useRef)(null);return(0,m.useEffect)(()=>()=>{t.current!==null&&clearTimeout(t.current)},[]),{isComposing:()=>e.current,onCompositionStart:()=>{e.current=!0,t.current!==null&&(clearTimeout(t.current),t.current=null)},onCompositionEnd:()=>{t.current!==null&&clearTimeout(t.current),t.current=setTimeout(()=>{e.current=!1},10)}}}function gc(e){let t=e.nativeEvent;return t.isComposing===!0||t.keyCode===229}function _c({node:e,onAction:t,answers:n}){let r=Po(),i=e.action,a=e.id,o=e.options.slice(0,X.maxOptions),s=a!==void 0&&n?.fields[a]!==void 0?o.indexOf(n.fields[a]):-1,c=s>=0?o[s]:e.selected!==void 0&&o[e.selected]!==void 0?o[e.selected]:null,[l,u]=(0,m.useState)(c),d=(0,m.useRef)(!1);(0,m.useEffect)(()=>{d.current||(d.current=!0,a!==void 0&&c!==null&&n?.setField(a,c))},[]);let f=e=>{i!==void 0&&t!==void 0&&t(i,{type:`select`,value:e,...a===void 0?{}:{id:a}})};return(0,g.jsxs)(`label`,{className:w.field,children:[e.label!==void 0&&(0,g.jsx)(`span`,{children:J(e.label,!1)}),(0,g.jsxs)(`select`,{className:w.select,value:l??``,onChange:e=>{let t=e.currentTarget.value;u(t),a!==void 0&&n?.setField(a,t),f(t)},children:[l===null&&(0,g.jsx)(`option`,{value:``,hidden:!0,disabled:!0,children:r(`block.selectPlaceholder`)}),o.map((e,t)=>(0,g.jsx)(`option`,{value:e,children:e},t))]})]})}function vc({node:e,onAction:t,answers:n}){let r=e.action,i=e.id,a=e.inputType===`password`,o=!a&&i!==void 0?n?.fields[i]:void 0,[s,c]=(0,m.useState)(()=>{let t=a?``:o??e.value??``;return e.inputType===`color`?/^#[0-9a-f]{6}$/i.test(t)?t.toLowerCase():`#000000`:t}),l=(0,m.useRef)(s),u=e=>{r!==void 0&&t!==void 0&&(l.current=s,t(r,{type:`input`,value:s,...i===void 0?{}:{id:i},...e?{submit:!0}:{}}))},d=hc(),f=(0,m.useRef)(!1);return(0,m.useEffect)(()=>{f.current||(f.current=!0,!a&&i!==void 0&&s.trim()!==``&&n?.setField(i,s))},[]),(0,m.useEffect)(()=>{a&&i!==void 0&&n?.registerSecretField(i)},[a,i]),(0,g.jsxs)(`label`,{className:w.field,children:[e.label!==void 0&&(0,g.jsx)(`span`,{children:J(e.label,!1)}),(0,g.jsx)(`input`,{className:w.input,type:e.inputType??`text`,style:e.inputType===`color`?{width:64,height:40,padding:4,boxSizing:`border-box`,alignSelf:`flex-start`,cursor:`pointer`}:void 0,placeholder:e.placeholder,value:s,onChange:e=>{let t=e.currentTarget.value;c(t),i!==void 0&&n?.setField(i,t)},onBlur:()=>{s!==l.current&&u(!1)},onCompositionStart:d.onCompositionStart,onCompositionEnd:d.onCompositionEnd,onKeyDown:e=>{e.key===`Enter`&&(d.isComposing()||gc(e)||(e.preventDefault(),u(!0)))}})]})}function yc({node:e,onAction:t,answers:n}){let r=e.action,i=e.id,a=i===void 0?void 0:n?.fields[i],[o,s]=(0,m.useState)(()=>a??e.value??``),c=(0,m.useRef)(o),l=e=>{r!==void 0&&t!==void 0&&(c.current=o,t(r,{type:`textarea`,value:o,...i===void 0?{}:{id:i},...e?{submit:!0}:{}}))},u=hc(),d=(0,m.useRef)(!1);return(0,m.useEffect)(()=>{d.current||(d.current=!0,i!==void 0&&o.trim()!==``&&n?.setField(i,o))},[]),(0,g.jsxs)(`label`,{className:w.field,children:[e.label!==void 0&&(0,g.jsx)(`span`,{children:J(e.label,!1)}),(0,g.jsx)(`textarea`,{className:w.textarea,placeholder:e.placeholder,rows:e.rows??4,value:o,onChange:e=>{let t=e.currentTarget.value;s(t),i!==void 0&&n?.setField(i,t)},onBlur:()=>{o!==c.current&&l(!1)},onCompositionStart:u.onCompositionStart,onCompositionEnd:u.onCompositionEnd,onKeyDown:e=>{!(e.metaKey||e.ctrlKey)||e.key!==`Enter`||u.isComposing()||gc(e)||(e.preventDefault(),l(!0))}})]})}function bc({node:e,onAction:t,answers:n}){let r=e.group,i=r!==void 0,a=r!==void 0&&Object.prototype.hasOwnProperty.call(n?.multiAnswers??{},r),o=r===void 0?void 0:n?.multiAnswers[r],s=a?Array.isArray(o)&&o.includes(e.label):e.checked===!0,[c,l]=(0,m.useState)(e.checked===!0);return(0,m.useEffect)(()=>{r===void 0||e.checked!==!0||a||n?.setMultiAnswer(r,e.label,!0)},[r,e.checked,e.label,a]),(0,g.jsxs)(`label`,{className:w.checkbox,children:[(0,g.jsx)(`input`,{type:`checkbox`,checked:i?s:c,onChange:a=>{let o=a.currentTarget.checked;l(o),i?n?.setMultiAnswer(r,e.label,o):e.action!==void 0&&t!==void 0&&t(e.action,{type:`checkbox`,checked:o})}}),(0,g.jsx)(`span`,{children:J(e.label,!1)})]})}let xc={pi:Math.PI,e:Math.E,tau:Math.PI*2},Sc={sin:Math.sin,cos:Math.cos,tan:Math.tan,asin:Math.asin,acos:Math.acos,atan:Math.atan,sqrt:Math.sqrt,cbrt:Math.cbrt,exp:Math.exp,log:Math.log10,ln:Math.log,abs:Math.abs,floor:Math.floor,ceil:Math.ceil,round:Math.round,min:Math.min,max:Math.max,pow:(e,t)=>e**+t};var Cc=class extends Error{pos;constructor(e,t){super(`SafeMath parse error at ${t}: ${e}`),this.pos=t}},wc=class{src;vars;i=0;constructor(e,t){this.src=e,this.vars=t}parse(){let e=this.parseExpr();if(this.skipWs(),this.i<this.src.length)throw new Cc(`unexpected trailing input`,this.i);return this.evalNode(e)}evalNode(e){return typeof e==`number`?()=>e:e}parseExpr(){let e=this.parseTerm();for(;;){this.skipWs();let t=this.peek();if(t===`+`||t===`-`){this.i++;let n=this.parseTerm(),r=t,i=e;e=r===`+`?e=>this.asNum(i,e)+this.asNum(n,e):e=>this.asNum(i,e)-this.asNum(n,e)}else return e}}parseTerm(){let e=this.parseUnary();for(;;){this.skipWs();let t=this.peek();if(t===`*`||t===`/`||t===`%`){this.i++;let n=this.parseUnary(),r=t,i=e;e=r===`*`?e=>this.asNum(i,e)*this.asNum(n,e):r===`/`?e=>this.asNum(i,e)/this.asNum(n,e):e=>this.asNum(i,e)%this.asNum(n,e)}else return e}}parseUnary(){this.skipWs();let e=this.char();if(e===`-`||e===`+`){this.i++;let t=this.parseUnary();return e===`-`?e=>-this.asNum(t,e):e=>this.asNum(t,e)}return this.parsePower()}parsePower(){let e=this.parseAtom();if(this.skipWs(),this.peek()===`^`){this.i++;let t=this.parsePower(),n=e;return e=>this.asNum(n,e)**+this.asNum(t,e)}return e}parseAtom(){this.skipWs();let e=this.char();if(e===`(`){this.i++;let e=this.parseExpr();if(this.skipWs(),this.peek()!==`)`)throw new Cc(`expected )`,this.i);return this.i++,e}if(e>=`0`&&e<=`9`||e===`.`)return this.parseNumber();if(this.isIdentStart(e))return this.parseIdent();throw new Cc(`unexpected character '${e}'`,this.i)}parseNumber(){let e=this.i,t=!1;for(;this.i<this.src.length&&/[0-9]/.test(this.src[this.i]);)t=!0,this.i++;if(this.peek()===`.`)for(this.i++;this.i<this.src.length&&/[0-9]/.test(this.src[this.i]);)t=!0,this.i++;if(!t)throw new Cc(`invalid number '${this.src.slice(e,this.i)}'`,e);if(this.peek()===`e`||this.peek()===`E`){this.i++,(this.peek()===`+`||this.peek()===`-`)&&this.i++;let t=this.i;for(;this.i<this.src.length&&/[0-9]/.test(this.src[this.i]);)this.i++;if(this.i===t)throw new Cc(`invalid number '${this.src.slice(e,this.i)}'`,e)}let n=this.src.slice(e,this.i),r=Number(n);if(Number.isNaN(r))throw new Cc(`invalid number '${n}'`,e);return r}parseIdent(){let e=this.i;for(;this.i<this.src.length&&this.isIdentChar(this.src[this.i]);)this.i++;let t=this.src.slice(e,this.i);if(this.skipWs(),this.peek()===`(`){let n=Sc[t];if(n===void 0)throw new Cc(`unknown function '${t}'`,e);this.i++;let r=[];if(this.skipWs(),this.peek()===`)`)this.i++;else for(;;){r.push(this.parseExpr()),this.skipWs();let e=this.peek();if(e===`,`){this.i++;continue}if(e===`)`){this.i++;break}throw new Cc(`expected , or ) in call`,this.i)}return e=>n(...r.map(t=>this.asNum(t,e)))}if(Object.hasOwn(xc,t))return xc[t];if(t===`x`)return e=>e;if(Object.hasOwn(this.vars,t)){let e=this.vars[t];return()=>e}if(/^[a-z]$/.test(t))return()=>1;throw new Cc(`unknown identifier '${t}'`,e)}asNum(e,t){return typeof e==`number`?e:e(t)}skipWs(){for(;this.i<this.src.length&&/\s/.test(this.src[this.i]);)this.i++}peek(){return this.src[this.i]}char(){let e=this.peek();if(e===void 0)throw new Cc(`unexpected end of input`,this.i);return e}isIdentStart(e){return e!==void 0&&/[a-zA-Z_]/.test(e)}isIdentChar(e){return/[a-zA-Z0-9_]/.test(e)}};function Tc(e,t={}){try{let n={...t.vars};return delete n.x,new wc(e,n).parse()}catch{return null}}function Ec(e,t,n,r=200,i={}){let a=Tc(e,{vars:i});if(a===null||!Number.isFinite(t)||!Number.isFinite(n)||n<=t||r<2)return[];let o=[],s=(n-t)/(r-1);for(let e=0;e<r;e++){let n=t+s*e,r=a(n);Number.isFinite(r)&&o.push([n,r])}return o}let Dc=`@changfenhuang/dsh-genui/PlotBlock.module.css`;if(typeof document<`u`&&document.querySelector(`style[data-plugin-css=`+JSON.stringify(Dc)+`]`)===null){let e=document.createElement(`style`);e.dataset.plugin=`@changfenhuang/dsh-genui`,e.dataset.pluginCss=Dc,e.textContent=`._ctrqa_block{--dsl-g-radius-surface:12px;--dsl-g-radius-control:8px;--dsl-g-font-title:13px;--dsl-g-font-meta:12px;--dsl-g-font-data:11px;--dsl-g-gap-md:12px;--dsl-g-gap-sm:8px;--dsl-g-gap-xs:4px;--dsl-g-border:var(--dsw-alias-border-l1,var(--dsw-alias-border-l2,#ffffff1f));--dsl-g-accent:var(--dsw-alias-state-business-primary,#4f8ef7);--dsl-g-accent-soft:color-mix(in srgb, var(--dsl-g-accent) var(--dsl-g-tint), transparent);--dsl-g-tint:8%;--dsl-g-tint-strong:14%;--dsl-g-font-mono:var(--ds-font-family-code,ui-monospace, "SF Mono", monospace);background:var(--dsw-alias-bg-layer-1,var(--dsw-alias-markdown-code-block));border:1px solid var(--dsl-g-border);border-radius:var(--dsl-g-radius-surface);gap:var(--dsl-g-gap-sm);flex-direction:column;padding:14px 16px;display:flex}._ctrqa_title{font-size:var(--dsl-g-font-title);letter-spacing:.01em;color:var(--dsw-alias-label-primary);font-weight:600}._ctrqa_gridLine{stroke:var(--dsw-alias-border-l1,#ffffff12);stroke-width:1px}._ctrqa_axis{stroke:var(--dsw-alias-label-tertiary);stroke-width:1px}._ctrqa_tick{fill:var(--dsw-alias-label-tertiary);font-size:var(--dsl-g-font-data);font-family:var(--dsl-g-font-mono)}._ctrqa_line{fill:none;stroke:var(--dsl-g-accent);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}._ctrqa_area{stroke:none;fill-opacity:.16}._ctrqa_scatterDot{stroke:var(--dsw-alias-bg-base,#17171a);stroke-width:1px}._ctrqa_legend{gap:var(--dsl-g-gap-md);flex-wrap:wrap;display:flex}._ctrqa_legendItem{align-items:center;gap:var(--dsl-g-gap-xs);font-size:var(--dsl-g-font-meta);color:var(--dsw-alias-label-secondary);display:inline-flex}._ctrqa_legendSwatch{background:var(--dsl-g-accent);border-radius:2px;width:10px;height:3px}._ctrqa_empty{color:var(--dsw-alias-label-tertiary);font-size:var(--dsl-g-font-title);gap:var(--dsl-g-gap-xs);flex-direction:column;padding:14px 0;display:flex}._ctrqa_emptyRow{font-family:var(--dsl-g-font-mono)}._ctrqa_surface{cursor:grab;touch-action:pan-y}._ctrqa_plotTools{justify-content:space-between;align-items:center;gap:8px;margin:0 0 4px;display:flex}._ctrqa_plotHint{color:var(--dsw-alias-label-tertiary);font-variant-numeric:tabular-nums;font-size:12.5px}._ctrqa_plotReset{border:1px solid var(--dsw-alias-border-l2,#ffffff1f);color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border-radius:999px;padding:2px 9px;font-family:inherit;font-size:12.5px}._ctrqa_plotReset:hover{color:var(--dsw-alias-label-primary);border-color:var(--dsw-alias-state-business-primary,#4f8ef7)}._ctrqa_surface:active{cursor:grabbing}._ctrqa_sliders{gap:var(--dsl-g-gap-sm);flex-direction:column;display:flex}._ctrqa_sliderRow{align-items:center;gap:var(--dsl-g-gap-sm);font-size:var(--dsl-g-font-meta);display:flex}._ctrqa_sliderName{color:var(--dsw-alias-label-secondary);white-space:nowrap;text-overflow:ellipsis;min-width:90px;overflow:hidden}._ctrqa_slider{accent-color:var(--dsl-g-accent);cursor:pointer;flex:1;height:4px}._ctrqa_sliderValue{color:var(--dsw-alias-label-primary);font-family:var(--dsl-g-font-mono);text-align:right;min-width:34px}._ctrqa_animBar{align-items:center;gap:var(--dsl-g-gap-md);display:flex}._ctrqa_playBtn{background:var(--dsl-g-accent-soft);border:1px solid color-mix(in srgb, var(--dsl-g-accent) 30%, transparent);width:fit-content;color:var(--dsl-g-accent);border-radius:var(--dsl-g-radius-control);font-size:var(--dsl-g-font-title);cursor:pointer;padding:6px 14px;font-family:inherit;font-weight:600}._ctrqa_playBtn:hover{filter:brightness(1.1)}._ctrqa_animTrack{background:var(--dsw-alias-bg-layer-1);height:5px;box-shadow:inset 0 0 0 1px var(--dsl-g-border);border-radius:999px;flex:1;overflow:hidden}._ctrqa_animFill{background:var(--dsl-g-accent);border-radius:999px;height:100%}._ctrqa_resetBtn{border:1px solid var(--dsl-g-border);width:fit-content;color:var(--dsw-alias-label-secondary);border-radius:var(--dsl-g-radius-control);font-size:var(--dsl-g-font-title);cursor:pointer;background:0 0;padding:6px 14px;font-family:inherit}._ctrqa_resetBtn:hover{border-color:var(--dsl-g-accent);color:var(--dsl-g-accent)}._ctrqa_slidersHead{justify-content:space-between;align-items:center;display:flex}._ctrqa_slidersTitle{font-size:var(--dsl-g-font-meta);color:var(--dsw-alias-label-tertiary)}`,document.head.appendChild(e)}var Oc={animBar:`_ctrqa_animBar`,animFill:`_ctrqa_animFill`,animTrack:`_ctrqa_animTrack`,area:`_ctrqa_area`,axis:`_ctrqa_axis`,block:`_ctrqa_block`,empty:`_ctrqa_empty`,emptyRow:`_ctrqa_emptyRow`,gridLine:`_ctrqa_gridLine`,legend:`_ctrqa_legend`,legendItem:`_ctrqa_legendItem`,legendSwatch:`_ctrqa_legendSwatch`,line:`_ctrqa_line`,playBtn:`_ctrqa_playBtn`,plotHint:`_ctrqa_plotHint`,plotReset:`_ctrqa_plotReset`,plotTools:`_ctrqa_plotTools`,resetBtn:`_ctrqa_resetBtn`,scatterDot:`_ctrqa_scatterDot`,slider:`_ctrqa_slider`,sliderName:`_ctrqa_sliderName`,sliderRow:`_ctrqa_sliderRow`,sliderValue:`_ctrqa_sliderValue`,sliders:`_ctrqa_sliders`,slidersHead:`_ctrqa_slidersHead`,slidersTitle:`_ctrqa_slidersTitle`,surface:`_ctrqa_surface`,tick:`_ctrqa_tick`,title:`_ctrqa_title`};let kc=[`var(--dsw-static-deepseek-400)`,`var(--dsw-static-green-400)`,`var(--dsw-static-amber-400)`,`var(--dsw-static-red-400)`,`var(--dsw-static-blue-450)`,`var(--dsw-static-deepseek-450)`,`var(--dsw-static-neutral-bluish-400)`,`var(--dsw-static-deepseek-300)`],Ac=(e,t,n)=>n??(t>1?kc[e%kc.length]:void 0);function jc(e){let t=1/0,n=-1/0;for(let[,r]of e)r<t&&(t=r),r>n&&(n=r);if(!Number.isFinite(t)||!Number.isFinite(n))return[-1,1];t===n&&(--t,n+=1);let r=(n-t)*.08;return[t-r,n+r]}function Mc(e,t,n=5){let r=t-e;if(!Number.isFinite(r)||r<=0)return[];let i=10**Math.floor(Math.log10(r/n)),a=r/n/i,o=i*(a>=7.5?10:a>=3.5?5:a>=1.5?2:1),s=[];for(let n=Math.ceil(e/o)*o;n<=t+o*1e-9;n+=o)s.push(Math.round(n*1e9)/1e9);return s}function Nc(e){return Math.abs(e)>=1e5||Math.abs(e)<.001&&e!==0?e.toExponential(1):String(Math.round(e*100)/100)}function Pc({points:e,className:t,color:n}){let r=e.length>40?`${e.slice(0,16)}|${e.slice(-16)}`:e;return(0,g.jsx)(`polyline`,{points:e,className:t,style:n===void 0?void 0:{stroke:n}},r)}let Fc=(0,m.memo)(function({series:e,xMin:t=-5,xMax:n=5,yMin:r,yMax:i,title:a}){let[o,s]=(0,m.useState)(()=>{let a={};for(let[t,n]of e.entries())for(let e of n.params??[])e!=null&&(a[`${t}:${e.name}`]=e.value);let[o,s]=jc(e.map((e,r)=>{let i={};for(let t of e.params??[])t!=null&&(i[t.name]=a[`${r}:${t.name}`]??t.value);return Ec(e.expr,t,n,240,i)}).flatMap(e=>e));return{xMin:t,xMax:n,yMin:r??o,yMax:i??s}}),c=(0,m.useRef)(null),[l,u]=(0,m.useState)(()=>({})),d=(()=>{for(let[t,n]of e.entries())for(let e of n.params??[])if(e!=null&&e.animateTo!==void 0)return{si:t,param:e};return null})(),[f,p]=(0,m.useState)(!1),[h,_]=(0,m.useState)(0),v=(0,m.useRef)(null);(0,m.useEffect)(()=>{if(!f||d===null)return;let e=`${d.si}:${d.param.name}`,t=l[e]??d.param.value,n=d.param.animateTo,r=Math.max(0,d.param.durationMs??4e3),i=performance.now(),a=o=>{let s=r===0?1:Math.min(1,Math.max(0,(o-i)/r)),c=1-(1-s)**3,l=t+(n-t)*c;u(t=>({...t,[e]:l})),_(s),s<1?v.current=requestAnimationFrame(a):d.param.loop===!0?(t=d.param.value,i=o,u(n=>({...n,[e]:t})),_(0),v.current=requestAnimationFrame(a)):(v.current=null,p(!1))};return v.current=requestAnimationFrame(a),()=>{v.current!==null&&cancelAnimationFrame(v.current),v.current=null}},[f,d?.si,d?.param.name,d?.param.value,d?.param.animateTo,d?.param.durationMs,d?.param.loop]);let y=o.xMin,b=o.xMax,x=o.yMin,S=o.yMax,C=e=>y+(e-34)/436*(b-y),w=e=>34+(e-y)/(b-y)*436,T=e=>14+(1-(e-x)/(S-x))*182,E=e.map((e,t)=>{let n={};for(let r of e.params??[])r!=null&&(n[r.name]=l[`${t}:${r.name}`]??r.value);return{series:e,points:Ec(e.expr,y,b,240,n).map(([e,t])=>`${w(e).toFixed(2)},${T(t).toFixed(2)}`).join(` `)}}),ee=Mc(y,b),te=Mc(x,S),ne=E.some(e=>e.points.length>1),D=Number.isFinite(y)&&Number.isFinite(b)&&b>y&&Number.isFinite(S)&&Number.isFinite(x)&&S>x,re=(e,t,n)=>{let r=Ac(t,E.length,e.color)??`var(--dsw-alias-state-business-primary, #4f8ef7)`,i=e.kind??`line`;if(i===`scatter`){let e=n===``?[]:n.split(` `).map(e=>{let[t,n]=e.split(`,`);return[Number(t),Number(n)]});return(0,g.jsx)(`g`,{children:e.map(([e,t],n)=>(0,g.jsx)(`circle`,{cx:e,cy:t,r:2.6,className:Oc.scatterDot,style:{fill:r}},n))},t)}if(i===`area`){if(n===``)return(0,g.jsx)(Pc,{points:``,className:Oc.line,color:r},t);let e=n.slice(0,n.indexOf(` `)).split(`,`)[0],i=n.slice(n.lastIndexOf(` `)+1).split(`,`)[0],a=T(x),o=`${e},${a.toFixed(2)} ${n} ${i},${a.toFixed(2)}`;return(0,g.jsx)(`polygon`,{points:o,className:Oc.area,style:{fill:r}},t)}return(0,g.jsx)(Pc,{points:n,className:Oc.line,color:r},t)},ie=e=>{c.current={startX:e.clientX,startY:e.clientY,xMin:y,xMax:b},e.target.setPointerCapture?.(e.pointerId)},ae=e=>{let t=c.current;if(t===null||Math.abs(e.clientX-t.startX)<4)return;let n=t.xMax-t.xMin,r=(t.startX-e.clientX)/436*n;s(e=>({xMin:t.xMin+r,xMax:t.xMax+r,yMin:e.yMin,yMax:e.yMax}))},oe=()=>{c.current=null},se=(0,m.useRef)(null);(0,m.useEffect)(()=>{let e=se.current;if(e===null)return;let t=t=>{if(!t.metaKey&&!t.ctrlKey)return;t.preventDefault();let n=b-y,r=n*(t.deltaY>0?1.15:1/1.15),i=e.getBoundingClientRect(),a=C((t.clientX-i.left)/i.width*480),o=a-(a-y)/n*r;s(e=>({xMin:o,xMax:o+r,yMin:e.yMin,yMax:e.yMax}))};return e.addEventListener(`wheel`,t,{passive:!1}),()=>e.removeEventListener(`wheel`,t)},[y,b,C]);let ce=e.some(e=>(e.params?.length??0)>0),le=(0,m.useRef)({min:t,max:n}),ue=Math.abs(y-le.current.min)>1e-6||Math.abs(b-le.current.max)>1e-6;return(0,g.jsxs)(`div`,{className:Oc.block,"data-genui-plot":!0,children:[a!==void 0&&(0,g.jsx)(`div`,{className:Oc.title,children:J(a)}),ne&&D&&(0,g.jsxs)(`div`,{className:Oc.plotTools,children:[(0,g.jsx)(`span`,{className:Oc.plotHint,children:ue?`x ∈ [${Nc(y)}, ${Nc(b)}]`:`⌘/Ctrl + 滚轮缩放 · 拖拽平移`}),ue&&(0,g.jsx)(`button`,{type:`button`,className:Oc.plotReset,onClick:()=>{s(e=>({...e,xMin:le.current.min,xMax:le.current.max}))},children:`↺ 回到初始区间`})]}),ne&&D?(0,g.jsxs)(`svg`,{width:`100%`,viewBox:`0 0 480 220`,role:`img`,"aria-label":a??`function plot`,className:Oc.surface,ref:se,onPointerDown:ie,onPointerMove:ae,onPointerUp:oe,onPointerLeave:oe,children:[te.map(e=>(0,g.jsxs)(`g`,{children:[(0,g.jsx)(`line`,{x1:34,x2:470,y1:T(e),y2:T(e),className:Oc.gridLine}),(0,g.jsx)(`text`,{x:28,y:T(e)+4,className:Oc.tick,textAnchor:`end`,children:Nc(e)})]},`y${e}`)),ee.map(e=>(0,g.jsxs)(`g`,{children:[(0,g.jsx)(`line`,{x1:w(e),x2:w(e),y1:14,y2:196,className:Oc.gridLine}),(0,g.jsx)(`text`,{x:w(e),y:210,className:Oc.tick,textAnchor:`middle`,children:Nc(e)})]},`x${e}`)),(0,g.jsx)(`line`,{x1:34,x2:470,y1:196,y2:196,className:Oc.axis}),(0,g.jsx)(`line`,{x1:34,x2:34,y1:14,y2:196,className:Oc.axis}),E.map(({series:e,points:t},n)=>re(e,n,t))]}):(0,g.jsx)(`div`,{className:Oc.empty,children:e.map((e,t)=>(0,g.jsxs)(`div`,{className:Oc.emptyRow,children:[e.expr,` — 无法绘制(表达式无效或范围非法)`]},t))}),ce&&(0,g.jsxs)(`div`,{className:Oc.sliders,children:[(0,g.jsxs)(`div`,{className:Oc.slidersHead,children:[(0,g.jsx)(`span`,{className:Oc.slidersTitle,children:`参数调节`}),(0,g.jsx)(`button`,{type:`button`,className:Oc.resetBtn,onClick:()=>{p(!1);let t={};for(let[n,r]of e.entries())for(let e of r.params??[])e!=null&&(t[`${n}:${e.name}`]=e.value);u(t),_(0)},children:`↺ 重置`})]}),e.map((e,t)=>(e.params??[]).map(n=>{if(n==null)return null;let r=`${t}:${n.name}`,i=l[r]??n.value;return(0,g.jsxs)(`label`,{className:Oc.sliderRow,children:[(0,g.jsxs)(`span`,{className:Oc.sliderName,children:[e.label??e.expr,` · `,n.name]}),(0,g.jsx)(`input`,{type:`range`,className:Oc.slider,min:n.min??0,max:n.max??10,step:n.step??.1,value:i,onChange:e=>{let t=Number(e.currentTarget.value);u(e=>({...e,[r]:t}))}}),(0,g.jsx)(`span`,{className:Oc.sliderValue,children:Math.round(i*100)/100})]},r)}))]}),d!==null&&(0,g.jsxs)(`div`,{className:Oc.animBar,children:[(0,g.jsx)(`button`,{type:`button`,className:Oc.playBtn,onClick:()=>{f?p(!1):(u(e=>({...e,[`${d.si}:${d.param.name}`]:d.param.value})),_(0),p(!0))},children:f?`⏸ 暂停`:`▶ 播放动画`}),f&&(0,g.jsx)(`div`,{className:Oc.animTrack,children:(0,g.jsx)(`div`,{className:Oc.animFill,style:{width:`${h*100}%`}})})]}),(e.length>1||ce)&&(0,g.jsx)(`div`,{className:Oc.legend,children:e.map((t,n)=>(0,g.jsxs)(`span`,{className:Oc.legendItem,children:[(0,g.jsx)(`span`,{className:Oc.legendSwatch,style:{background:Ac(n,e.length,t.color)??`var(--dsw-alias-state-business-primary, #4f8ef7)`}}),t.label??t.expr]},n))})]})});function Ic(e){let t=e.replace(/-(\w)/g,(e,t)=>t.toUpperCase());return window.__GenuiAssets__?.[t]}function Lc(e){if(Vc!==void 0)return new URL(e,Vc).href;let t=window.__DSH_BOOT__?.entries?.find(e=>e.id===zc)?.rev;return`${Bc}/${e}${t===void 0?``:`?rev=${t}`}`}function Rc(e){let t=Ic(e);if(t!==void 0)return Promise.resolve(t);let n=`${e}.js`,r=Hc.get(n);if(r!==void 0)return r;let i=new Promise((t,r)=>{let i=document.createElement(`script`);i.src=Lc(n),i.async=!0,i.onload=()=>{let i=(window.__GenuiAssets__??{})[e.replace(/-(\w)/g,(e,t)=>t.toUpperCase())];if(i===void 0){r(Error(`genui asset '${n}' loaded but registered no '${e}' engine`));return}t(i)},i.onerror=()=>{r(Error(`genui asset '${n}' failed to load (host asset route missing?)`))},document.head.appendChild(i)});return Hc.set(n,i),i}var zc,Bc,Vc,Hc,Uc=l((()=>{zc=`@changfenhuang/dsh-genui`,Bc=`/plugins/${zc}/assets`,Hc=new Map}));function Wc(e){if(qc.test(e))throw Error(`mermaid output failed the sanitization check; refusing to render`)}function Gc(e){let t=/^([A-Za-z]+)/.exec(e.trim())?.[1]??``;if(t!==`graph`&&t!==`flowchart`)return e;let n=e.replace(/`/g,``).replace(/<br\s*\/?>/gi,` `),r=/(--|==|-\.)(?!>)[ \t]*([^-\n]|-(?!--))*?[ \t]*(-->|==>|\.->)/g,i=[],a=n.replace(r,e=>(i.push(e),`\uE000${i.length-1}\uE001`)),o=/\|([^|\n]*[\[\]][^|\n]*)\|/g,s=[];return a.replace(o,(e,t)=>{let n=t.trim();return n.includes(`"`)?e:(s.push(n),`\uE002${s.length-1}\uE003`)}).replace(/([\[\(])([^\[\]\(\)\{\}"'\n]*)([\]\)])/g,(e,t,n,r)=>{let i=n.trim();return i===``?e:/[\u4e00-\u9fff\u3040-\u30ff\uac00-\ud7af]/.test(i)||/\s/.test(i)?`${t}"${i}"${r}`:e}).replace(/\uE000(\d+)\uE001/g,(e,t)=>i[Number(t)]??e).replace(/\uE002(\d+)\uE003/g,(e,t)=>{let n=s[Number(t)];return n===void 0?e:`|"${n}"|`})}function Kc(e){let t=e.trim(),n=/^([A-Za-z]+)/.exec(t)?.[1]??``;return n===`graph`||n===`flowchart`||!Jc.test(t)?e:`graph TD\n${t}`}var qc,Jc,Yc=l((()=>{qc=/<script|[\s"']on[a-z]+\s*=|javascript:/i,Jc=/-->(?!>)|==>|-\.->/})),Xc=u({assertSafeSvg:()=>Wc,ensureFlowchartKind:()=>Kc,renderMermaid:()=>Zc,repairMermaidSource:()=>Gc});async function Zc(e){return(await Rc(`mermaid`)).renderMermaid(e)}var Qc=l((()=>{Uc(),Yc()})),$c=u({mountScene:()=>el});async function el(e,t){return(await Rc(`three`)).mountScene(e,t)}var tl=l((()=>{Uc()}));let nl={info:w.calloutInfo,success:w.calloutSuccess,warning:w.calloutWarning,error:w.calloutError},rl=(0,m.memo)(function({node:e}){let t=e.tone??`info`,n=nl[t]??w.calloutInfo;return(0,g.jsxs)(`div`,{className:`${w.callout} ${n}`,"data-genui-callout":!0,children:[e.title!==void 0&&(0,g.jsx)(`div`,{className:w.calloutTitle,children:J(e.title)}),(0,g.jsx)(`div`,{className:w.calloutBody,children:J(e.content)})]})}),il=(0,m.memo)(function({steps:e}){let t=e.steps.slice(0,X.maxSteps),n=e.current??t.length;return(0,g.jsx)(`ol`,{className:w.steps,children:t.map((e,t)=>{let r=t<n,i=t===n;return(0,g.jsxs)(`li`,{className:`${w.step} ${r?w.stepDone:``} ${i?w.stepActive:``}`,children:[(0,g.jsx)(`span`,{className:w.stepMarker,children:r?`✓`:String(t+1)}),(0,g.jsxs)(`span`,{className:w.stepContent,children:[(0,g.jsx)(`span`,{className:w.stepTitle,children:J(e.title)}),e.desc!==void 0&&(0,g.jsx)(`span`,{className:w.stepDesc,children:J(e.desc)})]})]},t)})})}),al=(0,m.memo)(function({node:e}){let t=e.pairs.slice(0,X.maxKeyValuePairs);return(0,g.jsx)(`dl`,{className:w.keyvalue,children:t.map((e,t)=>(0,g.jsxs)(`div`,{className:w.kvRow,children:[(0,g.jsx)(`dt`,{className:w.kvKey,children:J(e.key)}),(0,g.jsx)(`dd`,{className:w.kvValue,children:J(e.value)})]},t))})}),ol=(0,m.memo)(function({plot:e}){let t=(0,m.useMemo)(()=>e.series.slice(0,X.maxPlotSeries).map(e=>({expr:e.expr,label:e.label,color:e.color,kind:e.kind,params:e.params})),[e]);return(0,g.jsx)(Fc,{series:t,xMin:e.xMin,xMax:e.xMax,yMin:e.yMin,yMax:e.yMax,title:e.title})}),sl=(0,m.memo)(function({node:e}){return Po(),(0,g.jsx)(p.DiffBlock,{diffs:e.diffs,labels:Ho()})}),cl=(0,m.memo)(function({node:e}){Po();let t=e.value;return typeof t!=`object`||!t?(0,g.jsx)(`div`,{className:w.jsonScalar,children:String(t)}):(0,g.jsx)(p.JsonTree,{data:t,label:`JSON`,labels:Wo(),copyable:!0})}),ll=(0,m.memo)(function({node:e}){return Po(),(0,g.jsx)(p.CodeBlock,{...Uo(),code:e.code.slice(0,X.maxCode),lang:e.lang})});function ul({tabs:e,onAction:t,depth:n=0,answers:r}){let[i,a]=(0,m.useState)(0),o=(0,m.useId)(),s=e.tabs.slice(0,X.maxTabs),c=s.length===0?0:Math.min(i,s.length-1),l=s[c];(0,m.useEffect)(()=>{c!==i&&a(c)},[i,c]);let u=e=>{if(s.length===0)return;let t=(e+s.length)%s.length;a(t),document.getElementById(`${o}-tab-${t}`)?.focus()};return(0,g.jsxs)(`div`,{className:w.tabs,children:[(0,g.jsx)(`div`,{className:w.tabBar,role:`tablist`,"aria-orientation":`horizontal`,onKeyDown:e=>{e.key===`ArrowRight`?(e.preventDefault(),u(c+1)):e.key===`ArrowLeft`?(e.preventDefault(),u(c-1)):e.key===`Home`?(e.preventDefault(),u(0)):e.key===`End`&&(e.preventDefault(),u(s.length-1))},children:s.map((e,t)=>(0,g.jsx)(`button`,{id:`${o}-tab-${t}`,type:`button`,role:`tab`,"aria-selected":t===c,"aria-controls":`${o}-panel-${t}`,tabIndex:t===c?0:-1,className:`${w.tab} ${t===c?w.tabActive:``}`,onClick:()=>a(t),children:J(e.label,!1)},t))}),l!==void 0&&(0,g.jsx)(`div`,{className:w.col,role:`tabpanel`,id:`${o}-panel-${c}`,"aria-labelledby":`${o}-tab-${c}`,children:l.items.map((e,i)=>bu(e,i,t,n+1,r))})]})}function dl({node:e,onAction:t,depth:n=0,answers:r}){let[i,a]=(0,m.useState)(0),o=(0,m.useId)(),s=e.items.slice(0,X.maxAccordionItems);return(0,g.jsx)(`div`,{className:w.accordion,children:s.map((e,s)=>(0,g.jsxs)(`div`,{className:w.accItem,children:[(0,g.jsxs)(`button`,{type:`button`,className:w.accHead,id:`${o}-head-${s}`,"aria-expanded":i===s,"aria-controls":`${o}-body-${s}`,onClick:()=>a(i===s?null:s),children:[(0,g.jsx)(`span`,{className:w.accTitle,children:J(e.title,!1)}),(0,g.jsx)(`span`,{className:w.accChevron,"data-open":i===s,"aria-hidden":!0,children:`▸`})]}),i===s&&(0,g.jsx)(`div`,{className:w.accBody,id:`${o}-body-${s}`,"aria-labelledby":`${o}-head-${s}`,children:e.items.map((e,i)=>bu(e,i,t,n+1,r))})]},s))})}async function fl(e){let t=typeof navigator.clipboard?.writeText==`function`,n=await(0,p.writeClipboard)(e);if(n||!t)return n;let r=typeof document.execCommand==`function`?document.execCommand.bind(document):void 0;if(r===void 0)return!1;let i=document.createElement(`textarea`);i.value=e,i.setAttribute(`readonly`,``),i.style.position=`fixed`,i.style.left=`-9999px`,document.body.appendChild(i),i.select();try{return r(`copy`)}catch{return!1}finally{i.remove()}}let pl=(0,m.memo)(function({node:e}){let t=Po(),[n,r]=(0,m.useState)(!1);return(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(`button`,{type:`button`,className:`${w.copyChip} ${n?w.copyChipDone:``}`,onClick:()=>{fl(e.text).then(e=>{e&&(r(!0),setTimeout(()=>r(!1),1500))})},children:n?t(`label.copiedShort`):J(e.label??t(`label.copy`),!1)}),(0,g.jsx)(`span`,{className:w.visuallyHidden,role:`status`,children:n?t(`label.copiedToClipboard`):``})]})}),ml=(0,m.memo)(function({node:e}){let t=Po(),[n,r]=(0,m.useState)({status:`loading`}),i=e.code.slice(0,X.maxMermaid);return(0,m.useEffect)(()=>{let e=!0;return r({status:`loading`}),(async()=>{try{let t=await(await Promise.resolve().then(()=>(Qc(),Xc))).renderMermaid(i);e&&r({status:`ready`,html:t})}catch{e&&r({status:`error`})}})(),()=>{e=!1}},[i]),n.status===`error`?(0,g.jsxs)(`div`,{className:w.mermaidFallback,children:[(0,g.jsx)(`pre`,{children:i}),(0,g.jsx)(`div`,{className:w.mermaidErr,children:t(`block.mermaidError`)})]}):n.status===`loading`?(0,g.jsxs)(`div`,{className:w.mermaidFallback,children:[(0,g.jsx)(`pre`,{children:i}),(0,g.jsx)(`div`,{className:w.mermaidHint,children:t(`block.mermaidLoading`)})]}):(0,g.jsx)(`div`,{className:w.mermaid,dangerouslySetInnerHTML:{__html:n.html},"data-genui-mermaid":!0})}),hl=(0,m.memo)(function({node:e}){let t=Po(),[n,r]=(0,m.useState)(`loading`),i=(0,m.useRef)(null),a=e.meshes.length>X.maxMeshes?{...e,meshes:e.meshes.slice(0,X.maxMeshes)}:e;return(0,m.useEffect)(()=>{let e=!0,t;return Promise.resolve().then(()=>(tl(),$c)).then(async n=>{if(!(!e||i.current===null))try{t=await n.mountScene(i.current,a),e&&r(`ready`)}catch{e&&r(`error`)}}),()=>{e=!1,t?.()}},[a]),(0,g.jsxs)(`div`,{className:w.scene3dWrap,"data-genui-scene3d":!0,children:[e.title!==void 0&&(0,g.jsx)(`div`,{className:w.scene3dTitle,children:J(e.title)}),(0,g.jsx)(`div`,{ref:i,className:w.scene3dCanvas}),n===`loading`&&(0,g.jsx)(`div`,{className:w.scene3dHint,children:t(`block.scene3dLoading`)}),n===`error`&&(0,g.jsx)(`div`,{className:w.scene3dHint,children:t(`block.scene3dError`)})]})}),gl=(0,m.memo)(function({node:e}){let t=e.items.slice(0,X.maxTimelineItems);return(0,g.jsx)(`div`,{className:w.timeline,children:t.map((e,n)=>(0,g.jsxs)(`div`,{className:w.tlItem,children:[(0,g.jsxs)(`div`,{className:w.tlRail,children:[(0,g.jsx)(`span`,{className:w.tlDot}),n<t.length-1&&(0,g.jsx)(`span`,{className:w.tlLine})]}),(0,g.jsxs)(`div`,{className:w.tlBody,children:[(0,g.jsxs)(`div`,{className:w.tlHead,children:[(0,g.jsx)(`span`,{className:w.tlTitle,children:J(e.title,!1)}),e.time!==void 0&&(0,g.jsx)(`span`,{className:w.tlTime,children:J(e.time)})]}),e.desc!==void 0&&(0,g.jsx)(`div`,{className:w.tlDesc,children:J(e.desc)})]})]},n))})});function _l(){return(0,g.jsx)(`svg`,{width:`14`,height:`14`,viewBox:`0 0 16 16`,"aria-hidden":`true`,focusable:`false`,children:(0,g.jsx)(`path`,{d:`M1.6 3.4h4.1l1.3 1.7h7.4v7.2a1 1 0 0 1-1 1H2.6a1 1 0 0 1-1-1z`,fill:`currentColor`,opacity:`0.85`})})}function vl(){return(0,g.jsxs)(`svg`,{width:`14`,height:`14`,viewBox:`0 0 16 16`,"aria-hidden":`true`,focusable:`false`,children:[(0,g.jsx)(`path`,{d:`M3.8 1.6h4.9L13 5.9v8.5a1 1 0 0 1-1 1H4.8a1 1 0 0 1-1-1z`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.2`}),(0,g.jsx)(`path`,{d:`M8.7 1.7v4.3h4.2`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.2`})]})}let yl=(0,m.memo)(function({node:e}){let[t,n]=(0,m.useState)(new Set),r=e=>{n(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},i=(e,n,a)=>{if(n>X.maxTreeDepth)return null;let o=e.type===`dir`||e.children!==void 0&&e.children.length>0,s=o&&t.has(a);return(0,g.jsxs)(`div`,{children:[(0,g.jsxs)(`div`,{className:w.ftRow,style:{paddingLeft:`${n*14+4}px`},children:[Array.from({length:n},(e,t)=>(0,g.jsx)(`span`,{className:w.ftGuide,style:{left:`${4+t*14+6}px`},"aria-hidden":!0},t)),(0,g.jsxs)(`button`,{type:`button`,className:w.ftNameBtn,"aria-expanded":o?!s:void 0,onClick:o?()=>r(a):void 0,children:[(0,g.jsx)(`span`,{className:w.ftChevron,"data-open":o?String(!s):void 0,"aria-hidden":!0,children:o?`▸`:``}),(0,g.jsx)(`span`,{className:`${w.ftGlyph} ${o?w.ftGlyphDir:``}`,"aria-hidden":!0,children:o?(0,g.jsx)(_l,{}):(0,g.jsx)(vl,{})}),(0,g.jsx)(`span`,{className:`${w.ftName} ${o?w.ftDir:``}`,children:e.name})]})]}),o&&!s&&(0,g.jsx)(`div`,{className:w.ftChildren,children:(e.children??[]).map((e,t)=>i(e,n+1,`${a}/${t}`))})]},a)};return(0,g.jsx)(`div`,{className:w.fileTree,children:e.items.slice(0,X.maxListItems).map((e,t)=>i(e,0,String(t)))})}),bl=(0,m.memo)(function({node:e,onAction:t}){let n=Po(),[r,i]=(0,m.useState)(null),[a,o]=(0,m.useState)(e.id);e.id!==a&&(o(e.id),i(null));let s=e.options.slice(0,X.maxQuizOptions),c=r!==null,l=r===null?void 0:s[r],u=l?.correct===!0,d=e.action;return(0,g.jsxs)(`div`,{className:w.quiz,"data-genui-quiz":!0,children:[(0,g.jsx)(`div`,{className:w.quizQuestion,children:J(e.question)}),(0,g.jsx)(`div`,{className:w.quizOptions,children:s.map((n,a)=>{let o=r===a,s=c?o?n.correct===!0?w.quizOptCorrect:w.quizOptWrong:n.correct===!0?w.quizOptReveal:w.quizOpt:w.quizOpt;return(0,g.jsxs)(`button`,{type:`button`,className:s,disabled:c,onClick:()=>{i(a),d!==void 0&&t!==void 0&&t(d,{type:`quiz`,question:e.question,answer:n.label,correct:n.correct===!0})},children:[(0,g.jsx)(`span`,{className:w.quizMarker,children:c?n.correct===!0?`✓`:o?`✗`:``:o?`●`:`○`}),J(n.label,!1)]},a)})}),c&&(0,g.jsxs)(`div`,{className:w.quizResult,"aria-live":`polite`,children:[(0,g.jsxs)(`div`,{className:u?w.quizCorrectMsg:w.quizWrongMsg,children:[n(u?`block.quizCorrect`:`block.quizWrong`),l?.feedback!==void 0&&(0,g.jsx)(`div`,{className:w.quizFeedback,children:J(l.feedback)})]}),e.explanation!==void 0&&(0,g.jsx)(`div`,{className:w.quizExplanation,children:J(e.explanation)}),(0,g.jsx)(`button`,{type:`button`,className:w.quizRetry,onClick:()=>i(null),children:n(`block.quizRetry`)})]})]})}),xl=(0,m.memo)(function({node:e}){let t=e.items.slice(0,X.maxBreadcrumbItems);return(0,g.jsx)(`nav`,{className:w.breadcrumb,"aria-label":`breadcrumb`,children:t.map((e,n)=>(0,g.jsxs)(`span`,{className:w.bcItem,children:[(0,g.jsx)(`span`,{className:`${w.bcText} ${n===t.length-1?w.bcCurrent:``}`,children:J(e)}),n<t.length-1&&(0,g.jsx)(`span`,{className:w.bcSep,children:`/`})]},n))})}),Sl=[`architecture`,`it-state`,`high-level`,`process`,`medallion`,`data-flow`,`dp-integration`];function Cl(e){return Sl.includes(e)}function wl(e,t){let n=e%t,r=Math.floor(e/t);return{x:40+n*160,y:40+r*96,w:128,h:64}}function Tl(e){return e.map((e,t)=>({node:e,box:{x:40,y:40+t*96,w:128,h:64}}))}function El(e){return e.map((e,t)=>({node:e,box:{x:40+t*160,y:40,w:128,h:64}}))}function Dl(e,t=3){return e.map((e,n)=>{let r=Math.floor(n/t);return{node:e,box:{x:40+n%t*160,y:40+r*96,w:128,h:64}}})}function Ol(e,t){let n=new Map(e.map(e=>[e.id,e])),r=new Map,i=[];for(let a of e){let e=t(a.id);if(e===void 0||!n.has(e))i.push(a.id);else{let t=r.get(e)??[];t.push(a.id),r.set(e,t)}}let a=new Map,o=new Map,s=(e,t)=>{let n=o.get(e)??0,i=r.get(e)??[],c=t;if(i.length===0)return a.set(e,{x:t,y:40+n*112,w:128,h:64}),t+128;for(let e of i)c=s(e,c);let l=a.get(i[0]),u=a.get(i[i.length-1]),d=(l.x+u.x+u.w)/2-64;return a.set(e,{x:Math.max(t,d),y:40+n*112,w:128,h:64}),c},c=40;for(let e of i)c=s(e,c)+32;return e.map(e=>({node:e,box:a.get(e.id)??{x:40,y:40,w:128,h:64}}))}function kl(e,t){let n=e.nodes,r=e.edges??[],i;i=Cl(e.kind)?n.map((e,t)=>({node:e,box:{x:e.x??40+t%3*160,y:e.y??40+Math.floor(t/3)*96,w:e.w??128,h:e.h??64}})):e.kind===`tree`||e.kind===`org-chart`||e.kind===`nested`?Ol(n,t??(()=>void 0)):e.kind===`layers`||e.kind===`pyramid`||e.kind===`gantt`?Dl(n):e.kind===`flowchart`||e.kind===`process`||e.kind===`sequence`?Tl(n):e.kind===`timeline`||e.kind===`line`||e.kind===`scatter`||e.kind===`bar`?El(n):n.map((e,t)=>({node:e,box:wl(t,3)}));let a=0,o=0;for(let e of i)a=Math.max(a,e.box.x+e.box.w),o=Math.max(o,e.box.y+e.box.h);a=Math.max(320,Math.ceil((a+40)/4)*4),o=Math.max(96,Math.ceil((o+40)/4)*4);let s=r.map(e=>({edge:e,fromId:e.from,toId:e.to}));return{nodes:i,edges:s,width:a,height:o}}function Al(e){return{x:e.x+e.w/2,y:e.y+e.h/2}}function jl(e,t,n){if(n===`left`)return{x:e.x,y:e.y+e.h/2,port:`left`};if(n===`right`)return{x:e.x+e.w,y:e.y+e.h/2,port:`right`};if(n===`top`)return{x:e.x+e.w/2,y:e.y,port:`top`};if(n===`bottom`)return{x:e.x+e.w/2,y:e.y+e.h,port:`bottom`};let r=Al(e),i=Al(t),a=i.x-r.x,o=i.y-r.y;return Math.abs(a)>=Math.abs(o)?a>=0?{x:e.x+e.w,y:e.y+e.h/2,port:`right`}:{x:e.x,y:e.y+e.h/2,port:`left`}:o>=0?{x:e.x+e.w/2,y:e.y+e.h,port:`bottom`}:{x:e.x+e.w/2,y:e.y,port:`top`}}function Ml(e,t){if(e.x===t.x||e.y===t.y)return`M ${e.x} ${e.y} L ${t.x} ${t.y}`;let n=e.port===`left`||e.port===`right`,r=t.port===`left`||t.port===`right`;if(n&&r){let n=(e.x+t.x)/2,r=e.port===`right`?1:-1;return`M ${e.x} ${e.y} H ${n-r*8} Q ${n} ${e.y} ${n} ${e.y+8} V ${t.y-8} Q ${n} ${t.y} ${n+8} ${t.y} H ${t.x}`}if(!n&&!r){let n=(e.y+t.y)/2,r=e.port===`bottom`?1:-1;return`M ${e.x} ${e.y} V ${n-r*8} Q ${e.x} ${n} ${e.x+8} ${n} H ${t.x-8} Q ${t.x} ${n} ${t.x} ${n+8} V ${t.y}`}if(n){let n=e.port===`right`?1:-1;return`M ${e.x} ${e.y} H ${e.x+n*8*2} Q ${e.x+n*8*2} ${e.y} ${e.x+n*8*2} ${t.y} V ${t.y} H ${t.x}`}let i=e.port===`bottom`?1:-1;return`M ${e.x} ${e.y} V ${e.y+i*8*2} Q ${e.x} ${e.y+i*8*2} ${t.x} ${e.y+i*8*2} H ${t.x} V ${t.y}`}function Nl(e,t,n){let r=jl(e,t,n?.fromPort),i=jl(t,e,n?.toPort);return{d:Ml(r,i),a:r,b:i}}function Pl(e,t){let n=(e.x+t.x)/2,r=(e.y+t.y)/2,i=Math.abs(e.x-t.x)<Math.abs(e.y-t.y);return i?{cx:n+(t.x>=e.x?1:-1)*16,cy:r,maskY:r-6,vertical:i}:{cx:n,cy:r,maskY:r-20,vertical:i}}let Fl={paper:`#f5f5f5`,paper2:`#ececec`,ink:`#2d3142`,muted:`#4f5d75`,soft:`#7a8399`,rule:`rgba(45,49,66,0.12)`,accent:`#eb6c36`,accentTint:`rgba(235,108,54,0.08)`,link:`#2e5aa8`},Il={paper:`#2d3142`,paper2:`#393e53`,ink:`#f5f5f5`,muted:`#bfc0c0`,soft:`#8e98ac`,rule:`rgba(245,245,245,0.12)`,accent:`#f08a59`,accentTint:`rgba(240,138,89,0.10)`,link:`#6a95d8`};function Ll(){let e=`var(--dsw-alias-state-business-primary, #4f8ef7)`;return{paper:`var(--dsw-alias-bg-layer-2, #ffffff)`,paper2:`var(--dsw-alias-bg-layer-3, #f5f5f5)`,ink:`var(--dsw-alias-label-primary, #2d3142)`,muted:`var(--dsw-alias-label-secondary, #4f5d75)`,soft:`var(--dsw-alias-label-tertiary, #7a8399)`,rule:`var(--dsw-alias-border-l2, rgba(45,49,66,0.12))`,accent:e,accentTint:`color-mix(in srgb, ${e} 10%, transparent)`,link:e}}function Rl(e,t){let n=e===void 0?Ll():e===`dark`?Il:Fl;return t===void 0?n:{paper:t.paper??n.paper,paper2:t[`paper-2`]??n.paper2,ink:t.ink??n.ink,muted:t.muted??n.muted,soft:t.soft??n.soft,rule:t.rule??n.rule,accent:t.accent??n.accent,accentTint:t[`accent-tint`]??n.accentTint,link:t.link??n.link}}function zl(e,t){switch(e){case`focal`:return{fill:t.accentTint,stroke:t.accent};case`store`:return{fill:Vl(t.ink,.05),stroke:t.muted};case`external`:return{fill:Vl(t.ink,.03),stroke:Vl(t.ink,.3)};case`input`:return{fill:Vl(t.muted,.1),stroke:t.soft};case`optional`:return{fill:Vl(t.ink,.02),stroke:Vl(t.ink,.2),dashed:!0};case`security`:return{fill:Vl(t.accent,.05),stroke:Vl(t.accent,.5),dashed:!0};default:return{fill:t.paper,stroke:t.ink}}}function Bl(e,t){switch(e){case`accent`:return t.accent;case`link`:return t.link;default:return t.muted}}function Vl(e,t){if(e.startsWith(`var(`))return`color-mix(in srgb, ${e} ${t*100}%, transparent)`;if(e.startsWith(`#`)){let n=e.slice(1),r=n.length===3?n.split(``).map(e=>e+e).join(``):n;return`rgba(${parseInt(r.slice(0,2),16)},${parseInt(r.slice(2,4),16)},${parseInt(r.slice(4,6),16)},${t})`}return e.replace(/rgba?\(([^)]*)\)/,(n,r)=>{let i=r.split(`,`).map(e=>e.trim());return i.length===3?`rgba(${i.join(`,`)},${t})`:i.length===4?`rgba(${i[0]},${i[1]},${i[2]},${t})`:e})}let Hl=`'Geist', -apple-system, 'Segoe UI', sans-serif`,Ul=`'Geist Mono', ui-monospace, 'SF Mono', monospace`,Wl=[{label:`Focal`,type:`focal`},{label:`Backend`,type:`backend`},{label:`Store`,type:`store`},{label:`External`,type:`external`},{label:`Optional`,type:`optional`},{label:`Security`,type:`security`}];function Gl(e){let t=new Map;for(let n of e)t.has(n.to)||t.set(n.to,n.from);return e=>t.get(e)}function Kl(e,t,n,r,i,a){let o=zl(r,a),s=e.x+e.w/2,c=e.y+(e.h-64)/2+28,l=e.y+(e.h-64)/2+44,u=Math.min(44,Math.max(24,(i??``).length*7+8));return(0,g.jsxs)(`g`,{children:[(0,g.jsx)(`rect`,{x:e.x,y:e.y,width:e.w,height:e.h,rx:6,fill:a.paper}),(0,g.jsx)(`rect`,{x:e.x,y:e.y,width:e.w,height:e.h,rx:6,fill:o.fill,stroke:o.stroke,strokeWidth:1,strokeDasharray:o.dashed===!0?`5,4`:void 0}),i!==void 0&&(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(`rect`,{x:e.x+8,y:e.y+6,width:u,height:12,rx:2,fill:`transparent`,stroke:Vl(o.stroke,.4),strokeWidth:.8}),(0,g.jsx)(`text`,{x:e.x+8+u/2,y:e.y+15,fill:Vl(o.stroke,.8),fontSize:7,fontFamily:Ul,textAnchor:`middle`,letterSpacing:.8,children:i})]}),(0,g.jsx)(`text`,{x:s,y:c,fill:a.ink,fontSize:12,fontWeight:600,fontFamily:Hl,textAnchor:`middle`,children:t}),n!==void 0&&(0,g.jsx)(`text`,{x:s,y:l,fill:a.soft,fontSize:9,fontFamily:Ul,textAnchor:`middle`,children:n})]})}function ql(e,t,n,r){let i=Nl(e.from,e.to),a=Bl(e.kind,n),o=e.kind===`dashed`,s=e.kind===`accent`?1.4:1.2,c=Pl(i.a,i.b);return(0,g.jsxs)(`g`,{children:[(0,g.jsx)(`path`,{d:i.d,fill:`none`,stroke:a,strokeWidth:s,strokeDasharray:o?`5,4`:void 0,markerEnd:`url(#${r})`}),e.label!==void 0&&(0,g.jsxs)(`g`,{children:[(0,g.jsx)(`rect`,{x:c.cx-(e.label.length*5+8)/2,y:c.maskY,width:e.label.length*5+8,height:12,rx:2,fill:n.paper}),(0,g.jsx)(`text`,{x:c.cx,y:c.maskY+9,fill:n.soft,fontSize:8,fontFamily:Ul,textAnchor:`middle`,letterSpacing:.5,children:e.label})]})]},t)}function Jl(e,t){return(0,g.jsxs)(`defs`,{children:[(0,g.jsx)(`marker`,{id:`${e}-arrow`,markerWidth:8,markerHeight:6,refX:7,refY:3,orient:`auto`,children:(0,g.jsx)(`polygon`,{points:`0 0, 8 3, 0 6`,fill:t.muted})}),(0,g.jsx)(`marker`,{id:`${e}-arrow-accent`,markerWidth:8,markerHeight:6,refX:7,refY:3,orient:`auto`,children:(0,g.jsx)(`polygon`,{points:`0 0, 8 3, 0 6`,fill:t.accent})}),(0,g.jsx)(`marker`,{id:`${e}-arrow-link`,markerWidth:8,markerHeight:6,refX:7,refY:3,orient:`auto`,children:(0,g.jsx)(`polygon`,{points:`0 0, 8 3, 0 6`,fill:t.link})})]})}function Yl(e,t){return(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(`defs`,{children:(0,g.jsx)(`pattern`,{id:`${e}-dots`,width:22,height:22,patternUnits:`userSpaceOnUse`,children:(0,g.jsx)(`circle`,{cx:1,cy:1,r:.9,fill:Vl(t.ink,.1)})})}),(0,g.jsx)(`rect`,{width:`100%`,height:`100%`,fill:t.paper}),(0,g.jsx)(`rect`,{width:`100%`,height:`100%`,fill:`url(#${e}-dots)`,opacity:.55})]})}function Xl(e,t){let n=e.label.length*7+12,r=e.x+e.w/2;return(0,g.jsxs)(`g`,{children:[(0,g.jsx)(`rect`,{x:e.x,y:e.y,width:e.w,height:e.h,rx:8,fill:Vl(t.ink,.02),stroke:Vl(t.ink,.1),strokeWidth:.8}),(0,g.jsx)(`rect`,{x:r-n/2,y:e.y+4,width:n,height:12,rx:2,fill:t.paper}),(0,g.jsx)(`text`,{x:r,y:e.y+13,fill:Vl(t.ink,.4),fontSize:7,fontFamily:Ul,textAnchor:`middle`,letterSpacing:1.2,children:e.label})]})}function Zl(e,t,n,r){return(0,g.jsxs)(`g`,{children:[(0,g.jsx)(`line`,{x1:40,y1:0,x2:Math.max(120,n-40),y2:0,stroke:Vl(e.ink,.1),strokeWidth:.8}),(0,g.jsx)(`text`,{x:40,y:16,fill:e.soft,fontSize:8,fontFamily:Ul,letterSpacing:1.6,children:`LEGEND`}),t.map((t,n)=>{let i=zl(t.type,e),a=40+n%r*150,o=32+Math.floor(n/r)*22;return(0,g.jsxs)(`g`,{children:[(0,g.jsx)(`rect`,{x:a,y:o,width:14,height:10,rx:2,fill:i.fill,stroke:i.stroke,strokeWidth:1,strokeDasharray:i.dashed===!0?`3,2`:void 0}),(0,g.jsx)(`text`,{x:a+20,y:o+9,fill:e.soft,fontSize:8.5,fontFamily:Hl,children:t.label})]},t.label)})]})}function Ql(e,t){return e===`accent`?`${t}-arrow-accent`:e===`link`?`${t}-arrow-link`:`${t}-arrow`}let $l=0;function eu(){return $l+=1,`genui-diagram-${$l}`}function tu({node:e}){let t=(0,m.useMemo)(eu,[]),n=(0,m.useMemo)(()=>Rl(e.variant,e.theme),[e.variant,e.theme]),r=(0,m.useMemo)(()=>kl(e,Gl(e.edges??[])),[e]),i=(0,m.useMemo)(()=>new Map(r.nodes.map(e=>[e.node.id,e.box])),[r]),a=`${t}-title`,o=`${t}-caption`,s=`${t}-desc`,c=r.nodes.slice(0,X.maxDiagramNodes),l=r.edges.slice(0,X.maxDiagramEdges),u=(e.zones??[]).slice(0,X.maxDiagramZones),d=0,f=X.maxDiagramFocal,p=r.height,h=Wl.filter(e=>e.type!==void 0&&c.some(t=>(t.node.type??`backend`)===e.type)),_=Math.max(1,Math.floor((r.width-40)/150)),v=p+(24+Math.max(1,Math.ceil(h.length/_))*22)+12;return(0,g.jsxs)(`figure`,{className:`genui-diagram`,"data-genui-diagram":!0,children:[e.title!==void 0&&(0,g.jsx)(`figcaption`,{id:o,style:{fontFamily:`Instrument Serif, 'Times New Roman', serif`,fontSize:20,marginBottom:8,color:n.ink},children:J(e.title)}),(0,g.jsxs)(`svg`,{role:`img`,"aria-labelledby":a,"aria-describedby":s,viewBox:`0 0 ${r.width} ${v}`,style:{maxWidth:`100%`,height:`auto`,background:n.paper},children:[(0,g.jsx)(`title`,{id:a,children:e.title??e.kind}),(0,g.jsx)(`desc`,{id:s,children:`${e.kind} diagram with ${c.length} nodes and ${l.length} connectors`}),Jl(t,n),Yl(t,n),(0,g.jsx)(`g`,{children:u.map((e,t)=>(0,g.jsx)(`g`,{children:Xl({label:e.label,x:e.x??0,y:e.y??0,w:e.w??100,h:e.h??100},n)},`zone-${t}`))}),(0,g.jsx)(`g`,{children:l.map((e,r)=>{let a=i.get(e.fromId),o=i.get(e.toId);return a===void 0||o===void 0?null:ql({from:a,to:o,label:e.edge.label,kind:e.edge.kind},r,n,Ql(e.edge.kind,t))})}),(0,g.jsx)(`g`,{children:c.map(e=>{let t=e.node.type===`focal`&&d>=f?void 0:e.node.type;return e.node.type===`focal`&&(d+=1),(0,g.jsx)(`g`,{children:Kl(e.box,e.node.label,e.node.sub,t,e.node.tag,n)},e.node.id)})}),(0,g.jsx)(`g`,{transform:`translate(0, ${p+8})`,children:Zl(n,h,r.width,_)})]})]})}function nu({node:e}){let t=Po(),[n,r]=(0,m.useState)(!1);return(0,g.jsxs)(`figure`,{className:w.media,children:[e.alt!==void 0&&(0,g.jsx)(`figcaption`,{className:w.mediaLabel,children:J(e.alt)}),n?(0,g.jsx)(`div`,{className:w.mediaError,role:`alert`,children:t(`block.imageError`)}):(0,g.jsx)(`img`,{className:w.mediaPlayer,src:e.src,alt:e.alt??t(`block.image`),loading:`lazy`,decoding:`async`,style:{maxHeight:`min(70vh, 720px)`,objectFit:`contain`},onError:()=>r(!0)})]})}let ru=new Set([`bar`,`line`,`area`,`pie`,`scatter`,`bigline`]);function iu(e){return e.option===void 0&&ru.has(e.preset??`bar`)?`echarts-core`:`echarts-full`}Uc();async function au(e,t,n,r=`core`){return(await Rc(r===`full`?`echarts-full`:`echarts-core`)).createChart(e,t,n)}let ou=[`#679efe`,`#4ed17e`,`#f5b83d`,`#f2707a`,`#8b7ff0`,`#3fc7d4`,`#b7c8fe`,`#9aa3b2`];function su(e,t,n){let r=[n??null,typeof document>`u`?null:document.body,typeof document>`u`?null:document.documentElement];for(let t of r){if(t===null)continue;let n=getComputedStyle(t).getPropertyValue(e).trim();if(n!==``)return n}return t}function cu(e){return{accent:su(`--dsw-alias-state-business-primary`,`#4f8ef7`,e),labelPrimary:su(`--dsw-alias-label-primary`,`#e6e6e6`,e),labelSecondary:su(`--dsw-alias-label-secondary`,`#a0a0a0`,e),labelTertiary:su(`--dsw-alias-label-tertiary`,`#6b6b6b`,e),border:su(`--dsw-alias-border-l1`,`rgba(255,255,255,0.12)`,e),bgLayer1:su(`--dsw-alias-bg-layer-1`,`#1a1a1e`,e)}}function lu(e,t){let n=cu(t),r=e.palette!==void 0&&e.palette.length>0?[...e.palette]:zs.map((e,n)=>su(e.replace(`var(`,``).replace(`)`,``),ou[n%ou.length],t)),i=e.data??[],a=e.series,o=(e={})=>({renderMode:`richText`,backgroundColor:n.bgLayer1,borderColor:n.border,textStyle:{color:n.labelPrimary},...e}),s={color:r,textStyle:{color:n.labelSecondary,fontFamily:`inherit`},backgroundColor:`transparent`,grid:{left:48,right:16,top:24,bottom:32},tooltip:o({trigger:`item`})};switch(e.preset){case`wordCloud`:return{...s,series:[{type:`wordCloud`,sizeRange:[16,64],rotationRange:[0,0],gridSize:8,textStyle:{fontFamily:`sans-serif`},data:i.map((e,t)=>({name:e.label,value:e.value,textStyle:{color:r[t%r.length]}}))}]};case`pie`:return{...s,tooltip:o({trigger:`item`,formatter:`{b}: {c} ({d}%)`}),legend:{bottom:0,textStyle:{color:n.labelTertiary}},series:[{type:`pie`,radius:[`40%`,`70%`],avoidLabelOverlap:!0,itemStyle:{borderRadius:6,borderColor:n.bgLayer1,borderWidth:2},label:{color:n.labelSecondary},data:i.map(e=>({name:e.label,value:e.value}))}]};case`scatter`:return{...s,tooltip:o({trigger:`item`}),xAxis:{type:`category`,data:i.map(e=>e.label),axisLine:{lineStyle:{color:n.border}},axisLabel:{color:n.labelTertiary},splitLine:{lineStyle:{color:n.border,opacity:.5}}},yAxis:{type:`value`,axisLine:{lineStyle:{color:n.border}},axisLabel:{color:n.labelTertiary},splitLine:{lineStyle:{color:n.border,opacity:.5}}},series:[{type:`scatter`,symbolSize:10,data:i.map(e=>e.value)}]};case`area`:return{...s,tooltip:o({trigger:`axis`}),xAxis:{type:`category`,data:i.map(e=>e.label),axisLine:{lineStyle:{color:n.border}},axisLabel:{color:n.labelTertiary}},yAxis:{type:`value`,axisLine:{lineStyle:{color:n.border}},axisLabel:{color:n.labelTertiary},splitLine:{lineStyle:{color:n.border,opacity:.5}}},series:(a??[{label:``,data:i}]).map((e,t)=>({name:e.label,type:`line`,smooth:!0,areaStyle:{opacity:.15},data:e.data.map(e=>e.value),...uu(e.color,t,a)})),legend:a===void 0?void 0:{bottom:0,textStyle:{color:n.labelTertiary}}};case`line`:return{...s,tooltip:o({trigger:`axis`}),xAxis:{type:`category`,data:i.map(e=>e.label),axisLine:{lineStyle:{color:n.border}},axisLabel:{color:n.labelTertiary}},yAxis:{type:`value`,axisLine:{lineStyle:{color:n.border}},axisLabel:{color:n.labelTertiary},splitLine:{lineStyle:{color:n.border,opacity:.5}}},series:(a??[{label:``,data:i}]).map((e,t)=>({name:e.label,type:`line`,smooth:!0,showSymbol:!0,symbolSize:6,data:e.data.map(e=>e.value),...uu(e.color,t,a)})),legend:a===void 0?void 0:{bottom:0,textStyle:{color:n.labelTertiary}}};case`radar`:{let e=a??[{label:``,data:i}],t=(e[0]?.data??[]).map(e=>({name:e.label,max:void 0})),r=Math.max(...e.flatMap(e=>e.data.map(e=>Number(e.value)||0)),1);return{...s,tooltip:o({trigger:`item`}),legend:{bottom:0,textStyle:{color:n.labelTertiary}},radar:{indicator:t.map(e=>({name:e.name,max:Math.ceil(r*1.1)})),splitLine:{lineStyle:{color:n.border}},splitArea:{show:!1},axisLine:{lineStyle:{color:n.border}},axisName:{color:n.labelTertiary}},series:[{type:`radar`,symbolSize:5,areaStyle:{opacity:.12},data:e.map((e,t)=>({name:e.label,value:e.data.map(e=>Number(e.value)||0),...uu(e.color,t,a)}))}]}}case`gauge`:return{...s,tooltip:o({trigger:`item`}),series:i.slice(0,4).map((e,t)=>({type:`gauge`,startAngle:210,endAngle:-30,min:0,max:Math.max(Number(e.value)||0,100),center:i.length>1?[`${(t+.5)*(100/Math.min(i.length,4))}%`,`58%`]:[`50%`,`58%`],radius:i.length>1?`62%`:`82%`,progress:{show:!0,width:12},axisLine:{lineStyle:{width:12,color:[[1,n.border]]}},axisTick:{show:!1},splitLine:{show:!1},axisLabel:{show:!1},pointer:{show:!1},title:{offsetCenter:[0,`32%`],color:n.labelTertiary,fontSize:12},detail:{valueAnimation:!0,fontSize:26,offsetCenter:[0,`2%`],formatter:`{value}`,color:n.labelPrimary},data:[{value:Number(e.value)||0,name:e.label}]}))};case`funnel`:return{...s,tooltip:o({trigger:`item`,formatter:`{b}: {c}`}),legend:{bottom:0,textStyle:{color:n.labelTertiary}},series:[{type:`funnel`,left:`8%`,width:`84%`,top:16,bottom:40,gap:2,label:{position:`inside`,color:`#fff`,formatter:`{b} {c}`},itemStyle:{borderWidth:0},data:i.map(e=>({name:e.label,value:Number(e.value)||0}))}]};case`treemap`:return{...s,tooltip:o({trigger:`item`,formatter:`{b}: {c}`}),series:[{type:`treemap`,roam:!1,nodeClick:!1,breadcrumb:{show:!1},upperLabel:{show:!1},label:{color:n.labelPrimary},itemStyle:{borderColor:n.bgLayer1,borderWidth:2,gapWidth:2},data:i.map(e=>({name:e.label,value:Number(e.value)||0}))}]};case`sankey`:{let t=e.links??[],r=i.length>0?i.map(e=>e.label):[...new Set(t.flatMap(e=>[e.from,e.to]))];return{...s,tooltip:o({trigger:`item`}),series:[{type:`sankey`,left:8,right:8,top:12,bottom:12,nodeGap:12,lineStyle:{color:`gradient`,curveness:.5,opacity:.32},label:{color:n.labelSecondary},emphasis:{focus:`adjacency`},data:r.map(e=>({name:e})),links:t.map(e=>({source:e.from,target:e.to,value:e.value??1}))}]}}case`graph`:{let t=e.links??[],r=i.length>0?i.map(e=>e.label):[...new Set(t.flatMap(e=>[e.from,e.to]))],a=new Map;for(let e of t)a.set(e.from,(a.get(e.from)??0)+1),a.set(e.to,(a.get(e.to)??0)+1);return{...s,tooltip:o({trigger:`item`}),series:[{type:`graph`,layout:`force`,roam:!0,label:{show:!0,color:n.labelSecondary,fontSize:11},force:{repulsion:200,edgeLength:80},lineStyle:{color:n.border,curveness:.1},emphasis:{focus:`adjacency`},data:r.map(e=>({name:e,symbolSize:16+(a.get(e)??0)*5})),links:t.map(e=>({source:e.from,target:e.to}))}]}}case`heatmap`:{let e=a??[{label:``,data:i}],t=(e[0]?.data??[]).map(e=>e.label),r=e.flatMap((e,t)=>e.data.map((e,n)=>[n,t,Number(e.value)||0])),c=Math.max(...r.map(e=>e[2]),1);return{...s,tooltip:o({trigger:`item`,position:`top`}),grid:{left:64,right:16,top:16,bottom:48},xAxis:{type:`category`,data:t,splitArea:{show:!1},axisLabel:{color:n.labelTertiary},axisLine:{lineStyle:{color:n.border}}},yAxis:{type:`category`,data:e.map(e=>e.label),splitArea:{show:!1},axisLabel:{color:n.labelTertiary},axisLine:{lineStyle:{color:n.border}}},visualMap:{min:0,max:c,calculable:!0,orient:`horizontal`,left:`center`,bottom:0,textStyle:{color:n.labelTertiary}},series:[{type:`heatmap`,data:r,label:{show:r.length<=60,color:n.labelPrimary},itemStyle:{borderColor:n.bgLayer1,borderWidth:2}}]}}case`bigline`:return{...s,tooltip:o({trigger:`axis`}),grid:{left:48,right:20,top:24,bottom:56},dataZoom:[{type:`inside`,start:0,end:45},{type:`slider`,height:16,bottom:8,borderColor:n.border,textStyle:{color:n.labelTertiary}}],xAxis:{type:`category`,boundaryGap:!1,data:i.map(e=>e.label),axisLabel:{color:n.labelTertiary},axisLine:{lineStyle:{color:n.border}}},yAxis:{type:`value`,axisLabel:{color:n.labelTertiary},splitLine:{lineStyle:{color:n.border,opacity:.5}}},series:(a??[{label:``,data:i}]).map((e,t)=>({name:e.label,type:`line`,smooth:!0,showSymbol:!1,areaStyle:{opacity:.12},data:e.data.map(e=>e.value),...uu(e.color,t,a)})),legend:a===void 0?void 0:{bottom:26,textStyle:{color:n.labelTertiary}}};default:return{...s,tooltip:o({trigger:`axis`,axisPointer:{type:`shadow`}}),xAxis:{type:`category`,data:i.map(e=>e.label),axisLine:{lineStyle:{color:n.border}},axisLabel:{color:n.labelTertiary}},yAxis:{type:`value`,axisLine:{lineStyle:{color:n.border}},axisLabel:{color:n.labelTertiary},splitLine:{lineStyle:{color:n.border,opacity:.5}}},series:(a??[{label:``,data:i}]).map(e=>({name:e.label,type:`bar`,barMaxWidth:40,itemStyle:{borderRadius:[4,4,2,2],...e.color===void 0?{}:{color:e.color}},data:e.data.map(e=>e.value)})),legend:a===void 0?void 0:{bottom:0,textStyle:{color:n.labelTertiary}}}}}function uu(e,t,n){return e===void 0?{}:{itemStyle:{color:e}}}function du({node:e}){let t=(0,m.useRef)(null),[n,r]=(0,m.useState)(`loading`),i=(0,m.useRef)(null);return(0,m.useEffect)(()=>{let n=!0,a=t.current;if(a===null)return;let o=e.option??lu(e,a),s=iu(e)===`echarts-full`?`full`:`core`;return au(a,o,{height:e.height??300},s).then(e=>{if(!n){e.dispose();return}i.current=e,r(`ready`)}).catch(()=>{n&&r(`error`)}),()=>{n=!1,i.current?.dispose(),i.current=null}},[]),(0,m.useEffect)(()=>{if(n!==`ready`)return;let e=t.current;if(e===null)return;let r=new ResizeObserver(()=>{i.current?.resize()});return r.observe(e),()=>{r.disconnect()}},[n]),(0,m.useEffect)(()=>{if(n!==`ready`||i.current===null)return;let r=e.option??lu(e,t.current);i.current.setOption(r,!0)},[e,n]),n===`error`?(0,g.jsxs)(`div`,{className:w.echartFallback,"data-genui-echart":!0,children:[(0,g.jsx)(`div`,{className:w.echartErr,children:`ECharts 渲染失败`}),e.title!==void 0&&(0,g.jsx)(`div`,{className:w.echartHint,children:J(e.title)})]}):(0,g.jsxs)(`div`,{className:w.echartWrap,"data-genui-echart":!0,children:[e.title!==void 0&&(0,g.jsx)(`div`,{className:w.echartTitle,children:J(e.title)}),(0,g.jsx)(`div`,{ref:t,className:w.echartCanvas,style:{height:`${e.height??300}px`},role:`img`,"aria-label":e.title??`ECharts chart`}),n===`loading`&&(0,g.jsx)(`div`,{className:w.echartHint,children:`加载图表…`})]})}let fu=v;function pu(e){return typeof e==`object`&&!!e&&`type`in e}function mu(e){let t=/^([+\-−]?[\d.,]+(?:[eE][+\-]?\d+)?)\s*(.*)$/.exec(e.trim());if(t===null||t[1]===void 0)return{num:e,unit:``,numeric:void 0,decimals:0};let n=t[1],r=n.replace(/[,,]/g,``),i=Number(r),a=Number.isFinite(i)&&!/[eE]/.test(r)?i:void 0,o=r.includes(`.`)?(r.split(`.`)[1]??``).length:0;return{num:n,unit:t[2]??``,numeric:a,decimals:Math.min(o,4)}}function hu({values:e}){let t=Math.min(...e),n=Math.max(...e)-t||1,r=e.length<=1?0:92/(e.length-1),i=e.map((e,i)=>[2+i*r,22-(e-t)/n*20]),a=i.map(([e,t])=>`${e.toFixed(1)},${t.toFixed(1)}`).join(` `),o=i[i.length-1],s=`M 2,22 L ${a.split(` `).join(` L `)} L ${o[0].toFixed(1)},22 Z`;return(0,g.jsxs)(`svg`,{className:w.statSpark,viewBox:`0 0 96 24`,preserveAspectRatio:`none`,"aria-hidden":`true`,children:[(0,g.jsx)(`path`,{d:s,fill:`var(--dsl-g-accent)`,opacity:`0.14`}),(0,g.jsx)(`polyline`,{points:a,fill:`none`,stroke:`var(--dsl-g-accent)`,strokeWidth:`1.5`,strokeLinejoin:`round`,strokeLinecap:`round`,vectorEffect:`non-scaling-stroke`}),(0,g.jsx)(`path`,{d:`M ${o[0].toFixed(1)} ${o[1].toFixed(1)} L ${o[0].toFixed(1)} ${o[1].toFixed(1)}`,stroke:`var(--dsl-g-accent)`,strokeWidth:5,strokeLinecap:`round`,vectorEffect:`non-scaling-stroke`,fill:`none`})]})}function gu(e,t,n){let[r,i]=(0,m.useState)(n?0:e);return(0,m.useEffect)(()=>{if(!n){i(e);return}if(typeof window<`u`&&typeof window.matchMedia==`function`&&window.matchMedia(`(prefers-reduced-motion: reduce)`).matches){i(e);return}let t=0,r=performance.now(),a=n=>{let o=Math.min(1,(n-r)/720),s=1-(1-o)**3;i(e*s),o<1&&(t=requestAnimationFrame(a))};return t=requestAnimationFrame(a),()=>cancelAnimationFrame(t)},[e,n]),r.toFixed(t)}function _u({value:e,unitClass:t,animate:n=!1}){let r=mu(e),i=r.numeric,a=gu(i??0,r.decimals,n&&i!==void 0);return(0,g.jsxs)(g.Fragment,{children:[i===void 0?J(r.num):a,r.unit!==``&&(0,g.jsx)(`span`,{className:t??w.statUnit,children:J(r.unit)})]})}function vu(e){return typeof e==`string`?e:pu(e)?``:`${e.title} ${e.desc??``}`}function yu(e,t){if(t===void 0)return;let n=e?.fields[t];return n===void 0||n===``?void 0:n}function bu(e,t,n,r=0,i){if(r>X.maxDepth)return null;switch(e.type){case`text`:{let n=e.size??`body`;return(0,g.jsx)(`div`,{className:`${w.text} ${w[n]}`+(e.center?` ${w.center}`:``),children:J(e.content)},t)}case`row`:return(0,g.jsxs)(`div`,{className:w.row+(e.wrap?` ${w.wrap}`:``),children:[e.items.map((e,t)=>bu(e,t,n,r+1,i)),e.spacer&&(0,g.jsx)(`div`,{className:w.spacer})]},t);case`col`:return(0,g.jsx)(`div`,{className:w.col,style:e.gap===void 0?void 0:{gap:`${e.gap}px`},children:e.items.map((e,t)=>bu(e,t,n,r+1,i))},t);case`grid`:return(0,g.jsx)(`div`,{className:w.grid,style:{gridTemplateColumns:`repeat(${Math.max(1,e.cols)}, minmax(0, 1fr))`},children:e.items.map((e,t)=>{let a=bu(e,t,n,r+1,i),o=typeof e==`object`&&e&&typeof e.span==`number`?Math.max(1,Math.min(12,e.span)):1;return o>1?(0,g.jsx)(`div`,{className:w.gridSpan,style:{gridColumn:`span ${o}`},children:a},t):a})},t);case`card`:{let a=e.tone===void 0?``:` ${w[`card${e.tone[0].toUpperCase()}${e.tone.slice(1)}`]??``}`,o=e.accent===void 0?void 0:{borderColor:`color-mix(in srgb, ${e.accent} 18%, var(--dsl-g-border))`,"--dsl-card-accent":e.accent};return(0,g.jsxs)(`div`,{className:`${w.card}${a}`,style:o,children:[e.title!==void 0&&(0,g.jsx)(`div`,{className:w.cardTitle,children:J(e.title)}),e.items.map((e,t)=>bu(e,t,n,r+1,i))]},t)}case`button`:{let r=e.tone??``,i=`${w.button} ${w[r]||``}`+(e.full?` ${w.full}`:``)+(e.small?` ${w.small}`:``),a=e.action,o=a!==void 0&&n!==void 0;return(0,g.jsxs)(Is,{className:i,disabled:!o,onClick:o?()=>n(a,{type:`button`,label:e.label}):void 0,children:[e.icon!==void 0&&(0,g.jsxs)(`span`,{"aria-hidden":!0,children:[e.icon,` `]}),J(e.label,!1)]},t)}case`input`:return(0,g.jsx)(vc,{node:e,onAction:n,answers:i},t);case`select`:return(0,g.jsx)(_c,{node:e,onAction:n,answers:i},t);case`checkbox`:return(0,g.jsx)(bc,{node:e,onAction:n,answers:i},t);case`link`:{let n=e.href;return n===void 0?(0,g.jsx)(`span`,{className:w.linkText,children:J(e.label,!1)},t):(0,g.jsx)(`a`,{className:w.link,href:n,target:`_blank`,rel:`noopener noreferrer`,children:J(e.label,!1)},t)}case`image`:return(0,g.jsx)(nu,{node:e},`${t}:${e.src}`);case`audio`:return(0,g.jsx)(Ls,{node:e},`${t}:${e.src}`);case`video`:return(0,g.jsx)(Rs,{node:e},`${t}:${e.src}`);case`badge`:{let n=e.tone??``;return(0,g.jsxs)(`span`,{className:`${w.badge} ${w[n]||``}`,children:[e.icon!==void 0&&(0,g.jsxs)(`span`,{"aria-hidden":!0,children:[e.icon,` `]}),J(e.label,!1)]},t)}case`hero`:{let n=e.tone??`accent`,r=w[`hero${n[0].toUpperCase()}${n.slice(1)}`]??``,i=e.delta!==void 0&&e.delta.startsWith(`-`);return(0,g.jsxs)(`div`,{className:`${w.hero} ${r}`,children:[e.label!==void 0&&(0,g.jsx)(`span`,{className:w.heroLabel,children:J(e.label,!1)}),(0,g.jsxs)(`div`,{className:w.heroTop,children:[e.value!==void 0&&(0,g.jsx)(`span`,{className:w.heroValue,children:(0,g.jsx)(_u,{value:e.value,unitClass:w.heroUnit,animate:!0})}),e.delta!==void 0&&(0,g.jsx)(`span`,{className:`${w.statDelta} ${i?w.down:w.up}`,children:J(e.delta)}),e.spark!==void 0&&(0,g.jsx)(`span`,{className:w.heroSpark,children:(0,g.jsx)(hu,{values:e.spark})})]}),(0,g.jsx)(`span`,{className:w.heroTitle,children:J(e.title)}),e.subtitle!==void 0&&(0,g.jsx)(`span`,{className:w.heroSubtitle,children:J(e.subtitle)})]},t)}case`stat`:{let n=e.delta!==void 0&&e.delta.startsWith(`-`);return(0,g.jsxs)(`div`,{className:`${w.stat}${e.size===`hero`?` ${w.statHero}`:``}`,children:[(0,g.jsx)(`span`,{className:w.statLabel,children:J(e.label,!1)}),(0,g.jsx)(`span`,{className:w.statValue,children:(0,g.jsx)(_u,{value:e.value,animate:e.size===`hero`})}),e.delta!==void 0&&(0,g.jsx)(`span`,{className:`${w.statDelta} ${n?w.down:w.up}`,children:J(e.delta)}),e.spark!==void 0&&(0,g.jsx)(hu,{values:e.spark})]},t)}case`progress`:{let n=Math.max(0,Math.min(100,Number(e.value)||0));if(e.variant===`ring`){let r=2*Math.PI*34;return(0,g.jsxs)(`div`,{className:w.ring,role:`progressbar`,"aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":n,"aria-label":e.label??e.valueLabel??void 0,children:[(0,g.jsxs)(`svg`,{width:92,height:92,viewBox:`0 0 92 92`,"aria-hidden":`true`,children:[(0,g.jsx)(`circle`,{cx:46,cy:46,r:34,fill:`none`,strokeWidth:9,className:w.ringTrack}),(0,g.jsx)(`circle`,{cx:46,cy:46,r:34,fill:`none`,strokeWidth:9,strokeLinecap:`round`,className:w.ringFill,strokeDasharray:`${n/100*r} ${r}`,transform:`rotate(-90 46 46)`}),(0,g.jsxs)(`text`,{x:46,y:51,textAnchor:`middle`,className:w.ringValue,children:[n,`%`]})]}),(e.label!==void 0||e.valueLabel!==void 0)&&(0,g.jsxs)(`div`,{className:w.ringMeta,children:[e.label!==void 0&&(0,g.jsx)(`span`,{className:w.ringLabel,children:J(e.label,!1)}),e.valueLabel!==void 0&&(0,g.jsx)(`span`,{className:w.ringSub,children:J(e.valueLabel)})]})]},t)}return(0,g.jsxs)(`div`,{className:w.progress,role:`progressbar`,"aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":n,"aria-label":e.label??e.valueLabel??void 0,children:[(e.label!==void 0||e.valueLabel!==void 0)&&(0,g.jsxs)(`div`,{className:w.progressRow,children:[(0,g.jsx)(`span`,{children:J(e.label??``)}),e.valueLabel!==void 0&&(0,g.jsx)(`span`,{children:J(e.valueLabel)})]}),(0,g.jsxs)(`div`,{className:w.track,children:[(0,g.jsx)(`div`,{className:w.fill,style:{width:`${n}%`}}),e.target!==void 0&&(0,g.jsx)(`span`,{className:w.targetMark,style:{left:`${e.target}%`},title:Y(`block.target`,{value:e.target})})]})]},t)}case`divider`:return(0,g.jsx)(`hr`,{className:w.divider},t);case`list`:{let a=yu(i,e.filter)?.toLowerCase(),o=e.items.slice(0,X.maxListItems),s=a===void 0?o:o.filter(e=>vu(e).toLowerCase().includes(a));return(0,g.jsxs)(`div`,{className:w.list,children:[s.map((e,t)=>(0,g.jsx)(`div`,{className:w.li,children:pu(e)?bu(e,t,n,r+1,i):(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(`div`,{className:w.liTitle,children:J(typeof e==`string`?e:e.title)}),typeof e!=`string`&&e.desc!==void 0&&(0,g.jsx)(`div`,{className:w.liDesc,children:J(e.desc)})]})},t)),a!==void 0&&(0,g.jsx)(`span`,{className:w.filterHint,children:Y(`block.filterMatch`,{shown:s.length,total:o.length})})]},t)}case`table`:return(0,g.jsx)(Xs,{node:e,filterValue:yu(i,e.filter),sortValue:yu(i,e.sortField),renderDetail:e=>e.map((e,t)=>bu(e,t,n,r+1,i))},t);case`chart`:return(0,g.jsx)(ac,{chart:e,filterValue:yu(i,e.filter)},t);case`tabs`:return(0,g.jsx)(ul,{tabs:e,onAction:n,depth:r+1,answers:i},t);case`avatar`:return(0,g.jsx)(`div`,{className:w.avatar,style:{background:e.color??Fs(e.name)},children:e.name.slice(0,1).toUpperCase()},t);case`spacer`:return(0,g.jsx)(`div`,{className:w.spacer},t);case`plot`:return(0,g.jsx)(ol,{plot:e},t);case`callout`:return(0,g.jsx)(rl,{node:e},t);case`steps`:return(0,g.jsx)(il,{steps:e},t);case`keyvalue`:return(0,g.jsx)(al,{node:e},t);case`diff`:return(0,g.jsx)(sl,{node:e},t);case`json`:return(0,g.jsx)(cl,{node:e},t);case`code`:return(0,g.jsx)(ll,{node:e},t);case`radio`:return(0,g.jsx)(uc,{node:e,onAction:n,answers:i},`${t}:r${i?.round??0}`);case`submit`:return(0,g.jsx)(fc,{node:e,onAction:n,answers:i},t);case`switch`:return(0,g.jsx)(pc,{node:e,onAction:n},t);case`slider`:return(0,g.jsx)(mc,{node:e,onAction:n,answers:i},t);case`textarea`:return(0,g.jsx)(yc,{node:e,onAction:n,answers:i},t);case`accordion`:return(0,g.jsx)(dl,{node:e,onAction:n,depth:r+1,answers:i},t);case`copy`:return(0,g.jsx)(pl,{node:e},t);case`mermaid`:return(0,g.jsx)(ml,{node:e},t);case`svg`:return(0,g.jsx)(Vo,{node:e},t);case`scene3d`:return(0,g.jsx)(hl,{node:e},t);case`timeline`:return(0,g.jsx)(gl,{node:e},t);case`file-tree`:return(0,g.jsx)(yl,{node:e},t);case`breadcrumb`:return(0,g.jsx)(xl,{node:e},t);case`quiz`:return(0,g.jsx)(bl,{node:e,onAction:n},t);case`diagram`:return(0,g.jsx)(tu,{node:e},t);case`echart`:return(0,g.jsx)(du,{node:e},t);default:{let a=e,o=fu?.(a.type);return o===void 0?null:(0,g.jsx)(o,{node:a,onAction:n,renderChildren:(e,t)=>e.map((e,a)=>bu(e,Number(t)+a,n,r+1,i))},t)}}}function xu(e){let t=(0,m.useRef)(new Map),n=(0,m.useRef)(e);n.current=e,(0,m.useEffect)(()=>()=>{for(let e of t.current.values())clearTimeout(e);t.current.clear()},[]);let r=(0,m.useCallback)((e,r)=>{if(r.type!==`slider`){n.current?.(e,r);return}let i=`${e}\u0000${typeof r.id==`string`?r.id:``}`,a=t.current.get(i);a!==void 0&&clearTimeout(a),t.current.set(i,setTimeout(()=>{t.current.delete(i),n.current?.(e,r)},300))},[]);return e===void 0?void 0:r}function Su(e,t){return e===t||JSON.stringify(e)===JSON.stringify(t)}function Cu({spec:e,stateKey:t,animateEntrance:n=!0,initialState:r,onStateChange:i,onStateSnapshot:a}){let o=e.gap??16,s=xu(S()),c=(0,m.useRef)(i);c.current=i;let l=i!==void 0,[u]=(0,m.useState)(()=>r??(i!==void 0||t===void 0?null:$o(t))),[d,f]=(0,m.useState)(u?.answers??{}),[p,h]=(0,m.useState)(u?.multiAnswers??{}),[_,v]=(0,m.useState)(u?.fields??{}),[y,b]=(0,m.useState)({}),[x,C]=(0,m.useState)(u?.locked===!0),[T,E]=(0,m.useState)(0),[ee,te]=(0,m.useState)(new Set),ne=(0,m.useCallback)((e,t)=>{f(n=>n[e]===t?n:{...n,[e]:t})},[]),D=(0,m.useCallback)((e,t,n)=>{h(r=>{let i=r[e]??[],a=n?i.includes(t)?i:[...i,t]:i.filter(e=>e!==t);return Object.prototype.hasOwnProperty.call(r,e)&&a.length===i.length&&a.every((e,t)=>e===i[t])?r:{...r,[e]:a}})},[]),re=(0,m.useCallback)((e,t)=>{v(n=>n[e]===t?n:{...n,[e]:t})},[]),ie=(0,m.useCallback)(e=>{te(t=>t.has(e)?t:new Set(t).add(e))},[]),ae=(0,m.useCallback)((e,t)=>{b(n=>{let r=n[e];return r!==void 0&&r.label===t.label&&r.answer===t.answer&&r.explanation===t.explanation?n:{...n,[e]:t}})},[]),oe=(0,m.useCallback)(()=>{f({}),h({}),C(!1),E(e=>e+1)},[]),se=(0,m.useMemo)(()=>({answers:d,multiAnswers:p,fields:_,secretFields:ee,meta:y,locked:x,round:T,setAnswer:ne,setMultiAnswer:D,setField:re,registerSecretField:ie,registerMeta:ae,clear:oe,setLocked:C}),[d,p,_,ee,y,x,T,ne,D,re,ie,ae,oe]),ce=(0,m.useMemo)(()=>{let e=Object.fromEntries(Object.entries(_).filter(([e])=>!ee.has(e)));return{answers:d,...Object.keys(p).length>0?{multiAnswers:p}:{},locked:x,...Object.keys(e).length>0?{fields:e}:{}}},[d,p,x,_,ee]);(0,m.useEffect)(()=>{a?.(ce)},[ce,a]);let le=(0,m.useMemo)(()=>{if(s!==void 0)return(e,t)=>{ks(),s(e,t)}},[s]);return(0,m.useEffect)(()=>{if(l){c.current?.(ce);return}if(t===void 0)return;let e=setTimeout(()=>es(t,ce),300);return()=>clearTimeout(e)},[t,ce,l]),(0,m.useEffect)(()=>{Ds(e)},[e]),(0,g.jsxs)(`div`,{className:w.block,"data-genui":!0,children:[e.title!==void 0&&(0,g.jsx)(`div`,{className:w.banner,children:J(e.title)}),(0,g.jsx)(`div`,{className:w.col,style:{gap:`${o}px`},children:e.items.map((e,t)=>(0,g.jsx)(`div`,{className:w.reveal,style:{animationDelay:`${Math.min(t*90,720)}ms`,...!n||u!==null?{animation:`none`}:{}},onAnimationEnd:e=>{e.target===e.currentTarget&&(e.currentTarget.style.animation=`none`)},children:bu(e,t,le,0,se)},t))})]})}let wu=(0,m.memo)(function(e){let[t,n]=(0,m.useState)({stateKey:e.stateKey,generation:0});return t.stateKey!==e.stateKey&&n({stateKey:e.stateKey,generation:t.generation+(t.stateKey===void 0?0:1)}),(0,g.jsx)(Cu,{...e},t.generation)},(e,t)=>e.stateKey===t.stateKey&&e.animateEntrance===t.animateEntrance&&e.onStateChange===t.onStateChange&&e.onStateSnapshot===t.onStateSnapshot&&Su(e.spec,t.spec)),Tu=[`h1`,`h2`,`h3`,`body`,`muted`,`caption`],Eu=[`primary`,`danger`,`success`,`ghost`],Du=[`success`,`warn`,`danger`,`accent`],Ou=[`text`,`email`,`password`,`color`],ku=[`info`,`success`,`warning`,`error`],Au=[`bars`,`line`,`donut`],ju=[`line`,`area`,`scatter`],Mu=[`16:9`,`4:3`,`1:1`,`9:16`],Nu=[`box`,`sphere`,`cone`,`cylinder`,`torus`],Pu=[`file`,`dir`],Fu=`architecture.it-state.flowchart.sequence.state.er.timeline.swimlane.quadrant.radar.loop.nested.tree.org-chart.layers.venn.pyramid.bar.line.gantt.scatter.high-level.process.medallion.data-flow.dp-integration.dp-security-matrix`.split(`.`),Iu=[`focal`,`backend`,`store`,`external`,`input`,`optional`,`security`],Lu=[`light`,`dark`,`editorial`],Ru=[`solid`,`dashed`,`accent`,`link`],zu=[`auto`,`orthogonal`,`straight`],Bu=[`bar`,`line`,`area`,`pie`,`scatter`,`radar`,`gauge`,`funnel`,`treemap`,`sankey`,`graph`,`heatmap`,`bigline`,`wordCloud`],Vu=[`hero`],Hu=[`bar`,`ring`],Uu=[`info`,`success`,`warning`,`danger`],Wu=[`accent`,`success`,`warning`,`danger`],Gu=[`text`,`num`,`delta`,`bar`,`badge`,`spark`,`ring`,`index`,`group`],Z=(e,t,n={},r={})=>{let i=Object.fromEntries(Object.entries(t).filter(([t])=>t!==`type`&&!e.includes(t))),a=r.oneOfRequired??[],o=r.conditionalRequired??[],s=[...a.map(e=>({kind:`one-of-required`,fields:e})),...o];return{required:e,fields:t,optional:i,aliases:n,valueAliases:r.valueAliases??{},oneOfRequired:a,conditionalRequired:o,rules:s,enums:r.enums??{},nested:r.nested??{},...r.validator===void 0?{}:{validator:r.validator}}},Ku=(e,t,n={},r={},i={})=>({required:e,fields:t,enums:r,nested:n,aliases:i}),Q={type:`string`,span:`number`},qu=Ku([`label`,`value`],{label:`string`,value:`number`,color:`string`}),Ju=Ku([`label`,`data`],{label:`string`,color:`string`,data:`array`},{data:qu}),Yu=Ku([`title`],{title:`string`,desc:`string`}),Xu=Ku([`key`,`value`],{key:`string`,value:`string`},{},{},{label:`key`}),Zu=Ku([`title`],{title:`string`,desc:`string`,time:`string`}),Qu=Ku([`path`,`newText`],{path:`string`,oldText:`string-or-null`,newText:`string`}),$u=Ku([`expr`],{expr:`string`,label:`string`,color:`string`,kind:`string`,params:`array`},{params:Ku([`name`,`value`],{name:`string`,value:`number`,min:`number`,max:`number`,step:`number`,animateTo:`number`,durationMs:`number`,loop:`boolean`})},{kind:ju}),ed=Ku([`shape`],{shape:`string`,color:`string`,position:`array`,rotation:`array`,scale:`unknown`,size:`unknown`},{},{shape:Nu});function td(e){return Ku([`name`],{name:`string`,type:`string`,children:`array`},e>0?{children:td(e-1)}:{},{type:Pu},{label:`name`})}let nd=td(6),rd=Ku([`label`,`items`],{label:`string`,items:`nodes`,content:`nodes`}),id=Ku([`title`,`items`],{title:`string`,items:`nodes`}),ad=Ku([`id`,`label`],{id:`string`,label:`string`,sub:`string`,type:`string`,x:`number`,y:`number`,w:`number`,h:`number`,tag:`string`},{},{type:Iu}),od=Ku([`from`,`to`],{from:`string`,to:`string`,label:`string`,kind:`string`,route:`string`},{},{kind:Ru,route:zu}),sd=Ku([`label`],{label:`string`,x:`number`,y:`number`,w:`number`,h:`number`}),cd=Ku([],{paper:`string`,"paper-2":`string`,ink:`string`,muted:`string`,soft:`string`,rule:`string`,accent:`string`,"accent-tint":`string`,link:`string`}),ld=Z([`items`],{title:`string`,gap:`number`,panel:`boolean`,append:`boolean`,items:`nodes`}),ud={accordion:Z([`items`],{...Q,items:`array`},{},{nested:{items:id}}),audio:Z([`src`],{...Q,src:`string`,alt:`string`,loop:`boolean`},{url:`src`,link:`src`}),avatar:Z([`name`],{...Q,name:`string`,color:`string`}),badge:Z([`label`],{...Q,label:`string`,tone:`string`,icon:`string`},{text:`label`,value:`label`},{enums:{tone:Du}}),breadcrumb:Z([`items`],{...Q,items:`array`}),button:Z([`label`],{...Q,label:`string`,tone:`string`,full:`boolean`,small:`boolean`,icon:`string`,action:`string`},{},{enums:{tone:Eu}}),callout:Z([`content`],{...Q,title:`string`,content:`string`,tone:`string`},{kind:`tone`,text:`content`,body:`content`,desc:`content`},{enums:{tone:ku},valueAliases:{tone:{danger:`error`,warn:`warning`}}}),card:Z([`items`],{...Q,title:`string`,items:`nodes`,tone:`string`,accent:`string`},{label:`title`,content:`items`},{enums:{tone:Uu}}),chart:Z([],{...Q,kind:`string`,data:`array`,series:`array`,horizontal:`boolean`,stacked:`boolean`,filter:`string`,palette:`array`},{},{oneOfRequired:[[`data`,`series`]],conditionalRequired:[{kind:`required-if`,when:{field:`kind`,equals:`donut`},required:[`data`]}],nested:{data:qu,series:Ju},enums:{kind:Au},validator:{name:`chart-renderability`}}),checkbox:Z([`label`],{...Q,label:`string`,checked:`boolean`,action:`string`,group:`string`}),code:Z([`code`],{...Q,lang:`string`,code:`string`},{content:`code`,text:`code`}),col:Z([`items`],{...Q,items:`nodes`,gap:`number`}),copy:Z([`text`],{...Q,label:`string`,text:`string`},{content:`text`,code:`text`,value:`text`}),diagram:Z([`kind`,`nodes`],{...Q,kind:`string`,variant:`string`,title:`string`,nodes:`array`,edges:`array`,zones:`array`,theme:`object`},{},{nested:{nodes:ad,edges:od,zones:sd,theme:cd},enums:{kind:Fu,variant:Lu}}),diff:Z([`diffs`],{...Q,diffs:`array`},{items:`diffs`,files:`diffs`},{nested:{diffs:Qu}}),divider:Z([],Q),echart:Z([],{...Q,title:`string`,height:`number`,preset:`string`,data:`array`,series:`array`,links:`array`,palette:`array`,option:`object`},{},{oneOfRequired:[[`option`,`data`,`series`,`links`]],enums:{preset:Bu}}),"file-tree":Z([`items`],{...Q,items:`array`},{nodes:`items`},{nested:{items:nd}}),grid:Z([`items`],{...Q,cols:`number`,items:`nodes`}),image:Z([`src`],{...Q,src:`string`,alt:`string`},{url:`src`,link:`src`}),input:Z([],{...Q,label:`string`,placeholder:`string`,value:`string`,inputType:`string`,action:`string`,id:`string`},{},{enums:{inputType:Ou}}),json:Z([`value`],{...Q,value:`unknown`}),keyvalue:Z([`pairs`],{...Q,pairs:`array`},{items:`pairs`,rows:`pairs`,entries:`pairs`},{nested:{pairs:Xu}}),link:Z([`label`],{...Q,label:`string`,href:`string`}),list:Z([`items`],{...Q,items:`array`,filter:`string`}),mermaid:Z([`code`],{...Q,code:`string`}),svg:Z([`code`],{...Q,code:`string`,title:`string`,height:`number`}),plot:Z([`series`],{...Q,series:`array`,xMin:`number`,xMax:`number`,yMin:`number`,yMax:`number`,title:`string`},{},{nested:{series:$u}}),progress:Z([`value`],{...Q,value:`number`,label:`string`,valueLabel:`string`,variant:`string`,target:`number`},{},{enums:{variant:Hu}}),quiz:Z([`question`,`options`],{...Q,question:`string`,options:`array`,explanation:`string`,id:`string`,action:`string`},{title:`question`,text:`question`,choices:`options`,items:`options`}),radio:Z([`options`],{...Q,label:`string`,options:`array`,selected:`number`,action:`string`,group:`string`,answer:`unknown`,explanation:`string`},{items:`options`}),row:Z([`items`],{...Q,items:`nodes`,wrap:`boolean`,spacer:`boolean`}),scene3d:Z([`meshes`],{...Q,title:`string`,meshes:`array`,ambient:`number`,background:`string`},{},{nested:{meshes:ed}}),select:Z([`options`],{...Q,label:`string`,options:`array`,action:`string`,selected:`number`,id:`string`},{items:`options`}),slider:Z([],{...Q,label:`string`,min:`number`,max:`number`,step:`number`,value:`number`,action:`string`,id:`string`}),spacer:Z([],Q),hero:Z([`title`],{...Q,title:`string`,subtitle:`string`,value:`string`,label:`string`,delta:`string`,spark:`array`,tone:`string`},{},{enums:{tone:Wu}}),stat:Z([`label`,`value`],{...Q,label:`string`,value:`string`,delta:`string`,spark:`array`,size:`string`},{},{enums:{size:Vu}}),steps:Z([`steps`],{...Q,steps:`array`,current:`number`},{items:`steps`},{nested:{steps:Yu}}),submit:Z([`label`],{...Q,label:`string`,action:`string`,resetAction:`string`,groups:`array`}),switch:Z([`label`],{...Q,label:`string`,checked:`boolean`,action:`string`}),table:Z([`columns`,`rows`],{...Q,columns:`array`,rows:`array`,types:`array`,total:`boolean`,details:`array`,filter:`string`,filterColumn:`number`,sortField:`string`,export:`boolean`},{headers:`columns`,data:`rows`,items:`rows`}),tabs:Z([`tabs`],{...Q,tabs:`array`},{},{nested:{tabs:rd}}),text:Z([`content`],{...Q,content:`string`,size:`string`,center:`boolean`},{text:`content`},{enums:{size:Tu}}),textarea:Z([],{...Q,label:`string`,placeholder:`string`,rows:`number`,value:`string`,action:`string`,id:`string`}),timeline:Z([`items`],{...Q,items:`array`},{},{nested:{items:Zu}}),video:Z([`src`],{...Q,src:`string`,alt:`string`,poster:`string`,loop:`boolean`,muted:`boolean`,aspectRatio:`string`},{url:`src`,link:`src`},{enums:{aspectRatio:Mu}})},dd=new Set(Object.keys(ud)),fd=[`mermaid`,`three`,`echarts-core`,`echarts-full`];function pd(e,t,n){for(let r of e){if(typeof r!=`object`||!r||!(`type`in r)||typeof r.type!=`string`)continue;let e=r;if(dd.has(e.type)||t.customTypes.push(e.type),e.type===`mermaid`&&n.add(`mermaid`),e.type===`scene3d`&&n.add(`three`),e.type===`echart`&&n.add(iu(e)),(typeof e.action==`string`||e.type===`submit`&&(typeof e.action==`string`||typeof e.resetAction==`string`))&&(t.hasModelActions=!0),e.type===`image`||e.type===`audio`||e.type===`video`){let n=uo(e.src);if(n!==void 0&&t.externalMedia.push(n),e.type===`video`){let n=uo(e.poster);n!==void 0&&t.externalMedia.push(n)}}if(Array.isArray(e.items)){if(e.type===`list`)pd(e.items.filter(e=>typeof e==`object`&&!!e&&`type`in e),t,n);else if(e.type===`accordion`)for(let r of e.items)typeof r==`object`&&r&&`items`in r&&Array.isArray(r.items)&&pd(r.items,t,n);else pd(e.items,t,n)}if(Array.isArray(e.tabs))for(let r of e.tabs)typeof r==`object`&&r&&`items`in r&&Array.isArray(r.items)&&pd(r.items,t,n);if(e.type===`table`&&Array.isArray(e.details))for(let r of e.details)Array.isArray(r)&&pd(r,t,n)}}function md(e){let t={requiredAssets:[],customTypes:[],externalMedia:[],hasModelActions:!1},n=new Set;return pd(e.items,t,n),t.requiredAssets=fd.filter(e=>n.has(e)),t.customTypes=[...new Set(t.customTypes)],t.externalMedia=[...new Set(t.externalMedia)],t}function hd(e){if(typeof e!=`object`||!e)return!1;let t=e;return typeof t.type!=`string`||t.type===``?!1:!Array.isArray(t.items)||dd.has(t.type)}function gd(e){if(typeof e!=`object`||!e)return null;let t=e;if(typeof t.type!=`string`||t.type===``)return null;let n=dd.has(t.type)?ud[t.type]:void 0,r=typeof t.title==`string`&&n!==void 0&&!(`title`in n.fields)?t.title:void 0,i={...e};return r!==void 0&&delete i.title,{items:[i],...r===void 0?{}:{title:r},...t.panel===!0?{panel:!0}:{},...t.append===!0?{append:!0}:{}}}function _d(e){if(typeof e!=`object`||!e||hd(e))return!1;let t=e;return!(!Array.isArray(t.items)||t.title!==void 0&&typeof t.title!=`string`||t.gap!==void 0&&typeof t.gap!=`number`)}function vd(e){return typeof e==`object`&&e&&!Array.isArray(e)?e:void 0}function yd(e){let t=vd(e);return t!==void 0&&typeof t.type==`string`}let bd=[`label`,`value`,`delta`,`spark`,`size`];function xd(e,t,n){if(e.length===0)return null;let r=[];for(let i=0;i<e.length;i++){let a=e[i],o=vd(a);if(o===void 0)return null;if(yd(a)){r.push(n(a,`${t}.items[${i}]`));continue}if(typeof o.label!=`string`&&typeof o.value!=`string`)return null;let s={type:`stat`};for(let e of bd)o[e]!==void 0&&(s[e]=o[e]);r.push(s)}return r}function Sd(e,t,n,r){let i=ud[n];if(i===void 0)return e;let a={...e};for(let[e,o]of Object.entries(i.aliases)){if(!(e in a))continue;let i=`${t}.${e}`,s=o in a;s||(a[o]=a[e]),delete a[e],r.push({kind:`alias`,path:i,message:s?`${i} is ignored because canonical field '${o}' is present`:`${i} normalized/adopted as '${o}'`,type:n,field:e,canonical:o})}for(let[e,o]of Object.entries(i.valueAliases)){let i=a[e];if(typeof i!=`string`)continue;let s=o[i];s!==void 0&&s!==i&&(a[e]=s,r.push({kind:`alias`,path:`${t}.${e}`,message:`${t}.${e} '${i}' normalized to '${s}'`,type:n,field:e,canonical:s}))}return a}function Cd(e,t,n,r,i){if(Array.isArray(e))return e.map((e,a)=>Cd(e,t,`${n}[${a}]`,r,i));let a=vd(e);if(a===void 0)return e;let o={...a};for(let[e,a]of Object.entries(t.aliases))!(e in o)||a in o||(o[a]=o[e],delete o[e],i.push({kind:`alias`,path:`${n}.${e}`,message:`${n}.${e} normalized/adopted as '${a}'`,type:r,field:e,canonical:a}));for(let[e,a]of Object.entries(t.nested))o[e]!==void 0&&(o[e]=Cd(o[e],a,`${n}.${e}`,r,i));return o}function wd(e){if(Array.isArray(e))return e.map(wd);let t=vd(e);if(t===void 0)return e;let n={...t};return n.type===void 0&&Array.isArray(n.children)&&(n.type=`dir`),n.children!==void 0&&(n.children=wd(n.children)),n}function Td(e,t,n){if(!yd(e))return e;let r=e.type,i=ud[r];if(i===void 0)return e;let a=Sd(e,t,r,n);for(let[e,o]of Object.entries(i.nested))a[e]!==void 0&&(a[e]=Cd(a[e],o,`${t}.${e}`,r,n));let o=(e,t)=>Td(e,t,n),s=(e,t)=>Array.isArray(e)?e.map((e,n)=>o(e,`${t}[${n}]`)):e;if(r===`file-tree`&&a.items!==void 0&&(a.items=wd(a.items)),r===`stat`&&Array.isArray(a.items)&&a.label===void 0&&a.value===void 0){let e=xd(a.items,t,o);if(e!==null)return n.push({kind:`alias`,path:`${t}.items`,message:`${t}.items normalized into a row of 'stat' nodes`,type:r,field:`items`,canonical:`row`}),{type:`row`,items:e,...a.span===void 0?{}:{span:a.span}}}return r===`row`||r===`col`||r===`grid`||r===`card`||r===`file-tree`||r===`timeline`||r===`breadcrumb`?r!==`file-tree`&&r!==`timeline`&&r!==`breadcrumb`&&(a.items=s(a.items,`${t}.items`)):r===`list`&&Array.isArray(a.items)?a.items=a.items.map((e,n)=>{if(yd(e))return o(e,`${t}.items[${n}]`);if(Array.isArray(e)&&e.length===1&&typeof e[0]==`string`)return e[0];let r=vd(e);if(r===void 0||!(`description`in r))return r===void 0?e:{...r};let i={...r},a=i.description;return delete i.description,!(`desc`in i)&&typeof a==`string`&&(i.desc=a),i}):r===`keyvalue`&&Array.isArray(a.pairs)?a.pairs.length>0&&a.pairs.every(e=>Array.isArray(e))&&(a.pairs=a.pairs.map(e=>{let t=e;return{key:t[0],value:t.length>1?t[1]:``}})):r===`tabs`&&Array.isArray(a.tabs)?a.tabs=a.tabs.map((e,i)=>{let a=vd(e);if(a===void 0)return e;let s={...a};if(`content`in s){let e=`${t}.tabs[${i}].content`,a=`items`in s;a||(s.items=s.content),delete s.content,n.push({kind:`alias`,path:e,message:a?`${e} is ignored because canonical field 'items' is present`:`${e} normalized/adopted as 'items'`,type:r,field:`content`,canonical:`items`})}return s.items=Array.isArray(s.items)?s.items.map((e,n)=>o(e,`${t}.tabs[${i}].items[${n}]`)):s.items===void 0?[]:[o(s.items,`${t}.tabs[${i}].items[0]`)],s}):r===`accordion`&&Array.isArray(a.items)&&(a.items=a.items.map((e,n)=>{let r=vd(e);return r===void 0?e:{...r,items:Array.isArray(r.items)?r.items.map((e,r)=>o(e,`${t}.items[${n}].items[${r}]`)):r.items}})),a}function Ed(e){let t=[];if(typeof e==`string`)try{let n=JSON.parse(e);(vd(n)!==void 0||Array.isArray(n))&&(e=n,t.push({kind:`alias`,path:`spec`,message:`double-encoded JSON string unwrapped into a spec value`}))}catch{}Array.isArray(e)&&e.length>0&&(e={items:e},t.push({kind:`alias`,path:`items`,message:`root array normalized into an items envelope`}));let n=vd(e);if(n===void 0)return{value:e,warnings:t};let r={...n};return hd(r)?{value:Td(r,`spec`,t),warnings:t}:(Array.isArray(r.items)&&(r.items=r.items.map((e,n)=>Td(e,`items[${n}]`,t))),{value:r,warnings:t})}function Dd(e){return typeof e==`object`&&e&&!Array.isArray(e)?e:void 0}function Od(e){let t=Dd(e);return t!==void 0&&typeof t.type==`string`}function kd(e,t,n){if(!Od(e))return;let r=e.type,i=ud[r];if(i===void 0)return;n(e,t,i);let a=(e,t)=>kd(e,t,n);(r===`row`||r===`col`||r===`grid`||r===`card`)&&Array.isArray(e.items)||r===`list`&&Array.isArray(e.items)?e.items.forEach((e,n)=>a(e,`${t}.items[${n}]`)):r===`tabs`&&Array.isArray(e.tabs)?e.tabs.forEach((e,n)=>{let r=Dd(e);r!==void 0&&(Array.isArray(r.items)?r.items.forEach((e,r)=>a(e,`${t}.tabs[${n}].items[${r}]`)):a(r.items,`${t}.tabs[${n}].items`))}):r===`accordion`&&Array.isArray(e.items)&&e.items.forEach((e,n)=>{let r=Dd(e);r?.items!==void 0&&Array.isArray(r.items)&&r.items.forEach((e,r)=>a(e,`${t}.items[${n}].items[${r}]`))})}function Ad(e,t,n,r){e.push({kind:`unknown-field`,path:`${t}.${n}`,message:`${t}.${n}: unknown field for '${r}'`,type:r,field:n})}function jd(e,t,n,r,i){let a=Dd(e);if(a!==void 0){for(let e of Object.keys(a))e in n.fields||Ad(i,t,e,r);for(let[e,o]of Object.entries(n.nested)){let n=a[e];Array.isArray(n)?n.forEach((n,a)=>jd(n,`${t}.${e}[${a}]`,o,r,i)):n!==void 0&&jd(n,`${t}.${e}`,o,r,i)}}}function Md(e,t,n,r){for(let[i,a]of Object.entries(n.nested)){let n=e[i];Array.isArray(n)?n.forEach((n,o)=>jd(n,`${t}.${i}[${o}]`,a,e.type,r)):n!==void 0&&jd(n,`${t}.${i}`,a,e.type,r)}}function Nd(e){let t=[],n=Dd(e);if(n===void 0)return t;let r=(e,n,r)=>{for(let i of Object.keys(e))i===`type`||i in r.fields||Ad(t,n,i,e.type);Md(e,n,r,t)};if(Array.isArray(n.items)&&!hd(n)){for(let e of Object.keys(n))e in ld.fields||Ad(t,`spec`,e,`spec`);n.items.forEach((e,t)=>kd(e,`items[${t}]`,r))}else if(typeof n.type==`string`)kd(n,`spec`,r);else for(let e of Object.keys(n))e in ld.fields||Ad(t,`spec`,e,`spec`);return t}function Pd(e,t){switch(t){case`string`:return typeof e==`string`;case`string-or-null`:return e===null||typeof e==`string`;case`number`:return typeof e==`number`&&Number.isFinite(e);case`boolean`:return typeof e==`boolean`;case`nodes`:return Array.isArray(e);case`array`:return Array.isArray(e);case`object`:return K(e)!==void 0;case`unknown`:return!0}}function Fd(e){switch(e){case`string-or-null`:return`a string or null`;case`number`:return`a finite number`;case`boolean`:return`a boolean`;case`nodes`:case`array`:return`an array`;case`object`:return`an object`;case`unknown`:return`a value`;default:return`a string`}}function Id(e,t,n){return e.some(e=>e.startsWith(`${t}.${n} `)||e.includes(`'${n}'`)||e.includes(`requires ${n}`))}function Ld(e,t,n,r,i=[]){for(let[a,o]of Object.entries(n.fields))i.includes(a)||e[a]===void 0||!Pd(e[a],o)&&!Id(r,t,a)&&r.push(`${t}.${a} must be ${Fd(o)}`);for(let[a,o]of Object.entries(n.enums))i.includes(a)||e[a]===void 0||!Pd(e[a],`string`)||!o.includes(e[a])&&!Id(r,t,a)&&r.push(`${t}.${a} must be one of ${o.join(`, `)}`)}function Rd(e,t,n,r){let i=K(e);if(i===void 0){r.push(`${t} must be an object`);return}for(let e of n.required){let a=n.fields[e];i[e]===void 0?Id(r,t,e)||r.push(`${t}: requires ${e}${a===void 0?``:` (${Fd(a)})`}`):a!==void 0&&!Pd(i[e],a)&&(Id(r,t,e)||r.push(`${t}.${e} must be ${Fd(a)}`))}for(let[e,a]of Object.entries(n.fields))i[e]!==void 0&&!Pd(i[e],a)&&(Id(r,t,e)||r.push(`${t}.${e} must be ${Fd(a)}`));for(let[e,a]of Object.entries(n.enums))i[e]!==void 0&&typeof i[e]==`string`&&!a.includes(i[e])&&(Id(r,t,e)||r.push(`${t}.${e} must be one of ${a.join(`, `)}`));for(let[e,a]of Object.entries(n.nested)){let n=i[e];n!==void 0&&(Array.isArray(n)?n.forEach((n,i)=>Rd(n,`${t}.${e}[${i}]`,a,r)):Rd(n,`${t}.${e}`,a,r))}}function zd(e,t,n,r){for(let[i,a]of Object.entries(n.nested)){let n=e[i];n!==void 0&&(Array.isArray(n)?n.forEach((e,n)=>Rd(e,`${t}.${i}[${n}]`,a,r)):Rd(n,`${t}.${i}`,a,r))}}function Bd(e){let t=e.rows===void 0?e.data:e.rows;return!Array.isArray(t)||t.length===0?!1:Array.isArray(t[0])}function Vd(e,t,n,r){let i=String(e.type),a=e=>Id(r,t,e),o=i===`table`&&Bd(e)?`columns`:null;for(let s of n.required){let c=n.fields[s];if(c===void 0||e[s]===void 0){s!==o&&!a(s)&&r.push(`${t}: type '${i}' requires ${s}${c===void 0?``:` (${Fd(c)})`}`);continue}!Pd(e[s],c)&&!a(s)&&r.push(`${t}.${s} must be ${Fd(c)}`)}Ld(e,t,n,r,[`type`]);for(let a of n.oneOfRequired)!a.some(t=>e[t]!==void 0)&&!r.some(e=>e.includes(`requires ${a.join(` or `)}`))&&r.push(`${t}: type '${i}' requires one of ${a.join(` or `)}`);for(let o of n.conditionalRequired)if(e[o.when.field]===o.when.equals)for(let n of o.required)e[n]===void 0&&!a(n)&&r.push(`${t}: type '${i}' requires ${n}${o.message===void 0?``:` (${o.message})`}`);zd(e,t,n,r)}function Hd(e,t,n){if(!Array.isArray(e))return[];let r=[];for(let i of e){if(t.remaining<=0)break;--t.remaining;let e=Gd(i,t,n);e!==null&&r.push(e)}return r}function Ud(e){if(!Array.isArray(e))return;let t=[];for(let n of e.slice(0,12)){let e=co(n);e!==void 0&&t.push(e)}return t.length>0?t:void 0}function Wd(e){if(!Array.isArray(e))return;let t=[];for(let n of e.slice(0,60)){let e=typeof n==`number`?n:Number(n);if(!Number.isFinite(e))return;t.push(e)}return t.length>=2?t:void 0}function Gd(e,t,n){let r=Kd(e,t,n);if(r===null)return null;let i=po(K(e)?.span,2,12);return i===void 0?r:{...r,span:i}}function Kd(e,t,n){if(n>X.maxDepth)return null;let r=K(e);if(r===void 0)return null;let i=r.type;if(typeof i!=`string`)return null;switch(i){case`text`:{let e=G(r.content,X.maxString)??G(r.text,X.maxString);return e===void 0?null:{type:`text`,content:e,...q(`size`,mo(r.size,Tu)),...q(`center`,r.center===!0||void 0)}}case`row`:return{type:`row`,items:Hd(r.items,t,n+1),...q(`wrap`,r.wrap===!0||void 0),...q(`spacer`,r.spacer===!0||void 0)};case`col`:return{type:`col`,items:Hd(r.items,t,n+1),...q(`gap`,fo(r.gap,0,96))};case`grid`:return{type:`grid`,cols:po(r.cols,1,X.maxGridCols)??1,items:Hd(r.items,t,n+1)};case`card`:return{type:`card`,items:Hd(r.items,t,n+1),...q(`title`,G(r.title,X.maxString)),...q(`tone`,mo(r.tone,Uu)),...q(`accent`,co(r.accent))};case`button`:{let e=G(r.label,X.maxString);return e===void 0?null:{type:`button`,label:e,...q(`tone`,mo(r.tone,Eu)),...q(`full`,r.full===!0||void 0),...q(`small`,r.small===!0||void 0),...q(`icon`,G(r.icon,64)),...q(`action`,G(r.action,200))}}case`input`:return{type:`input`,...q(`label`,G(r.label,X.maxString)),...q(`placeholder`,G(r.placeholder,X.maxString)),...q(`value`,G(r.value,X.maxString)),...q(`inputType`,mo(r.inputType,Ou)),...q(`action`,G(r.action,200)),...q(`id`,G(r.id,200))};case`select`:{let e=qd(r.options,X.maxOptions,X.maxString);return e===void 0?null:{type:`select`,options:e,...q(`label`,G(r.label,X.maxString)),...q(`action`,G(r.action,200)),...q(`selected`,po(r.selected,0,e.length-1)),...q(`id`,G(r.id,200))}}case`checkbox`:{let e=G(r.label,X.maxString);return e===void 0?null:{type:`checkbox`,label:e,...q(`checked`,r.checked===!0||void 0),...q(`action`,G(r.action,200)),...q(`group`,G(r.group,200))}}case`link`:{let e=G(r.label,X.maxString);return e===void 0?null:{type:`link`,label:e,...q(`href`,lo(r.href))}}case`image`:{let e=uo(r.src);return e===void 0?null:{type:`image`,src:e,...q(`alt`,G(r.alt,X.maxString))}}case`audio`:{let e=uo(r.src);return e===void 0?null:{type:`audio`,src:e,...q(`alt`,G(r.alt,X.maxString)),...q(`loop`,r.loop===!0||void 0)}}case`video`:{let e=uo(r.src);return e===void 0?null:{type:`video`,src:e,...q(`alt`,G(r.alt,X.maxString)),...q(`poster`,uo(r.poster)),...q(`loop`,r.loop===!0||void 0),...q(`muted`,r.muted===!0||void 0),...q(`aspectRatio`,mo(r.aspectRatio,Mu))}}case`badge`:{let e=G(r.label,X.maxString)??G(r.text,X.maxString)??G(r.value,X.maxString);return e===void 0?null:{type:`badge`,label:e,...q(`tone`,mo(r.tone,Du)),...q(`icon`,G(r.icon,64))}}case`hero`:{let e=G(r.title,X.maxString);return e===void 0?null:{type:`hero`,title:e,...q(`subtitle`,G(r.subtitle,X.maxString)),...q(`value`,G(r.value,128)),...q(`label`,G(r.label,X.maxString)),...q(`delta`,G(r.delta,64)),...q(`spark`,Wd(r.spark)),...q(`tone`,mo(r.tone,Wu))}}case`stat`:{let e=G(r.label,X.maxString),t=G(r.value,128);return e===void 0||t===void 0?null:{type:`stat`,label:e,value:t,...q(`delta`,G(r.delta,64)),...q(`spark`,Wd(r.spark)),...q(`size`,r.size===`hero`?`hero`:void 0)}}case`progress`:{let e=fo(r.value,0,100);return e===void 0?null:{type:`progress`,value:e,...q(`label`,G(r.label,X.maxString)),...q(`valueLabel`,G(r.valueLabel,64)),...q(`variant`,mo(r.variant,Hu)),...q(`target`,fo(r.target,0,100))}}case`divider`:return{type:`divider`};case`spacer`:return{type:`spacer`};case`avatar`:{let e=G(r.name,64);return e===void 0?null:{type:`avatar`,name:e,...q(`color`,co(r.color))}}case`list`:{let e=Jd(r.items,X.maxListItems,t,n+1);return e===void 0?null:{type:`list`,items:e,...q(`filter`,G(r.filter,64))}}case`table`:{let e=r.columns,i=r.rows===void 0?r.data:r.rows;if(Array.isArray(e)&&e.length>0&&typeof e[0]==`object`&&e[0]!==null&&(e=e.map(e=>tf(e))),Array.isArray(i)&&i.length>0&&typeof i[0]==`object`&&i[0]!==null&&!Array.isArray(i[0])){let e=Array.isArray(r.columns)&&r.columns.length>0&&typeof r.columns[0]==`object`&&r.columns[0]!==null?r.columns.map(e=>nf(e)).filter(e=>e!==void 0):Object.keys(i[0]);i=i.map(t=>e.map(e=>rf(t[e])))}let a=null;if((!Array.isArray(e)||e.length===0)&&Array.isArray(i)&&i.length>0&&Array.isArray(i[0])){let t=Yd(i,X.maxTableRows,X.maxTableCols),n=t===void 0||t.length===0?null:Zd(t);n!==null&&Yd(n.rows,X.maxTableRows,X.maxTableCols)?.length===n.rows.length&&(a=n,e=n.columns)}let o=qd(e,X.maxTableCols,128),s=Yd(a===null?i:a.rows,X.maxTableRows,X.maxTableCols);if(o===void 0||s===void 0)return null;let c=Array.isArray(r.types)?r.types:void 0,l=c===void 0?void 0:o.map((e,t)=>{let n=c[t];return typeof n==`string`&&Gu.includes(n)?n:`text`}),u=Array.isArray(r.details)?r.details:void 0,d=u===void 0?void 0:s.map((e,r)=>{let i=Hd(u[r],t,n+1);return i.length===0?null:i});return{type:`table`,columns:o,rows:s,...q(`types`,l),...q(`total`,r.total===!0||void 0),...q(`export`,r.export===!0||void 0),...q(`filter`,G(r.filter,64)),...q(`filterColumn`,po(r.filterColumn,0,X.maxTableCols-1)),...q(`sortField`,G(r.sortField,64)),...q(`details`,d!==void 0&&d.some(e=>e!==null)?d:void 0)}}case`chart`:{let e=Qd(r.data,X.maxChartPoints),t=Array.isArray(r.series)?$d(r.series,X.maxPlotSeries,X.maxChartPoints):void 0;return e===void 0&&t===void 0?null:{type:`chart`,data:e??[],...q(`kind`,mo(r.kind,Au)),...q(`series`,t),...q(`horizontal`,r.horizontal===!0||void 0),...q(`stacked`,r.stacked===!0||void 0),...q(`filter`,G(r.filter,64)),...q(`palette`,Ud(r.palette))}}case`tabs`:{let e=ef(r.tabs,t,n);return e===void 0?null:{type:`tabs`,tabs:e}}case`plot`:{let e=af(r.series,X.maxPlotSeries);return e===void 0?null:{type:`plot`,series:e,...q(`xMin`,fo(r.xMin,-1e6,1e6)),...q(`xMax`,fo(r.xMax,-1e6,1e6)),...q(`yMin`,fo(r.yMin,-1e9,1e9)),...q(`yMax`,fo(r.yMax,-1e9,1e9)),...q(`title`,G(r.title,X.maxString))}}case`callout`:{let e=G(r.content,X.maxString);return e===void 0?null:{type:`callout`,content:e,...q(`tone`,mo(r.tone,ku)),...q(`title`,G(r.title,X.maxString))}}case`steps`:{let e=of(r.steps);return e===void 0?null:{type:`steps`,steps:e,...q(`current`,po(r.current,0,e.length))}}case`keyvalue`:{let e=sf(r.pairs,X.maxKeyValuePairs);return e===void 0?null:{type:`keyvalue`,pairs:e}}case`diff`:{let e=cf(r.diffs);return e===void 0?null:{type:`diff`,diffs:e}}case`json`:return`value`in r?{type:`json`,value:r.value}:null;case`code`:{let e=G(r.code,X.maxCode);return e===void 0?null:{type:`code`,code:e,...q(`lang`,G(r.lang,64))}}case`radio`:{let e=qd(r.options,X.maxOptions,X.maxString);return e===void 0?null:{type:`radio`,options:e,...q(`label`,G(r.label,X.maxString)),...q(`selected`,po(r.selected,0,e.length-1)),...q(`action`,G(r.action,200)),...q(`group`,G(r.group,200)),...q(`answer`,typeof r.answer==`number`&&Number.isFinite(r.answer)&&r.answer>=0&&r.answer<e.length?Math.trunc(r.answer):typeof r.answer==`string`?r.answer.slice(0,512):void 0),...q(`explanation`,G(r.explanation,X.maxString))}}case`submit`:{let e=G(r.label,X.maxString),t=G(r.action,200);return e===void 0?null:{type:`submit`,label:e,...q(`action`,t),...q(`resetAction`,G(r.resetAction,200)),...q(`groups`,qd(r.groups,X.maxOptions,200))}}case`switch`:{let e=G(r.label,X.maxString);return e===void 0?null:{type:`switch`,label:e,...q(`checked`,r.checked===!0||void 0),...q(`action`,G(r.action,200))}}case`slider`:{let e=fo(r.min,-1e9,1e9)??0,t=fo(r.max,-1e9,1e9)??100,n=Math.min(e,t),i=Math.max(e,t),a=fo(r.step,1e-9,Math.max(i-n,1e-9)),o=fo(r.value,n,i)??n;return{type:`slider`,min:n,max:i,...q(`step`,a),value:o,...q(`label`,G(r.label,X.maxString)),...q(`action`,G(r.action,200)),...q(`id`,G(r.id,200))}}case`textarea`:return{type:`textarea`,...q(`label`,G(r.label,X.maxString)),...q(`placeholder`,G(r.placeholder,X.maxString)),...q(`rows`,po(r.rows,1,30)),...q(`value`,G(r.value,X.maxString)),...q(`action`,G(r.action,200)),...q(`id`,G(r.id,200))};case`accordion`:{let e=lf(r.items,t,n);return e===void 0?null:{type:`accordion`,items:e}}case`copy`:{let e=G(r.text,X.maxCode);return e===void 0?null:{type:`copy`,text:e,...q(`label`,G(r.label,128))}}case`svg`:{let e=G(r.code,X.maxCode);return e===void 0?null:{type:`svg`,code:e,...q(`title`,G(r.title,X.maxString)),...q(`height`,po(r.height,100,800))}}case`mermaid`:{let e=G(r.code,X.maxMermaid);return e===void 0?null:{type:`mermaid`,code:e}}case`scene3d`:{let e=uf(r.meshes);return e===void 0?null:{type:`scene3d`,meshes:e,...q(`title`,G(r.title,X.maxString)),...q(`ambient`,fo(r.ambient,0,2)),...q(`background`,co(r.background))}}case`diagram`:return _f(r);case`timeline`:{let e=vf(r.items,X.maxTimelineItems);return e===void 0?null:{type:`timeline`,items:e}}case`file-tree`:{let e=yf(r.items,X.maxListItems);return e===void 0?null:{type:`file-tree`,items:e}}case`breadcrumb`:{let e=qd(r.items,X.maxBreadcrumbItems,X.maxString);return e===void 0?null:{type:`breadcrumb`,items:e}}case`quiz`:{let e=G(r.question,X.maxString),t=xf(r.options,r.answer);return e===void 0||t===void 0?null:{type:`quiz`,question:e,options:t,...q(`explanation`,G(r.explanation,X.maxString)),...q(`id`,G(r.id,200)),...q(`action`,G(r.action,200))}}case`echart`:{let e=r.data===void 0?void 0:Qd(r.data,X.maxChartPoints),t=r.series!==void 0&&Array.isArray(r.series)?$d(r.series,X.maxPlotSeries,X.maxChartPoints):void 0,n=Array.isArray(r.links)?r.links.slice(0,X.maxChartPoints).flatMap(e=>{let t=K(e),n=t===void 0?void 0:G(t.from,64),r=t===void 0?void 0:G(t.to,64);return n===void 0||r===void 0?[]:[{from:n,to:r,...q(`value`,fo(t.value,0,1e9))}]}):void 0,i=r.option===void 0?void 0:Cf(r.option,0,{count:X.maxEChartOptionNodes}),a=i===void 0||typeof i!=`object`||!i||Array.isArray(i)?void 0:i;return a===void 0&&e===void 0&&t===void 0&&(n===void 0||n.length===0)?null:{type:`echart`,...q(`title`,G(r.title,X.maxString)),...q(`height`,po(r.height,100,800)),...q(`preset`,mo(r.preset,Bu)),...q(`data`,e),...q(`series`,t),...q(`links`,n!==void 0&&n.length>0?n:void 0),...q(`palette`,Ud(r.palette)),...q(`option`,a)}}default:return e}}function qd(e,t,n){if(!Array.isArray(e))return;let r=[];for(let i of e){if(r.length>=t)break;if(typeof i==`string`)r.push(i.slice(0,n));else if(typeof i==`object`&&i){let e=i,t=typeof e.label==`string`?e.label:typeof e.value==`string`?e.value:typeof e.title==`string`?e.title:JSON.stringify(i);r.push(t.slice(0,n))}}return r}function Jd(e,t,n,r){if(!Array.isArray(e))return;let i=[];for(let a of e){if(i.length>=t)break;if(typeof a==`string`){i.push(a.slice(0,X.maxString));continue}let e=K(a),o=e===void 0?void 0:G(e.title,X.maxString);if(o!==void 0){i.push({title:o,...q(`desc`,e===void 0?void 0:G(e.desc,X.maxString)??G(e.description,X.maxString))});continue}if(e!==void 0&&typeof e.type==`string`){if(n.remaining<=0)break;--n.remaining;let t=Gd(e,n,r);t!==null&&i.push(t)}}return i}function Yd(e,t,n){if(!Array.isArray(e))return;let r=[];for(let i of e){if(r.length>=t)break;if(!Array.isArray(i))continue;let e=[];for(let t of i){if(e.length>=n)break;typeof t==`string`?e.push(t.slice(0,256)):typeof t==`number`&&Number.isFinite(t)&&e.push(t)}e.length>0&&r.push(e)}return r}function Xd(e){return Array.from({length:e},(e,t)=>`列${t+1}`)}function Zd(e){let t=e[0];if(t===void 0||t.length===0)return null;let n=e.slice(1);if(n.length===0){let e=t.map(e=>String(e).trim());return e.every(e=>e!==``)?{columns:e,rows:[]}:null}return n.every(e=>e.length===t.length)?{columns:t.map(e=>String(e).trim()),rows:n}:{columns:Xd(t.length),rows:e}}function Qd(e,t){if(!Array.isArray(e))return;let n=[];for(let r of e){if(n.length>=t)break;let e=K(r),i=e===void 0?void 0:G(e.label,128),a=e===void 0?void 0:fo(e.value,-0xe8d4a51000,0xe8d4a51000);i!==void 0&&a!==void 0&&n.push({label:i,value:a,...q(`color`,e===void 0?void 0:co(e.color))})}return n}function $d(e,t,n){if(!Array.isArray(e))return;let r=[];for(let i of e){if(r.length>=t)break;let e=K(i),a=e===void 0?void 0:G(e.label,128),o=e===void 0?void 0:Qd(e.data,n);a!==void 0&&o!==void 0&&r.push({label:a,data:o,...q(`color`,e===void 0?void 0:co(e.color))})}return r}function ef(e,t,n){if(!Array.isArray(e))return;let r=[];for(let i of e){if(r.length>=X.maxTabs)break;let e=K(i),a=e===void 0?void 0:G(e.label,128);if(a===void 0||e===void 0)continue;let o=e.items===void 0?e.content===void 0?void 0:Array.isArray(e.content)?e.content:[e.content]:e.items;r.push({label:a,items:Hd(o,t,n+1)})}return r}function tf(e){let t=K(e);if(t===void 0)return String(e);for(let e of[`title`,`label`,`key`,`dataIndex`]){let n=t[e];if(typeof n==`string`&&n!==``)return n}return JSON.stringify(e)}function nf(e){let t=K(e);if(t!==void 0)for(let e of[`key`,`dataIndex`,`title`,`label`]){let n=t[e];if(typeof n==`string`&&n!==``)return n}}function rf(e){return typeof e==`string`||typeof e==`number`&&Number.isFinite(e)?e:e==null?``:JSON.stringify(e)}function af(e,t){if(!Array.isArray(e))return;let n=[];for(let r of e){if(n.length>=t)break;let e=K(r),i=e===void 0?void 0:G(e.expr,512);if(i===void 0||e===void 0)continue;let a=[];if(Array.isArray(e.params))for(let t of e.params){if(a.length>=X.maxPlotParams)break;let e=K(t),n=e===void 0?void 0:G(e.name,64),r=e===void 0?void 0:fo(e.value,-1e9,1e9);n!==void 0&&r!==void 0&&a.push({name:n,value:r,...q(`min`,e===void 0?void 0:fo(e.min,-1e9,1e9)),...q(`max`,e===void 0?void 0:fo(e.max,-1e9,1e9)),...q(`step`,e===void 0?void 0:fo(e.step,1e-9,1e9)),...q(`animateTo`,e===void 0?void 0:fo(e.animateTo,-1e9,1e9)),...q(`durationMs`,e===void 0?void 0:fo(e.durationMs,1,12e4)),...q(`loop`,e===void 0?void 0:e.loop===!0||void 0)})}n.push({expr:i,...q(`label`,G(e.label,128)),...q(`color`,co(e.color)),...q(`kind`,mo(e.kind,ju)),...q(`params`,a.length>0?a:void 0)})}return n}function of(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(t.length>=X.maxSteps)break;let e=K(n),r=e===void 0?void 0:G(e.title,256);r!==void 0&&t.push({title:r,...q(`desc`,e===void 0?void 0:G(e.desc,X.maxString))})}return t}function sf(e,t){if(!Array.isArray(e))return;let n=[];for(let r of e){if(n.length>=t)break;let e=K(r),i=e===void 0?void 0:G(e.key,256),a=e===void 0?void 0:G(e.value,X.maxString);i!==void 0&&a!==void 0&&n.push({key:i,value:a})}return n}function cf(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(t.length>=24)break;let e=K(n),r=e===void 0?void 0:G(e.path,1024),i=e===void 0?void 0:G(e.newText,2e4);if(r===void 0||i===void 0)continue;let a=e===void 0?void 0:e.oldText;t.push({path:r,newText:i,oldText:a===null||typeof a!=`string`?null:a.slice(0,2e4)})}return t}function lf(e,t,n){if(!Array.isArray(e))return;let r=[];for(let i of e){if(r.length>=X.maxAccordionItems)break;let e=K(i),a=e===void 0?void 0:G(e.title,256);a!==void 0&&e!==void 0&&r.push({title:a,items:Hd(e.items,t,n+1)})}return r}function uf(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(t.length>=X.maxMeshes)break;let e=K(n),r=e===void 0?void 0:mo(e.shape,Nu);if(r===void 0)continue;let i=e===void 0?void 0:fo(e.scale,-1e6,1e6)??df(e.scale),a=e===void 0?void 0:fo(e.size,-1e6,1e6)??df(e.size);t.push({shape:r,...q(`color`,e===void 0?void 0:co(e.color)),...q(`position`,e===void 0?void 0:df(e.position)),...q(`rotation`,e===void 0?void 0:df(e.rotation)),...q(`scale`,i),...q(`size`,a)})}return t}function df(e){if(!Array.isArray(e)||e.length!==3)return;let[t,n,r]=e;if(!(typeof t!=`number`||!Number.isFinite(t)||typeof n!=`number`||!Number.isFinite(n)||typeof r!=`number`||!Number.isFinite(r)))return[Math.min(1e6,Math.max(-1e6,t)),Math.min(1e6,Math.max(-1e6,n)),Math.min(1e6,Math.max(-1e6,r))]}function ff(e,t,n){return Math.min(n,Math.max(t,Math.round(e/4)*4))}function pf(e){if(!Array.isArray(e))return;let t=[],n=new Set;for(let r of e){if(t.length>=X.maxDiagramNodes)break;let e=K(r);if(e===void 0)continue;let i=G(e.id,128),a=G(e.label,X.maxString);if(i===void 0||a===void 0||n.has(i))continue;n.add(i);let o=mo(e.type,Iu),s=e.x===void 0?void 0:ff(fo(e.x,-1e6,1e6)??0,0,1e6),c=e.y===void 0?void 0:ff(fo(e.y,-1e6,1e6)??0,0,1e6),l=e.w===void 0?void 0:ff(fo(e.w,-1e6,1e6)??96,40,2e3),u=e.h===void 0?void 0:ff(fo(e.h,-1e6,1e6)??48,24,1200);t.push({id:i,label:a,...q(`sub`,G(e.sub,256)),...q(`type`,o),...q(`x`,s),...q(`y`,c),...q(`w`,l),...q(`h`,u),...q(`tag`,G(e.tag,32))})}return t}function mf(e){if(e===void 0)return[];if(!Array.isArray(e))return;let t=[];for(let n of e){if(t.length>=X.maxDiagramEdges)break;let e=K(n);if(e===void 0)continue;let r=G(e.from,128),i=G(e.to,128);r!==void 0&&i!==void 0&&t.push({from:r,to:i,...q(`label`,G(e.label,X.maxDiagramLabel)),...q(`kind`,mo(e.kind,Ru)),...q(`route`,mo(e.route,zu))})}return t}function hf(e){let t=K(e);if(t===void 0)return;let n={};for(let e of[`paper`,`paper-2`,`ink`,`muted`,`soft`,`rule`,`accent`,`accent-tint`,`link`]){let r=co(t[e]);r!==void 0&&(n[e]=r)}return Object.keys(n).length===0?void 0:n}function gf(e){if(e===void 0)return[];if(!Array.isArray(e))return;let t=[];for(let n of e){if(t.length>=X.maxDiagramZones)break;let e=K(n);if(e===void 0)continue;let r=G(e.label,64);r!==void 0&&t.push({label:r,...q(`x`,e.x===void 0?void 0:ff(fo(e.x,-1e6,1e6)??0,0,1e6)),...q(`y`,e.y===void 0?void 0:ff(fo(e.y,-1e6,1e6)??0,0,1e6)),...q(`w`,e.w===void 0?void 0:ff(fo(e.w,-1e6,1e6)??100,40,2e3)),...q(`h`,e.h===void 0?void 0:ff(fo(e.h,-1e6,1e6)??100,40,1200))})}return t}function _f(e){let t=K(e);if(t===void 0)return null;let n=mo(t.kind,Fu);if(n===void 0)return null;let r=pf(t.nodes);if(r===void 0)return null;let i=mf(t.edges);if(i===void 0)return null;let a=gf(t.zones);return a===void 0?null:{type:`diagram`,kind:n,nodes:r,edges:i,...q(`zones`,a.length>0?a:void 0),...q(`variant`,mo(t.variant,Lu)),...q(`title`,G(t.title,256)),...q(`theme`,hf(t.theme))}}function vf(e,t){if(!Array.isArray(e))return;let n=[];for(let r of e){if(n.length>=t)break;let e=K(r),i=e===void 0?void 0:G(e.title,256);i!==void 0&&n.push({title:i,...q(`desc`,e===void 0?void 0:G(e.desc,X.maxString)),...q(`time`,e===void 0?void 0:G(e.time,128))})}return n}function yf(e,t){return bf(e,t,X.maxTreeDepth)}function bf(e,t,n){if(!Array.isArray(e))return;let r=[];for(let i of e){if(r.length>=t)break;let e=K(i),a=e===void 0?void 0:G(e.name,256);if(a===void 0)continue;let o=e!==void 0&&n>0&&Array.isArray(e.children)?bf(e.children,t,n-1):void 0;r.push({name:a,...q(`type`,e===void 0?void 0:mo(e.type,Pu)),...q(`children`,o)})}return r}function xf(e,t){if(!Array.isArray(e))return;let n=[];for(let t of e){if(n.length>=X.maxQuizOptions)break;let e=K(t),r=typeof t==`string`?G(t,512):e===void 0?void 0:G(e.label,512);r!==void 0&&n.push({label:r,...q(`correct`,e===void 0?void 0:e.correct===!0||void 0),...q(`feedback`,e===void 0?void 0:G(e.feedback,X.maxString))})}if(n.length===0)return;if(n.some(e=>e.correct===!0))return n;let r=typeof t==`number`&&Number.isFinite(t)?Math.trunc(t):typeof t==`string`?n.findIndex(e=>e.label===t.slice(0,512)):-1;return r<0||r>=n.length?n:n.map((e,t)=>t===r?{...e,correct:!0}:e)}let Sf=/<(?:script|img|svg|iframe|video|audio|object|embed|source)\b|on[a-z]+\s*=|javascript:/i;function Cf(e,t,n){if(n.count<=0||(--n.count,t>X.maxEChartOptionDepth))return;if(typeof e==`string`){let t=e.slice(0,X.maxString);return t.toLowerCase().includes(`url(`)||Sf.test(t)?void 0:t}if(typeof e==`number`&&Number.isFinite(e)||typeof e==`boolean`)return e;if(e===null)return null;if(Array.isArray(e)){let r=Math.min(e.length,X.maxEChartArrayLen),i=[];for(let a=0;a<r;a++){let r=Cf(e[a],t+1,n);r!==void 0&&i.push(r)}return i.length>0||e.length===0?i:void 0}let r=K(e);if(r===void 0)return;let i={};for(let[e,a]of Object.entries(r)){let r=Cf(a,t+1,n);r!==void 0&&(e===`tooltip`&&typeof r==`object`&&r&&!Array.isArray(r)&&(r.renderMode=`richText`),i[e]=r)}return Object.keys(i).length>0||Object.keys(r).length===0?i:void 0}function wf(e){let t=K(e);if(t===void 0)return null;if(hd(e)){let t=gd(e);return t===null?null:wf(t)}if(!Array.isArray(t.items))return null;let n={remaining:X.maxNodes};return{...q(`title`,G(t.title,X.maxString)),...q(`gap`,fo(t.gap,0,96)),...q(`panel`,t.panel===!0||void 0),...q(`append`,t.append===!0||void 0),items:Hd(t.items,n,0)}}function Tf(e){return wf(Ed(e).value)}function Ef(e,t=1/0){let n=0,r=e=>{if(Array.isArray(e))for(let i of e){if(n>=t)return;n+=1;let e=K(i);if(e!==void 0){if(e.type===`tabs`&&Array.isArray(e.tabs))for(let i of e.tabs){if(n>=t)return;let e=K(i);e!==void 0&&r(e.items)}else if(e.type===`accordion`&&Array.isArray(e.items))for(let i of e.items){if(n>=t)return;let e=K(i);e!==void 0&&r(e.items)}else if((e.type===`row`||e.type===`col`||e.type===`grid`||e.type===`card`)&&Array.isArray(e.items))r(e.items);else if(e.type!==`file-tree`&&e.type===`list`&&Array.isArray(e.items))for(let i of e.items){if(n>=t)return;let e=K(i);e!==void 0&&typeof e.type==`string`&&r([e])}}}},i=K(e);return r(i===void 0?[]:i.items),n}let Df=dd;function Of(e,t,n){let r=0,i=e=>{let t=K(e);return t!==void 0&&typeof t.type==`string`&&Df.has(t.type)};function a(e,n){if(Array.isArray(e)){for(let i=0;i<e.length;i++)if(o(e[i],`${n}[${i}]`),r>=t)return}}function o(e,c){if(r>=t||!i(e))return;let l=K(e);if(l!==void 0){if(r+=1,n(l,c),l.type===`tabs`&&Array.isArray(l.tabs))for(let e=0;e<l.tabs.length;e++)s(l.tabs[e],`${c}.tabs[${e}]`);else if(l.type===`accordion`&&Array.isArray(l.items))for(let e=0;e<l.items.length;e++)s(l.items[e],`${c}.items[${e}]`);else if((l.type===`row`||l.type===`col`||l.type===`grid`||l.type===`card`)&&Array.isArray(l.items))a(l.items,`${c}.items`);else if(l.type===`list`&&Array.isArray(l.items))for(let e=0;e<l.items.length;e++)o(l.items[e],`${c}.items[${e}]`)}}function s(e,t){let n=K(e);if(n===void 0)return;let r=n.items===void 0?n.content:n.items;Array.isArray(r)?a(r,`${t}.items`):o(r,`${t}.items`)}let c=K(e);return c===void 0||(hd(c)&&i(e)?o(e,`spec`):a(c.items,`items`)),r}function kf(e,t=1/0){return Of(e,t,()=>{})}function Af(e,t=1/0){return kf(e,t)}function jf(e){let t=[],n=K(e);if(n===void 0)return{ok:!1,errors:[`spec root must be an object`]};if(hd(e)){let t=gd(e);return t===null?{ok:!1,errors:[`spec.items must be an array`]}:jf(t)}if(!Array.isArray(n.items))return{ok:!1,errors:[`spec.items must be an array`]};Ld(n,`spec`,ld,t,[`items`]);let r=0,i=!1,a=(e,n,o)=>{if(!i){if(!Array.isArray(e)){t.push(`${o} must be an array`);return}for(let s=0;s<e.length;s++){if(i||r>=X.maxNodes){i||=(t.push(`spec exceeds ${X.maxNodes} nodes; tail elided`),!0);return}r+=1;let c=`${o}[${s}]`;Wf(e[s],n,c,t,a)}}};a(n.items,0,`items`);let o=[...new Set(t)];return{ok:o.length===0,errors:o}}function Mf(e){let t=Ed(e),n=wf(t.value),r=jf(t.value),i=kf(t.value,X.maxNodes+1),a=n===null?0:Af(n),o=n===null?0:Ef(n),s=r.errors.filter(e=>!e.includes(`: unknown type `));return i>a&&s.push(`repair dropped ${i-a} declared native node(s): declared ${i}, rendered ${a}`),{value:t.value,normalized:t.value,repaired:n,spec:n,errors:s,warnings:[...t.warnings,...Nd(t.value)],declaredCount:i,renderedCount:o,declaredNativeCount:i,renderedNativeCount:a,renderedTotalCount:o}}function Nf(e){return e.errors.length>0&&e.errors.every(e=>e.startsWith(`spec exceeds `)||e.startsWith(`repair dropped `))&&e.renderedNativeCount===X.maxNodes&&e.declaredNativeCount===X.maxNodes+1}function Pf(e){return e.spec!==null&&(e.errors.length===0||Nf(e))}let Ff=/^(items\[\d+\](?:\.(?:items\[\d+\]|tabs\[\d+\]\.items\[\d+\]))*)/;function If(e){let t=Ff.exec(e);return t===null?null:t[1]??null}function Lf(e,t){let n=[...t.matchAll(/(?:^|\.)(items|tabs)\[(\d+)\]/g)];if(n.length===0||n[n.length-1][1]!==`items`)return;let r=e;for(let e=0;e<n.length-1;e++){let t=n[e],i=K(r),a=i===void 0?void 0:i[t[1]];if(r=Array.isArray(a)?a[Number(t[2])]:void 0,r===void 0)return}let i=K(r),a=i===void 0?void 0:i.items;if(Array.isArray(a))return{array:a,index:Number(n[n.length-1][2])}}function Rf(e){try{return K(JSON.parse(JSON.stringify(e)))??null}catch{return null}}function zf(e){if(Pf(e))return e.spec;if(e.spec===null)return null;let t=K(e.value);if(t===void 0||hd(t)||e.declaredNativeCount<=1)return null;let n=new Set;for(let t of e.errors){if(t.startsWith(`spec exceeds `))continue;let e=If(t);e!==null&&n.add(e)}if(n.size===0)return null;let r=Rf(e.value);if(r===null)return null;let i=[...n].map(e=>Lf(r,e)).filter(e=>e!==void 0),a=new Map;for(let{array:e,index:t}of i){let n=a.get(e);n===void 0?a.set(e,[t]):n.push(t)}for(let[e,t]of a){t.sort((e,t)=>t-e);for(let n of t)e.splice(n,1)}let o=Mf(r);return!Pf(o)||o.renderedNativeCount===0?null:o.spec}function Bf(e,t,n){if(Array.isArray(e))for(let r=0;r<e.length;r++){let i=K(e[r]),a=`${t}[${r}]`;if(i===void 0){n.push(`${a} must be an object`);continue}typeof i.label!=`string`&&n.push(`${a}.label must be a string`),(typeof i.value!=`number`||!Number.isFinite(i.value))&&n.push(`${a}.value must be a finite number`),i.color!==void 0&&typeof i.color!=`string`&&n.push(`${a}.color must be a string`)}}function Vf(e,t,n){if(Array.isArray(e))for(let r=0;r<e.length;r++){let i=K(e[r]),a=`${t}[${r}]`;if(i===void 0){n.push(`${a} must be an object`);continue}typeof i.label!=`string`&&n.push(`${a}.label must be a string`),i.color!==void 0&&typeof i.color!=`string`&&n.push(`${a}.color must be a string`),Array.isArray(i.data)||n.push(`${a}.data must be an array`),Bf(i.data,`${a}.data`,n)}}function Hf(e,t,n){!Array.isArray(e.data)&&!Array.isArray(e.series)&&n.push(`${t}: type 'chart' requires data or series (array)`),e.variant!==void 0&&n.push(`${t}.variant is unsupported; use kind`),e.data!==void 0&&!Array.isArray(e.data)&&n.push(`${t}.data must be an array`),e.series!==void 0&&!Array.isArray(e.series)&&n.push(`${t}.series must be an array`),e.kind!==void 0&&(typeof e.kind!=`string`||!Au.includes(e.kind))&&n.push(`${t}.kind must be bars, line, or donut`);let r=e.kind===void 0?`bars`:e.kind,i=Array.isArray(e.series)?e.series:void 0;if(Array.isArray(e.data)&&e.data.length===0&&(i===void 0||i.length===0)&&n.push(`${t}.data must not be empty`),i!==void 0){i.length===0&&n.push(`${t}.series must not be empty`),r===`donut`&&n.push(`${t}.series is only supported for bars and line`);for(let e=0;e<i.length;e++){let r=K(i[e]);r!==void 0&&Array.isArray(r.data)&&r.data.length===0&&n.push(`${t}.series[${e}].data must not be empty`)}}r===`donut`&&e.data===void 0&&n.push(`${t}.data is required for donut`),r===`line`&&e.data===void 0&&(i===void 0||i.length===0)&&n.push(`${t}.data is required for line (or provide series)`),Bf(e.data,`${t}.data`,n),Vf(e.series,`${t}.series`,n)}function Uf(e,t,n){if(Array.isArray(e))for(let r=0;r<e.length;r++){let i=e[r];if(K(i)===void 0){if(!Array.isArray(i)){n.push(`${t}[${r}] must be an array or object`);continue}for(let e=0;e<i.length;e++){let a=i[e];typeof a!=`string`&&(typeof a!=`number`||!Number.isFinite(a))&&n.push(`${t}[${r}][${e}] must be a string or finite number`)}}}}function Wf(e,t,n,r,i){if(t>X.maxDepth){r.push(`${n}: exceeds max depth ${X.maxDepth}`);return}let a=K(e);if(a===void 0){r.push(`${n}: must be an object`);return}let o=a.type;if(typeof o!=`string`){r.push(`${n}: missing string 'type'`);return}let s=e=>{a[e]!==void 0&&typeof a[e]!=`string`&&r.push(`${n}: '${e}' must be a string`)},c=e=>{a[e]!==void 0&&(typeof a[e]!=`number`||!Number.isFinite(a[e]))&&r.push(`${n}: '${e}' must be a finite number`)};switch(o){case`text`:typeof a.content!=`string`&&typeof a.text!=`string`&&r.push(`${n}: type 'text' requires content or text (string)`),s(`content`),s(`text`);break;case`row`:case`col`:case`card`:case`grid`:Array.isArray(a.items)||r.push(`${n}: type '${o}' requires items (array)`),i(a.items,t+1,`${n}.items`),o===`grid`&&c(`cols`);break;case`button`:case`checkbox`:case`link`:case`switch`:typeof a.label!=`string`&&r.push(`${n}: type '${o}' requires label (string)`),s(`label`);break;case`image`:case`audio`:case`video`:typeof a.src!=`string`&&r.push(`${n}: type '${o}' requires src (string)`),s(`src`),s(`alt`),o===`video`&&s(`poster`);break;case`slider`:s(`label`),c(`min`),c(`max`),c(`step`),c(`value`);break;case`input`:case`textarea`:s(`label`),s(`placeholder`),s(`value`);break;case`select`:case`radio`:Array.isArray(a.options)||r.push(`${n}: type '${o}' requires options (array)`);break;case`submit`:typeof a.label!=`string`&&r.push(`${n}: type 'submit' requires label (string)`);break;case`badge`:typeof a.label!=`string`&&typeof a.text!=`string`&&typeof a.value!=`string`&&r.push(`${n}: type 'badge' requires label, text, or value (string)`),s(`label`),s(`text`),s(`value`);break;case`hero`:typeof a.title!=`string`&&r.push(`${n}: type 'hero' requires title (string)`),s(`subtitle`);break;case`stat`:typeof a.label!=`string`&&r.push(`${n}: type 'stat' requires label (string)`),typeof a.value!=`string`&&r.push(`${n}: type 'stat' requires value (string)`),s(`delta`);break;case`progress`:(typeof a.value!=`number`||!Number.isFinite(a.value)||a.value<0||a.value>100)&&r.push(`${n}: type 'progress' requires value (number 0..100)`),c(`value`);break;case`avatar`:typeof a.name!=`string`&&r.push(`${n}: type 'avatar' requires name (string)`);break;case`list`:if(Array.isArray(a.items)||r.push(`${n}: type 'list' requires items (array)`),Array.isArray(a.items))for(let e=0;e<a.items.length;e++){let o=K(a.items[e]);o!==void 0&&typeof o.type==`string`&&Wf(o,t+1,`${n}.items[${e}]`,r,i)}break;case`table`:!Array.isArray(a.columns)&&!Bd(a)&&r.push(`${n}: type 'table' requires columns (array)`),Array.isArray(a.rows)||r.push(`${n}: type 'table' requires rows (array)`),a.types!==void 0&&!Array.isArray(a.types)&&r.push(`${n}.types must be an array of column cell types`),a.details!==void 0&&!Array.isArray(a.details)&&r.push(`${n}.details must be an array aligned with rows`),Uf(a.rows,`${n}.rows`,r);break;case`chart`:Hf(a,n,r);break;case`tabs`:if(Array.isArray(a.tabs)||r.push(`${n}: type 'tabs' requires tabs (array)`),Array.isArray(a.tabs))for(let e=0;e<a.tabs.length;e++){let o=K(a.tabs[e]);if(o===void 0){r.push(`${n}.tabs[${e}] must be an object`);continue}typeof o.label!=`string`&&r.push(`${n}.tabs[${e}].label must be a string`),i(o.items,t+1,`${n}.tabs[${e}].items`)}break;case`plot`:Array.isArray(a.series)||r.push(`${n}: type 'plot' requires series (array)`);break;case`callout`:typeof a.content!=`string`&&r.push(`${n}: type 'callout' requires content (string)`);break;case`steps`:Array.isArray(a.steps)||r.push(`${n}: type 'steps' requires steps (array)`);break;case`keyvalue`:Array.isArray(a.pairs)||r.push(`${n}: type 'keyvalue' requires pairs (array)`);break;case`diff`:Array.isArray(a.diffs)||r.push(`${n}: type 'diff' requires diffs (array)`);break;case`json`:`value`in a||r.push(`${n}: type 'json' requires value`);break;case`code`:typeof a.code!=`string`&&r.push(`${n}: type 'code' requires code (string)`);break;case`accordion`:if(Array.isArray(a.items)||r.push(`${n}: type 'accordion' requires items (array)`),Array.isArray(a.items))for(let e=0;e<a.items.length;e++){let o=K(a.items[e]);if(o===void 0){r.push(`${n}.items[${e}] must be an object`);continue}typeof o.title!=`string`&&r.push(`${n}.items[${e}].title must be a string`),i(o.items,t+1,`${n}.items[${e}].items`)}break;case`copy`:typeof a.text!=`string`&&r.push(`${n}: type 'copy' requires text (string)`);break;case`svg`:typeof a.code!=`string`&&r.push(`${n}: type 'svg' requires code (string)`),c(`height`);break;case`mermaid`:typeof a.code!=`string`&&r.push(`${n}: type 'mermaid' requires code (string)`);break;case`scene3d`:Array.isArray(a.meshes)||r.push(`${n}: type 'scene3d' requires meshes (array)`);break;case`timeline`:Array.isArray(a.items)||r.push(`${n}: type 'timeline' requires items (array)`);break;case`file-tree`:Array.isArray(a.items)||r.push(`${n}: type 'file-tree' requires items (array)`);break;case`breadcrumb`:Array.isArray(a.items)||r.push(`${n}: type 'breadcrumb' requires items (array)`);break;case`quiz`:typeof a.question!=`string`&&r.push(`${n}: type 'quiz' requires question (string)`),Array.isArray(a.options)||r.push(`${n}: type 'quiz' requires options (array)`);break;case`diagram`:typeof a.kind!=`string`&&r.push(`${n}: type 'diagram' requires kind (string)`),Array.isArray(a.nodes)||r.push(`${n}: type 'diagram' requires nodes (array)`),a.edges!==void 0&&!Array.isArray(a.edges)&&r.push(`${n}: type 'diagram' requires edges (array) when present`);break;case`echart`:a.option===void 0&&a.data===void 0&&a.series===void 0&&(!Array.isArray(a.links)||a.links.length===0)&&r.push(`${n}: type 'echart' requires option, data, series, or links`),c(`height`);break;default:r.push(`${n}: unknown type '${o}' (custom renderer?)`)}let l=ud[o];l!==void 0&&Vd(a,n,l,r)}var Gf=class extends Error{code;constructor(e,t){super(t),this.code=e,this.name=`GenuiExportError`}};function Kf(e,t){if(e===void 0)return;let n=Object.fromEntries(Object.entries(e.fields??{}).filter(([e])=>!t.has(e)));return{...e.answers===void 0?{}:{answers:{...e.answers}},...e.multiAnswers===void 0?{}:{multiAnswers:Object.fromEntries(Object.entries(e.multiAnswers).map(([e,t])=>[e,[...t]]))},...e.locked===void 0?{}:{locked:e.locked},...Object.keys(n).length===0?{}:{fields:n}}}function qf(e,t){return e.map(e=>{let n=JSON.parse(JSON.stringify(e));return n.type===`input`&&n.inputType===`password`&&(typeof n.id==`string`&&t.add(n.id),delete n.value),Array.isArray(n.items)&&(n.items=n.type===`list`?n.items.map(e=>typeof e==`object`&&e&&`type`in e?qf([e],t)[0]:e):qf(n.items,t)),Array.isArray(n.tabs)&&(n.tabs=n.tabs.map(e=>({...e,items:qf(e.items,t)}))),n.type===`table`&&Array.isArray(n.details)&&(n.details=n.details.map(e=>e===null?null:qf(e,t))),n})}function Jf(e,t,n={}){let r=Mf(e);if(r.spec===null)throw new Gf(`artifact-invalid`,`invalid GenUI spec`);let{panel:i,append:a,...o}=r.spec,s=new Set,c={...o,items:qf(o.items,s)},l=n.theme??(typeof document<`u`&&document.body.hasAttribute(`data-ds-dark-theme`)?`dark`:`light`),u=Kf(t,s);return{format:`dsh-genui`,version:1,spec:c,...u===void 0?{}:{state:u},presentation:{locale:n.locale??Lo(),theme:l}}}function Yf(e){return JSON.stringify(e,null,2)}function Xf(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function Zf(e){return!Xf(e)||e.answers!==void 0&&(!Xf(e.answers)||!Object.values(e.answers).every(e=>typeof e==`string`))||e.multiAnswers!==void 0&&(!Xf(e.multiAnswers)||!Object.values(e.multiAnswers).every(e=>Array.isArray(e)&&e.every(e=>typeof e==`string`)))||e.locked!==void 0&&typeof e.locked!=`boolean`?!1:e.fields===void 0||Xf(e.fields)&&Object.values(e.fields).every(e=>typeof e==`string`)}function Qf(e){if(!Xf(e)||e.format!==`dsh-genui`||e.version!==1||!Xf(e.presentation)||e.presentation.locale!==`en`&&e.presentation.locale!==`zh`||e.presentation.theme!==`light`&&e.presentation.theme!==`dark`||e.state!==void 0&&!Zf(e.state))return null;let t=Mf(e.spec);return t.spec===null||t.errors.length>0?null:Jf(t.spec,e.state,{locale:e.presentation.locale,theme:e.presentation.theme})}Uc();let $f=new Map;function ep(e){let t=``,n=32768;for(let r=0;r<e.length;r+=n)t+=String.fromCharCode(...e.subarray(r,Math.min(r+n,e.length)));return btoa(t)}function tp(e){return e.replace(/[&<>"']/g,e=>({"&":`&amp;`,"<":`&lt;`,">":`&gt;`,'"':`&quot;`,"'":`&#39;`})[e])}function np(e,t){let n=$f.get(e);if(n!==void 0)return n;let r=fetch(Lc(e)).then(async n=>{if(!n.ok)throw new Gf(t===`runtime`?`runtime-fetch-failed`:`asset-fetch-failed`,`${e}: HTTP ${n.status}`);return new Uint8Array(await n.arrayBuffer())}).catch(n=>{throw $f.delete(e),n instanceof Gf?n:new Gf(t===`runtime`?`runtime-fetch-failed`:`asset-fetch-failed`,`${e}: ${n instanceof Error?n.message:`fetch failed`}`)});return $f.set(e,r),r}function rp(e,t){return`<script type="application/octet-stream" data-genui-bundle="${e}">${ep(t)}<\/script>`}function ip(e,t){let n=structuredClone(e);function r(e){if(Array.isArray(e)){for(let t of e)r(t);return}if(typeof e!=`object`||!e)return;let n=e;if(n.type===`image`||n.type===`audio`||n.type===`video`)for(let e of n.type===`video`?[`src`,`poster`]:[`src`]){let r=n[e];if(typeof r!=`string`||/^https?:\/\//i.test(r))continue;let i=new URL(r,t);if(i.protocol!==`http:`&&i.protocol!==`https:`)throw new Gf(`artifact-invalid`,`media URL cannot be exported: ${r}`);n[e]=i.href}for(let e of Object.values(n))r(e)}return r(n.items),n}function ap(){return`
259
+ `)a.push(`
260
+ `);else if(c.startsWith("`"))a.push((0,m.createElement)(`code`,{key:s++,className:w.inlineCode},c.slice(1,-1)));else if(c===`\\$`||c===`\\\\`)a.push(c.slice(1));else if(c.startsWith(`$`)||c.startsWith(`\\(`)||c.startsWith(`\\[`)){let e=c.startsWith(`$$`)||c.startsWith(`\\[`),t=c.startsWith(`$`)&&!e?1:2;a.push((0,m.createElement)(ho,{key:s++,source:c.slice(t,-t),display:e}))}else if(c.startsWith(`**`)||c.startsWith(`==`)){let e=c.startsWith(`**`);a.push((0,m.createElement)(e?`strong`:`mark`,{key:s++,className:e?w.inlineStrong:w.inlineMark},J(c.slice(2,-2),t,n+1)))}else{let e=/^\[([^\]\n]+)\]\(([^)\s]+)\)$/.exec(c);if(e===null)a.push(c);else{let r=lo(e[2]);a.push(r===void 0||!t?J(e[1],!1,n+1):(0,m.createElement)(`a`,{key:s++,className:w.inlineLink,href:r,target:`_blank`,rel:`noreferrer noopener`},J(e[1],!1,n+1)))}}o=i+c.length}return o<e.length&&a.push(e.slice(o)),a.length===0?e:a}let yo={"artifact.export":`Export`,"artifact.exportHtml":`HTML`,"artifact.exportJson":`GenUI JSON`,"artifact.exportFailed":`Export failed. Try again.`,"artifact.unsupportedCustom":`Cannot export HTML because the standalone runtime cannot render custom components: {types}. Export GenUI JSON to preserve these nodes.`,"artifact.externalMediaNotice":`External media may not appear when this file is opened offline.`,"panel.badge":`Panel`,"panel.title.default":`GenUI panel`,"panel.title.explore":`GenUI explorer`,"panel.templates":`Templates`,"panel.templates.aria":`Template center`,"panel.templates.title":`Template center: preview and try GenUI examples`,"panel.achievements":`Trophies`,"panel.achievements.aria":`Exploration trophies`,"panel.achievements.title":`Exploration trophies: badges and progress`,"panel.close.aria":`Close panel`,"panel.resize.aria":`Resize panel height`,"panel.hint":`💡 This is the GenUI session panel — hit “Templates” above to browse runnable examples`,"panel.boundary":`panel`,"panel.flash.inserted":`Instruction inserted into the composer — send it to generate`,"panel.cmd.hint":`Open the GenUI panel; /panel <instruction> to customize; /panel clear to empty`,"panel.cmd.description":`Open the GenUI panel (/panel clear empties it; /panel <instruction> tailors the content)`,"panel.default.heading":`GenUI generative interface`,"panel.default.subtitle":`The panel updates in place: say “update the panel” in chat, or run /panel again to refresh.`,"panel.default.stat.components":`Components`,"panel.default.stat.single":`Primitives`,"panel.default.stat.composite":`Composites`,"panel.default.stat.advanced":`Advanced`,"panel.default.group.single":`Primitives ×12`,"panel.default.group.composite":`Composites ×8`,"panel.default.group.data":`Data ×7`,"panel.default.group.interactive":`Interactive ×5`,"panel.default.group.advanced":`Advanced ×5`,"panel.default.group.teaching":`Teaching ×1`,"panel.default.callout.title":`How to update`,"panel.default.callout.body":`Say “update the panel” in chat → the model emits a panel:true fence; /panel clear empties it.`,"tpl.category.all":`All`,"tpl.category.dashboard":`Dashboard`,"tpl.category.data":`Data`,"tpl.category.flow":`Flow`,"tpl.category.chart":`Charts`,"tpl.category.interactive":`Interactive`,"tpl.category.quiz":`Quiz`,"tpl.category.advanced":`Advanced`,"tpl.categories.aria":`Template categories`,"tpl.try":`Try it: insert into composer`,"tpl.copy":`Copy instruction`,"tpl.copied":`✓ Copied`,"tpl.boundary.preview":`template preview`,"tpl.boundary.achievements":`trophy page`,"tpl.dashboard.name":`Project dashboard`,"tpl.dashboard.desc":`Core metrics on one card: numbers, deltas and a progress bar — the decision at a glance.`,"tpl.dashboard.instruction":`Use dsh-ui to build a dashboard for this project: 4 key-metric stat cards (with deltas), an overall progress bar, and a list of today’s 3 todos. Title it “Project dashboard”.`,"tpl.dashboard.demo.title":`Project dashboard (example)`,"tpl.dashboard.demo.metrics":`This week’s key metrics`,"tpl.dashboard.demo.done":`Completed`,"tpl.dashboard.demo.blocked":`Blocked`,"tpl.dashboard.demo.duration":`Avg. cycle time`,"tpl.dashboard.demo.coverage":`Coverage`,"tpl.dashboard.demo.progress":`Overall progress`,"tpl.dashboard.demo.milestone":`v1.0 milestone`,"tpl.dashboard.demo.todo":`Today’s todos`,"tpl.dashboard.demo.todo1":`Review the M1 template-center PR`,"tpl.dashboard.demo.todo2":`Sync vendor to SSiD`,"tpl.dashboard.demo.todo3":`Wednesday standup deck`,"tpl.compare.name":`Option comparison`,"tpl.compare.desc":`Options scored dimension by dimension — the contested cells jump out.`,"tpl.compare.instruction":`Use dsh-ui to turn these options into a comparison table: options A/B/C × dimensions (cost / complexity / risk / payoff), marking the recommended column; add a callout at the top stating the conclusion.`,"tpl.compare.demo.title":`Option comparison (example)`,"tpl.compare.demo.conclusion":`Conclusion`,"tpl.compare.demo.body":`Option B wins overall: medium cost, low complexity, low risk.`,"tpl.compare.demo.dimension":`Dimension`,"tpl.compare.demo.optionA":`Option A`,"tpl.compare.demo.optionB":`Option B ★`,"tpl.compare.demo.optionC":`Option C`,"tpl.compare.demo.cost":`Cost`,"tpl.compare.demo.complexity":`Complexity`,"tpl.compare.demo.risk":`Risk`,"tpl.compare.demo.payoff":`Payoff`,"tpl.compare.demo.high":`High`,"tpl.compare.demo.medium":`Medium`,"tpl.compare.demo.low":`Low`,"tpl.compare.demo.large":`Large`,"tpl.compare.demo.small":`Small`,"tpl.steps.name":`Five-step walkthrough`,"tpl.steps.desc":`Key steps on a timeline, one line each — for tutorials, handovers and release runbooks.`,"tpl.steps.instruction":`Use dsh-ui to turn the procedure into a steps walkthrough: 5 steps following the real flow, each with a title and a line or two of detail, with a badge at the top showing the expected duration.`,"tpl.steps.demo.title":`Getting started (example)`,"tpl.steps.demo.badge":`About 5 minutes`,"tpl.steps.demo.s1":`Install the plugin`,"tpl.steps.demo.s1desc":`From the plugin center, or npm-install it into your profile`,"tpl.steps.demo.s2":`Send your first instruction`,"tpl.steps.demo.s2desc":`Ask the model to answer with a dsh-ui interface`,"tpl.steps.demo.s3":`Try the interaction`,"tpl.steps.demo.s3desc":`Click a button, grade a quiz, switch a tab — actions travel back to the model`,"tpl.steps.demo.s4":`Pin a panel`,"tpl.steps.demo.s4desc":`The model uses panel:true to pin results to the session panel`,"tpl.steps.demo.s5":`Advanced components`,"tpl.steps.demo.s5desc":`Charts, diagrams and 3D load lazily, on demand`,"tpl.quiz.name":`Pop quiz`,"tpl.quiz.desc":`Graded the moment you answer: right or wrong plus an explanation — good for training.`,"tpl.quiz.instruction":`Use dsh-ui to write 3 pop-quiz questions (quiz component: question + options, exactly one correct, each with an explanation), titled “Pop quiz”, graded as soon as an option is picked.`,"tpl.quiz.demo.title":`Pop quiz (example)`,"tpl.quiz.demo.hint":`Picking an option grades it instantly and reveals the explanation.`,"tpl.quiz.demo.q1":`What is the smallest unit of a DSH plugin?`,"tpl.quiz.demo.q1a":`A service`,"tpl.quiz.demo.q1b":`A plugin (a cordis plugin)`,"tpl.quiz.demo.q1bfx":`✓ Everything is a plugin: services, tools and UI all register through one.`,"tpl.quiz.demo.q1c":`A tool`,"tpl.quiz.demo.q1exp":`DSH is built on cordis: every capability, services and tools included, registers as a plugin.`,"tpl.quiz.demo.q2":`Who emits a dsh-ui fence?`,"tpl.quiz.demo.q2a":`The user`,"tpl.quiz.demo.q2b":`The model`,"tpl.quiz.demo.q2bfx":`✓ The model writes the dsh-ui fence into its reply.`,"tpl.quiz.demo.q2c":`The host`,"tpl.quiz.demo.q2exp":`The model emits the fence; the renderer paints it into real components.`,"tpl.quiz.demo.q3":`Where does a panel:true fence render?`,"tpl.quiz.demo.q3a":`The message flow`,"tpl.quiz.demo.q3b":`The session panel dock`,"tpl.quiz.demo.q3bfx":`✓ Panel updates never spam the transcript.`,"tpl.quiz.demo.q3c":`The settings page`,"tpl.stats.name":`Key figures + progress`,"tpl.stats.desc":`Numbers, progress and milestones in one delivery — the standard weekly report.`,"tpl.stats.instruction":`Use dsh-ui to summarize this week: a keyvalue block with 3 key figures, two progress bars (planned vs actual), and a timeline with 3 milestones. Title it “Weekly snapshot”.`,"tpl.stats.demo.title":`Weekly snapshot (example)`,"tpl.stats.demo.done":`Completed`,"tpl.stats.demo.late":`Late`,"tpl.stats.demo.risk":`Risks`,"tpl.stats.demo.riskValue":`2 (both mitigated)`,"tpl.stats.demo.planned":`Planned progress`,"tpl.stats.demo.actual":`Actual progress`,"tpl.stats.demo.mon":`Monday`,"tpl.stats.demo.monDesc":`M1 development complete`,"tpl.stats.demo.wed":`Wednesday`,"tpl.stats.demo.wedDesc":`End-to-end verification passed`,"tpl.stats.demo.fri":`Friday`,"tpl.stats.demo.friDesc":`Shipped 0.9.4`,"tpl.chart.name":`Trend chart`,"tpl.chart.desc":`Data drawn straight into a chart — multiple series, trend visible at a glance.`,"tpl.chart.instruction":`Use dsh-ui to plot this data as a chart (bars, multi-series): completed vs planned over the last 6 weeks, with a one-line trend conclusion above the chart.`,"tpl.chart.demo.title":`Trend comparison (example)`,"tpl.chart.demo.conclusion":`Conclusion: completions rose 3 weeks running and overtook plan for the first time this week.`,"tpl.tabs.name":`Tabbed sections`,"tpl.tabs.desc":`A big block split into tabs: clear anchors, an uncluttered panel, no transcript spam.`,"tpl.tabs.instruction":`Use dsh-ui to split the content into three tabs: Overview / Details / FAQ, at most 3 points per tab. Title it “Feature tour”.`,"tpl.tabs.demo.title":`Feature tour (example)`,"tpl.tabs.demo.overview":`Overview`,"tpl.tabs.demo.overviewBody":`Three capabilities: live rendering, action round-trips, and a persistent panel.`,"tpl.tabs.demo.details":`Details`,"tpl.tabs.demo.d1":`Rendering: incremental fence parsing, painted as it streams`,"tpl.tabs.demo.d2":`Interaction: actions travel back and the model updates in place`,"tpl.tabs.demo.d3":`Panel: a session-level dock you can collapse and resize`,"tpl.tabs.demo.faqBody":`Q: What if the model never replies? A: Components still grade and expand locally.`,"tpl.checklist.name":`Release checklist`,"tpl.checklist.desc":`Tick every box before you ship: the list is the process, and gaps are visible.`,"tpl.checklist.instruction":`Use dsh-ui to build a release checklist: 6 tickable checkbox items (tests / docs / release / rollback / monitoring / announcement), with a badge at the top reading “Tick everything before merging”.`,"tpl.checklist.demo.title":`Release checklist (example)`,"tpl.checklist.demo.badge":`Tick everything before merging`,"tpl.checklist.demo.c1":`Unit tests pass`,"tpl.checklist.demo.c2":`Docs updated`,"tpl.checklist.demo.c3":`Release bundle ready`,"tpl.checklist.demo.c4":`Rollback plan`,"tpl.accordion.name":`FAQ accordion`,"tpl.accordion.desc":`Questions and answers folded away: long documents get short and answers stop intimidating.`,"tpl.accordion.instruction":`Use dsh-ui to build an FAQ accordion: 5 common questions, the question as the header and the answer inside, with the first one expanded by default.`,"tpl.accordion.demo.title":`FAQ (example)`,"tpl.accordion.demo.q1":`Which chart types are supported?`,"tpl.accordion.demo.a1":`chart (bars/line/donut), plot for function graphs, and echart for the full chart library.`,"tpl.accordion.demo.q2":`Does the panel persist?`,"tpl.accordion.demo.a2":`The same content fingerprint restores its state across refresh and replay; new content resets.`,"tpl.accordion.demo.q3":`Do interactions disturb the model?`,"tpl.accordion.demo.a3":`Only components carrying an action send anything; pure display costs zero round-trips.`,"tpl.diagram.name":`System architecture`,"tpl.diagram.desc":`Architecture drawn as SVG: layered nodes, real edges, labelled zones — clearer than a screenshot.`,"tpl.diagram.instruction":`Use dsh-ui to draw an architecture diagram: 5 nodes of this system and their connections (kind: architecture or flowchart), including one security zone.`,"tpl.diagram.demo.title":`Architecture (example)`,"tpl.diagram.demo.caption":`DSH plugin path`,"tpl.diagram.demo.model":`Model`,"tpl.diagram.demo.plugin":`Plugin`,"tpl.diagram.demo.host":`Host`,"tpl.3d.name":`3D scene`,"tpl.3d.desc":`A rotatable 3D scene — for product demos and spatial explanations.`,"tpl.3d.instruction":`Use dsh-ui to render a 3D scene (scene3d): a cube and a sphere, titled “Example scene”, with a sentence on when to use it.`,"tpl.3d.demo.title":`3D scene (example)`,"tpl.3d.demo.note":`The first load downloads three.js (~700KB, lazily); afterwards it comes from cache.`,"tpl.3d.demo.scene":`Example scene`,"tpl.breadcrumb.name":`Path breadcrumb`,"tpl.breadcrumb.desc":`Long paths as breadcrumbs: file location and org hierarchy read instantly.`,"tpl.breadcrumb.instruction":`Use dsh-ui to show the current workspace layout: a breadcrumb for the file path (4 segments) and a file-tree of the project (3 directories, 2 children each).`,"tpl.breadcrumb.demo.title":`Directory layout (example)`,"tpl.breadcrumb.demo.workspace":`Workspace`,"ach.page.title":`GenUI exploration trophies`,"ach.stat.unlocked":`Unlocked`,"ach.stat.rendered":`Interfaces rendered`,"ach.stat.interactions":`Interactions`,"ach.progress":`Exploration progress`,"ach.rarity.common":`Common`,"ach.rarity.rare":`Rare`,"ach.rarity.legendary":`Legendary`,"ach.hidden.name":`?`,"ach.hidden.desc":`Keep exploring to reveal`,"ach.toast.unlocked":`Trophy unlocked: {name}`,"ach.first-fence.name":`First contact`,"ach.first-fence.desc":`Rendered your first GenUI interface.`,"ach.fence-5.name":`Getting the hang of it`,"ach.fence-5.desc":`Rendered 5 interfaces.`,"ach.fence-25.name":`Interface weaver`,"ach.fence-25.desc":`Rendered 25 interfaces.`,"ach.fence-50.name":`Soul of the blueprint`,"ach.fence-50.desc":`Rendered 50 interfaces — you and GenUI go way back.`,"ach.first-interaction.name":`The button works`,"ach.first-interaction.desc":`Triggered a component interaction for the first time.`,"ach.interaction-10.name":`Little puppeteer`,"ach.interaction-10.desc":`Triggered 10 component interactions.`,"ach.first-panel.name":`Pinned to the wall`,"ach.first-panel.desc":`Pinned content to the session panel for the first time.`,"ach.panel-5.name":`Panel keeper`,"ach.panel-5.desc":`Used the panel in 5 different sessions.`,"ach.first-chart.name":`Chart enthusiast`,"ach.first-chart.desc":`Rendered your first chart (chart/plot/echart).`,"ach.chart-10.name":`Data visualizer`,"ach.chart-10.desc":`Charts appeared in 10 interfaces.`,"ach.first-advanced.name":`Power user`,"ach.first-advanced.desc":`Used 3D, a chart engine, or an architecture diagram.`,"ach.template-1.name":`Template student`,"ach.template-1.desc":`Tried a template from the template center.`,"label.copy":`Copy`,"label.copied":`Copied`,"label.copiedDone":`Copied`,"label.copiedShort":`✓ Copied`,"label.copiedToClipboard":`Copied to clipboard`,"label.copyFailed":`Copy failed`,"label.code":`Code`,"label.wrap":`Wrap lines`,"label.unwrap":`Unwrap lines`,"label.collapse":`Collapse`,"label.collapseDiff.aria":`Collapse diff`,"label.expandDiff.aria":`Show the remaining {hidden} diff lines`,"label.expandDiff":`… {hidden} more lines`,"label.diffFiles":`{count} files`,"label.copyValue":`Copy value`,"label.copyJson":`Copy JSON`,"label.copyPath":`Copy property path`,"label.copyPrettyJson":`Copy formatted JSON`,"label.copyCompactJson":`Copy compact JSON`,"label.collapseNode":`Collapse JSON node`,"label.expandNode":`Expand JSON node`,"label.copyButtonTitle":`{action}; right-click for copy options`,"block.copyMarkdown":`Copy Markdown`,"block.copyCsv":`Copy CSV`,"block.total":`Total`,"block.filteredRows":`{visible} / {total} rows after filtering`,"block.filterMatch":`{shown} / {total} matched`,"block.triggered":`✓ Sent`,"block.triggeredPlain":`Sent`,"block.audio":`Audio`,"block.audioError":`Audio cannot be played`,"block.video":`Video`,"block.videoError":`Video cannot be played`,"block.image":`Image`,"block.imageError":`Image failed to load`,"block.svgLabel":`SVG diagram`,"block.svgPreview":`Preview`,"block.svgSource":`Source`,"block.svgError":`SVG could not be displayed — showing the source instead`,"block.mermaidError":`Invalid diagram syntax — showing the source instead`,"block.mermaidLoading":`Rendering…`,"block.scene3dLoading":`Loading 3D scene…`,"block.scene3dError":`3D rendering failed`,"block.quizCorrect":`✓ Correct!`,"block.quizWrong":`✗ Try again`,"block.quizRetry":`Start over`,"block.selectPlaceholder":`Choose…`,"block.score":`Score`,"block.scoreUngraded":` ({count} unanswered, not scored)`,"block.yourAnswer":`Your answer:`,"block.correctAnswer":` Correct answer:`,"block.selectedCount":`{answered}/{total} answered`,"block.target":`Target {value}%`,"block.chart.barsAria":`Horizontal bar chart, {count} groups`,"block.chart.barsSummary":`Bar chart, {count} groups, max {max}`,"block.chart.lineSeries":`Line chart, {count} series, range {min} to {max}`,"block.chart.linePoints":`Line chart, {count} points, range {min} to {max}`,"block.chart.donutSummary":`Donut chart, {count} slices, total {total}`,"block.chart.node":`Point`,"err.boundary.generic":`this interface`,"err.boundary.fence":`this interface`,"err.boundary.body":`⚠️ {label} failed to render (isolated — the rest of the reply is unaffected)`,"err.fieldValidation":`GenUI field validation failed: {errors}`,"err.chartValidation":`chart field validation failed: {errors}`,"err.fenceKeptAsCode":`⚠️ dsh-ui {diagnostic} — the fence stays a code block; fix it and resend.`,"err.fenceParse":`⚠️ dsh-ui fence JSON failed to parse{diagnostic} — the fence stays a code block; ask the model to fix the JSON and resend.`},bo={"artifact.export":`导出`,"artifact.exportHtml":`HTML`,"artifact.exportJson":`GenUI JSON`,"artifact.exportFailed":`导出失败,请重试。`,"artifact.unsupportedCustom":`无法导出 HTML:独立运行环境无法显示自定义组件 {types}。可导出 GenUI JSON 保存这些节点。`,"artifact.externalMediaNotice":`此页面含有外部媒体,离线打开时部分内容可能无法显示。`,"panel.badge":`面板`,"panel.title.default":`GenUI 面板`,"panel.title.explore":`GenUI 探索`,"panel.templates":`模板`,"panel.templates.aria":`模板中心`,"panel.templates.title":`模板中心:预览并试用 GenUI 示例`,"panel.achievements":`成就`,"panel.achievements.aria":`探索成就`,"panel.achievements.title":`探索成就:解锁徽章与进度`,"panel.close.aria":`关闭面板`,"panel.resize.aria":`调整面板高度`,"panel.hint":`💡 这是 GenUI 会话面板:点右上角「模板」可浏览并试用示例`,"panel.boundary":`面板`,"panel.flash.inserted":`指令已插入输入框,发送即可让模型生成`,"panel.cmd.hint":`开启 GenUI 面板;/panel <指令> 让模型定制;/panel clear 清空`,"panel.cmd.description":`开启 GenUI 面板(/panel clear 清空;/panel <指令> 定制内容)`,"panel.default.heading":`GenUI 生成式界面`,"panel.default.subtitle":`面板会原地更新:对话里说「更新面板」,或再次执行 /panel 刷新。`,"panel.default.stat.components":`组件`,"panel.default.stat.single":`单个`,"panel.default.stat.composite":`组合`,"panel.default.stat.advanced":`高级`,"panel.default.group.single":`单个 ×12`,"panel.default.group.composite":`组合 ×8`,"panel.default.group.data":`数据 ×7`,"panel.default.group.interactive":`交互 ×5`,"panel.default.group.advanced":`高级 ×5`,"panel.default.group.teaching":`教学 ×1`,"panel.default.callout.title":`更新方式`,"panel.default.callout.body":`对话说「更新面板」→ 模型输出 panel:true 围栏;/panel clear 清空面板。`,"tpl.category.all":`全部`,"tpl.category.dashboard":`仪表盘`,"tpl.category.data":`数据`,"tpl.category.flow":`流程`,"tpl.category.chart":`图表`,"tpl.category.interactive":`交互`,"tpl.category.quiz":`测验`,"tpl.category.advanced":`高级`,"tpl.categories.aria":`模板分类`,"tpl.try":`试用:插入输入框`,"tpl.copy":`复制指令`,"tpl.copied":`✓ 已复制`,"tpl.boundary.preview":`模板预览`,"tpl.boundary.achievements":`成就页`,"tpl.dashboard.name":`项目仪表盘`,"tpl.dashboard.desc":`一张卡片汇总核心指标:数字 + 环比 + 进度条,决策一眼可见。`,"tpl.dashboard.instruction":`请用 dsh-ui 给当前项目做一个仪表盘:4 个关键指标的 stat 卡片(带环比 delta)、整体进度 progress 条、今天的 3 件待办 list。标题用「项目仪表盘」。`,"tpl.dashboard.demo.title":`项目仪表盘(示例)`,"tpl.dashboard.demo.metrics":`本周关键指标`,"tpl.dashboard.demo.done":`本周完成`,"tpl.dashboard.demo.blocked":`阻塞事项`,"tpl.dashboard.demo.duration":`平均耗时`,"tpl.dashboard.demo.coverage":`覆盖率`,"tpl.dashboard.demo.progress":`整体进度`,"tpl.dashboard.demo.milestone":`v1.0 里程碑`,"tpl.dashboard.demo.todo":`今日待办`,"tpl.dashboard.demo.todo1":`评审 M1 模板中心 PR`,"tpl.dashboard.demo.todo2":`同步 vendor 到 SSiD`,"tpl.dashboard.demo.todo3":`周三周会材料`,"tpl.compare.name":`方案对比表`,"tpl.compare.desc":`多方案逐维度对照,表格直接可读,争议点一目了然。`,"tpl.compare.instruction":`请用 dsh-ui 把以下方案的对比做成一张 table:方案 A/B/C × 维度(成本/复杂度/风险/收益),列首高亮推荐项;顶部加一行 callout 说明结论。`,"tpl.compare.demo.title":`方案对比(示例)`,"tpl.compare.demo.conclusion":`结论`,"tpl.compare.demo.body":`方案 B 综合最优:成本中、复杂度低、风险低。`,"tpl.compare.demo.dimension":`维度`,"tpl.compare.demo.optionA":`方案 A`,"tpl.compare.demo.optionB":`方案 B ★`,"tpl.compare.demo.optionC":`方案 C`,"tpl.compare.demo.cost":`成本`,"tpl.compare.demo.complexity":`复杂度`,"tpl.compare.demo.risk":`风险`,"tpl.compare.demo.payoff":`收益`,"tpl.compare.demo.high":`高`,"tpl.compare.demo.medium":`中`,"tpl.compare.demo.low":`低`,"tpl.compare.demo.large":`大`,"tpl.compare.demo.small":`小`,"tpl.steps.name":`五步上手流程`,"tpl.steps.desc":`关键步骤排成时间线,每步一句要点,适合教程/交接/发布流程。`,"tpl.steps.instruction":`请用 dsh-ui 把操作步骤做成 steps 教程:5 步(按实际流程),每步标题 + 一两句要点,顶部用 badge 标出预计耗时。`,"tpl.steps.demo.title":`上手流程(示例)`,"tpl.steps.demo.badge":`约 5 分钟`,"tpl.steps.demo.s1":`安装插件`,"tpl.steps.demo.s1desc":`从插件中心安装,或 npm 安装到 profile`,"tpl.steps.demo.s2":`发送第一条指令`,"tpl.steps.demo.s2desc":`让模型用 dsh-ui 输出一个界面`,"tpl.steps.demo.s3":`体验交互`,"tpl.steps.demo.s3desc":`点按钮/判卷/切 tab,动作会回传模型`,"tpl.steps.demo.s4":`常驻面板`,"tpl.steps.demo.s4desc":`模型用 panel:true 把结果钉在会话面板`,"tpl.steps.demo.s5":`进阶组件`,"tpl.steps.demo.s5desc":`图表/流程/3D 按需懒加载`,"tpl.quiz.name":`随堂测验`,"tpl.quiz.desc":`一题一答即时判卷:选中即知对错,附讲解,适合培训问答。`,"tpl.quiz.instruction":`请用 dsh-ui 出 3 道随堂测验(quiz 组件:question + options,其中一项 correct,附 explanation),标题「随堂测验」,每题即选即评。`,"tpl.quiz.demo.title":`随堂测验(示例)`,"tpl.quiz.demo.hint":`选中即判卷并显示讲解。`,"tpl.quiz.demo.q1":`DSH 插件的最小单位是?`,"tpl.quiz.demo.q1a":`服务`,"tpl.quiz.demo.q1b":`插件(cordis 插件)`,"tpl.quiz.demo.q1bfx":`✓ 一切皆插件:服务、工具、UI 都通过插件注册。`,"tpl.quiz.demo.q1c":`工具`,"tpl.quiz.demo.q1exp":`DSH 基于 cordis,任何能力(含服务与工具)都以插件形式注册。`,"tpl.quiz.demo.q2":`dsh-ui 围栏由谁输出?`,"tpl.quiz.demo.q2a":`用户`,"tpl.quiz.demo.q2b":`模型`,"tpl.quiz.demo.q2bfx":`✓ 模型在回复中输出 dsh-ui fence。`,"tpl.quiz.demo.q2c":`宿主`,"tpl.quiz.demo.q2exp":`模型输出 fence,渲染器将其画成真实组件。`,"tpl.quiz.demo.q3":`panel:true 的围栏渲染到哪里?`,"tpl.quiz.demo.q3a":`消息流`,"tpl.quiz.demo.q3b":`会话面板 dock`,"tpl.quiz.demo.q3bfx":`✓ 面板更新不刷屏。`,"tpl.quiz.demo.q3c":`设置页`,"tpl.stats.name":`关键值 + 进度`,"tpl.stats.desc":`一次交付:数值、进度、里程碑三件套,周报/复盘通用。`,"tpl.stats.instruction":`请用 dsh-ui 总结本周关键数据:keyvalue 列 3 组关键值、两根 progress 进度(计划 vs 实际)、timeline 放 3 个里程碑,标题「周报速览」。`,"tpl.stats.demo.title":`周报速览(示例)`,"tpl.stats.demo.done":`完成项`,"tpl.stats.demo.late":`延期`,"tpl.stats.demo.risk":`风险`,"tpl.stats.demo.riskValue":`2(均已有缓解)`,"tpl.stats.demo.planned":`计划进度`,"tpl.stats.demo.actual":`实际进度`,"tpl.stats.demo.mon":`周一`,"tpl.stats.demo.monDesc":`完成 M1 开发`,"tpl.stats.demo.wed":`周三`,"tpl.stats.demo.wedDesc":`全链路验证通过`,"tpl.stats.demo.fri":`周五`,"tpl.stats.demo.friDesc":`发布 0.9.4`,"tpl.chart.name":`趋势柱状图`,"tpl.chart.desc":`数据直接画成柱状图,多序列对比,走势一眼看清。`,"tpl.chart.instruction":`请用 dsh-ui 把下列数据画成 chart(bars,多序列):近 6 周完成量 vs 计划量;图表上方给一句趋势结论。`,"tpl.chart.demo.title":`趋势对比(示例)`,"tpl.chart.demo.conclusion":`结论:近 3 周完成量连续上升,本周首次反超计划。`,"tpl.tabs.name":`分标签页`,"tpl.tabs.desc":`一大块内容拆成标签页,锚点清晰;面板不挤、消息不刷屏。`,"tpl.tabs.instruction":`请用 dsh-ui 把内容分成 tabs 三个标签:概览/明细/FAQ,每个标签 3 条以内要点;标题「功能速览」。`,"tpl.tabs.demo.title":`功能速览(示例)`,"tpl.tabs.demo.overview":`概览`,"tpl.tabs.demo.overviewBody":`三项能力:实时渲染、交互回传、常驻面板。`,"tpl.tabs.demo.details":`明细`,"tpl.tabs.demo.d1":`渲染:fence 增量解析,边流边出`,"tpl.tabs.demo.d2":`交互:动作回传模型增量更新`,"tpl.tabs.demo.d3":`面板:会话级 dock,折叠/调高`,"tpl.tabs.demo.faqBody":`问:不动模型会怎样?答:组件仍可本地判卷/展开。`,"tpl.checklist.name":`交付检查清单`,"tpl.checklist.desc":`提交前逐项打勾:清单即流程,漏项看得见。`,"tpl.checklist.instruction":`请用 dsh-ui 做一张交付检查清单:6 项(测试/文档/发布/回滚/监控/公告),checkbox 可勾选,顶部 badge 提示「全部勾选再合并」。`,"tpl.checklist.demo.title":`交付清单(示例)`,"tpl.checklist.demo.badge":`全部勾选再合并`,"tpl.checklist.demo.c1":`单元测试通过`,"tpl.checklist.demo.c2":`文档同步`,"tpl.checklist.demo.c3":`发布套餐就绪`,"tpl.checklist.demo.c4":`回滚预案`,"tpl.accordion.name":`FAQ 手风琴`,"tpl.accordion.desc":`一问一答收在折叠面板里,长文档变短,回答不吓人。`,"tpl.accordion.instruction":`请用 dsh-ui 做 FAQ 手风琴(accordion):5 个高频问题,标题栏就是问题、展开一条给答案;第一问默认展开。`,"tpl.accordion.demo.title":`FAQ(示例)`,"tpl.accordion.demo.q1":`支持哪些图表?`,"tpl.accordion.demo.a1":`chart(bars/line/donut)、plot 函数图、echart 全功能图表。`,"tpl.accordion.demo.q2":`面板能持久吗?`,"tpl.accordion.demo.a2":`同一内容指纹刷新/重放恢复状态;新内容重置。`,"tpl.accordion.demo.q3":`交互会打扰模型吗?`,"tpl.accordion.demo.a3":`带 action 的组件才回传;纯展示组件零往返。`,"tpl.diagram.name":`系统架构图`,"tpl.diagram.desc":`框架图画成 SVG:节点分层、连接线、分区标注,比截图清楚。`,"tpl.diagram.instruction":`请用 dsh-ui 画一幅架构图(diagram):描述当前系统的 5 个节点与连接(kind: architecture 或 flowchart),包含一个安全区 zone。`,"tpl.diagram.demo.title":`架构图(示例)`,"tpl.diagram.demo.caption":`DSH 插件链路`,"tpl.diagram.demo.model":`模型`,"tpl.diagram.demo.plugin":`插件`,"tpl.diagram.demo.host":`宿主`,"tpl.3d.name":`3D 场景`,"tpl.3d.desc":`一个可旋转的 3D 场景:产品演示/空间示意用得上。`,"tpl.3d.instruction":`请用 dsh-ui 渲染一个 3D 场景(scene3d):一个立方体 + 一个球体,标题「示例场景」,附一句使用场景说明。`,"tpl.3d.demo.title":`3D 场景(示例)`,"tpl.3d.demo.note":`首次加载需下载 three.js(约 700KB,懒加载),之后走缓存。`,"tpl.3d.demo.scene":`示例场景`,"tpl.breadcrumb.name":`路径面包屑`,"tpl.breadcrumb.desc":`长路径拆成面包屑:文件位置、组织层级一读就懂。`,"tpl.breadcrumb.instruction":`请用 dsh-ui 展示当前工作区结构:breadcrumb 显示文件路径(4 段)、file-tree 描述项目目录(3 个目录、每个 2 个子项)。`,"tpl.breadcrumb.demo.title":`目录结构(示例)`,"tpl.breadcrumb.demo.workspace":`工作区`,"ach.page.title":`GenUI 探索成就`,"ach.stat.unlocked":`已解锁`,"ach.stat.rendered":`渲染界面`,"ach.stat.interactions":`组件交互`,"ach.progress":`探索进度`,"ach.rarity.common":`普通`,"ach.rarity.rare":`稀有`,"ach.rarity.legendary":`传说`,"ach.hidden.name":`?`,"ach.hidden.desc":`继续探索以揭示`,"ach.toast.unlocked":`成就解锁:{name}`,"ach.first-fence.name":`初次相见`,"ach.first-fence.desc":`渲染了第一块 GenUI 界面。`,"ach.fence-5.name":`渐入佳境`,"ach.fence-5.desc":`累计渲染 5 个界面。`,"ach.fence-25.name":`界面编织者`,"ach.fence-25.desc":`累计渲染 25 个界面。`,"ach.fence-50.name":`蓝图之魂`,"ach.fence-50.desc":`累计渲染 50 个界面——你是 GenUI 的老朋友了。`,"ach.first-interaction.name":`按钮按得动`,"ach.first-interaction.desc":`触发了一次组件交互(动作回传)。`,"ach.interaction-10.name":`小小操纵者`,"ach.interaction-10.desc":`累计触发 10 次组件交互。`,"ach.first-panel.name":`钉在墙上`,"ach.first-panel.desc":`第一次把内容钉进了会话面板。`,"ach.panel-5.name":`面板管家`,"ach.panel-5.desc":`5 个会话都用过面板。`,"ach.first-chart.name":`图表爱好者`,"ach.first-chart.desc":`渲染了第一张图表(chart/plot/echart)。`,"ach.chart-10.name":`数据可视化人`,"ach.chart-10.desc":`10 个界面里出现过图表。`,"ach.first-advanced.name":`高级玩家`,"ach.first-advanced.desc":`用上了 3D/图表引擎/架构图之一。`,"ach.template-1.name":`模板学员`,"ach.template-1.desc":`从模板中心试用了一个模板。`,"label.copy":`复制`,"label.copied":`复制成功`,"label.copiedDone":`已复制`,"label.copiedShort":`✓ 已复制`,"label.copiedToClipboard":`已复制到剪贴板`,"label.copyFailed":`复制失败`,"label.code":`代码`,"label.wrap":`自动换行`,"label.unwrap":`取消自动换行`,"label.collapse":`收起`,"label.collapseDiff.aria":`收起差异`,"label.expandDiff.aria":`展开其余 {hidden} 行差异`,"label.expandDiff":`… 其余 {hidden} 行`,"label.diffFiles":`{count} 个文件`,"label.copyValue":`复制值`,"label.copyJson":`复制 JSON`,"label.copyPath":`复制属性路径`,"label.copyPrettyJson":`复制格式化 JSON`,"label.copyCompactJson":`复制紧凑 JSON`,"label.collapseNode":`收起 JSON 节点`,"label.expandNode":`展开 JSON 节点`,"label.copyButtonTitle":`{action};右键查看复制选项`,"block.copyMarkdown":`复制 Markdown`,"block.copyCsv":`复制 CSV`,"block.total":`合计`,"block.filteredRows":`筛选后 {visible} / {total} 行`,"block.filterMatch":`匹配 {shown} / {total} 项`,"block.triggered":`✓ 已触发`,"block.triggeredPlain":`已触发`,"block.audio":`音频`,"block.audioError":`音频无法播放`,"block.video":`视频`,"block.videoError":`视频无法播放`,"block.image":`图片`,"block.imageError":`图片无法加载`,"block.svgLabel":`SVG 图形`,"block.svgPreview":`预览`,"block.svgSource":`源码`,"block.svgError":`SVG 无法显示,已降级显示源码`,"block.mermaidError":`图语法有误,已降级显示源码`,"block.mermaidLoading":`渲染中…`,"block.scene3dLoading":`加载 3D 场景…`,"block.scene3dError":`3D 渲染失败`,"block.quizCorrect":`✓ 回答正确!`,"block.quizWrong":`✗ 再想想看`,"block.quizRetry":`重新作答`,"block.selectPlaceholder":`请选择…`,"block.score":`得分`,"block.scoreUngraded":`({count} 题无答案未计分)`,"block.yourAnswer":`你的答案:`,"block.correctAnswer":` 正确答案:`,"block.selectedCount":`已选 {answered}/{total}`,"block.target":`目标 {value}%`,"block.chart.barsAria":`横向柱状图,{count} 组`,"block.chart.barsSummary":`柱状图,{count} 组,最大 {max}`,"block.chart.lineSeries":`折线图,{count} 条序列,范围 {min} 到 {max}`,"block.chart.linePoints":`折线图,{count} 个点,范围 {min} 到 {max}`,"block.chart.donutSummary":`环形图,{count} 项,合计 {total}`,"block.chart.node":`节点`,"err.boundary.generic":`此界面`,"err.boundary.fence":`该界面`,"err.boundary.body":`⚠️ {label}渲染失败(已隔离,不影响其他内容)`,"err.fieldValidation":`GenUI 字段验证失败:{errors}`,"err.chartValidation":`chart 字段验证失败:{errors}`,"err.fenceKeptAsCode":`⚠️ dsh-ui {diagnostic} —— 围栏保持为代码块;请修正后重发。`,"err.fenceParse":`⚠️ dsh-ui fence JSON 解析失败{diagnostic} —— 围栏保持为代码块;请让模型检查并修复 JSON 后重发。`},xo=[`en`,`zh`],So={en:yo,zh:bo};function Co(e){if(typeof e!=`string`||e===``)return;let t=e.toLowerCase().split(/[-_]/)[0];return xo.find(e=>e===t)}function wo(){if(typeof navigator>`u`)return`en`;let e=navigator,t=Array.isArray(e.languages)&&e.languages.length>0?e.languages:[e.language];for(let e of t){let t=Co(e);if(t!==void 0)return t}return`en`}let To=wo(),Eo=0,Do=new Set;function Oo(){return To}function ko(){return Eo}function Ao(e){return Do.add(e),()=>{Do.delete(e)}}function jo(e){let t=Co(e);if(t!==void 0&&t!==To){To=t,Eo+=1;for(let e of[...Do])e()}}function Mo(e,t){return t===void 0?e:e.replace(/\{(\w+)\}/g,(e,n)=>{let r=t[n];return r===void 0?e:String(r)})}function Y(e,t){return Mo(So[To][e]??So.en[e]??e,t)}function No(e){return So[e]}function Po(){return(0,m.useSyncExternalStore)(Ao,ko,ko),Y}function Fo(){return(0,m.useSyncExternalStore)(Ao,ko,ko)}function Io(e){let t=typeof e.get==`function`?e.get(`locale`):void 0;if(t===void 0)return()=>{};let n=[];if(typeof t.register==`function`)for(let e of xo)try{n.push(t.register(`genui`,e,{...No(e)}))}catch{}let r=()=>{let e=t.getLocale?.().active;typeof e==`string`&&jo(e)};return r(),typeof t.subscribe==`function`&&n.push(t.subscribe(r)),()=>{for(let e of n)e()}}function Lo(){return Oo()}let Ro=`http://www.w3.org/2000/svg`;function zo(e){let t=new DOMParser().parseFromString(e,`image/svg+xml`),n=t.documentElement;return t.doctype!==null||t.querySelector(`parsererror`)!==null||n.localName!==`svg`?null:n}function Bo(e){try{let t=zo(e);if(t===null)return null;if(t.namespaceURI!==Ro){if(t.namespaceURI!==null)return null;let n=e.replace(/<svg(?=[\s/>])/,`<svg xmlns="${Ro}"`),r=zo(n);return r===null||r.namespaceURI!==Ro?null:`data:image/svg+xml;charset=utf-8,${encodeURIComponent(n)}`}return`data:image/svg+xml;charset=utf-8,${encodeURIComponent(e)}`}catch{return null}}function Vo({node:e}){let t=(0,m.useMemo)(()=>Bo(e.code),[e.code]),[n,r]=(0,m.useState)(null);return(0,g.jsxs)(`div`,{"data-genui-svg":!0,children:[e.title!==void 0&&(0,g.jsx)(`div`,{className:w.echartTitle,children:J(e.title)}),t===null||n===t?(0,g.jsxs)(`div`,{children:[(0,g.jsx)(`div`,{role:`status`,children:Y(`block.svgError`)}),(0,g.jsx)(`pre`,{style:{overflow:`auto`,maxHeight:400},children:(0,g.jsx)(`code`,{children:e.code})})]}):(0,g.jsx)(`img`,{src:t,alt:e.title??Y(`block.svgLabel`),style:{display:`block`,width:`100%`,height:e.height??`auto`,maxHeight:800,objectFit:`contain`},onError:()=>{r(t)}},t)]})}function Ho(){return{copy:Y(`label.copy`),copied:Y(`label.copied`),codeLabel:Y(`label.code`),wrapLabel:Y(`label.wrap`),unwrapLabel:Y(`label.unwrap`),collapseAria:Y(`label.collapseDiff.aria`),expandAria(e){return Y(`label.expandDiff.aria`,{hidden:e})},collapse:Y(`label.collapse`),expand(e){return Y(`label.expandDiff`,{hidden:e})},files(e){return Y(`label.diffFiles`,{count:e})}}}function Uo(){return{copyLabel:Y(`label.copy`),copiedLabel:Y(`label.copied`)}}function Wo(){return{copyValue:Y(`label.copyValue`),copyJson:Y(`label.copyJson`),copyPath:Y(`label.copyPath`),copyPrettyJson:Y(`label.copyPrettyJson`),copyCompactJson:Y(`label.copyCompactJson`),copied:Y(`label.copiedDone`),copyFailed:Y(`label.copyFailed`),collapseNode:Y(`label.collapseNode`),expandNode:Y(`label.expandNode`),copyButtonTitle(e){return Y(`label.copyButtonTitle`,{action:e})}}}function Go({raw:e}){let t=Po(),n=(0,m.useRef)(null),[r,i]=(0,m.useState)(!1),[a,o]=(0,m.useState)(!1);return(0,m.useLayoutEffect)(()=>{let e=n.current;if(e===null)return;let t=()=>{i(e.closest(`[data-streaming]`)===null)};t();let r=new MutationObserver(t);for(let t=e.parentElement;t!==null;t=t.parentElement)r.observe(t,{attributes:!0,attributeFilter:[`data-streaming`]});return()=>{r.disconnect()}}),(0,g.jsxs)(`div`,{ref:n,"data-genui-svg-fence":!0,className:`${w.block} ${w.tabs}`,children:[r&&(0,g.jsxs)(`div`,{role:`group`,"aria-label":t(`block.svgLabel`),className:w.tabBar,children:[(0,g.jsx)(`button`,{type:`button`,className:`${w.tab} ${a?``:w.tabActive}`,"aria-pressed":!a,onClick:()=>{o(!1)},children:t(`block.svgPreview`)}),(0,g.jsx)(`button`,{type:`button`,className:`${w.tab} ${a?w.tabActive:``}`,"aria-pressed":a,onClick:()=>{o(!0)},children:t(`block.svgSource`)})]}),!r||a?(0,g.jsx)(p.CodeBlock,{...Uo(),code:e,lang:`svg`}):(0,g.jsx)(Vo,{node:{type:`svg`,code:e}})]})}function Ko(e,t){return(0,g.jsx)(Go,{raw:e},t)}function qo(e){try{return JSON.parse(e),!0}catch{return!1}}function Jo(e){try{return JSON.parse(e),null}catch(e){let t=e instanceof Error?e.message:String(e),n=t.match(/position (\d+)/i);return`${n===null?``:`(字符 ${n[1]} 附近)`}${t.slice(0,140)}`}}function Yo(e){try{return JSON.parse(e),null}catch{}return es(e,!1)}function Xo(e){return e===` `||e===` `||e===`
261
+ `||e===`\r`}function Zo(e,t,n,r,i){let a=Math.min(e.length,t+4096),o=t+1,s=()=>{for(;o<a&&Xo(e[o]);)o++};if(s(),o>=a)return!0;if(n)return e[o]===`:`;let c=r.length-1;if(e[o]===`:`)return!1;for(;e[o]===`}`||e[o]===`]`;){let t=r[c];if(t===void 0)return!1;if(e[o]===t.closer)c--;else if(!i)return!1;if(o++,s(),o>=a)return!0;if(c<0)return i}if(e[o]!==`,`)return!1;let l=r[c];if(l===void 0)return!1;if(o++,s(),o>=a||e[o]===l.closer)return!0;if(l.closer===`]`)return/["[{tfn\-0-9]/.test(e[o]);if(e[o]!==`"`)return!1;for(o++;o<a;){if(e[o]===`\\`){o+=2;continue}if(e[o]===`"`)return o++,s(),o>=a||e[o]===`:`;if(e[o].charCodeAt(0)<32)return!1;o++}return!0}function Qo(e,t,n){let r=``,i=[],a=!1,o=!1,s=!1,c=!1,l=0,u=0,d=0,f=!1,p=[],m=()=>{let e=i[i.length-1];e!==void 0&&(e.expecting=`comma`)};for(let h=0;h<e.length;h++){let g=e[h];if(c){a&&g===`"`&&(s=!0),r+=g,c=!1;continue}if(a){if(g===`\\`){r+=g,c=!0;continue}if(g!==`"`){r+=g;continue}let u=h+1;for(;u<e.length&&Xo(e[u]);)u++;let d=!o&&(!s&&`,}]:`.includes(e[u]??`\0`)||i[i.length-1]?.closer===`]`&&e[u]===`,`);if(!n.has(h)&&(d||Zo(e,h,o,i,t))){a=!1,r+=g;let e=i[i.length-1];o?e!==void 0&&(e.expecting=`colon`):(m(),e!==void 0&&s&&(p.length===32&&p.shift(),p.push(h)))}else r+=`\\"`,s=!0,l++;continue}if(g===`"`){o=i[i.length-1]?.expecting===`key`,s=!1,a=!0,r+=g;continue}if(g===`{`||g===`[`){m(),i.push({closer:g===`{`?`}`:`]`,expecting:g===`{`?`key`:`value`}),r+=g;continue}if(g===`}`||g===`]`){i[i.length-1]?.closer===g?(i.pop(),r+=g,i.length===0&&u===0&&(u=r.length,d=h+1)):t?l++:r+=g;continue}if(g===`,`){let t=h+1;for(;t<e.length&&Xo(e[t]);)t++;if(t===e.length||e[t]===`}`||e[t]===`]`){l++;continue}let n=i[i.length-1];n!==void 0&&(n.expecting=n.closer===`}`?`key`:`value`)}else if(g===`:`){let e=i[i.length-1];e!==void 0&&(e.expecting=`value`)}else if(!Xo(g)&&i[i.length-1]?.expecting===`value`){let t=h+1;for(;t<e.length&&!Xo(e[t])&&!`{}[],:"`.includes(e[t]);)t++;let n=e.slice(h,t);/^(?:true|false|null|-?(?:0|[1-9]\d*)(?:\.\d+)?(?:[eE][+-]?\d+)?)$/.test(n)||(f=!0),m(),r+=n,h=t-1;continue}r+=g}let h=a;if(t)for(a&&(r+=`"`,l++);i.length>0;)r+=i.pop().closer,l++;return{text:r,repairs:l,rootEnd:u,rawRootEnd:d,choices:p,unfinishedString:h,invalidValue:f}}function $o(e){let t=[],n=!1,r=!1,i=!1;for(let a=0;a<e.length;a++){let o=e[a];if(r){r=!1;continue}if(n){o===`\\`?r=!0:o===`"`&&(n=!1);continue}if(!i){if(Xo(o))continue;if(o!==`{`&&o!==`[`)return null;i=!0}if(o===`"`){n=!0;continue}if(o===`{`||o===`[`)t.push(o===`{`?`}`:`]`);else if(o===`}`||o===`]`){if(t.pop()!==o)return null;if(t.length===0){let t=e.slice(0,a+1).trimEnd();try{return JSON.parse(t),t}catch{return null}}}}return null}function es(e,t){let n=$o(e);if(n!==null)return t?{text:n,repairs:1}:null;let r=[[]],i=null;for(let n=0;n<32&&r.length>0;n++){let n=r.pop(),a=Qo(e,t,new Set(n));if(a.repairs>0&&!(n.length>0&&a.unfinishedString))try{return JSON.parse(a.text),{text:a.text,repairs:a.repairs}}catch{}if(t&&a.rootEnd>0&&(i===null||a.rawRootEnd>i.rawEnd)){let e=a.text.slice(0,a.rootEnd).trimEnd();try{JSON.parse(e),i={text:e,repairs:a.repairs+1,rawEnd:a.rawRootEnd}}catch{}}if(a.invalidValue)continue;let o=n[n.length-1]??-1;for(let e of a.choices)e>o&&r.push([...n,e]);r.length>32&&r.splice(0,r.length-32)}return i===null?null:{text:i.text,repairs:i.repairs}}function ts(e){let t=[],n=!1,r=!1,i=!1;for(let a=0;a<e.length;a+=1){let o=e[a];if(r){r=!1;continue}if(n){o===`\\`?r=!0:o===`"`&&(n=!1);continue}if(o===`"`){n=!0,i=!0;continue}if(o===`{`){t.push(`}`),i=!0;continue}if(o===`[`){t.push(`]`),i=!0;continue}if(o===`}`||o===`]`){if(t[t.length-1]!==o)return null;if(t.pop(),t.length===0&&i)return a+1>=e.length?null:e.slice(0,a+1).trim()}}return null}function ns(e){if(!/"columns"\s*:\s*\[/.test(e))return null;let t=``,n=e,r=0;for(;;){let e=/"columns"\s*:\s*\[/.exec(n);if(e===null){t+=n;break}let i=e.index+e[0].length,a=1,o=!1,s=!1,c=-1;for(let e=i;e<n.length;e++){let t=n[e];if(s){s=!1;continue}if(o){t===`\\`?s=!0:t===`"`&&(o=!1);continue}if(t===`"`){o=!0;continue}if(t===`[`)a++;else if(t===`]`&&(a--,a===0)){c=e;break}}if(c<0)return null;let l=n.slice(c+1),u=/^\s*,\s*\[\s*"rows"\s*:\s*\[/.exec(l);if(u!==null){let e=c+1+u[0].length;t+=`${n.slice(0,c+1)},"rows":[`,n=n.slice(e),r+=1;continue}let d=/^\s*,\s*\[/.exec(l);if(d===null){t+=n.slice(0,c+1),n=l;continue}let f=c+1+d[0].length;t+=n.slice(0,f).replace(/,\s*\[$/,`, "rows": [`),n=n.slice(f),r+=1}if(r===0)return null;let i=[],a=``,o=!1,s=!1;for(let e of t){if(s){a+=e,s=!1;continue}if(o){a+=e,e===`\\`?s=!0:e===`"`&&(o=!1);continue}if(e===`"`){o=!0,a+=e;continue}if(e===`{`||e===`[`){i.push(e),a+=e;continue}if(e===`}`||e===`]`){let t=i[i.length-1];e===`}`&&t===`{`||e===`]`&&t===`[`?(i.pop(),a+=e):r+=1;continue}a+=e}return{text:a,repairs:r}}function rs(e){try{return JSON.parse(e),null}catch{}let t=ns(e);if(t!==null){try{return JSON.parse(t.text),t}catch{}let e=rs(t.text);return e===null?null:{text:e.text,repairs:e.repairs+t.repairs}}return es(e,!0)}let is={display:`flex`,flexDirection:`column`,gap:`4px`,padding:`8px 12px`,margin:`4px 0`,borderRadius:`8px`,border:`1px solid rgba(127,127,127,0.35)`,background:`rgba(127,127,127,0.08)`,color:`inherit`,fontSize:`12px`,lineHeight:1.5,fontFamily:`inherit`};var as=class extends m.Component{state={error:null};static getDerivedStateFromError(e){return{error:e}}componentDidCatch(e,t){console.error(`[dsh-genui] render failed:`,e,t.componentStack??``)}render(){let{error:e}=this.state;return e===null?this.props.children:(0,g.jsxs)(`div`,{style:is,role:`alert`,"data-genui-error":!0,children:[(0,g.jsx)(`span`,{style:{fontWeight:600},children:Y(`err.boundary.body`,{label:this.props.label??Y(`err.boundary.generic`)})}),(0,g.jsx)(`span`,{style:{opacity:.75,overflowWrap:`anywhere`},children:e.message})]})}};let os=`dsh.genui.interaction`;function ss(){return{order:[],blocks:{}}}function cs(){try{let e=localStorage.getItem(os);if(e===null)return ss();let t=JSON.parse(e);return!Array.isArray(t.order)||typeof t.blocks!=`object`||t.blocks===null?ss():{order:t.order.filter(e=>typeof e==`string`),blocks:t.blocks}}catch{return ss()}}function ls(e){try{localStorage.setItem(os,JSON.stringify(e))}catch{}}function us(e){return e===``?null:cs().blocks[e]??null}function ds(e,t){if(e===``)return;let n=cs(),r=n.order.filter(t=>t!==e);r.unshift(e);let i={...n.blocks,[e]:t};for(;r.length>200;){let e=r.pop();e!==void 0&&delete i[e]}ls({order:r,blocks:i})}function fs(e){let t=5381;for(let n=0;n<e.length;n++)t=(t<<5)+t+e.charCodeAt(n)>>>0;return t.toString(36)}function ps(e,t,n){return`f:${e}:${String(t)}:${fs(n)}`}function ms(e,t){return`p:${e}:${fs(t)}`}function hs(e,t){return`t:${e}:${t}`}function gs(){return{fences:0,panels:0,interactions:0,templates:0,charts:0,advanced:0}}let _s=e=>t=>t.fences>=e;function vs(e){return Y(`ach.${e}.name`)}function ys(e){return Y(`ach.${e}.desc`)}function bs(e){return Y(`ach.rarity.${e}`)}function xs(e,t,n,r=!1){return{id:e,rarity:t,check:n,...r?{hidden:!0}:{},get name(){return vs(e)},get description(){return ys(e)}}}let Ss=[xs(`first-fence`,`common`,_s(1)),xs(`fence-5`,`common`,_s(5)),xs(`fence-25`,`rare`,_s(25)),xs(`fence-50`,`legendary`,_s(50),!0),xs(`first-interaction`,`common`,e=>e.interactions>=1),xs(`interaction-10`,`rare`,e=>e.interactions>=10),xs(`first-panel`,`common`,e=>e.panels>=1),xs(`panel-5`,`rare`,e=>e.panels>=5),xs(`first-chart`,`common`,e=>e.charts>=1),xs(`chart-10`,`rare`,e=>e.charts>=10),xs(`first-advanced`,`rare`,e=>e.advanced>=1),xs(`template-1`,`common`,e=>e.templates>=1)];function Cs(e){let t=0,n=0,r=e=>{if(Array.isArray(e))for(let i of e){if(typeof i!=`object`||!i)continue;let e=i,a=e.type;if((a===`chart`||a===`plot`||a===`echart`)&&(t+=1),(a===`scene3d`||a===`mermaid`||a===`diagram`)&&(n+=1),Array.isArray(e.items)&&r(e.items),Array.isArray(e.tabs))for(let t of e.tabs)r(t.items)}};return r(e.items),{charts:t,advanced:n}}function ws(e,t){let n=Ss.length,r=Ss.filter(e=>t[e.id]!==void 0).length,i=[{type:`grid`,cols:3,items:[{type:`stat`,label:Y(`ach.stat.unlocked`),value:`${r} / ${n}`},{type:`stat`,label:Y(`ach.stat.rendered`),value:String(e.fences)},{type:`stat`,label:Y(`ach.stat.interactions`),value:String(e.interactions)}]},{type:`progress`,label:Y(`ach.progress`),value:Math.round(r/n*100),valueLabel:`${Math.round(r/n*100)}%`},{type:`list`,items:Ss.map(e=>{let n=e.hidden===!0&&t[e.id]===void 0;return{type:`row`,items:[{type:`badge`,label:bs(e.rarity),tone:t[e.id]===void 0?`warn`:`success`},{type:`text`,size:`body`,content:n?Y(`ach.hidden.name`):e.name},{type:`text`,size:`muted`,content:n?Y(`ach.hidden.desc`):e.description}]}})}];return{title:Y(`ach.page.title`),items:i}}function Ts(e,t){return Ss.filter(n=>t[n.id]===void 0&&n.check(e))}let Es=`dsh.genui.achievements`,Ds=`dsh.genui.achievements.seen`,Os=js(),ks=new Set,As=[];function js(){try{let e=localStorage.getItem(Es);if(e===null)return{state:gs(),unlocked:{}};let t=JSON.parse(e);return{state:{...gs(),...t.state??{}},unlocked:typeof t.unlocked==`object`&&t.unlocked!==null?t.unlocked:{}}}catch{return{state:gs(),unlocked:{}}}}function Ms(){try{localStorage.setItem(Es,JSON.stringify(Os))}catch{}}function Ns(){try{let e=localStorage.getItem(Ds);if(e===null)return[];let t=JSON.parse(e);return Array.isArray(t)?t.filter(e=>typeof e==`string`):[]}catch{return[]}}function Ps(e){try{localStorage.setItem(Ds,JSON.stringify(e.slice(0,200)))}catch{}}function Fs(){for(let e of ks)e()}function Is(e){Os.state={...Os.state,...e};let t=Ts(Os.state,Os.unlocked);for(let e of t)Os.unlocked[e.id]=Date.now();t.length>0&&As.push(...t),Ms(),Fs()}function Ls(e){let t=JSON.stringify(e),n=3735928559,r=1103547991;for(let e=0;e<t.length;e++){let i=t.charCodeAt(e);n=Math.imul(n^i,2654435761),r=Math.imul(r^i,1597334677)}return`${(n>>>0).toString(36)}-${(r>>>0).toString(36)}`}function Rs(e){let t=Ls(e),n=Ns();if(n.includes(t))return;Ps([t,...n]);let r=Cs(e);Is({fences:Os.state.fences+1,charts:Os.state.charts+ +(r.charts>0),advanced:Os.state.advanced+ +(r.advanced>0)})}function zs(){Is({panels:Os.state.panels+1})}function Bs(){Is({interactions:Os.state.interactions+1})}function Vs(){Is({templates:Os.state.templates+1})}function Hs(){return Os}function Us(){let e=As;return As=[],e}function Ws(e){return ks.add(e),()=>ks.delete(e)}let X={maxDepth:8,maxNodes:200,maxString:2e3,maxCode:12e3,maxMermaid:8e3,maxGridCols:12,maxTabs:12,maxAccordionItems:24,maxListItems:50,maxOptions:50,maxTableRows:50,maxTableCols:12,maxChartPoints:60,maxPlotSeries:8,maxPlotParams:6,maxMeshes:5,maxQuizOptions:8,maxSteps:24,maxTimelineItems:24,maxBreadcrumbItems:12,maxKeyValuePairs:24,maxTreeDepth:6,maxDiagramNodes:9,maxDiagramEdges:12,maxDiagramZones:3,maxDiagramFocal:2,maxDiagramLabel:14,maxEChartOptionDepth:10,maxEChartArrayLen:500,maxEChartOptionNodes:2e3},Gs=[`var(--dsw-static-deepseek-400)`,`var(--dsw-static-deepseek-450)`,`var(--dsw-static-blue-450)`,`var(--dsw-static-green-400)`,`var(--dsw-static-amber-400)`,`var(--dsw-static-red-400)`,`var(--dsw-static-deepseek-300)`,`var(--dsw-static-neutral-bluish-400)`];function Ks(e){let t=0;for(let n=0;n<e.length;n++)t=t*31+e.charCodeAt(n)>>>0;return Gs[t%Gs.length]}function qs({className:e,disabled:t,onClick:n,children:r}){let i=Po(),[a,o]=(0,m.useState)(!1),s=(0,m.useRef)(null);return(0,m.useEffect)(()=>()=>{s.current!==null&&clearTimeout(s.current)},[]),(0,g.jsxs)(g.Fragment,{children:[(0,g.jsxs)(`button`,{type:`button`,className:e,disabled:t,onClick:n===void 0?void 0:()=>{n(),s.current!==null&&clearTimeout(s.current),o(!0),s.current=setTimeout(()=>o(!1),1400)},children:[r,a&&(0,g.jsx)(`span`,{className:w.btnSent,"aria-hidden":!0,children:i(`block.triggered`)})]}),(0,g.jsx)(`span`,{className:w.visuallyHidden,role:`status`,children:a?i(`block.triggeredPlain`):``})]})}let Js=(0,m.memo)(function({node:e}){let t=Po(),[n,r]=(0,m.useState)(!1);return(0,g.jsxs)(`figure`,{className:w.media,children:[e.alt!==void 0&&(0,g.jsx)(`figcaption`,{className:w.mediaLabel,children:J(e.alt)}),n?(0,g.jsx)(`div`,{className:w.mediaError,role:`alert`,children:t(`block.audioError`)}):(0,g.jsx)(`audio`,{className:w.mediaPlayer,src:e.src,"aria-label":e.alt??t(`block.audio`),controls:!0,preload:`metadata`,loop:e.loop===!0,onError:()=>r(!0)})]})}),Ys=(0,m.memo)(function({node:e}){let t=Po(),[n,r]=(0,m.useState)(!1);return(0,g.jsxs)(`figure`,{className:w.media,children:[e.alt!==void 0&&(0,g.jsx)(`figcaption`,{className:w.mediaLabel,children:J(e.alt)}),n?(0,g.jsx)(`div`,{className:w.mediaError,role:`alert`,children:t(`block.videoError`)}):(0,g.jsx)(`video`,{className:`${w.mediaPlayer} ${w.videoPlayer}`,src:e.src,poster:e.poster,"aria-label":e.alt??t(`block.video`),controls:!0,preload:`metadata`,playsInline:!0,loop:e.loop===!0,muted:e.muted===!0,style:e.aspectRatio===void 0?void 0:{aspectRatio:e.aspectRatio.replace(`:`,` / `)},onError:()=>r(!0)})]})});function Xs(e){let t=e.columns,n=Array.isArray(t)&&t.length>0,r=ec(n&&Array.isArray(t)&&typeof t[0]==`object`&&t[0]!==null?t.map(ac):t),i=e.rows===void 0?e.data:e.rows;if(Array.isArray(i)&&i.length>0&&typeof i[0]==`object`&&i[0]!==null&&!Array.isArray(i[0])){let t=Array.isArray(e.columns)&&e.columns.length>0&&typeof e.columns[0]==`object`&&e.columns[0]!==null?e.columns.map(rc).filter(e=>e!==void 0):Object.keys(i[0]);i=i.map(e=>t.map(t=>ic(e[t])))}let a=null;if(!n&&Array.isArray(i)&&i.length>0&&Array.isArray(i[0])){let e=tc(i),t=e.length===0?null:nc(e);t!==null&&tc(t.rows).length===t.rows.length&&(a=t,r=t.columns.map(e=>e.slice(0,128)))}if(r.length===0&&!Array.isArray(e.columns))return null;let o=tc(a===null?i:a.rows);return Array.isArray(i)?{columns:r.slice(0,X.maxTableCols),rows:o}:null}function Zs(e){return Xs(e)?.rows??[]}function Qs(e,t){return!Array.isArray(e)||!Array.isArray(t)||t[0]!==`group`?!1:String(e[0]??``).trim()!==``&&e.slice(1).every(e=>String(e??``).trim()===``)}function $s(e,t){let n=Zs(e);return t>=0&&t<n.length&&!Qs(n[t],e.types)}function ec(e){if(!Array.isArray(e))return[];let t=[];for(let n of e){if(t.length>=X.maxTableCols)break;if(typeof n==`string`)t.push(n.slice(0,128));else if(typeof n==`object`&&n){let e=n,r=typeof e.label==`string`?e.label:typeof e.value==`string`?e.value:typeof e.title==`string`?e.title:JSON.stringify(n);t.push(r.slice(0,128))}}return t}function tc(e){if(!Array.isArray(e))return[];let t=[];for(let n of e){if(t.length>=X.maxTableRows)break;if(!Array.isArray(n))continue;let e=[];for(let t of n){if(e.length>=X.maxTableCols)break;typeof t==`string`?e.push(t.slice(0,256)):typeof t==`number`&&Number.isFinite(t)&&e.push(t)}e.length>0&&t.push(e)}return t}function nc(e){let t=e[0];if(t===void 0||t.length===0)return null;let n=e.slice(1);if(n.length===0){let e=t.map(e=>String(e).trim());return e.every(e=>e!==``)?{columns:e,rows:[]}:null}return n.every(e=>e.length===t.length)?{columns:t.map(e=>String(e).trim()),rows:n}:{columns:Array.from({length:t.length},(e,t)=>`列${t+1}`),rows:e}}function rc(e){if(typeof e!=`object`||!e||Array.isArray(e))return;let t=e;for(let e of[`key`,`dataIndex`,`title`,`label`])if(typeof t[e]==`string`&&t[e]!==``)return t[e]}function ic(e){return typeof e==`string`||typeof e==`number`&&Number.isFinite(e)?e:e==null?``:JSON.stringify(e)}function ac(e){if(typeof e!=`object`||!e||Array.isArray(e))return String(e);let t=e;for(let e of[`title`,`label`,`key`,`dataIndex`])if(typeof t[e]==`string`&&t[e]!==``)return t[e];return JSON.stringify(e)}let oc=[`var(--dsw-static-deepseek-400)`,`var(--dsw-static-green-400)`,`var(--dsw-static-amber-400)`,`var(--dsw-static-red-400)`,`var(--dsw-static-blue-450)`,`var(--dsw-static-deepseek-450)`,`var(--dsw-static-neutral-bluish-400)`,`var(--dsw-static-deepseek-300)`],sc=(e,t,n,r)=>n??(r!==void 0&&r.length>0?r[e%r.length]:t>1?oc[e%oc.length]:void 0);function cc(e){if(typeof e==`number`)return Number.isFinite(e)?e:NaN;if(typeof e!=`string`)return NaN;let t=e.trim();if(t===``)return NaN;t=t.replace(/^[¥$€£]/,``),t.endsWith(`%`)&&(t=t.slice(0,-1));let n=1;if(t.endsWith(`万`))n=1e4,t=t.slice(0,-1);else if(t.endsWith(`亿`))n=1e8,t=t.slice(0,-1);else if(/[kmb]$/i.test(t)){let e=t.slice(-1).toLowerCase();n=e===`k`?1e3:e===`m`?1e6:1e9,t=t.slice(0,-1)}t=t.replace(/[,,\s]/g,``);let r=Number(t);return Number.isFinite(r)?r*n:NaN}function lc(e,t){return Array.from({length:t},(t,n)=>{let r=!1;for(let t of e){let e=t[n];if(e!=null&&e!==``){if(!Number.isFinite(cc(e)))return!1;r=!0}}return r})}function uc(e){return typeof e==`string`&&/[\n\r]/.test(e)}function dc(e){return typeof e==`string`?/(^|\n)[ \t]/.test(e)||e.includes("```"):!1}function fc(e){if(uc(e))return dc(e)?w.tdCode:w.tdMultiline}function pc(e){if(typeof e!=`string`)return null;let t=e.trim();return!/^[+][\s]*[\d.]/.test(t)&&!/^[-−][\s]*[\d.]/.test(t)?null:t.startsWith(`+`)?`up`:`down`}function mc({cell:e}){let t=String(e).split(/[\s,;]+/).map(Number).filter(Number.isFinite);if(t.length<2)return(0,g.jsx)(g.Fragment,{children:J(String(e),!1)});let n=Math.min(...t),r=Math.max(...t)-n||1,i=84/(t.length-1),a=t.map((e,t)=>[2+t*i,20-(e-n)/r*18]),o=a.map(([e,t])=>`${e.toFixed(1)},${t.toFixed(1)}`).join(` `),s=a[a.length-1],c=`M 2,20 L ${o.split(` `).join(` L `)} L ${s[0].toFixed(1)},20 Z`;return(0,g.jsxs)(`svg`,{className:w.cellSpark,viewBox:`0 0 88 22`,preserveAspectRatio:`none`,"aria-hidden":`true`,children:[(0,g.jsx)(`path`,{d:c,fill:`var(--dsl-g-accent)`,opacity:`0.14`}),(0,g.jsx)(`polyline`,{points:o,fill:`none`,stroke:`var(--dsl-g-accent)`,strokeWidth:`1.5`,strokeLinejoin:`round`,strokeLinecap:`round`,vectorEffect:`non-scaling-stroke`}),(0,g.jsx)(`path`,{d:`M ${s[0].toFixed(1)} ${s[1].toFixed(1)} L ${s[0].toFixed(1)} ${s[1].toFixed(1)}`,stroke:`var(--dsl-g-accent)`,strokeWidth:4,strokeLinecap:`round`,vectorEffect:`non-scaling-stroke`,fill:`none`})]})}function hc({cell:e}){let t=cc(e),n=Number.isFinite(t)?Math.max(0,Math.min(100,t)):0,r=2*Math.PI*11;return(0,g.jsxs)(`span`,{className:w.cellRing,children:[(0,g.jsxs)(`svg`,{width:28,height:28,viewBox:`0 0 28 28`,"aria-hidden":`true`,children:[(0,g.jsx)(`circle`,{cx:14,cy:14,r:11,fill:`none`,strokeWidth:4,className:w.ringTrack}),(0,g.jsx)(`circle`,{cx:14,cy:14,r:11,fill:`none`,strokeWidth:4,strokeLinecap:`round`,className:w.ringFill,strokeDasharray:`${n/100*r} ${r}`,transform:`rotate(-90 14 14)`})]}),(0,g.jsx)(`span`,{className:w.cellRingText,children:J(String(e),!1)})]})}function gc(e,t){let n=e=>String(e??``).replace(/\|/g,`\\|`).replace(/\n/g,` `);return[`| ${e.map(n).join(` | `)} |`,`| ${e.map(()=>`---`).join(` | `)} |`,...t.map(t=>`| ${e.map((e,r)=>n(t[r])).join(` | `)} |`)].join(`
262
+ `)}function _c(e){let t=e=>{let t=String(e??``);return/[",\n]/.test(t)?`"${t.replace(/"/g,`""`)}"`:t};return e.map(e=>e.map(t).join(`,`)).join(`
263
+ `)}function vc({columns:e,rows:t}){Po();let[n,r]=(0,m.useState)(null),i=n=>{let i=n===`md`?gc(e,t):_c(t);(0,p.writeClipboard)(i).then(e=>{e&&(r(n),window.setTimeout(()=>r(null),1200))})};return(0,g.jsxs)(`div`,{className:w.tableTools,children:[(0,g.jsx)(`button`,{type:`button`,className:w.tableTool,onClick:()=>i(`md`),children:Y(n===`md`?`label.copiedDone`:`block.copyMarkdown`)}),(0,g.jsx)(`button`,{type:`button`,className:w.tableTool,onClick:()=>i(`csv`),children:Y(n===`csv`?`label.copiedDone`:`block.copyCsv`)})]})}function yc({cell:e}){let t=cc(e),n=Number.isFinite(t)?Math.max(0,Math.min(100,t)):0;return(0,g.jsxs)(`span`,{className:w.cellBar,children:[(0,g.jsx)(`span`,{className:w.cellBarFill,style:{width:`${n}%`}}),(0,g.jsx)(`span`,{className:w.cellBarText,children:J(String(e),!1)})]})}let bc=(0,m.memo)(function({node:e,renderDetail:t,filterValue:n,sortValue:r}){Po();let i=e.columns.slice(0,X.maxTableCols),a=Zs(e),o=e.types??[],[s,c]=(0,m.useState)(null),[l,u]=(0,m.useState)(()=>new Set),[d,f]=(0,m.useState)(()=>new Set),p=(e,t,n,r)=>{let i=cc(e[n]),a=cc(t[n]);if(Number.isFinite(i)&&Number.isFinite(a)&&i!==a)return(i-a)*r;if(Number.isFinite(i)!==Number.isFinite(a))return Number.isFinite(i)?-r:r;let o=String(e[n]??``),s=String(t[n]??``);return(o<s?-1:+(o>s))*r},h=e=>Qs(e,o),_=n?.trim().toLowerCase(),v=(_===void 0||_===``?a.map((e,t)=>({row:e,index:t})):a.map((e,t)=>({row:e,index:t})).filter(({row:t})=>(e.filterColumn===void 0?t:[t[e.filterColumn]]).some(e=>String(e??``).toLowerCase().includes(_)))).map(e=>e.row),y=a.length-v.length,b=[];v.forEach((e,t)=>{if(h(e)){b.push({header:{row:e,index:t},children:[]});return}(b.length===0||b[b.length-1].header===null)&&b.length===0&&b.push({header:null,children:[]}),b[b.length-1].children.push({row:e,index:t})});let x=r===void 0?-1:i.indexOf(r),S=s===null?x>=0?{col:x,dir:1}:null:s,C=b.map(e=>({header:e.header,children:S===null?e.children:[...e.children].sort((e,t)=>p(e.row,t.row,S.col,S.dir))})),T=lc(v,i.length),E=e=>{u(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},ee=e=>{f(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},te=e=>{c(t=>t!==null&&t.col===e?t.dir===1?{col:e,dir:-1}:null:{col:e,dir:1})},ne=i.map((e,t)=>{if(!T[t])return null;let n=0;for(let e of v){if(h(e))continue;let r=cc(e[t]);Number.isFinite(r)&&(n+=r)}return n}),D=e.total===!0&&ne.some(e=>e!==null),re=e=>Number.isInteger(e)?e.toLocaleString(`en-US`):String(Math.round(e*100)/100),ie=(e,t,n)=>{let r=o[t],i=fc(e),a=r===`delta`?String(e).trim().startsWith(`-`)?`down`:`up`:pc(e);return(0,g.jsx)(`td`,{className:[T[t]||r===`num`?w.tdNum:void 0,i].filter(e=>e!==void 0).join(` `)||void 0,children:r===`badge`?(0,g.jsx)(`span`,{className:w.cellBadge,children:J(String(e),!1)}):r===`bar`?(0,g.jsx)(yc,{cell:e}):r===`spark`?(0,g.jsx)(mc,{cell:e}):r===`ring`?(0,g.jsx)(hc,{cell:e}):r===`index`?(0,g.jsx)(`span`,{className:w.cellIndex,children:n+1}):a===null?J(String(e),!1):(0,g.jsx)(`span`,{className:`${w.tdDelta} ${a===`up`?w.tdDeltaUp:w.tdDeltaDown}`,children:J(String(e),!1)})},t)};return(0,g.jsxs)(`div`,{className:w.tableWrap,children:[e.export===!0&&(0,g.jsx)(vc,{columns:i,rows:a}),(0,g.jsxs)(`table`,{className:w.table,children:[(0,g.jsx)(`thead`,{children:(0,g.jsx)(`tr`,{children:i.map((e,t)=>(0,g.jsx)(`th`,{className:[T[t]?w.thNum:void 0,fc(e)].filter(e=>e!==void 0).join(` `)||void 0,"aria-sort":s!==null&&s.col===t?s.dir===1?`ascending`:`descending`:`none`,children:(0,g.jsxs)(`button`,{type:`button`,className:w.thSort,onClick:()=>te(t),children:[J(e,!1),s!==null&&s.col===t&&(0,g.jsx)(`span`,{className:w.thSortMark,"aria-hidden":!0,children:s.dir===1?` ▲`:` ▼`})]})},t))})}),(0,g.jsx)(`tbody`,{children:C.map((n,r)=>{let a=n.header?.index??r,o=l.has(a);return(0,g.jsxs)(m.Fragment,{children:[n.header!==null&&(0,g.jsx)(`tr`,{className:w.groupRow,children:(0,g.jsx)(`td`,{colSpan:i.length,className:fc(String(n.header.row[0])),children:(0,g.jsxs)(`button`,{type:`button`,className:w.groupToggle,"aria-expanded":!o,onClick:()=>E(a),children:[(0,g.jsx)(`span`,{className:w.groupChevron,"aria-hidden":!0,children:o?`▸`:`▾`}),J(String(n.header.row[0]),!1),(0,g.jsx)(`span`,{className:w.groupCount,children:n.children.length})]})})}),!o&&n.children.map(r=>{let a=e.details?.[r.index]??null,o=d.has(r.index);return(0,g.jsxs)(m.Fragment,{children:[(0,g.jsx)(`tr`,{className:n.header===null?void 0:w.groupChild,children:r.row.slice(0,i.length).map((e,t)=>t===0&&a!==null?(0,g.jsx)(`td`,{className:w.detailCell,children:(0,g.jsxs)(`button`,{type:`button`,className:w.detailToggle,"aria-expanded":o,onClick:()=>ee(r.index),children:[(0,g.jsx)(`span`,{className:w.detailChevron,"data-open":o,"aria-hidden":!0,children:`▸`}),J(String(e),!1)]})},t):ie(e,t,r.index))}),o&&a!==null&&(0,g.jsx)(`tr`,{className:w.detailRow,children:(0,g.jsx)(`td`,{colSpan:i.length,children:(0,g.jsx)(`div`,{className:w.detailBody,children:t===void 0?null:t(a)})})})]},r.index)})]},n.header===null?`s-${r}`:`g-${n.header.index}`)})}),y>0&&(0,g.jsx)(`tfoot`,{children:(0,g.jsx)(`tr`,{className:w.filterRow,children:(0,g.jsx)(`td`,{colSpan:i.length,children:Y(`block.filteredRows`,{visible:v.length,total:a.length})})})}),D&&(0,g.jsx)(`tfoot`,{children:(0,g.jsx)(`tr`,{children:i.map((e,t)=>(0,g.jsx)(`td`,{className:T[t]?w.tdNum:void 0,children:t===0?Y(`block.total`):ne[t]===null?``:re(ne[t])},t))})})]})]})});function xc(){let[e,t]=(0,m.useState)(null);return{tip:e,show:(0,m.useCallback)((e,n)=>{let r=e.currentTarget,i=r.closest(`[data-genui-chart], [data-genui-line], [data-genui-donut]`);if(i===null)return;let a=i.getBoundingClientRect(),o=r.getBoundingClientRect();t({x:o.left-a.left+o.width/2,y:o.top-a.top,rows:n})},[]),hide:(0,m.useCallback)(()=>t(null),[])}}function Sc({tip:e}){return e===null?null:(0,g.jsx)(`div`,{className:w.chartTip,style:{left:`${e.x}px`,top:`${e.y}px`},role:`tooltip`,children:e.rows.map(([e,t],n)=>(0,g.jsxs)(`span`,{className:w.chartTipRow,children:[(0,g.jsx)(`span`,{children:J(e)}),(0,g.jsx)(`span`,{className:w.chartTipValue,children:J(String(t))})]},`${e}-${n}`))})}function Cc(){let e=(0,m.useRef)(null),[t,n]=(0,m.useState)(560);return(0,m.useLayoutEffect)(()=>{let t=e.current;if(t===null)return;let r=()=>{let e=t.clientWidth;e>0&&n(e)};if(r(),typeof ResizeObserver>`u`)return;let i=new ResizeObserver(r);return i.observe(t),()=>i.disconnect()},[]),[e,t]}function wc(e,t,n=4){let r=Math.min(e,0),i=Math.max(t,0);if(r===i)return[0,1];let a=(i-r)/Math.max(n,1),o=10**Math.floor(Math.log10(Math.max(a,Number.MIN_VALUE))),s=a/o,c=(s<=1?1:s<=2?2:s<=5?5:10)*o,l=Math.floor(r/c)*c,u=Math.ceil(i/c)*c,d=[];for(let e=l;e<=u+c/2;e+=c)d.push(Math.abs(e)<c/1e6?0:e);return d}function Tc(e){let t=Math.abs(e);return t>=1e9?`${(e/1e9).toFixed(t%1e9==0?0:1)}b`:t>=1e6?`${(e/1e6).toFixed(t%1e6==0?0:1)}m`:t>=1e3?`${(e/1e3).toFixed(t%1e3==0?0:1)}k`:String(Number.isInteger(e)?e:Math.round(e*100)/100)}function Ec(e){if(!Number.isFinite(e))return 0;let[t,n]=String(e).toLowerCase().split(`e`),r=t.split(`.`)[1]?.length??0,i=n===void 0?0:Number(n);return Math.max(r-i,0)}function Dc(e,t){if(!Number.isFinite(e)||Math.abs(e)>=1e21||t>100)return String(e);let n=e.toFixed(t);return n.includes(`.`)?n.replace(/\.?0+$/,``):n}function Oc({ticks:e,lo:t,span:n}){return(0,g.jsx)(`div`,{className:w.chartYAxis,style:{height:160},children:e.map(e=>(0,g.jsx)(`span`,{className:w.chartYTick,style:{bottom:`${(e-t)/n*100}%`},children:Tc(e)},e))})}let kc=(0,m.memo)(function({chart:e,filterValue:t}){let n=(0,m.useMemo)(()=>Ac(e,t),[e,t]),r=n.kind??`bars`;return r===`donut`?(0,g.jsx)(Nc,{chart:n}):r===`line`?(0,g.jsx)(Mc,{chart:n}):(0,g.jsx)(jc,{chart:n})});function Ac(e,t){let n=t?.trim().toLowerCase();if(n===void 0||n===``)return e;let r=e=>e.label.toLowerCase().includes(n),i=e.data.filter(r);if(e.series===void 0)return i.length===e.data.length?e:{...e,data:i};let a=e.series.map(e=>({...e,data:e.data.filter(r)}));return{...e,data:i,series:a}}let jc=(0,m.memo)(function({chart:e}){Po();let{tip:t,show:n,hide:r}=xc(),i=e.series===void 0?void 0:e.series.slice(0,X.maxPlotSeries),a=i!==void 0&&i.length>0,o=e.data.slice(0,X.maxChartPoints),s=a?i[0].data.map(e=>e.label):o.map(e=>e.label),c=a?i.map(e=>e.data.map(e=>Number(e.value)||0)):[o.map(e=>Number(e.value)||0)],l=c.map((t,n)=>sc(n,c.length,a?i[n]?.color:void 0,e.palette)??`var(--dsw-alias-state-business-primary, #4f8ef7)`),u=c.flat(),d=s.length<=12,f=e.stacked===!0&&a,p=s.map((e,t)=>c.reduce((e,n)=>e+Math.max(0,n[t]??0),0)),m=s.map((e,t)=>Math.max(...c.map(e=>Ec(e[t]??0)),0)),h=Math.max(...f?p:u,0);if(e.horizontal===!0){let e=Math.max(h,1),u=a?(0,g.jsx)(`div`,{className:w.chartLegend,children:i.map((e,t)=>(0,g.jsxs)(`span`,{className:w.legendItem,children:[(0,g.jsx)(`span`,{className:w.legendSwatch,style:{background:l[t]}}),J(e.label)]},t))}):null;return(0,g.jsxs)(`div`,{className:w.chart,"data-genui-chart":`bars`,role:`img`,"aria-label":Y(`block.chart.barsAria`,{count:s.length}),onMouseLeave:r,children:[(0,g.jsx)(`div`,{className:w.hbars,children:s.map((t,r)=>(0,g.jsxs)(`div`,{className:w.hbarRow,children:[(0,g.jsx)(`span`,{className:w.hbarLabel,title:t,children:J(t)}),(0,g.jsx)(`div`,{className:w.hbarTracks,children:f?(0,g.jsx)(`div`,{className:w.hbarTrack,title:`${t}: ${Dc(p[r]??0,m[r]??0)}`,children:c.map((t,a)=>{let o=Math.max(0,t[r]??0),s=p[r]??0,c=s===0?0:o/s*Math.max(0,Math.min(100,s/e*100));return(0,g.jsx)(`div`,{className:w.hbarSeg,style:{width:`${c}%`,background:l[a]},onMouseEnter:e=>n(e,[[i[a].label,String(o)],[Y(`block.total`),Dc(s,m[r]??0)]]),onMouseMove:e=>n(e,[[i[a].label,String(o)],[Y(`block.total`),Dc(s,m[r]??0)]])},a)})}):c.map((o,s)=>{let c=o[r]??0,u=Math.max(0,Math.min(100,Math.max(0,c)/e*100));return(0,g.jsx)(`div`,{className:w.hbarTrack,children:(0,g.jsx)(`div`,{className:w.hbarFill,style:{width:`${u}%`,background:l[s]},onMouseEnter:e=>n(e,a?[[i[s].label,String(c)],[Y(`block.total`),Dc(p[r]??0,m[r]??0)]]:[[t,String(c)]]),onMouseMove:e=>n(e,a?[[i[s].label,String(c)],[Y(`block.total`),Dc(p[r]??0,m[r]??0)]]:[[t,String(c)]])})},s)})}),d&&(0,g.jsx)(`span`,{className:w.hbarValue,children:a?Dc(p[r]??0,m[r]??0):String(o[r]?.value??``)})]},r))}),u,(0,g.jsx)(Sc,{tip:t})]})}let _=wc(a?0:Math.min(...u,0),h,4),v=_[0],y=_[_.length-1]-v||1,b=e=>(e-v)/y*100,x=b(0),S=Y(`block.chart.barsSummary`,{count:s.length,max:Tc(Math.max(...u,0))});return(0,g.jsxs)(`div`,{className:w.chart,"data-genui-chart":`bars`,role:`img`,"aria-label":S,onMouseLeave:r,children:[(0,g.jsx)(Sc,{tip:t}),(0,g.jsxs)(`div`,{className:w.chartBody,children:[(0,g.jsx)(Oc,{ticks:_,lo:v,span:y}),(0,g.jsxs)(`div`,{className:w.chartPlot,children:[_.map(e=>(0,g.jsx)(`span`,{className:e===0?w.baseline:w.gridline,style:{bottom:`${b(e)}%`}},e)),s.map((e,t)=>(0,g.jsx)(`div`,{className:w.barCol,children:f?(0,g.jsxs)(g.Fragment,{children:[d&&(0,g.jsx)(`span`,{className:w.barValue,style:{bottom:`calc(${b(p[t]??0)}% + 4px)`},children:Dc(p[t]??0,m[t]??0)}),(0,g.jsx)(`div`,{className:w.stack,style:{height:`${Math.max(0,b(p[t]??0))}%`},children:i.map((e,r)=>{let i=e.data[t],a=i===void 0?0:Number(i.value)||0,o=Math.max(0,a),s=p[t]??0,c=s===0?0:o/s*b(s),u=[[e.label,String(a)],[Y(`block.total`),Dc(s,m[t]??0)]];return(0,g.jsx)(`div`,{className:w.stackSeg,style:{height:s===0?`0%`:`${o/s*100}%`,background:l[r]},onMouseEnter:e=>n(e,u),onMouseMove:e=>n(e,u),children:c>=11&&(0,g.jsx)(`span`,{className:w.stackValue,children:a})},r)})})]}):a?(0,g.jsx)(`div`,{className:w.groupedBars,children:i.map((e,r)=>{let i=e.data[t],a=i===void 0?0:Number(i.value)||0;return(0,g.jsxs)(`div`,{className:w.groupedBar,children:[d&&(0,g.jsx)(`span`,{className:w.groupValue,children:i===void 0?``:String(i.value)}),(0,g.jsx)(`div`,{className:w.groupedFill,style:{height:`${Math.max(0,b(Math.max(0,a)))}%`,background:l[r]},onMouseEnter:r=>n(r,[[e.label,String(i?.value??``)],[Y(`block.total`),Dc(p[t]??0,m[t]??0)]]),onMouseMove:r=>n(r,[[e.label,String(i?.value??``)],[Y(`block.total`),Dc(p[t]??0,m[t]??0)]])})]},r)})}):(()=>{let r=c[0][t]??0,i=Math.max(b(r),x),a=Math.min(b(r),x);return(0,g.jsxs)(g.Fragment,{children:[d&&(0,g.jsx)(`span`,{className:w.barValue,style:{bottom:`calc(${i}% + 4px)`},children:String(o[t]?.value??``)}),(0,g.jsx)(`div`,{className:w.barFill,style:{bottom:`${a}%`,height:`${Math.max(i-a,.6)}%`,...r<0?{borderRadius:`0 0 5px 5px`}:{},...o[t]?.color===void 0?{}:{background:o[t].color}},onMouseEnter:r=>n(r,[[e,String(o[t]?.value??``)]]),onMouseMove:r=>n(r,[[e,String(o[t]?.value??``)]])})]})})()},t))]})]}),(0,g.jsx)(`div`,{className:w.chartLabels,children:s.map((e,t)=>(0,g.jsx)(`span`,{className:w.barLabel,children:J(e)},`${e}-${t}`))}),a&&(0,g.jsx)(`div`,{className:w.chartLegend,children:i.map((e,t)=>(0,g.jsxs)(`span`,{className:w.legendItem,children:[(0,g.jsx)(`span`,{className:w.legendSwatch,style:{background:l[t]}}),J(e.label)]},t))})]})}),Mc=(0,m.memo)(function({chart:e}){Po();let[t,n]=Cc(),{tip:r,show:i,hide:a}=xc(),o=`genui-line-${(0,m.useId)().replace(/:/g,``)}`,s=e.series!==void 0&&e.series.length>0?e.series.slice(0,X.maxPlotSeries):void 0,c=e.data.slice(0,X.maxChartPoints),l=s===void 0?c.map(e=>e.label):s[0].data.map(e=>e.label),u=s===void 0?[c.map(e=>Number(e.value)||0)]:s.map(e=>e.data.map(e=>Number(e.value)||0)),d=u.map((t,n)=>sc(n,u.length,s===void 0?void 0:s[n]?.color,e.palette)??`var(--dsl-g-accent)`),f=u.length>1,p=u.flat(),h=Math.max(...u.map(e=>e.length),0),_=Math.max(n,260),v=wc(Math.min(...p,0),Math.max(...p,0),4),y=v[0],b=v[v.length-1]-y||1,x=_-44-12,S=e=>44+(h<=1?x/2:e/(h-1)*x),C=e=>14+(1-(e-y)/b)*136,T=u.map(e=>e.map((e,t)=>`${t===0?`M`:`L`} ${S(t).toFixed(1)} ${C(e).toFixed(1)}`).join(` `)),E=!f&&h>1?`${T[0]} L ${S(h-1).toFixed(1)} ${C(y).toFixed(1)} L ${S(0).toFixed(1)} ${C(y).toFixed(1)} Z`:null,ee=Math.max(1,Math.ceil(h/Math.max(1,Math.floor(x/64)))),te=Y(f?`block.chart.lineSeries`:`block.chart.linePoints`,{count:f?u.length:h,min:Tc(Math.min(...p,0)),max:Tc(Math.max(...p,0))});return(0,g.jsxs)(`div`,{className:w.lineChart,"data-genui-chart":`line`,"data-genui-line":!0,ref:t,role:`img`,"aria-label":te,onMouseLeave:a,children:[(0,g.jsx)(Sc,{tip:r}),(0,g.jsxs)(`svg`,{width:`100%`,viewBox:`0 0 ${_} 176`,preserveAspectRatio:`none`,children:[(0,g.jsx)(`defs`,{children:(0,g.jsxs)(`linearGradient`,{id:o,x1:`0`,y1:`0`,x2:`0`,y2:`1`,children:[(0,g.jsx)(`stop`,{offset:`0%`,stopColor:`var(--dsl-g-accent)`,stopOpacity:`0.22`}),(0,g.jsx)(`stop`,{offset:`100%`,stopColor:`var(--dsl-g-accent)`,stopOpacity:`0.02`})]})}),v.map((e,t)=>{let n=C(e);return(0,g.jsxs)(`g`,{children:[(0,g.jsx)(`line`,{x1:44,x2:_-12,y1:n,y2:n,className:t===0?w.lineGridAxis:w.lineGrid}),(0,g.jsx)(`text`,{x:36,y:n+4,textAnchor:`end`,className:w.lineTick,children:Tc(e)})]},e)}),E!==null&&(0,g.jsx)(`path`,{d:E,fill:`url(#${o})`}),T.map((e,t)=>(0,g.jsx)(`path`,{d:e,className:w.linePath,style:{stroke:d[t]}},t)),u.map((e,t)=>e.map((e,n)=>{let r=f?[[s[t].label,String(e)],[Y(`block.chart.node`),l[n]??``]]:[[l[n]??``,String(e)]];return(0,g.jsx)(`circle`,{cx:S(n),cy:C(e),r:f?3:3.5,className:w.lineDot,style:{fill:d[t]},onMouseEnter:e=>i(e,r),onMouseMove:e=>i(e,r)},`${t}-${n}`)})),l.map((e,t)=>t%ee===0?(0,g.jsx)(`text`,{x:S(t),y:168,textAnchor:`middle`,className:w.lineLabel,children:e},`l-${t}`):null)]}),f&&(0,g.jsx)(`div`,{className:w.chartLegend,children:s.map((e,t)=>(0,g.jsxs)(`span`,{className:w.legendItem,children:[(0,g.jsx)(`span`,{className:w.legendSwatch,style:{background:d[t]}}),J(e.label)]},t))})]})}),Nc=(0,m.memo)(function({chart:e}){Po();let{tip:t,show:n,hide:r}=xc(),i=e.data.slice(0,X.maxChartPoints),a=i.map(e=>({...e,v:Math.max(0,Number(e.value)||0)})),o=a.reduce((e,t)=>e+t.v,0)||1,s=o>=1e3?`${Math.round(o/100)/10}k`:Number.isInteger(o)?String(o):o.toFixed(1),c=2*Math.PI*62,l=0,u=Y(`block.chart.donutSummary`,{count:a.length,total:s});return(0,g.jsxs)(`div`,{className:w.donut,"data-genui-chart":`donut`,"data-genui-donut":!0,role:`img`,"aria-label":u,onMouseLeave:r,children:[(0,g.jsx)(Sc,{tip:t}),(0,g.jsxs)(`svg`,{width:160,height:160,viewBox:`0 0 160 160`,children:[(0,g.jsx)(`circle`,{cx:80,cy:80,r:62,fill:`none`,strokeWidth:18,className:w.donutTrack}),a.map((t,r)=>{let a=t.v/o,s=a*c,u=(0,g.jsx)(`circle`,{cx:80,cy:80,r:62,fill:`none`,strokeWidth:18,className:w.donutSeg,style:{stroke:sc(r,i.length,t.color,e.palette)??`var(--dsw-alias-state-business-primary, #4f8ef7)`},strokeDasharray:`${s} ${c-s}`,strokeDashoffset:-l,transform:`rotate(-90 80 80)`,onMouseEnter:e=>n(e,[[t.label,`${String(t.value)} · ${(a*100).toFixed(1)}%`]]),onMouseMove:e=>n(e,[[t.label,`${String(t.value)} · ${(a*100).toFixed(1)}%`]])},r);return l+=s,u}),(0,g.jsx)(`text`,{x:80,y:78,textAnchor:`middle`,className:w.donutTotal,children:s}),(0,g.jsx)(`text`,{x:80,y:96,textAnchor:`middle`,className:w.donutTotalLabel,children:Y(`block.total`)})]}),(0,g.jsx)(`div`,{className:w.donutLegend,children:a.map((t,n)=>(0,g.jsxs)(`span`,{className:w.legendItem,children:[(0,g.jsx)(`span`,{className:w.legendSwatch,style:{background:sc(n,i.length,t.color,e.palette)??`var(--dsw-alias-state-business-primary, #4f8ef7)`}}),(0,g.jsx)(`span`,{children:J(t.label)}),(0,g.jsxs)(`span`,{className:w.donutPct,children:[String(t.value),` · `,(t.v/o*100).toFixed(1),`%`]})]},n))})]})});function Pc(e,t){let n=(e,t,n)=>{n>X.maxDepth||e.forEach((e,i)=>r(e,`${t}[${i}]`,n))},r=(e,i,a)=>{if(!(a>X.maxDepth)&&(t(e,i),!(a>=X.maxDepth)))switch(e.type){case`row`:case`col`:case`grid`:case`card`:n(e.items,`${i}.items`,a+1);break;case`tabs`:e.tabs.forEach((e,t)=>n(e.items,`${i}.tabs[${t}].items`,a+1));break;case`accordion`:e.items.forEach((e,t)=>n(e.items,`${i}.items[${t}].items`,a+1));break;case`list`:e.items.forEach((e,t)=>{typeof e==`object`&&e&&`type`in e&&r(e,`${i}.items[${t}]`,a+1)});break;case`table`:e.details?.slice(0,Zs(e).length).forEach((t,r)=>{t!==null&&$s(e,r)&&n(t,`${i}.details[${r}]`,a+1)})}};n(e.items,`items`,0)}function Fc(e){let t=new Map,n=new Map,r=[],i=[];Pc(e,(e,a)=>{if(e.type===`submit`){e.groups!==void 0&&i.push({groups:e.groups,path:a});return}let o,s;switch(e.type){case`radio`:if(e.group===void 0)return;o={kind:`radio`,key:e.group,label:e.label??e.group,options:e.options.slice(0,X.maxOptions),...e.answer===void 0?{}:{answer:e.answer},...e.explanation===void 0?{}:{explanation:e.explanation}},s=`${a}.group`;break;case`checkbox`:if(e.group===void 0)return;o={kind:`checkbox`,key:e.group},s=`${a}.group`;break;case`input`:case`textarea`:case`select`:case`slider`:if(e.id===void 0)return;o={kind:`field`,key:e.id,fieldType:e.type,secret:e.type===`input`&&e.inputType===`password`},s=`${a}.id`;break;default:return}if(o===void 0)return;let c=t.get(o.key);if(c!==void 0){(c.kind!==`checkbox`||o.kind!==`checkbox`)&&r.push(`${s} conflicts with ${n.get(o.key)}: submission key '${o.key}' is already used`);return}t.set(o.key,o),n.set(o.key,s)});for(let{groups:e,path:n}of i){let i=new Set;e.forEach((e,a)=>{let o=`${n}.groups[${a}]`;i.has(e)&&r.push(`${o}: duplicate submission member '${e}'`),i.add(e);let s=t.get(e);s===void 0?r.push(`${o}: submit.groups references unknown submission member '${e}'`):s.kind===`field`&&s.secret&&r.push(`${o}: submit.groups cannot require secret field '${e}'`)})}return{registry:{members:t},diagnostics:r}}function Ic(e){return Fc(e).registry}function Lc(e,t){switch(e.kind){case`radio`:return t.answers[e.key]!==void 0;case`checkbox`:return(t.multiAnswers[e.key]?.length??0)>0;case`field`:{if(e.secret)return!1;let n=t.fields[e.key];return n!==void 0&&n.trim()!==``}}}function Rc({registry:e,groups:t,state:n}){let r=t?.some(t=>!e.members.has(t))??!1,i=t===void 0?[...e.members.values()].filter(e=>Lc(e,n)):t.flatMap(t=>{let n=e.members.get(t);return n===void 0?[]:[n]}),a=i.filter(e=>Lc(e,n)).length,o=t?.length??i.length,s=new Set(i.map(e=>e.key)),c=Object.keys(n.answers).some(e=>!s.has(e))||Object.keys(n.multiAnswers).some(e=>!s.has(e))||Object.entries(n.fields).some(([e,t])=>t.trim()!==``&&!n.secretFields.has(e)&&!s.has(e));return{scope:i,answered:a,total:o,localGradeEligible:!r&&i.length>0&&i.every(e=>e.kind===`radio`)&&i.some(e=>e.kind===`radio`&&e.answer!==void 0),hasOutOfScopePayload:c}}function zc({node:e,onAction:t,answers:n}){let r=e.action,i=e.group,a=i!==void 0,o=e.options.slice(0,X.maxOptions),s=i!==void 0&&n?.answers[i]!==void 0?o.indexOf(n.answers[i]):-1,[c,l]=(0,m.useState)(s>=0?s:e.selected??null),u=(0,m.useId)(),d=a&&n?.locked===!0;return(0,m.useEffect)(()=>{i!==void 0&&e.selected!==void 0&&o[e.selected]!==void 0&&n?.answers[i]===void 0&&n?.setAnswer(i,o[e.selected])},[i,e.label,e.answer,e.explanation,e.options,e.selected]),(0,g.jsxs)(`div`,{className:w.fieldGroup,role:`radiogroup`,"aria-label":e.label,children:[e.label!==void 0&&(0,g.jsx)(`span`,{className:w.fieldLabel,children:J(e.label,!1)}),o.map((e,o)=>(0,g.jsxs)(`label`,{className:w.radio,children:[(0,g.jsx)(`input`,{type:`radio`,name:`genui-radio-${u}`,checked:c===o,disabled:d,onChange:()=>{l(o),a?n?.setAnswer(i,e):r!==void 0&&t!==void 0&&t(r,{type:`radio`,value:e})}}),(0,g.jsx)(`span`,{children:J(e,!1)})]},o))]})}function Bc(e){if(e.answer!==void 0)return typeof e.answer==`number`?e.options[e.answer]:e.answer}function Vc({node:e,onAction:t,answers:n}){let r=Po(),i=n?.answers??{},a=n?.multiAnswers??{},o=n?.fields??{},s=e.groups,c=Object.fromEntries(Object.entries(o).filter(([e,t])=>t.trim()!==``&&!n?.secretFields.has(e))),l=n===void 0?{scope:[],answered:0,total:s?.length??0,localGradeEligible:!1,hasOutOfScopePayload:!1}:Rc({registry:n.registry,...s===void 0?{}:{groups:s},state:{answers:i,multiAnswers:a,fields:o,secretFields:n.secretFields}}),{scope:u,answered:d,total:f}=l,p=e.action!==void 0&&t!==void 0,m=l.localGradeEligible&&(!l.hasOutOfScopePayload||!p),h=n?.locked===!0,_={...i,...a},v=d>0&&d>=f&&(m||p);if(h){let a=u.filter(e=>e.kind===`radio`&&i[e.key]!==void 0&&e.answer!==void 0),o=a.filter(e=>i[e.key]===Bc(e)).length;return(0,g.jsxs)(`div`,{className:w.gradeWrap,"data-genui-grade":!0,children:[(0,g.jsxs)(`div`,{className:w.gradeScore,children:[(0,g.jsxs)(`span`,{className:w.gradeScoreValue,children:[o,` / `,a.length]}),(0,g.jsxs)(`span`,{className:w.gradeScoreLabel,children:[r(`block.score`),a.length<u.length?r(`block.scoreUngraded`,{count:u.length-a.length}):``]})]}),(0,g.jsx)(`div`,{className:w.gradeList,children:u.map(e=>{if(e.kind!==`radio`)return null;let t=i[e.key];if(t===void 0)return null;let n=Bc(e);if(n===void 0)return(0,g.jsxs)(`div`,{className:w.gradeItem,children:[(0,g.jsx)(`span`,{className:w.gradeQ,children:J(e.label)}),(0,g.jsxs)(`span`,{className:w.gradeAns,children:[r(`block.yourAnswer`),J(t)]})]},e.key);let a=t===n;return(0,g.jsxs)(`div`,{className:`${w.gradeItem} ${a?w.gradeItemOk:w.gradeItemNo}`,children:[(0,g.jsx)(`span`,{className:w.gradeQ,children:J(e.label)}),(0,g.jsx)(`span`,{className:w.gradeTag,children:a?`✓`:`✗`}),(0,g.jsxs)(`span`,{className:w.gradeAns,children:[r(`block.yourAnswer`),J(t),!a&&(0,g.jsxs)(`span`,{className:w.gradeRight,children:[r(`block.correctAnswer`),J(n??``)]})]}),e.explanation!==void 0&&(0,g.jsx)(`span`,{className:w.gradeExp,children:J(e.explanation)})]},e.key)})}),(0,g.jsx)(`button`,{type:`button`,className:`${w.button} ${w.ghost} ${w.submit}`,onClick:()=>{n?.clear(),e.resetAction!==void 0&&t!==void 0&&t(e.resetAction,{type:`submit-reset`,groups:s??Object.keys(i)})},children:r(`block.quizRetry`)})]})}return(0,g.jsxs)(`div`,{className:w.submitRow,children:[(0,g.jsx)(`button`,{type:`button`,className:`${w.button} ${w.primary} ${w.submit}`,disabled:!v,onClick:v?()=>{m?n?.setLocked(!0):e.action!==void 0&&t!==void 0&&t(e.action,{type:`submit`,answers:_,...Object.keys(c).length>0?{fields:c}:{},total:f,answered:d})}:void 0,children:J(e.label,!1)}),f>0&&(0,g.jsx)(`span`,{className:w.submitHint,"aria-live":`polite`,children:r(`block.selectedCount`,{answered:d,total:f})})]})}function Hc({node:e,onAction:t}){let[n,r]=(0,m.useState)(e.checked===!0),i=e.action;return(0,g.jsxs)(`label`,{className:w.switchRow,children:[(0,g.jsx)(`span`,{className:w.switchLabel,children:J(e.label,!1)}),(0,g.jsx)(`button`,{type:`button`,role:`switch`,"aria-checked":n,className:`${w.switch} ${n?w.switchOn:``}`,onClick:()=>{let e=!n;r(e),i!==void 0&&t!==void 0&&t(i,{type:`switch`,checked:e})},children:(0,g.jsx)(`span`,{className:w.switchKnob})})]})}function Uc({node:e,onAction:t,answers:n}){let r=e.action,i=e.id,a=i!==void 0&&n?.fields[i]!==void 0?Number(n.fields[i]):NaN,o=Number.isFinite(a)?a:e.value??e.min??0,[s,c]=(0,m.useState)(o),l=(0,m.useRef)(!1);(0,m.useEffect)(()=>{l.current||(l.current=!0,i!==void 0&&n?.setField(i,String(o)))},[]);let u=e=>{r!==void 0&&t!==void 0&&t(r,{type:`slider`,value:e,...i===void 0?{}:{id:i}})};return(0,g.jsxs)(`label`,{className:w.sliderRow,children:[e.label!==void 0&&(0,g.jsx)(`span`,{className:w.fieldLabel,children:J(e.label,!1)}),(0,g.jsx)(`input`,{type:`range`,className:w.sliderInput,min:e.min,max:e.max,step:e.step??1,value:s,"aria-label":e.label,onChange:e=>{let t=Number(e.currentTarget.value);c(t),i!==void 0&&n?.setField(i,String(t)),u(t)}}),(0,g.jsx)(`span`,{className:w.sliderValue,children:Math.round(s*100)/100})]})}function Wc(){let e=(0,m.useRef)(!1),t=(0,m.useRef)(null);return(0,m.useEffect)(()=>()=>{t.current!==null&&clearTimeout(t.current)},[]),{isComposing:()=>e.current,onCompositionStart:()=>{e.current=!0,t.current!==null&&(clearTimeout(t.current),t.current=null)},onCompositionEnd:()=>{t.current!==null&&clearTimeout(t.current),t.current=setTimeout(()=>{e.current=!1},10)}}}function Gc(e){let t=e.nativeEvent;return t.isComposing===!0||t.keyCode===229}function Kc({node:e,onAction:t,answers:n}){let r=Po(),i=e.action,a=e.id,o=e.options.slice(0,X.maxOptions),s=a!==void 0&&n?.fields[a]!==void 0?o.indexOf(n.fields[a]):-1,c=s>=0?o[s]:e.selected!==void 0&&o[e.selected]!==void 0?o[e.selected]:null,[l,u]=(0,m.useState)(c),d=(0,m.useRef)(!1);(0,m.useEffect)(()=>{d.current||(d.current=!0,a!==void 0&&c!==null&&n?.setField(a,c))},[]);let f=e=>{i!==void 0&&t!==void 0&&t(i,{type:`select`,value:e,...a===void 0?{}:{id:a}})};return(0,g.jsxs)(`label`,{className:w.field,children:[e.label!==void 0&&(0,g.jsx)(`span`,{children:J(e.label,!1)}),(0,g.jsxs)(`select`,{className:w.select,value:l??``,onChange:e=>{let t=e.currentTarget.value;u(t),a!==void 0&&n?.setField(a,t),f(t)},children:[l===null&&(0,g.jsx)(`option`,{value:``,hidden:!0,disabled:!0,children:r(`block.selectPlaceholder`)}),o.map((e,t)=>(0,g.jsx)(`option`,{value:e,children:e},t))]})]})}function qc({node:e,onAction:t,answers:n}){let r=e.action,i=e.id,a=e.inputType===`password`,o=!a&&i!==void 0?n?.fields[i]:void 0,[s,c]=(0,m.useState)(()=>{let t=a?``:o??e.value??``;return e.inputType===`color`?/^#[0-9a-f]{6}$/i.test(t)?t.toLowerCase():`#000000`:t}),l=(0,m.useRef)(s),u=e=>{r!==void 0&&t!==void 0&&(l.current=s,t(r,{type:`input`,value:s,...i===void 0?{}:{id:i},...e?{submit:!0}:{}}))},d=Wc(),f=(0,m.useRef)(!1);return(0,m.useEffect)(()=>{f.current||(f.current=!0,!a&&i!==void 0&&s.trim()!==``&&n?.setField(i,s))},[]),(0,m.useEffect)(()=>{a&&i!==void 0&&n?.registerSecretField(i)},[a,i]),(0,g.jsxs)(`label`,{className:w.field,children:[e.label!==void 0&&(0,g.jsx)(`span`,{children:J(e.label,!1)}),(0,g.jsx)(`input`,{className:w.input,type:e.inputType??`text`,style:e.inputType===`color`?{width:64,height:40,padding:4,boxSizing:`border-box`,alignSelf:`flex-start`,cursor:`pointer`}:void 0,placeholder:e.placeholder,value:s,onChange:e=>{let t=e.currentTarget.value;c(t),i!==void 0&&n?.setField(i,t)},onBlur:()=>{s!==l.current&&u(!1)},onCompositionStart:d.onCompositionStart,onCompositionEnd:d.onCompositionEnd,onKeyDown:e=>{e.key===`Enter`&&(d.isComposing()||Gc(e)||(e.preventDefault(),u(!0)))}})]})}function Jc({node:e,onAction:t,answers:n}){let r=e.action,i=e.id,a=i===void 0?void 0:n?.fields[i],[o,s]=(0,m.useState)(()=>a??e.value??``),c=(0,m.useRef)(o),l=e=>{r!==void 0&&t!==void 0&&(c.current=o,t(r,{type:`textarea`,value:o,...i===void 0?{}:{id:i},...e?{submit:!0}:{}}))},u=Wc(),d=(0,m.useRef)(!1);return(0,m.useEffect)(()=>{d.current||(d.current=!0,i!==void 0&&o.trim()!==``&&n?.setField(i,o))},[]),(0,g.jsxs)(`label`,{className:w.field,children:[e.label!==void 0&&(0,g.jsx)(`span`,{children:J(e.label,!1)}),(0,g.jsx)(`textarea`,{className:w.textarea,placeholder:e.placeholder,rows:e.rows??4,value:o,onChange:e=>{let t=e.currentTarget.value;s(t),i!==void 0&&n?.setField(i,t)},onBlur:()=>{o!==c.current&&l(!1)},onCompositionStart:u.onCompositionStart,onCompositionEnd:u.onCompositionEnd,onKeyDown:e=>{!(e.metaKey||e.ctrlKey)||e.key!==`Enter`||u.isComposing()||Gc(e)||(e.preventDefault(),l(!0))}})]})}function Yc({node:e,onAction:t,answers:n}){let r=e.group,i=r!==void 0,a=r!==void 0&&Object.prototype.hasOwnProperty.call(n?.multiAnswers??{},r),o=r===void 0?void 0:n?.multiAnswers[r],s=a?Array.isArray(o)&&o.includes(e.label):e.checked===!0,[c,l]=(0,m.useState)(e.checked===!0);return(0,m.useEffect)(()=>{r===void 0||e.checked!==!0||a||n?.setMultiAnswer(r,e.label,!0)},[r,e.checked,e.label,a]),(0,g.jsxs)(`label`,{className:w.checkbox,children:[(0,g.jsx)(`input`,{type:`checkbox`,checked:i?s:c,onChange:a=>{let o=a.currentTarget.checked;l(o),i?n?.setMultiAnswer(r,e.label,o):e.action!==void 0&&t!==void 0&&t(e.action,{type:`checkbox`,checked:o})}}),(0,g.jsx)(`span`,{children:J(e.label,!1)})]})}let Xc={pi:Math.PI,e:Math.E,tau:Math.PI*2},Zc={sin:Math.sin,cos:Math.cos,tan:Math.tan,asin:Math.asin,acos:Math.acos,atan:Math.atan,sqrt:Math.sqrt,cbrt:Math.cbrt,exp:Math.exp,log:Math.log10,ln:Math.log,abs:Math.abs,floor:Math.floor,ceil:Math.ceil,round:Math.round,min:Math.min,max:Math.max,pow:(e,t)=>e**+t};var Qc=class extends Error{pos;constructor(e,t){super(`SafeMath parse error at ${t}: ${e}`),this.pos=t}},$c=class{src;vars;i=0;constructor(e,t){this.src=e,this.vars=t}parse(){let e=this.parseExpr();if(this.skipWs(),this.i<this.src.length)throw new Qc(`unexpected trailing input`,this.i);return this.evalNode(e)}evalNode(e){return typeof e==`number`?()=>e:e}parseExpr(){let e=this.parseTerm();for(;;){this.skipWs();let t=this.peek();if(t===`+`||t===`-`){this.i++;let n=this.parseTerm(),r=t,i=e;e=r===`+`?e=>this.asNum(i,e)+this.asNum(n,e):e=>this.asNum(i,e)-this.asNum(n,e)}else return e}}parseTerm(){let e=this.parseUnary();for(;;){this.skipWs();let t=this.peek();if(t===`*`||t===`/`||t===`%`){this.i++;let n=this.parseUnary(),r=t,i=e;e=r===`*`?e=>this.asNum(i,e)*this.asNum(n,e):r===`/`?e=>this.asNum(i,e)/this.asNum(n,e):e=>this.asNum(i,e)%this.asNum(n,e)}else return e}}parseUnary(){this.skipWs();let e=this.char();if(e===`-`||e===`+`){this.i++;let t=this.parseUnary();return e===`-`?e=>-this.asNum(t,e):e=>this.asNum(t,e)}return this.parsePower()}parsePower(){let e=this.parseAtom();if(this.skipWs(),this.peek()===`^`){this.i++;let t=this.parsePower(),n=e;return e=>this.asNum(n,e)**+this.asNum(t,e)}return e}parseAtom(){this.skipWs();let e=this.char();if(e===`(`){this.i++;let e=this.parseExpr();if(this.skipWs(),this.peek()!==`)`)throw new Qc(`expected )`,this.i);return this.i++,e}if(e>=`0`&&e<=`9`||e===`.`)return this.parseNumber();if(this.isIdentStart(e))return this.parseIdent();throw new Qc(`unexpected character '${e}'`,this.i)}parseNumber(){let e=this.i,t=!1;for(;this.i<this.src.length&&/[0-9]/.test(this.src[this.i]);)t=!0,this.i++;if(this.peek()===`.`)for(this.i++;this.i<this.src.length&&/[0-9]/.test(this.src[this.i]);)t=!0,this.i++;if(!t)throw new Qc(`invalid number '${this.src.slice(e,this.i)}'`,e);if(this.peek()===`e`||this.peek()===`E`){this.i++,(this.peek()===`+`||this.peek()===`-`)&&this.i++;let t=this.i;for(;this.i<this.src.length&&/[0-9]/.test(this.src[this.i]);)this.i++;if(this.i===t)throw new Qc(`invalid number '${this.src.slice(e,this.i)}'`,e)}let n=this.src.slice(e,this.i),r=Number(n);if(Number.isNaN(r))throw new Qc(`invalid number '${n}'`,e);return r}parseIdent(){let e=this.i;for(;this.i<this.src.length&&this.isIdentChar(this.src[this.i]);)this.i++;let t=this.src.slice(e,this.i);if(this.skipWs(),this.peek()===`(`){let n=Zc[t];if(n===void 0)throw new Qc(`unknown function '${t}'`,e);this.i++;let r=[];if(this.skipWs(),this.peek()===`)`)this.i++;else for(;;){r.push(this.parseExpr()),this.skipWs();let e=this.peek();if(e===`,`){this.i++;continue}if(e===`)`){this.i++;break}throw new Qc(`expected , or ) in call`,this.i)}return e=>n(...r.map(t=>this.asNum(t,e)))}if(Object.hasOwn(Xc,t))return Xc[t];if(t===`x`)return e=>e;if(Object.hasOwn(this.vars,t)){let e=this.vars[t];return()=>e}if(/^[a-z]$/.test(t))return()=>1;throw new Qc(`unknown identifier '${t}'`,e)}asNum(e,t){return typeof e==`number`?e:e(t)}skipWs(){for(;this.i<this.src.length&&/\s/.test(this.src[this.i]);)this.i++}peek(){return this.src[this.i]}char(){let e=this.peek();if(e===void 0)throw new Qc(`unexpected end of input`,this.i);return e}isIdentStart(e){return e!==void 0&&/[a-zA-Z_]/.test(e)}isIdentChar(e){return/[a-zA-Z0-9_]/.test(e)}};function el(e,t={}){try{let n={...t.vars};return delete n.x,new $c(e,n).parse()}catch{return null}}function tl(e,t,n,r=200,i={}){let a=el(e,{vars:i});if(a===null||!Number.isFinite(t)||!Number.isFinite(n)||n<=t||r<2)return[];let o=[],s=(n-t)/(r-1);for(let e=0;e<r;e++){let n=t+s*e,r=a(n);Number.isFinite(r)&&o.push([n,r])}return o}let nl=`@changfenhuang/dsh-genui/PlotBlock.module.css`;if(typeof document<`u`&&document.querySelector(`style[data-plugin-css=`+JSON.stringify(nl)+`]`)===null){let e=document.createElement(`style`);e.dataset.plugin=`@changfenhuang/dsh-genui`,e.dataset.pluginCss=nl,e.textContent=`._ctrqa_block{--dsl-g-radius-surface:12px;--dsl-g-radius-control:8px;--dsl-g-font-title:13px;--dsl-g-font-meta:12px;--dsl-g-font-data:11px;--dsl-g-gap-md:12px;--dsl-g-gap-sm:8px;--dsl-g-gap-xs:4px;--dsl-g-border:var(--dsw-alias-border-l1,var(--dsw-alias-border-l2,#ffffff1f));--dsl-g-accent:var(--dsw-alias-state-business-primary,#4f8ef7);--dsl-g-accent-soft:color-mix(in srgb, var(--dsl-g-accent) var(--dsl-g-tint), transparent);--dsl-g-tint:8%;--dsl-g-tint-strong:14%;--dsl-g-font-mono:var(--ds-font-family-code,ui-monospace, "SF Mono", monospace);background:var(--dsw-alias-bg-layer-1,var(--dsw-alias-markdown-code-block));border:1px solid var(--dsl-g-border);border-radius:var(--dsl-g-radius-surface);gap:var(--dsl-g-gap-sm);flex-direction:column;padding:14px 16px;display:flex}._ctrqa_title{font-size:var(--dsl-g-font-title);letter-spacing:.01em;color:var(--dsw-alias-label-primary);font-weight:600}._ctrqa_gridLine{stroke:var(--dsw-alias-border-l1,#ffffff12);stroke-width:1px}._ctrqa_axis{stroke:var(--dsw-alias-label-tertiary);stroke-width:1px}._ctrqa_tick{fill:var(--dsw-alias-label-tertiary);font-size:var(--dsl-g-font-data);font-family:var(--dsl-g-font-mono)}._ctrqa_line{fill:none;stroke:var(--dsl-g-accent);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}._ctrqa_area{stroke:none;fill-opacity:.16}._ctrqa_scatterDot{stroke:var(--dsw-alias-bg-base,#17171a);stroke-width:1px}._ctrqa_legend{gap:var(--dsl-g-gap-md);flex-wrap:wrap;display:flex}._ctrqa_legendItem{align-items:center;gap:var(--dsl-g-gap-xs);font-size:var(--dsl-g-font-meta);color:var(--dsw-alias-label-secondary);display:inline-flex}._ctrqa_legendSwatch{background:var(--dsl-g-accent);border-radius:2px;width:10px;height:3px}._ctrqa_empty{color:var(--dsw-alias-label-tertiary);font-size:var(--dsl-g-font-title);gap:var(--dsl-g-gap-xs);flex-direction:column;padding:14px 0;display:flex}._ctrqa_emptyRow{font-family:var(--dsl-g-font-mono)}._ctrqa_surface{cursor:grab;touch-action:pan-y}._ctrqa_plotTools{justify-content:space-between;align-items:center;gap:8px;margin:0 0 4px;display:flex}._ctrqa_plotHint{color:var(--dsw-alias-label-tertiary);font-variant-numeric:tabular-nums;font-size:12.5px}._ctrqa_plotReset{border:1px solid var(--dsw-alias-border-l2,#ffffff1f);color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border-radius:999px;padding:2px 9px;font-family:inherit;font-size:12.5px}._ctrqa_plotReset:hover{color:var(--dsw-alias-label-primary);border-color:var(--dsw-alias-state-business-primary,#4f8ef7)}._ctrqa_surface:active{cursor:grabbing}._ctrqa_sliders{gap:var(--dsl-g-gap-sm);flex-direction:column;display:flex}._ctrqa_sliderRow{align-items:center;gap:var(--dsl-g-gap-sm);font-size:var(--dsl-g-font-meta);display:flex}._ctrqa_sliderName{color:var(--dsw-alias-label-secondary);white-space:nowrap;text-overflow:ellipsis;min-width:90px;overflow:hidden}._ctrqa_slider{accent-color:var(--dsl-g-accent);cursor:pointer;flex:1;height:4px}._ctrqa_sliderValue{color:var(--dsw-alias-label-primary);font-family:var(--dsl-g-font-mono);text-align:right;min-width:34px}._ctrqa_animBar{align-items:center;gap:var(--dsl-g-gap-md);display:flex}._ctrqa_playBtn{background:var(--dsl-g-accent-soft);border:1px solid color-mix(in srgb, var(--dsl-g-accent) 30%, transparent);width:fit-content;color:var(--dsl-g-accent);border-radius:var(--dsl-g-radius-control);font-size:var(--dsl-g-font-title);cursor:pointer;padding:6px 14px;font-family:inherit;font-weight:600}._ctrqa_playBtn:hover{filter:brightness(1.1)}._ctrqa_animTrack{background:var(--dsw-alias-bg-layer-1);height:5px;box-shadow:inset 0 0 0 1px var(--dsl-g-border);border-radius:999px;flex:1;overflow:hidden}._ctrqa_animFill{background:var(--dsl-g-accent);border-radius:999px;height:100%}._ctrqa_resetBtn{border:1px solid var(--dsl-g-border);width:fit-content;color:var(--dsw-alias-label-secondary);border-radius:var(--dsl-g-radius-control);font-size:var(--dsl-g-font-title);cursor:pointer;background:0 0;padding:6px 14px;font-family:inherit}._ctrqa_resetBtn:hover{border-color:var(--dsl-g-accent);color:var(--dsl-g-accent)}._ctrqa_slidersHead{justify-content:space-between;align-items:center;display:flex}._ctrqa_slidersTitle{font-size:var(--dsl-g-font-meta);color:var(--dsw-alias-label-tertiary)}`,document.head.appendChild(e)}var rl={animBar:`_ctrqa_animBar`,animFill:`_ctrqa_animFill`,animTrack:`_ctrqa_animTrack`,area:`_ctrqa_area`,axis:`_ctrqa_axis`,block:`_ctrqa_block`,empty:`_ctrqa_empty`,emptyRow:`_ctrqa_emptyRow`,gridLine:`_ctrqa_gridLine`,legend:`_ctrqa_legend`,legendItem:`_ctrqa_legendItem`,legendSwatch:`_ctrqa_legendSwatch`,line:`_ctrqa_line`,playBtn:`_ctrqa_playBtn`,plotHint:`_ctrqa_plotHint`,plotReset:`_ctrqa_plotReset`,plotTools:`_ctrqa_plotTools`,resetBtn:`_ctrqa_resetBtn`,scatterDot:`_ctrqa_scatterDot`,slider:`_ctrqa_slider`,sliderName:`_ctrqa_sliderName`,sliderRow:`_ctrqa_sliderRow`,sliderValue:`_ctrqa_sliderValue`,sliders:`_ctrqa_sliders`,slidersHead:`_ctrqa_slidersHead`,slidersTitle:`_ctrqa_slidersTitle`,surface:`_ctrqa_surface`,tick:`_ctrqa_tick`,title:`_ctrqa_title`};let il=[`var(--dsw-static-deepseek-400)`,`var(--dsw-static-green-400)`,`var(--dsw-static-amber-400)`,`var(--dsw-static-red-400)`,`var(--dsw-static-blue-450)`,`var(--dsw-static-deepseek-450)`,`var(--dsw-static-neutral-bluish-400)`,`var(--dsw-static-deepseek-300)`],al=(e,t,n)=>n??(t>1?il[e%il.length]:void 0);function ol(e){let t=1/0,n=-1/0;for(let[,r]of e)r<t&&(t=r),r>n&&(n=r);if(!Number.isFinite(t)||!Number.isFinite(n))return[-1,1];t===n&&(--t,n+=1);let r=(n-t)*.08;return[t-r,n+r]}function sl(e,t,n=5){let r=t-e;if(!Number.isFinite(r)||r<=0)return[];let i=10**Math.floor(Math.log10(r/n)),a=r/n/i,o=i*(a>=7.5?10:a>=3.5?5:a>=1.5?2:1),s=[];for(let n=Math.ceil(e/o)*o;n<=t+o*1e-9;n+=o)s.push(Math.round(n*1e9)/1e9);return s}function cl(e){return Math.abs(e)>=1e5||Math.abs(e)<.001&&e!==0?e.toExponential(1):String(Math.round(e*100)/100)}function ll({points:e,className:t,color:n}){let r=e.length>40?`${e.slice(0,16)}|${e.slice(-16)}`:e;return(0,g.jsx)(`polyline`,{points:e,className:t,style:n===void 0?void 0:{stroke:n}},r)}let ul=(0,m.memo)(function({series:e,xMin:t=-5,xMax:n=5,yMin:r,yMax:i,title:a}){let[o,s]=(0,m.useState)(()=>{let a={};for(let[t,n]of e.entries())for(let e of n.params??[])e!=null&&(a[`${t}:${e.name}`]=e.value);let[o,s]=ol(e.map((e,r)=>{let i={};for(let t of e.params??[])t!=null&&(i[t.name]=a[`${r}:${t.name}`]??t.value);return tl(e.expr,t,n,240,i)}).flatMap(e=>e));return{xMin:t,xMax:n,yMin:r??o,yMax:i??s}}),c=(0,m.useRef)(null),[l,u]=(0,m.useState)(()=>({})),d=(()=>{for(let[t,n]of e.entries())for(let e of n.params??[])if(e!=null&&e.animateTo!==void 0)return{si:t,param:e};return null})(),[f,p]=(0,m.useState)(!1),[h,_]=(0,m.useState)(0),v=(0,m.useRef)(null);(0,m.useEffect)(()=>{if(!f||d===null)return;let e=`${d.si}:${d.param.name}`,t=l[e]??d.param.value,n=d.param.animateTo,r=Math.max(0,d.param.durationMs??4e3),i=performance.now(),a=o=>{let s=r===0?1:Math.min(1,Math.max(0,(o-i)/r)),c=1-(1-s)**3,l=t+(n-t)*c;u(t=>({...t,[e]:l})),_(s),s<1?v.current=requestAnimationFrame(a):d.param.loop===!0?(t=d.param.value,i=o,u(n=>({...n,[e]:t})),_(0),v.current=requestAnimationFrame(a)):(v.current=null,p(!1))};return v.current=requestAnimationFrame(a),()=>{v.current!==null&&cancelAnimationFrame(v.current),v.current=null}},[f,d?.si,d?.param.name,d?.param.value,d?.param.animateTo,d?.param.durationMs,d?.param.loop]);let y=o.xMin,b=o.xMax,x=o.yMin,S=o.yMax,C=e=>y+(e-34)/436*(b-y),w=e=>34+(e-y)/(b-y)*436,T=e=>14+(1-(e-x)/(S-x))*182,E=e.map((e,t)=>{let n={};for(let r of e.params??[])r!=null&&(n[r.name]=l[`${t}:${r.name}`]??r.value);return{series:e,points:tl(e.expr,y,b,240,n).map(([e,t])=>`${w(e).toFixed(2)},${T(t).toFixed(2)}`).join(` `)}}),ee=sl(y,b),te=sl(x,S),ne=E.some(e=>e.points.length>1),D=Number.isFinite(y)&&Number.isFinite(b)&&b>y&&Number.isFinite(S)&&Number.isFinite(x)&&S>x,re=(e,t,n)=>{let r=al(t,E.length,e.color)??`var(--dsw-alias-state-business-primary, #4f8ef7)`,i=e.kind??`line`;if(i===`scatter`){let e=n===``?[]:n.split(` `).map(e=>{let[t,n]=e.split(`,`);return[Number(t),Number(n)]});return(0,g.jsx)(`g`,{children:e.map(([e,t],n)=>(0,g.jsx)(`circle`,{cx:e,cy:t,r:2.6,className:rl.scatterDot,style:{fill:r}},n))},t)}if(i===`area`){if(n===``)return(0,g.jsx)(ll,{points:``,className:rl.line,color:r},t);let e=n.slice(0,n.indexOf(` `)).split(`,`)[0],i=n.slice(n.lastIndexOf(` `)+1).split(`,`)[0],a=T(x),o=`${e},${a.toFixed(2)} ${n} ${i},${a.toFixed(2)}`;return(0,g.jsx)(`polygon`,{points:o,className:rl.area,style:{fill:r}},t)}return(0,g.jsx)(ll,{points:n,className:rl.line,color:r},t)},ie=e=>{c.current={startX:e.clientX,startY:e.clientY,xMin:y,xMax:b},e.target.setPointerCapture?.(e.pointerId)},ae=e=>{let t=c.current;if(t===null||Math.abs(e.clientX-t.startX)<4)return;let n=t.xMax-t.xMin,r=(t.startX-e.clientX)/436*n;s(e=>({xMin:t.xMin+r,xMax:t.xMax+r,yMin:e.yMin,yMax:e.yMax}))},oe=()=>{c.current=null},se=(0,m.useRef)(null);(0,m.useEffect)(()=>{let e=se.current;if(e===null)return;let t=t=>{if(!t.metaKey&&!t.ctrlKey)return;t.preventDefault();let n=b-y,r=n*(t.deltaY>0?1.15:1/1.15),i=e.getBoundingClientRect(),a=C((t.clientX-i.left)/i.width*480),o=a-(a-y)/n*r;s(e=>({xMin:o,xMax:o+r,yMin:e.yMin,yMax:e.yMax}))};return e.addEventListener(`wheel`,t,{passive:!1}),()=>e.removeEventListener(`wheel`,t)},[y,b,C]);let ce=e.some(e=>(e.params?.length??0)>0),le=(0,m.useRef)({min:t,max:n}),ue=Math.abs(y-le.current.min)>1e-6||Math.abs(b-le.current.max)>1e-6;return(0,g.jsxs)(`div`,{className:rl.block,"data-genui-plot":!0,children:[a!==void 0&&(0,g.jsx)(`div`,{className:rl.title,children:J(a)}),ne&&D&&(0,g.jsxs)(`div`,{className:rl.plotTools,children:[(0,g.jsx)(`span`,{className:rl.plotHint,children:ue?`x ∈ [${cl(y)}, ${cl(b)}]`:`⌘/Ctrl + 滚轮缩放 · 拖拽平移`}),ue&&(0,g.jsx)(`button`,{type:`button`,className:rl.plotReset,onClick:()=>{s(e=>({...e,xMin:le.current.min,xMax:le.current.max}))},children:`↺ 回到初始区间`})]}),ne&&D?(0,g.jsxs)(`svg`,{width:`100%`,viewBox:`0 0 480 220`,role:`img`,"aria-label":a??`function plot`,className:rl.surface,ref:se,onPointerDown:ie,onPointerMove:ae,onPointerUp:oe,onPointerLeave:oe,children:[te.map(e=>(0,g.jsxs)(`g`,{children:[(0,g.jsx)(`line`,{x1:34,x2:470,y1:T(e),y2:T(e),className:rl.gridLine}),(0,g.jsx)(`text`,{x:28,y:T(e)+4,className:rl.tick,textAnchor:`end`,children:cl(e)})]},`y${e}`)),ee.map(e=>(0,g.jsxs)(`g`,{children:[(0,g.jsx)(`line`,{x1:w(e),x2:w(e),y1:14,y2:196,className:rl.gridLine}),(0,g.jsx)(`text`,{x:w(e),y:210,className:rl.tick,textAnchor:`middle`,children:cl(e)})]},`x${e}`)),(0,g.jsx)(`line`,{x1:34,x2:470,y1:196,y2:196,className:rl.axis}),(0,g.jsx)(`line`,{x1:34,x2:34,y1:14,y2:196,className:rl.axis}),E.map(({series:e,points:t},n)=>re(e,n,t))]}):(0,g.jsx)(`div`,{className:rl.empty,children:e.map((e,t)=>(0,g.jsxs)(`div`,{className:rl.emptyRow,children:[e.expr,` — 无法绘制(表达式无效或范围非法)`]},t))}),ce&&(0,g.jsxs)(`div`,{className:rl.sliders,children:[(0,g.jsxs)(`div`,{className:rl.slidersHead,children:[(0,g.jsx)(`span`,{className:rl.slidersTitle,children:`参数调节`}),(0,g.jsx)(`button`,{type:`button`,className:rl.resetBtn,onClick:()=>{p(!1);let t={};for(let[n,r]of e.entries())for(let e of r.params??[])e!=null&&(t[`${n}:${e.name}`]=e.value);u(t),_(0)},children:`↺ 重置`})]}),e.map((e,t)=>(e.params??[]).map(n=>{if(n==null)return null;let r=`${t}:${n.name}`,i=l[r]??n.value;return(0,g.jsxs)(`label`,{className:rl.sliderRow,children:[(0,g.jsxs)(`span`,{className:rl.sliderName,children:[e.label??e.expr,` · `,n.name]}),(0,g.jsx)(`input`,{type:`range`,className:rl.slider,min:n.min??0,max:n.max??10,step:n.step??.1,value:i,onChange:e=>{let t=Number(e.currentTarget.value);u(e=>({...e,[r]:t}))}}),(0,g.jsx)(`span`,{className:rl.sliderValue,children:Math.round(i*100)/100})]},r)}))]}),d!==null&&(0,g.jsxs)(`div`,{className:rl.animBar,children:[(0,g.jsx)(`button`,{type:`button`,className:rl.playBtn,onClick:()=>{f?p(!1):(u(e=>({...e,[`${d.si}:${d.param.name}`]:d.param.value})),_(0),p(!0))},children:f?`⏸ 暂停`:`▶ 播放动画`}),f&&(0,g.jsx)(`div`,{className:rl.animTrack,children:(0,g.jsx)(`div`,{className:rl.animFill,style:{width:`${h*100}%`}})})]}),(e.length>1||ce)&&(0,g.jsx)(`div`,{className:rl.legend,children:e.map((t,n)=>(0,g.jsxs)(`span`,{className:rl.legendItem,children:[(0,g.jsx)(`span`,{className:rl.legendSwatch,style:{background:al(n,e.length,t.color)??`var(--dsw-alias-state-business-primary, #4f8ef7)`}}),t.label??t.expr]},n))})]})});function dl(e){let t=e.replace(/-(\w)/g,(e,t)=>t.toUpperCase());return window.__GenuiAssets__?.[t]}function fl(e){if(gl!==void 0)return new URL(e,gl).href;let t=window.__DSH_BOOT__?.entries?.find(e=>e.id===ml)?.rev;return`${hl}/${e}${t===void 0?``:`?rev=${t}`}`}function pl(e){let t=dl(e);if(t!==void 0)return Promise.resolve(t);let n=`${e}.js`,r=_l.get(n);if(r!==void 0)return r;let i=new Promise((t,r)=>{let i=document.createElement(`script`);i.src=fl(n),i.async=!0,i.onload=()=>{let i=(window.__GenuiAssets__??{})[e.replace(/-(\w)/g,(e,t)=>t.toUpperCase())];if(i===void 0){r(Error(`genui asset '${n}' loaded but registered no '${e}' engine`));return}t(i)},i.onerror=()=>{r(Error(`genui asset '${n}' failed to load (host asset route missing?)`))},document.head.appendChild(i)});return _l.set(n,i),i}var ml,hl,gl,_l,vl=l((()=>{ml=`@changfenhuang/dsh-genui`,hl=`/plugins/${ml}/assets`,_l=new Map}));function yl(e){if(Sl.test(e))throw Error(`mermaid output failed the sanitization check; refusing to render`)}function bl(e){let t=/^([A-Za-z]+)/.exec(e.trim())?.[1]??``;if(t!==`graph`&&t!==`flowchart`)return e;let n=e.replace(/`/g,``).replace(/<br\s*\/?>/gi,` `),r=/(--|==|-\.)(?!>)[ \t]*([^-\n]|-(?!--))*?[ \t]*(-->|==>|\.->)/g,i=[],a=n.replace(r,e=>(i.push(e),`\uE000${i.length-1}\uE001`)),o=/\|([^|\n]*[\[\]][^|\n]*)\|/g,s=[];return a.replace(o,(e,t)=>{let n=t.trim();return n.includes(`"`)?e:(s.push(n),`\uE002${s.length-1}\uE003`)}).replace(/([\[\(])([^\[\]\(\)\{\}"'\n]*)([\]\)])/g,(e,t,n,r)=>{let i=n.trim();return i===``?e:/[\u4e00-\u9fff\u3040-\u30ff\uac00-\ud7af]/.test(i)||/\s/.test(i)?`${t}"${i}"${r}`:e}).replace(/\uE000(\d+)\uE001/g,(e,t)=>i[Number(t)]??e).replace(/\uE002(\d+)\uE003/g,(e,t)=>{let n=s[Number(t)];return n===void 0?e:`|"${n}"|`})}function xl(e){let t=e.trim(),n=/^([A-Za-z]+)/.exec(t)?.[1]??``;return n===`graph`||n===`flowchart`||!Cl.test(t)?e:`graph TD\n${t}`}var Sl,Cl,wl=l((()=>{Sl=/<script|[\s"']on[a-z]+\s*=|javascript:/i,Cl=/-->(?!>)|==>|-\.->/})),Tl=u({assertSafeSvg:()=>yl,ensureFlowchartKind:()=>xl,renderMermaid:()=>El,repairMermaidSource:()=>bl});async function El(e){return(await pl(`mermaid`)).renderMermaid(e)}var Dl=l((()=>{vl(),wl()})),Ol=u({mountScene:()=>kl});async function kl(e,t){return(await pl(`three`)).mountScene(e,t)}var Al=l((()=>{vl()}));let jl={info:w.calloutInfo,success:w.calloutSuccess,warning:w.calloutWarning,error:w.calloutError},Ml=(0,m.memo)(function({node:e}){let t=e.tone??`info`,n=jl[t]??w.calloutInfo;return(0,g.jsxs)(`div`,{className:`${w.callout} ${n}`,"data-genui-callout":!0,children:[e.title!==void 0&&(0,g.jsx)(`div`,{className:w.calloutTitle,children:J(e.title)}),(0,g.jsx)(`div`,{className:w.calloutBody,children:J(e.content)})]})}),Nl=(0,m.memo)(function({steps:e}){let t=e.steps.slice(0,X.maxSteps),n=e.current??t.length;return(0,g.jsx)(`ol`,{className:w.steps,children:t.map((e,t)=>{let r=t<n,i=t===n;return(0,g.jsxs)(`li`,{className:`${w.step} ${r?w.stepDone:``} ${i?w.stepActive:``}`,children:[(0,g.jsx)(`span`,{className:w.stepMarker,children:r?`✓`:String(t+1)}),(0,g.jsxs)(`span`,{className:w.stepContent,children:[(0,g.jsx)(`span`,{className:w.stepTitle,children:J(e.title)}),e.desc!==void 0&&(0,g.jsx)(`span`,{className:w.stepDesc,children:J(e.desc)})]})]},t)})})}),Pl=(0,m.memo)(function({node:e}){let t=e.pairs.slice(0,X.maxKeyValuePairs);return(0,g.jsx)(`dl`,{className:w.keyvalue,children:t.map((e,t)=>(0,g.jsxs)(`div`,{className:w.kvRow,children:[(0,g.jsx)(`dt`,{className:w.kvKey,children:J(e.key)}),(0,g.jsx)(`dd`,{className:w.kvValue,children:J(e.value)})]},t))})}),Fl=(0,m.memo)(function({plot:e}){let t=(0,m.useMemo)(()=>e.series.slice(0,X.maxPlotSeries).map(e=>({expr:e.expr,label:e.label,color:e.color,kind:e.kind,params:e.params})),[e]);return(0,g.jsx)(ul,{series:t,xMin:e.xMin,xMax:e.xMax,yMin:e.yMin,yMax:e.yMax,title:e.title})}),Il=(0,m.memo)(function({node:e}){return Po(),(0,g.jsx)(p.DiffBlock,{diffs:e.diffs,labels:Ho()})}),Ll=(0,m.memo)(function({node:e}){Po();let t=e.value;return typeof t!=`object`||!t?(0,g.jsx)(`div`,{className:w.jsonScalar,children:String(t)}):(0,g.jsx)(p.JsonTree,{data:t,label:`JSON`,labels:Wo(),copyable:!0})}),Rl=(0,m.memo)(function({node:e}){return Po(),(0,g.jsx)(p.CodeBlock,{...Uo(),code:e.code.slice(0,X.maxCode),lang:e.lang})});function zl({tabs:e,onAction:t,depth:n=0,answers:r}){let[i,a]=(0,m.useState)(0),o=(0,m.useId)(),s=e.tabs.slice(0,X.maxTabs),c=s.length===0?0:Math.min(i,s.length-1),l=s[c];(0,m.useEffect)(()=>{c!==i&&a(c)},[i,c]);let u=e=>{if(s.length===0)return;let t=(e+s.length)%s.length;a(t),document.getElementById(`${o}-tab-${t}`)?.focus()};return(0,g.jsxs)(`div`,{className:w.tabs,children:[(0,g.jsx)(`div`,{className:w.tabBar,role:`tablist`,"aria-orientation":`horizontal`,onKeyDown:e=>{e.key===`ArrowRight`?(e.preventDefault(),u(c+1)):e.key===`ArrowLeft`?(e.preventDefault(),u(c-1)):e.key===`Home`?(e.preventDefault(),u(0)):e.key===`End`&&(e.preventDefault(),u(s.length-1))},children:s.map((e,t)=>(0,g.jsx)(`button`,{id:`${o}-tab-${t}`,type:`button`,role:`tab`,"aria-selected":t===c,"aria-controls":`${o}-panel-${t}`,tabIndex:t===c?0:-1,className:`${w.tab} ${t===c?w.tabActive:``}`,onClick:()=>a(t),children:J(e.label,!1)},t))}),l!==void 0&&(0,g.jsx)(`div`,{className:w.col,role:`tabpanel`,id:`${o}-panel-${c}`,"aria-labelledby":`${o}-tab-${c}`,children:l.items.map((e,i)=>Yu(e,i,t,n+1,r))})]})}function Bl({node:e,onAction:t,depth:n=0,answers:r}){let[i,a]=(0,m.useState)(0),o=(0,m.useId)(),s=e.items.slice(0,X.maxAccordionItems);return(0,g.jsx)(`div`,{className:w.accordion,children:s.map((e,s)=>(0,g.jsxs)(`div`,{className:w.accItem,children:[(0,g.jsxs)(`button`,{type:`button`,className:w.accHead,id:`${o}-head-${s}`,"aria-expanded":i===s,"aria-controls":`${o}-body-${s}`,onClick:()=>a(i===s?null:s),children:[(0,g.jsx)(`span`,{className:w.accTitle,children:J(e.title,!1)}),(0,g.jsx)(`span`,{className:w.accChevron,"data-open":i===s,"aria-hidden":!0,children:`▸`})]}),i===s&&(0,g.jsx)(`div`,{className:w.accBody,id:`${o}-body-${s}`,"aria-labelledby":`${o}-head-${s}`,children:e.items.map((e,i)=>Yu(e,i,t,n+1,r))})]},s))})}async function Vl(e){let t=typeof navigator.clipboard?.writeText==`function`,n=await(0,p.writeClipboard)(e);if(n||!t)return n;let r=typeof document.execCommand==`function`?document.execCommand.bind(document):void 0;if(r===void 0)return!1;let i=document.createElement(`textarea`);i.value=e,i.setAttribute(`readonly`,``),i.style.position=`fixed`,i.style.left=`-9999px`,document.body.appendChild(i),i.select();try{return r(`copy`)}catch{return!1}finally{i.remove()}}let Hl=(0,m.memo)(function({node:e}){let t=Po(),[n,r]=(0,m.useState)(!1);return(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(`button`,{type:`button`,className:`${w.copyChip} ${n?w.copyChipDone:``}`,onClick:()=>{Vl(e.text).then(e=>{e&&(r(!0),setTimeout(()=>r(!1),1500))})},children:n?t(`label.copiedShort`):J(e.label??t(`label.copy`),!1)}),(0,g.jsx)(`span`,{className:w.visuallyHidden,role:`status`,children:n?t(`label.copiedToClipboard`):``})]})}),Ul=(0,m.memo)(function({node:e}){let t=Po(),[n,r]=(0,m.useState)({status:`loading`}),i=e.code.slice(0,X.maxMermaid);return(0,m.useEffect)(()=>{let e=!0;return r({status:`loading`}),(async()=>{try{let t=await(await Promise.resolve().then(()=>(Dl(),Tl))).renderMermaid(i);e&&r({status:`ready`,html:t})}catch{e&&r({status:`error`})}})(),()=>{e=!1}},[i]),n.status===`error`?(0,g.jsxs)(`div`,{className:w.mermaidFallback,children:[(0,g.jsx)(`pre`,{children:i}),(0,g.jsx)(`div`,{className:w.mermaidErr,children:t(`block.mermaidError`)})]}):n.status===`loading`?(0,g.jsxs)(`div`,{className:w.mermaidFallback,children:[(0,g.jsx)(`pre`,{children:i}),(0,g.jsx)(`div`,{className:w.mermaidHint,children:t(`block.mermaidLoading`)})]}):(0,g.jsx)(`div`,{className:w.mermaid,dangerouslySetInnerHTML:{__html:n.html},"data-genui-mermaid":!0})}),Wl=(0,m.memo)(function({node:e}){let t=Po(),[n,r]=(0,m.useState)(`loading`),i=(0,m.useRef)(null),a=e.meshes.length>X.maxMeshes?{...e,meshes:e.meshes.slice(0,X.maxMeshes)}:e;return(0,m.useEffect)(()=>{let e=!0,t;return Promise.resolve().then(()=>(Al(),Ol)).then(async n=>{if(!(!e||i.current===null))try{t=await n.mountScene(i.current,a),e&&r(`ready`)}catch{e&&r(`error`)}}),()=>{e=!1,t?.()}},[a]),(0,g.jsxs)(`div`,{className:w.scene3dWrap,"data-genui-scene3d":!0,children:[e.title!==void 0&&(0,g.jsx)(`div`,{className:w.scene3dTitle,children:J(e.title)}),(0,g.jsx)(`div`,{ref:i,className:w.scene3dCanvas}),n===`loading`&&(0,g.jsx)(`div`,{className:w.scene3dHint,children:t(`block.scene3dLoading`)}),n===`error`&&(0,g.jsx)(`div`,{className:w.scene3dHint,children:t(`block.scene3dError`)})]})}),Gl=(0,m.memo)(function({node:e}){let t=e.items.slice(0,X.maxTimelineItems);return(0,g.jsx)(`div`,{className:w.timeline,children:t.map((e,n)=>(0,g.jsxs)(`div`,{className:w.tlItem,children:[(0,g.jsxs)(`div`,{className:w.tlRail,children:[(0,g.jsx)(`span`,{className:w.tlDot}),n<t.length-1&&(0,g.jsx)(`span`,{className:w.tlLine})]}),(0,g.jsxs)(`div`,{className:w.tlBody,children:[(0,g.jsxs)(`div`,{className:w.tlHead,children:[(0,g.jsx)(`span`,{className:w.tlTitle,children:J(e.title,!1)}),e.time!==void 0&&(0,g.jsx)(`span`,{className:w.tlTime,children:J(e.time)})]}),e.desc!==void 0&&(0,g.jsx)(`div`,{className:w.tlDesc,children:J(e.desc)})]})]},n))})});function Kl(){return(0,g.jsx)(`svg`,{width:`14`,height:`14`,viewBox:`0 0 16 16`,"aria-hidden":`true`,focusable:`false`,children:(0,g.jsx)(`path`,{d:`M1.6 3.4h4.1l1.3 1.7h7.4v7.2a1 1 0 0 1-1 1H2.6a1 1 0 0 1-1-1z`,fill:`currentColor`,opacity:`0.85`})})}function ql(){return(0,g.jsxs)(`svg`,{width:`14`,height:`14`,viewBox:`0 0 16 16`,"aria-hidden":`true`,focusable:`false`,children:[(0,g.jsx)(`path`,{d:`M3.8 1.6h4.9L13 5.9v8.5a1 1 0 0 1-1 1H4.8a1 1 0 0 1-1-1z`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.2`}),(0,g.jsx)(`path`,{d:`M8.7 1.7v4.3h4.2`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.2`})]})}let Jl=(0,m.memo)(function({node:e}){let[t,n]=(0,m.useState)(new Set),r=e=>{n(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},i=(e,n,a)=>{if(n>X.maxTreeDepth)return null;let o=e.type===`dir`||e.children!==void 0&&e.children.length>0,s=o&&t.has(a);return(0,g.jsxs)(`div`,{children:[(0,g.jsxs)(`div`,{className:w.ftRow,style:{paddingLeft:`${n*14+4}px`},children:[Array.from({length:n},(e,t)=>(0,g.jsx)(`span`,{className:w.ftGuide,style:{left:`${4+t*14+6}px`},"aria-hidden":!0},t)),(0,g.jsxs)(`button`,{type:`button`,className:w.ftNameBtn,"aria-expanded":o?!s:void 0,onClick:o?()=>r(a):void 0,children:[(0,g.jsx)(`span`,{className:w.ftChevron,"data-open":o?String(!s):void 0,"aria-hidden":!0,children:o?`▸`:``}),(0,g.jsx)(`span`,{className:`${w.ftGlyph} ${o?w.ftGlyphDir:``}`,"aria-hidden":!0,children:o?(0,g.jsx)(Kl,{}):(0,g.jsx)(ql,{})}),(0,g.jsx)(`span`,{className:`${w.ftName} ${o?w.ftDir:``}`,children:e.name})]})]}),o&&!s&&(0,g.jsx)(`div`,{className:w.ftChildren,children:(e.children??[]).map((e,t)=>i(e,n+1,`${a}/${t}`))})]},a)};return(0,g.jsx)(`div`,{className:w.fileTree,children:e.items.slice(0,X.maxListItems).map((e,t)=>i(e,0,String(t)))})}),Yl=(0,m.memo)(function({node:e,onAction:t}){let n=Po(),[r,i]=(0,m.useState)(null),[a,o]=(0,m.useState)(e.id);e.id!==a&&(o(e.id),i(null));let s=e.options.slice(0,X.maxQuizOptions),c=r!==null,l=r===null?void 0:s[r],u=l?.correct===!0,d=e.action;return(0,g.jsxs)(`div`,{className:w.quiz,"data-genui-quiz":!0,children:[(0,g.jsx)(`div`,{className:w.quizQuestion,children:J(e.question)}),(0,g.jsx)(`div`,{className:w.quizOptions,children:s.map((n,a)=>{let o=r===a,s=c?o?n.correct===!0?w.quizOptCorrect:w.quizOptWrong:n.correct===!0?w.quizOptReveal:w.quizOpt:w.quizOpt;return(0,g.jsxs)(`button`,{type:`button`,className:s,disabled:c,onClick:()=>{i(a),d!==void 0&&t!==void 0&&t(d,{type:`quiz`,question:e.question,answer:n.label,correct:n.correct===!0})},children:[(0,g.jsx)(`span`,{className:w.quizMarker,children:c?n.correct===!0?`✓`:o?`✗`:``:o?`●`:`○`}),J(n.label,!1)]},a)})}),c&&(0,g.jsxs)(`div`,{className:w.quizResult,"aria-live":`polite`,children:[(0,g.jsxs)(`div`,{className:u?w.quizCorrectMsg:w.quizWrongMsg,children:[n(u?`block.quizCorrect`:`block.quizWrong`),l?.feedback!==void 0&&(0,g.jsx)(`div`,{className:w.quizFeedback,children:J(l.feedback)})]}),e.explanation!==void 0&&(0,g.jsx)(`div`,{className:w.quizExplanation,children:J(e.explanation)}),(0,g.jsx)(`button`,{type:`button`,className:w.quizRetry,onClick:()=>i(null),children:n(`block.quizRetry`)})]})]})}),Xl=(0,m.memo)(function({node:e}){let t=e.items.slice(0,X.maxBreadcrumbItems);return(0,g.jsx)(`nav`,{className:w.breadcrumb,"aria-label":`breadcrumb`,children:t.map((e,n)=>(0,g.jsxs)(`span`,{className:w.bcItem,children:[(0,g.jsx)(`span`,{className:`${w.bcText} ${n===t.length-1?w.bcCurrent:``}`,children:J(e)}),n<t.length-1&&(0,g.jsx)(`span`,{className:w.bcSep,children:`/`})]},n))})}),Zl=[`architecture`,`it-state`,`high-level`,`process`,`medallion`,`data-flow`,`dp-integration`];function Ql(e){return Zl.includes(e)}function $l(e,t){let n=e%t,r=Math.floor(e/t);return{x:40+n*160,y:40+r*96,w:128,h:64}}function eu(e){return e.map((e,t)=>({node:e,box:{x:40,y:40+t*96,w:128,h:64}}))}function tu(e){return e.map((e,t)=>({node:e,box:{x:40+t*160,y:40,w:128,h:64}}))}function nu(e,t=3){return e.map((e,n)=>{let r=Math.floor(n/t);return{node:e,box:{x:40+n%t*160,y:40+r*96,w:128,h:64}}})}function ru(e,t){let n=new Map(e.map(e=>[e.id,e])),r=new Map,i=[];for(let a of e){let e=t(a.id);if(e===void 0||!n.has(e))i.push(a.id);else{let t=r.get(e)??[];t.push(a.id),r.set(e,t)}}let a=new Map,o=new Map,s=(e,t)=>{let n=o.get(e)??0,i=r.get(e)??[],c=t;if(i.length===0)return a.set(e,{x:t,y:40+n*112,w:128,h:64}),t+128;for(let e of i)c=s(e,c);let l=a.get(i[0]),u=a.get(i[i.length-1]),d=(l.x+u.x+u.w)/2-64;return a.set(e,{x:Math.max(t,d),y:40+n*112,w:128,h:64}),c},c=40;for(let e of i)c=s(e,c)+32;return e.map(e=>({node:e,box:a.get(e.id)??{x:40,y:40,w:128,h:64}}))}function iu(e,t){let n=e.nodes,r=e.edges??[],i;i=Ql(e.kind)?n.map((e,t)=>({node:e,box:{x:e.x??40+t%3*160,y:e.y??40+Math.floor(t/3)*96,w:e.w??128,h:e.h??64}})):e.kind===`tree`||e.kind===`org-chart`||e.kind===`nested`?ru(n,t??(()=>void 0)):e.kind===`layers`||e.kind===`pyramid`||e.kind===`gantt`?nu(n):e.kind===`flowchart`||e.kind===`process`||e.kind===`sequence`?eu(n):e.kind===`timeline`||e.kind===`line`||e.kind===`scatter`||e.kind===`bar`?tu(n):n.map((e,t)=>({node:e,box:$l(t,3)}));let a=0,o=0;for(let e of i)a=Math.max(a,e.box.x+e.box.w),o=Math.max(o,e.box.y+e.box.h);a=Math.max(320,Math.ceil((a+40)/4)*4),o=Math.max(96,Math.ceil((o+40)/4)*4);let s=r.map(e=>({edge:e,fromId:e.from,toId:e.to}));return{nodes:i,edges:s,width:a,height:o}}function au(e){return{x:e.x+e.w/2,y:e.y+e.h/2}}function ou(e,t,n){if(n===`left`)return{x:e.x,y:e.y+e.h/2,port:`left`};if(n===`right`)return{x:e.x+e.w,y:e.y+e.h/2,port:`right`};if(n===`top`)return{x:e.x+e.w/2,y:e.y,port:`top`};if(n===`bottom`)return{x:e.x+e.w/2,y:e.y+e.h,port:`bottom`};let r=au(e),i=au(t),a=i.x-r.x,o=i.y-r.y;return Math.abs(a)>=Math.abs(o)?a>=0?{x:e.x+e.w,y:e.y+e.h/2,port:`right`}:{x:e.x,y:e.y+e.h/2,port:`left`}:o>=0?{x:e.x+e.w/2,y:e.y+e.h,port:`bottom`}:{x:e.x+e.w/2,y:e.y,port:`top`}}function su(e,t){if(e.x===t.x||e.y===t.y)return`M ${e.x} ${e.y} L ${t.x} ${t.y}`;let n=e.port===`left`||e.port===`right`,r=t.port===`left`||t.port===`right`;if(n&&r){let n=(e.x+t.x)/2,r=e.port===`right`?1:-1;return`M ${e.x} ${e.y} H ${n-r*8} Q ${n} ${e.y} ${n} ${e.y+8} V ${t.y-8} Q ${n} ${t.y} ${n+8} ${t.y} H ${t.x}`}if(!n&&!r){let n=(e.y+t.y)/2,r=e.port===`bottom`?1:-1;return`M ${e.x} ${e.y} V ${n-r*8} Q ${e.x} ${n} ${e.x+8} ${n} H ${t.x-8} Q ${t.x} ${n} ${t.x} ${n+8} V ${t.y}`}if(n){let n=e.port===`right`?1:-1;return`M ${e.x} ${e.y} H ${e.x+n*8*2} Q ${e.x+n*8*2} ${e.y} ${e.x+n*8*2} ${t.y} V ${t.y} H ${t.x}`}let i=e.port===`bottom`?1:-1;return`M ${e.x} ${e.y} V ${e.y+i*8*2} Q ${e.x} ${e.y+i*8*2} ${t.x} ${e.y+i*8*2} H ${t.x} V ${t.y}`}function cu(e,t,n){let r=ou(e,t,n?.fromPort),i=ou(t,e,n?.toPort);return{d:su(r,i),a:r,b:i}}function lu(e,t){let n=(e.x+t.x)/2,r=(e.y+t.y)/2,i=Math.abs(e.x-t.x)<Math.abs(e.y-t.y);return i?{cx:n+(t.x>=e.x?1:-1)*16,cy:r,maskY:r-6,vertical:i}:{cx:n,cy:r,maskY:r-20,vertical:i}}let uu={paper:`#f5f5f5`,paper2:`#ececec`,ink:`#2d3142`,muted:`#4f5d75`,soft:`#7a8399`,rule:`rgba(45,49,66,0.12)`,accent:`#eb6c36`,accentTint:`rgba(235,108,54,0.08)`,link:`#2e5aa8`},du={paper:`#2d3142`,paper2:`#393e53`,ink:`#f5f5f5`,muted:`#bfc0c0`,soft:`#8e98ac`,rule:`rgba(245,245,245,0.12)`,accent:`#f08a59`,accentTint:`rgba(240,138,89,0.10)`,link:`#6a95d8`};function fu(){let e=`var(--dsw-alias-state-business-primary, #4f8ef7)`;return{paper:`var(--dsw-alias-bg-layer-2, #ffffff)`,paper2:`var(--dsw-alias-bg-layer-3, #f5f5f5)`,ink:`var(--dsw-alias-label-primary, #2d3142)`,muted:`var(--dsw-alias-label-secondary, #4f5d75)`,soft:`var(--dsw-alias-label-tertiary, #7a8399)`,rule:`var(--dsw-alias-border-l2, rgba(45,49,66,0.12))`,accent:e,accentTint:`color-mix(in srgb, ${e} 10%, transparent)`,link:e}}function pu(e,t){let n=e===void 0?fu():e===`dark`?du:uu;return t===void 0?n:{paper:t.paper??n.paper,paper2:t[`paper-2`]??n.paper2,ink:t.ink??n.ink,muted:t.muted??n.muted,soft:t.soft??n.soft,rule:t.rule??n.rule,accent:t.accent??n.accent,accentTint:t[`accent-tint`]??n.accentTint,link:t.link??n.link}}function mu(e,t){switch(e){case`focal`:return{fill:t.accentTint,stroke:t.accent};case`store`:return{fill:gu(t.ink,.05),stroke:t.muted};case`external`:return{fill:gu(t.ink,.03),stroke:gu(t.ink,.3)};case`input`:return{fill:gu(t.muted,.1),stroke:t.soft};case`optional`:return{fill:gu(t.ink,.02),stroke:gu(t.ink,.2),dashed:!0};case`security`:return{fill:gu(t.accent,.05),stroke:gu(t.accent,.5),dashed:!0};default:return{fill:t.paper,stroke:t.ink}}}function hu(e,t){switch(e){case`accent`:return t.accent;case`link`:return t.link;default:return t.muted}}function gu(e,t){if(e.startsWith(`var(`))return`color-mix(in srgb, ${e} ${t*100}%, transparent)`;if(e.startsWith(`#`)){let n=e.slice(1),r=n.length===3?n.split(``).map(e=>e+e).join(``):n;return`rgba(${parseInt(r.slice(0,2),16)},${parseInt(r.slice(2,4),16)},${parseInt(r.slice(4,6),16)},${t})`}return e.replace(/rgba?\(([^)]*)\)/,(n,r)=>{let i=r.split(`,`).map(e=>e.trim());return i.length===3?`rgba(${i.join(`,`)},${t})`:i.length===4?`rgba(${i[0]},${i[1]},${i[2]},${t})`:e})}let _u=`'Geist', -apple-system, 'Segoe UI', sans-serif`,vu=`'Geist Mono', ui-monospace, 'SF Mono', monospace`,yu=[{label:`Focal`,type:`focal`},{label:`Backend`,type:`backend`},{label:`Store`,type:`store`},{label:`External`,type:`external`},{label:`Optional`,type:`optional`},{label:`Security`,type:`security`}];function bu(e){let t=new Map;for(let n of e)t.has(n.to)||t.set(n.to,n.from);return e=>t.get(e)}function xu(e,t,n,r,i,a){let o=mu(r,a),s=e.x+e.w/2,c=e.y+(e.h-64)/2+28,l=e.y+(e.h-64)/2+44,u=Math.min(44,Math.max(24,(i??``).length*7+8));return(0,g.jsxs)(`g`,{children:[(0,g.jsx)(`rect`,{x:e.x,y:e.y,width:e.w,height:e.h,rx:6,fill:a.paper}),(0,g.jsx)(`rect`,{x:e.x,y:e.y,width:e.w,height:e.h,rx:6,fill:o.fill,stroke:o.stroke,strokeWidth:1,strokeDasharray:o.dashed===!0?`5,4`:void 0}),i!==void 0&&(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(`rect`,{x:e.x+8,y:e.y+6,width:u,height:12,rx:2,fill:`transparent`,stroke:gu(o.stroke,.4),strokeWidth:.8}),(0,g.jsx)(`text`,{x:e.x+8+u/2,y:e.y+15,fill:gu(o.stroke,.8),fontSize:7,fontFamily:vu,textAnchor:`middle`,letterSpacing:.8,children:i})]}),(0,g.jsx)(`text`,{x:s,y:c,fill:a.ink,fontSize:12,fontWeight:600,fontFamily:_u,textAnchor:`middle`,children:t}),n!==void 0&&(0,g.jsx)(`text`,{x:s,y:l,fill:a.soft,fontSize:9,fontFamily:vu,textAnchor:`middle`,children:n})]})}function Su(e,t,n,r){let i=cu(e.from,e.to),a=hu(e.kind,n),o=e.kind===`dashed`,s=e.kind===`accent`?1.4:1.2,c=lu(i.a,i.b);return(0,g.jsxs)(`g`,{children:[(0,g.jsx)(`path`,{d:i.d,fill:`none`,stroke:a,strokeWidth:s,strokeDasharray:o?`5,4`:void 0,markerEnd:`url(#${r})`}),e.label!==void 0&&(0,g.jsxs)(`g`,{children:[(0,g.jsx)(`rect`,{x:c.cx-(e.label.length*5+8)/2,y:c.maskY,width:e.label.length*5+8,height:12,rx:2,fill:n.paper}),(0,g.jsx)(`text`,{x:c.cx,y:c.maskY+9,fill:n.soft,fontSize:8,fontFamily:vu,textAnchor:`middle`,letterSpacing:.5,children:e.label})]})]},t)}function Cu(e,t){return(0,g.jsxs)(`defs`,{children:[(0,g.jsx)(`marker`,{id:`${e}-arrow`,markerWidth:8,markerHeight:6,refX:7,refY:3,orient:`auto`,children:(0,g.jsx)(`polygon`,{points:`0 0, 8 3, 0 6`,fill:t.muted})}),(0,g.jsx)(`marker`,{id:`${e}-arrow-accent`,markerWidth:8,markerHeight:6,refX:7,refY:3,orient:`auto`,children:(0,g.jsx)(`polygon`,{points:`0 0, 8 3, 0 6`,fill:t.accent})}),(0,g.jsx)(`marker`,{id:`${e}-arrow-link`,markerWidth:8,markerHeight:6,refX:7,refY:3,orient:`auto`,children:(0,g.jsx)(`polygon`,{points:`0 0, 8 3, 0 6`,fill:t.link})})]})}function wu(e,t){return(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(`defs`,{children:(0,g.jsx)(`pattern`,{id:`${e}-dots`,width:22,height:22,patternUnits:`userSpaceOnUse`,children:(0,g.jsx)(`circle`,{cx:1,cy:1,r:.9,fill:gu(t.ink,.1)})})}),(0,g.jsx)(`rect`,{width:`100%`,height:`100%`,fill:t.paper}),(0,g.jsx)(`rect`,{width:`100%`,height:`100%`,fill:`url(#${e}-dots)`,opacity:.55})]})}function Tu(e,t){let n=e.label.length*7+12,r=e.x+e.w/2;return(0,g.jsxs)(`g`,{children:[(0,g.jsx)(`rect`,{x:e.x,y:e.y,width:e.w,height:e.h,rx:8,fill:gu(t.ink,.02),stroke:gu(t.ink,.1),strokeWidth:.8}),(0,g.jsx)(`rect`,{x:r-n/2,y:e.y+4,width:n,height:12,rx:2,fill:t.paper}),(0,g.jsx)(`text`,{x:r,y:e.y+13,fill:gu(t.ink,.4),fontSize:7,fontFamily:vu,textAnchor:`middle`,letterSpacing:1.2,children:e.label})]})}function Eu(e,t,n,r){return(0,g.jsxs)(`g`,{children:[(0,g.jsx)(`line`,{x1:40,y1:0,x2:Math.max(120,n-40),y2:0,stroke:gu(e.ink,.1),strokeWidth:.8}),(0,g.jsx)(`text`,{x:40,y:16,fill:e.soft,fontSize:8,fontFamily:vu,letterSpacing:1.6,children:`LEGEND`}),t.map((t,n)=>{let i=mu(t.type,e),a=40+n%r*150,o=32+Math.floor(n/r)*22;return(0,g.jsxs)(`g`,{children:[(0,g.jsx)(`rect`,{x:a,y:o,width:14,height:10,rx:2,fill:i.fill,stroke:i.stroke,strokeWidth:1,strokeDasharray:i.dashed===!0?`3,2`:void 0}),(0,g.jsx)(`text`,{x:a+20,y:o+9,fill:e.soft,fontSize:8.5,fontFamily:_u,children:t.label})]},t.label)})]})}function Du(e,t){return e===`accent`?`${t}-arrow-accent`:e===`link`?`${t}-arrow-link`:`${t}-arrow`}let Ou=0;function ku(){return Ou+=1,`genui-diagram-${Ou}`}function Au({node:e}){let t=(0,m.useMemo)(ku,[]),n=(0,m.useMemo)(()=>pu(e.variant,e.theme),[e.variant,e.theme]),r=(0,m.useMemo)(()=>iu(e,bu(e.edges??[])),[e]),i=(0,m.useMemo)(()=>new Map(r.nodes.map(e=>[e.node.id,e.box])),[r]),a=`${t}-title`,o=`${t}-caption`,s=`${t}-desc`,c=r.nodes.slice(0,X.maxDiagramNodes),l=r.edges.slice(0,X.maxDiagramEdges),u=(e.zones??[]).slice(0,X.maxDiagramZones),d=0,f=X.maxDiagramFocal,p=r.height,h=yu.filter(e=>e.type!==void 0&&c.some(t=>(t.node.type??`backend`)===e.type)),_=Math.max(1,Math.floor((r.width-40)/150)),v=p+(24+Math.max(1,Math.ceil(h.length/_))*22)+12;return(0,g.jsxs)(`figure`,{className:`genui-diagram`,"data-genui-diagram":!0,children:[e.title!==void 0&&(0,g.jsx)(`figcaption`,{id:o,style:{fontFamily:`Instrument Serif, 'Times New Roman', serif`,fontSize:20,marginBottom:8,color:n.ink},children:J(e.title)}),(0,g.jsxs)(`svg`,{role:`img`,"aria-labelledby":a,"aria-describedby":s,viewBox:`0 0 ${r.width} ${v}`,style:{maxWidth:`100%`,height:`auto`,background:n.paper},children:[(0,g.jsx)(`title`,{id:a,children:e.title??e.kind}),(0,g.jsx)(`desc`,{id:s,children:`${e.kind} diagram with ${c.length} nodes and ${l.length} connectors`}),Cu(t,n),wu(t,n),(0,g.jsx)(`g`,{children:u.map((e,t)=>(0,g.jsx)(`g`,{children:Tu({label:e.label,x:e.x??0,y:e.y??0,w:e.w??100,h:e.h??100},n)},`zone-${t}`))}),(0,g.jsx)(`g`,{children:l.map((e,r)=>{let a=i.get(e.fromId),o=i.get(e.toId);return a===void 0||o===void 0?null:Su({from:a,to:o,label:e.edge.label,kind:e.edge.kind},r,n,Du(e.edge.kind,t))})}),(0,g.jsx)(`g`,{children:c.map(e=>{let t=e.node.type===`focal`&&d>=f?void 0:e.node.type;return e.node.type===`focal`&&(d+=1),(0,g.jsx)(`g`,{children:xu(e.box,e.node.label,e.node.sub,t,e.node.tag,n)},e.node.id)})}),(0,g.jsx)(`g`,{transform:`translate(0, ${p+8})`,children:Eu(n,h,r.width,_)})]})]})}function ju({node:e}){let t=Po(),[n,r]=(0,m.useState)(!1);return(0,g.jsxs)(`figure`,{className:w.media,children:[e.alt!==void 0&&(0,g.jsx)(`figcaption`,{className:w.mediaLabel,children:J(e.alt)}),n?(0,g.jsx)(`div`,{className:w.mediaError,role:`alert`,children:t(`block.imageError`)}):(0,g.jsx)(`img`,{className:w.mediaPlayer,src:e.src,alt:e.alt??t(`block.image`),loading:`lazy`,decoding:`async`,style:{maxHeight:`min(70vh, 720px)`,objectFit:`contain`},onError:()=>r(!0)})]})}let Mu=new Set([`bar`,`line`,`area`,`pie`,`scatter`,`bigline`]);function Nu(e){return e.option===void 0&&Mu.has(e.preset??`bar`)?`echarts-core`:`echarts-full`}vl();async function Pu(e,t,n,r=`core`){return(await pl(r===`full`?`echarts-full`:`echarts-core`)).createChart(e,t,n)}let Fu=[`#679efe`,`#4ed17e`,`#f5b83d`,`#f2707a`,`#8b7ff0`,`#3fc7d4`,`#b7c8fe`,`#9aa3b2`];function Iu(e,t,n){let r=[n??null,typeof document>`u`?null:document.body,typeof document>`u`?null:document.documentElement];for(let t of r){if(t===null)continue;let n=getComputedStyle(t).getPropertyValue(e).trim();if(n!==``)return n}return t}function Lu(e){return{accent:Iu(`--dsw-alias-state-business-primary`,`#4f8ef7`,e),labelPrimary:Iu(`--dsw-alias-label-primary`,`#e6e6e6`,e),labelSecondary:Iu(`--dsw-alias-label-secondary`,`#a0a0a0`,e),labelTertiary:Iu(`--dsw-alias-label-tertiary`,`#6b6b6b`,e),border:Iu(`--dsw-alias-border-l1`,`rgba(255,255,255,0.12)`,e),bgLayer1:Iu(`--dsw-alias-bg-layer-1`,`#1a1a1e`,e)}}function Ru(e,t){let n=Lu(t),r=e.palette!==void 0&&e.palette.length>0?[...e.palette]:oc.map((e,n)=>Iu(e.replace(`var(`,``).replace(`)`,``),Fu[n%Fu.length],t)),i=e.data??[],a=e.series,o=(e={})=>({renderMode:`richText`,backgroundColor:n.bgLayer1,borderColor:n.border,textStyle:{color:n.labelPrimary},...e}),s={color:r,textStyle:{color:n.labelSecondary,fontFamily:`inherit`},backgroundColor:`transparent`,grid:{left:48,right:16,top:24,bottom:32},tooltip:o({trigger:`item`})};switch(e.preset){case`wordCloud`:return{...s,series:[{type:`wordCloud`,sizeRange:[16,64],rotationRange:[0,0],gridSize:8,textStyle:{fontFamily:`sans-serif`},data:i.map((e,t)=>({name:e.label,value:e.value,textStyle:{color:r[t%r.length]}}))}]};case`pie`:return{...s,tooltip:o({trigger:`item`,formatter:`{b}: {c} ({d}%)`}),legend:{bottom:0,textStyle:{color:n.labelTertiary}},series:[{type:`pie`,radius:[`40%`,`70%`],avoidLabelOverlap:!0,itemStyle:{borderRadius:6,borderColor:n.bgLayer1,borderWidth:2},label:{color:n.labelSecondary},data:i.map(e=>({name:e.label,value:e.value}))}]};case`scatter`:return{...s,tooltip:o({trigger:`item`}),xAxis:{type:`category`,data:i.map(e=>e.label),axisLine:{lineStyle:{color:n.border}},axisLabel:{color:n.labelTertiary},splitLine:{lineStyle:{color:n.border,opacity:.5}}},yAxis:{type:`value`,axisLine:{lineStyle:{color:n.border}},axisLabel:{color:n.labelTertiary},splitLine:{lineStyle:{color:n.border,opacity:.5}}},series:[{type:`scatter`,symbolSize:10,data:i.map(e=>e.value)}]};case`area`:return{...s,tooltip:o({trigger:`axis`}),xAxis:{type:`category`,data:i.map(e=>e.label),axisLine:{lineStyle:{color:n.border}},axisLabel:{color:n.labelTertiary}},yAxis:{type:`value`,axisLine:{lineStyle:{color:n.border}},axisLabel:{color:n.labelTertiary},splitLine:{lineStyle:{color:n.border,opacity:.5}}},series:(a??[{label:``,data:i}]).map((e,t)=>({name:e.label,type:`line`,smooth:!0,areaStyle:{opacity:.15},data:e.data.map(e=>e.value),...zu(e.color,t,a)})),legend:a===void 0?void 0:{bottom:0,textStyle:{color:n.labelTertiary}}};case`line`:return{...s,tooltip:o({trigger:`axis`}),xAxis:{type:`category`,data:i.map(e=>e.label),axisLine:{lineStyle:{color:n.border}},axisLabel:{color:n.labelTertiary}},yAxis:{type:`value`,axisLine:{lineStyle:{color:n.border}},axisLabel:{color:n.labelTertiary},splitLine:{lineStyle:{color:n.border,opacity:.5}}},series:(a??[{label:``,data:i}]).map((e,t)=>({name:e.label,type:`line`,smooth:!0,showSymbol:!0,symbolSize:6,data:e.data.map(e=>e.value),...zu(e.color,t,a)})),legend:a===void 0?void 0:{bottom:0,textStyle:{color:n.labelTertiary}}};case`radar`:{let e=a??[{label:``,data:i}],t=(e[0]?.data??[]).map(e=>({name:e.label,max:void 0})),r=Math.max(...e.flatMap(e=>e.data.map(e=>Number(e.value)||0)),1);return{...s,tooltip:o({trigger:`item`}),legend:{bottom:0,textStyle:{color:n.labelTertiary}},radar:{indicator:t.map(e=>({name:e.name,max:Math.ceil(r*1.1)})),splitLine:{lineStyle:{color:n.border}},splitArea:{show:!1},axisLine:{lineStyle:{color:n.border}},axisName:{color:n.labelTertiary}},series:[{type:`radar`,symbolSize:5,areaStyle:{opacity:.12},data:e.map((e,t)=>({name:e.label,value:e.data.map(e=>Number(e.value)||0),...zu(e.color,t,a)}))}]}}case`gauge`:return{...s,tooltip:o({trigger:`item`}),series:i.slice(0,4).map((e,t)=>({type:`gauge`,startAngle:210,endAngle:-30,min:0,max:Math.max(Number(e.value)||0,100),center:i.length>1?[`${(t+.5)*(100/Math.min(i.length,4))}%`,`58%`]:[`50%`,`58%`],radius:i.length>1?`62%`:`82%`,progress:{show:!0,width:12},axisLine:{lineStyle:{width:12,color:[[1,n.border]]}},axisTick:{show:!1},splitLine:{show:!1},axisLabel:{show:!1},pointer:{show:!1},title:{offsetCenter:[0,`32%`],color:n.labelTertiary,fontSize:12},detail:{valueAnimation:!0,fontSize:26,offsetCenter:[0,`2%`],formatter:`{value}`,color:n.labelPrimary},data:[{value:Number(e.value)||0,name:e.label}]}))};case`funnel`:return{...s,tooltip:o({trigger:`item`,formatter:`{b}: {c}`}),legend:{bottom:0,textStyle:{color:n.labelTertiary}},series:[{type:`funnel`,left:`8%`,width:`84%`,top:16,bottom:40,gap:2,label:{position:`inside`,color:`#fff`,formatter:`{b} {c}`},itemStyle:{borderWidth:0},data:i.map(e=>({name:e.label,value:Number(e.value)||0}))}]};case`treemap`:return{...s,tooltip:o({trigger:`item`,formatter:`{b}: {c}`}),series:[{type:`treemap`,roam:!1,nodeClick:!1,breadcrumb:{show:!1},upperLabel:{show:!1},label:{color:n.labelPrimary},itemStyle:{borderColor:n.bgLayer1,borderWidth:2,gapWidth:2},data:i.map(e=>({name:e.label,value:Number(e.value)||0}))}]};case`sankey`:{let t=e.links??[],r=i.length>0?i.map(e=>e.label):[...new Set(t.flatMap(e=>[e.from,e.to]))];return{...s,tooltip:o({trigger:`item`}),series:[{type:`sankey`,left:8,right:8,top:12,bottom:12,nodeGap:12,lineStyle:{color:`gradient`,curveness:.5,opacity:.32},label:{color:n.labelSecondary},emphasis:{focus:`adjacency`},data:r.map(e=>({name:e})),links:t.map(e=>({source:e.from,target:e.to,value:e.value??1}))}]}}case`graph`:{let t=e.links??[],r=i.length>0?i.map(e=>e.label):[...new Set(t.flatMap(e=>[e.from,e.to]))],a=new Map;for(let e of t)a.set(e.from,(a.get(e.from)??0)+1),a.set(e.to,(a.get(e.to)??0)+1);return{...s,tooltip:o({trigger:`item`}),series:[{type:`graph`,layout:`force`,roam:!0,label:{show:!0,color:n.labelSecondary,fontSize:11},force:{repulsion:200,edgeLength:80},lineStyle:{color:n.border,curveness:.1},emphasis:{focus:`adjacency`},data:r.map(e=>({name:e,symbolSize:16+(a.get(e)??0)*5})),links:t.map(e=>({source:e.from,target:e.to}))}]}}case`heatmap`:{let e=a??[{label:``,data:i}],t=(e[0]?.data??[]).map(e=>e.label),r=e.flatMap((e,t)=>e.data.map((e,n)=>[n,t,Number(e.value)||0])),c=Math.max(...r.map(e=>e[2]),1);return{...s,tooltip:o({trigger:`item`,position:`top`}),grid:{left:64,right:16,top:16,bottom:48},xAxis:{type:`category`,data:t,splitArea:{show:!1},axisLabel:{color:n.labelTertiary},axisLine:{lineStyle:{color:n.border}}},yAxis:{type:`category`,data:e.map(e=>e.label),splitArea:{show:!1},axisLabel:{color:n.labelTertiary},axisLine:{lineStyle:{color:n.border}}},visualMap:{min:0,max:c,calculable:!0,orient:`horizontal`,left:`center`,bottom:0,textStyle:{color:n.labelTertiary}},series:[{type:`heatmap`,data:r,label:{show:r.length<=60,color:n.labelPrimary},itemStyle:{borderColor:n.bgLayer1,borderWidth:2}}]}}case`bigline`:return{...s,tooltip:o({trigger:`axis`}),grid:{left:48,right:20,top:24,bottom:56},dataZoom:[{type:`inside`,start:0,end:45},{type:`slider`,height:16,bottom:8,borderColor:n.border,textStyle:{color:n.labelTertiary}}],xAxis:{type:`category`,boundaryGap:!1,data:i.map(e=>e.label),axisLabel:{color:n.labelTertiary},axisLine:{lineStyle:{color:n.border}}},yAxis:{type:`value`,axisLabel:{color:n.labelTertiary},splitLine:{lineStyle:{color:n.border,opacity:.5}}},series:(a??[{label:``,data:i}]).map((e,t)=>({name:e.label,type:`line`,smooth:!0,showSymbol:!1,areaStyle:{opacity:.12},data:e.data.map(e=>e.value),...zu(e.color,t,a)})),legend:a===void 0?void 0:{bottom:26,textStyle:{color:n.labelTertiary}}};default:return{...s,tooltip:o({trigger:`axis`,axisPointer:{type:`shadow`}}),xAxis:{type:`category`,data:i.map(e=>e.label),axisLine:{lineStyle:{color:n.border}},axisLabel:{color:n.labelTertiary}},yAxis:{type:`value`,axisLine:{lineStyle:{color:n.border}},axisLabel:{color:n.labelTertiary},splitLine:{lineStyle:{color:n.border,opacity:.5}}},series:(a??[{label:``,data:i}]).map(e=>({name:e.label,type:`bar`,barMaxWidth:40,itemStyle:{borderRadius:[4,4,2,2],...e.color===void 0?{}:{color:e.color}},data:e.data.map(e=>e.value)})),legend:a===void 0?void 0:{bottom:0,textStyle:{color:n.labelTertiary}}}}}function zu(e,t,n){return e===void 0?{}:{itemStyle:{color:e}}}function Bu({node:e}){let t=(0,m.useRef)(null),[n,r]=(0,m.useState)(`loading`),i=(0,m.useRef)(null);return(0,m.useEffect)(()=>{let n=!0,a=t.current;if(a===null)return;let o=e.option??Ru(e,a),s=Nu(e)===`echarts-full`?`full`:`core`;return Pu(a,o,{height:e.height??300},s).then(e=>{if(!n){e.dispose();return}i.current=e,r(`ready`)}).catch(()=>{n&&r(`error`)}),()=>{n=!1,i.current?.dispose(),i.current=null}},[]),(0,m.useEffect)(()=>{if(n!==`ready`)return;let e=t.current;if(e===null)return;let r=new ResizeObserver(()=>{i.current?.resize()});return r.observe(e),()=>{r.disconnect()}},[n]),(0,m.useEffect)(()=>{if(n!==`ready`||i.current===null)return;let r=e.option??Ru(e,t.current);i.current.setOption(r,!0)},[e,n]),n===`error`?(0,g.jsxs)(`div`,{className:w.echartFallback,"data-genui-echart":!0,children:[(0,g.jsx)(`div`,{className:w.echartErr,children:`ECharts 渲染失败`}),e.title!==void 0&&(0,g.jsx)(`div`,{className:w.echartHint,children:J(e.title)})]}):(0,g.jsxs)(`div`,{className:w.echartWrap,"data-genui-echart":!0,children:[e.title!==void 0&&(0,g.jsx)(`div`,{className:w.echartTitle,children:J(e.title)}),(0,g.jsx)(`div`,{ref:t,className:w.echartCanvas,style:{height:`${e.height??300}px`},role:`img`,"aria-label":e.title??`ECharts chart`}),n===`loading`&&(0,g.jsx)(`div`,{className:w.echartHint,children:`加载图表…`})]})}let Vu=v;function Hu(e){return typeof e==`object`&&!!e&&`type`in e}function Uu(e){let t=/^([+\-−]?[\d.,]+(?:[eE][+\-]?\d+)?)\s*(.*)$/.exec(e.trim());if(t===null||t[1]===void 0)return{num:e,unit:``,numeric:void 0,decimals:0};let n=t[1],r=n.replace(/[,,]/g,``),i=Number(r),a=Number.isFinite(i)&&!/[eE]/.test(r)?i:void 0,o=r.includes(`.`)?(r.split(`.`)[1]??``).length:0;return{num:n,unit:t[2]??``,numeric:a,decimals:Math.min(o,4)}}function Wu({values:e}){let t=Math.min(...e),n=Math.max(...e)-t||1,r=e.length<=1?0:92/(e.length-1),i=e.map((e,i)=>[2+i*r,22-(e-t)/n*20]),a=i.map(([e,t])=>`${e.toFixed(1)},${t.toFixed(1)}`).join(` `),o=i[i.length-1],s=`M 2,22 L ${a.split(` `).join(` L `)} L ${o[0].toFixed(1)},22 Z`;return(0,g.jsxs)(`svg`,{className:w.statSpark,viewBox:`0 0 96 24`,preserveAspectRatio:`none`,"aria-hidden":`true`,children:[(0,g.jsx)(`path`,{d:s,fill:`var(--dsl-g-accent)`,opacity:`0.14`}),(0,g.jsx)(`polyline`,{points:a,fill:`none`,stroke:`var(--dsl-g-accent)`,strokeWidth:`1.5`,strokeLinejoin:`round`,strokeLinecap:`round`,vectorEffect:`non-scaling-stroke`}),(0,g.jsx)(`path`,{d:`M ${o[0].toFixed(1)} ${o[1].toFixed(1)} L ${o[0].toFixed(1)} ${o[1].toFixed(1)}`,stroke:`var(--dsl-g-accent)`,strokeWidth:5,strokeLinecap:`round`,vectorEffect:`non-scaling-stroke`,fill:`none`})]})}function Gu(e,t,n){let[r,i]=(0,m.useState)(n?0:e);return(0,m.useEffect)(()=>{if(!n){i(e);return}if(typeof window<`u`&&typeof window.matchMedia==`function`&&window.matchMedia(`(prefers-reduced-motion: reduce)`).matches){i(e);return}let t=0,r=performance.now(),a=n=>{let o=Math.min(1,(n-r)/720),s=1-(1-o)**3;i(e*s),o<1&&(t=requestAnimationFrame(a))};return t=requestAnimationFrame(a),()=>cancelAnimationFrame(t)},[e,n]),r.toFixed(t)}function Ku({value:e,unitClass:t,animate:n=!1}){let r=Uu(e),i=r.numeric,a=Gu(i??0,r.decimals,n&&i!==void 0);return(0,g.jsxs)(g.Fragment,{children:[i===void 0?J(r.num):a,r.unit!==``&&(0,g.jsx)(`span`,{className:t??w.statUnit,children:J(r.unit)})]})}function qu(e){return typeof e==`string`?e:Hu(e)?``:`${e.title} ${e.desc??``}`}function Ju(e,t){if(t===void 0)return;let n=e?.fields[t];return n===void 0||n===``?void 0:n}function Yu(e,t,n,r=0,i){if(r>X.maxDepth)return null;switch(e.type){case`text`:{let n=e.size??`body`;return(0,g.jsx)(`div`,{className:`${w.text} ${w[n]}`+(e.center?` ${w.center}`:``),children:J(e.content)},t)}case`row`:return(0,g.jsxs)(`div`,{className:w.row+(e.wrap?` ${w.wrap}`:``),children:[e.items.map((e,t)=>Yu(e,t,n,r+1,i)),e.spacer&&(0,g.jsx)(`div`,{className:w.spacer})]},t);case`col`:return(0,g.jsx)(`div`,{className:w.col,style:e.gap===void 0?void 0:{gap:`${e.gap}px`},children:e.items.map((e,t)=>Yu(e,t,n,r+1,i))},t);case`grid`:return(0,g.jsx)(`div`,{className:w.grid,style:{gridTemplateColumns:`repeat(${Math.max(1,e.cols)}, minmax(0, 1fr))`},children:e.items.map((e,t)=>{let a=Yu(e,t,n,r+1,i),o=typeof e==`object`&&e&&typeof e.span==`number`?Math.max(1,Math.min(12,e.span)):1;return o>1?(0,g.jsx)(`div`,{className:w.gridSpan,style:{gridColumn:`span ${o}`},children:a},t):a})},t);case`card`:{let a=e.tone===void 0?``:` ${w[`card${e.tone[0].toUpperCase()}${e.tone.slice(1)}`]??``}`,o=e.accent===void 0?void 0:{borderColor:`color-mix(in srgb, ${e.accent} 18%, var(--dsl-g-border))`,"--dsl-card-accent":e.accent};return(0,g.jsxs)(`div`,{className:`${w.card}${a}`,style:o,children:[e.title!==void 0&&(0,g.jsx)(`div`,{className:w.cardTitle,children:J(e.title)}),e.items.map((e,t)=>Yu(e,t,n,r+1,i))]},t)}case`button`:{let r=e.tone??``,i=`${w.button} ${w[r]||``}`+(e.full?` ${w.full}`:``)+(e.small?` ${w.small}`:``),a=e.action,o=a!==void 0&&n!==void 0;return(0,g.jsxs)(qs,{className:i,disabled:!o,onClick:o?()=>n(a,{type:`button`,label:e.label}):void 0,children:[e.icon!==void 0&&(0,g.jsxs)(`span`,{"aria-hidden":!0,children:[e.icon,` `]}),J(e.label,!1)]},t)}case`input`:return(0,g.jsx)(qc,{node:e,onAction:n,answers:i},t);case`select`:return(0,g.jsx)(Kc,{node:e,onAction:n,answers:i},t);case`checkbox`:return(0,g.jsx)(Yc,{node:e,onAction:n,answers:i},t);case`link`:{let n=e.href;return n===void 0?(0,g.jsx)(`span`,{className:w.linkText,children:J(e.label,!1)},t):(0,g.jsx)(`a`,{className:w.link,href:n,target:`_blank`,rel:`noopener noreferrer`,children:J(e.label,!1)},t)}case`image`:return(0,g.jsx)(ju,{node:e},`${t}:${e.src}`);case`audio`:return(0,g.jsx)(Js,{node:e},`${t}:${e.src}`);case`video`:return(0,g.jsx)(Ys,{node:e},`${t}:${e.src}`);case`badge`:{let n=e.tone??``;return(0,g.jsxs)(`span`,{className:`${w.badge} ${w[n]||``}`,children:[e.icon!==void 0&&(0,g.jsxs)(`span`,{"aria-hidden":!0,children:[e.icon,` `]}),(0,g.jsx)(`span`,{className:w.badgeLabel,children:J(e.label,!1)})]},t)}case`hero`:{let n=e.tone??`accent`,r=w[`hero${n[0].toUpperCase()}${n.slice(1)}`]??``,i=e.delta!==void 0&&e.delta.startsWith(`-`);return(0,g.jsxs)(`div`,{className:`${w.hero} ${r}`,children:[e.label!==void 0&&(0,g.jsx)(`span`,{className:w.heroLabel,children:J(e.label,!1)}),(0,g.jsxs)(`div`,{className:w.heroTop,children:[e.value!==void 0&&(0,g.jsx)(`span`,{className:w.heroValue,children:(0,g.jsx)(Ku,{value:e.value,unitClass:w.heroUnit,animate:!0})}),e.delta!==void 0&&(0,g.jsx)(`span`,{className:`${w.statDelta} ${i?w.down:w.up}`,children:J(e.delta)}),e.spark!==void 0&&(0,g.jsx)(`span`,{className:w.heroSpark,children:(0,g.jsx)(Wu,{values:e.spark})})]}),(0,g.jsx)(`span`,{className:w.heroTitle,children:J(e.title)}),e.subtitle!==void 0&&(0,g.jsx)(`span`,{className:w.heroSubtitle,children:J(e.subtitle)})]},t)}case`stat`:{let n=e.delta!==void 0&&e.delta.startsWith(`-`);return(0,g.jsxs)(`div`,{className:`${w.stat}${e.size===`hero`?` ${w.statHero}`:``}`,children:[(0,g.jsx)(`span`,{className:w.statLabel,children:J(e.label,!1)}),(0,g.jsx)(`span`,{className:w.statValue,children:(0,g.jsx)(Ku,{value:e.value,animate:e.size===`hero`})}),e.delta!==void 0&&(0,g.jsx)(`span`,{className:`${w.statDelta} ${n?w.down:w.up}`,children:J(e.delta)}),e.spark!==void 0&&(0,g.jsx)(Wu,{values:e.spark})]},t)}case`progress`:{let n=Math.max(0,Math.min(100,Number(e.value)||0));if(e.variant===`ring`){let r=2*Math.PI*34;return(0,g.jsxs)(`div`,{className:w.ring,role:`progressbar`,"aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":n,"aria-label":e.label??e.valueLabel??void 0,children:[(0,g.jsxs)(`svg`,{width:92,height:92,viewBox:`0 0 92 92`,"aria-hidden":`true`,children:[(0,g.jsx)(`circle`,{cx:46,cy:46,r:34,fill:`none`,strokeWidth:9,className:w.ringTrack}),(0,g.jsx)(`circle`,{cx:46,cy:46,r:34,fill:`none`,strokeWidth:9,strokeLinecap:`round`,className:w.ringFill,strokeDasharray:`${n/100*r} ${r}`,transform:`rotate(-90 46 46)`}),(0,g.jsxs)(`text`,{x:46,y:51,textAnchor:`middle`,className:w.ringValue,children:[n,`%`]})]}),(e.label!==void 0||e.valueLabel!==void 0)&&(0,g.jsxs)(`div`,{className:w.ringMeta,children:[e.label!==void 0&&(0,g.jsx)(`span`,{className:w.ringLabel,children:J(e.label,!1)}),e.valueLabel!==void 0&&(0,g.jsx)(`span`,{className:w.ringSub,children:J(e.valueLabel)})]})]},t)}return(0,g.jsxs)(`div`,{className:w.progress,role:`progressbar`,"aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":n,"aria-label":e.label??e.valueLabel??void 0,children:[(e.label!==void 0||e.valueLabel!==void 0)&&(0,g.jsxs)(`div`,{className:w.progressRow,children:[(0,g.jsx)(`span`,{children:J(e.label??``)}),e.valueLabel!==void 0&&(0,g.jsx)(`span`,{children:J(e.valueLabel)})]}),(0,g.jsxs)(`div`,{className:w.track,children:[(0,g.jsx)(`div`,{className:w.fill,style:{width:`${n}%`}}),e.target!==void 0&&(0,g.jsx)(`span`,{className:w.targetMark,style:{left:`${e.target}%`},title:Y(`block.target`,{value:e.target})})]})]},t)}case`divider`:return(0,g.jsx)(`hr`,{className:w.divider},t);case`list`:{let a=Ju(i,e.filter)?.toLowerCase(),o=e.items.slice(0,X.maxListItems),s=a===void 0?o:o.filter(e=>qu(e).toLowerCase().includes(a));return(0,g.jsxs)(`div`,{className:w.list,children:[s.map((e,t)=>(0,g.jsx)(`div`,{className:w.li,children:Hu(e)?Yu(e,t,n,r+1,i):(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(`div`,{className:w.liTitle,children:J(typeof e==`string`?e:e.title)}),typeof e!=`string`&&e.desc!==void 0&&(0,g.jsx)(`div`,{className:w.liDesc,children:J(e.desc)})]})},t)),a!==void 0&&(0,g.jsx)(`span`,{className:w.filterHint,children:Y(`block.filterMatch`,{shown:s.length,total:o.length})})]},t)}case`table`:return(0,g.jsx)(bc,{node:e,filterValue:Ju(i,e.filter),sortValue:Ju(i,e.sortField),renderDetail:e=>e.map((e,t)=>Yu(e,t,n,r+1,i))},t);case`chart`:return(0,g.jsx)(kc,{chart:e,filterValue:Ju(i,e.filter)},t);case`tabs`:return(0,g.jsx)(zl,{tabs:e,onAction:n,depth:r+1,answers:i},t);case`avatar`:return(0,g.jsx)(`div`,{className:w.avatar,style:{background:e.color??Ks(e.name)},children:e.name.slice(0,1).toUpperCase()},t);case`spacer`:return(0,g.jsx)(`div`,{className:w.spacer},t);case`plot`:return(0,g.jsx)(Fl,{plot:e},t);case`callout`:return(0,g.jsx)(Ml,{node:e},t);case`steps`:return(0,g.jsx)(Nl,{steps:e},t);case`keyvalue`:return(0,g.jsx)(Pl,{node:e},t);case`diff`:return(0,g.jsx)(Il,{node:e},t);case`json`:return(0,g.jsx)(Ll,{node:e},t);case`code`:return(0,g.jsx)(Rl,{node:e},t);case`radio`:return(0,g.jsx)(zc,{node:e,onAction:n,answers:i},`${t}:r${i?.round??0}`);case`submit`:return(0,g.jsx)(Vc,{node:e,onAction:n,answers:i},t);case`switch`:return(0,g.jsx)(Hc,{node:e,onAction:n},t);case`slider`:return(0,g.jsx)(Uc,{node:e,onAction:n,answers:i},t);case`textarea`:return(0,g.jsx)(Jc,{node:e,onAction:n,answers:i},t);case`accordion`:return(0,g.jsx)(Bl,{node:e,onAction:n,depth:r+1,answers:i},t);case`copy`:return(0,g.jsx)(Hl,{node:e},t);case`mermaid`:return(0,g.jsx)(Ul,{node:e},t);case`svg`:return(0,g.jsx)(Vo,{node:e},t);case`scene3d`:return(0,g.jsx)(Wl,{node:e},t);case`timeline`:return(0,g.jsx)(Gl,{node:e},t);case`file-tree`:return(0,g.jsx)(Jl,{node:e},t);case`breadcrumb`:return(0,g.jsx)(Xl,{node:e},t);case`quiz`:return(0,g.jsx)(Yl,{node:e,onAction:n},t);case`diagram`:return(0,g.jsx)(Au,{node:e},t);case`echart`:return(0,g.jsx)(Bu,{node:e},t);default:{let a=e,o=Vu?.(a.type);return o===void 0?null:(0,g.jsx)(o,{node:a,onAction:n,renderChildren:(e,t)=>e.map((e,a)=>Yu(e,Number(t)+a,n,r+1,i))},t)}}}function Xu(e){let t=(0,m.useRef)(new Map),n=(0,m.useRef)(e);n.current=e,(0,m.useEffect)(()=>()=>{for(let e of t.current.values())clearTimeout(e);t.current.clear()},[]);let r=(0,m.useCallback)((e,r)=>{if(r.type!==`slider`){n.current?.(e,r);return}let i=`${e}\u0000${typeof r.id==`string`?r.id:``}`,a=t.current.get(i);a!==void 0&&clearTimeout(a),t.current.set(i,setTimeout(()=>{t.current.delete(i),n.current?.(e,r)},300))},[]);return e===void 0?void 0:r}function Zu(e,t){return e===t||JSON.stringify(e)===JSON.stringify(t)}function Qu({spec:e,stateKey:t,animateEntrance:n=!0,initialState:r,onStateChange:i,onStateSnapshot:a}){let o=e.gap??16,s=Xu(S()),c=(0,m.useRef)(i);c.current=i;let l=i!==void 0,[u]=(0,m.useState)(()=>r??(i!==void 0||t===void 0?null:us(t))),[d,f]=(0,m.useState)(u?.answers??{}),[p,h]=(0,m.useState)(u?.multiAnswers??{}),[_,v]=(0,m.useState)(u?.fields??{}),y=(0,m.useMemo)(()=>Ic(e),[e]),[b,x]=(0,m.useState)(u?.locked===!0),[C,T]=(0,m.useState)(0),[E,ee]=(0,m.useState)(new Set),te=(0,m.useCallback)((e,t)=>{f(n=>n[e]===t?n:{...n,[e]:t})},[]),ne=(0,m.useCallback)((e,t,n)=>{h(r=>{let i=r[e]??[],a=n?i.includes(t)?i:[...i,t]:i.filter(e=>e!==t);return Object.prototype.hasOwnProperty.call(r,e)&&a.length===i.length&&a.every((e,t)=>e===i[t])?r:{...r,[e]:a}})},[]),D=(0,m.useCallback)((e,t)=>{v(n=>n[e]===t?n:{...n,[e]:t})},[]),re=(0,m.useCallback)(e=>{ee(t=>t.has(e)?t:new Set(t).add(e))},[]),ie=(0,m.useCallback)(()=>{f({}),h({}),x(!1),T(e=>e+1)},[]),ae=(0,m.useMemo)(()=>({answers:d,multiAnswers:p,fields:_,secretFields:E,registry:y,locked:b,round:C,setAnswer:te,setMultiAnswer:ne,setField:D,registerSecretField:re,clear:ie,setLocked:x}),[d,p,_,E,y,b,C,te,ne,D,re,ie]),oe=(0,m.useMemo)(()=>{let e=Object.fromEntries(Object.entries(_).filter(([e])=>!E.has(e)));return{answers:d,...Object.keys(p).length>0?{multiAnswers:p}:{},locked:b,...Object.keys(e).length>0?{fields:e}:{}}},[d,p,b,_,E]);(0,m.useEffect)(()=>{a?.(oe)},[oe,a]);let se=(0,m.useMemo)(()=>{if(s!==void 0)return(e,t)=>{Bs(),s(e,t)}},[s]);return(0,m.useEffect)(()=>{if(l){c.current?.(oe);return}if(t===void 0)return;let e=setTimeout(()=>ds(t,oe),300);return()=>clearTimeout(e)},[t,oe,l]),(0,m.useEffect)(()=>{Rs(e)},[e]),(0,g.jsxs)(`div`,{className:w.block,"data-genui":!0,children:[e.title!==void 0&&(0,g.jsx)(`div`,{className:w.banner,children:J(e.title)}),(0,g.jsx)(`div`,{className:w.col,style:{gap:`${o}px`},children:e.items.map((e,t)=>(0,g.jsx)(`div`,{className:w.reveal,style:{animationDelay:`${Math.min(t*90,720)}ms`,...!n||u!==null?{animation:`none`}:{}},onAnimationEnd:e=>{e.target===e.currentTarget&&(e.currentTarget.style.animation=`none`)},children:Yu(e,t,se,0,ae)},t))})]})}let $u=(0,m.memo)(function(e){let[t,n]=(0,m.useState)({stateKey:e.stateKey,generation:0});return t.stateKey!==e.stateKey&&n({stateKey:e.stateKey,generation:t.generation+(t.stateKey===void 0?0:1)}),(0,g.jsx)(Qu,{...e},t.generation)},(e,t)=>e.stateKey===t.stateKey&&e.animateEntrance===t.animateEntrance&&e.onStateChange===t.onStateChange&&e.onStateSnapshot===t.onStateSnapshot&&Zu(e.spec,t.spec)),ed=[`h1`,`h2`,`h3`,`body`,`muted`,`caption`],td=[`primary`,`danger`,`success`,`ghost`],nd=[`success`,`warn`,`danger`,`accent`],rd=[`text`,`email`,`password`,`color`],id=[`info`,`success`,`warning`,`error`],ad=[`bars`,`line`,`donut`],od=[`line`,`area`,`scatter`],sd=[`16:9`,`4:3`,`1:1`,`9:16`],cd=[`box`,`sphere`,`cone`,`cylinder`,`torus`],ld=[`file`,`dir`],ud=`architecture.it-state.flowchart.sequence.state.er.timeline.swimlane.quadrant.radar.loop.nested.tree.org-chart.layers.venn.pyramid.bar.line.gantt.scatter.high-level.process.medallion.data-flow.dp-integration.dp-security-matrix`.split(`.`),dd=[`focal`,`backend`,`store`,`external`,`input`,`optional`,`security`],fd=[`light`,`dark`,`editorial`],pd=[`solid`,`dashed`,`accent`,`link`],md=[`auto`,`orthogonal`,`straight`],hd=[`bar`,`line`,`area`,`pie`,`scatter`,`radar`,`gauge`,`funnel`,`treemap`,`sankey`,`graph`,`heatmap`,`bigline`,`wordCloud`],gd=[`hero`],_d=[`bar`,`ring`],vd=[`info`,`success`,`warning`,`danger`],yd=[`accent`,`success`,`warning`,`danger`],bd=[`text`,`num`,`delta`,`bar`,`badge`,`spark`,`ring`,`index`,`group`],Z=(e,t,n={},r={})=>{let i=Object.fromEntries(Object.entries(t).filter(([t])=>t!==`type`&&!e.includes(t))),a=r.oneOfRequired??[],o=r.conditionalRequired??[],s=[...a.map(e=>({kind:`one-of-required`,fields:e})),...o];return{required:e,fields:t,optional:i,aliases:n,valueAliases:r.valueAliases??{},oneOfRequired:a,conditionalRequired:o,rules:s,enums:r.enums??{},nested:r.nested??{},...r.validator===void 0?{}:{validator:r.validator}}},xd=(e,t,n={},r={},i={})=>({required:e,fields:t,enums:r,nested:n,aliases:i}),Q={type:`string`,span:`number`},Sd=xd([`label`,`value`],{label:`string`,value:`number`,color:`string`}),Cd=xd([`label`,`data`],{label:`string`,color:`string`,data:`array`},{data:Sd}),wd=xd([`title`],{title:`string`,desc:`string`}),Td=xd([`key`,`value`],{key:`string`,value:`string`},{},{},{label:`key`}),Ed=xd([`title`],{title:`string`,desc:`string`,time:`string`}),Dd=xd([`path`,`newText`],{path:`string`,oldText:`string-or-null`,newText:`string`}),Od=xd([`expr`],{expr:`string`,label:`string`,color:`string`,kind:`string`,params:`array`},{params:xd([`name`,`value`],{name:`string`,value:`number`,min:`number`,max:`number`,step:`number`,animateTo:`number`,durationMs:`number`,loop:`boolean`})},{kind:od}),kd=xd([`shape`],{shape:`string`,color:`string`,position:`array`,rotation:`array`,scale:`unknown`,size:`unknown`},{},{shape:cd});function Ad(e){return xd([`name`],{name:`string`,type:`string`,children:`array`},e>0?{children:Ad(e-1)}:{},{type:ld},{label:`name`})}let jd=Ad(6),Md=xd([`label`,`items`],{label:`string`,items:`nodes`,content:`nodes`}),Nd=xd([`title`,`items`],{title:`string`,items:`nodes`}),Pd=xd([`id`,`label`],{id:`string`,label:`string`,sub:`string`,type:`string`,x:`number`,y:`number`,w:`number`,h:`number`,tag:`string`},{},{type:dd}),Fd=xd([`from`,`to`],{from:`string`,to:`string`,label:`string`,kind:`string`,route:`string`},{},{kind:pd,route:md}),Id=xd([`label`],{label:`string`,x:`number`,y:`number`,w:`number`,h:`number`}),Ld=xd([],{paper:`string`,"paper-2":`string`,ink:`string`,muted:`string`,soft:`string`,rule:`string`,accent:`string`,"accent-tint":`string`,link:`string`}),Rd=Z([`items`],{title:`string`,gap:`number`,panel:`boolean`,append:`boolean`,items:`nodes`}),zd={accordion:Z([`items`],{...Q,items:`array`},{},{nested:{items:Nd}}),audio:Z([`src`],{...Q,src:`string`,alt:`string`,loop:`boolean`},{url:`src`,link:`src`}),avatar:Z([`name`],{...Q,name:`string`,color:`string`}),badge:Z([`label`],{...Q,label:`string`,tone:`string`,icon:`string`},{text:`label`,value:`label`},{enums:{tone:nd}}),breadcrumb:Z([`items`],{...Q,items:`array`}),button:Z([`label`],{...Q,label:`string`,tone:`string`,full:`boolean`,small:`boolean`,icon:`string`,action:`string`},{},{enums:{tone:td}}),callout:Z([`content`],{...Q,title:`string`,content:`string`,tone:`string`},{kind:`tone`,text:`content`,body:`content`,desc:`content`},{enums:{tone:id},valueAliases:{tone:{danger:`error`,warn:`warning`}}}),card:Z([`items`],{...Q,title:`string`,items:`nodes`,tone:`string`,accent:`string`},{label:`title`,content:`items`},{enums:{tone:vd}}),chart:Z([],{...Q,kind:`string`,data:`array`,series:`array`,horizontal:`boolean`,stacked:`boolean`,filter:`string`,palette:`array`},{},{oneOfRequired:[[`data`,`series`]],conditionalRequired:[{kind:`required-if`,when:{field:`kind`,equals:`donut`},required:[`data`]}],nested:{data:Sd,series:Cd},enums:{kind:ad},validator:{name:`chart-renderability`}}),checkbox:Z([`label`],{...Q,label:`string`,checked:`boolean`,action:`string`,group:`string`}),code:Z([`code`],{...Q,lang:`string`,code:`string`},{content:`code`,text:`code`}),col:Z([`items`],{...Q,items:`nodes`,gap:`number`}),copy:Z([`text`],{...Q,label:`string`,text:`string`},{content:`text`,code:`text`,value:`text`}),diagram:Z([`kind`,`nodes`],{...Q,kind:`string`,variant:`string`,title:`string`,nodes:`array`,edges:`array`,zones:`array`,theme:`object`},{},{nested:{nodes:Pd,edges:Fd,zones:Id,theme:Ld},enums:{kind:ud,variant:fd}}),diff:Z([`diffs`],{...Q,diffs:`array`},{items:`diffs`,files:`diffs`},{nested:{diffs:Dd}}),divider:Z([],Q),echart:Z([],{...Q,title:`string`,height:`number`,preset:`string`,data:`array`,series:`array`,links:`array`,palette:`array`,option:`object`},{},{oneOfRequired:[[`option`,`data`,`series`,`links`]],enums:{preset:hd}}),"file-tree":Z([`items`],{...Q,items:`array`},{nodes:`items`},{nested:{items:jd}}),grid:Z([`items`],{...Q,cols:`number`,items:`nodes`}),image:Z([`src`],{...Q,src:`string`,alt:`string`},{url:`src`,link:`src`}),input:Z([],{...Q,label:`string`,placeholder:`string`,value:`string`,inputType:`string`,action:`string`,id:`string`},{},{enums:{inputType:rd}}),json:Z([`value`],{...Q,value:`unknown`}),keyvalue:Z([`pairs`],{...Q,pairs:`array`},{items:`pairs`,rows:`pairs`,entries:`pairs`},{nested:{pairs:Td}}),link:Z([`label`],{...Q,label:`string`,href:`string`}),list:Z([`items`],{...Q,items:`array`,filter:`string`}),mermaid:Z([`code`],{...Q,code:`string`}),svg:Z([`code`],{...Q,code:`string`,title:`string`,height:`number`}),plot:Z([`series`],{...Q,series:`array`,xMin:`number`,xMax:`number`,yMin:`number`,yMax:`number`,title:`string`},{},{nested:{series:Od}}),progress:Z([`value`],{...Q,value:`number`,label:`string`,valueLabel:`string`,variant:`string`,target:`number`},{},{enums:{variant:_d}}),quiz:Z([`question`,`options`],{...Q,question:`string`,options:`array`,explanation:`string`,id:`string`,action:`string`},{title:`question`,text:`question`,choices:`options`,items:`options`}),radio:Z([`options`],{...Q,label:`string`,options:`array`,selected:`number`,action:`string`,group:`string`,answer:`unknown`,explanation:`string`},{items:`options`}),row:Z([`items`],{...Q,items:`nodes`,wrap:`boolean`,spacer:`boolean`}),scene3d:Z([`meshes`],{...Q,title:`string`,meshes:`array`,ambient:`number`,background:`string`},{},{nested:{meshes:kd}}),select:Z([`options`],{...Q,label:`string`,options:`array`,action:`string`,selected:`number`,id:`string`},{items:`options`}),slider:Z([],{...Q,label:`string`,min:`number`,max:`number`,step:`number`,value:`number`,action:`string`,id:`string`}),spacer:Z([],Q),hero:Z([`title`],{...Q,title:`string`,subtitle:`string`,value:`string`,label:`string`,delta:`string`,spark:`array`,tone:`string`},{},{enums:{tone:yd}}),stat:Z([`label`,`value`],{...Q,label:`string`,value:`string`,delta:`string`,spark:`array`,size:`string`},{},{enums:{size:gd}}),steps:Z([`steps`],{...Q,steps:`array`,current:`number`},{items:`steps`},{nested:{steps:wd}}),submit:Z([`label`],{...Q,label:`string`,action:`string`,resetAction:`string`,groups:`array`}),switch:Z([`label`],{...Q,label:`string`,checked:`boolean`,action:`string`}),table:Z([`columns`,`rows`],{...Q,columns:`array`,rows:`array`,types:`array`,total:`boolean`,details:`array`,filter:`string`,filterColumn:`number`,sortField:`string`,export:`boolean`},{headers:`columns`,data:`rows`,items:`rows`}),tabs:Z([`tabs`],{...Q,tabs:`array`},{},{nested:{tabs:Md}}),text:Z([`content`],{...Q,content:`string`,size:`string`,center:`boolean`},{text:`content`},{enums:{size:ed}}),textarea:Z([],{...Q,label:`string`,placeholder:`string`,rows:`number`,value:`string`,action:`string`,id:`string`}),timeline:Z([`items`],{...Q,items:`array`},{},{nested:{items:Ed}}),video:Z([`src`],{...Q,src:`string`,alt:`string`,poster:`string`,loop:`boolean`,muted:`boolean`,aspectRatio:`string`},{url:`src`,link:`src`},{enums:{aspectRatio:sd}})},Bd=new Set(Object.keys(zd)),Vd=[`mermaid`,`three`,`echarts-core`,`echarts-full`];function Hd(e,t,n){for(let r of e){if(typeof r!=`object`||!r||!(`type`in r)||typeof r.type!=`string`)continue;let e=r;if(Bd.has(e.type)||t.customTypes.push(e.type),e.type===`mermaid`&&n.add(`mermaid`),e.type===`scene3d`&&n.add(`three`),e.type===`echart`&&n.add(Nu(e)),(typeof e.action==`string`||e.type===`submit`&&(typeof e.action==`string`||typeof e.resetAction==`string`))&&(t.hasModelActions=!0),e.type===`image`||e.type===`audio`||e.type===`video`){let n=uo(e.src);if(n!==void 0&&t.externalMedia.push(n),e.type===`video`){let n=uo(e.poster);n!==void 0&&t.externalMedia.push(n)}}if(Array.isArray(e.items)){if(e.type===`list`)Hd(e.items.filter(e=>typeof e==`object`&&!!e&&`type`in e),t,n);else if(e.type===`accordion`)for(let r of e.items)typeof r==`object`&&r&&`items`in r&&Array.isArray(r.items)&&Hd(r.items,t,n);else Hd(e.items,t,n)}if(Array.isArray(e.tabs))for(let r of e.tabs)typeof r==`object`&&r&&`items`in r&&Array.isArray(r.items)&&Hd(r.items,t,n);if(e.type===`table`&&Array.isArray(e.details))for(let r of e.details)Array.isArray(r)&&Hd(r,t,n)}}function Ud(e){let t={requiredAssets:[],customTypes:[],externalMedia:[],hasModelActions:!1},n=new Set;return Hd(e.items,t,n),t.requiredAssets=Vd.filter(e=>n.has(e)),t.customTypes=[...new Set(t.customTypes)],t.externalMedia=[...new Set(t.externalMedia)],t}function Wd(e){if(typeof e!=`object`||!e)return!1;let t=e;return typeof t.type!=`string`||t.type===``?!1:!Array.isArray(t.items)||Bd.has(t.type)}function Gd(e){if(typeof e!=`object`||!e)return null;let t=e;if(typeof t.type!=`string`||t.type===``)return null;let n=Bd.has(t.type)?zd[t.type]:void 0,r=typeof t.title==`string`&&n!==void 0&&!(`title`in n.fields)?t.title:void 0,i={...e};return r!==void 0&&delete i.title,{items:[i],...r===void 0?{}:{title:r},...t.panel===!0?{panel:!0}:{},...t.append===!0?{append:!0}:{}}}function Kd(e){if(typeof e!=`object`||!e||Wd(e))return!1;let t=e;return!(!Array.isArray(t.items)||t.title!==void 0&&typeof t.title!=`string`||t.gap!==void 0&&typeof t.gap!=`number`)}function qd(e){return typeof e==`object`&&e&&!Array.isArray(e)?e:void 0}function Jd(e){let t=qd(e);return t!==void 0&&typeof t.type==`string`}let Yd=[`label`,`value`,`delta`,`spark`,`size`],Xd={label:`title`,name:`title`,description:`desc`,content:`desc`,text:`desc`,body:`desc`,detail:`desc`};function Zd(e,t,n){if(e.length===0)return null;let r=[];for(let i=0;i<e.length;i++){let a=e[i],o=qd(a);if(o===void 0)return null;if(Jd(a)){r.push(n(a,`${t}.items[${i}]`));continue}if(typeof o.label!=`string`&&typeof o.value!=`string`)return null;let s={type:`stat`};for(let e of Yd)o[e]!==void 0&&(s[e]=o[e]);r.push(s)}return r}function Qd(e,t,n,r){let i=zd[n];if(i===void 0)return e;let a={...e};for(let[e,o]of Object.entries(i.aliases)){if(!(e in a))continue;let i=`${t}.${e}`,s=o in a;s||(a[o]=a[e]),delete a[e],r.push({kind:`alias`,path:i,message:s?`${i} is ignored because canonical field '${o}' is present`:`${i} normalized/adopted as '${o}'`,type:n,field:e,canonical:o})}for(let[e,o]of Object.entries(i.valueAliases)){let i=a[e];if(typeof i!=`string`)continue;let s=o[i];s!==void 0&&s!==i&&(a[e]=s,r.push({kind:`alias`,path:`${t}.${e}`,message:`${t}.${e} '${i}' normalized to '${s}'`,type:n,field:e,canonical:s}))}return a}function $d(e,t,n,r,i){if(Array.isArray(e))return e.map((e,a)=>$d(e,t,`${n}[${a}]`,r,i));let a=qd(e);if(a===void 0)return e;let o={...a};for(let[e,a]of Object.entries(t.aliases))!(e in o)||a in o||(o[a]=o[e],delete o[e],i.push({kind:`alias`,path:`${n}.${e}`,message:`${n}.${e} normalized/adopted as '${a}'`,type:r,field:e,canonical:a}));for(let[e,a]of Object.entries(t.nested))o[e]!==void 0&&(o[e]=$d(o[e],a,`${n}.${e}`,r,i));return o}function ef(e){if(Array.isArray(e))return e.map(ef);let t=qd(e);if(t===void 0)return e;let n={...t};return n.type===void 0&&Array.isArray(n.children)&&(n.type=`dir`),n.children!==void 0&&(n.children=ef(n.children)),n}function tf(e,t,n){if(!Jd(e))return e;let r=e.type,i=zd[r];if(i===void 0)return e;let a=Qd(e,t,r,n);for(let[e,o]of Object.entries(i.nested))a[e]!==void 0&&(a[e]=$d(a[e],o,`${t}.${e}`,r,n));let o=(e,t)=>tf(e,t,n),s=(e,t)=>Array.isArray(e)?e.map((e,n)=>o(e,`${t}[${n}]`)):e;if(r===`file-tree`&&a.items!==void 0&&(a.items=ef(a.items)),r===`stat`&&Array.isArray(a.items)&&a.label===void 0&&a.value===void 0){let e=Zd(a.items,t,o);if(e!==null)return n.push({kind:`alias`,path:`${t}.items`,message:`${t}.items normalized into a row of 'stat' nodes`,type:r,field:`items`,canonical:`row`}),{type:`row`,items:e,...a.span===void 0?{}:{span:a.span}}}if(r===`row`||r===`col`||r===`grid`||r===`card`||r===`file-tree`||r===`timeline`||r===`breadcrumb`)r!==`file-tree`&&r!==`timeline`&&r!==`breadcrumb`&&(a.items=s(a.items,`${t}.items`));else if(r===`list`&&Array.isArray(a.items))a.items=a.items.map((e,i)=>{if(Jd(e))return o(e,`${t}.items[${i}]`);if(Array.isArray(e)&&e.length===1&&typeof e[0]==`string`)return e[0];let a=qd(e);if(a===void 0)return e;let s={...a},c=`${t}.items[${i}]`;for(let[e,t]of Object.entries(Xd)){if(!(e in s))continue;let i=t in s;i||(s[t]=s[e]),delete s[e],n.push({kind:`alias`,path:`${c}.${e}`,type:r,field:e,canonical:t,message:i?`${c}.${e} is ignored because canonical field '${t}' is present`:`${c}.${e} normalized/adopted as '${t}'`})}return!(`title`in s)&&typeof s.desc==`string`&&(s.title=s.desc,delete s.desc,n.push({kind:`alias`,path:`${c}.desc`,type:r,field:`desc`,canonical:`title`,message:`${c}.desc normalized/adopted as 'title'`})),s});else if(r===`keyvalue`&&Array.isArray(a.pairs))a.pairs.length>0&&a.pairs.every(e=>Array.isArray(e))&&(a.pairs=a.pairs.map(e=>{let t=e;return{key:t[0],value:t.length>1?t[1]:``}}));else if(r===`tabs`&&Array.isArray(a.tabs))a.tabs=a.tabs.map((e,i)=>{let a=qd(e);if(a===void 0)return e;let s={...a};if(`content`in s){let e=`${t}.tabs[${i}].content`,a=`items`in s;a||(s.items=s.content),delete s.content,n.push({kind:`alias`,path:e,message:a?`${e} is ignored because canonical field 'items' is present`:`${e} normalized/adopted as 'items'`,type:r,field:`content`,canonical:`items`})}return s.items=Array.isArray(s.items)?s.items.map((e,n)=>o(e,`${t}.tabs[${i}].items[${n}]`)):s.items===void 0?[]:[o(s.items,`${t}.tabs[${i}].items[0]`)],s});else if(r===`accordion`&&Array.isArray(a.items))a.items=a.items.map((e,n)=>{let r=qd(e);return r===void 0?e:{...r,items:Array.isArray(r.items)?r.items.map((e,r)=>o(e,`${t}.items[${n}].items[${r}]`)):r.items}});else if(r===`table`&&Array.isArray(a.details)){let e={columns:a.columns,rows:a.rows,types:a.types};a.details=a.details.map((n,r)=>!Array.isArray(n)||!$s(e,r)?n:n.map((e,n)=>o(e,`${t}.details[${r}][${n}]`)))}return a}function nf(e){let t=[];if(typeof e==`string`)try{let n=JSON.parse(e);(qd(n)!==void 0||Array.isArray(n))&&(e=n,t.push({kind:`alias`,path:`spec`,message:`double-encoded JSON string unwrapped into a spec value`}))}catch{}Array.isArray(e)&&e.length>0&&(e={items:e},t.push({kind:`alias`,path:`items`,message:`root array normalized into an items envelope`}));let n=qd(e);if(n===void 0)return{value:e,warnings:t};let r={...n};return Wd(r)?{value:tf(r,`spec`,t),warnings:t}:(Array.isArray(r.items)&&(r.items=r.items.map((e,n)=>tf(e,`items[${n}]`,t))),{value:r,warnings:t})}function rf(e){return typeof e==`object`&&e&&!Array.isArray(e)?e:void 0}function af(e){let t=rf(e);return t!==void 0&&typeof t.type==`string`}function of(e,t,n){if(!af(e))return;let r=e.type,i=zd[r];if(i===void 0)return;n(e,t,i);let a=(e,t)=>of(e,t,n);if((r===`row`||r===`col`||r===`grid`||r===`card`)&&Array.isArray(e.items))e.items.forEach((e,n)=>a(e,`${t}.items[${n}]`));else if(r===`list`&&Array.isArray(e.items))e.items.forEach((e,n)=>a(e,`${t}.items[${n}]`));else if(r===`tabs`&&Array.isArray(e.tabs))e.tabs.forEach((e,n)=>{let r=rf(e);r!==void 0&&(Array.isArray(r.items)?r.items.forEach((e,r)=>a(e,`${t}.tabs[${n}].items[${r}]`)):a(r.items,`${t}.tabs[${n}].items`))});else if(r===`accordion`&&Array.isArray(e.items))e.items.forEach((e,n)=>{let r=rf(e);r?.items!==void 0&&Array.isArray(r.items)&&r.items.forEach((e,r)=>a(e,`${t}.items[${n}].items[${r}]`))});else if(r===`table`&&Array.isArray(e.details)){let n={columns:e.columns,rows:e.rows,types:e.types};e.details.forEach((e,r)=>{Array.isArray(e)&&$s(n,r)&&e.forEach((e,n)=>a(e,`${t}.details[${r}][${n}]`))})}}function sf(e,t,n,r){e.push({kind:`unknown-field`,path:`${t}.${n}`,message:`${t}.${n}: unknown field for '${r}'`,type:r,field:n})}function cf(e,t,n,r,i){let a=rf(e);if(a!==void 0){for(let e of Object.keys(a))e in n.fields||sf(i,t,e,r);for(let[e,o]of Object.entries(n.nested)){let n=a[e];Array.isArray(n)?n.forEach((n,a)=>cf(n,`${t}.${e}[${a}]`,o,r,i)):n!==void 0&&cf(n,`${t}.${e}`,o,r,i)}}}function lf(e,t,n,r){for(let[i,a]of Object.entries(n.nested)){let n=e[i];Array.isArray(n)?n.forEach((n,o)=>cf(n,`${t}.${i}[${o}]`,a,e.type,r)):n!==void 0&&cf(n,`${t}.${i}`,a,e.type,r)}}function uf(e){let t=[],n=rf(e);if(n===void 0)return t;let r=(e,n,r)=>{for(let i of Object.keys(e))i===`type`||i in r.fields||sf(t,n,i,e.type);lf(e,n,r,t),e.type===`list`&&Array.isArray(e.items)&&e.items.forEach((e,r)=>{if(af(e))return;let i=rf(e);if(i!==void 0)for(let e of Object.keys(i)){if(e===`title`||e===`desc`)continue;let i=`${n}.items[${r}]`;t.push({kind:`unknown-field`,path:`${i}.${e}`,message:`${i}.${e}: list items render 'title' and 'desc' only — '${e}' is dropped`,type:`list`,field:e})}})};if(Array.isArray(n.items)&&!Wd(n)){for(let e of Object.keys(n))e in Rd.fields||sf(t,`spec`,e,`spec`);n.items.forEach((e,t)=>of(e,`items[${t}]`,r))}else if(typeof n.type==`string`)of(n,`spec`,r);else for(let e of Object.keys(n))e in Rd.fields||sf(t,`spec`,e,`spec`);return t}function df(e,t){switch(t){case`string`:return typeof e==`string`;case`string-or-null`:return e===null||typeof e==`string`;case`number`:return typeof e==`number`&&Number.isFinite(e);case`boolean`:return typeof e==`boolean`;case`nodes`:return Array.isArray(e);case`array`:return Array.isArray(e);case`object`:return K(e)!==void 0;case`unknown`:return!0}}function ff(e){switch(e){case`string-or-null`:return`a string or null`;case`number`:return`a finite number`;case`boolean`:return`a boolean`;case`nodes`:case`array`:return`an array`;case`object`:return`an object`;case`unknown`:return`a value`;default:return`a string`}}function pf(e,t,n){return e.some(e=>e.startsWith(`${t}.${n} `)||e.includes(`'${n}'`)||e.includes(`requires ${n}`))}function mf(e,t,n,r,i=[]){for(let[a,o]of Object.entries(n.fields))i.includes(a)||e[a]===void 0||!df(e[a],o)&&!pf(r,t,a)&&r.push(`${t}.${a} must be ${ff(o)}`);for(let[a,o]of Object.entries(n.enums))i.includes(a)||e[a]===void 0||!df(e[a],`string`)||!o.includes(e[a])&&!pf(r,t,a)&&r.push(`${t}.${a} must be one of ${o.join(`, `)}`)}function hf(e,t,n,r){let i=K(e);if(i===void 0){r.push(`${t} must be an object`);return}for(let e of n.required){let a=n.fields[e];i[e]===void 0?pf(r,t,e)||r.push(`${t}: requires ${e}${a===void 0?``:` (${ff(a)})`}`):a!==void 0&&!df(i[e],a)&&(pf(r,t,e)||r.push(`${t}.${e} must be ${ff(a)}`))}for(let[e,a]of Object.entries(n.fields))i[e]!==void 0&&!df(i[e],a)&&(pf(r,t,e)||r.push(`${t}.${e} must be ${ff(a)}`));for(let[e,a]of Object.entries(n.enums))i[e]!==void 0&&typeof i[e]==`string`&&!a.includes(i[e])&&(pf(r,t,e)||r.push(`${t}.${e} must be one of ${a.join(`, `)}`));for(let[e,a]of Object.entries(n.nested)){let n=i[e];n!==void 0&&(Array.isArray(n)?n.forEach((n,i)=>hf(n,`${t}.${e}[${i}]`,a,r)):hf(n,`${t}.${e}`,a,r))}}function gf(e,t,n,r){for(let[i,a]of Object.entries(n.nested)){let n=e[i];n!==void 0&&(Array.isArray(n)?n.forEach((e,n)=>hf(e,`${t}.${i}[${n}]`,a,r)):hf(n,`${t}.${i}`,a,r))}}function _f(e){let t=e.rows===void 0?e.data:e.rows;return!Array.isArray(t)||t.length===0?!1:Array.isArray(t[0])}function vf(e,t,n,r){let i=String(e.type),a=e=>pf(r,t,e),o=i===`table`&&_f(e)?`columns`:null;for(let s of n.required){let c=n.fields[s];if(c===void 0||e[s]===void 0){s!==o&&!a(s)&&r.push(`${t}: type '${i}' requires ${s}${c===void 0?``:` (${ff(c)})`}`);continue}!df(e[s],c)&&!a(s)&&r.push(`${t}.${s} must be ${ff(c)}`)}mf(e,t,n,r,[`type`]);for(let a of n.oneOfRequired)!a.some(t=>e[t]!==void 0)&&!r.some(e=>e.includes(`requires ${a.join(` or `)}`))&&r.push(`${t}: type '${i}' requires one of ${a.join(` or `)}`);for(let o of n.conditionalRequired)if(e[o.when.field]===o.when.equals)for(let n of o.required)e[n]===void 0&&!a(n)&&r.push(`${t}: type '${i}' requires ${n}${o.message===void 0?``:` (${o.message})`}`);gf(e,t,n,r)}function yf(e,t,n){if(!Array.isArray(e))return[];let r=[];for(let i of e){if(t.remaining<=0)break;--t.remaining;let e=Sf(i,t,n);e!==null&&r.push(e)}return r}function bf(e){if(!Array.isArray(e))return;let t=[];for(let n of e.slice(0,12)){let e=co(n);e!==void 0&&t.push(e)}return t.length>0?t:void 0}function xf(e){if(!Array.isArray(e))return;let t=[];for(let n of e.slice(0,60)){let e=typeof n==`number`?n:Number(n);if(!Number.isFinite(e))return;t.push(e)}return t.length>=2?t:void 0}function Sf(e,t,n){let r=Cf(e,t,n);if(r===null)return null;let i=po(K(e)?.span,2,12);return i===void 0?r:{...r,span:i}}function Cf(e,t,n){if(n>X.maxDepth)return null;let r=K(e);if(r===void 0)return null;let i=r.type;if(typeof i!=`string`)return null;switch(i){case`text`:{let e=G(r.content,X.maxString)??G(r.text,X.maxString);return e===void 0?null:{type:`text`,content:e,...q(`size`,mo(r.size,ed)),...q(`center`,r.center===!0||void 0)}}case`row`:return{type:`row`,items:yf(r.items,t,n+1),...q(`wrap`,r.wrap===!0||void 0),...q(`spacer`,r.spacer===!0||void 0)};case`col`:return{type:`col`,items:yf(r.items,t,n+1),...q(`gap`,fo(r.gap,0,96))};case`grid`:return{type:`grid`,cols:po(r.cols,1,X.maxGridCols)??1,items:yf(r.items,t,n+1)};case`card`:return{type:`card`,items:yf(r.items,t,n+1),...q(`title`,G(r.title,X.maxString)),...q(`tone`,mo(r.tone,vd)),...q(`accent`,co(r.accent))};case`button`:{let e=G(r.label,X.maxString);return e===void 0?null:{type:`button`,label:e,...q(`tone`,mo(r.tone,td)),...q(`full`,r.full===!0||void 0),...q(`small`,r.small===!0||void 0),...q(`icon`,G(r.icon,64)),...q(`action`,G(r.action,200))}}case`input`:return{type:`input`,...q(`label`,G(r.label,X.maxString)),...q(`placeholder`,G(r.placeholder,X.maxString)),...q(`value`,G(r.value,X.maxString)),...q(`inputType`,mo(r.inputType,rd)),...q(`action`,G(r.action,200)),...q(`id`,G(r.id,200))};case`select`:{let e=wf(r.options,X.maxOptions,X.maxString);return e===void 0?null:{type:`select`,options:e,...q(`label`,G(r.label,X.maxString)),...q(`action`,G(r.action,200)),...q(`selected`,po(r.selected,0,e.length-1)),...q(`id`,G(r.id,200))}}case`checkbox`:{let e=G(r.label,X.maxString);return e===void 0?null:{type:`checkbox`,label:e,...q(`checked`,r.checked===!0||void 0),...q(`action`,G(r.action,200)),...q(`group`,G(r.group,200))}}case`link`:{let e=G(r.label,X.maxString);return e===void 0?null:{type:`link`,label:e,...q(`href`,lo(r.href))}}case`image`:{let e=uo(r.src);return e===void 0?null:{type:`image`,src:e,...q(`alt`,G(r.alt,X.maxString))}}case`audio`:{let e=uo(r.src);return e===void 0?null:{type:`audio`,src:e,...q(`alt`,G(r.alt,X.maxString)),...q(`loop`,r.loop===!0||void 0)}}case`video`:{let e=uo(r.src);return e===void 0?null:{type:`video`,src:e,...q(`alt`,G(r.alt,X.maxString)),...q(`poster`,uo(r.poster)),...q(`loop`,r.loop===!0||void 0),...q(`muted`,r.muted===!0||void 0),...q(`aspectRatio`,mo(r.aspectRatio,sd))}}case`badge`:{let e=G(r.label,X.maxString)??G(r.text,X.maxString)??G(r.value,X.maxString);return e===void 0?null:{type:`badge`,label:e,...q(`tone`,mo(r.tone,nd)),...q(`icon`,G(r.icon,64))}}case`hero`:{let e=G(r.title,X.maxString);return e===void 0?null:{type:`hero`,title:e,...q(`subtitle`,G(r.subtitle,X.maxString)),...q(`value`,G(r.value,128)),...q(`label`,G(r.label,X.maxString)),...q(`delta`,G(r.delta,64)),...q(`spark`,xf(r.spark)),...q(`tone`,mo(r.tone,yd))}}case`stat`:{let e=G(r.label,X.maxString),t=G(r.value,128);return e===void 0||t===void 0?null:{type:`stat`,label:e,value:t,...q(`delta`,G(r.delta,64)),...q(`spark`,xf(r.spark)),...q(`size`,r.size===`hero`?`hero`:void 0)}}case`progress`:{let e=fo(r.value,0,100);return e===void 0?null:{type:`progress`,value:e,...q(`label`,G(r.label,X.maxString)),...q(`valueLabel`,G(r.valueLabel,64)),...q(`variant`,mo(r.variant,_d)),...q(`target`,fo(r.target,0,100))}}case`divider`:return{type:`divider`};case`spacer`:return{type:`spacer`};case`avatar`:{let e=G(r.name,64);return e===void 0?null:{type:`avatar`,name:e,...q(`color`,co(r.color))}}case`list`:{let e=Tf(r.items,X.maxListItems,t,n+1);return e===void 0?null:{type:`list`,items:e,...q(`filter`,G(r.filter,64))}}case`table`:{let e=Xs(r);if(e===null)return null;let{columns:i,rows:a}=e,o=Array.isArray(r.types)?r.types:void 0,s=o===void 0?void 0:i.map((e,t)=>{let n=o[t];return typeof n==`string`&&bd.includes(n)?n:`text`}),c=Array.isArray(r.details)?r.details:void 0,l=c===void 0?void 0:a.map((e,r)=>{if(!$s({columns:i,rows:a,types:s},r))return null;let o=yf(c[r],t,n+1);return o.length===0?null:o});return{type:`table`,columns:i,rows:a,...q(`types`,s),...q(`total`,r.total===!0||void 0),...q(`export`,r.export===!0||void 0),...q(`filter`,G(r.filter,64)),...q(`filterColumn`,po(r.filterColumn,0,X.maxTableCols-1)),...q(`sortField`,G(r.sortField,64)),...q(`details`,l!==void 0&&l.some(e=>e!==null)?l:void 0)}}case`chart`:{let e=Ef(r.data,X.maxChartPoints),t=Array.isArray(r.series)?Df(r.series,X.maxPlotSeries,X.maxChartPoints):void 0;return e===void 0&&t===void 0?null:{type:`chart`,data:e??[],...q(`kind`,mo(r.kind,ad)),...q(`series`,t),...q(`horizontal`,r.horizontal===!0||void 0),...q(`stacked`,r.stacked===!0||void 0),...q(`filter`,G(r.filter,64)),...q(`palette`,bf(r.palette))}}case`tabs`:{let e=Of(r.tabs,t,n);return e===void 0?null:{type:`tabs`,tabs:e}}case`plot`:{let e=kf(r.series,X.maxPlotSeries);return e===void 0?null:{type:`plot`,series:e,...q(`xMin`,fo(r.xMin,-1e6,1e6)),...q(`xMax`,fo(r.xMax,-1e6,1e6)),...q(`yMin`,fo(r.yMin,-1e9,1e9)),...q(`yMax`,fo(r.yMax,-1e9,1e9)),...q(`title`,G(r.title,X.maxString))}}case`callout`:{let e=G(r.content,X.maxString);return e===void 0?null:{type:`callout`,content:e,...q(`tone`,mo(r.tone,id)),...q(`title`,G(r.title,X.maxString))}}case`steps`:{let e=Af(r.steps);return e===void 0?null:{type:`steps`,steps:e,...q(`current`,po(r.current,0,e.length))}}case`keyvalue`:{let e=jf(r.pairs,X.maxKeyValuePairs);return e===void 0?null:{type:`keyvalue`,pairs:e}}case`diff`:{let e=Mf(r.diffs);return e===void 0?null:{type:`diff`,diffs:e}}case`json`:return`value`in r?{type:`json`,value:r.value}:null;case`code`:{let e=G(r.code,X.maxCode);return e===void 0?null:{type:`code`,code:e,...q(`lang`,G(r.lang,64))}}case`radio`:{let e=wf(r.options,X.maxOptions,X.maxString);return e===void 0?null:{type:`radio`,options:e,...q(`label`,G(r.label,X.maxString)),...q(`selected`,po(r.selected,0,e.length-1)),...q(`action`,G(r.action,200)),...q(`group`,G(r.group,200)),...q(`answer`,typeof r.answer==`number`&&Number.isFinite(r.answer)&&r.answer>=0&&r.answer<e.length?Math.trunc(r.answer):typeof r.answer==`string`?r.answer.slice(0,512):void 0),...q(`explanation`,G(r.explanation,X.maxString))}}case`submit`:{let e=G(r.label,X.maxString),t=G(r.action,200);return e===void 0?null:{type:`submit`,label:e,...q(`action`,t),...q(`resetAction`,G(r.resetAction,200)),...q(`groups`,wf(r.groups,X.maxOptions,200))}}case`switch`:{let e=G(r.label,X.maxString);return e===void 0?null:{type:`switch`,label:e,...q(`checked`,r.checked===!0||void 0),...q(`action`,G(r.action,200))}}case`slider`:{let e=fo(r.min,-1e9,1e9)??0,t=fo(r.max,-1e9,1e9)??100,n=Math.min(e,t),i=Math.max(e,t),a=fo(r.step,1e-9,Math.max(i-n,1e-9)),o=fo(r.value,n,i)??n;return{type:`slider`,min:n,max:i,...q(`step`,a),value:o,...q(`label`,G(r.label,X.maxString)),...q(`action`,G(r.action,200)),...q(`id`,G(r.id,200))}}case`textarea`:return{type:`textarea`,...q(`label`,G(r.label,X.maxString)),...q(`placeholder`,G(r.placeholder,X.maxString)),...q(`rows`,po(r.rows,1,30)),...q(`value`,G(r.value,X.maxString)),...q(`action`,G(r.action,200)),...q(`id`,G(r.id,200))};case`accordion`:{let e=Nf(r.items,t,n);return e===void 0?null:{type:`accordion`,items:e}}case`copy`:{let e=G(r.text,X.maxCode);return e===void 0?null:{type:`copy`,text:e,...q(`label`,G(r.label,128))}}case`svg`:{let e=G(r.code,X.maxCode);return e===void 0?null:{type:`svg`,code:e,...q(`title`,G(r.title,X.maxString)),...q(`height`,po(r.height,100,800))}}case`mermaid`:{let e=G(r.code,X.maxMermaid);return e===void 0?null:{type:`mermaid`,code:e}}case`scene3d`:{let e=Pf(r.meshes);return e===void 0?null:{type:`scene3d`,meshes:e,...q(`title`,G(r.title,X.maxString)),...q(`ambient`,fo(r.ambient,0,2)),...q(`background`,co(r.background))}}case`diagram`:return Vf(r);case`timeline`:{let e=Hf(r.items,X.maxTimelineItems);return e===void 0?null:{type:`timeline`,items:e}}case`file-tree`:{let e=Uf(r.items,X.maxListItems);return e===void 0?null:{type:`file-tree`,items:e}}case`breadcrumb`:{let e=wf(r.items,X.maxBreadcrumbItems,X.maxString);return e===void 0?null:{type:`breadcrumb`,items:e}}case`quiz`:{let e=G(r.question,X.maxString),t=Gf(r.options,r.answer);return e===void 0||t===void 0?null:{type:`quiz`,question:e,options:t,...q(`explanation`,G(r.explanation,X.maxString)),...q(`id`,G(r.id,200)),...q(`action`,G(r.action,200))}}case`echart`:{let e=r.data===void 0?void 0:Ef(r.data,X.maxChartPoints),t=r.series!==void 0&&Array.isArray(r.series)?Df(r.series,X.maxPlotSeries,X.maxChartPoints):void 0,n=Array.isArray(r.links)?r.links.slice(0,X.maxChartPoints).flatMap(e=>{let t=K(e),n=t===void 0?void 0:G(t.from,64),r=t===void 0?void 0:G(t.to,64);return n===void 0||r===void 0?[]:[{from:n,to:r,...q(`value`,fo(t.value,0,1e9))}]}):void 0,i=r.option===void 0?void 0:qf(r.option,0,{count:X.maxEChartOptionNodes}),a=i===void 0||typeof i!=`object`||!i||Array.isArray(i)?void 0:i;return a===void 0&&e===void 0&&t===void 0&&(n===void 0||n.length===0)?null:{type:`echart`,...q(`title`,G(r.title,X.maxString)),...q(`height`,po(r.height,100,800)),...q(`preset`,mo(r.preset,hd)),...q(`data`,e),...q(`series`,t),...q(`links`,n!==void 0&&n.length>0?n:void 0),...q(`palette`,bf(r.palette)),...q(`option`,a)}}default:return e}}function wf(e,t,n){if(!Array.isArray(e))return;let r=[];for(let i of e){if(r.length>=t)break;if(typeof i==`string`)r.push(i.slice(0,n));else if(typeof i==`object`&&i){let e=i,t=typeof e.label==`string`?e.label:typeof e.value==`string`?e.value:typeof e.title==`string`?e.title:JSON.stringify(i);r.push(t.slice(0,n))}}return r}function Tf(e,t,n,r){if(!Array.isArray(e))return;let i=[];for(let a of e){if(i.length>=t)break;if(typeof a==`string`){i.push(a.slice(0,X.maxString));continue}let e=K(a);if(e!==void 0&&typeof e.type==`string`){if(n.remaining<=0)break;--n.remaining;let t=Sf(e,n,r);t!==null&&i.push(t);continue}let o=e===void 0?void 0:G(e.title,X.maxString);o!==void 0&&i.push({title:o,...q(`desc`,G(e?.desc,X.maxString))})}return i}function Ef(e,t){if(!Array.isArray(e))return;let n=[];for(let r of e){if(n.length>=t)break;let e=K(r),i=e===void 0?void 0:G(e.label,128),a=e===void 0?void 0:fo(e.value,-0xe8d4a51000,0xe8d4a51000);i!==void 0&&a!==void 0&&n.push({label:i,value:a,...q(`color`,e===void 0?void 0:co(e.color))})}return n}function Df(e,t,n){if(!Array.isArray(e))return;let r=[];for(let i of e){if(r.length>=t)break;let e=K(i),a=e===void 0?void 0:G(e.label,128),o=e===void 0?void 0:Ef(e.data,n);a!==void 0&&o!==void 0&&r.push({label:a,data:o,...q(`color`,e===void 0?void 0:co(e.color))})}return r}function Of(e,t,n){if(!Array.isArray(e))return;let r=[];for(let i of e){if(r.length>=X.maxTabs)break;let e=K(i),a=e===void 0?void 0:G(e.label,128);if(a===void 0||e===void 0)continue;let o=e.items===void 0?e.content===void 0?void 0:Array.isArray(e.content)?e.content:[e.content]:e.items;r.push({label:a,items:yf(o,t,n+1)})}return r}function kf(e,t){if(!Array.isArray(e))return;let n=[];for(let r of e){if(n.length>=t)break;let e=K(r),i=e===void 0?void 0:G(e.expr,512);if(i===void 0||e===void 0)continue;let a=[];if(Array.isArray(e.params))for(let t of e.params){if(a.length>=X.maxPlotParams)break;let e=K(t),n=e===void 0?void 0:G(e.name,64),r=e===void 0?void 0:fo(e.value,-1e9,1e9);n!==void 0&&r!==void 0&&a.push({name:n,value:r,...q(`min`,e===void 0?void 0:fo(e.min,-1e9,1e9)),...q(`max`,e===void 0?void 0:fo(e.max,-1e9,1e9)),...q(`step`,e===void 0?void 0:fo(e.step,1e-9,1e9)),...q(`animateTo`,e===void 0?void 0:fo(e.animateTo,-1e9,1e9)),...q(`durationMs`,e===void 0?void 0:fo(e.durationMs,1,12e4)),...q(`loop`,e===void 0?void 0:e.loop===!0||void 0)})}n.push({expr:i,...q(`label`,G(e.label,128)),...q(`color`,co(e.color)),...q(`kind`,mo(e.kind,od)),...q(`params`,a.length>0?a:void 0)})}return n}function Af(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(t.length>=X.maxSteps)break;let e=K(n),r=e===void 0?void 0:G(e.title,256);r!==void 0&&t.push({title:r,...q(`desc`,e===void 0?void 0:G(e.desc,X.maxString))})}return t}function jf(e,t){if(!Array.isArray(e))return;let n=[];for(let r of e){if(n.length>=t)break;let e=K(r),i=e===void 0?void 0:G(e.key,256),a=e===void 0?void 0:G(e.value,X.maxString);i!==void 0&&a!==void 0&&n.push({key:i,value:a})}return n}function Mf(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(t.length>=24)break;let e=K(n),r=e===void 0?void 0:G(e.path,1024),i=e===void 0?void 0:G(e.newText,2e4);if(r===void 0||i===void 0)continue;let a=e===void 0?void 0:e.oldText;t.push({path:r,newText:i,oldText:a===null||typeof a!=`string`?null:a.slice(0,2e4)})}return t}function Nf(e,t,n){if(!Array.isArray(e))return;let r=[];for(let i of e){if(r.length>=X.maxAccordionItems)break;let e=K(i),a=e===void 0?void 0:G(e.title,256);a!==void 0&&e!==void 0&&r.push({title:a,items:yf(e.items,t,n+1)})}return r}function Pf(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(t.length>=X.maxMeshes)break;let e=K(n),r=e===void 0?void 0:mo(e.shape,cd);if(r===void 0)continue;let i=e===void 0?void 0:fo(e.scale,-1e6,1e6)??Ff(e.scale),a=e===void 0?void 0:fo(e.size,-1e6,1e6)??Ff(e.size);t.push({shape:r,...q(`color`,e===void 0?void 0:co(e.color)),...q(`position`,e===void 0?void 0:Ff(e.position)),...q(`rotation`,e===void 0?void 0:Ff(e.rotation)),...q(`scale`,i),...q(`size`,a)})}return t}function Ff(e){if(!Array.isArray(e)||e.length!==3)return;let[t,n,r]=e;if(!(typeof t!=`number`||!Number.isFinite(t)||typeof n!=`number`||!Number.isFinite(n)||typeof r!=`number`||!Number.isFinite(r)))return[Math.min(1e6,Math.max(-1e6,t)),Math.min(1e6,Math.max(-1e6,n)),Math.min(1e6,Math.max(-1e6,r))]}function If(e,t,n){return Math.min(n,Math.max(t,Math.round(e/4)*4))}function Lf(e){if(!Array.isArray(e))return;let t=[],n=new Set;for(let r of e){if(t.length>=X.maxDiagramNodes)break;let e=K(r);if(e===void 0)continue;let i=G(e.id,128),a=G(e.label,X.maxString);if(i===void 0||a===void 0||n.has(i))continue;n.add(i);let o=mo(e.type,dd),s=e.x===void 0?void 0:If(fo(e.x,-1e6,1e6)??0,0,1e6),c=e.y===void 0?void 0:If(fo(e.y,-1e6,1e6)??0,0,1e6),l=e.w===void 0?void 0:If(fo(e.w,-1e6,1e6)??96,40,2e3),u=e.h===void 0?void 0:If(fo(e.h,-1e6,1e6)??48,24,1200);t.push({id:i,label:a,...q(`sub`,G(e.sub,256)),...q(`type`,o),...q(`x`,s),...q(`y`,c),...q(`w`,l),...q(`h`,u),...q(`tag`,G(e.tag,32))})}return t}function Rf(e){if(e===void 0)return[];if(!Array.isArray(e))return;let t=[];for(let n of e){if(t.length>=X.maxDiagramEdges)break;let e=K(n);if(e===void 0)continue;let r=G(e.from,128),i=G(e.to,128);r!==void 0&&i!==void 0&&t.push({from:r,to:i,...q(`label`,G(e.label,X.maxDiagramLabel)),...q(`kind`,mo(e.kind,pd)),...q(`route`,mo(e.route,md))})}return t}function zf(e){let t=K(e);if(t===void 0)return;let n={};for(let e of[`paper`,`paper-2`,`ink`,`muted`,`soft`,`rule`,`accent`,`accent-tint`,`link`]){let r=co(t[e]);r!==void 0&&(n[e]=r)}return Object.keys(n).length===0?void 0:n}function Bf(e){if(e===void 0)return[];if(!Array.isArray(e))return;let t=[];for(let n of e){if(t.length>=X.maxDiagramZones)break;let e=K(n);if(e===void 0)continue;let r=G(e.label,64);r!==void 0&&t.push({label:r,...q(`x`,e.x===void 0?void 0:If(fo(e.x,-1e6,1e6)??0,0,1e6)),...q(`y`,e.y===void 0?void 0:If(fo(e.y,-1e6,1e6)??0,0,1e6)),...q(`w`,e.w===void 0?void 0:If(fo(e.w,-1e6,1e6)??100,40,2e3)),...q(`h`,e.h===void 0?void 0:If(fo(e.h,-1e6,1e6)??100,40,1200))})}return t}function Vf(e){let t=K(e);if(t===void 0)return null;let n=mo(t.kind,ud);if(n===void 0)return null;let r=Lf(t.nodes);if(r===void 0)return null;let i=Rf(t.edges);if(i===void 0)return null;let a=Bf(t.zones);return a===void 0?null:{type:`diagram`,kind:n,nodes:r,edges:i,...q(`zones`,a.length>0?a:void 0),...q(`variant`,mo(t.variant,fd)),...q(`title`,G(t.title,256)),...q(`theme`,zf(t.theme))}}function Hf(e,t){if(!Array.isArray(e))return;let n=[];for(let r of e){if(n.length>=t)break;let e=K(r),i=e===void 0?void 0:G(e.title,256);i!==void 0&&n.push({title:i,...q(`desc`,e===void 0?void 0:G(e.desc,X.maxString)),...q(`time`,e===void 0?void 0:G(e.time,128))})}return n}function Uf(e,t){return Wf(e,t,X.maxTreeDepth)}function Wf(e,t,n){if(!Array.isArray(e))return;let r=[];for(let i of e){if(r.length>=t)break;let e=K(i),a=e===void 0?void 0:G(e.name,256);if(a===void 0)continue;let o=e!==void 0&&n>0&&Array.isArray(e.children)?Wf(e.children,t,n-1):void 0;r.push({name:a,...q(`type`,e===void 0?void 0:mo(e.type,ld)),...q(`children`,o)})}return r}function Gf(e,t){if(!Array.isArray(e))return;let n=[];for(let t of e){if(n.length>=X.maxQuizOptions)break;let e=K(t),r=typeof t==`string`?G(t,512):e===void 0?void 0:G(e.label,512);r!==void 0&&n.push({label:r,...q(`correct`,e===void 0?void 0:e.correct===!0||void 0),...q(`feedback`,e===void 0?void 0:G(e.feedback,X.maxString))})}if(n.length===0)return;if(n.some(e=>e.correct===!0))return n;let r=typeof t==`number`&&Number.isFinite(t)?Math.trunc(t):typeof t==`string`?n.findIndex(e=>e.label===t.slice(0,512)):-1;return r<0||r>=n.length?n:n.map((e,t)=>t===r?{...e,correct:!0}:e)}let Kf=/<(?:script|img|svg|iframe|video|audio|object|embed|source)\b|on[a-z]+\s*=|javascript:/i;function qf(e,t,n){if(n.count<=0||(--n.count,t>X.maxEChartOptionDepth))return;if(typeof e==`string`){let t=e.slice(0,X.maxString);return t.toLowerCase().includes(`url(`)||Kf.test(t)?void 0:t}if(typeof e==`number`&&Number.isFinite(e)||typeof e==`boolean`)return e;if(e===null)return null;if(Array.isArray(e)){let r=Math.min(e.length,X.maxEChartArrayLen),i=[];for(let a=0;a<r;a++){let r=qf(e[a],t+1,n);r!==void 0&&i.push(r)}return i.length>0||e.length===0?i:void 0}let r=K(e);if(r===void 0)return;let i={};for(let[e,a]of Object.entries(r)){let r=qf(a,t+1,n);r!==void 0&&(e===`tooltip`&&typeof r==`object`&&r&&!Array.isArray(r)&&(r.renderMode=`richText`),i[e]=r)}return Object.keys(i).length>0||Object.keys(r).length===0?i:void 0}function Jf(e){let t=K(e);if(t===void 0)return null;if(Wd(e)){let t=Gd(e);return t===null?null:Jf(t)}if(!Array.isArray(t.items))return null;let n={remaining:X.maxNodes};return{...q(`title`,G(t.title,X.maxString)),...q(`gap`,fo(t.gap,0,96)),...q(`panel`,t.panel===!0||void 0),...q(`append`,t.append===!0||void 0),items:yf(t.items,n,0)}}function Yf(e){return Jf(nf(e).value)}function Xf(e,t=1/0){let n=0,r=e=>{if(Array.isArray(e))for(let i of e){if(n>=t)return;n+=1;let e=K(i);if(e!==void 0){if(e.type===`tabs`&&Array.isArray(e.tabs))for(let i of e.tabs){if(n>=t)return;let e=K(i);e!==void 0&&r(e.items)}else if(e.type===`accordion`&&Array.isArray(e.items))for(let i of e.items){if(n>=t)return;let e=K(i);e!==void 0&&r(e.items)}else if((e.type===`row`||e.type===`col`||e.type===`grid`||e.type===`card`)&&Array.isArray(e.items))r(e.items);else if(e.type!==`file-tree`){if(e.type===`list`&&Array.isArray(e.items))for(let i of e.items){if(n>=t)return;let e=K(i);e!==void 0&&typeof e.type==`string`&&r([e])}else if(e.type===`table`&&Array.isArray(e.details)){let i=Zs(e).length;for(let a=0;a<Math.min(e.details.length,i);a++){if(n>=t)return;let i=e.details[a];Array.isArray(i)&&$s(e,a)&&r(i)}}}}}},i=K(e);return r(i===void 0?[]:i.items),n}let Zf=Bd;function Qf(e,t,n){let r=0,i=e=>{let t=K(e);return t!==void 0&&typeof t.type==`string`&&Zf.has(t.type)};function a(e,n){if(Array.isArray(e)){for(let i=0;i<e.length;i++)if(o(e[i],`${n}[${i}]`),r>=t)return}}function o(e,c){if(r>=t||!i(e))return;let l=K(e);if(l!==void 0){if(r+=1,n(l,c),l.type===`tabs`&&Array.isArray(l.tabs))for(let e=0;e<l.tabs.length;e++)s(l.tabs[e],`${c}.tabs[${e}]`);else if(l.type===`accordion`&&Array.isArray(l.items))for(let e=0;e<l.items.length;e++)s(l.items[e],`${c}.items[${e}]`);else if((l.type===`row`||l.type===`col`||l.type===`grid`||l.type===`card`)&&Array.isArray(l.items))a(l.items,`${c}.items`);else if(l.type===`list`&&Array.isArray(l.items))for(let e=0;e<l.items.length;e++)o(l.items[e],`${c}.items[${e}]`);else if(l.type===`table`&&Array.isArray(l.details)){let e=Zs(l).length;for(let t=0;t<Math.min(l.details.length,e);t++)Array.isArray(l.details[t])&&$s(l,t)&&a(l.details[t],`${c}.details[${t}]`)}}}function s(e,t){let n=K(e);if(n===void 0)return;let r=n.items===void 0?n.content:n.items;Array.isArray(r)?a(r,`${t}.items`):o(r,`${t}.items`)}let c=K(e);return c===void 0||(Wd(c)&&i(e)?o(e,`spec`):a(c.items,`items`)),r}function $f(e,t=1/0){return Qf(e,t,()=>{})}function ep(e,t=1/0){return $f(e,t)}function tp(e){let t=[],n=K(e);if(n===void 0)return{ok:!1,errors:[`spec root must be an object`]};if(Wd(e)){let t=Gd(e);return t===null?{ok:!1,errors:[`spec.items must be an array`]}:tp(t)}if(!Array.isArray(n.items))return{ok:!1,errors:[`spec.items must be an array`]};mf(n,`spec`,Rd,t,[`items`]);let r=0,i=!1,a=(e,n,o)=>{if(!i){if(!Array.isArray(e)){t.push(`${o} must be an array`);return}for(let s=0;s<e.length;s++){if(i||r>=X.maxNodes){i||=(t.push(`spec exceeds ${X.maxNodes} nodes; tail elided`),!0);return}r+=1;let c=`${o}[${s}]`;mp(e[s],n,c,t,a)}}};a(n.items,0,`items`),t.length===0&&t.push(...Fc(n).diagnostics);let o=[...new Set(t)];return{ok:o.length===0,errors:o}}function np(e){let t=nf(e),n=Jf(t.value),r=tp(t.value),i=$f(t.value,X.maxNodes+1),a=n===null?0:ep(n),o=n===null?0:Xf(n),s=r.errors.filter(e=>!e.includes(`: unknown type `));return n!==null&&s.length===0&&s.push(...Fc(n).diagnostics),i>a&&s.push(`repair dropped ${i-a} declared native node(s): declared ${i}, rendered ${a}`),{value:t.value,normalized:t.value,repaired:n,spec:n,errors:[...new Set(s)],warnings:[...t.warnings,...uf(t.value)],declaredCount:i,renderedCount:o,declaredNativeCount:i,renderedNativeCount:a,renderedTotalCount:o}}function rp(e){return e.errors.length>0&&e.errors.every(e=>e.startsWith(`spec exceeds `)||e.startsWith(`repair dropped `))&&e.renderedNativeCount===X.maxNodes&&e.declaredNativeCount===X.maxNodes+1}function ip(e){return e.spec!==null&&(e.errors.length===0||rp(e))}let ap=/^(items\[\d+\](?:\.(?:items\[\d+\]|tabs\[\d+\]\.items\[\d+\]|details\[\d+\](?:\[\d+\])?))*)/;function op(e){let t=ap.exec(e);return t===null?null:t[1]??null}function sp(e,t){let n=[...t.matchAll(/(?:^|\.)(items|tabs|details)\[(\d+)\]|\[(\d+)\]/g)];if(n.length===0||n[n.length-1][1]===`tabs`)return;let r=e;for(let e=0;e<n.length;e++){let t=n[e],i=t[1]===void 0?r:K(r)?.[t[1]],a=Number(t[2]??t[3]);if(!Array.isArray(i)||a>=i.length)return;if(e===n.length-1)return{array:i,index:a,preserveIndex:t[1]===`details`};if(r=i[a],r===void 0)return}}function cp(e){try{return K(JSON.parse(JSON.stringify(e)))??null}catch{return null}}function lp(e){if(ip(e))return e.spec;if(e.spec===null)return null;let t=K(e.value);if(t===void 0)return null;let n=new Set,r=new Set;for(let t of e.errors){if(t.startsWith(`spec exceeds `))continue;let e=op(t);e!==null&&(t===`${e}.details must not contain more entries than rows`?r.add(e):n.add(e))}if(n.size===0&&r.size===0)return null;let i=cp(Wd(t)?Gd(t):t);if(i===null)return null;let a=[...n].map(e=>sp(i,e)).filter(e=>e!==void 0),o=[...r].map(e=>sp(i,e)).filter(e=>e!==void 0);for(let{array:e,index:t}of o){let n=K(e[t]);n?.type===`table`&&Array.isArray(n.details)&&(n.details.length=Math.min(n.details.length,Zs(n).length))}let s=new Map;for(let{array:e,index:t,preserveIndex:n}of a){if(n){e[t]=null;continue}let r=s.get(e);r===void 0?s.set(e,[t]):r.push(t)}for(let[e,t]of s){t.sort((e,t)=>t-e);for(let n of t)e.splice(n,1)}let c=np(i);return!ip(c)||c.renderedNativeCount===0?null:c.spec}function up(e,t,n){if(Array.isArray(e))for(let r=0;r<e.length;r++){let i=K(e[r]),a=`${t}[${r}]`;if(i===void 0){n.push(`${a} must be an object`);continue}typeof i.label!=`string`&&n.push(`${a}.label must be a string`),(typeof i.value!=`number`||!Number.isFinite(i.value))&&n.push(`${a}.value must be a finite number`),i.color!==void 0&&typeof i.color!=`string`&&n.push(`${a}.color must be a string`)}}function dp(e,t,n){if(Array.isArray(e))for(let r=0;r<e.length;r++){let i=K(e[r]),a=`${t}[${r}]`;if(i===void 0){n.push(`${a} must be an object`);continue}typeof i.label!=`string`&&n.push(`${a}.label must be a string`),i.color!==void 0&&typeof i.color!=`string`&&n.push(`${a}.color must be a string`),Array.isArray(i.data)||n.push(`${a}.data must be an array`),up(i.data,`${a}.data`,n)}}function fp(e,t,n){!Array.isArray(e.data)&&!Array.isArray(e.series)&&n.push(`${t}: type 'chart' requires data or series (array)`),e.variant!==void 0&&n.push(`${t}.variant is unsupported; use kind`),e.data!==void 0&&!Array.isArray(e.data)&&n.push(`${t}.data must be an array`),e.series!==void 0&&!Array.isArray(e.series)&&n.push(`${t}.series must be an array`),e.kind!==void 0&&(typeof e.kind!=`string`||!ad.includes(e.kind))&&n.push(`${t}.kind must be bars, line, or donut`);let r=e.kind===void 0?`bars`:e.kind,i=Array.isArray(e.series)?e.series:void 0;if(Array.isArray(e.data)&&e.data.length===0&&(i===void 0||i.length===0)&&n.push(`${t}.data must not be empty`),i!==void 0){i.length===0&&n.push(`${t}.series must not be empty`),r===`donut`&&n.push(`${t}.series is only supported for bars and line`);for(let e=0;e<i.length;e++){let r=K(i[e]);r!==void 0&&Array.isArray(r.data)&&r.data.length===0&&n.push(`${t}.series[${e}].data must not be empty`)}}r===`donut`&&e.data===void 0&&n.push(`${t}.data is required for donut`),r===`line`&&e.data===void 0&&(i===void 0||i.length===0)&&n.push(`${t}.data is required for line (or provide series)`),up(e.data,`${t}.data`,n),dp(e.series,`${t}.series`,n)}function pp(e,t,n){if(Array.isArray(e))for(let r=0;r<e.length;r++){let i=e[r];if(K(i)===void 0){if(!Array.isArray(i)){n.push(`${t}[${r}] must be an array or object`);continue}for(let e=0;e<i.length;e++){let a=i[e];typeof a!=`string`&&(typeof a!=`number`||!Number.isFinite(a))&&n.push(`${t}[${r}][${e}] must be a string or finite number`)}}}}function mp(e,t,n,r,i){if(t>X.maxDepth){r.push(`${n}: exceeds max depth ${X.maxDepth}`);return}let a=K(e);if(a===void 0){r.push(`${n}: must be an object`);return}let o=a.type;if(typeof o!=`string`){r.push(`${n}: missing string 'type'`);return}let s=e=>{a[e]!==void 0&&typeof a[e]!=`string`&&r.push(`${n}: '${e}' must be a string`)},c=e=>{a[e]!==void 0&&(typeof a[e]!=`number`||!Number.isFinite(a[e]))&&r.push(`${n}: '${e}' must be a finite number`)};switch(o){case`text`:typeof a.content!=`string`&&typeof a.text!=`string`&&r.push(`${n}: type 'text' requires content or text (string)`),s(`content`),s(`text`);break;case`row`:case`col`:case`card`:case`grid`:Array.isArray(a.items)||r.push(`${n}: type '${o}' requires items (array)`),i(a.items,t+1,`${n}.items`),o===`grid`&&c(`cols`);break;case`button`:case`checkbox`:case`link`:case`switch`:typeof a.label!=`string`&&r.push(`${n}: type '${o}' requires label (string)`),s(`label`);break;case`image`:case`audio`:case`video`:typeof a.src!=`string`&&r.push(`${n}: type '${o}' requires src (string)`),s(`src`),s(`alt`),o===`video`&&s(`poster`);break;case`slider`:s(`label`),c(`min`),c(`max`),c(`step`),c(`value`);break;case`input`:case`textarea`:s(`label`),s(`placeholder`),s(`value`);break;case`select`:case`radio`:Array.isArray(a.options)||r.push(`${n}: type '${o}' requires options (array)`);break;case`submit`:typeof a.label!=`string`&&r.push(`${n}: type 'submit' requires label (string)`);break;case`badge`:typeof a.label!=`string`&&typeof a.text!=`string`&&typeof a.value!=`string`&&r.push(`${n}: type 'badge' requires label, text, or value (string)`),s(`label`),s(`text`),s(`value`);break;case`hero`:typeof a.title!=`string`&&r.push(`${n}: type 'hero' requires title (string)`),s(`subtitle`);break;case`stat`:typeof a.label!=`string`&&r.push(`${n}: type 'stat' requires label (string)`),typeof a.value!=`string`&&r.push(`${n}: type 'stat' requires value (string)`),s(`delta`);break;case`progress`:(typeof a.value!=`number`||!Number.isFinite(a.value)||a.value<0||a.value>100)&&r.push(`${n}: type 'progress' requires value (number 0..100)`),c(`value`);break;case`avatar`:typeof a.name!=`string`&&r.push(`${n}: type 'avatar' requires name (string)`);break;case`list`:if(Array.isArray(a.items)||r.push(`${n}: type 'list' requires items (array)`),Array.isArray(a.items))for(let e=0;e<a.items.length;e++){let o=K(a.items[e]);o!==void 0&&typeof o.type==`string`&&mp(o,t+1,`${n}.items[${e}]`,r,i)}break;case`table`:if(!Array.isArray(a.columns)&&!_f(a)&&r.push(`${n}: type 'table' requires columns (array)`),Array.isArray(a.rows)||r.push(`${n}: type 'table' requires rows (array)`),a.types!==void 0&&!Array.isArray(a.types)&&r.push(`${n}.types must be an array of column cell types`),a.details!==void 0&&!Array.isArray(a.details)&&r.push(`${n}.details must be an array aligned with rows`),Array.isArray(a.details)){let e={columns:a.columns,rows:a.rows,types:a.types},o=Zs(e).length;a.details.length>o&&r.push(`${n}.details must not contain more entries than rows`);for(let s=0;s<Math.min(a.details.length,o);s++){let o=a.details[s];if(!(o===null||!$s(e,s))){if(!Array.isArray(o)){r.push(`${n}.details[${s}] must be an array or null`);continue}i(o,t+1,`${n}.details[${s}]`)}}}pp(a.rows,`${n}.rows`,r);break;case`chart`:fp(a,n,r);break;case`tabs`:if(Array.isArray(a.tabs)||r.push(`${n}: type 'tabs' requires tabs (array)`),Array.isArray(a.tabs))for(let e=0;e<a.tabs.length;e++){let o=K(a.tabs[e]);if(o===void 0){r.push(`${n}.tabs[${e}] must be an object`);continue}typeof o.label!=`string`&&r.push(`${n}.tabs[${e}].label must be a string`),i(o.items,t+1,`${n}.tabs[${e}].items`)}break;case`plot`:Array.isArray(a.series)||r.push(`${n}: type 'plot' requires series (array)`);break;case`callout`:typeof a.content!=`string`&&r.push(`${n}: type 'callout' requires content (string)`);break;case`steps`:Array.isArray(a.steps)||r.push(`${n}: type 'steps' requires steps (array)`);break;case`keyvalue`:Array.isArray(a.pairs)||r.push(`${n}: type 'keyvalue' requires pairs (array)`);break;case`diff`:Array.isArray(a.diffs)||r.push(`${n}: type 'diff' requires diffs (array)`);break;case`json`:`value`in a||r.push(`${n}: type 'json' requires value`);break;case`code`:typeof a.code!=`string`&&r.push(`${n}: type 'code' requires code (string)`);break;case`accordion`:if(Array.isArray(a.items)||r.push(`${n}: type 'accordion' requires items (array)`),Array.isArray(a.items))for(let e=0;e<a.items.length;e++){let o=K(a.items[e]);if(o===void 0){r.push(`${n}.items[${e}] must be an object`);continue}typeof o.title!=`string`&&r.push(`${n}.items[${e}].title must be a string`),i(o.items,t+1,`${n}.items[${e}].items`)}break;case`copy`:typeof a.text!=`string`&&r.push(`${n}: type 'copy' requires text (string)`);break;case`svg`:typeof a.code!=`string`&&r.push(`${n}: type 'svg' requires code (string)`),c(`height`);break;case`mermaid`:typeof a.code!=`string`&&r.push(`${n}: type 'mermaid' requires code (string)`);break;case`scene3d`:Array.isArray(a.meshes)||r.push(`${n}: type 'scene3d' requires meshes (array)`);break;case`timeline`:Array.isArray(a.items)||r.push(`${n}: type 'timeline' requires items (array)`);break;case`file-tree`:Array.isArray(a.items)||r.push(`${n}: type 'file-tree' requires items (array)`);break;case`breadcrumb`:Array.isArray(a.items)||r.push(`${n}: type 'breadcrumb' requires items (array)`);break;case`quiz`:typeof a.question!=`string`&&r.push(`${n}: type 'quiz' requires question (string)`),Array.isArray(a.options)||r.push(`${n}: type 'quiz' requires options (array)`);break;case`diagram`:typeof a.kind!=`string`&&r.push(`${n}: type 'diagram' requires kind (string)`),Array.isArray(a.nodes)||r.push(`${n}: type 'diagram' requires nodes (array)`),a.edges!==void 0&&!Array.isArray(a.edges)&&r.push(`${n}: type 'diagram' requires edges (array) when present`);break;case`echart`:a.option===void 0&&a.data===void 0&&a.series===void 0&&(!Array.isArray(a.links)||a.links.length===0)&&r.push(`${n}: type 'echart' requires option, data, series, or links`),c(`height`);break;default:r.push(`${n}: unknown type '${o}' (custom renderer?)`)}let l=zd[o];l!==void 0&&vf(a,n,l,r)}var hp=class extends Error{code;constructor(e,t){super(t),this.code=e,this.name=`GenuiExportError`}};function gp(e,t){if(e===void 0)return;let n=Object.fromEntries(Object.entries(e.fields??{}).filter(([e])=>!t.has(e)));return{...e.answers===void 0?{}:{answers:{...e.answers}},...e.multiAnswers===void 0?{}:{multiAnswers:Object.fromEntries(Object.entries(e.multiAnswers).map(([e,t])=>[e,[...t]]))},...e.locked===void 0?{}:{locked:e.locked},...Object.keys(n).length===0?{}:{fields:n}}}function _p(e,t){return e.map(e=>{let n=JSON.parse(JSON.stringify(e));return n.type===`input`&&n.inputType===`password`&&(typeof n.id==`string`&&t.add(n.id),delete n.value),Array.isArray(n.items)&&(n.items=n.type===`list`?n.items.map(e=>typeof e==`object`&&e&&`type`in e?_p([e],t)[0]:e):_p(n.items,t)),Array.isArray(n.tabs)&&(n.tabs=n.tabs.map(e=>({...e,items:_p(e.items,t)}))),n.type===`table`&&Array.isArray(n.details)&&(n.details=n.details.map(e=>e===null?null:_p(e,t))),n})}function vp(e,t,n={}){let r=np(e);if(r.spec===null)throw new hp(`artifact-invalid`,`invalid GenUI spec`);let{panel:i,append:a,...o}=r.spec,s=new Set,c={...o,items:_p(o.items,s)},l=n.theme??(typeof document<`u`&&document.body.hasAttribute(`data-ds-dark-theme`)?`dark`:`light`),u=gp(t,s);return{format:`dsh-genui`,version:1,spec:c,...u===void 0?{}:{state:u},presentation:{locale:n.locale??Lo(),theme:l}}}function yp(e){return JSON.stringify(e,null,2)}function bp(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function xp(e){return!bp(e)||e.answers!==void 0&&(!bp(e.answers)||!Object.values(e.answers).every(e=>typeof e==`string`))||e.multiAnswers!==void 0&&(!bp(e.multiAnswers)||!Object.values(e.multiAnswers).every(e=>Array.isArray(e)&&e.every(e=>typeof e==`string`)))||e.locked!==void 0&&typeof e.locked!=`boolean`?!1:e.fields===void 0||bp(e.fields)&&Object.values(e.fields).every(e=>typeof e==`string`)}function Sp(e){if(!bp(e)||e.format!==`dsh-genui`||e.version!==1||!bp(e.presentation)||e.presentation.locale!==`en`&&e.presentation.locale!==`zh`||e.presentation.theme!==`light`&&e.presentation.theme!==`dark`||e.state!==void 0&&!xp(e.state))return null;let t=np(e.spec);return t.spec===null||t.errors.length>0?null:vp(t.spec,e.state,{locale:e.presentation.locale,theme:e.presentation.theme})}vl();let Cp=new Map;function wp(e){let t=``,n=32768;for(let r=0;r<e.length;r+=n)t+=String.fromCharCode(...e.subarray(r,Math.min(r+n,e.length)));return btoa(t)}function Tp(e){return e.replace(/[&<>"']/g,e=>({"&":`&amp;`,"<":`&lt;`,">":`&gt;`,'"':`&quot;`,"'":`&#39;`})[e])}function Ep(e,t){let n=Cp.get(e);if(n!==void 0)return n;let r=fetch(fl(e)).then(async n=>{if(!n.ok)throw new hp(t===`runtime`?`runtime-fetch-failed`:`asset-fetch-failed`,`${e}: HTTP ${n.status}`);return new Uint8Array(await n.arrayBuffer())}).catch(n=>{throw Cp.delete(e),n instanceof hp?n:new hp(t===`runtime`?`runtime-fetch-failed`:`asset-fetch-failed`,`${e}: ${n instanceof Error?n.message:`fetch failed`}`)});return Cp.set(e,r),r}function Dp(e,t){return`<script type="application/octet-stream" data-genui-bundle="${e}">${wp(t)}<\/script>`}function Op(e,t){let n=structuredClone(e);function r(e){if(Array.isArray(e)){for(let t of e)r(t);return}if(typeof e!=`object`||!e)return;let n=e;if(n.type===`image`||n.type===`audio`||n.type===`video`)for(let e of n.type===`video`?[`src`,`poster`]:[`src`]){let r=n[e];if(typeof r!=`string`||/^https?:\/\//i.test(r))continue;let i=new URL(r,t);if(i.protocol!==`http:`&&i.protocol!==`https:`)throw new hp(`artifact-invalid`,`media URL cannot be exported: ${r}`);n[e]=i.href}for(let e of Object.values(n))r(e)}return r(n.items),n}function kp(){return`
262
264
  async function loadBundle(element) {
263
265
  const binary = atob(element.textContent.trim());
264
266
  const bytes = new Uint8Array(binary.length);
@@ -287,13 +289,13 @@ start().catch(error => {
287
289
  root.textContent = error instanceof Error ? error.message : 'GenUI could not start';
288
290
  root.setAttribute('role', 'alert');
289
291
  });
290
- `}function op(e,t,n=document.baseURI){let r={...e,spec:ip(e.spec,n)},i=ep(new TextEncoder().encode(JSON.stringify(r))),a=sp(e).map(e=>{let n=t.get(`${e}.js`);if(n===void 0)throw new Gf(`asset-fetch-failed`,`${e}.js: bundle unavailable`);return rp(e,n)}).join(`
291
- `),o=t.get(`standalone-runtime.js`);if(o===void 0)throw new Gf(`runtime-fetch-failed`,`standalone-runtime.js: bundle unavailable`);return`<!doctype html>
292
+ `}function Ap(e,t,n=document.baseURI){let r={...e,spec:Op(e.spec,n)},i=wp(new TextEncoder().encode(JSON.stringify(r))),a=jp(e).map(e=>{let n=t.get(`${e}.js`);if(n===void 0)throw new hp(`asset-fetch-failed`,`${e}.js: bundle unavailable`);return Dp(e,n)}).join(`
293
+ `),o=t.get(`standalone-runtime.js`);if(o===void 0)throw new hp(`runtime-fetch-failed`,`standalone-runtime.js: bundle unavailable`);return`<!doctype html>
292
294
  <html lang="${e.presentation.locale===`zh`?`zh-CN`:`en`}">
293
295
  <head>
294
296
  <meta charset="utf-8">
295
297
  <meta name="viewport" content="width=device-width,initial-scale=1">
296
- <title>${tp(e.spec.title??`GenUI`)}</title>
298
+ <title>${Tp(e.spec.title??`GenUI`)}</title>
297
299
  <meta http-equiv="Content-Security-Policy" content="default-src 'none'; script-src 'unsafe-inline' blob:; style-src 'unsafe-inline'; font-src data:; img-src 'self' data: blob: https: http:; media-src 'self' data: blob: https: http:; connect-src 'none'; object-src 'none'; base-uri 'none'; form-action 'none'">
298
300
  <style>
299
301
  :root {
@@ -393,15 +395,11 @@ body { margin: 0; min-height: 100vh; background: var(--dsw-alias-bg-base); color
393
395
  <main id="genui-root"></main>
394
396
  <script type="application/octet-stream" id="genui-artifact">${i}<\/script>
395
397
  ${a}
396
- ${rp(`runtime`,o)}
397
- <script>${ap()}<\/script>
398
+ ${Dp(`runtime`,o)}
399
+ <script>${kp()}<\/script>
398
400
  </body>
399
- </html>`}function sp(e){return md(e.spec).requiredAssets}async function cp(e){let t=Qf(e);if(t===null)throw new Gf(`artifact-invalid`,`invalid GenUI artifact`);let n=md(t.spec);if(n.customTypes.length>0)throw new Gf(`unsupported-custom-component`,`custom components: ${n.customTypes.join(`, `)}`);let r=[...n.requiredAssets.map(e=>`${e}.js`),`standalone-runtime.js`],i=await Promise.all(r.map(async e=>[e,await np(e,e===`standalone-runtime.js`?`runtime`:e.slice(0,-3))]));return op(t,new Map(i))}function lp(e,t){return`${(e??``).replace(/[\\/:*?"<>|\u0000-\u001f\u007f]/g,``).trim().replace(/\s+/g,` `).slice(0,120).replace(/[. ]+$/g,``)||`genui`}${t}`}function up(e,t){let n=URL.createObjectURL(e),r=document.createElement(`a`);r.href=n,r.download=t,r.style.display=`none`,document.body.appendChild(r),r.click(),r.remove(),window.setTimeout(()=>URL.revokeObjectURL(n),0)}function dp(e){try{up(new Blob([Yf(e)],{type:`application/json;charset=utf-8`}),lp(e.spec.title,`.genui.json`))}catch(e){throw new Gf(`download-failed`,e instanceof Error?e.message:`artifact download failed`)}}async function fp(e){try{let t=await cp(e);up(new Blob([t],{type:`text/html;charset=utf-8`}),lp(e.spec.title,`.html`))}catch(e){throw e instanceof Gf?e:new Gf(`download-failed`,e instanceof Error?e.message:`artifact download failed`)}}let pp=`@changfenhuang/dsh-genui/ArtifactExport.module.css`;if(typeof document<`u`&&document.querySelector(`style[data-plugin-css=`+JSON.stringify(pp)+`]`)===null){let e=document.createElement(`style`);e.dataset.plugin=`@changfenhuang/dsh-genui`,e.dataset.pluginCss=pp,e.textContent=`._0M81qq_chrome{justify-content:flex-end;align-items:center;gap:8px;margin:8px 0 6px;font:12px/1.4 system-ui,sans-serif;display:flex;position:relative}._0M81qq_trigger,._0M81qq_item{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-1);color:var(--dsw-alias-label-secondary);cursor:pointer;border-radius:7px;padding:5px 9px}._0M81qq_trigger:hover,._0M81qq_item:hover{background:var(--dsw-alias-fill-hover);color:var(--dsw-alias-label-primary)}._0M81qq_menu{z-index:20;border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-1);border-radius:9px;gap:3px;min-width:140px;padding:5px;display:grid;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 8px 24px #0002}._0M81qq_item{text-align:left;border-color:#0000}._0M81qq_item:disabled{opacity:.5;cursor:not-allowed}._0M81qq_menuNotice{max-width:260px;color:var(--dsw-alias-state-error-primary,#d94848);padding:2px 9px 6px}._0M81qq_notice{color:var(--dsw-alias-label-tertiary)}._0M81qq_statusError{color:var(--dsw-alias-state-error-primary,#d94848)}`,document.head.appendChild(e)}var mp={chrome:`_0M81qq_chrome`,item:`_0M81qq_item`,menu:`_0M81qq_menu`,menuNotice:`_0M81qq_menuNotice`,notice:`_0M81qq_notice`,statusError:`_0M81qq_statusError`,trigger:`_0M81qq_trigger`};function hp({getArtifact:e}){let t=Po(),n=(0,m.useRef)(null),[r,i]=(0,m.useState)(!1),[a,o]=(0,m.useState)(``),s=md(e().spec);(0,m.useEffect)(()=>{if(!r)return;let e=e=>{e.target instanceof Node&&!n.current?.contains(e.target)&&i(!1)},t=e=>{e.key===`Escape`&&i(!1)};return document.addEventListener(`pointerdown`,e),document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`pointerdown`,e),document.removeEventListener(`keydown`,t)}},[r]);let c=async n=>{i(!1),o(``);try{let t=e();n===`html`?await fp(t):dp(t)}catch(e){e instanceof Gf?e.code===`unsupported-custom-component`?(console.warn(`[dsh-genui] standalone export rejected:`,e.message),o(t(`artifact.unsupportedCustom`,{types:s.customTypes.join(`, `)}))):(console.warn(`[dsh-genui] artifact export failed:`,e.code,e.message),o(t(`artifact.exportFailed`))):(console.warn(`[dsh-genui] artifact export failed:`,e instanceof Error?e.message:`unknown error`),o(t(`artifact.exportFailed`)))}};return(0,g.jsxs)(`div`,{className:mp.chrome,ref:n,"data-genui-export":!0,children:[s.externalMedia.length>0&&(0,g.jsx)(`span`,{className:mp.notice,children:t(`artifact.externalMediaNotice`)}),a!==``&&(0,g.jsx)(`span`,{className:mp.statusError,"aria-live":`polite`,children:a}),(0,g.jsx)(`button`,{type:`button`,className:mp.trigger,"aria-haspopup":`menu`,"aria-expanded":r,onClick:()=>i(e=>!e),children:t(`artifact.export`)}),r&&(0,g.jsxs)(`div`,{className:mp.menu,role:`menu`,children:[(0,g.jsx)(`button`,{type:`button`,role:`menuitem`,className:mp.item,disabled:s.customTypes.length>0,onClick:()=>void c(`html`),children:t(`artifact.exportHtml`)}),s.customTypes.length>0&&(0,g.jsx)(`span`,{className:mp.menuNotice,children:t(`artifact.unsupportedCustom`,{types:s.customTypes.join(`, `)})}),(0,g.jsx)(`button`,{type:`button`,role:`menuitem`,className:mp.item,onClick:()=>void c(`json`),children:t(`artifact.exportJson`)})]})]})}function gp(e){let t=(0,m.useRef)(void 0),n=(0,m.useCallback)(e=>{t.current=e},[]),r=(0,m.useCallback)(()=>Jf(e.spec,t.current),[e.spec]),{exportEnabled:i=!0,...a}=e;return(0,g.jsxs)(`div`,{"data-genui-artifact":!0,children:[(0,g.jsx)(wu,{...a,onStateSnapshot:n}),i&&(0,g.jsx)(hp,{getArtifact:r})]})}let _p={maxNodes:200,maxAppends:200},vp=new Map,yp=new Set;function bp(){return{ops:new Map,seen:new Map,overflow:null,local:null,localBarrier:-1,replayBarrier:-1,maxSeenSeq:-1,snapshot:null}}let xp=`dsh.genui.panel`;function Sp(){try{let e=localStorage.getItem(xp);if(e===null)return{order:[],sessions:{}};let t=JSON.parse(e);return!Array.isArray(t.order)||typeof t.sessions!=`object`||t.sessions===null?{order:[],sessions:{}}:{order:t.order.filter(e=>typeof e==`string`),sessions:t.sessions}}catch{return{order:[],sessions:{}}}}function Cp(e,t){try{let n=Sp(),r=n.order.filter(t=>t!==e);r.unshift(e);let i={...n.sessions,[e]:t};for(;r.length>50;){let e=r.pop();e!==void 0&&delete i[e]}localStorage.setItem(xp,JSON.stringify({order:r,sessions:i}))}catch{}}function wp(e){let t=vp.get(e);if(t!==void 0)return t;let n=bp();try{let t=Sp().sessions[e];t!==void 0&&(n={ops:new Map,seen:new Map,overflow:null,local:t.local??null,localBarrier:t.localBarrier??-1,replayBarrier:t.maxSeenSeq??-1,maxSeenSeq:t.maxSeenSeq??-1,snapshot:t.snapshot??null})}catch{}return vp.set(e,n),n}function Tp(e,t){for(let n=0;n<3;n++){let r=e[n]-t[n];if(r!==0)return r}return 0}function Ep(e,t){if(t!==null&&(t.order[0]<=e.localBarrier||t.order[0]<=e.replayBarrier||e.seen.has(t.sourceId)||e.overflow!==null&&e.overflow.sourceId===t.sourceId||t.mode===`append`&&e.overflow!==null&&Tp(t.order,e.overflow.order)>0))return null;let n=[...e.ops.values()].filter(t=>t.order[0]>e.localBarrier&&t.order[0]>e.replayBarrier);t!==null&&n.push(t),n.sort((e,t)=>Tp(e.order,t.order));let r=0;for(let e=0;e<n.length;e++){let t=n[e];t.mode===`replace`&&Ef(t.spec,_p.maxNodes+1)<=_p.maxNodes&&(r=e)}let i=e.local,a=null,o=0,s=[],c=e.maxSeenSeq;for(let e=r;e<n.length;e++){let t=n[e];if(t.order[0]>c&&(c=t.order[0]),t.mode===`replace`){if(Ef(t.spec,_p.maxNodes+1)>_p.maxNodes){(a===null||Tp(t.order,a.order)<0)&&(a=t);continue}a=null,i=t.spec,s.length=0,o=0,s.push(t);continue}let r=Rp(i,t.spec);if(o>=_p.maxAppends||Ef(r,_p.maxNodes+1)>_p.maxNodes){(a===null||Tp(t.order,a.order)<0)&&(a=t);continue}i=r,o+=1,s.push(t)}return t!==null&&s.length===e.ops.size&&s.every(t=>e.ops.get(t.sourceId)?.mode===t.mode)&&(a===null&&e.overflow===null||a!==null&&e.overflow!==null&&a.sourceId===e.overflow.sourceId)?null:{snapshot:i,kept:s,overflow:a,maxSeenSeq:c}}function Dp(e,t,n){e.snapshot=t.snapshot,e.overflow=t.overflow,e.maxSeenSeq=t.maxSeenSeq,e.ops=new Map(t.kept.map(e=>[e.sourceId,e]));for(let n of t.kept)e.seen.set(n.sourceId,n.order);t.overflow!==null&&e.seen.set(t.overflow.sourceId,t.overflow.order),Cp(n,{snapshot:e.snapshot,local:e.local,localBarrier:e.localBarrier,maxSeenSeq:e.maxSeenSeq})}function Op(e,t){let n=wp(e),r=Ep(n,t);if(r===null)return n.seen.has(t.sourceId)||n.overflow?.sourceId===t.sourceId?`idempotent`:(n.overflow!==null&&t.mode===`append`&&Tp(t.order,n.overflow.order)>0||Ap(e,t,n),`blocked`);let i=r.overflow!==null&&r.overflow.sourceId===t.sourceId?`overflow`:`accepted`,a=n.snapshot!==r.snapshot;if(Dp(n,r,e),a)for(let e of yp)e();return i}let kp=new Set;function Ap(e,t,n){let r=`${e}\u0000${t.sourceId}`;kp.has(r)||(kp.add(r),console.warn(`[genui] 面板操作被重放屏障拒绝(source ${t.sourceId},order[0]=${t.order[0]} ≤ replayBarrier ${n.replayBarrier} / localBarrier ${n.localBarrier})。历史消息重放被拒是预期行为;若是刚发送的新消息,说明消息序号推导异常,请报告。`))}function jp(e,t){let n=wp(e),r=n.maxSeenSeq;if(n.local!==t||n.localBarrier!==r){n.local=t,n.localBarrier=r,Dp(n,Ep(n,null),e);for(let e of yp)e()}}let Mp=new Set;function Np(e,t){let n=`${e}\u0000${t}`;Mp.has(n)||(Mp.add(n),console.warn(`[genui] 面板已到节点/操作上限(${_p.maxNodes} 节点、${_p.maxAppends} 条追加),本次 append 被拒绝;请让模型发送 replace 更新面板。`))}function Pp(e){let t=vp.delete(e),n=zp.delete(e),r=`${e}\u0000`;for(let e of Mp)e.startsWith(r)&&Mp.delete(e);for(let e of kp)e.startsWith(r)&&kp.delete(e);if(!(!t&&!n)){for(let e of yp)e();for(let e of Bp)e()}}function Fp(e){return wp(e).snapshot}function Ip(e){return yp.add(e),()=>{yp.delete(e)}}function Lp(e){if(e.items.length!==1)return null;let t=e.items[0];return t?.type!==`tabs`||!Array.isArray(t.tabs)?null:t.tabs}function Rp(e,t){if(e===null||e.items.length===0)return t;let n=e.title??t.title,r={...e,...n===void 0?{}:{title:n}},i=Lp(e),a=Lp(t);if(i!==null&&a!==null){let e=new Map(i.map(e=>[e.label,{label:e.label,items:[...e.items]}]));for(let t of a){let n=e.get(t.label);n===void 0?e.set(t.label,{label:t.label,items:[...t.items]}):n.items.push(...t.items)}return{...r,items:[{type:`tabs`,tabs:[...e.values()]}]}}return{...r,items:[...e.items,...t.items]}}let zp=new Map,Bp=new Set;function Vp(e){zp.set(e,(zp.get(e)??0)+1);for(let e of Bp)e()}function Hp(e){return zp.get(e)??0}function Up(e){return Bp.add(e),()=>{Bp.delete(e)}}function Wp(e){try{return JSON.parse(e),!0}catch{return!1}}function Gp(e){try{return JSON.parse(e),null}catch(e){let t=e instanceof Error?e.message:String(e),n=t.match(/position (\d+)/i);return`${n===null?``:`(字符 ${n[1]} 附近)`}${t.slice(0,140)}`}}function Kp(e){try{return JSON.parse(e),null}catch{}let t=``,n=!1,r=!1,i=0;for(let a=0;a<e.length;a++){let o=e[a];if(r){t+=o,r=!1;continue}if(n&&o===`\\`){t+=o,r=!0;continue}if(o===`"`){if(!n){n=!0,t+=o;continue}let r=a+1;for(;r<e.length&&(e[r]===` `||e[r]===` `||e[r]===`
400
- `||e[r]===`\r`);)r++;let s=r<e.length?e[r]:``;s===`,`||s===`]`||s===`}`||s===`:`||s===``?(n=!1,t+=o):(t+=`\\"`,i++);continue}if(o===`,`){let t=a+1;for(;t<e.length&&(e[t]===` `||e[t]===` `||e[t]===`
401
- `||e[t]===`\r`);)t++;let n=t<e.length?e[t]:``;if(n===`}`||n===`]`||n===``){i++;continue}}t+=o}if(i===0)return null;try{return JSON.parse(t),{text:t,repairs:i}}catch{return null}}function qp(e){if(!/"columns"\s*:\s*\[/.test(e))return null;let t=``,n=e,r=0;for(;;){let e=/"columns"\s*:\s*\[/.exec(n);if(e===null){t+=n;break}let i=e.index+e[0].length,a=1,o=!1,s=!1,c=-1;for(let e=i;e<n.length;e++){let t=n[e];if(s){s=!1;continue}if(o){t===`\\`?s=!0:t===`"`&&(o=!1);continue}if(t===`"`){o=!0;continue}if(t===`[`)a++;else if(t===`]`&&(a--,a===0)){c=e;break}}if(c<0)return null;let l=n.slice(c+1),u=/^\s*,\s*\[\s*"rows"\s*:\s*\[/.exec(l);if(u!==null){let e=c+1+u[0].length;t+=`${n.slice(0,c+1)},"rows":[`,n=n.slice(e),r+=1;continue}let d=/^\s*,\s*\[/.exec(l);if(d===null){t+=n.slice(0,c+1),n=l;continue}let f=c+1+d[0].length;t+=n.slice(0,f).replace(/,\s*\[$/,`, "rows": [`),n=n.slice(f),r+=1}if(r===0)return null;let i=[],a=``,o=!1,s=!1;for(let e of t){if(s){a+=e,s=!1;continue}if(o){a+=e,e===`\\`?s=!0:e===`"`&&(o=!1);continue}if(e===`"`){o=!0,a+=e;continue}if(e===`{`||e===`[`){i.push(e),a+=e;continue}if(e===`}`||e===`]`){let t=i[i.length-1];e===`}`&&t===`{`||e===`]`&&t===`[`?(i.pop(),a+=e):r+=1;continue}a+=e}return{text:a,repairs:r}}function Jp(e){try{return JSON.parse(e),null}catch{}let t=qp(e);if(t!==null){try{return JSON.parse(t.text),t}catch{}let e=Jp(t.text);return e===null?null:{text:e.text,repairs:e.repairs+t.repairs}}let n=``,r=[],i=!1,a=!1,o=0;for(let t=0;t<e.length;t++){let s=e[t];if(a){n+=s,a=!1;continue}if(i){if(s===`\\`){n+=s,a=!0;continue}if(s!==`"`){n+=s;continue}let r=t+1;for(;r<e.length&&(e[r]===` `||e[r]===` `||e[r]===`
402
- `||e[r]===`\r`);)r++;let c=r<e.length?e[r]:``;c===`,`||c===`]`||c===`}`||c===`:`||c===``?(i=!1,n+=s):(n+=`\\"`,o++);continue}if(s===`"`){i=!0,n+=s;continue}if(s===`{`){r.push(`}`),n+=s;continue}if(s===`[`){r.push(`]`),n+=s;continue}if(s===`}`||s===`]`){r[r.length-1]===s?(r.pop(),n+=s):o++;continue}if(s===`,`){let n=t+1;for(;n<e.length&&(e[n]===` `||e[n]===` `||e[n]===`
403
- `||e[n]===`\r`);)n++;let r=n<e.length?e[n]:``;if(r===`}`||r===`]`||r===``){o++;continue}}n+=s}for(i&&(n+=`"`,o++);r.length>0;)n+=r.pop(),o++;if(o===0)return null;try{return JSON.parse(n),{text:n,repairs:o}}catch{return null}}function Yp(e){let t=[],n=[],r=e=>{n.length>=32&&n.shift(),n.push(e)},i=!1,a=!1,o=0;for(;o<e.length;o++){let n=e[o];if(i){a?a=!1:n===`\\`?a=!0:n===`"`&&(i=!1);continue}if(n===`"`){i=!0;continue}if(n===`{`||n===`[`){t.push(n);continue}if(n===`}`||n===`]`){if(t.pop()!==(n===`}`?`{`:`[`))break;n===`}`&&t.length===2&&t[0]===`{`&&t[1]===`[`&&r({end:o+1,closingSuffix:`]}`}),t.length===0&&r({end:o+1,closingSuffix:``});continue}}n.sort((e,t)=>t.end-e.end);let s=[];for(let e of n)(s.length===0||s[s.length-1].end!==e.end)&&s.push(e);return{candidates:s.slice(0,32),scannedChars:o}}function Xp(e,t){try{let n=JSON.parse(e);if(typeof n==`string`)try{n=JSON.parse(n)}catch{return null}return _d(n)?n:Array.isArray(n)&&n.length>0?{items:n}:t?gd(n):null}catch{return null}}function Zp(e){let t=e.trim();if(t===``)return null;let n=Xp(t,!0);if(n!==null)return n;let{candidates:r}=Yp(t);for(let e of r){let n=Xp(t.slice(0,e.end)+e.closingSuffix,!1);if(n!==null)return n}return null}function Qp(e){let t=Mf(e);return{value:e,processed:t,spec:zf(t)}}function $p(){return{value:null,processed:null,spec:null}}function em(e,t){let n=Zp(e),r=n===null?$p():Qp(n);if(r.spec!==null)return r;let i=Kp(e);if(i!==null){let e=Zp(i.text);r=e===null?$p():Qp(e)}if(r.spec!==null||!t.settled)return r;let a=Jp(e);if(a===null)return r;let o=Zp(a.text);return o===null?$p():Qp(o)}function tm(e,t){return em(e,t).spec}let nm={margin:`0 0 6px`,padding:`6px 10px`,borderRadius:6,background:`rgba(239, 68, 68, 0.14)`,border:`1px solid rgba(239, 68, 68, 0.4)`,color:`#f87171`,fontSize:12,lineHeight:1.55,whiteSpace:`pre-wrap`};function rm(e){let t=e.filter(e=>/(?:variant is unsupported|kind must be bars, line, or donut|requires data or series|(?:data|series) is required for|(?:\.data|\.series)(?:\[\d+\])?(?:\.(?:data|label|value|color))? must|series is only supported for bars)/.test(e));return t.length===0?null:t.join(`;`)}function im(e){if(e.spec!==null||e.processed===null)return null;let t=rm(e.processed.errors);return t===null?Y(`err.fieldValidation`,{errors:e.processed.errors.join(`;`)}):Y(`err.chartValidation`,{errors:t})}function am(e,t={}){let n=em(e,{settled:t.settled??!0});if(n.spec!==null)return null;let r=im(n);if(r!==null)return Y(`err.fenceKeptAsCode`,{diagnostic:r});if(e.trim()===``)return null;let i=Gp(e);return i===null?null:Y(`err.fenceParse`,{diagnostic:i})}function om({raw:e,settled:t=!1}){Po();let n=am(e,{settled:t});return n===null?null:(0,g.jsx)(`div`,{style:nm,role:`alert`,children:n})}function sm({raw:e,fenceKey:t}){Po();let n=(0,m.useRef)(null),[r,i]=(0,m.useState)(!1);return(0,m.useLayoutEffect)(()=>{let e=n.current;e!==null&&e.closest(`[data-streaming]`)===null&&i(!0)}),(0,g.jsxs)(`div`,{ref:n,children:[r?(0,g.jsx)(om,{raw:e}):null,(0,g.jsx)(p.CodeBlock,{...Uo(),code:`${e}\n`,lang:`dsh-ui`},t)]})}function cm({sessionId:e,sourceId:t,order:n,spec:r}){return(0,m.useEffect)(()=>{Op(e,{sourceId:t,order:n,mode:r.append===!0?`append`:`replace`,spec:r})===`overflow`&&Np(e,t)},[e,t,n,r]),null}function lm(e,t){return tm(e,{settled:t?.source!==void 0})}function um(e,t,n){let r=t?.sessionId,i=r===void 0||t?.source===void 0?void 0:ns(r,t.source.id,JSON.stringify(n));return(0,g.jsx)(Jo,{label:Y(`err.boundary.fence`),children:(0,g.jsx)(gp,{spec:n,animateEntrance:t?.source===void 0,stateKey:i,exportEnabled:t?.source!==void 0})},JSON.stringify([r,e]))}function dm(e,t,n){let r=lm(e,n);return r===null?null:r.panel===!0?n!==void 0&&n.sessionId!==void 0&&n.source!==void 0?r.append===!0&&!Wp(e)?(0,g.jsx)(m.Fragment,{},t):(0,g.jsx)(cm,{sessionId:n.sessionId,sourceId:n.source.id,order:n.source.order,spec:r},t):(0,g.jsx)(m.Fragment,{},t):um(t,n,r)}function fm(e,t,n){let r=lm(e,n);return r===null?(0,g.jsx)(sm,{fenceKey:t,raw:e},t):r.panel===!0?n!==void 0&&n.sessionId!==void 0&&n.source!==void 0?r.append===!0&&!Wp(e)?null:(0,g.jsx)(cm,{sessionId:n.sessionId,sourceId:n.source.id,order:n.source.order,spec:r},t):null:um(t,n,r)}function pm(e){if(typeof e!=`object`||!e)return;let t=e;if(typeof t.current==`string`)return t.current;if(typeof t.byId!=`object`||t.byId===null||Array.isArray(t.byId))return;let n=Object.values(t.byId).find(e=>{if(typeof e!=`object`||!e)return!1;let t=e.retainedBy;if(typeof t!=`object`||!t||Array.isArray(t))return!1;let n=t.mainView;return typeof n==`number`&&n>0});return typeof n?.id==`string`?n.id:void 0}let mm={};function hm(e,t){let n=t||mm;return gm(e,typeof n.includeImageAlt!=`boolean`||n.includeImageAlt,typeof n.includeHtml!=`boolean`||n.includeHtml)}function gm(e,t,n){if(vm(e)){if(`value`in e)return e.type===`html`&&!n?``:e.value;if(t&&`alt`in e&&e.alt)return e.alt;if(`children`in e)return _m(e.children,t,n)}return Array.isArray(e)?_m(e,t,n):``}function _m(e,t,n){let r=[],i=-1;for(;++i<e.length;)r[i]=gm(e[i],t,n);return r.join(``)}function vm(e){return!!(e&&typeof e==`object`)}let ym={AElig:`Æ`,AMP:`&`,Aacute:`Á`,Abreve:`Ă`,Acirc:`Â`,Acy:`А`,Afr:`𝔄`,Agrave:`À`,Alpha:`Α`,Amacr:`Ā`,And:`⩓`,Aogon:`Ą`,Aopf:`𝔸`,ApplyFunction:`⁡`,Aring:`Å`,Ascr:`𝒜`,Assign:`≔`,Atilde:`Ã`,Auml:`Ä`,Backslash:`∖`,Barv:`⫧`,Barwed:`⌆`,Bcy:`Б`,Because:`∵`,Bernoullis:`ℬ`,Beta:`Β`,Bfr:`𝔅`,Bopf:`𝔹`,Breve:`˘`,Bscr:`ℬ`,Bumpeq:`≎`,CHcy:`Ч`,COPY:`©`,Cacute:`Ć`,Cap:`⋒`,CapitalDifferentialD:`ⅅ`,Cayleys:`ℭ`,Ccaron:`Č`,Ccedil:`Ç`,Ccirc:`Ĉ`,Cconint:`∰`,Cdot:`Ċ`,Cedilla:`¸`,CenterDot:`·`,Cfr:`ℭ`,Chi:`Χ`,CircleDot:`⊙`,CircleMinus:`⊖`,CirclePlus:`⊕`,CircleTimes:`⊗`,ClockwiseContourIntegral:`∲`,CloseCurlyDoubleQuote:`”`,CloseCurlyQuote:`’`,Colon:`∷`,Colone:`⩴`,Congruent:`≡`,Conint:`∯`,ContourIntegral:`∮`,Copf:`ℂ`,Coproduct:`∐`,CounterClockwiseContourIntegral:`∳`,Cross:`⨯`,Cscr:`𝒞`,Cup:`⋓`,CupCap:`≍`,DD:`ⅅ`,DDotrahd:`⤑`,DJcy:`Ђ`,DScy:`Ѕ`,DZcy:`Џ`,Dagger:`‡`,Darr:`↡`,Dashv:`⫤`,Dcaron:`Ď`,Dcy:`Д`,Del:`∇`,Delta:`Δ`,Dfr:`𝔇`,DiacriticalAcute:`´`,DiacriticalDot:`˙`,DiacriticalDoubleAcute:`˝`,DiacriticalGrave:"`",DiacriticalTilde:`˜`,Diamond:`⋄`,DifferentialD:`ⅆ`,Dopf:`𝔻`,Dot:`¨`,DotDot:`⃜`,DotEqual:`≐`,DoubleContourIntegral:`∯`,DoubleDot:`¨`,DoubleDownArrow:`⇓`,DoubleLeftArrow:`⇐`,DoubleLeftRightArrow:`⇔`,DoubleLeftTee:`⫤`,DoubleLongLeftArrow:`⟸`,DoubleLongLeftRightArrow:`⟺`,DoubleLongRightArrow:`⟹`,DoubleRightArrow:`⇒`,DoubleRightTee:`⊨`,DoubleUpArrow:`⇑`,DoubleUpDownArrow:`⇕`,DoubleVerticalBar:`∥`,DownArrow:`↓`,DownArrowBar:`⤓`,DownArrowUpArrow:`⇵`,DownBreve:`̑`,DownLeftRightVector:`⥐`,DownLeftTeeVector:`⥞`,DownLeftVector:`↽`,DownLeftVectorBar:`⥖`,DownRightTeeVector:`⥟`,DownRightVector:`⇁`,DownRightVectorBar:`⥗`,DownTee:`⊤`,DownTeeArrow:`↧`,Downarrow:`⇓`,Dscr:`𝒟`,Dstrok:`Đ`,ENG:`Ŋ`,ETH:`Ð`,Eacute:`É`,Ecaron:`Ě`,Ecirc:`Ê`,Ecy:`Э`,Edot:`Ė`,Efr:`𝔈`,Egrave:`È`,Element:`∈`,Emacr:`Ē`,EmptySmallSquare:`◻`,EmptyVerySmallSquare:`▫`,Eogon:`Ę`,Eopf:`𝔼`,Epsilon:`Ε`,Equal:`⩵`,EqualTilde:`≂`,Equilibrium:`⇌`,Escr:`ℰ`,Esim:`⩳`,Eta:`Η`,Euml:`Ë`,Exists:`∃`,ExponentialE:`ⅇ`,Fcy:`Ф`,Ffr:`𝔉`,FilledSmallSquare:`◼`,FilledVerySmallSquare:`▪`,Fopf:`𝔽`,ForAll:`∀`,Fouriertrf:`ℱ`,Fscr:`ℱ`,GJcy:`Ѓ`,GT:`>`,Gamma:`Γ`,Gammad:`Ϝ`,Gbreve:`Ğ`,Gcedil:`Ģ`,Gcirc:`Ĝ`,Gcy:`Г`,Gdot:`Ġ`,Gfr:`𝔊`,Gg:`⋙`,Gopf:`𝔾`,GreaterEqual:`≥`,GreaterEqualLess:`⋛`,GreaterFullEqual:`≧`,GreaterGreater:`⪢`,GreaterLess:`≷`,GreaterSlantEqual:`⩾`,GreaterTilde:`≳`,Gscr:`𝒢`,Gt:`≫`,HARDcy:`Ъ`,Hacek:`ˇ`,Hat:`^`,Hcirc:`Ĥ`,Hfr:`ℌ`,HilbertSpace:`ℋ`,Hopf:`ℍ`,HorizontalLine:`─`,Hscr:`ℋ`,Hstrok:`Ħ`,HumpDownHump:`≎`,HumpEqual:`≏`,IEcy:`Е`,IJlig:`IJ`,IOcy:`Ё`,Iacute:`Í`,Icirc:`Î`,Icy:`И`,Idot:`İ`,Ifr:`ℑ`,Igrave:`Ì`,Im:`ℑ`,Imacr:`Ī`,ImaginaryI:`ⅈ`,Implies:`⇒`,Int:`∬`,Integral:`∫`,Intersection:`⋂`,InvisibleComma:`⁣`,InvisibleTimes:`⁢`,Iogon:`Į`,Iopf:`𝕀`,Iota:`Ι`,Iscr:`ℐ`,Itilde:`Ĩ`,Iukcy:`І`,Iuml:`Ï`,Jcirc:`Ĵ`,Jcy:`Й`,Jfr:`𝔍`,Jopf:`𝕁`,Jscr:`𝒥`,Jsercy:`Ј`,Jukcy:`Є`,KHcy:`Х`,KJcy:`Ќ`,Kappa:`Κ`,Kcedil:`Ķ`,Kcy:`К`,Kfr:`𝔎`,Kopf:`𝕂`,Kscr:`𝒦`,LJcy:`Љ`,LT:`<`,Lacute:`Ĺ`,Lambda:`Λ`,Lang:`⟪`,Laplacetrf:`ℒ`,Larr:`↞`,Lcaron:`Ľ`,Lcedil:`Ļ`,Lcy:`Л`,LeftAngleBracket:`⟨`,LeftArrow:`←`,LeftArrowBar:`⇤`,LeftArrowRightArrow:`⇆`,LeftCeiling:`⌈`,LeftDoubleBracket:`⟦`,LeftDownTeeVector:`⥡`,LeftDownVector:`⇃`,LeftDownVectorBar:`⥙`,LeftFloor:`⌊`,LeftRightArrow:`↔`,LeftRightVector:`⥎`,LeftTee:`⊣`,LeftTeeArrow:`↤`,LeftTeeVector:`⥚`,LeftTriangle:`⊲`,LeftTriangleBar:`⧏`,LeftTriangleEqual:`⊴`,LeftUpDownVector:`⥑`,LeftUpTeeVector:`⥠`,LeftUpVector:`↿`,LeftUpVectorBar:`⥘`,LeftVector:`↼`,LeftVectorBar:`⥒`,Leftarrow:`⇐`,Leftrightarrow:`⇔`,LessEqualGreater:`⋚`,LessFullEqual:`≦`,LessGreater:`≶`,LessLess:`⪡`,LessSlantEqual:`⩽`,LessTilde:`≲`,Lfr:`𝔏`,Ll:`⋘`,Lleftarrow:`⇚`,Lmidot:`Ŀ`,LongLeftArrow:`⟵`,LongLeftRightArrow:`⟷`,LongRightArrow:`⟶`,Longleftarrow:`⟸`,Longleftrightarrow:`⟺`,Longrightarrow:`⟹`,Lopf:`𝕃`,LowerLeftArrow:`↙`,LowerRightArrow:`↘`,Lscr:`ℒ`,Lsh:`↰`,Lstrok:`Ł`,Lt:`≪`,Map:`⤅`,Mcy:`М`,MediumSpace:` `,Mellintrf:`ℳ`,Mfr:`𝔐`,MinusPlus:`∓`,Mopf:`𝕄`,Mscr:`ℳ`,Mu:`Μ`,NJcy:`Њ`,Nacute:`Ń`,Ncaron:`Ň`,Ncedil:`Ņ`,Ncy:`Н`,NegativeMediumSpace:`​`,NegativeThickSpace:`​`,NegativeThinSpace:`​`,NegativeVeryThinSpace:`​`,NestedGreaterGreater:`≫`,NestedLessLess:`≪`,NewLine:`
404
- `,Nfr:`𝔑`,NoBreak:`⁠`,NonBreakingSpace:`\xA0`,Nopf:`ℕ`,Not:`⫬`,NotCongruent:`≢`,NotCupCap:`≭`,NotDoubleVerticalBar:`∦`,NotElement:`∉`,NotEqual:`≠`,NotEqualTilde:`≂̸`,NotExists:`∄`,NotGreater:`≯`,NotGreaterEqual:`≱`,NotGreaterFullEqual:`≧̸`,NotGreaterGreater:`≫̸`,NotGreaterLess:`≹`,NotGreaterSlantEqual:`⩾̸`,NotGreaterTilde:`≵`,NotHumpDownHump:`≎̸`,NotHumpEqual:`≏̸`,NotLeftTriangle:`⋪`,NotLeftTriangleBar:`⧏̸`,NotLeftTriangleEqual:`⋬`,NotLess:`≮`,NotLessEqual:`≰`,NotLessGreater:`≸`,NotLessLess:`≪̸`,NotLessSlantEqual:`⩽̸`,NotLessTilde:`≴`,NotNestedGreaterGreater:`⪢̸`,NotNestedLessLess:`⪡̸`,NotPrecedes:`⊀`,NotPrecedesEqual:`⪯̸`,NotPrecedesSlantEqual:`⋠`,NotReverseElement:`∌`,NotRightTriangle:`⋫`,NotRightTriangleBar:`⧐̸`,NotRightTriangleEqual:`⋭`,NotSquareSubset:`⊏̸`,NotSquareSubsetEqual:`⋢`,NotSquareSuperset:`⊐̸`,NotSquareSupersetEqual:`⋣`,NotSubset:`⊂⃒`,NotSubsetEqual:`⊈`,NotSucceeds:`⊁`,NotSucceedsEqual:`⪰̸`,NotSucceedsSlantEqual:`⋡`,NotSucceedsTilde:`≿̸`,NotSuperset:`⊃⃒`,NotSupersetEqual:`⊉`,NotTilde:`≁`,NotTildeEqual:`≄`,NotTildeFullEqual:`≇`,NotTildeTilde:`≉`,NotVerticalBar:`∤`,Nscr:`𝒩`,Ntilde:`Ñ`,Nu:`Ν`,OElig:`Œ`,Oacute:`Ó`,Ocirc:`Ô`,Ocy:`О`,Odblac:`Ő`,Ofr:`𝔒`,Ograve:`Ò`,Omacr:`Ō`,Omega:`Ω`,Omicron:`Ο`,Oopf:`𝕆`,OpenCurlyDoubleQuote:`“`,OpenCurlyQuote:`‘`,Or:`⩔`,Oscr:`𝒪`,Oslash:`Ø`,Otilde:`Õ`,Otimes:`⨷`,Ouml:`Ö`,OverBar:`‾`,OverBrace:`⏞`,OverBracket:`⎴`,OverParenthesis:`⏜`,PartialD:`∂`,Pcy:`П`,Pfr:`𝔓`,Phi:`Φ`,Pi:`Π`,PlusMinus:`±`,Poincareplane:`ℌ`,Popf:`ℙ`,Pr:`⪻`,Precedes:`≺`,PrecedesEqual:`⪯`,PrecedesSlantEqual:`≼`,PrecedesTilde:`≾`,Prime:`″`,Product:`∏`,Proportion:`∷`,Proportional:`∝`,Pscr:`𝒫`,Psi:`Ψ`,QUOT:`"`,Qfr:`𝔔`,Qopf:`ℚ`,Qscr:`𝒬`,RBarr:`⤐`,REG:`®`,Racute:`Ŕ`,Rang:`⟫`,Rarr:`↠`,Rarrtl:`⤖`,Rcaron:`Ř`,Rcedil:`Ŗ`,Rcy:`Р`,Re:`ℜ`,ReverseElement:`∋`,ReverseEquilibrium:`⇋`,ReverseUpEquilibrium:`⥯`,Rfr:`ℜ`,Rho:`Ρ`,RightAngleBracket:`⟩`,RightArrow:`→`,RightArrowBar:`⇥`,RightArrowLeftArrow:`⇄`,RightCeiling:`⌉`,RightDoubleBracket:`⟧`,RightDownTeeVector:`⥝`,RightDownVector:`⇂`,RightDownVectorBar:`⥕`,RightFloor:`⌋`,RightTee:`⊢`,RightTeeArrow:`↦`,RightTeeVector:`⥛`,RightTriangle:`⊳`,RightTriangleBar:`⧐`,RightTriangleEqual:`⊵`,RightUpDownVector:`⥏`,RightUpTeeVector:`⥜`,RightUpVector:`↾`,RightUpVectorBar:`⥔`,RightVector:`⇀`,RightVectorBar:`⥓`,Rightarrow:`⇒`,Ropf:`ℝ`,RoundImplies:`⥰`,Rrightarrow:`⇛`,Rscr:`ℛ`,Rsh:`↱`,RuleDelayed:`⧴`,SHCHcy:`Щ`,SHcy:`Ш`,SOFTcy:`Ь`,Sacute:`Ś`,Sc:`⪼`,Scaron:`Š`,Scedil:`Ş`,Scirc:`Ŝ`,Scy:`С`,Sfr:`𝔖`,ShortDownArrow:`↓`,ShortLeftArrow:`←`,ShortRightArrow:`→`,ShortUpArrow:`↑`,Sigma:`Σ`,SmallCircle:`∘`,Sopf:`𝕊`,Sqrt:`√`,Square:`□`,SquareIntersection:`⊓`,SquareSubset:`⊏`,SquareSubsetEqual:`⊑`,SquareSuperset:`⊐`,SquareSupersetEqual:`⊒`,SquareUnion:`⊔`,Sscr:`𝒮`,Star:`⋆`,Sub:`⋐`,Subset:`⋐`,SubsetEqual:`⊆`,Succeeds:`≻`,SucceedsEqual:`⪰`,SucceedsSlantEqual:`≽`,SucceedsTilde:`≿`,SuchThat:`∋`,Sum:`∑`,Sup:`⋑`,Superset:`⊃`,SupersetEqual:`⊇`,Supset:`⋑`,THORN:`Þ`,TRADE:`™`,TSHcy:`Ћ`,TScy:`Ц`,Tab:` `,Tau:`Τ`,Tcaron:`Ť`,Tcedil:`Ţ`,Tcy:`Т`,Tfr:`𝔗`,Therefore:`∴`,Theta:`Θ`,ThickSpace:`  `,ThinSpace:` `,Tilde:`∼`,TildeEqual:`≃`,TildeFullEqual:`≅`,TildeTilde:`≈`,Topf:`𝕋`,TripleDot:`⃛`,Tscr:`𝒯`,Tstrok:`Ŧ`,Uacute:`Ú`,Uarr:`↟`,Uarrocir:`⥉`,Ubrcy:`Ў`,Ubreve:`Ŭ`,Ucirc:`Û`,Ucy:`У`,Udblac:`Ű`,Ufr:`𝔘`,Ugrave:`Ù`,Umacr:`Ū`,UnderBar:`_`,UnderBrace:`⏟`,UnderBracket:`⎵`,UnderParenthesis:`⏝`,Union:`⋃`,UnionPlus:`⊎`,Uogon:`Ų`,Uopf:`𝕌`,UpArrow:`↑`,UpArrowBar:`⤒`,UpArrowDownArrow:`⇅`,UpDownArrow:`↕`,UpEquilibrium:`⥮`,UpTee:`⊥`,UpTeeArrow:`↥`,Uparrow:`⇑`,Updownarrow:`⇕`,UpperLeftArrow:`↖`,UpperRightArrow:`↗`,Upsi:`ϒ`,Upsilon:`Υ`,Uring:`Ů`,Uscr:`𝒰`,Utilde:`Ũ`,Uuml:`Ü`,VDash:`⊫`,Vbar:`⫫`,Vcy:`В`,Vdash:`⊩`,Vdashl:`⫦`,Vee:`⋁`,Verbar:`‖`,Vert:`‖`,VerticalBar:`∣`,VerticalLine:`|`,VerticalSeparator:`❘`,VerticalTilde:`≀`,VeryThinSpace:` `,Vfr:`𝔙`,Vopf:`𝕍`,Vscr:`𝒱`,Vvdash:`⊪`,Wcirc:`Ŵ`,Wedge:`⋀`,Wfr:`𝔚`,Wopf:`𝕎`,Wscr:`𝒲`,Xfr:`𝔛`,Xi:`Ξ`,Xopf:`𝕏`,Xscr:`𝒳`,YAcy:`Я`,YIcy:`Ї`,YUcy:`Ю`,Yacute:`Ý`,Ycirc:`Ŷ`,Ycy:`Ы`,Yfr:`𝔜`,Yopf:`𝕐`,Yscr:`𝒴`,Yuml:`Ÿ`,ZHcy:`Ж`,Zacute:`Ź`,Zcaron:`Ž`,Zcy:`З`,Zdot:`Ż`,ZeroWidthSpace:`​`,Zeta:`Ζ`,Zfr:`ℨ`,Zopf:`ℤ`,Zscr:`𝒵`,aacute:`á`,abreve:`ă`,ac:`∾`,acE:`∾̳`,acd:`∿`,acirc:`â`,acute:`´`,acy:`а`,aelig:`æ`,af:`⁡`,afr:`𝔞`,agrave:`à`,alefsym:`ℵ`,aleph:`ℵ`,alpha:`α`,amacr:`ā`,amalg:`⨿`,amp:`&`,and:`∧`,andand:`⩕`,andd:`⩜`,andslope:`⩘`,andv:`⩚`,ang:`∠`,ange:`⦤`,angle:`∠`,angmsd:`∡`,angmsdaa:`⦨`,angmsdab:`⦩`,angmsdac:`⦪`,angmsdad:`⦫`,angmsdae:`⦬`,angmsdaf:`⦭`,angmsdag:`⦮`,angmsdah:`⦯`,angrt:`∟`,angrtvb:`⊾`,angrtvbd:`⦝`,angsph:`∢`,angst:`Å`,angzarr:`⍼`,aogon:`ą`,aopf:`𝕒`,ap:`≈`,apE:`⩰`,apacir:`⩯`,ape:`≊`,apid:`≋`,apos:`'`,approx:`≈`,approxeq:`≊`,aring:`å`,ascr:`𝒶`,ast:`*`,asymp:`≈`,asympeq:`≍`,atilde:`ã`,auml:`ä`,awconint:`∳`,awint:`⨑`,bNot:`⫭`,backcong:`≌`,backepsilon:`϶`,backprime:`‵`,backsim:`∽`,backsimeq:`⋍`,barvee:`⊽`,barwed:`⌅`,barwedge:`⌅`,bbrk:`⎵`,bbrktbrk:`⎶`,bcong:`≌`,bcy:`б`,bdquo:`„`,becaus:`∵`,because:`∵`,bemptyv:`⦰`,bepsi:`϶`,bernou:`ℬ`,beta:`β`,beth:`ℶ`,between:`≬`,bfr:`𝔟`,bigcap:`⋂`,bigcirc:`◯`,bigcup:`⋃`,bigodot:`⨀`,bigoplus:`⨁`,bigotimes:`⨂`,bigsqcup:`⨆`,bigstar:`★`,bigtriangledown:`▽`,bigtriangleup:`△`,biguplus:`⨄`,bigvee:`⋁`,bigwedge:`⋀`,bkarow:`⤍`,blacklozenge:`⧫`,blacksquare:`▪`,blacktriangle:`▴`,blacktriangledown:`▾`,blacktriangleleft:`◂`,blacktriangleright:`▸`,blank:`␣`,blk12:`▒`,blk14:`░`,blk34:`▓`,block:`█`,bne:`=⃥`,bnequiv:`≡⃥`,bnot:`⌐`,bopf:`𝕓`,bot:`⊥`,bottom:`⊥`,bowtie:`⋈`,boxDL:`╗`,boxDR:`╔`,boxDl:`╖`,boxDr:`╓`,boxH:`═`,boxHD:`╦`,boxHU:`╩`,boxHd:`╤`,boxHu:`╧`,boxUL:`╝`,boxUR:`╚`,boxUl:`╜`,boxUr:`╙`,boxV:`║`,boxVH:`╬`,boxVL:`╣`,boxVR:`╠`,boxVh:`╫`,boxVl:`╢`,boxVr:`╟`,boxbox:`⧉`,boxdL:`╕`,boxdR:`╒`,boxdl:`┐`,boxdr:`┌`,boxh:`─`,boxhD:`╥`,boxhU:`╨`,boxhd:`┬`,boxhu:`┴`,boxminus:`⊟`,boxplus:`⊞`,boxtimes:`⊠`,boxuL:`╛`,boxuR:`╘`,boxul:`┘`,boxur:`└`,boxv:`│`,boxvH:`╪`,boxvL:`╡`,boxvR:`╞`,boxvh:`┼`,boxvl:`┤`,boxvr:`├`,bprime:`‵`,breve:`˘`,brvbar:`¦`,bscr:`𝒷`,bsemi:`⁏`,bsim:`∽`,bsime:`⋍`,bsol:`\\`,bsolb:`⧅`,bsolhsub:`⟈`,bull:`•`,bullet:`•`,bump:`≎`,bumpE:`⪮`,bumpe:`≏`,bumpeq:`≏`,cacute:`ć`,cap:`∩`,capand:`⩄`,capbrcup:`⩉`,capcap:`⩋`,capcup:`⩇`,capdot:`⩀`,caps:`∩︀`,caret:`⁁`,caron:`ˇ`,ccaps:`⩍`,ccaron:`č`,ccedil:`ç`,ccirc:`ĉ`,ccups:`⩌`,ccupssm:`⩐`,cdot:`ċ`,cedil:`¸`,cemptyv:`⦲`,cent:`¢`,centerdot:`·`,cfr:`𝔠`,chcy:`ч`,check:`✓`,checkmark:`✓`,chi:`χ`,cir:`○`,cirE:`⧃`,circ:`ˆ`,circeq:`≗`,circlearrowleft:`↺`,circlearrowright:`↻`,circledR:`®`,circledS:`Ⓢ`,circledast:`⊛`,circledcirc:`⊚`,circleddash:`⊝`,cire:`≗`,cirfnint:`⨐`,cirmid:`⫯`,cirscir:`⧂`,clubs:`♣`,clubsuit:`♣`,colon:`:`,colone:`≔`,coloneq:`≔`,comma:`,`,commat:`@`,comp:`∁`,compfn:`∘`,complement:`∁`,complexes:`ℂ`,cong:`≅`,congdot:`⩭`,conint:`∮`,copf:`𝕔`,coprod:`∐`,copy:`©`,copysr:`℗`,crarr:`↵`,cross:`✗`,cscr:`𝒸`,csub:`⫏`,csube:`⫑`,csup:`⫐`,csupe:`⫒`,ctdot:`⋯`,cudarrl:`⤸`,cudarrr:`⤵`,cuepr:`⋞`,cuesc:`⋟`,cularr:`↶`,cularrp:`⤽`,cup:`∪`,cupbrcap:`⩈`,cupcap:`⩆`,cupcup:`⩊`,cupdot:`⊍`,cupor:`⩅`,cups:`∪︀`,curarr:`↷`,curarrm:`⤼`,curlyeqprec:`⋞`,curlyeqsucc:`⋟`,curlyvee:`⋎`,curlywedge:`⋏`,curren:`¤`,curvearrowleft:`↶`,curvearrowright:`↷`,cuvee:`⋎`,cuwed:`⋏`,cwconint:`∲`,cwint:`∱`,cylcty:`⌭`,dArr:`⇓`,dHar:`⥥`,dagger:`†`,daleth:`ℸ`,darr:`↓`,dash:`‐`,dashv:`⊣`,dbkarow:`⤏`,dblac:`˝`,dcaron:`ď`,dcy:`д`,dd:`ⅆ`,ddagger:`‡`,ddarr:`⇊`,ddotseq:`⩷`,deg:`°`,delta:`δ`,demptyv:`⦱`,dfisht:`⥿`,dfr:`𝔡`,dharl:`⇃`,dharr:`⇂`,diam:`⋄`,diamond:`⋄`,diamondsuit:`♦`,diams:`♦`,die:`¨`,digamma:`ϝ`,disin:`⋲`,div:`÷`,divide:`÷`,divideontimes:`⋇`,divonx:`⋇`,djcy:`ђ`,dlcorn:`⌞`,dlcrop:`⌍`,dollar:`$`,dopf:`𝕕`,dot:`˙`,doteq:`≐`,doteqdot:`≑`,dotminus:`∸`,dotplus:`∔`,dotsquare:`⊡`,doublebarwedge:`⌆`,downarrow:`↓`,downdownarrows:`⇊`,downharpoonleft:`⇃`,downharpoonright:`⇂`,drbkarow:`⤐`,drcorn:`⌟`,drcrop:`⌌`,dscr:`𝒹`,dscy:`ѕ`,dsol:`⧶`,dstrok:`đ`,dtdot:`⋱`,dtri:`▿`,dtrif:`▾`,duarr:`⇵`,duhar:`⥯`,dwangle:`⦦`,dzcy:`џ`,dzigrarr:`⟿`,eDDot:`⩷`,eDot:`≑`,eacute:`é`,easter:`⩮`,ecaron:`ě`,ecir:`≖`,ecirc:`ê`,ecolon:`≕`,ecy:`э`,edot:`ė`,ee:`ⅇ`,efDot:`≒`,efr:`𝔢`,eg:`⪚`,egrave:`è`,egs:`⪖`,egsdot:`⪘`,el:`⪙`,elinters:`⏧`,ell:`ℓ`,els:`⪕`,elsdot:`⪗`,emacr:`ē`,empty:`∅`,emptyset:`∅`,emptyv:`∅`,emsp13:` `,emsp14:` `,emsp:` `,eng:`ŋ`,ensp:` `,eogon:`ę`,eopf:`𝕖`,epar:`⋕`,eparsl:`⧣`,eplus:`⩱`,epsi:`ε`,epsilon:`ε`,epsiv:`ϵ`,eqcirc:`≖`,eqcolon:`≕`,eqsim:`≂`,eqslantgtr:`⪖`,eqslantless:`⪕`,equals:`=`,equest:`≟`,equiv:`≡`,equivDD:`⩸`,eqvparsl:`⧥`,erDot:`≓`,erarr:`⥱`,escr:`ℯ`,esdot:`≐`,esim:`≂`,eta:`η`,eth:`ð`,euml:`ë`,euro:`€`,excl:`!`,exist:`∃`,expectation:`ℰ`,exponentiale:`ⅇ`,fallingdotseq:`≒`,fcy:`ф`,female:`♀`,ffilig:`ffi`,fflig:`ff`,ffllig:`ffl`,ffr:`𝔣`,filig:`fi`,fjlig:`fj`,flat:`♭`,fllig:`fl`,fltns:`▱`,fnof:`ƒ`,fopf:`𝕗`,forall:`∀`,fork:`⋔`,forkv:`⫙`,fpartint:`⨍`,frac12:`½`,frac13:`⅓`,frac14:`¼`,frac15:`⅕`,frac16:`⅙`,frac18:`⅛`,frac23:`⅔`,frac25:`⅖`,frac34:`¾`,frac35:`⅗`,frac38:`⅜`,frac45:`⅘`,frac56:`⅚`,frac58:`⅝`,frac78:`⅞`,frasl:`⁄`,frown:`⌢`,fscr:`𝒻`,gE:`≧`,gEl:`⪌`,gacute:`ǵ`,gamma:`γ`,gammad:`ϝ`,gap:`⪆`,gbreve:`ğ`,gcirc:`ĝ`,gcy:`г`,gdot:`ġ`,ge:`≥`,gel:`⋛`,geq:`≥`,geqq:`≧`,geqslant:`⩾`,ges:`⩾`,gescc:`⪩`,gesdot:`⪀`,gesdoto:`⪂`,gesdotol:`⪄`,gesl:`⋛︀`,gesles:`⪔`,gfr:`𝔤`,gg:`≫`,ggg:`⋙`,gimel:`ℷ`,gjcy:`ѓ`,gl:`≷`,glE:`⪒`,gla:`⪥`,glj:`⪤`,gnE:`≩`,gnap:`⪊`,gnapprox:`⪊`,gne:`⪈`,gneq:`⪈`,gneqq:`≩`,gnsim:`⋧`,gopf:`𝕘`,grave:"`",gscr:`ℊ`,gsim:`≳`,gsime:`⪎`,gsiml:`⪐`,gt:`>`,gtcc:`⪧`,gtcir:`⩺`,gtdot:`⋗`,gtlPar:`⦕`,gtquest:`⩼`,gtrapprox:`⪆`,gtrarr:`⥸`,gtrdot:`⋗`,gtreqless:`⋛`,gtreqqless:`⪌`,gtrless:`≷`,gtrsim:`≳`,gvertneqq:`≩︀`,gvnE:`≩︀`,hArr:`⇔`,hairsp:` `,half:`½`,hamilt:`ℋ`,hardcy:`ъ`,harr:`↔`,harrcir:`⥈`,harrw:`↭`,hbar:`ℏ`,hcirc:`ĥ`,hearts:`♥`,heartsuit:`♥`,hellip:`…`,hercon:`⊹`,hfr:`𝔥`,hksearow:`⤥`,hkswarow:`⤦`,hoarr:`⇿`,homtht:`∻`,hookleftarrow:`↩`,hookrightarrow:`↪`,hopf:`𝕙`,horbar:`―`,hscr:`𝒽`,hslash:`ℏ`,hstrok:`ħ`,hybull:`⁃`,hyphen:`‐`,iacute:`í`,ic:`⁣`,icirc:`î`,icy:`и`,iecy:`е`,iexcl:`¡`,iff:`⇔`,ifr:`𝔦`,igrave:`ì`,ii:`ⅈ`,iiiint:`⨌`,iiint:`∭`,iinfin:`⧜`,iiota:`℩`,ijlig:`ij`,imacr:`ī`,image:`ℑ`,imagline:`ℐ`,imagpart:`ℑ`,imath:`ı`,imof:`⊷`,imped:`Ƶ`,in:`∈`,incare:`℅`,infin:`∞`,infintie:`⧝`,inodot:`ı`,int:`∫`,intcal:`⊺`,integers:`ℤ`,intercal:`⊺`,intlarhk:`⨗`,intprod:`⨼`,iocy:`ё`,iogon:`į`,iopf:`𝕚`,iota:`ι`,iprod:`⨼`,iquest:`¿`,iscr:`𝒾`,isin:`∈`,isinE:`⋹`,isindot:`⋵`,isins:`⋴`,isinsv:`⋳`,isinv:`∈`,it:`⁢`,itilde:`ĩ`,iukcy:`і`,iuml:`ï`,jcirc:`ĵ`,jcy:`й`,jfr:`𝔧`,jmath:`ȷ`,jopf:`𝕛`,jscr:`𝒿`,jsercy:`ј`,jukcy:`є`,kappa:`κ`,kappav:`ϰ`,kcedil:`ķ`,kcy:`к`,kfr:`𝔨`,kgreen:`ĸ`,khcy:`х`,kjcy:`ќ`,kopf:`𝕜`,kscr:`𝓀`,lAarr:`⇚`,lArr:`⇐`,lAtail:`⤛`,lBarr:`⤎`,lE:`≦`,lEg:`⪋`,lHar:`⥢`,lacute:`ĺ`,laemptyv:`⦴`,lagran:`ℒ`,lambda:`λ`,lang:`⟨`,langd:`⦑`,langle:`⟨`,lap:`⪅`,laquo:`«`,larr:`←`,larrb:`⇤`,larrbfs:`⤟`,larrfs:`⤝`,larrhk:`↩`,larrlp:`↫`,larrpl:`⤹`,larrsim:`⥳`,larrtl:`↢`,lat:`⪫`,latail:`⤙`,late:`⪭`,lates:`⪭︀`,lbarr:`⤌`,lbbrk:`❲`,lbrace:`{`,lbrack:`[`,lbrke:`⦋`,lbrksld:`⦏`,lbrkslu:`⦍`,lcaron:`ľ`,lcedil:`ļ`,lceil:`⌈`,lcub:`{`,lcy:`л`,ldca:`⤶`,ldquo:`“`,ldquor:`„`,ldrdhar:`⥧`,ldrushar:`⥋`,ldsh:`↲`,le:`≤`,leftarrow:`←`,leftarrowtail:`↢`,leftharpoondown:`↽`,leftharpoonup:`↼`,leftleftarrows:`⇇`,leftrightarrow:`↔`,leftrightarrows:`⇆`,leftrightharpoons:`⇋`,leftrightsquigarrow:`↭`,leftthreetimes:`⋋`,leg:`⋚`,leq:`≤`,leqq:`≦`,leqslant:`⩽`,les:`⩽`,lescc:`⪨`,lesdot:`⩿`,lesdoto:`⪁`,lesdotor:`⪃`,lesg:`⋚︀`,lesges:`⪓`,lessapprox:`⪅`,lessdot:`⋖`,lesseqgtr:`⋚`,lesseqqgtr:`⪋`,lessgtr:`≶`,lesssim:`≲`,lfisht:`⥼`,lfloor:`⌊`,lfr:`𝔩`,lg:`≶`,lgE:`⪑`,lhard:`↽`,lharu:`↼`,lharul:`⥪`,lhblk:`▄`,ljcy:`љ`,ll:`≪`,llarr:`⇇`,llcorner:`⌞`,llhard:`⥫`,lltri:`◺`,lmidot:`ŀ`,lmoust:`⎰`,lmoustache:`⎰`,lnE:`≨`,lnap:`⪉`,lnapprox:`⪉`,lne:`⪇`,lneq:`⪇`,lneqq:`≨`,lnsim:`⋦`,loang:`⟬`,loarr:`⇽`,lobrk:`⟦`,longleftarrow:`⟵`,longleftrightarrow:`⟷`,longmapsto:`⟼`,longrightarrow:`⟶`,looparrowleft:`↫`,looparrowright:`↬`,lopar:`⦅`,lopf:`𝕝`,loplus:`⨭`,lotimes:`⨴`,lowast:`∗`,lowbar:`_`,loz:`◊`,lozenge:`◊`,lozf:`⧫`,lpar:`(`,lparlt:`⦓`,lrarr:`⇆`,lrcorner:`⌟`,lrhar:`⇋`,lrhard:`⥭`,lrm:`‎`,lrtri:`⊿`,lsaquo:`‹`,lscr:`𝓁`,lsh:`↰`,lsim:`≲`,lsime:`⪍`,lsimg:`⪏`,lsqb:`[`,lsquo:`‘`,lsquor:`‚`,lstrok:`ł`,lt:`<`,ltcc:`⪦`,ltcir:`⩹`,ltdot:`⋖`,lthree:`⋋`,ltimes:`⋉`,ltlarr:`⥶`,ltquest:`⩻`,ltrPar:`⦖`,ltri:`◃`,ltrie:`⊴`,ltrif:`◂`,lurdshar:`⥊`,luruhar:`⥦`,lvertneqq:`≨︀`,lvnE:`≨︀`,mDDot:`∺`,macr:`¯`,male:`♂`,malt:`✠`,maltese:`✠`,map:`↦`,mapsto:`↦`,mapstodown:`↧`,mapstoleft:`↤`,mapstoup:`↥`,marker:`▮`,mcomma:`⨩`,mcy:`м`,mdash:`—`,measuredangle:`∡`,mfr:`𝔪`,mho:`℧`,micro:`µ`,mid:`∣`,midast:`*`,midcir:`⫰`,middot:`·`,minus:`−`,minusb:`⊟`,minusd:`∸`,minusdu:`⨪`,mlcp:`⫛`,mldr:`…`,mnplus:`∓`,models:`⊧`,mopf:`𝕞`,mp:`∓`,mscr:`𝓂`,mstpos:`∾`,mu:`μ`,multimap:`⊸`,mumap:`⊸`,nGg:`⋙̸`,nGt:`≫⃒`,nGtv:`≫̸`,nLeftarrow:`⇍`,nLeftrightarrow:`⇎`,nLl:`⋘̸`,nLt:`≪⃒`,nLtv:`≪̸`,nRightarrow:`⇏`,nVDash:`⊯`,nVdash:`⊮`,nabla:`∇`,nacute:`ń`,nang:`∠⃒`,nap:`≉`,napE:`⩰̸`,napid:`≋̸`,napos:`ʼn`,napprox:`≉`,natur:`♮`,natural:`♮`,naturals:`ℕ`,nbsp:`\xA0`,nbump:`≎̸`,nbumpe:`≏̸`,ncap:`⩃`,ncaron:`ň`,ncedil:`ņ`,ncong:`≇`,ncongdot:`⩭̸`,ncup:`⩂`,ncy:`н`,ndash:`–`,ne:`≠`,neArr:`⇗`,nearhk:`⤤`,nearr:`↗`,nearrow:`↗`,nedot:`≐̸`,nequiv:`≢`,nesear:`⤨`,nesim:`≂̸`,nexist:`∄`,nexists:`∄`,nfr:`𝔫`,ngE:`≧̸`,nge:`≱`,ngeq:`≱`,ngeqq:`≧̸`,ngeqslant:`⩾̸`,nges:`⩾̸`,ngsim:`≵`,ngt:`≯`,ngtr:`≯`,nhArr:`⇎`,nharr:`↮`,nhpar:`⫲`,ni:`∋`,nis:`⋼`,nisd:`⋺`,niv:`∋`,njcy:`њ`,nlArr:`⇍`,nlE:`≦̸`,nlarr:`↚`,nldr:`‥`,nle:`≰`,nleftarrow:`↚`,nleftrightarrow:`↮`,nleq:`≰`,nleqq:`≦̸`,nleqslant:`⩽̸`,nles:`⩽̸`,nless:`≮`,nlsim:`≴`,nlt:`≮`,nltri:`⋪`,nltrie:`⋬`,nmid:`∤`,nopf:`𝕟`,not:`¬`,notin:`∉`,notinE:`⋹̸`,notindot:`⋵̸`,notinva:`∉`,notinvb:`⋷`,notinvc:`⋶`,notni:`∌`,notniva:`∌`,notnivb:`⋾`,notnivc:`⋽`,npar:`∦`,nparallel:`∦`,nparsl:`⫽⃥`,npart:`∂̸`,npolint:`⨔`,npr:`⊀`,nprcue:`⋠`,npre:`⪯̸`,nprec:`⊀`,npreceq:`⪯̸`,nrArr:`⇏`,nrarr:`↛`,nrarrc:`⤳̸`,nrarrw:`↝̸`,nrightarrow:`↛`,nrtri:`⋫`,nrtrie:`⋭`,nsc:`⊁`,nsccue:`⋡`,nsce:`⪰̸`,nscr:`𝓃`,nshortmid:`∤`,nshortparallel:`∦`,nsim:`≁`,nsime:`≄`,nsimeq:`≄`,nsmid:`∤`,nspar:`∦`,nsqsube:`⋢`,nsqsupe:`⋣`,nsub:`⊄`,nsubE:`⫅̸`,nsube:`⊈`,nsubset:`⊂⃒`,nsubseteq:`⊈`,nsubseteqq:`⫅̸`,nsucc:`⊁`,nsucceq:`⪰̸`,nsup:`⊅`,nsupE:`⫆̸`,nsupe:`⊉`,nsupset:`⊃⃒`,nsupseteq:`⊉`,nsupseteqq:`⫆̸`,ntgl:`≹`,ntilde:`ñ`,ntlg:`≸`,ntriangleleft:`⋪`,ntrianglelefteq:`⋬`,ntriangleright:`⋫`,ntrianglerighteq:`⋭`,nu:`ν`,num:`#`,numero:`№`,numsp:` `,nvDash:`⊭`,nvHarr:`⤄`,nvap:`≍⃒`,nvdash:`⊬`,nvge:`≥⃒`,nvgt:`>⃒`,nvinfin:`⧞`,nvlArr:`⤂`,nvle:`≤⃒`,nvlt:`<⃒`,nvltrie:`⊴⃒`,nvrArr:`⤃`,nvrtrie:`⊵⃒`,nvsim:`∼⃒`,nwArr:`⇖`,nwarhk:`⤣`,nwarr:`↖`,nwarrow:`↖`,nwnear:`⤧`,oS:`Ⓢ`,oacute:`ó`,oast:`⊛`,ocir:`⊚`,ocirc:`ô`,ocy:`о`,odash:`⊝`,odblac:`ő`,odiv:`⨸`,odot:`⊙`,odsold:`⦼`,oelig:`œ`,ofcir:`⦿`,ofr:`𝔬`,ogon:`˛`,ograve:`ò`,ogt:`⧁`,ohbar:`⦵`,ohm:`Ω`,oint:`∮`,olarr:`↺`,olcir:`⦾`,olcross:`⦻`,oline:`‾`,olt:`⧀`,omacr:`ō`,omega:`ω`,omicron:`ο`,omid:`⦶`,ominus:`⊖`,oopf:`𝕠`,opar:`⦷`,operp:`⦹`,oplus:`⊕`,or:`∨`,orarr:`↻`,ord:`⩝`,order:`ℴ`,orderof:`ℴ`,ordf:`ª`,ordm:`º`,origof:`⊶`,oror:`⩖`,orslope:`⩗`,orv:`⩛`,oscr:`ℴ`,oslash:`ø`,osol:`⊘`,otilde:`õ`,otimes:`⊗`,otimesas:`⨶`,ouml:`ö`,ovbar:`⌽`,par:`∥`,para:`¶`,parallel:`∥`,parsim:`⫳`,parsl:`⫽`,part:`∂`,pcy:`п`,percnt:`%`,period:`.`,permil:`‰`,perp:`⊥`,pertenk:`‱`,pfr:`𝔭`,phi:`φ`,phiv:`ϕ`,phmmat:`ℳ`,phone:`☎`,pi:`π`,pitchfork:`⋔`,piv:`ϖ`,planck:`ℏ`,planckh:`ℎ`,plankv:`ℏ`,plus:`+`,plusacir:`⨣`,plusb:`⊞`,pluscir:`⨢`,plusdo:`∔`,plusdu:`⨥`,pluse:`⩲`,plusmn:`±`,plussim:`⨦`,plustwo:`⨧`,pm:`±`,pointint:`⨕`,popf:`𝕡`,pound:`£`,pr:`≺`,prE:`⪳`,prap:`⪷`,prcue:`≼`,pre:`⪯`,prec:`≺`,precapprox:`⪷`,preccurlyeq:`≼`,preceq:`⪯`,precnapprox:`⪹`,precneqq:`⪵`,precnsim:`⋨`,precsim:`≾`,prime:`′`,primes:`ℙ`,prnE:`⪵`,prnap:`⪹`,prnsim:`⋨`,prod:`∏`,profalar:`⌮`,profline:`⌒`,profsurf:`⌓`,prop:`∝`,propto:`∝`,prsim:`≾`,prurel:`⊰`,pscr:`𝓅`,psi:`ψ`,puncsp:` `,qfr:`𝔮`,qint:`⨌`,qopf:`𝕢`,qprime:`⁗`,qscr:`𝓆`,quaternions:`ℍ`,quatint:`⨖`,quest:`?`,questeq:`≟`,quot:`"`,rAarr:`⇛`,rArr:`⇒`,rAtail:`⤜`,rBarr:`⤏`,rHar:`⥤`,race:`∽̱`,racute:`ŕ`,radic:`√`,raemptyv:`⦳`,rang:`⟩`,rangd:`⦒`,range:`⦥`,rangle:`⟩`,raquo:`»`,rarr:`→`,rarrap:`⥵`,rarrb:`⇥`,rarrbfs:`⤠`,rarrc:`⤳`,rarrfs:`⤞`,rarrhk:`↪`,rarrlp:`↬`,rarrpl:`⥅`,rarrsim:`⥴`,rarrtl:`↣`,rarrw:`↝`,ratail:`⤚`,ratio:`∶`,rationals:`ℚ`,rbarr:`⤍`,rbbrk:`❳`,rbrace:`}`,rbrack:`]`,rbrke:`⦌`,rbrksld:`⦎`,rbrkslu:`⦐`,rcaron:`ř`,rcedil:`ŗ`,rceil:`⌉`,rcub:`}`,rcy:`р`,rdca:`⤷`,rdldhar:`⥩`,rdquo:`”`,rdquor:`”`,rdsh:`↳`,real:`ℜ`,realine:`ℛ`,realpart:`ℜ`,reals:`ℝ`,rect:`▭`,reg:`®`,rfisht:`⥽`,rfloor:`⌋`,rfr:`𝔯`,rhard:`⇁`,rharu:`⇀`,rharul:`⥬`,rho:`ρ`,rhov:`ϱ`,rightarrow:`→`,rightarrowtail:`↣`,rightharpoondown:`⇁`,rightharpoonup:`⇀`,rightleftarrows:`⇄`,rightleftharpoons:`⇌`,rightrightarrows:`⇉`,rightsquigarrow:`↝`,rightthreetimes:`⋌`,ring:`˚`,risingdotseq:`≓`,rlarr:`⇄`,rlhar:`⇌`,rlm:`‏`,rmoust:`⎱`,rmoustache:`⎱`,rnmid:`⫮`,roang:`⟭`,roarr:`⇾`,robrk:`⟧`,ropar:`⦆`,ropf:`𝕣`,roplus:`⨮`,rotimes:`⨵`,rpar:`)`,rpargt:`⦔`,rppolint:`⨒`,rrarr:`⇉`,rsaquo:`›`,rscr:`𝓇`,rsh:`↱`,rsqb:`]`,rsquo:`’`,rsquor:`’`,rthree:`⋌`,rtimes:`⋊`,rtri:`▹`,rtrie:`⊵`,rtrif:`▸`,rtriltri:`⧎`,ruluhar:`⥨`,rx:`℞`,sacute:`ś`,sbquo:`‚`,sc:`≻`,scE:`⪴`,scap:`⪸`,scaron:`š`,sccue:`≽`,sce:`⪰`,scedil:`ş`,scirc:`ŝ`,scnE:`⪶`,scnap:`⪺`,scnsim:`⋩`,scpolint:`⨓`,scsim:`≿`,scy:`с`,sdot:`⋅`,sdotb:`⊡`,sdote:`⩦`,seArr:`⇘`,searhk:`⤥`,searr:`↘`,searrow:`↘`,sect:`§`,semi:`;`,seswar:`⤩`,setminus:`∖`,setmn:`∖`,sext:`✶`,sfr:`𝔰`,sfrown:`⌢`,sharp:`♯`,shchcy:`щ`,shcy:`ш`,shortmid:`∣`,shortparallel:`∥`,shy:`­`,sigma:`σ`,sigmaf:`ς`,sigmav:`ς`,sim:`∼`,simdot:`⩪`,sime:`≃`,simeq:`≃`,simg:`⪞`,simgE:`⪠`,siml:`⪝`,simlE:`⪟`,simne:`≆`,simplus:`⨤`,simrarr:`⥲`,slarr:`←`,smallsetminus:`∖`,smashp:`⨳`,smeparsl:`⧤`,smid:`∣`,smile:`⌣`,smt:`⪪`,smte:`⪬`,smtes:`⪬︀`,softcy:`ь`,sol:`/`,solb:`⧄`,solbar:`⌿`,sopf:`𝕤`,spades:`♠`,spadesuit:`♠`,spar:`∥`,sqcap:`⊓`,sqcaps:`⊓︀`,sqcup:`⊔`,sqcups:`⊔︀`,sqsub:`⊏`,sqsube:`⊑`,sqsubset:`⊏`,sqsubseteq:`⊑`,sqsup:`⊐`,sqsupe:`⊒`,sqsupset:`⊐`,sqsupseteq:`⊒`,squ:`□`,square:`□`,squarf:`▪`,squf:`▪`,srarr:`→`,sscr:`𝓈`,ssetmn:`∖`,ssmile:`⌣`,sstarf:`⋆`,star:`☆`,starf:`★`,straightepsilon:`ϵ`,straightphi:`ϕ`,strns:`¯`,sub:`⊂`,subE:`⫅`,subdot:`⪽`,sube:`⊆`,subedot:`⫃`,submult:`⫁`,subnE:`⫋`,subne:`⊊`,subplus:`⪿`,subrarr:`⥹`,subset:`⊂`,subseteq:`⊆`,subseteqq:`⫅`,subsetneq:`⊊`,subsetneqq:`⫋`,subsim:`⫇`,subsub:`⫕`,subsup:`⫓`,succ:`≻`,succapprox:`⪸`,succcurlyeq:`≽`,succeq:`⪰`,succnapprox:`⪺`,succneqq:`⪶`,succnsim:`⋩`,succsim:`≿`,sum:`∑`,sung:`♪`,sup1:`¹`,sup2:`²`,sup3:`³`,sup:`⊃`,supE:`⫆`,supdot:`⪾`,supdsub:`⫘`,supe:`⊇`,supedot:`⫄`,suphsol:`⟉`,suphsub:`⫗`,suplarr:`⥻`,supmult:`⫂`,supnE:`⫌`,supne:`⊋`,supplus:`⫀`,supset:`⊃`,supseteq:`⊇`,supseteqq:`⫆`,supsetneq:`⊋`,supsetneqq:`⫌`,supsim:`⫈`,supsub:`⫔`,supsup:`⫖`,swArr:`⇙`,swarhk:`⤦`,swarr:`↙`,swarrow:`↙`,swnwar:`⤪`,szlig:`ß`,target:`⌖`,tau:`τ`,tbrk:`⎴`,tcaron:`ť`,tcedil:`ţ`,tcy:`т`,tdot:`⃛`,telrec:`⌕`,tfr:`𝔱`,there4:`∴`,therefore:`∴`,theta:`θ`,thetasym:`ϑ`,thetav:`ϑ`,thickapprox:`≈`,thicksim:`∼`,thinsp:` `,thkap:`≈`,thksim:`∼`,thorn:`þ`,tilde:`˜`,times:`×`,timesb:`⊠`,timesbar:`⨱`,timesd:`⨰`,tint:`∭`,toea:`⤨`,top:`⊤`,topbot:`⌶`,topcir:`⫱`,topf:`𝕥`,topfork:`⫚`,tosa:`⤩`,tprime:`‴`,trade:`™`,triangle:`▵`,triangledown:`▿`,triangleleft:`◃`,trianglelefteq:`⊴`,triangleq:`≜`,triangleright:`▹`,trianglerighteq:`⊵`,tridot:`◬`,trie:`≜`,triminus:`⨺`,triplus:`⨹`,trisb:`⧍`,tritime:`⨻`,trpezium:`⏢`,tscr:`𝓉`,tscy:`ц`,tshcy:`ћ`,tstrok:`ŧ`,twixt:`≬`,twoheadleftarrow:`↞`,twoheadrightarrow:`↠`,uArr:`⇑`,uHar:`⥣`,uacute:`ú`,uarr:`↑`,ubrcy:`ў`,ubreve:`ŭ`,ucirc:`û`,ucy:`у`,udarr:`⇅`,udblac:`ű`,udhar:`⥮`,ufisht:`⥾`,ufr:`𝔲`,ugrave:`ù`,uharl:`↿`,uharr:`↾`,uhblk:`▀`,ulcorn:`⌜`,ulcorner:`⌜`,ulcrop:`⌏`,ultri:`◸`,umacr:`ū`,uml:`¨`,uogon:`ų`,uopf:`𝕦`,uparrow:`↑`,updownarrow:`↕`,upharpoonleft:`↿`,upharpoonright:`↾`,uplus:`⊎`,upsi:`υ`,upsih:`ϒ`,upsilon:`υ`,upuparrows:`⇈`,urcorn:`⌝`,urcorner:`⌝`,urcrop:`⌎`,uring:`ů`,urtri:`◹`,uscr:`𝓊`,utdot:`⋰`,utilde:`ũ`,utri:`▵`,utrif:`▴`,uuarr:`⇈`,uuml:`ü`,uwangle:`⦧`,vArr:`⇕`,vBar:`⫨`,vBarv:`⫩`,vDash:`⊨`,vangrt:`⦜`,varepsilon:`ϵ`,varkappa:`ϰ`,varnothing:`∅`,varphi:`ϕ`,varpi:`ϖ`,varpropto:`∝`,varr:`↕`,varrho:`ϱ`,varsigma:`ς`,varsubsetneq:`⊊︀`,varsubsetneqq:`⫋︀`,varsupsetneq:`⊋︀`,varsupsetneqq:`⫌︀`,vartheta:`ϑ`,vartriangleleft:`⊲`,vartriangleright:`⊳`,vcy:`в`,vdash:`⊢`,vee:`∨`,veebar:`⊻`,veeeq:`≚`,vellip:`⋮`,verbar:`|`,vert:`|`,vfr:`𝔳`,vltri:`⊲`,vnsub:`⊂⃒`,vnsup:`⊃⃒`,vopf:`𝕧`,vprop:`∝`,vrtri:`⊳`,vscr:`𝓋`,vsubnE:`⫋︀`,vsubne:`⊊︀`,vsupnE:`⫌︀`,vsupne:`⊋︀`,vzigzag:`⦚`,wcirc:`ŵ`,wedbar:`⩟`,wedge:`∧`,wedgeq:`≙`,weierp:`℘`,wfr:`𝔴`,wopf:`𝕨`,wp:`℘`,wr:`≀`,wreath:`≀`,wscr:`𝓌`,xcap:`⋂`,xcirc:`◯`,xcup:`⋃`,xdtri:`▽`,xfr:`𝔵`,xhArr:`⟺`,xharr:`⟷`,xi:`ξ`,xlArr:`⟸`,xlarr:`⟵`,xmap:`⟼`,xnis:`⋻`,xodot:`⨀`,xopf:`𝕩`,xoplus:`⨁`,xotime:`⨂`,xrArr:`⟹`,xrarr:`⟶`,xscr:`𝓍`,xsqcup:`⨆`,xuplus:`⨄`,xutri:`△`,xvee:`⋁`,xwedge:`⋀`,yacute:`ý`,yacy:`я`,ycirc:`ŷ`,ycy:`ы`,yen:`¥`,yfr:`𝔶`,yicy:`ї`,yopf:`𝕪`,yscr:`𝓎`,yucy:`ю`,yuml:`ÿ`,zacute:`ź`,zcaron:`ž`,zcy:`з`,zdot:`ż`,zeetrf:`ℨ`,zeta:`ζ`,zfr:`𝔷`,zhcy:`ж`,zigrarr:`⇝`,zopf:`𝕫`,zscr:`𝓏`,zwj:`‍`,zwnj:`‌`},bm={}.hasOwnProperty;function xm(e){return bm.call(ym,e)?ym[e]:!1}function Sm(e,t,n,r){let i=e.length,a=0,o;if(t=t<0?-t>i?0:i+t:t>i?i:t,n=n>0?n:0,r.length<1e4)o=Array.from(r),o.unshift(t,n),e.splice(...o);else for(n&&e.splice(t,n);a<r.length;)o=r.slice(a,a+1e4),o.unshift(t,0),e.splice(...o),a+=1e4,t+=1e4}function Cm(e,t){return e.length>0?(Sm(e,e.length,0,t),e):t}let wm={}.hasOwnProperty;function Tm(e){let t={},n=-1;for(;++n<e.length;)Em(t,e[n]);return t}function Em(e,t){let n;for(n in t){let r=(wm.call(e,n)?e[n]:void 0)||(e[n]={}),i=t[n],a;if(i)for(a in i){wm.call(r,a)||(r[a]=[]);let e=i[a];Dm(r[a],Array.isArray(e)?e:e?[e]:[])}}}function Dm(e,t){let n=-1,r=[];for(;++n<t.length;)(t[n].add===`after`?e:r).push(t[n]);Sm(e,0,0,r)}function Om(e,t){let n=Number.parseInt(e,t);return n<9||n===11||n>13&&n<32||n>126&&n<160||n>55295&&n<57344||n>64975&&n<65008||(n&65535)==65535||(n&65535)==65534||n>1114111?`�`:String.fromCodePoint(n)}function km(e){return e.replace(/[\t\n\r ]+/g,` `).replace(/^ | $/g,``).toLowerCase().toUpperCase()}let Am=Vm(/[A-Za-z]/),jm=Vm(/[\dA-Za-z]/),Mm=Vm(/[#-'*+\--9=?A-Z^-~]/);function Nm(e){return e!==null&&(e<32||e===127)}let Pm=Vm(/\d/),Fm=Vm(/[\dA-Fa-f]/),Im=Vm(/[!-/:-@[-`{-~]/);function $(e){return e!==null&&e<-2}function Lm(e){return e!==null&&(e<0||e===32)}function Rm(e){return e===-2||e===-1||e===32}let zm=Vm(/\p{P}|\p{S}/u),Bm=Vm(/\s/);function Vm(e){return t;function t(t){return t!==null&&t>-1&&e.test(String.fromCharCode(t))}}function Hm(e,t,n,r){let i=r?r-1:1/0,a=0;return o;function o(r){return Rm(r)?(e.enter(n),s(r)):t(r)}function s(r){return Rm(r)&&a++<i?(e.consume(r),s):(e.exit(n),t(r))}}let Um={tokenize:Wm};function Wm(e){let t=e.attempt(this.parser.constructs.contentInitial,r,i),n;return t;function r(n){if(n===null){e.consume(n);return}return e.enter(`lineEnding`),e.consume(n),e.exit(`lineEnding`),Hm(e,t,`linePrefix`)}function i(t){return e.enter(`paragraph`),a(t)}function a(t){let r=e.enter(`chunkText`,{contentType:`text`,previous:n});return n&&(n.next=r),n=r,o(t)}function o(t){if(t===null){e.exit(`chunkText`),e.exit(`paragraph`),e.consume(t);return}return $(t)?(e.consume(t),e.exit(`chunkText`),a):(e.consume(t),o)}}let Gm={tokenize:qm},Km={tokenize:Jm};function qm(e){let t=this,n=[],r=0,i,a,o;return s;function s(i){if(r<n.length){let a=n[r];return t.containerState=a[1],e.attempt(a[0].continuation,c,l)(i)}return l(i)}function c(e){if(r++,t.containerState._closeFlow){t.containerState._closeFlow=void 0,i&&v();let n=t.events.length,a=n,o;for(;a--;)if(t.events[a][0]===`exit`&&t.events[a][1].type===`chunkFlow`){o=t.events[a][1].end;break}_(r);let s=n;for(;s<t.events.length;)t.events[s][1].end={...o},s++;return Sm(t.events,a+1,0,t.events.slice(n)),t.events.length=s,l(e)}return s(e)}function l(a){if(r===n.length){if(!i)return f(a);if(i.currentConstruct&&i.currentConstruct.concrete)return m(a);t.interrupt=!!(i.currentConstruct&&!i._gfmTableDynamicInterruptHack)}return t.containerState={},e.check(Km,u,d)(a)}function u(e){return i&&v(),_(r),f(e)}function d(e){return t.parser.lazy[t.now().line]=r!==n.length,o=t.now().offset,m(e)}function f(n){return t.containerState={},e.attempt(Km,p,m)(n)}function p(e){return r++,n.push([t.currentConstruct,t.containerState]),f(e)}function m(n){if(n===null){i&&v(),_(0),e.consume(n);return}return i||=t.parser.flow(t.now()),e.enter(`chunkFlow`,{_tokenizer:i,contentType:`flow`,previous:a}),h(n)}function h(n){if(n===null){g(e.exit(`chunkFlow`),!0),_(0),e.consume(n);return}return $(n)?(e.consume(n),g(e.exit(`chunkFlow`)),r=0,t.interrupt=void 0,s):(e.consume(n),h)}function g(e,n){let s=t.sliceStream(e);if(n&&s.push(null),e.previous=a,a&&(a.next=e),a=e,i.defineSkip(e.start),i.write(s),t.parser.lazy[e.start.line]){let e=i.events.length;for(;e--;)if(i.events[e][1].start.offset<o&&(!i.events[e][1].end||i.events[e][1].end.offset>o))return;let n=t.events.length,a=n,s,c;for(;a--;)if(t.events[a][0]===`exit`&&t.events[a][1].type===`chunkFlow`){if(s){c=t.events[a][1].end;break}s=!0}for(_(r),e=n;e<t.events.length;)t.events[e][1].end={...c},e++;Sm(t.events,a+1,0,t.events.slice(n)),t.events.length=e}}function _(r){let i=n.length;for(;i-->r;){let r=n[i];t.containerState=r[1],r[0].exit.call(t,e)}n.length=r}function v(){i.write([null]),a=void 0,i=void 0,t.containerState._closeFlow=void 0}}function Jm(e,t,n){return Hm(e,e.attempt(this.parser.constructs.document,t,n),`linePrefix`,this.parser.constructs.disable.null.includes(`codeIndented`)?void 0:4)}function Ym(e){if(e===null||Lm(e)||Bm(e))return 1;if(zm(e))return 2}function Xm(e,t,n){let r=[],i=-1;for(;++i<e.length;){let a=e[i].resolveAll;a&&!r.includes(a)&&(t=a(t,n),r.push(a))}return t}let Zm={name:`attention`,resolveAll:Qm,tokenize:$m};function Qm(e,t){let n=-1,r,i,a,o,s,c,l,u;for(;++n<e.length;)if(e[n][0]===`enter`&&e[n][1].type===`attentionSequence`&&e[n][1]._close){for(r=n;r--;)if(e[r][0]===`exit`&&e[r][1].type===`attentionSequence`&&e[r][1]._open&&t.sliceSerialize(e[r][1]).charCodeAt(0)===t.sliceSerialize(e[n][1]).charCodeAt(0)){if((e[r][1]._close||e[n][1]._open)&&(e[n][1].end.offset-e[n][1].start.offset)%3&&!((e[r][1].end.offset-e[r][1].start.offset+e[n][1].end.offset-e[n][1].start.offset)%3))continue;c=e[r][1].end.offset-e[r][1].start.offset>1&&e[n][1].end.offset-e[n][1].start.offset>1?2:1;let d={...e[r][1].end},f={...e[n][1].start};eh(d,-c),eh(f,c),o={type:c>1?`strongSequence`:`emphasisSequence`,start:d,end:{...e[r][1].end}},s={type:c>1?`strongSequence`:`emphasisSequence`,start:{...e[n][1].start},end:f},a={type:c>1?`strongText`:`emphasisText`,start:{...e[r][1].end},end:{...e[n][1].start}},i={type:c>1?`strong`:`emphasis`,start:{...o.start},end:{...s.end}},e[r][1].end={...o.start},e[n][1].start={...s.end},l=[],e[r][1].end.offset-e[r][1].start.offset&&(l=Cm(l,[[`enter`,e[r][1],t],[`exit`,e[r][1],t]])),l=Cm(l,[[`enter`,i,t],[`enter`,o,t],[`exit`,o,t],[`enter`,a,t]]),l=Cm(l,Xm(t.parser.constructs.insideSpan.null,e.slice(r+1,n),t)),l=Cm(l,[[`exit`,a,t],[`enter`,s,t],[`exit`,s,t],[`exit`,i,t]]),e[n][1].end.offset-e[n][1].start.offset?(u=2,l=Cm(l,[[`enter`,e[n][1],t],[`exit`,e[n][1],t]])):u=0,Sm(e,r-1,n-r+3,l),n=r+l.length-u-2;break}}for(n=-1;++n<e.length;)e[n][1].type===`attentionSequence`&&(e[n][1].type=`data`);return e}function $m(e,t){let n=this.parser.constructs.attentionMarkers.null,r=this.previous,i=Ym(r),a;return o;function o(t){return a=t,e.enter(`attentionSequence`),s(t)}function s(o){if(o===a)return e.consume(o),s;let c=e.exit(`attentionSequence`),l=Ym(o),u=!l||l===2&&i||n.includes(o),d=!i||i===2&&l||n.includes(r);return c._open=!!(a===42?u:u&&(i||!d)),c._close=!!(a===42?d:d&&(l||!u)),t(o)}}function eh(e,t){e.column+=t,e.offset+=t,e._bufferIndex+=t}let th={name:`autolink`,tokenize:nh};function nh(e,t,n){let r=0;return i;function i(t){return e.enter(`autolink`),e.enter(`autolinkMarker`),e.consume(t),e.exit(`autolinkMarker`),e.enter(`autolinkProtocol`),a}function a(t){return Am(t)?(e.consume(t),o):t===64?n(t):l(t)}function o(e){return e===43||e===45||e===46||jm(e)?(r=1,s(e)):l(e)}function s(t){return t===58?(e.consume(t),r=0,c):(t===43||t===45||t===46||jm(t))&&r++<32?(e.consume(t),s):(r=0,l(t))}function c(r){return r===62?(e.exit(`autolinkProtocol`),e.enter(`autolinkMarker`),e.consume(r),e.exit(`autolinkMarker`),e.exit(`autolink`),t):r===null||r===32||r===60||Nm(r)?n(r):(e.consume(r),c)}function l(t){return t===64?(e.consume(t),u):Mm(t)?(e.consume(t),l):n(t)}function u(e){return jm(e)?d(e):n(e)}function d(n){return n===46?(e.consume(n),r=0,u):n===62?(e.exit(`autolinkProtocol`).type=`autolinkEmail`,e.enter(`autolinkMarker`),e.consume(n),e.exit(`autolinkMarker`),e.exit(`autolink`),t):f(n)}function f(t){if((t===45||jm(t))&&r++<63){let n=t===45?f:d;return e.consume(t),n}return n(t)}}let rh={partial:!0,tokenize:ih};function ih(e,t,n){return r;function r(t){return Rm(t)?Hm(e,i,`linePrefix`)(t):i(t)}function i(e){return e===null||$(e)?t(e):n(e)}}let ah={continuation:{tokenize:sh},exit:ch,name:`blockQuote`,tokenize:oh};function oh(e,t,n){let r=this;return i;function i(t){if(t===62){let n=r.containerState;return n.open||=(e.enter(`blockQuote`,{_container:!0}),!0),e.enter(`blockQuotePrefix`),e.enter(`blockQuoteMarker`),e.consume(t),e.exit(`blockQuoteMarker`),a}return n(t)}function a(n){return Rm(n)?(e.enter(`blockQuotePrefixWhitespace`),e.consume(n),e.exit(`blockQuotePrefixWhitespace`),e.exit(`blockQuotePrefix`),t):(e.exit(`blockQuotePrefix`),t(n))}}function sh(e,t,n){let r=this;return i;function i(t){return Rm(t)?Hm(e,a,`linePrefix`,r.parser.constructs.disable.null.includes(`codeIndented`)?void 0:4)(t):a(t)}function a(r){return e.attempt(ah,t,n)(r)}}function ch(e){e.exit(`blockQuote`)}let lh={name:`characterEscape`,tokenize:uh};function uh(e,t,n){return r;function r(t){return e.enter(`characterEscape`),e.enter(`escapeMarker`),e.consume(t),e.exit(`escapeMarker`),i}function i(r){return Im(r)?(e.enter(`characterEscapeValue`),e.consume(r),e.exit(`characterEscapeValue`),e.exit(`characterEscape`),t):n(r)}}let dh={name:`characterReference`,tokenize:fh};function fh(e,t,n){let r=this,i=0,a,o;return s;function s(t){return e.enter(`characterReference`),e.enter(`characterReferenceMarker`),e.consume(t),e.exit(`characterReferenceMarker`),c}function c(t){return t===35?(e.enter(`characterReferenceMarkerNumeric`),e.consume(t),e.exit(`characterReferenceMarkerNumeric`),l):(e.enter(`characterReferenceValue`),a=31,o=jm,u(t))}function l(t){return t===88||t===120?(e.enter(`characterReferenceMarkerHexadecimal`),e.consume(t),e.exit(`characterReferenceMarkerHexadecimal`),e.enter(`characterReferenceValue`),a=6,o=Fm,u):(e.enter(`characterReferenceValue`),a=7,o=Pm,u(t))}function u(s){if(s===59&&i){let i=e.exit(`characterReferenceValue`);return o===jm&&!xm(r.sliceSerialize(i))?n(s):(e.enter(`characterReferenceMarker`),e.consume(s),e.exit(`characterReferenceMarker`),e.exit(`characterReference`),t)}return o(s)&&i++<a?(e.consume(s),u):n(s)}}let ph={partial:!0,tokenize:gh},mh={concrete:!0,name:`codeFenced`,tokenize:hh};function hh(e,t,n){let r=this,i={partial:!0,tokenize:x},a=0,o=0,s;return c;function c(e){return l(e)}function l(t){let n=r.events[r.events.length-1];return a=n&&n[1].type===`linePrefix`?n[2].sliceSerialize(n[1],!0).length:0,s=t,e.enter(`codeFenced`),e.enter(`codeFencedFence`),e.enter(`codeFencedFenceSequence`),u(t)}function u(t){return t===s?(o++,e.consume(t),u):o<3?n(t):(e.exit(`codeFencedFenceSequence`),Rm(t)?Hm(e,d,`whitespace`)(t):d(t))}function d(n){return n===null||$(n)?(e.exit(`codeFencedFence`),r.interrupt?t(n):e.check(ph,h,b)(n)):(e.enter(`codeFencedFenceInfo`),e.enter(`chunkString`,{contentType:`string`}),f(n))}function f(t){return t===null||$(t)?(e.exit(`chunkString`),e.exit(`codeFencedFenceInfo`),d(t)):Rm(t)?(e.exit(`chunkString`),e.exit(`codeFencedFenceInfo`),Hm(e,p,`whitespace`)(t)):t===96&&t===s?n(t):(e.consume(t),f)}function p(t){return t===null||$(t)?d(t):(e.enter(`codeFencedFenceMeta`),e.enter(`chunkString`,{contentType:`string`}),m(t))}function m(t){return t===null||$(t)?(e.exit(`chunkString`),e.exit(`codeFencedFenceMeta`),d(t)):t===96&&t===s?n(t):(e.consume(t),m)}function h(t){return e.attempt(i,b,g)(t)}function g(t){return e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),_}function _(t){return a>0&&Rm(t)?Hm(e,v,`linePrefix`,a+1)(t):v(t)}function v(t){return t===null||$(t)?e.check(ph,h,b)(t):(e.enter(`codeFlowValue`),y(t))}function y(t){return t===null||$(t)?(e.exit(`codeFlowValue`),v(t)):(e.consume(t),y)}function b(n){return e.exit(`codeFenced`),t(n)}function x(e,t,n){let i=0;return a;function a(t){return e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),c}function c(t){return e.enter(`codeFencedFence`),Rm(t)?Hm(e,l,`linePrefix`,r.parser.constructs.disable.null.includes(`codeIndented`)?void 0:4)(t):l(t)}function l(t){return t===s?(e.enter(`codeFencedFenceSequence`),u(t)):n(t)}function u(t){return t===s?(i++,e.consume(t),u):i>=o?(e.exit(`codeFencedFenceSequence`),Rm(t)?Hm(e,d,`whitespace`)(t):d(t)):n(t)}function d(r){return r===null||$(r)?(e.exit(`codeFencedFence`),t(r)):n(r)}}}function gh(e,t,n){let r=this;return i;function i(t){return t===null?n(t):(e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),a)}function a(e){return r.parser.lazy[r.now().line]?n(e):t(e)}}let _h={name:`codeIndented`,tokenize:yh},vh={partial:!0,tokenize:bh};function yh(e,t,n){let r=this;return i;function i(t){return e.enter(`codeIndented`),Hm(e,a,`linePrefix`,5)(t)}function a(e){let t=r.events[r.events.length-1];return t&&t[1].type===`linePrefix`&&t[2].sliceSerialize(t[1],!0).length>=4?o(e):n(e)}function o(t){return t===null?c(t):$(t)?e.attempt(vh,o,c)(t):(e.enter(`codeFlowValue`),s(t))}function s(t){return t===null||$(t)?(e.exit(`codeFlowValue`),o(t)):(e.consume(t),s)}function c(n){return e.exit(`codeIndented`),t(n)}}function bh(e,t,n){let r=this;return i;function i(t){return r.parser.lazy[r.now().line]?n(t):$(t)?(e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),i):Hm(e,a,`linePrefix`,5)(t)}function a(e){let a=r.events[r.events.length-1];return a&&a[1].type===`linePrefix`&&a[2].sliceSerialize(a[1],!0).length>=4?t(e):$(e)?i(e):n(e)}}let xh={name:`codeText`,previous:Ch,resolve:Sh,tokenize:wh};function Sh(e){let t=e.length-4,n=3,r,i;if((e[n][1].type===`lineEnding`||e[n][1].type===`space`)&&(e[t][1].type===`lineEnding`||e[t][1].type===`space`)){for(r=n;++r<t;)if(e[r][1].type===`codeTextData`){e[n][1].type=`codeTextPadding`,e[t][1].type=`codeTextPadding`,n+=2,t-=2;break}}for(r=n-1,t++;++r<=t;)i===void 0?r!==t&&e[r][1].type!==`lineEnding`&&(i=r):(r===t||e[r][1].type===`lineEnding`)&&(e[i][1].type=`codeTextData`,r!==i+2&&(e[i][1].end=e[r-1][1].end,e.splice(i+2,r-i-2),t-=r-i-2,r=i+2),i=void 0);return e}function Ch(e){return e!==96||this.events[this.events.length-1][1].type===`characterEscape`}function wh(e,t,n){let r=0,i,a;return o;function o(t){return e.enter(`codeText`),e.enter(`codeTextSequence`),s(t)}function s(t){return t===96?(e.consume(t),r++,s):(e.exit(`codeTextSequence`),c(t))}function c(t){return t===null?n(t):t===32?(e.enter(`space`),e.consume(t),e.exit(`space`),c):t===96?(a=e.enter(`codeTextSequence`),i=0,u(t)):$(t)?(e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),c):(e.enter(`codeTextData`),l(t))}function l(t){return t===null||t===32||t===96||$(t)?(e.exit(`codeTextData`),c(t)):(e.consume(t),l)}function u(n){return n===96?(e.consume(n),i++,u):i===r?(e.exit(`codeTextSequence`),e.exit(`codeText`),t(n)):(a.type=`codeTextData`,l(n))}}var Th=class{constructor(e){this.left=e?[...e]:[],this.right=[]}get(e){if(e<0||e>=this.left.length+this.right.length)throw RangeError("Cannot access index `"+e+"` in a splice buffer of size `"+(this.left.length+this.right.length)+"`");return e<this.left.length?this.left[e]:this.right[this.right.length-e+this.left.length-1]}get length(){return this.left.length+this.right.length}shift(){return this.setCursor(0),this.right.pop()}slice(e,t){let n=t??1/0;return n<this.left.length?this.left.slice(e,n):e>this.left.length?this.right.slice(this.right.length-n+this.left.length,this.right.length-e+this.left.length).reverse():this.left.slice(e).concat(this.right.slice(this.right.length-n+this.left.length).reverse())}splice(e,t,n){let r=t||0;this.setCursor(Math.trunc(e));let i=this.right.splice(this.right.length-r,1/0);return n&&Eh(this.left,n),i.reverse()}pop(){return this.setCursor(1/0),this.left.pop()}push(e){this.setCursor(1/0),this.left.push(e)}pushMany(e){this.setCursor(1/0),Eh(this.left,e)}unshift(e){this.setCursor(0),this.right.push(e)}unshiftMany(e){this.setCursor(0),Eh(this.right,e.reverse())}setCursor(e){if(!(e===this.left.length||e>this.left.length&&this.right.length===0||e<0&&this.left.length===0)){if(e<this.left.length){let t=this.left.splice(e,1/0);Eh(this.right,t.reverse())}else{let t=this.right.splice(this.left.length+this.right.length-e,1/0);Eh(this.left,t.reverse())}}}};function Eh(e,t){let n=0;if(t.length<1e4)e.push(...t);else for(;n<t.length;)e.push(...t.slice(n,n+1e4)),n+=1e4}function Dh(e){let t={},n=-1,r,i,a,o,s,c,l,u=new Th(e);for(;++n<u.length;){for(;n in t;)n=t[n];if(r=u.get(n),n&&r[1].type===`chunkFlow`&&u.get(n-1)[1].type===`listItemPrefix`&&(c=r[1]._tokenizer.events,a=0,a<c.length&&c[a][1].type===`lineEndingBlank`&&(a+=2),a<c.length&&c[a][1].type===`content`))for(;++a<c.length&&c[a][1].type!==`content`;)c[a][1].type===`chunkText`&&(c[a][1]._isInFirstContentOfListItem=!0,a++);if(r[0]===`enter`)r[1].contentType&&(Object.assign(t,Oh(u,n)),n=t[n],l=!0);else if(r[1]._container){for(a=n,i=void 0;a--;)if(o=u.get(a),o[1].type===`lineEnding`||o[1].type===`lineEndingBlank`)o[0]===`enter`&&(i&&(u.get(i)[1].type=`lineEndingBlank`),o[1].type=`lineEnding`,i=a);else if(o[1].type!==`linePrefix`&&o[1].type!==`listItemIndent`)break;i&&(r[1].end={...u.get(i)[1].start},s=u.slice(i,n),s.unshift(r),u.splice(i,n-i+1,s))}}return Sm(e,0,1/0,u.slice(0)),!l}function Oh(e,t){let n=e.get(t)[1],r=e.get(t)[2],i=t-1,a=[],o=n._tokenizer;o||(o=r.parser[n.contentType](n.start),n._contentTypeTextTrailing&&(o._contentTypeTextTrailing=!0));let s=o.events,c=[],l={},u,d,f=-1,p=n,m=0,h=0,g=[h];for(;p;){for(;e.get(++i)[1]!==p;);a.push(i),p._tokenizer||(u=r.sliceStream(p),p.next||u.push(null),d&&o.defineSkip(p.start),p._isInFirstContentOfListItem&&(o._gfmTasklistFirstContentOfListItem=!0),o.write(u),p._isInFirstContentOfListItem&&(o._gfmTasklistFirstContentOfListItem=void 0)),d=p,p=p.next}for(p=n;++f<s.length;)s[f][0]===`exit`&&s[f-1][0]===`enter`&&s[f][1].type===s[f-1][1].type&&s[f][1].start.line!==s[f][1].end.line&&(h=f+1,g.push(h),p._tokenizer=void 0,p.previous=void 0,p=p.next);for(o.events=[],p?(p._tokenizer=void 0,p.previous=void 0):g.pop(),f=g.length;f--;){let t=s.slice(g[f],g[f+1]),n=a.pop();c.push([n,n+t.length-1]),e.splice(n,2,t)}for(c.reverse(),f=-1;++f<c.length;)l[m+c[f][0]]=m+c[f][1],m+=c[f][1]-c[f][0]-1;return l}let kh={resolve:jh,tokenize:Mh},Ah={partial:!0,tokenize:Nh};function jh(e){return Dh(e),e}function Mh(e,t){let n;return r;function r(t){return e.enter(`content`),n=e.enter(`chunkContent`,{contentType:`content`}),i(t)}function i(t){return t===null?a(t):$(t)?e.check(Ah,o,a)(t):(e.consume(t),i)}function a(n){return e.exit(`chunkContent`),e.exit(`content`),t(n)}function o(t){return e.consume(t),e.exit(`chunkContent`),n.next=e.enter(`chunkContent`,{contentType:`content`,previous:n}),n=n.next,i}}function Nh(e,t,n){let r=this;return i;function i(t){return e.exit(`chunkContent`),e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),Hm(e,a,`linePrefix`)}function a(i){if(i===null||$(i))return n(i);let a=r.events[r.events.length-1];return!r.parser.constructs.disable.null.includes(`codeIndented`)&&a&&a[1].type===`linePrefix`&&a[2].sliceSerialize(a[1],!0).length>=4?t(i):e.interrupt(r.parser.constructs.flow,n,t)(i)}}function Ph(e,t,n,r,i,a,o,s,c){let l=c||1/0,u=0;return d;function d(t){return t===60?(e.enter(r),e.enter(i),e.enter(a),e.consume(t),e.exit(a),f):t===null||t===32||t===41||Nm(t)?n(t):(e.enter(r),e.enter(o),e.enter(s),e.enter(`chunkString`,{contentType:`string`}),h(t))}function f(n){return n===62?(e.enter(a),e.consume(n),e.exit(a),e.exit(i),e.exit(r),t):(e.enter(s),e.enter(`chunkString`,{contentType:`string`}),p(n))}function p(t){return t===62?(e.exit(`chunkString`),e.exit(s),f(t)):t===null||t===60||$(t)?n(t):(e.consume(t),t===92?m:p)}function m(t){return t===60||t===62||t===92?(e.consume(t),p):p(t)}function h(i){return!u&&(i===null||i===41||Lm(i))?(e.exit(`chunkString`),e.exit(s),e.exit(o),e.exit(r),t(i)):u<l&&i===40?(e.consume(i),u++,h):i===41?(e.consume(i),u--,h):i===null||i===32||i===40||Nm(i)?n(i):(e.consume(i),i===92?g:h)}function g(t){return t===40||t===41||t===92?(e.consume(t),h):h(t)}}function Fh(e,t,n,r,i,a){let o=this,s=0,c;return l;function l(t){return e.enter(r),e.enter(i),e.consume(t),e.exit(i),e.enter(a),u}function u(l){return s>999||l===null||l===91||l===93&&!c||l===94&&!s&&`_hiddenFootnoteSupport`in o.parser.constructs?n(l):l===93?(e.exit(a),e.enter(i),e.consume(l),e.exit(i),e.exit(r),t):$(l)?(e.enter(`lineEnding`),e.consume(l),e.exit(`lineEnding`),u):(e.enter(`chunkString`,{contentType:`string`}),d(l))}function d(t){return t===null||t===91||t===93||$(t)||s++>999?(e.exit(`chunkString`),u(t)):(e.consume(t),c||=!Rm(t),t===92?f:d)}function f(t){return t===91||t===92||t===93?(e.consume(t),s++,d):d(t)}}function Ih(e,t,n,r,i,a){let o;return s;function s(t){return t===34||t===39||t===40?(e.enter(r),e.enter(i),e.consume(t),e.exit(i),o=t===40?41:t,c):n(t)}function c(n){return n===o?(e.enter(i),e.consume(n),e.exit(i),e.exit(r),t):(e.enter(a),l(n))}function l(t){return t===o?(e.exit(a),c(o)):t===null?n(t):$(t)?(e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),Hm(e,l,`linePrefix`)):(e.enter(`chunkString`,{contentType:`string`}),u(t))}function u(t){return t===o||t===null||$(t)?(e.exit(`chunkString`),l(t)):(e.consume(t),t===92?d:u)}function d(t){return t===o||t===92?(e.consume(t),u):u(t)}}function Lh(e,t){let n;return r;function r(i){return $(i)?(e.enter(`lineEnding`),e.consume(i),e.exit(`lineEnding`),n=!0,r):Rm(i)?Hm(e,r,n?`linePrefix`:`lineSuffix`)(i):t(i)}}let Rh={name:`definition`,tokenize:Bh},zh={partial:!0,tokenize:Vh};function Bh(e,t,n){let r=this,i;return a;function a(t){return e.enter(`definition`),o(t)}function o(t){return Fh.call(r,e,s,n,`definitionLabel`,`definitionLabelMarker`,`definitionLabelString`)(t)}function s(t){return i=km(r.sliceSerialize(r.events[r.events.length-1][1]).slice(1,-1)),t===58?(e.enter(`definitionMarker`),e.consume(t),e.exit(`definitionMarker`),c):n(t)}function c(t){return Lm(t)?Lh(e,l)(t):l(t)}function l(t){return Ph(e,u,n,`definitionDestination`,`definitionDestinationLiteral`,`definitionDestinationLiteralMarker`,`definitionDestinationRaw`,`definitionDestinationString`)(t)}function u(t){return e.attempt(zh,d,d)(t)}function d(t){return Rm(t)?Hm(e,f,`whitespace`)(t):f(t)}function f(a){return a===null||$(a)?(e.exit(`definition`),r.parser.defined.push(i),t(a)):n(a)}}function Vh(e,t,n){return r;function r(t){return Lm(t)?Lh(e,i)(t):n(t)}function i(t){return Ih(e,a,n,`definitionTitle`,`definitionTitleMarker`,`definitionTitleString`)(t)}function a(t){return Rm(t)?Hm(e,o,`whitespace`)(t):o(t)}function o(e){return e===null||$(e)?t(e):n(e)}}let Hh={name:`hardBreakEscape`,tokenize:Uh};function Uh(e,t,n){return r;function r(t){return e.enter(`hardBreakEscape`),e.consume(t),i}function i(r){return $(r)?(e.exit(`hardBreakEscape`),t(r)):n(r)}}let Wh={name:`headingAtx`,resolve:Gh,tokenize:Kh};function Gh(e,t){let n=e.length-2,r=3,i,a;return e[r][1].type===`whitespace`&&(r+=2),n-2>r&&e[n][1].type===`whitespace`&&(n-=2),e[n][1].type===`atxHeadingSequence`&&(r===n-1||n-4>r&&e[n-2][1].type===`whitespace`)&&(n-=r+1===n?2:4),n>r&&(i={type:`atxHeadingText`,start:e[r][1].start,end:e[n][1].end},a={type:`chunkText`,start:e[r][1].start,end:e[n][1].end,contentType:`text`},Sm(e,r,n-r+1,[[`enter`,i,t],[`enter`,a,t],[`exit`,a,t],[`exit`,i,t]])),e}function Kh(e,t,n){let r=0;return i;function i(t){return e.enter(`atxHeading`),a(t)}function a(t){return e.enter(`atxHeadingSequence`),o(t)}function o(t){return t===35&&r++<6?(e.consume(t),o):t===null||Lm(t)?(e.exit(`atxHeadingSequence`),s(t)):n(t)}function s(n){return n===35?(e.enter(`atxHeadingSequence`),c(n)):n===null||$(n)?(e.exit(`atxHeading`),t(n)):Rm(n)?Hm(e,s,`whitespace`)(n):(e.enter(`atxHeadingText`),l(n))}function c(t){return t===35?(e.consume(t),c):(e.exit(`atxHeadingSequence`),s(t))}function l(t){return t===null||t===35||Lm(t)?(e.exit(`atxHeadingText`),s(t)):(e.consume(t),l)}}let qh=`address.article.aside.base.basefont.blockquote.body.caption.center.col.colgroup.dd.details.dialog.dir.div.dl.dt.fieldset.figcaption.figure.footer.form.frame.frameset.h1.h2.h3.h4.h5.h6.head.header.hr.html.iframe.legend.li.link.main.menu.menuitem.nav.noframes.ol.optgroup.option.p.param.search.section.summary.table.tbody.td.tfoot.th.thead.title.tr.track.ul`.split(`.`),Jh=[`pre`,`script`,`style`,`textarea`],Yh={concrete:!0,name:`htmlFlow`,resolveTo:Qh,tokenize:$h},Xh={partial:!0,tokenize:tg},Zh={partial:!0,tokenize:eg};function Qh(e){let t=e.length;for(;t--&&(e[t][0]!==`enter`||e[t][1].type!==`htmlFlow`););return t>1&&e[t-2][1].type===`linePrefix`&&(e[t][1].start=e[t-2][1].start,e[t+1][1].start=e[t-2][1].start,e.splice(t-2,2)),e}function $h(e,t,n){let r=this,i,a,o,s,c;return l;function l(e){return u(e)}function u(t){return e.enter(`htmlFlow`),e.enter(`htmlFlowData`),e.consume(t),d}function d(s){return s===33?(e.consume(s),f):s===47?(e.consume(s),a=!0,h):s===63?(e.consume(s),i=3,r.interrupt?t:ce):Am(s)?(e.consume(s),o=String.fromCharCode(s),g):n(s)}function f(a){return a===45?(e.consume(a),i=2,p):a===91?(e.consume(a),i=5,s=0,m):Am(a)?(e.consume(a),i=4,r.interrupt?t:ce):n(a)}function p(i){return i===45?(e.consume(i),r.interrupt?t:ce):n(i)}function m(i){return i===`CDATA[`.charCodeAt(s++)?(e.consume(i),s===6?r.interrupt?t:te:m):n(i)}function h(t){return Am(t)?(e.consume(t),o=String.fromCharCode(t),g):n(t)}function g(s){if(s===null||s===47||s===62||Lm(s)){let c=s===47,l=o.toLowerCase();return!c&&!a&&Jh.includes(l)?(i=1,r.interrupt?t(s):te(s)):qh.includes(o.toLowerCase())?(i=6,c?(e.consume(s),_):r.interrupt?t(s):te(s)):(i=7,r.interrupt&&!r.parser.lazy[r.now().line]?n(s):a?v(s):y(s))}return s===45||jm(s)?(e.consume(s),o+=String.fromCharCode(s),g):n(s)}function _(i){return i===62?(e.consume(i),r.interrupt?t:te):n(i)}function v(t){return Rm(t)?(e.consume(t),v):E(t)}function y(t){return t===47?(e.consume(t),E):t===58||t===95||Am(t)?(e.consume(t),b):Rm(t)?(e.consume(t),y):E(t)}function b(t){return t===45||t===46||t===58||t===95||jm(t)?(e.consume(t),b):x(t)}function x(t){return t===61?(e.consume(t),S):Rm(t)?(e.consume(t),x):y(t)}function S(t){return t===null||t===60||t===61||t===62||t===96?n(t):t===34||t===39?(e.consume(t),c=t,C):Rm(t)?(e.consume(t),S):w(t)}function C(t){return t===c?(e.consume(t),c=null,T):t===null||$(t)?n(t):(e.consume(t),C)}function w(t){return t===null||t===34||t===39||t===47||t===60||t===61||t===62||t===96||Lm(t)?x(t):(e.consume(t),w)}function T(e){return e===47||e===62||Rm(e)?y(e):n(e)}function E(t){return t===62?(e.consume(t),ee):n(t)}function ee(t){return t===null||$(t)?te(t):Rm(t)?(e.consume(t),ee):n(t)}function te(t){return t===45&&i===2?(e.consume(t),ie):t===60&&i===1?(e.consume(t),ae):t===62&&i===4?(e.consume(t),le):t===63&&i===3?(e.consume(t),ce):t===93&&i===5?(e.consume(t),se):$(t)&&(i===6||i===7)?(e.exit(`htmlFlowData`),e.check(Xh,ue,ne)(t)):t===null||$(t)?(e.exit(`htmlFlowData`),ne(t)):(e.consume(t),te)}function ne(t){return e.check(Zh,D,ue)(t)}function D(t){return e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),re}function re(t){return t===null||$(t)?ne(t):(e.enter(`htmlFlowData`),te(t))}function ie(t){return t===45?(e.consume(t),ce):te(t)}function ae(t){return t===47?(e.consume(t),o=``,oe):te(t)}function oe(t){if(t===62){let n=o.toLowerCase();return Jh.includes(n)?(e.consume(t),le):te(t)}return Am(t)&&o.length<8?(e.consume(t),o+=String.fromCharCode(t),oe):te(t)}function se(t){return t===93?(e.consume(t),ce):te(t)}function ce(t){return t===62?(e.consume(t),le):t===45&&i===2?(e.consume(t),ce):te(t)}function le(t){return t===null||$(t)?(e.exit(`htmlFlowData`),ue(t)):(e.consume(t),le)}function ue(n){return e.exit(`htmlFlow`),t(n)}}function eg(e,t,n){let r=this;return i;function i(t){return $(t)?(e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),a):n(t)}function a(e){return r.parser.lazy[r.now().line]?n(e):t(e)}}function tg(e,t,n){return r;function r(r){return e.enter(`lineEnding`),e.consume(r),e.exit(`lineEnding`),e.attempt(rh,t,n)}}let ng={name:`htmlText`,tokenize:rg};function rg(e,t,n){let r=this,i,a,o;return s;function s(t){return e.enter(`htmlText`),e.enter(`htmlTextData`),e.consume(t),c}function c(t){return t===33?(e.consume(t),l):t===47?(e.consume(t),x):t===63?(e.consume(t),y):Am(t)?(e.consume(t),w):n(t)}function l(t){return t===45?(e.consume(t),u):t===91?(e.consume(t),a=0,m):Am(t)?(e.consume(t),v):n(t)}function u(t){return t===45?(e.consume(t),p):n(t)}function d(t){return t===null?n(t):t===45?(e.consume(t),f):$(t)?(o=d,ae(t)):(e.consume(t),d)}function f(t){return t===45?(e.consume(t),p):d(t)}function p(e){return e===62?ie(e):e===45?f(e):d(e)}function m(t){return t===`CDATA[`.charCodeAt(a++)?(e.consume(t),a===6?h:m):n(t)}function h(t){return t===null?n(t):t===93?(e.consume(t),g):$(t)?(o=h,ae(t)):(e.consume(t),h)}function g(t){return t===93?(e.consume(t),_):h(t)}function _(t){return t===62?ie(t):t===93?(e.consume(t),_):h(t)}function v(t){return t===null||t===62?ie(t):$(t)?(o=v,ae(t)):(e.consume(t),v)}function y(t){return t===null?n(t):t===63?(e.consume(t),b):$(t)?(o=y,ae(t)):(e.consume(t),y)}function b(e){return e===62?ie(e):y(e)}function x(t){return Am(t)?(e.consume(t),S):n(t)}function S(t){return t===45||jm(t)?(e.consume(t),S):C(t)}function C(t){return $(t)?(o=C,ae(t)):Rm(t)?(e.consume(t),C):ie(t)}function w(t){return t===45||jm(t)?(e.consume(t),w):t===47||t===62||Lm(t)?T(t):n(t)}function T(t){return t===47?(e.consume(t),ie):t===58||t===95||Am(t)?(e.consume(t),E):$(t)?(o=T,ae(t)):Rm(t)?(e.consume(t),T):ie(t)}function E(t){return t===45||t===46||t===58||t===95||jm(t)?(e.consume(t),E):ee(t)}function ee(t){return t===61?(e.consume(t),te):$(t)?(o=ee,ae(t)):Rm(t)?(e.consume(t),ee):T(t)}function te(t){return t===null||t===60||t===61||t===62||t===96?n(t):t===34||t===39?(e.consume(t),i=t,ne):$(t)?(o=te,ae(t)):Rm(t)?(e.consume(t),te):(e.consume(t),D)}function ne(t){return t===i?(e.consume(t),i=void 0,re):t===null?n(t):$(t)?(o=ne,ae(t)):(e.consume(t),ne)}function D(t){return t===null||t===34||t===39||t===60||t===61||t===96?n(t):t===47||t===62||Lm(t)?T(t):(e.consume(t),D)}function re(e){return e===47||e===62||Lm(e)?T(e):n(e)}function ie(r){return r===62?(e.consume(r),e.exit(`htmlTextData`),e.exit(`htmlText`),t):n(r)}function ae(t){return e.exit(`htmlTextData`),e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),oe}function oe(t){return Rm(t)?Hm(e,se,`linePrefix`,r.parser.constructs.disable.null.includes(`codeIndented`)?void 0:4)(t):se(t)}function se(t){return e.enter(`htmlTextData`),o(t)}}let ig={name:`labelEnd`,resolveAll:cg,resolveTo:lg,tokenize:ug},ag={tokenize:dg},og={tokenize:fg},sg={tokenize:pg};function cg(e){let t=-1,n=[];for(;++t<e.length;){let r=e[t][1];if(n.push(e[t]),r.type===`labelImage`||r.type===`labelLink`||r.type===`labelEnd`){let e=r.type===`labelImage`?4:2;r.type=`data`,t+=e}}return e.length!==n.length&&Sm(e,0,e.length,n),e}function lg(e,t){let n=e.length,r=0,i,a,o,s;for(;n--;)if(i=e[n][1],a){if(i.type===`link`||i.type===`labelLink`&&i._inactive)break;e[n][0]===`enter`&&i.type===`labelLink`&&(i._inactive=!0)}else if(o){if(e[n][0]===`enter`&&(i.type===`labelImage`||i.type===`labelLink`)&&!i._balanced&&(a=n,i.type!==`labelLink`)){r=2;break}}else i.type===`labelEnd`&&(o=n);let c={type:e[a][1].type===`labelLink`?`link`:`image`,start:{...e[a][1].start},end:{...e[e.length-1][1].end}},l={type:`label`,start:{...e[a][1].start},end:{...e[o][1].end}},u={type:`labelText`,start:{...e[a+r+2][1].end},end:{...e[o-2][1].start}};return s=[[`enter`,c,t],[`enter`,l,t]],s=Cm(s,e.slice(a+1,a+r+3)),s=Cm(s,[[`enter`,u,t]]),s=Cm(s,Xm(t.parser.constructs.insideSpan.null,e.slice(a+r+4,o-3),t)),s=Cm(s,[[`exit`,u,t],e[o-2],e[o-1],[`exit`,l,t]]),s=Cm(s,e.slice(o+1)),s=Cm(s,[[`exit`,c,t]]),Sm(e,a,e.length,s),e}function ug(e,t,n){let r=this,i=r.events.length,a,o;for(;i--;)if((r.events[i][1].type===`labelImage`||r.events[i][1].type===`labelLink`)&&!r.events[i][1]._balanced){a=r.events[i][1];break}return s;function s(t){return a?a._inactive?d(t):(o=r.parser.defined.includes(km(r.sliceSerialize({start:a.end,end:r.now()}))),e.enter(`labelEnd`),e.enter(`labelMarker`),e.consume(t),e.exit(`labelMarker`),e.exit(`labelEnd`),c):n(t)}function c(t){return t===40?e.attempt(ag,u,o?u:d)(t):t===91?e.attempt(og,u,o?l:d)(t):o?u(t):d(t)}function l(t){return e.attempt(sg,u,d)(t)}function u(e){return t(e)}function d(e){return a._balanced=!0,n(e)}}function dg(e,t,n){return r;function r(t){return e.enter(`resource`),e.enter(`resourceMarker`),e.consume(t),e.exit(`resourceMarker`),i}function i(t){return Lm(t)?Lh(e,a)(t):a(t)}function a(t){return t===41?u(t):Ph(e,o,s,`resourceDestination`,`resourceDestinationLiteral`,`resourceDestinationLiteralMarker`,`resourceDestinationRaw`,`resourceDestinationString`,32)(t)}function o(t){return Lm(t)?Lh(e,c)(t):u(t)}function s(e){return n(e)}function c(t){return t===34||t===39||t===40?Ih(e,l,n,`resourceTitle`,`resourceTitleMarker`,`resourceTitleString`)(t):u(t)}function l(t){return Lm(t)?Lh(e,u)(t):u(t)}function u(r){return r===41?(e.enter(`resourceMarker`),e.consume(r),e.exit(`resourceMarker`),e.exit(`resource`),t):n(r)}}function fg(e,t,n){let r=this;return i;function i(t){return Fh.call(r,e,a,o,`reference`,`referenceMarker`,`referenceString`)(t)}function a(e){return r.parser.defined.includes(km(r.sliceSerialize(r.events[r.events.length-1][1]).slice(1,-1)))?t(e):n(e)}function o(e){return n(e)}}function pg(e,t,n){return r;function r(t){return e.enter(`reference`),e.enter(`referenceMarker`),e.consume(t),e.exit(`referenceMarker`),i}function i(r){return r===93?(e.enter(`referenceMarker`),e.consume(r),e.exit(`referenceMarker`),e.exit(`reference`),t):n(r)}}let mg={name:`labelStartImage`,resolveAll:ig.resolveAll,tokenize:hg};function hg(e,t,n){let r=this;return i;function i(t){return e.enter(`labelImage`),e.enter(`labelImageMarker`),e.consume(t),e.exit(`labelImageMarker`),a}function a(t){return t===91?(e.enter(`labelMarker`),e.consume(t),e.exit(`labelMarker`),e.exit(`labelImage`),o):n(t)}function o(e){return e===94&&`_hiddenFootnoteSupport`in r.parser.constructs?n(e):t(e)}}let gg={name:`labelStartLink`,resolveAll:ig.resolveAll,tokenize:_g};function _g(e,t,n){let r=this;return i;function i(t){return e.enter(`labelLink`),e.enter(`labelMarker`),e.consume(t),e.exit(`labelMarker`),e.exit(`labelLink`),a}function a(e){return e===94&&`_hiddenFootnoteSupport`in r.parser.constructs?n(e):t(e)}}let vg={name:`lineEnding`,tokenize:yg};function yg(e,t){return n;function n(n){return e.enter(`lineEnding`),e.consume(n),e.exit(`lineEnding`),Hm(e,t,`linePrefix`)}}let bg={name:`thematicBreak`,tokenize:xg};function xg(e,t,n){let r=0,i;return a;function a(t){return e.enter(`thematicBreak`),o(t)}function o(e){return i=e,s(e)}function s(a){return a===i?(e.enter(`thematicBreakSequence`),c(a)):r>=3&&(a===null||$(a))?(e.exit(`thematicBreak`),t(a)):n(a)}function c(t){return t===i?(e.consume(t),r++,c):(e.exit(`thematicBreakSequence`),Rm(t)?Hm(e,s,`whitespace`)(t):s(t))}}let Sg={continuation:{tokenize:Eg},exit:Og,name:`list`,tokenize:Tg},Cg={partial:!0,tokenize:kg},wg={partial:!0,tokenize:Dg};function Tg(e,t,n){let r=this,i=r.events[r.events.length-1],a=i&&i[1].type===`linePrefix`?i[2].sliceSerialize(i[1],!0).length:0,o=0;return s;function s(t){let i=r.containerState.type||(t===42||t===43||t===45?`listUnordered`:`listOrdered`);if(i===`listUnordered`?!r.containerState.marker||t===r.containerState.marker:Pm(t)){if(r.containerState.type||(r.containerState.type=i,e.enter(i,{_container:!0})),i===`listUnordered`)return e.enter(`listItemPrefix`),t===42||t===45?e.check(bg,n,l)(t):l(t);if(!r.interrupt||t===49)return e.enter(`listItemPrefix`),e.enter(`listItemValue`),c(t)}return n(t)}function c(t){return Pm(t)&&++o<10?(e.consume(t),c):(!r.interrupt||o<2)&&(r.containerState.marker?t===r.containerState.marker:t===41||t===46)?(e.exit(`listItemValue`),l(t)):n(t)}function l(t){return e.enter(`listItemMarker`),e.consume(t),e.exit(`listItemMarker`),r.containerState.marker=r.containerState.marker||t,e.check(rh,r.interrupt?n:u,e.attempt(Cg,f,d))}function u(e){return r.containerState.initialBlankLine=!0,a++,f(e)}function d(t){return Rm(t)?(e.enter(`listItemPrefixWhitespace`),e.consume(t),e.exit(`listItemPrefixWhitespace`),f):n(t)}function f(n){return r.containerState.size=a+r.sliceSerialize(e.exit(`listItemPrefix`),!0).length,t(n)}}function Eg(e,t,n){let r=this;return r.containerState._closeFlow=void 0,e.check(rh,i,a);function i(n){return r.containerState.furtherBlankLines=r.containerState.furtherBlankLines||r.containerState.initialBlankLine,Hm(e,t,`listItemIndent`,r.containerState.size+1)(n)}function a(n){return r.containerState.furtherBlankLines||!Rm(n)?(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,o(n)):(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,e.attempt(wg,t,o)(n))}function o(i){return r.containerState._closeFlow=!0,r.interrupt=void 0,Hm(e,e.attempt(Sg,t,n),`linePrefix`,r.parser.constructs.disable.null.includes(`codeIndented`)?void 0:4)(i)}}function Dg(e,t,n){let r=this;return Hm(e,i,`listItemIndent`,r.containerState.size+1);function i(e){let i=r.events[r.events.length-1];return i&&i[1].type===`listItemIndent`&&i[2].sliceSerialize(i[1],!0).length===r.containerState.size?t(e):n(e)}}function Og(e){e.exit(this.containerState.type)}function kg(e,t,n){let r=this;return Hm(e,i,`listItemPrefixWhitespace`,r.parser.constructs.disable.null.includes(`codeIndented`)?void 0:5);function i(e){let i=r.events[r.events.length-1];return!Rm(e)&&i&&i[1].type===`listItemPrefixWhitespace`?t(e):n(e)}}let Ag={name:`setextUnderline`,resolveTo:jg,tokenize:Mg};function jg(e,t){let n=e.length,r,i,a;for(;n--;)if(e[n][0]===`enter`){if(e[n][1].type===`content`){r=n;break}e[n][1].type===`paragraph`&&(i=n)}else e[n][1].type===`content`&&e.splice(n,1),!a&&e[n][1].type===`definition`&&(a=n);let o={type:`setextHeading`,start:{...e[r][1].start},end:{...e[e.length-1][1].end}};return e[i][1].type=`setextHeadingText`,a?(e.splice(i,0,[`enter`,o,t]),e.splice(a+1,0,[`exit`,e[r][1],t]),e[r][1].end={...e[a][1].end}):e[r][1]=o,e.push([`exit`,o,t]),e}function Mg(e,t,n){let r=this,i;return a;function a(t){let a=r.events.length,s;for(;a--;)if(r.events[a][1].type!==`lineEnding`&&r.events[a][1].type!==`linePrefix`&&r.events[a][1].type!==`content`){s=r.events[a][1].type===`paragraph`;break}return!r.parser.lazy[r.now().line]&&(r.interrupt||s)?(e.enter(`setextHeadingLine`),i=t,o(t)):n(t)}function o(t){return e.enter(`setextHeadingLineSequence`),s(t)}function s(t){return t===i?(e.consume(t),s):(e.exit(`setextHeadingLineSequence`),Rm(t)?Hm(e,c,`lineSuffix`)(t):c(t))}function c(r){return r===null||$(r)?(e.exit(`setextHeadingLine`),t(r)):n(r)}}let Ng={tokenize:Pg};function Pg(e){let t=this,n=e.attempt(rh,r,e.attempt(this.parser.constructs.flowInitial,i,Hm(e,e.attempt(this.parser.constructs.flow,i,e.attempt(kh,i)),`linePrefix`)));return n;function r(r){if(r===null){e.consume(r);return}return e.enter(`lineEndingBlank`),e.consume(r),e.exit(`lineEndingBlank`),t.currentConstruct=void 0,n}function i(r){if(r===null){e.consume(r);return}return e.enter(`lineEnding`),e.consume(r),e.exit(`lineEnding`),t.currentConstruct=void 0,n}}let Fg={resolveAll:zg()},Ig=Rg(`string`),Lg=Rg(`text`);function Rg(e){return{resolveAll:zg(e===`text`?Bg:void 0),tokenize:t};function t(t){let n=this,r=this.parser.constructs[e],i=t.attempt(r,a,o);return a;function a(e){return c(e)?i(e):o(e)}function o(e){if(e===null){t.consume(e);return}return t.enter(`data`),t.consume(e),s}function s(e){return c(e)?(t.exit(`data`),i(e)):(t.consume(e),s)}function c(e){if(e===null)return!0;let t=r[e],i=-1;if(t)for(;++i<t.length;){let e=t[i];if(!e.previous||e.previous.call(n,n.previous))return!0}return!1}}}function zg(e){return t;function t(t,n){let r=-1,i;for(;++r<=t.length;)i===void 0?t[r]&&t[r][1].type===`data`&&(i=r,r++):(!t[r]||t[r][1].type!==`data`)&&(r!==i+2&&(t[i][1].end=t[r-1][1].end,t.splice(i+2,r-i-2),r=i+2),i=void 0);return e?e(t,n):t}}function Bg(e,t){let n=0;for(;++n<=e.length;)if((n===e.length||e[n][1].type===`lineEnding`)&&e[n-1][1].type===`data`){let r=e[n-1][1],i=t.sliceStream(r),a=i.length,o=-1,s=0,c;for(;a--;){let e=i[a];if(typeof e==`string`){for(o=e.length;e.charCodeAt(o-1)===32;)s++,o--;if(o)break;o=-1}else if(e===-2)c=!0,s++;else if(e!==-1){a++;break}}if(t._contentTypeTextTrailing&&n===e.length&&(s=0),s){let i={type:n===e.length||c||s<2?`lineSuffix`:`hardBreakTrailing`,start:{_bufferIndex:a?o:r.start._bufferIndex+o,_index:r.start._index+a,line:r.end.line,column:r.end.column-s,offset:r.end.offset-s},end:{...r.end}};r.end={...i.start},r.start.offset===r.end.offset?Object.assign(r,i):(e.splice(n,0,[`enter`,i,t],[`exit`,i,t]),n+=2)}n++}return e}var Vg=u({attentionMarkers:()=>Yg,contentInitial:()=>Ug,disable:()=>Xg,document:()=>Hg,flow:()=>Gg,flowInitial:()=>Wg,insideSpan:()=>Jg,string:()=>Kg,text:()=>qg});let Hg={42:Sg,43:Sg,45:Sg,48:Sg,49:Sg,50:Sg,51:Sg,52:Sg,53:Sg,54:Sg,55:Sg,56:Sg,57:Sg,62:ah},Ug={91:Rh},Wg={[-2]:_h,[-1]:_h,32:_h},Gg={35:Wh,42:bg,45:[Ag,bg],60:Yh,61:Ag,95:bg,96:mh,126:mh},Kg={38:dh,92:lh},qg={[-5]:vg,[-4]:vg,[-3]:vg,33:mg,38:dh,42:Zm,60:[th,ng],91:gg,92:[Hh,lh],93:ig,95:Zm,96:xh},Jg={null:[Zm,Fg]},Yg={null:[42,95]},Xg={null:[]};function Zg(e,t,n){let r={_bufferIndex:-1,_index:0,line:n&&n.line||1,column:n&&n.column||1,offset:n&&n.offset||0},i={},a=[],o=[],s=[],c={attempt:C(x),check:C(S),consume:v,enter:y,exit:b,interrupt:C(S,{interrupt:!0})},l={code:null,containerState:{},defineSkip:h,events:[],now:m,parser:e,previous:null,sliceSerialize:f,sliceStream:p,write:d},u=t.tokenize.call(l,c);return t.resolveAll&&a.push(t),l;function d(e){return o=Cm(o,e),g(),o[o.length-1]===null?(w(t,0),l.events=Xm(a,l.events,l),l.events):[]}function f(e,t){return $g(p(e),t)}function p(e){return Qg(o,e)}function m(){let{_bufferIndex:e,_index:t,line:n,column:i,offset:a}=r;return{_bufferIndex:e,_index:t,line:n,column:i,offset:a}}function h(e){i[e.line]=e.column,E()}function g(){let e;for(;r._index<o.length;){let t=o[r._index];if(typeof t==`string`)for(e=r._index,r._bufferIndex<0&&(r._bufferIndex=0);r._index===e&&r._bufferIndex<t.length;)_(t.charCodeAt(r._bufferIndex));else _(t)}}function _(e){u=u(e)}function v(e){$(e)?(r.line++,r.column=1,r.offset+=e===-3?2:1,E()):e!==-1&&(r.column++,r.offset++),r._bufferIndex<0?r._index++:(r._bufferIndex++,r._bufferIndex===o[r._index].length&&(r._bufferIndex=-1,r._index++)),l.previous=e}function y(e,t){let n=t||{};return n.type=e,n.start=m(),l.events.push([`enter`,n,l]),s.push(n),n}function b(e){let t=s.pop();return t.end=m(),l.events.push([`exit`,t,l]),t}function x(e,t){w(e,t.from)}function S(e,t){t.restore()}function C(e,t){return n;function n(n,r,i){let a,o,s,u;return Array.isArray(n)?f(n):`tokenize`in n?f([n]):d(n);function d(e){return t;function t(t){let n=t!==null&&e[t],r=t!==null&&e.null;return f([...Array.isArray(n)?n:n?[n]:[],...Array.isArray(r)?r:r?[r]:[]])(t)}}function f(e){return a=e,o=0,e.length===0?i:p(e[o])}function p(e){return n;function n(n){return u=T(),s=e,e.partial||(l.currentConstruct=e),e.name&&l.parser.constructs.disable.null.includes(e.name)?h(n):e.tokenize.call(t?Object.assign(Object.create(l),t):l,c,m,h)(n)}}function m(t){return e(s,u),r}function h(e){return u.restore(),++o<a.length?p(a[o]):i}}}function w(e,t){e.resolveAll&&!a.includes(e)&&a.push(e),e.resolve&&Sm(l.events,t,l.events.length-t,e.resolve(l.events.slice(t),l)),e.resolveTo&&(l.events=e.resolveTo(l.events,l))}function T(){let e=m(),t=l.previous,n=l.currentConstruct,i=l.events.length,a=Array.from(s);return{from:i,restore:o};function o(){r=e,l.previous=t,l.currentConstruct=n,l.events.length=i,s=a,E()}}function E(){r.line in i&&r.column<2&&(r.column=i[r.line],r.offset+=i[r.line]-1)}}function Qg(e,t){let n=t.start._index,r=t.start._bufferIndex,i=t.end._index,a=t.end._bufferIndex,o;if(n===i)o=[e[n].slice(r,a)];else{if(o=e.slice(n,i),r>-1){let e=o[0];typeof e==`string`?o[0]=e.slice(r):o.shift()}a>0&&o.push(e[i].slice(0,a))}return o}function $g(e,t){let n=-1,r=[],i;for(;++n<e.length;){let a=e[n],o;if(typeof a==`string`)o=a;else switch(a){case-5:o=`\r`;break;case-4:o=`
401
+ </html>`}function jp(e){return Ud(e.spec).requiredAssets}async function Mp(e){let t=Sp(e);if(t===null)throw new hp(`artifact-invalid`,`invalid GenUI artifact`);let n=Ud(t.spec);if(n.customTypes.length>0)throw new hp(`unsupported-custom-component`,`custom components: ${n.customTypes.join(`, `)}`);let r=[...n.requiredAssets.map(e=>`${e}.js`),`standalone-runtime.js`],i=await Promise.all(r.map(async e=>[e,await Ep(e,e===`standalone-runtime.js`?`runtime`:e.slice(0,-3))]));return Ap(t,new Map(i))}function Np(e,t){return`${(e??``).replace(/[\\/:*?"<>|\u0000-\u001f\u007f]/g,``).trim().replace(/\s+/g,` `).slice(0,120).replace(/[. ]+$/g,``)||`genui`}${t}`}function Pp(e,t){let n=URL.createObjectURL(e),r=document.createElement(`a`);r.href=n,r.download=t,r.style.display=`none`,document.body.appendChild(r),r.click(),r.remove(),window.setTimeout(()=>URL.revokeObjectURL(n),0)}function Fp(e){try{Pp(new Blob([yp(e)],{type:`application/json;charset=utf-8`}),Np(e.spec.title,`.genui.json`))}catch(e){throw new hp(`download-failed`,e instanceof Error?e.message:`artifact download failed`)}}async function Ip(e){try{let t=await Mp(e);Pp(new Blob([t],{type:`text/html;charset=utf-8`}),Np(e.spec.title,`.html`))}catch(e){throw e instanceof hp?e:new hp(`download-failed`,e instanceof Error?e.message:`artifact download failed`)}}let Lp=`@changfenhuang/dsh-genui/ArtifactExport.module.css`;if(typeof document<`u`&&document.querySelector(`style[data-plugin-css=`+JSON.stringify(Lp)+`]`)===null){let e=document.createElement(`style`);e.dataset.plugin=`@changfenhuang/dsh-genui`,e.dataset.pluginCss=Lp,e.textContent=`._0M81qq_chrome{justify-content:flex-end;align-items:center;gap:8px;margin:8px 0 6px;font:12px/1.4 system-ui,sans-serif;display:flex;position:relative}._0M81qq_trigger,._0M81qq_item{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-1);color:var(--dsw-alias-label-secondary);cursor:pointer;border-radius:7px;padding:5px 9px}._0M81qq_trigger:hover,._0M81qq_item:hover{background:var(--dsw-alias-fill-hover);color:var(--dsw-alias-label-primary)}._0M81qq_menu{z-index:20;border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-1);border-radius:9px;gap:3px;min-width:140px;padding:5px;display:grid;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 8px 24px #0002}._0M81qq_item{text-align:left;border-color:#0000}._0M81qq_item:disabled{opacity:.5;cursor:not-allowed}._0M81qq_menuNotice{max-width:260px;color:var(--dsw-alias-state-error-primary,#d94848);padding:2px 9px 6px}._0M81qq_notice{color:var(--dsw-alias-label-tertiary)}._0M81qq_statusError{color:var(--dsw-alias-state-error-primary,#d94848)}`,document.head.appendChild(e)}var Rp={chrome:`_0M81qq_chrome`,item:`_0M81qq_item`,menu:`_0M81qq_menu`,menuNotice:`_0M81qq_menuNotice`,notice:`_0M81qq_notice`,statusError:`_0M81qq_statusError`,trigger:`_0M81qq_trigger`};function zp({getArtifact:e}){let t=Po(),n=(0,m.useRef)(null),[r,i]=(0,m.useState)(!1),[a,o]=(0,m.useState)(``),s=Ud(e().spec);(0,m.useEffect)(()=>{if(!r)return;let e=e=>{e.target instanceof Node&&!n.current?.contains(e.target)&&i(!1)},t=e=>{e.key===`Escape`&&i(!1)};return document.addEventListener(`pointerdown`,e),document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`pointerdown`,e),document.removeEventListener(`keydown`,t)}},[r]);let c=async n=>{i(!1),o(``);try{let t=e();n===`html`?await Ip(t):Fp(t)}catch(e){e instanceof hp?e.code===`unsupported-custom-component`?(console.warn(`[dsh-genui] standalone export rejected:`,e.message),o(t(`artifact.unsupportedCustom`,{types:s.customTypes.join(`, `)}))):(console.warn(`[dsh-genui] artifact export failed:`,e.code,e.message),o(t(`artifact.exportFailed`))):(console.warn(`[dsh-genui] artifact export failed:`,e instanceof Error?e.message:`unknown error`),o(t(`artifact.exportFailed`)))}};return(0,g.jsxs)(`div`,{className:Rp.chrome,ref:n,"data-genui-export":!0,children:[s.externalMedia.length>0&&(0,g.jsx)(`span`,{className:Rp.notice,children:t(`artifact.externalMediaNotice`)}),a!==``&&(0,g.jsx)(`span`,{className:Rp.statusError,"aria-live":`polite`,children:a}),(0,g.jsx)(`button`,{type:`button`,className:Rp.trigger,"aria-haspopup":`menu`,"aria-expanded":r,onClick:()=>i(e=>!e),children:t(`artifact.export`)}),r&&(0,g.jsxs)(`div`,{className:Rp.menu,role:`menu`,children:[(0,g.jsx)(`button`,{type:`button`,role:`menuitem`,className:Rp.item,disabled:s.customTypes.length>0,onClick:()=>void c(`html`),children:t(`artifact.exportHtml`)}),s.customTypes.length>0&&(0,g.jsx)(`span`,{className:Rp.menuNotice,children:t(`artifact.unsupportedCustom`,{types:s.customTypes.join(`, `)})}),(0,g.jsx)(`button`,{type:`button`,role:`menuitem`,className:Rp.item,onClick:()=>void c(`json`),children:t(`artifact.exportJson`)})]})]})}function Bp(e){let t=(0,m.useRef)(void 0),n=(0,m.useCallback)(e=>{t.current=e},[]),r=(0,m.useCallback)(()=>vp(e.spec,t.current),[e.spec]),{exportEnabled:i=!0,...a}=e;return(0,g.jsxs)(`div`,{"data-genui-artifact":!0,children:[(0,g.jsx)($u,{...a,onStateSnapshot:n}),i&&(0,g.jsx)(zp,{getArtifact:r})]})}let Vp={maxNodes:200,maxAppends:200},Hp=new Map,Up=new Set;function Wp(){return{ops:new Map,seen:new Map,overflow:null,local:null,localBarrier:-1,replayBarrier:-1,maxSeenSeq:-1,snapshot:null}}let Gp=`dsh.genui.panel`;function Kp(){try{let e=localStorage.getItem(Gp);if(e===null)return{order:[],sessions:{}};let t=JSON.parse(e);return!Array.isArray(t.order)||typeof t.sessions!=`object`||t.sessions===null?{order:[],sessions:{}}:{order:t.order.filter(e=>typeof e==`string`),sessions:t.sessions}}catch{return{order:[],sessions:{}}}}function qp(e,t){try{let n=Kp(),r=n.order.filter(t=>t!==e);r.unshift(e);let i={...n.sessions,[e]:t};for(;r.length>50;){let e=r.pop();e!==void 0&&delete i[e]}localStorage.setItem(Gp,JSON.stringify({order:r,sessions:i}))}catch{}}function Jp(e){let t=Hp.get(e);if(t!==void 0)return t;let n=Wp();try{let t=Kp().sessions[e];t!==void 0&&(n={ops:new Map,seen:new Map,overflow:null,local:t.local??null,localBarrier:t.localBarrier??-1,replayBarrier:t.maxSeenSeq??-1,maxSeenSeq:t.maxSeenSeq??-1,snapshot:t.snapshot??null})}catch{}return Hp.set(e,n),n}function Yp(e,t){for(let n=0;n<3;n++){let r=e[n]-t[n];if(r!==0)return r}return 0}function Xp(e,t){if(t!==null&&(t.order[0]<=e.localBarrier||t.order[0]<=e.replayBarrier||e.seen.has(t.sourceId)||e.overflow!==null&&e.overflow.sourceId===t.sourceId||t.mode===`append`&&e.overflow!==null&&Yp(t.order,e.overflow.order)>0))return null;let n=[...e.ops.values()].filter(t=>t.order[0]>e.localBarrier&&t.order[0]>e.replayBarrier);t!==null&&n.push(t),n.sort((e,t)=>Yp(e.order,t.order));let r=0;for(let e=0;e<n.length;e++){let t=n[e];t.mode===`replace`&&Xf(t.spec,Vp.maxNodes+1)<=Vp.maxNodes&&(r=e)}let i=e.local,a=null,o=0,s=[],c=e.maxSeenSeq;for(let e=r;e<n.length;e++){let t=n[e];if(t.order[0]>c&&(c=t.order[0]),t.mode===`replace`){if(Xf(t.spec,Vp.maxNodes+1)>Vp.maxNodes){(a===null||Yp(t.order,a.order)<0)&&(a=t);continue}a=null,i=t.spec,s.length=0,o=0,s.push(t);continue}let r=cm(i,t.spec);if(o>=Vp.maxAppends||Xf(r,Vp.maxNodes+1)>Vp.maxNodes){(a===null||Yp(t.order,a.order)<0)&&(a=t);continue}i=r,o+=1,s.push(t)}return t!==null&&s.length===e.ops.size&&s.every(t=>e.ops.get(t.sourceId)?.mode===t.mode)&&(a===null&&e.overflow===null||a!==null&&e.overflow!==null&&a.sourceId===e.overflow.sourceId)?null:{snapshot:i,kept:s,overflow:a,maxSeenSeq:c}}function Zp(e,t,n){e.snapshot=t.snapshot,e.overflow=t.overflow,e.maxSeenSeq=t.maxSeenSeq,e.ops=new Map(t.kept.map(e=>[e.sourceId,e]));for(let n of t.kept)e.seen.set(n.sourceId,n.order);t.overflow!==null&&e.seen.set(t.overflow.sourceId,t.overflow.order),qp(n,{snapshot:e.snapshot,local:e.local,localBarrier:e.localBarrier,maxSeenSeq:e.maxSeenSeq})}function Qp(e,t){let n=Jp(e),r=Xp(n,t);if(r===null)return n.seen.has(t.sourceId)||n.overflow?.sourceId===t.sourceId?`idempotent`:(n.overflow!==null&&t.mode===`append`&&Yp(t.order,n.overflow.order)>0||em(e,t,n),`blocked`);let i=r.overflow!==null&&r.overflow.sourceId===t.sourceId?`overflow`:`accepted`,a=n.snapshot!==r.snapshot;if(Zp(n,r,e),a)for(let e of Up)e();return i}let $p=new Set;function em(e,t,n){let r=`${e}\u0000${t.sourceId}`;$p.has(r)||($p.add(r),console.warn(`[genui] 面板操作被重放屏障拒绝(source ${t.sourceId},order[0]=${t.order[0]} ≤ replayBarrier ${n.replayBarrier} / localBarrier ${n.localBarrier})。历史消息重放被拒是预期行为;若是刚发送的新消息,说明消息序号推导异常,请报告。`))}function tm(e,t){let n=Jp(e),r=n.maxSeenSeq;if(n.local!==t||n.localBarrier!==r){n.local=t,n.localBarrier=r,Zp(n,Xp(n,null),e);for(let e of Up)e()}}let nm=new Set;function rm(e,t){let n=`${e}\u0000${t}`;nm.has(n)||(nm.add(n),console.warn(`[genui] 面板已到节点/操作上限(${Vp.maxNodes} 节点、${Vp.maxAppends} 条追加),本次 append 被拒绝;请让模型发送 replace 更新面板。`))}function im(e){let t=Hp.delete(e),n=lm.delete(e),r=`${e}\u0000`;for(let e of nm)e.startsWith(r)&&nm.delete(e);for(let e of $p)e.startsWith(r)&&$p.delete(e);if(!(!t&&!n)){for(let e of Up)e();for(let e of um)e()}}function am(e){return Jp(e).snapshot}function om(e){return Up.add(e),()=>{Up.delete(e)}}function sm(e){if(e.items.length!==1)return null;let t=e.items[0];return t?.type!==`tabs`||!Array.isArray(t.tabs)?null:t.tabs}function cm(e,t){if(e===null||e.items.length===0)return t;let n=e.title??t.title,r={...e,...n===void 0?{}:{title:n}},i=sm(e),a=sm(t);if(i!==null&&a!==null){let e=new Map(i.map(e=>[e.label,{label:e.label,items:[...e.items]}]));for(let t of a){let n=e.get(t.label);n===void 0?e.set(t.label,{label:t.label,items:[...t.items]}):n.items.push(...t.items)}return{...r,items:[{type:`tabs`,tabs:[...e.values()]}]}}return{...r,items:[...e.items,...t.items]}}let lm=new Map,um=new Set;function dm(e){lm.set(e,(lm.get(e)??0)+1);for(let e of um)e()}function fm(e){return lm.get(e)??0}function pm(e){return um.add(e),()=>{um.delete(e)}}function mm(e){let t=[],n=[],r=e=>{n.length>=32&&n.shift(),n.push(e)},i=!1,a=!1,o=0;for(;o<e.length;o++){let n=e[o];if(i){a?a=!1:n===`\\`?a=!0:n===`"`&&(i=!1);continue}if(n===`"`){i=!0;continue}if(n===`{`||n===`[`){t.push(n);continue}if(n===`}`||n===`]`){if(t.pop()!==(n===`}`?`{`:`[`))break;n===`}`&&t.length===2&&t[0]===`{`&&t[1]===`[`&&r({end:o+1,closingSuffix:`]}`}),t.length===0&&r({end:o+1,closingSuffix:``});continue}}n.sort((e,t)=>t.end-e.end);let s=[];for(let e of n)(s.length===0||s[s.length-1].end!==e.end)&&s.push(e);return{candidates:s.slice(0,32),scannedChars:o}}function hm(e,t){try{let n=JSON.parse(e);if(typeof n==`string`)try{n=JSON.parse(n)}catch{return null}return Kd(n)?n:Array.isArray(n)&&n.length>0?{items:n}:t?Gd(n):null}catch{return null}}function gm(e){let t=e.trim();if(t===``)return null;let n=hm(t,!0);if(n!==null)return n;let{candidates:r}=mm(t);for(let e of r){let n=hm(t.slice(0,e.end)+e.closingSuffix,!1);if(n!==null)return n}return null}function _m(e){let t=np(e);return{value:e,processed:t,spec:lp(t)}}function vm(){return{value:null,processed:null,spec:null}}function ym(e,t){let n=gm(e),r=n===null?vm():_m(n);if(r.spec!==null)return r;let i=Yo(e);if(i!==null){let e=gm(i.text);r=e===null?vm():_m(e)}if(r.spec!==null||!t.settled)return r;let a=rs(e);if(a===null)return r;let o=gm(a.text);return o===null?vm():_m(o)}function bm(e,t){return ym(e,t).spec}let xm={margin:`0 0 6px`,padding:`6px 10px`,borderRadius:6,background:`rgba(239, 68, 68, 0.14)`,border:`1px solid rgba(239, 68, 68, 0.4)`,color:`#f87171`,fontSize:12,lineHeight:1.55,whiteSpace:`pre-wrap`};function Sm(e){let t=e.filter(e=>/(?:variant is unsupported|kind must be bars, line, or donut|requires data or series|(?:data|series) is required for|(?:\.data|\.series)(?:\[\d+\])?(?:\.(?:data|label|value|color))? must|series is only supported for bars)/.test(e));return t.length===0?null:t.join(`;`)}function Cm(e){if(e.spec!==null||e.processed===null)return null;let t=Sm(e.processed.errors);return t===null?Y(`err.fieldValidation`,{errors:e.processed.errors.join(`;`)}):Y(`err.chartValidation`,{errors:t})}function wm(e,t={}){let n=ym(e,{settled:t.settled??!0});if(n.spec!==null)return null;let r=Cm(n);if(r!==null)return Y(`err.fenceKeptAsCode`,{diagnostic:r});if(e.trim()===``)return null;let i=Jo(e);return i===null?null:Y(`err.fenceParse`,{diagnostic:i})}function Tm({raw:e,settled:t=!1}){Po();let n=wm(e,{settled:t});return n===null?null:(0,g.jsx)(`div`,{style:xm,role:`alert`,children:n})}function Em({raw:e,fenceKey:t}){Po();let n=(0,m.useRef)(null),[r,i]=(0,m.useState)(!1);return(0,m.useLayoutEffect)(()=>{let e=n.current;e!==null&&e.closest(`[data-streaming]`)===null&&i(!0)}),(0,g.jsxs)(`div`,{ref:n,children:[r?(0,g.jsx)(Tm,{raw:e}):null,(0,g.jsx)(p.CodeBlock,{...Uo(),code:`${e}\n`,lang:`dsh-ui`},t)]})}function Dm({sessionId:e,sourceId:t,order:n,spec:r}){return(0,m.useEffect)(()=>{Qp(e,{sourceId:t,order:n,mode:r.append===!0?`append`:`replace`,spec:r})===`overflow`&&rm(e,t)},[e,t,n,r]),null}function Om(e,t){return bm(e,{settled:t?.source!==void 0})}function km(e,t,n){let r=t?.sessionId,i=r===void 0||t?.source===void 0?void 0:ps(r,t.source.id,JSON.stringify(n));return(0,g.jsx)(as,{label:Y(`err.boundary.fence`),children:(0,g.jsx)(Bp,{spec:n,animateEntrance:t?.source===void 0,stateKey:i,exportEnabled:t?.source!==void 0})},JSON.stringify([r,e]))}function Am(e,t,n){let r=Om(e,n);return r===null?null:r.panel===!0?n!==void 0&&n.sessionId!==void 0&&n.source!==void 0?r.append===!0&&!qo(e)?(0,g.jsx)(m.Fragment,{},t):(0,g.jsx)(Dm,{sessionId:n.sessionId,sourceId:n.source.id,order:n.source.order,spec:r},t):(0,g.jsx)(m.Fragment,{},t):km(t,n,r)}function jm(e,t,n){let r=Om(e,n);return r===null?(0,g.jsx)(Em,{fenceKey:t,raw:e},t):r.panel===!0?n!==void 0&&n.sessionId!==void 0&&n.source!==void 0?r.append===!0&&!qo(e)?null:(0,g.jsx)(Dm,{sessionId:n.sessionId,sourceId:n.source.id,order:n.source.order,spec:r},t):null:km(t,n,r)}function Mm(e){if(typeof e!=`object`||!e)return;let t=e;if(typeof t.current==`string`)return t.current;if(typeof t.byId!=`object`||t.byId===null||Array.isArray(t.byId))return;let n=Object.values(t.byId).find(e=>{if(typeof e!=`object`||!e)return!1;let t=e.retainedBy;if(typeof t!=`object`||!t||Array.isArray(t))return!1;let n=t.mainView;return typeof n==`number`&&n>0});return typeof n?.id==`string`?n.id:void 0}let Nm={};function Pm(e,t){let n=t||Nm;return Fm(e,typeof n.includeImageAlt!=`boolean`||n.includeImageAlt,typeof n.includeHtml!=`boolean`||n.includeHtml)}function Fm(e,t,n){if(Lm(e)){if(`value`in e)return e.type===`html`&&!n?``:e.value;if(t&&`alt`in e&&e.alt)return e.alt;if(`children`in e)return Im(e.children,t,n)}return Array.isArray(e)?Im(e,t,n):``}function Im(e,t,n){let r=[],i=-1;for(;++i<e.length;)r[i]=Fm(e[i],t,n);return r.join(``)}function Lm(e){return!!(e&&typeof e==`object`)}let Rm={AElig:`Æ`,AMP:`&`,Aacute:`Á`,Abreve:`Ă`,Acirc:`Â`,Acy:`А`,Afr:`𝔄`,Agrave:`À`,Alpha:`Α`,Amacr:`Ā`,And:`⩓`,Aogon:`Ą`,Aopf:`𝔸`,ApplyFunction:`⁡`,Aring:`Å`,Ascr:`𝒜`,Assign:`≔`,Atilde:`Ã`,Auml:`Ä`,Backslash:`∖`,Barv:`⫧`,Barwed:`⌆`,Bcy:`Б`,Because:`∵`,Bernoullis:`ℬ`,Beta:`Β`,Bfr:`𝔅`,Bopf:`𝔹`,Breve:`˘`,Bscr:`ℬ`,Bumpeq:`≎`,CHcy:`Ч`,COPY:`©`,Cacute:`Ć`,Cap:`⋒`,CapitalDifferentialD:`ⅅ`,Cayleys:`ℭ`,Ccaron:`Č`,Ccedil:`Ç`,Ccirc:`Ĉ`,Cconint:`∰`,Cdot:`Ċ`,Cedilla:`¸`,CenterDot:`·`,Cfr:`ℭ`,Chi:`Χ`,CircleDot:`⊙`,CircleMinus:`⊖`,CirclePlus:`⊕`,CircleTimes:`⊗`,ClockwiseContourIntegral:`∲`,CloseCurlyDoubleQuote:`”`,CloseCurlyQuote:`’`,Colon:`∷`,Colone:`⩴`,Congruent:`≡`,Conint:`∯`,ContourIntegral:`∮`,Copf:`ℂ`,Coproduct:`∐`,CounterClockwiseContourIntegral:`∳`,Cross:`⨯`,Cscr:`𝒞`,Cup:`⋓`,CupCap:`≍`,DD:`ⅅ`,DDotrahd:`⤑`,DJcy:`Ђ`,DScy:`Ѕ`,DZcy:`Џ`,Dagger:`‡`,Darr:`↡`,Dashv:`⫤`,Dcaron:`Ď`,Dcy:`Д`,Del:`∇`,Delta:`Δ`,Dfr:`𝔇`,DiacriticalAcute:`´`,DiacriticalDot:`˙`,DiacriticalDoubleAcute:`˝`,DiacriticalGrave:"`",DiacriticalTilde:`˜`,Diamond:`⋄`,DifferentialD:`ⅆ`,Dopf:`𝔻`,Dot:`¨`,DotDot:`⃜`,DotEqual:`≐`,DoubleContourIntegral:`∯`,DoubleDot:`¨`,DoubleDownArrow:`⇓`,DoubleLeftArrow:`⇐`,DoubleLeftRightArrow:`⇔`,DoubleLeftTee:`⫤`,DoubleLongLeftArrow:`⟸`,DoubleLongLeftRightArrow:`⟺`,DoubleLongRightArrow:`⟹`,DoubleRightArrow:`⇒`,DoubleRightTee:`⊨`,DoubleUpArrow:`⇑`,DoubleUpDownArrow:`⇕`,DoubleVerticalBar:`∥`,DownArrow:`↓`,DownArrowBar:`⤓`,DownArrowUpArrow:`⇵`,DownBreve:`̑`,DownLeftRightVector:`⥐`,DownLeftTeeVector:`⥞`,DownLeftVector:`↽`,DownLeftVectorBar:`⥖`,DownRightTeeVector:`⥟`,DownRightVector:`⇁`,DownRightVectorBar:`⥗`,DownTee:`⊤`,DownTeeArrow:`↧`,Downarrow:`⇓`,Dscr:`𝒟`,Dstrok:`Đ`,ENG:`Ŋ`,ETH:`Ð`,Eacute:`É`,Ecaron:`Ě`,Ecirc:`Ê`,Ecy:`Э`,Edot:`Ė`,Efr:`𝔈`,Egrave:`È`,Element:`∈`,Emacr:`Ē`,EmptySmallSquare:`◻`,EmptyVerySmallSquare:`▫`,Eogon:`Ę`,Eopf:`𝔼`,Epsilon:`Ε`,Equal:`⩵`,EqualTilde:`≂`,Equilibrium:`⇌`,Escr:`ℰ`,Esim:`⩳`,Eta:`Η`,Euml:`Ë`,Exists:`∃`,ExponentialE:`ⅇ`,Fcy:`Ф`,Ffr:`𝔉`,FilledSmallSquare:`◼`,FilledVerySmallSquare:`▪`,Fopf:`𝔽`,ForAll:`∀`,Fouriertrf:`ℱ`,Fscr:`ℱ`,GJcy:`Ѓ`,GT:`>`,Gamma:`Γ`,Gammad:`Ϝ`,Gbreve:`Ğ`,Gcedil:`Ģ`,Gcirc:`Ĝ`,Gcy:`Г`,Gdot:`Ġ`,Gfr:`𝔊`,Gg:`⋙`,Gopf:`𝔾`,GreaterEqual:`≥`,GreaterEqualLess:`⋛`,GreaterFullEqual:`≧`,GreaterGreater:`⪢`,GreaterLess:`≷`,GreaterSlantEqual:`⩾`,GreaterTilde:`≳`,Gscr:`𝒢`,Gt:`≫`,HARDcy:`Ъ`,Hacek:`ˇ`,Hat:`^`,Hcirc:`Ĥ`,Hfr:`ℌ`,HilbertSpace:`ℋ`,Hopf:`ℍ`,HorizontalLine:`─`,Hscr:`ℋ`,Hstrok:`Ħ`,HumpDownHump:`≎`,HumpEqual:`≏`,IEcy:`Е`,IJlig:`IJ`,IOcy:`Ё`,Iacute:`Í`,Icirc:`Î`,Icy:`И`,Idot:`İ`,Ifr:`ℑ`,Igrave:`Ì`,Im:`ℑ`,Imacr:`Ī`,ImaginaryI:`ⅈ`,Implies:`⇒`,Int:`∬`,Integral:`∫`,Intersection:`⋂`,InvisibleComma:`⁣`,InvisibleTimes:`⁢`,Iogon:`Į`,Iopf:`𝕀`,Iota:`Ι`,Iscr:`ℐ`,Itilde:`Ĩ`,Iukcy:`І`,Iuml:`Ï`,Jcirc:`Ĵ`,Jcy:`Й`,Jfr:`𝔍`,Jopf:`𝕁`,Jscr:`𝒥`,Jsercy:`Ј`,Jukcy:`Є`,KHcy:`Х`,KJcy:`Ќ`,Kappa:`Κ`,Kcedil:`Ķ`,Kcy:`К`,Kfr:`𝔎`,Kopf:`𝕂`,Kscr:`𝒦`,LJcy:`Љ`,LT:`<`,Lacute:`Ĺ`,Lambda:`Λ`,Lang:`⟪`,Laplacetrf:`ℒ`,Larr:`↞`,Lcaron:`Ľ`,Lcedil:`Ļ`,Lcy:`Л`,LeftAngleBracket:`⟨`,LeftArrow:`←`,LeftArrowBar:`⇤`,LeftArrowRightArrow:`⇆`,LeftCeiling:`⌈`,LeftDoubleBracket:`⟦`,LeftDownTeeVector:`⥡`,LeftDownVector:`⇃`,LeftDownVectorBar:`⥙`,LeftFloor:`⌊`,LeftRightArrow:`↔`,LeftRightVector:`⥎`,LeftTee:`⊣`,LeftTeeArrow:`↤`,LeftTeeVector:`⥚`,LeftTriangle:`⊲`,LeftTriangleBar:`⧏`,LeftTriangleEqual:`⊴`,LeftUpDownVector:`⥑`,LeftUpTeeVector:`⥠`,LeftUpVector:`↿`,LeftUpVectorBar:`⥘`,LeftVector:`↼`,LeftVectorBar:`⥒`,Leftarrow:`⇐`,Leftrightarrow:`⇔`,LessEqualGreater:`⋚`,LessFullEqual:`≦`,LessGreater:`≶`,LessLess:`⪡`,LessSlantEqual:`⩽`,LessTilde:`≲`,Lfr:`𝔏`,Ll:`⋘`,Lleftarrow:`⇚`,Lmidot:`Ŀ`,LongLeftArrow:`⟵`,LongLeftRightArrow:`⟷`,LongRightArrow:`⟶`,Longleftarrow:`⟸`,Longleftrightarrow:`⟺`,Longrightarrow:`⟹`,Lopf:`𝕃`,LowerLeftArrow:`↙`,LowerRightArrow:`↘`,Lscr:`ℒ`,Lsh:`↰`,Lstrok:`Ł`,Lt:`≪`,Map:`⤅`,Mcy:`М`,MediumSpace:` `,Mellintrf:`ℳ`,Mfr:`𝔐`,MinusPlus:`∓`,Mopf:`𝕄`,Mscr:`ℳ`,Mu:`Μ`,NJcy:`Њ`,Nacute:`Ń`,Ncaron:`Ň`,Ncedil:`Ņ`,Ncy:`Н`,NegativeMediumSpace:`​`,NegativeThickSpace:`​`,NegativeThinSpace:`​`,NegativeVeryThinSpace:`​`,NestedGreaterGreater:`≫`,NestedLessLess:`≪`,NewLine:`
402
+ `,Nfr:`𝔑`,NoBreak:`⁠`,NonBreakingSpace:`\xA0`,Nopf:`ℕ`,Not:`⫬`,NotCongruent:`≢`,NotCupCap:`≭`,NotDoubleVerticalBar:`∦`,NotElement:`∉`,NotEqual:`≠`,NotEqualTilde:`≂̸`,NotExists:`∄`,NotGreater:`≯`,NotGreaterEqual:`≱`,NotGreaterFullEqual:`≧̸`,NotGreaterGreater:`≫̸`,NotGreaterLess:`≹`,NotGreaterSlantEqual:`⩾̸`,NotGreaterTilde:`≵`,NotHumpDownHump:`≎̸`,NotHumpEqual:`≏̸`,NotLeftTriangle:`⋪`,NotLeftTriangleBar:`⧏̸`,NotLeftTriangleEqual:`⋬`,NotLess:`≮`,NotLessEqual:`≰`,NotLessGreater:`≸`,NotLessLess:`≪̸`,NotLessSlantEqual:`⩽̸`,NotLessTilde:`≴`,NotNestedGreaterGreater:`⪢̸`,NotNestedLessLess:`⪡̸`,NotPrecedes:`⊀`,NotPrecedesEqual:`⪯̸`,NotPrecedesSlantEqual:`⋠`,NotReverseElement:`∌`,NotRightTriangle:`⋫`,NotRightTriangleBar:`⧐̸`,NotRightTriangleEqual:`⋭`,NotSquareSubset:`⊏̸`,NotSquareSubsetEqual:`⋢`,NotSquareSuperset:`⊐̸`,NotSquareSupersetEqual:`⋣`,NotSubset:`⊂⃒`,NotSubsetEqual:`⊈`,NotSucceeds:`⊁`,NotSucceedsEqual:`⪰̸`,NotSucceedsSlantEqual:`⋡`,NotSucceedsTilde:`≿̸`,NotSuperset:`⊃⃒`,NotSupersetEqual:`⊉`,NotTilde:`≁`,NotTildeEqual:`≄`,NotTildeFullEqual:`≇`,NotTildeTilde:`≉`,NotVerticalBar:`∤`,Nscr:`𝒩`,Ntilde:`Ñ`,Nu:`Ν`,OElig:`Œ`,Oacute:`Ó`,Ocirc:`Ô`,Ocy:`О`,Odblac:`Ő`,Ofr:`𝔒`,Ograve:`Ò`,Omacr:`Ō`,Omega:`Ω`,Omicron:`Ο`,Oopf:`𝕆`,OpenCurlyDoubleQuote:`“`,OpenCurlyQuote:`‘`,Or:`⩔`,Oscr:`𝒪`,Oslash:`Ø`,Otilde:`Õ`,Otimes:`⨷`,Ouml:`Ö`,OverBar:`‾`,OverBrace:`⏞`,OverBracket:`⎴`,OverParenthesis:`⏜`,PartialD:`∂`,Pcy:`П`,Pfr:`𝔓`,Phi:`Φ`,Pi:`Π`,PlusMinus:`±`,Poincareplane:`ℌ`,Popf:`ℙ`,Pr:`⪻`,Precedes:`≺`,PrecedesEqual:`⪯`,PrecedesSlantEqual:`≼`,PrecedesTilde:`≾`,Prime:`″`,Product:`∏`,Proportion:`∷`,Proportional:`∝`,Pscr:`𝒫`,Psi:`Ψ`,QUOT:`"`,Qfr:`𝔔`,Qopf:`ℚ`,Qscr:`𝒬`,RBarr:`⤐`,REG:`®`,Racute:`Ŕ`,Rang:`⟫`,Rarr:`↠`,Rarrtl:`⤖`,Rcaron:`Ř`,Rcedil:`Ŗ`,Rcy:`Р`,Re:`ℜ`,ReverseElement:`∋`,ReverseEquilibrium:`⇋`,ReverseUpEquilibrium:`⥯`,Rfr:`ℜ`,Rho:`Ρ`,RightAngleBracket:`⟩`,RightArrow:`→`,RightArrowBar:`⇥`,RightArrowLeftArrow:`⇄`,RightCeiling:`⌉`,RightDoubleBracket:`⟧`,RightDownTeeVector:`⥝`,RightDownVector:`⇂`,RightDownVectorBar:`⥕`,RightFloor:`⌋`,RightTee:`⊢`,RightTeeArrow:`↦`,RightTeeVector:`⥛`,RightTriangle:`⊳`,RightTriangleBar:`⧐`,RightTriangleEqual:`⊵`,RightUpDownVector:`⥏`,RightUpTeeVector:`⥜`,RightUpVector:`↾`,RightUpVectorBar:`⥔`,RightVector:`⇀`,RightVectorBar:`⥓`,Rightarrow:`⇒`,Ropf:`ℝ`,RoundImplies:`⥰`,Rrightarrow:`⇛`,Rscr:`ℛ`,Rsh:`↱`,RuleDelayed:`⧴`,SHCHcy:`Щ`,SHcy:`Ш`,SOFTcy:`Ь`,Sacute:`Ś`,Sc:`⪼`,Scaron:`Š`,Scedil:`Ş`,Scirc:`Ŝ`,Scy:`С`,Sfr:`𝔖`,ShortDownArrow:`↓`,ShortLeftArrow:`←`,ShortRightArrow:`→`,ShortUpArrow:`↑`,Sigma:`Σ`,SmallCircle:`∘`,Sopf:`𝕊`,Sqrt:`√`,Square:`□`,SquareIntersection:`⊓`,SquareSubset:`⊏`,SquareSubsetEqual:`⊑`,SquareSuperset:`⊐`,SquareSupersetEqual:`⊒`,SquareUnion:`⊔`,Sscr:`𝒮`,Star:`⋆`,Sub:`⋐`,Subset:`⋐`,SubsetEqual:`⊆`,Succeeds:`≻`,SucceedsEqual:`⪰`,SucceedsSlantEqual:`≽`,SucceedsTilde:`≿`,SuchThat:`∋`,Sum:`∑`,Sup:`⋑`,Superset:`⊃`,SupersetEqual:`⊇`,Supset:`⋑`,THORN:`Þ`,TRADE:`™`,TSHcy:`Ћ`,TScy:`Ц`,Tab:` `,Tau:`Τ`,Tcaron:`Ť`,Tcedil:`Ţ`,Tcy:`Т`,Tfr:`𝔗`,Therefore:`∴`,Theta:`Θ`,ThickSpace:`  `,ThinSpace:` `,Tilde:`∼`,TildeEqual:`≃`,TildeFullEqual:`≅`,TildeTilde:`≈`,Topf:`𝕋`,TripleDot:`⃛`,Tscr:`𝒯`,Tstrok:`Ŧ`,Uacute:`Ú`,Uarr:`↟`,Uarrocir:`⥉`,Ubrcy:`Ў`,Ubreve:`Ŭ`,Ucirc:`Û`,Ucy:`У`,Udblac:`Ű`,Ufr:`𝔘`,Ugrave:`Ù`,Umacr:`Ū`,UnderBar:`_`,UnderBrace:`⏟`,UnderBracket:`⎵`,UnderParenthesis:`⏝`,Union:`⋃`,UnionPlus:`⊎`,Uogon:`Ų`,Uopf:`𝕌`,UpArrow:`↑`,UpArrowBar:`⤒`,UpArrowDownArrow:`⇅`,UpDownArrow:`↕`,UpEquilibrium:`⥮`,UpTee:`⊥`,UpTeeArrow:`↥`,Uparrow:`⇑`,Updownarrow:`⇕`,UpperLeftArrow:`↖`,UpperRightArrow:`↗`,Upsi:`ϒ`,Upsilon:`Υ`,Uring:`Ů`,Uscr:`𝒰`,Utilde:`Ũ`,Uuml:`Ü`,VDash:`⊫`,Vbar:`⫫`,Vcy:`В`,Vdash:`⊩`,Vdashl:`⫦`,Vee:`⋁`,Verbar:`‖`,Vert:`‖`,VerticalBar:`∣`,VerticalLine:`|`,VerticalSeparator:`❘`,VerticalTilde:`≀`,VeryThinSpace:` `,Vfr:`𝔙`,Vopf:`𝕍`,Vscr:`𝒱`,Vvdash:`⊪`,Wcirc:`Ŵ`,Wedge:`⋀`,Wfr:`𝔚`,Wopf:`𝕎`,Wscr:`𝒲`,Xfr:`𝔛`,Xi:`Ξ`,Xopf:`𝕏`,Xscr:`𝒳`,YAcy:`Я`,YIcy:`Ї`,YUcy:`Ю`,Yacute:`Ý`,Ycirc:`Ŷ`,Ycy:`Ы`,Yfr:`𝔜`,Yopf:`𝕐`,Yscr:`𝒴`,Yuml:`Ÿ`,ZHcy:`Ж`,Zacute:`Ź`,Zcaron:`Ž`,Zcy:`З`,Zdot:`Ż`,ZeroWidthSpace:`​`,Zeta:`Ζ`,Zfr:`ℨ`,Zopf:`ℤ`,Zscr:`𝒵`,aacute:`á`,abreve:`ă`,ac:`∾`,acE:`∾̳`,acd:`∿`,acirc:`â`,acute:`´`,acy:`а`,aelig:`æ`,af:`⁡`,afr:`𝔞`,agrave:`à`,alefsym:`ℵ`,aleph:`ℵ`,alpha:`α`,amacr:`ā`,amalg:`⨿`,amp:`&`,and:`∧`,andand:`⩕`,andd:`⩜`,andslope:`⩘`,andv:`⩚`,ang:`∠`,ange:`⦤`,angle:`∠`,angmsd:`∡`,angmsdaa:`⦨`,angmsdab:`⦩`,angmsdac:`⦪`,angmsdad:`⦫`,angmsdae:`⦬`,angmsdaf:`⦭`,angmsdag:`⦮`,angmsdah:`⦯`,angrt:`∟`,angrtvb:`⊾`,angrtvbd:`⦝`,angsph:`∢`,angst:`Å`,angzarr:`⍼`,aogon:`ą`,aopf:`𝕒`,ap:`≈`,apE:`⩰`,apacir:`⩯`,ape:`≊`,apid:`≋`,apos:`'`,approx:`≈`,approxeq:`≊`,aring:`å`,ascr:`𝒶`,ast:`*`,asymp:`≈`,asympeq:`≍`,atilde:`ã`,auml:`ä`,awconint:`∳`,awint:`⨑`,bNot:`⫭`,backcong:`≌`,backepsilon:`϶`,backprime:`‵`,backsim:`∽`,backsimeq:`⋍`,barvee:`⊽`,barwed:`⌅`,barwedge:`⌅`,bbrk:`⎵`,bbrktbrk:`⎶`,bcong:`≌`,bcy:`б`,bdquo:`„`,becaus:`∵`,because:`∵`,bemptyv:`⦰`,bepsi:`϶`,bernou:`ℬ`,beta:`β`,beth:`ℶ`,between:`≬`,bfr:`𝔟`,bigcap:`⋂`,bigcirc:`◯`,bigcup:`⋃`,bigodot:`⨀`,bigoplus:`⨁`,bigotimes:`⨂`,bigsqcup:`⨆`,bigstar:`★`,bigtriangledown:`▽`,bigtriangleup:`△`,biguplus:`⨄`,bigvee:`⋁`,bigwedge:`⋀`,bkarow:`⤍`,blacklozenge:`⧫`,blacksquare:`▪`,blacktriangle:`▴`,blacktriangledown:`▾`,blacktriangleleft:`◂`,blacktriangleright:`▸`,blank:`␣`,blk12:`▒`,blk14:`░`,blk34:`▓`,block:`█`,bne:`=⃥`,bnequiv:`≡⃥`,bnot:`⌐`,bopf:`𝕓`,bot:`⊥`,bottom:`⊥`,bowtie:`⋈`,boxDL:`╗`,boxDR:`╔`,boxDl:`╖`,boxDr:`╓`,boxH:`═`,boxHD:`╦`,boxHU:`╩`,boxHd:`╤`,boxHu:`╧`,boxUL:`╝`,boxUR:`╚`,boxUl:`╜`,boxUr:`╙`,boxV:`║`,boxVH:`╬`,boxVL:`╣`,boxVR:`╠`,boxVh:`╫`,boxVl:`╢`,boxVr:`╟`,boxbox:`⧉`,boxdL:`╕`,boxdR:`╒`,boxdl:`┐`,boxdr:`┌`,boxh:`─`,boxhD:`╥`,boxhU:`╨`,boxhd:`┬`,boxhu:`┴`,boxminus:`⊟`,boxplus:`⊞`,boxtimes:`⊠`,boxuL:`╛`,boxuR:`╘`,boxul:`┘`,boxur:`└`,boxv:`│`,boxvH:`╪`,boxvL:`╡`,boxvR:`╞`,boxvh:`┼`,boxvl:`┤`,boxvr:`├`,bprime:`‵`,breve:`˘`,brvbar:`¦`,bscr:`𝒷`,bsemi:`⁏`,bsim:`∽`,bsime:`⋍`,bsol:`\\`,bsolb:`⧅`,bsolhsub:`⟈`,bull:`•`,bullet:`•`,bump:`≎`,bumpE:`⪮`,bumpe:`≏`,bumpeq:`≏`,cacute:`ć`,cap:`∩`,capand:`⩄`,capbrcup:`⩉`,capcap:`⩋`,capcup:`⩇`,capdot:`⩀`,caps:`∩︀`,caret:`⁁`,caron:`ˇ`,ccaps:`⩍`,ccaron:`č`,ccedil:`ç`,ccirc:`ĉ`,ccups:`⩌`,ccupssm:`⩐`,cdot:`ċ`,cedil:`¸`,cemptyv:`⦲`,cent:`¢`,centerdot:`·`,cfr:`𝔠`,chcy:`ч`,check:`✓`,checkmark:`✓`,chi:`χ`,cir:`○`,cirE:`⧃`,circ:`ˆ`,circeq:`≗`,circlearrowleft:`↺`,circlearrowright:`↻`,circledR:`®`,circledS:`Ⓢ`,circledast:`⊛`,circledcirc:`⊚`,circleddash:`⊝`,cire:`≗`,cirfnint:`⨐`,cirmid:`⫯`,cirscir:`⧂`,clubs:`♣`,clubsuit:`♣`,colon:`:`,colone:`≔`,coloneq:`≔`,comma:`,`,commat:`@`,comp:`∁`,compfn:`∘`,complement:`∁`,complexes:`ℂ`,cong:`≅`,congdot:`⩭`,conint:`∮`,copf:`𝕔`,coprod:`∐`,copy:`©`,copysr:`℗`,crarr:`↵`,cross:`✗`,cscr:`𝒸`,csub:`⫏`,csube:`⫑`,csup:`⫐`,csupe:`⫒`,ctdot:`⋯`,cudarrl:`⤸`,cudarrr:`⤵`,cuepr:`⋞`,cuesc:`⋟`,cularr:`↶`,cularrp:`⤽`,cup:`∪`,cupbrcap:`⩈`,cupcap:`⩆`,cupcup:`⩊`,cupdot:`⊍`,cupor:`⩅`,cups:`∪︀`,curarr:`↷`,curarrm:`⤼`,curlyeqprec:`⋞`,curlyeqsucc:`⋟`,curlyvee:`⋎`,curlywedge:`⋏`,curren:`¤`,curvearrowleft:`↶`,curvearrowright:`↷`,cuvee:`⋎`,cuwed:`⋏`,cwconint:`∲`,cwint:`∱`,cylcty:`⌭`,dArr:`⇓`,dHar:`⥥`,dagger:`†`,daleth:`ℸ`,darr:`↓`,dash:`‐`,dashv:`⊣`,dbkarow:`⤏`,dblac:`˝`,dcaron:`ď`,dcy:`д`,dd:`ⅆ`,ddagger:`‡`,ddarr:`⇊`,ddotseq:`⩷`,deg:`°`,delta:`δ`,demptyv:`⦱`,dfisht:`⥿`,dfr:`𝔡`,dharl:`⇃`,dharr:`⇂`,diam:`⋄`,diamond:`⋄`,diamondsuit:`♦`,diams:`♦`,die:`¨`,digamma:`ϝ`,disin:`⋲`,div:`÷`,divide:`÷`,divideontimes:`⋇`,divonx:`⋇`,djcy:`ђ`,dlcorn:`⌞`,dlcrop:`⌍`,dollar:`$`,dopf:`𝕕`,dot:`˙`,doteq:`≐`,doteqdot:`≑`,dotminus:`∸`,dotplus:`∔`,dotsquare:`⊡`,doublebarwedge:`⌆`,downarrow:`↓`,downdownarrows:`⇊`,downharpoonleft:`⇃`,downharpoonright:`⇂`,drbkarow:`⤐`,drcorn:`⌟`,drcrop:`⌌`,dscr:`𝒹`,dscy:`ѕ`,dsol:`⧶`,dstrok:`đ`,dtdot:`⋱`,dtri:`▿`,dtrif:`▾`,duarr:`⇵`,duhar:`⥯`,dwangle:`⦦`,dzcy:`џ`,dzigrarr:`⟿`,eDDot:`⩷`,eDot:`≑`,eacute:`é`,easter:`⩮`,ecaron:`ě`,ecir:`≖`,ecirc:`ê`,ecolon:`≕`,ecy:`э`,edot:`ė`,ee:`ⅇ`,efDot:`≒`,efr:`𝔢`,eg:`⪚`,egrave:`è`,egs:`⪖`,egsdot:`⪘`,el:`⪙`,elinters:`⏧`,ell:`ℓ`,els:`⪕`,elsdot:`⪗`,emacr:`ē`,empty:`∅`,emptyset:`∅`,emptyv:`∅`,emsp13:` `,emsp14:` `,emsp:` `,eng:`ŋ`,ensp:` `,eogon:`ę`,eopf:`𝕖`,epar:`⋕`,eparsl:`⧣`,eplus:`⩱`,epsi:`ε`,epsilon:`ε`,epsiv:`ϵ`,eqcirc:`≖`,eqcolon:`≕`,eqsim:`≂`,eqslantgtr:`⪖`,eqslantless:`⪕`,equals:`=`,equest:`≟`,equiv:`≡`,equivDD:`⩸`,eqvparsl:`⧥`,erDot:`≓`,erarr:`⥱`,escr:`ℯ`,esdot:`≐`,esim:`≂`,eta:`η`,eth:`ð`,euml:`ë`,euro:`€`,excl:`!`,exist:`∃`,expectation:`ℰ`,exponentiale:`ⅇ`,fallingdotseq:`≒`,fcy:`ф`,female:`♀`,ffilig:`ffi`,fflig:`ff`,ffllig:`ffl`,ffr:`𝔣`,filig:`fi`,fjlig:`fj`,flat:`♭`,fllig:`fl`,fltns:`▱`,fnof:`ƒ`,fopf:`𝕗`,forall:`∀`,fork:`⋔`,forkv:`⫙`,fpartint:`⨍`,frac12:`½`,frac13:`⅓`,frac14:`¼`,frac15:`⅕`,frac16:`⅙`,frac18:`⅛`,frac23:`⅔`,frac25:`⅖`,frac34:`¾`,frac35:`⅗`,frac38:`⅜`,frac45:`⅘`,frac56:`⅚`,frac58:`⅝`,frac78:`⅞`,frasl:`⁄`,frown:`⌢`,fscr:`𝒻`,gE:`≧`,gEl:`⪌`,gacute:`ǵ`,gamma:`γ`,gammad:`ϝ`,gap:`⪆`,gbreve:`ğ`,gcirc:`ĝ`,gcy:`г`,gdot:`ġ`,ge:`≥`,gel:`⋛`,geq:`≥`,geqq:`≧`,geqslant:`⩾`,ges:`⩾`,gescc:`⪩`,gesdot:`⪀`,gesdoto:`⪂`,gesdotol:`⪄`,gesl:`⋛︀`,gesles:`⪔`,gfr:`𝔤`,gg:`≫`,ggg:`⋙`,gimel:`ℷ`,gjcy:`ѓ`,gl:`≷`,glE:`⪒`,gla:`⪥`,glj:`⪤`,gnE:`≩`,gnap:`⪊`,gnapprox:`⪊`,gne:`⪈`,gneq:`⪈`,gneqq:`≩`,gnsim:`⋧`,gopf:`𝕘`,grave:"`",gscr:`ℊ`,gsim:`≳`,gsime:`⪎`,gsiml:`⪐`,gt:`>`,gtcc:`⪧`,gtcir:`⩺`,gtdot:`⋗`,gtlPar:`⦕`,gtquest:`⩼`,gtrapprox:`⪆`,gtrarr:`⥸`,gtrdot:`⋗`,gtreqless:`⋛`,gtreqqless:`⪌`,gtrless:`≷`,gtrsim:`≳`,gvertneqq:`≩︀`,gvnE:`≩︀`,hArr:`⇔`,hairsp:` `,half:`½`,hamilt:`ℋ`,hardcy:`ъ`,harr:`↔`,harrcir:`⥈`,harrw:`↭`,hbar:`ℏ`,hcirc:`ĥ`,hearts:`♥`,heartsuit:`♥`,hellip:`…`,hercon:`⊹`,hfr:`𝔥`,hksearow:`⤥`,hkswarow:`⤦`,hoarr:`⇿`,homtht:`∻`,hookleftarrow:`↩`,hookrightarrow:`↪`,hopf:`𝕙`,horbar:`―`,hscr:`𝒽`,hslash:`ℏ`,hstrok:`ħ`,hybull:`⁃`,hyphen:`‐`,iacute:`í`,ic:`⁣`,icirc:`î`,icy:`и`,iecy:`е`,iexcl:`¡`,iff:`⇔`,ifr:`𝔦`,igrave:`ì`,ii:`ⅈ`,iiiint:`⨌`,iiint:`∭`,iinfin:`⧜`,iiota:`℩`,ijlig:`ij`,imacr:`ī`,image:`ℑ`,imagline:`ℐ`,imagpart:`ℑ`,imath:`ı`,imof:`⊷`,imped:`Ƶ`,in:`∈`,incare:`℅`,infin:`∞`,infintie:`⧝`,inodot:`ı`,int:`∫`,intcal:`⊺`,integers:`ℤ`,intercal:`⊺`,intlarhk:`⨗`,intprod:`⨼`,iocy:`ё`,iogon:`į`,iopf:`𝕚`,iota:`ι`,iprod:`⨼`,iquest:`¿`,iscr:`𝒾`,isin:`∈`,isinE:`⋹`,isindot:`⋵`,isins:`⋴`,isinsv:`⋳`,isinv:`∈`,it:`⁢`,itilde:`ĩ`,iukcy:`і`,iuml:`ï`,jcirc:`ĵ`,jcy:`й`,jfr:`𝔧`,jmath:`ȷ`,jopf:`𝕛`,jscr:`𝒿`,jsercy:`ј`,jukcy:`є`,kappa:`κ`,kappav:`ϰ`,kcedil:`ķ`,kcy:`к`,kfr:`𝔨`,kgreen:`ĸ`,khcy:`х`,kjcy:`ќ`,kopf:`𝕜`,kscr:`𝓀`,lAarr:`⇚`,lArr:`⇐`,lAtail:`⤛`,lBarr:`⤎`,lE:`≦`,lEg:`⪋`,lHar:`⥢`,lacute:`ĺ`,laemptyv:`⦴`,lagran:`ℒ`,lambda:`λ`,lang:`⟨`,langd:`⦑`,langle:`⟨`,lap:`⪅`,laquo:`«`,larr:`←`,larrb:`⇤`,larrbfs:`⤟`,larrfs:`⤝`,larrhk:`↩`,larrlp:`↫`,larrpl:`⤹`,larrsim:`⥳`,larrtl:`↢`,lat:`⪫`,latail:`⤙`,late:`⪭`,lates:`⪭︀`,lbarr:`⤌`,lbbrk:`❲`,lbrace:`{`,lbrack:`[`,lbrke:`⦋`,lbrksld:`⦏`,lbrkslu:`⦍`,lcaron:`ľ`,lcedil:`ļ`,lceil:`⌈`,lcub:`{`,lcy:`л`,ldca:`⤶`,ldquo:`“`,ldquor:`„`,ldrdhar:`⥧`,ldrushar:`⥋`,ldsh:`↲`,le:`≤`,leftarrow:`←`,leftarrowtail:`↢`,leftharpoondown:`↽`,leftharpoonup:`↼`,leftleftarrows:`⇇`,leftrightarrow:`↔`,leftrightarrows:`⇆`,leftrightharpoons:`⇋`,leftrightsquigarrow:`↭`,leftthreetimes:`⋋`,leg:`⋚`,leq:`≤`,leqq:`≦`,leqslant:`⩽`,les:`⩽`,lescc:`⪨`,lesdot:`⩿`,lesdoto:`⪁`,lesdotor:`⪃`,lesg:`⋚︀`,lesges:`⪓`,lessapprox:`⪅`,lessdot:`⋖`,lesseqgtr:`⋚`,lesseqqgtr:`⪋`,lessgtr:`≶`,lesssim:`≲`,lfisht:`⥼`,lfloor:`⌊`,lfr:`𝔩`,lg:`≶`,lgE:`⪑`,lhard:`↽`,lharu:`↼`,lharul:`⥪`,lhblk:`▄`,ljcy:`љ`,ll:`≪`,llarr:`⇇`,llcorner:`⌞`,llhard:`⥫`,lltri:`◺`,lmidot:`ŀ`,lmoust:`⎰`,lmoustache:`⎰`,lnE:`≨`,lnap:`⪉`,lnapprox:`⪉`,lne:`⪇`,lneq:`⪇`,lneqq:`≨`,lnsim:`⋦`,loang:`⟬`,loarr:`⇽`,lobrk:`⟦`,longleftarrow:`⟵`,longleftrightarrow:`⟷`,longmapsto:`⟼`,longrightarrow:`⟶`,looparrowleft:`↫`,looparrowright:`↬`,lopar:`⦅`,lopf:`𝕝`,loplus:`⨭`,lotimes:`⨴`,lowast:`∗`,lowbar:`_`,loz:`◊`,lozenge:`◊`,lozf:`⧫`,lpar:`(`,lparlt:`⦓`,lrarr:`⇆`,lrcorner:`⌟`,lrhar:`⇋`,lrhard:`⥭`,lrm:`‎`,lrtri:`⊿`,lsaquo:`‹`,lscr:`𝓁`,lsh:`↰`,lsim:`≲`,lsime:`⪍`,lsimg:`⪏`,lsqb:`[`,lsquo:`‘`,lsquor:`‚`,lstrok:`ł`,lt:`<`,ltcc:`⪦`,ltcir:`⩹`,ltdot:`⋖`,lthree:`⋋`,ltimes:`⋉`,ltlarr:`⥶`,ltquest:`⩻`,ltrPar:`⦖`,ltri:`◃`,ltrie:`⊴`,ltrif:`◂`,lurdshar:`⥊`,luruhar:`⥦`,lvertneqq:`≨︀`,lvnE:`≨︀`,mDDot:`∺`,macr:`¯`,male:`♂`,malt:`✠`,maltese:`✠`,map:`↦`,mapsto:`↦`,mapstodown:`↧`,mapstoleft:`↤`,mapstoup:`↥`,marker:`▮`,mcomma:`⨩`,mcy:`м`,mdash:`—`,measuredangle:`∡`,mfr:`𝔪`,mho:`℧`,micro:`µ`,mid:`∣`,midast:`*`,midcir:`⫰`,middot:`·`,minus:`−`,minusb:`⊟`,minusd:`∸`,minusdu:`⨪`,mlcp:`⫛`,mldr:`…`,mnplus:`∓`,models:`⊧`,mopf:`𝕞`,mp:`∓`,mscr:`𝓂`,mstpos:`∾`,mu:`μ`,multimap:`⊸`,mumap:`⊸`,nGg:`⋙̸`,nGt:`≫⃒`,nGtv:`≫̸`,nLeftarrow:`⇍`,nLeftrightarrow:`⇎`,nLl:`⋘̸`,nLt:`≪⃒`,nLtv:`≪̸`,nRightarrow:`⇏`,nVDash:`⊯`,nVdash:`⊮`,nabla:`∇`,nacute:`ń`,nang:`∠⃒`,nap:`≉`,napE:`⩰̸`,napid:`≋̸`,napos:`ʼn`,napprox:`≉`,natur:`♮`,natural:`♮`,naturals:`ℕ`,nbsp:`\xA0`,nbump:`≎̸`,nbumpe:`≏̸`,ncap:`⩃`,ncaron:`ň`,ncedil:`ņ`,ncong:`≇`,ncongdot:`⩭̸`,ncup:`⩂`,ncy:`н`,ndash:`–`,ne:`≠`,neArr:`⇗`,nearhk:`⤤`,nearr:`↗`,nearrow:`↗`,nedot:`≐̸`,nequiv:`≢`,nesear:`⤨`,nesim:`≂̸`,nexist:`∄`,nexists:`∄`,nfr:`𝔫`,ngE:`≧̸`,nge:`≱`,ngeq:`≱`,ngeqq:`≧̸`,ngeqslant:`⩾̸`,nges:`⩾̸`,ngsim:`≵`,ngt:`≯`,ngtr:`≯`,nhArr:`⇎`,nharr:`↮`,nhpar:`⫲`,ni:`∋`,nis:`⋼`,nisd:`⋺`,niv:`∋`,njcy:`њ`,nlArr:`⇍`,nlE:`≦̸`,nlarr:`↚`,nldr:`‥`,nle:`≰`,nleftarrow:`↚`,nleftrightarrow:`↮`,nleq:`≰`,nleqq:`≦̸`,nleqslant:`⩽̸`,nles:`⩽̸`,nless:`≮`,nlsim:`≴`,nlt:`≮`,nltri:`⋪`,nltrie:`⋬`,nmid:`∤`,nopf:`𝕟`,not:`¬`,notin:`∉`,notinE:`⋹̸`,notindot:`⋵̸`,notinva:`∉`,notinvb:`⋷`,notinvc:`⋶`,notni:`∌`,notniva:`∌`,notnivb:`⋾`,notnivc:`⋽`,npar:`∦`,nparallel:`∦`,nparsl:`⫽⃥`,npart:`∂̸`,npolint:`⨔`,npr:`⊀`,nprcue:`⋠`,npre:`⪯̸`,nprec:`⊀`,npreceq:`⪯̸`,nrArr:`⇏`,nrarr:`↛`,nrarrc:`⤳̸`,nrarrw:`↝̸`,nrightarrow:`↛`,nrtri:`⋫`,nrtrie:`⋭`,nsc:`⊁`,nsccue:`⋡`,nsce:`⪰̸`,nscr:`𝓃`,nshortmid:`∤`,nshortparallel:`∦`,nsim:`≁`,nsime:`≄`,nsimeq:`≄`,nsmid:`∤`,nspar:`∦`,nsqsube:`⋢`,nsqsupe:`⋣`,nsub:`⊄`,nsubE:`⫅̸`,nsube:`⊈`,nsubset:`⊂⃒`,nsubseteq:`⊈`,nsubseteqq:`⫅̸`,nsucc:`⊁`,nsucceq:`⪰̸`,nsup:`⊅`,nsupE:`⫆̸`,nsupe:`⊉`,nsupset:`⊃⃒`,nsupseteq:`⊉`,nsupseteqq:`⫆̸`,ntgl:`≹`,ntilde:`ñ`,ntlg:`≸`,ntriangleleft:`⋪`,ntrianglelefteq:`⋬`,ntriangleright:`⋫`,ntrianglerighteq:`⋭`,nu:`ν`,num:`#`,numero:`№`,numsp:` `,nvDash:`⊭`,nvHarr:`⤄`,nvap:`≍⃒`,nvdash:`⊬`,nvge:`≥⃒`,nvgt:`>⃒`,nvinfin:`⧞`,nvlArr:`⤂`,nvle:`≤⃒`,nvlt:`<⃒`,nvltrie:`⊴⃒`,nvrArr:`⤃`,nvrtrie:`⊵⃒`,nvsim:`∼⃒`,nwArr:`⇖`,nwarhk:`⤣`,nwarr:`↖`,nwarrow:`↖`,nwnear:`⤧`,oS:`Ⓢ`,oacute:`ó`,oast:`⊛`,ocir:`⊚`,ocirc:`ô`,ocy:`о`,odash:`⊝`,odblac:`ő`,odiv:`⨸`,odot:`⊙`,odsold:`⦼`,oelig:`œ`,ofcir:`⦿`,ofr:`𝔬`,ogon:`˛`,ograve:`ò`,ogt:`⧁`,ohbar:`⦵`,ohm:`Ω`,oint:`∮`,olarr:`↺`,olcir:`⦾`,olcross:`⦻`,oline:`‾`,olt:`⧀`,omacr:`ō`,omega:`ω`,omicron:`ο`,omid:`⦶`,ominus:`⊖`,oopf:`𝕠`,opar:`⦷`,operp:`⦹`,oplus:`⊕`,or:`∨`,orarr:`↻`,ord:`⩝`,order:`ℴ`,orderof:`ℴ`,ordf:`ª`,ordm:`º`,origof:`⊶`,oror:`⩖`,orslope:`⩗`,orv:`⩛`,oscr:`ℴ`,oslash:`ø`,osol:`⊘`,otilde:`õ`,otimes:`⊗`,otimesas:`⨶`,ouml:`ö`,ovbar:`⌽`,par:`∥`,para:`¶`,parallel:`∥`,parsim:`⫳`,parsl:`⫽`,part:`∂`,pcy:`п`,percnt:`%`,period:`.`,permil:`‰`,perp:`⊥`,pertenk:`‱`,pfr:`𝔭`,phi:`φ`,phiv:`ϕ`,phmmat:`ℳ`,phone:`☎`,pi:`π`,pitchfork:`⋔`,piv:`ϖ`,planck:`ℏ`,planckh:`ℎ`,plankv:`ℏ`,plus:`+`,plusacir:`⨣`,plusb:`⊞`,pluscir:`⨢`,plusdo:`∔`,plusdu:`⨥`,pluse:`⩲`,plusmn:`±`,plussim:`⨦`,plustwo:`⨧`,pm:`±`,pointint:`⨕`,popf:`𝕡`,pound:`£`,pr:`≺`,prE:`⪳`,prap:`⪷`,prcue:`≼`,pre:`⪯`,prec:`≺`,precapprox:`⪷`,preccurlyeq:`≼`,preceq:`⪯`,precnapprox:`⪹`,precneqq:`⪵`,precnsim:`⋨`,precsim:`≾`,prime:`′`,primes:`ℙ`,prnE:`⪵`,prnap:`⪹`,prnsim:`⋨`,prod:`∏`,profalar:`⌮`,profline:`⌒`,profsurf:`⌓`,prop:`∝`,propto:`∝`,prsim:`≾`,prurel:`⊰`,pscr:`𝓅`,psi:`ψ`,puncsp:` `,qfr:`𝔮`,qint:`⨌`,qopf:`𝕢`,qprime:`⁗`,qscr:`𝓆`,quaternions:`ℍ`,quatint:`⨖`,quest:`?`,questeq:`≟`,quot:`"`,rAarr:`⇛`,rArr:`⇒`,rAtail:`⤜`,rBarr:`⤏`,rHar:`⥤`,race:`∽̱`,racute:`ŕ`,radic:`√`,raemptyv:`⦳`,rang:`⟩`,rangd:`⦒`,range:`⦥`,rangle:`⟩`,raquo:`»`,rarr:`→`,rarrap:`⥵`,rarrb:`⇥`,rarrbfs:`⤠`,rarrc:`⤳`,rarrfs:`⤞`,rarrhk:`↪`,rarrlp:`↬`,rarrpl:`⥅`,rarrsim:`⥴`,rarrtl:`↣`,rarrw:`↝`,ratail:`⤚`,ratio:`∶`,rationals:`ℚ`,rbarr:`⤍`,rbbrk:`❳`,rbrace:`}`,rbrack:`]`,rbrke:`⦌`,rbrksld:`⦎`,rbrkslu:`⦐`,rcaron:`ř`,rcedil:`ŗ`,rceil:`⌉`,rcub:`}`,rcy:`р`,rdca:`⤷`,rdldhar:`⥩`,rdquo:`”`,rdquor:`”`,rdsh:`↳`,real:`ℜ`,realine:`ℛ`,realpart:`ℜ`,reals:`ℝ`,rect:`▭`,reg:`®`,rfisht:`⥽`,rfloor:`⌋`,rfr:`𝔯`,rhard:`⇁`,rharu:`⇀`,rharul:`⥬`,rho:`ρ`,rhov:`ϱ`,rightarrow:`→`,rightarrowtail:`↣`,rightharpoondown:`⇁`,rightharpoonup:`⇀`,rightleftarrows:`⇄`,rightleftharpoons:`⇌`,rightrightarrows:`⇉`,rightsquigarrow:`↝`,rightthreetimes:`⋌`,ring:`˚`,risingdotseq:`≓`,rlarr:`⇄`,rlhar:`⇌`,rlm:`‏`,rmoust:`⎱`,rmoustache:`⎱`,rnmid:`⫮`,roang:`⟭`,roarr:`⇾`,robrk:`⟧`,ropar:`⦆`,ropf:`𝕣`,roplus:`⨮`,rotimes:`⨵`,rpar:`)`,rpargt:`⦔`,rppolint:`⨒`,rrarr:`⇉`,rsaquo:`›`,rscr:`𝓇`,rsh:`↱`,rsqb:`]`,rsquo:`’`,rsquor:`’`,rthree:`⋌`,rtimes:`⋊`,rtri:`▹`,rtrie:`⊵`,rtrif:`▸`,rtriltri:`⧎`,ruluhar:`⥨`,rx:`℞`,sacute:`ś`,sbquo:`‚`,sc:`≻`,scE:`⪴`,scap:`⪸`,scaron:`š`,sccue:`≽`,sce:`⪰`,scedil:`ş`,scirc:`ŝ`,scnE:`⪶`,scnap:`⪺`,scnsim:`⋩`,scpolint:`⨓`,scsim:`≿`,scy:`с`,sdot:`⋅`,sdotb:`⊡`,sdote:`⩦`,seArr:`⇘`,searhk:`⤥`,searr:`↘`,searrow:`↘`,sect:`§`,semi:`;`,seswar:`⤩`,setminus:`∖`,setmn:`∖`,sext:`✶`,sfr:`𝔰`,sfrown:`⌢`,sharp:`♯`,shchcy:`щ`,shcy:`ш`,shortmid:`∣`,shortparallel:`∥`,shy:`­`,sigma:`σ`,sigmaf:`ς`,sigmav:`ς`,sim:`∼`,simdot:`⩪`,sime:`≃`,simeq:`≃`,simg:`⪞`,simgE:`⪠`,siml:`⪝`,simlE:`⪟`,simne:`≆`,simplus:`⨤`,simrarr:`⥲`,slarr:`←`,smallsetminus:`∖`,smashp:`⨳`,smeparsl:`⧤`,smid:`∣`,smile:`⌣`,smt:`⪪`,smte:`⪬`,smtes:`⪬︀`,softcy:`ь`,sol:`/`,solb:`⧄`,solbar:`⌿`,sopf:`𝕤`,spades:`♠`,spadesuit:`♠`,spar:`∥`,sqcap:`⊓`,sqcaps:`⊓︀`,sqcup:`⊔`,sqcups:`⊔︀`,sqsub:`⊏`,sqsube:`⊑`,sqsubset:`⊏`,sqsubseteq:`⊑`,sqsup:`⊐`,sqsupe:`⊒`,sqsupset:`⊐`,sqsupseteq:`⊒`,squ:`□`,square:`□`,squarf:`▪`,squf:`▪`,srarr:`→`,sscr:`𝓈`,ssetmn:`∖`,ssmile:`⌣`,sstarf:`⋆`,star:`☆`,starf:`★`,straightepsilon:`ϵ`,straightphi:`ϕ`,strns:`¯`,sub:`⊂`,subE:`⫅`,subdot:`⪽`,sube:`⊆`,subedot:`⫃`,submult:`⫁`,subnE:`⫋`,subne:`⊊`,subplus:`⪿`,subrarr:`⥹`,subset:`⊂`,subseteq:`⊆`,subseteqq:`⫅`,subsetneq:`⊊`,subsetneqq:`⫋`,subsim:`⫇`,subsub:`⫕`,subsup:`⫓`,succ:`≻`,succapprox:`⪸`,succcurlyeq:`≽`,succeq:`⪰`,succnapprox:`⪺`,succneqq:`⪶`,succnsim:`⋩`,succsim:`≿`,sum:`∑`,sung:`♪`,sup1:`¹`,sup2:`²`,sup3:`³`,sup:`⊃`,supE:`⫆`,supdot:`⪾`,supdsub:`⫘`,supe:`⊇`,supedot:`⫄`,suphsol:`⟉`,suphsub:`⫗`,suplarr:`⥻`,supmult:`⫂`,supnE:`⫌`,supne:`⊋`,supplus:`⫀`,supset:`⊃`,supseteq:`⊇`,supseteqq:`⫆`,supsetneq:`⊋`,supsetneqq:`⫌`,supsim:`⫈`,supsub:`⫔`,supsup:`⫖`,swArr:`⇙`,swarhk:`⤦`,swarr:`↙`,swarrow:`↙`,swnwar:`⤪`,szlig:`ß`,target:`⌖`,tau:`τ`,tbrk:`⎴`,tcaron:`ť`,tcedil:`ţ`,tcy:`т`,tdot:`⃛`,telrec:`⌕`,tfr:`𝔱`,there4:`∴`,therefore:`∴`,theta:`θ`,thetasym:`ϑ`,thetav:`ϑ`,thickapprox:`≈`,thicksim:`∼`,thinsp:` `,thkap:`≈`,thksim:`∼`,thorn:`þ`,tilde:`˜`,times:`×`,timesb:`⊠`,timesbar:`⨱`,timesd:`⨰`,tint:`∭`,toea:`⤨`,top:`⊤`,topbot:`⌶`,topcir:`⫱`,topf:`𝕥`,topfork:`⫚`,tosa:`⤩`,tprime:`‴`,trade:`™`,triangle:`▵`,triangledown:`▿`,triangleleft:`◃`,trianglelefteq:`⊴`,triangleq:`≜`,triangleright:`▹`,trianglerighteq:`⊵`,tridot:`◬`,trie:`≜`,triminus:`⨺`,triplus:`⨹`,trisb:`⧍`,tritime:`⨻`,trpezium:`⏢`,tscr:`𝓉`,tscy:`ц`,tshcy:`ћ`,tstrok:`ŧ`,twixt:`≬`,twoheadleftarrow:`↞`,twoheadrightarrow:`↠`,uArr:`⇑`,uHar:`⥣`,uacute:`ú`,uarr:`↑`,ubrcy:`ў`,ubreve:`ŭ`,ucirc:`û`,ucy:`у`,udarr:`⇅`,udblac:`ű`,udhar:`⥮`,ufisht:`⥾`,ufr:`𝔲`,ugrave:`ù`,uharl:`↿`,uharr:`↾`,uhblk:`▀`,ulcorn:`⌜`,ulcorner:`⌜`,ulcrop:`⌏`,ultri:`◸`,umacr:`ū`,uml:`¨`,uogon:`ų`,uopf:`𝕦`,uparrow:`↑`,updownarrow:`↕`,upharpoonleft:`↿`,upharpoonright:`↾`,uplus:`⊎`,upsi:`υ`,upsih:`ϒ`,upsilon:`υ`,upuparrows:`⇈`,urcorn:`⌝`,urcorner:`⌝`,urcrop:`⌎`,uring:`ů`,urtri:`◹`,uscr:`𝓊`,utdot:`⋰`,utilde:`ũ`,utri:`▵`,utrif:`▴`,uuarr:`⇈`,uuml:`ü`,uwangle:`⦧`,vArr:`⇕`,vBar:`⫨`,vBarv:`⫩`,vDash:`⊨`,vangrt:`⦜`,varepsilon:`ϵ`,varkappa:`ϰ`,varnothing:`∅`,varphi:`ϕ`,varpi:`ϖ`,varpropto:`∝`,varr:`↕`,varrho:`ϱ`,varsigma:`ς`,varsubsetneq:`⊊︀`,varsubsetneqq:`⫋︀`,varsupsetneq:`⊋︀`,varsupsetneqq:`⫌︀`,vartheta:`ϑ`,vartriangleleft:`⊲`,vartriangleright:`⊳`,vcy:`в`,vdash:`⊢`,vee:`∨`,veebar:`⊻`,veeeq:`≚`,vellip:`⋮`,verbar:`|`,vert:`|`,vfr:`𝔳`,vltri:`⊲`,vnsub:`⊂⃒`,vnsup:`⊃⃒`,vopf:`𝕧`,vprop:`∝`,vrtri:`⊳`,vscr:`𝓋`,vsubnE:`⫋︀`,vsubne:`⊊︀`,vsupnE:`⫌︀`,vsupne:`⊋︀`,vzigzag:`⦚`,wcirc:`ŵ`,wedbar:`⩟`,wedge:`∧`,wedgeq:`≙`,weierp:`℘`,wfr:`𝔴`,wopf:`𝕨`,wp:`℘`,wr:`≀`,wreath:`≀`,wscr:`𝓌`,xcap:`⋂`,xcirc:`◯`,xcup:`⋃`,xdtri:`▽`,xfr:`𝔵`,xhArr:`⟺`,xharr:`⟷`,xi:`ξ`,xlArr:`⟸`,xlarr:`⟵`,xmap:`⟼`,xnis:`⋻`,xodot:`⨀`,xopf:`𝕩`,xoplus:`⨁`,xotime:`⨂`,xrArr:`⟹`,xrarr:`⟶`,xscr:`𝓍`,xsqcup:`⨆`,xuplus:`⨄`,xutri:`△`,xvee:`⋁`,xwedge:`⋀`,yacute:`ý`,yacy:`я`,ycirc:`ŷ`,ycy:`ы`,yen:`¥`,yfr:`𝔶`,yicy:`ї`,yopf:`𝕪`,yscr:`𝓎`,yucy:`ю`,yuml:`ÿ`,zacute:`ź`,zcaron:`ž`,zcy:`з`,zdot:`ż`,zeetrf:`ℨ`,zeta:`ζ`,zfr:`𝔷`,zhcy:`ж`,zigrarr:`⇝`,zopf:`𝕫`,zscr:`𝓏`,zwj:`‍`,zwnj:`‌`},zm={}.hasOwnProperty;function Bm(e){return zm.call(Rm,e)?Rm[e]:!1}function Vm(e,t,n,r){let i=e.length,a=0,o;if(t=t<0?-t>i?0:i+t:t>i?i:t,n=n>0?n:0,r.length<1e4)o=Array.from(r),o.unshift(t,n),e.splice(...o);else for(n&&e.splice(t,n);a<r.length;)o=r.slice(a,a+1e4),o.unshift(t,0),e.splice(...o),a+=1e4,t+=1e4}function Hm(e,t){return e.length>0?(Vm(e,e.length,0,t),e):t}let Um={}.hasOwnProperty;function Wm(e){let t={},n=-1;for(;++n<e.length;)Gm(t,e[n]);return t}function Gm(e,t){let n;for(n in t){let r=(Um.call(e,n)?e[n]:void 0)||(e[n]={}),i=t[n],a;if(i)for(a in i){Um.call(r,a)||(r[a]=[]);let e=i[a];Km(r[a],Array.isArray(e)?e:e?[e]:[])}}}function Km(e,t){let n=-1,r=[];for(;++n<t.length;)(t[n].add===`after`?e:r).push(t[n]);Vm(e,0,0,r)}function qm(e,t){let n=Number.parseInt(e,t);return n<9||n===11||n>13&&n<32||n>126&&n<160||n>55295&&n<57344||n>64975&&n<65008||(n&65535)==65535||(n&65535)==65534||n>1114111?`�`:String.fromCodePoint(n)}function Jm(e){return e.replace(/[\t\n\r ]+/g,` `).replace(/^ | $/g,``).toLowerCase().toUpperCase()}let Ym=oh(/[A-Za-z]/),Xm=oh(/[\dA-Za-z]/),Zm=oh(/[#-'*+\--9=?A-Z^-~]/);function Qm(e){return e!==null&&(e<32||e===127)}let $m=oh(/\d/),eh=oh(/[\dA-Fa-f]/),th=oh(/[!-/:-@[-`{-~]/);function $(e){return e!==null&&e<-2}function nh(e){return e!==null&&(e<0||e===32)}function rh(e){return e===-2||e===-1||e===32}let ih=oh(/\p{P}|\p{S}/u),ah=oh(/\s/);function oh(e){return t;function t(t){return t!==null&&t>-1&&e.test(String.fromCharCode(t))}}function sh(e,t,n,r){let i=r?r-1:1/0,a=0;return o;function o(r){return rh(r)?(e.enter(n),s(r)):t(r)}function s(r){return rh(r)&&a++<i?(e.consume(r),s):(e.exit(n),t(r))}}let ch={tokenize:lh};function lh(e){let t=e.attempt(this.parser.constructs.contentInitial,r,i),n;return t;function r(n){if(n===null){e.consume(n);return}return e.enter(`lineEnding`),e.consume(n),e.exit(`lineEnding`),sh(e,t,`linePrefix`)}function i(t){return e.enter(`paragraph`),a(t)}function a(t){let r=e.enter(`chunkText`,{contentType:`text`,previous:n});return n&&(n.next=r),n=r,o(t)}function o(t){if(t===null){e.exit(`chunkText`),e.exit(`paragraph`),e.consume(t);return}return $(t)?(e.consume(t),e.exit(`chunkText`),a):(e.consume(t),o)}}let uh={tokenize:fh},dh={tokenize:ph};function fh(e){let t=this,n=[],r=0,i,a,o;return s;function s(i){if(r<n.length){let a=n[r];return t.containerState=a[1],e.attempt(a[0].continuation,c,l)(i)}return l(i)}function c(e){if(r++,t.containerState._closeFlow){t.containerState._closeFlow=void 0,i&&v();let n=t.events.length,a=n,o;for(;a--;)if(t.events[a][0]===`exit`&&t.events[a][1].type===`chunkFlow`){o=t.events[a][1].end;break}_(r);let s=n;for(;s<t.events.length;)t.events[s][1].end={...o},s++;return Vm(t.events,a+1,0,t.events.slice(n)),t.events.length=s,l(e)}return s(e)}function l(a){if(r===n.length){if(!i)return f(a);if(i.currentConstruct&&i.currentConstruct.concrete)return m(a);t.interrupt=!!(i.currentConstruct&&!i._gfmTableDynamicInterruptHack)}return t.containerState={},e.check(dh,u,d)(a)}function u(e){return i&&v(),_(r),f(e)}function d(e){return t.parser.lazy[t.now().line]=r!==n.length,o=t.now().offset,m(e)}function f(n){return t.containerState={},e.attempt(dh,p,m)(n)}function p(e){return r++,n.push([t.currentConstruct,t.containerState]),f(e)}function m(n){if(n===null){i&&v(),_(0),e.consume(n);return}return i||=t.parser.flow(t.now()),e.enter(`chunkFlow`,{_tokenizer:i,contentType:`flow`,previous:a}),h(n)}function h(n){if(n===null){g(e.exit(`chunkFlow`),!0),_(0),e.consume(n);return}return $(n)?(e.consume(n),g(e.exit(`chunkFlow`)),r=0,t.interrupt=void 0,s):(e.consume(n),h)}function g(e,n){let s=t.sliceStream(e);if(n&&s.push(null),e.previous=a,a&&(a.next=e),a=e,i.defineSkip(e.start),i.write(s),t.parser.lazy[e.start.line]){let e=i.events.length;for(;e--;)if(i.events[e][1].start.offset<o&&(!i.events[e][1].end||i.events[e][1].end.offset>o))return;let n=t.events.length,a=n,s,c;for(;a--;)if(t.events[a][0]===`exit`&&t.events[a][1].type===`chunkFlow`){if(s){c=t.events[a][1].end;break}s=!0}for(_(r),e=n;e<t.events.length;)t.events[e][1].end={...c},e++;Vm(t.events,a+1,0,t.events.slice(n)),t.events.length=e}}function _(r){let i=n.length;for(;i-->r;){let r=n[i];t.containerState=r[1],r[0].exit.call(t,e)}n.length=r}function v(){i.write([null]),a=void 0,i=void 0,t.containerState._closeFlow=void 0}}function ph(e,t,n){return sh(e,e.attempt(this.parser.constructs.document,t,n),`linePrefix`,this.parser.constructs.disable.null.includes(`codeIndented`)?void 0:4)}function mh(e){if(e===null||nh(e)||ah(e))return 1;if(ih(e))return 2}function hh(e,t,n){let r=[],i=-1;for(;++i<e.length;){let a=e[i].resolveAll;a&&!r.includes(a)&&(t=a(t,n),r.push(a))}return t}let gh={name:`attention`,resolveAll:_h,tokenize:vh};function _h(e,t){let n=-1,r,i,a,o,s,c,l,u;for(;++n<e.length;)if(e[n][0]===`enter`&&e[n][1].type===`attentionSequence`&&e[n][1]._close){for(r=n;r--;)if(e[r][0]===`exit`&&e[r][1].type===`attentionSequence`&&e[r][1]._open&&t.sliceSerialize(e[r][1]).charCodeAt(0)===t.sliceSerialize(e[n][1]).charCodeAt(0)){if((e[r][1]._close||e[n][1]._open)&&(e[n][1].end.offset-e[n][1].start.offset)%3&&!((e[r][1].end.offset-e[r][1].start.offset+e[n][1].end.offset-e[n][1].start.offset)%3))continue;c=e[r][1].end.offset-e[r][1].start.offset>1&&e[n][1].end.offset-e[n][1].start.offset>1?2:1;let d={...e[r][1].end},f={...e[n][1].start};yh(d,-c),yh(f,c),o={type:c>1?`strongSequence`:`emphasisSequence`,start:d,end:{...e[r][1].end}},s={type:c>1?`strongSequence`:`emphasisSequence`,start:{...e[n][1].start},end:f},a={type:c>1?`strongText`:`emphasisText`,start:{...e[r][1].end},end:{...e[n][1].start}},i={type:c>1?`strong`:`emphasis`,start:{...o.start},end:{...s.end}},e[r][1].end={...o.start},e[n][1].start={...s.end},l=[],e[r][1].end.offset-e[r][1].start.offset&&(l=Hm(l,[[`enter`,e[r][1],t],[`exit`,e[r][1],t]])),l=Hm(l,[[`enter`,i,t],[`enter`,o,t],[`exit`,o,t],[`enter`,a,t]]),l=Hm(l,hh(t.parser.constructs.insideSpan.null,e.slice(r+1,n),t)),l=Hm(l,[[`exit`,a,t],[`enter`,s,t],[`exit`,s,t],[`exit`,i,t]]),e[n][1].end.offset-e[n][1].start.offset?(u=2,l=Hm(l,[[`enter`,e[n][1],t],[`exit`,e[n][1],t]])):u=0,Vm(e,r-1,n-r+3,l),n=r+l.length-u-2;break}}for(n=-1;++n<e.length;)e[n][1].type===`attentionSequence`&&(e[n][1].type=`data`);return e}function vh(e,t){let n=this.parser.constructs.attentionMarkers.null,r=this.previous,i=mh(r),a;return o;function o(t){return a=t,e.enter(`attentionSequence`),s(t)}function s(o){if(o===a)return e.consume(o),s;let c=e.exit(`attentionSequence`),l=mh(o),u=!l||l===2&&i||n.includes(o),d=!i||i===2&&l||n.includes(r);return c._open=!!(a===42?u:u&&(i||!d)),c._close=!!(a===42?d:d&&(l||!u)),t(o)}}function yh(e,t){e.column+=t,e.offset+=t,e._bufferIndex+=t}let bh={name:`autolink`,tokenize:xh};function xh(e,t,n){let r=0;return i;function i(t){return e.enter(`autolink`),e.enter(`autolinkMarker`),e.consume(t),e.exit(`autolinkMarker`),e.enter(`autolinkProtocol`),a}function a(t){return Ym(t)?(e.consume(t),o):t===64?n(t):l(t)}function o(e){return e===43||e===45||e===46||Xm(e)?(r=1,s(e)):l(e)}function s(t){return t===58?(e.consume(t),r=0,c):(t===43||t===45||t===46||Xm(t))&&r++<32?(e.consume(t),s):(r=0,l(t))}function c(r){return r===62?(e.exit(`autolinkProtocol`),e.enter(`autolinkMarker`),e.consume(r),e.exit(`autolinkMarker`),e.exit(`autolink`),t):r===null||r===32||r===60||Qm(r)?n(r):(e.consume(r),c)}function l(t){return t===64?(e.consume(t),u):Zm(t)?(e.consume(t),l):n(t)}function u(e){return Xm(e)?d(e):n(e)}function d(n){return n===46?(e.consume(n),r=0,u):n===62?(e.exit(`autolinkProtocol`).type=`autolinkEmail`,e.enter(`autolinkMarker`),e.consume(n),e.exit(`autolinkMarker`),e.exit(`autolink`),t):f(n)}function f(t){if((t===45||Xm(t))&&r++<63){let n=t===45?f:d;return e.consume(t),n}return n(t)}}let Sh={partial:!0,tokenize:Ch};function Ch(e,t,n){return r;function r(t){return rh(t)?sh(e,i,`linePrefix`)(t):i(t)}function i(e){return e===null||$(e)?t(e):n(e)}}let wh={continuation:{tokenize:Eh},exit:Dh,name:`blockQuote`,tokenize:Th};function Th(e,t,n){let r=this;return i;function i(t){if(t===62){let n=r.containerState;return n.open||=(e.enter(`blockQuote`,{_container:!0}),!0),e.enter(`blockQuotePrefix`),e.enter(`blockQuoteMarker`),e.consume(t),e.exit(`blockQuoteMarker`),a}return n(t)}function a(n){return rh(n)?(e.enter(`blockQuotePrefixWhitespace`),e.consume(n),e.exit(`blockQuotePrefixWhitespace`),e.exit(`blockQuotePrefix`),t):(e.exit(`blockQuotePrefix`),t(n))}}function Eh(e,t,n){let r=this;return i;function i(t){return rh(t)?sh(e,a,`linePrefix`,r.parser.constructs.disable.null.includes(`codeIndented`)?void 0:4)(t):a(t)}function a(r){return e.attempt(wh,t,n)(r)}}function Dh(e){e.exit(`blockQuote`)}let Oh={name:`characterEscape`,tokenize:kh};function kh(e,t,n){return r;function r(t){return e.enter(`characterEscape`),e.enter(`escapeMarker`),e.consume(t),e.exit(`escapeMarker`),i}function i(r){return th(r)?(e.enter(`characterEscapeValue`),e.consume(r),e.exit(`characterEscapeValue`),e.exit(`characterEscape`),t):n(r)}}let Ah={name:`characterReference`,tokenize:jh};function jh(e,t,n){let r=this,i=0,a,o;return s;function s(t){return e.enter(`characterReference`),e.enter(`characterReferenceMarker`),e.consume(t),e.exit(`characterReferenceMarker`),c}function c(t){return t===35?(e.enter(`characterReferenceMarkerNumeric`),e.consume(t),e.exit(`characterReferenceMarkerNumeric`),l):(e.enter(`characterReferenceValue`),a=31,o=Xm,u(t))}function l(t){return t===88||t===120?(e.enter(`characterReferenceMarkerHexadecimal`),e.consume(t),e.exit(`characterReferenceMarkerHexadecimal`),e.enter(`characterReferenceValue`),a=6,o=eh,u):(e.enter(`characterReferenceValue`),a=7,o=$m,u(t))}function u(s){if(s===59&&i){let i=e.exit(`characterReferenceValue`);return o===Xm&&!Bm(r.sliceSerialize(i))?n(s):(e.enter(`characterReferenceMarker`),e.consume(s),e.exit(`characterReferenceMarker`),e.exit(`characterReference`),t)}return o(s)&&i++<a?(e.consume(s),u):n(s)}}let Mh={partial:!0,tokenize:Fh},Nh={concrete:!0,name:`codeFenced`,tokenize:Ph};function Ph(e,t,n){let r=this,i={partial:!0,tokenize:x},a=0,o=0,s;return c;function c(e){return l(e)}function l(t){let n=r.events[r.events.length-1];return a=n&&n[1].type===`linePrefix`?n[2].sliceSerialize(n[1],!0).length:0,s=t,e.enter(`codeFenced`),e.enter(`codeFencedFence`),e.enter(`codeFencedFenceSequence`),u(t)}function u(t){return t===s?(o++,e.consume(t),u):o<3?n(t):(e.exit(`codeFencedFenceSequence`),rh(t)?sh(e,d,`whitespace`)(t):d(t))}function d(n){return n===null||$(n)?(e.exit(`codeFencedFence`),r.interrupt?t(n):e.check(Mh,h,b)(n)):(e.enter(`codeFencedFenceInfo`),e.enter(`chunkString`,{contentType:`string`}),f(n))}function f(t){return t===null||$(t)?(e.exit(`chunkString`),e.exit(`codeFencedFenceInfo`),d(t)):rh(t)?(e.exit(`chunkString`),e.exit(`codeFencedFenceInfo`),sh(e,p,`whitespace`)(t)):t===96&&t===s?n(t):(e.consume(t),f)}function p(t){return t===null||$(t)?d(t):(e.enter(`codeFencedFenceMeta`),e.enter(`chunkString`,{contentType:`string`}),m(t))}function m(t){return t===null||$(t)?(e.exit(`chunkString`),e.exit(`codeFencedFenceMeta`),d(t)):t===96&&t===s?n(t):(e.consume(t),m)}function h(t){return e.attempt(i,b,g)(t)}function g(t){return e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),_}function _(t){return a>0&&rh(t)?sh(e,v,`linePrefix`,a+1)(t):v(t)}function v(t){return t===null||$(t)?e.check(Mh,h,b)(t):(e.enter(`codeFlowValue`),y(t))}function y(t){return t===null||$(t)?(e.exit(`codeFlowValue`),v(t)):(e.consume(t),y)}function b(n){return e.exit(`codeFenced`),t(n)}function x(e,t,n){let i=0;return a;function a(t){return e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),c}function c(t){return e.enter(`codeFencedFence`),rh(t)?sh(e,l,`linePrefix`,r.parser.constructs.disable.null.includes(`codeIndented`)?void 0:4)(t):l(t)}function l(t){return t===s?(e.enter(`codeFencedFenceSequence`),u(t)):n(t)}function u(t){return t===s?(i++,e.consume(t),u):i>=o?(e.exit(`codeFencedFenceSequence`),rh(t)?sh(e,d,`whitespace`)(t):d(t)):n(t)}function d(r){return r===null||$(r)?(e.exit(`codeFencedFence`),t(r)):n(r)}}}function Fh(e,t,n){let r=this;return i;function i(t){return t===null?n(t):(e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),a)}function a(e){return r.parser.lazy[r.now().line]?n(e):t(e)}}let Ih={name:`codeIndented`,tokenize:Rh},Lh={partial:!0,tokenize:zh};function Rh(e,t,n){let r=this;return i;function i(t){return e.enter(`codeIndented`),sh(e,a,`linePrefix`,5)(t)}function a(e){let t=r.events[r.events.length-1];return t&&t[1].type===`linePrefix`&&t[2].sliceSerialize(t[1],!0).length>=4?o(e):n(e)}function o(t){return t===null?c(t):$(t)?e.attempt(Lh,o,c)(t):(e.enter(`codeFlowValue`),s(t))}function s(t){return t===null||$(t)?(e.exit(`codeFlowValue`),o(t)):(e.consume(t),s)}function c(n){return e.exit(`codeIndented`),t(n)}}function zh(e,t,n){let r=this;return i;function i(t){return r.parser.lazy[r.now().line]?n(t):$(t)?(e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),i):sh(e,a,`linePrefix`,5)(t)}function a(e){let a=r.events[r.events.length-1];return a&&a[1].type===`linePrefix`&&a[2].sliceSerialize(a[1],!0).length>=4?t(e):$(e)?i(e):n(e)}}let Bh={name:`codeText`,previous:Hh,resolve:Vh,tokenize:Uh};function Vh(e){let t=e.length-4,n=3,r,i;if((e[n][1].type===`lineEnding`||e[n][1].type===`space`)&&(e[t][1].type===`lineEnding`||e[t][1].type===`space`)){for(r=n;++r<t;)if(e[r][1].type===`codeTextData`){e[n][1].type=`codeTextPadding`,e[t][1].type=`codeTextPadding`,n+=2,t-=2;break}}for(r=n-1,t++;++r<=t;)i===void 0?r!==t&&e[r][1].type!==`lineEnding`&&(i=r):(r===t||e[r][1].type===`lineEnding`)&&(e[i][1].type=`codeTextData`,r!==i+2&&(e[i][1].end=e[r-1][1].end,e.splice(i+2,r-i-2),t-=r-i-2,r=i+2),i=void 0);return e}function Hh(e){return e!==96||this.events[this.events.length-1][1].type===`characterEscape`}function Uh(e,t,n){let r=0,i,a;return o;function o(t){return e.enter(`codeText`),e.enter(`codeTextSequence`),s(t)}function s(t){return t===96?(e.consume(t),r++,s):(e.exit(`codeTextSequence`),c(t))}function c(t){return t===null?n(t):t===32?(e.enter(`space`),e.consume(t),e.exit(`space`),c):t===96?(a=e.enter(`codeTextSequence`),i=0,u(t)):$(t)?(e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),c):(e.enter(`codeTextData`),l(t))}function l(t){return t===null||t===32||t===96||$(t)?(e.exit(`codeTextData`),c(t)):(e.consume(t),l)}function u(n){return n===96?(e.consume(n),i++,u):i===r?(e.exit(`codeTextSequence`),e.exit(`codeText`),t(n)):(a.type=`codeTextData`,l(n))}}var Wh=class{constructor(e){this.left=e?[...e]:[],this.right=[]}get(e){if(e<0||e>=this.left.length+this.right.length)throw RangeError("Cannot access index `"+e+"` in a splice buffer of size `"+(this.left.length+this.right.length)+"`");return e<this.left.length?this.left[e]:this.right[this.right.length-e+this.left.length-1]}get length(){return this.left.length+this.right.length}shift(){return this.setCursor(0),this.right.pop()}slice(e,t){let n=t??1/0;return n<this.left.length?this.left.slice(e,n):e>this.left.length?this.right.slice(this.right.length-n+this.left.length,this.right.length-e+this.left.length).reverse():this.left.slice(e).concat(this.right.slice(this.right.length-n+this.left.length).reverse())}splice(e,t,n){let r=t||0;this.setCursor(Math.trunc(e));let i=this.right.splice(this.right.length-r,1/0);return n&&Gh(this.left,n),i.reverse()}pop(){return this.setCursor(1/0),this.left.pop()}push(e){this.setCursor(1/0),this.left.push(e)}pushMany(e){this.setCursor(1/0),Gh(this.left,e)}unshift(e){this.setCursor(0),this.right.push(e)}unshiftMany(e){this.setCursor(0),Gh(this.right,e.reverse())}setCursor(e){if(!(e===this.left.length||e>this.left.length&&this.right.length===0||e<0&&this.left.length===0)){if(e<this.left.length){let t=this.left.splice(e,1/0);Gh(this.right,t.reverse())}else{let t=this.right.splice(this.left.length+this.right.length-e,1/0);Gh(this.left,t.reverse())}}}};function Gh(e,t){let n=0;if(t.length<1e4)e.push(...t);else for(;n<t.length;)e.push(...t.slice(n,n+1e4)),n+=1e4}function Kh(e){let t={},n=-1,r,i,a,o,s,c,l,u=new Wh(e);for(;++n<u.length;){for(;n in t;)n=t[n];if(r=u.get(n),n&&r[1].type===`chunkFlow`&&u.get(n-1)[1].type===`listItemPrefix`&&(c=r[1]._tokenizer.events,a=0,a<c.length&&c[a][1].type===`lineEndingBlank`&&(a+=2),a<c.length&&c[a][1].type===`content`))for(;++a<c.length&&c[a][1].type!==`content`;)c[a][1].type===`chunkText`&&(c[a][1]._isInFirstContentOfListItem=!0,a++);if(r[0]===`enter`)r[1].contentType&&(Object.assign(t,qh(u,n)),n=t[n],l=!0);else if(r[1]._container){for(a=n,i=void 0;a--;)if(o=u.get(a),o[1].type===`lineEnding`||o[1].type===`lineEndingBlank`)o[0]===`enter`&&(i&&(u.get(i)[1].type=`lineEndingBlank`),o[1].type=`lineEnding`,i=a);else if(o[1].type!==`linePrefix`&&o[1].type!==`listItemIndent`)break;i&&(r[1].end={...u.get(i)[1].start},s=u.slice(i,n),s.unshift(r),u.splice(i,n-i+1,s))}}return Vm(e,0,1/0,u.slice(0)),!l}function qh(e,t){let n=e.get(t)[1],r=e.get(t)[2],i=t-1,a=[],o=n._tokenizer;o||(o=r.parser[n.contentType](n.start),n._contentTypeTextTrailing&&(o._contentTypeTextTrailing=!0));let s=o.events,c=[],l={},u,d,f=-1,p=n,m=0,h=0,g=[h];for(;p;){for(;e.get(++i)[1]!==p;);a.push(i),p._tokenizer||(u=r.sliceStream(p),p.next||u.push(null),d&&o.defineSkip(p.start),p._isInFirstContentOfListItem&&(o._gfmTasklistFirstContentOfListItem=!0),o.write(u),p._isInFirstContentOfListItem&&(o._gfmTasklistFirstContentOfListItem=void 0)),d=p,p=p.next}for(p=n;++f<s.length;)s[f][0]===`exit`&&s[f-1][0]===`enter`&&s[f][1].type===s[f-1][1].type&&s[f][1].start.line!==s[f][1].end.line&&(h=f+1,g.push(h),p._tokenizer=void 0,p.previous=void 0,p=p.next);for(o.events=[],p?(p._tokenizer=void 0,p.previous=void 0):g.pop(),f=g.length;f--;){let t=s.slice(g[f],g[f+1]),n=a.pop();c.push([n,n+t.length-1]),e.splice(n,2,t)}for(c.reverse(),f=-1;++f<c.length;)l[m+c[f][0]]=m+c[f][1],m+=c[f][1]-c[f][0]-1;return l}let Jh={resolve:Xh,tokenize:Zh},Yh={partial:!0,tokenize:Qh};function Xh(e){return Kh(e),e}function Zh(e,t){let n;return r;function r(t){return e.enter(`content`),n=e.enter(`chunkContent`,{contentType:`content`}),i(t)}function i(t){return t===null?a(t):$(t)?e.check(Yh,o,a)(t):(e.consume(t),i)}function a(n){return e.exit(`chunkContent`),e.exit(`content`),t(n)}function o(t){return e.consume(t),e.exit(`chunkContent`),n.next=e.enter(`chunkContent`,{contentType:`content`,previous:n}),n=n.next,i}}function Qh(e,t,n){let r=this;return i;function i(t){return e.exit(`chunkContent`),e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),sh(e,a,`linePrefix`)}function a(i){if(i===null||$(i))return n(i);let a=r.events[r.events.length-1];return!r.parser.constructs.disable.null.includes(`codeIndented`)&&a&&a[1].type===`linePrefix`&&a[2].sliceSerialize(a[1],!0).length>=4?t(i):e.interrupt(r.parser.constructs.flow,n,t)(i)}}function $h(e,t,n,r,i,a,o,s,c){let l=c||1/0,u=0;return d;function d(t){return t===60?(e.enter(r),e.enter(i),e.enter(a),e.consume(t),e.exit(a),f):t===null||t===32||t===41||Qm(t)?n(t):(e.enter(r),e.enter(o),e.enter(s),e.enter(`chunkString`,{contentType:`string`}),h(t))}function f(n){return n===62?(e.enter(a),e.consume(n),e.exit(a),e.exit(i),e.exit(r),t):(e.enter(s),e.enter(`chunkString`,{contentType:`string`}),p(n))}function p(t){return t===62?(e.exit(`chunkString`),e.exit(s),f(t)):t===null||t===60||$(t)?n(t):(e.consume(t),t===92?m:p)}function m(t){return t===60||t===62||t===92?(e.consume(t),p):p(t)}function h(i){return!u&&(i===null||i===41||nh(i))?(e.exit(`chunkString`),e.exit(s),e.exit(o),e.exit(r),t(i)):u<l&&i===40?(e.consume(i),u++,h):i===41?(e.consume(i),u--,h):i===null||i===32||i===40||Qm(i)?n(i):(e.consume(i),i===92?g:h)}function g(t){return t===40||t===41||t===92?(e.consume(t),h):h(t)}}function eg(e,t,n,r,i,a){let o=this,s=0,c;return l;function l(t){return e.enter(r),e.enter(i),e.consume(t),e.exit(i),e.enter(a),u}function u(l){return s>999||l===null||l===91||l===93&&!c||l===94&&!s&&`_hiddenFootnoteSupport`in o.parser.constructs?n(l):l===93?(e.exit(a),e.enter(i),e.consume(l),e.exit(i),e.exit(r),t):$(l)?(e.enter(`lineEnding`),e.consume(l),e.exit(`lineEnding`),u):(e.enter(`chunkString`,{contentType:`string`}),d(l))}function d(t){return t===null||t===91||t===93||$(t)||s++>999?(e.exit(`chunkString`),u(t)):(e.consume(t),c||=!rh(t),t===92?f:d)}function f(t){return t===91||t===92||t===93?(e.consume(t),s++,d):d(t)}}function tg(e,t,n,r,i,a){let o;return s;function s(t){return t===34||t===39||t===40?(e.enter(r),e.enter(i),e.consume(t),e.exit(i),o=t===40?41:t,c):n(t)}function c(n){return n===o?(e.enter(i),e.consume(n),e.exit(i),e.exit(r),t):(e.enter(a),l(n))}function l(t){return t===o?(e.exit(a),c(o)):t===null?n(t):$(t)?(e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),sh(e,l,`linePrefix`)):(e.enter(`chunkString`,{contentType:`string`}),u(t))}function u(t){return t===o||t===null||$(t)?(e.exit(`chunkString`),l(t)):(e.consume(t),t===92?d:u)}function d(t){return t===o||t===92?(e.consume(t),u):u(t)}}function ng(e,t){let n;return r;function r(i){return $(i)?(e.enter(`lineEnding`),e.consume(i),e.exit(`lineEnding`),n=!0,r):rh(i)?sh(e,r,n?`linePrefix`:`lineSuffix`)(i):t(i)}}let rg={name:`definition`,tokenize:ag},ig={partial:!0,tokenize:og};function ag(e,t,n){let r=this,i;return a;function a(t){return e.enter(`definition`),o(t)}function o(t){return eg.call(r,e,s,n,`definitionLabel`,`definitionLabelMarker`,`definitionLabelString`)(t)}function s(t){return i=Jm(r.sliceSerialize(r.events[r.events.length-1][1]).slice(1,-1)),t===58?(e.enter(`definitionMarker`),e.consume(t),e.exit(`definitionMarker`),c):n(t)}function c(t){return nh(t)?ng(e,l)(t):l(t)}function l(t){return $h(e,u,n,`definitionDestination`,`definitionDestinationLiteral`,`definitionDestinationLiteralMarker`,`definitionDestinationRaw`,`definitionDestinationString`)(t)}function u(t){return e.attempt(ig,d,d)(t)}function d(t){return rh(t)?sh(e,f,`whitespace`)(t):f(t)}function f(a){return a===null||$(a)?(e.exit(`definition`),r.parser.defined.push(i),t(a)):n(a)}}function og(e,t,n){return r;function r(t){return nh(t)?ng(e,i)(t):n(t)}function i(t){return tg(e,a,n,`definitionTitle`,`definitionTitleMarker`,`definitionTitleString`)(t)}function a(t){return rh(t)?sh(e,o,`whitespace`)(t):o(t)}function o(e){return e===null||$(e)?t(e):n(e)}}let sg={name:`hardBreakEscape`,tokenize:cg};function cg(e,t,n){return r;function r(t){return e.enter(`hardBreakEscape`),e.consume(t),i}function i(r){return $(r)?(e.exit(`hardBreakEscape`),t(r)):n(r)}}let lg={name:`headingAtx`,resolve:ug,tokenize:dg};function ug(e,t){let n=e.length-2,r=3,i,a;return e[r][1].type===`whitespace`&&(r+=2),n-2>r&&e[n][1].type===`whitespace`&&(n-=2),e[n][1].type===`atxHeadingSequence`&&(r===n-1||n-4>r&&e[n-2][1].type===`whitespace`)&&(n-=r+1===n?2:4),n>r&&(i={type:`atxHeadingText`,start:e[r][1].start,end:e[n][1].end},a={type:`chunkText`,start:e[r][1].start,end:e[n][1].end,contentType:`text`},Vm(e,r,n-r+1,[[`enter`,i,t],[`enter`,a,t],[`exit`,a,t],[`exit`,i,t]])),e}function dg(e,t,n){let r=0;return i;function i(t){return e.enter(`atxHeading`),a(t)}function a(t){return e.enter(`atxHeadingSequence`),o(t)}function o(t){return t===35&&r++<6?(e.consume(t),o):t===null||nh(t)?(e.exit(`atxHeadingSequence`),s(t)):n(t)}function s(n){return n===35?(e.enter(`atxHeadingSequence`),c(n)):n===null||$(n)?(e.exit(`atxHeading`),t(n)):rh(n)?sh(e,s,`whitespace`)(n):(e.enter(`atxHeadingText`),l(n))}function c(t){return t===35?(e.consume(t),c):(e.exit(`atxHeadingSequence`),s(t))}function l(t){return t===null||t===35||nh(t)?(e.exit(`atxHeadingText`),s(t)):(e.consume(t),l)}}let fg=`address.article.aside.base.basefont.blockquote.body.caption.center.col.colgroup.dd.details.dialog.dir.div.dl.dt.fieldset.figcaption.figure.footer.form.frame.frameset.h1.h2.h3.h4.h5.h6.head.header.hr.html.iframe.legend.li.link.main.menu.menuitem.nav.noframes.ol.optgroup.option.p.param.search.section.summary.table.tbody.td.tfoot.th.thead.title.tr.track.ul`.split(`.`),pg=[`pre`,`script`,`style`,`textarea`],mg={concrete:!0,name:`htmlFlow`,resolveTo:_g,tokenize:vg},hg={partial:!0,tokenize:bg},gg={partial:!0,tokenize:yg};function _g(e){let t=e.length;for(;t--&&(e[t][0]!==`enter`||e[t][1].type!==`htmlFlow`););return t>1&&e[t-2][1].type===`linePrefix`&&(e[t][1].start=e[t-2][1].start,e[t+1][1].start=e[t-2][1].start,e.splice(t-2,2)),e}function vg(e,t,n){let r=this,i,a,o,s,c;return l;function l(e){return u(e)}function u(t){return e.enter(`htmlFlow`),e.enter(`htmlFlowData`),e.consume(t),d}function d(s){return s===33?(e.consume(s),f):s===47?(e.consume(s),a=!0,h):s===63?(e.consume(s),i=3,r.interrupt?t:ce):Ym(s)?(e.consume(s),o=String.fromCharCode(s),g):n(s)}function f(a){return a===45?(e.consume(a),i=2,p):a===91?(e.consume(a),i=5,s=0,m):Ym(a)?(e.consume(a),i=4,r.interrupt?t:ce):n(a)}function p(i){return i===45?(e.consume(i),r.interrupt?t:ce):n(i)}function m(i){return i===`CDATA[`.charCodeAt(s++)?(e.consume(i),s===6?r.interrupt?t:te:m):n(i)}function h(t){return Ym(t)?(e.consume(t),o=String.fromCharCode(t),g):n(t)}function g(s){if(s===null||s===47||s===62||nh(s)){let c=s===47,l=o.toLowerCase();return!c&&!a&&pg.includes(l)?(i=1,r.interrupt?t(s):te(s)):fg.includes(o.toLowerCase())?(i=6,c?(e.consume(s),_):r.interrupt?t(s):te(s)):(i=7,r.interrupt&&!r.parser.lazy[r.now().line]?n(s):a?v(s):y(s))}return s===45||Xm(s)?(e.consume(s),o+=String.fromCharCode(s),g):n(s)}function _(i){return i===62?(e.consume(i),r.interrupt?t:te):n(i)}function v(t){return rh(t)?(e.consume(t),v):E(t)}function y(t){return t===47?(e.consume(t),E):t===58||t===95||Ym(t)?(e.consume(t),b):rh(t)?(e.consume(t),y):E(t)}function b(t){return t===45||t===46||t===58||t===95||Xm(t)?(e.consume(t),b):x(t)}function x(t){return t===61?(e.consume(t),S):rh(t)?(e.consume(t),x):y(t)}function S(t){return t===null||t===60||t===61||t===62||t===96?n(t):t===34||t===39?(e.consume(t),c=t,C):rh(t)?(e.consume(t),S):w(t)}function C(t){return t===c?(e.consume(t),c=null,T):t===null||$(t)?n(t):(e.consume(t),C)}function w(t){return t===null||t===34||t===39||t===47||t===60||t===61||t===62||t===96||nh(t)?x(t):(e.consume(t),w)}function T(e){return e===47||e===62||rh(e)?y(e):n(e)}function E(t){return t===62?(e.consume(t),ee):n(t)}function ee(t){return t===null||$(t)?te(t):rh(t)?(e.consume(t),ee):n(t)}function te(t){return t===45&&i===2?(e.consume(t),ie):t===60&&i===1?(e.consume(t),ae):t===62&&i===4?(e.consume(t),le):t===63&&i===3?(e.consume(t),ce):t===93&&i===5?(e.consume(t),se):$(t)&&(i===6||i===7)?(e.exit(`htmlFlowData`),e.check(hg,ue,ne)(t)):t===null||$(t)?(e.exit(`htmlFlowData`),ne(t)):(e.consume(t),te)}function ne(t){return e.check(gg,D,ue)(t)}function D(t){return e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),re}function re(t){return t===null||$(t)?ne(t):(e.enter(`htmlFlowData`),te(t))}function ie(t){return t===45?(e.consume(t),ce):te(t)}function ae(t){return t===47?(e.consume(t),o=``,oe):te(t)}function oe(t){if(t===62){let n=o.toLowerCase();return pg.includes(n)?(e.consume(t),le):te(t)}return Ym(t)&&o.length<8?(e.consume(t),o+=String.fromCharCode(t),oe):te(t)}function se(t){return t===93?(e.consume(t),ce):te(t)}function ce(t){return t===62?(e.consume(t),le):t===45&&i===2?(e.consume(t),ce):te(t)}function le(t){return t===null||$(t)?(e.exit(`htmlFlowData`),ue(t)):(e.consume(t),le)}function ue(n){return e.exit(`htmlFlow`),t(n)}}function yg(e,t,n){let r=this;return i;function i(t){return $(t)?(e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),a):n(t)}function a(e){return r.parser.lazy[r.now().line]?n(e):t(e)}}function bg(e,t,n){return r;function r(r){return e.enter(`lineEnding`),e.consume(r),e.exit(`lineEnding`),e.attempt(Sh,t,n)}}let xg={name:`htmlText`,tokenize:Sg};function Sg(e,t,n){let r=this,i,a,o;return s;function s(t){return e.enter(`htmlText`),e.enter(`htmlTextData`),e.consume(t),c}function c(t){return t===33?(e.consume(t),l):t===47?(e.consume(t),x):t===63?(e.consume(t),y):Ym(t)?(e.consume(t),w):n(t)}function l(t){return t===45?(e.consume(t),u):t===91?(e.consume(t),a=0,m):Ym(t)?(e.consume(t),v):n(t)}function u(t){return t===45?(e.consume(t),p):n(t)}function d(t){return t===null?n(t):t===45?(e.consume(t),f):$(t)?(o=d,ae(t)):(e.consume(t),d)}function f(t){return t===45?(e.consume(t),p):d(t)}function p(e){return e===62?ie(e):e===45?f(e):d(e)}function m(t){return t===`CDATA[`.charCodeAt(a++)?(e.consume(t),a===6?h:m):n(t)}function h(t){return t===null?n(t):t===93?(e.consume(t),g):$(t)?(o=h,ae(t)):(e.consume(t),h)}function g(t){return t===93?(e.consume(t),_):h(t)}function _(t){return t===62?ie(t):t===93?(e.consume(t),_):h(t)}function v(t){return t===null||t===62?ie(t):$(t)?(o=v,ae(t)):(e.consume(t),v)}function y(t){return t===null?n(t):t===63?(e.consume(t),b):$(t)?(o=y,ae(t)):(e.consume(t),y)}function b(e){return e===62?ie(e):y(e)}function x(t){return Ym(t)?(e.consume(t),S):n(t)}function S(t){return t===45||Xm(t)?(e.consume(t),S):C(t)}function C(t){return $(t)?(o=C,ae(t)):rh(t)?(e.consume(t),C):ie(t)}function w(t){return t===45||Xm(t)?(e.consume(t),w):t===47||t===62||nh(t)?T(t):n(t)}function T(t){return t===47?(e.consume(t),ie):t===58||t===95||Ym(t)?(e.consume(t),E):$(t)?(o=T,ae(t)):rh(t)?(e.consume(t),T):ie(t)}function E(t){return t===45||t===46||t===58||t===95||Xm(t)?(e.consume(t),E):ee(t)}function ee(t){return t===61?(e.consume(t),te):$(t)?(o=ee,ae(t)):rh(t)?(e.consume(t),ee):T(t)}function te(t){return t===null||t===60||t===61||t===62||t===96?n(t):t===34||t===39?(e.consume(t),i=t,ne):$(t)?(o=te,ae(t)):rh(t)?(e.consume(t),te):(e.consume(t),D)}function ne(t){return t===i?(e.consume(t),i=void 0,re):t===null?n(t):$(t)?(o=ne,ae(t)):(e.consume(t),ne)}function D(t){return t===null||t===34||t===39||t===60||t===61||t===96?n(t):t===47||t===62||nh(t)?T(t):(e.consume(t),D)}function re(e){return e===47||e===62||nh(e)?T(e):n(e)}function ie(r){return r===62?(e.consume(r),e.exit(`htmlTextData`),e.exit(`htmlText`),t):n(r)}function ae(t){return e.exit(`htmlTextData`),e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),oe}function oe(t){return rh(t)?sh(e,se,`linePrefix`,r.parser.constructs.disable.null.includes(`codeIndented`)?void 0:4)(t):se(t)}function se(t){return e.enter(`htmlTextData`),o(t)}}let Cg={name:`labelEnd`,resolveAll:Dg,resolveTo:Og,tokenize:kg},wg={tokenize:Ag},Tg={tokenize:jg},Eg={tokenize:Mg};function Dg(e){let t=-1,n=[];for(;++t<e.length;){let r=e[t][1];if(n.push(e[t]),r.type===`labelImage`||r.type===`labelLink`||r.type===`labelEnd`){let e=r.type===`labelImage`?4:2;r.type=`data`,t+=e}}return e.length!==n.length&&Vm(e,0,e.length,n),e}function Og(e,t){let n=e.length,r=0,i,a,o,s;for(;n--;)if(i=e[n][1],a){if(i.type===`link`||i.type===`labelLink`&&i._inactive)break;e[n][0]===`enter`&&i.type===`labelLink`&&(i._inactive=!0)}else if(o){if(e[n][0]===`enter`&&(i.type===`labelImage`||i.type===`labelLink`)&&!i._balanced&&(a=n,i.type!==`labelLink`)){r=2;break}}else i.type===`labelEnd`&&(o=n);let c={type:e[a][1].type===`labelLink`?`link`:`image`,start:{...e[a][1].start},end:{...e[e.length-1][1].end}},l={type:`label`,start:{...e[a][1].start},end:{...e[o][1].end}},u={type:`labelText`,start:{...e[a+r+2][1].end},end:{...e[o-2][1].start}};return s=[[`enter`,c,t],[`enter`,l,t]],s=Hm(s,e.slice(a+1,a+r+3)),s=Hm(s,[[`enter`,u,t]]),s=Hm(s,hh(t.parser.constructs.insideSpan.null,e.slice(a+r+4,o-3),t)),s=Hm(s,[[`exit`,u,t],e[o-2],e[o-1],[`exit`,l,t]]),s=Hm(s,e.slice(o+1)),s=Hm(s,[[`exit`,c,t]]),Vm(e,a,e.length,s),e}function kg(e,t,n){let r=this,i=r.events.length,a,o;for(;i--;)if((r.events[i][1].type===`labelImage`||r.events[i][1].type===`labelLink`)&&!r.events[i][1]._balanced){a=r.events[i][1];break}return s;function s(t){return a?a._inactive?d(t):(o=r.parser.defined.includes(Jm(r.sliceSerialize({start:a.end,end:r.now()}))),e.enter(`labelEnd`),e.enter(`labelMarker`),e.consume(t),e.exit(`labelMarker`),e.exit(`labelEnd`),c):n(t)}function c(t){return t===40?e.attempt(wg,u,o?u:d)(t):t===91?e.attempt(Tg,u,o?l:d)(t):o?u(t):d(t)}function l(t){return e.attempt(Eg,u,d)(t)}function u(e){return t(e)}function d(e){return a._balanced=!0,n(e)}}function Ag(e,t,n){return r;function r(t){return e.enter(`resource`),e.enter(`resourceMarker`),e.consume(t),e.exit(`resourceMarker`),i}function i(t){return nh(t)?ng(e,a)(t):a(t)}function a(t){return t===41?u(t):$h(e,o,s,`resourceDestination`,`resourceDestinationLiteral`,`resourceDestinationLiteralMarker`,`resourceDestinationRaw`,`resourceDestinationString`,32)(t)}function o(t){return nh(t)?ng(e,c)(t):u(t)}function s(e){return n(e)}function c(t){return t===34||t===39||t===40?tg(e,l,n,`resourceTitle`,`resourceTitleMarker`,`resourceTitleString`)(t):u(t)}function l(t){return nh(t)?ng(e,u)(t):u(t)}function u(r){return r===41?(e.enter(`resourceMarker`),e.consume(r),e.exit(`resourceMarker`),e.exit(`resource`),t):n(r)}}function jg(e,t,n){let r=this;return i;function i(t){return eg.call(r,e,a,o,`reference`,`referenceMarker`,`referenceString`)(t)}function a(e){return r.parser.defined.includes(Jm(r.sliceSerialize(r.events[r.events.length-1][1]).slice(1,-1)))?t(e):n(e)}function o(e){return n(e)}}function Mg(e,t,n){return r;function r(t){return e.enter(`reference`),e.enter(`referenceMarker`),e.consume(t),e.exit(`referenceMarker`),i}function i(r){return r===93?(e.enter(`referenceMarker`),e.consume(r),e.exit(`referenceMarker`),e.exit(`reference`),t):n(r)}}let Ng={name:`labelStartImage`,resolveAll:Cg.resolveAll,tokenize:Pg};function Pg(e,t,n){let r=this;return i;function i(t){return e.enter(`labelImage`),e.enter(`labelImageMarker`),e.consume(t),e.exit(`labelImageMarker`),a}function a(t){return t===91?(e.enter(`labelMarker`),e.consume(t),e.exit(`labelMarker`),e.exit(`labelImage`),o):n(t)}function o(e){return e===94&&`_hiddenFootnoteSupport`in r.parser.constructs?n(e):t(e)}}let Fg={name:`labelStartLink`,resolveAll:Cg.resolveAll,tokenize:Ig};function Ig(e,t,n){let r=this;return i;function i(t){return e.enter(`labelLink`),e.enter(`labelMarker`),e.consume(t),e.exit(`labelMarker`),e.exit(`labelLink`),a}function a(e){return e===94&&`_hiddenFootnoteSupport`in r.parser.constructs?n(e):t(e)}}let Lg={name:`lineEnding`,tokenize:Rg};function Rg(e,t){return n;function n(n){return e.enter(`lineEnding`),e.consume(n),e.exit(`lineEnding`),sh(e,t,`linePrefix`)}}let zg={name:`thematicBreak`,tokenize:Bg};function Bg(e,t,n){let r=0,i;return a;function a(t){return e.enter(`thematicBreak`),o(t)}function o(e){return i=e,s(e)}function s(a){return a===i?(e.enter(`thematicBreakSequence`),c(a)):r>=3&&(a===null||$(a))?(e.exit(`thematicBreak`),t(a)):n(a)}function c(t){return t===i?(e.consume(t),r++,c):(e.exit(`thematicBreakSequence`),rh(t)?sh(e,s,`whitespace`)(t):s(t))}}let Vg={continuation:{tokenize:Gg},exit:qg,name:`list`,tokenize:Wg},Hg={partial:!0,tokenize:Jg},Ug={partial:!0,tokenize:Kg};function Wg(e,t,n){let r=this,i=r.events[r.events.length-1],a=i&&i[1].type===`linePrefix`?i[2].sliceSerialize(i[1],!0).length:0,o=0;return s;function s(t){let i=r.containerState.type||(t===42||t===43||t===45?`listUnordered`:`listOrdered`);if(i===`listUnordered`?!r.containerState.marker||t===r.containerState.marker:$m(t)){if(r.containerState.type||(r.containerState.type=i,e.enter(i,{_container:!0})),i===`listUnordered`)return e.enter(`listItemPrefix`),t===42||t===45?e.check(zg,n,l)(t):l(t);if(!r.interrupt||t===49)return e.enter(`listItemPrefix`),e.enter(`listItemValue`),c(t)}return n(t)}function c(t){return $m(t)&&++o<10?(e.consume(t),c):(!r.interrupt||o<2)&&(r.containerState.marker?t===r.containerState.marker:t===41||t===46)?(e.exit(`listItemValue`),l(t)):n(t)}function l(t){return e.enter(`listItemMarker`),e.consume(t),e.exit(`listItemMarker`),r.containerState.marker=r.containerState.marker||t,e.check(Sh,r.interrupt?n:u,e.attempt(Hg,f,d))}function u(e){return r.containerState.initialBlankLine=!0,a++,f(e)}function d(t){return rh(t)?(e.enter(`listItemPrefixWhitespace`),e.consume(t),e.exit(`listItemPrefixWhitespace`),f):n(t)}function f(n){return r.containerState.size=a+r.sliceSerialize(e.exit(`listItemPrefix`),!0).length,t(n)}}function Gg(e,t,n){let r=this;return r.containerState._closeFlow=void 0,e.check(Sh,i,a);function i(n){return r.containerState.furtherBlankLines=r.containerState.furtherBlankLines||r.containerState.initialBlankLine,sh(e,t,`listItemIndent`,r.containerState.size+1)(n)}function a(n){return r.containerState.furtherBlankLines||!rh(n)?(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,o(n)):(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,e.attempt(Ug,t,o)(n))}function o(i){return r.containerState._closeFlow=!0,r.interrupt=void 0,sh(e,e.attempt(Vg,t,n),`linePrefix`,r.parser.constructs.disable.null.includes(`codeIndented`)?void 0:4)(i)}}function Kg(e,t,n){let r=this;return sh(e,i,`listItemIndent`,r.containerState.size+1);function i(e){let i=r.events[r.events.length-1];return i&&i[1].type===`listItemIndent`&&i[2].sliceSerialize(i[1],!0).length===r.containerState.size?t(e):n(e)}}function qg(e){e.exit(this.containerState.type)}function Jg(e,t,n){let r=this;return sh(e,i,`listItemPrefixWhitespace`,r.parser.constructs.disable.null.includes(`codeIndented`)?void 0:5);function i(e){let i=r.events[r.events.length-1];return!rh(e)&&i&&i[1].type===`listItemPrefixWhitespace`?t(e):n(e)}}let Yg={name:`setextUnderline`,resolveTo:Xg,tokenize:Zg};function Xg(e,t){let n=e.length,r,i,a;for(;n--;)if(e[n][0]===`enter`){if(e[n][1].type===`content`){r=n;break}e[n][1].type===`paragraph`&&(i=n)}else e[n][1].type===`content`&&e.splice(n,1),!a&&e[n][1].type===`definition`&&(a=n);let o={type:`setextHeading`,start:{...e[r][1].start},end:{...e[e.length-1][1].end}};return e[i][1].type=`setextHeadingText`,a?(e.splice(i,0,[`enter`,o,t]),e.splice(a+1,0,[`exit`,e[r][1],t]),e[r][1].end={...e[a][1].end}):e[r][1]=o,e.push([`exit`,o,t]),e}function Zg(e,t,n){let r=this,i;return a;function a(t){let a=r.events.length,s;for(;a--;)if(r.events[a][1].type!==`lineEnding`&&r.events[a][1].type!==`linePrefix`&&r.events[a][1].type!==`content`){s=r.events[a][1].type===`paragraph`;break}return!r.parser.lazy[r.now().line]&&(r.interrupt||s)?(e.enter(`setextHeadingLine`),i=t,o(t)):n(t)}function o(t){return e.enter(`setextHeadingLineSequence`),s(t)}function s(t){return t===i?(e.consume(t),s):(e.exit(`setextHeadingLineSequence`),rh(t)?sh(e,c,`lineSuffix`)(t):c(t))}function c(r){return r===null||$(r)?(e.exit(`setextHeadingLine`),t(r)):n(r)}}let Qg={tokenize:$g};function $g(e){let t=this,n=e.attempt(Sh,r,e.attempt(this.parser.constructs.flowInitial,i,sh(e,e.attempt(this.parser.constructs.flow,i,e.attempt(Jh,i)),`linePrefix`)));return n;function r(r){if(r===null){e.consume(r);return}return e.enter(`lineEndingBlank`),e.consume(r),e.exit(`lineEndingBlank`),t.currentConstruct=void 0,n}function i(r){if(r===null){e.consume(r);return}return e.enter(`lineEnding`),e.consume(r),e.exit(`lineEnding`),t.currentConstruct=void 0,n}}let e_={resolveAll:i_()},t_=r_(`string`),n_=r_(`text`);function r_(e){return{resolveAll:i_(e===`text`?a_:void 0),tokenize:t};function t(t){let n=this,r=this.parser.constructs[e],i=t.attempt(r,a,o);return a;function a(e){return c(e)?i(e):o(e)}function o(e){if(e===null){t.consume(e);return}return t.enter(`data`),t.consume(e),s}function s(e){return c(e)?(t.exit(`data`),i(e)):(t.consume(e),s)}function c(e){if(e===null)return!0;let t=r[e],i=-1;if(t)for(;++i<t.length;){let e=t[i];if(!e.previous||e.previous.call(n,n.previous))return!0}return!1}}}function i_(e){return t;function t(t,n){let r=-1,i;for(;++r<=t.length;)i===void 0?t[r]&&t[r][1].type===`data`&&(i=r,r++):(!t[r]||t[r][1].type!==`data`)&&(r!==i+2&&(t[i][1].end=t[r-1][1].end,t.splice(i+2,r-i-2),r=i+2),i=void 0);return e?e(t,n):t}}function a_(e,t){let n=0;for(;++n<=e.length;)if((n===e.length||e[n][1].type===`lineEnding`)&&e[n-1][1].type===`data`){let r=e[n-1][1],i=t.sliceStream(r),a=i.length,o=-1,s=0,c;for(;a--;){let e=i[a];if(typeof e==`string`){for(o=e.length;e.charCodeAt(o-1)===32;)s++,o--;if(o)break;o=-1}else if(e===-2)c=!0,s++;else if(e!==-1){a++;break}}if(t._contentTypeTextTrailing&&n===e.length&&(s=0),s){let i={type:n===e.length||c||s<2?`lineSuffix`:`hardBreakTrailing`,start:{_bufferIndex:a?o:r.start._bufferIndex+o,_index:r.start._index+a,line:r.end.line,column:r.end.column-s,offset:r.end.offset-s},end:{...r.end}};r.end={...i.start},r.start.offset===r.end.offset?Object.assign(r,i):(e.splice(n,0,[`enter`,i,t],[`exit`,i,t]),n+=2)}n++}return e}var o_=u({attentionMarkers:()=>m_,contentInitial:()=>c_,disable:()=>h_,document:()=>s_,flow:()=>u_,flowInitial:()=>l_,insideSpan:()=>p_,string:()=>d_,text:()=>f_});let s_={42:Vg,43:Vg,45:Vg,48:Vg,49:Vg,50:Vg,51:Vg,52:Vg,53:Vg,54:Vg,55:Vg,56:Vg,57:Vg,62:wh},c_={91:rg},l_={[-2]:Ih,[-1]:Ih,32:Ih},u_={35:lg,42:zg,45:[Yg,zg],60:mg,61:Yg,95:zg,96:Nh,126:Nh},d_={38:Ah,92:Oh},f_={[-5]:Lg,[-4]:Lg,[-3]:Lg,33:Ng,38:Ah,42:gh,60:[bh,xg],91:Fg,92:[sg,Oh],93:Cg,95:gh,96:Bh},p_={null:[gh,e_]},m_={null:[42,95]},h_={null:[]};function g_(e,t,n){let r={_bufferIndex:-1,_index:0,line:n&&n.line||1,column:n&&n.column||1,offset:n&&n.offset||0},i={},a=[],o=[],s=[],c={attempt:C(x),check:C(S),consume:v,enter:y,exit:b,interrupt:C(S,{interrupt:!0})},l={code:null,containerState:{},defineSkip:h,events:[],now:m,parser:e,previous:null,sliceSerialize:f,sliceStream:p,write:d},u=t.tokenize.call(l,c);return t.resolveAll&&a.push(t),l;function d(e){return o=Hm(o,e),g(),o[o.length-1]===null?(w(t,0),l.events=hh(a,l.events,l),l.events):[]}function f(e,t){return v_(p(e),t)}function p(e){return __(o,e)}function m(){let{_bufferIndex:e,_index:t,line:n,column:i,offset:a}=r;return{_bufferIndex:e,_index:t,line:n,column:i,offset:a}}function h(e){i[e.line]=e.column,E()}function g(){let e;for(;r._index<o.length;){let t=o[r._index];if(typeof t==`string`)for(e=r._index,r._bufferIndex<0&&(r._bufferIndex=0);r._index===e&&r._bufferIndex<t.length;)_(t.charCodeAt(r._bufferIndex));else _(t)}}function _(e){u=u(e)}function v(e){$(e)?(r.line++,r.column=1,r.offset+=e===-3?2:1,E()):e!==-1&&(r.column++,r.offset++),r._bufferIndex<0?r._index++:(r._bufferIndex++,r._bufferIndex===o[r._index].length&&(r._bufferIndex=-1,r._index++)),l.previous=e}function y(e,t){let n=t||{};return n.type=e,n.start=m(),l.events.push([`enter`,n,l]),s.push(n),n}function b(e){let t=s.pop();return t.end=m(),l.events.push([`exit`,t,l]),t}function x(e,t){w(e,t.from)}function S(e,t){t.restore()}function C(e,t){return n;function n(n,r,i){let a,o,s,u;return Array.isArray(n)?f(n):`tokenize`in n?f([n]):d(n);function d(e){return t;function t(t){let n=t!==null&&e[t],r=t!==null&&e.null;return f([...Array.isArray(n)?n:n?[n]:[],...Array.isArray(r)?r:r?[r]:[]])(t)}}function f(e){return a=e,o=0,e.length===0?i:p(e[o])}function p(e){return n;function n(n){return u=T(),s=e,e.partial||(l.currentConstruct=e),e.name&&l.parser.constructs.disable.null.includes(e.name)?h(n):e.tokenize.call(t?Object.assign(Object.create(l),t):l,c,m,h)(n)}}function m(t){return e(s,u),r}function h(e){return u.restore(),++o<a.length?p(a[o]):i}}}function w(e,t){e.resolveAll&&!a.includes(e)&&a.push(e),e.resolve&&Vm(l.events,t,l.events.length-t,e.resolve(l.events.slice(t),l)),e.resolveTo&&(l.events=e.resolveTo(l.events,l))}function T(){let e=m(),t=l.previous,n=l.currentConstruct,i=l.events.length,a=Array.from(s);return{from:i,restore:o};function o(){r=e,l.previous=t,l.currentConstruct=n,l.events.length=i,s=a,E()}}function E(){r.line in i&&r.column<2&&(r.column=i[r.line],r.offset+=i[r.line]-1)}}function __(e,t){let n=t.start._index,r=t.start._bufferIndex,i=t.end._index,a=t.end._bufferIndex,o;if(n===i)o=[e[n].slice(r,a)];else{if(o=e.slice(n,i),r>-1){let e=o[0];typeof e==`string`?o[0]=e.slice(r):o.shift()}a>0&&o.push(e[i].slice(0,a))}return o}function v_(e,t){let n=-1,r=[],i;for(;++n<e.length;){let a=e[n],o;if(typeof a==`string`)o=a;else switch(a){case-5:o=`\r`;break;case-4:o=`
405
403
  `;break;case-3:o=`\r
406
- `;break;case-2:o=t?` `:` `;break;case-1:if(!t&&i)continue;o=` `;break;default:o=String.fromCharCode(a)}i=a===-2,r.push(o)}return r.join(``)}function e_(e){let t={constructs:Tm([Vg,...(e||{}).extensions||[]]),content:n(Um),defined:[],document:n(Gm),flow:n(Ng),lazy:{},string:n(Ig),text:n(Lg)};return t;function n(e){return n;function n(n){return Zg(t,e,n)}}}function t_(e){for(;!Dh(e););return e}let n_=/[\0\t\n\r]/g;function r_(){let e=1,t=``,n=!0,r;return i;function i(i,a,o){let s=[],c,l,u,d,f;for(i=t+(typeof i==`string`?i.toString():new TextDecoder(a||void 0).decode(i)),u=0,t=``,n&&=(i.charCodeAt(0)===65279&&u++,void 0);u<i.length;){if(n_.lastIndex=u,c=n_.exec(i),d=c&&c.index!==void 0?c.index:i.length,f=i.charCodeAt(d),!c){t=i.slice(u);break}if(f===10&&u===d&&r)s.push(-3),r=void 0;else switch(r&&=(s.push(-5),void 0),u<d&&(s.push(i.slice(u,d)),e+=d-u),f){case 0:s.push(65533),e++;break;case 9:for(l=Math.ceil(e/4)*4,s.push(-2);e++<l;)s.push(-1);break;case 10:s.push(-4),e=1;break;default:r=!0,e=1}u=d+1}return o&&(r&&s.push(-5),t&&s.push(t),s.push(null)),s}}let i_=/\\([!-/:-@[-`{-~])|&(#(?:\d{1,7}|x[\da-f]{1,6})|[\da-z]{1,31});/gi;function a_(e){return e.replace(i_,o_)}function o_(e,t,n){if(t)return t;if(n.charCodeAt(0)===35){let e=n.charCodeAt(1),t=e===120||e===88;return Om(n.slice(t?2:1),t?16:10)}return xm(n)||e}function s_(e){return!e||typeof e!=`object`?``:`position`in e||`type`in e?l_(e.position):`start`in e||`end`in e?l_(e):`line`in e||`column`in e?c_(e):``}function c_(e){return u_(e&&e.line)+`:`+u_(e&&e.column)}function l_(e){return c_(e&&e.start)+`-`+c_(e&&e.end)}function u_(e){return e&&typeof e==`number`?e:1}let d_={}.hasOwnProperty;function f_(e,t,n){return t&&typeof t==`object`&&(n=t,t=void 0),p_(n)(t_(e_(n).document().write(r_()(e,t,!0))))}function p_(e){let t={transforms:[],canContainEols:[`emphasis`,`fragment`,`heading`,`paragraph`,`strong`],enter:{autolink:a(De),autolinkProtocol:T,autolinkEmail:T,atxHeading:a(Ce),blockQuote:a(ve),characterEscape:T,characterReference:T,codeFenced:a(ye),codeFencedFenceInfo:o,codeFencedFenceMeta:o,codeIndented:a(ye,o),codeText:a(be,o),codeTextData:T,data:T,codeFlowValue:T,definition:a(xe),definitionDestinationString:o,definitionLabelString:o,definitionTitleString:o,emphasis:a(Se),hardBreakEscape:a(we),hardBreakTrailing:a(we),htmlFlow:a(Te,o),htmlFlowData:T,htmlText:a(Te,o),htmlTextData:T,image:a(Ee),label:o,link:a(De),listItem:a(Oe),listItemValue:f,listOrdered:a(O,d),listUnordered:a(O),paragraph:a(ke),reference:de,referenceString:o,resourceDestinationString:o,resourceTitleString:o,setextHeading:a(Ce),strong:a(Ae),thematicBreak:a(Me)},exit:{atxHeading:c(),atxHeadingSequence:x,autolink:c(),autolinkEmail:_e,autolinkProtocol:ge,blockQuote:c(),characterEscapeValue:E,characterReferenceMarkerHexadecimal:pe,characterReferenceMarkerNumeric:pe,characterReferenceValue:me,characterReference:he,codeFenced:c(g),codeFencedFence:h,codeFencedFenceInfo:p,codeFencedFenceMeta:m,codeFlowValue:E,codeIndented:c(_),codeText:c(re),codeTextData:E,data:E,definition:c(),definitionDestinationString:b,definitionLabelString:v,definitionTitleString:y,emphasis:c(),hardBreakEscape:c(te),hardBreakTrailing:c(te),htmlFlow:c(ne),htmlFlowData:E,htmlText:c(D),htmlTextData:E,image:c(ae),label:se,labelText:oe,lineEnding:ee,link:c(ie),listItem:c(),listOrdered:c(),listUnordered:c(),paragraph:c(),referenceString:fe,resourceDestinationString:ce,resourceTitleString:le,resource:ue,setextHeading:c(w),setextHeadingLineSequence:C,setextHeadingText:S,strong:c(),thematicBreak:c()}};h_(t,(e||{}).mdastExtensions||[]);let n={};return r;function r(e){let r={type:`root`,children:[]},a={stack:[r],tokenStack:[],config:t,enter:s,exit:l,buffer:o,resume:u,data:n},c=[],d=-1;for(;++d<e.length;)(e[d][1].type===`listOrdered`||e[d][1].type===`listUnordered`)&&(e[d][0]===`enter`?c.push(d):d=i(e,c.pop(),d));for(d=-1;++d<e.length;){let n=t[e[d][0]];d_.call(n,e[d][1].type)&&n[e[d][1].type].call(Object.assign({sliceSerialize:e[d][2].sliceSerialize},a),e[d][1])}if(a.tokenStack.length>0){let e=a.tokenStack[a.tokenStack.length-1];(e[1]||__).call(a,void 0,e[0])}for(r.position={start:m_(e.length>0?e[0][1].start:{line:1,column:1,offset:0}),end:m_(e.length>0?e[e.length-2][1].end:{line:1,column:1,offset:0})},d=-1;++d<t.transforms.length;)r=t.transforms[d](r)||r;return r}function i(e,t,n){let r=t-1,i=-1,a=!1,o,s,c,l;for(;++r<=n;){let t=e[r];switch(t[1].type){case`listUnordered`:case`listOrdered`:case`blockQuote`:t[0]===`enter`?i++:i--,l=void 0;break;case`lineEndingBlank`:t[0]===`enter`&&(o&&!l&&!i&&!c&&(c=r),l=void 0);break;case`linePrefix`:case`listItemValue`:case`listItemMarker`:case`listItemPrefix`:case`listItemPrefixWhitespace`:break;default:l=void 0}if(!i&&t[0]===`enter`&&t[1].type===`listItemPrefix`||i===-1&&t[0]===`exit`&&(t[1].type===`listUnordered`||t[1].type===`listOrdered`)){if(o){let i=r;for(s=void 0;i--;){let t=e[i];if(t[1].type===`lineEnding`||t[1].type===`lineEndingBlank`){if(t[0]===`exit`)continue;s&&(e[s][1].type=`lineEndingBlank`,a=!0),t[1].type=`lineEnding`,s=i}else if(t[1].type!==`linePrefix`&&t[1].type!==`blockQuotePrefix`&&t[1].type!==`blockQuotePrefixWhitespace`&&t[1].type!==`blockQuoteMarker`&&t[1].type!==`listItemIndent`)break}c&&(!s||c<s)&&(o._spread=!0),o.end=Object.assign({},s?e[s][1].start:t[1].end),e.splice(s||r,0,[`exit`,o,t[2]]),r++,n++}if(t[1].type===`listItemPrefix`){let i={type:`listItem`,_spread:!1,start:Object.assign({},t[1].start),end:void 0};o=i,e.splice(r,0,[`enter`,i,t[2]]),r++,n++,c=void 0,l=!0}}}return e[t][1]._spread=a,n}function a(e,t){return n;function n(n){s.call(this,e(n),n),t&&t.call(this,n)}}function o(){this.stack.push({type:`fragment`,children:[]})}function s(e,t,n){this.stack[this.stack.length-1].children.push(e),this.stack.push(e),this.tokenStack.push([t,n||void 0]),e.position={start:m_(t.start),end:void 0}}function c(e){return t;function t(t){e&&e.call(this,t),l.call(this,t)}}function l(e,t){let n=this.stack.pop(),r=this.tokenStack.pop();if(r)r[0].type!==e.type&&(t?t.call(this,e,r[0]):(r[1]||__).call(this,e,r[0]));else throw Error("Cannot close `"+e.type+"` ("+s_({start:e.start,end:e.end})+`): it’s not open`);n.position.end=m_(e.end)}function u(){return hm(this.stack.pop())}function d(){this.data.expectingFirstListItemValue=!0}function f(e){if(this.data.expectingFirstListItemValue){let t=this.stack[this.stack.length-2];t.start=Number.parseInt(this.sliceSerialize(e),10),this.data.expectingFirstListItemValue=void 0}}function p(){let e=this.resume(),t=this.stack[this.stack.length-1];t.lang=e}function m(){let e=this.resume(),t=this.stack[this.stack.length-1];t.meta=e}function h(){this.data.flowCodeInside||(this.buffer(),this.data.flowCodeInside=!0)}function g(){let e=this.resume(),t=this.stack[this.stack.length-1];t.value=e.replace(/^(\r?\n|\r)|(\r?\n|\r)$/g,``),this.data.flowCodeInside=void 0}function _(){let e=this.resume(),t=this.stack[this.stack.length-1];t.value=e.replace(/(\r?\n|\r)$/g,``)}function v(e){let t=this.resume(),n=this.stack[this.stack.length-1];n.label=t,n.identifier=km(this.sliceSerialize(e)).toLowerCase()}function y(){let e=this.resume(),t=this.stack[this.stack.length-1];t.title=e}function b(){let e=this.resume(),t=this.stack[this.stack.length-1];t.url=e}function x(e){let t=this.stack[this.stack.length-1];t.depth||=this.sliceSerialize(e).length}function S(){this.data.setextHeadingSlurpLineEnding=!0}function C(e){let t=this.stack[this.stack.length-1];t.depth=this.sliceSerialize(e).codePointAt(0)===61?1:2}function w(){this.data.setextHeadingSlurpLineEnding=void 0}function T(e){let t=this.stack[this.stack.length-1].children,n=t[t.length-1];(!n||n.type!==`text`)&&(n=je(),n.position={start:m_(e.start),end:void 0},t.push(n)),this.stack.push(n)}function E(e){let t=this.stack.pop();t.value+=this.sliceSerialize(e),t.position.end=m_(e.end)}function ee(e){let n=this.stack[this.stack.length-1];if(this.data.atHardBreak){let t=n.children[n.children.length-1];t.position.end=m_(e.end),this.data.atHardBreak=void 0;return}!this.data.setextHeadingSlurpLineEnding&&t.canContainEols.includes(n.type)&&(T.call(this,e),E.call(this,e))}function te(){this.data.atHardBreak=!0}function ne(){let e=this.resume(),t=this.stack[this.stack.length-1];t.value=e}function D(){let e=this.resume(),t=this.stack[this.stack.length-1];t.value=e}function re(){let e=this.resume(),t=this.stack[this.stack.length-1];t.value=e}function ie(){let e=this.stack[this.stack.length-1];if(this.data.inReference){let t=this.data.referenceType||`shortcut`;e.type+=`Reference`,e.referenceType=t,delete e.url,delete e.title}else delete e.identifier,delete e.label;this.data.referenceType=void 0}function ae(){let e=this.stack[this.stack.length-1];if(this.data.inReference){let t=this.data.referenceType||`shortcut`;e.type+=`Reference`,e.referenceType=t,delete e.url,delete e.title}else delete e.identifier,delete e.label;this.data.referenceType=void 0}function oe(e){let t=this.sliceSerialize(e),n=this.stack[this.stack.length-2];n.label=a_(t),n.identifier=km(t).toLowerCase()}function se(){let e=this.stack[this.stack.length-1],t=this.resume(),n=this.stack[this.stack.length-1];this.data.inReference=!0,n.type===`link`?n.children=e.children:n.alt=t}function ce(){let e=this.resume(),t=this.stack[this.stack.length-1];t.url=e}function le(){let e=this.resume(),t=this.stack[this.stack.length-1];t.title=e}function ue(){this.data.inReference=void 0}function de(){this.data.referenceType=`collapsed`}function fe(e){let t=this.resume(),n=this.stack[this.stack.length-1];n.label=t,n.identifier=km(this.sliceSerialize(e)).toLowerCase(),this.data.referenceType=`full`}function pe(e){this.data.characterReferenceType=e.type}function me(e){let t=this.sliceSerialize(e),n=this.data.characterReferenceType,r;n?(r=Om(t,n===`characterReferenceMarkerNumeric`?10:16),this.data.characterReferenceType=void 0):r=xm(t);let i=this.stack[this.stack.length-1];i.value+=r}function he(e){let t=this.stack.pop();t.position.end=m_(e.end)}function ge(e){E.call(this,e);let t=this.stack[this.stack.length-1];t.url=this.sliceSerialize(e)}function _e(e){E.call(this,e);let t=this.stack[this.stack.length-1];t.url=`mailto:`+this.sliceSerialize(e)}function ve(){return{type:`blockquote`,children:[]}}function ye(){return{type:`code`,lang:null,meta:null,value:``}}function be(){return{type:`inlineCode`,value:``}}function xe(){return{type:`definition`,identifier:``,label:null,title:null,url:``}}function Se(){return{type:`emphasis`,children:[]}}function Ce(){return{type:`heading`,depth:0,children:[]}}function we(){return{type:`break`}}function Te(){return{type:`html`,value:``}}function Ee(){return{type:`image`,title:null,url:``,alt:null}}function De(){return{type:`link`,title:null,url:``,children:[]}}function O(e){return{type:`list`,ordered:e.type===`listOrdered`,start:null,spread:e._spread,children:[]}}function Oe(e){return{type:`listItem`,spread:e._spread,checked:null,children:[]}}function ke(){return{type:`paragraph`,children:[]}}function Ae(){return{type:`strong`,children:[]}}function je(){return{type:`text`,value:``}}function Me(){return{type:`thematicBreak`}}}function m_(e){return{line:e.line,column:e.column,offset:e.offset}}function h_(e,t){let n=-1;for(;++n<t.length;){let r=t[n];Array.isArray(r)?h_(e,r):g_(e,r)}}function g_(e,t){let n;for(n in t)if(d_.call(t,n))switch(n){case`canContainEols`:{let r=t[n];r&&e[n].push(...r);break}case`transforms`:{let r=t[n];r&&e[n].push(...r);break}case`enter`:case`exit`:{let r=t[n];r&&Object.assign(e[n],r);break}}}function __(e,t){throw Error(e?"Cannot close `"+e.type+"` ("+s_({start:e.start,end:e.end})+"): a different token (`"+t.type+"`, "+s_({start:t.start,end:t.end})+`) is open`:"Cannot close document, a token (`"+t.type+"`, "+s_({start:t.start,end:t.end})+`) is still open`)}function v_(e){let t=[],n=r=>{if(r.type===`code`){let n=r.position?.start.offset,i=n===void 0?-1:e.indexOf(`
407
- `,n);t.push({lang:r.lang??null,value:r.value,openingLineComplete:i>=0})}for(let e of r.children??[])n(e)};return n(f_(e)),t}function y_(e){let t=[];for(let n of e)n.kind===`text`&&t.push(...v_(n.text));return t}function b_(e,t,n){let r=e?.nodes.get(t);if(r?.kind===`assistant-step`)return y_(r.data.blocks)[n]?.lang}let x_=`.md-code-block, .code-block, .code-block-small`,S_=`data-genui-rendered`,C_=`[data-streaming]`,w_=`genui-dom-fence`,T_=`genui-dom-fence-diagnostic`,E_=`p, ul, ol, dl, table, h1, h2, h3, h4, h5, h6, blockquote, hr, img, figure`;function D_(e){let t=e.querySelectorAll(`pre`);if(t.length>1)return!1;let n=t[0]??null;for(let t of e.querySelectorAll(E_))if(!(n!==null&&n.contains(t)))return!1;return!0}function O_(e){return(0,m.isValidElement)(e)&&e.type===m.Fragment}function k_(e){let t=e.trimStart();return t.length<8||!t.startsWith(`{`)?!1:/"(items|type|title|panel)"\s*:/.test(t)}function A_(){return(0,g.jsxs)(`div`,{className:w.skeleton,role:`status`,"aria-label":`正在生成界面`,children:[(0,g.jsx)(`span`,{className:w.skeletonTitle}),(0,g.jsxs)(`span`,{className:w.skeletonBars,children:[(0,g.jsx)(`span`,{style:{width:`32%`}}),(0,g.jsx)(`span`,{style:{width:`52%`}}),(0,g.jsx)(`span`,{style:{width:`24%`}})]}),(0,g.jsx)(`span`,{className:w.skeletonBlock})]})}function j_(e){return e.nodeType===Node.TEXT_NODE}function M_(e){let t=e.querySelector(`pre`);for(let n of e.querySelectorAll(`*`)){if(n.childElementCount!==0)continue;let r=n.textContent?.trim();if(r!==`dsh-ui`&&r!==`svg`||t!==null&&t.contains(n))continue;let i=n.closest(x_);if(i===null||i===e)return r}return null}let N_=new Set([`Code`,`Code block`,`代码块`]);function P_(e){let t=F_(e);return t===``||N_.has(t)?null:t}function F_(e){let t=e.querySelector(`pre`);for(let n of e.querySelectorAll(`*`))if(n.childElementCount===0&&!(t!==null&&t.contains(n)))return n.textContent?.trim()??``;return``}function I_(e,t){let n=e.closest(q_);if(n===null||n.dataset.chatGroupPart===`reasoning`||P_(e)!==null||!e.querySelector(`[data-code-block-banner]`)||!N_.has(F_(e)))return!1;let r;try{r=JSON.parse(t)}catch{return!1}return!jf(r).ok||Nd(r).length>0?!1:JSON.stringify(Ed(r).value)===JSON.stringify(r)}function L_(e){let t=e.querySelector(`pre`);if(t===null)return``;let n=``;for(let e of t.childNodes)j_(e),n+=e.textContent??``;return n}function R_(e){return e.closest(C_)===null}function z_(e,t=document){let n=e.parentElement;for(let e=0;n!==null&&n!==t&&e<4;e+=1,n=n.parentElement)if(M_(n)!==null)return D_(n)?n:null;return null}function B_(e,t=document){let n=e.parentElement;for(let e=0;n!==null&&n!==t&&e<4;e+=1,n=n.parentElement)if(M_(n)===`dsh-ui`&&!D_(n))return n;return null}function V_(e=document){let t=new Set,n=[];for(let r of e.querySelectorAll(x_))if((r.parentElement===null||r.parentElement.closest(x_)===null)&&r.closest(`.${w_}, .${T_}, [data-genui-svg-fence]`)===null&&!t.has(r)){if(!D_(r)){M_(r)===`dsh-ui`&&W_(r);continue}n.push(r),t.add(r)}for(let r of e.querySelectorAll(`pre`)){if(r.closest(`${x_}, .${w_}, .${T_}, [data-genui-svg-fence]`)!==null)continue;let i=z_(r,e);if(i===null){let t=B_(r,e);t!==null&&W_(t);continue}t.has(i)||(H_||(H_=!0,console.warn(`[dsh-genui] 围栏表面类名未被已知选择器命中(宿主 DOM 漂移),已按 label+pre 结构识别 dsh-ui 围栏`)),n.push(i),t.add(i))}return n}let H_=!1,U_=new WeakSet;function W_(e){if(U_.has(e))return;U_.add(e);let t=e.querySelectorAll(`pre`),n=[...e.querySelectorAll(E_)].filter(e=>!e.closest(`pre`)).map(e=>e.tagName.toLowerCase());console.warn(`[dsh-genui] 跳过带 dsh-ui 标签但疑似消息容器的节点:pre=${t.length}, outside-code=${[...new Set(n)].join(`,`)||`none`};保留原文,防止隐藏整条消息(issue #19)`)}let G_=h.createRoot,K_=`[data-chat-flow-key], [data-chat-flow-kind]`,q_=`[data-chat-flow-kind="assistant-step"]`;function J_(e){return e.closest(`[data-chat-anchor-key]`)??e.closest(K_)??e}function Y_(e,t,n,r=t=>Z_(e,t)){if(!t.matches(q_)||t.getAttribute(`data-chat-anchor-key`)===null){let e=t.getAttribute(`data-chat-anchor-key`)===null?document:t,i=0;for(let t of V_(e)){if(t.closest(C_)!==null)continue;let e=P_(t)??r(t);if(!(e!==`dsh-ui`&&!(e===void 0&&I_(t,L_(t))))&&(i+=1,t===n))return i}return i+1}let i=0;for(let e of X_(t)){if(e.closest(C_)!==null)continue;let t=P_(e)??r(e);if(!(t!==`dsh-ui`&&!(t===void 0&&I_(e,L_(e))))&&(i+=1,e===n))return i}return i+1}function X_(e){return[...e.querySelectorAll(x_)].filter(t=>t.parentElement?.closest(x_)!==null||t.closest(`.${w_}, .${T_}, [data-genui], [data-genui-svg-fence]`)!==null||t.closest(`[data-chat-group-part="reasoning"], [data-tool], [data-sidebar-chat], [data-sidebar-right-session], [data-sidebar-right-panel], [data-panel-conversation], [data-plugin-panel]`)!==null||t.closest(q_)!==e?!1:D_(t)&&t.querySelector(`pre`)!==null)}function Z_(e,t){let n=t.closest(`${q_}[data-chat-node-key]`);if(n===null||n.dataset.chatGroupPart===`reasoning`)return;let r=n.dataset.chatNodeKey,i=$_(n,t),a=ev(e);if(!r||i<0||a===void 0)return;let o=nv(e,a)?.getSnapshot();return b_(o,r,i)}function Q_(e){let t=new WeakMap,n=new Map,r=new Map,i,a,o=!1;return{beginSweep(){n=new Map,r=new Map,i=void 0,a=void 0,o=!1},get(s){if(n.has(s))return n.get(s);let c=s.closest(`${q_}[data-chat-node-key]`);if(c===null||c.dataset.chatGroupPart===`reasoning`)return;let l=c.dataset.chatNodeKey,u=ev(e);if(!l||u===void 0)return;let d=t.get(s);if(d?.sessionId===u&&d.nodeKey===l)return n.set(s,d.language),d.language;(!o||i!==u)&&(i=u,a=nv(e,u)?.getSnapshot(),o=!0);let f=a?.nodes.get(l);if(f?.kind!==`assistant-step`)return;let p=f,m=r.get(l);m===void 0&&(m=y_(p.data.blocks),r.set(l,m));let h=$_(c,s);if(h<0)return;let g=m[h],_=g?.lang;return g!==void 0&&g.openingLineComplete&&t.set(s,{sessionId:u,nodeKey:l,language:g.lang}),n.set(s,_),_}}}function $_(e,t){return X_(e).indexOf(t)}function ev(e){return pm(e.sessions.list.getSnapshot())}function tv(e){if(typeof e.get==`function`)return e.get(`uiConversation`,!1)}function nv(e,t){try{let n=tv(e)?.binding(t).target(`chat`);return n===void 0?void 0:{getSnapshot:()=>{try{return n.getSnapshot()}catch{return}},subscribe:e=>{try{return n.subscribe(e)}catch{return}}}}catch{return}}function rv(e){let t=e.getAttribute(`data-chat-anchor-key`)??``,n=/assistant-step(\d+):(\d+)$/.exec(t);if(n!==null){let e=Number(n[1]),t=Number(n[2]);if(Number.isFinite(e)&&Number.isFinite(t))return e*1e3+t}let r=document.querySelectorAll(`[data-chat-anchor-key], ${K_}`);for(let t=0;t<r.length;t+=1)if(r[t]===e)return t;return 0}function iv(e,t){if(typeof document>`u`)return()=>{};H_=!1,U_=new WeakSet;let n=new Map,r=new Map,i=!1,a=null,o,s,c=Q_(e),l=()=>{try{return pm(e.sessions.list.getSnapshot())}catch{return}};function u(t){t!==o&&(s?.(),s=void 0,o=t),t!==void 0&&s===void 0&&(s=nv(e,t)?.subscribe(w))}function d(t,n,r){r&&t.getAttribute(`data-chat-anchor-key`)===null&&v(n,`no [data-chat-anchor-key] ancestor for a dsh-ui fence (host render path without row anchor — e.g. Safari); using fallback identity dom:unknown:N`);let i=Y_(e,t,n,c.get),a=`dom:${t.getAttribute(`data-chat-anchor-key`)??`unknown`}:${i}`,o=l();return{key:a,context:{...o===void 0?{}:{sessionId:o},...r?{source:{id:a,order:[rv(t),0,i]}}:{}}}}function f(e){let t=n.get(e);t!==void 0&&(n.delete(e),t.root.unmount(),t.container.remove(),e.style.display=``,e.removeAttribute(S_),p(e))}function p(e){let t=r.get(e);if(t!==void 0){r.delete(e);try{t.root.unmount()}catch{}t.container.remove()}}function m(e,t){if(am(t,{settled:!0})===null){p(e);return}let n=r.get(e);if(n!==void 0){if((n.container.parentElement!==e.parentElement||n.container.nextElementSibling!==e)&&e.before(n.container),n.raw===t)return;p(e)}let i=document.createElement(`div`);i.className=T_,e.before(i);let a;try{a=G_(i),a.render((0,g.jsx)(om,{raw:t,settled:!0}))}catch(t){i.remove(),v(e,`failed to mount the dsh-ui diagnostic (${t instanceof Error?t.message:String(t)}); keeping the stock code block visible`);return}r.set(e,{container:i,root:a,raw:t})}function h(e,t){let n=r.get(e);n===void 0||n.container.childElementCount>0||(p(e),m(e,t))}let _=new WeakSet;function v(e,t){_.has(e)||(_.add(e),console.warn(`[dsh-genui] ${t}`))}function y(e,n,r){let i=l();if(i===void 0){v(e,`cannot resolve the viewed session; action "${n}" was not sent`);return}t(i,n,r)}function b(e){if(e.hasAttribute(S_))return;let t=J_(e),r=R_(e),i=P_(e),a=i===null?c.get(e):void 0,o=i??a,s=L_(e),l=o===void 0&&r&&I_(e,s);if(o!==`dsh-ui`&&o!==`svg`&&!l||!r&&o!==`dsh-ui`)return;if(s.trim()===``){r&&v(e,`settled ${o??`dsh-ui`} fence has an empty body; keeping the code block`);return}let{key:u,context:f}=d(t,e,r),h=o===`svg`?`svg`:`dsh-ui`,_=h===`svg`?Ko(s,u):dm(s,u,f),b=_;if(b===null){if(r||!k_(s)){r&&(m(e,s),v(e,`settled dsh-ui fence body does not parse; keeping the code block`));return}b=(0,g.jsx)(A_,{})}p(e);let S=document.createElement(`div`);S.className=w_,e.after(S);let C;try{C=G_(S)}catch(t){S.remove(),v(e,`failed to create a React root for a dsh-ui fence (${t instanceof Error?t.message:String(t)}); keeping the stock code block visible`);return}try{C.render((0,g.jsx)(x.Provider,{value:(t,n)=>y(e,t,n),children:b}))}catch(t){try{C.unmount()}catch{}S.remove(),v(e,`failed to mount a dsh-ui fence (${t instanceof Error?t.message:String(t)}); keeping the stock code block visible`);return}e.style.display=`none`,e.setAttribute(S_,``),n.set(e,{root:C,container:S,block:e,lastRaw:s,lastSettled:r,language:h,lastNode:b,skeleton:_===null})}function S(){for(let[e,t]of Array.from(r)){if(!e.isConnected){p(e);continue}m(e,t.raw)}for(let e of Array.from(n.values())){let t=e.block;if(!t.isConnected){e.container.isConnected&&f(t);continue}if((e.container.parentElement!==t.parentElement||e.container.previousElementSibling!==t)&&t.after(e.container),!e.container.isConnected){t.style.display=``,t.removeAttribute(S_),n.delete(t);try{e.root.unmount()}catch{}e.container.remove(),v(t,`dsh-ui replacement container could not be re-attached after a host re-render; restoring the stock code block`);continue}t.style.display!==`none`&&(t.style.display=`none`),t.hasAttribute(S_)||t.setAttribute(S_,``)}}function C(){if(!i){c.beginSweep(),u(l());for(let[e,t]of n){if(!e.isConnected){f(e);continue}let r=L_(e),i=R_(e),a=P_(e),o=a===null?c.get(e):void 0,s=a??o,l=s===`dsh-ui`||s===void 0&&i&&I_(e,r);if(t.language===`svg`&&s!==`svg`){f(e);continue}if(t.language===`dsh-ui`&&!l){f(e);continue}let u=!O_(t.lastNode)&&t.container.childElementCount===0;if(t.lastRaw!==r||t.lastSettled!==i||u){let{key:a,context:o}=d(J_(e),e,i),s=t.language===`svg`?Ko(r,a):dm(r,a,o);if(s===null){if(t.skeleton&&!i){t.lastRaw=r,t.lastSettled=i;continue}f(e);continue}if(u){try{t.root.unmount()}catch{}let r=document.createElement(`div`);r.className=w_,t.container.remove(),e.after(r);try{let n=G_(r);n.render((0,g.jsx)(x.Provider,{value:(t,n)=>y(e,t,n),children:s})),t.root=n,t.container=r}catch(t){r.remove(),e.style.display=``,e.removeAttribute(S_),n.delete(e),v(e,`failed to rebuild a wiped dsh-ui mount (${t instanceof Error?t.message:String(t)}); restoring the stock code block`);continue}}else try{t.root.render((0,g.jsx)(x.Provider,{value:(t,n)=>y(e,t,n),children:s}))}catch(t){f(e),v(e,`failed to re-render a dsh-ui fence (${t instanceof Error?t.message:String(t)}); restoring the stock code block`);continue}t.lastRaw=r,t.lastSettled=i,t.lastNode=s,t.skeleton=!1}}S();for(let[e,t]of Array.from(r)){if(!e.isConnected||e.hasAttribute(S_)){p(e);continue}if(R_(e)){let t=P_(e),n=t===null?c.get(e):void 0;if((t??n)!==`dsh-ui`){p(e);continue}}h(e,t.raw)}for(let e of V_())b(e)}}let w=()=>{i||a!==null||(a=requestAnimationFrame(()=>{a=null,!i&&C()}))},T=typeof e.sessions.list.subscribe==`function`?e.sessions.list.subscribe(w):void 0,E=new MutationObserver(e=>{for(let t of[...e].reverse()){if(t.removedNodes.length===0||t.target.childNodes.length>0)continue;let e=t.target,i=[...n.values()].find(t=>t.container===e);if(i!==void 0){if(!i.block.isConnected||O_(i.lastNode))continue;i.container.append(...t.removedNodes);continue}let a=[...r.values()].find(t=>t.container===e);a!==void 0&&a.container.append(...t.removedNodes)}S(),w()});E.observe(document.body,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[`data-streaming`],characterData:!0});let ee=window.setInterval(C,1e3);return C(),()=>{i=!0,E.disconnect(),T?.(),s?.(),s=void 0,window.clearInterval(ee),a!==null&&(cancelAnimationFrame(a),a=null);for(let e of Array.from(n.keys()))f(e);for(let e of Array.from(r.keys()))p(e)}}function av(){return{title:Y(`panel.title.default`),items:[{type:`text`,size:`h3`,content:Y(`panel.default.heading`)},{type:`text`,size:`muted`,content:Y(`panel.default.subtitle`)},{type:`grid`,cols:4,items:[{type:`stat`,label:Y(`panel.default.stat.components`),value:`38`},{type:`stat`,label:Y(`panel.default.stat.single`),value:`12`},{type:`stat`,label:Y(`panel.default.stat.composite`),value:`8`},{type:`stat`,label:Y(`panel.default.stat.advanced`),value:`18`}]},{type:`list`,items:[{title:Y(`panel.default.group.single`),desc:`text button input select checkbox link badge stat progress divider avatar spacer`},{title:Y(`panel.default.group.composite`),desc:`row col grid card list table chart tabs`},{title:Y(`panel.default.group.data`),desc:`plot callout steps keyvalue diff json code`},{title:Y(`panel.default.group.interactive`),desc:`radio switch textarea accordion copy`},{title:Y(`panel.default.group.advanced`),desc:`mermaid scene3d timeline file-tree breadcrumb`},{title:Y(`panel.default.group.teaching`),desc:`quiz`}]},{type:`callout`,tone:`info`,title:Y(`panel.default.callout.title`),content:Y(`panel.default.callout.body`)}]}}function ov(e,t){let n=t.trim().toLowerCase();if(n===`clear`||n===`off`||n===`close`){jp(e,null);return}jp(e,av()),Vp(e)}function sv(e,t){return{name:`panel`,token:`/panel`,hint:Y(`panel.cmd.hint`),submit:async(n,r)=>{let i=n.trim();return i===``?ov(e,``):/^(clear|off|close)$/i.test(i)?ov(e,i):(ov(e,``),t(e,i)),{kind:`success`}}}}function cv(e){return{trigger:`/`,name:`genui`,order:60,candidates:async(e,t)=>{let n=t.query.toLowerCase();return n!==``&&!`panel`.startsWith(n)?[]:[{name:`panel`,description:Y(`panel.cmd.description`),hint:`/panel`}]},onPick(t){return{claim:sv(t.session.sessionId,e)}},matchEnter:async(t,n,r)=>{if(/^\/panel(?:\s|$)/.test(n.trim()))return{claim:sv(t.sessionId,e)}}}}let lv=[`dashboard`,`data`,`flow`,`chart`,`interactive`,`quiz`,`advanced`];function uv(e){return`tpl.category.${e}`}function dv(){return[{id:`tpl-dashboard`,category:`dashboard`,name:Y(`tpl.dashboard.name`),description:Y(`tpl.dashboard.desc`),instruction:Y(`tpl.dashboard.instruction`),demo:{title:Y(`tpl.dashboard.demo.title`),gap:12,items:[{type:`card`,title:Y(`tpl.dashboard.demo.metrics`),items:[{type:`grid`,cols:2,items:[{type:`stat`,label:Y(`tpl.dashboard.demo.done`),value:`12 / 18`,delta:`+4`},{type:`stat`,label:Y(`tpl.dashboard.demo.blocked`),value:`2`,delta:`-1`},{type:`stat`,label:Y(`tpl.dashboard.demo.duration`),value:`3.2h`,delta:`-8%`},{type:`stat`,label:Y(`tpl.dashboard.demo.coverage`),value:`86%`}]}]},{type:`card`,title:Y(`tpl.dashboard.demo.progress`),items:[{type:`progress`,label:Y(`tpl.dashboard.demo.milestone`),value:68,valueLabel:`68 / 100`}]},{type:`card`,title:Y(`tpl.dashboard.demo.todo`),items:[{type:`list`,items:[Y(`tpl.dashboard.demo.todo1`),Y(`tpl.dashboard.demo.todo2`),Y(`tpl.dashboard.demo.todo3`)]}]}]}},{id:`tpl-compare`,category:`data`,name:Y(`tpl.compare.name`),description:Y(`tpl.compare.desc`),instruction:Y(`tpl.compare.instruction`),demo:{title:Y(`tpl.compare.demo.title`),items:[{type:`callout`,tone:`info`,title:Y(`tpl.compare.demo.conclusion`),content:Y(`tpl.compare.demo.body`)},{type:`table`,columns:[Y(`tpl.compare.demo.dimension`),Y(`tpl.compare.demo.optionA`),Y(`tpl.compare.demo.optionB`),Y(`tpl.compare.demo.optionC`)],rows:[[Y(`tpl.compare.demo.cost`),Y(`tpl.compare.demo.high`),Y(`tpl.compare.demo.medium`),Y(`tpl.compare.demo.low`)],[Y(`tpl.compare.demo.complexity`),Y(`tpl.compare.demo.high`),Y(`tpl.compare.demo.medium`),Y(`tpl.compare.demo.low`)],[Y(`tpl.compare.demo.risk`),Y(`tpl.compare.demo.low`),Y(`tpl.compare.demo.low`),Y(`tpl.compare.demo.high`)],[Y(`tpl.compare.demo.payoff`),Y(`tpl.compare.demo.large`),Y(`tpl.compare.demo.medium`),Y(`tpl.compare.demo.small`)]]}]}},{id:`tpl-steps`,category:`flow`,name:Y(`tpl.steps.name`),description:Y(`tpl.steps.desc`),instruction:Y(`tpl.steps.instruction`),demo:{title:Y(`tpl.steps.demo.title`),items:[{type:`badge`,label:Y(`tpl.steps.demo.badge`),tone:`accent`},{type:`steps`,current:2,steps:[{title:Y(`tpl.steps.demo.s1`),desc:Y(`tpl.steps.demo.s1desc`)},{title:Y(`tpl.steps.demo.s2`),desc:Y(`tpl.steps.demo.s2desc`)},{title:Y(`tpl.steps.demo.s3`),desc:Y(`tpl.steps.demo.s3desc`)},{title:Y(`tpl.steps.demo.s4`),desc:Y(`tpl.steps.demo.s4desc`)},{title:Y(`tpl.steps.demo.s5`),desc:Y(`tpl.steps.demo.s5desc`)}]}]}},{id:`tpl-quiz`,category:`quiz`,name:Y(`tpl.quiz.name`),description:Y(`tpl.quiz.desc`),instruction:Y(`tpl.quiz.instruction`),demo:{title:Y(`tpl.quiz.demo.title`),gap:10,items:[{type:`text`,content:Y(`tpl.quiz.demo.hint`),size:`muted`},{type:`quiz`,id:`q-dsh`,question:Y(`tpl.quiz.demo.q1`),options:[{label:Y(`tpl.quiz.demo.q1a`)},{label:Y(`tpl.quiz.demo.q1b`),correct:!0,feedback:Y(`tpl.quiz.demo.q1bfx`)},{label:Y(`tpl.quiz.demo.q1c`)}],explanation:Y(`tpl.quiz.demo.q1exp`)},{type:`quiz`,id:`q-fence`,question:Y(`tpl.quiz.demo.q2`),options:[{label:Y(`tpl.quiz.demo.q2a`)},{label:Y(`tpl.quiz.demo.q2b`),correct:!0,feedback:Y(`tpl.quiz.demo.q2bfx`)},{label:Y(`tpl.quiz.demo.q2c`)}],explanation:Y(`tpl.quiz.demo.q2exp`)},{type:`quiz`,id:`q-panel`,question:Y(`tpl.quiz.demo.q3`),options:[{label:Y(`tpl.quiz.demo.q3a`)},{label:Y(`tpl.quiz.demo.q3b`),correct:!0,feedback:Y(`tpl.quiz.demo.q3bfx`)},{label:Y(`tpl.quiz.demo.q3c`)}]}]}},{id:`tpl-stats`,category:`data`,name:Y(`tpl.stats.name`),description:Y(`tpl.stats.desc`),instruction:Y(`tpl.stats.instruction`),demo:{title:Y(`tpl.stats.demo.title`),items:[{type:`keyvalue`,pairs:[{key:Y(`tpl.stats.demo.done`),value:`12`},{key:Y(`tpl.stats.demo.late`),value:`1`},{key:Y(`tpl.stats.demo.risk`),value:Y(`tpl.stats.demo.riskValue`)}]},{type:`progress`,label:Y(`tpl.stats.demo.planned`),value:75,valueLabel:`75%`},{type:`progress`,label:Y(`tpl.stats.demo.actual`),value:82,valueLabel:`82%`},{type:`timeline`,items:[{title:Y(`tpl.stats.demo.mon`),desc:Y(`tpl.stats.demo.monDesc`),time:`08-25`},{title:Y(`tpl.stats.demo.wed`),desc:Y(`tpl.stats.demo.wedDesc`),time:`08-27`},{title:Y(`tpl.stats.demo.fri`),desc:Y(`tpl.stats.demo.friDesc`),time:`08-29`}]}]}},{id:`tpl-chart`,category:`chart`,name:Y(`tpl.chart.name`),description:Y(`tpl.chart.desc`),instruction:Y(`tpl.chart.instruction`),demo:{title:Y(`tpl.chart.demo.title`),items:[{type:`text`,content:Y(`tpl.chart.demo.conclusion`)},{type:`chart`,kind:`line`,data:[{label:`W21`,value:8},{label:`W22`,value:10},{label:`W23`,value:9},{label:`W24`,value:12},{label:`W25`,value:15},{label:`W26`,value:18}]}]}},{id:`tpl-tabs`,category:`interactive`,name:Y(`tpl.tabs.name`),description:Y(`tpl.tabs.desc`),instruction:Y(`tpl.tabs.instruction`),demo:{title:Y(`tpl.tabs.demo.title`),items:[{type:`tabs`,tabs:[{label:Y(`tpl.tabs.demo.overview`),items:[{type:`text`,content:Y(`tpl.tabs.demo.overviewBody`)}]},{label:Y(`tpl.tabs.demo.details`),items:[{type:`list`,items:[Y(`tpl.tabs.demo.d1`),Y(`tpl.tabs.demo.d2`),Y(`tpl.tabs.demo.d3`)]}]},{label:`FAQ`,items:[{type:`text`,content:Y(`tpl.tabs.demo.faqBody`)}]}]}]}},{id:`tpl-checklist`,category:`flow`,name:Y(`tpl.checklist.name`),description:Y(`tpl.checklist.desc`),instruction:Y(`tpl.checklist.instruction`),demo:{title:Y(`tpl.checklist.demo.title`),items:[{type:`badge`,label:Y(`tpl.checklist.demo.badge`),tone:`warn`},{type:`list`,items:[{type:`checkbox`,label:Y(`tpl.checklist.demo.c1`)},{type:`checkbox`,label:Y(`tpl.checklist.demo.c2`)},{type:`checkbox`,label:Y(`tpl.checklist.demo.c3`)},{type:`checkbox`,label:Y(`tpl.checklist.demo.c4`)}]}]}},{id:`tpl-accordion`,category:`advanced`,name:Y(`tpl.accordion.name`),description:Y(`tpl.accordion.desc`),instruction:Y(`tpl.accordion.instruction`),demo:{title:Y(`tpl.accordion.demo.title`),items:[{type:`accordion`,items:[{title:Y(`tpl.accordion.demo.q1`),items:[{type:`text`,content:Y(`tpl.accordion.demo.a1`)}]},{title:Y(`tpl.accordion.demo.q2`),items:[{type:`text`,content:Y(`tpl.accordion.demo.a2`)}]},{title:Y(`tpl.accordion.demo.q3`),items:[{type:`text`,content:Y(`tpl.accordion.demo.a3`)}]}]}]}},{id:`tpl-diagram`,category:`advanced`,name:Y(`tpl.diagram.name`),description:Y(`tpl.diagram.desc`),instruction:Y(`tpl.diagram.instruction`),demo:{title:Y(`tpl.diagram.demo.title`),items:[{type:`diagram`,kind:`flowchart`,title:Y(`tpl.diagram.demo.caption`),nodes:[{id:`a`,label:Y(`tpl.diagram.demo.model`),x:20,y:20,w:120,h:48},{id:`b`,label:Y(`tpl.diagram.demo.plugin`),x:20,y:120,w:120,h:48},{id:`c`,label:Y(`tpl.diagram.demo.host`),x:200,y:70,w:120,h:48}],edges:[{from:`a`,to:`b`},{from:`b`,to:`c`}]}]}},{id:`tpl-3d`,category:`advanced`,name:Y(`tpl.3d.name`),description:Y(`tpl.3d.desc`),instruction:Y(`tpl.3d.instruction`),demo:{title:Y(`tpl.3d.demo.title`),items:[{type:`text`,content:Y(`tpl.3d.demo.note`),size:`muted`},{type:`scene3d`,title:Y(`tpl.3d.demo.scene`),meshes:[{shape:`box`,size:1,color:`#4FC3F7`,position:[-1.2,0,0]},{shape:`sphere`,size:.6,color:`#81C784`,position:[1.2,0,0]}]}]}},{id:`tpl-breadcrumb`,category:`data`,name:Y(`tpl.breadcrumb.name`),description:Y(`tpl.breadcrumb.desc`),instruction:Y(`tpl.breadcrumb.instruction`),demo:{title:Y(`tpl.breadcrumb.demo.title`),items:[{type:`breadcrumb`,items:[Y(`tpl.breadcrumb.demo.workspace`),`dsh-genui`,`src`,`client`]},{type:`file-tree`,items:[{name:`src`,type:`dir`,children:[{name:`client`,type:`dir`,children:[{name:`panel.tsx`},{name:`templates.ts`}]},{name:`index.tsx`}]},{name:`tests`,type:`dir`,children:[{name:`templates.spec.ts`}]}]}]}}]}let fv=`@changfenhuang/dsh-genui/TemplateDrawer.module.css`;if(typeof document<`u`&&document.querySelector(`style[data-plugin-css=`+JSON.stringify(fv)+`]`)===null){let e=document.createElement(`style`);e.dataset.plugin=`@changfenhuang/dsh-genui`,e.dataset.pluginCss=fv,e.textContent=`.fEkRPW_wrap{flex-direction:column;gap:12px;min-height:0;padding:12px 14px;display:flex;overflow:auto}.fEkRPW_achievements{flex-direction:column;gap:8px;min-height:0;display:flex;overflow:auto}.fEkRPW_cats{flex-wrap:wrap;gap:8px;display:flex}.fEkRPW_cat{border:1px solid var(--dsw-alias-border-l1,#ffffff1f);color:var(--dsw-alias-label-secondary,var(--dsl-g-font-muted-fallback,#fff9));cursor:pointer;background:0 0;border-radius:999px;padding:4px 12px;font-size:12px;line-height:1.5}.fEkRPW_cat:hover{background:var(--dsw-alias-fill-hover,#ffffff0f)}.fEkRPW_catActive{border-color:var(--dsw-alias-state-business-primary,#4f8ef7);color:var(--dsw-alias-state-business-primary,#4f8ef7);background:color-mix(in srgb, var(--dsw-alias-state-business-primary,#4f8ef7) 14%, transparent)}.fEkRPW_list{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;display:grid}.fEkRPW_card{border:1px solid var(--dsw-alias-border-l1,#ffffff1f);border-radius:var(--dsl-g-radius-surface,12px);background:var(--dsw-alias-bg-layer-2,#ffffff0a);color:var(--dsw-alias-label-primary);text-align:left;cursor:pointer;flex-direction:column;gap:4px;padding:10px 12px;display:flex}.fEkRPW_card:hover{border-color:var(--dsw-alias-border-l2,#fff3)}.fEkRPW_cardActive{border-color:var(--dsw-alias-state-business-primary,#4f8ef7)}.fEkRPW_cardName{font-size:13px;font-weight:600;line-height:1.5}.fEkRPW_cardMeta{color:var(--dsw-alias-label-tertiary,#ffffff73);font-size:11px}.fEkRPW_cardDesc{color:var(--dsw-alias-label-secondary,#fff9);font-size:12px;line-height:1.5}.fEkRPW_detail{border-top:1px solid var(--dsw-alias-border-l1,#ffffff1f);flex-direction:column;gap:8px;padding-top:12px;display:flex}.fEkRPW_toolbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.fEkRPW_toolbarTitle{min-width:0;color:var(--dsw-alias-label-primary);flex:1;font-size:13px;font-weight:600}.fEkRPW_try,.fEkRPW_copy{border-radius:var(--dsl-g-radius-control,8px);cursor:pointer;border:1px solid #0000;padding:5px 12px;font-size:12px;line-height:1.5}.fEkRPW_try{border-color:var(--dsw-alias-state-business-primary,#4f8ef7);color:var(--dsw-alias-state-business-primary,#4f8ef7);background:color-mix(in srgb, var(--dsw-alias-state-business-primary,#4f8ef7) 14%, transparent)}.fEkRPW_try:hover{background:color-mix(in srgb, var(--dsw-alias-state-business-primary,#4f8ef7) 22%, transparent)}.fEkRPW_copy{border-color:var(--dsw-alias-border-l1,#ffffff1f);color:var(--dsw-alias-label-secondary,#fff9);background:0 0}.fEkRPW_preview{border:1px solid var(--dsw-alias-border-l1,#ffffff1f);border-radius:var(--dsl-g-radius-surface,12px);background:var(--dsw-alias-bg-layer-1,#00000014);min-height:0;padding:12px;overflow:auto}`,document.head.appendChild(e)}var pv={achievements:`fEkRPW_achievements`,card:`fEkRPW_card`,cardActive:`fEkRPW_cardActive`,cardDesc:`fEkRPW_cardDesc`,cardMeta:`fEkRPW_cardMeta`,cardName:`fEkRPW_cardName`,cat:`fEkRPW_cat`,catActive:`fEkRPW_catActive`,cats:`fEkRPW_cats`,copy:`fEkRPW_copy`,detail:`fEkRPW_detail`,list:`fEkRPW_list`,preview:`fEkRPW_preview`,toolbar:`fEkRPW_toolbar`,toolbarTitle:`fEkRPW_toolbarTitle`,try:`fEkRPW_try`,wrap:`fEkRPW_wrap`};let mv=[`all`,...lv];function hv(e){return navigator.clipboard===void 0?new Promise((t,n)=>{try{let n=document.createElement(`textarea`);n.value=e,n.style.position=`fixed`,n.style.opacity=`0`,document.body.appendChild(n),n.select(),document.execCommand(`copy`),n.remove(),t()}catch(e){n(e instanceof Error?e:Error(String(e)))}}):navigator.clipboard.writeText(e)}function gv({onUse:e,tab:t}){let n=Po(),r=Fo(),[i,a]=(0,m.useState)(`all`),[o,s]=(0,m.useState)(null),[c,l]=(0,m.useState)(!1),u=(0,m.useRef)(0),d=(0,m.useSyncExternalStore)(Ns,()=>js()),f=(0,m.useMemo)(()=>ps(d.state,d.unlocked),[d,r]),p=(0,m.useMemo)(()=>{let e=dv();return i===`all`?[...e]:e.filter(e=>e.category===i)},[i,r]),h=async e=>{try{await hv(e),l(!0),window.clearTimeout(u.current),u.current=window.setTimeout(()=>l(!1),1500)}catch{}};return(0,g.jsx)(`div`,{className:pv.wrap,"data-genui-templates":t===`templates`?void 0:`achievements`,children:t===`achievements`?(0,g.jsx)(`div`,{className:pv.achievements,"data-genui-achievements":!0,children:(0,g.jsx)(Jo,{label:n(`tpl.boundary.achievements`),children:(0,g.jsx)(wu,{spec:f,stateKey:rs(`genui-achievements`,JSON.stringify(f))})})}):(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(`div`,{className:pv.cats,role:`tablist`,"aria-label":n(`tpl.categories.aria`),children:mv.map(e=>(0,g.jsx)(`button`,{type:`button`,role:`tab`,"aria-selected":i===e,className:`${pv.cat}${i===e?` ${pv.catActive}`:``}`,onClick:()=>{a(e),s(null)},children:n(uv(e))},e))}),(0,g.jsx)(`div`,{className:pv.list,children:p.map(e=>(0,g.jsxs)(`button`,{type:`button`,className:`${pv.card}${o?.id===e.id?` ${pv.cardActive}`:``}`,onClick:()=>s(t=>t?.id===e.id?null:e),children:[(0,g.jsx)(`span`,{className:pv.cardName,children:e.name}),(0,g.jsx)(`span`,{className:pv.cardMeta,children:n(uv(e.category))}),(0,g.jsx)(`span`,{className:pv.cardDesc,children:e.description})]},e.id))}),o!==null&&(0,g.jsxs)(`div`,{className:pv.detail,"data-genui-template-preview":!0,children:[(0,g.jsxs)(`div`,{className:pv.toolbar,children:[(0,g.jsx)(`span`,{className:pv.toolbarTitle,children:o.name}),(0,g.jsx)(`button`,{type:`button`,className:pv.try,onClick:()=>e(o.instruction),children:n(`tpl.try`)}),(0,g.jsx)(`button`,{type:`button`,className:pv.copy,onClick:()=>void h(o.instruction),children:n(c?`tpl.copied`:`tpl.copy`)})]}),(0,g.jsx)(`div`,{className:pv.preview,children:(0,g.jsx)(Jo,{label:n(`tpl.boundary.preview`),children:(0,g.jsx)(wu,{spec:o.demo,stateKey:rs(`genui-tpl`,o.id)})})})]})]})})}let _v=`dsh.genui.panel-hint`;function vv({sessionId:e,sendGenuiAction:t,insertTemplate:n}){let r=Po(),i=(0,m.useSyncExternalStore)(Ip,()=>Fp(e)),a=(0,m.useSyncExternalStore)(Up,()=>Hp(e)),[o,s]=(0,m.useState)(!0),[c,l]=(0,m.useState)(null),[u,d]=(0,m.useState)(!1),f=(0,m.useRef)(null),p=(0,m.useRef)(null),[h,_]=(0,m.useState)(null),[v,y]=(0,m.useState)(null),b=(0,m.useRef)(0),S=i!==null&&i.items.length>0,[C,T]=(0,m.useState)(()=>{try{return S&&localStorage.getItem(_v)!==`1`}catch{return S}});(0,m.useEffect)(()=>{if(!C)return;let e=window.setTimeout(()=>{try{localStorage.setItem(_v,`1`)}catch{}T(!1)},6e3);return()=>window.clearTimeout(e)},[C]),(0,m.useEffect)(()=>{S&&Os()},[S]),(0,m.useEffect)(()=>{a>0&&s(!1)},[a]),(0,m.useEffect)(()=>()=>{Pp(e)},[e]),(0,m.useEffect)(()=>{if(u)return()=>{f.current=null}},[u]),(0,m.useEffect)(()=>()=>window.clearTimeout(b.current),[]);let E=(0,m.useCallback)(e=>{e.preventDefault();let t=e.currentTarget,n=c??360;f.current={y:e.clientY,height:n},d(!0);try{t.setPointerCapture(e.pointerId)}catch{}let r=e=>{let t=f.current;if(t===null)return;let n=Math.min(600,Math.max(120,t.height+(t.y-e.clientY)));l(n)},i=()=>{f.current=null,d(!1),t.removeEventListener(`pointermove`,r),t.removeEventListener(`pointerup`,i),t.removeEventListener(`pointercancel`,i)};t.addEventListener(`pointermove`,r),t.addEventListener(`pointerup`,i),t.addEventListener(`pointercancel`,i)},[c]);if(!S)return null;let ee=e=>{y(e),window.clearTimeout(b.current),b.current=window.setTimeout(()=>y(null),2500)};return(0,g.jsxs)(`div`,{className:w.panel,"data-genui-panel":!0,children:[!o&&(0,g.jsx)(`div`,{role:`separator`,"aria-orientation":`horizontal`,"aria-label":r(`panel.resize.aria`),className:`${w.panelResizeHandle}${u?` ${w.panelResizeHandleActive}`:``}`,onPointerDown:E}),(0,g.jsxs)(`div`,{className:w.panelHeader,children:[(0,g.jsxs)(`button`,{type:`button`,className:w.panelToggle,"aria-expanded":!o,onClick:()=>s(e=>!e),children:[(0,g.jsx)(`span`,{className:w.panelBadge,children:r(`panel.badge`)}),(0,g.jsx)(`span`,{className:w.panelTitle,children:i?.title??r(h===null?`panel.title.default`:`panel.title.explore`)}),(0,g.jsx)(`span`,{className:w.panelChevron,"aria-hidden":!0,children:(0,g.jsx)(`svg`,{width:`14`,height:`14`,viewBox:`0 0 16 16`,fill:`none`,"aria-hidden":`true`,children:(0,g.jsx)(`path`,{d:o?`M12 10L8.70711 6.70711C8.31658 6.31658 7.68342 6.31658 7.29289 6.70711L4 10`:`M4 6L7.29289 9.29289C7.68342 9.68342 8.31658 9.68342 8.70711 9.29289L12 6`,stroke:`currentColor`})})})]}),(0,g.jsx)(`button`,{type:`button`,className:`${w.panelTpl}${h===`templates`?` ${w.panelTplActive}`:``}`,"aria-label":r(`panel.templates.aria`),title:r(`panel.templates.title`),onClick:()=>{s(!1),_(e=>e===`templates`?null:`templates`)},children:r(`panel.templates`)}),(0,g.jsx)(`button`,{type:`button`,className:`${w.panelTpl}${h===`achievements`?` ${w.panelTplActive}`:``}`,"aria-label":r(`panel.achievements.aria`),title:r(`panel.achievements.title`),onClick:()=>{s(!1),_(e=>e===`achievements`?null:`achievements`)},children:r(`panel.achievements`)}),(0,g.jsx)(`button`,{type:`button`,className:w.panelClose,"aria-label":r(`panel.close.aria`),title:r(`panel.close.aria`),onClick:()=>jp(e,null),children:(0,g.jsx)(`span`,{"aria-hidden":!0,children:`✕`})})]}),C&&h===null&&(0,g.jsx)(`div`,{className:w.panelHint,role:`status`,children:r(`panel.hint`)}),!o&&(0,g.jsx)(`div`,{ref:p,className:w.panelBody,"data-genui-panel-body":!0,style:c===null?void 0:{height:c},children:h===null?i===null?null:(0,g.jsx)(x.Provider,{value:t,children:(0,g.jsx)(Jo,{label:r(`panel.boundary`),children:(0,g.jsx)(gp,{spec:i,stateKey:rs(e,JSON.stringify(i))})})}):(0,g.jsx)(gv,{tab:h,onUse:e=>{As(),n(e),ee(r(`panel.flash.inserted`))}})}),v!==null&&(0,g.jsx)(`div`,{className:w.panelFlash,role:`status`,children:v})]})}function yv({toolName:e,block:t,sessionId:n}){let r=`meta`in t?t.meta:void 0,i=(0,m.useMemo)(()=>r===void 0?null:Tf(r),[r]);return(0,m.useEffect)(()=>{i!==null&&i.items.length>0&&Op(n,{sourceId:JSON.stringify([`render_ui`,t.callId]),order:[`seq`in t&&typeof t.seq==`number`?t.seq:0,-1,0],mode:`replace`,spec:i})},[n,i,t]),i===null||i.items.length===0?(0,g.jsxs)(`div`,{className:w.toolFallback,"data-genui-tool":!0,children:[(0,g.jsx)(`span`,{className:w.toolFallbackTitle,children:e}),(0,g.jsx)(`span`,{className:w.toolFallbackMeta,children:t.callId})]}):(0,g.jsx)(`div`,{className:w.tool,"data-genui-tool":!0,children:(0,g.jsx)(Jo,{label:`工具卡片`,children:(0,g.jsx)(gp,{spec:i,stateKey:is(n,t.callId)})})})}let bv=0;function xv(){let e=Po(),[,t]=(0,m.useSyncExternalStore)(Ns,()=>``),[n,r]=(0,m.useState)([]),i=(0,m.useRef)(new Map);return(0,m.useEffect)(()=>{let e=Ms();if(e.length===0)return;let t=e.map(e=>({key:++bv,ach:e}));r(e=>[...e,...t]);for(let e of t){let t=window.setTimeout(()=>{r(t=>t.filter(t=>t.key!==e.key)),i.current.delete(e.key)},3600);i.current.set(e.key,t)}},[t]),(0,m.useEffect)(()=>()=>{for(let e of i.current.values())window.clearTimeout(e)},[]),n.length===0?null:(0,m.createElement)(`div`,{className:w.achToasts,"data-genui-achievement-toasts":!0},n.map(t=>(0,m.createElement)(`div`,{key:t.key,className:w.achToast},(0,m.createElement)(`span`,{className:w.achToastBadge,"aria-hidden":!0},`🏆`),(0,m.createElement)(`div`,{className:w.achToastBody},(0,m.createElement)(`div`,{className:w.achToastName},e(`ach.toast.unlocked`,{name:t.ach.name})),(0,m.createElement)(`div`,{className:w.achToastDesc},t.ach.description)))))}function Sv(){if(typeof document>`u`)return()=>{};let e=document.createElement(`div`);e.dataset.dshGenuiAchievements=`1`,document.body.appendChild(e);let t=(0,h.createRoot)(e);return t.render((0,m.createElement)(xv)),()=>{t.unmount(),e.remove()}}Uc();function Cv(){if(!(typeof document>`u`))for(let e of[`mermaid.js`,`three.js`]){if(document.head.querySelector(`link[rel="prefetch"][href="${Lc(e)}"]`)!==null)continue;let t=document.createElement(`link`);t.rel=`prefetch`,t.as=`script`,t.href=Lc(e),document.head.appendChild(t)}}function wv(e,t){let n=e.sessions.scope(t),r=n?.get(`conversation`);return{sessionId:t,sendGenuiAction:(e,n)=>{if(r===void 0)return;let i=Object.keys(n).length===0?``:` 组件数据: ${JSON.stringify(n)}`;r.send(`[genui-action] ${e}。用户刚刚在面板中触发了动作 "${e}",请根据组件数据执行相应操作,只输出一个 panel:true 的 dsh-ui 围栏来更新面板,回复文本至多一行 10 字以内的确认(如"已刷新"),不要解释、不要普通围栏。${i}`).catch(n=>{console.warn(`[genui] 面板动作 "${e}" 发送失败(session ${t}):`,n instanceof Error?n.message:String(n))})},insertTemplate:e=>{(r?.input?.for?.(n))?.setDraft(e)}}}function Tv(e,t,n){let r=e.sessions.scope(t)?.get(`conversation`);r!==void 0&&r.send(`用户执行了 /panel 并请求:${n}。请只输出一个 panel:true 的 dsh-ui 围栏来更新会话面板,内容按请求定制;回复文本至多一行 10 字以内的确认(如"已更新"),不要解释、不要普通围栏。`).catch(e=>{console.warn(`[genui] /panel 指令发送失败(session ${t}):`,e instanceof Error?e.message:String(e))})}function Ev(e,t,n,r){let i=e.sessions.scope(t)?.get(`conversation`);if(i===void 0)return;let a=Object.keys(r).length===0?``:` 组件数据: ${JSON.stringify(r)}`;i.send(`[genui-action] ${n}。用户刚刚在界面中触发了动作 "${n}",请根据组件数据执行相应操作,并用 dsh-ui 输出更新后的界面。${a}`).catch(()=>{})}function Dv(){return globalThis.__DSH_GENUI_E2E__===!0}function Ov(e){let t=Io(e),n=p.registerFenceRenderer,r=typeof n==`function`&&!Dv();console.info(`[genui] client active; fence-channel=${r?`registry`:`dom`}`);let i=r?[t,n(`dsh-ui`,fm),n(`svg`,Ko)]:[t,iv(e,(t,n,r)=>Ev(e,t,n,r))];return Cv(),i.push(Sv()),i.push(e.slots.inject(`tool.call.toolview`,()=>e.slots.register({name:`tool.call.toolview`,key:`render_ui`},yv))),i.push(e.slots.inject(`conversation.input.dock`,()=>e.slots.register({name:`conversation.input.dock`,id:`genui-panel`,order:50,inject:t=>wv(e,t)},vv))),e.inject([`inputTriggers`],t=>{let n=t.get(`inputTriggers`);n!==void 0&&t.effect(()=>n.registerSource(cv((t,n)=>Tv(e,t,n))),`genui: /panel`)}),()=>{for(let e of i)e()}}return n.apply=Ov,n.inject=[`slots`,`sessions`],n.prefetchGenuiAssets=Cv,n.renderGenuiFence=fm,t.exports}});
404
+ `;break;case-2:o=t?` `:` `;break;case-1:if(!t&&i)continue;o=` `;break;default:o=String.fromCharCode(a)}i=a===-2,r.push(o)}return r.join(``)}function y_(e){let t={constructs:Wm([o_,...(e||{}).extensions||[]]),content:n(ch),defined:[],document:n(uh),flow:n(Qg),lazy:{},string:n(t_),text:n(n_)};return t;function n(e){return n;function n(n){return g_(t,e,n)}}}function b_(e){for(;!Kh(e););return e}let x_=/[\0\t\n\r]/g;function S_(){let e=1,t=``,n=!0,r;return i;function i(i,a,o){let s=[],c,l,u,d,f;for(i=t+(typeof i==`string`?i.toString():new TextDecoder(a||void 0).decode(i)),u=0,t=``,n&&=(i.charCodeAt(0)===65279&&u++,void 0);u<i.length;){if(x_.lastIndex=u,c=x_.exec(i),d=c&&c.index!==void 0?c.index:i.length,f=i.charCodeAt(d),!c){t=i.slice(u);break}if(f===10&&u===d&&r)s.push(-3),r=void 0;else switch(r&&=(s.push(-5),void 0),u<d&&(s.push(i.slice(u,d)),e+=d-u),f){case 0:s.push(65533),e++;break;case 9:for(l=Math.ceil(e/4)*4,s.push(-2);e++<l;)s.push(-1);break;case 10:s.push(-4),e=1;break;default:r=!0,e=1}u=d+1}return o&&(r&&s.push(-5),t&&s.push(t),s.push(null)),s}}let C_=/\\([!-/:-@[-`{-~])|&(#(?:\d{1,7}|x[\da-f]{1,6})|[\da-z]{1,31});/gi;function w_(e){return e.replace(C_,T_)}function T_(e,t,n){if(t)return t;if(n.charCodeAt(0)===35){let e=n.charCodeAt(1),t=e===120||e===88;return qm(n.slice(t?2:1),t?16:10)}return Bm(n)||e}function E_(e){return!e||typeof e!=`object`?``:`position`in e||`type`in e?O_(e.position):`start`in e||`end`in e?O_(e):`line`in e||`column`in e?D_(e):``}function D_(e){return k_(e&&e.line)+`:`+k_(e&&e.column)}function O_(e){return D_(e&&e.start)+`-`+D_(e&&e.end)}function k_(e){return e&&typeof e==`number`?e:1}let A_={}.hasOwnProperty;function j_(e,t,n){return t&&typeof t==`object`&&(n=t,t=void 0),M_(n)(b_(y_(n).document().write(S_()(e,t,!0))))}function M_(e){let t={transforms:[],canContainEols:[`emphasis`,`fragment`,`heading`,`paragraph`,`strong`],enter:{autolink:a(De),autolinkProtocol:T,autolinkEmail:T,atxHeading:a(Ce),blockQuote:a(ve),characterEscape:T,characterReference:T,codeFenced:a(ye),codeFencedFenceInfo:o,codeFencedFenceMeta:o,codeIndented:a(ye,o),codeText:a(be,o),codeTextData:T,data:T,codeFlowValue:T,definition:a(xe),definitionDestinationString:o,definitionLabelString:o,definitionTitleString:o,emphasis:a(Se),hardBreakEscape:a(we),hardBreakTrailing:a(we),htmlFlow:a(Te,o),htmlFlowData:T,htmlText:a(Te,o),htmlTextData:T,image:a(Ee),label:o,link:a(De),listItem:a(Oe),listItemValue:f,listOrdered:a(O,d),listUnordered:a(O),paragraph:a(ke),reference:de,referenceString:o,resourceDestinationString:o,resourceTitleString:o,setextHeading:a(Ce),strong:a(Ae),thematicBreak:a(Me)},exit:{atxHeading:c(),atxHeadingSequence:x,autolink:c(),autolinkEmail:_e,autolinkProtocol:ge,blockQuote:c(),characterEscapeValue:E,characterReferenceMarkerHexadecimal:pe,characterReferenceMarkerNumeric:pe,characterReferenceValue:me,characterReference:he,codeFenced:c(g),codeFencedFence:h,codeFencedFenceInfo:p,codeFencedFenceMeta:m,codeFlowValue:E,codeIndented:c(_),codeText:c(re),codeTextData:E,data:E,definition:c(),definitionDestinationString:b,definitionLabelString:v,definitionTitleString:y,emphasis:c(),hardBreakEscape:c(te),hardBreakTrailing:c(te),htmlFlow:c(ne),htmlFlowData:E,htmlText:c(D),htmlTextData:E,image:c(ae),label:se,labelText:oe,lineEnding:ee,link:c(ie),listItem:c(),listOrdered:c(),listUnordered:c(),paragraph:c(),referenceString:fe,resourceDestinationString:ce,resourceTitleString:le,resource:ue,setextHeading:c(w),setextHeadingLineSequence:C,setextHeadingText:S,strong:c(),thematicBreak:c()}};P_(t,(e||{}).mdastExtensions||[]);let n={};return r;function r(e){let r={type:`root`,children:[]},a={stack:[r],tokenStack:[],config:t,enter:s,exit:l,buffer:o,resume:u,data:n},c=[],d=-1;for(;++d<e.length;)(e[d][1].type===`listOrdered`||e[d][1].type===`listUnordered`)&&(e[d][0]===`enter`?c.push(d):d=i(e,c.pop(),d));for(d=-1;++d<e.length;){let n=t[e[d][0]];A_.call(n,e[d][1].type)&&n[e[d][1].type].call(Object.assign({sliceSerialize:e[d][2].sliceSerialize},a),e[d][1])}if(a.tokenStack.length>0){let e=a.tokenStack[a.tokenStack.length-1];(e[1]||I_).call(a,void 0,e[0])}for(r.position={start:N_(e.length>0?e[0][1].start:{line:1,column:1,offset:0}),end:N_(e.length>0?e[e.length-2][1].end:{line:1,column:1,offset:0})},d=-1;++d<t.transforms.length;)r=t.transforms[d](r)||r;return r}function i(e,t,n){let r=t-1,i=-1,a=!1,o,s,c,l;for(;++r<=n;){let t=e[r];switch(t[1].type){case`listUnordered`:case`listOrdered`:case`blockQuote`:t[0]===`enter`?i++:i--,l=void 0;break;case`lineEndingBlank`:t[0]===`enter`&&(o&&!l&&!i&&!c&&(c=r),l=void 0);break;case`linePrefix`:case`listItemValue`:case`listItemMarker`:case`listItemPrefix`:case`listItemPrefixWhitespace`:break;default:l=void 0}if(!i&&t[0]===`enter`&&t[1].type===`listItemPrefix`||i===-1&&t[0]===`exit`&&(t[1].type===`listUnordered`||t[1].type===`listOrdered`)){if(o){let i=r;for(s=void 0;i--;){let t=e[i];if(t[1].type===`lineEnding`||t[1].type===`lineEndingBlank`){if(t[0]===`exit`)continue;s&&(e[s][1].type=`lineEndingBlank`,a=!0),t[1].type=`lineEnding`,s=i}else if(t[1].type!==`linePrefix`&&t[1].type!==`blockQuotePrefix`&&t[1].type!==`blockQuotePrefixWhitespace`&&t[1].type!==`blockQuoteMarker`&&t[1].type!==`listItemIndent`)break}c&&(!s||c<s)&&(o._spread=!0),o.end=Object.assign({},s?e[s][1].start:t[1].end),e.splice(s||r,0,[`exit`,o,t[2]]),r++,n++}if(t[1].type===`listItemPrefix`){let i={type:`listItem`,_spread:!1,start:Object.assign({},t[1].start),end:void 0};o=i,e.splice(r,0,[`enter`,i,t[2]]),r++,n++,c=void 0,l=!0}}}return e[t][1]._spread=a,n}function a(e,t){return n;function n(n){s.call(this,e(n),n),t&&t.call(this,n)}}function o(){this.stack.push({type:`fragment`,children:[]})}function s(e,t,n){this.stack[this.stack.length-1].children.push(e),this.stack.push(e),this.tokenStack.push([t,n||void 0]),e.position={start:N_(t.start),end:void 0}}function c(e){return t;function t(t){e&&e.call(this,t),l.call(this,t)}}function l(e,t){let n=this.stack.pop(),r=this.tokenStack.pop();if(r)r[0].type!==e.type&&(t?t.call(this,e,r[0]):(r[1]||I_).call(this,e,r[0]));else throw Error("Cannot close `"+e.type+"` ("+E_({start:e.start,end:e.end})+`): it’s not open`);n.position.end=N_(e.end)}function u(){return Pm(this.stack.pop())}function d(){this.data.expectingFirstListItemValue=!0}function f(e){if(this.data.expectingFirstListItemValue){let t=this.stack[this.stack.length-2];t.start=Number.parseInt(this.sliceSerialize(e),10),this.data.expectingFirstListItemValue=void 0}}function p(){let e=this.resume(),t=this.stack[this.stack.length-1];t.lang=e}function m(){let e=this.resume(),t=this.stack[this.stack.length-1];t.meta=e}function h(){this.data.flowCodeInside||(this.buffer(),this.data.flowCodeInside=!0)}function g(){let e=this.resume(),t=this.stack[this.stack.length-1];t.value=e.replace(/^(\r?\n|\r)|(\r?\n|\r)$/g,``),this.data.flowCodeInside=void 0}function _(){let e=this.resume(),t=this.stack[this.stack.length-1];t.value=e.replace(/(\r?\n|\r)$/g,``)}function v(e){let t=this.resume(),n=this.stack[this.stack.length-1];n.label=t,n.identifier=Jm(this.sliceSerialize(e)).toLowerCase()}function y(){let e=this.resume(),t=this.stack[this.stack.length-1];t.title=e}function b(){let e=this.resume(),t=this.stack[this.stack.length-1];t.url=e}function x(e){let t=this.stack[this.stack.length-1];t.depth||=this.sliceSerialize(e).length}function S(){this.data.setextHeadingSlurpLineEnding=!0}function C(e){let t=this.stack[this.stack.length-1];t.depth=this.sliceSerialize(e).codePointAt(0)===61?1:2}function w(){this.data.setextHeadingSlurpLineEnding=void 0}function T(e){let t=this.stack[this.stack.length-1].children,n=t[t.length-1];(!n||n.type!==`text`)&&(n=je(),n.position={start:N_(e.start),end:void 0},t.push(n)),this.stack.push(n)}function E(e){let t=this.stack.pop();t.value+=this.sliceSerialize(e),t.position.end=N_(e.end)}function ee(e){let n=this.stack[this.stack.length-1];if(this.data.atHardBreak){let t=n.children[n.children.length-1];t.position.end=N_(e.end),this.data.atHardBreak=void 0;return}!this.data.setextHeadingSlurpLineEnding&&t.canContainEols.includes(n.type)&&(T.call(this,e),E.call(this,e))}function te(){this.data.atHardBreak=!0}function ne(){let e=this.resume(),t=this.stack[this.stack.length-1];t.value=e}function D(){let e=this.resume(),t=this.stack[this.stack.length-1];t.value=e}function re(){let e=this.resume(),t=this.stack[this.stack.length-1];t.value=e}function ie(){let e=this.stack[this.stack.length-1];if(this.data.inReference){let t=this.data.referenceType||`shortcut`;e.type+=`Reference`,e.referenceType=t,delete e.url,delete e.title}else delete e.identifier,delete e.label;this.data.referenceType=void 0}function ae(){let e=this.stack[this.stack.length-1];if(this.data.inReference){let t=this.data.referenceType||`shortcut`;e.type+=`Reference`,e.referenceType=t,delete e.url,delete e.title}else delete e.identifier,delete e.label;this.data.referenceType=void 0}function oe(e){let t=this.sliceSerialize(e),n=this.stack[this.stack.length-2];n.label=w_(t),n.identifier=Jm(t).toLowerCase()}function se(){let e=this.stack[this.stack.length-1],t=this.resume(),n=this.stack[this.stack.length-1];this.data.inReference=!0,n.type===`link`?n.children=e.children:n.alt=t}function ce(){let e=this.resume(),t=this.stack[this.stack.length-1];t.url=e}function le(){let e=this.resume(),t=this.stack[this.stack.length-1];t.title=e}function ue(){this.data.inReference=void 0}function de(){this.data.referenceType=`collapsed`}function fe(e){let t=this.resume(),n=this.stack[this.stack.length-1];n.label=t,n.identifier=Jm(this.sliceSerialize(e)).toLowerCase(),this.data.referenceType=`full`}function pe(e){this.data.characterReferenceType=e.type}function me(e){let t=this.sliceSerialize(e),n=this.data.characterReferenceType,r;n?(r=qm(t,n===`characterReferenceMarkerNumeric`?10:16),this.data.characterReferenceType=void 0):r=Bm(t);let i=this.stack[this.stack.length-1];i.value+=r}function he(e){let t=this.stack.pop();t.position.end=N_(e.end)}function ge(e){E.call(this,e);let t=this.stack[this.stack.length-1];t.url=this.sliceSerialize(e)}function _e(e){E.call(this,e);let t=this.stack[this.stack.length-1];t.url=`mailto:`+this.sliceSerialize(e)}function ve(){return{type:`blockquote`,children:[]}}function ye(){return{type:`code`,lang:null,meta:null,value:``}}function be(){return{type:`inlineCode`,value:``}}function xe(){return{type:`definition`,identifier:``,label:null,title:null,url:``}}function Se(){return{type:`emphasis`,children:[]}}function Ce(){return{type:`heading`,depth:0,children:[]}}function we(){return{type:`break`}}function Te(){return{type:`html`,value:``}}function Ee(){return{type:`image`,title:null,url:``,alt:null}}function De(){return{type:`link`,title:null,url:``,children:[]}}function O(e){return{type:`list`,ordered:e.type===`listOrdered`,start:null,spread:e._spread,children:[]}}function Oe(e){return{type:`listItem`,spread:e._spread,checked:null,children:[]}}function ke(){return{type:`paragraph`,children:[]}}function Ae(){return{type:`strong`,children:[]}}function je(){return{type:`text`,value:``}}function Me(){return{type:`thematicBreak`}}}function N_(e){return{line:e.line,column:e.column,offset:e.offset}}function P_(e,t){let n=-1;for(;++n<t.length;){let r=t[n];Array.isArray(r)?P_(e,r):F_(e,r)}}function F_(e,t){let n;for(n in t)if(A_.call(t,n))switch(n){case`canContainEols`:{let r=t[n];r&&e[n].push(...r);break}case`transforms`:{let r=t[n];r&&e[n].push(...r);break}case`enter`:case`exit`:{let r=t[n];r&&Object.assign(e[n],r);break}}}function I_(e,t){throw Error(e?"Cannot close `"+e.type+"` ("+E_({start:e.start,end:e.end})+"): a different token (`"+t.type+"`, "+E_({start:t.start,end:t.end})+`) is open`:"Cannot close document, a token (`"+t.type+"`, "+E_({start:t.start,end:t.end})+`) is still open`)}function L_(e){let t=[],n=r=>{if(r.type===`code`){let n=r.position?.start.offset,i=n===void 0?-1:e.indexOf(`
405
+ `,n);t.push({lang:r.lang??null,value:r.value,openingLineComplete:i>=0})}for(let e of r.children??[])n(e)};return n(j_(e)),t}function R_(e){let t=[];for(let n of e)n.kind===`text`&&t.push(...L_(n.text));return t}function z_(e,t,n){let r=e?.nodes.get(t);if(r?.kind===`assistant-step`)return R_(r.data.blocks)[n]?.lang}let B_=`.md-code-block, .code-block, .code-block-small`,V_=`data-genui-rendered`,H_=`[data-streaming]`,U_=`genui-dom-fence`,W_=`genui-dom-fence-diagnostic`,G_=`p, ul, ol, dl, table, h1, h2, h3, h4, h5, h6, blockquote, hr, img, figure`;function K_(e){let t=e.querySelectorAll(`pre`);if(t.length>1)return!1;let n=t[0]??null;for(let t of e.querySelectorAll(G_))if(!(n!==null&&n.contains(t)))return!1;return!0}function q_(e){return(0,m.isValidElement)(e)&&e.type===m.Fragment}function J_(e){let t=e.trimStart();return t.length<8||!t.startsWith(`{`)?!1:/"(items|type|title|panel)"\s*:/.test(t)}function Y_(){return(0,g.jsxs)(`div`,{className:w.skeleton,role:`status`,"aria-label":`正在生成界面`,children:[(0,g.jsx)(`span`,{className:w.skeletonTitle}),(0,g.jsxs)(`span`,{className:w.skeletonBars,children:[(0,g.jsx)(`span`,{style:{width:`32%`}}),(0,g.jsx)(`span`,{style:{width:`52%`}}),(0,g.jsx)(`span`,{style:{width:`24%`}})]}),(0,g.jsx)(`span`,{className:w.skeletonBlock})]})}function X_(e){return e.nodeType===Node.TEXT_NODE}function Z_(e){if(e.tagName!==`SPAN`||e.childElementCount!==0)return null;let t=e.closest(`[data-chat-flow-kind]`)?.getAttribute(`data-chat-flow-kind`);if(t!=null&&t!==`assistant-step`)return null;let n=e.textContent?.trim()??``;return!n.startsWith(`<dsh-ui>`)||!n.endsWith(`</dsh-ui>`)?null:n.slice(8,-9).trim()}function Q_(e){let t=e.querySelector(`pre`);for(let n of e.querySelectorAll(`*`)){if(n.childElementCount!==0)continue;let r=n.textContent?.trim();if(r!==`dsh-ui`&&r!==`svg`||t!==null&&t.contains(n))continue;let i=n.closest(B_);if(i===null||i===e)return r}return null}let $_=new Set(`dsh-ui.svg.json.json5.yaml.yml.toml.ini.xml.html.css.scss.sass.less.markdown.md.text.txt.plain.plaintext.log.console.diff.patch.js.jsx.javascript.ts.tsx.typescript.python.py.bash.sh.shell.zsh.sql.graphql.gql.rust.go.golang.java.kotlin.kt.swift.scala.dart.c.h.cpp.c++.cxx.cs.csharp.php.ruby.rb.perl.lua.r.matlab.haskell.hs.elixir.ex.erlang.clojure.clj.groovy.objc.objective-c.dockerfile.docker.makefile.make.cmake.protobuf.proto`.split(`.`));function ev(e){let t=tv(e);return t!==``&&$_.has(t.toLowerCase())?t:null}function tv(e){let t=e.querySelector(`pre`);for(let n of e.querySelectorAll(`*`))if(n.childElementCount===0&&!(t!==null&&t.contains(n)))return n.textContent?.trim()??``;return``}function nv(e,t){let n=e.closest(pv);if(n===null||n.dataset.chatGroupPart===`reasoning`||ev(e)!==null||!e.querySelector(`[data-code-block-banner]`))return!1;let r=Yo(t),i=r===null?t:r.text,a;try{a=JSON.parse(i)}catch{let e=ts(i);if(e===null)return!1;try{a=JSON.parse(e)}catch{return!1}}return!tp(a).ok||uf(a).length>0?!1:JSON.stringify(nf(a).value)===JSON.stringify(a)}function rv(e){let t=Z_(e);if(t!==null)return t;let n=e.querySelector(`pre`);if(n===null)return``;let r=``;for(let e of n.childNodes)X_(e),r+=e.textContent??``;return r}function iv(e){return e.closest(H_)===null}function av(e,t=document){let n=e.parentElement;for(let e=0;n!==null&&n!==t&&e<4;e+=1,n=n.parentElement)if(Q_(n)!==null)return K_(n)?n:null;return null}function ov(e,t=document){let n=e.parentElement;for(let e=0;n!==null&&n!==t&&e<4;e+=1,n=n.parentElement)if(Q_(n)===`dsh-ui`&&!K_(n))return n;return null}function sv(e=document){let t=new Set,n=[];for(let r of e.querySelectorAll(B_))if((r.parentElement===null||r.parentElement.closest(B_)===null)&&r.closest(`.${U_}, .${W_}, [data-genui-svg-fence]`)===null&&!t.has(r)){if(!K_(r)){Q_(r)===`dsh-ui`&&uv(r);continue}n.push(r),t.add(r)}for(let r of e.querySelectorAll(`pre`)){if(r.closest(`${B_}, .${U_}, .${W_}, [data-genui-svg-fence]`)!==null)continue;let i=av(r,e);if(i===null){let t=ov(r,e);t!==null&&uv(t);continue}t.has(i)||(cv||(cv=!0,console.warn(`[dsh-genui] 围栏表面类名未被已知选择器命中(宿主 DOM 漂移),已按 label+pre 结构识别 dsh-ui 围栏`)),n.push(i),t.add(i))}for(let t of e.querySelectorAll(`span`))t.closest(`.${U_}, .${W_}, ${B_}, [data-chat-group-part="reasoning"], [data-tool], [data-sidebar-chat], [data-sidebar-right-session], [data-sidebar-right-panel], [data-panel-conversation], [data-plugin-panel]`)===null&&Z_(t)!==null&&n.push(t);return n.sort((e,t)=>e.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_FOLLOWING?-1:1)}let cv=!1,lv=new WeakSet;function uv(e){if(lv.has(e))return;lv.add(e);let t=e.querySelectorAll(`pre`),n=[...e.querySelectorAll(G_)].filter(e=>!e.closest(`pre`)).map(e=>e.tagName.toLowerCase());console.warn(`[dsh-genui] 跳过带 dsh-ui 标签但疑似消息容器的节点:pre=${t.length}, outside-code=${[...new Set(n)].join(`,`)||`none`};保留原文,防止隐藏整条消息(issue #19)`)}let dv=h.createRoot,fv=`[data-chat-flow-key], [data-chat-flow-kind]`,pv=`[data-chat-flow-kind="assistant-step"]`;function mv(e){return e.closest(`[data-chat-anchor-key]`)??e.closest(fv)??e}function hv(e,t,n,r=t=>_v(e,t)){if(!t.matches(pv)||t.getAttribute(`data-chat-anchor-key`)===null){let e=t.getAttribute(`data-chat-anchor-key`)===null?document:t,i=0;for(let t of sv(e)){if(t.closest(H_)!==null)continue;let e=Z_(t)===null?ev(t)??r(t):`dsh-ui`;if(!(e!==`dsh-ui`&&!(e===void 0&&nv(t,rv(t))))&&(i+=1,t===n))return i}return i+1}let i=0;for(let e of sv(t)){if(e.closest(H_)!==null||e.closest(pv)!==t||e.closest(`[data-chat-group-part="reasoning"]`)!==null)continue;let a=Z_(e)===null?ev(e)??r(e):`dsh-ui`;if(!(a!==`dsh-ui`&&!(a===void 0&&nv(e,rv(e))))&&(i+=1,e===n))return i}return i+1}function gv(e){return[...e.querySelectorAll(B_)].filter(t=>t.parentElement?.closest(B_)!==null||t.closest(`.${U_}, .${W_}, [data-genui], [data-genui-svg-fence]`)!==null||t.closest(`[data-chat-group-part="reasoning"], [data-tool], [data-sidebar-chat], [data-sidebar-right-session], [data-sidebar-right-panel], [data-panel-conversation], [data-plugin-panel]`)!==null||t.closest(pv)!==e?!1:K_(t)&&t.querySelector(`pre`)!==null)}function _v(e,t){let n=t.closest(`${pv}[data-chat-node-key]`);if(n===null||n.dataset.chatGroupPart===`reasoning`)return;let r=n.dataset.chatNodeKey,i=yv(n,t),a=bv(e);if(!r||i<0||a===void 0)return;let o=Sv(e,a)?.getSnapshot();return z_(o,r,i)}function vv(e){let t=new WeakMap,n=new Map,r=new Map,i,a,o=!1;return{beginSweep(){n=new Map,r=new Map,i=void 0,a=void 0,o=!1},get(s){if(n.has(s))return n.get(s);let c=s.closest(`${pv}[data-chat-node-key]`);if(c===null||c.dataset.chatGroupPart===`reasoning`)return;let l=c.dataset.chatNodeKey,u=bv(e);if(!l||u===void 0)return;let d=t.get(s);if(d?.sessionId===u&&d.nodeKey===l)return n.set(s,d.language),d.language;(!o||i!==u)&&(i=u,a=Sv(e,u)?.getSnapshot(),o=!0);let f=a?.nodes.get(l);if(f?.kind!==`assistant-step`)return;let p=f,m=r.get(l);m===void 0&&(m=R_(p.data.blocks),r.set(l,m));let h=yv(c,s);if(h<0)return;let g=m[h],_=g?.lang;return g!==void 0&&g.openingLineComplete&&t.set(s,{sessionId:u,nodeKey:l,language:g.lang}),n.set(s,_),_}}}function yv(e,t){return gv(e).indexOf(t)}function bv(e){return Mm(e.sessions.list.getSnapshot())}function xv(e){if(typeof e.get==`function`)return e.get(`uiConversation`,!1)}function Sv(e,t){try{let n=xv(e)?.binding(t).target(`chat`);return n===void 0?void 0:{getSnapshot:()=>{try{return n.getSnapshot()}catch{return}},subscribe:e=>{try{return n.subscribe(e)}catch{return}}}}catch{return}}function Cv(e){let t=e.getAttribute(`data-chat-anchor-key`)??``,n=/assistant-step(\d+):(\d+)$/.exec(t);if(n!==null){let e=Number(n[1]),t=Number(n[2]);if(Number.isFinite(e)&&Number.isFinite(t))return e*1e3+t}let r=document.querySelectorAll(`[data-chat-anchor-key], ${fv}`);for(let t=0;t<r.length;t+=1)if(r[t]===e)return t;return 0}function wv(e,t){if(typeof document>`u`)return()=>{};cv=!1,lv=new WeakSet;let n=new Map,r=new Map,i=!1,a=null,o,s,c=vv(e),l=()=>{try{return Mm(e.sessions.list.getSnapshot())}catch{return}};function u(t){t!==o&&(s?.(),s=void 0,o=t),t!==void 0&&s===void 0&&(s=Sv(e,t)?.subscribe(w))}function d(t,n,r){r&&t.getAttribute(`data-chat-anchor-key`)===null&&v(n,`no [data-chat-anchor-key] ancestor for a dsh-ui fence (host render path without row anchor — e.g. Safari); using fallback identity dom:unknown:N`);let i=hv(e,t,n,c.get),a=`dom:${t.getAttribute(`data-chat-anchor-key`)??`unknown`}:${i}`,o=l();return{key:a,context:{...o===void 0?{}:{sessionId:o},...r?{source:{id:a,order:[Cv(t),0,i]}}:{}}}}function f(e){let t=n.get(e);t!==void 0&&(n.delete(e),t.root.unmount(),t.container.remove(),e.style.display=``,e.removeAttribute(V_),p(e))}function p(e){let t=r.get(e);if(t!==void 0){r.delete(e);try{t.root.unmount()}catch{}t.container.remove()}}function m(e,t){if(wm(t,{settled:!0})===null){p(e);return}let n=r.get(e);if(n!==void 0){if((n.container.parentElement!==e.parentElement||n.container.nextElementSibling!==e)&&e.before(n.container),n.raw===t)return;p(e)}let i=document.createElement(`div`);i.className=W_,e.before(i);let a;try{a=dv(i),a.render((0,g.jsx)(Tm,{raw:t,settled:!0}))}catch(t){i.remove(),v(e,`failed to mount the dsh-ui diagnostic (${t instanceof Error?t.message:String(t)}); keeping the stock code block visible`);return}r.set(e,{container:i,root:a,raw:t})}function h(e,t){let n=r.get(e);n===void 0||n.container.childElementCount>0||(p(e),m(e,t))}let _=new WeakSet;function v(e,t){_.has(e)||(_.add(e),console.warn(`[dsh-genui] ${t}`))}function y(e,n,r){let i=l();if(i===void 0){v(e,`cannot resolve the viewed session; action "${n}" was not sent`);return}t(i,n,r)}function b(e){if(e.hasAttribute(V_))return;let t=mv(e),r=iv(e),i=Z_(e)===null?ev(e):`dsh-ui`,a=i===null?c.get(e):void 0,o=i??a,s=rv(e),l=o===void 0&&r&&nv(e,s);if(o!==`dsh-ui`&&o!==`svg`&&!l||!r&&o!==`dsh-ui`)return;if(s.trim()===``){r&&v(e,`settled ${o??`dsh-ui`} fence has an empty body; keeping the code block`);return}let{key:u,context:f}=d(t,e,r),h=o===`svg`?`svg`:`dsh-ui`,_=h===`svg`?Ko(s,u):Am(s,u,f),b=_;if(b===null){if(r||!J_(s)){r&&(m(e,s),v(e,`settled dsh-ui fence body does not parse; keeping the code block`));return}b=(0,g.jsx)(Y_,{})}p(e);let S=document.createElement(`div`);S.className=U_,e.after(S);let C;try{C=dv(S)}catch(t){S.remove(),v(e,`failed to create a React root for a dsh-ui fence (${t instanceof Error?t.message:String(t)}); keeping the stock code block visible`);return}try{C.render((0,g.jsx)(x.Provider,{value:(t,n)=>y(e,t,n),children:b}))}catch(t){try{C.unmount()}catch{}S.remove(),v(e,`failed to mount a dsh-ui fence (${t instanceof Error?t.message:String(t)}); keeping the stock code block visible`);return}e.style.display=`none`,e.setAttribute(V_,``),n.set(e,{root:C,container:S,block:e,lastRaw:s,lastSettled:r,language:h,lastNode:b,skeleton:_===null})}function S(){for(let[e,t]of Array.from(r)){if(!e.isConnected){p(e);continue}m(e,t.raw)}for(let e of Array.from(n.values())){let t=e.block;if(!t.isConnected){e.container.isConnected&&f(t);continue}if((e.container.parentElement!==t.parentElement||e.container.previousElementSibling!==t)&&t.after(e.container),!e.container.isConnected){t.style.display=``,t.removeAttribute(V_),n.delete(t);try{e.root.unmount()}catch{}e.container.remove(),v(t,`dsh-ui replacement container could not be re-attached after a host re-render; restoring the stock code block`);continue}t.style.display!==`none`&&(t.style.display=`none`),t.hasAttribute(V_)||t.setAttribute(V_,``)}}function C(){if(!i){c.beginSweep(),u(l());for(let[e,t]of n){if(!e.isConnected){f(e);continue}let r=rv(e),i=iv(e),a=Z_(e)===null?ev(e):`dsh-ui`,o=a===null?c.get(e):void 0,s=a??o,l=s===`dsh-ui`||s===void 0&&i&&nv(e,r);if(t.language===`svg`&&s!==`svg`){f(e);continue}if(t.language===`dsh-ui`&&!l){f(e);continue}let u=!q_(t.lastNode)&&t.container.childElementCount===0;if(t.lastRaw!==r||t.lastSettled!==i||u){let{key:a,context:o}=d(mv(e),e,i),s=t.language===`svg`?Ko(r,a):Am(r,a,o);if(s===null){if(t.skeleton&&!i){t.lastRaw=r,t.lastSettled=i;continue}f(e);continue}if(u){try{t.root.unmount()}catch{}let r=document.createElement(`div`);r.className=U_,t.container.remove(),e.after(r);try{let n=dv(r);n.render((0,g.jsx)(x.Provider,{value:(t,n)=>y(e,t,n),children:s})),t.root=n,t.container=r}catch(t){r.remove(),e.style.display=``,e.removeAttribute(V_),n.delete(e),v(e,`failed to rebuild a wiped dsh-ui mount (${t instanceof Error?t.message:String(t)}); restoring the stock code block`);continue}}else try{t.root.render((0,g.jsx)(x.Provider,{value:(t,n)=>y(e,t,n),children:s}))}catch(t){f(e),v(e,`failed to re-render a dsh-ui fence (${t instanceof Error?t.message:String(t)}); restoring the stock code block`);continue}t.lastRaw=r,t.lastSettled=i,t.lastNode=s,t.skeleton=!1}}S();for(let[e,t]of Array.from(r)){if(!e.isConnected||e.hasAttribute(V_)){p(e);continue}if(iv(e)){let t=Z_(e)===null?ev(e):`dsh-ui`,n=t===null?c.get(e):void 0;if((t??n)!==`dsh-ui`){p(e);continue}}h(e,t.raw)}for(let e of sv())b(e)}}let w=()=>{i||a!==null||(a=requestAnimationFrame(()=>{a=null,!i&&C()}))},T=typeof e.sessions.list.subscribe==`function`?e.sessions.list.subscribe(w):void 0,E=new MutationObserver(e=>{for(let t of[...e].reverse()){if(t.removedNodes.length===0||t.target.childNodes.length>0)continue;let e=t.target,i=[...n.values()].find(t=>t.container===e);if(i!==void 0){if(!i.block.isConnected||q_(i.lastNode))continue;i.container.append(...t.removedNodes);continue}let a=[...r.values()].find(t=>t.container===e);a!==void 0&&a.container.append(...t.removedNodes)}S(),w()});E.observe(document.body,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[`data-streaming`],characterData:!0});let ee=window.setInterval(C,1e3);return C(),()=>{i=!0,E.disconnect(),T?.(),s?.(),s=void 0,window.clearInterval(ee),a!==null&&(cancelAnimationFrame(a),a=null);for(let e of Array.from(n.keys()))f(e);for(let e of Array.from(r.keys()))p(e)}}function Tv(){return{title:Y(`panel.title.default`),items:[{type:`text`,size:`h3`,content:Y(`panel.default.heading`)},{type:`text`,size:`muted`,content:Y(`panel.default.subtitle`)},{type:`grid`,cols:4,items:[{type:`stat`,label:Y(`panel.default.stat.components`),value:`38`},{type:`stat`,label:Y(`panel.default.stat.single`),value:`12`},{type:`stat`,label:Y(`panel.default.stat.composite`),value:`8`},{type:`stat`,label:Y(`panel.default.stat.advanced`),value:`18`}]},{type:`list`,items:[{title:Y(`panel.default.group.single`),desc:`text button input select checkbox link badge stat progress divider avatar spacer`},{title:Y(`panel.default.group.composite`),desc:`row col grid card list table chart tabs`},{title:Y(`panel.default.group.data`),desc:`plot callout steps keyvalue diff json code`},{title:Y(`panel.default.group.interactive`),desc:`radio switch textarea accordion copy`},{title:Y(`panel.default.group.advanced`),desc:`mermaid scene3d timeline file-tree breadcrumb`},{title:Y(`panel.default.group.teaching`),desc:`quiz`}]},{type:`callout`,tone:`info`,title:Y(`panel.default.callout.title`),content:Y(`panel.default.callout.body`)}]}}function Ev(e,t){let n=t.trim().toLowerCase();if(n===`clear`||n===`off`||n===`close`){tm(e,null);return}tm(e,Tv()),dm(e)}function Dv(e,t){return{name:`panel`,token:`/panel`,hint:Y(`panel.cmd.hint`),submit:async(n,r)=>{let i=n.trim();return i===``?Ev(e,``):/^(clear|off|close)$/i.test(i)?Ev(e,i):(Ev(e,``),t(e,i)),{kind:`success`}}}}function Ov(e){return{trigger:`/`,name:`genui`,order:60,candidates:async(e,t)=>{let n=t.query.toLowerCase();return n!==``&&!`panel`.startsWith(n)?[]:[{name:`panel`,description:Y(`panel.cmd.description`),hint:`/panel`}]},onPick(t){return{claim:Dv(t.session.sessionId,e)}},matchEnter:async(t,n,r)=>{if(/^\/panel(?:\s|$)/.test(n.trim()))return{claim:Dv(t.sessionId,e)}}}}let kv=[`dashboard`,`data`,`flow`,`chart`,`interactive`,`quiz`,`advanced`];function Av(e){return`tpl.category.${e}`}function jv(){return[{id:`tpl-dashboard`,category:`dashboard`,name:Y(`tpl.dashboard.name`),description:Y(`tpl.dashboard.desc`),instruction:Y(`tpl.dashboard.instruction`),demo:{title:Y(`tpl.dashboard.demo.title`),gap:12,items:[{type:`card`,title:Y(`tpl.dashboard.demo.metrics`),items:[{type:`grid`,cols:2,items:[{type:`stat`,label:Y(`tpl.dashboard.demo.done`),value:`12 / 18`,delta:`+4`},{type:`stat`,label:Y(`tpl.dashboard.demo.blocked`),value:`2`,delta:`-1`},{type:`stat`,label:Y(`tpl.dashboard.demo.duration`),value:`3.2h`,delta:`-8%`},{type:`stat`,label:Y(`tpl.dashboard.demo.coverage`),value:`86%`}]}]},{type:`card`,title:Y(`tpl.dashboard.demo.progress`),items:[{type:`progress`,label:Y(`tpl.dashboard.demo.milestone`),value:68,valueLabel:`68 / 100`}]},{type:`card`,title:Y(`tpl.dashboard.demo.todo`),items:[{type:`list`,items:[Y(`tpl.dashboard.demo.todo1`),Y(`tpl.dashboard.demo.todo2`),Y(`tpl.dashboard.demo.todo3`)]}]}]}},{id:`tpl-compare`,category:`data`,name:Y(`tpl.compare.name`),description:Y(`tpl.compare.desc`),instruction:Y(`tpl.compare.instruction`),demo:{title:Y(`tpl.compare.demo.title`),items:[{type:`callout`,tone:`info`,title:Y(`tpl.compare.demo.conclusion`),content:Y(`tpl.compare.demo.body`)},{type:`table`,columns:[Y(`tpl.compare.demo.dimension`),Y(`tpl.compare.demo.optionA`),Y(`tpl.compare.demo.optionB`),Y(`tpl.compare.demo.optionC`)],rows:[[Y(`tpl.compare.demo.cost`),Y(`tpl.compare.demo.high`),Y(`tpl.compare.demo.medium`),Y(`tpl.compare.demo.low`)],[Y(`tpl.compare.demo.complexity`),Y(`tpl.compare.demo.high`),Y(`tpl.compare.demo.medium`),Y(`tpl.compare.demo.low`)],[Y(`tpl.compare.demo.risk`),Y(`tpl.compare.demo.low`),Y(`tpl.compare.demo.low`),Y(`tpl.compare.demo.high`)],[Y(`tpl.compare.demo.payoff`),Y(`tpl.compare.demo.large`),Y(`tpl.compare.demo.medium`),Y(`tpl.compare.demo.small`)]]}]}},{id:`tpl-steps`,category:`flow`,name:Y(`tpl.steps.name`),description:Y(`tpl.steps.desc`),instruction:Y(`tpl.steps.instruction`),demo:{title:Y(`tpl.steps.demo.title`),items:[{type:`badge`,label:Y(`tpl.steps.demo.badge`),tone:`accent`},{type:`steps`,current:2,steps:[{title:Y(`tpl.steps.demo.s1`),desc:Y(`tpl.steps.demo.s1desc`)},{title:Y(`tpl.steps.demo.s2`),desc:Y(`tpl.steps.demo.s2desc`)},{title:Y(`tpl.steps.demo.s3`),desc:Y(`tpl.steps.demo.s3desc`)},{title:Y(`tpl.steps.demo.s4`),desc:Y(`tpl.steps.demo.s4desc`)},{title:Y(`tpl.steps.demo.s5`),desc:Y(`tpl.steps.demo.s5desc`)}]}]}},{id:`tpl-quiz`,category:`quiz`,name:Y(`tpl.quiz.name`),description:Y(`tpl.quiz.desc`),instruction:Y(`tpl.quiz.instruction`),demo:{title:Y(`tpl.quiz.demo.title`),gap:10,items:[{type:`text`,content:Y(`tpl.quiz.demo.hint`),size:`muted`},{type:`quiz`,id:`q-dsh`,question:Y(`tpl.quiz.demo.q1`),options:[{label:Y(`tpl.quiz.demo.q1a`)},{label:Y(`tpl.quiz.demo.q1b`),correct:!0,feedback:Y(`tpl.quiz.demo.q1bfx`)},{label:Y(`tpl.quiz.demo.q1c`)}],explanation:Y(`tpl.quiz.demo.q1exp`)},{type:`quiz`,id:`q-fence`,question:Y(`tpl.quiz.demo.q2`),options:[{label:Y(`tpl.quiz.demo.q2a`)},{label:Y(`tpl.quiz.demo.q2b`),correct:!0,feedback:Y(`tpl.quiz.demo.q2bfx`)},{label:Y(`tpl.quiz.demo.q2c`)}],explanation:Y(`tpl.quiz.demo.q2exp`)},{type:`quiz`,id:`q-panel`,question:Y(`tpl.quiz.demo.q3`),options:[{label:Y(`tpl.quiz.demo.q3a`)},{label:Y(`tpl.quiz.demo.q3b`),correct:!0,feedback:Y(`tpl.quiz.demo.q3bfx`)},{label:Y(`tpl.quiz.demo.q3c`)}]}]}},{id:`tpl-stats`,category:`data`,name:Y(`tpl.stats.name`),description:Y(`tpl.stats.desc`),instruction:Y(`tpl.stats.instruction`),demo:{title:Y(`tpl.stats.demo.title`),items:[{type:`keyvalue`,pairs:[{key:Y(`tpl.stats.demo.done`),value:`12`},{key:Y(`tpl.stats.demo.late`),value:`1`},{key:Y(`tpl.stats.demo.risk`),value:Y(`tpl.stats.demo.riskValue`)}]},{type:`progress`,label:Y(`tpl.stats.demo.planned`),value:75,valueLabel:`75%`},{type:`progress`,label:Y(`tpl.stats.demo.actual`),value:82,valueLabel:`82%`},{type:`timeline`,items:[{title:Y(`tpl.stats.demo.mon`),desc:Y(`tpl.stats.demo.monDesc`),time:`08-25`},{title:Y(`tpl.stats.demo.wed`),desc:Y(`tpl.stats.demo.wedDesc`),time:`08-27`},{title:Y(`tpl.stats.demo.fri`),desc:Y(`tpl.stats.demo.friDesc`),time:`08-29`}]}]}},{id:`tpl-chart`,category:`chart`,name:Y(`tpl.chart.name`),description:Y(`tpl.chart.desc`),instruction:Y(`tpl.chart.instruction`),demo:{title:Y(`tpl.chart.demo.title`),items:[{type:`text`,content:Y(`tpl.chart.demo.conclusion`)},{type:`chart`,kind:`line`,data:[{label:`W21`,value:8},{label:`W22`,value:10},{label:`W23`,value:9},{label:`W24`,value:12},{label:`W25`,value:15},{label:`W26`,value:18}]}]}},{id:`tpl-tabs`,category:`interactive`,name:Y(`tpl.tabs.name`),description:Y(`tpl.tabs.desc`),instruction:Y(`tpl.tabs.instruction`),demo:{title:Y(`tpl.tabs.demo.title`),items:[{type:`tabs`,tabs:[{label:Y(`tpl.tabs.demo.overview`),items:[{type:`text`,content:Y(`tpl.tabs.demo.overviewBody`)}]},{label:Y(`tpl.tabs.demo.details`),items:[{type:`list`,items:[Y(`tpl.tabs.demo.d1`),Y(`tpl.tabs.demo.d2`),Y(`tpl.tabs.demo.d3`)]}]},{label:`FAQ`,items:[{type:`text`,content:Y(`tpl.tabs.demo.faqBody`)}]}]}]}},{id:`tpl-checklist`,category:`flow`,name:Y(`tpl.checklist.name`),description:Y(`tpl.checklist.desc`),instruction:Y(`tpl.checklist.instruction`),demo:{title:Y(`tpl.checklist.demo.title`),items:[{type:`badge`,label:Y(`tpl.checklist.demo.badge`),tone:`warn`},{type:`list`,items:[{type:`checkbox`,label:Y(`tpl.checklist.demo.c1`)},{type:`checkbox`,label:Y(`tpl.checklist.demo.c2`)},{type:`checkbox`,label:Y(`tpl.checklist.demo.c3`)},{type:`checkbox`,label:Y(`tpl.checklist.demo.c4`)}]}]}},{id:`tpl-accordion`,category:`advanced`,name:Y(`tpl.accordion.name`),description:Y(`tpl.accordion.desc`),instruction:Y(`tpl.accordion.instruction`),demo:{title:Y(`tpl.accordion.demo.title`),items:[{type:`accordion`,items:[{title:Y(`tpl.accordion.demo.q1`),items:[{type:`text`,content:Y(`tpl.accordion.demo.a1`)}]},{title:Y(`tpl.accordion.demo.q2`),items:[{type:`text`,content:Y(`tpl.accordion.demo.a2`)}]},{title:Y(`tpl.accordion.demo.q3`),items:[{type:`text`,content:Y(`tpl.accordion.demo.a3`)}]}]}]}},{id:`tpl-diagram`,category:`advanced`,name:Y(`tpl.diagram.name`),description:Y(`tpl.diagram.desc`),instruction:Y(`tpl.diagram.instruction`),demo:{title:Y(`tpl.diagram.demo.title`),items:[{type:`diagram`,kind:`flowchart`,title:Y(`tpl.diagram.demo.caption`),nodes:[{id:`a`,label:Y(`tpl.diagram.demo.model`),x:20,y:20,w:120,h:48},{id:`b`,label:Y(`tpl.diagram.demo.plugin`),x:20,y:120,w:120,h:48},{id:`c`,label:Y(`tpl.diagram.demo.host`),x:200,y:70,w:120,h:48}],edges:[{from:`a`,to:`b`},{from:`b`,to:`c`}]}]}},{id:`tpl-3d`,category:`advanced`,name:Y(`tpl.3d.name`),description:Y(`tpl.3d.desc`),instruction:Y(`tpl.3d.instruction`),demo:{title:Y(`tpl.3d.demo.title`),items:[{type:`text`,content:Y(`tpl.3d.demo.note`),size:`muted`},{type:`scene3d`,title:Y(`tpl.3d.demo.scene`),meshes:[{shape:`box`,size:1,color:`#4FC3F7`,position:[-1.2,0,0]},{shape:`sphere`,size:.6,color:`#81C784`,position:[1.2,0,0]}]}]}},{id:`tpl-breadcrumb`,category:`data`,name:Y(`tpl.breadcrumb.name`),description:Y(`tpl.breadcrumb.desc`),instruction:Y(`tpl.breadcrumb.instruction`),demo:{title:Y(`tpl.breadcrumb.demo.title`),items:[{type:`breadcrumb`,items:[Y(`tpl.breadcrumb.demo.workspace`),`dsh-genui`,`src`,`client`]},{type:`file-tree`,items:[{name:`src`,type:`dir`,children:[{name:`client`,type:`dir`,children:[{name:`panel.tsx`},{name:`templates.ts`}]},{name:`index.tsx`}]},{name:`tests`,type:`dir`,children:[{name:`templates.spec.ts`}]}]}]}}]}let Mv=`@changfenhuang/dsh-genui/TemplateDrawer.module.css`;if(typeof document<`u`&&document.querySelector(`style[data-plugin-css=`+JSON.stringify(Mv)+`]`)===null){let e=document.createElement(`style`);e.dataset.plugin=`@changfenhuang/dsh-genui`,e.dataset.pluginCss=Mv,e.textContent=`.fEkRPW_wrap{flex-direction:column;gap:12px;min-height:0;padding:12px 14px;display:flex;overflow:auto}.fEkRPW_achievements{flex-direction:column;gap:8px;min-height:0;display:flex;overflow:auto}.fEkRPW_cats{flex-wrap:wrap;gap:8px;display:flex}.fEkRPW_cat{border:1px solid var(--dsw-alias-border-l1,#ffffff1f);color:var(--dsw-alias-label-secondary,var(--dsl-g-font-muted-fallback,#fff9));cursor:pointer;background:0 0;border-radius:999px;padding:4px 12px;font-size:12px;line-height:1.5}.fEkRPW_cat:hover{background:var(--dsw-alias-fill-hover,#ffffff0f)}.fEkRPW_catActive{border-color:var(--dsw-alias-state-business-primary,#4f8ef7);color:var(--dsw-alias-state-business-primary,#4f8ef7);background:color-mix(in srgb, var(--dsw-alias-state-business-primary,#4f8ef7) 14%, transparent)}.fEkRPW_list{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;display:grid}.fEkRPW_card{border:1px solid var(--dsw-alias-border-l1,#ffffff1f);border-radius:var(--dsl-g-radius-surface,12px);background:var(--dsw-alias-bg-layer-2,#ffffff0a);color:var(--dsw-alias-label-primary);text-align:left;cursor:pointer;flex-direction:column;gap:4px;padding:10px 12px;display:flex}.fEkRPW_card:hover{border-color:var(--dsw-alias-border-l2,#fff3)}.fEkRPW_cardActive{border-color:var(--dsw-alias-state-business-primary,#4f8ef7)}.fEkRPW_cardName{font-size:13px;font-weight:600;line-height:1.5}.fEkRPW_cardMeta{color:var(--dsw-alias-label-tertiary,#ffffff73);font-size:11px}.fEkRPW_cardDesc{color:var(--dsw-alias-label-secondary,#fff9);font-size:12px;line-height:1.5}.fEkRPW_detail{border-top:1px solid var(--dsw-alias-border-l1,#ffffff1f);flex-direction:column;gap:8px;padding-top:12px;display:flex}.fEkRPW_toolbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.fEkRPW_toolbarTitle{min-width:0;color:var(--dsw-alias-label-primary);flex:1;font-size:13px;font-weight:600}.fEkRPW_try,.fEkRPW_copy{border-radius:var(--dsl-g-radius-control,8px);cursor:pointer;border:1px solid #0000;padding:5px 12px;font-size:12px;line-height:1.5}.fEkRPW_try{border-color:var(--dsw-alias-state-business-primary,#4f8ef7);color:var(--dsw-alias-state-business-primary,#4f8ef7);background:color-mix(in srgb, var(--dsw-alias-state-business-primary,#4f8ef7) 14%, transparent)}.fEkRPW_try:hover{background:color-mix(in srgb, var(--dsw-alias-state-business-primary,#4f8ef7) 22%, transparent)}.fEkRPW_copy{border-color:var(--dsw-alias-border-l1,#ffffff1f);color:var(--dsw-alias-label-secondary,#fff9);background:0 0}.fEkRPW_preview{border:1px solid var(--dsw-alias-border-l1,#ffffff1f);border-radius:var(--dsl-g-radius-surface,12px);background:var(--dsw-alias-bg-layer-1,#00000014);min-height:0;padding:12px;overflow:auto}`,document.head.appendChild(e)}var Nv={achievements:`fEkRPW_achievements`,card:`fEkRPW_card`,cardActive:`fEkRPW_cardActive`,cardDesc:`fEkRPW_cardDesc`,cardMeta:`fEkRPW_cardMeta`,cardName:`fEkRPW_cardName`,cat:`fEkRPW_cat`,catActive:`fEkRPW_catActive`,cats:`fEkRPW_cats`,copy:`fEkRPW_copy`,detail:`fEkRPW_detail`,list:`fEkRPW_list`,preview:`fEkRPW_preview`,toolbar:`fEkRPW_toolbar`,toolbarTitle:`fEkRPW_toolbarTitle`,try:`fEkRPW_try`,wrap:`fEkRPW_wrap`};let Pv=[`all`,...kv];function Fv(e){return navigator.clipboard===void 0?new Promise((t,n)=>{try{let n=document.createElement(`textarea`);n.value=e,n.style.position=`fixed`,n.style.opacity=`0`,document.body.appendChild(n),n.select(),document.execCommand(`copy`),n.remove(),t()}catch(e){n(e instanceof Error?e:Error(String(e)))}}):navigator.clipboard.writeText(e)}function Iv({onUse:e,tab:t}){let n=Po(),r=Fo(),[i,a]=(0,m.useState)(`all`),[o,s]=(0,m.useState)(null),[c,l]=(0,m.useState)(!1),u=(0,m.useRef)(0),d=(0,m.useSyncExternalStore)(Ws,()=>Hs()),f=(0,m.useMemo)(()=>ws(d.state,d.unlocked),[d,r]),p=(0,m.useMemo)(()=>{let e=jv();return i===`all`?[...e]:e.filter(e=>e.category===i)},[i,r]),h=async e=>{try{await Fv(e),l(!0),window.clearTimeout(u.current),u.current=window.setTimeout(()=>l(!1),1500)}catch{}};return(0,g.jsx)(`div`,{className:Nv.wrap,"data-genui-templates":t===`templates`?void 0:`achievements`,children:t===`achievements`?(0,g.jsx)(`div`,{className:Nv.achievements,"data-genui-achievements":!0,children:(0,g.jsx)(as,{label:n(`tpl.boundary.achievements`),children:(0,g.jsx)($u,{spec:f,stateKey:ms(`genui-achievements`,JSON.stringify(f))})})}):(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(`div`,{className:Nv.cats,role:`tablist`,"aria-label":n(`tpl.categories.aria`),children:Pv.map(e=>(0,g.jsx)(`button`,{type:`button`,role:`tab`,"aria-selected":i===e,className:`${Nv.cat}${i===e?` ${Nv.catActive}`:``}`,onClick:()=>{a(e),s(null)},children:n(Av(e))},e))}),(0,g.jsx)(`div`,{className:Nv.list,children:p.map(e=>(0,g.jsxs)(`button`,{type:`button`,className:`${Nv.card}${o?.id===e.id?` ${Nv.cardActive}`:``}`,onClick:()=>s(t=>t?.id===e.id?null:e),children:[(0,g.jsx)(`span`,{className:Nv.cardName,children:e.name}),(0,g.jsx)(`span`,{className:Nv.cardMeta,children:n(Av(e.category))}),(0,g.jsx)(`span`,{className:Nv.cardDesc,children:e.description})]},e.id))}),o!==null&&(0,g.jsxs)(`div`,{className:Nv.detail,"data-genui-template-preview":!0,children:[(0,g.jsxs)(`div`,{className:Nv.toolbar,children:[(0,g.jsx)(`span`,{className:Nv.toolbarTitle,children:o.name}),(0,g.jsx)(`button`,{type:`button`,className:Nv.try,onClick:()=>e(o.instruction),children:n(`tpl.try`)}),(0,g.jsx)(`button`,{type:`button`,className:Nv.copy,onClick:()=>void h(o.instruction),children:n(c?`tpl.copied`:`tpl.copy`)})]}),(0,g.jsx)(`div`,{className:Nv.preview,children:(0,g.jsx)(as,{label:n(`tpl.boundary.preview`),children:(0,g.jsx)($u,{spec:o.demo,stateKey:ms(`genui-tpl`,o.id)})})})]})]})})}let Lv=`dsh.genui.panel-hint`;function Rv({sessionId:e,sendGenuiAction:t,insertTemplate:n}){let r=Po(),i=(0,m.useSyncExternalStore)(om,()=>am(e)),a=(0,m.useSyncExternalStore)(pm,()=>fm(e)),[o,s]=(0,m.useState)(!0),[c,l]=(0,m.useState)(null),[u,d]=(0,m.useState)(!1),f=(0,m.useRef)(null),p=(0,m.useRef)(null),[h,_]=(0,m.useState)(null),[v,y]=(0,m.useState)(null),b=(0,m.useRef)(0),S=i!==null&&i.items.length>0,[C,T]=(0,m.useState)(()=>{try{return S&&localStorage.getItem(Lv)!==`1`}catch{return S}});(0,m.useEffect)(()=>{if(!C)return;let e=window.setTimeout(()=>{try{localStorage.setItem(Lv,`1`)}catch{}T(!1)},6e3);return()=>window.clearTimeout(e)},[C]),(0,m.useEffect)(()=>{S&&zs()},[S]),(0,m.useEffect)(()=>{a>0&&s(!1)},[a]),(0,m.useEffect)(()=>()=>{im(e)},[e]),(0,m.useEffect)(()=>{if(u)return()=>{f.current=null}},[u]),(0,m.useEffect)(()=>()=>window.clearTimeout(b.current),[]);let E=(0,m.useCallback)(e=>{e.preventDefault();let t=e.currentTarget,n=c??360;f.current={y:e.clientY,height:n},d(!0);try{t.setPointerCapture(e.pointerId)}catch{}let r=e=>{let t=f.current;if(t===null)return;let n=Math.min(600,Math.max(120,t.height+(t.y-e.clientY)));l(n)},i=()=>{f.current=null,d(!1),t.removeEventListener(`pointermove`,r),t.removeEventListener(`pointerup`,i),t.removeEventListener(`pointercancel`,i)};t.addEventListener(`pointermove`,r),t.addEventListener(`pointerup`,i),t.addEventListener(`pointercancel`,i)},[c]);if(!S)return null;let ee=e=>{y(e),window.clearTimeout(b.current),b.current=window.setTimeout(()=>y(null),2500)};return(0,g.jsxs)(`div`,{className:w.panel,"data-genui-panel":!0,children:[!o&&(0,g.jsx)(`div`,{role:`separator`,"aria-orientation":`horizontal`,"aria-label":r(`panel.resize.aria`),className:`${w.panelResizeHandle}${u?` ${w.panelResizeHandleActive}`:``}`,onPointerDown:E}),(0,g.jsxs)(`div`,{className:w.panelHeader,children:[(0,g.jsxs)(`button`,{type:`button`,className:w.panelToggle,"aria-expanded":!o,onClick:()=>s(e=>!e),children:[(0,g.jsx)(`span`,{className:w.panelBadge,children:r(`panel.badge`)}),(0,g.jsx)(`span`,{className:w.panelTitle,children:i?.title??r(h===null?`panel.title.default`:`panel.title.explore`)}),(0,g.jsx)(`span`,{className:w.panelChevron,"aria-hidden":!0,children:(0,g.jsx)(`svg`,{width:`14`,height:`14`,viewBox:`0 0 16 16`,fill:`none`,"aria-hidden":`true`,children:(0,g.jsx)(`path`,{d:o?`M12 10L8.70711 6.70711C8.31658 6.31658 7.68342 6.31658 7.29289 6.70711L4 10`:`M4 6L7.29289 9.29289C7.68342 9.68342 8.31658 9.68342 8.70711 9.29289L12 6`,stroke:`currentColor`})})})]}),(0,g.jsx)(`button`,{type:`button`,className:`${w.panelTpl}${h===`templates`?` ${w.panelTplActive}`:``}`,"aria-label":r(`panel.templates.aria`),title:r(`panel.templates.title`),onClick:()=>{s(!1),_(e=>e===`templates`?null:`templates`)},children:r(`panel.templates`)}),(0,g.jsx)(`button`,{type:`button`,className:`${w.panelTpl}${h===`achievements`?` ${w.panelTplActive}`:``}`,"aria-label":r(`panel.achievements.aria`),title:r(`panel.achievements.title`),onClick:()=>{s(!1),_(e=>e===`achievements`?null:`achievements`)},children:r(`panel.achievements`)}),(0,g.jsx)(`button`,{type:`button`,className:w.panelClose,"aria-label":r(`panel.close.aria`),title:r(`panel.close.aria`),onClick:()=>tm(e,null),children:(0,g.jsx)(`span`,{"aria-hidden":!0,children:`✕`})})]}),C&&h===null&&(0,g.jsx)(`div`,{className:w.panelHint,role:`status`,children:r(`panel.hint`)}),!o&&(0,g.jsx)(`div`,{ref:p,className:w.panelBody,"data-genui-panel-body":!0,style:c===null?void 0:{height:c},children:h===null?i===null?null:(0,g.jsx)(x.Provider,{value:t,children:(0,g.jsx)(as,{label:r(`panel.boundary`),children:(0,g.jsx)(Bp,{spec:i,stateKey:ms(e,JSON.stringify(i))})})}):(0,g.jsx)(Iv,{tab:h,onUse:e=>{Vs(),n(e),ee(r(`panel.flash.inserted`))}})}),v!==null&&(0,g.jsx)(`div`,{className:w.panelFlash,role:`status`,children:v})]})}function zv({toolName:e,block:t,sessionId:n}){let r=`meta`in t?t.meta:void 0,i=(0,m.useMemo)(()=>r===void 0?null:Yf(r),[r]);return(0,m.useEffect)(()=>{i!==null&&i.items.length>0&&Qp(n,{sourceId:JSON.stringify([`render_ui`,t.callId]),order:[`seq`in t&&typeof t.seq==`number`?t.seq:0,-1,0],mode:`replace`,spec:i})},[n,i,t]),i===null||i.items.length===0?(0,g.jsxs)(`div`,{className:w.toolFallback,"data-genui-tool":!0,children:[(0,g.jsx)(`span`,{className:w.toolFallbackTitle,children:e}),(0,g.jsx)(`span`,{className:w.toolFallbackMeta,children:t.callId})]}):(0,g.jsx)(`div`,{className:w.tool,"data-genui-tool":!0,children:(0,g.jsx)(as,{label:`工具卡片`,children:(0,g.jsx)(Bp,{spec:i,stateKey:hs(n,t.callId)})})})}let Bv=0;function Vv(){let e=Po(),[,t]=(0,m.useSyncExternalStore)(Ws,()=>``),[n,r]=(0,m.useState)([]),i=(0,m.useRef)(new Map);return(0,m.useEffect)(()=>{let e=Us();if(e.length===0)return;let t=e.map(e=>({key:++Bv,ach:e}));r(e=>[...e,...t]);for(let e of t){let t=window.setTimeout(()=>{r(t=>t.filter(t=>t.key!==e.key)),i.current.delete(e.key)},3600);i.current.set(e.key,t)}},[t]),(0,m.useEffect)(()=>()=>{for(let e of i.current.values())window.clearTimeout(e)},[]),n.length===0?null:(0,m.createElement)(`div`,{className:w.achToasts,"data-genui-achievement-toasts":!0},n.map(t=>(0,m.createElement)(`div`,{key:t.key,className:w.achToast},(0,m.createElement)(`span`,{className:w.achToastBadge,"aria-hidden":!0},`🏆`),(0,m.createElement)(`div`,{className:w.achToastBody},(0,m.createElement)(`div`,{className:w.achToastName},e(`ach.toast.unlocked`,{name:t.ach.name})),(0,m.createElement)(`div`,{className:w.achToastDesc},t.ach.description)))))}function Hv(){if(typeof document>`u`)return()=>{};let e=document.createElement(`div`);e.dataset.dshGenuiAchievements=`1`,document.body.appendChild(e);let t=(0,h.createRoot)(e);return t.render((0,m.createElement)(Vv)),()=>{t.unmount(),e.remove()}}vl();function Uv(){if(!(typeof document>`u`))for(let e of[`mermaid.js`,`three.js`]){if(document.head.querySelector(`link[rel="prefetch"][href="${fl(e)}"]`)!==null)continue;let t=document.createElement(`link`);t.rel=`prefetch`,t.as=`script`,t.href=fl(e),document.head.appendChild(t)}}function Wv(e,t){let n=e.sessions.scope(t),r=n?.get(`conversation`);return{sessionId:t,sendGenuiAction:(e,n)=>{if(r===void 0)return;let i=Object.keys(n).length===0?``:` 组件数据: ${JSON.stringify(n)}`;r.send(`[genui-action] ${e}。用户刚刚在面板中触发了动作 "${e}",请根据组件数据执行相应操作,只输出一个 panel:true 的 dsh-ui 围栏来更新面板,回复文本至多一行 10 字以内的确认(如"已刷新"),不要解释、不要普通围栏。${i}`).catch(n=>{console.warn(`[genui] 面板动作 "${e}" 发送失败(session ${t}):`,n instanceof Error?n.message:String(n))})},insertTemplate:e=>{(r?.input?.for?.(n))?.setDraft(e)}}}function Gv(e,t,n){let r=e.sessions.scope(t)?.get(`conversation`);r!==void 0&&r.send(`用户执行了 /panel 并请求:${n}。请只输出一个 panel:true 的 dsh-ui 围栏来更新会话面板,内容按请求定制;回复文本至多一行 10 字以内的确认(如"已更新"),不要解释、不要普通围栏。`).catch(e=>{console.warn(`[genui] /panel 指令发送失败(session ${t}):`,e instanceof Error?e.message:String(e))})}function Kv(e,t,n,r){let i=e.sessions.scope(t)?.get(`conversation`);if(i===void 0)return;let a=Object.keys(r).length===0?``:` 组件数据: ${JSON.stringify(r)}`;i.send(`[genui-action] ${n}。用户刚刚在界面中触发了动作 "${n}",请根据组件数据执行相应操作,并用 dsh-ui 输出更新后的界面。${a}`).catch(()=>{})}function qv(){return globalThis.__DSH_GENUI_E2E__===!0}function Jv(e){let t=Io(e),n=p.registerFenceRenderer,r=typeof n==`function`&&!qv();console.info(`[genui] client active; fence-channel=${r?`registry`:`dom`}`);let i=r?[t,n(`dsh-ui`,jm),n(`svg`,Ko)]:[t,wv(e,(t,n,r)=>Kv(e,t,n,r))];return Uv(),i.push(Hv()),i.push(e.slots.inject(`tool.call.toolview`,()=>e.slots.register({name:`tool.call.toolview`,key:`render_ui`},zv))),i.push(e.slots.inject(`conversation.input.dock`,()=>e.slots.register({name:`conversation.input.dock`,id:`genui-panel`,order:50,inject:t=>Wv(e,t)},Rv))),e.inject([`inputTriggers`],t=>{let n=t.get(`inputTriggers`);n!==void 0&&t.effect(()=>n.registerSource(Ov((t,n)=>Gv(e,t,n))),`genui: /panel`)}),()=>{for(let e of i)e()}}return n.apply=Jv,n.inject=[`slots`,`sessions`],n.prefetchGenuiAssets=Uv,n.renderGenuiFence=jm,t.exports}});