@changfenhuang/dsh-genui 0.11.2 → 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.
@@ -291,9 +291,10 @@ l0,-`+(t+144)+`c-2,-159.3,-10,-310.7,-24,-454c-53.3,-528,-210,-949.7,
291
291
  |[ \r ]+
292
292
  ?)[ \r ]*`,wa=`[̀-ͯ]`,Ta=RegExp(wa+`+$`),Ea=`(`+ya+`+)|`+(Ca+`|`)+`([!-\\[\\]-‧‪-퟿豈-￿]`+(wa+`*`)+`|[\ud800-\udbff][\udc00-\udfff]`+(wa+`*`)+`|\\\\verb\\*([^]).*?\\4|\\\\verb([^*a-zA-Z]).*?\\5`+(`|`+Sa)+(`|`+xa+`)`),Da=class{constructor(e,t){this.input=void 0,this.settings=void 0,this.tokenRegex=void 0,this.catcodes=void 0,this.input=e,this.settings=t,this.tokenRegex=new RegExp(Ea,`g`),this.catcodes={"%":14,"~":13}}setCatcode(e,t){this.catcodes[e]=t}lex(){var e=this.input,t=this.tokenRegex.lastIndex;if(t===e.length)return new Oi(`EOF`,new Di(this,t,t));var n=this.tokenRegex.exec(e);if(n===null||n.index!==t)throw new p(`Unexpected character: '`+e[t]+`'`,new Oi(e[t],new Di(this,t,t+1)));var r=n[6]||n[3]||(n[2]?`\\ `:` `);if(this.catcodes[r]===14){var i=e.indexOf(`
293
293
  `,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 Oi(r,new Di(this,t,this.tokenRegex.lastIndex))}},Oa=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 p(`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}},ka=Ei;V(`\\noexpand`,function(e){var t=e.popToken();return e.isExpandable(t.text)&&(t.noexpand=!0,t.treatAsRelax=!0),{tokens:[t],numArgs:0}}),V(`\\expandafter`,function(e){var t=e.popToken();return e.expandOnce(!0),{tokens:[t],numArgs:0}}),V(`\\@firstoftwo`,function(e){return{tokens:e.consumeArgs(2)[0],numArgs:0}}),V(`\\@secondoftwo`,function(e){return{tokens:e.consumeArgs(2)[1],numArgs:0}}),V(`\\@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}}),V(`\\@ifstar`,`\\@ifnextchar *{\\@firstoftwo{#1}}`),V(`\\TextOrMath`,function(e){var t=e.consumeArgs(2);return e.mode===`text`?{tokens:t[0],numArgs:0}:{tokens:t[1],numArgs:0}});var Aa={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};V(`\\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 p("\\char` missing argument");else r=t.text.charCodeAt(0)}else n=10;if(n){if(r=Aa[t.text],r==null||r>=n)throw new p(`Invalid base-`+n+` digit `+t.text);for(var i;(i=Aa[e.future().text])!=null&&i<n;)r*=n,r+=i,e.popToken()}return`\\@char{`+r+`}`});var ja=(e,t,n,r)=>{var i=e.consumeArg().tokens;if(i.length!==1)throw new p(`\\newcommand's first argument must be a macro name`);var a=i[0].text,o=e.isDefined(a);if(o&&!t)throw new p(`\\newcommand{`+a+`} attempting to redefine `+(a+`; use \\renewcommand`));if(!o&&!n)throw new p(`\\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 p(`Invalid number of arguments: `+c);s=parseInt(c),i=e.consumeArg().tokens}return o&&r||e.macros.set(a,{tokens:i,numArgs:s}),``};V(`\\newcommand`,e=>ja(e,!1,!0,!1)),V(`\\renewcommand`,e=>ja(e,!0,!1,!1)),V(`\\providecommand`,e=>ja(e,!0,!0,!0)),V(`\\message`,e=>{var t=e.consumeArgs(1)[0];return console.log(t.reverse().map(e=>e.text).join(``)),``}),V(`\\errmessage`,e=>{var t=e.consumeArgs(1)[0];return console.error(t.reverse().map(e=>e.text).join(``)),``}),V(`\\show`,e=>{var t=e.popToken(),n=t.text;return console.log(t,e.macros.get(n),va[n],ft.math[n],ft.text[n]),``}),V(`\\bgroup`,`{`),V(`\\egroup`,`}`),V(`~`,`\\nobreakspace`),V(`\\lq`,"`"),V(`\\rq`,`'`),V(`\\aa`,`\\r a`),V(`\\AA`,`\\r A`),V(`\\textcopyright`,"\\html@mathml{\\textcircled{c}}{\\char`©}"),V(`\\copyright`,`\\TextOrMath{\\textcopyright}{\\text{\\textcopyright}}`),V(`\\textregistered`,"\\html@mathml{\\textcircled{\\scriptsize R}}{\\char`®}"),V(`ℬ`,`\\mathscr{B}`),V(`ℰ`,`\\mathscr{E}`),V(`ℱ`,`\\mathscr{F}`),V(`ℋ`,`\\mathscr{H}`),V(`ℐ`,`\\mathscr{I}`),V(`ℒ`,`\\mathscr{L}`),V(`ℳ`,`\\mathscr{M}`),V(`ℛ`,`\\mathscr{R}`),V(`ℭ`,`\\mathfrak{C}`),V(`ℌ`,`\\mathfrak{H}`),V(`ℨ`,`\\mathfrak{Z}`),V(`\\Bbbk`,`\\Bbb{k}`),V(`\\llap`,`\\mathllap{\\textrm{#1}}`),V(`\\rlap`,`\\mathrlap{\\textrm{#1}}`),V(`\\clap`,`\\mathclap{\\textrm{#1}}`),V(`\\mathstrut`,`\\vphantom{(}`),V(`\\underbar`,`\\underline{\\text{#1}}`),V(`\\not`,`\\html@mathml{\\mathrel{\\mathrlap\\@not}\\nobreak}{\\char"338}`),V(`\\neq`,"\\html@mathml{\\mathrel{\\not=}}{\\mathrel{\\char`≠}}"),V(`\\ne`,`\\neq`),V(`≠`,`\\neq`),V(`\\notin`,"\\html@mathml{\\mathrel{{\\in}\\mathllap{/\\mskip1mu}}}{\\mathrel{\\char`∉}}"),V(`∉`,`\\notin`),V(`≘`,"\\html@mathml{\\mathrel{=\\kern{-1em}\\raisebox{0.4em}{$\\scriptsize\\frown$}}}{\\mathrel{\\char`≘}}"),V(`≙`,"\\html@mathml{\\stackrel{\\tiny\\wedge}{=}}{\\mathrel{\\char`≘}}"),V(`≚`,"\\html@mathml{\\stackrel{\\tiny\\vee}{=}}{\\mathrel{\\char`≚}}"),V(`≛`,"\\html@mathml{\\stackrel{\\scriptsize\\star}{=}}{\\mathrel{\\char`≛}}"),V(`≝`,"\\html@mathml{\\stackrel{\\tiny\\mathrm{def}}{=}}{\\mathrel{\\char`≝}}"),V(`≞`,"\\html@mathml{\\stackrel{\\tiny\\mathrm{m}}{=}}{\\mathrel{\\char`≞}}"),V(`≟`,"\\html@mathml{\\stackrel{\\tiny?}{=}}{\\mathrel{\\char`≟}}"),V(`⟂`,`\\perp`),V(`‼`,`\\mathclose{!\\mkern-0.8mu!}`),V(`∌`,`\\notni`),V(`⌜`,`\\ulcorner`),V(`⌝`,`\\urcorner`),V(`⌞`,`\\llcorner`),V(`⌟`,`\\lrcorner`),V(`©`,`\\copyright`),V(`®`,`\\textregistered`),V(`\\ulcorner`,`\\html@mathml{\\@ulcorner}{\\mathop{\\char"231c}}`),V(`\\urcorner`,`\\html@mathml{\\@urcorner}{\\mathop{\\char"231d}}`),V(`\\llcorner`,`\\html@mathml{\\@llcorner}{\\mathop{\\char"231e}}`),V(`\\lrcorner`,`\\html@mathml{\\@lrcorner}{\\mathop{\\char"231f}}`),V(`\\vdots`,`{\\varvdots\\rule{0pt}{15pt}}`),V(`⋮`,`\\vdots`),V(`\\varGamma`,`\\mathit{\\Gamma}`),V(`\\varDelta`,`\\mathit{\\Delta}`),V(`\\varTheta`,`\\mathit{\\Theta}`),V(`\\varLambda`,`\\mathit{\\Lambda}`),V(`\\varXi`,`\\mathit{\\Xi}`),V(`\\varPi`,`\\mathit{\\Pi}`),V(`\\varSigma`,`\\mathit{\\Sigma}`),V(`\\varUpsilon`,`\\mathit{\\Upsilon}`),V(`\\varPhi`,`\\mathit{\\Phi}`),V(`\\varPsi`,`\\mathit{\\Psi}`),V(`\\varOmega`,`\\mathit{\\Omega}`),V(`\\substack`,`\\begin{subarray}{c}#1\\end{subarray}`),V(`\\colon`,`\\nobreak\\mskip2mu\\mathpunct{}\\mathchoice{\\mkern-3mu}{\\mkern-3mu}{}{}{:}\\mskip6mu\\relax`),V(`\\boxed`,`\\fbox{$\\displaystyle{#1}$}`),V(`\\iff`,`\\DOTSB\\;\\Longleftrightarrow\\;`),V(`\\implies`,`\\DOTSB\\;\\Longrightarrow\\;`),V(`\\impliedby`,`\\DOTSB\\;\\Longleftarrow\\;`),V(`\\dddot`,`{\\overset{\\raisebox{-0.1ex}{\\normalsize ...}}{#1}}`),V(`\\ddddot`,`{\\overset{\\raisebox{-0.1ex}{\\normalsize ....}}{#1}}`);var Ma={",":`\\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`},Na=new Set([`bin`,`rel`]);V(`\\dots`,function(e){var t=`\\dotso`,n=e.expandAfterFuture().text;return n in Ma?t=Ma[n]:(n.slice(0,4)===`\\not`||n in ft.math&&Na.has(ft.math[n].group))&&(t=`\\dotsb`),t});var Pa={")":!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};V(`\\dotso`,function(e){return e.future().text in Pa?`\\ldots\\,`:`\\ldots`}),V(`\\dotsc`,function(e){var t=e.future().text;return t in Pa&&t!==`,`?`\\ldots\\,`:`\\ldots`}),V(`\\cdots`,function(e){return e.future().text in Pa?`\\@cdots\\,`:`\\@cdots`}),V(`\\dotsb`,`\\cdots`),V(`\\dotsm`,`\\cdots`),V(`\\dotsi`,`\\!\\cdots`),V(`\\dotsx`,`\\ldots\\,`),V(`\\DOTSI`,`\\relax`),V(`\\DOTSB`,`\\relax`),V(`\\DOTSX`,`\\relax`),V(`\\tmspace`,`\\TextOrMath{\\kern#1#3}{\\mskip#1#2}\\relax`),V(`\\,`,`\\tmspace+{3mu}{.1667em}`),V(`\\thinspace`,`\\,`),V(`\\>`,`\\mskip{4mu}`),V(`\\:`,`\\tmspace+{4mu}{.2222em}`),V(`\\medspace`,`\\:`),V(`\\;`,`\\tmspace+{5mu}{.2777em}`),V(`\\thickspace`,`\\;`),V(`\\!`,`\\tmspace-{3mu}{.1667em}`),V(`\\negthinspace`,`\\!`),V(`\\negmedspace`,`\\tmspace-{4mu}{.2222em}`),V(`\\negthickspace`,`\\tmspace-{5mu}{.277em}`),V(`\\enspace`,`\\kern.5em `),V(`\\enskip`,`\\hskip.5em\\relax`),V(`\\quad`,`\\hskip1em\\relax`),V(`\\qquad`,`\\hskip2em\\relax`),V(`\\tag`,`\\@ifstar\\tag@literal\\tag@paren`),V(`\\tag@paren`,`\\tag@literal{({#1})}`),V(`\\tag@literal`,e=>{if(e.macros.get(`\\df@tag`))throw new p(`Multiple \\tag`);return`\\gdef\\df@tag{\\text{#1}}`}),V(`\\bmod`,`\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}\\mathbin{\\rm mod}\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}`),V(`\\pod`,`\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern8mu}{\\mkern8mu}{\\mkern8mu}(#1)`),V(`\\pmod`,`\\pod{{\\rm mod}\\mkern6mu#1}`),V(`\\mod`,`\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern12mu}{\\mkern12mu}{\\mkern12mu}{\\rm mod}\\,\\,#1`),V(`\\newline`,`\\\\\\relax`),V(`\\TeX`,`\\textrm{\\html@mathml{T\\kern-.1667em\\raisebox{-.5ex}{E}\\kern-.125emX}{TeX}}`);var Fa=E(at[`Main-Regular`][84][1]-.7*at[`Main-Regular`][65][1]);V(`\\LaTeX`,`\\textrm{\\html@mathml{`+(`L\\kern-.36em\\raisebox{`+Fa+`}{\\scriptstyle A}`)+`\\kern-.15em\\TeX}{LaTeX}}`),V(`\\KaTeX`,`\\textrm{\\html@mathml{`+(`K\\kern-.17em\\raisebox{`+Fa+`}{\\scriptstyle A}`)+`\\kern-.15em\\TeX}{KaTeX}}`),V(`\\hspace`,`\\@ifstar\\@hspacer\\@hspace`),V(`\\@hspace`,`\\hskip #1\\relax`),V(`\\@hspacer`,`\\rule{0pt}{0pt}\\hskip #1\\relax`),V(`\\ordinarycolon`,`:`),V(`\\vcentcolon`,`\\mathrel{\\mathop\\ordinarycolon}`),V(`\\dblcolon`,`\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-.9mu}\\vcentcolon}}{\\mathop{\\char"2237}}`),V(`\\coloneqq`,`\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2254}}`),V(`\\Coloneqq`,`\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2237\\char"3d}}`),V(`\\coloneq`,`\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"3a\\char"2212}}`),V(`\\Coloneq`,`\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"2237\\char"2212}}`),V(`\\eqqcolon`,`\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2255}}`),V(`\\Eqqcolon`,`\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"3d\\char"2237}}`),V(`\\eqcolon`,`\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2239}}`),V(`\\Eqcolon`,`\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"2212\\char"2237}}`),V(`\\colonapprox`,`\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"3a\\char"2248}}`),V(`\\Colonapprox`,`\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"2237\\char"2248}}`),V(`\\colonsim`,`\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"3a\\char"223c}}`),V(`\\Colonsim`,`\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"2237\\char"223c}}`),V(`∷`,`\\dblcolon`),V(`∹`,`\\eqcolon`),V(`≔`,`\\coloneqq`),V(`≕`,`\\eqqcolon`),V(`⩴`,`\\Coloneqq`),V(`\\ratio`,`\\vcentcolon`),V(`\\coloncolon`,`\\dblcolon`),V(`\\colonequals`,`\\coloneqq`),V(`\\coloncolonequals`,`\\Coloneqq`),V(`\\equalscolon`,`\\eqqcolon`),V(`\\equalscoloncolon`,`\\Eqqcolon`),V(`\\colonminus`,`\\coloneq`),V(`\\coloncolonminus`,`\\Coloneq`),V(`\\minuscolon`,`\\eqcolon`),V(`\\minuscoloncolon`,`\\Eqcolon`),V(`\\coloncolonapprox`,`\\Colonapprox`),V(`\\coloncolonsim`,`\\Colonsim`),V(`\\simcolon`,`\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\vcentcolon}`),V(`\\simcoloncolon`,`\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\dblcolon}`),V(`\\approxcolon`,`\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\vcentcolon}`),V(`\\approxcoloncolon`,`\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\dblcolon}`),V(`\\notni`,"\\html@mathml{\\not\\ni}{\\mathrel{\\char`∌}}"),V(`\\limsup`,`\\DOTSB\\operatorname*{lim\\,sup}`),V(`\\liminf`,`\\DOTSB\\operatorname*{lim\\,inf}`),V(`\\injlim`,`\\DOTSB\\operatorname*{inj\\,lim}`),V(`\\projlim`,`\\DOTSB\\operatorname*{proj\\,lim}`),V(`\\varlimsup`,`\\DOTSB\\operatorname*{\\overline{lim}}`),V(`\\varliminf`,`\\DOTSB\\operatorname*{\\underline{lim}}`),V(`\\varinjlim`,`\\DOTSB\\operatorname*{\\underrightarrow{lim}}`),V(`\\varprojlim`,`\\DOTSB\\operatorname*{\\underleftarrow{lim}}`),V(`\\gvertneqq`,`\\html@mathml{\\@gvertneqq}{≩}`),V(`\\lvertneqq`,`\\html@mathml{\\@lvertneqq}{≨}`),V(`\\ngeqq`,`\\html@mathml{\\@ngeqq}{≱}`),V(`\\ngeqslant`,`\\html@mathml{\\@ngeqslant}{≱}`),V(`\\nleqq`,`\\html@mathml{\\@nleqq}{≰}`),V(`\\nleqslant`,`\\html@mathml{\\@nleqslant}{≰}`),V(`\\nshortmid`,`\\html@mathml{\\@nshortmid}{∤}`),V(`\\nshortparallel`,`\\html@mathml{\\@nshortparallel}{∦}`),V(`\\nsubseteqq`,`\\html@mathml{\\@nsubseteqq}{⊈}`),V(`\\nsupseteqq`,`\\html@mathml{\\@nsupseteqq}{⊉}`),V(`\\varsubsetneq`,`\\html@mathml{\\@varsubsetneq}{⊊}`),V(`\\varsubsetneqq`,`\\html@mathml{\\@varsubsetneqq}{⫋}`),V(`\\varsupsetneq`,`\\html@mathml{\\@varsupsetneq}{⊋}`),V(`\\varsupsetneqq`,`\\html@mathml{\\@varsupsetneqq}{⫌}`),V(`\\imath`,`\\html@mathml{\\@imath}{ı}`),V(`\\jmath`,`\\html@mathml{\\@jmath}{ȷ}`),V(`\\llbracket`,"\\html@mathml{\\mathopen{[\\mkern-3.2mu[}}{\\mathopen{\\char`⟦}}"),V(`\\rrbracket`,"\\html@mathml{\\mathclose{]\\mkern-3.2mu]}}{\\mathclose{\\char`⟧}}"),V(`⟦`,`\\llbracket`),V(`⟧`,`\\rrbracket`),V(`\\lBrace`,"\\html@mathml{\\mathopen{\\{\\mkern-3.2mu[}}{\\mathopen{\\char`⦃}}"),V(`\\rBrace`,"\\html@mathml{\\mathclose{]\\mkern-3.2mu\\}}}{\\mathclose{\\char`⦄}}"),V(`⦃`,`\\lBrace`),V(`⦄`,`\\rBrace`),V(`\\minuso`,"\\mathbin{\\html@mathml{{\\mathrlap{\\mathchoice{\\kern{0.145em}}{\\kern{0.145em}}{\\kern{0.1015em}}{\\kern{0.0725em}}\\circ}{-}}}{\\char`⦵}}"),V(`⦵`,`\\minuso`),V(`\\darr`,`\\downarrow`),V(`\\dArr`,`\\Downarrow`),V(`\\Darr`,`\\Downarrow`),V(`\\lang`,`\\langle`),V(`\\rang`,`\\rangle`),V(`\\uarr`,`\\uparrow`),V(`\\uArr`,`\\Uparrow`),V(`\\Uarr`,`\\Uparrow`),V(`\\N`,`\\mathbb{N}`),V(`\\R`,`\\mathbb{R}`),V(`\\Z`,`\\mathbb{Z}`),V(`\\alef`,`\\aleph`),V(`\\alefsym`,`\\aleph`),V(`\\Alpha`,`\\mathrm{A}`),V(`\\Beta`,`\\mathrm{B}`),V(`\\bull`,`\\bullet`),V(`\\Chi`,`\\mathrm{X}`),V(`\\clubs`,`\\clubsuit`),V(`\\cnums`,`\\mathbb{C}`),V(`\\Complex`,`\\mathbb{C}`),V(`\\Dagger`,`\\ddagger`),V(`\\diamonds`,`\\diamondsuit`),V(`\\empty`,`\\emptyset`),V(`\\Epsilon`,`\\mathrm{E}`),V(`\\Eta`,`\\mathrm{H}`),V(`\\exist`,`\\exists`),V(`\\harr`,`\\leftrightarrow`),V(`\\hArr`,`\\Leftrightarrow`),V(`\\Harr`,`\\Leftrightarrow`),V(`\\hearts`,`\\heartsuit`),V(`\\image`,`\\Im`),V(`\\infin`,`\\infty`),V(`\\Iota`,`\\mathrm{I}`),V(`\\isin`,`\\in`),V(`\\Kappa`,`\\mathrm{K}`),V(`\\larr`,`\\leftarrow`),V(`\\lArr`,`\\Leftarrow`),V(`\\Larr`,`\\Leftarrow`),V(`\\lrarr`,`\\leftrightarrow`),V(`\\lrArr`,`\\Leftrightarrow`),V(`\\Lrarr`,`\\Leftrightarrow`),V(`\\Mu`,`\\mathrm{M}`),V(`\\natnums`,`\\mathbb{N}`),V(`\\Nu`,`\\mathrm{N}`),V(`\\Omicron`,`\\mathrm{O}`),V(`\\plusmn`,`\\pm`),V(`\\rarr`,`\\rightarrow`),V(`\\rArr`,`\\Rightarrow`),V(`\\Rarr`,`\\Rightarrow`),V(`\\real`,`\\Re`),V(`\\reals`,`\\mathbb{R}`),V(`\\Reals`,`\\mathbb{R}`),V(`\\Rho`,`\\mathrm{P}`),V(`\\sdot`,`\\cdot`),V(`\\sect`,`\\S`),V(`\\spades`,`\\spadesuit`),V(`\\sub`,`\\subset`),V(`\\sube`,`\\subseteq`),V(`\\supe`,`\\supseteq`),V(`\\Tau`,`\\mathrm{T}`),V(`\\thetasym`,`\\vartheta`),V(`\\weierp`,`\\wp`),V(`\\Zeta`,`\\mathrm{Z}`),V(`\\argmin`,`\\DOTSB\\operatorname*{arg\\,min}`),V(`\\argmax`,`\\DOTSB\\operatorname*{arg\\,max}`),V(`\\plim`,`\\DOTSB\\mathop{\\operatorname{plim}}\\limits`),V(`\\bra`,`\\mathinner{\\langle{#1}|}`),V(`\\ket`,`\\mathinner{|{#1}\\rangle}`),V(`\\braket`,`\\mathinner{\\langle{#1}\\rangle}`),V(`\\Bra`,`\\left\\langle#1\\right|`),V(`\\Ket`,`\\left|#1\\right\\rangle`);var Ia=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}};V(`\\bra@ket`,Ia(!1)),V(`\\bra@set`,Ia(!0)),V(`\\Braket`,`\\bra@ket{\\left\\langle}{\\,\\middle\\vert\\,}{\\,\\middle\\vert\\,}{\\right\\rangle}`),V(`\\Set`,`\\bra@set{\\left\\{\\:}{\\;\\middle\\vert\\;}{\\;\\middle\\Vert\\;}{\\:\\right\\}}`),V(`\\set`,`\\bra@set{\\{\\,}{\\mid}{}{\\,\\}}`),V(`\\angln`,`{\\angl n}`),V(`\\blue`,`\\textcolor{##6495ed}{#1}`),V(`\\orange`,`\\textcolor{##ffa500}{#1}`),V(`\\pink`,`\\textcolor{##ff00af}{#1}`),V(`\\red`,`\\textcolor{##df0030}{#1}`),V(`\\green`,`\\textcolor{##28ae7b}{#1}`),V(`\\gray`,`\\textcolor{gray}{#1}`),V(`\\purple`,`\\textcolor{##9d38bd}{#1}`),V(`\\blueA`,`\\textcolor{##ccfaff}{#1}`),V(`\\blueB`,`\\textcolor{##80f6ff}{#1}`),V(`\\blueC`,`\\textcolor{##63d9ea}{#1}`),V(`\\blueD`,`\\textcolor{##11accd}{#1}`),V(`\\blueE`,`\\textcolor{##0c7f99}{#1}`),V(`\\tealA`,`\\textcolor{##94fff5}{#1}`),V(`\\tealB`,`\\textcolor{##26edd5}{#1}`),V(`\\tealC`,`\\textcolor{##01d1c1}{#1}`),V(`\\tealD`,`\\textcolor{##01a995}{#1}`),V(`\\tealE`,`\\textcolor{##208170}{#1}`),V(`\\greenA`,`\\textcolor{##b6ffb0}{#1}`),V(`\\greenB`,`\\textcolor{##8af281}{#1}`),V(`\\greenC`,`\\textcolor{##74cf70}{#1}`),V(`\\greenD`,`\\textcolor{##1fab54}{#1}`),V(`\\greenE`,`\\textcolor{##0d923f}{#1}`),V(`\\goldA`,`\\textcolor{##ffd0a9}{#1}`),V(`\\goldB`,`\\textcolor{##ffbb71}{#1}`),V(`\\goldC`,`\\textcolor{##ff9c39}{#1}`),V(`\\goldD`,`\\textcolor{##e07d10}{#1}`),V(`\\goldE`,`\\textcolor{##a75a05}{#1}`),V(`\\redA`,`\\textcolor{##fca9a9}{#1}`),V(`\\redB`,`\\textcolor{##ff8482}{#1}`),V(`\\redC`,`\\textcolor{##f9685d}{#1}`),V(`\\redD`,`\\textcolor{##e84d39}{#1}`),V(`\\redE`,`\\textcolor{##bc2612}{#1}`),V(`\\maroonA`,`\\textcolor{##ffbde0}{#1}`),V(`\\maroonB`,`\\textcolor{##ff92c6}{#1}`),V(`\\maroonC`,`\\textcolor{##ed5fa6}{#1}`),V(`\\maroonD`,`\\textcolor{##ca337c}{#1}`),V(`\\maroonE`,`\\textcolor{##9e034e}{#1}`),V(`\\purpleA`,`\\textcolor{##ddd7ff}{#1}`),V(`\\purpleB`,`\\textcolor{##c6b9fc}{#1}`),V(`\\purpleC`,`\\textcolor{##aa87ff}{#1}`),V(`\\purpleD`,`\\textcolor{##7854ab}{#1}`),V(`\\purpleE`,`\\textcolor{##543b78}{#1}`),V(`\\mintA`,`\\textcolor{##f5f9e8}{#1}`),V(`\\mintB`,`\\textcolor{##edf2df}{#1}`),V(`\\mintC`,`\\textcolor{##e0e5cc}{#1}`),V(`\\grayA`,`\\textcolor{##f6f7f7}{#1}`),V(`\\grayB`,`\\textcolor{##f0f1f2}{#1}`),V(`\\grayC`,`\\textcolor{##e3e5e6}{#1}`),V(`\\grayD`,`\\textcolor{##d6d8da}{#1}`),V(`\\grayE`,`\\textcolor{##babec2}{#1}`),V(`\\grayF`,`\\textcolor{##888d93}{#1}`),V(`\\grayG`,`\\textcolor{##626569}{#1}`),V(`\\grayH`,`\\textcolor{##3b3e40}{#1}`),V(`\\grayI`,`\\textcolor{##21242c}{#1}`),V(`\\kaBlue`,`\\textcolor{##314453}{#1}`),V(`\\kaGreen`,`\\textcolor{##71B307}{#1}`);var La={"^":!0,_:!0,"\\limits":!0,"\\nolimits":!0},Ra=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 Oa(ka,t.macros),this.mode=n,this.stack=[]}feed(e){this.lexer=new Da(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 Oi(`EOF`,n.loc)),this.pushTokens(r),new Oi(``,Di.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 p(`Extra }`,i)}else if(i.text===`EOF`)throw new p(`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 p(`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 p(`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 p(`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 p(`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 p(`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 p(`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 Oi(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 Da(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)||va.hasOwnProperty(e)||ft.math.hasOwnProperty(e)||ft.text.hasOwnProperty(e)||La.hasOwnProperty(e)}isExpandable(e){var t=this.macros.get(e);return t==null?va.hasOwnProperty(e)&&!va[e].primitive:typeof t==`string`||typeof t==`function`||!t.unexpandable}},za=/^[₊₋₌₍₎₀₁₂₃₄₅₆₇₈₉ₐₑₕᵢⱼₖₗₘₙₒₚᵣₛₜᵤᵥₓᵦᵧᵨᵩᵪ]/,Ba=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`,ᵝ:`β`,ᵞ:`γ`,ᵟ:`δ`,ᵠ:`ϕ`,ᵡ:`χ`,ᶿ:`θ`}),Va={"́":{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`}},Ha={á:`á`,à:`à`,ä:`ä`,ǟ:`ǟ`,ã:`ã`,ā:`ā`,ă:`ă`,ắ:`ắ`,ằ:`ằ`,ẵ:`ẵ`,ǎ:`ǎ`,â:`â`,ấ:`ấ`,ầ:`ầ`,ẫ:`ẫ`,ȧ:`ȧ`,ǡ:`ǡ`,å:`å`,ǻ:`ǻ`,ḃ:`ḃ`,ć:`ć`,ḉ:`ḉ`,č:`č`,ĉ:`ĉ`,ċ:`ċ`,ç:`ç`,ď:`ď`,ḋ:`ḋ`,ḑ:`ḑ`,é:`é`,è:`è`,ë:`ë`,ẽ:`ẽ`,ē:`ē`,ḗ:`ḗ`,ḕ:`ḕ`,ĕ:`ĕ`,ḝ:`ḝ`,ě:`ě`,ê:`ê`,ế:`ế`,ề:`ề`,ễ:`ễ`,ė:`ė`,ȩ:`ȩ`,ḟ:`ḟ`,ǵ:`ǵ`,ḡ:`ḡ`,ğ:`ğ`,ǧ:`ǧ`,ĝ:`ĝ`,ġ:`ġ`,ģ:`ģ`,ḧ:`ḧ`,ȟ:`ȟ`,ĥ:`ĥ`,ḣ:`ḣ`,ḩ:`ḩ`,í:`í`,ì:`ì`,ï:`ï`,ḯ:`ḯ`,ĩ:`ĩ`,ī:`ī`,ĭ:`ĭ`,ǐ:`ǐ`,î:`î`,ǰ:`ǰ`,ĵ:`ĵ`,ḱ:`ḱ`,ǩ:`ǩ`,ķ:`ķ`,ĺ:`ĺ`,ľ:`ľ`,ļ:`ļ`,ḿ:`ḿ`,ṁ:`ṁ`,ń:`ń`,ǹ:`ǹ`,ñ:`ñ`,ň:`ň`,ṅ:`ṅ`,ņ:`ņ`,ó:`ó`,ò:`ò`,ö:`ö`,ȫ:`ȫ`,õ:`õ`,ṍ:`ṍ`,ṏ:`ṏ`,ȭ:`ȭ`,ō:`ō`,ṓ:`ṓ`,ṑ:`ṑ`,ŏ:`ŏ`,ǒ:`ǒ`,ô:`ô`,ố:`ố`,ồ:`ồ`,ỗ:`ỗ`,ȯ:`ȯ`,ȱ:`ȱ`,ő:`ő`,ṕ:`ṕ`,ṗ:`ṗ`,ŕ:`ŕ`,ř:`ř`,ṙ:`ṙ`,ŗ:`ŗ`,ś:`ś`,ṥ:`ṥ`,š:`š`,ṧ:`ṧ`,ŝ:`ŝ`,ṡ:`ṡ`,ş:`ş`,ẗ:`ẗ`,ť:`ť`,ṫ:`ṫ`,ţ:`ţ`,ú:`ú`,ù:`ù`,ü:`ü`,ǘ:`ǘ`,ǜ:`ǜ`,ǖ:`ǖ`,ǚ:`ǚ`,ũ:`ũ`,ṹ:`ṹ`,ū:`ū`,ṻ:`ṻ`,ŭ:`ŭ`,ǔ:`ǔ`,û:`û`,ů:`ů`,ű:`ű`,ṽ:`ṽ`,ẃ:`ẃ`,ẁ:`ẁ`,ẅ:`ẅ`,ŵ:`ŵ`,ẇ:`ẇ`,ẘ:`ẘ`,ẍ:`ẍ`,ẋ:`ẋ`,ý:`ý`,ỳ:`ỳ`,ÿ:`ÿ`,ỹ:`ỹ`,ȳ:`ȳ`,ŷ:`ŷ`,ẏ:`ẏ`,ẙ:`ẙ`,ź:`ź`,ž:`ž`,ẑ:`ẑ`,ż:`ż`,Á:`Á`,À:`À`,Ä:`Ä`,Ǟ:`Ǟ`,Ã:`Ã`,Ā:`Ā`,Ă:`Ă`,Ắ:`Ắ`,Ằ:`Ằ`,Ẵ:`Ẵ`,Ǎ:`Ǎ`,Â:`Â`,Ấ:`Ấ`,Ầ:`Ầ`,Ẫ:`Ẫ`,Ȧ:`Ȧ`,Ǡ:`Ǡ`,Å:`Å`,Ǻ:`Ǻ`,Ḃ:`Ḃ`,Ć:`Ć`,Ḉ:`Ḉ`,Č:`Č`,Ĉ:`Ĉ`,Ċ:`Ċ`,Ç:`Ç`,Ď:`Ď`,Ḋ:`Ḋ`,Ḑ:`Ḑ`,É:`É`,È:`È`,Ë:`Ë`,Ẽ:`Ẽ`,Ē:`Ē`,Ḗ:`Ḗ`,Ḕ:`Ḕ`,Ĕ:`Ĕ`,Ḝ:`Ḝ`,Ě:`Ě`,Ê:`Ê`,Ế:`Ế`,Ề:`Ề`,Ễ:`Ễ`,Ė:`Ė`,Ȩ:`Ȩ`,Ḟ:`Ḟ`,Ǵ:`Ǵ`,Ḡ:`Ḡ`,Ğ:`Ğ`,Ǧ:`Ǧ`,Ĝ:`Ĝ`,Ġ:`Ġ`,Ģ:`Ģ`,Ḧ:`Ḧ`,Ȟ:`Ȟ`,Ĥ:`Ĥ`,Ḣ:`Ḣ`,Ḩ:`Ḩ`,Í:`Í`,Ì:`Ì`,Ï:`Ï`,Ḯ:`Ḯ`,Ĩ:`Ĩ`,Ī:`Ī`,Ĭ:`Ĭ`,Ǐ:`Ǐ`,Î:`Î`,İ:`İ`,Ĵ:`Ĵ`,Ḱ:`Ḱ`,Ǩ:`Ǩ`,Ķ:`Ķ`,Ĺ:`Ĺ`,Ľ:`Ľ`,Ļ:`Ļ`,Ḿ:`Ḿ`,Ṁ:`Ṁ`,Ń:`Ń`,Ǹ:`Ǹ`,Ñ:`Ñ`,Ň:`Ň`,Ṅ:`Ṅ`,Ņ:`Ņ`,Ó:`Ó`,Ò:`Ò`,Ö:`Ö`,Ȫ:`Ȫ`,Õ:`Õ`,Ṍ:`Ṍ`,Ṏ:`Ṏ`,Ȭ:`Ȭ`,Ō:`Ō`,Ṓ:`Ṓ`,Ṑ:`Ṑ`,Ŏ:`Ŏ`,Ǒ:`Ǒ`,Ô:`Ô`,Ố:`Ố`,Ồ:`Ồ`,Ỗ:`Ỗ`,Ȯ:`Ȯ`,Ȱ:`Ȱ`,Ő:`Ő`,Ṕ:`Ṕ`,Ṗ:`Ṗ`,Ŕ:`Ŕ`,Ř:`Ř`,Ṙ:`Ṙ`,Ŗ:`Ŗ`,Ś:`Ś`,Ṥ:`Ṥ`,Š:`Š`,Ṧ:`Ṧ`,Ŝ:`Ŝ`,Ṡ:`Ṡ`,Ş:`Ş`,Ť:`Ť`,Ṫ:`Ṫ`,Ţ:`Ţ`,Ú:`Ú`,Ù:`Ù`,Ü:`Ü`,Ǘ:`Ǘ`,Ǜ:`Ǜ`,Ǖ:`Ǖ`,Ǚ:`Ǚ`,Ũ:`Ũ`,Ṹ:`Ṹ`,Ū:`Ū`,Ṻ:`Ṻ`,Ŭ:`Ŭ`,Ǔ:`Ǔ`,Û:`Û`,Ů:`Ů`,Ű:`Ű`,Ṽ:`Ṽ`,Ẃ:`Ẃ`,Ẁ:`Ẁ`,Ẅ:`Ẅ`,Ŵ:`Ŵ`,Ẇ:`Ẇ`,Ẍ:`Ẍ`,Ẋ:`Ẋ`,Ý:`Ý`,Ỳ:`Ỳ`,Ÿ:`Ÿ`,Ỹ:`Ỹ`,Ȳ:`Ȳ`,Ŷ:`Ŷ`,Ẏ:`Ẏ`,Ź:`Ź`,Ž:`Ž`,Ẑ:`Ẑ`,Ż:`Ż`,ά:`ά`,ὰ:`ὰ`,ᾱ:`ᾱ`,ᾰ:`ᾰ`,έ:`έ`,ὲ:`ὲ`,ή:`ή`,ὴ:`ὴ`,ί:`ί`,ὶ:`ὶ`,ϊ:`ϊ`,ΐ:`ΐ`,ῒ:`ῒ`,ῑ:`ῑ`,ῐ:`ῐ`,ό:`ό`,ὸ:`ὸ`,ύ:`ύ`,ὺ:`ὺ`,ϋ:`ϋ`,ΰ:`ΰ`,ῢ:`ῢ`,ῡ:`ῡ`,ῠ:`ῠ`,ώ:`ώ`,ὼ:`ὼ`,Ύ:`Ύ`,Ὺ:`Ὺ`,Ϋ:`Ϋ`,Ῡ:`Ῡ`,Ῠ:`Ῠ`,Ώ:`Ώ`,Ὼ:`Ὼ`},Ua=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 Ra(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 p(`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 Oi(`}`)),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&&va[i.text]&&va[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 p(`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 p(`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 p(`Limit controls must follow a math operator`,i);this.consume()}else if(i.text===`^`){if(n)throw new p(`Double superscript`,i);n=this.handleSupSubscript(`superscript`)}else if(i.text===`_`){if(r)throw new p(`Double subscript`,i);r=this.handleSupSubscript(`subscript`)}else if(i.text===`'`){if(n)throw new p(`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(Ba[i.text]){var s=za.test(i.text),c=[];for(c.push(new Oi(Ba[i.text])),this.consume();;){var l=this.fetch().text;if(!Ba[l]||za.test(l)!==s)break;c.unshift(new Oi(Ba[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=va[r];if(!i)return null;if(this.consume(),t&&t!==`atom`&&!i.allowedInArgument)throw new p(`Got function '`+r+`' with no arguments`+(t?` as `+t:``),n);if(this.mode===`text`&&!i.allowedInText)throw new p(`Can't use function '`+r+`' in text mode`,n);if(this.mode===`math`&&i.allowedInMath===!1)throw new p(`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=va[e];if(o&&o.handler)return o.handler(a,t,n);throw new p(`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 p(`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 p(`A primitive argument cannot be optional`);var a=this.parseGroup(e);if(a==null)throw new p(`Expected group as `+e,this.fetch());return a;case`original`:case null:case void 0:return this.parseArgumentGroup(n);default:throw new p(`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 p(`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 p(`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 p(`Invalid size: '`+t.text+`'`,t);var i={number:+(r[1]+r[2]),unit:r[3]};if(!Be(i))throw new p(`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:Di.range(n,s),body:o,semisimple:r===`\\begingroup`||void 0}}else if(i=this.parseFunction(t,e)||this.parseSymbol(),i==null&&r[0]===`\\`&&!La.hasOwnProperty(r)){if(this.settings.throwOnError)throw new p(`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:Di.range(r,o),text:`---`}),t-=2):(e.splice(n,2,{type:`textord`,mode:`text`,loc:Di.range(r,a),text:`--`}),--t)}(i===`'`||i==="`")&&a.text===i&&(e.splice(n,2,{type:`textord`,mode:`text`,loc:Di.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 p(`\\verb assertion failed --
294
- please report what input caused this bug`);return n=n.slice(1,-1),{type:`verb`,mode:`text`,body:n,star:r}}Ha.hasOwnProperty(t[0])&&!ft[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=Ha[t[0]]+t.slice(1));var i=Ta.exec(t);i&&(t=t.substring(0,i.index),t===`i`?t=`ı`:t===`j`&&(t=`ȷ`));var a;if(ft[this.mode][t]){this.settings.strict&&this.mode===`math`&&Pt.includes(t)&&this.settings.reportNonstrict(`unicodeTextInMathMode`,`Latin-1/Unicode text character "`+t[0]+`" used in math mode`,e);var o=ft[this.mode][t].group,s=Di.range(e);a=yr(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&&(Se(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:Di.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(!Va[l])throw new p(`Unknown accent ' `+l+`'`,e);var u=Va[l][this.mode]||Va[l].text;if(!u)throw new p(`Accent `+l+` unsupported in `+this.mode+` mode`,e);a={type:`accent`,mode:this.mode,loc:Di.range(e),label:u,isStretchy:!1,isShifty:!0,base:a}}return a}};Ua.endOfExpression=new Set([`}`,`\\endgroup`,`\\end`,`\\right`,`&`]);var Wa=function(e,t){if(!(typeof e==`string`||e instanceof String))throw TypeError(`KaTeX can only parse string typed expression`);var n=new Ua(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 p(`\\tag works only in display equations`);r=[{type:`tag`,mode:`text`,body:r,tag:n.subparse([new Oi(`\\df@tag`)])}]}return r},Ga=function(e,t,n){t.textContent=``;var r=Ya(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.`),Ga=function(){throw new p(`KaTeX doesn't work in quirks mode.`)});var Ka=function(e,t){return Ya(e,t).toMarkup()},qa=function(e,t){return Wa(e,new ne(t))},Ja=function(e,t,n){if(n.throwOnError||!(e instanceof p))throw e;var r=L([`katex-error`],[new Qe(t)]);return r.setAttribute(`title`,e.toString()),r.setAttribute(`style`,`color:`+n.errorColor),r},Ya=function(e,t){var n=new ne(t);try{return lr(Wa(e,n),e,n)}catch(t){return Ja(t,e,n)}},Xa={version:`0.16.47`,render:Ga,renderToString:Ka,ParseError:p,SETTINGS_SCHEMA:C,__parse:qa,__renderToDomTree:Ya,__renderToHTMLTree:function(e,t){var n=new ne(t);try{return ur(Wa(e,n),e,n)}catch(t){return Ja(t,e,n)}},__setFontMetrics:ct,__defineSymbol:D,__defineFunction:R,__defineMacro:V,__domTree:{Span:Je,Anchor:Ye,SymbolNode:Qe,SvgNode:$e,PathNode:et,LineNode:tt}};let Za=`@changfenhuang/dsh-genui/GenuiBlock.module.css`;if(typeof document<`u`&&document.querySelector(`style[data-plugin-css=`+JSON.stringify(Za)+`]`)===null){let e=document.createElement(`style`);e.dataset.plugin=`@changfenhuang/dsh-genui`,e.dataset.pluginCss=Za,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 H={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`};function Qa(e,t){return typeof e==`string`&&t.includes(e)}function U(e,t){return typeof e==`string`?e.slice(0,t):void 0}let $a=/^(?:#[\da-fA-F]{3,8}|rgba?\([^)]{0,64}\)|hsla?\([^)]{0,64}\)|var\(--dsw-[\w-]+(?:,\s*#[0-9a-fA-F]{3,8})?\))$/;function eo(e){if(typeof e!=`string`)return;let t=e.trim();return t.length<=64&&$a.test(t)?t:void 0}function to(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 no(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 ro(e,t,n){return typeof e==`number`&&Number.isFinite(e)?Math.min(n,Math.max(t,e)):void 0}function io(e,t,n){return typeof e==`number`&&Number.isFinite(e)?Math.min(n,Math.max(t,Math.trunc(e))):void 0}function ao(e,t){return Qa(e,t)?e:void 0}function W(e){return typeof e==`object`&&e&&!Array.isArray(e)?e:void 0}function G(e,t){return t===void 0?{}:{[e]:t}}function oo({source:e,display:t}){let n=(0,d.useRef)(null);return(0,d.useLayoutEffect)(()=>{n.current!==null&&Xa.render(e,n.current,{displayMode:t,throwOnError:!1,trust:!1,maxExpand:1e3,maxSize:20,output:`htmlAndMathml`})},[e,t]),(0,d.createElement)(`span`,{ref:n,className:H.inlineMath})}let so=/(?<!`)`[^`\n]+`(?!`)|\\\\|\\\$|(?<![\\$])\$\$(?:\\.|[^\\])*?\$\$|\\\[(?:\\(?!\])[^]|[^\\])*?\\\]|\\\((?:\\(?!\))[^]|[^\\])*?\\\)|(?<![\\$])\$(?!\s|\$)(?:\\.|[^$\\\n])+(?<!\s)\$(?!\d|\$)|\*\*[\s\S]+?\*\*|==[\s\S]+?==|\[[^\]\n]+\]\([^)\s]+\)|\r?\n/g,co=/`{3,}|~{3,}/g;function lo(e){return typeof e==`string`&&/[`*=$\\\n\r]|\[/.test(e)}function K(e,t=!0,n=0){if(typeof e!=`string`||e===``||!lo(e)||n>=8)return e;let r=[],i=0;for(let a of e.matchAll(co)){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(co))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(K(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(K(e.slice(i),t,n)),r;let a=[],o=0,s=0;for(let r of e.matchAll(so)){let i=r.index??0,c=r[0];if(i>o&&a.push(e.slice(o,i)),c===`
294
+ please report what input caused this bug`);return n=n.slice(1,-1),{type:`verb`,mode:`text`,body:n,star:r}}Ha.hasOwnProperty(t[0])&&!ft[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=Ha[t[0]]+t.slice(1));var i=Ta.exec(t);i&&(t=t.substring(0,i.index),t===`i`?t=`ı`:t===`j`&&(t=`ȷ`));var a;if(ft[this.mode][t]){this.settings.strict&&this.mode===`math`&&Pt.includes(t)&&this.settings.reportNonstrict(`unicodeTextInMathMode`,`Latin-1/Unicode text character "`+t[0]+`" used in math mode`,e);var o=ft[this.mode][t].group,s=Di.range(e);a=yr(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&&(Se(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:Di.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(!Va[l])throw new p(`Unknown accent ' `+l+`'`,e);var u=Va[l][this.mode]||Va[l].text;if(!u)throw new p(`Accent `+l+` unsupported in `+this.mode+` mode`,e);a={type:`accent`,mode:this.mode,loc:Di.range(e),label:u,isStretchy:!1,isShifty:!0,base:a}}return a}};Ua.endOfExpression=new Set([`}`,`\\endgroup`,`\\end`,`\\right`,`&`]);var Wa=function(e,t){if(!(typeof e==`string`||e instanceof String))throw TypeError(`KaTeX can only parse string typed expression`);var n=new Ua(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 p(`\\tag works only in display equations`);r=[{type:`tag`,mode:`text`,body:r,tag:n.subparse([new Oi(`\\df@tag`)])}]}return r},Ga=function(e,t,n){t.textContent=``;var r=Ya(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.`),Ga=function(){throw new p(`KaTeX doesn't work in quirks mode.`)});var Ka=function(e,t){return Ya(e,t).toMarkup()},qa=function(e,t){return Wa(e,new ne(t))},Ja=function(e,t,n){if(n.throwOnError||!(e instanceof p))throw e;var r=L([`katex-error`],[new Qe(t)]);return r.setAttribute(`title`,e.toString()),r.setAttribute(`style`,`color:`+n.errorColor),r},Ya=function(e,t){var n=new ne(t);try{return lr(Wa(e,n),e,n)}catch(t){return Ja(t,e,n)}},Xa={version:`0.16.47`,render:Ga,renderToString:Ka,ParseError:p,SETTINGS_SCHEMA:C,__parse:qa,__renderToDomTree:Ya,__renderToHTMLTree:function(e,t){var n=new ne(t);try{return ur(Wa(e,n),e,n)}catch(t){return Ja(t,e,n)}},__setFontMetrics:ct,__defineSymbol:D,__defineFunction:R,__defineMacro:V,__domTree:{Span:Je,Anchor:Ye,SymbolNode:Qe,SvgNode:$e,PathNode:et,LineNode:tt}};let Za=`@changfenhuang/dsh-genui/GenuiBlock.module.css`;if(typeof document<`u`&&document.querySelector(`style[data-plugin-css=`+JSON.stringify(Za)+`]`)===null){let e=document.createElement(`style`);e.dataset.plugin=`@changfenhuang/dsh-genui`,e.dataset.pluginCss=Za,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 H={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`};function Qa(e,t){return typeof e==`string`&&t.includes(e)}function U(e,t){return typeof e==`string`?e.slice(0,t):void 0}let $a=/^(?:#[\da-fA-F]{3,8}|rgba?\([^)]{0,64}\)|hsla?\([^)]{0,64}\)|var\(--dsw-[\w-]+(?:,\s*#[0-9a-fA-F]{3,8})?\))$/;function eo(e){if(typeof e!=`string`)return;let t=e.trim();return t.length<=64&&$a.test(t)?t:void 0}function to(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 no(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 ro(e,t,n){return typeof e==`number`&&Number.isFinite(e)?Math.min(n,Math.max(t,e)):void 0}function io(e,t,n){return typeof e==`number`&&Number.isFinite(e)?Math.min(n,Math.max(t,Math.trunc(e))):void 0}function ao(e,t){return Qa(e,t)?e:void 0}function W(e){return typeof e==`object`&&e&&!Array.isArray(e)?e:void 0}function G(e,t){return t===void 0?{}:{[e]:t}}function oo({source:e,display:t}){let n=(0,d.useRef)(null);return(0,d.useLayoutEffect)(()=>{n.current!==null&&Xa.render(e,n.current,{displayMode:t,throwOnError:!1,trust:!1,maxExpand:1e3,maxSize:20,output:`htmlAndMathml`})},[e,t]),(0,d.createElement)(`span`,{ref:n,className:H.inlineMath})}let so=/(?<!`)`[^`\n]+`(?!`)|\\\\|\\\$|(?<![\\$])\$\$(?:\\.|[^\\])*?\$\$|\\\[(?:\\(?!\])[^]|[^\\])*?\\\]|\\\((?:\\(?!\))[^]|[^\\])*?\\\)|(?<![\\$])\$(?!\s|\$)(?:\\.|[^$\\\n])+(?<!\s)\$(?!\d|\$)|\*\*[\s\S]+?\*\*|==[\s\S]+?==|\[[^\]\n]+\]\([^)\s]+\)|\r?\n/g,co=/`{3,}|~{3,}/g;function lo(e){return typeof e==`string`&&/[`*=$\\\n\r]|\[/.test(e)}function K(e,t=!0,n=0){if(typeof e!=`string`||e===``||!lo(e)||n>=8)return e;let r=[],i=0;for(let a of e.matchAll(co)){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(co))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(K(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(K(e.slice(i),t,n)),r;let a=[],o=0,s=0;for(let r of e.matchAll(so)){let i=r.index??0,c=r[0];if(i>o&&a.push(e.slice(o,i)),c===`
295
295
  `||c===`\r
296
- `)a.push((0,d.createElement)(`br`,{key:s++}));else if(c.startsWith("`"))a.push((0,d.createElement)(`code`,{key:s++,className:H.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,d.createElement)(oo,{key:s++,source:c.slice(t,-t),display:e}))}else if(c.startsWith(`**`)||c.startsWith(`==`)){let e=c.startsWith(`**`);a.push((0,d.createElement)(e?`strong`:`mark`,{key:s++,className:e?H.inlineStrong:H.inlineMark},K(c.slice(2,-2),t,n+1)))}else{let e=/^\[([^\]\n]+)\]\(([^)\s]+)\)$/.exec(c);if(e===null)a.push(c);else{let r=to(e[2]);a.push(r===void 0||!t?K(e[1],!1,n+1):(0,d.createElement)(`a`,{key:s++,className:H.inlineLink,href:r,target:`_blank`,rel:`noreferrer noopener`},K(e[1],!1,n+1)))}}o=i+c.length}return o<e.length&&a.push(e.slice(o)),a.length===0?e:a}let uo={"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.`},fo={"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 后重发。`},po=[`en`,`zh`],mo={en:uo,zh:fo};function ho(e){if(typeof e!=`string`||e===``)return;let t=e.toLowerCase().split(/[-_]/)[0];return po.find(e=>e===t)}function go(){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=ho(e);if(t!==void 0)return t}return`en`}let _o=go(),vo=0,yo=new Set;function bo(){return _o}function xo(){return vo}function So(e){return yo.add(e),()=>{yo.delete(e)}}function Co(e){let t=ho(e);if(t!==void 0&&t!==_o){_o=t,vo+=1;for(let e of[...yo])e()}}function wo(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 q(e,t){return wo(mo[_o][e]??mo.en[e]??e,t)}function J(){return(0,d.useSyncExternalStore)(So,xo,xo),q}function To(){return bo()}
296
+ `)a.push(`
297
+ `);else if(c.startsWith("`"))a.push((0,d.createElement)(`code`,{key:s++,className:H.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,d.createElement)(oo,{key:s++,source:c.slice(t,-t),display:e}))}else if(c.startsWith(`**`)||c.startsWith(`==`)){let e=c.startsWith(`**`);a.push((0,d.createElement)(e?`strong`:`mark`,{key:s++,className:e?H.inlineStrong:H.inlineMark},K(c.slice(2,-2),t,n+1)))}else{let e=/^\[([^\]\n]+)\]\(([^)\s]+)\)$/.exec(c);if(e===null)a.push(c);else{let r=to(e[2]);a.push(r===void 0||!t?K(e[1],!1,n+1):(0,d.createElement)(`a`,{key:s++,className:H.inlineLink,href:r,target:`_blank`,rel:`noreferrer noopener`},K(e[1],!1,n+1)))}}o=i+c.length}return o<e.length&&a.push(e.slice(o)),a.length===0?e:a}let uo={"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.`},fo={"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 后重发。`},po=[`en`,`zh`],mo={en:uo,zh:fo};function ho(e){if(typeof e!=`string`||e===``)return;let t=e.toLowerCase().split(/[-_]/)[0];return po.find(e=>e===t)}function go(){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=ho(e);if(t!==void 0)return t}return`en`}let _o=go(),vo=0,yo=new Set;function bo(){return _o}function xo(){return vo}function So(e){return yo.add(e),()=>{yo.delete(e)}}function Co(e){let t=ho(e);if(t!==void 0&&t!==_o){_o=t,vo+=1;for(let e of[...yo])e()}}function wo(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 q(e,t){return wo(mo[_o][e]??mo.en[e]??e,t)}function J(){return(0,d.useSyncExternalStore)(So,xo,xo),q}function To(){return bo()}
297
298
  /**
298
299
  * @license React
299
300
  * react-jsx-runtime.production.min.js
@@ -306,9 +307,9 @@ l0,-`+(t+144)+`c-2,-159.3,-10,-310.7,-24,-454c-53.3,-528,-210,-949.7,
306
307
  var Eo=n((e=>{var t=a(),n=Symbol.for(`react.element`),r=Symbol.for(`react.fragment`),i=Object.prototype.hasOwnProperty,o=t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,s={key:!0,ref:!0,__self:!0,__source:!0};function c(e,t,r){var a,c={},l=null,u=null;for(a in r!==void 0&&(l=``+r),t.key!==void 0&&(l=``+t.key),t.ref!==void 0&&(u=t.ref),t)i.call(t,a)&&!s.hasOwnProperty(a)&&(c[a]=t[a]);if(e&&e.defaultProps)for(a in t=e.defaultProps,t)c[a]===void 0&&(c[a]=t[a]);return{$$typeof:n,type:e,key:l,ref:u,props:c,_owner:o.current}}e.Fragment=r,e.jsx=c,e.jsxs=c})),Y=n(((e,t)=>{t.exports=Eo()}))();let Do={overflow:`auto`,padding:12,borderRadius:8,background:`var(--dsw-alias-bg-layer-2)`,fontFamily:`ui-monospace, SFMono-Regular, Menlo, monospace`,fontSize:12,lineHeight:1.5,whiteSpace:`pre-wrap`};function Oo({code:e,lang:t,copyLabel:n,copiedLabel:r}){let[i,a]=(0,d.useState)(!1),o=async()=>{await jo(e)&&(a(!0),window.setTimeout(()=>a(!1),1200))};return(0,Y.jsxs)(`div`,{children:[(0,Y.jsxs)(`div`,{style:{display:`flex`,justifyContent:`space-between`,alignItems:`center`,fontSize:11,color:`var(--dsw-alias-label-secondary)`},children:[(0,Y.jsx)(`span`,{children:t??q(`label.code`)}),(0,Y.jsx)(`button`,{type:`button`,onClick:()=>void o(),children:i?r??q(`label.copied`):n??q(`label.copy`)})]}),(0,Y.jsx)(`pre`,{style:Do,children:(0,Y.jsx)(`code`,{children:e})})]})}function ko({diffs:e}){return(0,Y.jsx)(`div`,{children:e.map((e,t)=>(0,Y.jsxs)(`section`,{children:[(0,Y.jsx)(`strong`,{children:e.path}),(0,Y.jsx)(`pre`,{style:Do,children:(e.oldText??``).split(`
307
308
  `).map(e=>`- ${e}`).concat((e.newText??``).split(`
308
309
  `).map(e=>`+ ${e}`)).join(`
309
- `)})]},`${e.path}:${t}`))})}function Ao({data:e,label:t,copyable:n,labels:r}){let[i,a]=(0,d.useState)(!0),[o,s]=(0,d.useState)(!1),c=JSON.stringify(e,null,2),l=async()=>{await jo(c)&&(s(!0),window.setTimeout(()=>s(!1),1200))};return(0,Y.jsxs)(`section`,{children:[(0,Y.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:8},children:[(0,Y.jsxs)(`button`,{type:`button`,"aria-expanded":i,onClick:()=>a(e=>!e),children:[q(i?`label.collapse`:`label.expandNode`),` `,t??`JSON`]}),n&&(0,Y.jsx)(`button`,{type:`button`,onClick:()=>void l(),children:o?r?.copied??q(`label.copied`):r?.copyJson??q(`label.copy`)})]}),i&&(0,Y.jsx)(`pre`,{style:Do,children:c})]})}async function jo(e){if(typeof navigator.clipboard?.writeText==`function`)try{return await navigator.clipboard.writeText(e),!0}catch{return!1}let t=document.createElement(`textarea`);t.value=e,t.setAttribute(`readonly`,``),t.style.position=`fixed`,t.style.left=`-9999px`,document.body.appendChild(t);try{return t.select(),document.execCommand(`copy`)}catch{return!1}finally{t.remove()}}function Mo(e){}let No=(0,d.createContext)(void 0),Po=(0,d.createContext)(void 0),Fo=No??Po;function Io(){return(0,d.useContext)(Fo)}let Lo=`dsh.genui.interaction`;function Ro(){return{order:[],blocks:{}}}function zo(){try{let e=localStorage.getItem(Lo);if(e===null)return Ro();let t=JSON.parse(e);return!Array.isArray(t.order)||typeof t.blocks!=`object`||t.blocks===null?Ro():{order:t.order.filter(e=>typeof e==`string`),blocks:t.blocks}}catch{return Ro()}}function Bo(e){try{localStorage.setItem(Lo,JSON.stringify(e))}catch{}}function Vo(e){return e===``?null:zo().blocks[e]??null}function Ho(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]}Bo({order:r,blocks:i})}function Uo(){return{fences:0,panels:0,interactions:0,templates:0,charts:0,advanced:0}}let Wo=e=>t=>t.fences>=e;function Go(e){return q(`ach.${e}.name`)}function Ko(e){return q(`ach.${e}.desc`)}function qo(e,t,n,r=!1){return{id:e,rarity:t,check:n,...r?{hidden:!0}:{},get name(){return Go(e)},get description(){return Ko(e)}}}let Jo=[qo(`first-fence`,`common`,Wo(1)),qo(`fence-5`,`common`,Wo(5)),qo(`fence-25`,`rare`,Wo(25)),qo(`fence-50`,`legendary`,Wo(50),!0),qo(`first-interaction`,`common`,e=>e.interactions>=1),qo(`interaction-10`,`rare`,e=>e.interactions>=10),qo(`first-panel`,`common`,e=>e.panels>=1),qo(`panel-5`,`rare`,e=>e.panels>=5),qo(`first-chart`,`common`,e=>e.charts>=1),qo(`chart-10`,`rare`,e=>e.charts>=10),qo(`first-advanced`,`rare`,e=>e.advanced>=1),qo(`template-1`,`common`,e=>e.templates>=1)];function Yo(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 Xo(e,t){return Jo.filter(n=>t[n.id]===void 0&&n.check(e))}let Zo=`dsh.genui.achievements`,Qo=`dsh.genui.achievements.seen`,$o=ns(),es=new Set,ts=[];function ns(){try{let e=localStorage.getItem(Zo);if(e===null)return{state:Uo(),unlocked:{}};let t=JSON.parse(e);return{state:{...Uo(),...t.state??{}},unlocked:typeof t.unlocked==`object`&&t.unlocked!==null?t.unlocked:{}}}catch{return{state:Uo(),unlocked:{}}}}function rs(){try{localStorage.setItem(Zo,JSON.stringify($o))}catch{}}function is(){try{let e=localStorage.getItem(Qo);if(e===null)return[];let t=JSON.parse(e);return Array.isArray(t)?t.filter(e=>typeof e==`string`):[]}catch{return[]}}function as(e){try{localStorage.setItem(Qo,JSON.stringify(e.slice(0,200)))}catch{}}function os(){for(let e of es)e()}function ss(e){$o.state={...$o.state,...e};let t=Xo($o.state,$o.unlocked);for(let e of t)$o.unlocked[e.id]=Date.now();t.length>0&&ts.push(...t),rs(),os()}function cs(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 ls(e){let t=cs(e),n=is();if(n.includes(t))return;as([t,...n]);let r=Yo(e);ss({fences:$o.state.fences+1,charts:$o.state.charts+ +(r.charts>0),advanced:$o.state.advanced+ +(r.advanced>0)})}function us(){ss({interactions:$o.state.interactions+1})}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},ds=[`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 ds[t%ds.length]}function ps({className:e,disabled:t,onClick:n,children:r}){let i=J(),[a,o]=(0,d.useState)(!1),s=(0,d.useRef)(null);return(0,d.useEffect)(()=>()=>{s.current!==null&&clearTimeout(s.current)},[]),(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.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,Y.jsx)(`span`,{className:H.btnSent,"aria-hidden":!0,children:i(`block.triggered`)})]}),(0,Y.jsx)(`span`,{className:H.visuallyHidden,role:`status`,children:a?i(`block.triggeredPlain`):``})]})}let ms=(0,d.memo)(function({node:e}){let t=J(),[n,r]=(0,d.useState)(!1);return(0,Y.jsxs)(`figure`,{className:H.media,children:[e.alt!==void 0&&(0,Y.jsx)(`figcaption`,{className:H.mediaLabel,children:K(e.alt)}),n?(0,Y.jsx)(`div`,{className:H.mediaError,role:`alert`,children:t(`block.audioError`)}):(0,Y.jsx)(`audio`,{className:H.mediaPlayer,src:e.src,"aria-label":e.alt??t(`block.audio`),controls:!0,preload:`metadata`,loop:e.loop===!0,onError:()=>r(!0)})]})}),hs=(0,d.memo)(function({node:e}){let t=J(),[n,r]=(0,d.useState)(!1);return(0,Y.jsxs)(`figure`,{className:H.media,children:[e.alt!==void 0&&(0,Y.jsx)(`figcaption`,{className:H.mediaLabel,children:K(e.alt)}),n?(0,Y.jsx)(`div`,{className:H.mediaError,role:`alert`,children:t(`block.videoError`)}):(0,Y.jsx)(`video`,{className:`${H.mediaPlayer} ${H.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)})]})}),gs=[`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)`],_s=(e,t,n,r)=>n??(r!==void 0&&r.length>0?r[e%r.length]:t>1?gs[e%gs.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 ys(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 bs(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 xs({cell:e}){let t=String(e).split(/[\s,;]+/).map(Number).filter(Number.isFinite);if(t.length<2)return(0,Y.jsx)(Y.Fragment,{children:K(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,Y.jsxs)(`svg`,{className:H.cellSpark,viewBox:`0 0 88 22`,preserveAspectRatio:`none`,"aria-hidden":`true`,children:[(0,Y.jsx)(`path`,{d:c,fill:`var(--dsl-g-accent)`,opacity:`0.14`}),(0,Y.jsx)(`polyline`,{points:o,fill:`none`,stroke:`var(--dsl-g-accent)`,strokeWidth:`1.5`,strokeLinejoin:`round`,strokeLinecap:`round`,vectorEffect:`non-scaling-stroke`}),(0,Y.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 Ss({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,Y.jsxs)(`span`,{className:H.cellRing,children:[(0,Y.jsxs)(`svg`,{width:28,height:28,viewBox:`0 0 28 28`,"aria-hidden":`true`,children:[(0,Y.jsx)(`circle`,{cx:14,cy:14,r:11,fill:`none`,strokeWidth:4,className:H.ringTrack}),(0,Y.jsx)(`circle`,{cx:14,cy:14,r:11,fill:`none`,strokeWidth:4,strokeLinecap:`round`,className:H.ringFill,strokeDasharray:`${n/100*r} ${r}`,transform:`rotate(-90 14 14)`})]}),(0,Y.jsx)(`span`,{className:H.cellRingText,children:K(String(e),!1)})]})}function Cs(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(`
310
- `)}function ws(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(`
311
- `)}function Ts({columns:e,rows:t}){J();let[n,r]=(0,d.useState)(null),i=n=>{jo(n===`md`?Cs(e,t):ws(t)).then(e=>{e&&(r(n),window.setTimeout(()=>r(null),1200))})};return(0,Y.jsxs)(`div`,{className:H.tableTools,children:[(0,Y.jsx)(`button`,{type:`button`,className:H.tableTool,onClick:()=>i(`md`),children:q(n===`md`?`label.copiedDone`:`block.copyMarkdown`)}),(0,Y.jsx)(`button`,{type:`button`,className:H.tableTool,onClick:()=>i(`csv`),children:q(n===`csv`?`label.copiedDone`:`block.copyCsv`)})]})}function Es({cell:e}){let t=vs(e),n=Number.isFinite(t)?Math.max(0,Math.min(100,t)):0;return(0,Y.jsxs)(`span`,{className:H.cellBar,children:[(0,Y.jsx)(`span`,{className:H.cellBarFill,style:{width:`${n}%`}}),(0,Y.jsx)(`span`,{className:H.cellBarText,children:K(String(e),!1)})]})}let Ds=(0,d.memo)(function({node:e,renderDetail:t,filterValue:n,sortValue:r}){J();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,d.useState)(null),[u,f]=(0,d.useState)(()=>new Set),[p,m]=(0,d.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},g=e=>s&&String(e[0]??``).trim()!==``&&e.slice(1).every(e=>String(e??``).trim()===``),_=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(g(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=c===null?x>=0?{col:x,dir:1}:null:c,C=b.map(e=>({header:e.header,children:S===null?e.children:[...e.children].sort((e,t)=>h(e.row,t.row,S.col,S.dir))})),w=ys(v,i.length),ee=e=>{f(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},te=e=>{m(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})},re=i.map((e,t)=>{if(!w[t])return null;let n=0;for(let e of v){if(g(e))continue;let r=vs(e[t]);Number.isFinite(r)&&(n+=r)}return n}),ie=e.total===!0&&re.some(e=>e!==null),ae=e=>Number.isInteger(e)?e.toLocaleString(`en-US`):String(Math.round(e*100)/100),oe=(e,t,n)=>{let r=o[t],i=r===`delta`?String(e).trim().startsWith(`-`)?`down`:`up`:bs(e);return(0,Y.jsx)(`td`,{className:w[t]||r===`num`?H.tdNum:void 0,children:r===`badge`?(0,Y.jsx)(`span`,{className:H.cellBadge,children:K(String(e),!1)}):r===`bar`?(0,Y.jsx)(Es,{cell:e}):r===`spark`?(0,Y.jsx)(xs,{cell:e}):r===`ring`?(0,Y.jsx)(Ss,{cell:e}):r===`index`?(0,Y.jsx)(`span`,{className:H.cellIndex,children:n+1}):i===null?K(String(e),!1):(0,Y.jsx)(`span`,{className:`${H.tdDelta} ${i===`up`?H.tdDeltaUp:H.tdDeltaDown}`,children:K(String(e),!1)})},t)};return(0,Y.jsxs)(`div`,{className:H.tableWrap,children:[e.export===!0&&(0,Y.jsx)(Ts,{columns:i,rows:a}),(0,Y.jsxs)(`table`,{className:H.table,children:[(0,Y.jsx)(`thead`,{children:(0,Y.jsx)(`tr`,{children:i.map((e,t)=>(0,Y.jsx)(`th`,{className:w[t]?H.thNum:void 0,"aria-sort":c!==null&&c.col===t?c.dir===1?`ascending`:`descending`:`none`,children:(0,Y.jsxs)(`button`,{type:`button`,className:H.thSort,onClick:()=>ne(t),children:[K(e,!1),c!==null&&c.col===t&&(0,Y.jsx)(`span`,{className:H.thSortMark,"aria-hidden":!0,children:c.dir===1?` ▲`:` ▼`})]})},t))})}),(0,Y.jsx)(`tbody`,{children:C.map((n,r)=>{let a=n.header?.index??r,o=u.has(a);return(0,Y.jsxs)(d.Fragment,{children:[n.header!==null&&(0,Y.jsx)(`tr`,{className:H.groupRow,children:(0,Y.jsx)(`td`,{colSpan:i.length,children:(0,Y.jsxs)(`button`,{type:`button`,className:H.groupToggle,"aria-expanded":!o,onClick:()=>ee(a),children:[(0,Y.jsx)(`span`,{className:H.groupChevron,"aria-hidden":!0,children:o?`▸`:`▾`}),K(String(n.header.row[0]),!1),(0,Y.jsx)(`span`,{className:H.groupCount,children:n.children.length})]})})}),!o&&n.children.map(r=>{let a=e.details?.[r.index]??null,o=p.has(r.index);return(0,Y.jsxs)(d.Fragment,{children:[(0,Y.jsx)(`tr`,{className:n.header===null?void 0:H.groupChild,children:r.row.slice(0,i.length).map((e,t)=>t===0&&a!==null?(0,Y.jsx)(`td`,{className:H.detailCell,children:(0,Y.jsxs)(`button`,{type:`button`,className:H.detailToggle,"aria-expanded":o,onClick:()=>te(r.index),children:[(0,Y.jsx)(`span`,{className:H.detailChevron,"data-open":o,"aria-hidden":!0,children:`▸`}),K(String(e),!1)]})},t):oe(e,t,r.index))}),o&&a!==null&&(0,Y.jsx)(`tr`,{className:H.detailRow,children:(0,Y.jsx)(`td`,{colSpan:i.length,children:(0,Y.jsx)(`div`,{className:H.detailBody,children:t===void 0?null:t(a)})})})]},r.index)})]},n.header===null?`s-${r}`:`g-${n.header.index}`)})}),y>0&&(0,Y.jsx)(`tfoot`,{children:(0,Y.jsx)(`tr`,{className:H.filterRow,children:(0,Y.jsx)(`td`,{colSpan:i.length,children:q(`block.filteredRows`,{visible:v.length,total:a.length})})})}),ie&&(0,Y.jsx)(`tfoot`,{children:(0,Y.jsx)(`tr`,{children:i.map((e,t)=>(0,Y.jsx)(`td`,{className:w[t]?H.tdNum:void 0,children:t===0?q(`block.total`):re[t]===null?``:ae(re[t])},t))})})]})]})});function Os(){let[e,t]=(0,d.useState)(null);return{tip:e,show:(0,d.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,d.useCallback)(()=>t(null),[])}}function ks({tip:e}){return e===null?null:(0,Y.jsx)(`div`,{className:H.chartTip,style:{left:`${e.x}px`,top:`${e.y}px`},role:`tooltip`,children:e.rows.map(([e,t],n)=>(0,Y.jsxs)(`span`,{className:H.chartTipRow,children:[(0,Y.jsx)(`span`,{children:K(e)}),(0,Y.jsx)(`span`,{className:H.chartTipValue,children:K(String(t))})]},`${e}-${n}`))})}function As(){let e=(0,d.useRef)(null),[t,n]=(0,d.useState)(560);return(0,d.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 js(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 Ms(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 Ns(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 Ps(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 Fs({ticks:e,lo:t,span:n}){return(0,Y.jsx)(`div`,{className:H.chartYAxis,style:{height:160},children:e.map(e=>(0,Y.jsx)(`span`,{className:H.chartYTick,style:{bottom:`${(e-t)/n*100}%`},children:Ms(e)},e))})}let Is=(0,d.memo)(function({chart:e,filterValue:t}){let n=(0,d.useMemo)(()=>Ls(e,t),[e,t]),r=n.kind??`bars`;return r===`donut`?(0,Y.jsx)(Bs,{chart:n}):r===`line`?(0,Y.jsx)(zs,{chart:n}):(0,Y.jsx)(Rs,{chart:n})});function Ls(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 Rs=(0,d.memo)(function({chart:e}){J();let{tip:t,show:n,hide:r}=Os(),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)=>_s(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=>Ns(e[t]??0)),0)),h=Math.max(...f?p:u,0);if(e.horizontal===!0){let e=Math.max(h,1),u=a?(0,Y.jsx)(`div`,{className:H.chartLegend,children:i.map((e,t)=>(0,Y.jsxs)(`span`,{className:H.legendItem,children:[(0,Y.jsx)(`span`,{className:H.legendSwatch,style:{background:l[t]}}),K(e.label)]},t))}):null;return(0,Y.jsxs)(`div`,{className:H.chart,"data-genui-chart":`bars`,role:`img`,"aria-label":q(`block.chart.barsAria`,{count:s.length}),onMouseLeave:r,children:[(0,Y.jsx)(`div`,{className:H.hbars,children:s.map((t,r)=>(0,Y.jsxs)(`div`,{className:H.hbarRow,children:[(0,Y.jsx)(`span`,{className:H.hbarLabel,title:t,children:K(t)}),(0,Y.jsx)(`div`,{className:H.hbarTracks,children:f?(0,Y.jsx)(`div`,{className:H.hbarTrack,title:`${t}: ${Ps(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,Y.jsx)(`div`,{className:H.hbarSeg,style:{width:`${c}%`,background:l[a]},onMouseEnter:e=>n(e,[[i[a].label,String(o)],[q(`block.total`),Ps(s,m[r]??0)]]),onMouseMove:e=>n(e,[[i[a].label,String(o)],[q(`block.total`),Ps(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,Y.jsx)(`div`,{className:H.hbarTrack,children:(0,Y.jsx)(`div`,{className:H.hbarFill,style:{width:`${u}%`,background:l[s]},onMouseEnter:e=>n(e,a?[[i[s].label,String(c)],[q(`block.total`),Ps(p[r]??0,m[r]??0)]]:[[t,String(c)]]),onMouseMove:e=>n(e,a?[[i[s].label,String(c)],[q(`block.total`),Ps(p[r]??0,m[r]??0)]]:[[t,String(c)]])})},s)})}),d&&(0,Y.jsx)(`span`,{className:H.hbarValue,children:a?Ps(p[r]??0,m[r]??0):String(o[r]?.value??``)})]},r))}),u,(0,Y.jsx)(ks,{tip:t})]})}let g=js(a?0:Math.min(...u,0),h,4),_=g[0],v=g[g.length-1]-_||1,y=e=>(e-_)/v*100,b=y(0),x=q(`block.chart.barsSummary`,{count:s.length,max:Ms(Math.max(...u,0))});return(0,Y.jsxs)(`div`,{className:H.chart,"data-genui-chart":`bars`,role:`img`,"aria-label":x,onMouseLeave:r,children:[(0,Y.jsx)(ks,{tip:t}),(0,Y.jsxs)(`div`,{className:H.chartBody,children:[(0,Y.jsx)(Fs,{ticks:g,lo:_,span:v}),(0,Y.jsxs)(`div`,{className:H.chartPlot,children:[g.map(e=>(0,Y.jsx)(`span`,{className:e===0?H.baseline:H.gridline,style:{bottom:`${y(e)}%`}},e)),s.map((e,t)=>(0,Y.jsx)(`div`,{className:H.barCol,children:f?(0,Y.jsxs)(Y.Fragment,{children:[d&&(0,Y.jsx)(`span`,{className:H.barValue,style:{bottom:`calc(${y(p[t]??0)}% + 4px)`},children:Ps(p[t]??0,m[t]??0)}),(0,Y.jsx)(`div`,{className:H.stack,style:{height:`${Math.max(0,y(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*y(s),u=[[e.label,String(a)],[q(`block.total`),Ps(s,m[t]??0)]];return(0,Y.jsx)(`div`,{className:H.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,Y.jsx)(`span`,{className:H.stackValue,children:a})},r)})})]}):a?(0,Y.jsx)(`div`,{className:H.groupedBars,children:i.map((e,r)=>{let i=e.data[t],a=i===void 0?0:Number(i.value)||0;return(0,Y.jsxs)(`div`,{className:H.groupedBar,children:[d&&(0,Y.jsx)(`span`,{className:H.groupValue,children:i===void 0?``:String(i.value)}),(0,Y.jsx)(`div`,{className:H.groupedFill,style:{height:`${Math.max(0,y(Math.max(0,a)))}%`,background:l[r]},onMouseEnter:r=>n(r,[[e.label,String(i?.value??``)],[q(`block.total`),Ps(p[t]??0,m[t]??0)]]),onMouseMove:r=>n(r,[[e.label,String(i?.value??``)],[q(`block.total`),Ps(p[t]??0,m[t]??0)]])})]},r)})}):(()=>{let r=c[0][t]??0,i=Math.max(y(r),b),a=Math.min(y(r),b);return(0,Y.jsxs)(Y.Fragment,{children:[d&&(0,Y.jsx)(`span`,{className:H.barValue,style:{bottom:`calc(${i}% + 4px)`},children:String(o[t]?.value??``)}),(0,Y.jsx)(`div`,{className:H.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,Y.jsx)(`div`,{className:H.chartLabels,children:s.map((e,t)=>(0,Y.jsx)(`span`,{className:H.barLabel,children:K(e)},`${e}-${t}`))}),a&&(0,Y.jsx)(`div`,{className:H.chartLegend,children:i.map((e,t)=>(0,Y.jsxs)(`span`,{className:H.legendItem,children:[(0,Y.jsx)(`span`,{className:H.legendSwatch,style:{background:l[t]}}),K(e.label)]},t))})]})}),zs=(0,d.memo)(function({chart:e}){J();let[t,n]=As(),{tip:r,show:i,hide:a}=Os(),o=`genui-line-${(0,d.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)),f=u.map((t,n)=>_s(n,u.length,s===void 0?void 0:s[n]?.color,e.palette)??`var(--dsl-g-accent)`),p=u.length>1,m=u.flat(),h=Math.max(...u.map(e=>e.length),0),g=Math.max(n,260),_=js(Math.min(...m,0),Math.max(...m,0),4),v=_[0],y=_[_.length-1]-v||1,b=g-44-12,x=e=>44+(h<=1?b/2:e/(h-1)*b),S=e=>14+(1-(e-v)/y)*136,C=u.map(e=>e.map((e,t)=>`${t===0?`M`:`L`} ${x(t).toFixed(1)} ${S(e).toFixed(1)}`).join(` `)),w=!p&&h>1?`${C[0]} L ${x(h-1).toFixed(1)} ${S(v).toFixed(1)} L ${x(0).toFixed(1)} ${S(v).toFixed(1)} Z`:null,ee=Math.max(1,Math.ceil(h/Math.max(1,Math.floor(b/64)))),te=q(p?`block.chart.lineSeries`:`block.chart.linePoints`,{count:p?u.length:h,min:Ms(Math.min(...m,0)),max:Ms(Math.max(...m,0))});return(0,Y.jsxs)(`div`,{className:H.lineChart,"data-genui-chart":`line`,"data-genui-line":!0,ref:t,role:`img`,"aria-label":te,onMouseLeave:a,children:[(0,Y.jsx)(ks,{tip:r}),(0,Y.jsxs)(`svg`,{width:`100%`,viewBox:`0 0 ${g} 176`,preserveAspectRatio:`none`,children:[(0,Y.jsx)(`defs`,{children:(0,Y.jsxs)(`linearGradient`,{id:o,x1:`0`,y1:`0`,x2:`0`,y2:`1`,children:[(0,Y.jsx)(`stop`,{offset:`0%`,stopColor:`var(--dsl-g-accent)`,stopOpacity:`0.22`}),(0,Y.jsx)(`stop`,{offset:`100%`,stopColor:`var(--dsl-g-accent)`,stopOpacity:`0.02`})]})}),_.map((e,t)=>{let n=S(e);return(0,Y.jsxs)(`g`,{children:[(0,Y.jsx)(`line`,{x1:44,x2:g-12,y1:n,y2:n,className:t===0?H.lineGridAxis:H.lineGrid}),(0,Y.jsx)(`text`,{x:36,y:n+4,textAnchor:`end`,className:H.lineTick,children:Ms(e)})]},e)}),w!==null&&(0,Y.jsx)(`path`,{d:w,fill:`url(#${o})`}),C.map((e,t)=>(0,Y.jsx)(`path`,{d:e,className:H.linePath,style:{stroke:f[t]}},t)),u.map((e,t)=>e.map((e,n)=>{let r=p?[[s[t].label,String(e)],[q(`block.chart.node`),l[n]??``]]:[[l[n]??``,String(e)]];return(0,Y.jsx)(`circle`,{cx:x(n),cy:S(e),r:p?3:3.5,className:H.lineDot,style:{fill:f[t]},onMouseEnter:e=>i(e,r),onMouseMove:e=>i(e,r)},`${t}-${n}`)})),l.map((e,t)=>t%ee===0?(0,Y.jsx)(`text`,{x:x(t),y:168,textAnchor:`middle`,className:H.lineLabel,children:e},`l-${t}`):null)]}),p&&(0,Y.jsx)(`div`,{className:H.chartLegend,children:s.map((e,t)=>(0,Y.jsxs)(`span`,{className:H.legendItem,children:[(0,Y.jsx)(`span`,{className:H.legendSwatch,style:{background:f[t]}}),K(e.label)]},t))})]})}),Bs=(0,d.memo)(function({chart:e}){J();let{tip:t,show:n,hide:r}=Os(),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=q(`block.chart.donutSummary`,{count:a.length,total:s});return(0,Y.jsxs)(`div`,{className:H.donut,"data-genui-chart":`donut`,"data-genui-donut":!0,role:`img`,"aria-label":u,onMouseLeave:r,children:[(0,Y.jsx)(ks,{tip:t}),(0,Y.jsxs)(`svg`,{width:160,height:160,viewBox:`0 0 160 160`,children:[(0,Y.jsx)(`circle`,{cx:80,cy:80,r:62,fill:`none`,strokeWidth:18,className:H.donutTrack}),a.map((t,r)=>{let a=t.v/o,s=a*c,u=(0,Y.jsx)(`circle`,{cx:80,cy:80,r:62,fill:`none`,strokeWidth:18,className:H.donutSeg,style:{stroke:_s(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,Y.jsx)(`text`,{x:80,y:78,textAnchor:`middle`,className:H.donutTotal,children:s}),(0,Y.jsx)(`text`,{x:80,y:96,textAnchor:`middle`,className:H.donutTotalLabel,children:q(`block.total`)})]}),(0,Y.jsx)(`div`,{className:H.donutLegend,children:a.map((t,n)=>(0,Y.jsxs)(`span`,{className:H.legendItem,children:[(0,Y.jsx)(`span`,{className:H.legendSwatch,style:{background:_s(n,i.length,t.color,e.palette)??`var(--dsw-alias-state-business-primary, #4f8ef7)`}}),(0,Y.jsx)(`span`,{children:K(t.label)}),(0,Y.jsxs)(`span`,{className:H.donutPct,children:[String(t.value),` · `,(t.v/o*100).toFixed(1),`%`]})]},n))})]})});function Vs({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,d.useState)(s>=0?s:e.selected??null),u=(0,d.useId)(),f=a&&n?.locked===!0;return(0,d.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,Y.jsxs)(`div`,{className:H.fieldGroup,role:`radiogroup`,"aria-label":e.label,children:[e.label!==void 0&&(0,Y.jsx)(`span`,{className:H.fieldLabel,children:K(e.label,!1)}),o.map((e,o)=>(0,Y.jsxs)(`label`,{className:H.radio,children:[(0,Y.jsx)(`input`,{type:`radio`,name:`genui-radio-${u}`,checked:c===o,disabled:f,onChange:()=>{l(o),a?n?.setAnswer(i,e):r!==void 0&&t!==void 0&&t(r,{type:`radio`,value:e})}}),(0,Y.jsx)(`span`,{children:K(e,!1)})]},o))]})}function Hs(e){if(e.answer!==void 0)return typeof e.answer==`number`?e.options[e.answer]:e.answer}function Us({node:e,onAction:t,answers:n}){let r=J(),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),g=n?.locked===!0,_={...i,...a},v=f>0&&f>=p&&(h||e.action!==void 0&&t!==void 0);if(g){let a=m.filter(e=>i[e]!==void 0&&s[e]?.answer!==void 0),o=a.filter(e=>i[e]===Hs(s[e])).length;return(0,Y.jsxs)(`div`,{className:H.gradeWrap,"data-genui-grade":!0,children:[(0,Y.jsxs)(`div`,{className:H.gradeScore,children:[(0,Y.jsxs)(`span`,{className:H.gradeScoreValue,children:[o,` / `,a.length]}),(0,Y.jsxs)(`span`,{className:H.gradeScoreLabel,children:[r(`block.score`),a.length<m.length?r(`block.scoreUngraded`,{count:m.length-a.length}):``]})]}),(0,Y.jsx)(`div`,{className:H.gradeList,children:m.map(e=>{let t=i[e],n=s[e];if(t===void 0||n===void 0)return null;let a=Hs(n);if(a===void 0)return(0,Y.jsxs)(`div`,{className:H.gradeItem,children:[(0,Y.jsx)(`span`,{className:H.gradeQ,children:K(n.label)}),(0,Y.jsxs)(`span`,{className:H.gradeAns,children:[r(`block.yourAnswer`),K(t)]})]},e);let o=t===a;return(0,Y.jsxs)(`div`,{className:`${H.gradeItem} ${o?H.gradeItemOk:H.gradeItemNo}`,children:[(0,Y.jsx)(`span`,{className:H.gradeQ,children:K(n.label)}),(0,Y.jsx)(`span`,{className:H.gradeTag,children:o?`✓`:`✗`}),(0,Y.jsxs)(`span`,{className:H.gradeAns,children:[r(`block.yourAnswer`),K(t),!o&&(0,Y.jsxs)(`span`,{className:H.gradeRight,children:[r(`block.correctAnswer`),K(a??``)]})]}),n.explanation!==void 0&&(0,Y.jsx)(`span`,{className:H.gradeExp,children:K(n.explanation)})]},e)})}),(0,Y.jsx)(`button`,{type:`button`,className:`${H.button} ${H.ghost} ${H.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,Y.jsxs)(`div`,{className:H.submitRow,children:[(0,Y.jsx)(`button`,{type:`button`,className:`${H.button} ${H.primary} ${H.submit}`,disabled:!v,onClick:v?()=>{h?n?.setLocked(!0):e.action!==void 0&&t!==void 0&&t(e.action,{type:`submit`,answers:_,...Object.keys(l).length>0?{fields:l}:{},total:p,answered:f})}:void 0,children:K(e.label,!1)}),p>0&&(0,Y.jsx)(`span`,{className:H.submitHint,"aria-live":`polite`,children:r(`block.selectedCount`,{answered:f,total:p})})]})}function Ws({node:e,onAction:t}){let[n,r]=(0,d.useState)(e.checked===!0),i=e.action;return(0,Y.jsxs)(`label`,{className:H.switchRow,children:[(0,Y.jsx)(`span`,{className:H.switchLabel,children:K(e.label,!1)}),(0,Y.jsx)(`button`,{type:`button`,role:`switch`,"aria-checked":n,className:`${H.switch} ${n?H.switchOn:``}`,onClick:()=>{let e=!n;r(e),i!==void 0&&t!==void 0&&t(i,{type:`switch`,checked:e})},children:(0,Y.jsx)(`span`,{className:H.switchKnob})})]})}function Gs({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,d.useState)(o),l=(0,d.useRef)(!1);(0,d.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,Y.jsxs)(`label`,{className:H.sliderRow,children:[e.label!==void 0&&(0,Y.jsx)(`span`,{className:H.fieldLabel,children:K(e.label,!1)}),(0,Y.jsx)(`input`,{type:`range`,className:H.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,Y.jsx)(`span`,{className:H.sliderValue,children:Math.round(s*100)/100})]})}function Ks(){let e=(0,d.useRef)(!1),t=(0,d.useRef)(null);return(0,d.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 qs(e){let t=e.nativeEvent;return t.isComposing===!0||t.keyCode===229}function Js({node:e,onAction:t,answers:n}){let r=J(),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,d.useState)(c),f=(0,d.useRef)(!1);(0,d.useEffect)(()=>{f.current||(f.current=!0,a!==void 0&&c!==null&&n?.setField(a,c))},[]);let p=e=>{i!==void 0&&t!==void 0&&t(i,{type:`select`,value:e,...a===void 0?{}:{id:a}})};return(0,Y.jsxs)(`label`,{className:H.field,children:[e.label!==void 0&&(0,Y.jsx)(`span`,{children:K(e.label,!1)}),(0,Y.jsxs)(`select`,{className:H.select,value:l??``,onChange:e=>{let t=e.currentTarget.value;u(t),a!==void 0&&n?.setField(a,t),p(t)},children:[l===null&&(0,Y.jsx)(`option`,{value:``,hidden:!0,disabled:!0,children:r(`block.selectPlaceholder`)}),o.map((e,t)=>(0,Y.jsx)(`option`,{value:e,children:e},t))]})]})}function Ys({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,d.useState)(()=>{let t=a?``:o??e.value??``;return e.inputType===`color`?/^#[0-9a-f]{6}$/i.test(t)?t.toLowerCase():`#000000`:t}),l=(0,d.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}:{}}))},f=Ks(),p=(0,d.useRef)(!1);return(0,d.useEffect)(()=>{p.current||(p.current=!0,!a&&i!==void 0&&s.trim()!==``&&n?.setField(i,s))},[]),(0,d.useEffect)(()=>{a&&i!==void 0&&n?.registerSecretField(i)},[a,i]),(0,Y.jsxs)(`label`,{className:H.field,children:[e.label!==void 0&&(0,Y.jsx)(`span`,{children:K(e.label,!1)}),(0,Y.jsx)(`input`,{className:H.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:f.onCompositionStart,onCompositionEnd:f.onCompositionEnd,onKeyDown:e=>{e.key===`Enter`&&(f.isComposing()||qs(e)||(e.preventDefault(),u(!0)))}})]})}function Xs({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,d.useState)(()=>a??e.value??``),c=(0,d.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=Ks(),f=(0,d.useRef)(!1);return(0,d.useEffect)(()=>{f.current||(f.current=!0,i!==void 0&&o.trim()!==``&&n?.setField(i,o))},[]),(0,Y.jsxs)(`label`,{className:H.field,children:[e.label!==void 0&&(0,Y.jsx)(`span`,{children:K(e.label,!1)}),(0,Y.jsx)(`textarea`,{className:H.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()||qs(e)||(e.preventDefault(),l(!0))}})]})}function Zs({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,d.useState)(e.checked===!0);return(0,d.useEffect)(()=>{r===void 0||e.checked!==!0||a||n?.setMultiAnswer(r,e.label,!0)},[r,e.checked,e.label,a]),(0,Y.jsxs)(`label`,{className:H.checkbox,children:[(0,Y.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,Y.jsx)(`span`,{children:K(e.label,!1)})]})}let Qs={pi:Math.PI,e:Math.E,tau:Math.PI*2},$s={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 ec=class extends Error{pos;constructor(e,t){super(`SafeMath parse error at ${t}: ${e}`),this.pos=t}},tc=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 ec(`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 ec(`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 ec(`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 ec(`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 ec(`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 ec(`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=$s[t];if(n===void 0)throw new ec(`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 ec(`expected , or ) in call`,this.i)}return e=>n(...r.map(t=>this.asNum(t,e)))}if(Object.hasOwn(Qs,t))return Qs[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 ec(`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 ec(`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 nc(e,t={}){try{let n={...t.vars};return delete n.x,new tc(e,n).parse()}catch{return null}}function rc(e,t,n,r=200,i={}){let a=nc(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 ic=`@changfenhuang/dsh-genui/PlotBlock.module.css`;if(typeof document<`u`&&document.querySelector(`style[data-plugin-css=`+JSON.stringify(ic)+`]`)===null){let e=document.createElement(`style`);e.dataset.plugin=`@changfenhuang/dsh-genui`,e.dataset.pluginCss=ic,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 ac={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 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)=>n??(t>1?oc[e%oc.length]:void 0);function cc(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 lc(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 uc(e){return Math.abs(e)>=1e5||Math.abs(e)<.001&&e!==0?e.toExponential(1):String(Math.round(e*100)/100)}function dc({points:e,className:t,color:n}){let r=e.length>40?`${e.slice(0,16)}|${e.slice(-16)}`:e;return(0,Y.jsx)(`polyline`,{points:e,className:t,style:n===void 0?void 0:{stroke:n}},r)}let fc=(0,d.memo)(function({series:e,xMin:t=-5,xMax:n=5,yMin:r,yMax:i,title:a}){let[o,s]=(0,d.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]=cc(e.map((e,r)=>{let i={};for(let t of e.params??[])t!=null&&(i[t.name]=a[`${r}:${t.name}`]??t.value);return rc(e.expr,t,n,240,i)}).flatMap(e=>e));return{xMin:t,xMax:n,yMin:r??o,yMax:i??s}}),c=(0,d.useRef)(null),[l,u]=(0,d.useState)(()=>({})),f=(()=>{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})(),[p,m]=(0,d.useState)(!1),[h,g]=(0,d.useState)(0),_=(0,d.useRef)(null);(0,d.useEffect)(()=>{if(!p||f===null)return;let e=`${f.si}:${f.param.name}`,t=l[e]??f.param.value,n=f.param.animateTo,r=Math.max(0,f.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})),g(s),s<1?_.current=requestAnimationFrame(a):f.param.loop===!0?(t=f.param.value,i=o,u(n=>({...n,[e]:t})),g(0),_.current=requestAnimationFrame(a)):(_.current=null,m(!1))};return _.current=requestAnimationFrame(a),()=>{_.current!==null&&cancelAnimationFrame(_.current),_.current=null}},[p,f?.si,f?.param.name,f?.param.value,f?.param.animateTo,f?.param.durationMs,f?.param.loop]);let v=o.xMin,y=o.xMax,b=o.yMin,x=o.yMax,S=e=>v+(e-34)/436*(y-v),C=e=>34+(e-v)/(y-v)*436,w=e=>14+(1-(e-b)/(x-b))*182,ee=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:rc(e.expr,v,y,240,n).map(([e,t])=>`${C(e).toFixed(2)},${w(t).toFixed(2)}`).join(` `)}}),te=lc(v,y),ne=lc(b,x),re=ee.some(e=>e.points.length>1),ie=Number.isFinite(v)&&Number.isFinite(y)&&y>v&&Number.isFinite(x)&&Number.isFinite(b)&&x>b,ae=(e,t,n)=>{let r=sc(t,ee.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,Y.jsx)(`g`,{children:e.map(([e,t],n)=>(0,Y.jsx)(`circle`,{cx:e,cy:t,r:2.6,className:ac.scatterDot,style:{fill:r}},n))},t)}if(i===`area`){if(n===``)return(0,Y.jsx)(dc,{points:``,className:ac.line,color:r},t);let e=n.slice(0,n.indexOf(` `)).split(`,`)[0],i=n.slice(n.lastIndexOf(` `)+1).split(`,`)[0],a=w(b),o=`${e},${a.toFixed(2)} ${n} ${i},${a.toFixed(2)}`;return(0,Y.jsx)(`polygon`,{points:o,className:ac.area,style:{fill:r}},t)}return(0,Y.jsx)(dc,{points:n,className:ac.line,color:r},t)},oe=e=>{c.current={startX:e.clientX,startY:e.clientY,xMin:v,xMax:y},e.target.setPointerCapture?.(e.pointerId)},se=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}))},ce=()=>{c.current=null},le=(0,d.useRef)(null);(0,d.useEffect)(()=>{let e=le.current;if(e===null)return;let t=t=>{if(!t.metaKey&&!t.ctrlKey)return;t.preventDefault();let n=y-v,r=n*(t.deltaY>0?1.15:1/1.15),i=e.getBoundingClientRect(),a=S((t.clientX-i.left)/i.width*480),o=a-(a-v)/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)},[v,y,S]);let ue=e.some(e=>(e.params?.length??0)>0),de=(0,d.useRef)({min:t,max:n}),fe=Math.abs(v-de.current.min)>1e-6||Math.abs(y-de.current.max)>1e-6;return(0,Y.jsxs)(`div`,{className:ac.block,"data-genui-plot":!0,children:[a!==void 0&&(0,Y.jsx)(`div`,{className:ac.title,children:K(a)}),re&&ie&&(0,Y.jsxs)(`div`,{className:ac.plotTools,children:[(0,Y.jsx)(`span`,{className:ac.plotHint,children:fe?`x ∈ [${uc(v)}, ${uc(y)}]`:`⌘/Ctrl + 滚轮缩放 · 拖拽平移`}),fe&&(0,Y.jsx)(`button`,{type:`button`,className:ac.plotReset,onClick:()=>{s(e=>({...e,xMin:de.current.min,xMax:de.current.max}))},children:`↺ 回到初始区间`})]}),re&&ie?(0,Y.jsxs)(`svg`,{width:`100%`,viewBox:`0 0 480 220`,role:`img`,"aria-label":a??`function plot`,className:ac.surface,ref:le,onPointerDown:oe,onPointerMove:se,onPointerUp:ce,onPointerLeave:ce,children:[ne.map(e=>(0,Y.jsxs)(`g`,{children:[(0,Y.jsx)(`line`,{x1:34,x2:470,y1:w(e),y2:w(e),className:ac.gridLine}),(0,Y.jsx)(`text`,{x:28,y:w(e)+4,className:ac.tick,textAnchor:`end`,children:uc(e)})]},`y${e}`)),te.map(e=>(0,Y.jsxs)(`g`,{children:[(0,Y.jsx)(`line`,{x1:C(e),x2:C(e),y1:14,y2:196,className:ac.gridLine}),(0,Y.jsx)(`text`,{x:C(e),y:210,className:ac.tick,textAnchor:`middle`,children:uc(e)})]},`x${e}`)),(0,Y.jsx)(`line`,{x1:34,x2:470,y1:196,y2:196,className:ac.axis}),(0,Y.jsx)(`line`,{x1:34,x2:34,y1:14,y2:196,className:ac.axis}),ee.map(({series:e,points:t},n)=>ae(e,n,t))]}):(0,Y.jsx)(`div`,{className:ac.empty,children:e.map((e,t)=>(0,Y.jsxs)(`div`,{className:ac.emptyRow,children:[e.expr,` — 无法绘制(表达式无效或范围非法)`]},t))}),ue&&(0,Y.jsxs)(`div`,{className:ac.sliders,children:[(0,Y.jsxs)(`div`,{className:ac.slidersHead,children:[(0,Y.jsx)(`span`,{className:ac.slidersTitle,children:`参数调节`}),(0,Y.jsx)(`button`,{type:`button`,className:ac.resetBtn,onClick:()=>{m(!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),g(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,Y.jsxs)(`label`,{className:ac.sliderRow,children:[(0,Y.jsxs)(`span`,{className:ac.sliderName,children:[e.label??e.expr,` · `,n.name]}),(0,Y.jsx)(`input`,{type:`range`,className:ac.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,Y.jsx)(`span`,{className:ac.sliderValue,children:Math.round(i*100)/100})]},r)}))]}),f!==null&&(0,Y.jsxs)(`div`,{className:ac.animBar,children:[(0,Y.jsx)(`button`,{type:`button`,className:ac.playBtn,onClick:()=>{p?m(!1):(u(e=>({...e,[`${f.si}:${f.param.name}`]:f.param.value})),g(0),m(!0))},children:p?`⏸ 暂停`:`▶ 播放动画`}),p&&(0,Y.jsx)(`div`,{className:ac.animTrack,children:(0,Y.jsx)(`div`,{className:ac.animFill,style:{width:`${h*100}%`}})})]}),(e.length>1||ue)&&(0,Y.jsx)(`div`,{className:ac.legend,children:e.map((t,n)=>(0,Y.jsxs)(`span`,{className:ac.legendItem,children:[(0,Y.jsx)(`span`,{className:ac.legendSwatch,style:{background:sc(n,e.length,t.color)??`var(--dsw-alias-state-business-primary, #4f8ef7)`}}),t.label??t.expr]},n))})]})});function Z(){return{copy:q(`label.copy`),copied:q(`label.copied`),codeLabel:q(`label.code`),wrapLabel:q(`label.wrap`),unwrapLabel:q(`label.unwrap`),collapseAria:q(`label.collapseDiff.aria`),expandAria(e){return q(`label.expandDiff.aria`,{hidden:e})},collapse:q(`label.collapse`),expand(e){return q(`label.expandDiff`,{hidden:e})},files(e){return q(`label.diffFiles`,{count:e})}}}function pc(){return{copyLabel:q(`label.copy`),copiedLabel:q(`label.copied`)}}function mc(){return{copyValue:q(`label.copyValue`),copyJson:q(`label.copyJson`),copyPath:q(`label.copyPath`),copyPrettyJson:q(`label.copyPrettyJson`),copyCompactJson:q(`label.copyCompactJson`),copied:q(`label.copiedDone`),copyFailed:q(`label.copyFailed`),collapseNode:q(`label.collapseNode`),expandNode:q(`label.expandNode`),copyButtonTitle(e){return q(`label.copyButtonTitle`,{action:e})}}}function hc(e){let t=e.replace(/-(\w)/g,(e,t)=>t.toUpperCase()),n=window.__GenuiAssets__?.[t];return n===void 0?Promise.reject(Error(`standalone asset '${e}' was not preloaded`)):Promise.resolve(n)}var gc=t((()=>{}));function _c(e){if(bc.test(e))throw Error(`mermaid output failed the sanitization check; refusing to render`)}function vc(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 yc(e){let t=e.trim(),n=/^([A-Za-z]+)/.exec(t)?.[1]??``;return n===`graph`||n===`flowchart`||!xc.test(t)?e:`graph TD\n${t}`}var bc,xc,Sc=t((()=>{bc=/<script|[\s"']on[a-z]+\s*=|javascript:/i,xc=/-->(?!>)|==>|-\.->/})),Cc=r({assertSafeSvg:()=>_c,ensureFlowchartKind:()=>yc,renderMermaid:()=>wc,repairMermaidSource:()=>vc});async function wc(e){return(await hc(`mermaid`)).renderMermaid(e)}var Tc=t((()=>{gc(),Sc()})),Ec=r({mountScene:()=>Dc});async function Dc(e,t){return(await hc(`three`)).mountScene(e,t)}var Oc=t((()=>{gc()}));let kc={info:H.calloutInfo,success:H.calloutSuccess,warning:H.calloutWarning,error:H.calloutError},Ac=(0,d.memo)(function({node:e}){let t=e.tone??`info`,n=kc[t]??H.calloutInfo;return(0,Y.jsxs)(`div`,{className:`${H.callout} ${n}`,"data-genui-callout":!0,children:[e.title!==void 0&&(0,Y.jsx)(`div`,{className:H.calloutTitle,children:K(e.title)}),(0,Y.jsx)(`div`,{className:H.calloutBody,children:K(e.content)})]})}),jc=(0,d.memo)(function({steps:e}){let t=e.steps.slice(0,X.maxSteps),n=e.current??t.length;return(0,Y.jsx)(`ol`,{className:H.steps,children:t.map((e,t)=>{let r=t<n,i=t===n;return(0,Y.jsxs)(`li`,{className:`${H.step} ${r?H.stepDone:``} ${i?H.stepActive:``}`,children:[(0,Y.jsx)(`span`,{className:H.stepMarker,children:r?`✓`:String(t+1)}),(0,Y.jsxs)(`span`,{className:H.stepContent,children:[(0,Y.jsx)(`span`,{className:H.stepTitle,children:K(e.title)}),e.desc!==void 0&&(0,Y.jsx)(`span`,{className:H.stepDesc,children:K(e.desc)})]})]},t)})})}),Mc=(0,d.memo)(function({node:e}){let t=e.pairs.slice(0,X.maxKeyValuePairs);return(0,Y.jsx)(`dl`,{className:H.keyvalue,children:t.map((e,t)=>(0,Y.jsxs)(`div`,{className:H.kvRow,children:[(0,Y.jsx)(`dt`,{className:H.kvKey,children:K(e.key)}),(0,Y.jsx)(`dd`,{className:H.kvValue,children:K(e.value)})]},t))})}),Nc=(0,d.memo)(function({plot:e}){let t=(0,d.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,Y.jsx)(fc,{series:t,xMin:e.xMin,xMax:e.xMax,yMin:e.yMin,yMax:e.yMax,title:e.title})}),Pc=(0,d.memo)(function({node:e}){return J(),(0,Y.jsx)(ko,{diffs:e.diffs,labels:Z()})}),Fc=(0,d.memo)(function({node:e}){J();let t=e.value;return typeof t!=`object`||!t?(0,Y.jsx)(`div`,{className:H.jsonScalar,children:String(t)}):(0,Y.jsx)(Ao,{data:t,label:`JSON`,labels:mc(),copyable:!0})}),Ic=(0,d.memo)(function({node:e}){return J(),(0,Y.jsx)(Oo,{...pc(),code:e.code.slice(0,X.maxCode),lang:e.lang})});function Lc({tabs:e,onAction:t,depth:n=0,answers:r}){let[i,a]=(0,d.useState)(0),o=(0,d.useId)(),s=e.tabs.slice(0,X.maxTabs),c=s.length===0?0:Math.min(i,s.length-1),l=s[c];(0,d.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,Y.jsxs)(`div`,{className:H.tabs,children:[(0,Y.jsx)(`div`,{className:H.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,Y.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:`${H.tab} ${t===c?H.tabActive:``}`,onClick:()=>a(t),children:K(e.label,!1)},t))}),l!==void 0&&(0,Y.jsx)(`div`,{className:H.col,role:`tabpanel`,id:`${o}-panel-${c}`,"aria-labelledby":`${o}-tab-${c}`,children:l.items.map((e,i)=>Zl(e,i,t,n+1,r))})]})}function Rc({node:e,onAction:t,depth:n=0,answers:r}){let[i,a]=(0,d.useState)(0),o=(0,d.useId)(),s=e.items.slice(0,X.maxAccordionItems);return(0,Y.jsx)(`div`,{className:H.accordion,children:s.map((e,s)=>(0,Y.jsxs)(`div`,{className:H.accItem,children:[(0,Y.jsxs)(`button`,{type:`button`,className:H.accHead,id:`${o}-head-${s}`,"aria-expanded":i===s,"aria-controls":`${o}-body-${s}`,onClick:()=>a(i===s?null:s),children:[(0,Y.jsx)(`span`,{className:H.accTitle,children:K(e.title,!1)}),(0,Y.jsx)(`span`,{className:H.accChevron,"data-open":i===s,"aria-hidden":!0,children:`▸`})]}),i===s&&(0,Y.jsx)(`div`,{className:H.accBody,id:`${o}-body-${s}`,"aria-labelledby":`${o}-head-${s}`,children:e.items.map((e,i)=>Zl(e,i,t,n+1,r))})]},s))})}async function zc(e){let t=typeof navigator.clipboard?.writeText==`function`,n=await jo(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 Bc=(0,d.memo)(function({node:e}){let t=J(),[n,r]=(0,d.useState)(!1);return(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`button`,{type:`button`,className:`${H.copyChip} ${n?H.copyChipDone:``}`,onClick:()=>{zc(e.text).then(e=>{e&&(r(!0),setTimeout(()=>r(!1),1500))})},children:n?t(`label.copiedShort`):K(e.label??t(`label.copy`),!1)}),(0,Y.jsx)(`span`,{className:H.visuallyHidden,role:`status`,children:n?t(`label.copiedToClipboard`):``})]})}),Vc=(0,d.memo)(function({node:e}){let t=J(),[n,r]=(0,d.useState)({status:`loading`}),i=e.code.slice(0,X.maxMermaid);return(0,d.useEffect)(()=>{let e=!0;return r({status:`loading`}),(async()=>{try{let t=await(await Promise.resolve().then(()=>(Tc(),Cc))).renderMermaid(i);e&&r({status:`ready`,html:t})}catch{e&&r({status:`error`})}})(),()=>{e=!1}},[i]),n.status===`error`?(0,Y.jsxs)(`div`,{className:H.mermaidFallback,children:[(0,Y.jsx)(`pre`,{children:i}),(0,Y.jsx)(`div`,{className:H.mermaidErr,children:t(`block.mermaidError`)})]}):n.status===`loading`?(0,Y.jsxs)(`div`,{className:H.mermaidFallback,children:[(0,Y.jsx)(`pre`,{children:i}),(0,Y.jsx)(`div`,{className:H.mermaidHint,children:t(`block.mermaidLoading`)})]}):(0,Y.jsx)(`div`,{className:H.mermaid,dangerouslySetInnerHTML:{__html:n.html},"data-genui-mermaid":!0})}),Hc=(0,d.memo)(function({node:e}){let t=J(),[n,r]=(0,d.useState)(`loading`),i=(0,d.useRef)(null),a=e.meshes.length>X.maxMeshes?{...e,meshes:e.meshes.slice(0,X.maxMeshes)}:e;return(0,d.useEffect)(()=>{let e=!0,t;return Promise.resolve().then(()=>(Oc(),Ec)).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,Y.jsxs)(`div`,{className:H.scene3dWrap,"data-genui-scene3d":!0,children:[e.title!==void 0&&(0,Y.jsx)(`div`,{className:H.scene3dTitle,children:K(e.title)}),(0,Y.jsx)(`div`,{ref:i,className:H.scene3dCanvas}),n===`loading`&&(0,Y.jsx)(`div`,{className:H.scene3dHint,children:t(`block.scene3dLoading`)}),n===`error`&&(0,Y.jsx)(`div`,{className:H.scene3dHint,children:t(`block.scene3dError`)})]})}),Uc=(0,d.memo)(function({node:e}){let t=e.items.slice(0,X.maxTimelineItems);return(0,Y.jsx)(`div`,{className:H.timeline,children:t.map((e,n)=>(0,Y.jsxs)(`div`,{className:H.tlItem,children:[(0,Y.jsxs)(`div`,{className:H.tlRail,children:[(0,Y.jsx)(`span`,{className:H.tlDot}),n<t.length-1&&(0,Y.jsx)(`span`,{className:H.tlLine})]}),(0,Y.jsxs)(`div`,{className:H.tlBody,children:[(0,Y.jsxs)(`div`,{className:H.tlHead,children:[(0,Y.jsx)(`span`,{className:H.tlTitle,children:K(e.title,!1)}),e.time!==void 0&&(0,Y.jsx)(`span`,{className:H.tlTime,children:K(e.time)})]}),e.desc!==void 0&&(0,Y.jsx)(`div`,{className:H.tlDesc,children:K(e.desc)})]})]},n))})});function Wc(){return(0,Y.jsx)(`svg`,{width:`14`,height:`14`,viewBox:`0 0 16 16`,"aria-hidden":`true`,focusable:`false`,children:(0,Y.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 Gc(){return(0,Y.jsxs)(`svg`,{width:`14`,height:`14`,viewBox:`0 0 16 16`,"aria-hidden":`true`,focusable:`false`,children:[(0,Y.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,Y.jsx)(`path`,{d:`M8.7 1.7v4.3h4.2`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.2`})]})}let Kc=(0,d.memo)(function({node:e}){let[t,n]=(0,d.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,Y.jsxs)(`div`,{children:[(0,Y.jsxs)(`div`,{className:H.ftRow,style:{paddingLeft:`${n*14+4}px`},children:[Array.from({length:n},(e,t)=>(0,Y.jsx)(`span`,{className:H.ftGuide,style:{left:`${4+t*14+6}px`},"aria-hidden":!0},t)),(0,Y.jsxs)(`button`,{type:`button`,className:H.ftNameBtn,"aria-expanded":o?!s:void 0,onClick:o?()=>r(a):void 0,children:[(0,Y.jsx)(`span`,{className:H.ftChevron,"data-open":o?String(!s):void 0,"aria-hidden":!0,children:o?`▸`:``}),(0,Y.jsx)(`span`,{className:`${H.ftGlyph} ${o?H.ftGlyphDir:``}`,"aria-hidden":!0,children:o?(0,Y.jsx)(Wc,{}):(0,Y.jsx)(Gc,{})}),(0,Y.jsx)(`span`,{className:`${H.ftName} ${o?H.ftDir:``}`,children:e.name})]})]}),o&&!s&&(0,Y.jsx)(`div`,{className:H.ftChildren,children:(e.children??[]).map((e,t)=>i(e,n+1,`${a}/${t}`))})]},a)};return(0,Y.jsx)(`div`,{className:H.fileTree,children:e.items.slice(0,X.maxListItems).map((e,t)=>i(e,0,String(t)))})}),qc=(0,d.memo)(function({node:e,onAction:t}){let n=J(),[r,i]=(0,d.useState)(null),[a,o]=(0,d.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,f=e.action;return(0,Y.jsxs)(`div`,{className:H.quiz,"data-genui-quiz":!0,children:[(0,Y.jsx)(`div`,{className:H.quizQuestion,children:K(e.question)}),(0,Y.jsx)(`div`,{className:H.quizOptions,children:s.map((n,a)=>{let o=r===a,s=c?o?n.correct===!0?H.quizOptCorrect:H.quizOptWrong:n.correct===!0?H.quizOptReveal:H.quizOpt:H.quizOpt;return(0,Y.jsxs)(`button`,{type:`button`,className:s,disabled:c,onClick:()=>{i(a),f!==void 0&&t!==void 0&&t(f,{type:`quiz`,question:e.question,answer:n.label,correct:n.correct===!0})},children:[(0,Y.jsx)(`span`,{className:H.quizMarker,children:c?n.correct===!0?`✓`:o?`✗`:``:o?`●`:`○`}),K(n.label,!1)]},a)})}),c&&(0,Y.jsxs)(`div`,{className:H.quizResult,"aria-live":`polite`,children:[(0,Y.jsxs)(`div`,{className:u?H.quizCorrectMsg:H.quizWrongMsg,children:[n(u?`block.quizCorrect`:`block.quizWrong`),l?.feedback!==void 0&&(0,Y.jsx)(`div`,{className:H.quizFeedback,children:K(l.feedback)})]}),e.explanation!==void 0&&(0,Y.jsx)(`div`,{className:H.quizExplanation,children:K(e.explanation)}),(0,Y.jsx)(`button`,{type:`button`,className:H.quizRetry,onClick:()=>i(null),children:n(`block.quizRetry`)})]})]})}),Jc=(0,d.memo)(function({node:e}){let t=e.items.slice(0,X.maxBreadcrumbItems);return(0,Y.jsx)(`nav`,{className:H.breadcrumb,"aria-label":`breadcrumb`,children:t.map((e,n)=>(0,Y.jsxs)(`span`,{className:H.bcItem,children:[(0,Y.jsx)(`span`,{className:`${H.bcText} ${n===t.length-1?H.bcCurrent:``}`,children:K(e)}),n<t.length-1&&(0,Y.jsx)(`span`,{className:H.bcSep,children:`/`})]},n))})}),Yc=[`architecture`,`it-state`,`high-level`,`process`,`medallion`,`data-flow`,`dp-integration`];function Xc(e){return Yc.includes(e)}function Zc(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 Qc(e){return e.map((e,t)=>({node:e,box:{x:40,y:40+t*96,w:128,h:64}}))}function $c(e){return e.map((e,t)=>({node:e,box:{x:40+t*160,y:40,w:128,h:64}}))}function el(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 tl(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 nl(e,t){let n=e.nodes,r=e.edges??[],i;i=Xc(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`?tl(n,t??(()=>void 0)):e.kind===`layers`||e.kind===`pyramid`||e.kind===`gantt`?el(n):e.kind===`flowchart`||e.kind===`process`||e.kind===`sequence`?Qc(n):e.kind===`timeline`||e.kind===`line`||e.kind===`scatter`||e.kind===`bar`?$c(n):n.map((e,t)=>({node:e,box:Zc(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 rl(e){return{x:e.x+e.w/2,y:e.y+e.h/2}}function il(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=rl(e),i=rl(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 al(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 ol(e,t,n){let r=il(e,t,n?.fromPort),i=il(t,e,n?.toPort);return{d:al(r,i),a:r,b:i}}function sl(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 cl={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`},ll={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 ul(){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 dl(e,t){let n=e===void 0?ul():e===`dark`?ll:cl;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 fl(e,t){switch(e){case`focal`:return{fill:t.accentTint,stroke:t.accent};case`store`:return{fill:ml(t.ink,.05),stroke:t.muted};case`external`:return{fill:ml(t.ink,.03),stroke:ml(t.ink,.3)};case`input`:return{fill:ml(t.muted,.1),stroke:t.soft};case`optional`:return{fill:ml(t.ink,.02),stroke:ml(t.ink,.2),dashed:!0};case`security`:return{fill:ml(t.accent,.05),stroke:ml(t.accent,.5),dashed:!0};default:return{fill:t.paper,stroke:t.ink}}}function pl(e,t){switch(e){case`accent`:return t.accent;case`link`:return t.link;default:return t.muted}}function ml(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`,gl=`'Geist Mono', ui-monospace, 'SF Mono', monospace`,_l=[{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 vl(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 yl(e,t,n,r,i,a){let o=fl(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,Y.jsxs)(`g`,{children:[(0,Y.jsx)(`rect`,{x:e.x,y:e.y,width:e.w,height:e.h,rx:6,fill:a.paper}),(0,Y.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,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`rect`,{x:e.x+8,y:e.y+6,width:u,height:12,rx:2,fill:`transparent`,stroke:ml(o.stroke,.4),strokeWidth:.8}),(0,Y.jsx)(`text`,{x:e.x+8+u/2,y:e.y+15,fill:ml(o.stroke,.8),fontSize:7,fontFamily:gl,textAnchor:`middle`,letterSpacing:.8,children:i})]}),(0,Y.jsx)(`text`,{x:s,y:c,fill:a.ink,fontSize:12,fontWeight:600,fontFamily:hl,textAnchor:`middle`,children:t}),n!==void 0&&(0,Y.jsx)(`text`,{x:s,y:l,fill:a.soft,fontSize:9,fontFamily:gl,textAnchor:`middle`,children:n})]})}function bl(e,t,n,r){let i=ol(e.from,e.to),a=pl(e.kind,n),o=e.kind===`dashed`,s=e.kind===`accent`?1.4:1.2,c=sl(i.a,i.b);return(0,Y.jsxs)(`g`,{children:[(0,Y.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,Y.jsxs)(`g`,{children:[(0,Y.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,Y.jsx)(`text`,{x:c.cx,y:c.maskY+9,fill:n.soft,fontSize:8,fontFamily:gl,textAnchor:`middle`,letterSpacing:.5,children:e.label})]})]},t)}function xl(e,t){return(0,Y.jsxs)(`defs`,{children:[(0,Y.jsx)(`marker`,{id:`${e}-arrow`,markerWidth:8,markerHeight:6,refX:7,refY:3,orient:`auto`,children:(0,Y.jsx)(`polygon`,{points:`0 0, 8 3, 0 6`,fill:t.muted})}),(0,Y.jsx)(`marker`,{id:`${e}-arrow-accent`,markerWidth:8,markerHeight:6,refX:7,refY:3,orient:`auto`,children:(0,Y.jsx)(`polygon`,{points:`0 0, 8 3, 0 6`,fill:t.accent})}),(0,Y.jsx)(`marker`,{id:`${e}-arrow-link`,markerWidth:8,markerHeight:6,refX:7,refY:3,orient:`auto`,children:(0,Y.jsx)(`polygon`,{points:`0 0, 8 3, 0 6`,fill:t.link})})]})}function Sl(e,t){return(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`defs`,{children:(0,Y.jsx)(`pattern`,{id:`${e}-dots`,width:22,height:22,patternUnits:`userSpaceOnUse`,children:(0,Y.jsx)(`circle`,{cx:1,cy:1,r:.9,fill:ml(t.ink,.1)})})}),(0,Y.jsx)(`rect`,{width:`100%`,height:`100%`,fill:t.paper}),(0,Y.jsx)(`rect`,{width:`100%`,height:`100%`,fill:`url(#${e}-dots)`,opacity:.55})]})}function Cl(e,t){let n=e.label.length*7+12,r=e.x+e.w/2;return(0,Y.jsxs)(`g`,{children:[(0,Y.jsx)(`rect`,{x:e.x,y:e.y,width:e.w,height:e.h,rx:8,fill:ml(t.ink,.02),stroke:ml(t.ink,.1),strokeWidth:.8}),(0,Y.jsx)(`rect`,{x:r-n/2,y:e.y+4,width:n,height:12,rx:2,fill:t.paper}),(0,Y.jsx)(`text`,{x:r,y:e.y+13,fill:ml(t.ink,.4),fontSize:7,fontFamily:gl,textAnchor:`middle`,letterSpacing:1.2,children:e.label})]})}function wl(e,t,n,r){return(0,Y.jsxs)(`g`,{children:[(0,Y.jsx)(`line`,{x1:40,y1:0,x2:Math.max(120,n-40),y2:0,stroke:ml(e.ink,.1),strokeWidth:.8}),(0,Y.jsx)(`text`,{x:40,y:16,fill:e.soft,fontSize:8,fontFamily:gl,letterSpacing:1.6,children:`LEGEND`}),t.map((t,n)=>{let i=fl(t.type,e),a=40+n%r*150,o=32+Math.floor(n/r)*22;return(0,Y.jsxs)(`g`,{children:[(0,Y.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,Y.jsx)(`text`,{x:a+20,y:o+9,fill:e.soft,fontSize:8.5,fontFamily:hl,children:t.label})]},t.label)})]})}function Tl(e,t){return e===`accent`?`${t}-arrow-accent`:e===`link`?`${t}-arrow-link`:`${t}-arrow`}let El=0;function Dl(){return El+=1,`genui-diagram-${El}`}function Ol({node:e}){let t=(0,d.useMemo)(Dl,[]),n=(0,d.useMemo)(()=>dl(e.variant,e.theme),[e.variant,e.theme]),r=(0,d.useMemo)(()=>nl(e,vl(e.edges??[])),[e]),i=(0,d.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),f=0,p=X.maxDiagramFocal,m=r.height,h=_l.filter(e=>e.type!==void 0&&c.some(t=>(t.node.type??`backend`)===e.type)),g=Math.max(1,Math.floor((r.width-40)/150)),_=m+(24+Math.max(1,Math.ceil(h.length/g))*22)+12;return(0,Y.jsxs)(`figure`,{className:`genui-diagram`,"data-genui-diagram":!0,children:[e.title!==void 0&&(0,Y.jsx)(`figcaption`,{id:o,style:{fontFamily:`Instrument Serif, 'Times New Roman', serif`,fontSize:20,marginBottom:8,color:n.ink},children:K(e.title)}),(0,Y.jsxs)(`svg`,{role:`img`,"aria-labelledby":a,"aria-describedby":s,viewBox:`0 0 ${r.width} ${_}`,style:{maxWidth:`100%`,height:`auto`,background:n.paper},children:[(0,Y.jsx)(`title`,{id:a,children:e.title??e.kind}),(0,Y.jsx)(`desc`,{id:s,children:`${e.kind} diagram with ${c.length} nodes and ${l.length} connectors`}),xl(t,n),Sl(t,n),(0,Y.jsx)(`g`,{children:u.map((e,t)=>(0,Y.jsx)(`g`,{children:Cl({label:e.label,x:e.x??0,y:e.y??0,w:e.w??100,h:e.h??100},n)},`zone-${t}`))}),(0,Y.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:bl({from:a,to:o,label:e.edge.label,kind:e.edge.kind},r,n,Tl(e.edge.kind,t))})}),(0,Y.jsx)(`g`,{children:c.map(e=>{let t=e.node.type===`focal`&&f>=p?void 0:e.node.type;return e.node.type===`focal`&&(f+=1),(0,Y.jsx)(`g`,{children:yl(e.box,e.node.label,e.node.sub,t,e.node.tag,n)},e.node.id)})}),(0,Y.jsx)(`g`,{transform:`translate(0, ${m+8})`,children:wl(n,h,r.width,g)})]})]})}function kl({node:e}){let t=J(),[n,r]=(0,d.useState)(!1);return(0,Y.jsxs)(`figure`,{className:H.media,children:[e.alt!==void 0&&(0,Y.jsx)(`figcaption`,{className:H.mediaLabel,children:K(e.alt)}),n?(0,Y.jsx)(`div`,{className:H.mediaError,role:`alert`,children:t(`block.imageError`)}):(0,Y.jsx)(`img`,{className:H.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 Al=`http://www.w3.org/2000/svg`;function jl(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 Ml(e){try{let t=jl(e);if(t===null)return null;if(t.namespaceURI!==Al){if(t.namespaceURI!==null)return null;let n=e.replace(/<svg(?=[\s/>])/,`<svg xmlns="${Al}"`),r=jl(n);return r===null||r.namespaceURI!==Al?null:`data:image/svg+xml;charset=utf-8,${encodeURIComponent(n)}`}return`data:image/svg+xml;charset=utf-8,${encodeURIComponent(e)}`}catch{return null}}function Nl({node:e}){let t=(0,d.useMemo)(()=>Ml(e.code),[e.code]),[n,r]=(0,d.useState)(null);return(0,Y.jsxs)(`div`,{"data-genui-svg":!0,children:[e.title!==void 0&&(0,Y.jsx)(`div`,{className:H.echartTitle,children:K(e.title)}),t===null||n===t?(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(`div`,{role:`status`,children:q(`block.svgError`)}),(0,Y.jsx)(`pre`,{style:{overflow:`auto`,maxHeight:400},children:(0,Y.jsx)(`code`,{children:e.code})})]}):(0,Y.jsx)(`img`,{src:t,alt:e.title??q(`block.svgLabel`),style:{display:`block`,width:`100%`,height:e.height??`auto`,maxHeight:800,objectFit:`contain`},onError:()=>{r(t)}},t)]})}let Pl=new Set([`bar`,`line`,`area`,`pie`,`scatter`,`bigline`]);function Fl(e){return e.option===void 0&&Pl.has(e.preset??`bar`)?`echarts-core`:`echarts-full`}gc();async function Il(e,t,n,r=`core`){return(await hc(r===`full`?`echarts-full`:`echarts-core`)).createChart(e,t,n)}let Ll=[`#679efe`,`#4ed17e`,`#f5b83d`,`#f2707a`,`#8b7ff0`,`#3fc7d4`,`#b7c8fe`,`#9aa3b2`];function Rl(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 zl(e){return{accent:Rl(`--dsw-alias-state-business-primary`,`#4f8ef7`,e),labelPrimary:Rl(`--dsw-alias-label-primary`,`#e6e6e6`,e),labelSecondary:Rl(`--dsw-alias-label-secondary`,`#a0a0a0`,e),labelTertiary:Rl(`--dsw-alias-label-tertiary`,`#6b6b6b`,e),border:Rl(`--dsw-alias-border-l1`,`rgba(255,255,255,0.12)`,e),bgLayer1:Rl(`--dsw-alias-bg-layer-1`,`#1a1a1e`,e)}}function Bl(e,t){let n=zl(t),r=e.palette!==void 0&&e.palette.length>0?[...e.palette]:gs.map((e,n)=>Rl(e.replace(`var(`,``).replace(`)`,``),Ll[n%Ll.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),...Vl(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),...Vl(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),...Vl(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),...Vl(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 Vl(e,t,n){return e===void 0?{}:{itemStyle:{color:e}}}function Hl({node:e}){let t=(0,d.useRef)(null),[n,r]=(0,d.useState)(`loading`),i=(0,d.useRef)(null);return(0,d.useEffect)(()=>{let n=!0,a=t.current;if(a===null)return;let o=e.option??Bl(e,a),s=Fl(e)===`echarts-full`?`full`:`core`;return Il(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,d.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,d.useEffect)(()=>{if(n!==`ready`||i.current===null)return;let r=e.option??Bl(e,t.current);i.current.setOption(r,!0)},[e,n]),n===`error`?(0,Y.jsxs)(`div`,{className:H.echartFallback,"data-genui-echart":!0,children:[(0,Y.jsx)(`div`,{className:H.echartErr,children:`ECharts 渲染失败`}),e.title!==void 0&&(0,Y.jsx)(`div`,{className:H.echartHint,children:K(e.title)})]}):(0,Y.jsxs)(`div`,{className:H.echartWrap,"data-genui-echart":!0,children:[e.title!==void 0&&(0,Y.jsx)(`div`,{className:H.echartTitle,children:K(e.title)}),(0,Y.jsx)(`div`,{ref:t,className:H.echartCanvas,style:{height:`${e.height??300}px`},role:`img`,"aria-label":e.title??`ECharts chart`}),n===`loading`&&(0,Y.jsx)(`div`,{className:H.echartHint,children:`加载图表…`})]})}let Ul=Mo;function Wl(e){return typeof e==`object`&&!!e&&`type`in e}function Gl(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 Kl({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,Y.jsxs)(`svg`,{className:H.statSpark,viewBox:`0 0 96 24`,preserveAspectRatio:`none`,"aria-hidden":`true`,children:[(0,Y.jsx)(`path`,{d:s,fill:`var(--dsl-g-accent)`,opacity:`0.14`}),(0,Y.jsx)(`polyline`,{points:a,fill:`none`,stroke:`var(--dsl-g-accent)`,strokeWidth:`1.5`,strokeLinejoin:`round`,strokeLinecap:`round`,vectorEffect:`non-scaling-stroke`}),(0,Y.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 ql(e,t,n){let[r,i]=(0,d.useState)(n?0:e);return(0,d.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 Jl({value:e,unitClass:t,animate:n=!1}){let r=Gl(e),i=r.numeric,a=ql(i??0,r.decimals,n&&i!==void 0);return(0,Y.jsxs)(Y.Fragment,{children:[i===void 0?K(r.num):a,r.unit!==``&&(0,Y.jsx)(`span`,{className:t??H.statUnit,children:K(r.unit)})]})}function Yl(e){return typeof e==`string`?e:Wl(e)?``:`${e.title} ${e.desc??``}`}function Xl(e,t){if(t===void 0)return;let n=e?.fields[t];return n===void 0||n===``?void 0:n}function Zl(e,t,n,r=0,i){if(r>X.maxDepth)return null;switch(e.type){case`text`:{let n=e.size??`body`;return(0,Y.jsx)(`div`,{className:`${H.text} ${H[n]}`+(e.center?` ${H.center}`:``),children:K(e.content)},t)}case`row`:return(0,Y.jsxs)(`div`,{className:H.row+(e.wrap?` ${H.wrap}`:``),children:[e.items.map((e,t)=>Zl(e,t,n,r+1,i)),e.spacer&&(0,Y.jsx)(`div`,{className:H.spacer})]},t);case`col`:return(0,Y.jsx)(`div`,{className:H.col,style:e.gap===void 0?void 0:{gap:`${e.gap}px`},children:e.items.map((e,t)=>Zl(e,t,n,r+1,i))},t);case`grid`:return(0,Y.jsx)(`div`,{className:H.grid,style:{gridTemplateColumns:`repeat(${Math.max(1,e.cols)}, minmax(0, 1fr))`},children:e.items.map((e,t)=>{let a=Zl(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,Y.jsx)(`div`,{className:H.gridSpan,style:{gridColumn:`span ${o}`},children:a},t):a})},t);case`card`:{let a=e.tone===void 0?``:` ${H[`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,Y.jsxs)(`div`,{className:`${H.card}${a}`,style:o,children:[e.title!==void 0&&(0,Y.jsx)(`div`,{className:H.cardTitle,children:K(e.title)}),e.items.map((e,t)=>Zl(e,t,n,r+1,i))]},t)}case`button`:{let r=e.tone??``,i=`${H.button} ${H[r]||``}`+(e.full?` ${H.full}`:``)+(e.small?` ${H.small}`:``),a=e.action,o=a!==void 0&&n!==void 0;return(0,Y.jsxs)(ps,{className:i,disabled:!o,onClick:o?()=>n(a,{type:`button`,label:e.label}):void 0,children:[e.icon!==void 0&&(0,Y.jsxs)(`span`,{"aria-hidden":!0,children:[e.icon,` `]}),K(e.label,!1)]},t)}case`input`:return(0,Y.jsx)(Ys,{node:e,onAction:n,answers:i},t);case`select`:return(0,Y.jsx)(Js,{node:e,onAction:n,answers:i},t);case`checkbox`:return(0,Y.jsx)(Zs,{node:e,onAction:n,answers:i},t);case`link`:{let n=e.href;return n===void 0?(0,Y.jsx)(`span`,{className:H.linkText,children:K(e.label,!1)},t):(0,Y.jsx)(`a`,{className:H.link,href:n,target:`_blank`,rel:`noopener noreferrer`,children:K(e.label,!1)},t)}case`image`:return(0,Y.jsx)(kl,{node:e},`${t}:${e.src}`);case`audio`:return(0,Y.jsx)(ms,{node:e},`${t}:${e.src}`);case`video`:return(0,Y.jsx)(hs,{node:e},`${t}:${e.src}`);case`badge`:{let n=e.tone??``;return(0,Y.jsxs)(`span`,{className:`${H.badge} ${H[n]||``}`,children:[e.icon!==void 0&&(0,Y.jsxs)(`span`,{"aria-hidden":!0,children:[e.icon,` `]}),K(e.label,!1)]},t)}case`hero`:{let n=e.tone??`accent`,r=H[`hero${n[0].toUpperCase()}${n.slice(1)}`]??``,i=e.delta!==void 0&&e.delta.startsWith(`-`);return(0,Y.jsxs)(`div`,{className:`${H.hero} ${r}`,children:[e.label!==void 0&&(0,Y.jsx)(`span`,{className:H.heroLabel,children:K(e.label,!1)}),(0,Y.jsxs)(`div`,{className:H.heroTop,children:[e.value!==void 0&&(0,Y.jsx)(`span`,{className:H.heroValue,children:(0,Y.jsx)(Jl,{value:e.value,unitClass:H.heroUnit,animate:!0})}),e.delta!==void 0&&(0,Y.jsx)(`span`,{className:`${H.statDelta} ${i?H.down:H.up}`,children:K(e.delta)}),e.spark!==void 0&&(0,Y.jsx)(`span`,{className:H.heroSpark,children:(0,Y.jsx)(Kl,{values:e.spark})})]}),(0,Y.jsx)(`span`,{className:H.heroTitle,children:K(e.title)}),e.subtitle!==void 0&&(0,Y.jsx)(`span`,{className:H.heroSubtitle,children:K(e.subtitle)})]},t)}case`stat`:{let n=e.delta!==void 0&&e.delta.startsWith(`-`);return(0,Y.jsxs)(`div`,{className:`${H.stat}${e.size===`hero`?` ${H.statHero}`:``}`,children:[(0,Y.jsx)(`span`,{className:H.statLabel,children:K(e.label,!1)}),(0,Y.jsx)(`span`,{className:H.statValue,children:(0,Y.jsx)(Jl,{value:e.value,animate:e.size===`hero`})}),e.delta!==void 0&&(0,Y.jsx)(`span`,{className:`${H.statDelta} ${n?H.down:H.up}`,children:K(e.delta)}),e.spark!==void 0&&(0,Y.jsx)(Kl,{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,Y.jsxs)(`div`,{className:H.ring,role:`progressbar`,"aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":n,"aria-label":e.label??e.valueLabel??void 0,children:[(0,Y.jsxs)(`svg`,{width:92,height:92,viewBox:`0 0 92 92`,"aria-hidden":`true`,children:[(0,Y.jsx)(`circle`,{cx:46,cy:46,r:34,fill:`none`,strokeWidth:9,className:H.ringTrack}),(0,Y.jsx)(`circle`,{cx:46,cy:46,r:34,fill:`none`,strokeWidth:9,strokeLinecap:`round`,className:H.ringFill,strokeDasharray:`${n/100*r} ${r}`,transform:`rotate(-90 46 46)`}),(0,Y.jsxs)(`text`,{x:46,y:51,textAnchor:`middle`,className:H.ringValue,children:[n,`%`]})]}),(e.label!==void 0||e.valueLabel!==void 0)&&(0,Y.jsxs)(`div`,{className:H.ringMeta,children:[e.label!==void 0&&(0,Y.jsx)(`span`,{className:H.ringLabel,children:K(e.label,!1)}),e.valueLabel!==void 0&&(0,Y.jsx)(`span`,{className:H.ringSub,children:K(e.valueLabel)})]})]},t)}return(0,Y.jsxs)(`div`,{className:H.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,Y.jsxs)(`div`,{className:H.progressRow,children:[(0,Y.jsx)(`span`,{children:K(e.label??``)}),e.valueLabel!==void 0&&(0,Y.jsx)(`span`,{children:K(e.valueLabel)})]}),(0,Y.jsxs)(`div`,{className:H.track,children:[(0,Y.jsx)(`div`,{className:H.fill,style:{width:`${n}%`}}),e.target!==void 0&&(0,Y.jsx)(`span`,{className:H.targetMark,style:{left:`${e.target}%`},title:q(`block.target`,{value:e.target})})]})]},t)}case`divider`:return(0,Y.jsx)(`hr`,{className:H.divider},t);case`list`:{let a=Xl(i,e.filter)?.toLowerCase(),o=e.items.slice(0,X.maxListItems),s=a===void 0?o:o.filter(e=>Yl(e).toLowerCase().includes(a));return(0,Y.jsxs)(`div`,{className:H.list,children:[s.map((e,t)=>(0,Y.jsx)(`div`,{className:H.li,children:Wl(e)?Zl(e,t,n,r+1,i):(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`div`,{className:H.liTitle,children:K(typeof e==`string`?e:e.title)}),typeof e!=`string`&&e.desc!==void 0&&(0,Y.jsx)(`div`,{className:H.liDesc,children:K(e.desc)})]})},t)),a!==void 0&&(0,Y.jsx)(`span`,{className:H.filterHint,children:q(`block.filterMatch`,{shown:s.length,total:o.length})})]},t)}case`table`:return(0,Y.jsx)(Ds,{node:e,filterValue:Xl(i,e.filter),sortValue:Xl(i,e.sortField),renderDetail:e=>e.map((e,t)=>Zl(e,t,n,r+1,i))},t);case`chart`:return(0,Y.jsx)(Is,{chart:e,filterValue:Xl(i,e.filter)},t);case`tabs`:return(0,Y.jsx)(Lc,{tabs:e,onAction:n,depth:r+1,answers:i},t);case`avatar`:return(0,Y.jsx)(`div`,{className:H.avatar,style:{background:e.color??fs(e.name)},children:e.name.slice(0,1).toUpperCase()},t);case`spacer`:return(0,Y.jsx)(`div`,{className:H.spacer},t);case`plot`:return(0,Y.jsx)(Nc,{plot:e},t);case`callout`:return(0,Y.jsx)(Ac,{node:e},t);case`steps`:return(0,Y.jsx)(jc,{steps:e},t);case`keyvalue`:return(0,Y.jsx)(Mc,{node:e},t);case`diff`:return(0,Y.jsx)(Pc,{node:e},t);case`json`:return(0,Y.jsx)(Fc,{node:e},t);case`code`:return(0,Y.jsx)(Ic,{node:e},t);case`radio`:return(0,Y.jsx)(Vs,{node:e,onAction:n,answers:i},`${t}:r${i?.round??0}`);case`submit`:return(0,Y.jsx)(Us,{node:e,onAction:n,answers:i},t);case`switch`:return(0,Y.jsx)(Ws,{node:e,onAction:n},t);case`slider`:return(0,Y.jsx)(Gs,{node:e,onAction:n,answers:i},t);case`textarea`:return(0,Y.jsx)(Xs,{node:e,onAction:n,answers:i},t);case`accordion`:return(0,Y.jsx)(Rc,{node:e,onAction:n,depth:r+1,answers:i},t);case`copy`:return(0,Y.jsx)(Bc,{node:e},t);case`mermaid`:return(0,Y.jsx)(Vc,{node:e},t);case`svg`:return(0,Y.jsx)(Nl,{node:e},t);case`scene3d`:return(0,Y.jsx)(Hc,{node:e},t);case`timeline`:return(0,Y.jsx)(Uc,{node:e},t);case`file-tree`:return(0,Y.jsx)(Kc,{node:e},t);case`breadcrumb`:return(0,Y.jsx)(Jc,{node:e},t);case`quiz`:return(0,Y.jsx)(qc,{node:e,onAction:n},t);case`diagram`:return(0,Y.jsx)(Ol,{node:e},t);case`echart`:return(0,Y.jsx)(Hl,{node:e},t);default:{let a=e,o=Ul?.(a.type);return o===void 0?null:(0,Y.jsx)(o,{node:a,onAction:n,renderChildren:(e,t)=>e.map((e,a)=>Zl(e,Number(t)+a,n,r+1,i))},t)}}}function Ql(e){let t=(0,d.useRef)(new Map),n=(0,d.useRef)(e);n.current=e,(0,d.useEffect)(()=>()=>{for(let e of t.current.values())clearTimeout(e);t.current.clear()},[]);let r=(0,d.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 $l(e,t){return e===t||JSON.stringify(e)===JSON.stringify(t)}function eu({spec:e,stateKey:t,animateEntrance:n=!0,initialState:r,onStateChange:i,onStateSnapshot:a}){let o=e.gap??16,s=Ql(Io()),c=(0,d.useRef)(i);c.current=i;let l=i!==void 0,[u]=(0,d.useState)(()=>r??(i!==void 0||t===void 0?null:Vo(t))),[f,p]=(0,d.useState)(u?.answers??{}),[m,h]=(0,d.useState)(u?.multiAnswers??{}),[g,_]=(0,d.useState)(u?.fields??{}),[v,y]=(0,d.useState)({}),[b,x]=(0,d.useState)(u?.locked===!0),[S,C]=(0,d.useState)(0),[w,ee]=(0,d.useState)(new Set),te=(0,d.useCallback)((e,t)=>{p(n=>n[e]===t?n:{...n,[e]:t})},[]),ne=(0,d.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,d.useCallback)((e,t)=>{_(n=>n[e]===t?n:{...n,[e]:t})},[]),ie=(0,d.useCallback)(e=>{ee(t=>t.has(e)?t:new Set(t).add(e))},[]),ae=(0,d.useCallback)((e,t)=>{y(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,d.useCallback)(()=>{p({}),h({}),x(!1),C(e=>e+1)},[]),se=(0,d.useMemo)(()=>({answers:f,multiAnswers:m,fields:g,secretFields:w,meta:v,locked:b,round:S,setAnswer:te,setMultiAnswer:ne,setField:re,registerSecretField:ie,registerMeta:ae,clear:oe,setLocked:x}),[f,m,g,w,v,b,S,te,ne,re,ie,ae,oe]),ce=(0,d.useMemo)(()=>{let e=Object.fromEntries(Object.entries(g).filter(([e])=>!w.has(e)));return{answers:f,...Object.keys(m).length>0?{multiAnswers:m}:{},locked:b,...Object.keys(e).length>0?{fields:e}:{}}},[f,m,b,g,w]);(0,d.useEffect)(()=>{a?.(ce)},[ce,a]);let le=(0,d.useMemo)(()=>{if(s!==void 0)return(e,t)=>{us(),s(e,t)}},[s]);return(0,d.useEffect)(()=>{if(l){c.current?.(ce);return}if(t===void 0)return;let e=setTimeout(()=>Ho(t,ce),300);return()=>clearTimeout(e)},[t,ce,l]),(0,d.useEffect)(()=>{ls(e)},[e]),(0,Y.jsxs)(`div`,{className:H.block,"data-genui":!0,children:[e.title!==void 0&&(0,Y.jsx)(`div`,{className:H.banner,children:K(e.title)}),(0,Y.jsx)(`div`,{className:H.col,style:{gap:`${o}px`},children:e.items.map((e,t)=>(0,Y.jsx)(`div`,{className:H.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:Zl(e,t,le,0,se)},t))})]})}let tu=(0,d.memo)(function(e){let[t,n]=(0,d.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,Y.jsx)(eu,{...e},t.generation)},(e,t)=>e.stateKey===t.stateKey&&e.animateEntrance===t.animateEntrance&&e.onStateChange===t.onStateChange&&e.onStateSnapshot===t.onStateSnapshot&&$l(e.spec,t.spec)),nu={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 ru=class extends d.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,Y.jsxs)(`div`,{style:nu,role:`alert`,"data-genui-error":!0,children:[(0,Y.jsx)(`span`,{style:{fontWeight:600},children:q(`err.boundary.body`,{label:this.props.label??q(`err.boundary.generic`)})}),(0,Y.jsx)(`span`,{style:{opacity:.75,overflowWrap:`anywhere`},children:e.message})]})}};let iu=[`h1`,`h2`,`h3`,`body`,`muted`,`caption`],au=[`primary`,`danger`,`success`,`ghost`],ou=[`success`,`warn`,`danger`,`accent`],su=[`text`,`email`,`password`,`color`],cu=[`info`,`success`,`warning`,`error`],lu=[`bars`,`line`,`donut`],uu=[`line`,`area`,`scatter`],du=[`16:9`,`4:3`,`1:1`,`9:16`],fu=[`box`,`sphere`,`cone`,`cylinder`,`torus`],pu=[`file`,`dir`],mu=`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(`.`),hu=[`focal`,`backend`,`store`,`external`,`input`,`optional`,`security`],gu=[`light`,`dark`,`editorial`],_u=[`solid`,`dashed`,`accent`,`link`],vu=[`auto`,`orthogonal`,`straight`],yu=[`bar`,`line`,`area`,`pie`,`scatter`,`radar`,`gauge`,`funnel`,`treemap`,`sankey`,`graph`,`heatmap`,`bigline`,`wordCloud`],bu=[`hero`],xu=[`bar`,`ring`],Su=[`info`,`success`,`warning`,`danger`],Cu=[`accent`,`success`,`warning`,`danger`],wu=[`text`,`num`,`delta`,`bar`,`badge`,`spark`,`ring`,`index`,`group`],Q=(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}}},Tu=(e,t,n={},r={},i={})=>({required:e,fields:t,enums:r,nested:n,aliases:i}),$={type:`string`,span:`number`},Eu=Tu([`label`,`value`],{label:`string`,value:`number`,color:`string`}),Du=Tu([`label`,`data`],{label:`string`,color:`string`,data:`array`},{data:Eu}),Ou=Tu([`title`],{title:`string`,desc:`string`}),ku=Tu([`key`,`value`],{key:`string`,value:`string`},{},{},{label:`key`}),Au=Tu([`title`],{title:`string`,desc:`string`,time:`string`}),ju=Tu([`path`,`newText`],{path:`string`,oldText:`string-or-null`,newText:`string`}),Mu=Tu([`expr`],{expr:`string`,label:`string`,color:`string`,kind:`string`,params:`array`},{params:Tu([`name`,`value`],{name:`string`,value:`number`,min:`number`,max:`number`,step:`number`,animateTo:`number`,durationMs:`number`,loop:`boolean`})},{kind:uu}),Nu=Tu([`shape`],{shape:`string`,color:`string`,position:`array`,rotation:`array`,scale:`unknown`,size:`unknown`},{},{shape:fu});function Pu(e){return Tu([`name`],{name:`string`,type:`string`,children:`array`},e>0?{children:Pu(e-1)}:{},{type:pu},{label:`name`})}let Fu=Pu(6),Iu=Tu([`label`,`items`],{label:`string`,items:`nodes`,content:`nodes`}),Lu=Tu([`title`,`items`],{title:`string`,items:`nodes`}),Ru=Tu([`id`,`label`],{id:`string`,label:`string`,sub:`string`,type:`string`,x:`number`,y:`number`,w:`number`,h:`number`,tag:`string`},{},{type:hu}),zu=Tu([`from`,`to`],{from:`string`,to:`string`,label:`string`,kind:`string`,route:`string`},{},{kind:_u,route:vu}),Bu=Tu([`label`],{label:`string`,x:`number`,y:`number`,w:`number`,h:`number`}),Vu=Tu([],{paper:`string`,"paper-2":`string`,ink:`string`,muted:`string`,soft:`string`,rule:`string`,accent:`string`,"accent-tint":`string`,link:`string`}),Hu=Q([`items`],{title:`string`,gap:`number`,panel:`boolean`,append:`boolean`,items:`nodes`}),Uu={accordion:Q([`items`],{...$,items:`array`},{},{nested:{items:Lu}}),audio:Q([`src`],{...$,src:`string`,alt:`string`,loop:`boolean`},{url:`src`,link:`src`}),avatar:Q([`name`],{...$,name:`string`,color:`string`}),badge:Q([`label`],{...$,label:`string`,tone:`string`,icon:`string`},{text:`label`,value:`label`},{enums:{tone:ou}}),breadcrumb:Q([`items`],{...$,items:`array`}),button:Q([`label`],{...$,label:`string`,tone:`string`,full:`boolean`,small:`boolean`,icon:`string`,action:`string`},{},{enums:{tone:au}}),callout:Q([`content`],{...$,title:`string`,content:`string`,tone:`string`},{kind:`tone`,text:`content`,body:`content`,desc:`content`},{enums:{tone:cu},valueAliases:{tone:{danger:`error`,warn:`warning`}}}),card:Q([`items`],{...$,title:`string`,items:`nodes`,tone:`string`,accent:`string`},{label:`title`,content:`items`},{enums:{tone:Su}}),chart: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:Eu,series:Du},enums:{kind:lu},validator:{name:`chart-renderability`}}),checkbox:Q([`label`],{...$,label:`string`,checked:`boolean`,action:`string`,group:`string`}),code:Q([`code`],{...$,lang:`string`,code:`string`},{content:`code`,text:`code`}),col:Q([`items`],{...$,items:`nodes`,gap:`number`}),copy:Q([`text`],{...$,label:`string`,text:`string`},{content:`text`,code:`text`,value:`text`}),diagram:Q([`kind`,`nodes`],{...$,kind:`string`,variant:`string`,title:`string`,nodes:`array`,edges:`array`,zones:`array`,theme:`object`},{},{nested:{nodes:Ru,edges:zu,zones:Bu,theme:Vu},enums:{kind:mu,variant:gu}}),diff:Q([`diffs`],{...$,diffs:`array`},{items:`diffs`,files:`diffs`},{nested:{diffs:ju}}),divider:Q([],$),echart:Q([],{...$,title:`string`,height:`number`,preset:`string`,data:`array`,series:`array`,links:`array`,palette:`array`,option:`object`},{},{oneOfRequired:[[`option`,`data`,`series`,`links`]],enums:{preset:yu}}),"file-tree":Q([`items`],{...$,items:`array`},{nodes:`items`},{nested:{items:Fu}}),grid:Q([`items`],{...$,cols:`number`,items:`nodes`}),image:Q([`src`],{...$,src:`string`,alt:`string`},{url:`src`,link:`src`}),input:Q([],{...$,label:`string`,placeholder:`string`,value:`string`,inputType:`string`,action:`string`,id:`string`},{},{enums:{inputType:su}}),json:Q([`value`],{...$,value:`unknown`}),keyvalue:Q([`pairs`],{...$,pairs:`array`},{items:`pairs`,rows:`pairs`,entries:`pairs`},{nested:{pairs:ku}}),link:Q([`label`],{...$,label:`string`,href:`string`}),list:Q([`items`],{...$,items:`array`,filter:`string`}),mermaid:Q([`code`],{...$,code:`string`}),svg:Q([`code`],{...$,code:`string`,title:`string`,height:`number`}),plot:Q([`series`],{...$,series:`array`,xMin:`number`,xMax:`number`,yMin:`number`,yMax:`number`,title:`string`},{},{nested:{series:Mu}}),progress:Q([`value`],{...$,value:`number`,label:`string`,valueLabel:`string`,variant:`string`,target:`number`},{},{enums:{variant:xu}}),quiz:Q([`question`,`options`],{...$,question:`string`,options:`array`,explanation:`string`,id:`string`,action:`string`},{title:`question`,text:`question`,choices:`options`,items:`options`}),radio:Q([`options`],{...$,label:`string`,options:`array`,selected:`number`,action:`string`,group:`string`,answer:`unknown`,explanation:`string`},{items:`options`}),row:Q([`items`],{...$,items:`nodes`,wrap:`boolean`,spacer:`boolean`}),scene3d:Q([`meshes`],{...$,title:`string`,meshes:`array`,ambient:`number`,background:`string`},{},{nested:{meshes:Nu}}),select:Q([`options`],{...$,label:`string`,options:`array`,action:`string`,selected:`number`,id:`string`},{items:`options`}),slider:Q([],{...$,label:`string`,min:`number`,max:`number`,step:`number`,value:`number`,action:`string`,id:`string`}),spacer:Q([],$),hero:Q([`title`],{...$,title:`string`,subtitle:`string`,value:`string`,label:`string`,delta:`string`,spark:`array`,tone:`string`},{},{enums:{tone:Cu}}),stat:Q([`label`,`value`],{...$,label:`string`,value:`string`,delta:`string`,spark:`array`,size:`string`},{},{enums:{size:bu}}),steps:Q([`steps`],{...$,steps:`array`,current:`number`},{items:`steps`},{nested:{steps:Ou}}),submit:Q([`label`],{...$,label:`string`,action:`string`,resetAction:`string`,groups:`array`}),switch:Q([`label`],{...$,label:`string`,checked:`boolean`,action:`string`}),table:Q([`columns`,`rows`],{...$,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:Q([`tabs`],{...$,tabs:`array`},{},{nested:{tabs:Iu}}),text:Q([`content`],{...$,content:`string`,size:`string`,center:`boolean`},{text:`content`},{enums:{size:iu}}),textarea:Q([],{...$,label:`string`,placeholder:`string`,rows:`number`,value:`string`,action:`string`,id:`string`}),timeline:Q([`items`],{...$,items:`array`},{},{nested:{items:Au}}),video:Q([`src`],{...$,src:`string`,alt:`string`,poster:`string`,loop:`boolean`,muted:`boolean`,aspectRatio:`string`},{url:`src`,link:`src`},{enums:{aspectRatio:du}})},Wu=new Set(Object.keys(Uu));function Gu(e){if(typeof e!=`object`||!e)return!1;let t=e;return typeof t.type!=`string`||t.type===``?!1:!Array.isArray(t.items)||Wu.has(t.type)}function Ku(e){if(typeof e!=`object`||!e)return null;let t=e;if(typeof t.type!=`string`||t.type===``)return null;let n=Wu.has(t.type)?Uu[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 qu(e){return typeof e==`object`&&e&&!Array.isArray(e)?e:void 0}function Ju(e){let t=qu(e);return t!==void 0&&typeof t.type==`string`}let Yu=[`label`,`value`,`delta`,`spark`,`size`];function Xu(e,t,n){if(e.length===0)return null;let r=[];for(let i=0;i<e.length;i++){let a=e[i],o=qu(a);if(o===void 0)return null;if(Ju(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 Yu)o[e]!==void 0&&(s[e]=o[e]);r.push(s)}return r}function Zu(e,t,n,r){let i=Uu[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 Qu(e,t,n,r,i){if(Array.isArray(e))return e.map((e,a)=>Qu(e,t,`${n}[${a}]`,r,i));let a=qu(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]=Qu(o[e],a,`${n}.${e}`,r,i));return o}function $u(e){if(Array.isArray(e))return e.map($u);let t=qu(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=$u(n.children)),n}function ed(e,t,n){if(!Ju(e))return e;let r=e.type,i=Uu[r];if(i===void 0)return e;let a=Zu(e,t,r,n);for(let[e,o]of Object.entries(i.nested))a[e]!==void 0&&(a[e]=Qu(a[e],o,`${t}.${e}`,r,n));let o=(e,t)=>ed(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=$u(a.items)),r===`stat`&&Array.isArray(a.items)&&a.label===void 0&&a.value===void 0){let e=Xu(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(Ju(e))return o(e,`${t}.items[${n}]`);if(Array.isArray(e)&&e.length===1&&typeof e[0]==`string`)return e[0];let r=qu(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=qu(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=qu(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 td(e){let t=[];if(typeof e==`string`)try{let n=JSON.parse(e);(qu(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=qu(e);if(n===void 0)return{value:e,warnings:t};let r={...n};return Gu(r)?{value:ed(r,`spec`,t),warnings:t}:(Array.isArray(r.items)&&(r.items=r.items.map((e,n)=>ed(e,`items[${n}]`,t))),{value:r,warnings:t})}function nd(e){return typeof e==`object`&&e&&!Array.isArray(e)?e:void 0}function rd(e){let t=nd(e);return t!==void 0&&typeof t.type==`string`}function id(e,t,n){if(!rd(e))return;let r=e.type,i=Uu[r];if(i===void 0)return;n(e,t,i);let a=(e,t)=>id(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=nd(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=nd(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 od(e,t,n,r,i){let a=nd(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)=>od(n,`${t}.${e}[${a}]`,o,r,i)):n!==void 0&&od(n,`${t}.${e}`,o,r,i)}}}function sd(e,t,n,r){for(let[i,a]of Object.entries(n.nested)){let n=e[i];Array.isArray(n)?n.forEach((n,o)=>od(n,`${t}.${i}[${o}]`,a,e.type,r)):n!==void 0&&od(n,`${t}.${i}`,a,e.type,r)}}function cd(e){let t=[],n=nd(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);sd(e,n,r,t)};if(Array.isArray(n.items)&&!Gu(n)){for(let e of Object.keys(n))e in Hu.fields||ad(t,`spec`,e,`spec`);n.items.forEach((e,t)=>id(e,`items[${t}]`,r))}else if(typeof n.type==`string`)id(n,`spec`,r);else for(let e of Object.keys(n))e in Hu.fields||ad(t,`spec`,e,`spec`);return t}function ld(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 W(e)!==void 0;case`unknown`:return!0}}function ud(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 dd(e,t,n){return e.some(e=>e.startsWith(`${t}.${n} `)||e.includes(`'${n}'`)||e.includes(`requires ${n}`))}function fd(e,t,n,r,i=[]){for(let[a,o]of Object.entries(n.fields))i.includes(a)||e[a]===void 0||!ld(e[a],o)&&!dd(r,t,a)&&r.push(`${t}.${a} must be ${ud(o)}`);for(let[a,o]of Object.entries(n.enums))i.includes(a)||e[a]===void 0||!ld(e[a],`string`)||!o.includes(e[a])&&!dd(r,t,a)&&r.push(`${t}.${a} must be one of ${o.join(`, `)}`)}function pd(e,t,n,r){let i=W(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?dd(r,t,e)||r.push(`${t}: requires ${e}${a===void 0?``:` (${ud(a)})`}`):a!==void 0&&!ld(i[e],a)&&(dd(r,t,e)||r.push(`${t}.${e} must be ${ud(a)}`))}for(let[e,a]of Object.entries(n.fields))i[e]!==void 0&&!ld(i[e],a)&&(dd(r,t,e)||r.push(`${t}.${e} must be ${ud(a)}`));for(let[e,a]of Object.entries(n.enums))i[e]!==void 0&&typeof i[e]==`string`&&!a.includes(i[e])&&(dd(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)=>pd(n,`${t}.${e}[${i}]`,a,r)):pd(n,`${t}.${e}`,a,r))}}function md(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)=>pd(e,`${t}.${i}[${n}]`,a,r)):pd(n,`${t}.${i}`,a,r))}}function hd(e){let t=e.rows===void 0?e.data:e.rows;return!Array.isArray(t)||t.length===0?!1:Array.isArray(t[0])}function gd(e,t,n,r){let i=String(e.type),a=e=>dd(r,t,e),o=i===`table`&&hd(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?``:` (${ud(c)})`}`);continue}!ld(e[s],c)&&!a(s)&&r.push(`${t}.${s} must be ${ud(c)}`)}fd(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})`}`);md(e,t,n,r)}function _d(e,t,n){if(!Array.isArray(e))return[];let r=[];for(let i of e){if(t.remaining<=0)break;--t.remaining;let e=bd(i,t,n);e!==null&&r.push(e)}return r}function vd(e){if(!Array.isArray(e))return;let t=[];for(let n of e.slice(0,12)){let e=eo(n);e!==void 0&&t.push(e)}return t.length>0?t:void 0}function yd(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 bd(e,t,n){let r=xd(e,t,n);if(r===null)return null;let i=io(W(e)?.span,2,12);return i===void 0?r:{...r,span:i}}function xd(e,t,n){if(n>X.maxDepth)return null;let r=W(e);if(r===void 0)return null;let i=r.type;if(typeof i!=`string`)return null;switch(i){case`text`:{let e=U(r.content,X.maxString)??U(r.text,X.maxString);return e===void 0?null:{type:`text`,content:e,...G(`size`,ao(r.size,iu)),...G(`center`,r.center===!0||void 0)}}case`row`:return{type:`row`,items:_d(r.items,t,n+1),...G(`wrap`,r.wrap===!0||void 0),...G(`spacer`,r.spacer===!0||void 0)};case`col`:return{type:`col`,items:_d(r.items,t,n+1),...G(`gap`,ro(r.gap,0,96))};case`grid`:return{type:`grid`,cols:io(r.cols,1,X.maxGridCols)??1,items:_d(r.items,t,n+1)};case`card`:return{type:`card`,items:_d(r.items,t,n+1),...G(`title`,U(r.title,X.maxString)),...G(`tone`,ao(r.tone,Su)),...G(`accent`,eo(r.accent))};case`button`:{let e=U(r.label,X.maxString);return e===void 0?null:{type:`button`,label:e,...G(`tone`,ao(r.tone,au)),...G(`full`,r.full===!0||void 0),...G(`small`,r.small===!0||void 0),...G(`icon`,U(r.icon,64)),...G(`action`,U(r.action,200))}}case`input`:return{type:`input`,...G(`label`,U(r.label,X.maxString)),...G(`placeholder`,U(r.placeholder,X.maxString)),...G(`value`,U(r.value,X.maxString)),...G(`inputType`,ao(r.inputType,su)),...G(`action`,U(r.action,200)),...G(`id`,U(r.id,200))};case`select`:{let e=Sd(r.options,X.maxOptions,X.maxString);return e===void 0?null:{type:`select`,options:e,...G(`label`,U(r.label,X.maxString)),...G(`action`,U(r.action,200)),...G(`selected`,io(r.selected,0,e.length-1)),...G(`id`,U(r.id,200))}}case`checkbox`:{let e=U(r.label,X.maxString);return e===void 0?null:{type:`checkbox`,label:e,...G(`checked`,r.checked===!0||void 0),...G(`action`,U(r.action,200)),...G(`group`,U(r.group,200))}}case`link`:{let e=U(r.label,X.maxString);return e===void 0?null:{type:`link`,label:e,...G(`href`,to(r.href))}}case`image`:{let e=no(r.src);return e===void 0?null:{type:`image`,src:e,...G(`alt`,U(r.alt,X.maxString))}}case`audio`:{let e=no(r.src);return e===void 0?null:{type:`audio`,src:e,...G(`alt`,U(r.alt,X.maxString)),...G(`loop`,r.loop===!0||void 0)}}case`video`:{let e=no(r.src);return e===void 0?null:{type:`video`,src:e,...G(`alt`,U(r.alt,X.maxString)),...G(`poster`,no(r.poster)),...G(`loop`,r.loop===!0||void 0),...G(`muted`,r.muted===!0||void 0),...G(`aspectRatio`,ao(r.aspectRatio,du))}}case`badge`:{let e=U(r.label,X.maxString)??U(r.text,X.maxString)??U(r.value,X.maxString);return e===void 0?null:{type:`badge`,label:e,...G(`tone`,ao(r.tone,ou)),...G(`icon`,U(r.icon,64))}}case`hero`:{let e=U(r.title,X.maxString);return e===void 0?null:{type:`hero`,title:e,...G(`subtitle`,U(r.subtitle,X.maxString)),...G(`value`,U(r.value,128)),...G(`label`,U(r.label,X.maxString)),...G(`delta`,U(r.delta,64)),...G(`spark`,yd(r.spark)),...G(`tone`,ao(r.tone,Cu))}}case`stat`:{let e=U(r.label,X.maxString),t=U(r.value,128);return e===void 0||t===void 0?null:{type:`stat`,label:e,value:t,...G(`delta`,U(r.delta,64)),...G(`spark`,yd(r.spark)),...G(`size`,r.size===`hero`?`hero`:void 0)}}case`progress`:{let e=ro(r.value,0,100);return e===void 0?null:{type:`progress`,value:e,...G(`label`,U(r.label,X.maxString)),...G(`valueLabel`,U(r.valueLabel,64)),...G(`variant`,ao(r.variant,xu)),...G(`target`,ro(r.target,0,100))}}case`divider`:return{type:`divider`};case`spacer`:return{type:`spacer`};case`avatar`:{let e=U(r.name,64);return e===void 0?null:{type:`avatar`,name:e,...G(`color`,eo(r.color))}}case`list`:{let e=Cd(r.items,X.maxListItems,t,n+1);return e===void 0?null:{type:`list`,items:e,...G(`filter`,U(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=>Ad(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=>jd(e)).filter(e=>e!==void 0):Object.keys(i[0]);i=i.map(t=>e.map(e=>Md(t[e])))}let a=null;if((!Array.isArray(e)||e.length===0)&&Array.isArray(i)&&i.length>0&&Array.isArray(i[0])){let t=wd(i,X.maxTableRows,X.maxTableCols),n=t===void 0||t.length===0?null:Ed(t);n!==null&&wd(n.rows,X.maxTableRows,X.maxTableCols)?.length===n.rows.length&&(a=n,e=n.columns)}let o=Sd(e,X.maxTableCols,128),s=wd(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`&&wu.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=_d(u[r],t,n+1);return i.length===0?null:i});return{type:`table`,columns:o,rows:s,...G(`types`,l),...G(`total`,r.total===!0||void 0),...G(`export`,r.export===!0||void 0),...G(`filter`,U(r.filter,64)),...G(`filterColumn`,io(r.filterColumn,0,X.maxTableCols-1)),...G(`sortField`,U(r.sortField,64)),...G(`details`,d!==void 0&&d.some(e=>e!==null)?d:void 0)}}case`chart`:{let e=Dd(r.data,X.maxChartPoints),t=Array.isArray(r.series)?Od(r.series,X.maxPlotSeries,X.maxChartPoints):void 0;return e===void 0&&t===void 0?null:{type:`chart`,data:e??[],...G(`kind`,ao(r.kind,lu)),...G(`series`,t),...G(`horizontal`,r.horizontal===!0||void 0),...G(`stacked`,r.stacked===!0||void 0),...G(`filter`,U(r.filter,64)),...G(`palette`,vd(r.palette))}}case`tabs`:{let e=kd(r.tabs,t,n);return e===void 0?null:{type:`tabs`,tabs:e}}case`plot`:{let e=Nd(r.series,X.maxPlotSeries);return e===void 0?null:{type:`plot`,series:e,...G(`xMin`,ro(r.xMin,-1e6,1e6)),...G(`xMax`,ro(r.xMax,-1e6,1e6)),...G(`yMin`,ro(r.yMin,-1e9,1e9)),...G(`yMax`,ro(r.yMax,-1e9,1e9)),...G(`title`,U(r.title,X.maxString))}}case`callout`:{let e=U(r.content,X.maxString);return e===void 0?null:{type:`callout`,content:e,...G(`tone`,ao(r.tone,cu)),...G(`title`,U(r.title,X.maxString))}}case`steps`:{let e=Pd(r.steps);return e===void 0?null:{type:`steps`,steps:e,...G(`current`,io(r.current,0,e.length))}}case`keyvalue`:{let e=Fd(r.pairs,X.maxKeyValuePairs);return e===void 0?null:{type:`keyvalue`,pairs:e}}case`diff`:{let e=Id(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=U(r.code,X.maxCode);return e===void 0?null:{type:`code`,code:e,...G(`lang`,U(r.lang,64))}}case`radio`:{let e=Sd(r.options,X.maxOptions,X.maxString);return e===void 0?null:{type:`radio`,options:e,...G(`label`,U(r.label,X.maxString)),...G(`selected`,io(r.selected,0,e.length-1)),...G(`action`,U(r.action,200)),...G(`group`,U(r.group,200)),...G(`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),...G(`explanation`,U(r.explanation,X.maxString))}}case`submit`:{let e=U(r.label,X.maxString),t=U(r.action,200);return e===void 0?null:{type:`submit`,label:e,...G(`action`,t),...G(`resetAction`,U(r.resetAction,200)),...G(`groups`,Sd(r.groups,X.maxOptions,200))}}case`switch`:{let e=U(r.label,X.maxString);return e===void 0?null:{type:`switch`,label:e,...G(`checked`,r.checked===!0||void 0),...G(`action`,U(r.action,200))}}case`slider`:{let e=ro(r.min,-1e9,1e9)??0,t=ro(r.max,-1e9,1e9)??100,n=Math.min(e,t),i=Math.max(e,t),a=ro(r.step,1e-9,Math.max(i-n,1e-9)),o=ro(r.value,n,i)??n;return{type:`slider`,min:n,max:i,...G(`step`,a),value:o,...G(`label`,U(r.label,X.maxString)),...G(`action`,U(r.action,200)),...G(`id`,U(r.id,200))}}case`textarea`:return{type:`textarea`,...G(`label`,U(r.label,X.maxString)),...G(`placeholder`,U(r.placeholder,X.maxString)),...G(`rows`,io(r.rows,1,30)),...G(`value`,U(r.value,X.maxString)),...G(`action`,U(r.action,200)),...G(`id`,U(r.id,200))};case`accordion`:{let e=Ld(r.items,t,n);return e===void 0?null:{type:`accordion`,items:e}}case`copy`:{let e=U(r.text,X.maxCode);return e===void 0?null:{type:`copy`,text:e,...G(`label`,U(r.label,128))}}case`svg`:{let e=U(r.code,X.maxCode);return e===void 0?null:{type:`svg`,code:e,...G(`title`,U(r.title,X.maxString)),...G(`height`,io(r.height,100,800))}}case`mermaid`:{let e=U(r.code,X.maxMermaid);return e===void 0?null:{type:`mermaid`,code:e}}case`scene3d`:{let e=Rd(r.meshes);return e===void 0?null:{type:`scene3d`,meshes:e,...G(`title`,U(r.title,X.maxString)),...G(`ambient`,ro(r.ambient,0,2)),...G(`background`,eo(r.background))}}case`diagram`:return Gd(r);case`timeline`:{let e=Kd(r.items,X.maxTimelineItems);return e===void 0?null:{type:`timeline`,items:e}}case`file-tree`:{let e=qd(r.items,X.maxListItems);return e===void 0?null:{type:`file-tree`,items:e}}case`breadcrumb`:{let e=Sd(r.items,X.maxBreadcrumbItems,X.maxString);return e===void 0?null:{type:`breadcrumb`,items:e}}case`quiz`:{let e=U(r.question,X.maxString),t=Yd(r.options,r.answer);return e===void 0||t===void 0?null:{type:`quiz`,question:e,options:t,...G(`explanation`,U(r.explanation,X.maxString)),...G(`id`,U(r.id,200)),...G(`action`,U(r.action,200))}}case`echart`:{let e=r.data===void 0?void 0:Dd(r.data,X.maxChartPoints),t=r.series!==void 0&&Array.isArray(r.series)?Od(r.series,X.maxPlotSeries,X.maxChartPoints):void 0,n=Array.isArray(r.links)?r.links.slice(0,X.maxChartPoints).flatMap(e=>{let t=W(e),n=t===void 0?void 0:U(t.from,64),r=t===void 0?void 0:U(t.to,64);return n===void 0||r===void 0?[]:[{from:n,to:r,...G(`value`,ro(t.value,0,1e9))}]}):void 0,i=r.option===void 0?void 0:Zd(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`,...G(`title`,U(r.title,X.maxString)),...G(`height`,io(r.height,100,800)),...G(`preset`,ao(r.preset,yu)),...G(`data`,e),...G(`series`,t),...G(`links`,n!==void 0&&n.length>0?n:void 0),...G(`palette`,vd(r.palette)),...G(`option`,a)}}default:return e}}function Sd(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 Cd(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=W(a),o=e===void 0?void 0:U(e.title,X.maxString);if(o!==void 0){i.push({title:o,...G(`desc`,e===void 0?void 0:U(e.desc,X.maxString)??U(e.description,X.maxString))});continue}if(e!==void 0&&typeof e.type==`string`){if(n.remaining<=0)break;--n.remaining;let t=bd(e,n,r);t!==null&&i.push(t)}}return i}function wd(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 Td(e){return Array.from({length:e},(e,t)=>`列${t+1}`)}function Ed(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:Td(t.length),rows:e}}function Dd(e,t){if(!Array.isArray(e))return;let n=[];for(let r of e){if(n.length>=t)break;let e=W(r),i=e===void 0?void 0:U(e.label,128),a=e===void 0?void 0:ro(e.value,-0xe8d4a51000,0xe8d4a51000);i!==void 0&&a!==void 0&&n.push({label:i,value:a,...G(`color`,e===void 0?void 0:eo(e.color))})}return n}function Od(e,t,n){if(!Array.isArray(e))return;let r=[];for(let i of e){if(r.length>=t)break;let e=W(i),a=e===void 0?void 0:U(e.label,128),o=e===void 0?void 0:Dd(e.data,n);a!==void 0&&o!==void 0&&r.push({label:a,data:o,...G(`color`,e===void 0?void 0:eo(e.color))})}return r}function kd(e,t,n){if(!Array.isArray(e))return;let r=[];for(let i of e){if(r.length>=X.maxTabs)break;let e=W(i),a=e===void 0?void 0:U(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:_d(o,t,n+1)})}return r}function Ad(e){let t=W(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 jd(e){let t=W(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 Md(e){return typeof e==`string`||typeof e==`number`&&Number.isFinite(e)?e:e==null?``:JSON.stringify(e)}function Nd(e,t){if(!Array.isArray(e))return;let n=[];for(let r of e){if(n.length>=t)break;let e=W(r),i=e===void 0?void 0:U(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=W(t),n=e===void 0?void 0:U(e.name,64),r=e===void 0?void 0:ro(e.value,-1e9,1e9);n!==void 0&&r!==void 0&&a.push({name:n,value:r,...G(`min`,e===void 0?void 0:ro(e.min,-1e9,1e9)),...G(`max`,e===void 0?void 0:ro(e.max,-1e9,1e9)),...G(`step`,e===void 0?void 0:ro(e.step,1e-9,1e9)),...G(`animateTo`,e===void 0?void 0:ro(e.animateTo,-1e9,1e9)),...G(`durationMs`,e===void 0?void 0:ro(e.durationMs,1,12e4)),...G(`loop`,e===void 0?void 0:e.loop===!0||void 0)})}n.push({expr:i,...G(`label`,U(e.label,128)),...G(`color`,eo(e.color)),...G(`kind`,ao(e.kind,uu)),...G(`params`,a.length>0?a:void 0)})}return n}function Pd(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(t.length>=X.maxSteps)break;let e=W(n),r=e===void 0?void 0:U(e.title,256);r!==void 0&&t.push({title:r,...G(`desc`,e===void 0?void 0:U(e.desc,X.maxString))})}return t}function Fd(e,t){if(!Array.isArray(e))return;let n=[];for(let r of e){if(n.length>=t)break;let e=W(r),i=e===void 0?void 0:U(e.key,256),a=e===void 0?void 0:U(e.value,X.maxString);i!==void 0&&a!==void 0&&n.push({key:i,value:a})}return n}function Id(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(t.length>=24)break;let e=W(n),r=e===void 0?void 0:U(e.path,1024),i=e===void 0?void 0:U(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 Ld(e,t,n){if(!Array.isArray(e))return;let r=[];for(let i of e){if(r.length>=X.maxAccordionItems)break;let e=W(i),a=e===void 0?void 0:U(e.title,256);a!==void 0&&e!==void 0&&r.push({title:a,items:_d(e.items,t,n+1)})}return r}function Rd(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(t.length>=X.maxMeshes)break;let e=W(n),r=e===void 0?void 0:ao(e.shape,fu);if(r===void 0)continue;let i=e===void 0?void 0:ro(e.scale,-1e6,1e6)??zd(e.scale),a=e===void 0?void 0:ro(e.size,-1e6,1e6)??zd(e.size);t.push({shape:r,...G(`color`,e===void 0?void 0:eo(e.color)),...G(`position`,e===void 0?void 0:zd(e.position)),...G(`rotation`,e===void 0?void 0:zd(e.rotation)),...G(`scale`,i),...G(`size`,a)})}return t}function zd(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 Bd(e,t,n){return Math.min(n,Math.max(t,Math.round(e/4)*4))}function Vd(e){if(!Array.isArray(e))return;let t=[],n=new Set;for(let r of e){if(t.length>=X.maxDiagramNodes)break;let e=W(r);if(e===void 0)continue;let i=U(e.id,128),a=U(e.label,X.maxString);if(i===void 0||a===void 0||n.has(i))continue;n.add(i);let o=ao(e.type,hu),s=e.x===void 0?void 0:Bd(ro(e.x,-1e6,1e6)??0,0,1e6),c=e.y===void 0?void 0:Bd(ro(e.y,-1e6,1e6)??0,0,1e6),l=e.w===void 0?void 0:Bd(ro(e.w,-1e6,1e6)??96,40,2e3),u=e.h===void 0?void 0:Bd(ro(e.h,-1e6,1e6)??48,24,1200);t.push({id:i,label:a,...G(`sub`,U(e.sub,256)),...G(`type`,o),...G(`x`,s),...G(`y`,c),...G(`w`,l),...G(`h`,u),...G(`tag`,U(e.tag,32))})}return t}function Hd(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=W(n);if(e===void 0)continue;let r=U(e.from,128),i=U(e.to,128);r!==void 0&&i!==void 0&&t.push({from:r,to:i,...G(`label`,U(e.label,X.maxDiagramLabel)),...G(`kind`,ao(e.kind,_u)),...G(`route`,ao(e.route,vu))})}return t}function Ud(e){let t=W(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=eo(t[e]);r!==void 0&&(n[e]=r)}return Object.keys(n).length===0?void 0:n}function Wd(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=W(n);if(e===void 0)continue;let r=U(e.label,64);r!==void 0&&t.push({label:r,...G(`x`,e.x===void 0?void 0:Bd(ro(e.x,-1e6,1e6)??0,0,1e6)),...G(`y`,e.y===void 0?void 0:Bd(ro(e.y,-1e6,1e6)??0,0,1e6)),...G(`w`,e.w===void 0?void 0:Bd(ro(e.w,-1e6,1e6)??100,40,2e3)),...G(`h`,e.h===void 0?void 0:Bd(ro(e.h,-1e6,1e6)??100,40,1200))})}return t}function Gd(e){let t=W(e);if(t===void 0)return null;let n=ao(t.kind,mu);if(n===void 0)return null;let r=Vd(t.nodes);if(r===void 0)return null;let i=Hd(t.edges);if(i===void 0)return null;let a=Wd(t.zones);return a===void 0?null:{type:`diagram`,kind:n,nodes:r,edges:i,...G(`zones`,a.length>0?a:void 0),...G(`variant`,ao(t.variant,gu)),...G(`title`,U(t.title,256)),...G(`theme`,Ud(t.theme))}}function Kd(e,t){if(!Array.isArray(e))return;let n=[];for(let r of e){if(n.length>=t)break;let e=W(r),i=e===void 0?void 0:U(e.title,256);i!==void 0&&n.push({title:i,...G(`desc`,e===void 0?void 0:U(e.desc,X.maxString)),...G(`time`,e===void 0?void 0:U(e.time,128))})}return n}function qd(e,t){return Jd(e,t,X.maxTreeDepth)}function Jd(e,t,n){if(!Array.isArray(e))return;let r=[];for(let i of e){if(r.length>=t)break;let e=W(i),a=e===void 0?void 0:U(e.name,256);if(a===void 0)continue;let o=e!==void 0&&n>0&&Array.isArray(e.children)?Jd(e.children,t,n-1):void 0;r.push({name:a,...G(`type`,e===void 0?void 0:ao(e.type,pu)),...G(`children`,o)})}return r}function Yd(e,t){if(!Array.isArray(e))return;let n=[];for(let t of e){if(n.length>=X.maxQuizOptions)break;let e=W(t),r=typeof t==`string`?U(t,512):e===void 0?void 0:U(e.label,512);r!==void 0&&n.push({label:r,...G(`correct`,e===void 0?void 0:e.correct===!0||void 0),...G(`feedback`,e===void 0?void 0:U(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 Xd=/<(?:script|img|svg|iframe|video|audio|object|embed|source)\b|on[a-z]+\s*=|javascript:/i;function Zd(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(`)||Xd.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=Zd(e[a],t+1,n);r!==void 0&&i.push(r)}return i.length>0||e.length===0?i:void 0}let r=W(e);if(r===void 0)return;let i={};for(let[e,a]of Object.entries(r)){let r=Zd(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 Qd(e){let t=W(e);if(t===void 0)return null;if(Gu(e)){let t=Ku(e);return t===null?null:Qd(t)}if(!Array.isArray(t.items))return null;let n={remaining:X.maxNodes};return{...G(`title`,U(t.title,X.maxString)),...G(`gap`,ro(t.gap,0,96)),...G(`panel`,t.panel===!0||void 0),...G(`append`,t.append===!0||void 0),items:_d(t.items,n,0)}}function $d(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=W(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=W(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=W(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=W(i);e!==void 0&&typeof e.type==`string`&&r([e])}}}},i=W(e);return r(i===void 0?[]:i.items),n}let ef=Wu;function tf(e,t,n){let r=0,i=e=>{let t=W(e);return t!==void 0&&typeof t.type==`string`&&ef.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=W(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=W(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=W(e);return c===void 0||(Gu(c)&&i(e)?o(e,`spec`):a(c.items,`items`)),r}function nf(e,t=1/0){return tf(e,t,()=>{})}function rf(e,t=1/0){return nf(e,t)}function af(e){let t=[],n=W(e);if(n===void 0)return{ok:!1,errors:[`spec root must be an object`]};if(Gu(e)){let t=Ku(e);return t===null?{ok:!1,errors:[`spec.items must be an array`]}:af(t)}if(!Array.isArray(n.items))return{ok:!1,errors:[`spec.items must be an array`]};fd(n,`spec`,Hu,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}]`;df(e[s],n,c,t,a)}}};a(n.items,0,`items`);let o=[...new Set(t)];return{ok:o.length===0,errors:o}}function of(e){let t=td(e),n=Qd(t.value),r=af(t.value),i=nf(t.value,X.maxNodes+1),a=n===null?0:rf(n),o=n===null?0:$d(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,...cd(t.value)],declaredCount:i,renderedCount:o,declaredNativeCount:i,renderedNativeCount:a,renderedTotalCount:o}}function sf(e,t,n){if(Array.isArray(e))for(let r=0;r<e.length;r++){let i=W(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 cf(e,t,n){if(Array.isArray(e))for(let r=0;r<e.length;r++){let i=W(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`),sf(i.data,`${a}.data`,n)}}function lf(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`||!lu.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=W(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)`),sf(e.data,`${t}.data`,n),cf(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(W(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 df(e,t,n,r,i){if(t>X.maxDepth){r.push(`${n}: exceeds max depth ${X.maxDepth}`);return}let a=W(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=W(a.items[e]);o!==void 0&&typeof o.type==`string`&&df(o,t+1,`${n}.items[${e}]`,r,i)}break;case`table`:!Array.isArray(a.columns)&&!hd(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`:lf(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=W(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=W(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=Uu[o];l!==void 0&&gd(a,n,l,r)}var ff=class extends Error{code;constructor(e,t){super(t),this.code=e,this.name=`GenuiExportError`}};function pf(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 mf(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?mf([e],t)[0]:e):mf(n.items,t)),Array.isArray(n.tabs)&&(n.tabs=n.tabs.map(e=>({...e,items:mf(e.items,t)}))),n.type===`table`&&Array.isArray(n.details)&&(n.details=n.details.map(e=>e===null?null:mf(e,t))),n})}function hf(e,t,n={}){let r=of(e);if(r.spec===null)throw new ff(`artifact-invalid`,`invalid GenUI spec`);let{panel:i,append:a,...o}=r.spec,s=new Set,c={...o,items:mf(o.items,s)},l=n.theme??(typeof document<`u`&&document.body.hasAttribute(`data-ds-dark-theme`)?`dark`:`light`),u=pf(t,s);return{format:`dsh-genui`,version:1,spec:c,...u===void 0?{}:{state:u},presentation:{locale:n.locale??To(),theme:l}}}function gf(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function _f(e){return!gf(e)||e.answers!==void 0&&(!gf(e.answers)||!Object.values(e.answers).every(e=>typeof e==`string`))||e.multiAnswers!==void 0&&(!gf(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||gf(e.fields)&&Object.values(e.fields).every(e=>typeof e==`string`)}function vf(e){if(!gf(e)||e.format!==`dsh-genui`||e.version!==1||!gf(e.presentation)||e.presentation.locale!==`en`&&e.presentation.locale!==`zh`||e.presentation.theme!==`light`&&e.presentation.theme!==`dark`||e.state!==void 0&&!_f(e.state))return null;let t=of(e.spec);return t.spec===null||t.errors.length>0?null:hf(t.spec,e.state,{locale:e.presentation.locale,theme:e.presentation.theme})}let yf=document.createElement(`style`);yf.dataset.genuiStandaloneKatex=``,yf.textContent=`@font-face {
310
+ `)})]},`${e.path}:${t}`))})}function Ao({data:e,label:t,copyable:n,labels:r}){let[i,a]=(0,d.useState)(!0),[o,s]=(0,d.useState)(!1),c=JSON.stringify(e,null,2),l=async()=>{await jo(c)&&(s(!0),window.setTimeout(()=>s(!1),1200))};return(0,Y.jsxs)(`section`,{children:[(0,Y.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:8},children:[(0,Y.jsxs)(`button`,{type:`button`,"aria-expanded":i,onClick:()=>a(e=>!e),children:[q(i?`label.collapse`:`label.expandNode`),` `,t??`JSON`]}),n&&(0,Y.jsx)(`button`,{type:`button`,onClick:()=>void l(),children:o?r?.copied??q(`label.copied`):r?.copyJson??q(`label.copy`)})]}),i&&(0,Y.jsx)(`pre`,{style:Do,children:c})]})}async function jo(e){if(typeof navigator.clipboard?.writeText==`function`)try{return await navigator.clipboard.writeText(e),!0}catch{return!1}let t=document.createElement(`textarea`);t.value=e,t.setAttribute(`readonly`,``),t.style.position=`fixed`,t.style.left=`-9999px`,document.body.appendChild(t);try{return t.select(),document.execCommand(`copy`)}catch{return!1}finally{t.remove()}}function Mo(e){}let No=(0,d.createContext)(void 0),Po=(0,d.createContext)(void 0),Fo=No??Po;function Io(){return(0,d.useContext)(Fo)}let Lo=`dsh.genui.interaction`;function Ro(){return{order:[],blocks:{}}}function zo(){try{let e=localStorage.getItem(Lo);if(e===null)return Ro();let t=JSON.parse(e);return!Array.isArray(t.order)||typeof t.blocks!=`object`||t.blocks===null?Ro():{order:t.order.filter(e=>typeof e==`string`),blocks:t.blocks}}catch{return Ro()}}function Bo(e){try{localStorage.setItem(Lo,JSON.stringify(e))}catch{}}function Vo(e){return e===``?null:zo().blocks[e]??null}function Ho(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]}Bo({order:r,blocks:i})}function Uo(){return{fences:0,panels:0,interactions:0,templates:0,charts:0,advanced:0}}let Wo=e=>t=>t.fences>=e;function Go(e){return q(`ach.${e}.name`)}function Ko(e){return q(`ach.${e}.desc`)}function qo(e,t,n,r=!1){return{id:e,rarity:t,check:n,...r?{hidden:!0}:{},get name(){return Go(e)},get description(){return Ko(e)}}}let Jo=[qo(`first-fence`,`common`,Wo(1)),qo(`fence-5`,`common`,Wo(5)),qo(`fence-25`,`rare`,Wo(25)),qo(`fence-50`,`legendary`,Wo(50),!0),qo(`first-interaction`,`common`,e=>e.interactions>=1),qo(`interaction-10`,`rare`,e=>e.interactions>=10),qo(`first-panel`,`common`,e=>e.panels>=1),qo(`panel-5`,`rare`,e=>e.panels>=5),qo(`first-chart`,`common`,e=>e.charts>=1),qo(`chart-10`,`rare`,e=>e.charts>=10),qo(`first-advanced`,`rare`,e=>e.advanced>=1),qo(`template-1`,`common`,e=>e.templates>=1)];function Yo(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 Xo(e,t){return Jo.filter(n=>t[n.id]===void 0&&n.check(e))}let Zo=`dsh.genui.achievements`,Qo=`dsh.genui.achievements.seen`,$o=ns(),es=new Set,ts=[];function ns(){try{let e=localStorage.getItem(Zo);if(e===null)return{state:Uo(),unlocked:{}};let t=JSON.parse(e);return{state:{...Uo(),...t.state??{}},unlocked:typeof t.unlocked==`object`&&t.unlocked!==null?t.unlocked:{}}}catch{return{state:Uo(),unlocked:{}}}}function rs(){try{localStorage.setItem(Zo,JSON.stringify($o))}catch{}}function is(){try{let e=localStorage.getItem(Qo);if(e===null)return[];let t=JSON.parse(e);return Array.isArray(t)?t.filter(e=>typeof e==`string`):[]}catch{return[]}}function as(e){try{localStorage.setItem(Qo,JSON.stringify(e.slice(0,200)))}catch{}}function os(){for(let e of es)e()}function ss(e){$o.state={...$o.state,...e};let t=Xo($o.state,$o.unlocked);for(let e of t)$o.unlocked[e.id]=Date.now();t.length>0&&ts.push(...t),rs(),os()}function cs(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 ls(e){let t=cs(e),n=is();if(n.includes(t))return;as([t,...n]);let r=Yo(e);ss({fences:$o.state.fences+1,charts:$o.state.charts+ +(r.charts>0),advanced:$o.state.advanced+ +(r.advanced>0)})}function us(){ss({interactions:$o.state.interactions+1})}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},ds=[`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 ds[t%ds.length]}function ps({className:e,disabled:t,onClick:n,children:r}){let i=J(),[a,o]=(0,d.useState)(!1),s=(0,d.useRef)(null);return(0,d.useEffect)(()=>()=>{s.current!==null&&clearTimeout(s.current)},[]),(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.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,Y.jsx)(`span`,{className:H.btnSent,"aria-hidden":!0,children:i(`block.triggered`)})]}),(0,Y.jsx)(`span`,{className:H.visuallyHidden,role:`status`,children:a?i(`block.triggeredPlain`):``})]})}let ms=(0,d.memo)(function({node:e}){let t=J(),[n,r]=(0,d.useState)(!1);return(0,Y.jsxs)(`figure`,{className:H.media,children:[e.alt!==void 0&&(0,Y.jsx)(`figcaption`,{className:H.mediaLabel,children:K(e.alt)}),n?(0,Y.jsx)(`div`,{className:H.mediaError,role:`alert`,children:t(`block.audioError`)}):(0,Y.jsx)(`audio`,{className:H.mediaPlayer,src:e.src,"aria-label":e.alt??t(`block.audio`),controls:!0,preload:`metadata`,loop:e.loop===!0,onError:()=>r(!0)})]})}),hs=(0,d.memo)(function({node:e}){let t=J(),[n,r]=(0,d.useState)(!1);return(0,Y.jsxs)(`figure`,{className:H.media,children:[e.alt!==void 0&&(0,Y.jsx)(`figcaption`,{className:H.mediaLabel,children:K(e.alt)}),n?(0,Y.jsx)(`div`,{className:H.mediaError,role:`alert`,children:t(`block.videoError`)}):(0,Y.jsx)(`video`,{className:`${H.mediaPlayer} ${H.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 gs(e){let t=e.columns,n=Array.isArray(t)&&t.length>0,r=bs(n&&Array.isArray(t)&&typeof t[0]==`object`&&t[0]!==null?t.map(Ts):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(Cs).filter(e=>e!==void 0):Object.keys(i[0]);i=i.map(e=>t.map(t=>ws(e[t])))}let a=null;if(!n&&Array.isArray(i)&&i.length>0&&Array.isArray(i[0])){let e=xs(i),t=e.length===0?null:Ss(e);t!==null&&xs(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=xs(a===null?i:a.rows);return Array.isArray(i)?{columns:r.slice(0,X.maxTableCols),rows:o}:null}function _s(e){return gs(e)?.rows??[]}function vs(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 ys(e,t){let n=_s(e);return t>=0&&t<n.length&&!vs(n[t],e.types)}function bs(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 xs(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 Ss(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 Cs(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 ws(e){return typeof e==`string`||typeof e==`number`&&Number.isFinite(e)?e:e==null?``:JSON.stringify(e)}function Ts(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 Es=[`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)`],Ds=(e,t,n,r)=>n??(r!==void 0&&r.length>0?r[e%r.length]:t>1?Es[e%Es.length]:void 0);function Os(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 ks(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(Os(e)))return!1;r=!0}}return r})}function As(e){return typeof e==`string`&&/[\n\r]/.test(e)}function js(e){return typeof e==`string`?/(^|\n)[ \t]/.test(e)||e.includes("```"):!1}function Ms(e){if(As(e))return js(e)?H.tdCode:H.tdMultiline}function Ns(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 Ps({cell:e}){let t=String(e).split(/[\s,;]+/).map(Number).filter(Number.isFinite);if(t.length<2)return(0,Y.jsx)(Y.Fragment,{children:K(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,Y.jsxs)(`svg`,{className:H.cellSpark,viewBox:`0 0 88 22`,preserveAspectRatio:`none`,"aria-hidden":`true`,children:[(0,Y.jsx)(`path`,{d:c,fill:`var(--dsl-g-accent)`,opacity:`0.14`}),(0,Y.jsx)(`polyline`,{points:o,fill:`none`,stroke:`var(--dsl-g-accent)`,strokeWidth:`1.5`,strokeLinejoin:`round`,strokeLinecap:`round`,vectorEffect:`non-scaling-stroke`}),(0,Y.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 Fs({cell:e}){let t=Os(e),n=Number.isFinite(t)?Math.max(0,Math.min(100,t)):0,r=2*Math.PI*11;return(0,Y.jsxs)(`span`,{className:H.cellRing,children:[(0,Y.jsxs)(`svg`,{width:28,height:28,viewBox:`0 0 28 28`,"aria-hidden":`true`,children:[(0,Y.jsx)(`circle`,{cx:14,cy:14,r:11,fill:`none`,strokeWidth:4,className:H.ringTrack}),(0,Y.jsx)(`circle`,{cx:14,cy:14,r:11,fill:`none`,strokeWidth:4,strokeLinecap:`round`,className:H.ringFill,strokeDasharray:`${n/100*r} ${r}`,transform:`rotate(-90 14 14)`})]}),(0,Y.jsx)(`span`,{className:H.cellRingText,children:K(String(e),!1)})]})}function Is(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(`
311
+ `)}function Ls(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(`
312
+ `)}function Rs({columns:e,rows:t}){J();let[n,r]=(0,d.useState)(null),i=n=>{jo(n===`md`?Is(e,t):Ls(t)).then(e=>{e&&(r(n),window.setTimeout(()=>r(null),1200))})};return(0,Y.jsxs)(`div`,{className:H.tableTools,children:[(0,Y.jsx)(`button`,{type:`button`,className:H.tableTool,onClick:()=>i(`md`),children:q(n===`md`?`label.copiedDone`:`block.copyMarkdown`)}),(0,Y.jsx)(`button`,{type:`button`,className:H.tableTool,onClick:()=>i(`csv`),children:q(n===`csv`?`label.copiedDone`:`block.copyCsv`)})]})}function zs({cell:e}){let t=Os(e),n=Number.isFinite(t)?Math.max(0,Math.min(100,t)):0;return(0,Y.jsxs)(`span`,{className:H.cellBar,children:[(0,Y.jsx)(`span`,{className:H.cellBarFill,style:{width:`${n}%`}}),(0,Y.jsx)(`span`,{className:H.cellBarText,children:K(String(e),!1)})]})}let Bs=(0,d.memo)(function({node:e,renderDetail:t,filterValue:n,sortValue:r}){J();let i=e.columns.slice(0,X.maxTableCols),a=_s(e),o=e.types??[],[s,c]=(0,d.useState)(null),[l,u]=(0,d.useState)(()=>new Set),[f,p]=(0,d.useState)(()=>new Set),m=(e,t,n,r)=>{let i=Os(e[n]),a=Os(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=>vs(e,o),g=n?.trim().toLowerCase(),_=(g===void 0||g===``?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(g)))).map(e=>e.row),v=a.length-_.length,y=[];_.forEach((e,t)=>{if(h(e)){y.push({header:{row:e,index:t},children:[]});return}(y.length===0||y[y.length-1].header===null)&&y.length===0&&y.push({header:null,children:[]}),y[y.length-1].children.push({row:e,index:t})});let b=r===void 0?-1:i.indexOf(r),x=s===null?b>=0?{col:b,dir:1}:null:s,S=y.map(e=>({header:e.header,children:x===null?e.children:[...e.children].sort((e,t)=>m(e.row,t.row,x.col,x.dir))})),C=ks(_,i.length),w=e=>{u(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},ee=e=>{p(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(!C[t])return null;let n=0;for(let e of _){if(h(e))continue;let r=Os(e[t]);Number.isFinite(r)&&(n+=r)}return n}),re=e.total===!0&&ne.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=Ms(e),a=r===`delta`?String(e).trim().startsWith(`-`)?`down`:`up`:Ns(e);return(0,Y.jsx)(`td`,{className:[C[t]||r===`num`?H.tdNum:void 0,i].filter(e=>e!==void 0).join(` `)||void 0,children:r===`badge`?(0,Y.jsx)(`span`,{className:H.cellBadge,children:K(String(e),!1)}):r===`bar`?(0,Y.jsx)(zs,{cell:e}):r===`spark`?(0,Y.jsx)(Ps,{cell:e}):r===`ring`?(0,Y.jsx)(Fs,{cell:e}):r===`index`?(0,Y.jsx)(`span`,{className:H.cellIndex,children:n+1}):a===null?K(String(e),!1):(0,Y.jsx)(`span`,{className:`${H.tdDelta} ${a===`up`?H.tdDeltaUp:H.tdDeltaDown}`,children:K(String(e),!1)})},t)};return(0,Y.jsxs)(`div`,{className:H.tableWrap,children:[e.export===!0&&(0,Y.jsx)(Rs,{columns:i,rows:a}),(0,Y.jsxs)(`table`,{className:H.table,children:[(0,Y.jsx)(`thead`,{children:(0,Y.jsx)(`tr`,{children:i.map((e,t)=>(0,Y.jsx)(`th`,{className:[C[t]?H.thNum:void 0,Ms(e)].filter(e=>e!==void 0).join(` `)||void 0,"aria-sort":s!==null&&s.col===t?s.dir===1?`ascending`:`descending`:`none`,children:(0,Y.jsxs)(`button`,{type:`button`,className:H.thSort,onClick:()=>te(t),children:[K(e,!1),s!==null&&s.col===t&&(0,Y.jsx)(`span`,{className:H.thSortMark,"aria-hidden":!0,children:s.dir===1?` ▲`:` ▼`})]})},t))})}),(0,Y.jsx)(`tbody`,{children:S.map((n,r)=>{let a=n.header?.index??r,o=l.has(a);return(0,Y.jsxs)(d.Fragment,{children:[n.header!==null&&(0,Y.jsx)(`tr`,{className:H.groupRow,children:(0,Y.jsx)(`td`,{colSpan:i.length,className:Ms(String(n.header.row[0])),children:(0,Y.jsxs)(`button`,{type:`button`,className:H.groupToggle,"aria-expanded":!o,onClick:()=>w(a),children:[(0,Y.jsx)(`span`,{className:H.groupChevron,"aria-hidden":!0,children:o?`▸`:`▾`}),K(String(n.header.row[0]),!1),(0,Y.jsx)(`span`,{className:H.groupCount,children:n.children.length})]})})}),!o&&n.children.map(r=>{let a=e.details?.[r.index]??null,o=f.has(r.index);return(0,Y.jsxs)(d.Fragment,{children:[(0,Y.jsx)(`tr`,{className:n.header===null?void 0:H.groupChild,children:r.row.slice(0,i.length).map((e,t)=>t===0&&a!==null?(0,Y.jsx)(`td`,{className:H.detailCell,children:(0,Y.jsxs)(`button`,{type:`button`,className:H.detailToggle,"aria-expanded":o,onClick:()=>ee(r.index),children:[(0,Y.jsx)(`span`,{className:H.detailChevron,"data-open":o,"aria-hidden":!0,children:`▸`}),K(String(e),!1)]})},t):ae(e,t,r.index))}),o&&a!==null&&(0,Y.jsx)(`tr`,{className:H.detailRow,children:(0,Y.jsx)(`td`,{colSpan:i.length,children:(0,Y.jsx)(`div`,{className:H.detailBody,children:t===void 0?null:t(a)})})})]},r.index)})]},n.header===null?`s-${r}`:`g-${n.header.index}`)})}),v>0&&(0,Y.jsx)(`tfoot`,{children:(0,Y.jsx)(`tr`,{className:H.filterRow,children:(0,Y.jsx)(`td`,{colSpan:i.length,children:q(`block.filteredRows`,{visible:_.length,total:a.length})})})}),re&&(0,Y.jsx)(`tfoot`,{children:(0,Y.jsx)(`tr`,{children:i.map((e,t)=>(0,Y.jsx)(`td`,{className:C[t]?H.tdNum:void 0,children:t===0?q(`block.total`):ne[t]===null?``:ie(ne[t])},t))})})]})]})});function Vs(){let[e,t]=(0,d.useState)(null);return{tip:e,show:(0,d.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,d.useCallback)(()=>t(null),[])}}function Hs({tip:e}){return e===null?null:(0,Y.jsx)(`div`,{className:H.chartTip,style:{left:`${e.x}px`,top:`${e.y}px`},role:`tooltip`,children:e.rows.map(([e,t],n)=>(0,Y.jsxs)(`span`,{className:H.chartTipRow,children:[(0,Y.jsx)(`span`,{children:K(e)}),(0,Y.jsx)(`span`,{className:H.chartTipValue,children:K(String(t))})]},`${e}-${n}`))})}function Us(){let e=(0,d.useRef)(null),[t,n]=(0,d.useState)(560);return(0,d.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 Ws(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 Gs(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 Ks(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 qs(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 Js({ticks:e,lo:t,span:n}){return(0,Y.jsx)(`div`,{className:H.chartYAxis,style:{height:160},children:e.map(e=>(0,Y.jsx)(`span`,{className:H.chartYTick,style:{bottom:`${(e-t)/n*100}%`},children:Gs(e)},e))})}let Ys=(0,d.memo)(function({chart:e,filterValue:t}){let n=(0,d.useMemo)(()=>Xs(e,t),[e,t]),r=n.kind??`bars`;return r===`donut`?(0,Y.jsx)($s,{chart:n}):r===`line`?(0,Y.jsx)(Qs,{chart:n}):(0,Y.jsx)(Zs,{chart:n})});function Xs(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 Zs=(0,d.memo)(function({chart:e}){J();let{tip:t,show:n,hide:r}=Vs(),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)=>Ds(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=>Ks(e[t]??0)),0)),h=Math.max(...f?p:u,0);if(e.horizontal===!0){let e=Math.max(h,1),u=a?(0,Y.jsx)(`div`,{className:H.chartLegend,children:i.map((e,t)=>(0,Y.jsxs)(`span`,{className:H.legendItem,children:[(0,Y.jsx)(`span`,{className:H.legendSwatch,style:{background:l[t]}}),K(e.label)]},t))}):null;return(0,Y.jsxs)(`div`,{className:H.chart,"data-genui-chart":`bars`,role:`img`,"aria-label":q(`block.chart.barsAria`,{count:s.length}),onMouseLeave:r,children:[(0,Y.jsx)(`div`,{className:H.hbars,children:s.map((t,r)=>(0,Y.jsxs)(`div`,{className:H.hbarRow,children:[(0,Y.jsx)(`span`,{className:H.hbarLabel,title:t,children:K(t)}),(0,Y.jsx)(`div`,{className:H.hbarTracks,children:f?(0,Y.jsx)(`div`,{className:H.hbarTrack,title:`${t}: ${qs(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,Y.jsx)(`div`,{className:H.hbarSeg,style:{width:`${c}%`,background:l[a]},onMouseEnter:e=>n(e,[[i[a].label,String(o)],[q(`block.total`),qs(s,m[r]??0)]]),onMouseMove:e=>n(e,[[i[a].label,String(o)],[q(`block.total`),qs(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,Y.jsx)(`div`,{className:H.hbarTrack,children:(0,Y.jsx)(`div`,{className:H.hbarFill,style:{width:`${u}%`,background:l[s]},onMouseEnter:e=>n(e,a?[[i[s].label,String(c)],[q(`block.total`),qs(p[r]??0,m[r]??0)]]:[[t,String(c)]]),onMouseMove:e=>n(e,a?[[i[s].label,String(c)],[q(`block.total`),qs(p[r]??0,m[r]??0)]]:[[t,String(c)]])})},s)})}),d&&(0,Y.jsx)(`span`,{className:H.hbarValue,children:a?qs(p[r]??0,m[r]??0):String(o[r]?.value??``)})]},r))}),u,(0,Y.jsx)(Hs,{tip:t})]})}let g=Ws(a?0:Math.min(...u,0),h,4),_=g[0],v=g[g.length-1]-_||1,y=e=>(e-_)/v*100,b=y(0),x=q(`block.chart.barsSummary`,{count:s.length,max:Gs(Math.max(...u,0))});return(0,Y.jsxs)(`div`,{className:H.chart,"data-genui-chart":`bars`,role:`img`,"aria-label":x,onMouseLeave:r,children:[(0,Y.jsx)(Hs,{tip:t}),(0,Y.jsxs)(`div`,{className:H.chartBody,children:[(0,Y.jsx)(Js,{ticks:g,lo:_,span:v}),(0,Y.jsxs)(`div`,{className:H.chartPlot,children:[g.map(e=>(0,Y.jsx)(`span`,{className:e===0?H.baseline:H.gridline,style:{bottom:`${y(e)}%`}},e)),s.map((e,t)=>(0,Y.jsx)(`div`,{className:H.barCol,children:f?(0,Y.jsxs)(Y.Fragment,{children:[d&&(0,Y.jsx)(`span`,{className:H.barValue,style:{bottom:`calc(${y(p[t]??0)}% + 4px)`},children:qs(p[t]??0,m[t]??0)}),(0,Y.jsx)(`div`,{className:H.stack,style:{height:`${Math.max(0,y(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*y(s),u=[[e.label,String(a)],[q(`block.total`),qs(s,m[t]??0)]];return(0,Y.jsx)(`div`,{className:H.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,Y.jsx)(`span`,{className:H.stackValue,children:a})},r)})})]}):a?(0,Y.jsx)(`div`,{className:H.groupedBars,children:i.map((e,r)=>{let i=e.data[t],a=i===void 0?0:Number(i.value)||0;return(0,Y.jsxs)(`div`,{className:H.groupedBar,children:[d&&(0,Y.jsx)(`span`,{className:H.groupValue,children:i===void 0?``:String(i.value)}),(0,Y.jsx)(`div`,{className:H.groupedFill,style:{height:`${Math.max(0,y(Math.max(0,a)))}%`,background:l[r]},onMouseEnter:r=>n(r,[[e.label,String(i?.value??``)],[q(`block.total`),qs(p[t]??0,m[t]??0)]]),onMouseMove:r=>n(r,[[e.label,String(i?.value??``)],[q(`block.total`),qs(p[t]??0,m[t]??0)]])})]},r)})}):(()=>{let r=c[0][t]??0,i=Math.max(y(r),b),a=Math.min(y(r),b);return(0,Y.jsxs)(Y.Fragment,{children:[d&&(0,Y.jsx)(`span`,{className:H.barValue,style:{bottom:`calc(${i}% + 4px)`},children:String(o[t]?.value??``)}),(0,Y.jsx)(`div`,{className:H.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,Y.jsx)(`div`,{className:H.chartLabels,children:s.map((e,t)=>(0,Y.jsx)(`span`,{className:H.barLabel,children:K(e)},`${e}-${t}`))}),a&&(0,Y.jsx)(`div`,{className:H.chartLegend,children:i.map((e,t)=>(0,Y.jsxs)(`span`,{className:H.legendItem,children:[(0,Y.jsx)(`span`,{className:H.legendSwatch,style:{background:l[t]}}),K(e.label)]},t))})]})}),Qs=(0,d.memo)(function({chart:e}){J();let[t,n]=Us(),{tip:r,show:i,hide:a}=Vs(),o=`genui-line-${(0,d.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)),f=u.map((t,n)=>Ds(n,u.length,s===void 0?void 0:s[n]?.color,e.palette)??`var(--dsl-g-accent)`),p=u.length>1,m=u.flat(),h=Math.max(...u.map(e=>e.length),0),g=Math.max(n,260),_=Ws(Math.min(...m,0),Math.max(...m,0),4),v=_[0],y=_[_.length-1]-v||1,b=g-44-12,x=e=>44+(h<=1?b/2:e/(h-1)*b),S=e=>14+(1-(e-v)/y)*136,C=u.map(e=>e.map((e,t)=>`${t===0?`M`:`L`} ${x(t).toFixed(1)} ${S(e).toFixed(1)}`).join(` `)),w=!p&&h>1?`${C[0]} L ${x(h-1).toFixed(1)} ${S(v).toFixed(1)} L ${x(0).toFixed(1)} ${S(v).toFixed(1)} Z`:null,ee=Math.max(1,Math.ceil(h/Math.max(1,Math.floor(b/64)))),te=q(p?`block.chart.lineSeries`:`block.chart.linePoints`,{count:p?u.length:h,min:Gs(Math.min(...m,0)),max:Gs(Math.max(...m,0))});return(0,Y.jsxs)(`div`,{className:H.lineChart,"data-genui-chart":`line`,"data-genui-line":!0,ref:t,role:`img`,"aria-label":te,onMouseLeave:a,children:[(0,Y.jsx)(Hs,{tip:r}),(0,Y.jsxs)(`svg`,{width:`100%`,viewBox:`0 0 ${g} 176`,preserveAspectRatio:`none`,children:[(0,Y.jsx)(`defs`,{children:(0,Y.jsxs)(`linearGradient`,{id:o,x1:`0`,y1:`0`,x2:`0`,y2:`1`,children:[(0,Y.jsx)(`stop`,{offset:`0%`,stopColor:`var(--dsl-g-accent)`,stopOpacity:`0.22`}),(0,Y.jsx)(`stop`,{offset:`100%`,stopColor:`var(--dsl-g-accent)`,stopOpacity:`0.02`})]})}),_.map((e,t)=>{let n=S(e);return(0,Y.jsxs)(`g`,{children:[(0,Y.jsx)(`line`,{x1:44,x2:g-12,y1:n,y2:n,className:t===0?H.lineGridAxis:H.lineGrid}),(0,Y.jsx)(`text`,{x:36,y:n+4,textAnchor:`end`,className:H.lineTick,children:Gs(e)})]},e)}),w!==null&&(0,Y.jsx)(`path`,{d:w,fill:`url(#${o})`}),C.map((e,t)=>(0,Y.jsx)(`path`,{d:e,className:H.linePath,style:{stroke:f[t]}},t)),u.map((e,t)=>e.map((e,n)=>{let r=p?[[s[t].label,String(e)],[q(`block.chart.node`),l[n]??``]]:[[l[n]??``,String(e)]];return(0,Y.jsx)(`circle`,{cx:x(n),cy:S(e),r:p?3:3.5,className:H.lineDot,style:{fill:f[t]},onMouseEnter:e=>i(e,r),onMouseMove:e=>i(e,r)},`${t}-${n}`)})),l.map((e,t)=>t%ee===0?(0,Y.jsx)(`text`,{x:x(t),y:168,textAnchor:`middle`,className:H.lineLabel,children:e},`l-${t}`):null)]}),p&&(0,Y.jsx)(`div`,{className:H.chartLegend,children:s.map((e,t)=>(0,Y.jsxs)(`span`,{className:H.legendItem,children:[(0,Y.jsx)(`span`,{className:H.legendSwatch,style:{background:f[t]}}),K(e.label)]},t))})]})}),$s=(0,d.memo)(function({chart:e}){J();let{tip:t,show:n,hide:r}=Vs(),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=q(`block.chart.donutSummary`,{count:a.length,total:s});return(0,Y.jsxs)(`div`,{className:H.donut,"data-genui-chart":`donut`,"data-genui-donut":!0,role:`img`,"aria-label":u,onMouseLeave:r,children:[(0,Y.jsx)(Hs,{tip:t}),(0,Y.jsxs)(`svg`,{width:160,height:160,viewBox:`0 0 160 160`,children:[(0,Y.jsx)(`circle`,{cx:80,cy:80,r:62,fill:`none`,strokeWidth:18,className:H.donutTrack}),a.map((t,r)=>{let a=t.v/o,s=a*c,u=(0,Y.jsx)(`circle`,{cx:80,cy:80,r:62,fill:`none`,strokeWidth:18,className:H.donutSeg,style:{stroke:Ds(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,Y.jsx)(`text`,{x:80,y:78,textAnchor:`middle`,className:H.donutTotal,children:s}),(0,Y.jsx)(`text`,{x:80,y:96,textAnchor:`middle`,className:H.donutTotalLabel,children:q(`block.total`)})]}),(0,Y.jsx)(`div`,{className:H.donutLegend,children:a.map((t,n)=>(0,Y.jsxs)(`span`,{className:H.legendItem,children:[(0,Y.jsx)(`span`,{className:H.legendSwatch,style:{background:Ds(n,i.length,t.color,e.palette)??`var(--dsw-alias-state-business-primary, #4f8ef7)`}}),(0,Y.jsx)(`span`,{children:K(t.label)}),(0,Y.jsxs)(`span`,{className:H.donutPct,children:[String(t.value),` · `,(t.v/o*100).toFixed(1),`%`]})]},n))})]})});function ec(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,_s(e).length).forEach((t,r)=>{t!==null&&ys(e,r)&&n(t,`${i}.details[${r}]`,a+1)})}};n(e.items,`items`,0)}function tc(e){let t=new Map,n=new Map,r=[],i=[];ec(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 nc(e){return tc(e).registry}function rc(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 ic({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=>rc(e,n)):t.flatMap(t=>{let n=e.members.get(t);return n===void 0?[]:[n]}),a=i.filter(e=>rc(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 ac({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,d.useState)(s>=0?s:e.selected??null),u=(0,d.useId)(),f=a&&n?.locked===!0;return(0,d.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,Y.jsxs)(`div`,{className:H.fieldGroup,role:`radiogroup`,"aria-label":e.label,children:[e.label!==void 0&&(0,Y.jsx)(`span`,{className:H.fieldLabel,children:K(e.label,!1)}),o.map((e,o)=>(0,Y.jsxs)(`label`,{className:H.radio,children:[(0,Y.jsx)(`input`,{type:`radio`,name:`genui-radio-${u}`,checked:c===o,disabled:f,onChange:()=>{l(o),a?n?.setAnswer(i,e):r!==void 0&&t!==void 0&&t(r,{type:`radio`,value:e})}}),(0,Y.jsx)(`span`,{children:K(e,!1)})]},o))]})}function oc(e){if(e.answer!==void 0)return typeof e.answer==`number`?e.options[e.answer]:e.answer}function sc({node:e,onAction:t,answers:n}){let r=J(),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}:ic({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,g={...i,...a},_=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]===oc(e)).length;return(0,Y.jsxs)(`div`,{className:H.gradeWrap,"data-genui-grade":!0,children:[(0,Y.jsxs)(`div`,{className:H.gradeScore,children:[(0,Y.jsxs)(`span`,{className:H.gradeScoreValue,children:[o,` / `,a.length]}),(0,Y.jsxs)(`span`,{className:H.gradeScoreLabel,children:[r(`block.score`),a.length<u.length?r(`block.scoreUngraded`,{count:u.length-a.length}):``]})]}),(0,Y.jsx)(`div`,{className:H.gradeList,children:u.map(e=>{if(e.kind!==`radio`)return null;let t=i[e.key];if(t===void 0)return null;let n=oc(e);if(n===void 0)return(0,Y.jsxs)(`div`,{className:H.gradeItem,children:[(0,Y.jsx)(`span`,{className:H.gradeQ,children:K(e.label)}),(0,Y.jsxs)(`span`,{className:H.gradeAns,children:[r(`block.yourAnswer`),K(t)]})]},e.key);let a=t===n;return(0,Y.jsxs)(`div`,{className:`${H.gradeItem} ${a?H.gradeItemOk:H.gradeItemNo}`,children:[(0,Y.jsx)(`span`,{className:H.gradeQ,children:K(e.label)}),(0,Y.jsx)(`span`,{className:H.gradeTag,children:a?`✓`:`✗`}),(0,Y.jsxs)(`span`,{className:H.gradeAns,children:[r(`block.yourAnswer`),K(t),!a&&(0,Y.jsxs)(`span`,{className:H.gradeRight,children:[r(`block.correctAnswer`),K(n??``)]})]}),e.explanation!==void 0&&(0,Y.jsx)(`span`,{className:H.gradeExp,children:K(e.explanation)})]},e.key)})}),(0,Y.jsx)(`button`,{type:`button`,className:`${H.button} ${H.ghost} ${H.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,Y.jsxs)(`div`,{className:H.submitRow,children:[(0,Y.jsx)(`button`,{type:`button`,className:`${H.button} ${H.primary} ${H.submit}`,disabled:!_,onClick:_?()=>{m?n?.setLocked(!0):e.action!==void 0&&t!==void 0&&t(e.action,{type:`submit`,answers:g,...Object.keys(c).length>0?{fields:c}:{},total:f,answered:d})}:void 0,children:K(e.label,!1)}),f>0&&(0,Y.jsx)(`span`,{className:H.submitHint,"aria-live":`polite`,children:r(`block.selectedCount`,{answered:d,total:f})})]})}function cc({node:e,onAction:t}){let[n,r]=(0,d.useState)(e.checked===!0),i=e.action;return(0,Y.jsxs)(`label`,{className:H.switchRow,children:[(0,Y.jsx)(`span`,{className:H.switchLabel,children:K(e.label,!1)}),(0,Y.jsx)(`button`,{type:`button`,role:`switch`,"aria-checked":n,className:`${H.switch} ${n?H.switchOn:``}`,onClick:()=>{let e=!n;r(e),i!==void 0&&t!==void 0&&t(i,{type:`switch`,checked:e})},children:(0,Y.jsx)(`span`,{className:H.switchKnob})})]})}function lc({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,d.useState)(o),l=(0,d.useRef)(!1);(0,d.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,Y.jsxs)(`label`,{className:H.sliderRow,children:[e.label!==void 0&&(0,Y.jsx)(`span`,{className:H.fieldLabel,children:K(e.label,!1)}),(0,Y.jsx)(`input`,{type:`range`,className:H.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,Y.jsx)(`span`,{className:H.sliderValue,children:Math.round(s*100)/100})]})}function uc(){let e=(0,d.useRef)(!1),t=(0,d.useRef)(null);return(0,d.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 dc(e){let t=e.nativeEvent;return t.isComposing===!0||t.keyCode===229}function fc({node:e,onAction:t,answers:n}){let r=J(),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,d.useState)(c),f=(0,d.useRef)(!1);(0,d.useEffect)(()=>{f.current||(f.current=!0,a!==void 0&&c!==null&&n?.setField(a,c))},[]);let p=e=>{i!==void 0&&t!==void 0&&t(i,{type:`select`,value:e,...a===void 0?{}:{id:a}})};return(0,Y.jsxs)(`label`,{className:H.field,children:[e.label!==void 0&&(0,Y.jsx)(`span`,{children:K(e.label,!1)}),(0,Y.jsxs)(`select`,{className:H.select,value:l??``,onChange:e=>{let t=e.currentTarget.value;u(t),a!==void 0&&n?.setField(a,t),p(t)},children:[l===null&&(0,Y.jsx)(`option`,{value:``,hidden:!0,disabled:!0,children:r(`block.selectPlaceholder`)}),o.map((e,t)=>(0,Y.jsx)(`option`,{value:e,children:e},t))]})]})}function Z({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,d.useState)(()=>{let t=a?``:o??e.value??``;return e.inputType===`color`?/^#[0-9a-f]{6}$/i.test(t)?t.toLowerCase():`#000000`:t}),l=(0,d.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}:{}}))},f=uc(),p=(0,d.useRef)(!1);return(0,d.useEffect)(()=>{p.current||(p.current=!0,!a&&i!==void 0&&s.trim()!==``&&n?.setField(i,s))},[]),(0,d.useEffect)(()=>{a&&i!==void 0&&n?.registerSecretField(i)},[a,i]),(0,Y.jsxs)(`label`,{className:H.field,children:[e.label!==void 0&&(0,Y.jsx)(`span`,{children:K(e.label,!1)}),(0,Y.jsx)(`input`,{className:H.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:f.onCompositionStart,onCompositionEnd:f.onCompositionEnd,onKeyDown:e=>{e.key===`Enter`&&(f.isComposing()||dc(e)||(e.preventDefault(),u(!0)))}})]})}function pc({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,d.useState)(()=>a??e.value??``),c=(0,d.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=uc(),f=(0,d.useRef)(!1);return(0,d.useEffect)(()=>{f.current||(f.current=!0,i!==void 0&&o.trim()!==``&&n?.setField(i,o))},[]),(0,Y.jsxs)(`label`,{className:H.field,children:[e.label!==void 0&&(0,Y.jsx)(`span`,{children:K(e.label,!1)}),(0,Y.jsx)(`textarea`,{className:H.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()||dc(e)||(e.preventDefault(),l(!0))}})]})}function mc({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,d.useState)(e.checked===!0);return(0,d.useEffect)(()=>{r===void 0||e.checked!==!0||a||n?.setMultiAnswer(r,e.label,!0)},[r,e.checked,e.label,a]),(0,Y.jsxs)(`label`,{className:H.checkbox,children:[(0,Y.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,Y.jsx)(`span`,{children:K(e.label,!1)})]})}let hc={pi:Math.PI,e:Math.E,tau:Math.PI*2},gc={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 _c=class extends Error{pos;constructor(e,t){super(`SafeMath parse error at ${t}: ${e}`),this.pos=t}},vc=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 _c(`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 _c(`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 _c(`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 _c(`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 _c(`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 _c(`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=gc[t];if(n===void 0)throw new _c(`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 _c(`expected , or ) in call`,this.i)}return e=>n(...r.map(t=>this.asNum(t,e)))}if(Object.hasOwn(hc,t))return hc[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 _c(`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 _c(`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 yc(e,t={}){try{let n={...t.vars};return delete n.x,new vc(e,n).parse()}catch{return null}}function bc(e,t,n,r=200,i={}){let a=yc(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 xc=`@changfenhuang/dsh-genui/PlotBlock.module.css`;if(typeof document<`u`&&document.querySelector(`style[data-plugin-css=`+JSON.stringify(xc)+`]`)===null){let e=document.createElement(`style`);e.dataset.plugin=`@changfenhuang/dsh-genui`,e.dataset.pluginCss=xc,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 Sc={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 Cc=[`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)`],wc=(e,t,n)=>n??(t>1?Cc[e%Cc.length]:void 0);function Tc(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 Ec(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 Dc(e){return Math.abs(e)>=1e5||Math.abs(e)<.001&&e!==0?e.toExponential(1):String(Math.round(e*100)/100)}function Oc({points:e,className:t,color:n}){let r=e.length>40?`${e.slice(0,16)}|${e.slice(-16)}`:e;return(0,Y.jsx)(`polyline`,{points:e,className:t,style:n===void 0?void 0:{stroke:n}},r)}let kc=(0,d.memo)(function({series:e,xMin:t=-5,xMax:n=5,yMin:r,yMax:i,title:a}){let[o,s]=(0,d.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]=Tc(e.map((e,r)=>{let i={};for(let t of e.params??[])t!=null&&(i[t.name]=a[`${r}:${t.name}`]??t.value);return bc(e.expr,t,n,240,i)}).flatMap(e=>e));return{xMin:t,xMax:n,yMin:r??o,yMax:i??s}}),c=(0,d.useRef)(null),[l,u]=(0,d.useState)(()=>({})),f=(()=>{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})(),[p,m]=(0,d.useState)(!1),[h,g]=(0,d.useState)(0),_=(0,d.useRef)(null);(0,d.useEffect)(()=>{if(!p||f===null)return;let e=`${f.si}:${f.param.name}`,t=l[e]??f.param.value,n=f.param.animateTo,r=Math.max(0,f.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})),g(s),s<1?_.current=requestAnimationFrame(a):f.param.loop===!0?(t=f.param.value,i=o,u(n=>({...n,[e]:t})),g(0),_.current=requestAnimationFrame(a)):(_.current=null,m(!1))};return _.current=requestAnimationFrame(a),()=>{_.current!==null&&cancelAnimationFrame(_.current),_.current=null}},[p,f?.si,f?.param.name,f?.param.value,f?.param.animateTo,f?.param.durationMs,f?.param.loop]);let v=o.xMin,y=o.xMax,b=o.yMin,x=o.yMax,S=e=>v+(e-34)/436*(y-v),C=e=>34+(e-v)/(y-v)*436,w=e=>14+(1-(e-b)/(x-b))*182,ee=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:bc(e.expr,v,y,240,n).map(([e,t])=>`${C(e).toFixed(2)},${w(t).toFixed(2)}`).join(` `)}}),te=Ec(v,y),ne=Ec(b,x),re=ee.some(e=>e.points.length>1),ie=Number.isFinite(v)&&Number.isFinite(y)&&y>v&&Number.isFinite(x)&&Number.isFinite(b)&&x>b,ae=(e,t,n)=>{let r=wc(t,ee.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,Y.jsx)(`g`,{children:e.map(([e,t],n)=>(0,Y.jsx)(`circle`,{cx:e,cy:t,r:2.6,className:Sc.scatterDot,style:{fill:r}},n))},t)}if(i===`area`){if(n===``)return(0,Y.jsx)(Oc,{points:``,className:Sc.line,color:r},t);let e=n.slice(0,n.indexOf(` `)).split(`,`)[0],i=n.slice(n.lastIndexOf(` `)+1).split(`,`)[0],a=w(b),o=`${e},${a.toFixed(2)} ${n} ${i},${a.toFixed(2)}`;return(0,Y.jsx)(`polygon`,{points:o,className:Sc.area,style:{fill:r}},t)}return(0,Y.jsx)(Oc,{points:n,className:Sc.line,color:r},t)},oe=e=>{c.current={startX:e.clientX,startY:e.clientY,xMin:v,xMax:y},e.target.setPointerCapture?.(e.pointerId)},se=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}))},ce=()=>{c.current=null},le=(0,d.useRef)(null);(0,d.useEffect)(()=>{let e=le.current;if(e===null)return;let t=t=>{if(!t.metaKey&&!t.ctrlKey)return;t.preventDefault();let n=y-v,r=n*(t.deltaY>0?1.15:1/1.15),i=e.getBoundingClientRect(),a=S((t.clientX-i.left)/i.width*480),o=a-(a-v)/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)},[v,y,S]);let ue=e.some(e=>(e.params?.length??0)>0),de=(0,d.useRef)({min:t,max:n}),fe=Math.abs(v-de.current.min)>1e-6||Math.abs(y-de.current.max)>1e-6;return(0,Y.jsxs)(`div`,{className:Sc.block,"data-genui-plot":!0,children:[a!==void 0&&(0,Y.jsx)(`div`,{className:Sc.title,children:K(a)}),re&&ie&&(0,Y.jsxs)(`div`,{className:Sc.plotTools,children:[(0,Y.jsx)(`span`,{className:Sc.plotHint,children:fe?`x ∈ [${Dc(v)}, ${Dc(y)}]`:`⌘/Ctrl + 滚轮缩放 · 拖拽平移`}),fe&&(0,Y.jsx)(`button`,{type:`button`,className:Sc.plotReset,onClick:()=>{s(e=>({...e,xMin:de.current.min,xMax:de.current.max}))},children:`↺ 回到初始区间`})]}),re&&ie?(0,Y.jsxs)(`svg`,{width:`100%`,viewBox:`0 0 480 220`,role:`img`,"aria-label":a??`function plot`,className:Sc.surface,ref:le,onPointerDown:oe,onPointerMove:se,onPointerUp:ce,onPointerLeave:ce,children:[ne.map(e=>(0,Y.jsxs)(`g`,{children:[(0,Y.jsx)(`line`,{x1:34,x2:470,y1:w(e),y2:w(e),className:Sc.gridLine}),(0,Y.jsx)(`text`,{x:28,y:w(e)+4,className:Sc.tick,textAnchor:`end`,children:Dc(e)})]},`y${e}`)),te.map(e=>(0,Y.jsxs)(`g`,{children:[(0,Y.jsx)(`line`,{x1:C(e),x2:C(e),y1:14,y2:196,className:Sc.gridLine}),(0,Y.jsx)(`text`,{x:C(e),y:210,className:Sc.tick,textAnchor:`middle`,children:Dc(e)})]},`x${e}`)),(0,Y.jsx)(`line`,{x1:34,x2:470,y1:196,y2:196,className:Sc.axis}),(0,Y.jsx)(`line`,{x1:34,x2:34,y1:14,y2:196,className:Sc.axis}),ee.map(({series:e,points:t},n)=>ae(e,n,t))]}):(0,Y.jsx)(`div`,{className:Sc.empty,children:e.map((e,t)=>(0,Y.jsxs)(`div`,{className:Sc.emptyRow,children:[e.expr,` — 无法绘制(表达式无效或范围非法)`]},t))}),ue&&(0,Y.jsxs)(`div`,{className:Sc.sliders,children:[(0,Y.jsxs)(`div`,{className:Sc.slidersHead,children:[(0,Y.jsx)(`span`,{className:Sc.slidersTitle,children:`参数调节`}),(0,Y.jsx)(`button`,{type:`button`,className:Sc.resetBtn,onClick:()=>{m(!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),g(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,Y.jsxs)(`label`,{className:Sc.sliderRow,children:[(0,Y.jsxs)(`span`,{className:Sc.sliderName,children:[e.label??e.expr,` · `,n.name]}),(0,Y.jsx)(`input`,{type:`range`,className:Sc.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,Y.jsx)(`span`,{className:Sc.sliderValue,children:Math.round(i*100)/100})]},r)}))]}),f!==null&&(0,Y.jsxs)(`div`,{className:Sc.animBar,children:[(0,Y.jsx)(`button`,{type:`button`,className:Sc.playBtn,onClick:()=>{p?m(!1):(u(e=>({...e,[`${f.si}:${f.param.name}`]:f.param.value})),g(0),m(!0))},children:p?`⏸ 暂停`:`▶ 播放动画`}),p&&(0,Y.jsx)(`div`,{className:Sc.animTrack,children:(0,Y.jsx)(`div`,{className:Sc.animFill,style:{width:`${h*100}%`}})})]}),(e.length>1||ue)&&(0,Y.jsx)(`div`,{className:Sc.legend,children:e.map((t,n)=>(0,Y.jsxs)(`span`,{className:Sc.legendItem,children:[(0,Y.jsx)(`span`,{className:Sc.legendSwatch,style:{background:wc(n,e.length,t.color)??`var(--dsw-alias-state-business-primary, #4f8ef7)`}}),t.label??t.expr]},n))})]})});function Ac(){return{copy:q(`label.copy`),copied:q(`label.copied`),codeLabel:q(`label.code`),wrapLabel:q(`label.wrap`),unwrapLabel:q(`label.unwrap`),collapseAria:q(`label.collapseDiff.aria`),expandAria(e){return q(`label.expandDiff.aria`,{hidden:e})},collapse:q(`label.collapse`),expand(e){return q(`label.expandDiff`,{hidden:e})},files(e){return q(`label.diffFiles`,{count:e})}}}function jc(){return{copyLabel:q(`label.copy`),copiedLabel:q(`label.copied`)}}function Mc(){return{copyValue:q(`label.copyValue`),copyJson:q(`label.copyJson`),copyPath:q(`label.copyPath`),copyPrettyJson:q(`label.copyPrettyJson`),copyCompactJson:q(`label.copyCompactJson`),copied:q(`label.copiedDone`),copyFailed:q(`label.copyFailed`),collapseNode:q(`label.collapseNode`),expandNode:q(`label.expandNode`),copyButtonTitle(e){return q(`label.copyButtonTitle`,{action:e})}}}function Nc(e){let t=e.replace(/-(\w)/g,(e,t)=>t.toUpperCase()),n=window.__GenuiAssets__?.[t];return n===void 0?Promise.reject(Error(`standalone asset '${e}' was not preloaded`)):Promise.resolve(n)}var Pc=t((()=>{}));function Fc(e){if(Rc.test(e))throw Error(`mermaid output failed the sanitization check; refusing to render`)}function Ic(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 Lc(e){let t=e.trim(),n=/^([A-Za-z]+)/.exec(t)?.[1]??``;return n===`graph`||n===`flowchart`||!zc.test(t)?e:`graph TD\n${t}`}var Rc,zc,Bc=t((()=>{Rc=/<script|[\s"']on[a-z]+\s*=|javascript:/i,zc=/-->(?!>)|==>|-\.->/})),Vc=r({assertSafeSvg:()=>Fc,ensureFlowchartKind:()=>Lc,renderMermaid:()=>Hc,repairMermaidSource:()=>Ic});async function Hc(e){return(await Nc(`mermaid`)).renderMermaid(e)}var Uc=t((()=>{Pc(),Bc()})),Wc=r({mountScene:()=>Gc});async function Gc(e,t){return(await Nc(`three`)).mountScene(e,t)}var Kc=t((()=>{Pc()}));let qc={info:H.calloutInfo,success:H.calloutSuccess,warning:H.calloutWarning,error:H.calloutError},Jc=(0,d.memo)(function({node:e}){let t=e.tone??`info`,n=qc[t]??H.calloutInfo;return(0,Y.jsxs)(`div`,{className:`${H.callout} ${n}`,"data-genui-callout":!0,children:[e.title!==void 0&&(0,Y.jsx)(`div`,{className:H.calloutTitle,children:K(e.title)}),(0,Y.jsx)(`div`,{className:H.calloutBody,children:K(e.content)})]})}),Yc=(0,d.memo)(function({steps:e}){let t=e.steps.slice(0,X.maxSteps),n=e.current??t.length;return(0,Y.jsx)(`ol`,{className:H.steps,children:t.map((e,t)=>{let r=t<n,i=t===n;return(0,Y.jsxs)(`li`,{className:`${H.step} ${r?H.stepDone:``} ${i?H.stepActive:``}`,children:[(0,Y.jsx)(`span`,{className:H.stepMarker,children:r?`✓`:String(t+1)}),(0,Y.jsxs)(`span`,{className:H.stepContent,children:[(0,Y.jsx)(`span`,{className:H.stepTitle,children:K(e.title)}),e.desc!==void 0&&(0,Y.jsx)(`span`,{className:H.stepDesc,children:K(e.desc)})]})]},t)})})}),Xc=(0,d.memo)(function({node:e}){let t=e.pairs.slice(0,X.maxKeyValuePairs);return(0,Y.jsx)(`dl`,{className:H.keyvalue,children:t.map((e,t)=>(0,Y.jsxs)(`div`,{className:H.kvRow,children:[(0,Y.jsx)(`dt`,{className:H.kvKey,children:K(e.key)}),(0,Y.jsx)(`dd`,{className:H.kvValue,children:K(e.value)})]},t))})}),Zc=(0,d.memo)(function({plot:e}){let t=(0,d.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,Y.jsx)(kc,{series:t,xMin:e.xMin,xMax:e.xMax,yMin:e.yMin,yMax:e.yMax,title:e.title})}),Qc=(0,d.memo)(function({node:e}){return J(),(0,Y.jsx)(ko,{diffs:e.diffs,labels:Ac()})}),$c=(0,d.memo)(function({node:e}){J();let t=e.value;return typeof t!=`object`||!t?(0,Y.jsx)(`div`,{className:H.jsonScalar,children:String(t)}):(0,Y.jsx)(Ao,{data:t,label:`JSON`,labels:Mc(),copyable:!0})}),el=(0,d.memo)(function({node:e}){return J(),(0,Y.jsx)(Oo,{...jc(),code:e.code.slice(0,X.maxCode),lang:e.lang})});function tl({tabs:e,onAction:t,depth:n=0,answers:r}){let[i,a]=(0,d.useState)(0),o=(0,d.useId)(),s=e.tabs.slice(0,X.maxTabs),c=s.length===0?0:Math.min(i,s.length-1),l=s[c];(0,d.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,Y.jsxs)(`div`,{className:H.tabs,children:[(0,Y.jsx)(`div`,{className:H.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,Y.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:`${H.tab} ${t===c?H.tabActive:``}`,onClick:()=>a(t),children:K(e.label,!1)},t))}),l!==void 0&&(0,Y.jsx)(`div`,{className:H.col,role:`tabpanel`,id:`${o}-panel-${c}`,"aria-labelledby":`${o}-tab-${c}`,children:l.items.map((e,i)=>hu(e,i,t,n+1,r))})]})}function nl({node:e,onAction:t,depth:n=0,answers:r}){let[i,a]=(0,d.useState)(0),o=(0,d.useId)(),s=e.items.slice(0,X.maxAccordionItems);return(0,Y.jsx)(`div`,{className:H.accordion,children:s.map((e,s)=>(0,Y.jsxs)(`div`,{className:H.accItem,children:[(0,Y.jsxs)(`button`,{type:`button`,className:H.accHead,id:`${o}-head-${s}`,"aria-expanded":i===s,"aria-controls":`${o}-body-${s}`,onClick:()=>a(i===s?null:s),children:[(0,Y.jsx)(`span`,{className:H.accTitle,children:K(e.title,!1)}),(0,Y.jsx)(`span`,{className:H.accChevron,"data-open":i===s,"aria-hidden":!0,children:`▸`})]}),i===s&&(0,Y.jsx)(`div`,{className:H.accBody,id:`${o}-body-${s}`,"aria-labelledby":`${o}-head-${s}`,children:e.items.map((e,i)=>hu(e,i,t,n+1,r))})]},s))})}async function rl(e){let t=typeof navigator.clipboard?.writeText==`function`,n=await jo(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 il=(0,d.memo)(function({node:e}){let t=J(),[n,r]=(0,d.useState)(!1);return(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`button`,{type:`button`,className:`${H.copyChip} ${n?H.copyChipDone:``}`,onClick:()=>{rl(e.text).then(e=>{e&&(r(!0),setTimeout(()=>r(!1),1500))})},children:n?t(`label.copiedShort`):K(e.label??t(`label.copy`),!1)}),(0,Y.jsx)(`span`,{className:H.visuallyHidden,role:`status`,children:n?t(`label.copiedToClipboard`):``})]})}),al=(0,d.memo)(function({node:e}){let t=J(),[n,r]=(0,d.useState)({status:`loading`}),i=e.code.slice(0,X.maxMermaid);return(0,d.useEffect)(()=>{let e=!0;return r({status:`loading`}),(async()=>{try{let t=await(await Promise.resolve().then(()=>(Uc(),Vc))).renderMermaid(i);e&&r({status:`ready`,html:t})}catch{e&&r({status:`error`})}})(),()=>{e=!1}},[i]),n.status===`error`?(0,Y.jsxs)(`div`,{className:H.mermaidFallback,children:[(0,Y.jsx)(`pre`,{children:i}),(0,Y.jsx)(`div`,{className:H.mermaidErr,children:t(`block.mermaidError`)})]}):n.status===`loading`?(0,Y.jsxs)(`div`,{className:H.mermaidFallback,children:[(0,Y.jsx)(`pre`,{children:i}),(0,Y.jsx)(`div`,{className:H.mermaidHint,children:t(`block.mermaidLoading`)})]}):(0,Y.jsx)(`div`,{className:H.mermaid,dangerouslySetInnerHTML:{__html:n.html},"data-genui-mermaid":!0})}),ol=(0,d.memo)(function({node:e}){let t=J(),[n,r]=(0,d.useState)(`loading`),i=(0,d.useRef)(null),a=e.meshes.length>X.maxMeshes?{...e,meshes:e.meshes.slice(0,X.maxMeshes)}:e;return(0,d.useEffect)(()=>{let e=!0,t;return Promise.resolve().then(()=>(Kc(),Wc)).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,Y.jsxs)(`div`,{className:H.scene3dWrap,"data-genui-scene3d":!0,children:[e.title!==void 0&&(0,Y.jsx)(`div`,{className:H.scene3dTitle,children:K(e.title)}),(0,Y.jsx)(`div`,{ref:i,className:H.scene3dCanvas}),n===`loading`&&(0,Y.jsx)(`div`,{className:H.scene3dHint,children:t(`block.scene3dLoading`)}),n===`error`&&(0,Y.jsx)(`div`,{className:H.scene3dHint,children:t(`block.scene3dError`)})]})}),sl=(0,d.memo)(function({node:e}){let t=e.items.slice(0,X.maxTimelineItems);return(0,Y.jsx)(`div`,{className:H.timeline,children:t.map((e,n)=>(0,Y.jsxs)(`div`,{className:H.tlItem,children:[(0,Y.jsxs)(`div`,{className:H.tlRail,children:[(0,Y.jsx)(`span`,{className:H.tlDot}),n<t.length-1&&(0,Y.jsx)(`span`,{className:H.tlLine})]}),(0,Y.jsxs)(`div`,{className:H.tlBody,children:[(0,Y.jsxs)(`div`,{className:H.tlHead,children:[(0,Y.jsx)(`span`,{className:H.tlTitle,children:K(e.title,!1)}),e.time!==void 0&&(0,Y.jsx)(`span`,{className:H.tlTime,children:K(e.time)})]}),e.desc!==void 0&&(0,Y.jsx)(`div`,{className:H.tlDesc,children:K(e.desc)})]})]},n))})});function cl(){return(0,Y.jsx)(`svg`,{width:`14`,height:`14`,viewBox:`0 0 16 16`,"aria-hidden":`true`,focusable:`false`,children:(0,Y.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 ll(){return(0,Y.jsxs)(`svg`,{width:`14`,height:`14`,viewBox:`0 0 16 16`,"aria-hidden":`true`,focusable:`false`,children:[(0,Y.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,Y.jsx)(`path`,{d:`M8.7 1.7v4.3h4.2`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.2`})]})}let ul=(0,d.memo)(function({node:e}){let[t,n]=(0,d.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,Y.jsxs)(`div`,{children:[(0,Y.jsxs)(`div`,{className:H.ftRow,style:{paddingLeft:`${n*14+4}px`},children:[Array.from({length:n},(e,t)=>(0,Y.jsx)(`span`,{className:H.ftGuide,style:{left:`${4+t*14+6}px`},"aria-hidden":!0},t)),(0,Y.jsxs)(`button`,{type:`button`,className:H.ftNameBtn,"aria-expanded":o?!s:void 0,onClick:o?()=>r(a):void 0,children:[(0,Y.jsx)(`span`,{className:H.ftChevron,"data-open":o?String(!s):void 0,"aria-hidden":!0,children:o?`▸`:``}),(0,Y.jsx)(`span`,{className:`${H.ftGlyph} ${o?H.ftGlyphDir:``}`,"aria-hidden":!0,children:o?(0,Y.jsx)(cl,{}):(0,Y.jsx)(ll,{})}),(0,Y.jsx)(`span`,{className:`${H.ftName} ${o?H.ftDir:``}`,children:e.name})]})]}),o&&!s&&(0,Y.jsx)(`div`,{className:H.ftChildren,children:(e.children??[]).map((e,t)=>i(e,n+1,`${a}/${t}`))})]},a)};return(0,Y.jsx)(`div`,{className:H.fileTree,children:e.items.slice(0,X.maxListItems).map((e,t)=>i(e,0,String(t)))})}),dl=(0,d.memo)(function({node:e,onAction:t}){let n=J(),[r,i]=(0,d.useState)(null),[a,o]=(0,d.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,f=e.action;return(0,Y.jsxs)(`div`,{className:H.quiz,"data-genui-quiz":!0,children:[(0,Y.jsx)(`div`,{className:H.quizQuestion,children:K(e.question)}),(0,Y.jsx)(`div`,{className:H.quizOptions,children:s.map((n,a)=>{let o=r===a,s=c?o?n.correct===!0?H.quizOptCorrect:H.quizOptWrong:n.correct===!0?H.quizOptReveal:H.quizOpt:H.quizOpt;return(0,Y.jsxs)(`button`,{type:`button`,className:s,disabled:c,onClick:()=>{i(a),f!==void 0&&t!==void 0&&t(f,{type:`quiz`,question:e.question,answer:n.label,correct:n.correct===!0})},children:[(0,Y.jsx)(`span`,{className:H.quizMarker,children:c?n.correct===!0?`✓`:o?`✗`:``:o?`●`:`○`}),K(n.label,!1)]},a)})}),c&&(0,Y.jsxs)(`div`,{className:H.quizResult,"aria-live":`polite`,children:[(0,Y.jsxs)(`div`,{className:u?H.quizCorrectMsg:H.quizWrongMsg,children:[n(u?`block.quizCorrect`:`block.quizWrong`),l?.feedback!==void 0&&(0,Y.jsx)(`div`,{className:H.quizFeedback,children:K(l.feedback)})]}),e.explanation!==void 0&&(0,Y.jsx)(`div`,{className:H.quizExplanation,children:K(e.explanation)}),(0,Y.jsx)(`button`,{type:`button`,className:H.quizRetry,onClick:()=>i(null),children:n(`block.quizRetry`)})]})]})}),fl=(0,d.memo)(function({node:e}){let t=e.items.slice(0,X.maxBreadcrumbItems);return(0,Y.jsx)(`nav`,{className:H.breadcrumb,"aria-label":`breadcrumb`,children:t.map((e,n)=>(0,Y.jsxs)(`span`,{className:H.bcItem,children:[(0,Y.jsx)(`span`,{className:`${H.bcText} ${n===t.length-1?H.bcCurrent:``}`,children:K(e)}),n<t.length-1&&(0,Y.jsx)(`span`,{className:H.bcSep,children:`/`})]},n))})}),pl=[`architecture`,`it-state`,`high-level`,`process`,`medallion`,`data-flow`,`dp-integration`];function ml(e){return pl.includes(e)}function hl(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 gl(e){return e.map((e,t)=>({node:e,box:{x:40,y:40+t*96,w:128,h:64}}))}function _l(e){return e.map((e,t)=>({node:e,box:{x:40+t*160,y:40,w:128,h:64}}))}function vl(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 yl(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 bl(e,t){let n=e.nodes,r=e.edges??[],i;i=ml(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`?yl(n,t??(()=>void 0)):e.kind===`layers`||e.kind===`pyramid`||e.kind===`gantt`?vl(n):e.kind===`flowchart`||e.kind===`process`||e.kind===`sequence`?gl(n):e.kind===`timeline`||e.kind===`line`||e.kind===`scatter`||e.kind===`bar`?_l(n):n.map((e,t)=>({node:e,box:hl(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 xl(e){return{x:e.x+e.w/2,y:e.y+e.h/2}}function Sl(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=xl(e),i=xl(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 Cl(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 wl(e,t,n){let r=Sl(e,t,n?.fromPort),i=Sl(t,e,n?.toPort);return{d:Cl(r,i),a:r,b:i}}function Tl(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 El={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`},Dl={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 Ol(){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 kl(e,t){let n=e===void 0?Ol():e===`dark`?Dl:El;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 Al(e,t){switch(e){case`focal`:return{fill:t.accentTint,stroke:t.accent};case`store`:return{fill:Ml(t.ink,.05),stroke:t.muted};case`external`:return{fill:Ml(t.ink,.03),stroke:Ml(t.ink,.3)};case`input`:return{fill:Ml(t.muted,.1),stroke:t.soft};case`optional`:return{fill:Ml(t.ink,.02),stroke:Ml(t.ink,.2),dashed:!0};case`security`:return{fill:Ml(t.accent,.05),stroke:Ml(t.accent,.5),dashed:!0};default:return{fill:t.paper,stroke:t.ink}}}function jl(e,t){switch(e){case`accent`:return t.accent;case`link`:return t.link;default:return t.muted}}function Ml(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 Nl=`'Geist', -apple-system, 'Segoe UI', sans-serif`,Pl=`'Geist Mono', ui-monospace, 'SF Mono', monospace`,Fl=[{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 Il(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 Ll(e,t,n,r,i,a){let o=Al(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,Y.jsxs)(`g`,{children:[(0,Y.jsx)(`rect`,{x:e.x,y:e.y,width:e.w,height:e.h,rx:6,fill:a.paper}),(0,Y.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,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`rect`,{x:e.x+8,y:e.y+6,width:u,height:12,rx:2,fill:`transparent`,stroke:Ml(o.stroke,.4),strokeWidth:.8}),(0,Y.jsx)(`text`,{x:e.x+8+u/2,y:e.y+15,fill:Ml(o.stroke,.8),fontSize:7,fontFamily:Pl,textAnchor:`middle`,letterSpacing:.8,children:i})]}),(0,Y.jsx)(`text`,{x:s,y:c,fill:a.ink,fontSize:12,fontWeight:600,fontFamily:Nl,textAnchor:`middle`,children:t}),n!==void 0&&(0,Y.jsx)(`text`,{x:s,y:l,fill:a.soft,fontSize:9,fontFamily:Pl,textAnchor:`middle`,children:n})]})}function Rl(e,t,n,r){let i=wl(e.from,e.to),a=jl(e.kind,n),o=e.kind===`dashed`,s=e.kind===`accent`?1.4:1.2,c=Tl(i.a,i.b);return(0,Y.jsxs)(`g`,{children:[(0,Y.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,Y.jsxs)(`g`,{children:[(0,Y.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,Y.jsx)(`text`,{x:c.cx,y:c.maskY+9,fill:n.soft,fontSize:8,fontFamily:Pl,textAnchor:`middle`,letterSpacing:.5,children:e.label})]})]},t)}function zl(e,t){return(0,Y.jsxs)(`defs`,{children:[(0,Y.jsx)(`marker`,{id:`${e}-arrow`,markerWidth:8,markerHeight:6,refX:7,refY:3,orient:`auto`,children:(0,Y.jsx)(`polygon`,{points:`0 0, 8 3, 0 6`,fill:t.muted})}),(0,Y.jsx)(`marker`,{id:`${e}-arrow-accent`,markerWidth:8,markerHeight:6,refX:7,refY:3,orient:`auto`,children:(0,Y.jsx)(`polygon`,{points:`0 0, 8 3, 0 6`,fill:t.accent})}),(0,Y.jsx)(`marker`,{id:`${e}-arrow-link`,markerWidth:8,markerHeight:6,refX:7,refY:3,orient:`auto`,children:(0,Y.jsx)(`polygon`,{points:`0 0, 8 3, 0 6`,fill:t.link})})]})}function Bl(e,t){return(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`defs`,{children:(0,Y.jsx)(`pattern`,{id:`${e}-dots`,width:22,height:22,patternUnits:`userSpaceOnUse`,children:(0,Y.jsx)(`circle`,{cx:1,cy:1,r:.9,fill:Ml(t.ink,.1)})})}),(0,Y.jsx)(`rect`,{width:`100%`,height:`100%`,fill:t.paper}),(0,Y.jsx)(`rect`,{width:`100%`,height:`100%`,fill:`url(#${e}-dots)`,opacity:.55})]})}function Vl(e,t){let n=e.label.length*7+12,r=e.x+e.w/2;return(0,Y.jsxs)(`g`,{children:[(0,Y.jsx)(`rect`,{x:e.x,y:e.y,width:e.w,height:e.h,rx:8,fill:Ml(t.ink,.02),stroke:Ml(t.ink,.1),strokeWidth:.8}),(0,Y.jsx)(`rect`,{x:r-n/2,y:e.y+4,width:n,height:12,rx:2,fill:t.paper}),(0,Y.jsx)(`text`,{x:r,y:e.y+13,fill:Ml(t.ink,.4),fontSize:7,fontFamily:Pl,textAnchor:`middle`,letterSpacing:1.2,children:e.label})]})}function Hl(e,t,n,r){return(0,Y.jsxs)(`g`,{children:[(0,Y.jsx)(`line`,{x1:40,y1:0,x2:Math.max(120,n-40),y2:0,stroke:Ml(e.ink,.1),strokeWidth:.8}),(0,Y.jsx)(`text`,{x:40,y:16,fill:e.soft,fontSize:8,fontFamily:Pl,letterSpacing:1.6,children:`LEGEND`}),t.map((t,n)=>{let i=Al(t.type,e),a=40+n%r*150,o=32+Math.floor(n/r)*22;return(0,Y.jsxs)(`g`,{children:[(0,Y.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,Y.jsx)(`text`,{x:a+20,y:o+9,fill:e.soft,fontSize:8.5,fontFamily:Nl,children:t.label})]},t.label)})]})}function Ul(e,t){return e===`accent`?`${t}-arrow-accent`:e===`link`?`${t}-arrow-link`:`${t}-arrow`}let Wl=0;function Gl(){return Wl+=1,`genui-diagram-${Wl}`}function Kl({node:e}){let t=(0,d.useMemo)(Gl,[]),n=(0,d.useMemo)(()=>kl(e.variant,e.theme),[e.variant,e.theme]),r=(0,d.useMemo)(()=>bl(e,Il(e.edges??[])),[e]),i=(0,d.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),f=0,p=X.maxDiagramFocal,m=r.height,h=Fl.filter(e=>e.type!==void 0&&c.some(t=>(t.node.type??`backend`)===e.type)),g=Math.max(1,Math.floor((r.width-40)/150)),_=m+(24+Math.max(1,Math.ceil(h.length/g))*22)+12;return(0,Y.jsxs)(`figure`,{className:`genui-diagram`,"data-genui-diagram":!0,children:[e.title!==void 0&&(0,Y.jsx)(`figcaption`,{id:o,style:{fontFamily:`Instrument Serif, 'Times New Roman', serif`,fontSize:20,marginBottom:8,color:n.ink},children:K(e.title)}),(0,Y.jsxs)(`svg`,{role:`img`,"aria-labelledby":a,"aria-describedby":s,viewBox:`0 0 ${r.width} ${_}`,style:{maxWidth:`100%`,height:`auto`,background:n.paper},children:[(0,Y.jsx)(`title`,{id:a,children:e.title??e.kind}),(0,Y.jsx)(`desc`,{id:s,children:`${e.kind} diagram with ${c.length} nodes and ${l.length} connectors`}),zl(t,n),Bl(t,n),(0,Y.jsx)(`g`,{children:u.map((e,t)=>(0,Y.jsx)(`g`,{children:Vl({label:e.label,x:e.x??0,y:e.y??0,w:e.w??100,h:e.h??100},n)},`zone-${t}`))}),(0,Y.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:Rl({from:a,to:o,label:e.edge.label,kind:e.edge.kind},r,n,Ul(e.edge.kind,t))})}),(0,Y.jsx)(`g`,{children:c.map(e=>{let t=e.node.type===`focal`&&f>=p?void 0:e.node.type;return e.node.type===`focal`&&(f+=1),(0,Y.jsx)(`g`,{children:Ll(e.box,e.node.label,e.node.sub,t,e.node.tag,n)},e.node.id)})}),(0,Y.jsx)(`g`,{transform:`translate(0, ${m+8})`,children:Hl(n,h,r.width,g)})]})]})}function ql({node:e}){let t=J(),[n,r]=(0,d.useState)(!1);return(0,Y.jsxs)(`figure`,{className:H.media,children:[e.alt!==void 0&&(0,Y.jsx)(`figcaption`,{className:H.mediaLabel,children:K(e.alt)}),n?(0,Y.jsx)(`div`,{className:H.mediaError,role:`alert`,children:t(`block.imageError`)}):(0,Y.jsx)(`img`,{className:H.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 Jl=`http://www.w3.org/2000/svg`;function Yl(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 Xl(e){try{let t=Yl(e);if(t===null)return null;if(t.namespaceURI!==Jl){if(t.namespaceURI!==null)return null;let n=e.replace(/<svg(?=[\s/>])/,`<svg xmlns="${Jl}"`),r=Yl(n);return r===null||r.namespaceURI!==Jl?null:`data:image/svg+xml;charset=utf-8,${encodeURIComponent(n)}`}return`data:image/svg+xml;charset=utf-8,${encodeURIComponent(e)}`}catch{return null}}function Zl({node:e}){let t=(0,d.useMemo)(()=>Xl(e.code),[e.code]),[n,r]=(0,d.useState)(null);return(0,Y.jsxs)(`div`,{"data-genui-svg":!0,children:[e.title!==void 0&&(0,Y.jsx)(`div`,{className:H.echartTitle,children:K(e.title)}),t===null||n===t?(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(`div`,{role:`status`,children:q(`block.svgError`)}),(0,Y.jsx)(`pre`,{style:{overflow:`auto`,maxHeight:400},children:(0,Y.jsx)(`code`,{children:e.code})})]}):(0,Y.jsx)(`img`,{src:t,alt:e.title??q(`block.svgLabel`),style:{display:`block`,width:`100%`,height:e.height??`auto`,maxHeight:800,objectFit:`contain`},onError:()=>{r(t)}},t)]})}let Ql=new Set([`bar`,`line`,`area`,`pie`,`scatter`,`bigline`]);function $l(e){return e.option===void 0&&Ql.has(e.preset??`bar`)?`echarts-core`:`echarts-full`}Pc();async function eu(e,t,n,r=`core`){return(await Nc(r===`full`?`echarts-full`:`echarts-core`)).createChart(e,t,n)}let tu=[`#679efe`,`#4ed17e`,`#f5b83d`,`#f2707a`,`#8b7ff0`,`#3fc7d4`,`#b7c8fe`,`#9aa3b2`];function nu(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 ru(e){return{accent:nu(`--dsw-alias-state-business-primary`,`#4f8ef7`,e),labelPrimary:nu(`--dsw-alias-label-primary`,`#e6e6e6`,e),labelSecondary:nu(`--dsw-alias-label-secondary`,`#a0a0a0`,e),labelTertiary:nu(`--dsw-alias-label-tertiary`,`#6b6b6b`,e),border:nu(`--dsw-alias-border-l1`,`rgba(255,255,255,0.12)`,e),bgLayer1:nu(`--dsw-alias-bg-layer-1`,`#1a1a1e`,e)}}function iu(e,t){let n=ru(t),r=e.palette!==void 0&&e.palette.length>0?[...e.palette]:Es.map((e,n)=>nu(e.replace(`var(`,``).replace(`)`,``),tu[n%tu.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),...au(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),...au(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),...au(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),...au(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 au(e,t,n){return e===void 0?{}:{itemStyle:{color:e}}}function ou({node:e}){let t=(0,d.useRef)(null),[n,r]=(0,d.useState)(`loading`),i=(0,d.useRef)(null);return(0,d.useEffect)(()=>{let n=!0,a=t.current;if(a===null)return;let o=e.option??iu(e,a),s=$l(e)===`echarts-full`?`full`:`core`;return eu(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,d.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,d.useEffect)(()=>{if(n!==`ready`||i.current===null)return;let r=e.option??iu(e,t.current);i.current.setOption(r,!0)},[e,n]),n===`error`?(0,Y.jsxs)(`div`,{className:H.echartFallback,"data-genui-echart":!0,children:[(0,Y.jsx)(`div`,{className:H.echartErr,children:`ECharts 渲染失败`}),e.title!==void 0&&(0,Y.jsx)(`div`,{className:H.echartHint,children:K(e.title)})]}):(0,Y.jsxs)(`div`,{className:H.echartWrap,"data-genui-echart":!0,children:[e.title!==void 0&&(0,Y.jsx)(`div`,{className:H.echartTitle,children:K(e.title)}),(0,Y.jsx)(`div`,{ref:t,className:H.echartCanvas,style:{height:`${e.height??300}px`},role:`img`,"aria-label":e.title??`ECharts chart`}),n===`loading`&&(0,Y.jsx)(`div`,{className:H.echartHint,children:`加载图表…`})]})}let su=Mo;function cu(e){return typeof e==`object`&&!!e&&`type`in e}function lu(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 uu({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,Y.jsxs)(`svg`,{className:H.statSpark,viewBox:`0 0 96 24`,preserveAspectRatio:`none`,"aria-hidden":`true`,children:[(0,Y.jsx)(`path`,{d:s,fill:`var(--dsl-g-accent)`,opacity:`0.14`}),(0,Y.jsx)(`polyline`,{points:a,fill:`none`,stroke:`var(--dsl-g-accent)`,strokeWidth:`1.5`,strokeLinejoin:`round`,strokeLinecap:`round`,vectorEffect:`non-scaling-stroke`}),(0,Y.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 du(e,t,n){let[r,i]=(0,d.useState)(n?0:e);return(0,d.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 fu({value:e,unitClass:t,animate:n=!1}){let r=lu(e),i=r.numeric,a=du(i??0,r.decimals,n&&i!==void 0);return(0,Y.jsxs)(Y.Fragment,{children:[i===void 0?K(r.num):a,r.unit!==``&&(0,Y.jsx)(`span`,{className:t??H.statUnit,children:K(r.unit)})]})}function pu(e){return typeof e==`string`?e:cu(e)?``:`${e.title} ${e.desc??``}`}function mu(e,t){if(t===void 0)return;let n=e?.fields[t];return n===void 0||n===``?void 0:n}function hu(e,t,n,r=0,i){if(r>X.maxDepth)return null;switch(e.type){case`text`:{let n=e.size??`body`;return(0,Y.jsx)(`div`,{className:`${H.text} ${H[n]}`+(e.center?` ${H.center}`:``),children:K(e.content)},t)}case`row`:return(0,Y.jsxs)(`div`,{className:H.row+(e.wrap?` ${H.wrap}`:``),children:[e.items.map((e,t)=>hu(e,t,n,r+1,i)),e.spacer&&(0,Y.jsx)(`div`,{className:H.spacer})]},t);case`col`:return(0,Y.jsx)(`div`,{className:H.col,style:e.gap===void 0?void 0:{gap:`${e.gap}px`},children:e.items.map((e,t)=>hu(e,t,n,r+1,i))},t);case`grid`:return(0,Y.jsx)(`div`,{className:H.grid,style:{gridTemplateColumns:`repeat(${Math.max(1,e.cols)}, minmax(0, 1fr))`},children:e.items.map((e,t)=>{let a=hu(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,Y.jsx)(`div`,{className:H.gridSpan,style:{gridColumn:`span ${o}`},children:a},t):a})},t);case`card`:{let a=e.tone===void 0?``:` ${H[`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,Y.jsxs)(`div`,{className:`${H.card}${a}`,style:o,children:[e.title!==void 0&&(0,Y.jsx)(`div`,{className:H.cardTitle,children:K(e.title)}),e.items.map((e,t)=>hu(e,t,n,r+1,i))]},t)}case`button`:{let r=e.tone??``,i=`${H.button} ${H[r]||``}`+(e.full?` ${H.full}`:``)+(e.small?` ${H.small}`:``),a=e.action,o=a!==void 0&&n!==void 0;return(0,Y.jsxs)(ps,{className:i,disabled:!o,onClick:o?()=>n(a,{type:`button`,label:e.label}):void 0,children:[e.icon!==void 0&&(0,Y.jsxs)(`span`,{"aria-hidden":!0,children:[e.icon,` `]}),K(e.label,!1)]},t)}case`input`:return(0,Y.jsx)(Z,{node:e,onAction:n,answers:i},t);case`select`:return(0,Y.jsx)(fc,{node:e,onAction:n,answers:i},t);case`checkbox`:return(0,Y.jsx)(mc,{node:e,onAction:n,answers:i},t);case`link`:{let n=e.href;return n===void 0?(0,Y.jsx)(`span`,{className:H.linkText,children:K(e.label,!1)},t):(0,Y.jsx)(`a`,{className:H.link,href:n,target:`_blank`,rel:`noopener noreferrer`,children:K(e.label,!1)},t)}case`image`:return(0,Y.jsx)(ql,{node:e},`${t}:${e.src}`);case`audio`:return(0,Y.jsx)(ms,{node:e},`${t}:${e.src}`);case`video`:return(0,Y.jsx)(hs,{node:e},`${t}:${e.src}`);case`badge`:{let n=e.tone??``;return(0,Y.jsxs)(`span`,{className:`${H.badge} ${H[n]||``}`,children:[e.icon!==void 0&&(0,Y.jsxs)(`span`,{"aria-hidden":!0,children:[e.icon,` `]}),(0,Y.jsx)(`span`,{className:H.badgeLabel,children:K(e.label,!1)})]},t)}case`hero`:{let n=e.tone??`accent`,r=H[`hero${n[0].toUpperCase()}${n.slice(1)}`]??``,i=e.delta!==void 0&&e.delta.startsWith(`-`);return(0,Y.jsxs)(`div`,{className:`${H.hero} ${r}`,children:[e.label!==void 0&&(0,Y.jsx)(`span`,{className:H.heroLabel,children:K(e.label,!1)}),(0,Y.jsxs)(`div`,{className:H.heroTop,children:[e.value!==void 0&&(0,Y.jsx)(`span`,{className:H.heroValue,children:(0,Y.jsx)(fu,{value:e.value,unitClass:H.heroUnit,animate:!0})}),e.delta!==void 0&&(0,Y.jsx)(`span`,{className:`${H.statDelta} ${i?H.down:H.up}`,children:K(e.delta)}),e.spark!==void 0&&(0,Y.jsx)(`span`,{className:H.heroSpark,children:(0,Y.jsx)(uu,{values:e.spark})})]}),(0,Y.jsx)(`span`,{className:H.heroTitle,children:K(e.title)}),e.subtitle!==void 0&&(0,Y.jsx)(`span`,{className:H.heroSubtitle,children:K(e.subtitle)})]},t)}case`stat`:{let n=e.delta!==void 0&&e.delta.startsWith(`-`);return(0,Y.jsxs)(`div`,{className:`${H.stat}${e.size===`hero`?` ${H.statHero}`:``}`,children:[(0,Y.jsx)(`span`,{className:H.statLabel,children:K(e.label,!1)}),(0,Y.jsx)(`span`,{className:H.statValue,children:(0,Y.jsx)(fu,{value:e.value,animate:e.size===`hero`})}),e.delta!==void 0&&(0,Y.jsx)(`span`,{className:`${H.statDelta} ${n?H.down:H.up}`,children:K(e.delta)}),e.spark!==void 0&&(0,Y.jsx)(uu,{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,Y.jsxs)(`div`,{className:H.ring,role:`progressbar`,"aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":n,"aria-label":e.label??e.valueLabel??void 0,children:[(0,Y.jsxs)(`svg`,{width:92,height:92,viewBox:`0 0 92 92`,"aria-hidden":`true`,children:[(0,Y.jsx)(`circle`,{cx:46,cy:46,r:34,fill:`none`,strokeWidth:9,className:H.ringTrack}),(0,Y.jsx)(`circle`,{cx:46,cy:46,r:34,fill:`none`,strokeWidth:9,strokeLinecap:`round`,className:H.ringFill,strokeDasharray:`${n/100*r} ${r}`,transform:`rotate(-90 46 46)`}),(0,Y.jsxs)(`text`,{x:46,y:51,textAnchor:`middle`,className:H.ringValue,children:[n,`%`]})]}),(e.label!==void 0||e.valueLabel!==void 0)&&(0,Y.jsxs)(`div`,{className:H.ringMeta,children:[e.label!==void 0&&(0,Y.jsx)(`span`,{className:H.ringLabel,children:K(e.label,!1)}),e.valueLabel!==void 0&&(0,Y.jsx)(`span`,{className:H.ringSub,children:K(e.valueLabel)})]})]},t)}return(0,Y.jsxs)(`div`,{className:H.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,Y.jsxs)(`div`,{className:H.progressRow,children:[(0,Y.jsx)(`span`,{children:K(e.label??``)}),e.valueLabel!==void 0&&(0,Y.jsx)(`span`,{children:K(e.valueLabel)})]}),(0,Y.jsxs)(`div`,{className:H.track,children:[(0,Y.jsx)(`div`,{className:H.fill,style:{width:`${n}%`}}),e.target!==void 0&&(0,Y.jsx)(`span`,{className:H.targetMark,style:{left:`${e.target}%`},title:q(`block.target`,{value:e.target})})]})]},t)}case`divider`:return(0,Y.jsx)(`hr`,{className:H.divider},t);case`list`:{let a=mu(i,e.filter)?.toLowerCase(),o=e.items.slice(0,X.maxListItems),s=a===void 0?o:o.filter(e=>pu(e).toLowerCase().includes(a));return(0,Y.jsxs)(`div`,{className:H.list,children:[s.map((e,t)=>(0,Y.jsx)(`div`,{className:H.li,children:cu(e)?hu(e,t,n,r+1,i):(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`div`,{className:H.liTitle,children:K(typeof e==`string`?e:e.title)}),typeof e!=`string`&&e.desc!==void 0&&(0,Y.jsx)(`div`,{className:H.liDesc,children:K(e.desc)})]})},t)),a!==void 0&&(0,Y.jsx)(`span`,{className:H.filterHint,children:q(`block.filterMatch`,{shown:s.length,total:o.length})})]},t)}case`table`:return(0,Y.jsx)(Bs,{node:e,filterValue:mu(i,e.filter),sortValue:mu(i,e.sortField),renderDetail:e=>e.map((e,t)=>hu(e,t,n,r+1,i))},t);case`chart`:return(0,Y.jsx)(Ys,{chart:e,filterValue:mu(i,e.filter)},t);case`tabs`:return(0,Y.jsx)(tl,{tabs:e,onAction:n,depth:r+1,answers:i},t);case`avatar`:return(0,Y.jsx)(`div`,{className:H.avatar,style:{background:e.color??fs(e.name)},children:e.name.slice(0,1).toUpperCase()},t);case`spacer`:return(0,Y.jsx)(`div`,{className:H.spacer},t);case`plot`:return(0,Y.jsx)(Zc,{plot:e},t);case`callout`:return(0,Y.jsx)(Jc,{node:e},t);case`steps`:return(0,Y.jsx)(Yc,{steps:e},t);case`keyvalue`:return(0,Y.jsx)(Xc,{node:e},t);case`diff`:return(0,Y.jsx)(Qc,{node:e},t);case`json`:return(0,Y.jsx)($c,{node:e},t);case`code`:return(0,Y.jsx)(el,{node:e},t);case`radio`:return(0,Y.jsx)(ac,{node:e,onAction:n,answers:i},`${t}:r${i?.round??0}`);case`submit`:return(0,Y.jsx)(sc,{node:e,onAction:n,answers:i},t);case`switch`:return(0,Y.jsx)(cc,{node:e,onAction:n},t);case`slider`:return(0,Y.jsx)(lc,{node:e,onAction:n,answers:i},t);case`textarea`:return(0,Y.jsx)(pc,{node:e,onAction:n,answers:i},t);case`accordion`:return(0,Y.jsx)(nl,{node:e,onAction:n,depth:r+1,answers:i},t);case`copy`:return(0,Y.jsx)(il,{node:e},t);case`mermaid`:return(0,Y.jsx)(al,{node:e},t);case`svg`:return(0,Y.jsx)(Zl,{node:e},t);case`scene3d`:return(0,Y.jsx)(ol,{node:e},t);case`timeline`:return(0,Y.jsx)(sl,{node:e},t);case`file-tree`:return(0,Y.jsx)(ul,{node:e},t);case`breadcrumb`:return(0,Y.jsx)(fl,{node:e},t);case`quiz`:return(0,Y.jsx)(dl,{node:e,onAction:n},t);case`diagram`:return(0,Y.jsx)(Kl,{node:e},t);case`echart`:return(0,Y.jsx)(ou,{node:e},t);default:{let a=e,o=su?.(a.type);return o===void 0?null:(0,Y.jsx)(o,{node:a,onAction:n,renderChildren:(e,t)=>e.map((e,a)=>hu(e,Number(t)+a,n,r+1,i))},t)}}}function gu(e){let t=(0,d.useRef)(new Map),n=(0,d.useRef)(e);n.current=e,(0,d.useEffect)(()=>()=>{for(let e of t.current.values())clearTimeout(e);t.current.clear()},[]);let r=(0,d.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 _u(e,t){return e===t||JSON.stringify(e)===JSON.stringify(t)}function vu({spec:e,stateKey:t,animateEntrance:n=!0,initialState:r,onStateChange:i,onStateSnapshot:a}){let o=e.gap??16,s=gu(Io()),c=(0,d.useRef)(i);c.current=i;let l=i!==void 0,[u]=(0,d.useState)(()=>r??(i!==void 0||t===void 0?null:Vo(t))),[f,p]=(0,d.useState)(u?.answers??{}),[m,h]=(0,d.useState)(u?.multiAnswers??{}),[g,_]=(0,d.useState)(u?.fields??{}),v=(0,d.useMemo)(()=>nc(e),[e]),[y,b]=(0,d.useState)(u?.locked===!0),[x,S]=(0,d.useState)(0),[C,w]=(0,d.useState)(new Set),ee=(0,d.useCallback)((e,t)=>{p(n=>n[e]===t?n:{...n,[e]:t})},[]),te=(0,d.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}})},[]),ne=(0,d.useCallback)((e,t)=>{_(n=>n[e]===t?n:{...n,[e]:t})},[]),re=(0,d.useCallback)(e=>{w(t=>t.has(e)?t:new Set(t).add(e))},[]),ie=(0,d.useCallback)(()=>{p({}),h({}),b(!1),S(e=>e+1)},[]),ae=(0,d.useMemo)(()=>({answers:f,multiAnswers:m,fields:g,secretFields:C,registry:v,locked:y,round:x,setAnswer:ee,setMultiAnswer:te,setField:ne,registerSecretField:re,clear:ie,setLocked:b}),[f,m,g,C,v,y,x,ee,te,ne,re,ie]),oe=(0,d.useMemo)(()=>{let e=Object.fromEntries(Object.entries(g).filter(([e])=>!C.has(e)));return{answers:f,...Object.keys(m).length>0?{multiAnswers:m}:{},locked:y,...Object.keys(e).length>0?{fields:e}:{}}},[f,m,y,g,C]);(0,d.useEffect)(()=>{a?.(oe)},[oe,a]);let se=(0,d.useMemo)(()=>{if(s!==void 0)return(e,t)=>{us(),s(e,t)}},[s]);return(0,d.useEffect)(()=>{if(l){c.current?.(oe);return}if(t===void 0)return;let e=setTimeout(()=>Ho(t,oe),300);return()=>clearTimeout(e)},[t,oe,l]),(0,d.useEffect)(()=>{ls(e)},[e]),(0,Y.jsxs)(`div`,{className:H.block,"data-genui":!0,children:[e.title!==void 0&&(0,Y.jsx)(`div`,{className:H.banner,children:K(e.title)}),(0,Y.jsx)(`div`,{className:H.col,style:{gap:`${o}px`},children:e.items.map((e,t)=>(0,Y.jsx)(`div`,{className:H.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:hu(e,t,se,0,ae)},t))})]})}let yu=(0,d.memo)(function(e){let[t,n]=(0,d.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,Y.jsx)(vu,{...e},t.generation)},(e,t)=>e.stateKey===t.stateKey&&e.animateEntrance===t.animateEntrance&&e.onStateChange===t.onStateChange&&e.onStateSnapshot===t.onStateSnapshot&&_u(e.spec,t.spec)),bu={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 xu=class extends d.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,Y.jsxs)(`div`,{style:bu,role:`alert`,"data-genui-error":!0,children:[(0,Y.jsx)(`span`,{style:{fontWeight:600},children:q(`err.boundary.body`,{label:this.props.label??q(`err.boundary.generic`)})}),(0,Y.jsx)(`span`,{style:{opacity:.75,overflowWrap:`anywhere`},children:e.message})]})}};let Su=[`h1`,`h2`,`h3`,`body`,`muted`,`caption`],Cu=[`primary`,`danger`,`success`,`ghost`],wu=[`success`,`warn`,`danger`,`accent`],Tu=[`text`,`email`,`password`,`color`],Eu=[`info`,`success`,`warning`,`error`],Du=[`bars`,`line`,`donut`],Ou=[`line`,`area`,`scatter`],ku=[`16:9`,`4:3`,`1:1`,`9:16`],Au=[`box`,`sphere`,`cone`,`cylinder`,`torus`],ju=[`file`,`dir`],Mu=`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(`.`),Nu=[`focal`,`backend`,`store`,`external`,`input`,`optional`,`security`],Pu=[`light`,`dark`,`editorial`],Fu=[`solid`,`dashed`,`accent`,`link`],Iu=[`auto`,`orthogonal`,`straight`],Lu=[`bar`,`line`,`area`,`pie`,`scatter`,`radar`,`gauge`,`funnel`,`treemap`,`sankey`,`graph`,`heatmap`,`bigline`,`wordCloud`],Ru=[`hero`],zu=[`bar`,`ring`],Bu=[`info`,`success`,`warning`,`danger`],Vu=[`accent`,`success`,`warning`,`danger`],Hu=[`text`,`num`,`delta`,`bar`,`badge`,`spark`,`ring`,`index`,`group`],Q=(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}}},Uu=(e,t,n={},r={},i={})=>({required:e,fields:t,enums:r,nested:n,aliases:i}),$={type:`string`,span:`number`},Wu=Uu([`label`,`value`],{label:`string`,value:`number`,color:`string`}),Gu=Uu([`label`,`data`],{label:`string`,color:`string`,data:`array`},{data:Wu}),Ku=Uu([`title`],{title:`string`,desc:`string`}),qu=Uu([`key`,`value`],{key:`string`,value:`string`},{},{},{label:`key`}),Ju=Uu([`title`],{title:`string`,desc:`string`,time:`string`}),Yu=Uu([`path`,`newText`],{path:`string`,oldText:`string-or-null`,newText:`string`}),Xu=Uu([`expr`],{expr:`string`,label:`string`,color:`string`,kind:`string`,params:`array`},{params:Uu([`name`,`value`],{name:`string`,value:`number`,min:`number`,max:`number`,step:`number`,animateTo:`number`,durationMs:`number`,loop:`boolean`})},{kind:Ou}),Zu=Uu([`shape`],{shape:`string`,color:`string`,position:`array`,rotation:`array`,scale:`unknown`,size:`unknown`},{},{shape:Au});function Qu(e){return Uu([`name`],{name:`string`,type:`string`,children:`array`},e>0?{children:Qu(e-1)}:{},{type:ju},{label:`name`})}let $u=Qu(6),ed=Uu([`label`,`items`],{label:`string`,items:`nodes`,content:`nodes`}),td=Uu([`title`,`items`],{title:`string`,items:`nodes`}),nd=Uu([`id`,`label`],{id:`string`,label:`string`,sub:`string`,type:`string`,x:`number`,y:`number`,w:`number`,h:`number`,tag:`string`},{},{type:Nu}),rd=Uu([`from`,`to`],{from:`string`,to:`string`,label:`string`,kind:`string`,route:`string`},{},{kind:Fu,route:Iu}),id=Uu([`label`],{label:`string`,x:`number`,y:`number`,w:`number`,h:`number`}),ad=Uu([],{paper:`string`,"paper-2":`string`,ink:`string`,muted:`string`,soft:`string`,rule:`string`,accent:`string`,"accent-tint":`string`,link:`string`}),od=Q([`items`],{title:`string`,gap:`number`,panel:`boolean`,append:`boolean`,items:`nodes`}),sd={accordion:Q([`items`],{...$,items:`array`},{},{nested:{items:td}}),audio:Q([`src`],{...$,src:`string`,alt:`string`,loop:`boolean`},{url:`src`,link:`src`}),avatar:Q([`name`],{...$,name:`string`,color:`string`}),badge:Q([`label`],{...$,label:`string`,tone:`string`,icon:`string`},{text:`label`,value:`label`},{enums:{tone:wu}}),breadcrumb:Q([`items`],{...$,items:`array`}),button:Q([`label`],{...$,label:`string`,tone:`string`,full:`boolean`,small:`boolean`,icon:`string`,action:`string`},{},{enums:{tone:Cu}}),callout:Q([`content`],{...$,title:`string`,content:`string`,tone:`string`},{kind:`tone`,text:`content`,body:`content`,desc:`content`},{enums:{tone:Eu},valueAliases:{tone:{danger:`error`,warn:`warning`}}}),card:Q([`items`],{...$,title:`string`,items:`nodes`,tone:`string`,accent:`string`},{label:`title`,content:`items`},{enums:{tone:Bu}}),chart: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:Wu,series:Gu},enums:{kind:Du},validator:{name:`chart-renderability`}}),checkbox:Q([`label`],{...$,label:`string`,checked:`boolean`,action:`string`,group:`string`}),code:Q([`code`],{...$,lang:`string`,code:`string`},{content:`code`,text:`code`}),col:Q([`items`],{...$,items:`nodes`,gap:`number`}),copy:Q([`text`],{...$,label:`string`,text:`string`},{content:`text`,code:`text`,value:`text`}),diagram:Q([`kind`,`nodes`],{...$,kind:`string`,variant:`string`,title:`string`,nodes:`array`,edges:`array`,zones:`array`,theme:`object`},{},{nested:{nodes:nd,edges:rd,zones:id,theme:ad},enums:{kind:Mu,variant:Pu}}),diff:Q([`diffs`],{...$,diffs:`array`},{items:`diffs`,files:`diffs`},{nested:{diffs:Yu}}),divider:Q([],$),echart:Q([],{...$,title:`string`,height:`number`,preset:`string`,data:`array`,series:`array`,links:`array`,palette:`array`,option:`object`},{},{oneOfRequired:[[`option`,`data`,`series`,`links`]],enums:{preset:Lu}}),"file-tree":Q([`items`],{...$,items:`array`},{nodes:`items`},{nested:{items:$u}}),grid:Q([`items`],{...$,cols:`number`,items:`nodes`}),image:Q([`src`],{...$,src:`string`,alt:`string`},{url:`src`,link:`src`}),input:Q([],{...$,label:`string`,placeholder:`string`,value:`string`,inputType:`string`,action:`string`,id:`string`},{},{enums:{inputType:Tu}}),json:Q([`value`],{...$,value:`unknown`}),keyvalue:Q([`pairs`],{...$,pairs:`array`},{items:`pairs`,rows:`pairs`,entries:`pairs`},{nested:{pairs:qu}}),link:Q([`label`],{...$,label:`string`,href:`string`}),list:Q([`items`],{...$,items:`array`,filter:`string`}),mermaid:Q([`code`],{...$,code:`string`}),svg:Q([`code`],{...$,code:`string`,title:`string`,height:`number`}),plot:Q([`series`],{...$,series:`array`,xMin:`number`,xMax:`number`,yMin:`number`,yMax:`number`,title:`string`},{},{nested:{series:Xu}}),progress:Q([`value`],{...$,value:`number`,label:`string`,valueLabel:`string`,variant:`string`,target:`number`},{},{enums:{variant:zu}}),quiz:Q([`question`,`options`],{...$,question:`string`,options:`array`,explanation:`string`,id:`string`,action:`string`},{title:`question`,text:`question`,choices:`options`,items:`options`}),radio:Q([`options`],{...$,label:`string`,options:`array`,selected:`number`,action:`string`,group:`string`,answer:`unknown`,explanation:`string`},{items:`options`}),row:Q([`items`],{...$,items:`nodes`,wrap:`boolean`,spacer:`boolean`}),scene3d:Q([`meshes`],{...$,title:`string`,meshes:`array`,ambient:`number`,background:`string`},{},{nested:{meshes:Zu}}),select:Q([`options`],{...$,label:`string`,options:`array`,action:`string`,selected:`number`,id:`string`},{items:`options`}),slider:Q([],{...$,label:`string`,min:`number`,max:`number`,step:`number`,value:`number`,action:`string`,id:`string`}),spacer:Q([],$),hero:Q([`title`],{...$,title:`string`,subtitle:`string`,value:`string`,label:`string`,delta:`string`,spark:`array`,tone:`string`},{},{enums:{tone:Vu}}),stat:Q([`label`,`value`],{...$,label:`string`,value:`string`,delta:`string`,spark:`array`,size:`string`},{},{enums:{size:Ru}}),steps:Q([`steps`],{...$,steps:`array`,current:`number`},{items:`steps`},{nested:{steps:Ku}}),submit:Q([`label`],{...$,label:`string`,action:`string`,resetAction:`string`,groups:`array`}),switch:Q([`label`],{...$,label:`string`,checked:`boolean`,action:`string`}),table:Q([`columns`,`rows`],{...$,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:Q([`tabs`],{...$,tabs:`array`},{},{nested:{tabs:ed}}),text:Q([`content`],{...$,content:`string`,size:`string`,center:`boolean`},{text:`content`},{enums:{size:Su}}),textarea:Q([],{...$,label:`string`,placeholder:`string`,rows:`number`,value:`string`,action:`string`,id:`string`}),timeline:Q([`items`],{...$,items:`array`},{},{nested:{items:Ju}}),video:Q([`src`],{...$,src:`string`,alt:`string`,poster:`string`,loop:`boolean`,muted:`boolean`,aspectRatio:`string`},{url:`src`,link:`src`},{enums:{aspectRatio:ku}})},cd=new Set(Object.keys(sd));function ld(e){if(typeof e!=`object`||!e)return!1;let t=e;return typeof t.type!=`string`||t.type===``?!1:!Array.isArray(t.items)||cd.has(t.type)}function ud(e){if(typeof e!=`object`||!e)return null;let t=e;if(typeof t.type!=`string`||t.type===``)return null;let n=cd.has(t.type)?sd[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 dd(e){return typeof e==`object`&&e&&!Array.isArray(e)?e:void 0}function fd(e){let t=dd(e);return t!==void 0&&typeof t.type==`string`}let pd=[`label`,`value`,`delta`,`spark`,`size`],md={label:`title`,name:`title`,description:`desc`,content:`desc`,text:`desc`,body:`desc`,detail:`desc`};function hd(e,t,n){if(e.length===0)return null;let r=[];for(let i=0;i<e.length;i++){let a=e[i],o=dd(a);if(o===void 0)return null;if(fd(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 pd)o[e]!==void 0&&(s[e]=o[e]);r.push(s)}return r}function gd(e,t,n,r){let i=sd[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=dd(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 vd(e){if(Array.isArray(e))return e.map(vd);let t=dd(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=vd(n.children)),n}function yd(e,t,n){if(!fd(e))return e;let r=e.type,i=sd[r];if(i===void 0)return e;let a=gd(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)=>yd(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=vd(a.items)),r===`stat`&&Array.isArray(a.items)&&a.label===void 0&&a.value===void 0){let e=hd(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(fd(e))return o(e,`${t}.items[${i}]`);if(Array.isArray(e)&&e.length===1&&typeof e[0]==`string`)return e[0];let a=dd(e);if(a===void 0)return e;let s={...a},c=`${t}.items[${i}]`;for(let[e,t]of Object.entries(md)){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=dd(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=dd(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)||!ys(e,r)?n:n.map((e,n)=>o(e,`${t}.details[${r}][${n}]`)))}return a}function bd(e){let t=[];if(typeof e==`string`)try{let n=JSON.parse(e);(dd(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=dd(e);if(n===void 0)return{value:e,warnings:t};let r={...n};return ld(r)?{value:yd(r,`spec`,t),warnings:t}:(Array.isArray(r.items)&&(r.items=r.items.map((e,n)=>yd(e,`items[${n}]`,t))),{value:r,warnings:t})}function xd(e){return typeof e==`object`&&e&&!Array.isArray(e)?e:void 0}function Sd(e){let t=xd(e);return t!==void 0&&typeof t.type==`string`}function Cd(e,t,n){if(!Sd(e))return;let r=e.type,i=sd[r];if(i===void 0)return;n(e,t,i);let a=(e,t)=>Cd(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=xd(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=xd(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)&&ys(n,r)&&e.forEach((e,n)=>a(e,`${t}.details[${r}][${n}]`))})}}function wd(e,t,n,r){e.push({kind:`unknown-field`,path:`${t}.${n}`,message:`${t}.${n}: unknown field for '${r}'`,type:r,field:n})}function Td(e,t,n,r,i){let a=xd(e);if(a!==void 0){for(let e of Object.keys(a))e in n.fields||wd(i,t,e,r);for(let[e,o]of Object.entries(n.nested)){let n=a[e];Array.isArray(n)?n.forEach((n,a)=>Td(n,`${t}.${e}[${a}]`,o,r,i)):n!==void 0&&Td(n,`${t}.${e}`,o,r,i)}}}function Ed(e,t,n,r){for(let[i,a]of Object.entries(n.nested)){let n=e[i];Array.isArray(n)?n.forEach((n,o)=>Td(n,`${t}.${i}[${o}]`,a,e.type,r)):n!==void 0&&Td(n,`${t}.${i}`,a,e.type,r)}}function Dd(e){let t=[],n=xd(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||wd(t,n,i,e.type);Ed(e,n,r,t),e.type===`list`&&Array.isArray(e.items)&&e.items.forEach((e,r)=>{if(Sd(e))return;let i=xd(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)&&!ld(n)){for(let e of Object.keys(n))e in od.fields||wd(t,`spec`,e,`spec`);n.items.forEach((e,t)=>Cd(e,`items[${t}]`,r))}else if(typeof n.type==`string`)Cd(n,`spec`,r);else for(let e of Object.keys(n))e in od.fields||wd(t,`spec`,e,`spec`);return t}function Od(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 W(e)!==void 0;case`unknown`:return!0}}function kd(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 Ad(e,t,n){return e.some(e=>e.startsWith(`${t}.${n} `)||e.includes(`'${n}'`)||e.includes(`requires ${n}`))}function jd(e,t,n,r,i=[]){for(let[a,o]of Object.entries(n.fields))i.includes(a)||e[a]===void 0||!Od(e[a],o)&&!Ad(r,t,a)&&r.push(`${t}.${a} must be ${kd(o)}`);for(let[a,o]of Object.entries(n.enums))i.includes(a)||e[a]===void 0||!Od(e[a],`string`)||!o.includes(e[a])&&!Ad(r,t,a)&&r.push(`${t}.${a} must be one of ${o.join(`, `)}`)}function Md(e,t,n,r){let i=W(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?Ad(r,t,e)||r.push(`${t}: requires ${e}${a===void 0?``:` (${kd(a)})`}`):a!==void 0&&!Od(i[e],a)&&(Ad(r,t,e)||r.push(`${t}.${e} must be ${kd(a)}`))}for(let[e,a]of Object.entries(n.fields))i[e]!==void 0&&!Od(i[e],a)&&(Ad(r,t,e)||r.push(`${t}.${e} must be ${kd(a)}`));for(let[e,a]of Object.entries(n.enums))i[e]!==void 0&&typeof i[e]==`string`&&!a.includes(i[e])&&(Ad(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)=>Md(n,`${t}.${e}[${i}]`,a,r)):Md(n,`${t}.${e}`,a,r))}}function Nd(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)=>Md(e,`${t}.${i}[${n}]`,a,r)):Md(n,`${t}.${i}`,a,r))}}function Pd(e){let t=e.rows===void 0?e.data:e.rows;return!Array.isArray(t)||t.length===0?!1:Array.isArray(t[0])}function Fd(e,t,n,r){let i=String(e.type),a=e=>Ad(r,t,e),o=i===`table`&&Pd(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?``:` (${kd(c)})`}`);continue}!Od(e[s],c)&&!a(s)&&r.push(`${t}.${s} must be ${kd(c)}`)}jd(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})`}`);Nd(e,t,n,r)}function Id(e,t,n){if(!Array.isArray(e))return[];let r=[];for(let i of e){if(t.remaining<=0)break;--t.remaining;let e=zd(i,t,n);e!==null&&r.push(e)}return r}function Ld(e){if(!Array.isArray(e))return;let t=[];for(let n of e.slice(0,12)){let e=eo(n);e!==void 0&&t.push(e)}return t.length>0?t:void 0}function Rd(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 zd(e,t,n){let r=Bd(e,t,n);if(r===null)return null;let i=io(W(e)?.span,2,12);return i===void 0?r:{...r,span:i}}function Bd(e,t,n){if(n>X.maxDepth)return null;let r=W(e);if(r===void 0)return null;let i=r.type;if(typeof i!=`string`)return null;switch(i){case`text`:{let e=U(r.content,X.maxString)??U(r.text,X.maxString);return e===void 0?null:{type:`text`,content:e,...G(`size`,ao(r.size,Su)),...G(`center`,r.center===!0||void 0)}}case`row`:return{type:`row`,items:Id(r.items,t,n+1),...G(`wrap`,r.wrap===!0||void 0),...G(`spacer`,r.spacer===!0||void 0)};case`col`:return{type:`col`,items:Id(r.items,t,n+1),...G(`gap`,ro(r.gap,0,96))};case`grid`:return{type:`grid`,cols:io(r.cols,1,X.maxGridCols)??1,items:Id(r.items,t,n+1)};case`card`:return{type:`card`,items:Id(r.items,t,n+1),...G(`title`,U(r.title,X.maxString)),...G(`tone`,ao(r.tone,Bu)),...G(`accent`,eo(r.accent))};case`button`:{let e=U(r.label,X.maxString);return e===void 0?null:{type:`button`,label:e,...G(`tone`,ao(r.tone,Cu)),...G(`full`,r.full===!0||void 0),...G(`small`,r.small===!0||void 0),...G(`icon`,U(r.icon,64)),...G(`action`,U(r.action,200))}}case`input`:return{type:`input`,...G(`label`,U(r.label,X.maxString)),...G(`placeholder`,U(r.placeholder,X.maxString)),...G(`value`,U(r.value,X.maxString)),...G(`inputType`,ao(r.inputType,Tu)),...G(`action`,U(r.action,200)),...G(`id`,U(r.id,200))};case`select`:{let e=Vd(r.options,X.maxOptions,X.maxString);return e===void 0?null:{type:`select`,options:e,...G(`label`,U(r.label,X.maxString)),...G(`action`,U(r.action,200)),...G(`selected`,io(r.selected,0,e.length-1)),...G(`id`,U(r.id,200))}}case`checkbox`:{let e=U(r.label,X.maxString);return e===void 0?null:{type:`checkbox`,label:e,...G(`checked`,r.checked===!0||void 0),...G(`action`,U(r.action,200)),...G(`group`,U(r.group,200))}}case`link`:{let e=U(r.label,X.maxString);return e===void 0?null:{type:`link`,label:e,...G(`href`,to(r.href))}}case`image`:{let e=no(r.src);return e===void 0?null:{type:`image`,src:e,...G(`alt`,U(r.alt,X.maxString))}}case`audio`:{let e=no(r.src);return e===void 0?null:{type:`audio`,src:e,...G(`alt`,U(r.alt,X.maxString)),...G(`loop`,r.loop===!0||void 0)}}case`video`:{let e=no(r.src);return e===void 0?null:{type:`video`,src:e,...G(`alt`,U(r.alt,X.maxString)),...G(`poster`,no(r.poster)),...G(`loop`,r.loop===!0||void 0),...G(`muted`,r.muted===!0||void 0),...G(`aspectRatio`,ao(r.aspectRatio,ku))}}case`badge`:{let e=U(r.label,X.maxString)??U(r.text,X.maxString)??U(r.value,X.maxString);return e===void 0?null:{type:`badge`,label:e,...G(`tone`,ao(r.tone,wu)),...G(`icon`,U(r.icon,64))}}case`hero`:{let e=U(r.title,X.maxString);return e===void 0?null:{type:`hero`,title:e,...G(`subtitle`,U(r.subtitle,X.maxString)),...G(`value`,U(r.value,128)),...G(`label`,U(r.label,X.maxString)),...G(`delta`,U(r.delta,64)),...G(`spark`,Rd(r.spark)),...G(`tone`,ao(r.tone,Vu))}}case`stat`:{let e=U(r.label,X.maxString),t=U(r.value,128);return e===void 0||t===void 0?null:{type:`stat`,label:e,value:t,...G(`delta`,U(r.delta,64)),...G(`spark`,Rd(r.spark)),...G(`size`,r.size===`hero`?`hero`:void 0)}}case`progress`:{let e=ro(r.value,0,100);return e===void 0?null:{type:`progress`,value:e,...G(`label`,U(r.label,X.maxString)),...G(`valueLabel`,U(r.valueLabel,64)),...G(`variant`,ao(r.variant,zu)),...G(`target`,ro(r.target,0,100))}}case`divider`:return{type:`divider`};case`spacer`:return{type:`spacer`};case`avatar`:{let e=U(r.name,64);return e===void 0?null:{type:`avatar`,name:e,...G(`color`,eo(r.color))}}case`list`:{let e=Hd(r.items,X.maxListItems,t,n+1);return e===void 0?null:{type:`list`,items:e,...G(`filter`,U(r.filter,64))}}case`table`:{let e=gs(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`&&Hu.includes(n)?n:`text`}),c=Array.isArray(r.details)?r.details:void 0,l=c===void 0?void 0:a.map((e,r)=>{if(!ys({columns:i,rows:a,types:s},r))return null;let o=Id(c[r],t,n+1);return o.length===0?null:o});return{type:`table`,columns:i,rows:a,...G(`types`,s),...G(`total`,r.total===!0||void 0),...G(`export`,r.export===!0||void 0),...G(`filter`,U(r.filter,64)),...G(`filterColumn`,io(r.filterColumn,0,X.maxTableCols-1)),...G(`sortField`,U(r.sortField,64)),...G(`details`,l!==void 0&&l.some(e=>e!==null)?l:void 0)}}case`chart`:{let e=Ud(r.data,X.maxChartPoints),t=Array.isArray(r.series)?Wd(r.series,X.maxPlotSeries,X.maxChartPoints):void 0;return e===void 0&&t===void 0?null:{type:`chart`,data:e??[],...G(`kind`,ao(r.kind,Du)),...G(`series`,t),...G(`horizontal`,r.horizontal===!0||void 0),...G(`stacked`,r.stacked===!0||void 0),...G(`filter`,U(r.filter,64)),...G(`palette`,Ld(r.palette))}}case`tabs`:{let e=Gd(r.tabs,t,n);return e===void 0?null:{type:`tabs`,tabs:e}}case`plot`:{let e=Kd(r.series,X.maxPlotSeries);return e===void 0?null:{type:`plot`,series:e,...G(`xMin`,ro(r.xMin,-1e6,1e6)),...G(`xMax`,ro(r.xMax,-1e6,1e6)),...G(`yMin`,ro(r.yMin,-1e9,1e9)),...G(`yMax`,ro(r.yMax,-1e9,1e9)),...G(`title`,U(r.title,X.maxString))}}case`callout`:{let e=U(r.content,X.maxString);return e===void 0?null:{type:`callout`,content:e,...G(`tone`,ao(r.tone,Eu)),...G(`title`,U(r.title,X.maxString))}}case`steps`:{let e=qd(r.steps);return e===void 0?null:{type:`steps`,steps:e,...G(`current`,io(r.current,0,e.length))}}case`keyvalue`:{let e=Jd(r.pairs,X.maxKeyValuePairs);return e===void 0?null:{type:`keyvalue`,pairs:e}}case`diff`:{let e=Yd(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=U(r.code,X.maxCode);return e===void 0?null:{type:`code`,code:e,...G(`lang`,U(r.lang,64))}}case`radio`:{let e=Vd(r.options,X.maxOptions,X.maxString);return e===void 0?null:{type:`radio`,options:e,...G(`label`,U(r.label,X.maxString)),...G(`selected`,io(r.selected,0,e.length-1)),...G(`action`,U(r.action,200)),...G(`group`,U(r.group,200)),...G(`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),...G(`explanation`,U(r.explanation,X.maxString))}}case`submit`:{let e=U(r.label,X.maxString),t=U(r.action,200);return e===void 0?null:{type:`submit`,label:e,...G(`action`,t),...G(`resetAction`,U(r.resetAction,200)),...G(`groups`,Vd(r.groups,X.maxOptions,200))}}case`switch`:{let e=U(r.label,X.maxString);return e===void 0?null:{type:`switch`,label:e,...G(`checked`,r.checked===!0||void 0),...G(`action`,U(r.action,200))}}case`slider`:{let e=ro(r.min,-1e9,1e9)??0,t=ro(r.max,-1e9,1e9)??100,n=Math.min(e,t),i=Math.max(e,t),a=ro(r.step,1e-9,Math.max(i-n,1e-9)),o=ro(r.value,n,i)??n;return{type:`slider`,min:n,max:i,...G(`step`,a),value:o,...G(`label`,U(r.label,X.maxString)),...G(`action`,U(r.action,200)),...G(`id`,U(r.id,200))}}case`textarea`:return{type:`textarea`,...G(`label`,U(r.label,X.maxString)),...G(`placeholder`,U(r.placeholder,X.maxString)),...G(`rows`,io(r.rows,1,30)),...G(`value`,U(r.value,X.maxString)),...G(`action`,U(r.action,200)),...G(`id`,U(r.id,200))};case`accordion`:{let e=Xd(r.items,t,n);return e===void 0?null:{type:`accordion`,items:e}}case`copy`:{let e=U(r.text,X.maxCode);return e===void 0?null:{type:`copy`,text:e,...G(`label`,U(r.label,128))}}case`svg`:{let e=U(r.code,X.maxCode);return e===void 0?null:{type:`svg`,code:e,...G(`title`,U(r.title,X.maxString)),...G(`height`,io(r.height,100,800))}}case`mermaid`:{let e=U(r.code,X.maxMermaid);return e===void 0?null:{type:`mermaid`,code:e}}case`scene3d`:{let e=Zd(r.meshes);return e===void 0?null:{type:`scene3d`,meshes:e,...G(`title`,U(r.title,X.maxString)),...G(`ambient`,ro(r.ambient,0,2)),...G(`background`,eo(r.background))}}case`diagram`:return af(r);case`timeline`:{let e=of(r.items,X.maxTimelineItems);return e===void 0?null:{type:`timeline`,items:e}}case`file-tree`:{let e=sf(r.items,X.maxListItems);return e===void 0?null:{type:`file-tree`,items:e}}case`breadcrumb`:{let e=Vd(r.items,X.maxBreadcrumbItems,X.maxString);return e===void 0?null:{type:`breadcrumb`,items:e}}case`quiz`:{let e=U(r.question,X.maxString),t=lf(r.options,r.answer);return e===void 0||t===void 0?null:{type:`quiz`,question:e,options:t,...G(`explanation`,U(r.explanation,X.maxString)),...G(`id`,U(r.id,200)),...G(`action`,U(r.action,200))}}case`echart`:{let e=r.data===void 0?void 0:Ud(r.data,X.maxChartPoints),t=r.series!==void 0&&Array.isArray(r.series)?Wd(r.series,X.maxPlotSeries,X.maxChartPoints):void 0,n=Array.isArray(r.links)?r.links.slice(0,X.maxChartPoints).flatMap(e=>{let t=W(e),n=t===void 0?void 0:U(t.from,64),r=t===void 0?void 0:U(t.to,64);return n===void 0||r===void 0?[]:[{from:n,to:r,...G(`value`,ro(t.value,0,1e9))}]}):void 0,i=r.option===void 0?void 0:df(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`,...G(`title`,U(r.title,X.maxString)),...G(`height`,io(r.height,100,800)),...G(`preset`,ao(r.preset,Lu)),...G(`data`,e),...G(`series`,t),...G(`links`,n!==void 0&&n.length>0?n:void 0),...G(`palette`,Ld(r.palette)),...G(`option`,a)}}default:return e}}function Vd(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 Hd(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=W(a);if(e!==void 0&&typeof e.type==`string`){if(n.remaining<=0)break;--n.remaining;let t=zd(e,n,r);t!==null&&i.push(t);continue}let o=e===void 0?void 0:U(e.title,X.maxString);o!==void 0&&i.push({title:o,...G(`desc`,U(e?.desc,X.maxString))})}return i}function Ud(e,t){if(!Array.isArray(e))return;let n=[];for(let r of e){if(n.length>=t)break;let e=W(r),i=e===void 0?void 0:U(e.label,128),a=e===void 0?void 0:ro(e.value,-0xe8d4a51000,0xe8d4a51000);i!==void 0&&a!==void 0&&n.push({label:i,value:a,...G(`color`,e===void 0?void 0:eo(e.color))})}return n}function Wd(e,t,n){if(!Array.isArray(e))return;let r=[];for(let i of e){if(r.length>=t)break;let e=W(i),a=e===void 0?void 0:U(e.label,128),o=e===void 0?void 0:Ud(e.data,n);a!==void 0&&o!==void 0&&r.push({label:a,data:o,...G(`color`,e===void 0?void 0:eo(e.color))})}return r}function Gd(e,t,n){if(!Array.isArray(e))return;let r=[];for(let i of e){if(r.length>=X.maxTabs)break;let e=W(i),a=e===void 0?void 0:U(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:Id(o,t,n+1)})}return r}function Kd(e,t){if(!Array.isArray(e))return;let n=[];for(let r of e){if(n.length>=t)break;let e=W(r),i=e===void 0?void 0:U(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=W(t),n=e===void 0?void 0:U(e.name,64),r=e===void 0?void 0:ro(e.value,-1e9,1e9);n!==void 0&&r!==void 0&&a.push({name:n,value:r,...G(`min`,e===void 0?void 0:ro(e.min,-1e9,1e9)),...G(`max`,e===void 0?void 0:ro(e.max,-1e9,1e9)),...G(`step`,e===void 0?void 0:ro(e.step,1e-9,1e9)),...G(`animateTo`,e===void 0?void 0:ro(e.animateTo,-1e9,1e9)),...G(`durationMs`,e===void 0?void 0:ro(e.durationMs,1,12e4)),...G(`loop`,e===void 0?void 0:e.loop===!0||void 0)})}n.push({expr:i,...G(`label`,U(e.label,128)),...G(`color`,eo(e.color)),...G(`kind`,ao(e.kind,Ou)),...G(`params`,a.length>0?a:void 0)})}return n}function qd(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(t.length>=X.maxSteps)break;let e=W(n),r=e===void 0?void 0:U(e.title,256);r!==void 0&&t.push({title:r,...G(`desc`,e===void 0?void 0:U(e.desc,X.maxString))})}return t}function Jd(e,t){if(!Array.isArray(e))return;let n=[];for(let r of e){if(n.length>=t)break;let e=W(r),i=e===void 0?void 0:U(e.key,256),a=e===void 0?void 0:U(e.value,X.maxString);i!==void 0&&a!==void 0&&n.push({key:i,value:a})}return n}function Yd(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(t.length>=24)break;let e=W(n),r=e===void 0?void 0:U(e.path,1024),i=e===void 0?void 0:U(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 Xd(e,t,n){if(!Array.isArray(e))return;let r=[];for(let i of e){if(r.length>=X.maxAccordionItems)break;let e=W(i),a=e===void 0?void 0:U(e.title,256);a!==void 0&&e!==void 0&&r.push({title:a,items:Id(e.items,t,n+1)})}return r}function Zd(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(t.length>=X.maxMeshes)break;let e=W(n),r=e===void 0?void 0:ao(e.shape,Au);if(r===void 0)continue;let i=e===void 0?void 0:ro(e.scale,-1e6,1e6)??Qd(e.scale),a=e===void 0?void 0:ro(e.size,-1e6,1e6)??Qd(e.size);t.push({shape:r,...G(`color`,e===void 0?void 0:eo(e.color)),...G(`position`,e===void 0?void 0:Qd(e.position)),...G(`rotation`,e===void 0?void 0:Qd(e.rotation)),...G(`scale`,i),...G(`size`,a)})}return t}function Qd(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 $d(e,t,n){return Math.min(n,Math.max(t,Math.round(e/4)*4))}function ef(e){if(!Array.isArray(e))return;let t=[],n=new Set;for(let r of e){if(t.length>=X.maxDiagramNodes)break;let e=W(r);if(e===void 0)continue;let i=U(e.id,128),a=U(e.label,X.maxString);if(i===void 0||a===void 0||n.has(i))continue;n.add(i);let o=ao(e.type,Nu),s=e.x===void 0?void 0:$d(ro(e.x,-1e6,1e6)??0,0,1e6),c=e.y===void 0?void 0:$d(ro(e.y,-1e6,1e6)??0,0,1e6),l=e.w===void 0?void 0:$d(ro(e.w,-1e6,1e6)??96,40,2e3),u=e.h===void 0?void 0:$d(ro(e.h,-1e6,1e6)??48,24,1200);t.push({id:i,label:a,...G(`sub`,U(e.sub,256)),...G(`type`,o),...G(`x`,s),...G(`y`,c),...G(`w`,l),...G(`h`,u),...G(`tag`,U(e.tag,32))})}return t}function tf(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=W(n);if(e===void 0)continue;let r=U(e.from,128),i=U(e.to,128);r!==void 0&&i!==void 0&&t.push({from:r,to:i,...G(`label`,U(e.label,X.maxDiagramLabel)),...G(`kind`,ao(e.kind,Fu)),...G(`route`,ao(e.route,Iu))})}return t}function nf(e){let t=W(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=eo(t[e]);r!==void 0&&(n[e]=r)}return Object.keys(n).length===0?void 0:n}function rf(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=W(n);if(e===void 0)continue;let r=U(e.label,64);r!==void 0&&t.push({label:r,...G(`x`,e.x===void 0?void 0:$d(ro(e.x,-1e6,1e6)??0,0,1e6)),...G(`y`,e.y===void 0?void 0:$d(ro(e.y,-1e6,1e6)??0,0,1e6)),...G(`w`,e.w===void 0?void 0:$d(ro(e.w,-1e6,1e6)??100,40,2e3)),...G(`h`,e.h===void 0?void 0:$d(ro(e.h,-1e6,1e6)??100,40,1200))})}return t}function af(e){let t=W(e);if(t===void 0)return null;let n=ao(t.kind,Mu);if(n===void 0)return null;let r=ef(t.nodes);if(r===void 0)return null;let i=tf(t.edges);if(i===void 0)return null;let a=rf(t.zones);return a===void 0?null:{type:`diagram`,kind:n,nodes:r,edges:i,...G(`zones`,a.length>0?a:void 0),...G(`variant`,ao(t.variant,Pu)),...G(`title`,U(t.title,256)),...G(`theme`,nf(t.theme))}}function of(e,t){if(!Array.isArray(e))return;let n=[];for(let r of e){if(n.length>=t)break;let e=W(r),i=e===void 0?void 0:U(e.title,256);i!==void 0&&n.push({title:i,...G(`desc`,e===void 0?void 0:U(e.desc,X.maxString)),...G(`time`,e===void 0?void 0:U(e.time,128))})}return n}function sf(e,t){return cf(e,t,X.maxTreeDepth)}function cf(e,t,n){if(!Array.isArray(e))return;let r=[];for(let i of e){if(r.length>=t)break;let e=W(i),a=e===void 0?void 0:U(e.name,256);if(a===void 0)continue;let o=e!==void 0&&n>0&&Array.isArray(e.children)?cf(e.children,t,n-1):void 0;r.push({name:a,...G(`type`,e===void 0?void 0:ao(e.type,ju)),...G(`children`,o)})}return r}function lf(e,t){if(!Array.isArray(e))return;let n=[];for(let t of e){if(n.length>=X.maxQuizOptions)break;let e=W(t),r=typeof t==`string`?U(t,512):e===void 0?void 0:U(e.label,512);r!==void 0&&n.push({label:r,...G(`correct`,e===void 0?void 0:e.correct===!0||void 0),...G(`feedback`,e===void 0?void 0:U(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 uf=/<(?:script|img|svg|iframe|video|audio|object|embed|source)\b|on[a-z]+\s*=|javascript:/i;function df(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(`)||uf.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=df(e[a],t+1,n);r!==void 0&&i.push(r)}return i.length>0||e.length===0?i:void 0}let r=W(e);if(r===void 0)return;let i={};for(let[e,a]of Object.entries(r)){let r=df(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 ff(e){let t=W(e);if(t===void 0)return null;if(ld(e)){let t=ud(e);return t===null?null:ff(t)}if(!Array.isArray(t.items))return null;let n={remaining:X.maxNodes};return{...G(`title`,U(t.title,X.maxString)),...G(`gap`,ro(t.gap,0,96)),...G(`panel`,t.panel===!0||void 0),...G(`append`,t.append===!0||void 0),items:Id(t.items,n,0)}}function pf(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=W(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=W(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=W(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=W(i);e!==void 0&&typeof e.type==`string`&&r([e])}else if(e.type===`table`&&Array.isArray(e.details)){let i=_s(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)&&ys(e,a)&&r(i)}}}}}},i=W(e);return r(i===void 0?[]:i.items),n}let mf=cd;function hf(e,t,n){let r=0,i=e=>{let t=W(e);return t!==void 0&&typeof t.type==`string`&&mf.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=W(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=_s(l).length;for(let t=0;t<Math.min(l.details.length,e);t++)Array.isArray(l.details[t])&&ys(l,t)&&a(l.details[t],`${c}.details[${t}]`)}}}function s(e,t){let n=W(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=W(e);return c===void 0||(ld(c)&&i(e)?o(e,`spec`):a(c.items,`items`)),r}function gf(e,t=1/0){return hf(e,t,()=>{})}function _f(e,t=1/0){return gf(e,t)}function vf(e){let t=[],n=W(e);if(n===void 0)return{ok:!1,errors:[`spec root must be an object`]};if(ld(e)){let t=ud(e);return t===null?{ok:!1,errors:[`spec.items must be an array`]}:vf(t)}if(!Array.isArray(n.items))return{ok:!1,errors:[`spec.items must be an array`]};jd(n,`spec`,od,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`),t.length===0&&t.push(...tc(n).diagnostics);let o=[...new Set(t)];return{ok:o.length===0,errors:o}}function yf(e){let t=bd(e),n=ff(t.value),r=vf(t.value),i=gf(t.value,X.maxNodes+1),a=n===null?0:_f(n),o=n===null?0:pf(n),s=r.errors.filter(e=>!e.includes(`: unknown type `));return n!==null&&s.length===0&&s.push(...tc(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,...Dd(t.value)],declaredCount:i,renderedCount:o,declaredNativeCount:i,renderedNativeCount:a,renderedTotalCount:o}}function bf(e,t,n){if(Array.isArray(e))for(let r=0;r<e.length;r++){let i=W(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 xf(e,t,n){if(Array.isArray(e))for(let r=0;r<e.length;r++){let i=W(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 Sf(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`||!Du.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=W(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),xf(e.series,`${t}.series`,n)}function Cf(e,t,n){if(Array.isArray(e))for(let r=0;r<e.length;r++){let i=e[r];if(W(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=W(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=W(a.items[e]);o!==void 0&&typeof o.type==`string`&&wf(o,t+1,`${n}.items[${e}]`,r,i)}break;case`table`:if(!Array.isArray(a.columns)&&!Pd(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=_s(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||!ys(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}]`)}}}Cf(a.rows,`${n}.rows`,r);break;case`chart`:Sf(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=W(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=W(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=sd[o];l!==void 0&&Fd(a,n,l,r)}var Tf=class extends Error{code;constructor(e,t){super(t),this.code=e,this.name=`GenuiExportError`}};function Ef(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 Df(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?Df([e],t)[0]:e):Df(n.items,t)),Array.isArray(n.tabs)&&(n.tabs=n.tabs.map(e=>({...e,items:Df(e.items,t)}))),n.type===`table`&&Array.isArray(n.details)&&(n.details=n.details.map(e=>e===null?null:Df(e,t))),n})}function Of(e,t,n={}){let r=yf(e);if(r.spec===null)throw new Tf(`artifact-invalid`,`invalid GenUI spec`);let{panel:i,append:a,...o}=r.spec,s=new Set,c={...o,items:Df(o.items,s)},l=n.theme??(typeof document<`u`&&document.body.hasAttribute(`data-ds-dark-theme`)?`dark`:`light`),u=Ef(t,s);return{format:`dsh-genui`,version:1,spec:c,...u===void 0?{}:{state:u},presentation:{locale:n.locale??To(),theme:l}}}function kf(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function Af(e){return!kf(e)||e.answers!==void 0&&(!kf(e.answers)||!Object.values(e.answers).every(e=>typeof e==`string`))||e.multiAnswers!==void 0&&(!kf(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||kf(e.fields)&&Object.values(e.fields).every(e=>typeof e==`string`)}function jf(e){if(!kf(e)||e.format!==`dsh-genui`||e.version!==1||!kf(e.presentation)||e.presentation.locale!==`en`&&e.presentation.locale!==`zh`||e.presentation.theme!==`light`&&e.presentation.theme!==`dark`||e.state!==void 0&&!Af(e.state))return null;let t=yf(e.spec);return t.spec===null||t.errors.length>0?null:Of(t.spec,e.state,{locale:e.presentation.locale,theme:e.presentation.theme})}let Mf=document.createElement(`style`);Mf.dataset.genuiStandaloneKatex=``,Mf.textContent=`@font-face {
312
313
  font-display: block;
313
314
  font-family: KaTeX_AMS;
314
315
  font-style: normal;
@@ -1502,4 +1503,4 @@ var Eo=n((e=>{var t=a(),n=Symbol.for(`react.element`),r=Symbol.for(`react.fragme
1502
1503
  body {
1503
1504
  counter-reset: katexEqnNo mmlEqnNo;
1504
1505
  }
1505
- `,document.head.appendChild(yf);function bf(e,t){let n=vf(t);if(n===null)throw Error(`invalid GenUI artifact`);Co(n.presentation.locale),document.body.toggleAttribute(`data-ds-dark-theme`,n.presentation.theme===`dark`);let r=(0,f.createRoot)(e);return r.render((0,Y.jsx)(Fo.Provider,{value:void 0,children:(0,Y.jsx)(ru,{label:`GenUI`,children:(0,Y.jsx)(tu,{spec:n.spec,initialState:n.state,animateEntrance:!1})})})),()=>r.unmount()}window.__GenuiStandalone__={mount:bf}})();
1506
+ `,document.head.appendChild(Mf);function Nf(e,t){let n=jf(t);if(n===null)throw Error(`invalid GenUI artifact`);Co(n.presentation.locale),document.body.toggleAttribute(`data-ds-dark-theme`,n.presentation.theme===`dark`);let r=(0,f.createRoot)(e);return r.render((0,Y.jsx)(Fo.Provider,{value:void 0,children:(0,Y.jsx)(xu,{label:`GenUI`,children:(0,Y.jsx)(yu,{spec:n.spec,initialState:n.state,animateEntrance:!1})})})),()=>r.unmount()}window.__GenuiStandalone__={mount:Nf}})();