@katechat/ui 1.1.16 → 1.1.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/index.js +2 -2
- package/dist/cjs/index.js.map +2 -2
- package/dist/esm/index.js +2 -2
- package/dist/esm/index.js.map +2 -2
- package/dist/types/core/ai.d.ts +1 -1
- package/dist/types/lib/markdown.parser.d.ts.map +1 -1
- package/dist/types/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +1 -1
package/dist/cjs/index.js
CHANGED
|
@@ -343,7 +343,7 @@ l0,-`+(n+144)+`c-2,-159.3,-10,-310.7,-24,-454c-53.3,-528,-210,-949.7,
|
|
|
343
343
|
?)[ \r ]*`,Td="[\u0300-\u036F]",kk=new RegExp(Td+"+$"),Pk="("+VC+"+)|"+(Lk+"|")+"([!-\\[\\]-\u2027\u202A-\uD7FF\uF900-\uFFFF]"+(Td+"*")+"|[\uD800-\uDBFF][\uDC00-\uDFFF]"+(Td+"*")+"|\\\\verb\\*([^]).*?\\4|\\\\verb([^*a-zA-Z]).*?\\5"+("|"+Mk)+("|"+wk+")"),Gs=class{constructor(t,n){this.input=void 0,this.settings=void 0,this.tokenRegex=void 0,this.catcodes=void 0,this.input=t,this.settings=n,this.tokenRegex=new RegExp(Pk,"g"),this.catcodes={"%":14,"~":13}}setCatcode(t,n){this.catcodes[t]=n}lex(){var t=this.input,n=this.tokenRegex.lastIndex;if(n===t.length)return new In("EOF",new gn(this,n,n));var a=this.tokenRegex.exec(t);if(a===null||a.index!==n)throw new re("Unexpected character: '"+t[n]+"'",new In(t[n],new gn(this,n,n+1)));var o=a[6]||a[3]||(a[2]?"\\ ":" ");if(this.catcodes[o]===14){var s=t.indexOf(`
|
|
344
344
|
`,this.tokenRegex.lastIndex);return s===-1?(this.tokenRegex.lastIndex=t.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=s+1,this.lex()}return new In(o,new gn(this,n,this.tokenRegex.lastIndex))}},Cd=class{constructor(t,n){t===void 0&&(t={}),n===void 0&&(n={}),this.current=void 0,this.builtins=void 0,this.undefStack=void 0,this.current=n,this.builtins=t,this.undefStack=[]}beginGroup(){this.undefStack.push({})}endGroup(){if(this.undefStack.length===0)throw new re("Unbalanced namespace destruction: attempt to pop global namespace; please report this as a bug");var t=this.undefStack.pop();for(var n in t)t.hasOwnProperty(n)&&(t[n]==null?delete this.current[n]:this.current[n]=t[n])}endGroups(){for(;this.undefStack.length>0;)this.endGroup()}has(t){return this.current.hasOwnProperty(t)||this.builtins.hasOwnProperty(t)}get(t){return this.current.hasOwnProperty(t)?this.current[t]:this.builtins[t]}set(t,n,a){if(a===void 0&&(a=!1),a){for(var o=0;o<this.undefStack.length;o++)delete this.undefStack[o][t];this.undefStack.length>0&&(this.undefStack[this.undefStack.length-1][t]=n)}else{var s=this.undefStack[this.undefStack.length-1];s&&!s.hasOwnProperty(t)&&(s[t]=this.current[t])}n==null?delete this.current[t]:this.current[t]=n}},Bk=LC;T("\\noexpand",function(e){var t=e.popToken();return e.isExpandable(t.text)&&(t.noexpand=!0,t.treatAsRelax=!0),{tokens:[t],numArgs:0}});T("\\expandafter",function(e){var t=e.popToken();return e.expandOnce(!0),{tokens:[t],numArgs:0}});T("\\@firstoftwo",function(e){var t=e.consumeArgs(2);return{tokens:t[0],numArgs:0}});T("\\@secondoftwo",function(e){var t=e.consumeArgs(2);return{tokens:t[1],numArgs:0}});T("\\@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}});T("\\@ifstar","\\@ifnextchar *{\\@firstoftwo{#1}}");T("\\TextOrMath",function(e){var t=e.consumeArgs(2);return e.mode==="text"?{tokens:t[0],numArgs:0}:{tokens:t[1],numArgs:0}});var JT={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};T("\\char",function(e){var t=e.popToken(),n,a="";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]==="\\")a=t.text.charCodeAt(1);else{if(t.text==="EOF")throw new re("\\char` missing argument");a=t.text.charCodeAt(0)}else n=10;if(n){if(a=JT[t.text],a==null||a>=n)throw new re("Invalid base-"+n+" digit "+t.text);for(var o;(o=JT[e.future().text])!=null&&o<n;)a*=n,a+=o,e.popToken()}return"\\@char{"+a+"}"});var Fd=(e,t,n,a)=>{var o=e.consumeArg().tokens;if(o.length!==1)throw new re("\\newcommand's first argument must be a macro name");var s=o[0].text,l=e.isDefined(s);if(l&&!t)throw new re("\\newcommand{"+s+"} attempting to redefine "+(s+"; use \\renewcommand"));if(!l&&!n)throw new re("\\renewcommand{"+s+"} when command "+s+" does not yet exist; use \\newcommand");var d=0;if(o=e.consumeArg().tokens,o.length===1&&o[0].text==="["){for(var u="",p=e.expandNextToken();p.text!=="]"&&p.text!=="EOF";)u+=p.text,p=e.expandNextToken();if(!u.match(/^\s*[0-9]+\s*$/))throw new re("Invalid number of arguments: "+u);d=parseInt(u),o=e.consumeArg().tokens}return l&&a||e.macros.set(s,{tokens:o,numArgs:d}),""};T("\\newcommand",e=>Fd(e,!1,!0,!1));T("\\renewcommand",e=>Fd(e,!0,!1,!1));T("\\providecommand",e=>Fd(e,!0,!0,!0));T("\\message",e=>{var t=e.consumeArgs(1)[0];return console.log(t.reverse().map(n=>n.text).join("")),""});T("\\errmessage",e=>{var t=e.consumeArgs(1)[0];return console.error(t.reverse().map(n=>n.text).join("")),""});T("\\show",e=>{var t=e.popToken(),n=t.text;return console.log(t,e.macros.get(n),Wr[n],_t.math[n],_t.text[n]),""});T("\\bgroup","{");T("\\egroup","}");T("~","\\nobreakspace");T("\\lq","`");T("\\rq","'");T("\\aa","\\r a");T("\\AA","\\r A");T("\\textcopyright","\\html@mathml{\\textcircled{c}}{\\char`\xA9}");T("\\copyright","\\TextOrMath{\\textcopyright}{\\text{\\textcopyright}}");T("\\textregistered","\\html@mathml{\\textcircled{\\scriptsize R}}{\\char`\xAE}");T("\u212C","\\mathscr{B}");T("\u2130","\\mathscr{E}");T("\u2131","\\mathscr{F}");T("\u210B","\\mathscr{H}");T("\u2110","\\mathscr{I}");T("\u2112","\\mathscr{L}");T("\u2133","\\mathscr{M}");T("\u211B","\\mathscr{R}");T("\u212D","\\mathfrak{C}");T("\u210C","\\mathfrak{H}");T("\u2128","\\mathfrak{Z}");T("\\Bbbk","\\Bbb{k}");T("\xB7","\\cdotp");T("\\llap","\\mathllap{\\textrm{#1}}");T("\\rlap","\\mathrlap{\\textrm{#1}}");T("\\clap","\\mathclap{\\textrm{#1}}");T("\\mathstrut","\\vphantom{(}");T("\\underbar","\\underline{\\text{#1}}");T("\\not",'\\html@mathml{\\mathrel{\\mathrlap\\@not}}{\\char"338}');T("\\neq","\\html@mathml{\\mathrel{\\not=}}{\\mathrel{\\char`\u2260}}");T("\\ne","\\neq");T("\u2260","\\neq");T("\\notin","\\html@mathml{\\mathrel{{\\in}\\mathllap{/\\mskip1mu}}}{\\mathrel{\\char`\u2209}}");T("\u2209","\\notin");T("\u2258","\\html@mathml{\\mathrel{=\\kern{-1em}\\raisebox{0.4em}{$\\scriptsize\\frown$}}}{\\mathrel{\\char`\u2258}}");T("\u2259","\\html@mathml{\\stackrel{\\tiny\\wedge}{=}}{\\mathrel{\\char`\u2258}}");T("\u225A","\\html@mathml{\\stackrel{\\tiny\\vee}{=}}{\\mathrel{\\char`\u225A}}");T("\u225B","\\html@mathml{\\stackrel{\\scriptsize\\star}{=}}{\\mathrel{\\char`\u225B}}");T("\u225D","\\html@mathml{\\stackrel{\\tiny\\mathrm{def}}{=}}{\\mathrel{\\char`\u225D}}");T("\u225E","\\html@mathml{\\stackrel{\\tiny\\mathrm{m}}{=}}{\\mathrel{\\char`\u225E}}");T("\u225F","\\html@mathml{\\stackrel{\\tiny?}{=}}{\\mathrel{\\char`\u225F}}");T("\u27C2","\\perp");T("\u203C","\\mathclose{!\\mkern-0.8mu!}");T("\u220C","\\notni");T("\u231C","\\ulcorner");T("\u231D","\\urcorner");T("\u231E","\\llcorner");T("\u231F","\\lrcorner");T("\xA9","\\copyright");T("\xAE","\\textregistered");T("\uFE0F","\\textregistered");T("\\ulcorner",'\\html@mathml{\\@ulcorner}{\\mathop{\\char"231c}}');T("\\urcorner",'\\html@mathml{\\@urcorner}{\\mathop{\\char"231d}}');T("\\llcorner",'\\html@mathml{\\@llcorner}{\\mathop{\\char"231e}}');T("\\lrcorner",'\\html@mathml{\\@lrcorner}{\\mathop{\\char"231f}}');T("\\vdots","{\\varvdots\\rule{0pt}{15pt}}");T("\u22EE","\\vdots");T("\\varGamma","\\mathit{\\Gamma}");T("\\varDelta","\\mathit{\\Delta}");T("\\varTheta","\\mathit{\\Theta}");T("\\varLambda","\\mathit{\\Lambda}");T("\\varXi","\\mathit{\\Xi}");T("\\varPi","\\mathit{\\Pi}");T("\\varSigma","\\mathit{\\Sigma}");T("\\varUpsilon","\\mathit{\\Upsilon}");T("\\varPhi","\\mathit{\\Phi}");T("\\varPsi","\\mathit{\\Psi}");T("\\varOmega","\\mathit{\\Omega}");T("\\substack","\\begin{subarray}{c}#1\\end{subarray}");T("\\colon","\\nobreak\\mskip2mu\\mathpunct{}\\mathchoice{\\mkern-3mu}{\\mkern-3mu}{}{}{:}\\mskip6mu\\relax");T("\\boxed","\\fbox{$\\displaystyle{#1}$}");T("\\iff","\\DOTSB\\;\\Longleftrightarrow\\;");T("\\implies","\\DOTSB\\;\\Longrightarrow\\;");T("\\impliedby","\\DOTSB\\;\\Longleftarrow\\;");T("\\dddot","{\\overset{\\raisebox{-0.1ex}{\\normalsize ...}}{#1}}");T("\\ddddot","{\\overset{\\raisebox{-0.1ex}{\\normalsize ....}}{#1}}");var jT={",":"\\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"};T("\\dots",function(e){var t="\\dotso",n=e.expandAfterFuture().text;return n in jT?t=jT[n]:(n.slice(0,4)==="\\not"||n in _t.math&&["bin","rel"].includes(_t.math[n].group))&&(t="\\dotsb"),t});var Ud={")":!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};T("\\dotso",function(e){var t=e.future().text;return t in Ud?"\\ldots\\,":"\\ldots"});T("\\dotsc",function(e){var t=e.future().text;return t in Ud&&t!==","?"\\ldots\\,":"\\ldots"});T("\\cdots",function(e){var t=e.future().text;return t in Ud?"\\@cdots\\,":"\\@cdots"});T("\\dotsb","\\cdots");T("\\dotsm","\\cdots");T("\\dotsi","\\!\\cdots");T("\\dotsx","\\ldots\\,");T("\\DOTSI","\\relax");T("\\DOTSB","\\relax");T("\\DOTSX","\\relax");T("\\tmspace","\\TextOrMath{\\kern#1#3}{\\mskip#1#2}\\relax");T("\\,","\\tmspace+{3mu}{.1667em}");T("\\thinspace","\\,");T("\\>","\\mskip{4mu}");T("\\:","\\tmspace+{4mu}{.2222em}");T("\\medspace","\\:");T("\\;","\\tmspace+{5mu}{.2777em}");T("\\thickspace","\\;");T("\\!","\\tmspace-{3mu}{.1667em}");T("\\negthinspace","\\!");T("\\negmedspace","\\tmspace-{4mu}{.2222em}");T("\\negthickspace","\\tmspace-{5mu}{.277em}");T("\\enspace","\\kern.5em ");T("\\enskip","\\hskip.5em\\relax");T("\\quad","\\hskip1em\\relax");T("\\qquad","\\hskip2em\\relax");T("\\tag","\\@ifstar\\tag@literal\\tag@paren");T("\\tag@paren","\\tag@literal{({#1})}");T("\\tag@literal",e=>{if(e.macros.get("\\df@tag"))throw new re("Multiple \\tag");return"\\gdef\\df@tag{\\text{#1}}"});T("\\bmod","\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}\\mathbin{\\rm mod}\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}");T("\\pod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern8mu}{\\mkern8mu}{\\mkern8mu}(#1)");T("\\pmod","\\pod{{\\rm mod}\\mkern6mu#1}");T("\\mod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern12mu}{\\mkern12mu}{\\mkern12mu}{\\rm mod}\\,\\,#1");T("\\newline","\\\\\\relax");T("\\TeX","\\textrm{\\html@mathml{T\\kern-.1667em\\raisebox{-.5ex}{E}\\kern-.125emX}{TeX}}");var qC=se(tr["Main-Regular"][84][1]-.7*tr["Main-Regular"][65][1]);T("\\LaTeX","\\textrm{\\html@mathml{"+("L\\kern-.36em\\raisebox{"+qC+"}{\\scriptstyle A}")+"\\kern-.15em\\TeX}{LaTeX}}");T("\\KaTeX","\\textrm{\\html@mathml{"+("K\\kern-.17em\\raisebox{"+qC+"}{\\scriptstyle A}")+"\\kern-.15em\\TeX}{KaTeX}}");T("\\hspace","\\@ifstar\\@hspacer\\@hspace");T("\\@hspace","\\hskip #1\\relax");T("\\@hspacer","\\rule{0pt}{0pt}\\hskip #1\\relax");T("\\ordinarycolon",":");T("\\vcentcolon","\\mathrel{\\mathop\\ordinarycolon}");T("\\dblcolon",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-.9mu}\\vcentcolon}}{\\mathop{\\char"2237}}');T("\\coloneqq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2254}}');T("\\Coloneqq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2237\\char"3d}}');T("\\coloneq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"3a\\char"2212}}');T("\\Coloneq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"2237\\char"2212}}');T("\\eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2255}}');T("\\Eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"3d\\char"2237}}');T("\\eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2239}}');T("\\Eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"2212\\char"2237}}');T("\\colonapprox",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"3a\\char"2248}}');T("\\Colonapprox",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"2237\\char"2248}}');T("\\colonsim",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"3a\\char"223c}}');T("\\Colonsim",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"2237\\char"223c}}');T("\u2237","\\dblcolon");T("\u2239","\\eqcolon");T("\u2254","\\coloneqq");T("\u2255","\\eqqcolon");T("\u2A74","\\Coloneqq");T("\\ratio","\\vcentcolon");T("\\coloncolon","\\dblcolon");T("\\colonequals","\\coloneqq");T("\\coloncolonequals","\\Coloneqq");T("\\equalscolon","\\eqqcolon");T("\\equalscoloncolon","\\Eqqcolon");T("\\colonminus","\\coloneq");T("\\coloncolonminus","\\Coloneq");T("\\minuscolon","\\eqcolon");T("\\minuscoloncolon","\\Eqcolon");T("\\coloncolonapprox","\\Colonapprox");T("\\coloncolonsim","\\Colonsim");T("\\simcolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\vcentcolon}");T("\\simcoloncolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\dblcolon}");T("\\approxcolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\vcentcolon}");T("\\approxcoloncolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\dblcolon}");T("\\notni","\\html@mathml{\\not\\ni}{\\mathrel{\\char`\u220C}}");T("\\limsup","\\DOTSB\\operatorname*{lim\\,sup}");T("\\liminf","\\DOTSB\\operatorname*{lim\\,inf}");T("\\injlim","\\DOTSB\\operatorname*{inj\\,lim}");T("\\projlim","\\DOTSB\\operatorname*{proj\\,lim}");T("\\varlimsup","\\DOTSB\\operatorname*{\\overline{lim}}");T("\\varliminf","\\DOTSB\\operatorname*{\\underline{lim}}");T("\\varinjlim","\\DOTSB\\operatorname*{\\underrightarrow{lim}}");T("\\varprojlim","\\DOTSB\\operatorname*{\\underleftarrow{lim}}");T("\\gvertneqq","\\html@mathml{\\@gvertneqq}{\u2269}");T("\\lvertneqq","\\html@mathml{\\@lvertneqq}{\u2268}");T("\\ngeqq","\\html@mathml{\\@ngeqq}{\u2271}");T("\\ngeqslant","\\html@mathml{\\@ngeqslant}{\u2271}");T("\\nleqq","\\html@mathml{\\@nleqq}{\u2270}");T("\\nleqslant","\\html@mathml{\\@nleqslant}{\u2270}");T("\\nshortmid","\\html@mathml{\\@nshortmid}{\u2224}");T("\\nshortparallel","\\html@mathml{\\@nshortparallel}{\u2226}");T("\\nsubseteqq","\\html@mathml{\\@nsubseteqq}{\u2288}");T("\\nsupseteqq","\\html@mathml{\\@nsupseteqq}{\u2289}");T("\\varsubsetneq","\\html@mathml{\\@varsubsetneq}{\u228A}");T("\\varsubsetneqq","\\html@mathml{\\@varsubsetneqq}{\u2ACB}");T("\\varsupsetneq","\\html@mathml{\\@varsupsetneq}{\u228B}");T("\\varsupsetneqq","\\html@mathml{\\@varsupsetneqq}{\u2ACC}");T("\\imath","\\html@mathml{\\@imath}{\u0131}");T("\\jmath","\\html@mathml{\\@jmath}{\u0237}");T("\\llbracket","\\html@mathml{\\mathopen{[\\mkern-3.2mu[}}{\\mathopen{\\char`\u27E6}}");T("\\rrbracket","\\html@mathml{\\mathclose{]\\mkern-3.2mu]}}{\\mathclose{\\char`\u27E7}}");T("\u27E6","\\llbracket");T("\u27E7","\\rrbracket");T("\\lBrace","\\html@mathml{\\mathopen{\\{\\mkern-3.2mu[}}{\\mathopen{\\char`\u2983}}");T("\\rBrace","\\html@mathml{\\mathclose{]\\mkern-3.2mu\\}}}{\\mathclose{\\char`\u2984}}");T("\u2983","\\lBrace");T("\u2984","\\rBrace");T("\\minuso","\\mathbin{\\html@mathml{{\\mathrlap{\\mathchoice{\\kern{0.145em}}{\\kern{0.145em}}{\\kern{0.1015em}}{\\kern{0.0725em}}\\circ}{-}}}{\\char`\u29B5}}");T("\u29B5","\\minuso");T("\\darr","\\downarrow");T("\\dArr","\\Downarrow");T("\\Darr","\\Downarrow");T("\\lang","\\langle");T("\\rang","\\rangle");T("\\uarr","\\uparrow");T("\\uArr","\\Uparrow");T("\\Uarr","\\Uparrow");T("\\N","\\mathbb{N}");T("\\R","\\mathbb{R}");T("\\Z","\\mathbb{Z}");T("\\alef","\\aleph");T("\\alefsym","\\aleph");T("\\Alpha","\\mathrm{A}");T("\\Beta","\\mathrm{B}");T("\\bull","\\bullet");T("\\Chi","\\mathrm{X}");T("\\clubs","\\clubsuit");T("\\cnums","\\mathbb{C}");T("\\Complex","\\mathbb{C}");T("\\Dagger","\\ddagger");T("\\diamonds","\\diamondsuit");T("\\empty","\\emptyset");T("\\Epsilon","\\mathrm{E}");T("\\Eta","\\mathrm{H}");T("\\exist","\\exists");T("\\harr","\\leftrightarrow");T("\\hArr","\\Leftrightarrow");T("\\Harr","\\Leftrightarrow");T("\\hearts","\\heartsuit");T("\\image","\\Im");T("\\infin","\\infty");T("\\Iota","\\mathrm{I}");T("\\isin","\\in");T("\\Kappa","\\mathrm{K}");T("\\larr","\\leftarrow");T("\\lArr","\\Leftarrow");T("\\Larr","\\Leftarrow");T("\\lrarr","\\leftrightarrow");T("\\lrArr","\\Leftrightarrow");T("\\Lrarr","\\Leftrightarrow");T("\\Mu","\\mathrm{M}");T("\\natnums","\\mathbb{N}");T("\\Nu","\\mathrm{N}");T("\\Omicron","\\mathrm{O}");T("\\plusmn","\\pm");T("\\rarr","\\rightarrow");T("\\rArr","\\Rightarrow");T("\\Rarr","\\Rightarrow");T("\\real","\\Re");T("\\reals","\\mathbb{R}");T("\\Reals","\\mathbb{R}");T("\\Rho","\\mathrm{P}");T("\\sdot","\\cdot");T("\\sect","\\S");T("\\spades","\\spadesuit");T("\\sub","\\subset");T("\\sube","\\subseteq");T("\\supe","\\supseteq");T("\\Tau","\\mathrm{T}");T("\\thetasym","\\vartheta");T("\\weierp","\\wp");T("\\Zeta","\\mathrm{Z}");T("\\argmin","\\DOTSB\\operatorname*{arg\\,min}");T("\\argmax","\\DOTSB\\operatorname*{arg\\,max}");T("\\plim","\\DOTSB\\mathop{\\operatorname{plim}}\\limits");T("\\bra","\\mathinner{\\langle{#1}|}");T("\\ket","\\mathinner{|{#1}\\rangle}");T("\\braket","\\mathinner{\\langle{#1}\\rangle}");T("\\Bra","\\left\\langle#1\\right|");T("\\Ket","\\left|#1\\right\\rangle");var QC=e=>t=>{var n=t.consumeArg().tokens,a=t.consumeArg().tokens,o=t.consumeArg().tokens,s=t.consumeArg().tokens,l=t.macros.get("|"),d=t.macros.get("\\|");t.macros.beginGroup();var u=h=>C=>{e&&(C.macros.set("|",l),o.length&&C.macros.set("\\|",d));var R=h;if(!h&&o.length){var I=C.future();I.text==="|"&&(C.popToken(),R=!0)}return{tokens:R?o:a,numArgs:0}};t.macros.set("|",u(!1)),o.length&&t.macros.set("\\|",u(!0));var p=t.consumeArg().tokens,E=t.expandTokens([...s,...p,...n]);return t.macros.endGroup(),{tokens:E.reverse(),numArgs:0}};T("\\bra@ket",QC(!1));T("\\bra@set",QC(!0));T("\\Braket","\\bra@ket{\\left\\langle}{\\,\\middle\\vert\\,}{\\,\\middle\\vert\\,}{\\right\\rangle}");T("\\Set","\\bra@set{\\left\\{\\:}{\\;\\middle\\vert\\;}{\\;\\middle\\Vert\\;}{\\:\\right\\}}");T("\\set","\\bra@set{\\{\\,}{\\mid}{}{\\,\\}}");T("\\angln","{\\angl n}");T("\\blue","\\textcolor{##6495ed}{#1}");T("\\orange","\\textcolor{##ffa500}{#1}");T("\\pink","\\textcolor{##ff00af}{#1}");T("\\red","\\textcolor{##df0030}{#1}");T("\\green","\\textcolor{##28ae7b}{#1}");T("\\gray","\\textcolor{gray}{#1}");T("\\purple","\\textcolor{##9d38bd}{#1}");T("\\blueA","\\textcolor{##ccfaff}{#1}");T("\\blueB","\\textcolor{##80f6ff}{#1}");T("\\blueC","\\textcolor{##63d9ea}{#1}");T("\\blueD","\\textcolor{##11accd}{#1}");T("\\blueE","\\textcolor{##0c7f99}{#1}");T("\\tealA","\\textcolor{##94fff5}{#1}");T("\\tealB","\\textcolor{##26edd5}{#1}");T("\\tealC","\\textcolor{##01d1c1}{#1}");T("\\tealD","\\textcolor{##01a995}{#1}");T("\\tealE","\\textcolor{##208170}{#1}");T("\\greenA","\\textcolor{##b6ffb0}{#1}");T("\\greenB","\\textcolor{##8af281}{#1}");T("\\greenC","\\textcolor{##74cf70}{#1}");T("\\greenD","\\textcolor{##1fab54}{#1}");T("\\greenE","\\textcolor{##0d923f}{#1}");T("\\goldA","\\textcolor{##ffd0a9}{#1}");T("\\goldB","\\textcolor{##ffbb71}{#1}");T("\\goldC","\\textcolor{##ff9c39}{#1}");T("\\goldD","\\textcolor{##e07d10}{#1}");T("\\goldE","\\textcolor{##a75a05}{#1}");T("\\redA","\\textcolor{##fca9a9}{#1}");T("\\redB","\\textcolor{##ff8482}{#1}");T("\\redC","\\textcolor{##f9685d}{#1}");T("\\redD","\\textcolor{##e84d39}{#1}");T("\\redE","\\textcolor{##bc2612}{#1}");T("\\maroonA","\\textcolor{##ffbde0}{#1}");T("\\maroonB","\\textcolor{##ff92c6}{#1}");T("\\maroonC","\\textcolor{##ed5fa6}{#1}");T("\\maroonD","\\textcolor{##ca337c}{#1}");T("\\maroonE","\\textcolor{##9e034e}{#1}");T("\\purpleA","\\textcolor{##ddd7ff}{#1}");T("\\purpleB","\\textcolor{##c6b9fc}{#1}");T("\\purpleC","\\textcolor{##aa87ff}{#1}");T("\\purpleD","\\textcolor{##7854ab}{#1}");T("\\purpleE","\\textcolor{##543b78}{#1}");T("\\mintA","\\textcolor{##f5f9e8}{#1}");T("\\mintB","\\textcolor{##edf2df}{#1}");T("\\mintC","\\textcolor{##e0e5cc}{#1}");T("\\grayA","\\textcolor{##f6f7f7}{#1}");T("\\grayB","\\textcolor{##f0f1f2}{#1}");T("\\grayC","\\textcolor{##e3e5e6}{#1}");T("\\grayD","\\textcolor{##d6d8da}{#1}");T("\\grayE","\\textcolor{##babec2}{#1}");T("\\grayF","\\textcolor{##888d93}{#1}");T("\\grayG","\\textcolor{##626569}{#1}");T("\\grayH","\\textcolor{##3b3e40}{#1}");T("\\grayI","\\textcolor{##21242c}{#1}");T("\\kaBlue","\\textcolor{##314453}{#1}");T("\\kaGreen","\\textcolor{##71B307}{#1}");var $C={"^":!0,_:!0,"\\limits":!0,"\\nolimits":!0},vd=class{constructor(t,n,a){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=n,this.expansionCount=0,this.feed(t),this.macros=new Cd(Bk,n.macros),this.mode=a,this.stack=[]}feed(t){this.lexer=new Gs(t,this.settings)}switchMode(t){this.mode=t}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(t){this.stack.push(t)}pushTokens(t){this.stack.push(...t)}scanArgument(t){var n,a,o;if(t){if(this.consumeSpaces(),this.future().text!=="[")return null;n=this.popToken(),{tokens:o,end:a}=this.consumeArg(["]"])}else({tokens:o,start:n,end:a}=this.consumeArg());return this.pushToken(new In("EOF",a.loc)),this.pushTokens(o),new In("",gn.range(n,a))}consumeSpaces(){for(;;){var t=this.future();if(t.text===" ")this.stack.pop();else break}}consumeArg(t){var n=[],a=t&&t.length>0;a||this.consumeSpaces();var o=this.future(),s,l=0,d=0;do{if(s=this.popToken(),n.push(s),s.text==="{")++l;else if(s.text==="}"){if(--l,l===-1)throw new re("Extra }",s)}else if(s.text==="EOF")throw new re("Unexpected end of input in a macro argument, expected '"+(t&&a?t[d]:"}")+"'",s);if(t&&a)if((l===0||l===1&&t[d]==="{")&&s.text===t[d]){if(++d,d===t.length){n.splice(-d,d);break}}else d=0}while(l!==0||a);return o.text==="{"&&n[n.length-1].text==="}"&&(n.pop(),n.shift()),n.reverse(),{tokens:n,start:o,end:s}}consumeArgs(t,n){if(n){if(n.length!==t+1)throw new re("The length of delimiters doesn't match the number of args!");for(var a=n[0],o=0;o<a.length;o++){var s=this.popToken();if(a[o]!==s.text)throw new re("Use of the macro doesn't match its definition",s)}}for(var l=[],d=0;d<t;d++)l.push(this.consumeArg(n&&n[d+1]).tokens);return l}countExpansion(t){if(this.expansionCount+=t,this.expansionCount>this.settings.maxExpand)throw new re("Too many expansions: infinite loop or need to increase maxExpand setting")}expandOnce(t){var n=this.popToken(),a=n.text,o=n.noexpand?null:this._getExpansion(a);if(o==null||t&&o.unexpandable){if(t&&o==null&&a[0]==="\\"&&!this.isDefined(a))throw new re("Undefined control sequence: "+a);return this.pushToken(n),!1}this.countExpansion(1);var s=o.tokens,l=this.consumeArgs(o.numArgs,o.delimiters);if(o.numArgs){s=s.slice();for(var d=s.length-1;d>=0;--d){var u=s[d];if(u.text==="#"){if(d===0)throw new re("Incomplete placeholder at end of macro body",u);if(u=s[--d],u.text==="#")s.splice(d+1,1);else if(/^[1-9]$/.test(u.text))s.splice(d,2,...l[+u.text-1]);else throw new re("Not a valid argument number",u)}}}return this.pushTokens(s),s.length}expandAfterFuture(){return this.expandOnce(),this.future()}expandNextToken(){for(;;)if(this.expandOnce()===!1){var t=this.stack.pop();return t.treatAsRelax&&(t.text="\\relax"),t}throw new Error}expandMacro(t){return this.macros.has(t)?this.expandTokens([new In(t)]):void 0}expandTokens(t){var n=[],a=this.stack.length;for(this.pushTokens(t);this.stack.length>a;)if(this.expandOnce(!0)===!1){var o=this.stack.pop();o.treatAsRelax&&(o.noexpand=!1,o.treatAsRelax=!1),n.push(o)}return this.countExpansion(n.length),n}expandMacroAsText(t){var n=this.expandMacro(t);return n&&n.map(a=>a.text).join("")}_getExpansion(t){var n=this.macros.get(t);if(n==null)return n;if(t.length===1){var a=this.lexer.catcodes[t];if(a!=null&&a!==13)return}var o=typeof n=="function"?n(this):n;if(typeof o=="string"){var s=0;if(o.indexOf("#")!==-1)for(var l=o.replace(/##/g,"");l.indexOf("#"+(s+1))!==-1;)++s;for(var d=new Gs(o,this.settings),u=[],p=d.lex();p.text!=="EOF";)u.push(p),p=d.lex();u.reverse();var E={tokens:u,numArgs:s};return E}return o}isDefined(t){return this.macros.has(t)||Wr.hasOwnProperty(t)||_t.math.hasOwnProperty(t)||_t.text.hasOwnProperty(t)||$C.hasOwnProperty(t)}isExpandable(t){var n=this.macros.get(t);return n!=null?typeof n=="string"||typeof n=="function"||!n.unexpandable:Wr.hasOwnProperty(t)&&!Wr[t].primitive}},eC=/^[₊₋₌₍₎₀₁₂₃₄₅₆₇₈₉ₐₑₕᵢⱼₖₗₘₙₒₚᵣₛₜᵤᵥₓᵦᵧᵨᵩᵪ]/,Ds=Object.freeze({"\u208A":"+","\u208B":"-","\u208C":"=","\u208D":"(","\u208E":")","\u2080":"0","\u2081":"1","\u2082":"2","\u2083":"3","\u2084":"4","\u2085":"5","\u2086":"6","\u2087":"7","\u2088":"8","\u2089":"9","\u2090":"a","\u2091":"e","\u2095":"h","\u1D62":"i","\u2C7C":"j","\u2096":"k","\u2097":"l","\u2098":"m","\u2099":"n","\u2092":"o","\u209A":"p","\u1D63":"r","\u209B":"s","\u209C":"t","\u1D64":"u","\u1D65":"v","\u2093":"x","\u1D66":"\u03B2","\u1D67":"\u03B3","\u1D68":"\u03C1","\u1D69":"\u03D5","\u1D6A":"\u03C7","\u207A":"+","\u207B":"-","\u207C":"=","\u207D":"(","\u207E":")","\u2070":"0","\xB9":"1","\xB2":"2","\xB3":"3","\u2074":"4","\u2075":"5","\u2076":"6","\u2077":"7","\u2078":"8","\u2079":"9","\u1D2C":"A","\u1D2E":"B","\u1D30":"D","\u1D31":"E","\u1D33":"G","\u1D34":"H","\u1D35":"I","\u1D36":"J","\u1D37":"K","\u1D38":"L","\u1D39":"M","\u1D3A":"N","\u1D3C":"O","\u1D3E":"P","\u1D3F":"R","\u1D40":"T","\u1D41":"U","\u2C7D":"V","\u1D42":"W","\u1D43":"a","\u1D47":"b","\u1D9C":"c","\u1D48":"d","\u1D49":"e","\u1DA0":"f","\u1D4D":"g",\u02B0:"h","\u2071":"i",\u02B2:"j","\u1D4F":"k",\u02E1:"l","\u1D50":"m",\u207F:"n","\u1D52":"o","\u1D56":"p",\u02B3:"r",\u02E2:"s","\u1D57":"t","\u1D58":"u","\u1D5B":"v",\u02B7:"w",\u02E3:"x",\u02B8:"y","\u1DBB":"z","\u1D5D":"\u03B2","\u1D5E":"\u03B3","\u1D5F":"\u03B4","\u1D60":"\u03D5","\u1D61":"\u03C7","\u1DBF":"\u03B8"}),ud={"\u0301":{text:"\\'",math:"\\acute"},"\u0300":{text:"\\`",math:"\\grave"},"\u0308":{text:'\\"',math:"\\ddot"},"\u0303":{text:"\\~",math:"\\tilde"},"\u0304":{text:"\\=",math:"\\bar"},"\u0306":{text:"\\u",math:"\\breve"},"\u030C":{text:"\\v",math:"\\check"},"\u0302":{text:"\\^",math:"\\hat"},"\u0307":{text:"\\.",math:"\\dot"},"\u030A":{text:"\\r",math:"\\mathring"},"\u030B":{text:"\\H"},"\u0327":{text:"\\c"}},tC={\u00E1:"a\u0301",\u00E0:"a\u0300",\u00E4:"a\u0308",\u01DF:"a\u0308\u0304",\u00E3:"a\u0303",\u0101:"a\u0304",\u0103:"a\u0306",\u1EAF:"a\u0306\u0301",\u1EB1:"a\u0306\u0300",\u1EB5:"a\u0306\u0303",\u01CE:"a\u030C",\u00E2:"a\u0302",\u1EA5:"a\u0302\u0301",\u1EA7:"a\u0302\u0300",\u1EAB:"a\u0302\u0303",\u0227:"a\u0307",\u01E1:"a\u0307\u0304",\u00E5:"a\u030A",\u01FB:"a\u030A\u0301",\u1E03:"b\u0307",\u0107:"c\u0301",\u1E09:"c\u0327\u0301",\u010D:"c\u030C",\u0109:"c\u0302",\u010B:"c\u0307",\u00E7:"c\u0327",\u010F:"d\u030C",\u1E0B:"d\u0307",\u1E11:"d\u0327",\u00E9:"e\u0301",\u00E8:"e\u0300",\u00EB:"e\u0308",\u1EBD:"e\u0303",\u0113:"e\u0304",\u1E17:"e\u0304\u0301",\u1E15:"e\u0304\u0300",\u0115:"e\u0306",\u1E1D:"e\u0327\u0306",\u011B:"e\u030C",\u00EA:"e\u0302",\u1EBF:"e\u0302\u0301",\u1EC1:"e\u0302\u0300",\u1EC5:"e\u0302\u0303",\u0117:"e\u0307",\u0229:"e\u0327",\u1E1F:"f\u0307",\u01F5:"g\u0301",\u1E21:"g\u0304",\u011F:"g\u0306",\u01E7:"g\u030C",\u011D:"g\u0302",\u0121:"g\u0307",\u0123:"g\u0327",\u1E27:"h\u0308",\u021F:"h\u030C",\u0125:"h\u0302",\u1E23:"h\u0307",\u1E29:"h\u0327",\u00ED:"i\u0301",\u00EC:"i\u0300",\u00EF:"i\u0308",\u1E2F:"i\u0308\u0301",\u0129:"i\u0303",\u012B:"i\u0304",\u012D:"i\u0306",\u01D0:"i\u030C",\u00EE:"i\u0302",\u01F0:"j\u030C",\u0135:"j\u0302",\u1E31:"k\u0301",\u01E9:"k\u030C",\u0137:"k\u0327",\u013A:"l\u0301",\u013E:"l\u030C",\u013C:"l\u0327",\u1E3F:"m\u0301",\u1E41:"m\u0307",\u0144:"n\u0301",\u01F9:"n\u0300",\u00F1:"n\u0303",\u0148:"n\u030C",\u1E45:"n\u0307",\u0146:"n\u0327",\u00F3:"o\u0301",\u00F2:"o\u0300",\u00F6:"o\u0308",\u022B:"o\u0308\u0304",\u00F5:"o\u0303",\u1E4D:"o\u0303\u0301",\u1E4F:"o\u0303\u0308",\u022D:"o\u0303\u0304",\u014D:"o\u0304",\u1E53:"o\u0304\u0301",\u1E51:"o\u0304\u0300",\u014F:"o\u0306",\u01D2:"o\u030C",\u00F4:"o\u0302",\u1ED1:"o\u0302\u0301",\u1ED3:"o\u0302\u0300",\u1ED7:"o\u0302\u0303",\u022F:"o\u0307",\u0231:"o\u0307\u0304",\u0151:"o\u030B",\u1E55:"p\u0301",\u1E57:"p\u0307",\u0155:"r\u0301",\u0159:"r\u030C",\u1E59:"r\u0307",\u0157:"r\u0327",\u015B:"s\u0301",\u1E65:"s\u0301\u0307",\u0161:"s\u030C",\u1E67:"s\u030C\u0307",\u015D:"s\u0302",\u1E61:"s\u0307",\u015F:"s\u0327",\u1E97:"t\u0308",\u0165:"t\u030C",\u1E6B:"t\u0307",\u0163:"t\u0327",\u00FA:"u\u0301",\u00F9:"u\u0300",\u00FC:"u\u0308",\u01D8:"u\u0308\u0301",\u01DC:"u\u0308\u0300",\u01D6:"u\u0308\u0304",\u01DA:"u\u0308\u030C",\u0169:"u\u0303",\u1E79:"u\u0303\u0301",\u016B:"u\u0304",\u1E7B:"u\u0304\u0308",\u016D:"u\u0306",\u01D4:"u\u030C",\u00FB:"u\u0302",\u016F:"u\u030A",\u0171:"u\u030B",\u1E7D:"v\u0303",\u1E83:"w\u0301",\u1E81:"w\u0300",\u1E85:"w\u0308",\u0175:"w\u0302",\u1E87:"w\u0307",\u1E98:"w\u030A",\u1E8D:"x\u0308",\u1E8B:"x\u0307",\u00FD:"y\u0301",\u1EF3:"y\u0300",\u00FF:"y\u0308",\u1EF9:"y\u0303",\u0233:"y\u0304",\u0177:"y\u0302",\u1E8F:"y\u0307",\u1E99:"y\u030A",\u017A:"z\u0301",\u017E:"z\u030C",\u1E91:"z\u0302",\u017C:"z\u0307",\u00C1:"A\u0301",\u00C0:"A\u0300",\u00C4:"A\u0308",\u01DE:"A\u0308\u0304",\u00C3:"A\u0303",\u0100:"A\u0304",\u0102:"A\u0306",\u1EAE:"A\u0306\u0301",\u1EB0:"A\u0306\u0300",\u1EB4:"A\u0306\u0303",\u01CD:"A\u030C",\u00C2:"A\u0302",\u1EA4:"A\u0302\u0301",\u1EA6:"A\u0302\u0300",\u1EAA:"A\u0302\u0303",\u0226:"A\u0307",\u01E0:"A\u0307\u0304",\u00C5:"A\u030A",\u01FA:"A\u030A\u0301",\u1E02:"B\u0307",\u0106:"C\u0301",\u1E08:"C\u0327\u0301",\u010C:"C\u030C",\u0108:"C\u0302",\u010A:"C\u0307",\u00C7:"C\u0327",\u010E:"D\u030C",\u1E0A:"D\u0307",\u1E10:"D\u0327",\u00C9:"E\u0301",\u00C8:"E\u0300",\u00CB:"E\u0308",\u1EBC:"E\u0303",\u0112:"E\u0304",\u1E16:"E\u0304\u0301",\u1E14:"E\u0304\u0300",\u0114:"E\u0306",\u1E1C:"E\u0327\u0306",\u011A:"E\u030C",\u00CA:"E\u0302",\u1EBE:"E\u0302\u0301",\u1EC0:"E\u0302\u0300",\u1EC4:"E\u0302\u0303",\u0116:"E\u0307",\u0228:"E\u0327",\u1E1E:"F\u0307",\u01F4:"G\u0301",\u1E20:"G\u0304",\u011E:"G\u0306",\u01E6:"G\u030C",\u011C:"G\u0302",\u0120:"G\u0307",\u0122:"G\u0327",\u1E26:"H\u0308",\u021E:"H\u030C",\u0124:"H\u0302",\u1E22:"H\u0307",\u1E28:"H\u0327",\u00CD:"I\u0301",\u00CC:"I\u0300",\u00CF:"I\u0308",\u1E2E:"I\u0308\u0301",\u0128:"I\u0303",\u012A:"I\u0304",\u012C:"I\u0306",\u01CF:"I\u030C",\u00CE:"I\u0302",\u0130:"I\u0307",\u0134:"J\u0302",\u1E30:"K\u0301",\u01E8:"K\u030C",\u0136:"K\u0327",\u0139:"L\u0301",\u013D:"L\u030C",\u013B:"L\u0327",\u1E3E:"M\u0301",\u1E40:"M\u0307",\u0143:"N\u0301",\u01F8:"N\u0300",\u00D1:"N\u0303",\u0147:"N\u030C",\u1E44:"N\u0307",\u0145:"N\u0327",\u00D3:"O\u0301",\u00D2:"O\u0300",\u00D6:"O\u0308",\u022A:"O\u0308\u0304",\u00D5:"O\u0303",\u1E4C:"O\u0303\u0301",\u1E4E:"O\u0303\u0308",\u022C:"O\u0303\u0304",\u014C:"O\u0304",\u1E52:"O\u0304\u0301",\u1E50:"O\u0304\u0300",\u014E:"O\u0306",\u01D1:"O\u030C",\u00D4:"O\u0302",\u1ED0:"O\u0302\u0301",\u1ED2:"O\u0302\u0300",\u1ED6:"O\u0302\u0303",\u022E:"O\u0307",\u0230:"O\u0307\u0304",\u0150:"O\u030B",\u1E54:"P\u0301",\u1E56:"P\u0307",\u0154:"R\u0301",\u0158:"R\u030C",\u1E58:"R\u0307",\u0156:"R\u0327",\u015A:"S\u0301",\u1E64:"S\u0301\u0307",\u0160:"S\u030C",\u1E66:"S\u030C\u0307",\u015C:"S\u0302",\u1E60:"S\u0307",\u015E:"S\u0327",\u0164:"T\u030C",\u1E6A:"T\u0307",\u0162:"T\u0327",\u00DA:"U\u0301",\u00D9:"U\u0300",\u00DC:"U\u0308",\u01D7:"U\u0308\u0301",\u01DB:"U\u0308\u0300",\u01D5:"U\u0308\u0304",\u01D9:"U\u0308\u030C",\u0168:"U\u0303",\u1E78:"U\u0303\u0301",\u016A:"U\u0304",\u1E7A:"U\u0304\u0308",\u016C:"U\u0306",\u01D3:"U\u030C",\u00DB:"U\u0302",\u016E:"U\u030A",\u0170:"U\u030B",\u1E7C:"V\u0303",\u1E82:"W\u0301",\u1E80:"W\u0300",\u1E84:"W\u0308",\u0174:"W\u0302",\u1E86:"W\u0307",\u1E8C:"X\u0308",\u1E8A:"X\u0307",\u00DD:"Y\u0301",\u1EF2:"Y\u0300",\u0178:"Y\u0308",\u1EF8:"Y\u0303",\u0232:"Y\u0304",\u0176:"Y\u0302",\u1E8E:"Y\u0307",\u0179:"Z\u0301",\u017D:"Z\u030C",\u1E90:"Z\u0302",\u017B:"Z\u0307",\u03AC:"\u03B1\u0301",\u1F70:"\u03B1\u0300",\u1FB1:"\u03B1\u0304",\u1FB0:"\u03B1\u0306",\u03AD:"\u03B5\u0301",\u1F72:"\u03B5\u0300",\u03AE:"\u03B7\u0301",\u1F74:"\u03B7\u0300",\u03AF:"\u03B9\u0301",\u1F76:"\u03B9\u0300",\u03CA:"\u03B9\u0308",\u0390:"\u03B9\u0308\u0301",\u1FD2:"\u03B9\u0308\u0300",\u1FD1:"\u03B9\u0304",\u1FD0:"\u03B9\u0306",\u03CC:"\u03BF\u0301",\u1F78:"\u03BF\u0300",\u03CD:"\u03C5\u0301",\u1F7A:"\u03C5\u0300",\u03CB:"\u03C5\u0308",\u03B0:"\u03C5\u0308\u0301",\u1FE2:"\u03C5\u0308\u0300",\u1FE1:"\u03C5\u0304",\u1FE0:"\u03C5\u0306",\u03CE:"\u03C9\u0301",\u1F7C:"\u03C9\u0300",\u038E:"\u03A5\u0301",\u1FEA:"\u03A5\u0300",\u03AB:"\u03A5\u0308",\u1FE9:"\u03A5\u0304",\u1FE8:"\u03A5\u0306",\u038F:"\u03A9\u0301",\u1FFA:"\u03A9\u0300"},Ys=class e{constructor(t,n){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 vd(t,n,this.mode),this.settings=n,this.leftrightDepth=0}expect(t,n){if(n===void 0&&(n=!0),this.fetch().text!==t)throw new re("Expected '"+t+"', got '"+this.fetch().text+"'",this.fetch());n&&this.consume()}consume(){this.nextToken=null}fetch(){return this.nextToken==null&&(this.nextToken=this.gullet.expandNextToken()),this.nextToken}switchMode(t){this.mode=t,this.gullet.switchMode(t)}parse(){this.settings.globalGroup||this.gullet.beginGroup(),this.settings.colorIsTextColor&&this.gullet.macros.set("\\color","\\textcolor");try{var t=this.parseExpression(!1);return this.expect("EOF"),this.settings.globalGroup||this.gullet.endGroup(),t}finally{this.gullet.endGroups()}}subparse(t){var n=this.nextToken;this.consume(),this.gullet.pushToken(new In("}")),this.gullet.pushTokens(t);var a=this.parseExpression(!1);return this.expect("}"),this.nextToken=n,a}parseExpression(t,n){for(var a=[];;){this.mode==="math"&&this.consumeSpaces();var o=this.fetch();if(e.endOfExpression.indexOf(o.text)!==-1||n&&o.text===n||t&&Wr[o.text]&&Wr[o.text].infix)break;var s=this.parseAtom(n);if(s){if(s.type==="internal")continue}else break;a.push(s)}return this.mode==="text"&&this.formLigatures(a),this.handleInfixNodes(a)}handleInfixNodes(t){for(var n=-1,a,o=0;o<t.length;o++)if(t[o].type==="infix"){if(n!==-1)throw new re("only one infix operator per group",t[o].token);n=o,a=t[o].replaceWith}if(n!==-1&&a){var s,l,d=t.slice(0,n),u=t.slice(n+1);d.length===1&&d[0].type==="ordgroup"?s=d[0]:s={type:"ordgroup",mode:this.mode,body:d},u.length===1&&u[0].type==="ordgroup"?l=u[0]:l={type:"ordgroup",mode:this.mode,body:u};var p;return a==="\\\\abovefrac"?p=this.callFunction(a,[s,t[n],l],[]):p=this.callFunction(a,[s,l],[]),[p]}else return t}handleSupSubscript(t){var n=this.fetch(),a=n.text;this.consume(),this.consumeSpaces();var o;do{var s;o=this.parseGroup(t)}while(((s=o)==null?void 0:s.type)==="internal");if(!o)throw new re("Expected group after '"+a+"'",n);return o}formatUnsupportedCmd(t){for(var n=[],a=0;a<t.length;a++)n.push({type:"textord",mode:"text",text:t[a]});var o={type:"text",mode:this.mode,body:n},s={type:"color",mode:this.mode,color:this.settings.errorColor,body:[o]};return s}parseAtom(t){var n=this.parseGroup("atom",t);if(n?.type==="internal"||this.mode==="text")return n;for(var a,o;;){this.consumeSpaces();var s=this.fetch();if(s.text==="\\limits"||s.text==="\\nolimits"){if(n&&n.type==="op"){var l=s.text==="\\limits";n.limits=l,n.alwaysHandleSupSub=!0}else if(n&&n.type==="operatorname")n.alwaysHandleSupSub&&(n.limits=s.text==="\\limits");else throw new re("Limit controls must follow a math operator",s);this.consume()}else if(s.text==="^"){if(a)throw new re("Double superscript",s);a=this.handleSupSubscript("superscript")}else if(s.text==="_"){if(o)throw new re("Double subscript",s);o=this.handleSupSubscript("subscript")}else if(s.text==="'"){if(a)throw new re("Double superscript",s);var d={type:"textord",mode:this.mode,text:"\\prime"},u=[d];for(this.consume();this.fetch().text==="'";)u.push(d),this.consume();this.fetch().text==="^"&&u.push(this.handleSupSubscript("superscript")),a={type:"ordgroup",mode:this.mode,body:u}}else if(Ds[s.text]){var p=eC.test(s.text),E=[];for(E.push(new In(Ds[s.text])),this.consume();;){var h=this.fetch().text;if(!Ds[h]||eC.test(h)!==p)break;E.unshift(new In(Ds[h])),this.consume()}var C=this.subparse(E);p?o={type:"ordgroup",mode:"math",body:C}:a={type:"ordgroup",mode:"math",body:C}}else break}return a||o?{type:"supsub",mode:this.mode,base:n,sup:a,sub:o}:n}parseFunction(t,n){var a=this.fetch(),o=a.text,s=Wr[o];if(!s)return null;if(this.consume(),n&&n!=="atom"&&!s.allowedInArgument)throw new re("Got function '"+o+"' with no arguments"+(n?" as "+n:""),a);if(this.mode==="text"&&!s.allowedInText)throw new re("Can't use function '"+o+"' in text mode",a);if(this.mode==="math"&&s.allowedInMath===!1)throw new re("Can't use function '"+o+"' in math mode",a);var{args:l,optArgs:d}=this.parseArguments(o,s);return this.callFunction(o,l,d,a,t)}callFunction(t,n,a,o,s){var l={funcName:t,parser:this,token:o,breakOnTokenText:s},d=Wr[t];if(d&&d.handler)return d.handler(l,n,a);throw new re("No function handler for "+t)}parseArguments(t,n){var a=n.numArgs+n.numOptionalArgs;if(a===0)return{args:[],optArgs:[]};for(var o=[],s=[],l=0;l<a;l++){var d=n.argTypes&&n.argTypes[l],u=l<n.numOptionalArgs;(n.primitive&&d==null||n.type==="sqrt"&&l===1&&s[0]==null)&&(d="primitive");var p=this.parseGroupOfType("argument to '"+t+"'",d,u);if(u)s.push(p);else if(p!=null)o.push(p);else throw new re("Null argument, please report this as a bug")}return{args:o,optArgs:s}}parseGroupOfType(t,n,a){switch(n){case"color":return this.parseColorGroup(a);case"size":return this.parseSizeGroup(a);case"url":return this.parseUrlGroup(a);case"math":case"text":return this.parseArgumentGroup(a,n);case"hbox":{var o=this.parseArgumentGroup(a,"text");return o!=null?{type:"styling",mode:o.mode,body:[o],style:"text"}:null}case"raw":{var s=this.parseStringGroup("raw",a);return s!=null?{type:"raw",mode:"text",string:s.text}:null}case"primitive":{if(a)throw new re("A primitive argument cannot be optional");var l=this.parseGroup(t);if(l==null)throw new re("Expected group as "+t,this.fetch());return l}case"original":case null:case void 0:return this.parseArgumentGroup(a);default:throw new re("Unknown group type as "+t,this.fetch())}}consumeSpaces(){for(;this.fetch().text===" ";)this.consume()}parseStringGroup(t,n){var a=this.gullet.scanArgument(n);if(a==null)return null;for(var o="",s;(s=this.fetch()).text!=="EOF";)o+=s.text,this.consume();return this.consume(),a.text=o,a}parseRegexGroup(t,n){for(var a=this.fetch(),o=a,s="",l;(l=this.fetch()).text!=="EOF"&&t.test(s+l.text);)o=l,s+=o.text,this.consume();if(s==="")throw new re("Invalid "+n+": '"+a.text+"'",a);return a.range(o,s)}parseColorGroup(t){var n=this.parseStringGroup("color",t);if(n==null)return null;var a=/^(#[a-f0-9]{3,4}|#[a-f0-9]{6}|#[a-f0-9]{8}|[a-f0-9]{6}|[a-z]+)$/i.exec(n.text);if(!a)throw new re("Invalid color: '"+n.text+"'",n);var o=a[0];return/^[0-9a-f]{6}$/i.test(o)&&(o="#"+o),{type:"color-token",mode:this.mode,color:o}}parseSizeGroup(t){var n,a=!1;if(this.gullet.consumeSpaces(),!t&&this.gullet.future().text!=="{"?n=this.parseRegexGroup(/^[-+]? *(?:$|\d+|\d+\.\d*|\.\d*) *[a-z]{0,2} *$/,"size"):n=this.parseStringGroup("size",t),!n)return null;!t&&n.text.length===0&&(n.text="0pt",a=!0);var o=/([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(n.text);if(!o)throw new re("Invalid size: '"+n.text+"'",n);var s={number:+(o[1]+o[2]),unit:o[3]};if(!aC(s))throw new re("Invalid unit: '"+s.unit+"'",n);return{type:"size",mode:this.mode,value:s,isBlank:a}}parseUrlGroup(t){this.gullet.lexer.setCatcode("%",13),this.gullet.lexer.setCatcode("~",12);var n=this.parseStringGroup("url",t);if(this.gullet.lexer.setCatcode("%",14),this.gullet.lexer.setCatcode("~",13),n==null)return null;var a=n.text.replace(/\\([#$%&~_^{}])/g,"$1");return{type:"url",mode:this.mode,url:a}}parseArgumentGroup(t,n){var a=this.gullet.scanArgument(t);if(a==null)return null;var o=this.mode;n&&this.switchMode(n),this.gullet.beginGroup();var s=this.parseExpression(!1,"EOF");this.expect("EOF"),this.gullet.endGroup();var l={type:"ordgroup",mode:this.mode,loc:a.loc,body:s};return n&&this.switchMode(o),l}parseGroup(t,n){var a=this.fetch(),o=a.text,s;if(o==="{"||o==="\\begingroup"){this.consume();var l=o==="{"?"}":"\\endgroup";this.gullet.beginGroup();var d=this.parseExpression(!1,l),u=this.fetch();this.expect(l),this.gullet.endGroup(),s={type:"ordgroup",mode:this.mode,loc:gn.range(a,u),body:d,semisimple:o==="\\begingroup"||void 0}}else if(s=this.parseFunction(n,t)||this.parseSymbol(),s==null&&o[0]==="\\"&&!$C.hasOwnProperty(o)){if(this.settings.throwOnError)throw new re("Undefined control sequence: "+o,a);s=this.formatUnsupportedCmd(o),this.consume()}return s}formLigatures(t){for(var n=t.length-1,a=0;a<n;++a){var o=t[a],s=o.text;s==="-"&&t[a+1].text==="-"&&(a+1<n&&t[a+2].text==="-"?(t.splice(a,3,{type:"textord",mode:"text",loc:gn.range(o,t[a+2]),text:"---"}),n-=2):(t.splice(a,2,{type:"textord",mode:"text",loc:gn.range(o,t[a+1]),text:"--"}),n-=1)),(s==="'"||s==="`")&&t[a+1].text===s&&(t.splice(a,2,{type:"textord",mode:"text",loc:gn.range(o,t[a+1]),text:s+s}),n-=1)}}parseSymbol(){var t=this.fetch(),n=t.text;if(/^\\verb[^a-zA-Z]/.test(n)){this.consume();var a=n.slice(5),o=a.charAt(0)==="*";if(o&&(a=a.slice(1)),a.length<2||a.charAt(0)!==a.slice(-1))throw new re(`\\verb assertion failed --
|
|
345
345
|
please report what input caused this bug`);return a=a.slice(1,-1),{type:"verb",mode:"text",body:a,star:o}}tC.hasOwnProperty(n[0])&&!_t[this.mode][n[0]]&&(this.settings.strict&&this.mode==="math"&&this.settings.reportNonstrict("unicodeTextInMathMode",'Accented Unicode text character "'+n[0]+'" used in math mode',t),n=tC[n[0]]+n.slice(1));var s=kk.exec(n);s&&(n=n.substring(0,s.index),n==="i"?n="\u0131":n==="j"&&(n="\u0237"));var l;if(_t[this.mode][n]){this.settings.strict&&this.mode==="math"&&gd.indexOf(n)>=0&&this.settings.reportNonstrict("unicodeTextInMathMode",'Latin-1/Unicode text character "'+n[0]+'" used in math mode',t);var d=_t[this.mode][n].group,u=gn.range(t),p;if(y4.hasOwnProperty(d)){var E=d;p={type:"atom",mode:this.mode,family:E,loc:u,text:n}}else p={type:d,mode:this.mode,loc:u,text:n};l=p}else if(n.charCodeAt(0)>=128)this.settings.strict&&(rC(n.charCodeAt(0))?this.mode==="math"&&this.settings.reportNonstrict("unicodeTextInMathMode",'Unicode text character "'+n[0]+'" used in math mode',t):this.settings.reportNonstrict("unknownSymbol",'Unrecognized Unicode character "'+n[0]+'"'+(" ("+n.charCodeAt(0)+")"),t)),l={type:"textord",mode:"text",loc:gn.range(t),text:n};else return null;if(this.consume(),s)for(var h=0;h<s[0].length;h++){var C=s[0][h];if(!ud[C])throw new re("Unknown accent ' "+C+"'",t);var R=ud[C][this.mode]||ud[C].text;if(!R)throw new re("Accent "+C+" unsupported in "+this.mode+" mode",t);l={type:"accent",mode:this.mode,loc:gn.range(t),label:R,isStretchy:!1,isShifty:!0,base:l}}return l}};Ys.endOfExpression=["}","\\endgroup","\\end","\\right","&"];var Gd=function(t,n){if(!(typeof t=="string"||t instanceof String))throw new TypeError("KaTeX can only parse string typed expression");var a=new Ys(t,n);delete a.gullet.macros.current["\\df@tag"];var o=a.parse();if(delete a.gullet.macros.current["\\current@color"],delete a.gullet.macros.current["\\color"],a.gullet.macros.get("\\df@tag")){if(!n.displayMode)throw new re("\\tag works only in display equations");o=[{type:"tag",mode:"text",body:o,tag:a.subparse([new In("\\df@tag")])}]}return o},XC=function(t,n,a){n.textContent="";var o=Yd(t,a).toNode();n.appendChild(o)};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."),XC=function(){throw new re("KaTeX doesn't work in quirks mode.")});var Fk=function(t,n){var a=Yd(t,n).toMarkup();return a},Uk=function(t,n){var a=new Ui(n);return Gd(t,a)},KC=function(t,n,a){if(a.throwOnError||!(t instanceof re))throw t;var o=F.makeSpan(["katex-error"],[new En(n)]);return o.setAttribute("title",t.toString()),o.setAttribute("style","color:"+a.errorColor),o},Yd=function(t,n){var a=new Ui(n);try{var o=Gd(t,a);return K4(o,t,a)}catch(s){return KC(s,t,a)}},Gk=function(t,n){var a=new Ui(n);try{var o=Gd(t,a);return Z4(o,t,a)}catch(s){return KC(s,t,a)}},Yk="0.16.28",zk={Span:ga,Anchor:Yi,SymbolNode:En,SvgNode:Wn,PathNode:nr,LineNode:zi},ZC={version:Yk,render:XC,renderToString:Fk,ParseError:re,SETTINGS_SCHEMA:ws,__parse:Uk,__renderToDomTree:Yd,__renderToHTMLTree:Gk,__setFontMetrics:T4,__defineSymbol:_,__defineFunction:ue,__defineMacro:T,__domTree:zk};var Hk=/^(\${1,2})(?!\$)((?:\\.|[^\\\n])*?(?:\\.|[^\\\n\$]))\1(?=[\s?!\.,:?!。,:]|$)/,Wk=/^(\${1,2})(?!\$)((?:\\.|[^\\\n])*?(?:\\.|[^\\\n\$]))\1/,Vk=/^(\${1,2})\n((?:\\[^]|[^\\])+?)\n\1(?:\n|$)/;function jC(e={}){return{extensions:[qk(e,JC(e,!1)),Qk(e,JC(e,!0))]}}function JC(e,t){return n=>ZC.renderToString(n.text,{...e,displayMode:n.displayMode})+(t?`
|
|
346
|
-
`:"")}function qk(e,t){let n=e&&e.nonStandard,a=n?Wk:Hk;return{name:"inlineKatex",level:"inline",start(o){let s,l=o;for(;l;){if(s=l.indexOf("$"),s===-1)return;if((n?s>-1:s===0||l.charAt(s-1)===" ")&&l.substring(s).match(a))return s;l=l.substring(s+1).replace(/^\$+/,"")}},tokenizer(o,s){let l=o.match(a);if(l)return{type:"inlineKatex",raw:l[0],text:l[2].trim(),displayMode:l[1].length===2}},renderer:t}}function Qk(e,t){return{name:"blockKatex",level:"block",tokenizer(n,a){let o=n.match(Vk);if(o)return{type:"blockKatex",raw:o[0],text:o[2].trim(),displayMode:o[1].length===2}},renderer:t}}var $k='<div class="code-header"><span class="title"><span class="header-toggle"></span><span class="language"><LANG></span></span></div><span class="code-data" data-code="<CODE>" data-lang="<LANG>"></span>',ev=new bs(Jc({emptyLangClass:"hljs plaintext",langPrefix:"hljs ",highlight(e,t){let n=xi.getLanguage(t)?t:"plaintext",a=xi.highlight(e?.trim(),{language:n}).value;return t?$k.replaceAll("<LANG>",n).replaceAll("<CODE>",encodeURIComponent(e))+a?.trim():a}}),jC({displayMode:!1,throwOnError:!1,output:"html"}),{silent:!0,gfm:!0,breaks:!0}),Xk=new bs(Jc({emptyLangClass:"hljs plaintext",langPrefix:"hljs ",highlight(e,t){let n=xi.getLanguage(t)?t:"plaintext";return xi.highlight(e?.trim(),{language:n}).value}}),{silent:!0,breaks:!0,gfm:!0}),$r=new Va;$r.html=({text:e})=>["<br>","<br/>","<br />","<p>"].includes(e.trim())?e:Ir(e);$r.link=({href:e,title:t,text:n})=>`<a target="_blank" rel="noopener noreferrer" href="${Jk(e)}" title="${Ir(t)||""}">${Ir(n)}</a>`;$r.table=e=>{let t=e.header.map((o,s)=>{let l=e.align[s];return`<th class="table-sort-btn" ${l?` align="${l}"`:""}>${$r.parser.parseInline(o.tokens)}</th>`}).join(""),n=e.rows.map(o=>`<tr>${o.map((s,l)=>{let d=e.align[l];return`<td${d?` align="${d}"`:""}>${$r.parser.parseInline(s.tokens)}</td>`}).join("")}</tr>`).join(""),a=e.header.length;return`<table><thead><tr>${t}</tr></thead><tbody>${n}</tbody><tfoot><tr class="table-controls-row"><td class="table-controls" colspan="${a}"> </td></tr></tfoot></table>`};function tv(e){return e?e.replace(/\\\(([\s\S]+?)\\\)/g,(t,n)=>`$${n}$`).replace(/\\\[([\s\S]+?)\\\]/g,(t,n)=>`
|
|
346
|
+
`:"")}function qk(e,t){let n=e&&e.nonStandard,a=n?Wk:Hk;return{name:"inlineKatex",level:"inline",start(o){let s,l=o;for(;l;){if(s=l.indexOf("$"),s===-1)return;if((n?s>-1:s===0||l.charAt(s-1)===" ")&&l.substring(s).match(a))return s;l=l.substring(s+1).replace(/^\$+/,"")}},tokenizer(o,s){let l=o.match(a);if(l)return{type:"inlineKatex",raw:l[0],text:l[2].trim(),displayMode:l[1].length===2}},renderer:t}}function Qk(e,t){return{name:"blockKatex",level:"block",tokenizer(n,a){let o=n.match(Vk);if(o)return{type:"blockKatex",raw:o[0],text:o[2].trim(),displayMode:o[1].length===2}},renderer:t}}var $k='<div class="code-header"><span class="title"><span class="header-toggle"></span><span class="language"><LANG></span></span></div><span class="code-data" data-code="<CODE>" data-lang="<LANG>"></span>',ev=new bs(Jc({emptyLangClass:"hljs plaintext",langPrefix:"hljs ",highlight(e,t){let n=xi.getLanguage(t)?t:"plaintext",a=xi.highlight(e?.trim(),{language:n}).value;return t?$k.replaceAll("<LANG>",n).replaceAll("<CODE>",encodeURIComponent(e))+a?.trim():a}}),jC({displayMode:!1,throwOnError:!1,output:"html"}),{silent:!0,gfm:!0,breaks:!0}),Xk=new bs(Jc({emptyLangClass:"hljs plaintext",langPrefix:"hljs ",highlight(e,t){let n=xi.getLanguage(t)?t:"plaintext";return xi.highlight(e?.trim(),{language:n}).value}}),{silent:!0,breaks:!0,gfm:!0}),$r=new Va;$r.html=({text:e})=>["<br>","<br/>","<br />","<p>"].includes(e.trim())?e:Ir(e);$r.link=({href:e,title:t,text:n})=>`<a target="_blank" rel="noopener noreferrer" href="${Jk(e)}" title="${Ir(t)||""}">${Ir(n)}</a>`;$r.table=e=>{let t=e.header.map((o,s)=>{let l=e.align[s];return`<th class="table-sort-btn" ${l?` align="${l}"`:""}>${$r.parser.parseInline(o.tokens)}</th>`}).join(""),n=e.rows.map(o=>`<tr>${o.map((s,l)=>{let d=e.align[l];return`<td${d?` align="${d}"`:""}>${$r.parser.parseInline(s.tokens)}</td>`}).join("")}</tr>`).join(""),a=e.header.length;return`<table><thead><tr>${t}</tr></thead><tbody>${n}</tbody><tfoot><tr class="table-controls-row"><td class="table-controls" colspan="${a}"> </td></tr></tfoot></table>`};function tv(e){return e?e.replace(/\\\(([\s\S]+?)\\\)/g,(t,n)=>`$${n}$`).replace(/\(\$\s*([\s\S]+?)\s*\$\)/g,(t,n)=>`$${n}$`).replace(/\\\[([\s\S]+?)\\\]/g,(t,n)=>`
|
|
347
347
|
$$${n}$$
|
|
348
348
|
`).replace(/\$\$\n([\s\S]+?)\n\$\$\n/g,(t,n)=>`
|
|
349
349
|
$$${n}$$`):""}function Vi(e,t=!1){return e?t?[Xk.parse(e,{renderer:$r})]:(e=tv(e),e.match(/(```)|(\|---)/)?[ev.parse(e,{renderer:$r})]:e.split(/(\r)?\n(\r)?\n/g).filter(a=>!!a).map(a=>a+`
|
|
@@ -447,7 +447,7 @@ $$${n}$$`):""}function Vi(e,t=!1){return e?t?[Xk.parse(e,{renderer:$r})]:(e=tv(e
|
|
|
447
447
|
<path d="M6 4v16a1 1 0 0 0 1.524 .852l13 -8a1 1 0 0 0 0 -1.704l-13 -8a1 1 0 0 0 -1.524 .852z" />
|
|
448
448
|
</svg>
|
|
449
449
|
<span class="action-btn-label">${Ne.label}</span>
|
|
450
|
-
</div>`:"";$e.innerHTML=fe.replaceAll("<LANG>",dt).replace("<EXECUTE_BTN>",It).replace("<DOWNLOAD_TITLE>",he).replace("<COPY_TITLE>",z),Be.appendChild($e),ve.parentNode?.insertBefore(Be,ve),Be.appendChild(ve)}}),G.current.querySelectorAll("img").forEach(ve=>{if(!ve?.classList?.contains("message-image")){ve.classList.add("message-image");let $e=ve.src.split("/").pop()||"";ve.setAttribute("data-file-name",$e)}}),G.current.querySelectorAll("table").forEach(ve=>{if(!ve?.classList?.contains("message-table")){if(ve.classList.add("message-table"),!ve.tFoot){let dt=document.createElement("tfoot");ve.appendChild(dt);let Be=document.createElement("tr");Be.className="table-controls-row",dt.appendChild(Be);let Ne=document.createElement("th");Ne.classList.add("table-controls"),Ne.colSpan=ve.querySelectorAll("th").length||1,Be.appendChild(Ne)}let $e=ve.querySelector("tfoot tr .table-controls");$e.innerHTML=te.replace("<COPY_CSV_TITLE>",$).replace("<DOWNLOAD_CSV_TITLE>",Z);let pt=0;ve.querySelectorAll("th").forEach(dt=>{dt.classList.contains("table-controls")||(dt.classList.add("table-sort-btn"),dt.setAttribute("data-col-index",String(pt++)))})}}))},$i+10),[he,z,$,Z,u]);(0,Ee.useEffect)(()=>{if(!k&&G.current){let ve=new MutationObserver(pe);return ve.observe(G.current,{childList:!0,subtree:!0}),pe(),()=>ve.disconnect()}},[p,k,pe]);let _e=(0,Ee.useMemo)(()=>l?l(t):null,[l,t]),Ce=(0,Ee.useMemo)(()=>{let ve=s?s(t,{isLast:a}):null,$e=d?.find(pt=>pt.modelId===t?.modelId);return Ee.default.createElement(Ee.default.Fragment,null,Ee.default.createElement(vt.Group,{align:"center",p:"0"},Ee.default.createElement(vt.Group,{gap:"sm",wrap:"nowrap",p:"0"},Ee.default.createElement(vt.Avatar,{color:"gray",radius:"xl",size:"md",src:le?t?.user?.avatarUrl:void 0},le?Ee.default.createElement(Ar.IconUser,null):$e?Ee.default.createElement(Ja,{apiProvider:$e.apiProvider,provider:$e.provider}):Ee.default.createElement(Ar.IconRobot,null)),Ee.default.createElement(vt.Text,{size:"sm",fw:500,c:le?"blue":"teal"},De),Ee.default.createElement(vt.Text,{size:"sm",c:"dimmed"},oe)),Ee.default.createElement(vt.Group,{p:"0"},Y&&Ee.default.createElement(vi,{status:Y}),W&&Y!=="reasoning"&&Ee.default.createElement(vt.Text,{size:"sm",c:"dimmed"},W))),Ee.default.createElement(vt.Box,{className:["katechat-message-content",k?"streaming":""].join(" ")},Ee.default.createElement(Qi,{status:Y,content:R,statusInfo:W,streaming:k}),I?I.map((pt,dt)=>Ee.default.createElement("div",{key:dt,dangerouslySetInnerHTML:{__html:pt}})):Ee.default.createElement("div",null,R),Ee.default.createElement(vt.Box,{className:"katechat-message-footer"},Ee.default.createElement(ns,{messageId:E,messageIndex:n}),_e&&Ee.default.createElement(Zs,{messageId:E,messageIndex:n}),ve),_e&&Ee.default.createElement(vt.Box,{className:"katechat-message-content-details"},_e)))},[p,De,oe,R,I,E,h,C,d,n,Q,_e,k,ae.language]),[ke,Pe]=Ee.default.useState(0),[We,je]=Ee.default.useState("idle"),[Qe,ct]=Ee.default.useState(!1);(0,Ee.useEffect)(()=>{if(!U||U.length===0)return;let ve=U.findIndex($e=>$e.streaming);ve>=0&&Pe(ve)},[U]);let Pt=(0,Ee.useMemo)(()=>!U||U.length===0?[]:U.map(ve=>Ee.default.createElement(js,{key:ve.id,message:ve,parentIndex:n,index:ke,models:d,plugins:s?.(ve),messageDetailsLoader:l})),[U,d,n,ae.language]),Bt=(0,Ee.useMemo)(()=>{if(!U||U.length===0)return null;let ve=U.length,$e=Be=>{Be.stopPropagation(),!Qe&&(ct(!0),je("exit-right"),setTimeout(()=>{Pe(Ne=>(Ne-1+ve)%ve),je("enter-left"),setTimeout(()=>{je("idle"),ct(!1)},$i)},$i))},pt=Be=>{Be.stopPropagation(),!Qe&&(ct(!0),je("exit-left"),setTimeout(()=>{Pe(Ne=>(Ne+1)%ve),je("enter-right"),setTimeout(()=>{je("idle"),ct(!1)},$i)},$i))},dt=Pt[ke];return Ee.default.createElement("div",{className:"katechat-message-carousel"},Ee.default.createElement("div",{className:"message-carousel-header"},Ee.default.createElement("div",{className:"message-carousel-controls"},ve>1&&Ee.default.createElement(Ee.default.Fragment,null,Ee.default.createElement(vt.ActionIcon,{onClick:$e,"aria-label":"Previous",radius:"xl",variant:"light"},Ee.default.createElement(Ar.IconChevronLeft,null)),Ee.default.createElement(vt.ActionIcon,{onClick:pt,"aria-label":"Next",radius:"xl",variant:"light"},Ee.default.createElement(Ar.IconChevronRight,null))))),Ee.default.createElement("div",{className:`carousel-message-content animation-${We}`},dt),ve>1&&Ee.default.createElement(vt.Group,{className:"carousel-model-icons"},U.map((Be,Ne)=>{let It=d?.find(gt=>gt.modelId===Be.modelId),Se=Ne===ke;return Ee.default.createElement(vt.Tooltip,{key:Be.id,label:It?.name||ie("AI"),position:"top"},Ee.default.createElement(vt.Box,{key:Be.id,c:Se?void 0:"dimmed",onClick:()=>Pe(Ne)},It?Ee.default.createElement(Ja,{apiProvider:It.apiProvider,provider:It.provider,size:20}):Ee.default.createElement(Ar.IconRobot,{size:20})))})))},[Pt,ae.language,ke,We,Qe]);return Bt?Ee.default.createElement("div",{id:`message-${t.id}`,"data-message-id":t.id,className:["katechat-message",`katechat-message__${p||""}`].join(" "),ref:G},Ee.default.createElement("div",{className:"katechat-message-linked-toggle"},Ee.default.createElement(vt.Switch,{checked:J,onChange:ve=>V(ve.currentTarget.checked),label:ie(J?"Main":"Others"),size:"sm"})),Ee.default.createElement("div",{className:["katechat-message-main",J?"":"hidden"].join(" ")},Ce),Ee.default.createElement("div",{className:["katechat-message-linked",J?"hidden":""].join(" ")},Bt)):Ee.default.createElement("div",{id:`message-${t.id}`,"data-message-id":t.id,className:["katechat-message",`katechat-message__${p||""}`].join(" "),ref:G},Ee.default.createElement("div",{className:"katechat-message-main"},Ce))});Js.displayName="ChatMessage";var ja=Nt(require("react"),1),gv=require("@mantine/core");var p3=({html:e,text:t})=>ja.default.createElement(gv.ScrollArea,{type:"hover",offsetScrollbars:!0,className:["katechat-message-content","katechat-message-preview"].join(" ")},t?ja.default.createElement(ja.default.Fragment,null,e?e.map((n,a)=>ja.default.createElement("div",{key:a,dangerouslySetInnerHTML:{__html:n}})):ja.default.createElement("div",null,t)):"...");var Lt=Nt(require("react"),1),Vn=require("@mantine/core"),Ev=require("@tabler/icons-react");var or=Nt(require("react"),1),Qt=require("@tabler/icons-react"),Ja=({apiProvider:e,provider:t,size:n=24})=>{switch(e){case"OPEN_AI":return or.default.createElement(Qt.IconBrandOpenai,{size:n});case"AWS_BEDROCK":switch(t?.toLowerCase()){case"amazon":return or.default.createElement(Qt.IconBrandAws,{size:n});case"anthropic":return or.default.createElement(Qt.IconAi,{size:n});case"mistral ai":return or.default.createElement(Qt.IconBrandMedium,{size:n});case"meta":return or.default.createElement(Qt.IconBrandMeta,{size:n});default:return or.default.createElement(Qt.IconBrandAws,{size:n})}case"YANDEX_FM":return or.default.createElement(Qt.IconBrandYandex,{size:n});case"GOOGLE_VERTEX_AI":return or.default.createElement(Qt.IconBrandGoogle,{size:n});default:return or.default.createElement(Qt.IconMessageChatbot,{size:n})}};var js=({message:e,parentIndex:t,index:n,plugins:a,models:o,messageDetailsLoader:s})=>{let l=(0,Lt.useMemo)(()=>o?.find(u=>u.modelId===e.modelId),[o,e.modelId]),d=(0,Lt.useMemo)(()=>s?.(e)||null,[s,e]);return Lt.default.createElement(Vn.Box,{key:e.id,"data-linked-message-id":e.id},Lt.default.createElement(Vn.Group,{align:"center",pt:"sm"},Lt.default.createElement(Vn.Avatar,{radius:"xl",size:"md"},l?Lt.default.createElement(Ja,{apiProvider:l.apiProvider,provider:l.provider}):Lt.default.createElement(Ev.IconRobot,null)),Lt.default.createElement(Vn.Group,{gap:"xs"},Lt.default.createElement(Vn.Text,{size:"sm",fw:500,c:"teal"},e.modelName),e.status&&Lt.default.createElement(vi,{status:e.status}),e.statusInfo&&e.status!=="reasoning"&&Lt.default.createElement(Vn.Text,{size:"xs",c:"dimmed"},e.statusInfo))),Lt.default.createElement("div",{className:"katechat-message-content"},Lt.default.createElement(Qi,{status:e.status,content:e.content,statusInfo:e.statusInfo,streaming:e.streaming||!1}),e.html?e.html.map((u,p)=>Lt.default.createElement("div",{key:p,dangerouslySetInnerHTML:{__html:u}})):Lt.default.createElement("div",null,e.content),Lt.default.createElement("div",{className:"katechat-message-footer"},Lt.default.createElement(ns,{messageId:e.id,messageIndex:t,linkedMessageIndex:n}),d&&Lt.default.createElement(Zs,{messageId:e.id,messageIndex:n,linkedMessageIndex:n}),a),d&&Lt.default.createElement(Vn.Box,{className:"katechat-message-content-details"},d)))};js.displayName="LinkedChatMessage";var xe=Nt(require("react"),1),Rt=require("@mantine/core"),Kr=require("@tabler/icons-react"),ba=require("@mantine/notifications");var yt=Nt(require("react"),1),Nr=require("@mantine/core"),Sv=require("@tabler/icons-react");var fv=require("react-i18next");var Xi={dropzone:"_dropzone_16zca_1",dragging:"_dragging_16zca_8",disabled:"_disabled_16zca_12"};var hv=["image/jpeg","image/png","image/webp"],el=({onFilesAdd:e,disabled:t,uploadFormats:n=hv})=>{let[a,o]=(0,yt.useState)(!1),s=(0,yt.useRef)(null),l=(0,yt.useRef)(null),{t:d}=(0,fv.useTranslation)();(0,yt.useEffect)(()=>{let R=I=>{if(!t&&I.clipboardData&&I.clipboardData.items){let A=Array.from(I.clipboardData.items).map(M=>M.getAsFile()).filter(qi);A.length>0&&(I.preventDefault(),I.stopPropagation(),e(A))}};return document.addEventListener("paste",R),()=>{document.removeEventListener("paste",R)}},[e,t]);let u=(0,yt.useCallback)(R=>{R.preventDefault(),R.stopPropagation(),o(!0)},[]),p=(0,yt.useCallback)(R=>{R.preventDefault(),R.stopPropagation(),o(!1)},[]),E=(0,yt.useCallback)(R=>{if(R.preventDefault(),R.stopPropagation(),o(!1),t)return;let I=R.dataTransfer.files&&R.dataTransfer.files.length>0?Array.from(R.dataTransfer.files).filter(A=>A.size>0):[];e(I)},[e]),h=(0,yt.useCallback)(R=>{if(R.target.files&&R.target.files.length>0){let I=Array.from(R.target.files).filter(A=>A.size>0);I.length&&e(I),l.current&&(l.current.value="")}},[e]),C=()=>{t||l.current?.click()};return yt.default.createElement(yt.default.Fragment,null,yt.default.createElement(Nr.Box,{ref:s,className:`drop-zone ${Xi.dropzone} ${a?Xi.dragging:""} ${t?Xi.disabled:""}`,onDragOver:u,onDragLeave:p,onDrop:E,onClick:C},yt.default.createElement(Nr.Group,{justify:"start",className:"drop-zone-control",gap:"xs"},yt.default.createElement(Nr.Tooltip,{label:d("Click or drop an image/document here to upload"),position:"top"},yt.default.createElement(Nr.ActionIcon,{variant:"default",size:"lg"},yt.default.createElement(Sv.IconFileUpload,{size:"24"}))),yt.default.createElement(Nr.Box,{hiddenFrom:"xs",pe:"sm"},d("Upload File")),yt.default.createElement("input",{ref:l,type:"file",multiple:!0,accept:n?.join(","),onChange:h,className:Xi.fileInput,style:{display:"none"},disabled:t}))))};var Ki=Nt(require("react"),1),bv=require("@mantine/core"),Tv=require("@tabler/icons-react");var Zd={overlay:"_overlay_vjudp_1",content:"_content_vjudp_16"};var Cv=require("react-i18next"),g3=({visible:e,message:t,onDragOver:n,onDragLeave:a,onDrop:o})=>{let{t:s}=(0,Cv.useTranslation)();return e?Ki.default.createElement("div",{className:Zd.overlay,onDragOver:n,onDragLeave:a,onDrop:o},Ki.default.createElement("div",{className:Zd.content},Ki.default.createElement(Tv.IconFileUpload,{size:48,color:"var(--mantine-color-blue-4)"}),Ki.default.createElement(bv.Text,{size:"lg",fw:500,c:"blue.4"},t||s("Drop files here to upload")))):null};var vv=require("react-i18next");var Zt={chatControlsContainer:"_chatControlsContainer_sg9gr_1",chatInputContainer:"_chatInputContainer_sg9gr_4",chatInputGroup:"_chatInputGroup_sg9gr_7",chatInput:"_chatInput_sg9gr_4",hidden:"_hidden_sg9gr_22",promptMode:"_promptMode_sg9gr_34",promptModeText:"_promptModeText_sg9gr_41",promptFadeInUp:"_promptFadeInUp_sg9gr_1",promptShimmer:"_promptShimmer_sg9gr_1",headerRow:"_headerRow_sg9gr_71",documentsInput:"_documentsInput_sg9gr_89",columned:"_columned_sg9gr_95",imagesList:"_imagesList_sg9gr_103",previewImage:"_previewImage_sg9gr_108",removeButton:"_removeButton_sg9gr_120"};var E3=(0,xe.forwardRef)(({loadCompleted:e=!1,disabled:t=!1,promptMode:n=!1,promptText:a,uploadAllowed:o=!0,streaming:s,setSending:l,previousMessages:d=[],header:u,inputPlugins:p,uploadFormats:E,maxUploadFileSize:h=64*1024*1024,maxImagesCount:C=0,onSendMessage:R,onStopRequest:I,onDocumentsUpload:A},M)=>{let[k,U]=(0,xe.useState)([]),[Y,W]=(0,xe.useState)(""),[G,Q]=(0,xe.useState)(0),[J,V]=(0,xe.useState)(!1),ie=(0,xe.useRef)(null),{t:ae}=(0,vv.useTranslation)();(0,xe.useImperativeHandle)(M,()=>({handleAddFiles:$=>he($)})),(0,xe.useEffect)(()=>{ie.current?.focus()},[e,t]),(0,xe.useEffect)(()=>{Q(d?.length?d.length:0)},[e,d]);let oe=async()=>{if(!(!Y?.trim()&&!k.length)){l(!0);try{W(""),U([]),await R(Y,k)}catch($){ba.notifications.show({title:"Error",message:$ instanceof Error?$.message:ae("Failed to send message"),color:"red"})}finally{l(!1)}}},le=(0,xe.useCallback)($=>{let Z=!Y?.trim();if($.key==="Enter"&&!$.shiftKey&&!$.altKey)$.preventDefault(),oe(),V(!1);else if($.key==="ArrowUp"&&(Z||J)){let te=Math.max(0,G-1);W(d[te]),Q(te),V(!0)}else if($.key==="ArrowDown"&&(Z||J)){let te=Math.min(d.length-1,G+1);W(d[te]),Q(te),V(!0)}else V(!1)},[oe,Y,d,G,J]),De=(0,xe.useCallback)($=>{W($.currentTarget.value)},[]),fe=(0,xe.useMemo)(()=>t||s||!Y?.trim()&&!k.length,[Y,k,s,t]),he=(0,xe.useCallback)($=>{let Z=$.filter(_e=>_e.size<h);Z.length<$.length&&ba.notifications.show({title:ae("Warning"),message:ae("Some files are too large and were not added (max size: {{size}} MB)",{size:h/(1024*1024)}),color:"yellow"});let te=Z.filter(_e=>_e.type?.startsWith("image/")),pe=Z.filter(_e=>!_e.type?.startsWith("image/"));te.length&&C<=0&&(ba.notifications.show({title:ae("Warning"),message:ae("Image uploads are not allowed in this chat."),color:"yellow"}),te=[]),te.length+k.length>C&&(ba.notifications.show({title:ae("Warning"),message:ae("You can only add up to {{count}} images at a time",{count:C}),color:"yellow"}),te=te.slice(0,C-k.length)),te.length&&Promise.all(te.map(_e=>new Promise((Ce,ke)=>{let Pe=new FileReader;Pe.onload=We=>{if(We.target?.result){let je=We.target.result,Qe=new Image;Qe.src=je,Qe.onload=()=>Ce({fileName:_e.name,mimeType:_e.type,bytesBase64:je,width:Qe.width,height:Qe.height}),Qe.onerror=ct=>ke(ct)}else ke(new Error(ae("Failed to read file: {{fileName}}",{fileName:_e.name})))},Pe.onerror=We=>{ke(new Error(ae("Failed to read file: {{fileName}}, error: {{error}}",{fileName:_e.name,error:We})))},Pe.readAsDataURL(_e)}))).then(_e=>{U(Ce=>[...Ce,..._e])}).catch(_e=>{ba.notifications.show({title:ae("Error"),message:_e.message||ae("Failed to read image files"),color:"red"})}),pe.length&&A?A(pe):pe.length&&ba.notifications.show({title:ae("Warning"),message:ae("Document upload is not available in this chat."),color:"orange"})},[k,A,C,h]),z=$=>Z=>{Z.stopPropagation(),U(te=>te.filter(pe=>pe.fileName!==$))};return xe.default.createElement("div",{className:[Zt.chatControlsContainer,n?Zt.promptMode:"",e?"":Zt.hidden].join(" ")},n?xe.default.createElement(Rt.Stack,{align:"center",justify:"center",gap:"md",mb:"lg"},xe.default.createElement(Rt.Text,{c:"dimmed",size:"lg",ta:"center",className:Zt.promptModeText},a||ae("Start the conversation by sending a message"))):null,xe.default.createElement("div",{className:Zt.chatControls},u&&xe.default.createElement(Rt.Group,{align:"center",gap:"xs",className:Zt.headerRow},u),xe.default.createElement("div",{className:[Zt.chatInputContainer,k.length?Zt.columned:""].join(" ")},o&&xe.default.createElement("div",{className:Zt.documentsInput},xe.default.createElement(Rt.Group,{visibleFrom:"xs",gap:"xs"},xe.default.createElement(el,{onFilesAdd:he,uploadFormats:E}),p),k?.length>0&&xe.default.createElement("div",{className:Zt.imagesList},k.map(($,Z)=>xe.default.createElement("div",{key:$.fileName,className:Zt.previewImage},xe.default.createElement("img",{src:$.bytesBase64,alt:$.fileName}),xe.default.createElement(Rt.ActionIcon,{className:Zt.removeButton,color:"red.9",size:"xs",onClick:z($.fileName)},xe.default.createElement(Kr.IconX,{size:16})))))),xe.default.createElement("div",{className:Zt.chatInputGroup},o&&xe.default.createElement(Rt.Menu,{shadow:"md",width:"content"},xe.default.createElement(Rt.Menu.Target,null,xe.default.createElement(Rt.ActionIcon,{size:"lg",variant:"subtle",hiddenFrom:"xs"},xe.default.createElement(Rt.Tooltip,{label:ae("More..."),position:"right",withArrow:!0},xe.default.createElement(Kr.IconCirclePlus,{size:"24"})))),xe.default.createElement(Rt.Menu.Dropdown,null,xe.default.createElement(el,{onFilesAdd:he,uploadFormats:E}),p)),xe.default.createElement(Rt.Textarea,{ref:ie,className:Zt.chatInput,placeholder:ae("Type your message..."),value:Y||"",autosize:!0,minRows:1,maxRows:7,onChange:De,onKeyDown:le,disabled:t}),I&&s?xe.default.createElement(Rt.Button,{onClick:I,disabled:t},xe.default.createElement(Kr.IconPlayerStopFilled,{size:24})," ",xe.default.createElement(Rt.Text,{visibleFrom:"md"},ae("Stop"))):xe.default.createElement(Rt.Button,{onClick:oe,disabled:fe,className:I&&s?Zt.hidden:"",radius:"md"},xe.default.createElement(Kr.IconSend,{size:24})," ",xe.default.createElement(Rt.Text,{visibleFrom:"md",ml:"xs"},ae("Send")))))))});var Ot=Nt(require("react"),1),kv=require("@mantine/core"),rl=require("@mantine/notifications");var Pv=require("react-i18next");var Yt=Nt(require("react"),1),Wt=require("@mantine/core"),Dv=require("@mantine/hooks"),wv=require("@tabler/icons-react");var Jd=Nt(require("i18next"),1),yv=require("react-i18next"),Ov=Nt(require("i18next-browser-languagedetector"),1),xv=Nt(Nc(),1);var Rv={AI:"AI","Are you sure you want to delete this item? This action cannot be undone.":"Are you sure you want to delete this item? This action cannot be undone.",Cancel:"Cancel",Cancelled:"Cancelled","Click or drop an image/document here to upload":"Click or drop an image/document here to upload","Code block is empty":"Code block is empty","Code Interpreter":"Code Interpreter",Completed:"Completed","Confirm Deletion":"Confirm Deletion",Copy:"Copy","Copy CSV":"Copy CSV","Copy message":"Copy message",Delete:"Delete",Details:"Details","Document upload is not available in this chat.":"Document upload is not available in this chat.",Download:"Download","Download CSV":"Download CSV","Drop files here to upload":"Drop files here to upload",Error:"Error","Failed to copy message":"Failed to copy message","Failed to read file: {{fileName}}":"Failed to read file: {{fileName}}","Failed to read file: {{fileName}}, error: {{error}}":"Failed to read file: {{fileName}}, error: {{error}}","Failed to read image files":"Failed to read image files","Failed to send message":"Failed to send message","Image Preview":"Image Preview","Image uploads are not allowed in this chat.":"Image uploads are not allowed in this chat.","In Progress":"In Progress",language:{de:"Deutsch",en:"English",label:"Language",ru:"\u0420\u0443\u0441\u0441\u043A\u0438\u0439",zh:"\u4E2D\u6587"},"Language is not specified for this code block":"Language is not specified for this code block",Main:"Main","More...":"More...","Open image source":"Open image source",Others:"Others","RAG Search":"RAG Search",Reasoning:"Reasoning",Send:"Send","Some files are too large and were not added (max size: {{size}} MB)":"Some files are too large and were not added (max size: {{size}} MB)",source:"source","Start the conversation by sending a message":"Start the conversation by sending a message",Started:"Started",Stop:"Stop","Tool Call":"Tool Call","Tool Call Completed":"Tool Call Completed","Type your message...":"Type your message...","Upload File":"Upload File",Warning:"Warning","Web Search":"Web Search",You:"You","You can only add up to {{count}} images at a time":"You can only add up to {{count}} images at a time"};var Iv={AI:"KI","Are you sure you want to delete this item? This action cannot be undone.":"M\xF6chten Sie dieses Element wirklich l\xF6schen? Diese Aktion kann nicht r\xFCckg\xE4ngig gemacht werden.",Cancel:"Abbrechen",Cancelled:"Abgebrochen","Click or drop an image/document here to upload":"Klicken oder Bild/Dokument hierher ziehen zum Hochladen","Code block is empty":"Codeblock ist leer","Code Interpreter":"Code-Interpreter",Completed:"Abgeschlossen","Confirm Deletion":"L\xF6schen best\xE4tigen",Copy:"Kopieren","Copy CSV":"CSV kopieren","Copy message":"Nachricht kopieren",Delete:"L\xF6schen",Details:"Details","Document upload is not available in this chat.":"Dokumenten-Upload ist in diesem Chat nicht verf\xFCgbar.",Download:"Herunterladen","Download CSV":"CSV herunterladen","Drop files here to upload":"Dateien zum Hochladen hier ablegen",Error:"Fehler","Failed to copy message":"Nachricht konnte nicht kopiert werden","Failed to read file: {{fileName}}":"Datei konnte nicht gelesen werden: {{fileName}}","Failed to read file: {{fileName}}, error: {{error}}":"Datei konnte nicht gelesen werden: {{fileName}}, Fehler: {{error}}","Failed to read image files":"Bilddateien konnten nicht gelesen werden","Failed to send message":"Nachricht konnte nicht gesendet werden","Image Preview":"Bildvorschau","Image uploads are not allowed in this chat.":"Bild-Uploads sind in diesem Chat nicht erlaubt.","In Progress":"In Bearbeitung",language:{de:"Deutsch",en:"English",label:"Sprache",ru:"\u0420\u0443\u0441\u0441\u043A\u0438\u0439",zh:"\u4E2D\u6587"},"Language is not specified for this code block":"F\xFCr diesen Codeblock ist keine Sprache angegeben",Main:"Haupt","More...":"Mehr...","Open image source":"Bildquelle \xF6ffnen",Others:"Andere","RAG Search":"RAG-Suche",Reasoning:"Argumentation",Send:"Senden","Some files are too large and were not added (max size: {{size}} MB)":"Einige Dateien sind zu gro\xDF und wurden nicht hinzugef\xFCgt (max. Gr\xF6\xDFe: {{size}} MB)",source:"Quelle","Start the conversation by sending a message":"Beginnen Sie das Gespr\xE4ch, indem Sie eine Nachricht senden",Started:"Gestartet",Stop:"Stopp","Tool Call":"Tool-Aufruf","Tool Call Completed":"Tool-Aufruf abgeschlossen","Type your message...":"Nachricht eingeben...","Upload File":"Datei hochladen",Warning:"Warnung","Web Search":"Websuche",You:"Sie","You can only add up to {{count}} images at a time":"Sie k\xF6nnen nur bis zu {{count}} Bilder gleichzeitig hinzuf\xFCgen"};var Av={AI:"\u0418\u0418","Are you sure you want to delete this item? This action cannot be undone.":"\u0412\u044B \u0443\u0432\u0435\u0440\u0435\u043D\u044B, \u0447\u0442\u043E \u0445\u043E\u0442\u0438\u0442\u0435 \u0443\u0434\u0430\u043B\u0438\u0442\u044C \u044D\u0442\u043E\u0442 \u044D\u043B\u0435\u043C\u0435\u043D\u0442? \u042D\u0442\u043E \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u043D\u0435\u043B\u044C\u0437\u044F \u043E\u0442\u043C\u0435\u043D\u0438\u0442\u044C.",Cancel:"\u041E\u0442\u043C\u0435\u043D\u0430",Cancelled:"\u041E\u0442\u043C\u0435\u043D\u0435\u043D\u043E","Click or drop an image/document here to upload":"\u041D\u0430\u0436\u043C\u0438\u0442\u0435 \u0438\u043B\u0438 \u043F\u0435\u0440\u0435\u0442\u0430\u0449\u0438\u0442\u0435 \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435/\u0434\u043E\u043A\u0443\u043C\u0435\u043D\u0442 \u0441\u044E\u0434\u0430 \u0434\u043B\u044F \u0437\u0430\u0433\u0440\u0443\u0437\u043A\u0438","Code block is empty":"\u0411\u043B\u043E\u043A \u043A\u043E\u0434\u0430 \u043F\u0443\u0441\u0442","Code Interpreter":"\u0418\u043D\u0442\u0435\u0440\u043F\u0440\u0435\u0442\u0430\u0442\u043E\u0440 \u043A\u043E\u0434\u0430",Completed:"\u0417\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u043E","Confirm Deletion":"\u041F\u043E\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u044C \u0443\u0434\u0430\u043B\u0435\u043D\u0438\u0435",Copy:"\u041A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C","Copy CSV":"\u041A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C CSV","Copy message":"\u041A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435",Delete:"\u0423\u0434\u0430\u043B\u0438\u0442\u044C",Details:"\u041F\u043E\u0434\u0440\u043E\u0431\u043D\u043E\u0441\u0442\u0438","Document upload is not available in this chat.":"\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430 \u0434\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u043E\u0432 \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u043D\u0430 \u0432 \u044D\u0442\u043E\u043C \u0447\u0430\u0442\u0435.",Download:"\u0421\u043A\u0430\u0447\u0430\u0442\u044C","Download CSV":"\u0421\u043A\u0430\u0447\u0430\u0442\u044C CSV","Drop files here to upload":"\u041F\u0435\u0440\u0435\u0442\u0430\u0449\u0438\u0442\u0435 \u0444\u0430\u0439\u043B\u044B \u0441\u044E\u0434\u0430 \u0434\u043B\u044F \u0437\u0430\u0433\u0440\u0443\u0437\u043A\u0438",Error:"\u041E\u0448\u0438\u0431\u043A\u0430","Failed to copy message":"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u0441\u043A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435","Failed to read file: {{fileName}}":"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043F\u0440\u043E\u0447\u0438\u0442\u0430\u0442\u044C \u0444\u0430\u0439\u043B: {{fileName}}","Failed to read file: {{fileName}}, error: {{error}}":"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043F\u0440\u043E\u0447\u0438\u0442\u0430\u0442\u044C \u0444\u0430\u0439\u043B: {{fileName}}, \u043E\u0448\u0438\u0431\u043A\u0430: {{error}}","Failed to read image files":"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043F\u0440\u043E\u0447\u0438\u0442\u0430\u0442\u044C \u0444\u0430\u0439\u043B\u044B \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0439","Failed to send message":"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043E\u0442\u043F\u0440\u0430\u0432\u0438\u0442\u044C \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435","Image Preview":"\u041F\u0440\u0435\u0434\u043F\u0440\u043E\u0441\u043C\u043E\u0442\u0440 \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u044F","Image uploads are not allowed in this chat.":"\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430 \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0439 \u0432 \u044D\u0442\u043E\u043C \u0447\u0430\u0442\u0435 \u0437\u0430\u043F\u0440\u0435\u0449\u0435\u043D\u0430.","In Progress":"\u0412 \u043F\u0440\u043E\u0446\u0435\u0441\u0441\u0435",language:{de:"Deutsch",en:"English",label:"\u042F\u0437\u044B\u043A",ru:"\u0420\u0443\u0441\u0441\u043A\u0438\u0439",zh:"\u4E2D\u6587"},"Language is not specified for this code block":"\u042F\u0437\u044B\u043A \u043D\u0435 \u0443\u043A\u0430\u0437\u0430\u043D \u0434\u043B\u044F \u044D\u0442\u043E\u0433\u043E \u0431\u043B\u043E\u043A\u0430 \u043A\u043E\u0434\u0430",Main:"\u041E\u0441\u043D\u043E\u0432\u043D\u043E\u0439","More...":"\u0415\u0449\u0451...","Open image source":"\u041E\u0442\u043A\u0440\u044B\u0442\u044C \u0438\u0441\u0442\u043E\u0447\u043D\u0438\u043A \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u044F",Others:"\u0414\u0440\u0443\u0433\u0438\u0435","RAG Search":"RAG-\u043F\u043E\u0438\u0441\u043A",Reasoning:"\u0420\u0430\u0441\u0441\u0443\u0436\u0434\u0435\u043D\u0438\u0435",Send:"\u041E\u0442\u043F\u0440\u0430\u0432\u0438\u0442\u044C","Some files are too large and were not added (max size: {{size}} MB)":"\u041D\u0435\u043A\u043E\u0442\u043E\u0440\u044B\u0435 \u0444\u0430\u0439\u043B\u044B \u0441\u043B\u0438\u0448\u043A\u043E\u043C \u0431\u043E\u043B\u044C\u0448\u0438\u0435 \u0438 \u043D\u0435 \u0431\u044B\u043B\u0438 \u0434\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u044B (\u043C\u0430\u043A\u0441. \u0440\u0430\u0437\u043C\u0435\u0440: {{size}} \u041C\u0411)",source:"\u0438\u0441\u0442\u043E\u0447\u043D\u0438\u043A","Start the conversation by sending a message":"\u041D\u0430\u0447\u043D\u0438\u0442\u0435 \u0434\u0438\u0430\u043B\u043E\u0433, \u043E\u0442\u043F\u0440\u0430\u0432\u0438\u0432 \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435",Started:"\u041D\u0430\u0447\u0430\u0442\u043E",Stop:"\u0421\u0442\u043E\u043F","Tool Call":"\u0412\u044B\u0437\u043E\u0432 \u0438\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u0430","Tool Call Completed":"\u0412\u044B\u0437\u043E\u0432 \u0438\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u0430 \u0437\u0430\u0432\u0435\u0440\u0448\u0451\u043D","Type your message...":"\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435...","Upload File":"\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u0444\u0430\u0439\u043B",Warning:"\u041F\u0440\u0435\u0434\u0443\u043F\u0440\u0435\u0436\u0434\u0435\u043D\u0438\u0435","Web Search":"\u0412\u0435\u0431-\u043F\u043E\u0438\u0441\u043A",You:"\u0412\u044B","You can only add up to {{count}} images at a time":"\u0412\u044B \u043C\u043E\u0436\u0435\u0442\u0435 \u0434\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u043D\u0435 \u0431\u043E\u043B\u0435\u0435 {{count}} \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0439 \u0437\u0430 \u0440\u0430\u0437"};var Nv={AI:"AI","Are you sure you want to delete this item? This action cannot be undone.":"\u60A8\u786E\u5B9A\u8981\u5220\u9664\u6B64\u9879\u5417\uFF1F\u6B64\u64CD\u4F5C\u65E0\u6CD5\u64A4\u6D88\u3002",Cancel:"\u53D6\u6D88",Cancelled:"\u5DF2\u53D6\u6D88","Click or drop an image/document here to upload":"\u70B9\u51FB\u6216\u62D6\u653E\u56FE\u7247/\u6587\u6863\u5230\u6B64\u5904\u4E0A\u4F20","Code block is empty":"\u4EE3\u7801\u5757\u4E3A\u7A7A","Code Interpreter":"\u4EE3\u7801\u89E3\u91CA\u5668",Completed:"\u5DF2\u5B8C\u6210","Confirm Deletion":"\u786E\u8BA4\u5220\u9664",Copy:"\u590D\u5236","Copy CSV":"\u590D\u5236 CSV","Copy message":"\u590D\u5236\u6D88\u606F",Delete:"\u5220\u9664",Details:"\u8BE6\u60C5","Document upload is not available in this chat.":"\u6B64\u804A\u5929\u4E0D\u652F\u6301\u6587\u6863\u4E0A\u4F20\u3002",Download:"\u4E0B\u8F7D","Download CSV":"\u4E0B\u8F7D CSV","Drop files here to upload":"\u5C06\u6587\u4EF6\u62D6\u653E\u5230\u6B64\u5904\u4E0A\u4F20",Error:"\u9519\u8BEF","Failed to copy message":"\u590D\u5236\u6D88\u606F\u5931\u8D25","Failed to read file: {{fileName}}":"\u8BFB\u53D6\u6587\u4EF6\u5931\u8D25\uFF1A{{fileName}}","Failed to read file: {{fileName}}, error: {{error}}":"\u8BFB\u53D6\u6587\u4EF6\u5931\u8D25\uFF1A{{fileName}}\uFF0C\u9519\u8BEF\uFF1A{{error}}","Failed to read image files":"\u8BFB\u53D6\u56FE\u7247\u6587\u4EF6\u5931\u8D25","Failed to send message":"\u53D1\u9001\u6D88\u606F\u5931\u8D25","Image Preview":"\u56FE\u7247\u9884\u89C8","Image uploads are not allowed in this chat.":"\u6B64\u804A\u5929\u4E0D\u5141\u8BB8\u4E0A\u4F20\u56FE\u7247\u3002","In Progress":"\u8FDB\u884C\u4E2D",language:{de:"Deutsch",en:"English",label:"\u8BED\u8A00",ru:"\u0420\u0443\u0441\u0441\u043A\u0438\u0439",zh:"\u4E2D\u6587"},"Language is not specified for this code block":"\u6B64\u4EE3\u7801\u5757\u672A\u6307\u5B9A\u8BED\u8A00",Main:"\u4E3B\u8981","More...":"\u66F4\u591A...","Open image source":"\u6253\u5F00\u56FE\u7247\u6765\u6E90",Others:"\u5176\u4ED6","RAG Search":"RAG \u641C\u7D22",Reasoning:"\u63A8\u7406",Send:"\u53D1\u9001","Some files are too large and were not added (max size: {{size}} MB)":"\u90E8\u5206\u6587\u4EF6\u8FC7\u5927\uFF0C\u672A\u88AB\u6DFB\u52A0\uFF08\u6700\u5927\uFF1A{{size}} MB\uFF09",source:"\u6765\u6E90","Start the conversation by sending a message":"\u53D1\u9001\u6D88\u606F\u5F00\u59CB\u5BF9\u8BDD",Started:"\u5DF2\u5F00\u59CB",Stop:"\u505C\u6B62","Tool Call":"\u5DE5\u5177\u8C03\u7528","Tool Call Completed":"\u5DE5\u5177\u8C03\u7528\u5B8C\u6210","Type your message...":"\u8F93\u5165\u6D88\u606F...","Upload File":"\u4E0A\u4F20\u6587\u4EF6",Warning:"\u8B66\u544A","Web Search":"\u7F51\u7EDC\u641C\u7D22",You:"\u4F60","You can only add up to {{count}} images at a time":"\u4E00\u6B21\u6700\u591A\u53EA\u80FD\u6DFB\u52A0 {{count}} \u5F20\u56FE\u7247"};var tl=["en","de","ru","zh"],nl="ui-language";function T3(e={}){return(0,xv.merge)({en:{translation:Rv},de:{translation:Iv},ru:{translation:Av},zh:{translation:Nv}},e)}async function C3({lookupLocalStorage:e=nl,supportedLngs:t=tl,fallbackLng:n="en",resources:a={}}={}){return Jd.default.use(Ov.default).use(yv.initReactI18next).init({resources:T3(a),fallbackLng:n,supportedLngs:t,interpolation:{escapeValue:!1},detection:{order:["localStorage","navigator","htmlTag"],lookupLocalStorage:e,caches:["localStorage"]}})}function jd(e){return(typeof e=="string"?new Date(e):e).toLocaleDateString(Jd.default.language||"ru-RU",{year:"numeric",month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})}var Mv=require("react-i18next"),eu=({fileName:e,fileUrl:t,mimeType:n,createdAt:a,onOpenSource:o,sourceTitle:s,onClose:l})=>{let[d,{open:u,close:p}]=(0,Dv.useDisclosure)(!1);(0,Yt.useEffect)(()=>{t&&u()},[t,u]);let E=(0,Yt.useCallback)(()=>{l(),p()},[l,p]),h=(0,Yt.useCallback)(()=>{o?.(),E()},[o,E]),{t:C}=(0,Mv.useTranslation)();return Yt.default.createElement(Wt.Drawer,{size:"xl",opened:d,onClose:E,title:C("Image Preview")},t&&Yt.default.createElement(Wt.Stack,{gap:"md"},Yt.default.createElement(Wt.Image,{src:t,alt:e,fit:"contain",mah:"70vh"}),Yt.default.createElement(Wt.Group,{justify:"space-between"},Yt.default.createElement("div",null,Yt.default.createElement(Wt.Text,{size:"sm",fw:500},e),Yt.default.createElement(Wt.Text,{size:"xs",c:"dimmed"},a?jd(a)+" \u2022":""," ",n)),o&&Yt.default.createElement(Wt.Group,{gap:"xs"},Yt.default.createElement(Wt.Tooltip,{label:C("Open image source")},Yt.default.createElement(Wt.ActionIcon,{variant:"light",onClick:h},Yt.default.createElement(wv.IconExternalLink,{size:16}))))),o&&Yt.default.createElement(Wt.Text,{size:"sm",c:"dimmed"},"From:"," ",Yt.default.createElement(Wt.Text,{span:!0,c:"blue",style:{cursor:"pointer"},onClick:h},s||C("source")))))};var Lv=e=>[...Array.from(e.tHead?.querySelectorAll("tr")??[]),...Array.from(e.tBodies[0]?.querySelectorAll("tr")??[])].map(n=>Array.from(n.querySelectorAll("th, td")).map(a=>`"${(a.textContent||"").replace(/"/g,'""')}"`).join(",")).join(`
|
|
450
|
+
</div>`:"";$e.innerHTML=fe.replaceAll("<LANG>",dt).replace("<EXECUTE_BTN>",It).replace("<DOWNLOAD_TITLE>",he).replace("<COPY_TITLE>",z),Be.appendChild($e),ve.parentNode?.insertBefore(Be,ve),Be.appendChild(ve)}}),G.current.querySelectorAll("img").forEach(ve=>{if(!ve?.classList?.contains("message-image")){ve.classList.add("message-image");let $e=ve.src.split("/").pop()||"";ve.setAttribute("data-file-name",$e)}}),G.current.querySelectorAll("table").forEach(ve=>{if(!ve?.classList?.contains("message-table")){if(ve.classList.add("message-table"),!ve.tFoot){let dt=document.createElement("tfoot");ve.appendChild(dt);let Be=document.createElement("tr");Be.className="table-controls-row",dt.appendChild(Be);let Ne=document.createElement("th");Ne.classList.add("table-controls"),Ne.colSpan=ve.querySelectorAll("th").length||1,Be.appendChild(Ne)}let $e=ve.querySelector("tfoot tr .table-controls");$e.innerHTML=te.replace("<COPY_CSV_TITLE>",$).replace("<DOWNLOAD_CSV_TITLE>",Z);let pt=0;ve.querySelectorAll("th").forEach(dt=>{dt.classList.contains("table-controls")||(dt.classList.add("table-sort-btn"),dt.setAttribute("data-col-index",String(pt++)))})}}))},$i+10),[he,z,$,Z,u]);(0,Ee.useEffect)(()=>{if(!k&&G.current){let ve=new MutationObserver(pe);return ve.observe(G.current,{childList:!0,subtree:!0}),pe(),()=>ve.disconnect()}},[p,k,pe]);let _e=(0,Ee.useMemo)(()=>l?l(t):null,[l,t]),Ce=(0,Ee.useMemo)(()=>{let ve=s?s(t,{isLast:a}):null,$e=d?.find(pt=>pt.modelId===t?.modelId);return Ee.default.createElement(Ee.default.Fragment,null,Ee.default.createElement(vt.Group,{align:"center",p:"0"},Ee.default.createElement(vt.Group,{gap:"sm",wrap:"nowrap",p:"0"},Ee.default.createElement(vt.Avatar,{color:"gray",radius:"xl",size:"md",src:le?t?.user?.avatarUrl:void 0},le?Ee.default.createElement(Ar.IconUser,null):$e?Ee.default.createElement(Ja,{apiProvider:$e.apiProvider,provider:$e.provider}):Ee.default.createElement(Ar.IconRobot,null)),Ee.default.createElement(vt.Text,{size:"sm",fw:500,c:le?"blue":"teal"},De),Ee.default.createElement(vt.Text,{size:"sm",c:"dimmed"},oe)),Ee.default.createElement(vt.Group,{p:"0"},Y&&Ee.default.createElement(vi,{status:Y}),W&&Y!=="reasoning"&&Ee.default.createElement(vt.Text,{size:"sm",c:"dimmed"},W))),Ee.default.createElement(vt.Box,{className:["katechat-message-content",k?"streaming":""].join(" ")},Ee.default.createElement(Qi,{status:Y,content:R,statusInfo:W,streaming:k}),I?I.map((pt,dt)=>Ee.default.createElement("div",{key:dt,dangerouslySetInnerHTML:{__html:pt}})):Ee.default.createElement("div",null,R),Ee.default.createElement(vt.Box,{className:"katechat-message-footer"},Ee.default.createElement(ns,{messageId:E,messageIndex:n}),_e&&Ee.default.createElement(Zs,{messageId:E,messageIndex:n}),ve),_e&&Ee.default.createElement(vt.Box,{className:"katechat-message-content-details"},_e)))},[p,De,oe,R,I,E,h,C,d,n,Q,_e,k,ae.language]),[ke,Pe]=Ee.default.useState(0),[We,je]=Ee.default.useState("idle"),[Qe,ct]=Ee.default.useState(!1);(0,Ee.useEffect)(()=>{if(!U||U.length===0)return;let ve=U.findIndex($e=>$e.streaming);ve>=0&&Pe(ve)},[U]);let Pt=(0,Ee.useMemo)(()=>!U||U.length===0?[]:U.map(ve=>Ee.default.createElement(js,{key:ve.id,message:ve,parentIndex:n,index:ke,models:d,plugins:s?.(ve),messageDetailsLoader:l})),[U,d,n,ae.language]),Bt=(0,Ee.useMemo)(()=>{if(!U||U.length===0)return null;let ve=U.length,$e=Be=>{Be.stopPropagation(),!Qe&&(ct(!0),je("exit-right"),setTimeout(()=>{Pe(Ne=>(Ne-1+ve)%ve),je("enter-left"),setTimeout(()=>{je("idle"),ct(!1)},$i)},$i))},pt=Be=>{Be.stopPropagation(),!Qe&&(ct(!0),je("exit-left"),setTimeout(()=>{Pe(Ne=>(Ne+1)%ve),je("enter-right"),setTimeout(()=>{je("idle"),ct(!1)},$i)},$i))},dt=Pt[ke];return Ee.default.createElement("div",{className:"katechat-message-carousel"},Ee.default.createElement("div",{className:"message-carousel-header"},Ee.default.createElement("div",{className:"message-carousel-controls"},ve>1&&Ee.default.createElement(Ee.default.Fragment,null,Ee.default.createElement(vt.ActionIcon,{onClick:$e,"aria-label":"Previous",radius:"xl",variant:"light"},Ee.default.createElement(Ar.IconChevronLeft,null)),Ee.default.createElement(vt.ActionIcon,{onClick:pt,"aria-label":"Next",radius:"xl",variant:"light"},Ee.default.createElement(Ar.IconChevronRight,null))))),Ee.default.createElement("div",{className:`carousel-message-content animation-${We}`},dt),ve>1&&Ee.default.createElement(vt.Group,{className:"carousel-model-icons"},U.map((Be,Ne)=>{let It=d?.find(gt=>gt.modelId===Be.modelId),Se=Ne===ke;return Ee.default.createElement(vt.Tooltip,{key:Be.id,label:It?.name||ie("AI"),position:"top"},Ee.default.createElement(vt.Box,{key:Be.id,c:Se?void 0:"dimmed",onClick:()=>Pe(Ne)},It?Ee.default.createElement(Ja,{apiProvider:It.apiProvider,provider:It.provider,size:20}):Ee.default.createElement(Ar.IconRobot,{size:20})))})))},[Pt,ae.language,ke,We,Qe]);return Bt?Ee.default.createElement("div",{id:`message-${t.id}`,"data-message-id":t.id,className:["katechat-message",`katechat-message__${p||""}`].join(" "),ref:G},Ee.default.createElement("div",{className:"katechat-message-linked-toggle"},Ee.default.createElement(vt.Switch,{checked:J,onChange:ve=>V(ve.currentTarget.checked),label:ie(J?"Main":"Others"),size:"sm"})),Ee.default.createElement("div",{className:["katechat-message-main",J?"":"hidden"].join(" ")},Ce),Ee.default.createElement("div",{className:["katechat-message-linked",J?"hidden":""].join(" ")},Bt)):Ee.default.createElement("div",{id:`message-${t.id}`,"data-message-id":t.id,className:["katechat-message",`katechat-message__${p||""}`].join(" "),ref:G},Ee.default.createElement("div",{className:"katechat-message-main"},Ce))});Js.displayName="ChatMessage";var ja=Nt(require("react"),1),gv=require("@mantine/core");var p3=({html:e,text:t})=>ja.default.createElement(gv.ScrollArea,{type:"hover",offsetScrollbars:!0,className:["katechat-message-content","katechat-message-preview"].join(" ")},t?ja.default.createElement(ja.default.Fragment,null,e?e.map((n,a)=>ja.default.createElement("div",{key:a,dangerouslySetInnerHTML:{__html:n}})):ja.default.createElement("div",null,t)):"...");var Lt=Nt(require("react"),1),Vn=require("@mantine/core"),Ev=require("@tabler/icons-react");var or=Nt(require("react"),1),Qt=require("@tabler/icons-react"),Ja=({apiProvider:e,provider:t,size:n=24})=>{switch(e){case"OPEN_AI":return or.default.createElement(Qt.IconBrandOpenai,{size:n});case"AWS_BEDROCK":switch(t?.toLowerCase()){case"amazon":return or.default.createElement(Qt.IconBrandAws,{size:n});case"anthropic":return or.default.createElement(Qt.IconAi,{size:n});case"mistral ai":return or.default.createElement(Qt.IconBrandMedium,{size:n});case"meta":return or.default.createElement(Qt.IconBrandMeta,{size:n});default:return or.default.createElement(Qt.IconBrandAws,{size:n})}case"YANDEX_AI":return or.default.createElement(Qt.IconBrandYandex,{size:n});case"GOOGLE_VERTEX_AI":return or.default.createElement(Qt.IconBrandGoogle,{size:n});default:return or.default.createElement(Qt.IconMessageChatbot,{size:n})}};var js=({message:e,parentIndex:t,index:n,plugins:a,models:o,messageDetailsLoader:s})=>{let l=(0,Lt.useMemo)(()=>o?.find(u=>u.modelId===e.modelId),[o,e.modelId]),d=(0,Lt.useMemo)(()=>s?.(e)||null,[s,e]);return Lt.default.createElement(Vn.Box,{key:e.id,"data-linked-message-id":e.id},Lt.default.createElement(Vn.Group,{align:"center",pt:"sm"},Lt.default.createElement(Vn.Avatar,{radius:"xl",size:"md"},l?Lt.default.createElement(Ja,{apiProvider:l.apiProvider,provider:l.provider}):Lt.default.createElement(Ev.IconRobot,null)),Lt.default.createElement(Vn.Group,{gap:"xs"},Lt.default.createElement(Vn.Text,{size:"sm",fw:500,c:"teal"},e.modelName),e.status&&Lt.default.createElement(vi,{status:e.status}),e.statusInfo&&e.status!=="reasoning"&&Lt.default.createElement(Vn.Text,{size:"xs",c:"dimmed"},e.statusInfo))),Lt.default.createElement("div",{className:"katechat-message-content"},Lt.default.createElement(Qi,{status:e.status,content:e.content,statusInfo:e.statusInfo,streaming:e.streaming||!1}),e.html?e.html.map((u,p)=>Lt.default.createElement("div",{key:p,dangerouslySetInnerHTML:{__html:u}})):Lt.default.createElement("div",null,e.content),Lt.default.createElement("div",{className:"katechat-message-footer"},Lt.default.createElement(ns,{messageId:e.id,messageIndex:t,linkedMessageIndex:n}),d&&Lt.default.createElement(Zs,{messageId:e.id,messageIndex:n,linkedMessageIndex:n}),a),d&&Lt.default.createElement(Vn.Box,{className:"katechat-message-content-details"},d)))};js.displayName="LinkedChatMessage";var xe=Nt(require("react"),1),Rt=require("@mantine/core"),Kr=require("@tabler/icons-react"),ba=require("@mantine/notifications");var yt=Nt(require("react"),1),Nr=require("@mantine/core"),Sv=require("@tabler/icons-react");var fv=require("react-i18next");var Xi={dropzone:"_dropzone_16zca_1",dragging:"_dragging_16zca_8",disabled:"_disabled_16zca_12"};var hv=["image/jpeg","image/png","image/webp"],el=({onFilesAdd:e,disabled:t,uploadFormats:n=hv})=>{let[a,o]=(0,yt.useState)(!1),s=(0,yt.useRef)(null),l=(0,yt.useRef)(null),{t:d}=(0,fv.useTranslation)();(0,yt.useEffect)(()=>{let R=I=>{if(!t&&I.clipboardData&&I.clipboardData.items){let A=Array.from(I.clipboardData.items).map(M=>M.getAsFile()).filter(qi);A.length>0&&(I.preventDefault(),I.stopPropagation(),e(A))}};return document.addEventListener("paste",R),()=>{document.removeEventListener("paste",R)}},[e,t]);let u=(0,yt.useCallback)(R=>{R.preventDefault(),R.stopPropagation(),o(!0)},[]),p=(0,yt.useCallback)(R=>{R.preventDefault(),R.stopPropagation(),o(!1)},[]),E=(0,yt.useCallback)(R=>{if(R.preventDefault(),R.stopPropagation(),o(!1),t)return;let I=R.dataTransfer.files&&R.dataTransfer.files.length>0?Array.from(R.dataTransfer.files).filter(A=>A.size>0):[];e(I)},[e]),h=(0,yt.useCallback)(R=>{if(R.target.files&&R.target.files.length>0){let I=Array.from(R.target.files).filter(A=>A.size>0);I.length&&e(I),l.current&&(l.current.value="")}},[e]),C=()=>{t||l.current?.click()};return yt.default.createElement(yt.default.Fragment,null,yt.default.createElement(Nr.Box,{ref:s,className:`drop-zone ${Xi.dropzone} ${a?Xi.dragging:""} ${t?Xi.disabled:""}`,onDragOver:u,onDragLeave:p,onDrop:E,onClick:C},yt.default.createElement(Nr.Group,{justify:"start",className:"drop-zone-control",gap:"xs"},yt.default.createElement(Nr.Tooltip,{label:d("Click or drop an image/document here to upload"),position:"top"},yt.default.createElement(Nr.ActionIcon,{variant:"default",size:"lg"},yt.default.createElement(Sv.IconFileUpload,{size:"24"}))),yt.default.createElement(Nr.Box,{hiddenFrom:"xs",pe:"sm"},d("Upload File")),yt.default.createElement("input",{ref:l,type:"file",multiple:!0,accept:n?.join(","),onChange:h,className:Xi.fileInput,style:{display:"none"},disabled:t}))))};var Ki=Nt(require("react"),1),bv=require("@mantine/core"),Tv=require("@tabler/icons-react");var Zd={overlay:"_overlay_vjudp_1",content:"_content_vjudp_16"};var Cv=require("react-i18next"),g3=({visible:e,message:t,onDragOver:n,onDragLeave:a,onDrop:o})=>{let{t:s}=(0,Cv.useTranslation)();return e?Ki.default.createElement("div",{className:Zd.overlay,onDragOver:n,onDragLeave:a,onDrop:o},Ki.default.createElement("div",{className:Zd.content},Ki.default.createElement(Tv.IconFileUpload,{size:48,color:"var(--mantine-color-blue-4)"}),Ki.default.createElement(bv.Text,{size:"lg",fw:500,c:"blue.4"},t||s("Drop files here to upload")))):null};var vv=require("react-i18next");var Zt={chatControlsContainer:"_chatControlsContainer_sg9gr_1",chatInputContainer:"_chatInputContainer_sg9gr_4",chatInputGroup:"_chatInputGroup_sg9gr_7",chatInput:"_chatInput_sg9gr_4",hidden:"_hidden_sg9gr_22",promptMode:"_promptMode_sg9gr_34",promptModeText:"_promptModeText_sg9gr_41",promptFadeInUp:"_promptFadeInUp_sg9gr_1",promptShimmer:"_promptShimmer_sg9gr_1",headerRow:"_headerRow_sg9gr_71",documentsInput:"_documentsInput_sg9gr_89",columned:"_columned_sg9gr_95",imagesList:"_imagesList_sg9gr_103",previewImage:"_previewImage_sg9gr_108",removeButton:"_removeButton_sg9gr_120"};var E3=(0,xe.forwardRef)(({loadCompleted:e=!1,disabled:t=!1,promptMode:n=!1,promptText:a,uploadAllowed:o=!0,streaming:s,setSending:l,previousMessages:d=[],header:u,inputPlugins:p,uploadFormats:E,maxUploadFileSize:h=64*1024*1024,maxImagesCount:C=0,onSendMessage:R,onStopRequest:I,onDocumentsUpload:A},M)=>{let[k,U]=(0,xe.useState)([]),[Y,W]=(0,xe.useState)(""),[G,Q]=(0,xe.useState)(0),[J,V]=(0,xe.useState)(!1),ie=(0,xe.useRef)(null),{t:ae}=(0,vv.useTranslation)();(0,xe.useImperativeHandle)(M,()=>({handleAddFiles:$=>he($)})),(0,xe.useEffect)(()=>{ie.current?.focus()},[e,t]),(0,xe.useEffect)(()=>{Q(d?.length?d.length:0)},[e,d]);let oe=async()=>{if(!(!Y?.trim()&&!k.length)){l(!0);try{W(""),U([]),await R(Y,k)}catch($){ba.notifications.show({title:"Error",message:$ instanceof Error?$.message:ae("Failed to send message"),color:"red"})}finally{l(!1)}}},le=(0,xe.useCallback)($=>{let Z=!Y?.trim();if($.key==="Enter"&&!$.shiftKey&&!$.altKey)$.preventDefault(),oe(),V(!1);else if($.key==="ArrowUp"&&(Z||J)){let te=Math.max(0,G-1);W(d[te]),Q(te),V(!0)}else if($.key==="ArrowDown"&&(Z||J)){let te=Math.min(d.length-1,G+1);W(d[te]),Q(te),V(!0)}else V(!1)},[oe,Y,d,G,J]),De=(0,xe.useCallback)($=>{W($.currentTarget.value)},[]),fe=(0,xe.useMemo)(()=>t||s||!Y?.trim()&&!k.length,[Y,k,s,t]),he=(0,xe.useCallback)($=>{let Z=$.filter(_e=>_e.size<h);Z.length<$.length&&ba.notifications.show({title:ae("Warning"),message:ae("Some files are too large and were not added (max size: {{size}} MB)",{size:h/(1024*1024)}),color:"yellow"});let te=Z.filter(_e=>_e.type?.startsWith("image/")),pe=Z.filter(_e=>!_e.type?.startsWith("image/"));te.length&&C<=0&&(ba.notifications.show({title:ae("Warning"),message:ae("Image uploads are not allowed in this chat."),color:"yellow"}),te=[]),te.length+k.length>C&&(ba.notifications.show({title:ae("Warning"),message:ae("You can only add up to {{count}} images at a time",{count:C}),color:"yellow"}),te=te.slice(0,C-k.length)),te.length&&Promise.all(te.map(_e=>new Promise((Ce,ke)=>{let Pe=new FileReader;Pe.onload=We=>{if(We.target?.result){let je=We.target.result,Qe=new Image;Qe.src=je,Qe.onload=()=>Ce({fileName:_e.name,mimeType:_e.type,bytesBase64:je,width:Qe.width,height:Qe.height}),Qe.onerror=ct=>ke(ct)}else ke(new Error(ae("Failed to read file: {{fileName}}",{fileName:_e.name})))},Pe.onerror=We=>{ke(new Error(ae("Failed to read file: {{fileName}}, error: {{error}}",{fileName:_e.name,error:We})))},Pe.readAsDataURL(_e)}))).then(_e=>{U(Ce=>[...Ce,..._e])}).catch(_e=>{ba.notifications.show({title:ae("Error"),message:_e.message||ae("Failed to read image files"),color:"red"})}),pe.length&&A?A(pe):pe.length&&ba.notifications.show({title:ae("Warning"),message:ae("Document upload is not available in this chat."),color:"orange"})},[k,A,C,h]),z=$=>Z=>{Z.stopPropagation(),U(te=>te.filter(pe=>pe.fileName!==$))};return xe.default.createElement("div",{className:[Zt.chatControlsContainer,n?Zt.promptMode:"",e?"":Zt.hidden].join(" ")},n?xe.default.createElement(Rt.Stack,{align:"center",justify:"center",gap:"md",mb:"lg"},xe.default.createElement(Rt.Text,{c:"dimmed",size:"lg",ta:"center",className:Zt.promptModeText},a||ae("Start the conversation by sending a message"))):null,xe.default.createElement("div",{className:Zt.chatControls},u&&xe.default.createElement(Rt.Group,{align:"center",gap:"xs",className:Zt.headerRow},u),xe.default.createElement("div",{className:[Zt.chatInputContainer,k.length?Zt.columned:""].join(" ")},o&&xe.default.createElement("div",{className:Zt.documentsInput},xe.default.createElement(Rt.Group,{visibleFrom:"xs",gap:"xs"},xe.default.createElement(el,{onFilesAdd:he,uploadFormats:E}),p),k?.length>0&&xe.default.createElement("div",{className:Zt.imagesList},k.map(($,Z)=>xe.default.createElement("div",{key:$.fileName,className:Zt.previewImage},xe.default.createElement("img",{src:$.bytesBase64,alt:$.fileName}),xe.default.createElement(Rt.ActionIcon,{className:Zt.removeButton,color:"red.9",size:"xs",onClick:z($.fileName)},xe.default.createElement(Kr.IconX,{size:16})))))),xe.default.createElement("div",{className:Zt.chatInputGroup},o&&xe.default.createElement(Rt.Menu,{shadow:"md",width:"content"},xe.default.createElement(Rt.Menu.Target,null,xe.default.createElement(Rt.ActionIcon,{size:"lg",variant:"subtle",hiddenFrom:"xs"},xe.default.createElement(Rt.Tooltip,{label:ae("More..."),position:"right",withArrow:!0},xe.default.createElement(Kr.IconCirclePlus,{size:"24"})))),xe.default.createElement(Rt.Menu.Dropdown,null,xe.default.createElement(el,{onFilesAdd:he,uploadFormats:E}),p)),xe.default.createElement(Rt.Textarea,{ref:ie,className:Zt.chatInput,placeholder:ae("Type your message..."),value:Y||"",autosize:!0,minRows:1,maxRows:7,onChange:De,onKeyDown:le,disabled:t}),I&&s?xe.default.createElement(Rt.Button,{onClick:I,disabled:t},xe.default.createElement(Kr.IconPlayerStopFilled,{size:24})," ",xe.default.createElement(Rt.Text,{visibleFrom:"md"},ae("Stop"))):xe.default.createElement(Rt.Button,{onClick:oe,disabled:fe,className:I&&s?Zt.hidden:"",radius:"md"},xe.default.createElement(Kr.IconSend,{size:24})," ",xe.default.createElement(Rt.Text,{visibleFrom:"md",ml:"xs"},ae("Send")))))))});var Ot=Nt(require("react"),1),kv=require("@mantine/core"),rl=require("@mantine/notifications");var Pv=require("react-i18next");var Yt=Nt(require("react"),1),Wt=require("@mantine/core"),Dv=require("@mantine/hooks"),wv=require("@tabler/icons-react");var Jd=Nt(require("i18next"),1),yv=require("react-i18next"),Ov=Nt(require("i18next-browser-languagedetector"),1),xv=Nt(Nc(),1);var Rv={AI:"AI","Are you sure you want to delete this item? This action cannot be undone.":"Are you sure you want to delete this item? This action cannot be undone.",Cancel:"Cancel",Cancelled:"Cancelled","Click or drop an image/document here to upload":"Click or drop an image/document here to upload","Code block is empty":"Code block is empty","Code Interpreter":"Code Interpreter",Completed:"Completed","Confirm Deletion":"Confirm Deletion",Copy:"Copy","Copy CSV":"Copy CSV","Copy message":"Copy message",Delete:"Delete",Details:"Details","Document upload is not available in this chat.":"Document upload is not available in this chat.",Download:"Download","Download CSV":"Download CSV","Drop files here to upload":"Drop files here to upload",Error:"Error","Failed to copy message":"Failed to copy message","Failed to read file: {{fileName}}":"Failed to read file: {{fileName}}","Failed to read file: {{fileName}}, error: {{error}}":"Failed to read file: {{fileName}}, error: {{error}}","Failed to read image files":"Failed to read image files","Failed to send message":"Failed to send message","Image Preview":"Image Preview","Image uploads are not allowed in this chat.":"Image uploads are not allowed in this chat.","In Progress":"In Progress",language:{de:"Deutsch",en:"English",label:"Language",ru:"\u0420\u0443\u0441\u0441\u043A\u0438\u0439",zh:"\u4E2D\u6587"},"Language is not specified for this code block":"Language is not specified for this code block",Main:"Main","More...":"More...","Open image source":"Open image source",Others:"Others","RAG Search":"RAG Search",Reasoning:"Reasoning",Send:"Send","Some files are too large and were not added (max size: {{size}} MB)":"Some files are too large and were not added (max size: {{size}} MB)",source:"source","Start the conversation by sending a message":"Start the conversation by sending a message",Started:"Started",Stop:"Stop","Tool Call":"Tool Call","Tool Call Completed":"Tool Call Completed","Type your message...":"Type your message...","Upload File":"Upload File",Warning:"Warning","Web Search":"Web Search",You:"You","You can only add up to {{count}} images at a time":"You can only add up to {{count}} images at a time"};var Iv={AI:"KI","Are you sure you want to delete this item? This action cannot be undone.":"M\xF6chten Sie dieses Element wirklich l\xF6schen? Diese Aktion kann nicht r\xFCckg\xE4ngig gemacht werden.",Cancel:"Abbrechen",Cancelled:"Abgebrochen","Click or drop an image/document here to upload":"Klicken oder Bild/Dokument hierher ziehen zum Hochladen","Code block is empty":"Codeblock ist leer","Code Interpreter":"Code-Interpreter",Completed:"Abgeschlossen","Confirm Deletion":"L\xF6schen best\xE4tigen",Copy:"Kopieren","Copy CSV":"CSV kopieren","Copy message":"Nachricht kopieren",Delete:"L\xF6schen",Details:"Details","Document upload is not available in this chat.":"Dokumenten-Upload ist in diesem Chat nicht verf\xFCgbar.",Download:"Herunterladen","Download CSV":"CSV herunterladen","Drop files here to upload":"Dateien zum Hochladen hier ablegen",Error:"Fehler","Failed to copy message":"Nachricht konnte nicht kopiert werden","Failed to read file: {{fileName}}":"Datei konnte nicht gelesen werden: {{fileName}}","Failed to read file: {{fileName}}, error: {{error}}":"Datei konnte nicht gelesen werden: {{fileName}}, Fehler: {{error}}","Failed to read image files":"Bilddateien konnten nicht gelesen werden","Failed to send message":"Nachricht konnte nicht gesendet werden","Image Preview":"Bildvorschau","Image uploads are not allowed in this chat.":"Bild-Uploads sind in diesem Chat nicht erlaubt.","In Progress":"In Bearbeitung",language:{de:"Deutsch",en:"English",label:"Sprache",ru:"\u0420\u0443\u0441\u0441\u043A\u0438\u0439",zh:"\u4E2D\u6587"},"Language is not specified for this code block":"F\xFCr diesen Codeblock ist keine Sprache angegeben",Main:"Haupt","More...":"Mehr...","Open image source":"Bildquelle \xF6ffnen",Others:"Andere","RAG Search":"RAG-Suche",Reasoning:"Argumentation",Send:"Senden","Some files are too large and were not added (max size: {{size}} MB)":"Einige Dateien sind zu gro\xDF und wurden nicht hinzugef\xFCgt (max. Gr\xF6\xDFe: {{size}} MB)",source:"Quelle","Start the conversation by sending a message":"Beginnen Sie das Gespr\xE4ch, indem Sie eine Nachricht senden",Started:"Gestartet",Stop:"Stopp","Tool Call":"Tool-Aufruf","Tool Call Completed":"Tool-Aufruf abgeschlossen","Type your message...":"Nachricht eingeben...","Upload File":"Datei hochladen",Warning:"Warnung","Web Search":"Websuche",You:"Sie","You can only add up to {{count}} images at a time":"Sie k\xF6nnen nur bis zu {{count}} Bilder gleichzeitig hinzuf\xFCgen"};var Av={AI:"\u0418\u0418","Are you sure you want to delete this item? This action cannot be undone.":"\u0412\u044B \u0443\u0432\u0435\u0440\u0435\u043D\u044B, \u0447\u0442\u043E \u0445\u043E\u0442\u0438\u0442\u0435 \u0443\u0434\u0430\u043B\u0438\u0442\u044C \u044D\u0442\u043E\u0442 \u044D\u043B\u0435\u043C\u0435\u043D\u0442? \u042D\u0442\u043E \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u043D\u0435\u043B\u044C\u0437\u044F \u043E\u0442\u043C\u0435\u043D\u0438\u0442\u044C.",Cancel:"\u041E\u0442\u043C\u0435\u043D\u0430",Cancelled:"\u041E\u0442\u043C\u0435\u043D\u0435\u043D\u043E","Click or drop an image/document here to upload":"\u041D\u0430\u0436\u043C\u0438\u0442\u0435 \u0438\u043B\u0438 \u043F\u0435\u0440\u0435\u0442\u0430\u0449\u0438\u0442\u0435 \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435/\u0434\u043E\u043A\u0443\u043C\u0435\u043D\u0442 \u0441\u044E\u0434\u0430 \u0434\u043B\u044F \u0437\u0430\u0433\u0440\u0443\u0437\u043A\u0438","Code block is empty":"\u0411\u043B\u043E\u043A \u043A\u043E\u0434\u0430 \u043F\u0443\u0441\u0442","Code Interpreter":"\u0418\u043D\u0442\u0435\u0440\u043F\u0440\u0435\u0442\u0430\u0442\u043E\u0440 \u043A\u043E\u0434\u0430",Completed:"\u0417\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u043E","Confirm Deletion":"\u041F\u043E\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u044C \u0443\u0434\u0430\u043B\u0435\u043D\u0438\u0435",Copy:"\u041A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C","Copy CSV":"\u041A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C CSV","Copy message":"\u041A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435",Delete:"\u0423\u0434\u0430\u043B\u0438\u0442\u044C",Details:"\u041F\u043E\u0434\u0440\u043E\u0431\u043D\u043E\u0441\u0442\u0438","Document upload is not available in this chat.":"\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430 \u0434\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u043E\u0432 \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u043D\u0430 \u0432 \u044D\u0442\u043E\u043C \u0447\u0430\u0442\u0435.",Download:"\u0421\u043A\u0430\u0447\u0430\u0442\u044C","Download CSV":"\u0421\u043A\u0430\u0447\u0430\u0442\u044C CSV","Drop files here to upload":"\u041F\u0435\u0440\u0435\u0442\u0430\u0449\u0438\u0442\u0435 \u0444\u0430\u0439\u043B\u044B \u0441\u044E\u0434\u0430 \u0434\u043B\u044F \u0437\u0430\u0433\u0440\u0443\u0437\u043A\u0438",Error:"\u041E\u0448\u0438\u0431\u043A\u0430","Failed to copy message":"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u0441\u043A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435","Failed to read file: {{fileName}}":"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043F\u0440\u043E\u0447\u0438\u0442\u0430\u0442\u044C \u0444\u0430\u0439\u043B: {{fileName}}","Failed to read file: {{fileName}}, error: {{error}}":"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043F\u0440\u043E\u0447\u0438\u0442\u0430\u0442\u044C \u0444\u0430\u0439\u043B: {{fileName}}, \u043E\u0448\u0438\u0431\u043A\u0430: {{error}}","Failed to read image files":"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043F\u0440\u043E\u0447\u0438\u0442\u0430\u0442\u044C \u0444\u0430\u0439\u043B\u044B \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0439","Failed to send message":"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043E\u0442\u043F\u0440\u0430\u0432\u0438\u0442\u044C \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435","Image Preview":"\u041F\u0440\u0435\u0434\u043F\u0440\u043E\u0441\u043C\u043E\u0442\u0440 \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u044F","Image uploads are not allowed in this chat.":"\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430 \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0439 \u0432 \u044D\u0442\u043E\u043C \u0447\u0430\u0442\u0435 \u0437\u0430\u043F\u0440\u0435\u0449\u0435\u043D\u0430.","In Progress":"\u0412 \u043F\u0440\u043E\u0446\u0435\u0441\u0441\u0435",language:{de:"Deutsch",en:"English",label:"\u042F\u0437\u044B\u043A",ru:"\u0420\u0443\u0441\u0441\u043A\u0438\u0439",zh:"\u4E2D\u6587"},"Language is not specified for this code block":"\u042F\u0437\u044B\u043A \u043D\u0435 \u0443\u043A\u0430\u0437\u0430\u043D \u0434\u043B\u044F \u044D\u0442\u043E\u0433\u043E \u0431\u043B\u043E\u043A\u0430 \u043A\u043E\u0434\u0430",Main:"\u041E\u0441\u043D\u043E\u0432\u043D\u043E\u0439","More...":"\u0415\u0449\u0451...","Open image source":"\u041E\u0442\u043A\u0440\u044B\u0442\u044C \u0438\u0441\u0442\u043E\u0447\u043D\u0438\u043A \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u044F",Others:"\u0414\u0440\u0443\u0433\u0438\u0435","RAG Search":"RAG-\u043F\u043E\u0438\u0441\u043A",Reasoning:"\u0420\u0430\u0441\u0441\u0443\u0436\u0434\u0435\u043D\u0438\u0435",Send:"\u041E\u0442\u043F\u0440\u0430\u0432\u0438\u0442\u044C","Some files are too large and were not added (max size: {{size}} MB)":"\u041D\u0435\u043A\u043E\u0442\u043E\u0440\u044B\u0435 \u0444\u0430\u0439\u043B\u044B \u0441\u043B\u0438\u0448\u043A\u043E\u043C \u0431\u043E\u043B\u044C\u0448\u0438\u0435 \u0438 \u043D\u0435 \u0431\u044B\u043B\u0438 \u0434\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u044B (\u043C\u0430\u043A\u0441. \u0440\u0430\u0437\u043C\u0435\u0440: {{size}} \u041C\u0411)",source:"\u0438\u0441\u0442\u043E\u0447\u043D\u0438\u043A","Start the conversation by sending a message":"\u041D\u0430\u0447\u043D\u0438\u0442\u0435 \u0434\u0438\u0430\u043B\u043E\u0433, \u043E\u0442\u043F\u0440\u0430\u0432\u0438\u0432 \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435",Started:"\u041D\u0430\u0447\u0430\u0442\u043E",Stop:"\u0421\u0442\u043E\u043F","Tool Call":"\u0412\u044B\u0437\u043E\u0432 \u0438\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u0430","Tool Call Completed":"\u0412\u044B\u0437\u043E\u0432 \u0438\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u0430 \u0437\u0430\u0432\u0435\u0440\u0448\u0451\u043D","Type your message...":"\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435...","Upload File":"\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u0444\u0430\u0439\u043B",Warning:"\u041F\u0440\u0435\u0434\u0443\u043F\u0440\u0435\u0436\u0434\u0435\u043D\u0438\u0435","Web Search":"\u0412\u0435\u0431-\u043F\u043E\u0438\u0441\u043A",You:"\u0412\u044B","You can only add up to {{count}} images at a time":"\u0412\u044B \u043C\u043E\u0436\u0435\u0442\u0435 \u0434\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u043D\u0435 \u0431\u043E\u043B\u0435\u0435 {{count}} \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0439 \u0437\u0430 \u0440\u0430\u0437"};var Nv={AI:"AI","Are you sure you want to delete this item? This action cannot be undone.":"\u60A8\u786E\u5B9A\u8981\u5220\u9664\u6B64\u9879\u5417\uFF1F\u6B64\u64CD\u4F5C\u65E0\u6CD5\u64A4\u6D88\u3002",Cancel:"\u53D6\u6D88",Cancelled:"\u5DF2\u53D6\u6D88","Click or drop an image/document here to upload":"\u70B9\u51FB\u6216\u62D6\u653E\u56FE\u7247/\u6587\u6863\u5230\u6B64\u5904\u4E0A\u4F20","Code block is empty":"\u4EE3\u7801\u5757\u4E3A\u7A7A","Code Interpreter":"\u4EE3\u7801\u89E3\u91CA\u5668",Completed:"\u5DF2\u5B8C\u6210","Confirm Deletion":"\u786E\u8BA4\u5220\u9664",Copy:"\u590D\u5236","Copy CSV":"\u590D\u5236 CSV","Copy message":"\u590D\u5236\u6D88\u606F",Delete:"\u5220\u9664",Details:"\u8BE6\u60C5","Document upload is not available in this chat.":"\u6B64\u804A\u5929\u4E0D\u652F\u6301\u6587\u6863\u4E0A\u4F20\u3002",Download:"\u4E0B\u8F7D","Download CSV":"\u4E0B\u8F7D CSV","Drop files here to upload":"\u5C06\u6587\u4EF6\u62D6\u653E\u5230\u6B64\u5904\u4E0A\u4F20",Error:"\u9519\u8BEF","Failed to copy message":"\u590D\u5236\u6D88\u606F\u5931\u8D25","Failed to read file: {{fileName}}":"\u8BFB\u53D6\u6587\u4EF6\u5931\u8D25\uFF1A{{fileName}}","Failed to read file: {{fileName}}, error: {{error}}":"\u8BFB\u53D6\u6587\u4EF6\u5931\u8D25\uFF1A{{fileName}}\uFF0C\u9519\u8BEF\uFF1A{{error}}","Failed to read image files":"\u8BFB\u53D6\u56FE\u7247\u6587\u4EF6\u5931\u8D25","Failed to send message":"\u53D1\u9001\u6D88\u606F\u5931\u8D25","Image Preview":"\u56FE\u7247\u9884\u89C8","Image uploads are not allowed in this chat.":"\u6B64\u804A\u5929\u4E0D\u5141\u8BB8\u4E0A\u4F20\u56FE\u7247\u3002","In Progress":"\u8FDB\u884C\u4E2D",language:{de:"Deutsch",en:"English",label:"\u8BED\u8A00",ru:"\u0420\u0443\u0441\u0441\u043A\u0438\u0439",zh:"\u4E2D\u6587"},"Language is not specified for this code block":"\u6B64\u4EE3\u7801\u5757\u672A\u6307\u5B9A\u8BED\u8A00",Main:"\u4E3B\u8981","More...":"\u66F4\u591A...","Open image source":"\u6253\u5F00\u56FE\u7247\u6765\u6E90",Others:"\u5176\u4ED6","RAG Search":"RAG \u641C\u7D22",Reasoning:"\u63A8\u7406",Send:"\u53D1\u9001","Some files are too large and were not added (max size: {{size}} MB)":"\u90E8\u5206\u6587\u4EF6\u8FC7\u5927\uFF0C\u672A\u88AB\u6DFB\u52A0\uFF08\u6700\u5927\uFF1A{{size}} MB\uFF09",source:"\u6765\u6E90","Start the conversation by sending a message":"\u53D1\u9001\u6D88\u606F\u5F00\u59CB\u5BF9\u8BDD",Started:"\u5DF2\u5F00\u59CB",Stop:"\u505C\u6B62","Tool Call":"\u5DE5\u5177\u8C03\u7528","Tool Call Completed":"\u5DE5\u5177\u8C03\u7528\u5B8C\u6210","Type your message...":"\u8F93\u5165\u6D88\u606F...","Upload File":"\u4E0A\u4F20\u6587\u4EF6",Warning:"\u8B66\u544A","Web Search":"\u7F51\u7EDC\u641C\u7D22",You:"\u4F60","You can only add up to {{count}} images at a time":"\u4E00\u6B21\u6700\u591A\u53EA\u80FD\u6DFB\u52A0 {{count}} \u5F20\u56FE\u7247"};var tl=["en","de","ru","zh"],nl="ui-language";function T3(e={}){return(0,xv.merge)({en:{translation:Rv},de:{translation:Iv},ru:{translation:Av},zh:{translation:Nv}},e)}async function C3({lookupLocalStorage:e=nl,supportedLngs:t=tl,fallbackLng:n="en",resources:a={}}={}){return Jd.default.use(Ov.default).use(yv.initReactI18next).init({resources:T3(a),fallbackLng:n,supportedLngs:t,interpolation:{escapeValue:!1},detection:{order:["localStorage","navigator","htmlTag"],lookupLocalStorage:e,caches:["localStorage"]}})}function jd(e){return(typeof e=="string"?new Date(e):e).toLocaleDateString(Jd.default.language||"ru-RU",{year:"numeric",month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})}var Mv=require("react-i18next"),eu=({fileName:e,fileUrl:t,mimeType:n,createdAt:a,onOpenSource:o,sourceTitle:s,onClose:l})=>{let[d,{open:u,close:p}]=(0,Dv.useDisclosure)(!1);(0,Yt.useEffect)(()=>{t&&u()},[t,u]);let E=(0,Yt.useCallback)(()=>{l(),p()},[l,p]),h=(0,Yt.useCallback)(()=>{o?.(),E()},[o,E]),{t:C}=(0,Mv.useTranslation)();return Yt.default.createElement(Wt.Drawer,{size:"xl",opened:d,onClose:E,title:C("Image Preview")},t&&Yt.default.createElement(Wt.Stack,{gap:"md"},Yt.default.createElement(Wt.Image,{src:t,alt:e,fit:"contain",mah:"70vh"}),Yt.default.createElement(Wt.Group,{justify:"space-between"},Yt.default.createElement("div",null,Yt.default.createElement(Wt.Text,{size:"sm",fw:500},e),Yt.default.createElement(Wt.Text,{size:"xs",c:"dimmed"},a?jd(a)+" \u2022":""," ",n)),o&&Yt.default.createElement(Wt.Group,{gap:"xs"},Yt.default.createElement(Wt.Tooltip,{label:C("Open image source")},Yt.default.createElement(Wt.ActionIcon,{variant:"light",onClick:h},Yt.default.createElement(wv.IconExternalLink,{size:16}))))),o&&Yt.default.createElement(Wt.Text,{size:"sm",c:"dimmed"},"From:"," ",Yt.default.createElement(Wt.Text,{span:!0,c:"blue",style:{cursor:"pointer"},onClick:h},s||C("source")))))};var Lv=e=>[...Array.from(e.tHead?.querySelectorAll("tr")??[]),...Array.from(e.tBodies[0]?.querySelectorAll("tr")??[])].map(n=>Array.from(n.querySelectorAll("th, td")).map(a=>`"${(a.textContent||"").replace(/"/g,'""')}"`).join(",")).join(`
|
|
451
451
|
`),tu=Ot.default.memo(({messages:e=[],onMessageDeleted:t,onAddMessage:n,plugins:a=[],detailsPlugins:o=[],codePlugins:s,models:l=[]})=>{let{t:d}=(0,Pv.useTranslation)(),u=(0,Ot.useRef)(null),[p,E]=(0,Ot.useState)(),[h,C]=(0,Ot.useState)(),[R,I]=(0,Ot.useState)(new Set),A=(0,Ot.useCallback)(G=>I(Q=>new Set(Q).add(G)),[]),M=(0,Ot.useCallback)(G=>{I(Q=>{let J=new Set(Q);return J.delete(G),J})},[]),k=()=>{E(void 0),C(void 0)},U=(0,Ot.useCallback)(G=>{if(!G.target)return;let Q=["code-run-btn","code-copy-btn","code-download-btn","code-toggle-all","copy-message-btn","message-details-btn","code-header","message-image","table-sort-btn","table-copy-csv-btn","table-download-csv-btn"],J=G.target;for(let oe of Q){let le=J.closest(`.${oe}`);if(le){J=le;break}}if(!J)return;let V=J,ie=oe=>{let le=oe?.parentElement;le.classList.contains("collapsed")?(oe.classList.remove("collapsed"),le&&le.classList.remove("collapsed")):(oe.classList.add("collapsed"),le&&le.classList.add("collapsed"))},ae=oe=>{let le=(oe?.parentElement?.parentElement).querySelector(".katechat-message-content-details");le&&(le.classList.toggle("expanded"),oe.classList.toggle("expanded"))};if(V.classList.contains("code-run-btn")||V.classList.contains("code-download-btn")){let oe=V.dataset.lang,le=V.classList.contains("code-run-btn"),fe=V.closest(".code-header")?.parentElement?.querySelector(".code-data");if(fe){let he=decodeURIComponent(fe.dataset.code||"").trim();if(!he)return rl.notifications.show({title:d("Error"),message:d("Code block is empty"),color:"red"});if(le){if(!oe)return rl.notifications.show({title:d("Error"),message:d("Language is not specified for this code block"),color:"red"});let z=V.closest('[id^="message-"]'),$=z?.id.replace("message-",""),Z=$?e.find(Qe=>Qe.id===$):void 0,te=V.closest("[data-linked-message-id]"),pe=te?.dataset.linkedMessageId,_e=pe?Z?.linkedMessages?.find(Qe=>Qe.id===pe):Z,ke=(te??z)?.querySelectorAll(".code-block"),Pe=V.closest(".code-block"),We=ke&&Pe?Array.from(ke).indexOf(Pe):0,je=_e?{messageId:_e.id,blockIndex:We,messageContent:_e.content}:void 0;s?.[oe]?.execute(he,oe,je)}else{let z=`code.${zd(oe||"txt")}`,$=new Blob([he],{type:"text/plain"}),Z=URL.createObjectURL($),te=document.createElement("a");te.href=Z,te.download=z,te.click(),URL.revokeObjectURL(Z)}}}else if(V.classList.contains("code-copy-btn")){let oe=V.parentElement?.parentElement?.nextElementSibling?.querySelector(".code-data");if(oe){let fe=decodeURIComponent(oe.dataset.code||"").trim();navigator.clipboard.writeText(fe)}let le=V.querySelector(".copy-icon"),De=V.querySelector(".check-icon");le&&De&&(le.style.display="none",De.style.display="block",setTimeout(()=>{le.style.display="block",De.style.display="none"},2e3))}else if(V.classList.contains("code-header"))ie(V);else if(V.classList.contains("code-toggle-all"))u.current?.querySelectorAll(".code-header").forEach(oe=>{ie(oe)});else if(V.classList.contains("message-details-btn"))ae(V);else if(V.classList.contains("copy-message-btn")){if(V.dataset.messageId){let oe=V.dataset.messageIndex,le=V.dataset.messageLinkedIndex,De=V.dataset.messageId,fe=oe!=null?e[Number(oe)]:e.find(Z=>Z.id===De);le!=null&&(fe=fe?.linkedMessages?.[Number(le)]),Hd(fe,"Message should exist to copy");let he=(fe.content||"").trim(),z=fe.html||[];if(z.length&&z[0]){let Z=new Blob([z.join("<br/>")],{type:"text/html"}),te=new Blob([he],{type:"text/plain"});navigator.clipboard.write([new ClipboardItem({[Z.type]:Z,[te.type]:te})]).catch(pe=>rl.notifications.show({title:d("Error"),message:pe.message||d("Failed to copy message"),color:"red"}))}else navigator.clipboard.writeText(he);let $=V.parentElement?.querySelector(".check-icon");$&&(V.style.display="none",$.style.display="inline-block",setTimeout(()=>{V.style.display="inline-block",$.style.display="none"},2e3))}}else if(V.classList.contains("message-image")){let oe=V.dataset.fileName,le=V.src;E(le),C(oe)}else if(V.classList.contains("table-sort-btn")){let oe=parseInt(V.dataset.colIndex||"0"),le=V.closest("table");if(!le)return;let De=le.querySelector("tbody");if(!De)return;let he=V.dataset.sortDir==="asc"?"desc":"asc";le.querySelectorAll("th.table-sort-btn").forEach($=>{delete $.dataset.sortDir,$.classList.remove("sort-asc","sort-desc")}),V.dataset.sortDir=he,V.classList.add(he==="asc"?"sort-asc":"sort-desc");let z=Array.from(De.querySelectorAll("tr"));z.sort(($,Z)=>{let te=$.querySelectorAll("td")[oe]?.textContent||"",pe=Z.querySelectorAll("td")[oe]?.textContent||"",_e=parseFloat(te),Ce=parseFloat(pe);return!isNaN(_e)&&!isNaN(Ce)?he==="asc"?_e-Ce:Ce-_e:he==="asc"?te.localeCompare(pe):pe.localeCompare(te)}),z.forEach($=>De.appendChild($))}else if(V.classList.contains("table-copy-csv-btn")){let oe=V.closest(".message-table");if(!oe)return;navigator.clipboard.writeText(Lv(oe));let le=V.querySelector(".copy-icon"),De=V.querySelector(".check-icon");le&&De&&(le.style.display="none",De.style.display="block",setTimeout(()=>{le.style.display="block",De.style.display="none"},2e3))}else if(V.classList.contains("table-download-csv-btn")){let oe=V.closest(".message-table");if(!oe)return;let le=new Blob([Lv(oe)],{type:"text/csv"}),De=URL.createObjectURL(le),fe=document.createElement("a");fe.href=De,fe.download="table.csv",fe.click(),URL.revokeObjectURL(De)}},[e,s]),Y=(0,Ot.useCallback)((G,{isLast:Q=!1}={})=>Ot.default.createElement(Ot.default.Fragment,null,a.map((J,V)=>Ot.default.createElement(J,{key:V,message:G,isLast:Q,messagesCount:e.length,onAddMessage:n,onAction:A,onActionEnd:M,onMessageDeleted:t,disabled:R.has(G.id)}))),[a,e.length,n,t,R,A,M]),W=(0,Ot.useCallback)(G=>{let Q=o.map(J=>J(G)).filter(qi);return Q.length?Q:null},[o]);return Ot.default.createElement(Ot.default.Fragment,null,Ot.default.createElement(kv.Stack,{gap:"0",ref:u,onClick:U},e.map((G,Q)=>Ot.default.createElement(Js,{key:G.id,message:G,index:Q,isLast:Q===e.length-1,disabled:R.has(G.id),pluginsLoader:Y,messageDetailsLoader:W,models:l,codePlugins:s}))),Ot.default.createElement(eu,{fileName:h??"",fileUrl:p??"",onClose:k}))});var lt=Nt(require("react"),1),il=require("@mantine/core"),Fv=require("@tabler/icons-react");var Zi=require("react");function al(e,t,n=0){let a=(0,Zi.useRef)(null),o=(0,Zi.useRef)(null);return(0,Zi.useEffect)(()=>{a.current?.disconnect();let s=setTimeout(()=>{a.current=new IntersectionObserver(l=>{l[0].isIntersecting&&e()}),o.current&&a.current.observe(o.current)},n);return()=>{clearTimeout(s),a.current?.disconnect()}},[t,e]),o}var yr=Nt(require("react"),1),Bv=require("@mantine/hooks"),nu=(0,yr.createContext)(void 0),v3=({children:e})=>{let[t,n]=(0,Bv.useLocalStorage)({key:"ui-theme",defaultValue:"light"});(0,yr.useEffect)(()=>{if(t==="auto"){let o=window.matchMedia("(prefers-color-scheme: dark)").matches;document.documentElement.dataset.mantine=o?"dark":"light"}else document.documentElement.dataset.mantine=t},[t]);let a=()=>{let o=t==="dark"?"light":"dark";n(o),document.documentElement.dataset.mantine=o};return(0,yr.useEffect)(()=>{if(t==="auto"){let o=window.matchMedia("(prefers-color-scheme: dark)"),s=l=>{document.documentElement.dataset.mantine=l.matches?"dark":"light"};return o.addEventListener("change",s),()=>o.removeEventListener("change",s)}},[t]),yr.default.createElement(nu.Provider,{value:{colorScheme:t,setColorScheme:n,toggleColorScheme:a}},e)},R3=()=>{let e=(0,yr.useContext)(nu);if(!e)throw new Error("useTheme must be used within a ThemeProvider");return e};var sn=require("react");function I3(e){let[t,n]=(0,sn.useState)([]),[a,o]=(0,sn.useState)(!0),[s,l]=(0,sn.useState)(null);(0,sn.useEffect)(()=>{let I=new fa(e);return l(I),()=>{I.close()}},[e]);let d=(0,sn.useCallback)(async()=>{if(s)try{let I=await s.getAllChats();n(I)}catch(I){console.error("Failed to load chats:",I)}finally{o(!1)}},[s]);(0,sn.useEffect)(()=>{d()},[d]);let u=(0,sn.useCallback)(async I=>{qt.ok(s,"Database instance is not available");let A={id:`chat-${Date.now()}`,title:"New Chat",createdAt:new Date().toISOString(),updatedAt:new Date().toISOString()};return s&&(await s.saveChat(A),await d()),A},[s,d]),p=(0,sn.useCallback)(async I=>{qt.ok(s,"Database instance is not available"),await s.saveChat(I),await d()},[s,d]),E=(0,sn.useCallback)(async I=>{qt.ok(s,"Database instance is not available"),await s.deleteChat(I),await d()},[s,d]),h=(0,sn.useCallback)(async(I,A)=>{let M=t.find(k=>k.id===I);M&&(qt.ok(s,"Database instance is not available"),await s.saveChat({...M,title:A,updatedAt:new Date().toISOString()}),await d())},[t,s,d]),C=(0,sn.useCallback)(async I=>{qt.ok(s,"Database instance is not available"),await s.saveMessage(I)},[s]),R=(0,sn.useCallback)(async I=>(qt.ok(s,"Database instance is not available"),s.getMessagesByChatId(I)),[s]);return{chats:t,loading:a,createChat:u,updateChat:p,deleteChat:E,updateChatTitle:h,refreshChats:d,saveMessage:C,getChatMessages:R}}var fn=require("react");function A3(e,t){let[n,a]=(0,fn.useState)([]),[o,s]=(0,fn.useState)(!0),[l,d]=(0,fn.useState)(null);(0,fn.useEffect)(()=>{let I=new fa(t);return d(I),()=>{I.close()}},[t]);let u=(0,fn.useCallback)(async()=>{if(!e){a([]),s(!1);return}try{qt.ok(l,"Database instance is not available");let I=await l.getMessagesByChatId(e);a(I)}catch(I){console.error("Failed to load messages:",I)}finally{s(!1)}},[e,l]);(0,fn.useEffect)(()=>{u()},[u]);let p=(0,fn.useCallback)(async I=>{if(!e)return;qt.ok(l,"Database instance is not available"),await l.saveMessage(I),a(M=>[...M,I]);let A=await l.getChat(e);A&&await l.saveChat({...A,updatedAt:new Date().toISOString()})},[e,l]),E=(0,fn.useCallback)(async I=>{qt.ok(l,"Database instance is not available"),await l.saveMessage(I),a(A=>A.map(M=>M.id===I.id?I:M))},[l]),h=(0,fn.useCallback)(async I=>{qt.ok(l,"Database instance is not available"),await l.deleteMessage(I),a(A=>A.filter(M=>M.id!==I))},[l]),C=(0,fn.useCallback)(async I=>{qt.ok(l,"Database instance is not available"),await l.deleteMessages(I),a(A=>A.filter(M=>!I.includes(M.id)))},[l]),R=(0,fn.useCallback)(async()=>{if(!e)return;let I=n.map(A=>A.id);qt.ok(l,"Database instance is not available"),await l.deleteMessages(I),a([])},[e,n,l]);return{messages:n,loading:o,addMessage:p,updateMessage:E,deleteMessage:h,deleteMessages:C,clearMessages:R,refreshMessages:u}}var ru=lt.default.forwardRef(({messages:e,models:t=[],addChatMessage:n,removeMessages:a,loadMoreMessages:o,plugins:s,detailsPlugins:l,codePlugins:d,streaming:u=!1,loadCompleted:p=!0,loading:E=!1,autoScroll:h=!0,id:C="chat"},R)=>{let[I,A]=(0,lt.useState)(!1),M=(0,lt.useRef)(null),k=(0,lt.useRef)(null),U=(0,lt.useCallback)(()=>{M.current?.scrollTo(0,M.current?.scrollHeight??0)},[M]);(0,lt.useImperativeHandle)(R,()=>({scrollToBottom:U}),[U]);let Y=(0,lt.useCallback)(()=>{I||U()},[U,I]);(0,lt.useEffect)(()=>{if(h)Y();else{let J=M.current;if(J){let{scrollTop:V,scrollHeight:ie,clientHeight:ae}=J;ie-V-ae<2||A(!0)}}},[e,Y,h]);let W=(0,lt.useCallback)(J=>{let{scrollTop:V,scrollHeight:ie,clientHeight:ae}=J.target;k.current&&clearTimeout(k.current),ie-V-ae<2?A(!1):e?.length&&(u?k.current=setTimeout(()=>{A(!0)},100):A(!0))},[e?.length,u]),G=(0,lt.useCallback)(()=>{A(!1),U()},[U]);(0,lt.useEffect)(()=>{p&&(A(!1),setTimeout(U,200))},[p,h]);let Q=al(()=>o?.(),[o],200);return lt.default.createElement("div",{className:["katechat-messages-container",p?"container--load-completed":"",p&&e?.length===0?"container--empty":""].join(" ")},lt.default.createElement("div",{className:"katechat-messages-container-scroller",ref:M,onScroll:W},lt.default.createElement("div",{ref:Q,id:`${C}-first-message`}),E&<.default.createElement(il.Group,{justify:"center",align:"center",py:"xl"},lt.default.createElement(il.Loader,null)),lt.default.createElement("div",{className:"katechat-messages-list"},e&<.default.createElement(tu,{messages:e,onMessageDeleted:a,onAddMessage:n,models:t,plugins:s,detailsPlugins:l,codePlugins:d}))),lt.default.createElement("div",{className:["katechat-anchor-container",I?"container--visible":""].join(" ")},lt.default.createElement("div",{className:"katechat-anchor"},lt.default.createElement(Fv.IconCircleChevronDown,{size:32,color:"teal",onClick:G}))))});ru.displayName="ChatMessagesContainer";var Ta=Nt(require("react"),1),qn=require("@mantine/core"),Uv=require("react-i18next"),N3=({isOpen:e,onClose:t,onConfirm:n,title:a,message:o,confirmLabel:s,cancelLabel:l,isLoading:d=!1})=>{let{t:u}=(0,Uv.useTranslation)();return Ta.default.createElement(qn.Modal,{opened:e,onClose:t,title:a||u("Confirm Deletion"),centered:!0},Ta.default.createElement(qn.Stack,null,Ta.default.createElement(qn.Text,{style:{wordBreak:"break-word"}},o||u("Are you sure you want to delete this item? This action cannot be undone.")),Ta.default.createElement(qn.Group,{mt:"md",justify:"flex-end"},Ta.default.createElement(qn.Button,{variant:"outline",onClick:t,disabled:d},l||u("Cancel")),Ta.default.createElement(qn.Button,{color:"red",onClick:n,loading:d},s||u("Delete")))))};var Zr=Nt(require("react"),1),Or=require("@mantine/core"),Gv=require("@tabler/icons-react"),Yv=require("react-i18next");var y3=({languages:e=tl,size:t=20})=>{let{t:n,i18n:a}=(0,Yv.useTranslation)(),o=s=>{a.changeLanguage(s),localStorage.setItem(nl,s)};return Zr.default.createElement(Or.Menu,{shadow:"md",width:150,position:"bottom-end"},Zr.default.createElement(Or.Menu.Target,null,Zr.default.createElement(Or.Tooltip,{label:n("language.label")},Zr.default.createElement(Or.ActionIcon,{variant:"subtle",radius:"xl","aria-label":n("language.label")},Zr.default.createElement(Gv.IconLanguage,{size:t})))),Zr.default.createElement(Or.Menu.Dropdown,null,e.map(s=>Zr.default.createElement(Or.Menu.Item,{key:s,onClick:()=>o(s),fw:a.language===s?700:400},n(`language.${s}`)))))};
|
|
452
452
|
/*! Bundled license information:
|
|
453
453
|
|