@deepseekcode/cli 1.0.28 → 1.0.30
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/README.md +159 -99
- package/dist/cli.js +1066 -1014
- package/package.json +1 -1
- package/web/dist/assets/AutomationView-Y4qkPsrX.js +1 -0
- package/web/dist/assets/{ChannelConfigView-DGK82bWj.js → ChannelConfigView-BqEclPUB.js} +3 -3
- package/web/dist/assets/{ConnectorsView-5kzDUnd8.js → ConnectorsView-Cz4uqSmh.js} +1 -1
- package/web/dist/assets/{FileTreeView-BQfRRAXr.js → FileTreeView-BWPOqGPh.js} +1 -1
- package/web/dist/assets/{HookConfigView-CdQVgzog.js → HookConfigView-japq3zFX.js} +1 -1
- package/web/dist/assets/ModelsView-Dbo4GErV.js +1 -0
- package/web/dist/assets/{PluginsView-bQipmAy8.js → PluginsView-C1BPNAQx.js} +1 -1
- package/web/dist/assets/SessionGrid-BGpz0-op.css +1 -0
- package/web/dist/assets/SessionGrid-F23LrdJ2.js +42 -0
- package/web/dist/assets/{SettingsPanel-CpmNWZmn.js → SettingsPanel-CGJbV37j.js} +3 -3
- package/web/dist/assets/{SkillsView-DLGgMIsT.js → SkillsView-CecX9sxV.js} +1 -1
- package/web/dist/assets/{TemplatesTab-4085BhAx.js → TemplatesTab-BtbjQDQk.js} +1 -1
- package/web/dist/assets/{TerminalView-BVZAuLTB.js → TerminalView-6U_87hSL.js} +1 -1
- package/web/dist/assets/{ThreeScene-CukEnQe-.js → ThreeScene-Zhjwe9nT.js} +1 -1
- package/web/dist/assets/{ToolsView-DeCt1EIB.js → ToolsView-DO0_61eJ.js} +1 -1
- package/web/dist/assets/{icons-Cu8fYt4q.js → icons-Di-qMB6n.js} +124 -109
- package/web/dist/assets/index-BbLAiXis.css +1 -0
- package/web/dist/assets/index-Dkxsd1Rx.js +484 -0
- package/web/dist/assets/{markdown-Bym7wmT0.js → markdown-D-c9V8Xq.js} +1 -1
- package/web/dist/assets/{panels-BEKHl5l-.js → panels-CpHTincc.js} +1 -1
- package/web/dist/assets/{react-vendor-D76F8wnc.js → react-vendor-DU8XgZt2.js} +1 -1
- package/web/dist/assets/{state-CZakZ3-m.js → state-D2vcUGVk.js} +1 -1
- package/web/dist/index.html +7 -7
- package/web/dist/assets/AutomationView-CpFBgFvV.js +0 -1
- package/web/dist/assets/ModelsView-Dpwx3f-Q.js +0 -1
- package/web/dist/assets/SessionGrid-DFVjPnhc.js +0 -39
- package/web/dist/assets/index-Bg6EQpr3.js +0 -484
- package/web/dist/assets/index-CYAcRfnc.css +0 -1
|
@@ -1,484 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/angular-html-DA-rfuFy.js","assets/html-pp8916En.js","assets/javascript-wDzz0qaB.js","assets/css-CLj8gQPS.js","assets/angular-ts-BrjP3tb8.js","assets/scss-D5BDwBP9.js","assets/apl-CORt7UWP.js","assets/xml-sdJ4AIDG.js","assets/java-CylS5w8V.js","assets/json-Cp-IABpG.js","assets/astro-HNnZUWAn.js","assets/typescript-BPQ3VLAy.js","assets/postcss-CXtECtnM.js","assets/tsx-COt5Ahok.js","assets/blade-2xfisSek.js","assets/html-derivative-DlHx6ybY.js","assets/sql-CRqJ_cUM.js","assets/bsl-DlhNcFeZ.js","assets/sdbl-DVxCFoDh.js","assets/cairo-KRGpt6FW.js","assets/python-B6aJPvgy.js","assets/chapel-DTp_pixX.js","assets/c-BIGW1oBm.js","assets/cobol-nBiQ_Alo.js","assets/coffee-Ch7k5sss.js","assets/cpp-BMRokrvK.js","assets/regexp-CDVJQ6XC.js","assets/glsl-DplSGwfg.js","assets/crystal-DGywbUpC.js","assets/shellscript-Yzrsuije.js","assets/edge-FbVlp4U3.js","assets/elixir-CkH2-t6x.js","assets/elm-DbKCFpqz.js","assets/erb-DXfck5VN.js","assets/ruby-C0TQ7zu5.js","assets/haml-D5jkg6IW.js","assets/graphql-ChdNCCLP.js","assets/jsx-g9-lgVsj.js","assets/lua-BaeVxFsk.js","assets/yaml-Buea-lGh.js","assets/erlang-DsQrWhSR.js","assets/markdown-Cvjx9yec.js","assets/fortran-fixed-form-CkoXwp7k.js","assets/fortran-free-form-BxgE0vQu.js","assets/fsharp-CXgrBDvD.js","assets/gdresource-TyuKm33G.js","assets/gdshader-DkwncUOv.js","assets/gdscript-DqcFQ5yU.js","assets/git-commit-F4YmCXRG.js","assets/diff-D97Zzqfu.js","assets/git-rebase-r7XF79zn.js","assets/glimmer-js-ByusRIyA.js","assets/glimmer-ts-BfAWNZQY.js","assets/hack-BWmVpMyf.js","assets/handlebars-BpdQsYii.js","assets/http-jrhK8wxY.js","assets/hurl-irOxFIW8.js","assets/csv-fuZLfV_i.js","assets/hxml-2-FPmUDs.js","assets/haxe-CfZj7gIn.js","assets/jinja-f2NsQr07.js","assets/jison-wvAkD_A8.js","assets/julia-5Bft2YPA.js","assets/r-Cf5RLm7j.js","assets/just-Cwhn7H3k.js","assets/perl-B9cMNwum.js","assets/latex-D5pSuvFb.js","assets/tex-D96PA37w.js","assets/liquid-C0sCDyMI.js","assets/marko-DjSrsDqO.js","assets/less-B1dDrJ26.js","assets/mdc-D1_yUvq7.js","assets/nextflow-C-mBbutL.js","assets/nextflow-groovy-vE_lwT2v.js","assets/nginx-BpAMiNFr.js","assets/nim-BIad80T-.js","assets/org-DM6o9KBp.js","assets/ini-BEwlwnbL.js","assets/make-CHLpvVh8.js","assets/php-Csjmro_R.js","assets/vb-Cu-pLBUe.js","assets/clojure-P80f7IUj.js","assets/objective-c-DXmwc3jG.js","assets/docker-BcOcwvcX.js","assets/go-C27-OAKa.js","assets/groovy-gcz8RCvz.js","assets/raku-DXvB9xmW.js","assets/rust-B1yitclQ.js","assets/scala-CqE71os6.js","assets/csharp-DSvCPggb.js","assets/dart-bE4Kk8sk.js","assets/ocaml-C0hk2d4L.js","assets/zig-VOosw3JB.js","assets/xsl-CtQFsRM5.js","assets/pug-DKIMFp6K.js","assets/qml-3beO22l8.js","assets/razor-BjBPvh-w.js","assets/rst-bs7f0vWN.js","assets/cmake-D1j8_8rp.js","assets/sas-DEy46yEz.js","assets/shaderlab-Dg9Lc6iA.js","assets/hlsl-D3lLCCz7.js","assets/shellsession-BADoaaVG.js","assets/soy-8wufbnw4.js","assets/sparql-rVzFXLq3.js","assets/turtle-BsS91CYL.js","assets/stata-DI20mbqo.js","assets/surrealql-Cjom0U5J.js","assets/svelte-Cy7k_4gC.js","assets/templ-DhtptRzy.js","assets/ts-tags-D351s5mN.js","assets/twig-27uCiNez.js","assets/typst-BUadGCkm.js","assets/bat-CickPsom.js","assets/bibtex-CHM0blh-.js","assets/jsonc-Des-eS-w.js","assets/log-2UxHyX5q.js","assets/powershell-BmBUJMz7.js","assets/swift-C2oV4EkX.js","assets/verilog-nZwndyjY.js","assets/system-verilog-0hqHdDBg.js","assets/vue-BqiEGhQt.js","assets/vue-html-AaS7Mt5G.js","assets/vue-vine-BoDAl6tE.js","assets/stylus-BEDo0Tqx.js","assets/ModelsView-Dpwx3f-Q.js","assets/markdown-Bym7wmT0.js","assets/icons-Cu8fYt4q.js","assets/react-vendor-D76F8wnc.js","assets/state-CZakZ3-m.js","assets/panels-BEKHl5l-.js","assets/ToolsView-DeCt1EIB.js","assets/SkillsView-DLGgMIsT.js","assets/TemplatesTab-4085BhAx.js","assets/HookConfigView-CdQVgzog.js","assets/FileTreeView-BQfRRAXr.js","assets/TerminalView-BVZAuLTB.js","assets/terminal-DgJRGhIz.js","assets/TerminalView-C1Mzzh8g.css","assets/SessionGrid-DFVjPnhc.js","assets/sttLanguages-BNRptAQA.js","assets/SettingsPanel-CpmNWZmn.js","assets/ChannelConfigView-DGK82bWj.js","assets/ConnectorsView-5kzDUnd8.js","assets/AutomationView-CpFBgFvV.js","assets/PluginsView-bQipmAy8.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
var ek=Object.defineProperty;var tk=Object.getPrototypeOf;var nk=Reflect.get;var vb=n=>{throw TypeError(n)};var ak=(n,e,t)=>e in n?ek(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t;var W=(n,e,t)=>ak(n,typeof e!="symbol"?e+"":e,t),Sm=(n,e,t)=>e.has(n)||vb("Cannot "+t);var Kn=(n,e,t)=>(Sm(n,e,"read from private field"),t?t.call(n):e.get(n)),Ni=(n,e,t)=>e.has(n)?vb("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(n):e.set(n,t),Qa=(n,e,t,a)=>(Sm(n,e,"write to private field"),a?a.call(n,t):e.set(n,t),t),_m=(n,e,t)=>(Sm(n,e,"access private method"),t);var bb=(n,e,t)=>nk(tk(n),t,e);import{o as uc,f as Sd,m as Li,a as L3,p as xb,b as wb,n as kb,h as B3,s as Gg,c as rk,v as sk,S as ik,w as qg,d as ok,e as lk,j as y,M as ck,g as uk}from"./markdown-Bym7wmT0.js";import{r as dk,g as j3,a as D,F as Jo,C as P3,b as I3,d as ti,P as Mp,e as fk,X as xr,L as Ga,f as z3,h as B0,G as $3,i as H3,S as hk,j as Vg,M as mk,k as j0,l as P0,m as U3,n as pk,o as F3,A as gk,p as Wg,q as yk,s as vk,t as bk,u as G3,v as xk,w as wk,x as kk,y as Kg,E as Sb,D as zc,z as s0,B as Sk,H as I0,I as i0,J as q3,K as V3,N as _k,O as W3,Q as _b,T as Ck,U as Tk,V as Ak,Y as Rp,Z as Ac,_ as Ek,$ as Yg,a0 as Nk,a1 as Mk,a2 as Rk,a3 as Cb,a4 as Dk,a5 as Tb,a6 as Ok,a7 as Lk,a8 as Bk,a9 as K3,aa as jk,ab as Pk,ac as Ik,ad as zk,ae as $k,af as Hk,ag as Uk,ah as Fk,ai as Gk,aj as qk,ak as Vk,al as Wk,am as Y3,an as Kk,ao as Yk,W as Zk}from"./icons-Cu8fYt4q.js";import{r as Xk}from"./react-vendor-D76F8wnc.js";import{r as Qk,c as An}from"./state-CZakZ3-m.js";import{P as Z3,a as Dp,b as X3}from"./panels-BEKHl5l-.js";(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))a(s);new MutationObserver(s=>{for(const o of s)if(o.type==="childList")for(const l of o.addedNodes)l.tagName==="LINK"&&l.rel==="modulepreload"&&a(l)}).observe(document,{childList:!0,subtree:!0});function t(s){const o={};return s.integrity&&(o.integrity=s.integrity),s.referrerPolicy&&(o.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?o.credentials="include":s.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function a(s){if(s.ep)return;s.ep=!0;const o=t(s);fetch(s.href,o)}})();var Cm={exports:{}},dc={},Tm={exports:{}},Am={};/**
|
|
3
|
-
* @license React
|
|
4
|
-
* scheduler.production.js
|
|
5
|
-
*
|
|
6
|
-
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
7
|
-
*
|
|
8
|
-
* This source code is licensed under the MIT license found in the
|
|
9
|
-
* LICENSE file in the root directory of this source tree.
|
|
10
|
-
*/var Ab;function Jk(){return Ab||(Ab=1,(function(n){function e(G,le){var re=G.length;G.push(le);e:for(;0<re;){var Qe=re-1>>>1,Ge=G[Qe];if(0<s(Ge,le))G[Qe]=le,G[re]=Ge,re=Qe;else break e}}function t(G){return G.length===0?null:G[0]}function a(G){if(G.length===0)return null;var le=G[0],re=G.pop();if(re!==le){G[0]=re;e:for(var Qe=0,Ge=G.length,qe=Ge>>>1;Qe<qe;){var Ie=2*(Qe+1)-1,Me=G[Ie],mt=Ie+1,St=G[mt];if(0>s(Me,re))mt<Ge&&0>s(St,Me)?(G[Qe]=St,G[mt]=re,Qe=mt):(G[Qe]=Me,G[Ie]=re,Qe=Ie);else if(mt<Ge&&0>s(St,re))G[Qe]=St,G[mt]=re,Qe=mt;else break e}}return le}function s(G,le){var re=G.sortIndex-le.sortIndex;return re!==0?re:G.id-le.id}if(n.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var o=performance;n.unstable_now=function(){return o.now()}}else{var l=Date,u=l.now();n.unstable_now=function(){return l.now()-u}}var d=[],h=[],m=1,p=null,b=3,x=!1,k=!1,_=!1,T=!1,N=typeof setTimeout=="function"?setTimeout:null,E=typeof clearTimeout=="function"?clearTimeout:null,L=typeof setImmediate<"u"?setImmediate:null;function B(G){for(var le=t(h);le!==null;){if(le.callback===null)a(h);else if(le.startTime<=G)a(h),le.sortIndex=le.expirationTime,e(d,le);else break;le=t(h)}}function j(G){if(_=!1,B(G),!k)if(t(d)!==null)k=!0,q||(q=!0,fe());else{var le=t(h);le!==null&&xe(j,le.startTime-G)}}var q=!1,K=-1,te=5,J=-1;function be(){return T?!0:!(n.unstable_now()-J<te)}function Le(){if(T=!1,q){var G=n.unstable_now();J=G;var le=!0;try{e:{k=!1,_&&(_=!1,E(K),K=-1),x=!0;var re=b;try{t:{for(B(G),p=t(d);p!==null&&!(p.expirationTime>G&&be());){var Qe=p.callback;if(typeof Qe=="function"){p.callback=null,b=p.priorityLevel;var Ge=Qe(p.expirationTime<=G);if(G=n.unstable_now(),typeof Ge=="function"){p.callback=Ge,B(G),le=!0;break t}p===t(d)&&a(d),B(G)}else a(d);p=t(d)}if(p!==null)le=!0;else{var qe=t(h);qe!==null&&xe(j,qe.startTime-G),le=!1}}break e}finally{p=null,b=re,x=!1}le=void 0}}finally{le?fe():q=!1}}}var fe;if(typeof L=="function")fe=function(){L(Le)};else if(typeof MessageChannel<"u"){var se=new MessageChannel,ge=se.port2;se.port1.onmessage=Le,fe=function(){ge.postMessage(null)}}else fe=function(){N(Le,0)};function xe(G,le){K=N(function(){G(n.unstable_now())},le)}n.unstable_IdlePriority=5,n.unstable_ImmediatePriority=1,n.unstable_LowPriority=4,n.unstable_NormalPriority=3,n.unstable_Profiling=null,n.unstable_UserBlockingPriority=2,n.unstable_cancelCallback=function(G){G.callback=null},n.unstable_forceFrameRate=function(G){0>G||125<G?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):te=0<G?Math.floor(1e3/G):5},n.unstable_getCurrentPriorityLevel=function(){return b},n.unstable_next=function(G){switch(b){case 1:case 2:case 3:var le=3;break;default:le=b}var re=b;b=le;try{return G()}finally{b=re}},n.unstable_requestPaint=function(){T=!0},n.unstable_runWithPriority=function(G,le){switch(G){case 1:case 2:case 3:case 4:case 5:break;default:G=3}var re=b;b=G;try{return le()}finally{b=re}},n.unstable_scheduleCallback=function(G,le,re){var Qe=n.unstable_now();switch(typeof re=="object"&&re!==null?(re=re.delay,re=typeof re=="number"&&0<re?Qe+re:Qe):re=Qe,G){case 1:var Ge=-1;break;case 2:Ge=250;break;case 5:Ge=1073741823;break;case 4:Ge=1e4;break;default:Ge=5e3}return Ge=re+Ge,G={id:m++,callback:le,priorityLevel:G,startTime:re,expirationTime:Ge,sortIndex:-1},re>Qe?(G.sortIndex=re,e(h,G),t(d)===null&&G===t(h)&&(_?(E(K),K=-1):_=!0,xe(j,re-Qe))):(G.sortIndex=Ge,e(d,G),k||x||(k=!0,q||(q=!0,fe()))),G},n.unstable_shouldYield=be,n.unstable_wrapCallback=function(G){var le=b;return function(){var re=b;b=le;try{return G.apply(this,arguments)}finally{b=re}}}})(Am)),Am}var Eb;function eS(){return Eb||(Eb=1,Tm.exports=Jk()),Tm.exports}/**
|
|
11
|
-
* @license React
|
|
12
|
-
* react-dom-client.production.js
|
|
13
|
-
*
|
|
14
|
-
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
15
|
-
*
|
|
16
|
-
* This source code is licensed under the MIT license found in the
|
|
17
|
-
* LICENSE file in the root directory of this source tree.
|
|
18
|
-
*/var Nb;function tS(){if(Nb)return dc;Nb=1;var n=eS(),e=dk(),t=Xk();function a(r){var i="https://react.dev/errors/"+r;if(1<arguments.length){i+="?args[]="+encodeURIComponent(arguments[1]);for(var c=2;c<arguments.length;c++)i+="&args[]="+encodeURIComponent(arguments[c])}return"Minified React error #"+r+"; visit "+i+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function s(r){return!(!r||r.nodeType!==1&&r.nodeType!==9&&r.nodeType!==11)}function o(r){var i=r,c=r;if(r.alternate)for(;i.return;)i=i.return;else{r=i;do i=r,(i.flags&4098)!==0&&(c=i.return),r=i.return;while(r)}return i.tag===3?c:null}function l(r){if(r.tag===13){var i=r.memoizedState;if(i===null&&(r=r.alternate,r!==null&&(i=r.memoizedState)),i!==null)return i.dehydrated}return null}function u(r){if(r.tag===31){var i=r.memoizedState;if(i===null&&(r=r.alternate,r!==null&&(i=r.memoizedState)),i!==null)return i.dehydrated}return null}function d(r){if(o(r)!==r)throw Error(a(188))}function h(r){var i=r.alternate;if(!i){if(i=o(r),i===null)throw Error(a(188));return i!==r?null:r}for(var c=r,f=i;;){var g=c.return;if(g===null)break;var v=g.alternate;if(v===null){if(f=g.return,f!==null){c=f;continue}break}if(g.child===v.child){for(v=g.child;v;){if(v===c)return d(g),r;if(v===f)return d(g),i;v=v.sibling}throw Error(a(188))}if(c.return!==f.return)c=g,f=v;else{for(var C=!1,M=g.child;M;){if(M===c){C=!0,c=g,f=v;break}if(M===f){C=!0,f=g,c=v;break}M=M.sibling}if(!C){for(M=v.child;M;){if(M===c){C=!0,c=v,f=g;break}if(M===f){C=!0,f=v,c=g;break}M=M.sibling}if(!C)throw Error(a(189))}}if(c.alternate!==f)throw Error(a(190))}if(c.tag!==3)throw Error(a(188));return c.stateNode.current===c?r:i}function m(r){var i=r.tag;if(i===5||i===26||i===27||i===6)return r;for(r=r.child;r!==null;){if(i=m(r),i!==null)return i;r=r.sibling}return null}var p=Object.assign,b=Symbol.for("react.element"),x=Symbol.for("react.transitional.element"),k=Symbol.for("react.portal"),_=Symbol.for("react.fragment"),T=Symbol.for("react.strict_mode"),N=Symbol.for("react.profiler"),E=Symbol.for("react.consumer"),L=Symbol.for("react.context"),B=Symbol.for("react.forward_ref"),j=Symbol.for("react.suspense"),q=Symbol.for("react.suspense_list"),K=Symbol.for("react.memo"),te=Symbol.for("react.lazy"),J=Symbol.for("react.activity"),be=Symbol.for("react.memo_cache_sentinel"),Le=Symbol.iterator;function fe(r){return r===null||typeof r!="object"?null:(r=Le&&r[Le]||r["@@iterator"],typeof r=="function"?r:null)}var se=Symbol.for("react.client.reference");function ge(r){if(r==null)return null;if(typeof r=="function")return r.$$typeof===se?null:r.displayName||r.name||null;if(typeof r=="string")return r;switch(r){case _:return"Fragment";case N:return"Profiler";case T:return"StrictMode";case j:return"Suspense";case q:return"SuspenseList";case J:return"Activity"}if(typeof r=="object")switch(r.$$typeof){case k:return"Portal";case L:return r.displayName||"Context";case E:return(r._context.displayName||"Context")+".Consumer";case B:var i=r.render;return r=r.displayName,r||(r=i.displayName||i.name||"",r=r!==""?"ForwardRef("+r+")":"ForwardRef"),r;case K:return i=r.displayName||null,i!==null?i:ge(r.type)||"Memo";case te:i=r._payload,r=r._init;try{return ge(r(i))}catch{}}return null}var xe=Array.isArray,G=e.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,le=t.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,re={pending:!1,data:null,method:null,action:null},Qe=[],Ge=-1;function qe(r){return{current:r}}function Ie(r){0>Ge||(r.current=Qe[Ge],Qe[Ge]=null,Ge--)}function Me(r,i){Ge++,Qe[Ge]=r.current,r.current=i}var mt=qe(null),St=qe(null),En=qe(null),an=qe(null);function In(r,i){switch(Me(En,i),Me(St,r),Me(mt,null),i.nodeType){case 9:case 11:r=(r=i.documentElement)&&(r=r.namespaceURI)?H4(r):0;break;default:if(r=i.tagName,i=i.namespaceURI)i=H4(i),r=U4(i,r);else switch(r){case"svg":r=1;break;case"math":r=2;break;default:r=0}}Ie(mt),Me(mt,r)}function pn(){Ie(mt),Ie(St),Ie(En)}function _a(r){r.memoizedState!==null&&Me(an,r);var i=mt.current,c=U4(i,r.type);i!==c&&(Me(St,r),Me(mt,c))}function Ca(r){St.current===r&&(Ie(mt),Ie(St)),an.current===r&&(Ie(an),ic._currentValue=re)}var Ta,la;function pt(r){if(Ta===void 0)try{throw Error()}catch(c){var i=c.stack.trim().match(/\n( *(at )?)/);Ta=i&&i[1]||"",la=-1<c.stack.indexOf(`
|
|
19
|
-
at`)?" (<anonymous>)":-1<c.stack.indexOf("@")?"@unknown:0:0":""}return`
|
|
20
|
-
`+Ta+r+la}var de=!1;function lt(r,i){if(!r||de)return"";de=!0;var c=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var f={DetermineComponentFrameRoot:function(){try{if(i){var oe=function(){throw Error()};if(Object.defineProperty(oe.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(oe,[])}catch(Q){var Z=Q}Reflect.construct(r,[],oe)}else{try{oe.call()}catch(Q){Z=Q}r.call(oe.prototype)}}else{try{throw Error()}catch(Q){Z=Q}(oe=r())&&typeof oe.catch=="function"&&oe.catch(function(){})}}catch(Q){if(Q&&Z&&typeof Q.stack=="string")return[Q.stack,Z.stack]}return[null,null]}};f.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var g=Object.getOwnPropertyDescriptor(f.DetermineComponentFrameRoot,"name");g&&g.configurable&&Object.defineProperty(f.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var v=f.DetermineComponentFrameRoot(),C=v[0],M=v[1];if(C&&M){var z=C.split(`
|
|
21
|
-
`),Y=M.split(`
|
|
22
|
-
`);for(g=f=0;f<z.length&&!z[f].includes("DetermineComponentFrameRoot");)f++;for(;g<Y.length&&!Y[g].includes("DetermineComponentFrameRoot");)g++;if(f===z.length||g===Y.length)for(f=z.length-1,g=Y.length-1;1<=f&&0<=g&&z[f]!==Y[g];)g--;for(;1<=f&&0<=g;f--,g--)if(z[f]!==Y[g]){if(f!==1||g!==1)do if(f--,g--,0>g||z[f]!==Y[g]){var ae=`
|
|
23
|
-
`+z[f].replace(" at new "," at ");return r.displayName&&ae.includes("<anonymous>")&&(ae=ae.replace("<anonymous>",r.displayName)),ae}while(1<=f&&0<=g);break}}}finally{de=!1,Error.prepareStackTrace=c}return(c=r?r.displayName||r.name:"")?pt(c):""}function He(r,i){switch(r.tag){case 26:case 27:case 5:return pt(r.type);case 16:return pt("Lazy");case 13:return r.child!==i&&i!==null?pt("Suspense Fallback"):pt("Suspense");case 19:return pt("SuspenseList");case 0:case 15:return lt(r.type,!1);case 11:return lt(r.type.render,!1);case 1:return lt(r.type,!0);case 31:return pt("Activity");default:return""}}function je(r){try{var i="",c=null;do i+=He(r,c),c=r,r=r.return;while(r);return i}catch(f){return`
|
|
24
|
-
Error generating stack: `+f.message+`
|
|
25
|
-
`+f.stack}}var _e=Object.prototype.hasOwnProperty,Ue=n.unstable_scheduleCallback,At=n.unstable_cancelCallback,Jt=n.unstable_shouldYield,Ht=n.unstable_requestPaint,yt=n.unstable_now,Nn=n.unstable_getCurrentPriorityLevel,rr=n.unstable_ImmediatePriority,ps=n.unstable_UserBlockingPriority,ca=n.unstable_NormalPriority,Ar=n.unstable_LowPriority,zn=n.unstable_IdlePriority,mf=n.log,ua=n.unstable_setDisableYieldValue,gs=null,$n=null;function da(r){if(typeof mf=="function"&&ua(r),$n&&typeof $n.setStrictMode=="function")try{$n.setStrictMode(gs,r)}catch{}}var Mn=Math.clz32?Math.clz32:pf,ou=Math.log,lu=Math.LN2;function pf(r){return r>>>=0,r===0?32:31-(ou(r)/lu|0)|0}var Zi=256,Xi=262144,Er=4194304;function Wa(r){var i=r&42;if(i!==0)return i;switch(r&-r){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return r&261888;case 262144:case 524288:case 1048576:case 2097152:return r&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return r&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return r}}function Qi(r,i,c){var f=r.pendingLanes;if(f===0)return 0;var g=0,v=r.suspendedLanes,C=r.pingedLanes;r=r.warmLanes;var M=f&134217727;return M!==0?(f=M&~v,f!==0?g=Wa(f):(C&=M,C!==0?g=Wa(C):c||(c=M&~r,c!==0&&(g=Wa(c))))):(M=f&~v,M!==0?g=Wa(M):C!==0?g=Wa(C):c||(c=f&~r,c!==0&&(g=Wa(c)))),g===0?0:i!==0&&i!==g&&(i&v)===0&&(v=g&-g,c=i&-i,v>=c||v===32&&(c&4194048)!==0)?i:g}function ys(r,i){return(r.pendingLanes&~(r.suspendedLanes&~r.pingedLanes)&i)===0}function Ji(r,i){switch(r){case 1:case 2:case 4:case 8:case 64:return i+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return i+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function cu(){var r=Er;return Er<<=1,(Er&62914560)===0&&(Er=4194304),r}function eo(r){for(var i=[],c=0;31>c;c++)i.push(r);return i}function Nr(r,i){r.pendingLanes|=i,i!==268435456&&(r.suspendedLanes=0,r.pingedLanes=0,r.warmLanes=0)}function uu(r,i,c,f,g,v){var C=r.pendingLanes;r.pendingLanes=c,r.suspendedLanes=0,r.pingedLanes=0,r.warmLanes=0,r.expiredLanes&=c,r.entangledLanes&=c,r.errorRecoveryDisabledLanes&=c,r.shellSuspendCounter=0;var M=r.entanglements,z=r.expirationTimes,Y=r.hiddenUpdates;for(c=C&~c;0<c;){var ae=31-Mn(c),oe=1<<ae;M[ae]=0,z[ae]=-1;var Z=Y[ae];if(Z!==null)for(Y[ae]=null,ae=0;ae<Z.length;ae++){var Q=Z[ae];Q!==null&&(Q.lane&=-536870913)}c&=~oe}f!==0&&Mr(r,f,0),v!==0&&g===0&&r.tag!==0&&(r.suspendedLanes|=v&~(C&~i))}function Mr(r,i,c){r.pendingLanes|=i,r.suspendedLanes&=~i;var f=31-Mn(i);r.entangledLanes|=i,r.entanglements[f]=r.entanglements[f]|1073741824|c&261930}function du(r,i){var c=r.entangledLanes|=i;for(r=r.entanglements;c;){var f=31-Mn(c),g=1<<f;g&i|r[f]&i&&(r[f]|=i),c&=~g}}function to(r,i){var c=i&-i;return c=(c&42)!==0?1:ci(c),(c&(r.suspendedLanes|i))!==0?0:c}function ci(r){switch(r){case 2:r=1;break;case 8:r=4;break;case 32:r=16;break;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:r=128;break;case 268435456:r=134217728;break;default:r=0}return r}function gl(r){return r&=-r,2<r?8<r?(r&134217727)!==0?32:268435456:8:2}function yl(){var r=le.p;return r!==0?r:(r=window.event,r===void 0?32:db(r.type))}function vl(r,i){var c=le.p;try{return le.p=r,i()}finally{le.p=c}}var Ka=Math.random().toString(36).slice(2),rn="__reactFiber$"+Ka,Rn="__reactProps$"+Ka,sr="__reactContainer$"+Ka,ui="__reactEvents$"+Ka,gf="__reactListeners$"+Ka,yf="__reactHandles$"+Ka,fu="__reactResources$"+Ka,di="__reactMarker$"+Ka;function bl(r){delete r[rn],delete r[Rn],delete r[ui],delete r[gf],delete r[yf]}function vs(r){var i=r[rn];if(i)return i;for(var c=r.parentNode;c;){if(i=c[sr]||c[rn]){if(c=i.alternate,i.child!==null||c!==null&&c.child!==null)for(r=Y4(r);r!==null;){if(c=r[rn])return c;r=Y4(r)}return i}r=c,c=r.parentNode}return null}function Rr(r){if(r=r[rn]||r[sr]){var i=r.tag;if(i===5||i===6||i===13||i===31||i===26||i===27||i===3)return r}return null}function fi(r){var i=r.tag;if(i===5||i===26||i===27||i===6)return r.stateNode;throw Error(a(33))}function ir(r){var i=r[fu];return i||(i=r[fu]={hoistableStyles:new Map,hoistableScripts:new Map}),i}function sn(r){r[di]=!0}var U=new Set,ne={};function he(r,i){De(r,i),De(r+"Capture",i)}function De(r,i){for(ne[r]=i,r=0;r<i.length;r++)U.add(i[r])}var ze=RegExp("^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$"),gt={},Nt={};function gn(r){return _e.call(Nt,r)?!0:_e.call(gt,r)?!1:ze.test(r)?Nt[r]=!0:(gt[r]=!0,!1)}function Dt(r,i,c){if(gn(i))if(c===null)r.removeAttribute(i);else{switch(typeof c){case"undefined":case"function":case"symbol":r.removeAttribute(i);return;case"boolean":var f=i.toLowerCase().slice(0,5);if(f!=="data-"&&f!=="aria-"){r.removeAttribute(i);return}}r.setAttribute(i,""+c)}}function et(r,i,c){if(c===null)r.removeAttribute(i);else{switch(typeof c){case"undefined":case"function":case"symbol":case"boolean":r.removeAttribute(i);return}r.setAttribute(i,""+c)}}function Hn(r,i,c,f){if(f===null)r.removeAttribute(c);else{switch(typeof f){case"undefined":case"function":case"symbol":case"boolean":r.removeAttribute(c);return}r.setAttributeNS(i,c,""+f)}}function qn(r){switch(typeof r){case"bigint":case"boolean":case"number":case"string":case"undefined":return r;case"object":return r;default:return""}}function xl(r){var i=r.type;return(r=r.nodeName)&&r.toLowerCase()==="input"&&(i==="checkbox"||i==="radio")}function wl(r,i,c){var f=Object.getOwnPropertyDescriptor(r.constructor.prototype,i);if(!r.hasOwnProperty(i)&&typeof f<"u"&&typeof f.get=="function"&&typeof f.set=="function"){var g=f.get,v=f.set;return Object.defineProperty(r,i,{configurable:!0,get:function(){return g.call(this)},set:function(C){c=""+C,v.call(this,C)}}),Object.defineProperty(r,i,{enumerable:f.enumerable}),{getValue:function(){return c},setValue:function(C){c=""+C},stopTracking:function(){r._valueTracker=null,delete r[i]}}}}function Aa(r){if(!r._valueTracker){var i=xl(r)?"checked":"value";r._valueTracker=wl(r,i,""+r[i])}}function hu(r){if(!r)return!1;var i=r._valueTracker;if(!i)return!0;var c=i.getValue(),f="";return r&&(f=xl(r)?r.checked?"true":"false":r.value),r=f,r!==c?(i.setValue(r),!0):!1}function Ea(r){if(r=r||(typeof document<"u"?document:void 0),typeof r>"u")return null;try{return r.activeElement||r.body}catch{return r.body}}var Dr=/[\n"\\]/g;function Vn(r){return r.replace(Dr,function(i){return"\\"+i.charCodeAt(0).toString(16)+" "})}function kl(r,i,c,f,g,v,C,M){r.name="",C!=null&&typeof C!="function"&&typeof C!="symbol"&&typeof C!="boolean"?r.type=C:r.removeAttribute("type"),i!=null?C==="number"?(i===0&&r.value===""||r.value!=i)&&(r.value=""+qn(i)):r.value!==""+qn(i)&&(r.value=""+qn(i)):C!=="submit"&&C!=="reset"||r.removeAttribute("value"),i!=null?vf(r,C,qn(i)):c!=null?vf(r,C,qn(c)):f!=null&&r.removeAttribute("value"),g==null&&v!=null&&(r.defaultChecked=!!v),g!=null&&(r.checked=g&&typeof g!="function"&&typeof g!="symbol"),M!=null&&typeof M!="function"&&typeof M!="symbol"&&typeof M!="boolean"?r.name=""+qn(M):r.removeAttribute("name")}function B1(r,i,c,f,g,v,C,M){if(v!=null&&typeof v!="function"&&typeof v!="symbol"&&typeof v!="boolean"&&(r.type=v),i!=null||c!=null){if(!(v!=="submit"&&v!=="reset"||i!=null)){Aa(r);return}c=c!=null?""+qn(c):"",i=i!=null?""+qn(i):c,M||i===r.value||(r.value=i),r.defaultValue=i}f=f??g,f=typeof f!="function"&&typeof f!="symbol"&&!!f,r.checked=M?r.checked:!!f,r.defaultChecked=!!f,C!=null&&typeof C!="function"&&typeof C!="symbol"&&typeof C!="boolean"&&(r.name=C),Aa(r)}function vf(r,i,c){i==="number"&&Ea(r.ownerDocument)===r||r.defaultValue===""+c||(r.defaultValue=""+c)}function no(r,i,c,f){if(r=r.options,i){i={};for(var g=0;g<c.length;g++)i["$"+c[g]]=!0;for(c=0;c<r.length;c++)g=i.hasOwnProperty("$"+r[c].value),r[c].selected!==g&&(r[c].selected=g),g&&f&&(r[c].defaultSelected=!0)}else{for(c=""+qn(c),i=null,g=0;g<r.length;g++){if(r[g].value===c){r[g].selected=!0,f&&(r[g].defaultSelected=!0);return}i!==null||r[g].disabled||(i=r[g])}i!==null&&(i.selected=!0)}}function j1(r,i,c){if(i!=null&&(i=""+qn(i),i!==r.value&&(r.value=i),c==null)){r.defaultValue!==i&&(r.defaultValue=i);return}r.defaultValue=c!=null?""+qn(c):""}function P1(r,i,c,f){if(i==null){if(f!=null){if(c!=null)throw Error(a(92));if(xe(f)){if(1<f.length)throw Error(a(93));f=f[0]}c=f}c==null&&(c=""),i=c}c=qn(i),r.defaultValue=c,f=r.textContent,f===c&&f!==""&&f!==null&&(r.value=f),Aa(r)}function ao(r,i){if(i){var c=r.firstChild;if(c&&c===r.lastChild&&c.nodeType===3){c.nodeValue=i;return}}r.textContent=i}var Y7=new Set("animationIterationCount aspectRatio borderImageOutset borderImageSlice borderImageWidth boxFlex boxFlexGroup boxOrdinalGroup columnCount columns flex flexGrow flexPositive flexShrink flexNegative flexOrder gridArea gridRow gridRowEnd gridRowSpan gridRowStart gridColumn gridColumnEnd gridColumnSpan gridColumnStart fontWeight lineClamp lineHeight opacity order orphans scale tabSize widows zIndex zoom fillOpacity floodOpacity stopOpacity strokeDasharray strokeDashoffset strokeMiterlimit strokeOpacity strokeWidth MozAnimationIterationCount MozBoxFlex MozBoxFlexGroup MozLineClamp msAnimationIterationCount msFlex msZoom msFlexGrow msFlexNegative msFlexOrder msFlexPositive msFlexShrink msGridColumn msGridColumnSpan msGridRow msGridRowSpan WebkitAnimationIterationCount WebkitBoxFlex WebKitBoxFlexGroup WebkitBoxOrdinalGroup WebkitColumnCount WebkitColumns WebkitFlex WebkitFlexGrow WebkitFlexPositive WebkitFlexShrink WebkitLineClamp".split(" "));function I1(r,i,c){var f=i.indexOf("--")===0;c==null||typeof c=="boolean"||c===""?f?r.setProperty(i,""):i==="float"?r.cssFloat="":r[i]="":f?r.setProperty(i,c):typeof c!="number"||c===0||Y7.has(i)?i==="float"?r.cssFloat=c:r[i]=(""+c).trim():r[i]=c+"px"}function z1(r,i,c){if(i!=null&&typeof i!="object")throw Error(a(62));if(r=r.style,c!=null){for(var f in c)!c.hasOwnProperty(f)||i!=null&&i.hasOwnProperty(f)||(f.indexOf("--")===0?r.setProperty(f,""):f==="float"?r.cssFloat="":r[f]="");for(var g in i)f=i[g],i.hasOwnProperty(g)&&c[g]!==f&&I1(r,g,f)}else for(var v in i)i.hasOwnProperty(v)&&I1(r,v,i[v])}function bf(r){if(r.indexOf("-")===-1)return!1;switch(r){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var Z7=new Map([["acceptCharset","accept-charset"],["htmlFor","for"],["httpEquiv","http-equiv"],["crossOrigin","crossorigin"],["accentHeight","accent-height"],["alignmentBaseline","alignment-baseline"],["arabicForm","arabic-form"],["baselineShift","baseline-shift"],["capHeight","cap-height"],["clipPath","clip-path"],["clipRule","clip-rule"],["colorInterpolation","color-interpolation"],["colorInterpolationFilters","color-interpolation-filters"],["colorProfile","color-profile"],["colorRendering","color-rendering"],["dominantBaseline","dominant-baseline"],["enableBackground","enable-background"],["fillOpacity","fill-opacity"],["fillRule","fill-rule"],["floodColor","flood-color"],["floodOpacity","flood-opacity"],["fontFamily","font-family"],["fontSize","font-size"],["fontSizeAdjust","font-size-adjust"],["fontStretch","font-stretch"],["fontStyle","font-style"],["fontVariant","font-variant"],["fontWeight","font-weight"],["glyphName","glyph-name"],["glyphOrientationHorizontal","glyph-orientation-horizontal"],["glyphOrientationVertical","glyph-orientation-vertical"],["horizAdvX","horiz-adv-x"],["horizOriginX","horiz-origin-x"],["imageRendering","image-rendering"],["letterSpacing","letter-spacing"],["lightingColor","lighting-color"],["markerEnd","marker-end"],["markerMid","marker-mid"],["markerStart","marker-start"],["overlinePosition","overline-position"],["overlineThickness","overline-thickness"],["paintOrder","paint-order"],["panose-1","panose-1"],["pointerEvents","pointer-events"],["renderingIntent","rendering-intent"],["shapeRendering","shape-rendering"],["stopColor","stop-color"],["stopOpacity","stop-opacity"],["strikethroughPosition","strikethrough-position"],["strikethroughThickness","strikethrough-thickness"],["strokeDasharray","stroke-dasharray"],["strokeDashoffset","stroke-dashoffset"],["strokeLinecap","stroke-linecap"],["strokeLinejoin","stroke-linejoin"],["strokeMiterlimit","stroke-miterlimit"],["strokeOpacity","stroke-opacity"],["strokeWidth","stroke-width"],["textAnchor","text-anchor"],["textDecoration","text-decoration"],["textRendering","text-rendering"],["transformOrigin","transform-origin"],["underlinePosition","underline-position"],["underlineThickness","underline-thickness"],["unicodeBidi","unicode-bidi"],["unicodeRange","unicode-range"],["unitsPerEm","units-per-em"],["vAlphabetic","v-alphabetic"],["vHanging","v-hanging"],["vIdeographic","v-ideographic"],["vMathematical","v-mathematical"],["vectorEffect","vector-effect"],["vertAdvY","vert-adv-y"],["vertOriginX","vert-origin-x"],["vertOriginY","vert-origin-y"],["wordSpacing","word-spacing"],["writingMode","writing-mode"],["xmlnsXlink","xmlns:xlink"],["xHeight","x-height"]]),X7=/^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*:/i;function mu(r){return X7.test(""+r)?"javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')":r}function Or(){}var xf=null;function wf(r){return r=r.target||r.srcElement||window,r.correspondingUseElement&&(r=r.correspondingUseElement),r.nodeType===3?r.parentNode:r}var ro=null,so=null;function $1(r){var i=Rr(r);if(i&&(r=i.stateNode)){var c=r[Rn]||null;e:switch(r=i.stateNode,i.type){case"input":if(kl(r,c.value,c.defaultValue,c.defaultValue,c.checked,c.defaultChecked,c.type,c.name),i=c.name,c.type==="radio"&&i!=null){for(c=r;c.parentNode;)c=c.parentNode;for(c=c.querySelectorAll('input[name="'+Vn(""+i)+'"][type="radio"]'),i=0;i<c.length;i++){var f=c[i];if(f!==r&&f.form===r.form){var g=f[Rn]||null;if(!g)throw Error(a(90));kl(f,g.value,g.defaultValue,g.defaultValue,g.checked,g.defaultChecked,g.type,g.name)}}for(i=0;i<c.length;i++)f=c[i],f.form===r.form&&hu(f)}break e;case"textarea":j1(r,c.value,c.defaultValue);break e;case"select":i=c.value,i!=null&&no(r,!!c.multiple,i,!1)}}}var kf=!1;function H1(r,i,c){if(kf)return r(i,c);kf=!0;try{var f=r(i);return f}finally{if(kf=!1,(ro!==null||so!==null)&&(td(),ro&&(i=ro,r=so,so=ro=null,$1(i),r)))for(i=0;i<r.length;i++)$1(r[i])}}function Sl(r,i){var c=r.stateNode;if(c===null)return null;var f=c[Rn]||null;if(f===null)return null;c=f[i];e:switch(i){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(f=!f.disabled)||(r=r.type,f=!(r==="button"||r==="input"||r==="select"||r==="textarea")),r=!f;break e;default:r=!1}if(r)return null;if(c&&typeof c!="function")throw Error(a(231,i,typeof c));return c}var Lr=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Sf=!1;if(Lr)try{var _l={};Object.defineProperty(_l,"passive",{get:function(){Sf=!0}}),window.addEventListener("test",_l,_l),window.removeEventListener("test",_l,_l)}catch{Sf=!1}var bs=null,_f=null,pu=null;function U1(){if(pu)return pu;var r,i=_f,c=i.length,f,g="value"in bs?bs.value:bs.textContent,v=g.length;for(r=0;r<c&&i[r]===g[r];r++);var C=c-r;for(f=1;f<=C&&i[c-f]===g[v-f];f++);return pu=g.slice(r,1<f?1-f:void 0)}function gu(r){var i=r.keyCode;return"charCode"in r?(r=r.charCode,r===0&&i===13&&(r=13)):r=i,r===10&&(r=13),32<=r||r===13?r:0}function yu(){return!0}function F1(){return!1}function ta(r){function i(c,f,g,v,C){this._reactName=c,this._targetInst=g,this.type=f,this.nativeEvent=v,this.target=C,this.currentTarget=null;for(var M in r)r.hasOwnProperty(M)&&(c=r[M],this[M]=c?c(v):v[M]);return this.isDefaultPrevented=(v.defaultPrevented!=null?v.defaultPrevented:v.returnValue===!1)?yu:F1,this.isPropagationStopped=F1,this}return p(i.prototype,{preventDefault:function(){this.defaultPrevented=!0;var c=this.nativeEvent;c&&(c.preventDefault?c.preventDefault():typeof c.returnValue!="unknown"&&(c.returnValue=!1),this.isDefaultPrevented=yu)},stopPropagation:function(){var c=this.nativeEvent;c&&(c.stopPropagation?c.stopPropagation():typeof c.cancelBubble!="unknown"&&(c.cancelBubble=!0),this.isPropagationStopped=yu)},persist:function(){},isPersistent:yu}),i}var hi={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(r){return r.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},vu=ta(hi),Cl=p({},hi,{view:0,detail:0}),Q7=ta(Cl),Cf,Tf,Tl,bu=p({},Cl,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:Ef,button:0,buttons:0,relatedTarget:function(r){return r.relatedTarget===void 0?r.fromElement===r.srcElement?r.toElement:r.fromElement:r.relatedTarget},movementX:function(r){return"movementX"in r?r.movementX:(r!==Tl&&(Tl&&r.type==="mousemove"?(Cf=r.screenX-Tl.screenX,Tf=r.screenY-Tl.screenY):Tf=Cf=0,Tl=r),Cf)},movementY:function(r){return"movementY"in r?r.movementY:Tf}}),G1=ta(bu),J7=p({},bu,{dataTransfer:0}),e8=ta(J7),t8=p({},Cl,{relatedTarget:0}),Af=ta(t8),n8=p({},hi,{animationName:0,elapsedTime:0,pseudoElement:0}),a8=ta(n8),r8=p({},hi,{clipboardData:function(r){return"clipboardData"in r?r.clipboardData:window.clipboardData}}),s8=ta(r8),i8=p({},hi,{data:0}),q1=ta(i8),o8={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},l8={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},c8={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function u8(r){var i=this.nativeEvent;return i.getModifierState?i.getModifierState(r):(r=c8[r])?!!i[r]:!1}function Ef(){return u8}var d8=p({},Cl,{key:function(r){if(r.key){var i=o8[r.key]||r.key;if(i!=="Unidentified")return i}return r.type==="keypress"?(r=gu(r),r===13?"Enter":String.fromCharCode(r)):r.type==="keydown"||r.type==="keyup"?l8[r.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:Ef,charCode:function(r){return r.type==="keypress"?gu(r):0},keyCode:function(r){return r.type==="keydown"||r.type==="keyup"?r.keyCode:0},which:function(r){return r.type==="keypress"?gu(r):r.type==="keydown"||r.type==="keyup"?r.keyCode:0}}),f8=ta(d8),h8=p({},bu,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),V1=ta(h8),m8=p({},Cl,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:Ef}),p8=ta(m8),g8=p({},hi,{propertyName:0,elapsedTime:0,pseudoElement:0}),y8=ta(g8),v8=p({},bu,{deltaX:function(r){return"deltaX"in r?r.deltaX:"wheelDeltaX"in r?-r.wheelDeltaX:0},deltaY:function(r){return"deltaY"in r?r.deltaY:"wheelDeltaY"in r?-r.wheelDeltaY:"wheelDelta"in r?-r.wheelDelta:0},deltaZ:0,deltaMode:0}),b8=ta(v8),x8=p({},hi,{newState:0,oldState:0}),w8=ta(x8),k8=[9,13,27,32],Nf=Lr&&"CompositionEvent"in window,Al=null;Lr&&"documentMode"in document&&(Al=document.documentMode);var S8=Lr&&"TextEvent"in window&&!Al,W1=Lr&&(!Nf||Al&&8<Al&&11>=Al),K1=" ",Y1=!1;function Z1(r,i){switch(r){case"keyup":return k8.indexOf(i.keyCode)!==-1;case"keydown":return i.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function X1(r){return r=r.detail,typeof r=="object"&&"data"in r?r.data:null}var io=!1;function _8(r,i){switch(r){case"compositionend":return X1(i);case"keypress":return i.which!==32?null:(Y1=!0,K1);case"textInput":return r=i.data,r===K1&&Y1?null:r;default:return null}}function C8(r,i){if(io)return r==="compositionend"||!Nf&&Z1(r,i)?(r=U1(),pu=_f=bs=null,io=!1,r):null;switch(r){case"paste":return null;case"keypress":if(!(i.ctrlKey||i.altKey||i.metaKey)||i.ctrlKey&&i.altKey){if(i.char&&1<i.char.length)return i.char;if(i.which)return String.fromCharCode(i.which)}return null;case"compositionend":return W1&&i.locale!=="ko"?null:i.data;default:return null}}var T8={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function Q1(r){var i=r&&r.nodeName&&r.nodeName.toLowerCase();return i==="input"?!!T8[r.type]:i==="textarea"}function J1(r,i,c,f){ro?so?so.push(f):so=[f]:ro=f,i=ld(i,"onChange"),0<i.length&&(c=new vu("onChange","change",null,c,f),r.push({event:c,listeners:i}))}var El=null,Nl=null;function A8(r){B4(r,0)}function xu(r){var i=fi(r);if(hu(i))return r}function ey(r,i){if(r==="change")return i}var ty=!1;if(Lr){var Mf;if(Lr){var Rf="oninput"in document;if(!Rf){var ny=document.createElement("div");ny.setAttribute("oninput","return;"),Rf=typeof ny.oninput=="function"}Mf=Rf}else Mf=!1;ty=Mf&&(!document.documentMode||9<document.documentMode)}function ay(){El&&(El.detachEvent("onpropertychange",ry),Nl=El=null)}function ry(r){if(r.propertyName==="value"&&xu(Nl)){var i=[];J1(i,Nl,r,wf(r)),H1(A8,i)}}function E8(r,i,c){r==="focusin"?(ay(),El=i,Nl=c,El.attachEvent("onpropertychange",ry)):r==="focusout"&&ay()}function N8(r){if(r==="selectionchange"||r==="keyup"||r==="keydown")return xu(Nl)}function M8(r,i){if(r==="click")return xu(i)}function R8(r,i){if(r==="input"||r==="change")return xu(i)}function D8(r,i){return r===i&&(r!==0||1/r===1/i)||r!==r&&i!==i}var fa=typeof Object.is=="function"?Object.is:D8;function Ml(r,i){if(fa(r,i))return!0;if(typeof r!="object"||r===null||typeof i!="object"||i===null)return!1;var c=Object.keys(r),f=Object.keys(i);if(c.length!==f.length)return!1;for(f=0;f<c.length;f++){var g=c[f];if(!_e.call(i,g)||!fa(r[g],i[g]))return!1}return!0}function sy(r){for(;r&&r.firstChild;)r=r.firstChild;return r}function iy(r,i){var c=sy(r);r=0;for(var f;c;){if(c.nodeType===3){if(f=r+c.textContent.length,r<=i&&f>=i)return{node:c,offset:i-r};r=f}e:{for(;c;){if(c.nextSibling){c=c.nextSibling;break e}c=c.parentNode}c=void 0}c=sy(c)}}function oy(r,i){return r&&i?r===i?!0:r&&r.nodeType===3?!1:i&&i.nodeType===3?oy(r,i.parentNode):"contains"in r?r.contains(i):r.compareDocumentPosition?!!(r.compareDocumentPosition(i)&16):!1:!1}function ly(r){r=r!=null&&r.ownerDocument!=null&&r.ownerDocument.defaultView!=null?r.ownerDocument.defaultView:window;for(var i=Ea(r.document);i instanceof r.HTMLIFrameElement;){try{var c=typeof i.contentWindow.location.href=="string"}catch{c=!1}if(c)r=i.contentWindow;else break;i=Ea(r.document)}return i}function Df(r){var i=r&&r.nodeName&&r.nodeName.toLowerCase();return i&&(i==="input"&&(r.type==="text"||r.type==="search"||r.type==="tel"||r.type==="url"||r.type==="password")||i==="textarea"||r.contentEditable==="true")}var O8=Lr&&"documentMode"in document&&11>=document.documentMode,oo=null,Of=null,Rl=null,Lf=!1;function cy(r,i,c){var f=c.window===c?c.document:c.nodeType===9?c:c.ownerDocument;Lf||oo==null||oo!==Ea(f)||(f=oo,"selectionStart"in f&&Df(f)?f={start:f.selectionStart,end:f.selectionEnd}:(f=(f.ownerDocument&&f.ownerDocument.defaultView||window).getSelection(),f={anchorNode:f.anchorNode,anchorOffset:f.anchorOffset,focusNode:f.focusNode,focusOffset:f.focusOffset}),Rl&&Ml(Rl,f)||(Rl=f,f=ld(Of,"onSelect"),0<f.length&&(i=new vu("onSelect","select",null,i,c),r.push({event:i,listeners:f}),i.target=oo)))}function mi(r,i){var c={};return c[r.toLowerCase()]=i.toLowerCase(),c["Webkit"+r]="webkit"+i,c["Moz"+r]="moz"+i,c}var lo={animationend:mi("Animation","AnimationEnd"),animationiteration:mi("Animation","AnimationIteration"),animationstart:mi("Animation","AnimationStart"),transitionrun:mi("Transition","TransitionRun"),transitionstart:mi("Transition","TransitionStart"),transitioncancel:mi("Transition","TransitionCancel"),transitionend:mi("Transition","TransitionEnd")},Bf={},uy={};Lr&&(uy=document.createElement("div").style,"AnimationEvent"in window||(delete lo.animationend.animation,delete lo.animationiteration.animation,delete lo.animationstart.animation),"TransitionEvent"in window||delete lo.transitionend.transition);function pi(r){if(Bf[r])return Bf[r];if(!lo[r])return r;var i=lo[r],c;for(c in i)if(i.hasOwnProperty(c)&&c in uy)return Bf[r]=i[c];return r}var dy=pi("animationend"),fy=pi("animationiteration"),hy=pi("animationstart"),L8=pi("transitionrun"),B8=pi("transitionstart"),j8=pi("transitioncancel"),my=pi("transitionend"),py=new Map,jf="abort auxClick beforeToggle cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");jf.push("scrollEnd");function Ya(r,i){py.set(r,i),he(i,[r])}var wu=typeof reportError=="function"?reportError:function(r){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var i=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof r=="object"&&r!==null&&typeof r.message=="string"?String(r.message):String(r),error:r});if(!window.dispatchEvent(i))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",r);return}console.error(r)},Na=[],co=0,Pf=0;function ku(){for(var r=co,i=Pf=co=0;i<r;){var c=Na[i];Na[i++]=null;var f=Na[i];Na[i++]=null;var g=Na[i];Na[i++]=null;var v=Na[i];if(Na[i++]=null,f!==null&&g!==null){var C=f.pending;C===null?g.next=g:(g.next=C.next,C.next=g),f.pending=g}v!==0&&gy(c,g,v)}}function Su(r,i,c,f){Na[co++]=r,Na[co++]=i,Na[co++]=c,Na[co++]=f,Pf|=f,r.lanes|=f,r=r.alternate,r!==null&&(r.lanes|=f)}function If(r,i,c,f){return Su(r,i,c,f),_u(r)}function gi(r,i){return Su(r,null,null,i),_u(r)}function gy(r,i,c){r.lanes|=c;var f=r.alternate;f!==null&&(f.lanes|=c);for(var g=!1,v=r.return;v!==null;)v.childLanes|=c,f=v.alternate,f!==null&&(f.childLanes|=c),v.tag===22&&(r=v.stateNode,r===null||r._visibility&1||(g=!0)),r=v,v=v.return;return r.tag===3?(v=r.stateNode,g&&i!==null&&(g=31-Mn(c),r=v.hiddenUpdates,f=r[g],f===null?r[g]=[i]:f.push(i),i.lane=c|536870912),v):null}function _u(r){if(50<Jl)throw Jl=0,Wh=null,Error(a(185));for(var i=r.return;i!==null;)r=i,i=r.return;return r.tag===3?r.stateNode:null}var uo={};function P8(r,i,c,f){this.tag=r,this.key=c,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.refCleanup=this.ref=null,this.pendingProps=i,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=f,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function ha(r,i,c,f){return new P8(r,i,c,f)}function zf(r){return r=r.prototype,!(!r||!r.isReactComponent)}function Br(r,i){var c=r.alternate;return c===null?(c=ha(r.tag,i,r.key,r.mode),c.elementType=r.elementType,c.type=r.type,c.stateNode=r.stateNode,c.alternate=r,r.alternate=c):(c.pendingProps=i,c.type=r.type,c.flags=0,c.subtreeFlags=0,c.deletions=null),c.flags=r.flags&65011712,c.childLanes=r.childLanes,c.lanes=r.lanes,c.child=r.child,c.memoizedProps=r.memoizedProps,c.memoizedState=r.memoizedState,c.updateQueue=r.updateQueue,i=r.dependencies,c.dependencies=i===null?null:{lanes:i.lanes,firstContext:i.firstContext},c.sibling=r.sibling,c.index=r.index,c.ref=r.ref,c.refCleanup=r.refCleanup,c}function yy(r,i){r.flags&=65011714;var c=r.alternate;return c===null?(r.childLanes=0,r.lanes=i,r.child=null,r.subtreeFlags=0,r.memoizedProps=null,r.memoizedState=null,r.updateQueue=null,r.dependencies=null,r.stateNode=null):(r.childLanes=c.childLanes,r.lanes=c.lanes,r.child=c.child,r.subtreeFlags=0,r.deletions=null,r.memoizedProps=c.memoizedProps,r.memoizedState=c.memoizedState,r.updateQueue=c.updateQueue,r.type=c.type,i=c.dependencies,r.dependencies=i===null?null:{lanes:i.lanes,firstContext:i.firstContext}),r}function Cu(r,i,c,f,g,v){var C=0;if(f=r,typeof r=="function")zf(r)&&(C=1);else if(typeof r=="string")C=Uw(r,c,mt.current)?26:r==="html"||r==="head"||r==="body"?27:5;else e:switch(r){case J:return r=ha(31,c,i,g),r.elementType=J,r.lanes=v,r;case _:return yi(c.children,g,v,i);case T:C=8,g|=24;break;case N:return r=ha(12,c,i,g|2),r.elementType=N,r.lanes=v,r;case j:return r=ha(13,c,i,g),r.elementType=j,r.lanes=v,r;case q:return r=ha(19,c,i,g),r.elementType=q,r.lanes=v,r;default:if(typeof r=="object"&&r!==null)switch(r.$$typeof){case L:C=10;break e;case E:C=9;break e;case B:C=11;break e;case K:C=14;break e;case te:C=16,f=null;break e}C=29,c=Error(a(130,r===null?"null":typeof r,"")),f=null}return i=ha(C,c,i,g),i.elementType=r,i.type=f,i.lanes=v,i}function yi(r,i,c,f){return r=ha(7,r,f,i),r.lanes=c,r}function $f(r,i,c){return r=ha(6,r,null,i),r.lanes=c,r}function vy(r){var i=ha(18,null,null,0);return i.stateNode=r,i}function Hf(r,i,c){return i=ha(4,r.children!==null?r.children:[],r.key,i),i.lanes=c,i.stateNode={containerInfo:r.containerInfo,pendingChildren:null,implementation:r.implementation},i}var by=new WeakMap;function Ma(r,i){if(typeof r=="object"&&r!==null){var c=by.get(r);return c!==void 0?c:(i={value:r,source:i,stack:je(i)},by.set(r,i),i)}return{value:r,source:i,stack:je(i)}}var fo=[],ho=0,Tu=null,Dl=0,Ra=[],Da=0,xs=null,or=1,lr="";function jr(r,i){fo[ho++]=Dl,fo[ho++]=Tu,Tu=r,Dl=i}function xy(r,i,c){Ra[Da++]=or,Ra[Da++]=lr,Ra[Da++]=xs,xs=r;var f=or;r=lr;var g=32-Mn(f)-1;f&=~(1<<g),c+=1;var v=32-Mn(i)+g;if(30<v){var C=g-g%5;v=(f&(1<<C)-1).toString(32),f>>=C,g-=C,or=1<<32-Mn(i)+g|c<<g|f,lr=v+r}else or=1<<v|c<<g|f,lr=r}function Uf(r){r.return!==null&&(jr(r,1),xy(r,1,0))}function Ff(r){for(;r===Tu;)Tu=fo[--ho],fo[ho]=null,Dl=fo[--ho],fo[ho]=null;for(;r===xs;)xs=Ra[--Da],Ra[Da]=null,lr=Ra[--Da],Ra[Da]=null,or=Ra[--Da],Ra[Da]=null}function wy(r,i){Ra[Da++]=or,Ra[Da++]=lr,Ra[Da++]=xs,or=i.id,lr=i.overflow,xs=r}var Dn=null,zt=null,dt=!1,ws=null,Oa=!1,Gf=Error(a(519));function ks(r){var i=Error(a(418,1<arguments.length&&arguments[1]!==void 0&&arguments[1]?"text":"HTML",""));throw Ol(Ma(i,r)),Gf}function ky(r){var i=r.stateNode,c=r.type,f=r.memoizedProps;switch(i[rn]=r,i[Rn]=f,c){case"dialog":ot("cancel",i),ot("close",i);break;case"iframe":case"object":case"embed":ot("load",i);break;case"video":case"audio":for(c=0;c<tc.length;c++)ot(tc[c],i);break;case"source":ot("error",i);break;case"img":case"image":case"link":ot("error",i),ot("load",i);break;case"details":ot("toggle",i);break;case"input":ot("invalid",i),B1(i,f.value,f.defaultValue,f.checked,f.defaultChecked,f.type,f.name,!0);break;case"select":ot("invalid",i);break;case"textarea":ot("invalid",i),P1(i,f.value,f.defaultValue,f.children)}c=f.children,typeof c!="string"&&typeof c!="number"&&typeof c!="bigint"||i.textContent===""+c||f.suppressHydrationWarning===!0||z4(i.textContent,c)?(f.popover!=null&&(ot("beforetoggle",i),ot("toggle",i)),f.onScroll!=null&&ot("scroll",i),f.onScrollEnd!=null&&ot("scrollend",i),f.onClick!=null&&(i.onclick=Or),i=!0):i=!1,i||ks(r,!0)}function Sy(r){for(Dn=r.return;Dn;)switch(Dn.tag){case 5:case 31:case 13:Oa=!1;return;case 27:case 3:Oa=!0;return;default:Dn=Dn.return}}function mo(r){if(r!==Dn)return!1;if(!dt)return Sy(r),dt=!0,!1;var i=r.tag,c;if((c=i!==3&&i!==27)&&((c=i===5)&&(c=r.type,c=!(c!=="form"&&c!=="button")||lm(r.type,r.memoizedProps)),c=!c),c&&zt&&ks(r),Sy(r),i===13){if(r=r.memoizedState,r=r!==null?r.dehydrated:null,!r)throw Error(a(317));zt=K4(r)}else if(i===31){if(r=r.memoizedState,r=r!==null?r.dehydrated:null,!r)throw Error(a(317));zt=K4(r)}else i===27?(i=zt,js(r.type)?(r=hm,hm=null,zt=r):zt=i):zt=Dn?Ba(r.stateNode.nextSibling):null;return!0}function vi(){zt=Dn=null,dt=!1}function qf(){var r=ws;return r!==null&&(sa===null?sa=r:sa.push.apply(sa,r),ws=null),r}function Ol(r){ws===null?ws=[r]:ws.push(r)}var Vf=qe(null),bi=null,Pr=null;function Ss(r,i,c){Me(Vf,i._currentValue),i._currentValue=c}function Ir(r){r._currentValue=Vf.current,Ie(Vf)}function Wf(r,i,c){for(;r!==null;){var f=r.alternate;if((r.childLanes&i)!==i?(r.childLanes|=i,f!==null&&(f.childLanes|=i)):f!==null&&(f.childLanes&i)!==i&&(f.childLanes|=i),r===c)break;r=r.return}}function Kf(r,i,c,f){var g=r.child;for(g!==null&&(g.return=r);g!==null;){var v=g.dependencies;if(v!==null){var C=g.child;v=v.firstContext;e:for(;v!==null;){var M=v;v=g;for(var z=0;z<i.length;z++)if(M.context===i[z]){v.lanes|=c,M=v.alternate,M!==null&&(M.lanes|=c),Wf(v.return,c,r),f||(C=null);break e}v=M.next}}else if(g.tag===18){if(C=g.return,C===null)throw Error(a(341));C.lanes|=c,v=C.alternate,v!==null&&(v.lanes|=c),Wf(C,c,r),C=null}else C=g.child;if(C!==null)C.return=g;else for(C=g;C!==null;){if(C===r){C=null;break}if(g=C.sibling,g!==null){g.return=C.return,C=g;break}C=C.return}g=C}}function po(r,i,c,f){r=null;for(var g=i,v=!1;g!==null;){if(!v){if((g.flags&524288)!==0)v=!0;else if((g.flags&262144)!==0)break}if(g.tag===10){var C=g.alternate;if(C===null)throw Error(a(387));if(C=C.memoizedProps,C!==null){var M=g.type;fa(g.pendingProps.value,C.value)||(r!==null?r.push(M):r=[M])}}else if(g===an.current){if(C=g.alternate,C===null)throw Error(a(387));C.memoizedState.memoizedState!==g.memoizedState.memoizedState&&(r!==null?r.push(ic):r=[ic])}g=g.return}r!==null&&Kf(i,r,c,f),i.flags|=262144}function Au(r){for(r=r.firstContext;r!==null;){if(!fa(r.context._currentValue,r.memoizedValue))return!0;r=r.next}return!1}function xi(r){bi=r,Pr=null,r=r.dependencies,r!==null&&(r.firstContext=null)}function On(r){return _y(bi,r)}function Eu(r,i){return bi===null&&xi(r),_y(r,i)}function _y(r,i){var c=i._currentValue;if(i={context:i,memoizedValue:c,next:null},Pr===null){if(r===null)throw Error(a(308));Pr=i,r.dependencies={lanes:0,firstContext:i},r.flags|=524288}else Pr=Pr.next=i;return c}var I8=typeof AbortController<"u"?AbortController:function(){var r=[],i=this.signal={aborted:!1,addEventListener:function(c,f){r.push(f)}};this.abort=function(){i.aborted=!0,r.forEach(function(c){return c()})}},z8=n.unstable_scheduleCallback,$8=n.unstable_NormalPriority,on={$$typeof:L,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function Yf(){return{controller:new I8,data:new Map,refCount:0}}function Ll(r){r.refCount--,r.refCount===0&&z8($8,function(){r.controller.abort()})}var Bl=null,Zf=0,go=0,yo=null;function H8(r,i){if(Bl===null){var c=Bl=[];Zf=0,go=Jh(),yo={status:"pending",value:void 0,then:function(f){c.push(f)}}}return Zf++,i.then(Cy,Cy),i}function Cy(){if(--Zf===0&&Bl!==null){yo!==null&&(yo.status="fulfilled");var r=Bl;Bl=null,go=0,yo=null;for(var i=0;i<r.length;i++)(0,r[i])()}}function U8(r,i){var c=[],f={status:"pending",value:null,reason:null,then:function(g){c.push(g)}};return r.then(function(){f.status="fulfilled",f.value=i;for(var g=0;g<c.length;g++)(0,c[g])(i)},function(g){for(f.status="rejected",f.reason=g,g=0;g<c.length;g++)(0,c[g])(void 0)}),f}var Ty=G.S;G.S=function(r,i){c4=yt(),typeof i=="object"&&i!==null&&typeof i.then=="function"&&H8(r,i),Ty!==null&&Ty(r,i)};var wi=qe(null);function Xf(){var r=wi.current;return r!==null?r:jt.pooledCache}function Nu(r,i){i===null?Me(wi,wi.current):Me(wi,i.pool)}function Ay(){var r=Xf();return r===null?null:{parent:on._currentValue,pool:r}}var vo=Error(a(460)),Qf=Error(a(474)),Mu=Error(a(542)),Ru={then:function(){}};function Ey(r){return r=r.status,r==="fulfilled"||r==="rejected"}function Ny(r,i,c){switch(c=r[c],c===void 0?r.push(i):c!==i&&(i.then(Or,Or),i=c),i.status){case"fulfilled":return i.value;case"rejected":throw r=i.reason,Ry(r),r;default:if(typeof i.status=="string")i.then(Or,Or);else{if(r=jt,r!==null&&100<r.shellSuspendCounter)throw Error(a(482));r=i,r.status="pending",r.then(function(f){if(i.status==="pending"){var g=i;g.status="fulfilled",g.value=f}},function(f){if(i.status==="pending"){var g=i;g.status="rejected",g.reason=f}})}switch(i.status){case"fulfilled":return i.value;case"rejected":throw r=i.reason,Ry(r),r}throw Si=i,vo}}function ki(r){try{var i=r._init;return i(r._payload)}catch(c){throw c!==null&&typeof c=="object"&&typeof c.then=="function"?(Si=c,vo):c}}var Si=null;function My(){if(Si===null)throw Error(a(459));var r=Si;return Si=null,r}function Ry(r){if(r===vo||r===Mu)throw Error(a(483))}var bo=null,jl=0;function Du(r){var i=jl;return jl+=1,bo===null&&(bo=[]),Ny(bo,r,i)}function Pl(r,i){i=i.props.ref,r.ref=i!==void 0?i:null}function Ou(r,i){throw i.$$typeof===b?Error(a(525)):(r=Object.prototype.toString.call(i),Error(a(31,r==="[object Object]"?"object with keys {"+Object.keys(i).join(", ")+"}":r)))}function Dy(r){function i(F,$){if(r){var V=F.deletions;V===null?(F.deletions=[$],F.flags|=16):V.push($)}}function c(F,$){if(!r)return null;for(;$!==null;)i(F,$),$=$.sibling;return null}function f(F){for(var $=new Map;F!==null;)F.key!==null?$.set(F.key,F):$.set(F.index,F),F=F.sibling;return $}function g(F,$){return F=Br(F,$),F.index=0,F.sibling=null,F}function v(F,$,V){return F.index=V,r?(V=F.alternate,V!==null?(V=V.index,V<$?(F.flags|=67108866,$):V):(F.flags|=67108866,$)):(F.flags|=1048576,$)}function C(F){return r&&F.alternate===null&&(F.flags|=67108866),F}function M(F,$,V,ie){return $===null||$.tag!==6?($=$f(V,F.mode,ie),$.return=F,$):($=g($,V),$.return=F,$)}function z(F,$,V,ie){var Oe=V.type;return Oe===_?ae(F,$,V.props.children,ie,V.key):$!==null&&($.elementType===Oe||typeof Oe=="object"&&Oe!==null&&Oe.$$typeof===te&&ki(Oe)===$.type)?($=g($,V.props),Pl($,V),$.return=F,$):($=Cu(V.type,V.key,V.props,null,F.mode,ie),Pl($,V),$.return=F,$)}function Y(F,$,V,ie){return $===null||$.tag!==4||$.stateNode.containerInfo!==V.containerInfo||$.stateNode.implementation!==V.implementation?($=Hf(V,F.mode,ie),$.return=F,$):($=g($,V.children||[]),$.return=F,$)}function ae(F,$,V,ie,Oe){return $===null||$.tag!==7?($=yi(V,F.mode,ie,Oe),$.return=F,$):($=g($,V),$.return=F,$)}function oe(F,$,V){if(typeof $=="string"&&$!==""||typeof $=="number"||typeof $=="bigint")return $=$f(""+$,F.mode,V),$.return=F,$;if(typeof $=="object"&&$!==null){switch($.$$typeof){case x:return V=Cu($.type,$.key,$.props,null,F.mode,V),Pl(V,$),V.return=F,V;case k:return $=Hf($,F.mode,V),$.return=F,$;case te:return $=ki($),oe(F,$,V)}if(xe($)||fe($))return $=yi($,F.mode,V,null),$.return=F,$;if(typeof $.then=="function")return oe(F,Du($),V);if($.$$typeof===L)return oe(F,Eu(F,$),V);Ou(F,$)}return null}function Z(F,$,V,ie){var Oe=$!==null?$.key:null;if(typeof V=="string"&&V!==""||typeof V=="number"||typeof V=="bigint")return Oe!==null?null:M(F,$,""+V,ie);if(typeof V=="object"&&V!==null){switch(V.$$typeof){case x:return V.key===Oe?z(F,$,V,ie):null;case k:return V.key===Oe?Y(F,$,V,ie):null;case te:return V=ki(V),Z(F,$,V,ie)}if(xe(V)||fe(V))return Oe!==null?null:ae(F,$,V,ie,null);if(typeof V.then=="function")return Z(F,$,Du(V),ie);if(V.$$typeof===L)return Z(F,$,Eu(F,V),ie);Ou(F,V)}return null}function Q(F,$,V,ie,Oe){if(typeof ie=="string"&&ie!==""||typeof ie=="number"||typeof ie=="bigint")return F=F.get(V)||null,M($,F,""+ie,Oe);if(typeof ie=="object"&&ie!==null){switch(ie.$$typeof){case x:return F=F.get(ie.key===null?V:ie.key)||null,z($,F,ie,Oe);case k:return F=F.get(ie.key===null?V:ie.key)||null,Y($,F,ie,Oe);case te:return ie=ki(ie),Q(F,$,V,ie,Oe)}if(xe(ie)||fe(ie))return F=F.get(V)||null,ae($,F,ie,Oe,null);if(typeof ie.then=="function")return Q(F,$,V,Du(ie),Oe);if(ie.$$typeof===L)return Q(F,$,V,Eu($,ie),Oe);Ou($,ie)}return null}function Ce(F,$,V,ie){for(var Oe=null,vt=null,Ae=$,nt=$=0,ut=null;Ae!==null&&nt<V.length;nt++){Ae.index>nt?(ut=Ae,Ae=null):ut=Ae.sibling;var bt=Z(F,Ae,V[nt],ie);if(bt===null){Ae===null&&(Ae=ut);break}r&&Ae&&bt.alternate===null&&i(F,Ae),$=v(bt,$,nt),vt===null?Oe=bt:vt.sibling=bt,vt=bt,Ae=ut}if(nt===V.length)return c(F,Ae),dt&&jr(F,nt),Oe;if(Ae===null){for(;nt<V.length;nt++)Ae=oe(F,V[nt],ie),Ae!==null&&($=v(Ae,$,nt),vt===null?Oe=Ae:vt.sibling=Ae,vt=Ae);return dt&&jr(F,nt),Oe}for(Ae=f(Ae);nt<V.length;nt++)ut=Q(Ae,F,nt,V[nt],ie),ut!==null&&(r&&ut.alternate!==null&&Ae.delete(ut.key===null?nt:ut.key),$=v(ut,$,nt),vt===null?Oe=ut:vt.sibling=ut,vt=ut);return r&&Ae.forEach(function(Hs){return i(F,Hs)}),dt&&jr(F,nt),Oe}function Pe(F,$,V,ie){if(V==null)throw Error(a(151));for(var Oe=null,vt=null,Ae=$,nt=$=0,ut=null,bt=V.next();Ae!==null&&!bt.done;nt++,bt=V.next()){Ae.index>nt?(ut=Ae,Ae=null):ut=Ae.sibling;var Hs=Z(F,Ae,bt.value,ie);if(Hs===null){Ae===null&&(Ae=ut);break}r&&Ae&&Hs.alternate===null&&i(F,Ae),$=v(Hs,$,nt),vt===null?Oe=Hs:vt.sibling=Hs,vt=Hs,Ae=ut}if(bt.done)return c(F,Ae),dt&&jr(F,nt),Oe;if(Ae===null){for(;!bt.done;nt++,bt=V.next())bt=oe(F,bt.value,ie),bt!==null&&($=v(bt,$,nt),vt===null?Oe=bt:vt.sibling=bt,vt=bt);return dt&&jr(F,nt),Oe}for(Ae=f(Ae);!bt.done;nt++,bt=V.next())bt=Q(Ae,F,nt,bt.value,ie),bt!==null&&(r&&bt.alternate!==null&&Ae.delete(bt.key===null?nt:bt.key),$=v(bt,$,nt),vt===null?Oe=bt:vt.sibling=bt,vt=bt);return r&&Ae.forEach(function(Jw){return i(F,Jw)}),dt&&jr(F,nt),Oe}function Bt(F,$,V,ie){if(typeof V=="object"&&V!==null&&V.type===_&&V.key===null&&(V=V.props.children),typeof V=="object"&&V!==null){switch(V.$$typeof){case x:e:{for(var Oe=V.key;$!==null;){if($.key===Oe){if(Oe=V.type,Oe===_){if($.tag===7){c(F,$.sibling),ie=g($,V.props.children),ie.return=F,F=ie;break e}}else if($.elementType===Oe||typeof Oe=="object"&&Oe!==null&&Oe.$$typeof===te&&ki(Oe)===$.type){c(F,$.sibling),ie=g($,V.props),Pl(ie,V),ie.return=F,F=ie;break e}c(F,$);break}else i(F,$);$=$.sibling}V.type===_?(ie=yi(V.props.children,F.mode,ie,V.key),ie.return=F,F=ie):(ie=Cu(V.type,V.key,V.props,null,F.mode,ie),Pl(ie,V),ie.return=F,F=ie)}return C(F);case k:e:{for(Oe=V.key;$!==null;){if($.key===Oe)if($.tag===4&&$.stateNode.containerInfo===V.containerInfo&&$.stateNode.implementation===V.implementation){c(F,$.sibling),ie=g($,V.children||[]),ie.return=F,F=ie;break e}else{c(F,$);break}else i(F,$);$=$.sibling}ie=Hf(V,F.mode,ie),ie.return=F,F=ie}return C(F);case te:return V=ki(V),Bt(F,$,V,ie)}if(xe(V))return Ce(F,$,V,ie);if(fe(V)){if(Oe=fe(V),typeof Oe!="function")throw Error(a(150));return V=Oe.call(V),Pe(F,$,V,ie)}if(typeof V.then=="function")return Bt(F,$,Du(V),ie);if(V.$$typeof===L)return Bt(F,$,Eu(F,V),ie);Ou(F,V)}return typeof V=="string"&&V!==""||typeof V=="number"||typeof V=="bigint"?(V=""+V,$!==null&&$.tag===6?(c(F,$.sibling),ie=g($,V),ie.return=F,F=ie):(c(F,$),ie=$f(V,F.mode,ie),ie.return=F,F=ie),C(F)):c(F,$)}return function(F,$,V,ie){try{jl=0;var Oe=Bt(F,$,V,ie);return bo=null,Oe}catch(Ae){if(Ae===vo||Ae===Mu)throw Ae;var vt=ha(29,Ae,null,F.mode);return vt.lanes=ie,vt.return=F,vt}finally{}}}var _i=Dy(!0),Oy=Dy(!1),_s=!1;function Jf(r){r.updateQueue={baseState:r.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function eh(r,i){r=r.updateQueue,i.updateQueue===r&&(i.updateQueue={baseState:r.baseState,firstBaseUpdate:r.firstBaseUpdate,lastBaseUpdate:r.lastBaseUpdate,shared:r.shared,callbacks:null})}function Cs(r){return{lane:r,tag:0,payload:null,callback:null,next:null}}function Ts(r,i,c){var f=r.updateQueue;if(f===null)return null;if(f=f.shared,(_t&2)!==0){var g=f.pending;return g===null?i.next=i:(i.next=g.next,g.next=i),f.pending=i,i=_u(r),gy(r,null,c),i}return Su(r,f,i,c),_u(r)}function Il(r,i,c){if(i=i.updateQueue,i!==null&&(i=i.shared,(c&4194048)!==0)){var f=i.lanes;f&=r.pendingLanes,c|=f,i.lanes=c,du(r,c)}}function th(r,i){var c=r.updateQueue,f=r.alternate;if(f!==null&&(f=f.updateQueue,c===f)){var g=null,v=null;if(c=c.firstBaseUpdate,c!==null){do{var C={lane:c.lane,tag:c.tag,payload:c.payload,callback:null,next:null};v===null?g=v=C:v=v.next=C,c=c.next}while(c!==null);v===null?g=v=i:v=v.next=i}else g=v=i;c={baseState:f.baseState,firstBaseUpdate:g,lastBaseUpdate:v,shared:f.shared,callbacks:f.callbacks},r.updateQueue=c;return}r=c.lastBaseUpdate,r===null?c.firstBaseUpdate=i:r.next=i,c.lastBaseUpdate=i}var nh=!1;function zl(){if(nh){var r=yo;if(r!==null)throw r}}function $l(r,i,c,f){nh=!1;var g=r.updateQueue;_s=!1;var v=g.firstBaseUpdate,C=g.lastBaseUpdate,M=g.shared.pending;if(M!==null){g.shared.pending=null;var z=M,Y=z.next;z.next=null,C===null?v=Y:C.next=Y,C=z;var ae=r.alternate;ae!==null&&(ae=ae.updateQueue,M=ae.lastBaseUpdate,M!==C&&(M===null?ae.firstBaseUpdate=Y:M.next=Y,ae.lastBaseUpdate=z))}if(v!==null){var oe=g.baseState;C=0,ae=Y=z=null,M=v;do{var Z=M.lane&-536870913,Q=Z!==M.lane;if(Q?(ct&Z)===Z:(f&Z)===Z){Z!==0&&Z===go&&(nh=!0),ae!==null&&(ae=ae.next={lane:0,tag:M.tag,payload:M.payload,callback:null,next:null});e:{var Ce=r,Pe=M;Z=i;var Bt=c;switch(Pe.tag){case 1:if(Ce=Pe.payload,typeof Ce=="function"){oe=Ce.call(Bt,oe,Z);break e}oe=Ce;break e;case 3:Ce.flags=Ce.flags&-65537|128;case 0:if(Ce=Pe.payload,Z=typeof Ce=="function"?Ce.call(Bt,oe,Z):Ce,Z==null)break e;oe=p({},oe,Z);break e;case 2:_s=!0}}Z=M.callback,Z!==null&&(r.flags|=64,Q&&(r.flags|=8192),Q=g.callbacks,Q===null?g.callbacks=[Z]:Q.push(Z))}else Q={lane:Z,tag:M.tag,payload:M.payload,callback:M.callback,next:null},ae===null?(Y=ae=Q,z=oe):ae=ae.next=Q,C|=Z;if(M=M.next,M===null){if(M=g.shared.pending,M===null)break;Q=M,M=Q.next,Q.next=null,g.lastBaseUpdate=Q,g.shared.pending=null}}while(!0);ae===null&&(z=oe),g.baseState=z,g.firstBaseUpdate=Y,g.lastBaseUpdate=ae,v===null&&(g.shared.lanes=0),Rs|=C,r.lanes=C,r.memoizedState=oe}}function Ly(r,i){if(typeof r!="function")throw Error(a(191,r));r.call(i)}function By(r,i){var c=r.callbacks;if(c!==null)for(r.callbacks=null,r=0;r<c.length;r++)Ly(c[r],i)}var xo=qe(null),Lu=qe(0);function jy(r,i){r=Wr,Me(Lu,r),Me(xo,i),Wr=r|i.baseLanes}function ah(){Me(Lu,Wr),Me(xo,xo.current)}function rh(){Wr=Lu.current,Ie(xo),Ie(Lu)}var ma=qe(null),La=null;function As(r){var i=r.alternate;Me(en,en.current&1),Me(ma,r),La===null&&(i===null||xo.current!==null||i.memoizedState!==null)&&(La=r)}function sh(r){Me(en,en.current),Me(ma,r),La===null&&(La=r)}function Py(r){r.tag===22?(Me(en,en.current),Me(ma,r),La===null&&(La=r)):Es()}function Es(){Me(en,en.current),Me(ma,ma.current)}function pa(r){Ie(ma),La===r&&(La=null),Ie(en)}var en=qe(0);function Bu(r){for(var i=r;i!==null;){if(i.tag===13){var c=i.memoizedState;if(c!==null&&(c=c.dehydrated,c===null||dm(c)||fm(c)))return i}else if(i.tag===19&&(i.memoizedProps.revealOrder==="forwards"||i.memoizedProps.revealOrder==="backwards"||i.memoizedProps.revealOrder==="unstable_legacy-backwards"||i.memoizedProps.revealOrder==="together")){if((i.flags&128)!==0)return i}else if(i.child!==null){i.child.return=i,i=i.child;continue}if(i===r)break;for(;i.sibling===null;){if(i.return===null||i.return===r)return null;i=i.return}i.sibling.return=i.return,i=i.sibling}return null}var zr=0,tt=null,Ot=null,ln=null,ju=!1,wo=!1,Ci=!1,Pu=0,Hl=0,ko=null,F8=0;function Zt(){throw Error(a(321))}function ih(r,i){if(i===null)return!1;for(var c=0;c<i.length&&c<r.length;c++)if(!fa(r[c],i[c]))return!1;return!0}function oh(r,i,c,f,g,v){return zr=v,tt=i,i.memoizedState=null,i.updateQueue=null,i.lanes=0,G.H=r===null||r.memoizedState===null?xv:kh,Ci=!1,v=c(f,g),Ci=!1,wo&&(v=zy(i,c,f,g)),Iy(r),v}function Iy(r){G.H=Gl;var i=Ot!==null&&Ot.next!==null;if(zr=0,ln=Ot=tt=null,ju=!1,Hl=0,ko=null,i)throw Error(a(300));r===null||cn||(r=r.dependencies,r!==null&&Au(r)&&(cn=!0))}function zy(r,i,c,f){tt=r;var g=0;do{if(wo&&(ko=null),Hl=0,wo=!1,25<=g)throw Error(a(301));if(g+=1,ln=Ot=null,r.updateQueue!=null){var v=r.updateQueue;v.lastEffect=null,v.events=null,v.stores=null,v.memoCache!=null&&(v.memoCache.index=0)}G.H=wv,v=i(c,f)}while(wo);return v}function G8(){var r=G.H,i=r.useState()[0];return i=typeof i.then=="function"?Ul(i):i,r=r.useState()[0],(Ot!==null?Ot.memoizedState:null)!==r&&(tt.flags|=1024),i}function lh(){var r=Pu!==0;return Pu=0,r}function ch(r,i,c){i.updateQueue=r.updateQueue,i.flags&=-2053,r.lanes&=~c}function uh(r){if(ju){for(r=r.memoizedState;r!==null;){var i=r.queue;i!==null&&(i.pending=null),r=r.next}ju=!1}zr=0,ln=Ot=tt=null,wo=!1,Hl=Pu=0,ko=null}function Wn(){var r={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return ln===null?tt.memoizedState=ln=r:ln=ln.next=r,ln}function tn(){if(Ot===null){var r=tt.alternate;r=r!==null?r.memoizedState:null}else r=Ot.next;var i=ln===null?tt.memoizedState:ln.next;if(i!==null)ln=i,Ot=r;else{if(r===null)throw tt.alternate===null?Error(a(467)):Error(a(310));Ot=r,r={memoizedState:Ot.memoizedState,baseState:Ot.baseState,baseQueue:Ot.baseQueue,queue:Ot.queue,next:null},ln===null?tt.memoizedState=ln=r:ln=ln.next=r}return ln}function Iu(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function Ul(r){var i=Hl;return Hl+=1,ko===null&&(ko=[]),r=Ny(ko,r,i),i=tt,(ln===null?i.memoizedState:ln.next)===null&&(i=i.alternate,G.H=i===null||i.memoizedState===null?xv:kh),r}function zu(r){if(r!==null&&typeof r=="object"){if(typeof r.then=="function")return Ul(r);if(r.$$typeof===L)return On(r)}throw Error(a(438,String(r)))}function dh(r){var i=null,c=tt.updateQueue;if(c!==null&&(i=c.memoCache),i==null){var f=tt.alternate;f!==null&&(f=f.updateQueue,f!==null&&(f=f.memoCache,f!=null&&(i={data:f.data.map(function(g){return g.slice()}),index:0})))}if(i==null&&(i={data:[],index:0}),c===null&&(c=Iu(),tt.updateQueue=c),c.memoCache=i,c=i.data[i.index],c===void 0)for(c=i.data[i.index]=Array(r),f=0;f<r;f++)c[f]=be;return i.index++,c}function $r(r,i){return typeof i=="function"?i(r):i}function $u(r){var i=tn();return fh(i,Ot,r)}function fh(r,i,c){var f=r.queue;if(f===null)throw Error(a(311));f.lastRenderedReducer=c;var g=r.baseQueue,v=f.pending;if(v!==null){if(g!==null){var C=g.next;g.next=v.next,v.next=C}i.baseQueue=g=v,f.pending=null}if(v=r.baseState,g===null)r.memoizedState=v;else{i=g.next;var M=C=null,z=null,Y=i,ae=!1;do{var oe=Y.lane&-536870913;if(oe!==Y.lane?(ct&oe)===oe:(zr&oe)===oe){var Z=Y.revertLane;if(Z===0)z!==null&&(z=z.next={lane:0,revertLane:0,gesture:null,action:Y.action,hasEagerState:Y.hasEagerState,eagerState:Y.eagerState,next:null}),oe===go&&(ae=!0);else if((zr&Z)===Z){Y=Y.next,Z===go&&(ae=!0);continue}else oe={lane:0,revertLane:Y.revertLane,gesture:null,action:Y.action,hasEagerState:Y.hasEagerState,eagerState:Y.eagerState,next:null},z===null?(M=z=oe,C=v):z=z.next=oe,tt.lanes|=Z,Rs|=Z;oe=Y.action,Ci&&c(v,oe),v=Y.hasEagerState?Y.eagerState:c(v,oe)}else Z={lane:oe,revertLane:Y.revertLane,gesture:Y.gesture,action:Y.action,hasEagerState:Y.hasEagerState,eagerState:Y.eagerState,next:null},z===null?(M=z=Z,C=v):z=z.next=Z,tt.lanes|=oe,Rs|=oe;Y=Y.next}while(Y!==null&&Y!==i);if(z===null?C=v:z.next=M,!fa(v,r.memoizedState)&&(cn=!0,ae&&(c=yo,c!==null)))throw c;r.memoizedState=v,r.baseState=C,r.baseQueue=z,f.lastRenderedState=v}return g===null&&(f.lanes=0),[r.memoizedState,f.dispatch]}function hh(r){var i=tn(),c=i.queue;if(c===null)throw Error(a(311));c.lastRenderedReducer=r;var f=c.dispatch,g=c.pending,v=i.memoizedState;if(g!==null){c.pending=null;var C=g=g.next;do v=r(v,C.action),C=C.next;while(C!==g);fa(v,i.memoizedState)||(cn=!0),i.memoizedState=v,i.baseQueue===null&&(i.baseState=v),c.lastRenderedState=v}return[v,f]}function $y(r,i,c){var f=tt,g=tn(),v=dt;if(v){if(c===void 0)throw Error(a(407));c=c()}else c=i();var C=!fa((Ot||g).memoizedState,c);if(C&&(g.memoizedState=c,cn=!0),g=g.queue,gh(Fy.bind(null,f,g,r),[r]),g.getSnapshot!==i||C||ln!==null&&ln.memoizedState.tag&1){if(f.flags|=2048,So(9,{destroy:void 0},Uy.bind(null,f,g,c,i),null),jt===null)throw Error(a(349));v||(zr&127)!==0||Hy(f,i,c)}return c}function Hy(r,i,c){r.flags|=16384,r={getSnapshot:i,value:c},i=tt.updateQueue,i===null?(i=Iu(),tt.updateQueue=i,i.stores=[r]):(c=i.stores,c===null?i.stores=[r]:c.push(r))}function Uy(r,i,c,f){i.value=c,i.getSnapshot=f,Gy(i)&&qy(r)}function Fy(r,i,c){return c(function(){Gy(i)&&qy(r)})}function Gy(r){var i=r.getSnapshot;r=r.value;try{var c=i();return!fa(r,c)}catch{return!0}}function qy(r){var i=gi(r,2);i!==null&&ia(i,r,2)}function mh(r){var i=Wn();if(typeof r=="function"){var c=r;if(r=c(),Ci){da(!0);try{c()}finally{da(!1)}}}return i.memoizedState=i.baseState=r,i.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:$r,lastRenderedState:r},i}function Vy(r,i,c,f){return r.baseState=c,fh(r,Ot,typeof f=="function"?f:$r)}function q8(r,i,c,f,g){if(Fu(r))throw Error(a(485));if(r=i.action,r!==null){var v={payload:g,action:r,next:null,isTransition:!0,status:"pending",value:null,reason:null,listeners:[],then:function(C){v.listeners.push(C)}};G.T!==null?c(!0):v.isTransition=!1,f(v),c=i.pending,c===null?(v.next=i.pending=v,Wy(i,v)):(v.next=c.next,i.pending=c.next=v)}}function Wy(r,i){var c=i.action,f=i.payload,g=r.state;if(i.isTransition){var v=G.T,C={};G.T=C;try{var M=c(g,f),z=G.S;z!==null&&z(C,M),Ky(r,i,M)}catch(Y){ph(r,i,Y)}finally{v!==null&&C.types!==null&&(v.types=C.types),G.T=v}}else try{v=c(g,f),Ky(r,i,v)}catch(Y){ph(r,i,Y)}}function Ky(r,i,c){c!==null&&typeof c=="object"&&typeof c.then=="function"?c.then(function(f){Yy(r,i,f)},function(f){return ph(r,i,f)}):Yy(r,i,c)}function Yy(r,i,c){i.status="fulfilled",i.value=c,Zy(i),r.state=c,i=r.pending,i!==null&&(c=i.next,c===i?r.pending=null:(c=c.next,i.next=c,Wy(r,c)))}function ph(r,i,c){var f=r.pending;if(r.pending=null,f!==null){f=f.next;do i.status="rejected",i.reason=c,Zy(i),i=i.next;while(i!==f)}r.action=null}function Zy(r){r=r.listeners;for(var i=0;i<r.length;i++)(0,r[i])()}function Xy(r,i){return i}function Qy(r,i){if(dt){var c=jt.formState;if(c!==null){e:{var f=tt;if(dt){if(zt){t:{for(var g=zt,v=Oa;g.nodeType!==8;){if(!v){g=null;break t}if(g=Ba(g.nextSibling),g===null){g=null;break t}}v=g.data,g=v==="F!"||v==="F"?g:null}if(g){zt=Ba(g.nextSibling),f=g.data==="F!";break e}}ks(f)}f=!1}f&&(i=c[0])}}return c=Wn(),c.memoizedState=c.baseState=i,f={pending:null,lanes:0,dispatch:null,lastRenderedReducer:Xy,lastRenderedState:i},c.queue=f,c=yv.bind(null,tt,f),f.dispatch=c,f=mh(!1),v=wh.bind(null,tt,!1,f.queue),f=Wn(),g={state:i,dispatch:null,action:r,pending:null},f.queue=g,c=q8.bind(null,tt,g,v,c),g.dispatch=c,f.memoizedState=r,[i,c,!1]}function Jy(r){var i=tn();return ev(i,Ot,r)}function ev(r,i,c){if(i=fh(r,i,Xy)[0],r=$u($r)[0],typeof i=="object"&&i!==null&&typeof i.then=="function")try{var f=Ul(i)}catch(C){throw C===vo?Mu:C}else f=i;i=tn();var g=i.queue,v=g.dispatch;return c!==i.memoizedState&&(tt.flags|=2048,So(9,{destroy:void 0},V8.bind(null,g,c),null)),[f,v,r]}function V8(r,i){r.action=i}function tv(r){var i=tn(),c=Ot;if(c!==null)return ev(i,c,r);tn(),i=i.memoizedState,c=tn();var f=c.queue.dispatch;return c.memoizedState=r,[i,f,!1]}function So(r,i,c,f){return r={tag:r,create:c,deps:f,inst:i,next:null},i=tt.updateQueue,i===null&&(i=Iu(),tt.updateQueue=i),c=i.lastEffect,c===null?i.lastEffect=r.next=r:(f=c.next,c.next=r,r.next=f,i.lastEffect=r),r}function nv(){return tn().memoizedState}function Hu(r,i,c,f){var g=Wn();tt.flags|=r,g.memoizedState=So(1|i,{destroy:void 0},c,f===void 0?null:f)}function Uu(r,i,c,f){var g=tn();f=f===void 0?null:f;var v=g.memoizedState.inst;Ot!==null&&f!==null&&ih(f,Ot.memoizedState.deps)?g.memoizedState=So(i,v,c,f):(tt.flags|=r,g.memoizedState=So(1|i,v,c,f))}function av(r,i){Hu(8390656,8,r,i)}function gh(r,i){Uu(2048,8,r,i)}function W8(r){tt.flags|=4;var i=tt.updateQueue;if(i===null)i=Iu(),tt.updateQueue=i,i.events=[r];else{var c=i.events;c===null?i.events=[r]:c.push(r)}}function rv(r){var i=tn().memoizedState;return W8({ref:i,nextImpl:r}),function(){if((_t&2)!==0)throw Error(a(440));return i.impl.apply(void 0,arguments)}}function sv(r,i){return Uu(4,2,r,i)}function iv(r,i){return Uu(4,4,r,i)}function ov(r,i){if(typeof i=="function"){r=r();var c=i(r);return function(){typeof c=="function"?c():i(null)}}if(i!=null)return r=r(),i.current=r,function(){i.current=null}}function lv(r,i,c){c=c!=null?c.concat([r]):null,Uu(4,4,ov.bind(null,i,r),c)}function yh(){}function cv(r,i){var c=tn();i=i===void 0?null:i;var f=c.memoizedState;return i!==null&&ih(i,f[1])?f[0]:(c.memoizedState=[r,i],r)}function uv(r,i){var c=tn();i=i===void 0?null:i;var f=c.memoizedState;if(i!==null&&ih(i,f[1]))return f[0];if(f=r(),Ci){da(!0);try{r()}finally{da(!1)}}return c.memoizedState=[f,i],f}function vh(r,i,c){return c===void 0||(zr&1073741824)!==0&&(ct&261930)===0?r.memoizedState=i:(r.memoizedState=c,r=d4(),tt.lanes|=r,Rs|=r,c)}function dv(r,i,c,f){return fa(c,i)?c:xo.current!==null?(r=vh(r,c,f),fa(r,i)||(cn=!0),r):(zr&42)===0||(zr&1073741824)!==0&&(ct&261930)===0?(cn=!0,r.memoizedState=c):(r=d4(),tt.lanes|=r,Rs|=r,i)}function fv(r,i,c,f,g){var v=le.p;le.p=v!==0&&8>v?v:8;var C=G.T,M={};G.T=M,wh(r,!1,i,c);try{var z=g(),Y=G.S;if(Y!==null&&Y(M,z),z!==null&&typeof z=="object"&&typeof z.then=="function"){var ae=U8(z,f);Fl(r,i,ae,va(r))}else Fl(r,i,f,va(r))}catch(oe){Fl(r,i,{then:function(){},status:"rejected",reason:oe},va())}finally{le.p=v,C!==null&&M.types!==null&&(C.types=M.types),G.T=C}}function K8(){}function bh(r,i,c,f){if(r.tag!==5)throw Error(a(476));var g=hv(r).queue;fv(r,g,i,re,c===null?K8:function(){return mv(r),c(f)})}function hv(r){var i=r.memoizedState;if(i!==null)return i;i={memoizedState:re,baseState:re,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:$r,lastRenderedState:re},next:null};var c={};return i.next={memoizedState:c,baseState:c,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:$r,lastRenderedState:c},next:null},r.memoizedState=i,r=r.alternate,r!==null&&(r.memoizedState=i),i}function mv(r){var i=hv(r);i.next===null&&(i=r.alternate.memoizedState),Fl(r,i.next.queue,{},va())}function xh(){return On(ic)}function pv(){return tn().memoizedState}function gv(){return tn().memoizedState}function Y8(r){for(var i=r.return;i!==null;){switch(i.tag){case 24:case 3:var c=va();r=Cs(c);var f=Ts(i,r,c);f!==null&&(ia(f,i,c),Il(f,i,c)),i={cache:Yf()},r.payload=i;return}i=i.return}}function Z8(r,i,c){var f=va();c={lane:f,revertLane:0,gesture:null,action:c,hasEagerState:!1,eagerState:null,next:null},Fu(r)?vv(i,c):(c=If(r,i,c,f),c!==null&&(ia(c,r,f),bv(c,i,f)))}function yv(r,i,c){var f=va();Fl(r,i,c,f)}function Fl(r,i,c,f){var g={lane:f,revertLane:0,gesture:null,action:c,hasEagerState:!1,eagerState:null,next:null};if(Fu(r))vv(i,g);else{var v=r.alternate;if(r.lanes===0&&(v===null||v.lanes===0)&&(v=i.lastRenderedReducer,v!==null))try{var C=i.lastRenderedState,M=v(C,c);if(g.hasEagerState=!0,g.eagerState=M,fa(M,C))return Su(r,i,g,0),jt===null&&ku(),!1}catch{}finally{}if(c=If(r,i,g,f),c!==null)return ia(c,r,f),bv(c,i,f),!0}return!1}function wh(r,i,c,f){if(f={lane:2,revertLane:Jh(),gesture:null,action:f,hasEagerState:!1,eagerState:null,next:null},Fu(r)){if(i)throw Error(a(479))}else i=If(r,c,f,2),i!==null&&ia(i,r,2)}function Fu(r){var i=r.alternate;return r===tt||i!==null&&i===tt}function vv(r,i){wo=ju=!0;var c=r.pending;c===null?i.next=i:(i.next=c.next,c.next=i),r.pending=i}function bv(r,i,c){if((c&4194048)!==0){var f=i.lanes;f&=r.pendingLanes,c|=f,i.lanes=c,du(r,c)}}var Gl={readContext:On,use:zu,useCallback:Zt,useContext:Zt,useEffect:Zt,useImperativeHandle:Zt,useLayoutEffect:Zt,useInsertionEffect:Zt,useMemo:Zt,useReducer:Zt,useRef:Zt,useState:Zt,useDebugValue:Zt,useDeferredValue:Zt,useTransition:Zt,useSyncExternalStore:Zt,useId:Zt,useHostTransitionStatus:Zt,useFormState:Zt,useActionState:Zt,useOptimistic:Zt,useMemoCache:Zt,useCacheRefresh:Zt};Gl.useEffectEvent=Zt;var xv={readContext:On,use:zu,useCallback:function(r,i){return Wn().memoizedState=[r,i===void 0?null:i],r},useContext:On,useEffect:av,useImperativeHandle:function(r,i,c){c=c!=null?c.concat([r]):null,Hu(4194308,4,ov.bind(null,i,r),c)},useLayoutEffect:function(r,i){return Hu(4194308,4,r,i)},useInsertionEffect:function(r,i){Hu(4,2,r,i)},useMemo:function(r,i){var c=Wn();i=i===void 0?null:i;var f=r();if(Ci){da(!0);try{r()}finally{da(!1)}}return c.memoizedState=[f,i],f},useReducer:function(r,i,c){var f=Wn();if(c!==void 0){var g=c(i);if(Ci){da(!0);try{c(i)}finally{da(!1)}}}else g=i;return f.memoizedState=f.baseState=g,r={pending:null,lanes:0,dispatch:null,lastRenderedReducer:r,lastRenderedState:g},f.queue=r,r=r.dispatch=Z8.bind(null,tt,r),[f.memoizedState,r]},useRef:function(r){var i=Wn();return r={current:r},i.memoizedState=r},useState:function(r){r=mh(r);var i=r.queue,c=yv.bind(null,tt,i);return i.dispatch=c,[r.memoizedState,c]},useDebugValue:yh,useDeferredValue:function(r,i){var c=Wn();return vh(c,r,i)},useTransition:function(){var r=mh(!1);return r=fv.bind(null,tt,r.queue,!0,!1),Wn().memoizedState=r,[!1,r]},useSyncExternalStore:function(r,i,c){var f=tt,g=Wn();if(dt){if(c===void 0)throw Error(a(407));c=c()}else{if(c=i(),jt===null)throw Error(a(349));(ct&127)!==0||Hy(f,i,c)}g.memoizedState=c;var v={value:c,getSnapshot:i};return g.queue=v,av(Fy.bind(null,f,v,r),[r]),f.flags|=2048,So(9,{destroy:void 0},Uy.bind(null,f,v,c,i),null),c},useId:function(){var r=Wn(),i=jt.identifierPrefix;if(dt){var c=lr,f=or;c=(f&~(1<<32-Mn(f)-1)).toString(32)+c,i="_"+i+"R_"+c,c=Pu++,0<c&&(i+="H"+c.toString(32)),i+="_"}else c=F8++,i="_"+i+"r_"+c.toString(32)+"_";return r.memoizedState=i},useHostTransitionStatus:xh,useFormState:Qy,useActionState:Qy,useOptimistic:function(r){var i=Wn();i.memoizedState=i.baseState=r;var c={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return i.queue=c,i=wh.bind(null,tt,!0,c),c.dispatch=i,[r,i]},useMemoCache:dh,useCacheRefresh:function(){return Wn().memoizedState=Y8.bind(null,tt)},useEffectEvent:function(r){var i=Wn(),c={impl:r};return i.memoizedState=c,function(){if((_t&2)!==0)throw Error(a(440));return c.impl.apply(void 0,arguments)}}},kh={readContext:On,use:zu,useCallback:cv,useContext:On,useEffect:gh,useImperativeHandle:lv,useInsertionEffect:sv,useLayoutEffect:iv,useMemo:uv,useReducer:$u,useRef:nv,useState:function(){return $u($r)},useDebugValue:yh,useDeferredValue:function(r,i){var c=tn();return dv(c,Ot.memoizedState,r,i)},useTransition:function(){var r=$u($r)[0],i=tn().memoizedState;return[typeof r=="boolean"?r:Ul(r),i]},useSyncExternalStore:$y,useId:pv,useHostTransitionStatus:xh,useFormState:Jy,useActionState:Jy,useOptimistic:function(r,i){var c=tn();return Vy(c,Ot,r,i)},useMemoCache:dh,useCacheRefresh:gv};kh.useEffectEvent=rv;var wv={readContext:On,use:zu,useCallback:cv,useContext:On,useEffect:gh,useImperativeHandle:lv,useInsertionEffect:sv,useLayoutEffect:iv,useMemo:uv,useReducer:hh,useRef:nv,useState:function(){return hh($r)},useDebugValue:yh,useDeferredValue:function(r,i){var c=tn();return Ot===null?vh(c,r,i):dv(c,Ot.memoizedState,r,i)},useTransition:function(){var r=hh($r)[0],i=tn().memoizedState;return[typeof r=="boolean"?r:Ul(r),i]},useSyncExternalStore:$y,useId:pv,useHostTransitionStatus:xh,useFormState:tv,useActionState:tv,useOptimistic:function(r,i){var c=tn();return Ot!==null?Vy(c,Ot,r,i):(c.baseState=r,[r,c.queue.dispatch])},useMemoCache:dh,useCacheRefresh:gv};wv.useEffectEvent=rv;function Sh(r,i,c,f){i=r.memoizedState,c=c(f,i),c=c==null?i:p({},i,c),r.memoizedState=c,r.lanes===0&&(r.updateQueue.baseState=c)}var _h={enqueueSetState:function(r,i,c){r=r._reactInternals;var f=va(),g=Cs(f);g.payload=i,c!=null&&(g.callback=c),i=Ts(r,g,f),i!==null&&(ia(i,r,f),Il(i,r,f))},enqueueReplaceState:function(r,i,c){r=r._reactInternals;var f=va(),g=Cs(f);g.tag=1,g.payload=i,c!=null&&(g.callback=c),i=Ts(r,g,f),i!==null&&(ia(i,r,f),Il(i,r,f))},enqueueForceUpdate:function(r,i){r=r._reactInternals;var c=va(),f=Cs(c);f.tag=2,i!=null&&(f.callback=i),i=Ts(r,f,c),i!==null&&(ia(i,r,c),Il(i,r,c))}};function kv(r,i,c,f,g,v,C){return r=r.stateNode,typeof r.shouldComponentUpdate=="function"?r.shouldComponentUpdate(f,v,C):i.prototype&&i.prototype.isPureReactComponent?!Ml(c,f)||!Ml(g,v):!0}function Sv(r,i,c,f){r=i.state,typeof i.componentWillReceiveProps=="function"&&i.componentWillReceiveProps(c,f),typeof i.UNSAFE_componentWillReceiveProps=="function"&&i.UNSAFE_componentWillReceiveProps(c,f),i.state!==r&&_h.enqueueReplaceState(i,i.state,null)}function Ti(r,i){var c=i;if("ref"in i){c={};for(var f in i)f!=="ref"&&(c[f]=i[f])}if(r=r.defaultProps){c===i&&(c=p({},c));for(var g in r)c[g]===void 0&&(c[g]=r[g])}return c}function _v(r){wu(r)}function Cv(r){console.error(r)}function Tv(r){wu(r)}function Gu(r,i){try{var c=r.onUncaughtError;c(i.value,{componentStack:i.stack})}catch(f){setTimeout(function(){throw f})}}function Av(r,i,c){try{var f=r.onCaughtError;f(c.value,{componentStack:c.stack,errorBoundary:i.tag===1?i.stateNode:null})}catch(g){setTimeout(function(){throw g})}}function Ch(r,i,c){return c=Cs(c),c.tag=3,c.payload={element:null},c.callback=function(){Gu(r,i)},c}function Ev(r){return r=Cs(r),r.tag=3,r}function Nv(r,i,c,f){var g=c.type.getDerivedStateFromError;if(typeof g=="function"){var v=f.value;r.payload=function(){return g(v)},r.callback=function(){Av(i,c,f)}}var C=c.stateNode;C!==null&&typeof C.componentDidCatch=="function"&&(r.callback=function(){Av(i,c,f),typeof g!="function"&&(Ds===null?Ds=new Set([this]):Ds.add(this));var M=f.stack;this.componentDidCatch(f.value,{componentStack:M!==null?M:""})})}function X8(r,i,c,f,g){if(c.flags|=32768,f!==null&&typeof f=="object"&&typeof f.then=="function"){if(i=c.alternate,i!==null&&po(i,c,g,!0),c=ma.current,c!==null){switch(c.tag){case 31:case 13:return La===null?nd():c.alternate===null&&Xt===0&&(Xt=3),c.flags&=-257,c.flags|=65536,c.lanes=g,f===Ru?c.flags|=16384:(i=c.updateQueue,i===null?c.updateQueue=new Set([f]):i.add(f),Zh(r,f,g)),!1;case 22:return c.flags|=65536,f===Ru?c.flags|=16384:(i=c.updateQueue,i===null?(i={transitions:null,markerInstances:null,retryQueue:new Set([f])},c.updateQueue=i):(c=i.retryQueue,c===null?i.retryQueue=new Set([f]):c.add(f)),Zh(r,f,g)),!1}throw Error(a(435,c.tag))}return Zh(r,f,g),nd(),!1}if(dt)return i=ma.current,i!==null?((i.flags&65536)===0&&(i.flags|=256),i.flags|=65536,i.lanes=g,f!==Gf&&(r=Error(a(422),{cause:f}),Ol(Ma(r,c)))):(f!==Gf&&(i=Error(a(423),{cause:f}),Ol(Ma(i,c))),r=r.current.alternate,r.flags|=65536,g&=-g,r.lanes|=g,f=Ma(f,c),g=Ch(r.stateNode,f,g),th(r,g),Xt!==4&&(Xt=2)),!1;var v=Error(a(520),{cause:f});if(v=Ma(v,c),Ql===null?Ql=[v]:Ql.push(v),Xt!==4&&(Xt=2),i===null)return!0;f=Ma(f,c),c=i;do{switch(c.tag){case 3:return c.flags|=65536,r=g&-g,c.lanes|=r,r=Ch(c.stateNode,f,r),th(c,r),!1;case 1:if(i=c.type,v=c.stateNode,(c.flags&128)===0&&(typeof i.getDerivedStateFromError=="function"||v!==null&&typeof v.componentDidCatch=="function"&&(Ds===null||!Ds.has(v))))return c.flags|=65536,g&=-g,c.lanes|=g,g=Ev(g),Nv(g,r,c,f),th(c,g),!1}c=c.return}while(c!==null);return!1}var Th=Error(a(461)),cn=!1;function Ln(r,i,c,f){i.child=r===null?Oy(i,null,c,f):_i(i,r.child,c,f)}function Mv(r,i,c,f,g){c=c.render;var v=i.ref;if("ref"in f){var C={};for(var M in f)M!=="ref"&&(C[M]=f[M])}else C=f;return xi(i),f=oh(r,i,c,C,v,g),M=lh(),r!==null&&!cn?(ch(r,i,g),Hr(r,i,g)):(dt&&M&&Uf(i),i.flags|=1,Ln(r,i,f,g),i.child)}function Rv(r,i,c,f,g){if(r===null){var v=c.type;return typeof v=="function"&&!zf(v)&&v.defaultProps===void 0&&c.compare===null?(i.tag=15,i.type=v,Dv(r,i,v,f,g)):(r=Cu(c.type,null,f,i,i.mode,g),r.ref=i.ref,r.return=i,i.child=r)}if(v=r.child,!Lh(r,g)){var C=v.memoizedProps;if(c=c.compare,c=c!==null?c:Ml,c(C,f)&&r.ref===i.ref)return Hr(r,i,g)}return i.flags|=1,r=Br(v,f),r.ref=i.ref,r.return=i,i.child=r}function Dv(r,i,c,f,g){if(r!==null){var v=r.memoizedProps;if(Ml(v,f)&&r.ref===i.ref)if(cn=!1,i.pendingProps=f=v,Lh(r,g))(r.flags&131072)!==0&&(cn=!0);else return i.lanes=r.lanes,Hr(r,i,g)}return Ah(r,i,c,f,g)}function Ov(r,i,c,f){var g=f.children,v=r!==null?r.memoizedState:null;if(r===null&&i.stateNode===null&&(i.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),f.mode==="hidden"){if((i.flags&128)!==0){if(v=v!==null?v.baseLanes|c:c,r!==null){for(f=i.child=r.child,g=0;f!==null;)g=g|f.lanes|f.childLanes,f=f.sibling;f=g&~v}else f=0,i.child=null;return Lv(r,i,v,c,f)}if((c&536870912)!==0)i.memoizedState={baseLanes:0,cachePool:null},r!==null&&Nu(i,v!==null?v.cachePool:null),v!==null?jy(i,v):ah(),Py(i);else return f=i.lanes=536870912,Lv(r,i,v!==null?v.baseLanes|c:c,c,f)}else v!==null?(Nu(i,v.cachePool),jy(i,v),Es(),i.memoizedState=null):(r!==null&&Nu(i,null),ah(),Es());return Ln(r,i,g,c),i.child}function ql(r,i){return r!==null&&r.tag===22||i.stateNode!==null||(i.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),i.sibling}function Lv(r,i,c,f,g){var v=Xf();return v=v===null?null:{parent:on._currentValue,pool:v},i.memoizedState={baseLanes:c,cachePool:v},r!==null&&Nu(i,null),ah(),Py(i),r!==null&&po(r,i,f,!0),i.childLanes=g,null}function qu(r,i){return i=Wu({mode:i.mode,children:i.children},r.mode),i.ref=r.ref,r.child=i,i.return=r,i}function Bv(r,i,c){return _i(i,r.child,null,c),r=qu(i,i.pendingProps),r.flags|=2,pa(i),i.memoizedState=null,r}function Q8(r,i,c){var f=i.pendingProps,g=(i.flags&128)!==0;if(i.flags&=-129,r===null){if(dt){if(f.mode==="hidden")return r=qu(i,f),i.lanes=536870912,ql(null,r);if(sh(i),(r=zt)?(r=W4(r,Oa),r=r!==null&&r.data==="&"?r:null,r!==null&&(i.memoizedState={dehydrated:r,treeContext:xs!==null?{id:or,overflow:lr}:null,retryLane:536870912,hydrationErrors:null},c=vy(r),c.return=i,i.child=c,Dn=i,zt=null)):r=null,r===null)throw ks(i);return i.lanes=536870912,null}return qu(i,f)}var v=r.memoizedState;if(v!==null){var C=v.dehydrated;if(sh(i),g)if(i.flags&256)i.flags&=-257,i=Bv(r,i,c);else if(i.memoizedState!==null)i.child=r.child,i.flags|=128,i=null;else throw Error(a(558));else if(cn||po(r,i,c,!1),g=(c&r.childLanes)!==0,cn||g){if(f=jt,f!==null&&(C=to(f,c),C!==0&&C!==v.retryLane))throw v.retryLane=C,gi(r,C),ia(f,r,C),Th;nd(),i=Bv(r,i,c)}else r=v.treeContext,zt=Ba(C.nextSibling),Dn=i,dt=!0,ws=null,Oa=!1,r!==null&&wy(i,r),i=qu(i,f),i.flags|=4096;return i}return r=Br(r.child,{mode:f.mode,children:f.children}),r.ref=i.ref,i.child=r,r.return=i,r}function Vu(r,i){var c=i.ref;if(c===null)r!==null&&r.ref!==null&&(i.flags|=4194816);else{if(typeof c!="function"&&typeof c!="object")throw Error(a(284));(r===null||r.ref!==c)&&(i.flags|=4194816)}}function Ah(r,i,c,f,g){return xi(i),c=oh(r,i,c,f,void 0,g),f=lh(),r!==null&&!cn?(ch(r,i,g),Hr(r,i,g)):(dt&&f&&Uf(i),i.flags|=1,Ln(r,i,c,g),i.child)}function jv(r,i,c,f,g,v){return xi(i),i.updateQueue=null,c=zy(i,f,c,g),Iy(r),f=lh(),r!==null&&!cn?(ch(r,i,v),Hr(r,i,v)):(dt&&f&&Uf(i),i.flags|=1,Ln(r,i,c,v),i.child)}function Pv(r,i,c,f,g){if(xi(i),i.stateNode===null){var v=uo,C=c.contextType;typeof C=="object"&&C!==null&&(v=On(C)),v=new c(f,v),i.memoizedState=v.state!==null&&v.state!==void 0?v.state:null,v.updater=_h,i.stateNode=v,v._reactInternals=i,v=i.stateNode,v.props=f,v.state=i.memoizedState,v.refs={},Jf(i),C=c.contextType,v.context=typeof C=="object"&&C!==null?On(C):uo,v.state=i.memoizedState,C=c.getDerivedStateFromProps,typeof C=="function"&&(Sh(i,c,C,f),v.state=i.memoizedState),typeof c.getDerivedStateFromProps=="function"||typeof v.getSnapshotBeforeUpdate=="function"||typeof v.UNSAFE_componentWillMount!="function"&&typeof v.componentWillMount!="function"||(C=v.state,typeof v.componentWillMount=="function"&&v.componentWillMount(),typeof v.UNSAFE_componentWillMount=="function"&&v.UNSAFE_componentWillMount(),C!==v.state&&_h.enqueueReplaceState(v,v.state,null),$l(i,f,v,g),zl(),v.state=i.memoizedState),typeof v.componentDidMount=="function"&&(i.flags|=4194308),f=!0}else if(r===null){v=i.stateNode;var M=i.memoizedProps,z=Ti(c,M);v.props=z;var Y=v.context,ae=c.contextType;C=uo,typeof ae=="object"&&ae!==null&&(C=On(ae));var oe=c.getDerivedStateFromProps;ae=typeof oe=="function"||typeof v.getSnapshotBeforeUpdate=="function",M=i.pendingProps!==M,ae||typeof v.UNSAFE_componentWillReceiveProps!="function"&&typeof v.componentWillReceiveProps!="function"||(M||Y!==C)&&Sv(i,v,f,C),_s=!1;var Z=i.memoizedState;v.state=Z,$l(i,f,v,g),zl(),Y=i.memoizedState,M||Z!==Y||_s?(typeof oe=="function"&&(Sh(i,c,oe,f),Y=i.memoizedState),(z=_s||kv(i,c,z,f,Z,Y,C))?(ae||typeof v.UNSAFE_componentWillMount!="function"&&typeof v.componentWillMount!="function"||(typeof v.componentWillMount=="function"&&v.componentWillMount(),typeof v.UNSAFE_componentWillMount=="function"&&v.UNSAFE_componentWillMount()),typeof v.componentDidMount=="function"&&(i.flags|=4194308)):(typeof v.componentDidMount=="function"&&(i.flags|=4194308),i.memoizedProps=f,i.memoizedState=Y),v.props=f,v.state=Y,v.context=C,f=z):(typeof v.componentDidMount=="function"&&(i.flags|=4194308),f=!1)}else{v=i.stateNode,eh(r,i),C=i.memoizedProps,ae=Ti(c,C),v.props=ae,oe=i.pendingProps,Z=v.context,Y=c.contextType,z=uo,typeof Y=="object"&&Y!==null&&(z=On(Y)),M=c.getDerivedStateFromProps,(Y=typeof M=="function"||typeof v.getSnapshotBeforeUpdate=="function")||typeof v.UNSAFE_componentWillReceiveProps!="function"&&typeof v.componentWillReceiveProps!="function"||(C!==oe||Z!==z)&&Sv(i,v,f,z),_s=!1,Z=i.memoizedState,v.state=Z,$l(i,f,v,g),zl();var Q=i.memoizedState;C!==oe||Z!==Q||_s||r!==null&&r.dependencies!==null&&Au(r.dependencies)?(typeof M=="function"&&(Sh(i,c,M,f),Q=i.memoizedState),(ae=_s||kv(i,c,ae,f,Z,Q,z)||r!==null&&r.dependencies!==null&&Au(r.dependencies))?(Y||typeof v.UNSAFE_componentWillUpdate!="function"&&typeof v.componentWillUpdate!="function"||(typeof v.componentWillUpdate=="function"&&v.componentWillUpdate(f,Q,z),typeof v.UNSAFE_componentWillUpdate=="function"&&v.UNSAFE_componentWillUpdate(f,Q,z)),typeof v.componentDidUpdate=="function"&&(i.flags|=4),typeof v.getSnapshotBeforeUpdate=="function"&&(i.flags|=1024)):(typeof v.componentDidUpdate!="function"||C===r.memoizedProps&&Z===r.memoizedState||(i.flags|=4),typeof v.getSnapshotBeforeUpdate!="function"||C===r.memoizedProps&&Z===r.memoizedState||(i.flags|=1024),i.memoizedProps=f,i.memoizedState=Q),v.props=f,v.state=Q,v.context=z,f=ae):(typeof v.componentDidUpdate!="function"||C===r.memoizedProps&&Z===r.memoizedState||(i.flags|=4),typeof v.getSnapshotBeforeUpdate!="function"||C===r.memoizedProps&&Z===r.memoizedState||(i.flags|=1024),f=!1)}return v=f,Vu(r,i),f=(i.flags&128)!==0,v||f?(v=i.stateNode,c=f&&typeof c.getDerivedStateFromError!="function"?null:v.render(),i.flags|=1,r!==null&&f?(i.child=_i(i,r.child,null,g),i.child=_i(i,null,c,g)):Ln(r,i,c,g),i.memoizedState=v.state,r=i.child):r=Hr(r,i,g),r}function Iv(r,i,c,f){return vi(),i.flags|=256,Ln(r,i,c,f),i.child}var Eh={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function Nh(r){return{baseLanes:r,cachePool:Ay()}}function Mh(r,i,c){return r=r!==null?r.childLanes&~c:0,i&&(r|=ya),r}function zv(r,i,c){var f=i.pendingProps,g=!1,v=(i.flags&128)!==0,C;if((C=v)||(C=r!==null&&r.memoizedState===null?!1:(en.current&2)!==0),C&&(g=!0,i.flags&=-129),C=(i.flags&32)!==0,i.flags&=-33,r===null){if(dt){if(g?As(i):Es(),(r=zt)?(r=W4(r,Oa),r=r!==null&&r.data!=="&"?r:null,r!==null&&(i.memoizedState={dehydrated:r,treeContext:xs!==null?{id:or,overflow:lr}:null,retryLane:536870912,hydrationErrors:null},c=vy(r),c.return=i,i.child=c,Dn=i,zt=null)):r=null,r===null)throw ks(i);return fm(r)?i.lanes=32:i.lanes=536870912,null}var M=f.children;return f=f.fallback,g?(Es(),g=i.mode,M=Wu({mode:"hidden",children:M},g),f=yi(f,g,c,null),M.return=i,f.return=i,M.sibling=f,i.child=M,f=i.child,f.memoizedState=Nh(c),f.childLanes=Mh(r,C,c),i.memoizedState=Eh,ql(null,f)):(As(i),Rh(i,M))}var z=r.memoizedState;if(z!==null&&(M=z.dehydrated,M!==null)){if(v)i.flags&256?(As(i),i.flags&=-257,i=Dh(r,i,c)):i.memoizedState!==null?(Es(),i.child=r.child,i.flags|=128,i=null):(Es(),M=f.fallback,g=i.mode,f=Wu({mode:"visible",children:f.children},g),M=yi(M,g,c,null),M.flags|=2,f.return=i,M.return=i,f.sibling=M,i.child=f,_i(i,r.child,null,c),f=i.child,f.memoizedState=Nh(c),f.childLanes=Mh(r,C,c),i.memoizedState=Eh,i=ql(null,f));else if(As(i),fm(M)){if(C=M.nextSibling&&M.nextSibling.dataset,C)var Y=C.dgst;C=Y,f=Error(a(419)),f.stack="",f.digest=C,Ol({value:f,source:null,stack:null}),i=Dh(r,i,c)}else if(cn||po(r,i,c,!1),C=(c&r.childLanes)!==0,cn||C){if(C=jt,C!==null&&(f=to(C,c),f!==0&&f!==z.retryLane))throw z.retryLane=f,gi(r,f),ia(C,r,f),Th;dm(M)||nd(),i=Dh(r,i,c)}else dm(M)?(i.flags|=192,i.child=r.child,i=null):(r=z.treeContext,zt=Ba(M.nextSibling),Dn=i,dt=!0,ws=null,Oa=!1,r!==null&&wy(i,r),i=Rh(i,f.children),i.flags|=4096);return i}return g?(Es(),M=f.fallback,g=i.mode,z=r.child,Y=z.sibling,f=Br(z,{mode:"hidden",children:f.children}),f.subtreeFlags=z.subtreeFlags&65011712,Y!==null?M=Br(Y,M):(M=yi(M,g,c,null),M.flags|=2),M.return=i,f.return=i,f.sibling=M,i.child=f,ql(null,f),f=i.child,M=r.child.memoizedState,M===null?M=Nh(c):(g=M.cachePool,g!==null?(z=on._currentValue,g=g.parent!==z?{parent:z,pool:z}:g):g=Ay(),M={baseLanes:M.baseLanes|c,cachePool:g}),f.memoizedState=M,f.childLanes=Mh(r,C,c),i.memoizedState=Eh,ql(r.child,f)):(As(i),c=r.child,r=c.sibling,c=Br(c,{mode:"visible",children:f.children}),c.return=i,c.sibling=null,r!==null&&(C=i.deletions,C===null?(i.deletions=[r],i.flags|=16):C.push(r)),i.child=c,i.memoizedState=null,c)}function Rh(r,i){return i=Wu({mode:"visible",children:i},r.mode),i.return=r,r.child=i}function Wu(r,i){return r=ha(22,r,null,i),r.lanes=0,r}function Dh(r,i,c){return _i(i,r.child,null,c),r=Rh(i,i.pendingProps.children),r.flags|=2,i.memoizedState=null,r}function $v(r,i,c){r.lanes|=i;var f=r.alternate;f!==null&&(f.lanes|=i),Wf(r.return,i,c)}function Oh(r,i,c,f,g,v){var C=r.memoizedState;C===null?r.memoizedState={isBackwards:i,rendering:null,renderingStartTime:0,last:f,tail:c,tailMode:g,treeForkCount:v}:(C.isBackwards=i,C.rendering=null,C.renderingStartTime=0,C.last=f,C.tail=c,C.tailMode=g,C.treeForkCount=v)}function Hv(r,i,c){var f=i.pendingProps,g=f.revealOrder,v=f.tail;f=f.children;var C=en.current,M=(C&2)!==0;if(M?(C=C&1|2,i.flags|=128):C&=1,Me(en,C),Ln(r,i,f,c),f=dt?Dl:0,!M&&r!==null&&(r.flags&128)!==0)e:for(r=i.child;r!==null;){if(r.tag===13)r.memoizedState!==null&&$v(r,c,i);else if(r.tag===19)$v(r,c,i);else if(r.child!==null){r.child.return=r,r=r.child;continue}if(r===i)break e;for(;r.sibling===null;){if(r.return===null||r.return===i)break e;r=r.return}r.sibling.return=r.return,r=r.sibling}switch(g){case"forwards":for(c=i.child,g=null;c!==null;)r=c.alternate,r!==null&&Bu(r)===null&&(g=c),c=c.sibling;c=g,c===null?(g=i.child,i.child=null):(g=c.sibling,c.sibling=null),Oh(i,!1,g,c,v,f);break;case"backwards":case"unstable_legacy-backwards":for(c=null,g=i.child,i.child=null;g!==null;){if(r=g.alternate,r!==null&&Bu(r)===null){i.child=g;break}r=g.sibling,g.sibling=c,c=g,g=r}Oh(i,!0,c,null,v,f);break;case"together":Oh(i,!1,null,null,void 0,f);break;default:i.memoizedState=null}return i.child}function Hr(r,i,c){if(r!==null&&(i.dependencies=r.dependencies),Rs|=i.lanes,(c&i.childLanes)===0)if(r!==null){if(po(r,i,c,!1),(c&i.childLanes)===0)return null}else return null;if(r!==null&&i.child!==r.child)throw Error(a(153));if(i.child!==null){for(r=i.child,c=Br(r,r.pendingProps),i.child=c,c.return=i;r.sibling!==null;)r=r.sibling,c=c.sibling=Br(r,r.pendingProps),c.return=i;c.sibling=null}return i.child}function Lh(r,i){return(r.lanes&i)!==0?!0:(r=r.dependencies,!!(r!==null&&Au(r)))}function J8(r,i,c){switch(i.tag){case 3:In(i,i.stateNode.containerInfo),Ss(i,on,r.memoizedState.cache),vi();break;case 27:case 5:_a(i);break;case 4:In(i,i.stateNode.containerInfo);break;case 10:Ss(i,i.type,i.memoizedProps.value);break;case 31:if(i.memoizedState!==null)return i.flags|=128,sh(i),null;break;case 13:var f=i.memoizedState;if(f!==null)return f.dehydrated!==null?(As(i),i.flags|=128,null):(c&i.child.childLanes)!==0?zv(r,i,c):(As(i),r=Hr(r,i,c),r!==null?r.sibling:null);As(i);break;case 19:var g=(r.flags&128)!==0;if(f=(c&i.childLanes)!==0,f||(po(r,i,c,!1),f=(c&i.childLanes)!==0),g){if(f)return Hv(r,i,c);i.flags|=128}if(g=i.memoizedState,g!==null&&(g.rendering=null,g.tail=null,g.lastEffect=null),Me(en,en.current),f)break;return null;case 22:return i.lanes=0,Ov(r,i,c,i.pendingProps);case 24:Ss(i,on,r.memoizedState.cache)}return Hr(r,i,c)}function Uv(r,i,c){if(r!==null)if(r.memoizedProps!==i.pendingProps)cn=!0;else{if(!Lh(r,c)&&(i.flags&128)===0)return cn=!1,J8(r,i,c);cn=(r.flags&131072)!==0}else cn=!1,dt&&(i.flags&1048576)!==0&&xy(i,Dl,i.index);switch(i.lanes=0,i.tag){case 16:e:{var f=i.pendingProps;if(r=ki(i.elementType),i.type=r,typeof r=="function")zf(r)?(f=Ti(r,f),i.tag=1,i=Pv(null,i,r,f,c)):(i.tag=0,i=Ah(null,i,r,f,c));else{if(r!=null){var g=r.$$typeof;if(g===B){i.tag=11,i=Mv(null,i,r,f,c);break e}else if(g===K){i.tag=14,i=Rv(null,i,r,f,c);break e}}throw i=ge(r)||r,Error(a(306,i,""))}}return i;case 0:return Ah(r,i,i.type,i.pendingProps,c);case 1:return f=i.type,g=Ti(f,i.pendingProps),Pv(r,i,f,g,c);case 3:e:{if(In(i,i.stateNode.containerInfo),r===null)throw Error(a(387));f=i.pendingProps;var v=i.memoizedState;g=v.element,eh(r,i),$l(i,f,null,c);var C=i.memoizedState;if(f=C.cache,Ss(i,on,f),f!==v.cache&&Kf(i,[on],c,!0),zl(),f=C.element,v.isDehydrated)if(v={element:f,isDehydrated:!1,cache:C.cache},i.updateQueue.baseState=v,i.memoizedState=v,i.flags&256){i=Iv(r,i,f,c);break e}else if(f!==g){g=Ma(Error(a(424)),i),Ol(g),i=Iv(r,i,f,c);break e}else{switch(r=i.stateNode.containerInfo,r.nodeType){case 9:r=r.body;break;default:r=r.nodeName==="HTML"?r.ownerDocument.body:r}for(zt=Ba(r.firstChild),Dn=i,dt=!0,ws=null,Oa=!0,c=Oy(i,null,f,c),i.child=c;c;)c.flags=c.flags&-3|4096,c=c.sibling}else{if(vi(),f===g){i=Hr(r,i,c);break e}Ln(r,i,f,c)}i=i.child}return i;case 26:return Vu(r,i),r===null?(c=J4(i.type,null,i.pendingProps,null))?i.memoizedState=c:dt||(c=i.type,r=i.pendingProps,f=cd(En.current).createElement(c),f[rn]=i,f[Rn]=r,Bn(f,c,r),sn(f),i.stateNode=f):i.memoizedState=J4(i.type,r.memoizedProps,i.pendingProps,r.memoizedState),null;case 27:return _a(i),r===null&&dt&&(f=i.stateNode=Z4(i.type,i.pendingProps,En.current),Dn=i,Oa=!0,g=zt,js(i.type)?(hm=g,zt=Ba(f.firstChild)):zt=g),Ln(r,i,i.pendingProps.children,c),Vu(r,i),r===null&&(i.flags|=4194304),i.child;case 5:return r===null&&dt&&((g=f=zt)&&(f=Nw(f,i.type,i.pendingProps,Oa),f!==null?(i.stateNode=f,Dn=i,zt=Ba(f.firstChild),Oa=!1,g=!0):g=!1),g||ks(i)),_a(i),g=i.type,v=i.pendingProps,C=r!==null?r.memoizedProps:null,f=v.children,lm(g,v)?f=null:C!==null&&lm(g,C)&&(i.flags|=32),i.memoizedState!==null&&(g=oh(r,i,G8,null,null,c),ic._currentValue=g),Vu(r,i),Ln(r,i,f,c),i.child;case 6:return r===null&&dt&&((r=c=zt)&&(c=Mw(c,i.pendingProps,Oa),c!==null?(i.stateNode=c,Dn=i,zt=null,r=!0):r=!1),r||ks(i)),null;case 13:return zv(r,i,c);case 4:return In(i,i.stateNode.containerInfo),f=i.pendingProps,r===null?i.child=_i(i,null,f,c):Ln(r,i,f,c),i.child;case 11:return Mv(r,i,i.type,i.pendingProps,c);case 7:return Ln(r,i,i.pendingProps,c),i.child;case 8:return Ln(r,i,i.pendingProps.children,c),i.child;case 12:return Ln(r,i,i.pendingProps.children,c),i.child;case 10:return f=i.pendingProps,Ss(i,i.type,f.value),Ln(r,i,f.children,c),i.child;case 9:return g=i.type._context,f=i.pendingProps.children,xi(i),g=On(g),f=f(g),i.flags|=1,Ln(r,i,f,c),i.child;case 14:return Rv(r,i,i.type,i.pendingProps,c);case 15:return Dv(r,i,i.type,i.pendingProps,c);case 19:return Hv(r,i,c);case 31:return Q8(r,i,c);case 22:return Ov(r,i,c,i.pendingProps);case 24:return xi(i),f=On(on),r===null?(g=Xf(),g===null&&(g=jt,v=Yf(),g.pooledCache=v,v.refCount++,v!==null&&(g.pooledCacheLanes|=c),g=v),i.memoizedState={parent:f,cache:g},Jf(i),Ss(i,on,g)):((r.lanes&c)!==0&&(eh(r,i),$l(i,null,null,c),zl()),g=r.memoizedState,v=i.memoizedState,g.parent!==f?(g={parent:f,cache:f},i.memoizedState=g,i.lanes===0&&(i.memoizedState=i.updateQueue.baseState=g),Ss(i,on,f)):(f=v.cache,Ss(i,on,f),f!==g.cache&&Kf(i,[on],c,!0))),Ln(r,i,i.pendingProps.children,c),i.child;case 29:throw i.pendingProps}throw Error(a(156,i.tag))}function Ur(r){r.flags|=4}function Bh(r,i,c,f,g){if((i=(r.mode&32)!==0)&&(i=!1),i){if(r.flags|=16777216,(g&335544128)===g)if(r.stateNode.complete)r.flags|=8192;else if(p4())r.flags|=8192;else throw Si=Ru,Qf}else r.flags&=-16777217}function Fv(r,i){if(i.type!=="stylesheet"||(i.state.loading&4)!==0)r.flags&=-16777217;else if(r.flags|=16777216,!rb(i))if(p4())r.flags|=8192;else throw Si=Ru,Qf}function Ku(r,i){i!==null&&(r.flags|=4),r.flags&16384&&(i=r.tag!==22?cu():536870912,r.lanes|=i,Ao|=i)}function Vl(r,i){if(!dt)switch(r.tailMode){case"hidden":i=r.tail;for(var c=null;i!==null;)i.alternate!==null&&(c=i),i=i.sibling;c===null?r.tail=null:c.sibling=null;break;case"collapsed":c=r.tail;for(var f=null;c!==null;)c.alternate!==null&&(f=c),c=c.sibling;f===null?i||r.tail===null?r.tail=null:r.tail.sibling=null:f.sibling=null}}function $t(r){var i=r.alternate!==null&&r.alternate.child===r.child,c=0,f=0;if(i)for(var g=r.child;g!==null;)c|=g.lanes|g.childLanes,f|=g.subtreeFlags&65011712,f|=g.flags&65011712,g.return=r,g=g.sibling;else for(g=r.child;g!==null;)c|=g.lanes|g.childLanes,f|=g.subtreeFlags,f|=g.flags,g.return=r,g=g.sibling;return r.subtreeFlags|=f,r.childLanes=c,i}function ew(r,i,c){var f=i.pendingProps;switch(Ff(i),i.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return $t(i),null;case 1:return $t(i),null;case 3:return c=i.stateNode,f=null,r!==null&&(f=r.memoizedState.cache),i.memoizedState.cache!==f&&(i.flags|=2048),Ir(on),pn(),c.pendingContext&&(c.context=c.pendingContext,c.pendingContext=null),(r===null||r.child===null)&&(mo(i)?Ur(i):r===null||r.memoizedState.isDehydrated&&(i.flags&256)===0||(i.flags|=1024,qf())),$t(i),null;case 26:var g=i.type,v=i.memoizedState;return r===null?(Ur(i),v!==null?($t(i),Fv(i,v)):($t(i),Bh(i,g,null,f,c))):v?v!==r.memoizedState?(Ur(i),$t(i),Fv(i,v)):($t(i),i.flags&=-16777217):(r=r.memoizedProps,r!==f&&Ur(i),$t(i),Bh(i,g,r,f,c)),null;case 27:if(Ca(i),c=En.current,g=i.type,r!==null&&i.stateNode!=null)r.memoizedProps!==f&&Ur(i);else{if(!f){if(i.stateNode===null)throw Error(a(166));return $t(i),null}r=mt.current,mo(i)?ky(i):(r=Z4(g,f,c),i.stateNode=r,Ur(i))}return $t(i),null;case 5:if(Ca(i),g=i.type,r!==null&&i.stateNode!=null)r.memoizedProps!==f&&Ur(i);else{if(!f){if(i.stateNode===null)throw Error(a(166));return $t(i),null}if(v=mt.current,mo(i))ky(i);else{var C=cd(En.current);switch(v){case 1:v=C.createElementNS("http://www.w3.org/2000/svg",g);break;case 2:v=C.createElementNS("http://www.w3.org/1998/Math/MathML",g);break;default:switch(g){case"svg":v=C.createElementNS("http://www.w3.org/2000/svg",g);break;case"math":v=C.createElementNS("http://www.w3.org/1998/Math/MathML",g);break;case"script":v=C.createElement("div"),v.innerHTML="<script><\/script>",v=v.removeChild(v.firstChild);break;case"select":v=typeof f.is=="string"?C.createElement("select",{is:f.is}):C.createElement("select"),f.multiple?v.multiple=!0:f.size&&(v.size=f.size);break;default:v=typeof f.is=="string"?C.createElement(g,{is:f.is}):C.createElement(g)}}v[rn]=i,v[Rn]=f;e:for(C=i.child;C!==null;){if(C.tag===5||C.tag===6)v.appendChild(C.stateNode);else if(C.tag!==4&&C.tag!==27&&C.child!==null){C.child.return=C,C=C.child;continue}if(C===i)break e;for(;C.sibling===null;){if(C.return===null||C.return===i)break e;C=C.return}C.sibling.return=C.return,C=C.sibling}i.stateNode=v;e:switch(Bn(v,g,f),g){case"button":case"input":case"select":case"textarea":f=!!f.autoFocus;break e;case"img":f=!0;break e;default:f=!1}f&&Ur(i)}}return $t(i),Bh(i,i.type,r===null?null:r.memoizedProps,i.pendingProps,c),null;case 6:if(r&&i.stateNode!=null)r.memoizedProps!==f&&Ur(i);else{if(typeof f!="string"&&i.stateNode===null)throw Error(a(166));if(r=En.current,mo(i)){if(r=i.stateNode,c=i.memoizedProps,f=null,g=Dn,g!==null)switch(g.tag){case 27:case 5:f=g.memoizedProps}r[rn]=i,r=!!(r.nodeValue===c||f!==null&&f.suppressHydrationWarning===!0||z4(r.nodeValue,c)),r||ks(i,!0)}else r=cd(r).createTextNode(f),r[rn]=i,i.stateNode=r}return $t(i),null;case 31:if(c=i.memoizedState,r===null||r.memoizedState!==null){if(f=mo(i),c!==null){if(r===null){if(!f)throw Error(a(318));if(r=i.memoizedState,r=r!==null?r.dehydrated:null,!r)throw Error(a(557));r[rn]=i}else vi(),(i.flags&128)===0&&(i.memoizedState=null),i.flags|=4;$t(i),r=!1}else c=qf(),r!==null&&r.memoizedState!==null&&(r.memoizedState.hydrationErrors=c),r=!0;if(!r)return i.flags&256?(pa(i),i):(pa(i),null);if((i.flags&128)!==0)throw Error(a(558))}return $t(i),null;case 13:if(f=i.memoizedState,r===null||r.memoizedState!==null&&r.memoizedState.dehydrated!==null){if(g=mo(i),f!==null&&f.dehydrated!==null){if(r===null){if(!g)throw Error(a(318));if(g=i.memoizedState,g=g!==null?g.dehydrated:null,!g)throw Error(a(317));g[rn]=i}else vi(),(i.flags&128)===0&&(i.memoizedState=null),i.flags|=4;$t(i),g=!1}else g=qf(),r!==null&&r.memoizedState!==null&&(r.memoizedState.hydrationErrors=g),g=!0;if(!g)return i.flags&256?(pa(i),i):(pa(i),null)}return pa(i),(i.flags&128)!==0?(i.lanes=c,i):(c=f!==null,r=r!==null&&r.memoizedState!==null,c&&(f=i.child,g=null,f.alternate!==null&&f.alternate.memoizedState!==null&&f.alternate.memoizedState.cachePool!==null&&(g=f.alternate.memoizedState.cachePool.pool),v=null,f.memoizedState!==null&&f.memoizedState.cachePool!==null&&(v=f.memoizedState.cachePool.pool),v!==g&&(f.flags|=2048)),c!==r&&c&&(i.child.flags|=8192),Ku(i,i.updateQueue),$t(i),null);case 4:return pn(),r===null&&am(i.stateNode.containerInfo),$t(i),null;case 10:return Ir(i.type),$t(i),null;case 19:if(Ie(en),f=i.memoizedState,f===null)return $t(i),null;if(g=(i.flags&128)!==0,v=f.rendering,v===null)if(g)Vl(f,!1);else{if(Xt!==0||r!==null&&(r.flags&128)!==0)for(r=i.child;r!==null;){if(v=Bu(r),v!==null){for(i.flags|=128,Vl(f,!1),r=v.updateQueue,i.updateQueue=r,Ku(i,r),i.subtreeFlags=0,r=c,c=i.child;c!==null;)yy(c,r),c=c.sibling;return Me(en,en.current&1|2),dt&&jr(i,f.treeForkCount),i.child}r=r.sibling}f.tail!==null&&yt()>Ju&&(i.flags|=128,g=!0,Vl(f,!1),i.lanes=4194304)}else{if(!g)if(r=Bu(v),r!==null){if(i.flags|=128,g=!0,r=r.updateQueue,i.updateQueue=r,Ku(i,r),Vl(f,!0),f.tail===null&&f.tailMode==="hidden"&&!v.alternate&&!dt)return $t(i),null}else 2*yt()-f.renderingStartTime>Ju&&c!==536870912&&(i.flags|=128,g=!0,Vl(f,!1),i.lanes=4194304);f.isBackwards?(v.sibling=i.child,i.child=v):(r=f.last,r!==null?r.sibling=v:i.child=v,f.last=v)}return f.tail!==null?(r=f.tail,f.rendering=r,f.tail=r.sibling,f.renderingStartTime=yt(),r.sibling=null,c=en.current,Me(en,g?c&1|2:c&1),dt&&jr(i,f.treeForkCount),r):($t(i),null);case 22:case 23:return pa(i),rh(),f=i.memoizedState!==null,r!==null?r.memoizedState!==null!==f&&(i.flags|=8192):f&&(i.flags|=8192),f?(c&536870912)!==0&&(i.flags&128)===0&&($t(i),i.subtreeFlags&6&&(i.flags|=8192)):$t(i),c=i.updateQueue,c!==null&&Ku(i,c.retryQueue),c=null,r!==null&&r.memoizedState!==null&&r.memoizedState.cachePool!==null&&(c=r.memoizedState.cachePool.pool),f=null,i.memoizedState!==null&&i.memoizedState.cachePool!==null&&(f=i.memoizedState.cachePool.pool),f!==c&&(i.flags|=2048),r!==null&&Ie(wi),null;case 24:return c=null,r!==null&&(c=r.memoizedState.cache),i.memoizedState.cache!==c&&(i.flags|=2048),Ir(on),$t(i),null;case 25:return null;case 30:return null}throw Error(a(156,i.tag))}function tw(r,i){switch(Ff(i),i.tag){case 1:return r=i.flags,r&65536?(i.flags=r&-65537|128,i):null;case 3:return Ir(on),pn(),r=i.flags,(r&65536)!==0&&(r&128)===0?(i.flags=r&-65537|128,i):null;case 26:case 27:case 5:return Ca(i),null;case 31:if(i.memoizedState!==null){if(pa(i),i.alternate===null)throw Error(a(340));vi()}return r=i.flags,r&65536?(i.flags=r&-65537|128,i):null;case 13:if(pa(i),r=i.memoizedState,r!==null&&r.dehydrated!==null){if(i.alternate===null)throw Error(a(340));vi()}return r=i.flags,r&65536?(i.flags=r&-65537|128,i):null;case 19:return Ie(en),null;case 4:return pn(),null;case 10:return Ir(i.type),null;case 22:case 23:return pa(i),rh(),r!==null&&Ie(wi),r=i.flags,r&65536?(i.flags=r&-65537|128,i):null;case 24:return Ir(on),null;case 25:return null;default:return null}}function Gv(r,i){switch(Ff(i),i.tag){case 3:Ir(on),pn();break;case 26:case 27:case 5:Ca(i);break;case 4:pn();break;case 31:i.memoizedState!==null&&pa(i);break;case 13:pa(i);break;case 19:Ie(en);break;case 10:Ir(i.type);break;case 22:case 23:pa(i),rh(),r!==null&&Ie(wi);break;case 24:Ir(on)}}function Wl(r,i){try{var c=i.updateQueue,f=c!==null?c.lastEffect:null;if(f!==null){var g=f.next;c=g;do{if((c.tag&r)===r){f=void 0;var v=c.create,C=c.inst;f=v(),C.destroy=f}c=c.next}while(c!==g)}}catch(M){Rt(i,i.return,M)}}function Ns(r,i,c){try{var f=i.updateQueue,g=f!==null?f.lastEffect:null;if(g!==null){var v=g.next;f=v;do{if((f.tag&r)===r){var C=f.inst,M=C.destroy;if(M!==void 0){C.destroy=void 0,g=i;var z=c,Y=M;try{Y()}catch(ae){Rt(g,z,ae)}}}f=f.next}while(f!==v)}}catch(ae){Rt(i,i.return,ae)}}function qv(r){var i=r.updateQueue;if(i!==null){var c=r.stateNode;try{By(i,c)}catch(f){Rt(r,r.return,f)}}}function Vv(r,i,c){c.props=Ti(r.type,r.memoizedProps),c.state=r.memoizedState;try{c.componentWillUnmount()}catch(f){Rt(r,i,f)}}function Kl(r,i){try{var c=r.ref;if(c!==null){switch(r.tag){case 26:case 27:case 5:var f=r.stateNode;break;case 30:f=r.stateNode;break;default:f=r.stateNode}typeof c=="function"?r.refCleanup=c(f):c.current=f}}catch(g){Rt(r,i,g)}}function cr(r,i){var c=r.ref,f=r.refCleanup;if(c!==null)if(typeof f=="function")try{f()}catch(g){Rt(r,i,g)}finally{r.refCleanup=null,r=r.alternate,r!=null&&(r.refCleanup=null)}else if(typeof c=="function")try{c(null)}catch(g){Rt(r,i,g)}else c.current=null}function Wv(r){var i=r.type,c=r.memoizedProps,f=r.stateNode;try{e:switch(i){case"button":case"input":case"select":case"textarea":c.autoFocus&&f.focus();break e;case"img":c.src?f.src=c.src:c.srcSet&&(f.srcset=c.srcSet)}}catch(g){Rt(r,r.return,g)}}function jh(r,i,c){try{var f=r.stateNode;Sw(f,r.type,c,i),f[Rn]=i}catch(g){Rt(r,r.return,g)}}function Kv(r){return r.tag===5||r.tag===3||r.tag===26||r.tag===27&&js(r.type)||r.tag===4}function Ph(r){e:for(;;){for(;r.sibling===null;){if(r.return===null||Kv(r.return))return null;r=r.return}for(r.sibling.return=r.return,r=r.sibling;r.tag!==5&&r.tag!==6&&r.tag!==18;){if(r.tag===27&&js(r.type)||r.flags&2||r.child===null||r.tag===4)continue e;r.child.return=r,r=r.child}if(!(r.flags&2))return r.stateNode}}function Ih(r,i,c){var f=r.tag;if(f===5||f===6)r=r.stateNode,i?(c.nodeType===9?c.body:c.nodeName==="HTML"?c.ownerDocument.body:c).insertBefore(r,i):(i=c.nodeType===9?c.body:c.nodeName==="HTML"?c.ownerDocument.body:c,i.appendChild(r),c=c._reactRootContainer,c!=null||i.onclick!==null||(i.onclick=Or));else if(f!==4&&(f===27&&js(r.type)&&(c=r.stateNode,i=null),r=r.child,r!==null))for(Ih(r,i,c),r=r.sibling;r!==null;)Ih(r,i,c),r=r.sibling}function Yu(r,i,c){var f=r.tag;if(f===5||f===6)r=r.stateNode,i?c.insertBefore(r,i):c.appendChild(r);else if(f!==4&&(f===27&&js(r.type)&&(c=r.stateNode),r=r.child,r!==null))for(Yu(r,i,c),r=r.sibling;r!==null;)Yu(r,i,c),r=r.sibling}function Yv(r){var i=r.stateNode,c=r.memoizedProps;try{for(var f=r.type,g=i.attributes;g.length;)i.removeAttributeNode(g[0]);Bn(i,f,c),i[rn]=r,i[Rn]=c}catch(v){Rt(r,r.return,v)}}var Fr=!1,un=!1,zh=!1,Zv=typeof WeakSet=="function"?WeakSet:Set,_n=null;function nw(r,i){if(r=r.containerInfo,im=gd,r=ly(r),Df(r)){if("selectionStart"in r)var c={start:r.selectionStart,end:r.selectionEnd};else e:{c=(c=r.ownerDocument)&&c.defaultView||window;var f=c.getSelection&&c.getSelection();if(f&&f.rangeCount!==0){c=f.anchorNode;var g=f.anchorOffset,v=f.focusNode;f=f.focusOffset;try{c.nodeType,v.nodeType}catch{c=null;break e}var C=0,M=-1,z=-1,Y=0,ae=0,oe=r,Z=null;t:for(;;){for(var Q;oe!==c||g!==0&&oe.nodeType!==3||(M=C+g),oe!==v||f!==0&&oe.nodeType!==3||(z=C+f),oe.nodeType===3&&(C+=oe.nodeValue.length),(Q=oe.firstChild)!==null;)Z=oe,oe=Q;for(;;){if(oe===r)break t;if(Z===c&&++Y===g&&(M=C),Z===v&&++ae===f&&(z=C),(Q=oe.nextSibling)!==null)break;oe=Z,Z=oe.parentNode}oe=Q}c=M===-1||z===-1?null:{start:M,end:z}}else c=null}c=c||{start:0,end:0}}else c=null;for(om={focusedElem:r,selectionRange:c},gd=!1,_n=i;_n!==null;)if(i=_n,r=i.child,(i.subtreeFlags&1028)!==0&&r!==null)r.return=i,_n=r;else for(;_n!==null;){switch(i=_n,v=i.alternate,r=i.flags,i.tag){case 0:if((r&4)!==0&&(r=i.updateQueue,r=r!==null?r.events:null,r!==null))for(c=0;c<r.length;c++)g=r[c],g.ref.impl=g.nextImpl;break;case 11:case 15:break;case 1:if((r&1024)!==0&&v!==null){r=void 0,c=i,g=v.memoizedProps,v=v.memoizedState,f=c.stateNode;try{var Ce=Ti(c.type,g);r=f.getSnapshotBeforeUpdate(Ce,v),f.__reactInternalSnapshotBeforeUpdate=r}catch(Pe){Rt(c,c.return,Pe)}}break;case 3:if((r&1024)!==0){if(r=i.stateNode.containerInfo,c=r.nodeType,c===9)um(r);else if(c===1)switch(r.nodeName){case"HEAD":case"HTML":case"BODY":um(r);break;default:r.textContent=""}}break;case 5:case 26:case 27:case 6:case 4:case 17:break;default:if((r&1024)!==0)throw Error(a(163))}if(r=i.sibling,r!==null){r.return=i.return,_n=r;break}_n=i.return}}function Xv(r,i,c){var f=c.flags;switch(c.tag){case 0:case 11:case 15:qr(r,c),f&4&&Wl(5,c);break;case 1:if(qr(r,c),f&4)if(r=c.stateNode,i===null)try{r.componentDidMount()}catch(C){Rt(c,c.return,C)}else{var g=Ti(c.type,i.memoizedProps);i=i.memoizedState;try{r.componentDidUpdate(g,i,r.__reactInternalSnapshotBeforeUpdate)}catch(C){Rt(c,c.return,C)}}f&64&&qv(c),f&512&&Kl(c,c.return);break;case 3:if(qr(r,c),f&64&&(r=c.updateQueue,r!==null)){if(i=null,c.child!==null)switch(c.child.tag){case 27:case 5:i=c.child.stateNode;break;case 1:i=c.child.stateNode}try{By(r,i)}catch(C){Rt(c,c.return,C)}}break;case 27:i===null&&f&4&&Yv(c);case 26:case 5:qr(r,c),i===null&&f&4&&Wv(c),f&512&&Kl(c,c.return);break;case 12:qr(r,c);break;case 31:qr(r,c),f&4&&e4(r,c);break;case 13:qr(r,c),f&4&&t4(r,c),f&64&&(r=c.memoizedState,r!==null&&(r=r.dehydrated,r!==null&&(c=dw.bind(null,c),Rw(r,c))));break;case 22:if(f=c.memoizedState!==null||Fr,!f){i=i!==null&&i.memoizedState!==null||un,g=Fr;var v=un;Fr=f,(un=i)&&!v?Vr(r,c,(c.subtreeFlags&8772)!==0):qr(r,c),Fr=g,un=v}break;case 30:break;default:qr(r,c)}}function Qv(r){var i=r.alternate;i!==null&&(r.alternate=null,Qv(i)),r.child=null,r.deletions=null,r.sibling=null,r.tag===5&&(i=r.stateNode,i!==null&&bl(i)),r.stateNode=null,r.return=null,r.dependencies=null,r.memoizedProps=null,r.memoizedState=null,r.pendingProps=null,r.stateNode=null,r.updateQueue=null}var Ut=null,na=!1;function Gr(r,i,c){for(c=c.child;c!==null;)Jv(r,i,c),c=c.sibling}function Jv(r,i,c){if($n&&typeof $n.onCommitFiberUnmount=="function")try{$n.onCommitFiberUnmount(gs,c)}catch{}switch(c.tag){case 26:un||cr(c,i),Gr(r,i,c),c.memoizedState?c.memoizedState.count--:c.stateNode&&(c=c.stateNode,c.parentNode.removeChild(c));break;case 27:un||cr(c,i);var f=Ut,g=na;js(c.type)&&(Ut=c.stateNode,na=!1),Gr(r,i,c),ac(c.stateNode),Ut=f,na=g;break;case 5:un||cr(c,i);case 6:if(f=Ut,g=na,Ut=null,Gr(r,i,c),Ut=f,na=g,Ut!==null)if(na)try{(Ut.nodeType===9?Ut.body:Ut.nodeName==="HTML"?Ut.ownerDocument.body:Ut).removeChild(c.stateNode)}catch(v){Rt(c,i,v)}else try{Ut.removeChild(c.stateNode)}catch(v){Rt(c,i,v)}break;case 18:Ut!==null&&(na?(r=Ut,q4(r.nodeType===9?r.body:r.nodeName==="HTML"?r.ownerDocument.body:r,c.stateNode),Bo(r)):q4(Ut,c.stateNode));break;case 4:f=Ut,g=na,Ut=c.stateNode.containerInfo,na=!0,Gr(r,i,c),Ut=f,na=g;break;case 0:case 11:case 14:case 15:Ns(2,c,i),un||Ns(4,c,i),Gr(r,i,c);break;case 1:un||(cr(c,i),f=c.stateNode,typeof f.componentWillUnmount=="function"&&Vv(c,i,f)),Gr(r,i,c);break;case 21:Gr(r,i,c);break;case 22:un=(f=un)||c.memoizedState!==null,Gr(r,i,c),un=f;break;default:Gr(r,i,c)}}function e4(r,i){if(i.memoizedState===null&&(r=i.alternate,r!==null&&(r=r.memoizedState,r!==null))){r=r.dehydrated;try{Bo(r)}catch(c){Rt(i,i.return,c)}}}function t4(r,i){if(i.memoizedState===null&&(r=i.alternate,r!==null&&(r=r.memoizedState,r!==null&&(r=r.dehydrated,r!==null))))try{Bo(r)}catch(c){Rt(i,i.return,c)}}function aw(r){switch(r.tag){case 31:case 13:case 19:var i=r.stateNode;return i===null&&(i=r.stateNode=new Zv),i;case 22:return r=r.stateNode,i=r._retryCache,i===null&&(i=r._retryCache=new Zv),i;default:throw Error(a(435,r.tag))}}function Zu(r,i){var c=aw(r);i.forEach(function(f){if(!c.has(f)){c.add(f);var g=fw.bind(null,r,f);f.then(g,g)}})}function aa(r,i){var c=i.deletions;if(c!==null)for(var f=0;f<c.length;f++){var g=c[f],v=r,C=i,M=C;e:for(;M!==null;){switch(M.tag){case 27:if(js(M.type)){Ut=M.stateNode,na=!1;break e}break;case 5:Ut=M.stateNode,na=!1;break e;case 3:case 4:Ut=M.stateNode.containerInfo,na=!0;break e}M=M.return}if(Ut===null)throw Error(a(160));Jv(v,C,g),Ut=null,na=!1,v=g.alternate,v!==null&&(v.return=null),g.return=null}if(i.subtreeFlags&13886)for(i=i.child;i!==null;)n4(i,r),i=i.sibling}var Za=null;function n4(r,i){var c=r.alternate,f=r.flags;switch(r.tag){case 0:case 11:case 14:case 15:aa(i,r),ra(r),f&4&&(Ns(3,r,r.return),Wl(3,r),Ns(5,r,r.return));break;case 1:aa(i,r),ra(r),f&512&&(un||c===null||cr(c,c.return)),f&64&&Fr&&(r=r.updateQueue,r!==null&&(f=r.callbacks,f!==null&&(c=r.shared.hiddenCallbacks,r.shared.hiddenCallbacks=c===null?f:c.concat(f))));break;case 26:var g=Za;if(aa(i,r),ra(r),f&512&&(un||c===null||cr(c,c.return)),f&4){var v=c!==null?c.memoizedState:null;if(f=r.memoizedState,c===null)if(f===null)if(r.stateNode===null){e:{f=r.type,c=r.memoizedProps,g=g.ownerDocument||g;t:switch(f){case"title":v=g.getElementsByTagName("title")[0],(!v||v[di]||v[rn]||v.namespaceURI==="http://www.w3.org/2000/svg"||v.hasAttribute("itemprop"))&&(v=g.createElement(f),g.head.insertBefore(v,g.querySelector("head > title"))),Bn(v,f,c),v[rn]=r,sn(v),f=v;break e;case"link":var C=nb("link","href",g).get(f+(c.href||""));if(C){for(var M=0;M<C.length;M++)if(v=C[M],v.getAttribute("href")===(c.href==null||c.href===""?null:c.href)&&v.getAttribute("rel")===(c.rel==null?null:c.rel)&&v.getAttribute("title")===(c.title==null?null:c.title)&&v.getAttribute("crossorigin")===(c.crossOrigin==null?null:c.crossOrigin)){C.splice(M,1);break t}}v=g.createElement(f),Bn(v,f,c),g.head.appendChild(v);break;case"meta":if(C=nb("meta","content",g).get(f+(c.content||""))){for(M=0;M<C.length;M++)if(v=C[M],v.getAttribute("content")===(c.content==null?null:""+c.content)&&v.getAttribute("name")===(c.name==null?null:c.name)&&v.getAttribute("property")===(c.property==null?null:c.property)&&v.getAttribute("http-equiv")===(c.httpEquiv==null?null:c.httpEquiv)&&v.getAttribute("charset")===(c.charSet==null?null:c.charSet)){C.splice(M,1);break t}}v=g.createElement(f),Bn(v,f,c),g.head.appendChild(v);break;default:throw Error(a(468,f))}v[rn]=r,sn(v),f=v}r.stateNode=f}else ab(g,r.type,r.stateNode);else r.stateNode=tb(g,f,r.memoizedProps);else v!==f?(v===null?c.stateNode!==null&&(c=c.stateNode,c.parentNode.removeChild(c)):v.count--,f===null?ab(g,r.type,r.stateNode):tb(g,f,r.memoizedProps)):f===null&&r.stateNode!==null&&jh(r,r.memoizedProps,c.memoizedProps)}break;case 27:aa(i,r),ra(r),f&512&&(un||c===null||cr(c,c.return)),c!==null&&f&4&&jh(r,r.memoizedProps,c.memoizedProps);break;case 5:if(aa(i,r),ra(r),f&512&&(un||c===null||cr(c,c.return)),r.flags&32){g=r.stateNode;try{ao(g,"")}catch(Ce){Rt(r,r.return,Ce)}}f&4&&r.stateNode!=null&&(g=r.memoizedProps,jh(r,g,c!==null?c.memoizedProps:g)),f&1024&&(zh=!0);break;case 6:if(aa(i,r),ra(r),f&4){if(r.stateNode===null)throw Error(a(162));f=r.memoizedProps,c=r.stateNode;try{c.nodeValue=f}catch(Ce){Rt(r,r.return,Ce)}}break;case 3:if(fd=null,g=Za,Za=ud(i.containerInfo),aa(i,r),Za=g,ra(r),f&4&&c!==null&&c.memoizedState.isDehydrated)try{Bo(i.containerInfo)}catch(Ce){Rt(r,r.return,Ce)}zh&&(zh=!1,a4(r));break;case 4:f=Za,Za=ud(r.stateNode.containerInfo),aa(i,r),ra(r),Za=f;break;case 12:aa(i,r),ra(r);break;case 31:aa(i,r),ra(r),f&4&&(f=r.updateQueue,f!==null&&(r.updateQueue=null,Zu(r,f)));break;case 13:aa(i,r),ra(r),r.child.flags&8192&&r.memoizedState!==null!=(c!==null&&c.memoizedState!==null)&&(Qu=yt()),f&4&&(f=r.updateQueue,f!==null&&(r.updateQueue=null,Zu(r,f)));break;case 22:g=r.memoizedState!==null;var z=c!==null&&c.memoizedState!==null,Y=Fr,ae=un;if(Fr=Y||g,un=ae||z,aa(i,r),un=ae,Fr=Y,ra(r),f&8192)e:for(i=r.stateNode,i._visibility=g?i._visibility&-2:i._visibility|1,g&&(c===null||z||Fr||un||Ai(r)),c=null,i=r;;){if(i.tag===5||i.tag===26){if(c===null){z=c=i;try{if(v=z.stateNode,g)C=v.style,typeof C.setProperty=="function"?C.setProperty("display","none","important"):C.display="none";else{M=z.stateNode;var oe=z.memoizedProps.style,Z=oe!=null&&oe.hasOwnProperty("display")?oe.display:null;M.style.display=Z==null||typeof Z=="boolean"?"":(""+Z).trim()}}catch(Ce){Rt(z,z.return,Ce)}}}else if(i.tag===6){if(c===null){z=i;try{z.stateNode.nodeValue=g?"":z.memoizedProps}catch(Ce){Rt(z,z.return,Ce)}}}else if(i.tag===18){if(c===null){z=i;try{var Q=z.stateNode;g?V4(Q,!0):V4(z.stateNode,!1)}catch(Ce){Rt(z,z.return,Ce)}}}else if((i.tag!==22&&i.tag!==23||i.memoizedState===null||i===r)&&i.child!==null){i.child.return=i,i=i.child;continue}if(i===r)break e;for(;i.sibling===null;){if(i.return===null||i.return===r)break e;c===i&&(c=null),i=i.return}c===i&&(c=null),i.sibling.return=i.return,i=i.sibling}f&4&&(f=r.updateQueue,f!==null&&(c=f.retryQueue,c!==null&&(f.retryQueue=null,Zu(r,c))));break;case 19:aa(i,r),ra(r),f&4&&(f=r.updateQueue,f!==null&&(r.updateQueue=null,Zu(r,f)));break;case 30:break;case 21:break;default:aa(i,r),ra(r)}}function ra(r){var i=r.flags;if(i&2){try{for(var c,f=r.return;f!==null;){if(Kv(f)){c=f;break}f=f.return}if(c==null)throw Error(a(160));switch(c.tag){case 27:var g=c.stateNode,v=Ph(r);Yu(r,v,g);break;case 5:var C=c.stateNode;c.flags&32&&(ao(C,""),c.flags&=-33);var M=Ph(r);Yu(r,M,C);break;case 3:case 4:var z=c.stateNode.containerInfo,Y=Ph(r);Ih(r,Y,z);break;default:throw Error(a(161))}}catch(ae){Rt(r,r.return,ae)}r.flags&=-3}i&4096&&(r.flags&=-4097)}function a4(r){if(r.subtreeFlags&1024)for(r=r.child;r!==null;){var i=r;a4(i),i.tag===5&&i.flags&1024&&i.stateNode.reset(),r=r.sibling}}function qr(r,i){if(i.subtreeFlags&8772)for(i=i.child;i!==null;)Xv(r,i.alternate,i),i=i.sibling}function Ai(r){for(r=r.child;r!==null;){var i=r;switch(i.tag){case 0:case 11:case 14:case 15:Ns(4,i,i.return),Ai(i);break;case 1:cr(i,i.return);var c=i.stateNode;typeof c.componentWillUnmount=="function"&&Vv(i,i.return,c),Ai(i);break;case 27:ac(i.stateNode);case 26:case 5:cr(i,i.return),Ai(i);break;case 22:i.memoizedState===null&&Ai(i);break;case 30:Ai(i);break;default:Ai(i)}r=r.sibling}}function Vr(r,i,c){for(c=c&&(i.subtreeFlags&8772)!==0,i=i.child;i!==null;){var f=i.alternate,g=r,v=i,C=v.flags;switch(v.tag){case 0:case 11:case 15:Vr(g,v,c),Wl(4,v);break;case 1:if(Vr(g,v,c),f=v,g=f.stateNode,typeof g.componentDidMount=="function")try{g.componentDidMount()}catch(Y){Rt(f,f.return,Y)}if(f=v,g=f.updateQueue,g!==null){var M=f.stateNode;try{var z=g.shared.hiddenCallbacks;if(z!==null)for(g.shared.hiddenCallbacks=null,g=0;g<z.length;g++)Ly(z[g],M)}catch(Y){Rt(f,f.return,Y)}}c&&C&64&&qv(v),Kl(v,v.return);break;case 27:Yv(v);case 26:case 5:Vr(g,v,c),c&&f===null&&C&4&&Wv(v),Kl(v,v.return);break;case 12:Vr(g,v,c);break;case 31:Vr(g,v,c),c&&C&4&&e4(g,v);break;case 13:Vr(g,v,c),c&&C&4&&t4(g,v);break;case 22:v.memoizedState===null&&Vr(g,v,c),Kl(v,v.return);break;case 30:break;default:Vr(g,v,c)}i=i.sibling}}function $h(r,i){var c=null;r!==null&&r.memoizedState!==null&&r.memoizedState.cachePool!==null&&(c=r.memoizedState.cachePool.pool),r=null,i.memoizedState!==null&&i.memoizedState.cachePool!==null&&(r=i.memoizedState.cachePool.pool),r!==c&&(r!=null&&r.refCount++,c!=null&&Ll(c))}function Hh(r,i){r=null,i.alternate!==null&&(r=i.alternate.memoizedState.cache),i=i.memoizedState.cache,i!==r&&(i.refCount++,r!=null&&Ll(r))}function Xa(r,i,c,f){if(i.subtreeFlags&10256)for(i=i.child;i!==null;)r4(r,i,c,f),i=i.sibling}function r4(r,i,c,f){var g=i.flags;switch(i.tag){case 0:case 11:case 15:Xa(r,i,c,f),g&2048&&Wl(9,i);break;case 1:Xa(r,i,c,f);break;case 3:Xa(r,i,c,f),g&2048&&(r=null,i.alternate!==null&&(r=i.alternate.memoizedState.cache),i=i.memoizedState.cache,i!==r&&(i.refCount++,r!=null&&Ll(r)));break;case 12:if(g&2048){Xa(r,i,c,f),r=i.stateNode;try{var v=i.memoizedProps,C=v.id,M=v.onPostCommit;typeof M=="function"&&M(C,i.alternate===null?"mount":"update",r.passiveEffectDuration,-0)}catch(z){Rt(i,i.return,z)}}else Xa(r,i,c,f);break;case 31:Xa(r,i,c,f);break;case 13:Xa(r,i,c,f);break;case 23:break;case 22:v=i.stateNode,C=i.alternate,i.memoizedState!==null?v._visibility&2?Xa(r,i,c,f):Yl(r,i):v._visibility&2?Xa(r,i,c,f):(v._visibility|=2,_o(r,i,c,f,(i.subtreeFlags&10256)!==0||!1)),g&2048&&$h(C,i);break;case 24:Xa(r,i,c,f),g&2048&&Hh(i.alternate,i);break;default:Xa(r,i,c,f)}}function _o(r,i,c,f,g){for(g=g&&((i.subtreeFlags&10256)!==0||!1),i=i.child;i!==null;){var v=r,C=i,M=c,z=f,Y=C.flags;switch(C.tag){case 0:case 11:case 15:_o(v,C,M,z,g),Wl(8,C);break;case 23:break;case 22:var ae=C.stateNode;C.memoizedState!==null?ae._visibility&2?_o(v,C,M,z,g):Yl(v,C):(ae._visibility|=2,_o(v,C,M,z,g)),g&&Y&2048&&$h(C.alternate,C);break;case 24:_o(v,C,M,z,g),g&&Y&2048&&Hh(C.alternate,C);break;default:_o(v,C,M,z,g)}i=i.sibling}}function Yl(r,i){if(i.subtreeFlags&10256)for(i=i.child;i!==null;){var c=r,f=i,g=f.flags;switch(f.tag){case 22:Yl(c,f),g&2048&&$h(f.alternate,f);break;case 24:Yl(c,f),g&2048&&Hh(f.alternate,f);break;default:Yl(c,f)}i=i.sibling}}var Zl=8192;function Co(r,i,c){if(r.subtreeFlags&Zl)for(r=r.child;r!==null;)s4(r,i,c),r=r.sibling}function s4(r,i,c){switch(r.tag){case 26:Co(r,i,c),r.flags&Zl&&r.memoizedState!==null&&Fw(c,Za,r.memoizedState,r.memoizedProps);break;case 5:Co(r,i,c);break;case 3:case 4:var f=Za;Za=ud(r.stateNode.containerInfo),Co(r,i,c),Za=f;break;case 22:r.memoizedState===null&&(f=r.alternate,f!==null&&f.memoizedState!==null?(f=Zl,Zl=16777216,Co(r,i,c),Zl=f):Co(r,i,c));break;default:Co(r,i,c)}}function i4(r){var i=r.alternate;if(i!==null&&(r=i.child,r!==null)){i.child=null;do i=r.sibling,r.sibling=null,r=i;while(r!==null)}}function Xl(r){var i=r.deletions;if((r.flags&16)!==0){if(i!==null)for(var c=0;c<i.length;c++){var f=i[c];_n=f,l4(f,r)}i4(r)}if(r.subtreeFlags&10256)for(r=r.child;r!==null;)o4(r),r=r.sibling}function o4(r){switch(r.tag){case 0:case 11:case 15:Xl(r),r.flags&2048&&Ns(9,r,r.return);break;case 3:Xl(r);break;case 12:Xl(r);break;case 22:var i=r.stateNode;r.memoizedState!==null&&i._visibility&2&&(r.return===null||r.return.tag!==13)?(i._visibility&=-3,Xu(r)):Xl(r);break;default:Xl(r)}}function Xu(r){var i=r.deletions;if((r.flags&16)!==0){if(i!==null)for(var c=0;c<i.length;c++){var f=i[c];_n=f,l4(f,r)}i4(r)}for(r=r.child;r!==null;){switch(i=r,i.tag){case 0:case 11:case 15:Ns(8,i,i.return),Xu(i);break;case 22:c=i.stateNode,c._visibility&2&&(c._visibility&=-3,Xu(i));break;default:Xu(i)}r=r.sibling}}function l4(r,i){for(;_n!==null;){var c=_n;switch(c.tag){case 0:case 11:case 15:Ns(8,c,i);break;case 23:case 22:if(c.memoizedState!==null&&c.memoizedState.cachePool!==null){var f=c.memoizedState.cachePool.pool;f!=null&&f.refCount++}break;case 24:Ll(c.memoizedState.cache)}if(f=c.child,f!==null)f.return=c,_n=f;else e:for(c=r;_n!==null;){f=_n;var g=f.sibling,v=f.return;if(Qv(f),f===c){_n=null;break e}if(g!==null){g.return=v,_n=g;break e}_n=v}}}var rw={getCacheForType:function(r){var i=On(on),c=i.data.get(r);return c===void 0&&(c=r(),i.data.set(r,c)),c},cacheSignal:function(){return On(on).controller.signal}},sw=typeof WeakMap=="function"?WeakMap:Map,_t=0,jt=null,it=null,ct=0,Mt=0,ga=null,Ms=!1,To=!1,Uh=!1,Wr=0,Xt=0,Rs=0,Ei=0,Fh=0,ya=0,Ao=0,Ql=null,sa=null,Gh=!1,Qu=0,c4=0,Ju=1/0,ed=null,Ds=null,yn=0,Os=null,Eo=null,Kr=0,qh=0,Vh=null,u4=null,Jl=0,Wh=null;function va(){return(_t&2)!==0&&ct!==0?ct&-ct:G.T!==null?Jh():yl()}function d4(){if(ya===0)if((ct&536870912)===0||dt){var r=Xi;Xi<<=1,(Xi&3932160)===0&&(Xi=262144),ya=r}else ya=536870912;return r=ma.current,r!==null&&(r.flags|=32),ya}function ia(r,i,c){(r===jt&&(Mt===2||Mt===9)||r.cancelPendingCommit!==null)&&(No(r,0),Ls(r,ct,ya,!1)),Nr(r,c),((_t&2)===0||r!==jt)&&(r===jt&&((_t&2)===0&&(Ei|=c),Xt===4&&Ls(r,ct,ya,!1)),ur(r))}function f4(r,i,c){if((_t&6)!==0)throw Error(a(327));var f=!c&&(i&127)===0&&(i&r.expiredLanes)===0||ys(r,i),g=f?lw(r,i):Yh(r,i,!0),v=f;do{if(g===0){To&&!f&&Ls(r,i,0,!1);break}else{if(c=r.current.alternate,v&&!iw(c)){g=Yh(r,i,!1),v=!1;continue}if(g===2){if(v=i,r.errorRecoveryDisabledLanes&v)var C=0;else C=r.pendingLanes&-536870913,C=C!==0?C:C&536870912?536870912:0;if(C!==0){i=C;e:{var M=r;g=Ql;var z=M.current.memoizedState.isDehydrated;if(z&&(No(M,C).flags|=256),C=Yh(M,C,!1),C!==2){if(Uh&&!z){M.errorRecoveryDisabledLanes|=v,Ei|=v,g=4;break e}v=sa,sa=g,v!==null&&(sa===null?sa=v:sa.push.apply(sa,v))}g=C}if(v=!1,g!==2)continue}}if(g===1){No(r,0),Ls(r,i,0,!0);break}e:{switch(f=r,v=g,v){case 0:case 1:throw Error(a(345));case 4:if((i&4194048)!==i)break;case 6:Ls(f,i,ya,!Ms);break e;case 2:sa=null;break;case 3:case 5:break;default:throw Error(a(329))}if((i&62914560)===i&&(g=Qu+300-yt(),10<g)){if(Ls(f,i,ya,!Ms),Qi(f,0,!0)!==0)break e;Kr=i,f.timeoutHandle=F4(h4.bind(null,f,c,sa,ed,Gh,i,ya,Ei,Ao,Ms,v,"Throttled",-0,0),g);break e}h4(f,c,sa,ed,Gh,i,ya,Ei,Ao,Ms,v,null,-0,0)}}break}while(!0);ur(r)}function h4(r,i,c,f,g,v,C,M,z,Y,ae,oe,Z,Q){if(r.timeoutHandle=-1,oe=i.subtreeFlags,oe&8192||(oe&16785408)===16785408){oe={stylesheets:null,count:0,imgCount:0,imgBytes:0,suspenseyImages:[],waitingForImages:!0,waitingForViewTransition:!1,unsuspend:Or},s4(i,v,oe);var Ce=(v&62914560)===v?Qu-yt():(v&4194048)===v?c4-yt():0;if(Ce=Gw(oe,Ce),Ce!==null){Kr=v,r.cancelPendingCommit=Ce(w4.bind(null,r,i,v,c,f,g,C,M,z,ae,oe,null,Z,Q)),Ls(r,v,C,!Y);return}}w4(r,i,v,c,f,g,C,M,z)}function iw(r){for(var i=r;;){var c=i.tag;if((c===0||c===11||c===15)&&i.flags&16384&&(c=i.updateQueue,c!==null&&(c=c.stores,c!==null)))for(var f=0;f<c.length;f++){var g=c[f],v=g.getSnapshot;g=g.value;try{if(!fa(v(),g))return!1}catch{return!1}}if(c=i.child,i.subtreeFlags&16384&&c!==null)c.return=i,i=c;else{if(i===r)break;for(;i.sibling===null;){if(i.return===null||i.return===r)return!0;i=i.return}i.sibling.return=i.return,i=i.sibling}}return!0}function Ls(r,i,c,f){i&=~Fh,i&=~Ei,r.suspendedLanes|=i,r.pingedLanes&=~i,f&&(r.warmLanes|=i),f=r.expirationTimes;for(var g=i;0<g;){var v=31-Mn(g),C=1<<v;f[v]=-1,g&=~C}c!==0&&Mr(r,c,i)}function td(){return(_t&6)===0?(ec(0),!1):!0}function Kh(){if(it!==null){if(Mt===0)var r=it.return;else r=it,Pr=bi=null,uh(r),bo=null,jl=0,r=it;for(;r!==null;)Gv(r.alternate,r),r=r.return;it=null}}function No(r,i){var c=r.timeoutHandle;c!==-1&&(r.timeoutHandle=-1,Tw(c)),c=r.cancelPendingCommit,c!==null&&(r.cancelPendingCommit=null,c()),Kr=0,Kh(),jt=r,it=c=Br(r.current,null),ct=i,Mt=0,ga=null,Ms=!1,To=ys(r,i),Uh=!1,Ao=ya=Fh=Ei=Rs=Xt=0,sa=Ql=null,Gh=!1,(i&8)!==0&&(i|=i&32);var f=r.entangledLanes;if(f!==0)for(r=r.entanglements,f&=i;0<f;){var g=31-Mn(f),v=1<<g;i|=r[g],f&=~v}return Wr=i,ku(),c}function m4(r,i){tt=null,G.H=Gl,i===vo||i===Mu?(i=My(),Mt=3):i===Qf?(i=My(),Mt=4):Mt=i===Th?8:i!==null&&typeof i=="object"&&typeof i.then=="function"?6:1,ga=i,it===null&&(Xt=1,Gu(r,Ma(i,r.current)))}function p4(){var r=ma.current;return r===null?!0:(ct&4194048)===ct?La===null:(ct&62914560)===ct||(ct&536870912)!==0?r===La:!1}function g4(){var r=G.H;return G.H=Gl,r===null?Gl:r}function y4(){var r=G.A;return G.A=rw,r}function nd(){Xt=4,Ms||(ct&4194048)!==ct&&ma.current!==null||(To=!0),(Rs&134217727)===0&&(Ei&134217727)===0||jt===null||Ls(jt,ct,ya,!1)}function Yh(r,i,c){var f=_t;_t|=2;var g=g4(),v=y4();(jt!==r||ct!==i)&&(ed=null,No(r,i)),i=!1;var C=Xt;e:do try{if(Mt!==0&&it!==null){var M=it,z=ga;switch(Mt){case 8:Kh(),C=6;break e;case 3:case 2:case 9:case 6:ma.current===null&&(i=!0);var Y=Mt;if(Mt=0,ga=null,Mo(r,M,z,Y),c&&To){C=0;break e}break;default:Y=Mt,Mt=0,ga=null,Mo(r,M,z,Y)}}ow(),C=Xt;break}catch(ae){m4(r,ae)}while(!0);return i&&r.shellSuspendCounter++,Pr=bi=null,_t=f,G.H=g,G.A=v,it===null&&(jt=null,ct=0,ku()),C}function ow(){for(;it!==null;)v4(it)}function lw(r,i){var c=_t;_t|=2;var f=g4(),g=y4();jt!==r||ct!==i?(ed=null,Ju=yt()+500,No(r,i)):To=ys(r,i);e:do try{if(Mt!==0&&it!==null){i=it;var v=ga;t:switch(Mt){case 1:Mt=0,ga=null,Mo(r,i,v,1);break;case 2:case 9:if(Ey(v)){Mt=0,ga=null,b4(i);break}i=function(){Mt!==2&&Mt!==9||jt!==r||(Mt=7),ur(r)},v.then(i,i);break e;case 3:Mt=7;break e;case 4:Mt=5;break e;case 7:Ey(v)?(Mt=0,ga=null,b4(i)):(Mt=0,ga=null,Mo(r,i,v,7));break;case 5:var C=null;switch(it.tag){case 26:C=it.memoizedState;case 5:case 27:var M=it;if(C?rb(C):M.stateNode.complete){Mt=0,ga=null;var z=M.sibling;if(z!==null)it=z;else{var Y=M.return;Y!==null?(it=Y,ad(Y)):it=null}break t}}Mt=0,ga=null,Mo(r,i,v,5);break;case 6:Mt=0,ga=null,Mo(r,i,v,6);break;case 8:Kh(),Xt=6;break e;default:throw Error(a(462))}}cw();break}catch(ae){m4(r,ae)}while(!0);return Pr=bi=null,G.H=f,G.A=g,_t=c,it!==null?0:(jt=null,ct=0,ku(),Xt)}function cw(){for(;it!==null&&!Jt();)v4(it)}function v4(r){var i=Uv(r.alternate,r,Wr);r.memoizedProps=r.pendingProps,i===null?ad(r):it=i}function b4(r){var i=r,c=i.alternate;switch(i.tag){case 15:case 0:i=jv(c,i,i.pendingProps,i.type,void 0,ct);break;case 11:i=jv(c,i,i.pendingProps,i.type.render,i.ref,ct);break;case 5:uh(i);default:Gv(c,i),i=it=yy(i,Wr),i=Uv(c,i,Wr)}r.memoizedProps=r.pendingProps,i===null?ad(r):it=i}function Mo(r,i,c,f){Pr=bi=null,uh(i),bo=null,jl=0;var g=i.return;try{if(X8(r,g,i,c,ct)){Xt=1,Gu(r,Ma(c,r.current)),it=null;return}}catch(v){if(g!==null)throw it=g,v;Xt=1,Gu(r,Ma(c,r.current)),it=null;return}i.flags&32768?(dt||f===1?r=!0:To||(ct&536870912)!==0?r=!1:(Ms=r=!0,(f===2||f===9||f===3||f===6)&&(f=ma.current,f!==null&&f.tag===13&&(f.flags|=16384))),x4(i,r)):ad(i)}function ad(r){var i=r;do{if((i.flags&32768)!==0){x4(i,Ms);return}r=i.return;var c=ew(i.alternate,i,Wr);if(c!==null){it=c;return}if(i=i.sibling,i!==null){it=i;return}it=i=r}while(i!==null);Xt===0&&(Xt=5)}function x4(r,i){do{var c=tw(r.alternate,r);if(c!==null){c.flags&=32767,it=c;return}if(c=r.return,c!==null&&(c.flags|=32768,c.subtreeFlags=0,c.deletions=null),!i&&(r=r.sibling,r!==null)){it=r;return}it=r=c}while(r!==null);Xt=6,it=null}function w4(r,i,c,f,g,v,C,M,z){r.cancelPendingCommit=null;do rd();while(yn!==0);if((_t&6)!==0)throw Error(a(327));if(i!==null){if(i===r.current)throw Error(a(177));if(v=i.lanes|i.childLanes,v|=Pf,uu(r,c,v,C,M,z),r===jt&&(it=jt=null,ct=0),Eo=i,Os=r,Kr=c,qh=v,Vh=g,u4=f,(i.subtreeFlags&10256)!==0||(i.flags&10256)!==0?(r.callbackNode=null,r.callbackPriority=0,hw(ca,function(){return T4(),null})):(r.callbackNode=null,r.callbackPriority=0),f=(i.flags&13878)!==0,(i.subtreeFlags&13878)!==0||f){f=G.T,G.T=null,g=le.p,le.p=2,C=_t,_t|=4;try{nw(r,i,c)}finally{_t=C,le.p=g,G.T=f}}yn=1,k4(),S4(),_4()}}function k4(){if(yn===1){yn=0;var r=Os,i=Eo,c=(i.flags&13878)!==0;if((i.subtreeFlags&13878)!==0||c){c=G.T,G.T=null;var f=le.p;le.p=2;var g=_t;_t|=4;try{n4(i,r);var v=om,C=ly(r.containerInfo),M=v.focusedElem,z=v.selectionRange;if(C!==M&&M&&M.ownerDocument&&oy(M.ownerDocument.documentElement,M)){if(z!==null&&Df(M)){var Y=z.start,ae=z.end;if(ae===void 0&&(ae=Y),"selectionStart"in M)M.selectionStart=Y,M.selectionEnd=Math.min(ae,M.value.length);else{var oe=M.ownerDocument||document,Z=oe&&oe.defaultView||window;if(Z.getSelection){var Q=Z.getSelection(),Ce=M.textContent.length,Pe=Math.min(z.start,Ce),Bt=z.end===void 0?Pe:Math.min(z.end,Ce);!Q.extend&&Pe>Bt&&(C=Bt,Bt=Pe,Pe=C);var F=iy(M,Pe),$=iy(M,Bt);if(F&&$&&(Q.rangeCount!==1||Q.anchorNode!==F.node||Q.anchorOffset!==F.offset||Q.focusNode!==$.node||Q.focusOffset!==$.offset)){var V=oe.createRange();V.setStart(F.node,F.offset),Q.removeAllRanges(),Pe>Bt?(Q.addRange(V),Q.extend($.node,$.offset)):(V.setEnd($.node,$.offset),Q.addRange(V))}}}}for(oe=[],Q=M;Q=Q.parentNode;)Q.nodeType===1&&oe.push({element:Q,left:Q.scrollLeft,top:Q.scrollTop});for(typeof M.focus=="function"&&M.focus(),M=0;M<oe.length;M++){var ie=oe[M];ie.element.scrollLeft=ie.left,ie.element.scrollTop=ie.top}}gd=!!im,om=im=null}finally{_t=g,le.p=f,G.T=c}}r.current=i,yn=2}}function S4(){if(yn===2){yn=0;var r=Os,i=Eo,c=(i.flags&8772)!==0;if((i.subtreeFlags&8772)!==0||c){c=G.T,G.T=null;var f=le.p;le.p=2;var g=_t;_t|=4;try{Xv(r,i.alternate,i)}finally{_t=g,le.p=f,G.T=c}}yn=3}}function _4(){if(yn===4||yn===3){yn=0,Ht();var r=Os,i=Eo,c=Kr,f=u4;(i.subtreeFlags&10256)!==0||(i.flags&10256)!==0?yn=5:(yn=0,Eo=Os=null,C4(r,r.pendingLanes));var g=r.pendingLanes;if(g===0&&(Ds=null),gl(c),i=i.stateNode,$n&&typeof $n.onCommitFiberRoot=="function")try{$n.onCommitFiberRoot(gs,i,void 0,(i.current.flags&128)===128)}catch{}if(f!==null){i=G.T,g=le.p,le.p=2,G.T=null;try{for(var v=r.onRecoverableError,C=0;C<f.length;C++){var M=f[C];v(M.value,{componentStack:M.stack})}}finally{G.T=i,le.p=g}}(Kr&3)!==0&&rd(),ur(r),g=r.pendingLanes,(c&261930)!==0&&(g&42)!==0?r===Wh?Jl++:(Jl=0,Wh=r):Jl=0,ec(0)}}function C4(r,i){(r.pooledCacheLanes&=i)===0&&(i=r.pooledCache,i!=null&&(r.pooledCache=null,Ll(i)))}function rd(){return k4(),S4(),_4(),T4()}function T4(){if(yn!==5)return!1;var r=Os,i=qh;qh=0;var c=gl(Kr),f=G.T,g=le.p;try{le.p=32>c?32:c,G.T=null,c=Vh,Vh=null;var v=Os,C=Kr;if(yn=0,Eo=Os=null,Kr=0,(_t&6)!==0)throw Error(a(331));var M=_t;if(_t|=4,o4(v.current),r4(v,v.current,C,c),_t=M,ec(0,!1),$n&&typeof $n.onPostCommitFiberRoot=="function")try{$n.onPostCommitFiberRoot(gs,v)}catch{}return!0}finally{le.p=g,G.T=f,C4(r,i)}}function A4(r,i,c){i=Ma(c,i),i=Ch(r.stateNode,i,2),r=Ts(r,i,2),r!==null&&(Nr(r,2),ur(r))}function Rt(r,i,c){if(r.tag===3)A4(r,r,c);else for(;i!==null;){if(i.tag===3){A4(i,r,c);break}else if(i.tag===1){var f=i.stateNode;if(typeof i.type.getDerivedStateFromError=="function"||typeof f.componentDidCatch=="function"&&(Ds===null||!Ds.has(f))){r=Ma(c,r),c=Ev(2),f=Ts(i,c,2),f!==null&&(Nv(c,f,i,r),Nr(f,2),ur(f));break}}i=i.return}}function Zh(r,i,c){var f=r.pingCache;if(f===null){f=r.pingCache=new sw;var g=new Set;f.set(i,g)}else g=f.get(i),g===void 0&&(g=new Set,f.set(i,g));g.has(c)||(Uh=!0,g.add(c),r=uw.bind(null,r,i,c),i.then(r,r))}function uw(r,i,c){var f=r.pingCache;f!==null&&f.delete(i),r.pingedLanes|=r.suspendedLanes&c,r.warmLanes&=~c,jt===r&&(ct&c)===c&&(Xt===4||Xt===3&&(ct&62914560)===ct&&300>yt()-Qu?(_t&2)===0&&No(r,0):Fh|=c,Ao===ct&&(Ao=0)),ur(r)}function E4(r,i){i===0&&(i=cu()),r=gi(r,i),r!==null&&(Nr(r,i),ur(r))}function dw(r){var i=r.memoizedState,c=0;i!==null&&(c=i.retryLane),E4(r,c)}function fw(r,i){var c=0;switch(r.tag){case 31:case 13:var f=r.stateNode,g=r.memoizedState;g!==null&&(c=g.retryLane);break;case 19:f=r.stateNode;break;case 22:f=r.stateNode._retryCache;break;default:throw Error(a(314))}f!==null&&f.delete(i),E4(r,c)}function hw(r,i){return Ue(r,i)}var sd=null,Ro=null,Xh=!1,id=!1,Qh=!1,Bs=0;function ur(r){r!==Ro&&r.next===null&&(Ro===null?sd=Ro=r:Ro=Ro.next=r),id=!0,Xh||(Xh=!0,pw())}function ec(r,i){if(!Qh&&id){Qh=!0;do for(var c=!1,f=sd;f!==null;){if(r!==0){var g=f.pendingLanes;if(g===0)var v=0;else{var C=f.suspendedLanes,M=f.pingedLanes;v=(1<<31-Mn(42|r)+1)-1,v&=g&~(C&~M),v=v&201326741?v&201326741|1:v?v|2:0}v!==0&&(c=!0,D4(f,v))}else v=ct,v=Qi(f,f===jt?v:0,f.cancelPendingCommit!==null||f.timeoutHandle!==-1),(v&3)===0||ys(f,v)||(c=!0,D4(f,v));f=f.next}while(c);Qh=!1}}function mw(){N4()}function N4(){id=Xh=!1;var r=0;Bs!==0&&Cw()&&(r=Bs);for(var i=yt(),c=null,f=sd;f!==null;){var g=f.next,v=M4(f,i);v===0?(f.next=null,c===null?sd=g:c.next=g,g===null&&(Ro=c)):(c=f,(r!==0||(v&3)!==0)&&(id=!0)),f=g}yn!==0&&yn!==5||ec(r),Bs!==0&&(Bs=0)}function M4(r,i){for(var c=r.suspendedLanes,f=r.pingedLanes,g=r.expirationTimes,v=r.pendingLanes&-62914561;0<v;){var C=31-Mn(v),M=1<<C,z=g[C];z===-1?((M&c)===0||(M&f)!==0)&&(g[C]=Ji(M,i)):z<=i&&(r.expiredLanes|=M),v&=~M}if(i=jt,c=ct,c=Qi(r,r===i?c:0,r.cancelPendingCommit!==null||r.timeoutHandle!==-1),f=r.callbackNode,c===0||r===i&&(Mt===2||Mt===9)||r.cancelPendingCommit!==null)return f!==null&&f!==null&&At(f),r.callbackNode=null,r.callbackPriority=0;if((c&3)===0||ys(r,c)){if(i=c&-c,i===r.callbackPriority)return i;switch(f!==null&&At(f),gl(c)){case 2:case 8:c=ps;break;case 32:c=ca;break;case 268435456:c=zn;break;default:c=ca}return f=R4.bind(null,r),c=Ue(c,f),r.callbackPriority=i,r.callbackNode=c,i}return f!==null&&f!==null&&At(f),r.callbackPriority=2,r.callbackNode=null,2}function R4(r,i){if(yn!==0&&yn!==5)return r.callbackNode=null,r.callbackPriority=0,null;var c=r.callbackNode;if(rd()&&r.callbackNode!==c)return null;var f=ct;return f=Qi(r,r===jt?f:0,r.cancelPendingCommit!==null||r.timeoutHandle!==-1),f===0?null:(f4(r,f,i),M4(r,yt()),r.callbackNode!=null&&r.callbackNode===c?R4.bind(null,r):null)}function D4(r,i){if(rd())return null;f4(r,i,!0)}function pw(){Aw(function(){(_t&6)!==0?Ue(rr,mw):N4()})}function Jh(){if(Bs===0){var r=go;r===0&&(r=Zi,Zi<<=1,(Zi&261888)===0&&(Zi=256)),Bs=r}return Bs}function O4(r){return r==null||typeof r=="symbol"||typeof r=="boolean"?null:typeof r=="function"?r:mu(""+r)}function L4(r,i){var c=i.ownerDocument.createElement("input");return c.name=i.name,c.value=i.value,r.id&&c.setAttribute("form",r.id),i.parentNode.insertBefore(c,i),r=new FormData(r),c.parentNode.removeChild(c),r}function gw(r,i,c,f,g){if(i==="submit"&&c&&c.stateNode===g){var v=O4((g[Rn]||null).action),C=f.submitter;C&&(i=(i=C[Rn]||null)?O4(i.formAction):C.getAttribute("formAction"),i!==null&&(v=i,C=null));var M=new vu("action","action",null,f,g);r.push({event:M,listeners:[{instance:null,listener:function(){if(f.defaultPrevented){if(Bs!==0){var z=C?L4(g,C):new FormData(g);bh(c,{pending:!0,data:z,method:g.method,action:v},null,z)}}else typeof v=="function"&&(M.preventDefault(),z=C?L4(g,C):new FormData(g),bh(c,{pending:!0,data:z,method:g.method,action:v},v,z))},currentTarget:g}]})}}for(var em=0;em<jf.length;em++){var tm=jf[em],yw=tm.toLowerCase(),vw=tm[0].toUpperCase()+tm.slice(1);Ya(yw,"on"+vw)}Ya(dy,"onAnimationEnd"),Ya(fy,"onAnimationIteration"),Ya(hy,"onAnimationStart"),Ya("dblclick","onDoubleClick"),Ya("focusin","onFocus"),Ya("focusout","onBlur"),Ya(L8,"onTransitionRun"),Ya(B8,"onTransitionStart"),Ya(j8,"onTransitionCancel"),Ya(my,"onTransitionEnd"),De("onMouseEnter",["mouseout","mouseover"]),De("onMouseLeave",["mouseout","mouseover"]),De("onPointerEnter",["pointerout","pointerover"]),De("onPointerLeave",["pointerout","pointerover"]),he("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),he("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),he("onBeforeInput",["compositionend","keypress","textInput","paste"]),he("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),he("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),he("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var tc="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),bw=new Set("beforetoggle cancel close invalid load scroll scrollend toggle".split(" ").concat(tc));function B4(r,i){i=(i&4)!==0;for(var c=0;c<r.length;c++){var f=r[c],g=f.event;f=f.listeners;e:{var v=void 0;if(i)for(var C=f.length-1;0<=C;C--){var M=f[C],z=M.instance,Y=M.currentTarget;if(M=M.listener,z!==v&&g.isPropagationStopped())break e;v=M,g.currentTarget=Y;try{v(g)}catch(ae){wu(ae)}g.currentTarget=null,v=z}else for(C=0;C<f.length;C++){if(M=f[C],z=M.instance,Y=M.currentTarget,M=M.listener,z!==v&&g.isPropagationStopped())break e;v=M,g.currentTarget=Y;try{v(g)}catch(ae){wu(ae)}g.currentTarget=null,v=z}}}}function ot(r,i){var c=i[ui];c===void 0&&(c=i[ui]=new Set);var f=r+"__bubble";c.has(f)||(j4(i,r,2,!1),c.add(f))}function nm(r,i,c){var f=0;i&&(f|=4),j4(c,r,f,i)}var od="_reactListening"+Math.random().toString(36).slice(2);function am(r){if(!r[od]){r[od]=!0,U.forEach(function(c){c!=="selectionchange"&&(bw.has(c)||nm(c,!1,r),nm(c,!0,r))});var i=r.nodeType===9?r:r.ownerDocument;i===null||i[od]||(i[od]=!0,nm("selectionchange",!1,i))}}function j4(r,i,c,f){switch(db(i)){case 2:var g=Ww;break;case 8:g=Kw;break;default:g=vm}c=g.bind(null,i,c,r),g=void 0,!Sf||i!=="touchstart"&&i!=="touchmove"&&i!=="wheel"||(g=!0),f?g!==void 0?r.addEventListener(i,c,{capture:!0,passive:g}):r.addEventListener(i,c,!0):g!==void 0?r.addEventListener(i,c,{passive:g}):r.addEventListener(i,c,!1)}function rm(r,i,c,f,g){var v=f;if((i&1)===0&&(i&2)===0&&f!==null)e:for(;;){if(f===null)return;var C=f.tag;if(C===3||C===4){var M=f.stateNode.containerInfo;if(M===g)break;if(C===4)for(C=f.return;C!==null;){var z=C.tag;if((z===3||z===4)&&C.stateNode.containerInfo===g)return;C=C.return}for(;M!==null;){if(C=vs(M),C===null)return;if(z=C.tag,z===5||z===6||z===26||z===27){f=v=C;continue e}M=M.parentNode}}f=f.return}H1(function(){var Y=v,ae=wf(c),oe=[];e:{var Z=py.get(r);if(Z!==void 0){var Q=vu,Ce=r;switch(r){case"keypress":if(gu(c)===0)break e;case"keydown":case"keyup":Q=f8;break;case"focusin":Ce="focus",Q=Af;break;case"focusout":Ce="blur",Q=Af;break;case"beforeblur":case"afterblur":Q=Af;break;case"click":if(c.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":Q=G1;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":Q=e8;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":Q=p8;break;case dy:case fy:case hy:Q=a8;break;case my:Q=y8;break;case"scroll":case"scrollend":Q=Q7;break;case"wheel":Q=b8;break;case"copy":case"cut":case"paste":Q=s8;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":Q=V1;break;case"toggle":case"beforetoggle":Q=w8}var Pe=(i&4)!==0,Bt=!Pe&&(r==="scroll"||r==="scrollend"),F=Pe?Z!==null?Z+"Capture":null:Z;Pe=[];for(var $=Y,V;$!==null;){var ie=$;if(V=ie.stateNode,ie=ie.tag,ie!==5&&ie!==26&&ie!==27||V===null||F===null||(ie=Sl($,F),ie!=null&&Pe.push(nc($,ie,V))),Bt)break;$=$.return}0<Pe.length&&(Z=new Q(Z,Ce,null,c,ae),oe.push({event:Z,listeners:Pe}))}}if((i&7)===0){e:{if(Z=r==="mouseover"||r==="pointerover",Q=r==="mouseout"||r==="pointerout",Z&&c!==xf&&(Ce=c.relatedTarget||c.fromElement)&&(vs(Ce)||Ce[sr]))break e;if((Q||Z)&&(Z=ae.window===ae?ae:(Z=ae.ownerDocument)?Z.defaultView||Z.parentWindow:window,Q?(Ce=c.relatedTarget||c.toElement,Q=Y,Ce=Ce?vs(Ce):null,Ce!==null&&(Bt=o(Ce),Pe=Ce.tag,Ce!==Bt||Pe!==5&&Pe!==27&&Pe!==6)&&(Ce=null)):(Q=null,Ce=Y),Q!==Ce)){if(Pe=G1,ie="onMouseLeave",F="onMouseEnter",$="mouse",(r==="pointerout"||r==="pointerover")&&(Pe=V1,ie="onPointerLeave",F="onPointerEnter",$="pointer"),Bt=Q==null?Z:fi(Q),V=Ce==null?Z:fi(Ce),Z=new Pe(ie,$+"leave",Q,c,ae),Z.target=Bt,Z.relatedTarget=V,ie=null,vs(ae)===Y&&(Pe=new Pe(F,$+"enter",Ce,c,ae),Pe.target=V,Pe.relatedTarget=Bt,ie=Pe),Bt=ie,Q&&Ce)t:{for(Pe=xw,F=Q,$=Ce,V=0,ie=F;ie;ie=Pe(ie))V++;ie=0;for(var Oe=$;Oe;Oe=Pe(Oe))ie++;for(;0<V-ie;)F=Pe(F),V--;for(;0<ie-V;)$=Pe($),ie--;for(;V--;){if(F===$||$!==null&&F===$.alternate){Pe=F;break t}F=Pe(F),$=Pe($)}Pe=null}else Pe=null;Q!==null&&P4(oe,Z,Q,Pe,!1),Ce!==null&&Bt!==null&&P4(oe,Bt,Ce,Pe,!0)}}e:{if(Z=Y?fi(Y):window,Q=Z.nodeName&&Z.nodeName.toLowerCase(),Q==="select"||Q==="input"&&Z.type==="file")var vt=ey;else if(Q1(Z))if(ty)vt=R8;else{vt=N8;var Ae=E8}else Q=Z.nodeName,!Q||Q.toLowerCase()!=="input"||Z.type!=="checkbox"&&Z.type!=="radio"?Y&&bf(Y.elementType)&&(vt=ey):vt=M8;if(vt&&(vt=vt(r,Y))){J1(oe,vt,c,ae);break e}Ae&&Ae(r,Z,Y),r==="focusout"&&Y&&Z.type==="number"&&Y.memoizedProps.value!=null&&vf(Z,"number",Z.value)}switch(Ae=Y?fi(Y):window,r){case"focusin":(Q1(Ae)||Ae.contentEditable==="true")&&(oo=Ae,Of=Y,Rl=null);break;case"focusout":Rl=Of=oo=null;break;case"mousedown":Lf=!0;break;case"contextmenu":case"mouseup":case"dragend":Lf=!1,cy(oe,c,ae);break;case"selectionchange":if(O8)break;case"keydown":case"keyup":cy(oe,c,ae)}var nt;if(Nf)e:{switch(r){case"compositionstart":var ut="onCompositionStart";break e;case"compositionend":ut="onCompositionEnd";break e;case"compositionupdate":ut="onCompositionUpdate";break e}ut=void 0}else io?Z1(r,c)&&(ut="onCompositionEnd"):r==="keydown"&&c.keyCode===229&&(ut="onCompositionStart");ut&&(W1&&c.locale!=="ko"&&(io||ut!=="onCompositionStart"?ut==="onCompositionEnd"&&io&&(nt=U1()):(bs=ae,_f="value"in bs?bs.value:bs.textContent,io=!0)),Ae=ld(Y,ut),0<Ae.length&&(ut=new q1(ut,r,null,c,ae),oe.push({event:ut,listeners:Ae}),nt?ut.data=nt:(nt=X1(c),nt!==null&&(ut.data=nt)))),(nt=S8?_8(r,c):C8(r,c))&&(ut=ld(Y,"onBeforeInput"),0<ut.length&&(Ae=new q1("onBeforeInput","beforeinput",null,c,ae),oe.push({event:Ae,listeners:ut}),Ae.data=nt)),gw(oe,r,Y,c,ae)}B4(oe,i)})}function nc(r,i,c){return{instance:r,listener:i,currentTarget:c}}function ld(r,i){for(var c=i+"Capture",f=[];r!==null;){var g=r,v=g.stateNode;if(g=g.tag,g!==5&&g!==26&&g!==27||v===null||(g=Sl(r,c),g!=null&&f.unshift(nc(r,g,v)),g=Sl(r,i),g!=null&&f.push(nc(r,g,v))),r.tag===3)return f;r=r.return}return[]}function xw(r){if(r===null)return null;do r=r.return;while(r&&r.tag!==5&&r.tag!==27);return r||null}function P4(r,i,c,f,g){for(var v=i._reactName,C=[];c!==null&&c!==f;){var M=c,z=M.alternate,Y=M.stateNode;if(M=M.tag,z!==null&&z===f)break;M!==5&&M!==26&&M!==27||Y===null||(z=Y,g?(Y=Sl(c,v),Y!=null&&C.unshift(nc(c,Y,z))):g||(Y=Sl(c,v),Y!=null&&C.push(nc(c,Y,z)))),c=c.return}C.length!==0&&r.push({event:i,listeners:C})}var ww=/\r\n?/g,kw=/\u0000|\uFFFD/g;function I4(r){return(typeof r=="string"?r:""+r).replace(ww,`
|
|
26
|
-
`).replace(kw,"")}function z4(r,i){return i=I4(i),I4(r)===i}function Lt(r,i,c,f,g,v){switch(c){case"children":typeof f=="string"?i==="body"||i==="textarea"&&f===""||ao(r,f):(typeof f=="number"||typeof f=="bigint")&&i!=="body"&&ao(r,""+f);break;case"className":et(r,"class",f);break;case"tabIndex":et(r,"tabindex",f);break;case"dir":case"role":case"viewBox":case"width":case"height":et(r,c,f);break;case"style":z1(r,f,v);break;case"data":if(i!=="object"){et(r,"data",f);break}case"src":case"href":if(f===""&&(i!=="a"||c!=="href")){r.removeAttribute(c);break}if(f==null||typeof f=="function"||typeof f=="symbol"||typeof f=="boolean"){r.removeAttribute(c);break}f=mu(""+f),r.setAttribute(c,f);break;case"action":case"formAction":if(typeof f=="function"){r.setAttribute(c,"javascript:throw new Error('A React form was unexpectedly submitted. If you called form.submit() manually, consider using form.requestSubmit() instead. If you\\'re trying to use event.stopPropagation() in a submit event handler, consider also calling event.preventDefault().')");break}else typeof v=="function"&&(c==="formAction"?(i!=="input"&&Lt(r,i,"name",g.name,g,null),Lt(r,i,"formEncType",g.formEncType,g,null),Lt(r,i,"formMethod",g.formMethod,g,null),Lt(r,i,"formTarget",g.formTarget,g,null)):(Lt(r,i,"encType",g.encType,g,null),Lt(r,i,"method",g.method,g,null),Lt(r,i,"target",g.target,g,null)));if(f==null||typeof f=="symbol"||typeof f=="boolean"){r.removeAttribute(c);break}f=mu(""+f),r.setAttribute(c,f);break;case"onClick":f!=null&&(r.onclick=Or);break;case"onScroll":f!=null&&ot("scroll",r);break;case"onScrollEnd":f!=null&&ot("scrollend",r);break;case"dangerouslySetInnerHTML":if(f!=null){if(typeof f!="object"||!("__html"in f))throw Error(a(61));if(c=f.__html,c!=null){if(g.children!=null)throw Error(a(60));r.innerHTML=c}}break;case"multiple":r.multiple=f&&typeof f!="function"&&typeof f!="symbol";break;case"muted":r.muted=f&&typeof f!="function"&&typeof f!="symbol";break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"defaultValue":case"defaultChecked":case"innerHTML":case"ref":break;case"autoFocus":break;case"xlinkHref":if(f==null||typeof f=="function"||typeof f=="boolean"||typeof f=="symbol"){r.removeAttribute("xlink:href");break}c=mu(""+f),r.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",c);break;case"contentEditable":case"spellCheck":case"draggable":case"value":case"autoReverse":case"externalResourcesRequired":case"focusable":case"preserveAlpha":f!=null&&typeof f!="function"&&typeof f!="symbol"?r.setAttribute(c,""+f):r.removeAttribute(c);break;case"inert":case"allowFullScreen":case"async":case"autoPlay":case"controls":case"default":case"defer":case"disabled":case"disablePictureInPicture":case"disableRemotePlayback":case"formNoValidate":case"hidden":case"loop":case"noModule":case"noValidate":case"open":case"playsInline":case"readOnly":case"required":case"reversed":case"scoped":case"seamless":case"itemScope":f&&typeof f!="function"&&typeof f!="symbol"?r.setAttribute(c,""):r.removeAttribute(c);break;case"capture":case"download":f===!0?r.setAttribute(c,""):f!==!1&&f!=null&&typeof f!="function"&&typeof f!="symbol"?r.setAttribute(c,f):r.removeAttribute(c);break;case"cols":case"rows":case"size":case"span":f!=null&&typeof f!="function"&&typeof f!="symbol"&&!isNaN(f)&&1<=f?r.setAttribute(c,f):r.removeAttribute(c);break;case"rowSpan":case"start":f==null||typeof f=="function"||typeof f=="symbol"||isNaN(f)?r.removeAttribute(c):r.setAttribute(c,f);break;case"popover":ot("beforetoggle",r),ot("toggle",r),Dt(r,"popover",f);break;case"xlinkActuate":Hn(r,"http://www.w3.org/1999/xlink","xlink:actuate",f);break;case"xlinkArcrole":Hn(r,"http://www.w3.org/1999/xlink","xlink:arcrole",f);break;case"xlinkRole":Hn(r,"http://www.w3.org/1999/xlink","xlink:role",f);break;case"xlinkShow":Hn(r,"http://www.w3.org/1999/xlink","xlink:show",f);break;case"xlinkTitle":Hn(r,"http://www.w3.org/1999/xlink","xlink:title",f);break;case"xlinkType":Hn(r,"http://www.w3.org/1999/xlink","xlink:type",f);break;case"xmlBase":Hn(r,"http://www.w3.org/XML/1998/namespace","xml:base",f);break;case"xmlLang":Hn(r,"http://www.w3.org/XML/1998/namespace","xml:lang",f);break;case"xmlSpace":Hn(r,"http://www.w3.org/XML/1998/namespace","xml:space",f);break;case"is":Dt(r,"is",f);break;case"innerText":case"textContent":break;default:(!(2<c.length)||c[0]!=="o"&&c[0]!=="O"||c[1]!=="n"&&c[1]!=="N")&&(c=Z7.get(c)||c,Dt(r,c,f))}}function sm(r,i,c,f,g,v){switch(c){case"style":z1(r,f,v);break;case"dangerouslySetInnerHTML":if(f!=null){if(typeof f!="object"||!("__html"in f))throw Error(a(61));if(c=f.__html,c!=null){if(g.children!=null)throw Error(a(60));r.innerHTML=c}}break;case"children":typeof f=="string"?ao(r,f):(typeof f=="number"||typeof f=="bigint")&&ao(r,""+f);break;case"onScroll":f!=null&&ot("scroll",r);break;case"onScrollEnd":f!=null&&ot("scrollend",r);break;case"onClick":f!=null&&(r.onclick=Or);break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"innerHTML":case"ref":break;case"innerText":case"textContent":break;default:if(!ne.hasOwnProperty(c))e:{if(c[0]==="o"&&c[1]==="n"&&(g=c.endsWith("Capture"),i=c.slice(2,g?c.length-7:void 0),v=r[Rn]||null,v=v!=null?v[c]:null,typeof v=="function"&&r.removeEventListener(i,v,g),typeof f=="function")){typeof v!="function"&&v!==null&&(c in r?r[c]=null:r.hasAttribute(c)&&r.removeAttribute(c)),r.addEventListener(i,f,g);break e}c in r?r[c]=f:f===!0?r.setAttribute(c,""):Dt(r,c,f)}}}function Bn(r,i,c){switch(i){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"img":ot("error",r),ot("load",r);var f=!1,g=!1,v;for(v in c)if(c.hasOwnProperty(v)){var C=c[v];if(C!=null)switch(v){case"src":f=!0;break;case"srcSet":g=!0;break;case"children":case"dangerouslySetInnerHTML":throw Error(a(137,i));default:Lt(r,i,v,C,c,null)}}g&&Lt(r,i,"srcSet",c.srcSet,c,null),f&&Lt(r,i,"src",c.src,c,null);return;case"input":ot("invalid",r);var M=v=C=g=null,z=null,Y=null;for(f in c)if(c.hasOwnProperty(f)){var ae=c[f];if(ae!=null)switch(f){case"name":g=ae;break;case"type":C=ae;break;case"checked":z=ae;break;case"defaultChecked":Y=ae;break;case"value":v=ae;break;case"defaultValue":M=ae;break;case"children":case"dangerouslySetInnerHTML":if(ae!=null)throw Error(a(137,i));break;default:Lt(r,i,f,ae,c,null)}}B1(r,v,M,z,Y,C,g,!1);return;case"select":ot("invalid",r),f=C=v=null;for(g in c)if(c.hasOwnProperty(g)&&(M=c[g],M!=null))switch(g){case"value":v=M;break;case"defaultValue":C=M;break;case"multiple":f=M;default:Lt(r,i,g,M,c,null)}i=v,c=C,r.multiple=!!f,i!=null?no(r,!!f,i,!1):c!=null&&no(r,!!f,c,!0);return;case"textarea":ot("invalid",r),v=g=f=null;for(C in c)if(c.hasOwnProperty(C)&&(M=c[C],M!=null))switch(C){case"value":f=M;break;case"defaultValue":g=M;break;case"children":v=M;break;case"dangerouslySetInnerHTML":if(M!=null)throw Error(a(91));break;default:Lt(r,i,C,M,c,null)}P1(r,f,g,v);return;case"option":for(z in c)if(c.hasOwnProperty(z)&&(f=c[z],f!=null))switch(z){case"selected":r.selected=f&&typeof f!="function"&&typeof f!="symbol";break;default:Lt(r,i,z,f,c,null)}return;case"dialog":ot("beforetoggle",r),ot("toggle",r),ot("cancel",r),ot("close",r);break;case"iframe":case"object":ot("load",r);break;case"video":case"audio":for(f=0;f<tc.length;f++)ot(tc[f],r);break;case"image":ot("error",r),ot("load",r);break;case"details":ot("toggle",r);break;case"embed":case"source":case"link":ot("error",r),ot("load",r);case"area":case"base":case"br":case"col":case"hr":case"keygen":case"meta":case"param":case"track":case"wbr":case"menuitem":for(Y in c)if(c.hasOwnProperty(Y)&&(f=c[Y],f!=null))switch(Y){case"children":case"dangerouslySetInnerHTML":throw Error(a(137,i));default:Lt(r,i,Y,f,c,null)}return;default:if(bf(i)){for(ae in c)c.hasOwnProperty(ae)&&(f=c[ae],f!==void 0&&sm(r,i,ae,f,c,void 0));return}}for(M in c)c.hasOwnProperty(M)&&(f=c[M],f!=null&&Lt(r,i,M,f,c,null))}function Sw(r,i,c,f){switch(i){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"input":var g=null,v=null,C=null,M=null,z=null,Y=null,ae=null;for(Q in c){var oe=c[Q];if(c.hasOwnProperty(Q)&&oe!=null)switch(Q){case"checked":break;case"value":break;case"defaultValue":z=oe;default:f.hasOwnProperty(Q)||Lt(r,i,Q,null,f,oe)}}for(var Z in f){var Q=f[Z];if(oe=c[Z],f.hasOwnProperty(Z)&&(Q!=null||oe!=null))switch(Z){case"type":v=Q;break;case"name":g=Q;break;case"checked":Y=Q;break;case"defaultChecked":ae=Q;break;case"value":C=Q;break;case"defaultValue":M=Q;break;case"children":case"dangerouslySetInnerHTML":if(Q!=null)throw Error(a(137,i));break;default:Q!==oe&&Lt(r,i,Z,Q,f,oe)}}kl(r,C,M,z,Y,ae,v,g);return;case"select":Q=C=M=Z=null;for(v in c)if(z=c[v],c.hasOwnProperty(v)&&z!=null)switch(v){case"value":break;case"multiple":Q=z;default:f.hasOwnProperty(v)||Lt(r,i,v,null,f,z)}for(g in f)if(v=f[g],z=c[g],f.hasOwnProperty(g)&&(v!=null||z!=null))switch(g){case"value":Z=v;break;case"defaultValue":M=v;break;case"multiple":C=v;default:v!==z&&Lt(r,i,g,v,f,z)}i=M,c=C,f=Q,Z!=null?no(r,!!c,Z,!1):!!f!=!!c&&(i!=null?no(r,!!c,i,!0):no(r,!!c,c?[]:"",!1));return;case"textarea":Q=Z=null;for(M in c)if(g=c[M],c.hasOwnProperty(M)&&g!=null&&!f.hasOwnProperty(M))switch(M){case"value":break;case"children":break;default:Lt(r,i,M,null,f,g)}for(C in f)if(g=f[C],v=c[C],f.hasOwnProperty(C)&&(g!=null||v!=null))switch(C){case"value":Z=g;break;case"defaultValue":Q=g;break;case"children":break;case"dangerouslySetInnerHTML":if(g!=null)throw Error(a(91));break;default:g!==v&&Lt(r,i,C,g,f,v)}j1(r,Z,Q);return;case"option":for(var Ce in c)if(Z=c[Ce],c.hasOwnProperty(Ce)&&Z!=null&&!f.hasOwnProperty(Ce))switch(Ce){case"selected":r.selected=!1;break;default:Lt(r,i,Ce,null,f,Z)}for(z in f)if(Z=f[z],Q=c[z],f.hasOwnProperty(z)&&Z!==Q&&(Z!=null||Q!=null))switch(z){case"selected":r.selected=Z&&typeof Z!="function"&&typeof Z!="symbol";break;default:Lt(r,i,z,Z,f,Q)}return;case"img":case"link":case"area":case"base":case"br":case"col":case"embed":case"hr":case"keygen":case"meta":case"param":case"source":case"track":case"wbr":case"menuitem":for(var Pe in c)Z=c[Pe],c.hasOwnProperty(Pe)&&Z!=null&&!f.hasOwnProperty(Pe)&&Lt(r,i,Pe,null,f,Z);for(Y in f)if(Z=f[Y],Q=c[Y],f.hasOwnProperty(Y)&&Z!==Q&&(Z!=null||Q!=null))switch(Y){case"children":case"dangerouslySetInnerHTML":if(Z!=null)throw Error(a(137,i));break;default:Lt(r,i,Y,Z,f,Q)}return;default:if(bf(i)){for(var Bt in c)Z=c[Bt],c.hasOwnProperty(Bt)&&Z!==void 0&&!f.hasOwnProperty(Bt)&&sm(r,i,Bt,void 0,f,Z);for(ae in f)Z=f[ae],Q=c[ae],!f.hasOwnProperty(ae)||Z===Q||Z===void 0&&Q===void 0||sm(r,i,ae,Z,f,Q);return}}for(var F in c)Z=c[F],c.hasOwnProperty(F)&&Z!=null&&!f.hasOwnProperty(F)&&Lt(r,i,F,null,f,Z);for(oe in f)Z=f[oe],Q=c[oe],!f.hasOwnProperty(oe)||Z===Q||Z==null&&Q==null||Lt(r,i,oe,Z,f,Q)}function $4(r){switch(r){case"css":case"script":case"font":case"img":case"image":case"input":case"link":return!0;default:return!1}}function _w(){if(typeof performance.getEntriesByType=="function"){for(var r=0,i=0,c=performance.getEntriesByType("resource"),f=0;f<c.length;f++){var g=c[f],v=g.transferSize,C=g.initiatorType,M=g.duration;if(v&&M&&$4(C)){for(C=0,M=g.responseEnd,f+=1;f<c.length;f++){var z=c[f],Y=z.startTime;if(Y>M)break;var ae=z.transferSize,oe=z.initiatorType;ae&&$4(oe)&&(z=z.responseEnd,C+=ae*(z<M?1:(M-Y)/(z-Y)))}if(--f,i+=8*(v+C)/(g.duration/1e3),r++,10<r)break}}if(0<r)return i/r/1e6}return navigator.connection&&(r=navigator.connection.downlink,typeof r=="number")?r:5}var im=null,om=null;function cd(r){return r.nodeType===9?r:r.ownerDocument}function H4(r){switch(r){case"http://www.w3.org/2000/svg":return 1;case"http://www.w3.org/1998/Math/MathML":return 2;default:return 0}}function U4(r,i){if(r===0)switch(i){case"svg":return 1;case"math":return 2;default:return 0}return r===1&&i==="foreignObject"?0:r}function lm(r,i){return r==="textarea"||r==="noscript"||typeof i.children=="string"||typeof i.children=="number"||typeof i.children=="bigint"||typeof i.dangerouslySetInnerHTML=="object"&&i.dangerouslySetInnerHTML!==null&&i.dangerouslySetInnerHTML.__html!=null}var cm=null;function Cw(){var r=window.event;return r&&r.type==="popstate"?r===cm?!1:(cm=r,!0):(cm=null,!1)}var F4=typeof setTimeout=="function"?setTimeout:void 0,Tw=typeof clearTimeout=="function"?clearTimeout:void 0,G4=typeof Promise=="function"?Promise:void 0,Aw=typeof queueMicrotask=="function"?queueMicrotask:typeof G4<"u"?function(r){return G4.resolve(null).then(r).catch(Ew)}:F4;function Ew(r){setTimeout(function(){throw r})}function js(r){return r==="head"}function q4(r,i){var c=i,f=0;do{var g=c.nextSibling;if(r.removeChild(c),g&&g.nodeType===8)if(c=g.data,c==="/$"||c==="/&"){if(f===0){r.removeChild(g),Bo(i);return}f--}else if(c==="$"||c==="$?"||c==="$~"||c==="$!"||c==="&")f++;else if(c==="html")ac(r.ownerDocument.documentElement);else if(c==="head"){c=r.ownerDocument.head,ac(c);for(var v=c.firstChild;v;){var C=v.nextSibling,M=v.nodeName;v[di]||M==="SCRIPT"||M==="STYLE"||M==="LINK"&&v.rel.toLowerCase()==="stylesheet"||c.removeChild(v),v=C}}else c==="body"&&ac(r.ownerDocument.body);c=g}while(c);Bo(i)}function V4(r,i){var c=r;r=0;do{var f=c.nextSibling;if(c.nodeType===1?i?(c._stashedDisplay=c.style.display,c.style.display="none"):(c.style.display=c._stashedDisplay||"",c.getAttribute("style")===""&&c.removeAttribute("style")):c.nodeType===3&&(i?(c._stashedText=c.nodeValue,c.nodeValue=""):c.nodeValue=c._stashedText||""),f&&f.nodeType===8)if(c=f.data,c==="/$"){if(r===0)break;r--}else c!=="$"&&c!=="$?"&&c!=="$~"&&c!=="$!"||r++;c=f}while(c)}function um(r){var i=r.firstChild;for(i&&i.nodeType===10&&(i=i.nextSibling);i;){var c=i;switch(i=i.nextSibling,c.nodeName){case"HTML":case"HEAD":case"BODY":um(c),bl(c);continue;case"SCRIPT":case"STYLE":continue;case"LINK":if(c.rel.toLowerCase()==="stylesheet")continue}r.removeChild(c)}}function Nw(r,i,c,f){for(;r.nodeType===1;){var g=c;if(r.nodeName.toLowerCase()!==i.toLowerCase()){if(!f&&(r.nodeName!=="INPUT"||r.type!=="hidden"))break}else if(f){if(!r[di])switch(i){case"meta":if(!r.hasAttribute("itemprop"))break;return r;case"link":if(v=r.getAttribute("rel"),v==="stylesheet"&&r.hasAttribute("data-precedence"))break;if(v!==g.rel||r.getAttribute("href")!==(g.href==null||g.href===""?null:g.href)||r.getAttribute("crossorigin")!==(g.crossOrigin==null?null:g.crossOrigin)||r.getAttribute("title")!==(g.title==null?null:g.title))break;return r;case"style":if(r.hasAttribute("data-precedence"))break;return r;case"script":if(v=r.getAttribute("src"),(v!==(g.src==null?null:g.src)||r.getAttribute("type")!==(g.type==null?null:g.type)||r.getAttribute("crossorigin")!==(g.crossOrigin==null?null:g.crossOrigin))&&v&&r.hasAttribute("async")&&!r.hasAttribute("itemprop"))break;return r;default:return r}}else if(i==="input"&&r.type==="hidden"){var v=g.name==null?null:""+g.name;if(g.type==="hidden"&&r.getAttribute("name")===v)return r}else return r;if(r=Ba(r.nextSibling),r===null)break}return null}function Mw(r,i,c){if(i==="")return null;for(;r.nodeType!==3;)if((r.nodeType!==1||r.nodeName!=="INPUT"||r.type!=="hidden")&&!c||(r=Ba(r.nextSibling),r===null))return null;return r}function W4(r,i){for(;r.nodeType!==8;)if((r.nodeType!==1||r.nodeName!=="INPUT"||r.type!=="hidden")&&!i||(r=Ba(r.nextSibling),r===null))return null;return r}function dm(r){return r.data==="$?"||r.data==="$~"}function fm(r){return r.data==="$!"||r.data==="$?"&&r.ownerDocument.readyState!=="loading"}function Rw(r,i){var c=r.ownerDocument;if(r.data==="$~")r._reactRetry=i;else if(r.data!=="$?"||c.readyState!=="loading")i();else{var f=function(){i(),c.removeEventListener("DOMContentLoaded",f)};c.addEventListener("DOMContentLoaded",f),r._reactRetry=f}}function Ba(r){for(;r!=null;r=r.nextSibling){var i=r.nodeType;if(i===1||i===3)break;if(i===8){if(i=r.data,i==="$"||i==="$!"||i==="$?"||i==="$~"||i==="&"||i==="F!"||i==="F")break;if(i==="/$"||i==="/&")return null}}return r}var hm=null;function K4(r){r=r.nextSibling;for(var i=0;r;){if(r.nodeType===8){var c=r.data;if(c==="/$"||c==="/&"){if(i===0)return Ba(r.nextSibling);i--}else c!=="$"&&c!=="$!"&&c!=="$?"&&c!=="$~"&&c!=="&"||i++}r=r.nextSibling}return null}function Y4(r){r=r.previousSibling;for(var i=0;r;){if(r.nodeType===8){var c=r.data;if(c==="$"||c==="$!"||c==="$?"||c==="$~"||c==="&"){if(i===0)return r;i--}else c!=="/$"&&c!=="/&"||i++}r=r.previousSibling}return null}function Z4(r,i,c){switch(i=cd(c),r){case"html":if(r=i.documentElement,!r)throw Error(a(452));return r;case"head":if(r=i.head,!r)throw Error(a(453));return r;case"body":if(r=i.body,!r)throw Error(a(454));return r;default:throw Error(a(451))}}function ac(r){for(var i=r.attributes;i.length;)r.removeAttributeNode(i[0]);bl(r)}var ja=new Map,X4=new Set;function ud(r){return typeof r.getRootNode=="function"?r.getRootNode():r.nodeType===9?r:r.ownerDocument}var Yr=le.d;le.d={f:Dw,r:Ow,D:Lw,C:Bw,L:jw,m:Pw,X:zw,S:Iw,M:$w};function Dw(){var r=Yr.f(),i=td();return r||i}function Ow(r){var i=Rr(r);i!==null&&i.tag===5&&i.type==="form"?mv(i):Yr.r(r)}var Do=typeof document>"u"?null:document;function Q4(r,i,c){var f=Do;if(f&&typeof i=="string"&&i){var g=Vn(i);g='link[rel="'+r+'"][href="'+g+'"]',typeof c=="string"&&(g+='[crossorigin="'+c+'"]'),X4.has(g)||(X4.add(g),r={rel:r,crossOrigin:c,href:i},f.querySelector(g)===null&&(i=f.createElement("link"),Bn(i,"link",r),sn(i),f.head.appendChild(i)))}}function Lw(r){Yr.D(r),Q4("dns-prefetch",r,null)}function Bw(r,i){Yr.C(r,i),Q4("preconnect",r,i)}function jw(r,i,c){Yr.L(r,i,c);var f=Do;if(f&&r&&i){var g='link[rel="preload"][as="'+Vn(i)+'"]';i==="image"&&c&&c.imageSrcSet?(g+='[imagesrcset="'+Vn(c.imageSrcSet)+'"]',typeof c.imageSizes=="string"&&(g+='[imagesizes="'+Vn(c.imageSizes)+'"]')):g+='[href="'+Vn(r)+'"]';var v=g;switch(i){case"style":v=Oo(r);break;case"script":v=Lo(r)}ja.has(v)||(r=p({rel:"preload",href:i==="image"&&c&&c.imageSrcSet?void 0:r,as:i},c),ja.set(v,r),f.querySelector(g)!==null||i==="style"&&f.querySelector(rc(v))||i==="script"&&f.querySelector(sc(v))||(i=f.createElement("link"),Bn(i,"link",r),sn(i),f.head.appendChild(i)))}}function Pw(r,i){Yr.m(r,i);var c=Do;if(c&&r){var f=i&&typeof i.as=="string"?i.as:"script",g='link[rel="modulepreload"][as="'+Vn(f)+'"][href="'+Vn(r)+'"]',v=g;switch(f){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":v=Lo(r)}if(!ja.has(v)&&(r=p({rel:"modulepreload",href:r},i),ja.set(v,r),c.querySelector(g)===null)){switch(f){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(c.querySelector(sc(v)))return}f=c.createElement("link"),Bn(f,"link",r),sn(f),c.head.appendChild(f)}}}function Iw(r,i,c){Yr.S(r,i,c);var f=Do;if(f&&r){var g=ir(f).hoistableStyles,v=Oo(r);i=i||"default";var C=g.get(v);if(!C){var M={loading:0,preload:null};if(C=f.querySelector(rc(v)))M.loading=5;else{r=p({rel:"stylesheet",href:r,"data-precedence":i},c),(c=ja.get(v))&&mm(r,c);var z=C=f.createElement("link");sn(z),Bn(z,"link",r),z._p=new Promise(function(Y,ae){z.onload=Y,z.onerror=ae}),z.addEventListener("load",function(){M.loading|=1}),z.addEventListener("error",function(){M.loading|=2}),M.loading|=4,dd(C,i,f)}C={type:"stylesheet",instance:C,count:1,state:M},g.set(v,C)}}}function zw(r,i){Yr.X(r,i);var c=Do;if(c&&r){var f=ir(c).hoistableScripts,g=Lo(r),v=f.get(g);v||(v=c.querySelector(sc(g)),v||(r=p({src:r,async:!0},i),(i=ja.get(g))&&pm(r,i),v=c.createElement("script"),sn(v),Bn(v,"link",r),c.head.appendChild(v)),v={type:"script",instance:v,count:1,state:null},f.set(g,v))}}function $w(r,i){Yr.M(r,i);var c=Do;if(c&&r){var f=ir(c).hoistableScripts,g=Lo(r),v=f.get(g);v||(v=c.querySelector(sc(g)),v||(r=p({src:r,async:!0,type:"module"},i),(i=ja.get(g))&&pm(r,i),v=c.createElement("script"),sn(v),Bn(v,"link",r),c.head.appendChild(v)),v={type:"script",instance:v,count:1,state:null},f.set(g,v))}}function J4(r,i,c,f){var g=(g=En.current)?ud(g):null;if(!g)throw Error(a(446));switch(r){case"meta":case"title":return null;case"style":return typeof c.precedence=="string"&&typeof c.href=="string"?(i=Oo(c.href),c=ir(g).hoistableStyles,f=c.get(i),f||(f={type:"style",instance:null,count:0,state:null},c.set(i,f)),f):{type:"void",instance:null,count:0,state:null};case"link":if(c.rel==="stylesheet"&&typeof c.href=="string"&&typeof c.precedence=="string"){r=Oo(c.href);var v=ir(g).hoistableStyles,C=v.get(r);if(C||(g=g.ownerDocument||g,C={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},v.set(r,C),(v=g.querySelector(rc(r)))&&!v._p&&(C.instance=v,C.state.loading=5),ja.has(r)||(c={rel:"preload",as:"style",href:c.href,crossOrigin:c.crossOrigin,integrity:c.integrity,media:c.media,hrefLang:c.hrefLang,referrerPolicy:c.referrerPolicy},ja.set(r,c),v||Hw(g,r,c,C.state))),i&&f===null)throw Error(a(528,""));return C}if(i&&f!==null)throw Error(a(529,""));return null;case"script":return i=c.async,c=c.src,typeof c=="string"&&i&&typeof i!="function"&&typeof i!="symbol"?(i=Lo(c),c=ir(g).hoistableScripts,f=c.get(i),f||(f={type:"script",instance:null,count:0,state:null},c.set(i,f)),f):{type:"void",instance:null,count:0,state:null};default:throw Error(a(444,r))}}function Oo(r){return'href="'+Vn(r)+'"'}function rc(r){return'link[rel="stylesheet"]['+r+"]"}function eb(r){return p({},r,{"data-precedence":r.precedence,precedence:null})}function Hw(r,i,c,f){r.querySelector('link[rel="preload"][as="style"]['+i+"]")?f.loading=1:(i=r.createElement("link"),f.preload=i,i.addEventListener("load",function(){return f.loading|=1}),i.addEventListener("error",function(){return f.loading|=2}),Bn(i,"link",c),sn(i),r.head.appendChild(i))}function Lo(r){return'[src="'+Vn(r)+'"]'}function sc(r){return"script[async]"+r}function tb(r,i,c){if(i.count++,i.instance===null)switch(i.type){case"style":var f=r.querySelector('style[data-href~="'+Vn(c.href)+'"]');if(f)return i.instance=f,sn(f),f;var g=p({},c,{"data-href":c.href,"data-precedence":c.precedence,href:null,precedence:null});return f=(r.ownerDocument||r).createElement("style"),sn(f),Bn(f,"style",g),dd(f,c.precedence,r),i.instance=f;case"stylesheet":g=Oo(c.href);var v=r.querySelector(rc(g));if(v)return i.state.loading|=4,i.instance=v,sn(v),v;f=eb(c),(g=ja.get(g))&&mm(f,g),v=(r.ownerDocument||r).createElement("link"),sn(v);var C=v;return C._p=new Promise(function(M,z){C.onload=M,C.onerror=z}),Bn(v,"link",f),i.state.loading|=4,dd(v,c.precedence,r),i.instance=v;case"script":return v=Lo(c.src),(g=r.querySelector(sc(v)))?(i.instance=g,sn(g),g):(f=c,(g=ja.get(v))&&(f=p({},c),pm(f,g)),r=r.ownerDocument||r,g=r.createElement("script"),sn(g),Bn(g,"link",f),r.head.appendChild(g),i.instance=g);case"void":return null;default:throw Error(a(443,i.type))}else i.type==="stylesheet"&&(i.state.loading&4)===0&&(f=i.instance,i.state.loading|=4,dd(f,c.precedence,r));return i.instance}function dd(r,i,c){for(var f=c.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),g=f.length?f[f.length-1]:null,v=g,C=0;C<f.length;C++){var M=f[C];if(M.dataset.precedence===i)v=M;else if(v!==g)break}v?v.parentNode.insertBefore(r,v.nextSibling):(i=c.nodeType===9?c.head:c,i.insertBefore(r,i.firstChild))}function mm(r,i){r.crossOrigin==null&&(r.crossOrigin=i.crossOrigin),r.referrerPolicy==null&&(r.referrerPolicy=i.referrerPolicy),r.title==null&&(r.title=i.title)}function pm(r,i){r.crossOrigin==null&&(r.crossOrigin=i.crossOrigin),r.referrerPolicy==null&&(r.referrerPolicy=i.referrerPolicy),r.integrity==null&&(r.integrity=i.integrity)}var fd=null;function nb(r,i,c){if(fd===null){var f=new Map,g=fd=new Map;g.set(c,f)}else g=fd,f=g.get(c),f||(f=new Map,g.set(c,f));if(f.has(r))return f;for(f.set(r,null),c=c.getElementsByTagName(r),g=0;g<c.length;g++){var v=c[g];if(!(v[di]||v[rn]||r==="link"&&v.getAttribute("rel")==="stylesheet")&&v.namespaceURI!=="http://www.w3.org/2000/svg"){var C=v.getAttribute(i)||"";C=r+C;var M=f.get(C);M?M.push(v):f.set(C,[v])}}return f}function ab(r,i,c){r=r.ownerDocument||r,r.head.insertBefore(c,i==="title"?r.querySelector("head > title"):null)}function Uw(r,i,c){if(c===1||i.itemProp!=null)return!1;switch(r){case"meta":case"title":return!0;case"style":if(typeof i.precedence!="string"||typeof i.href!="string"||i.href==="")break;return!0;case"link":if(typeof i.rel!="string"||typeof i.href!="string"||i.href===""||i.onLoad||i.onError)break;switch(i.rel){case"stylesheet":return r=i.disabled,typeof i.precedence=="string"&&r==null;default:return!0}case"script":if(i.async&&typeof i.async!="function"&&typeof i.async!="symbol"&&!i.onLoad&&!i.onError&&i.src&&typeof i.src=="string")return!0}return!1}function rb(r){return!(r.type==="stylesheet"&&(r.state.loading&3)===0)}function Fw(r,i,c,f){if(c.type==="stylesheet"&&(typeof f.media!="string"||matchMedia(f.media).matches!==!1)&&(c.state.loading&4)===0){if(c.instance===null){var g=Oo(f.href),v=i.querySelector(rc(g));if(v){i=v._p,i!==null&&typeof i=="object"&&typeof i.then=="function"&&(r.count++,r=hd.bind(r),i.then(r,r)),c.state.loading|=4,c.instance=v,sn(v);return}v=i.ownerDocument||i,f=eb(f),(g=ja.get(g))&&mm(f,g),v=v.createElement("link"),sn(v);var C=v;C._p=new Promise(function(M,z){C.onload=M,C.onerror=z}),Bn(v,"link",f),c.instance=v}r.stylesheets===null&&(r.stylesheets=new Map),r.stylesheets.set(c,i),(i=c.state.preload)&&(c.state.loading&3)===0&&(r.count++,c=hd.bind(r),i.addEventListener("load",c),i.addEventListener("error",c))}}var gm=0;function Gw(r,i){return r.stylesheets&&r.count===0&&pd(r,r.stylesheets),0<r.count||0<r.imgCount?function(c){var f=setTimeout(function(){if(r.stylesheets&&pd(r,r.stylesheets),r.unsuspend){var v=r.unsuspend;r.unsuspend=null,v()}},6e4+i);0<r.imgBytes&&gm===0&&(gm=62500*_w());var g=setTimeout(function(){if(r.waitingForImages=!1,r.count===0&&(r.stylesheets&&pd(r,r.stylesheets),r.unsuspend)){var v=r.unsuspend;r.unsuspend=null,v()}},(r.imgBytes>gm?50:800)+i);return r.unsuspend=c,function(){r.unsuspend=null,clearTimeout(f),clearTimeout(g)}}:null}function hd(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)pd(this,this.stylesheets);else if(this.unsuspend){var r=this.unsuspend;this.unsuspend=null,r()}}}var md=null;function pd(r,i){r.stylesheets=null,r.unsuspend!==null&&(r.count++,md=new Map,i.forEach(qw,r),md=null,hd.call(r))}function qw(r,i){if(!(i.state.loading&4)){var c=md.get(r);if(c)var f=c.get(null);else{c=new Map,md.set(r,c);for(var g=r.querySelectorAll("link[data-precedence],style[data-precedence]"),v=0;v<g.length;v++){var C=g[v];(C.nodeName==="LINK"||C.getAttribute("media")!=="not all")&&(c.set(C.dataset.precedence,C),f=C)}f&&c.set(null,f)}g=i.instance,C=g.getAttribute("data-precedence"),v=c.get(C)||f,v===f&&c.set(null,g),c.set(C,g),this.count++,f=hd.bind(this),g.addEventListener("load",f),g.addEventListener("error",f),v?v.parentNode.insertBefore(g,v.nextSibling):(r=r.nodeType===9?r.head:r,r.insertBefore(g,r.firstChild)),i.state.loading|=4}}var ic={$$typeof:L,Provider:null,Consumer:null,_currentValue:re,_currentValue2:re,_threadCount:0};function Vw(r,i,c,f,g,v,C,M,z){this.tag=1,this.containerInfo=r,this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.next=this.pendingContext=this.context=this.cancelPendingCommit=null,this.callbackPriority=0,this.expirationTimes=eo(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=eo(0),this.hiddenUpdates=eo(null),this.identifierPrefix=f,this.onUncaughtError=g,this.onCaughtError=v,this.onRecoverableError=C,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=z,this.incompleteTransitions=new Map}function sb(r,i,c,f,g,v,C,M,z,Y,ae,oe){return r=new Vw(r,i,c,C,z,Y,ae,oe,M),i=1,v===!0&&(i|=24),v=ha(3,null,null,i),r.current=v,v.stateNode=r,i=Yf(),i.refCount++,r.pooledCache=i,i.refCount++,v.memoizedState={element:f,isDehydrated:c,cache:i},Jf(v),r}function ib(r){return r?(r=uo,r):uo}function ob(r,i,c,f,g,v){g=ib(g),f.context===null?f.context=g:f.pendingContext=g,f=Cs(i),f.payload={element:c},v=v===void 0?null:v,v!==null&&(f.callback=v),c=Ts(r,f,i),c!==null&&(ia(c,r,i),Il(c,r,i))}function lb(r,i){if(r=r.memoizedState,r!==null&&r.dehydrated!==null){var c=r.retryLane;r.retryLane=c!==0&&c<i?c:i}}function ym(r,i){lb(r,i),(r=r.alternate)&&lb(r,i)}function cb(r){if(r.tag===13||r.tag===31){var i=gi(r,67108864);i!==null&&ia(i,r,67108864),ym(r,67108864)}}function ub(r){if(r.tag===13||r.tag===31){var i=va();i=ci(i);var c=gi(r,i);c!==null&&ia(c,r,i),ym(r,i)}}var gd=!0;function Ww(r,i,c,f){var g=G.T;G.T=null;var v=le.p;try{le.p=2,vm(r,i,c,f)}finally{le.p=v,G.T=g}}function Kw(r,i,c,f){var g=G.T;G.T=null;var v=le.p;try{le.p=8,vm(r,i,c,f)}finally{le.p=v,G.T=g}}function vm(r,i,c,f){if(gd){var g=bm(f);if(g===null)rm(r,i,f,yd,c),fb(r,f);else if(Zw(g,r,i,c,f))f.stopPropagation();else if(fb(r,f),i&4&&-1<Yw.indexOf(r)){for(;g!==null;){var v=Rr(g);if(v!==null)switch(v.tag){case 3:if(v=v.stateNode,v.current.memoizedState.isDehydrated){var C=Wa(v.pendingLanes);if(C!==0){var M=v;for(M.pendingLanes|=2,M.entangledLanes|=2;C;){var z=1<<31-Mn(C);M.entanglements[1]|=z,C&=~z}ur(v),(_t&6)===0&&(Ju=yt()+500,ec(0))}}break;case 31:case 13:M=gi(v,2),M!==null&&ia(M,v,2),td(),ym(v,2)}if(v=bm(f),v===null&&rm(r,i,f,yd,c),v===g)break;g=v}g!==null&&f.stopPropagation()}else rm(r,i,f,null,c)}}function bm(r){return r=wf(r),xm(r)}var yd=null;function xm(r){if(yd=null,r=vs(r),r!==null){var i=o(r);if(i===null)r=null;else{var c=i.tag;if(c===13){if(r=l(i),r!==null)return r;r=null}else if(c===31){if(r=u(i),r!==null)return r;r=null}else if(c===3){if(i.stateNode.current.memoizedState.isDehydrated)return i.tag===3?i.stateNode.containerInfo:null;r=null}else i!==r&&(r=null)}}return yd=r,null}function db(r){switch(r){case"beforetoggle":case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"toggle":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 2;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 8;case"message":switch(Nn()){case rr:return 2;case ps:return 8;case ca:case Ar:return 32;case zn:return 268435456;default:return 32}default:return 32}}var wm=!1,Ps=null,Is=null,zs=null,oc=new Map,lc=new Map,$s=[],Yw="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset".split(" ");function fb(r,i){switch(r){case"focusin":case"focusout":Ps=null;break;case"dragenter":case"dragleave":Is=null;break;case"mouseover":case"mouseout":zs=null;break;case"pointerover":case"pointerout":oc.delete(i.pointerId);break;case"gotpointercapture":case"lostpointercapture":lc.delete(i.pointerId)}}function cc(r,i,c,f,g,v){return r===null||r.nativeEvent!==v?(r={blockedOn:i,domEventName:c,eventSystemFlags:f,nativeEvent:v,targetContainers:[g]},i!==null&&(i=Rr(i),i!==null&&cb(i)),r):(r.eventSystemFlags|=f,i=r.targetContainers,g!==null&&i.indexOf(g)===-1&&i.push(g),r)}function Zw(r,i,c,f,g){switch(i){case"focusin":return Ps=cc(Ps,r,i,c,f,g),!0;case"dragenter":return Is=cc(Is,r,i,c,f,g),!0;case"mouseover":return zs=cc(zs,r,i,c,f,g),!0;case"pointerover":var v=g.pointerId;return oc.set(v,cc(oc.get(v)||null,r,i,c,f,g)),!0;case"gotpointercapture":return v=g.pointerId,lc.set(v,cc(lc.get(v)||null,r,i,c,f,g)),!0}return!1}function hb(r){var i=vs(r.target);if(i!==null){var c=o(i);if(c!==null){if(i=c.tag,i===13){if(i=l(c),i!==null){r.blockedOn=i,vl(r.priority,function(){ub(c)});return}}else if(i===31){if(i=u(c),i!==null){r.blockedOn=i,vl(r.priority,function(){ub(c)});return}}else if(i===3&&c.stateNode.current.memoizedState.isDehydrated){r.blockedOn=c.tag===3?c.stateNode.containerInfo:null;return}}}r.blockedOn=null}function vd(r){if(r.blockedOn!==null)return!1;for(var i=r.targetContainers;0<i.length;){var c=bm(r.nativeEvent);if(c===null){c=r.nativeEvent;var f=new c.constructor(c.type,c);xf=f,c.target.dispatchEvent(f),xf=null}else return i=Rr(c),i!==null&&cb(i),r.blockedOn=c,!1;i.shift()}return!0}function mb(r,i,c){vd(r)&&c.delete(i)}function Xw(){wm=!1,Ps!==null&&vd(Ps)&&(Ps=null),Is!==null&&vd(Is)&&(Is=null),zs!==null&&vd(zs)&&(zs=null),oc.forEach(mb),lc.forEach(mb)}function bd(r,i){r.blockedOn===i&&(r.blockedOn=null,wm||(wm=!0,n.unstable_scheduleCallback(n.unstable_NormalPriority,Xw)))}var xd=null;function pb(r){xd!==r&&(xd=r,n.unstable_scheduleCallback(n.unstable_NormalPriority,function(){xd===r&&(xd=null);for(var i=0;i<r.length;i+=3){var c=r[i],f=r[i+1],g=r[i+2];if(typeof f!="function"){if(xm(f||c)===null)continue;break}var v=Rr(c);v!==null&&(r.splice(i,3),i-=3,bh(v,{pending:!0,data:g,method:c.method,action:f},f,g))}}))}function Bo(r){function i(z){return bd(z,r)}Ps!==null&&bd(Ps,r),Is!==null&&bd(Is,r),zs!==null&&bd(zs,r),oc.forEach(i),lc.forEach(i);for(var c=0;c<$s.length;c++){var f=$s[c];f.blockedOn===r&&(f.blockedOn=null)}for(;0<$s.length&&(c=$s[0],c.blockedOn===null);)hb(c),c.blockedOn===null&&$s.shift();if(c=(r.ownerDocument||r).$$reactFormReplay,c!=null)for(f=0;f<c.length;f+=3){var g=c[f],v=c[f+1],C=g[Rn]||null;if(typeof v=="function")C||pb(c);else if(C){var M=null;if(v&&v.hasAttribute("formAction")){if(g=v,C=v[Rn]||null)M=C.formAction;else if(xm(g)!==null)continue}else M=C.action;typeof M=="function"?c[f+1]=M:(c.splice(f,3),f-=3),pb(c)}}}function gb(){function r(v){v.canIntercept&&v.info==="react-transition"&&v.intercept({handler:function(){return new Promise(function(C){return g=C})},focusReset:"manual",scroll:"manual"})}function i(){g!==null&&(g(),g=null),f||setTimeout(c,20)}function c(){if(!f&&!navigation.transition){var v=navigation.currentEntry;v&&v.url!=null&&navigation.navigate(v.url,{state:v.getState(),info:"react-transition",history:"replace"})}}if(typeof navigation=="object"){var f=!1,g=null;return navigation.addEventListener("navigate",r),navigation.addEventListener("navigatesuccess",i),navigation.addEventListener("navigateerror",i),setTimeout(c,100),function(){f=!0,navigation.removeEventListener("navigate",r),navigation.removeEventListener("navigatesuccess",i),navigation.removeEventListener("navigateerror",i),g!==null&&(g(),g=null)}}}function km(r){this._internalRoot=r}wd.prototype.render=km.prototype.render=function(r){var i=this._internalRoot;if(i===null)throw Error(a(409));var c=i.current,f=va();ob(c,f,r,i,null,null)},wd.prototype.unmount=km.prototype.unmount=function(){var r=this._internalRoot;if(r!==null){this._internalRoot=null;var i=r.containerInfo;ob(r.current,2,null,r,null,null),td(),i[sr]=null}};function wd(r){this._internalRoot=r}wd.prototype.unstable_scheduleHydration=function(r){if(r){var i=yl();r={blockedOn:null,target:r,priority:i};for(var c=0;c<$s.length&&i!==0&&i<$s[c].priority;c++);$s.splice(c,0,r),c===0&&hb(r)}};var yb=e.version;if(yb!=="19.2.7")throw Error(a(527,yb,"19.2.7"));le.findDOMNode=function(r){var i=r._reactInternals;if(i===void 0)throw typeof r.render=="function"?Error(a(188)):(r=Object.keys(r).join(","),Error(a(268,r)));return r=h(i),r=r!==null?m(r):null,r=r===null?null:r.stateNode,r};var Qw={bundleType:0,version:"19.2.7",rendererPackageName:"react-dom",currentDispatcherRef:G,reconcilerVersion:"19.2.7"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"){var kd=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!kd.isDisabled&&kd.supportsFiber)try{gs=kd.inject(Qw),$n=kd}catch{}}return dc.createRoot=function(r,i){if(!s(r))throw Error(a(299));var c=!1,f="",g=_v,v=Cv,C=Tv;return i!=null&&(i.unstable_strictMode===!0&&(c=!0),i.identifierPrefix!==void 0&&(f=i.identifierPrefix),i.onUncaughtError!==void 0&&(g=i.onUncaughtError),i.onCaughtError!==void 0&&(v=i.onCaughtError),i.onRecoverableError!==void 0&&(C=i.onRecoverableError)),i=sb(r,1,!1,null,null,c,f,null,g,v,C,gb),r[sr]=i.current,am(r),new km(i)},dc.hydrateRoot=function(r,i,c){if(!s(r))throw Error(a(299));var f=!1,g="",v=_v,C=Cv,M=Tv,z=null;return c!=null&&(c.unstable_strictMode===!0&&(f=!0),c.identifierPrefix!==void 0&&(g=c.identifierPrefix),c.onUncaughtError!==void 0&&(v=c.onUncaughtError),c.onCaughtError!==void 0&&(C=c.onCaughtError),c.onRecoverableError!==void 0&&(M=c.onRecoverableError),c.formState!==void 0&&(z=c.formState)),i=sb(r,1,!0,i,c??null,f,g,z,v,C,M,gb),i.context=ib(null),c=i.current,f=va(),f=ci(f),g=Cs(f),g.callback=null,Ts(c,g,f),c=f,i.current.lanes=c,Nr(i,c),ur(i),r[sr]=i.current,am(r),new wd(i)},dc.version="19.2.7",dc}var Mb;function nS(){if(Mb)return Cm.exports;Mb=1;function n(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}return n(),Cm.exports=tS(),Cm.exports}var aS=nS();const rS=j3(aS),sS="modulepreload",iS=function(n){return"/"+n},Rb={},O=function(e,t,a){let s=Promise.resolve();if(t&&t.length>0){let l=function(h){return Promise.all(h.map(m=>Promise.resolve(m).then(p=>({status:"fulfilled",value:p}),p=>({status:"rejected",reason:p}))))};document.getElementsByTagName("link");const u=document.querySelector("meta[property=csp-nonce]"),d=(u==null?void 0:u.nonce)||(u==null?void 0:u.getAttribute("nonce"));s=l(t.map(h=>{if(h=iS(h),h in Rb)return;Rb[h]=!0;const m=h.endsWith(".css"),p=m?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${h}"]${p}`))return;const b=document.createElement("link");if(b.rel=m?"stylesheet":sS,m||(b.as="script"),b.crossOrigin="",b.href=h,d&&b.setAttribute("nonce",d),document.head.appendChild(b),m)return new Promise((x,k)=>{b.addEventListener("load",x),b.addEventListener("error",()=>k(new Error(`Unable to preload CSS for ${h}`)))})}))}function o(l){const u=new Event("vite:preloadError",{cancelable:!0});if(u.payload=l,window.dispatchEvent(u),!u.defaultPrevented)throw l}return s.then(l=>{for(const u of l||[])u.status==="rejected"&&o(u.reason);return e().catch(o)})},Fe=n=>typeof n=="string",fc=()=>{let n,e;const t=new Promise((a,s)=>{n=a,e=s});return t.resolve=n,t.reject=e,t},Db=n=>n==null?"":String(n),oS=(n,e,t)=>{n.forEach(a=>{e[a]&&(t[a]=e[a])})},lS=/###/g,Ob=n=>n&&n.includes("###")?n.replace(lS,"."):n,Lb=n=>!n||Fe(n),Ec=(n,e,t)=>{const a=Fe(e)?e.split("."):e;let s=0;for(;s<a.length-1;){if(Lb(n))return{};const o=Ob(a[s]);!n[o]&&t&&(n[o]=new t),Object.prototype.hasOwnProperty.call(n,o)?n=n[o]:n={},++s}return Lb(n)?{}:{obj:n,k:Ob(a[s])}},Bb=(n,e,t)=>{const{obj:a,k:s}=Ec(n,e,Object);if(a!==void 0||e.length===1){a[s]=t;return}let o=e[e.length-1],l=e.slice(0,e.length-1),u=Ec(n,l,Object);for(;u.obj===void 0&&l.length;)o=`${l[l.length-1]}.${o}`,l=l.slice(0,l.length-1),u=Ec(n,l,Object),u!=null&&u.obj&&typeof u.obj[`${u.k}.${o}`]<"u"&&(u.obj=void 0);u.obj[`${u.k}.${o}`]=t},cS=(n,e,t,a)=>{const{obj:s,k:o}=Ec(n,e,Object);s[o]=s[o]||[],s[o].push(t)},o0=(n,e)=>{const{obj:t,k:a}=Ec(n,e);if(t&&Object.prototype.hasOwnProperty.call(t,a))return t[a]},uS=(n,e,t)=>{const a=o0(n,t);return a!==void 0?a:o0(e,t)},Q3=(n,e,t)=>{for(const a in e)a!=="__proto__"&&a!=="constructor"&&(Object.prototype.hasOwnProperty.call(n,a)?Fe(n[a])||n[a]instanceof String||Fe(e[a])||e[a]instanceof String?t&&(n[a]=e[a]):Q3(n[a],e[a],t):n[a]=e[a]);return n},Zr=n=>n.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&"),dS={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"},fS=n=>Fe(n)?n.replace(/[&<>"'\/]/g,e=>dS[e]):n;class hS{constructor(e){this.capacity=e,this.regExpMap=new Map,this.regExpQueue=[]}getRegExp(e){const t=this.regExpMap.get(e);if(t!==void 0)return t;const a=new RegExp(e);return this.regExpQueue.length===this.capacity&&this.regExpMap.delete(this.regExpQueue.shift()),this.regExpMap.set(e,a),this.regExpQueue.push(e),a}}const mS=[" ",",","?","!",";"],pS=new hS(20),gS=(n,e,t)=>{e=e||"",t=t||"";const a=mS.filter(l=>!e.includes(l)&&!t.includes(l));if(a.length===0)return!0;const s=pS.getRegExp(`(${a.map(l=>l==="?"?"\\?":l).join("|")})`);let o=!s.test(n);if(!o){const l=n.indexOf(t);l>0&&!s.test(n.substring(0,l))&&(o=!0)}return o},Op=(n,e,t=".")=>{if(!n)return;if(n[e])return Object.prototype.hasOwnProperty.call(n,e)?n[e]:void 0;const a=e.split(t);let s=n;for(let o=0;o<a.length;){if(!s||typeof s!="object")return;let l,u="";for(let d=o;d<a.length;++d)if(d!==o&&(u+=t),u+=a[d],l=s[u],l!==void 0){if(["string","number","boolean"].includes(typeof l)&&d<a.length-1)continue;o+=d-o+1;break}s=l}return s},$c=n=>n==null?void 0:n.replace(/_/g,"-"),yS={type:"logger",log(n){this.output("log",n)},warn(n){this.output("warn",n)},error(n){this.output("error",n)},output(n,e){var t,a;(a=(t=console==null?void 0:console[n])==null?void 0:t.apply)==null||a.call(t,console,e)}};class l0{constructor(e,t={}){this.init(e,t)}init(e,t={}){this.prefix=t.prefix||"i18next:",this.logger=e||yS,this.options=t,this.debug=t.debug}log(...e){return this.forward(e,"log","",!0)}warn(...e){return this.forward(e,"warn","",!0)}error(...e){return this.forward(e,"error","")}deprecate(...e){return this.forward(e,"warn","WARNING DEPRECATED: ",!0)}forward(e,t,a,s){return s&&!this.debug?null:(e=e.map(o=>Fe(o)?o.replace(/[\r\n\x00-\x1F\x7F]/g," "):o),Fe(e[0])&&(e[0]=`${a}${this.prefix} ${e[0]}`),this.logger[t](e))}create(e){return new l0(this.logger,{prefix:`${this.prefix}:${e}:`,...this.options})}clone(e){return e=e||this.options,e.prefix=e.prefix||this.prefix,new l0(this.logger,e)}}var gr=new l0;class z0{constructor(){this.observers={}}on(e,t){return e.split(" ").forEach(a=>{this.observers[a]||(this.observers[a]=new Map);const s=this.observers[a].get(t)||0;this.observers[a].set(t,s+1)}),this}off(e,t){if(this.observers[e]){if(!t){delete this.observers[e];return}this.observers[e].delete(t)}}once(e,t){const a=(...s)=>{t(...s),this.off(e,a)};return this.on(e,a),this}emit(e,...t){this.observers[e]&&Array.from(this.observers[e].entries()).forEach(([s,o])=>{for(let l=0;l<o;l++)s(...t)}),this.observers["*"]&&Array.from(this.observers["*"].entries()).forEach(([s,o])=>{for(let l=0;l<o;l++)s(e,...t)})}}class jb extends z0{constructor(e,t={ns:["translation"],defaultNS:"translation"}){super(),this.data=e||{},this.options=t,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.options.ignoreJSONStructure===void 0&&(this.options.ignoreJSONStructure=!0)}addNamespaces(e){this.options.ns.includes(e)||this.options.ns.push(e)}removeNamespaces(e){const t=this.options.ns.indexOf(e);t>-1&&this.options.ns.splice(t,1)}getResource(e,t,a,s={}){var h,m;const o=s.keySeparator!==void 0?s.keySeparator:this.options.keySeparator,l=s.ignoreJSONStructure!==void 0?s.ignoreJSONStructure:this.options.ignoreJSONStructure;let u;e.includes(".")?u=e.split("."):(u=[e,t],a&&(Array.isArray(a)?u.push(...a):Fe(a)&&o?u.push(...a.split(o)):u.push(a)));const d=o0(this.data,u);return!d&&!t&&!a&&e.includes(".")&&(e=u[0],t=u[1],a=u.slice(2).join(".")),d||!l||!Fe(a)?d:Op((m=(h=this.data)==null?void 0:h[e])==null?void 0:m[t],a,o)}addResource(e,t,a,s,o={silent:!1}){const l=o.keySeparator!==void 0?o.keySeparator:this.options.keySeparator;let u=[e,t];a&&(u=u.concat(l?a.split(l):a)),e.includes(".")&&(u=e.split("."),s=t,t=u[1]),this.addNamespaces(t),Bb(this.data,u,s),o.silent||this.emit("added",e,t,a,s)}addResources(e,t,a,s={silent:!1}){for(const o in a)(Fe(a[o])||Array.isArray(a[o]))&&this.addResource(e,t,o,a[o],{silent:!0});s.silent||this.emit("added",e,t,a)}addResourceBundle(e,t,a,s,o,l={silent:!1,skipCopy:!1}){let u=[e,t];e.includes(".")&&(u=e.split("."),s=a,a=t,t=u[1]),this.addNamespaces(t);let d=o0(this.data,u)||{};l.skipCopy||(a=JSON.parse(JSON.stringify(a))),s?Q3(d,a,o):d={...d,...a},Bb(this.data,u,d),l.silent||this.emit("added",e,t,a)}removeResourceBundle(e,t){this.hasResourceBundle(e,t)&&delete this.data[e][t],this.removeNamespaces(t),this.emit("removed",e,t)}hasResourceBundle(e,t){return this.getResource(e,t)!==void 0}getResourceBundle(e,t){return t||(t=this.options.defaultNS),this.getResource(e,t)}getDataByLanguage(e){return this.data[e]}hasLanguageSomeTranslations(e){const t=this.getDataByLanguage(e);return!!(t&&Object.keys(t)||[]).find(s=>t[s]&&Object.keys(t[s]).length>0)}toJSON(){return this.data}}var J3={processors:{},addPostProcessor(n){this.processors[n.name]=n},handle(n,e,t,a,s){return n.forEach(o=>{var l;e=((l=this.processors[o])==null?void 0:l.process(e,t,a,s))??e}),e}};const ex=Symbol("i18next/PATH_KEY");function vS(){const n=[],e=Object.create(null);let t;return e.get=(a,s)=>{var o;return(o=t==null?void 0:t.revoke)==null||o.call(t),s===ex?n:(n.push(s),t=Proxy.revocable(a,e),t.proxy)},Proxy.revocable(Object.create(null),e).proxy}function Yo(n,e){const{[ex]:t}=n(vS()),a=(e==null?void 0:e.keySeparator)??".",s=(e==null?void 0:e.nsSeparator)??":",o=(e==null?void 0:e.enableSelector)==="strict";if(t.length>1&&s){const l=e==null?void 0:e.ns,u=o?Array.isArray(l)?l:l?[l]:null:Array.isArray(l)?l:null;if(u&&(o?u:u.length>1?u.slice(1):[]).includes(t[0]))return`${t[0]}${s}${t.slice(1).join(a)}`}return t.join(a)}const Em=n=>!Fe(n)&&typeof n!="boolean"&&typeof n!="number";class c0 extends z0{constructor(e,t={}){super(),oS(["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],e,this),this.options=t,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.logger=gr.create("translator"),this.checkedLoadedFor={}}changeLanguage(e){e&&(this.language=e)}exists(e,t={interpolation:{}}){const a={...t};if(e==null)return!1;const s=this.resolve(e,a);if((s==null?void 0:s.res)===void 0)return!1;const o=Em(s.res);return!(a.returnObjects===!1&&o)}extractFromKey(e,t){let a=t.nsSeparator!==void 0?t.nsSeparator:this.options.nsSeparator;a===void 0&&(a=":");const s=t.keySeparator!==void 0?t.keySeparator:this.options.keySeparator;let o=t.ns||this.options.defaultNS||[];const l=a&&e.includes(a),u=!this.options.userDefinedKeySeparator&&!t.keySeparator&&!this.options.userDefinedNsSeparator&&!t.nsSeparator&&!gS(e,a,s);if(l&&!u){const d=e.match(this.interpolator.nestingRegexp);if(d&&d.length>0)return{key:e,namespaces:Fe(o)?[o]:o};const h=e.split(a);(a!==s||a===s&&this.options.ns.includes(h[0]))&&(o=h.shift()),e=h.join(s)}return{key:e,namespaces:Fe(o)?[o]:o}}translate(e,t,a){let s=typeof t=="object"?{...t}:t;if(typeof s!="object"&&this.options.overloadTranslationOptionHandler&&(s=this.options.overloadTranslationOptionHandler(arguments)),typeof s=="object"&&(s={...s}),s||(s={}),e==null)return"";typeof e=="function"&&(e=Yo(e,{...this.options,...s})),Array.isArray(e)||(e=[String(e)]),e=e.map(se=>typeof se=="function"?Yo(se,{...this.options,...s}):String(se));const o=s.returnDetails!==void 0?s.returnDetails:this.options.returnDetails,l=s.keySeparator!==void 0?s.keySeparator:this.options.keySeparator,{key:u,namespaces:d}=this.extractFromKey(e[e.length-1],s),h=d[d.length-1];let m=s.nsSeparator!==void 0?s.nsSeparator:this.options.nsSeparator;m===void 0&&(m=":");const p=s.lng||this.language,b=s.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if((p==null?void 0:p.toLowerCase())==="cimode")return b?o?{res:`${h}${m}${u}`,usedKey:u,exactUsedKey:u,usedLng:p,usedNS:h,usedParams:this.getUsedParamsDetails(s)}:`${h}${m}${u}`:o?{res:u,usedKey:u,exactUsedKey:u,usedLng:p,usedNS:h,usedParams:this.getUsedParamsDetails(s)}:u;const x=this.resolve(e,s);let k=x==null?void 0:x.res;const _=(x==null?void 0:x.usedKey)||u,T=(x==null?void 0:x.exactUsedKey)||u,N=["[object Number]","[object Function]","[object RegExp]"],E=s.joinArrays!==void 0?s.joinArrays:this.options.joinArrays,L=!this.i18nFormat||this.i18nFormat.handleAsObject,B=s.count!==void 0&&!Fe(s.count),j=c0.hasDefaultValue(s),q=B?this.pluralResolver.getSuffix(p,s.count,s):"",K=s.ordinal&&B?this.pluralResolver.getSuffix(p,s.count,{ordinal:!1}):"",te=B&&!s.ordinal&&s.count===0,J=te&&s[`defaultValue${this.options.pluralSeparator}zero`]||s[`defaultValue${q}`]||s[`defaultValue${K}`]||s.defaultValue;let be=k;L&&!k&&j&&(be=J);const Le=Em(be),fe=Object.prototype.toString.apply(be);if(L&&be&&Le&&!N.includes(fe)&&!(Fe(E)&&Array.isArray(be))){if(!s.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");const se=this.options.returnedObjectHandler?this.options.returnedObjectHandler(_,be,{...s,ns:d}):`key '${u} (${this.language})' returned an object instead of string.`;return o?(x.res=se,x.usedParams=this.getUsedParamsDetails(s),x):se}if(l){const se=Array.isArray(be),ge=se?[]:{},xe=se?T:_;for(const G in be)if(Object.prototype.hasOwnProperty.call(be,G)){const le=`${xe}${l}${G}`;j&&!k?ge[G]=this.translate(le,{...s,defaultValue:Em(J)?J[G]:void 0,joinArrays:!1,ns:d}):ge[G]=this.translate(le,{...s,joinArrays:!1,ns:d}),ge[G]===le&&(ge[G]=be[G])}k=ge}}else if(L&&Fe(E)&&Array.isArray(k))k=k.join(E),k&&(k=this.extendTranslation(k,e,s,a));else{let se=!1,ge=!1;!this.isValidLookup(k)&&j&&(se=!0,k=J),this.isValidLookup(k)||(ge=!0,k=u);const G=(s.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&ge?void 0:k,le=j&&J!==k&&this.options.updateMissing;if(ge||se||le){if(this.logger.log(le?"updateKey":"missingKey",p,h,B&&!le?`${u}${this.pluralResolver.getSuffix(p,s.count,s)}`:u,le?J:k),l){const qe=this.resolve(u,{...s,keySeparator:!1});qe&&qe.res&&this.logger.warn("Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.")}let re=[];const Qe=this.languageUtils.getFallbackCodes(this.options.fallbackLng,s.lng||this.language);if(this.options.saveMissingTo==="fallback"&&Qe&&Qe[0])for(let qe=0;qe<Qe.length;qe++)re.push(Qe[qe]);else this.options.saveMissingTo==="all"?re=this.languageUtils.toResolveHierarchy(s.lng||this.language):re.push(s.lng||this.language);const Ge=(qe,Ie,Me)=>{var St;const mt=j&&Me!==k?Me:G;this.options.missingKeyHandler?this.options.missingKeyHandler(qe,h,Ie,mt,le,s):(St=this.backendConnector)!=null&&St.saveMissing&&this.backendConnector.saveMissing(qe,h,Ie,mt,le,s),this.emit("missingKey",qe,h,Ie,k)};this.options.saveMissing&&(this.options.saveMissingPlurals&&B?re.forEach(qe=>{const Ie=this.pluralResolver.getSuffixes(qe,s);te&&s[`defaultValue${this.options.pluralSeparator}zero`]&&!Ie.includes(`${this.options.pluralSeparator}zero`)&&Ie.push(`${this.options.pluralSeparator}zero`),Ie.forEach(Me=>{Ge([qe],u+Me,s[`defaultValue${Me}`]||J)})}):Ge(re,u,J))}k=this.extendTranslation(k,e,s,x,a),ge&&k===u&&this.options.appendNamespaceToMissingKey&&(k=`${h}${m}${u}`),(ge||se)&&this.options.parseMissingKeyHandler&&(k=this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${h}${m}${u}`:u,se?k:void 0,s))}return o?(x.res=k,x.usedParams=this.getUsedParamsDetails(s),x):k}extendTranslation(e,t,a,s,o){var d,h;if((d=this.i18nFormat)!=null&&d.parse)e=this.i18nFormat.parse(e,{...this.options.interpolation.defaultVariables,...a},a.lng||this.language||s.usedLng,s.usedNS,s.usedKey,{resolved:s});else if(!a.skipInterpolation){a.interpolation&&this.interpolator.init({...a,interpolation:{...this.options.interpolation,...a.interpolation}});const m=Fe(e)&&(((h=a==null?void 0:a.interpolation)==null?void 0:h.skipOnVariables)!==void 0?a.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables);let p;if(m){const x=e.match(this.interpolator.nestingRegexp);p=x&&x.length}let b=a.replace&&!Fe(a.replace)?a.replace:a;if(this.options.interpolation.defaultVariables&&(b={...this.options.interpolation.defaultVariables,...b}),e=this.interpolator.interpolate(e,b,a.lng||this.language||s.usedLng,a),m){const x=e.match(this.interpolator.nestingRegexp),k=x&&x.length;p<k&&(a.nest=!1)}!a.lng&&s&&s.res&&(a.lng=this.language||s.usedLng),a.nest!==!1&&(e=this.interpolator.nest(e,(...x)=>(o==null?void 0:o[0])===x[0]&&!a.context?(this.logger.warn(`It seems you are nesting recursively key: ${x[0]} in key: ${t[0]}`),null):this.translate(...x,t),a)),a.interpolation&&this.interpolator.reset()}const l=a.postProcess||this.options.postProcess,u=Fe(l)?[l]:l;return e!=null&&(u!=null&&u.length)&&a.applyPostProcessor!==!1&&(e=J3.handle(u,e,t,this.options&&this.options.postProcessPassResolved?{i18nResolved:{...s,usedParams:this.getUsedParamsDetails(a)},...a}:a,this)),e}resolve(e,t={}){let a,s,o,l,u;return Fe(e)&&(e=[e]),Array.isArray(e)&&(e=e.map(d=>typeof d=="function"?Yo(d,{...this.options,...t}):d)),e.forEach(d=>{if(this.isValidLookup(a))return;const h=this.extractFromKey(d,t),m=h.key;s=m;let p=h.namespaces;this.options.fallbackNS&&(p=p.concat(this.options.fallbackNS));const b=t.count!==void 0&&!Fe(t.count),x=b&&!t.ordinal&&t.count===0,k=t.context!==void 0&&(Fe(t.context)||typeof t.context=="number")&&t.context!=="",_=t.lngs?t.lngs:this.languageUtils.toResolveHierarchy(t.lng||this.language,t.fallbackLng);p.forEach(T=>{var N,E;this.isValidLookup(a)||(u=T,!this.checkedLoadedFor[`${_[0]}-${T}`]&&((N=this.utils)!=null&&N.hasLoadedNamespace)&&!((E=this.utils)!=null&&E.hasLoadedNamespace(u))&&(this.checkedLoadedFor[`${_[0]}-${T}`]=!0,this.logger.warn(`key "${s}" for languages "${_.join(", ")}" won't get resolved as namespace "${u}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")),_.forEach(L=>{var q;if(this.isValidLookup(a))return;l=L;const B=[m];if((q=this.i18nFormat)!=null&&q.addLookupKeys)this.i18nFormat.addLookupKeys(B,m,L,T,t);else{let K;b&&(K=this.pluralResolver.getSuffix(L,t.count,t));const te=`${this.options.pluralSeparator}zero`,J=`${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;if(b&&(t.ordinal&&K.startsWith(J)&&B.push(m+K.replace(J,this.options.pluralSeparator)),B.push(m+K),x&&B.push(m+te)),k){const be=`${m}${this.options.contextSeparator||"_"}${t.context}`;B.push(be),b&&(t.ordinal&&K.startsWith(J)&&B.push(be+K.replace(J,this.options.pluralSeparator)),B.push(be+K),x&&B.push(be+te))}}let j;for(;j=B.pop();)this.isValidLookup(a)||(o=j,a=this.getResource(L,T,j,t))}))})}),{res:a,usedKey:s,exactUsedKey:o,usedLng:l,usedNS:u}}isValidLookup(e){return e!==void 0&&!(!this.options.returnNull&&e===null)&&!(!this.options.returnEmptyString&&e==="")}getResource(e,t,a,s={}){var o;return(o=this.i18nFormat)!=null&&o.getResource?this.i18nFormat.getResource(e,t,a,s):this.resourceStore.getResource(e,t,a,s)}getUsedParamsDetails(e={}){const t=["defaultValue","ordinal","context","replace","lng","lngs","fallbackLng","ns","keySeparator","nsSeparator","returnObjects","returnDetails","joinArrays","postProcess","interpolation"],a=e.replace&&!Fe(e.replace);let s=a?e.replace:e;if(a&&typeof e.count<"u"&&(s={...s,count:e.count}),this.options.interpolation.defaultVariables&&(s={...this.options.interpolation.defaultVariables,...s}),!a){s={...s};for(const o of t)delete s[o]}return s}static hasDefaultValue(e){const t="defaultValue";for(const a in e)if(Object.prototype.hasOwnProperty.call(e,a)&&a.startsWith(t)&&e[a]!==void 0)return!0;return!1}}class Pb{constructor(e){this.options=e,this.supportedLngs=this.options.supportedLngs||!1,this.logger=gr.create("languageUtils")}getScriptPartFromCode(e){if(e=$c(e),!e||!e.includes("-"))return null;const t=e.split("-");return t.length===2||(t.pop(),t[t.length-1].toLowerCase()==="x")?null:this.formatLanguageCode(t.join("-"))}getLanguagePartFromCode(e){if(e=$c(e),!e||!e.includes("-"))return e;const t=e.split("-");return this.formatLanguageCode(t[0])}formatLanguageCode(e){if(Fe(e)&&e.includes("-")){let t;try{t=Intl.getCanonicalLocales(e)[0]}catch{}return t&&this.options.lowerCaseLng&&(t=t.toLowerCase()),t||(this.options.lowerCaseLng?e.toLowerCase():e)}return this.options.cleanCode||this.options.lowerCaseLng?e.toLowerCase():e}isSupportedCode(e){return(this.options.load==="languageOnly"||this.options.nonExplicitSupportedLngs)&&(e=this.getLanguagePartFromCode(e)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.includes(e)}getBestMatchFromCodes(e){if(!e)return null;let t;return e.forEach(a=>{if(t)return;const s=this.formatLanguageCode(a);(!this.options.supportedLngs||this.isSupportedCode(s))&&(t=s)}),!t&&this.options.supportedLngs&&e.forEach(a=>{if(t)return;const s=this.getScriptPartFromCode(a);if(this.isSupportedCode(s))return t=s;const o=this.getLanguagePartFromCode(a);if(this.isSupportedCode(o))return t=o;t=this.options.supportedLngs.find(l=>l===o?!0:!l.includes("-")&&!o.includes("-")?!1:!!(l.includes("-")&&!o.includes("-")&&l.slice(0,l.indexOf("-"))===o||l.startsWith(o)&&o.length>1))}),t||(t=this.getFallbackCodes(this.options.fallbackLng)[0]),t}getFallbackCodes(e,t){if(!e)return[];if(typeof e=="function"&&(e=e(t)),Fe(e)&&(e=[e]),Array.isArray(e))return e;if(!t)return e.default||[];let a=e[t];return a||(a=e[this.getScriptPartFromCode(t)]),a||(a=e[this.formatLanguageCode(t)]),a||(a=e[this.getLanguagePartFromCode(t)]),a||(a=e.default),a||[]}toResolveHierarchy(e,t){const a=this.getFallbackCodes((t===!1?[]:t)||this.options.fallbackLng||[],e),s=[],o=l=>{l&&(this.isSupportedCode(l)?s.push(l):this.logger.warn(`rejecting language code not found in supportedLngs: ${l}`))};return Fe(e)&&(e.includes("-")||e.includes("_"))?(this.options.load!=="languageOnly"&&o(this.formatLanguageCode(e)),this.options.load!=="languageOnly"&&this.options.load!=="currentOnly"&&o(this.getScriptPartFromCode(e)),this.options.load!=="currentOnly"&&o(this.getLanguagePartFromCode(e))):Fe(e)&&o(this.formatLanguageCode(e)),a.forEach(l=>{s.includes(l)||o(this.formatLanguageCode(l))}),s}}const Ib={zero:0,one:1,two:2,few:3,many:4,other:5},zb={select:n=>n===1?"one":"other",resolvedOptions:()=>({pluralCategories:["one","other"]})};class bS{constructor(e,t={}){this.languageUtils=e,this.options=t,this.logger=gr.create("pluralResolver"),this.pluralRulesCache={}}clearCache(){this.pluralRulesCache={}}getRule(e,t={}){const a=$c(e==="dev"?"en":e),s=t.ordinal?"ordinal":"cardinal",o=JSON.stringify({cleanedCode:a,type:s});if(o in this.pluralRulesCache)return this.pluralRulesCache[o];let l;try{l=new Intl.PluralRules(a,{type:s})}catch{if(typeof Intl>"u")return this.logger.error("No Intl support, please use an Intl polyfill!"),zb;if(!e.match(/-|_/))return zb;const d=this.languageUtils.getLanguagePartFromCode(e);l=this.getRule(d,t)}return this.pluralRulesCache[o]=l,l}needsPlural(e,t={}){let a=this.getRule(e,t);return a||(a=this.getRule("dev",t)),(a==null?void 0:a.resolvedOptions().pluralCategories.length)>1}getPluralFormsOfKey(e,t,a={}){return this.getSuffixes(e,a).map(s=>`${t}${s}`)}getSuffixes(e,t={}){let a=this.getRule(e,t);return a||(a=this.getRule("dev",t)),a?a.resolvedOptions().pluralCategories.sort((s,o)=>Ib[s]-Ib[o]).map(s=>`${this.options.prepend}${t.ordinal?`ordinal${this.options.prepend}`:""}${s}`):[]}getSuffix(e,t,a={}){const s=this.getRule(e,a);return s?`${this.options.prepend}${a.ordinal?`ordinal${this.options.prepend}`:""}${s.select(t)}`:(this.logger.warn(`no plural rule found for: ${e}`),this.getSuffix("dev",t,a))}}const $b=(n,e,t,a=".",s=!0)=>{let o=uS(n,e,t);return!o&&s&&Fe(t)&&(o=Op(n,t,a),o===void 0&&(o=Op(e,t,a))),o},xS=n=>n.replace(/\$/g,"$$$$");class Hb{constructor(e={}){var t;this.logger=gr.create("interpolator"),this.options=e,this.format=((t=e==null?void 0:e.interpolation)==null?void 0:t.format)||(a=>a),this.init(e)}init(e={}){e.interpolation||(e.interpolation={escapeValue:!0});const{escape:t,escapeValue:a,useRawValueToEscape:s,prefix:o,prefixEscaped:l,suffix:u,suffixEscaped:d,formatSeparator:h,unescapeSuffix:m,unescapePrefix:p,nestingPrefix:b,nestingPrefixEscaped:x,nestingSuffix:k,nestingSuffixEscaped:_,nestingOptionsSeparator:T,maxReplaces:N,alwaysFormat:E}=e.interpolation;this.escape=t!==void 0?t:fS,this.escapeValue=a!==void 0?a:!0,this.useRawValueToEscape=s!==void 0?s:!1,this.prefix=o?Zr(o):l||"{{",this.suffix=u?Zr(u):d||"}}",this.formatSeparator=h||",",this.unescapePrefix=m?"":p?Zr(p):"-",this.unescapeSuffix=this.unescapePrefix?"":m?Zr(m):"",this.nestingPrefix=b?Zr(b):x||Zr("$t("),this.nestingSuffix=k?Zr(k):_||Zr(")"),this.nestingOptionsSeparator=T||",",this.maxReplaces=N||1e3,this.alwaysFormat=E!==void 0?E:!1,this.resetRegExp()}reset(){this.options&&this.init(this.options)}resetRegExp(){const e=(t,a)=>(t==null?void 0:t.source)===a?(t.lastIndex=0,t):new RegExp(a,"g");this.regexp=e(this.regexp,`${this.prefix}(.+?)${this.suffix}`),this.regexpUnescape=e(this.regexpUnescape,`${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`),this.nestingRegexp=e(this.nestingRegexp,`${this.nestingPrefix}((?:[^()"']+|"[^"]*"|'[^']*'|\\((?:[^()]|"[^"]*"|'[^']*')*\\))*?)${this.nestingSuffix}`)}interpolate(e,t,a,s){var x;let o,l,u;const d=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{},h=k=>{if(!k.includes(this.formatSeparator)){const E=$b(t,d,k,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format(E,void 0,a,{...s,...t,interpolationkey:k}):E}const _=k.split(this.formatSeparator),T=_.shift().trim(),N=_.join(this.formatSeparator).trim();return this.format($b(t,d,T,this.options.keySeparator,this.options.ignoreJSONStructure),N,a,{...s,...t,interpolationkey:T})};this.resetRegExp(),!this.escapeValue&&typeof e=="string"&&/\$t\([^)]*\{[^}]*\{\{/.test(e)&&this.logger.warn("nesting options string contains interpolated variables with escapeValue: false — if any of those values are attacker-controlled they can inject additional nesting options (e.g. redirect lng/ns). Sanitise untrusted input before passing it to t(), or keep escapeValue: true.");const m=(s==null?void 0:s.missingInterpolationHandler)||this.options.missingInterpolationHandler,p=((x=s==null?void 0:s.interpolation)==null?void 0:x.skipOnVariables)!==void 0?s.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:k=>k},{regex:this.regexp,safeValue:k=>this.escapeValue?this.escape(k):k}].forEach(k=>{for(u=0;o=k.regex.exec(e);){const _=o[1].trim();if(l=h(_),l===void 0)if(typeof m=="function"){const N=m(e,o,s);l=Fe(N)?N:""}else if(s&&Object.prototype.hasOwnProperty.call(s,_))l="";else if(p){l=o[0];continue}else this.logger.warn(`missed to pass in variable ${_} for interpolating ${e}`),l="";else!Fe(l)&&!this.useRawValueToEscape&&(l=Db(l));const T=k.safeValue(l);if(e=e.replace(o[0],xS(T)),p?(k.regex.lastIndex+=T.length,k.regex.lastIndex-=o[0].length):k.regex.lastIndex=0,u++,u>=this.maxReplaces)break}}),e}nest(e,t,a={}){let s,o,l;const u=(d,h)=>{const m=this.nestingOptionsSeparator;if(!d.includes(m))return d;const p=d.split(new RegExp(`${Zr(m)}[ ]*{`));let b=`{${p[1]}`;d=p[0],b=this.interpolate(b,l);const x=b.match(/'/g),k=b.match(/"/g);(((x==null?void 0:x.length)??0)%2===0&&!k||((k==null?void 0:k.length)??0)%2!==0)&&(b=b.replace(/'/g,'"'));try{l=JSON.parse(b),h&&(l={...h,...l})}catch(_){return this.logger.warn(`failed parsing options string in nesting for key ${d}`,_),`${d}${m}${b}`}return l.defaultValue&&l.defaultValue.includes(this.prefix)&&delete l.defaultValue,d};for(;s=this.nestingRegexp.exec(e);){let d=[];l={...a},l=l.replace&&!Fe(l.replace)?l.replace:l,l.applyPostProcessor=!1,delete l.defaultValue;const h=/{.*}/s.test(s[1])?s[1].lastIndexOf("}")+1:s[1].indexOf(this.formatSeparator);if(h!==-1&&(d=s[1].slice(h).split(this.formatSeparator).map(m=>m.trim()).filter(Boolean),s[1]=s[1].slice(0,h)),o=t(u.call(this,s[1].trim(),l),l),o&&s[0]===e&&!Fe(o))return o;Fe(o)||(o=Db(o)),o||(this.logger.warn(`missed to resolve ${s[1]} for nesting ${e}`),o=""),d.length&&(o=d.reduce((m,p)=>this.format(m,p,a.lng,{...a,interpolationkey:s[1].trim()}),o.trim())),e=e.replace(s[0],o),this.regexp.lastIndex=0}return e}}const wS=n=>{let e=n.toLowerCase().trim();const t={};if(n.includes("(")){const a=n.split("(");e=a[0].toLowerCase().trim();const s=a[1].slice(0,-1);e==="currency"&&!s.includes(":")?t.currency||(t.currency=s.trim()):e==="relativetime"&&!s.includes(":")?t.range||(t.range=s.trim()):s.split(";").forEach(l=>{if(l){const[u,...d]=l.split(":"),h=d.join(":").trim().replace(/^'+|'+$/g,""),m=u.trim();t[m]||(t[m]=h),h==="false"&&(t[m]=!1),h==="true"&&(t[m]=!0),isNaN(h)||(t[m]=parseInt(h,10))}})}return{formatName:e,formatOptions:t}},Ub=n=>{const e={};return(t,a,s)=>{let o=s;s&&s.interpolationkey&&s.formatParams&&s.formatParams[s.interpolationkey]&&s[s.interpolationkey]&&(o={...o,[s.interpolationkey]:void 0});const l=a+JSON.stringify(o);let u=e[l];return u||(u=n($c(a),s),e[l]=u),u(t)}},kS=n=>(e,t,a)=>n($c(t),a)(e);class SS{constructor(e={}){this.logger=gr.create("formatter"),this.options=e,this.init(e)}init(e,t={interpolation:{}}){this.formatSeparator=t.interpolation.formatSeparator||",";const a=t.cacheInBuiltFormats?Ub:kS;this.formats={number:a((s,o)=>{const l=new Intl.NumberFormat(s,{...o});return u=>l.format(u)}),currency:a((s,o)=>{const l=new Intl.NumberFormat(s,{...o,style:"currency"});return u=>l.format(u)}),datetime:a((s,o)=>{const l=new Intl.DateTimeFormat(s,{...o});return u=>l.format(u)}),relativetime:a((s,o)=>{const l=new Intl.RelativeTimeFormat(s,{...o});return u=>l.format(u,o.range||"day")}),list:a((s,o)=>{const l=new Intl.ListFormat(s,{...o});return u=>l.format(u)})}}add(e,t){this.formats[e.toLowerCase().trim()]=t}addCached(e,t){this.formats[e.toLowerCase().trim()]=Ub(t)}format(e,t,a,s={}){if(!t||e==null)return e;const o=t.split(this.formatSeparator),l=[];for(let d=0;d<o.length;d++){let h=o[d];for(;h.indexOf("(")>-1&&!h.includes(")")&&d+1<o.length;)h=`${h}${this.formatSeparator}${o[++d]}`;l.push(h)}return l.reduce((d,h)=>{var b;const{formatName:m,formatOptions:p}=wS(h);if(this.formats[m]){let x=d;try{const k=((b=s==null?void 0:s.formatParams)==null?void 0:b[s.interpolationkey])||{},_=k.locale||k.lng||s.locale||s.lng||a;x=this.formats[m](d,_,{...p,...s,...k})}catch(k){this.logger.warn(k)}return x}else this.logger.warn(`there was no format function for ${m}`);return d},e)}}const _S=(n,e)=>{n.pending[e]!==void 0&&(delete n.pending[e],n.pendingCount--)};class CS extends z0{constructor(e,t,a,s={}){var o,l;super(),this.backend=e,this.store=t,this.services=a,this.languageUtils=a.languageUtils,this.options=s,this.logger=gr.create("backendConnector"),this.waitingReads=[],this.maxParallelReads=s.maxParallelReads||10,this.readingCalls=0,this.maxRetries=s.maxRetries>=0?s.maxRetries:5,this.retryTimeout=s.retryTimeout>=1?s.retryTimeout:350,this.state={},this.queue=[],(l=(o=this.backend)==null?void 0:o.init)==null||l.call(o,a,s.backend,s)}queueLoad(e,t,a,s){const o={},l={},u={},d={};return e.forEach(h=>{let m=!0;t.forEach(p=>{const b=`${h}|${p}`;!a.reload&&this.store.hasResourceBundle(h,p)?this.state[b]=2:this.state[b]<0||(this.state[b]===1?l[b]===void 0&&(l[b]=!0):(this.state[b]=1,m=!1,l[b]===void 0&&(l[b]=!0),o[b]===void 0&&(o[b]=!0),d[p]===void 0&&(d[p]=!0)))}),m||(u[h]=!0)}),(Object.keys(o).length||Object.keys(l).length)&&this.queue.push({pending:l,pendingCount:Object.keys(l).length,loaded:{},errors:[],callback:s}),{toLoad:Object.keys(o),pending:Object.keys(l),toLoadLanguages:Object.keys(u),toLoadNamespaces:Object.keys(d)}}loaded(e,t,a){const s=e.split("|"),o=s[0],l=s[1];t&&this.emit("failedLoading",o,l,t),!t&&a&&this.store.addResourceBundle(o,l,a,void 0,void 0,{skipCopy:!0}),this.state[e]=t?-1:2,t&&a&&(this.state[e]=0);const u={};this.queue.forEach(d=>{cS(d.loaded,[o],l),_S(d,e),t&&d.errors.push(t),d.pendingCount===0&&!d.done&&(Object.keys(d.loaded).forEach(h=>{u[h]||(u[h]={});const m=d.loaded[h];m.length&&m.forEach(p=>{u[h][p]===void 0&&(u[h][p]=!0)})}),d.done=!0,d.errors.length?d.callback(d.errors):d.callback())}),this.emit("loaded",u),this.queue=this.queue.filter(d=>!d.done)}read(e,t,a,s=0,o=this.retryTimeout,l){if(!e.length)return l(null,{});if(this.readingCalls>=this.maxParallelReads){this.waitingReads.push({lng:e,ns:t,fcName:a,tried:s,wait:o,callback:l});return}this.readingCalls++;const u=(h,m)=>{if(this.readingCalls--,this.waitingReads.length>0){const p=this.waitingReads.shift();this.read(p.lng,p.ns,p.fcName,p.tried,p.wait,p.callback)}if(h&&m&&s<this.maxRetries){setTimeout(()=>{this.read(e,t,a,s+1,o*2,l)},o);return}l(h,m)},d=this.backend[a].bind(this.backend);if(d.length===2){try{const h=d(e,t);h&&typeof h.then=="function"?h.then(m=>u(null,m)).catch(u):u(null,h)}catch(h){u(h)}return}return d(e,t,u)}prepareLoading(e,t,a={},s){if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),s&&s();Fe(e)&&(e=this.languageUtils.toResolveHierarchy(e)),Fe(t)&&(t=[t]);const o=this.queueLoad(e,t,a,s);if(!o.toLoad.length)return o.pending.length||s(),null;o.toLoad.forEach(l=>{this.loadOne(l)})}load(e,t,a){this.prepareLoading(e,t,{},a)}reload(e,t,a){this.prepareLoading(e,t,{reload:!0},a)}loadOne(e,t=""){const a=e.split("|"),s=a[0],o=a[1];this.read(s,o,"read",void 0,void 0,(l,u)=>{l&&this.logger.warn(`${t}loading namespace ${o} for language ${s} failed`,l),!l&&u&&this.logger.log(`${t}loaded namespace ${o} for language ${s}`,u),this.loaded(e,l,u)})}saveMissing(e,t,a,s,o,l={},u=()=>{}){var d,h,m,p,b;if((h=(d=this.services)==null?void 0:d.utils)!=null&&h.hasLoadedNamespace&&!((p=(m=this.services)==null?void 0:m.utils)!=null&&p.hasLoadedNamespace(t))){this.logger.warn(`did not save key "${a}" as the namespace "${t}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!");return}if(!(a==null||a==="")){if((b=this.backend)!=null&&b.create){const x={...l,isUpdate:o},k=this.backend.create.bind(this.backend);if(k.length<6)try{let _;k.length===5?_=k(e,t,a,s,x):_=k(e,t,a,s),_&&typeof _.then=="function"?_.then(T=>u(null,T)).catch(u):u(null,_)}catch(_){u(_)}else k(e,t,a,s,u,x)}!e||!e[0]||this.store.addResource(e[0],t,a,s)}}}const Nm=()=>({debug:!1,initAsync:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:"all",preload:!1,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",enableSelector:!1,partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:"fallback",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!1,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:n=>{let e={};if(typeof n[1]=="object"&&(e=n[1]),Fe(n[1])&&(e.defaultValue=n[1]),Fe(n[2])&&(e.tDescription=n[2]),typeof n[2]=="object"||typeof n[3]=="object"){const t=n[3]||n[2];Object.keys(t).forEach(a=>{e[a]=t[a]})}return e},interpolation:{escapeValue:!0,prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0},cacheInBuiltFormats:!0}),Fb=n=>(Fe(n.ns)&&(n.ns=[n.ns]),Fe(n.fallbackLng)&&(n.fallbackLng=[n.fallbackLng]),Fe(n.fallbackNS)&&(n.fallbackNS=[n.fallbackNS]),n.supportedLngs&&!n.supportedLngs.includes("cimode")&&(n.supportedLngs=n.supportedLngs.concat(["cimode"])),n),_d=()=>{},TS=n=>{Object.getOwnPropertyNames(Object.getPrototypeOf(n)).forEach(t=>{typeof n[t]=="function"&&(n[t]=n[t].bind(n))})};class Nc extends z0{constructor(e={},t){if(super(),this.options=Fb(e),this.services={},this.logger=gr,this.modules={external:[]},TS(this),t&&!this.isInitialized&&!e.isClone){if(!this.options.initAsync)return this.init(e,t),this;setTimeout(()=>{this.init(e,t)},0)}}init(e={},t){this.isInitializing=!0,typeof e=="function"&&(t=e,e={}),e.defaultNS==null&&e.ns&&(Fe(e.ns)?e.defaultNS=e.ns:e.ns.includes("translation")||(e.defaultNS=e.ns[0]));const a=Nm();this.options={...a,...this.options,...Fb(e)},this.options.interpolation={...a.interpolation,...this.options.interpolation},e.keySeparator!==void 0&&(this.options.userDefinedKeySeparator=e.keySeparator),e.nsSeparator!==void 0&&(this.options.userDefinedNsSeparator=e.nsSeparator),typeof this.options.overloadTranslationOptionHandler!="function"&&(this.options.overloadTranslationOptionHandler=a.overloadTranslationOptionHandler);const s=h=>h?typeof h=="function"?new h:h:null;if(!this.options.isClone){this.modules.logger?gr.init(s(this.modules.logger),this.options):gr.init(null,this.options);let h;this.modules.formatter?h=this.modules.formatter:h=SS;const m=new Pb(this.options);this.store=new jb(this.options.resources,this.options);const p=this.services;p.logger=gr,p.resourceStore=this.store,p.languageUtils=m,p.pluralResolver=new bS(m,{prepend:this.options.pluralSeparator}),h&&(p.formatter=s(h),p.formatter.init&&p.formatter.init(p,this.options),this.options.interpolation.format=p.formatter.format.bind(p.formatter)),p.interpolator=new Hb(this.options),p.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},p.backendConnector=new CS(s(this.modules.backend),p.resourceStore,p,this.options),p.backendConnector.on("*",(b,...x)=>{this.emit(b,...x)}),this.modules.languageDetector&&(p.languageDetector=s(this.modules.languageDetector),p.languageDetector.init&&p.languageDetector.init(p,this.options.detection,this.options)),this.modules.i18nFormat&&(p.i18nFormat=s(this.modules.i18nFormat),p.i18nFormat.init&&p.i18nFormat.init(this)),this.translator=new c0(this.services,this.options),this.translator.on("*",(b,...x)=>{this.emit(b,...x)}),this.modules.external.forEach(b=>{b.init&&b.init(this)})}if(this.format=this.options.interpolation.format,t||(t=_d),this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){const h=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);h.length>0&&h[0]!=="dev"&&(this.options.lng=h[0])}!this.services.languageDetector&&!this.options.lng&&this.logger.warn("init: no languageDetector is used and no lng is defined"),["getResource","hasResourceBundle","getResourceBundle","getDataByLanguage"].forEach(h=>{this[h]=(...m)=>this.store[h](...m)}),["addResource","addResources","addResourceBundle","removeResourceBundle"].forEach(h=>{this[h]=(...m)=>(this.store[h](...m),this)});const u=fc(),d=()=>{const h=(m,p)=>{this.isInitializing=!1,this.isInitialized&&!this.initializedStoreOnce&&this.logger.warn("init: i18next is already initialized. You should call init just once!"),this.isInitialized=!0,this.options.isClone||this.logger.log("initialized",this.options),this.emit("initialized",this.options),u.resolve(p),t(m,p)};if((this.languages||this.isLanguageChangingTo)&&!this.isInitialized)return h(null,this.t.bind(this));this.changeLanguage(this.options.lng,h)};return this.options.resources||!this.options.initAsync?d():setTimeout(d,0),u}loadResources(e,t=_d){var o,l;let a=t;const s=Fe(e)?e:this.language;if(typeof e=="function"&&(a=e),!this.options.resources||this.options.partialBundledLanguages){if((s==null?void 0:s.toLowerCase())==="cimode"&&(!this.options.preload||this.options.preload.length===0))return a();const u=[],d=h=>{if(!h||h==="cimode")return;this.services.languageUtils.toResolveHierarchy(h).forEach(p=>{p!=="cimode"&&(u.includes(p)||u.push(p))})};s?d(s):this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach(m=>d(m)),(l=(o=this.options.preload)==null?void 0:o.forEach)==null||l.call(o,h=>d(h)),this.services.backendConnector.load(u,this.options.ns,h=>{!h&&!this.resolvedLanguage&&this.language&&this.setResolvedLanguage(this.language),a(h)})}else a(null)}reloadResources(e,t,a){const s=fc();return typeof e=="function"&&(a=e,e=void 0),typeof t=="function"&&(a=t,t=void 0),e||(e=this.languages),t||(t=this.options.ns),a||(a=_d),this.services.backendConnector.reload(e,t,o=>{s.resolve(),a(o)}),s}use(e){if(!e)throw new Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(!e.type)throw new Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");return e.type==="backend"&&(this.modules.backend=e),(e.type==="logger"||e.log&&e.warn&&e.error)&&(this.modules.logger=e),e.type==="languageDetector"&&(this.modules.languageDetector=e),e.type==="i18nFormat"&&(this.modules.i18nFormat=e),e.type==="postProcessor"&&J3.addPostProcessor(e),e.type==="formatter"&&(this.modules.formatter=e),e.type==="3rdParty"&&this.modules.external.push(e),this}setResolvedLanguage(e){if(!(!e||!this.languages)&&!["cimode","dev"].includes(e)){for(let t=0;t<this.languages.length;t++){const a=this.languages[t];if(!["cimode","dev"].includes(a)&&this.store.hasLanguageSomeTranslations(a)){this.resolvedLanguage=a;break}}!this.resolvedLanguage&&!this.languages.includes(e)&&this.store.hasLanguageSomeTranslations(e)&&(this.resolvedLanguage=e,this.languages.unshift(e))}}changeLanguage(e,t){this.isLanguageChangingTo=e;const a=fc();this.emit("languageChanging",e);const s=u=>{this.language=u,this.languages=this.services.languageUtils.toResolveHierarchy(u),this.resolvedLanguage=void 0,this.setResolvedLanguage(u)},o=(u,d)=>{d?this.isLanguageChangingTo===e&&(s(d),this.translator.changeLanguage(d),this.isLanguageChangingTo=void 0,this.emit("languageChanged",d),this.logger.log("languageChanged",d)):this.isLanguageChangingTo=void 0,a.resolve((...h)=>this.t(...h)),t&&t(u,(...h)=>this.t(...h))},l=u=>{var m,p;!e&&!u&&this.services.languageDetector&&(u=[]);const d=Fe(u)?u:u&&u[0],h=this.store.hasLanguageSomeTranslations(d)?d:this.services.languageUtils.getBestMatchFromCodes(Fe(u)?[u]:u);h&&(this.language||s(h),this.translator.language||this.translator.changeLanguage(h),(p=(m=this.services.languageDetector)==null?void 0:m.cacheUserLanguage)==null||p.call(m,h)),this.loadResources(h,b=>{o(b,h)})};return!e&&this.services.languageDetector&&!this.services.languageDetector.async?l(this.services.languageDetector.detect()):!e&&this.services.languageDetector&&this.services.languageDetector.async?this.services.languageDetector.detect.length===0?this.services.languageDetector.detect().then(l):this.services.languageDetector.detect(l):l(e),a}getFixedT(e,t,a,s){const o=s==null?void 0:s.scopeNs,l=(u,d,...h)=>{let m;typeof d!="object"?m=this.options.overloadTranslationOptionHandler([u,d].concat(h)):m={...d},m.lng=m.lng||l.lng,m.lngs=m.lngs||l.lngs;const p=m.ns!==void 0&&m.ns!==null;m.ns=m.ns||l.ns,m.keyPrefix!==""&&(m.keyPrefix=m.keyPrefix||a||l.keyPrefix);const b={...this.options,...m};Array.isArray(o)&&!p&&(b.ns=o),typeof m.keyPrefix=="function"&&(m.keyPrefix=Yo(m.keyPrefix,b));const x=this.options.keySeparator||".";let k;return m.keyPrefix&&Array.isArray(u)?k=u.map(_=>(typeof _=="function"&&(_=Yo(_,b)),`${m.keyPrefix}${x}${_}`)):(typeof u=="function"&&(u=Yo(u,b)),k=m.keyPrefix?`${m.keyPrefix}${x}${u}`:u),this.t(k,m)};return Fe(e)?l.lng=e:l.lngs=e,l.ns=t,l.keyPrefix=a,l}t(...e){var t;return(t=this.translator)==null?void 0:t.translate(...e)}exists(...e){var t;return(t=this.translator)==null?void 0:t.exists(...e)}setDefaultNamespace(e){this.options.defaultNS=e}hasLoadedNamespace(e,t={}){if(!this.isInitialized)return this.logger.warn("hasLoadedNamespace: i18next was not initialized",this.languages),!1;if(!this.languages||!this.languages.length)return this.logger.warn("hasLoadedNamespace: i18n.languages were undefined or empty",this.languages),!1;const a=t.lng||this.resolvedLanguage||this.languages[0],s=this.options?this.options.fallbackLng:!1,o=this.languages[this.languages.length-1];if(a.toLowerCase()==="cimode")return!0;const l=(u,d)=>{const h=this.services.backendConnector.state[`${u}|${d}`];return h===-1||h===0||h===2};if(t.precheck){const u=t.precheck(this,l);if(u!==void 0)return u}return!!(this.hasResourceBundle(a,e)||!this.services.backendConnector.backend||this.options.resources&&!this.options.partialBundledLanguages||l(a,e)&&(!s||l(o,e)))}loadNamespaces(e,t){const a=fc();return this.options.ns?(Fe(e)&&(e=[e]),e.forEach(s=>{this.options.ns.includes(s)||this.options.ns.push(s)}),this.loadResources(s=>{a.resolve(),t&&t(s)}),a):(t&&t(),Promise.resolve())}loadLanguages(e,t){const a=fc();Fe(e)&&(e=[e]);const s=this.options.preload||[],o=e.filter(l=>!s.includes(l)&&this.services.languageUtils.isSupportedCode(l));return o.length?(this.options.preload=s.concat(o),this.loadResources(l=>{a.resolve(),t&&t(l)}),a):(t&&t(),Promise.resolve())}dir(e){var s,o;if(e||(e=this.resolvedLanguage||(((s=this.languages)==null?void 0:s.length)>0?this.languages[0]:this.language)),!e)return"rtl";try{const l=new Intl.Locale(e);if(l&&l.getTextInfo){const u=l.getTextInfo();if(u&&u.direction)return u.direction}}catch{}const t=["ar","shu","sqr","ssh","xaa","yhd","yud","aao","abh","abv","acm","acq","acw","acx","acy","adf","ads","aeb","aec","afb","ajp","apc","apd","arb","arq","ars","ary","arz","auz","avl","ayh","ayl","ayn","ayp","bbz","pga","he","iw","ps","pbt","pbu","pst","prp","prd","ug","ur","ydd","yds","yih","ji","yi","hbo","men","xmn","fa","jpr","peo","pes","prs","dv","sam","ckb"],a=((o=this.services)==null?void 0:o.languageUtils)||new Pb(Nm());return e.toLowerCase().indexOf("-latn")>1?"ltr":t.includes(a.getLanguagePartFromCode(e))||e.toLowerCase().indexOf("-arab")>1?"rtl":"ltr"}static createInstance(e={},t){const a=new Nc(e,t);return a.createInstance=Nc.createInstance,a}cloneInstance(e={},t=_d){const a=e.forkResourceStore;a&&delete e.forkResourceStore;const s={...this.options,...e,isClone:!0},o=new Nc(s);if((e.debug!==void 0||e.prefix!==void 0)&&(o.logger=o.logger.clone(e)),["store","services","language"].forEach(u=>{o[u]=this[u]}),o.services={...this.services},o.services.utils={hasLoadedNamespace:o.hasLoadedNamespace.bind(o)},a){const u=Object.keys(this.store.data).reduce((d,h)=>(d[h]={...this.store.data[h]},d[h]=Object.keys(d[h]).reduce((m,p)=>(m[p]={...d[h][p]},m),d[h]),d),{});o.store=new jb(u,s),o.services.resourceStore=o.store}if(e.interpolation){const d={...Nm().interpolation,...this.options.interpolation,...e.interpolation},h={...s,interpolation:d};o.services.interpolator=new Hb(h)}return o.translator=new c0(o.services,s),o.translator.on("*",(u,...d)=>{o.emit(u,...d)}),o.init(s,t),o.translator.options=s,o.translator.backendConnector.services.utils={hasLoadedNamespace:o.hasLoadedNamespace.bind(o)},o}toJSON(){return{options:this.options,store:this.store,language:this.language,languages:this.languages,resolvedLanguage:this.resolvedLanguage}}}const wn=Nc.createInstance();wn.createInstance;wn.dir;wn.init;wn.loadResources;wn.reloadResources;wn.use;wn.changeLanguage;wn.getFixedT;wn.t;wn.exists;wn.setDefaultNamespace;wn.hasLoadedNamespace;wn.loadNamespaces;wn.loadLanguages;const AS=(n,e,t,a)=>{var o,l,u,d;const s=[t,{code:e,...a||{}}];if((l=(o=n==null?void 0:n.services)==null?void 0:o.logger)!=null&&l.forward)return n.services.logger.forward(s,"warn","react-i18next::",!0);Gi(s[0])&&(s[0]=`react-i18next:: ${s[0]}`),(d=(u=n==null?void 0:n.services)==null?void 0:u.logger)!=null&&d.warn?n.services.logger.warn(...s):console!=null&&console.warn&&console.warn(...s)},Gb={},Lp=(n,e,t,a)=>{Gi(t)&&Gb[t]||(Gi(t)&&(Gb[t]=new Date),AS(n,e,t,a))},tx=(n,e)=>()=>{if(n.isInitialized)e();else{const t=()=>{setTimeout(()=>{n.off("initialized",t)},0),e()};n.on("initialized",t)}},Bp=(n,e,t)=>{n.loadNamespaces(e,tx(n,t))},qb=(n,e,t,a)=>{if(Gi(t)&&(t=[t]),n.options.preload&&n.options.preload.indexOf(e)>-1)return Bp(n,t,a);t.forEach(s=>{n.options.ns.indexOf(s)<0&&n.options.ns.push(s)}),n.loadLanguages(e,tx(n,a))},ES=(n,e,t={})=>!e.languages||!e.languages.length?(Lp(e,"NO_LANGUAGES","i18n.languages were undefined or empty",{languages:e.languages}),!0):e.hasLoadedNamespace(n,{lng:t.lng,precheck:(a,s)=>{if(t.bindI18n&&t.bindI18n.indexOf("languageChanging")>-1&&a.services.backendConnector.backend&&a.isLanguageChangingTo&&!s(a.isLanguageChangingTo,n))return!1}}),Gi=n=>typeof n=="string",NS=n=>typeof n=="object"&&n!==null,MS=/&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g,RS={"&":"&","&":"&","<":"<","<":"<",">":">",">":">","'":"'","'":"'",""":'"',""":'"'," ":" "," ":" ","©":"©","©":"©","®":"®","®":"®","…":"…","…":"…","/":"/","/":"/"},DS=n=>RS[n],OS=n=>n.replace(MS,DS);let jp={bindI18n:"languageChanged",bindI18nStore:"",transEmptyNodeValue:"",transSupportBasicHtmlNodes:!0,transWrapTextNodes:"",transKeepBasicHtmlNodesFor:["br","strong","i","p"],useSuspense:!0,unescape:OS,transDefaultProps:void 0};const LS=(n={})=>{jp={...jp,...n}},BS=()=>jp;let nx;const jS=n=>{nx=n},PS=()=>nx,IS={type:"3rdParty",init(n){LS(n.options.react),jS(n)}},zS=D.createContext();class $S{constructor(){this.usedNamespaces={}}addUsedNamespaces(e){e.forEach(t=>{this.usedNamespaces[t]||(this.usedNamespaces[t]=!0)})}getUsedNamespaces(){return Object.keys(this.usedNamespaces)}}var HS=Qk();const US=(n,e)=>{if(Gi(e))return e;if(NS(e)&&Gi(e.defaultValue))return e.defaultValue;if(typeof n=="function")return"";if(Array.isArray(n)){const t=n[n.length-1];return typeof t=="function"?"":t}return n},FS={t:US,ready:!1},GS=()=>()=>{},kt=(n,e={})=>{var J,be,Le;const{i18n:t}=e,{i18n:a,defaultNS:s}=D.useContext(zS)||{},o=t||a||PS();o&&!o.reportNamespaces&&(o.reportNamespaces=new $S),o||Lp(o,"NO_I18NEXT_INSTANCE","useTranslation: You will need to pass in an i18next instance by using initReactI18next");const l=D.useMemo(()=>{var fe;return{...BS(),...(fe=o==null?void 0:o.options)==null?void 0:fe.react,...e}},[o,e]),{useSuspense:u,keyPrefix:d}=l,h=n||s||((J=o==null?void 0:o.options)==null?void 0:J.defaultNS),m=Gi(h)?[h]:h||["translation"],p=D.useMemo(()=>m,m);(Le=(be=o==null?void 0:o.reportNamespaces)==null?void 0:be.addUsedNamespaces)==null||Le.call(be,p);const b=D.useRef(0),x=D.useCallback(fe=>{if(!o)return GS;const{bindI18n:se,bindI18nStore:ge}=l,xe=()=>{b.current+=1,fe()};return se&&o.on(se,xe),ge&&o.store.on(ge,xe),()=>{se&&se.split(" ").forEach(G=>o.off(G,xe)),ge&&ge.split(" ").forEach(G=>o.store.off(G,xe))}},[o,l]),k=D.useRef(),_=D.useCallback(()=>{if(!o)return FS;const fe=!!(o.isInitialized||o.initializedStoreOnce)&&p.every(re=>ES(re,o,l)),se=e.lng||o.language,ge=b.current,xe=k.current;if(xe&&xe.ready===fe&&xe.lng===se&&xe.keyPrefix===d&&xe.revision===ge)return xe;const le={t:o.getFixedT(se,l.nsMode==="fallback"?p:p[0],d,{scopeNs:p}),ready:fe,lng:se,keyPrefix:d,revision:ge};return k.current=le,le},[o,p,d,l,e.lng]),[T,N]=D.useState(0),{t:E,ready:L}=HS.useSyncExternalStore(x,_,_);D.useEffect(()=>{if(o&&!L&&!u){const fe=()=>N(se=>se+1);e.lng?qb(o,e.lng,p,fe):Bp(o,p,fe)}},[o,e.lng,p,L,u,T]);const B=o||{},j=D.useRef(null),q=D.useRef(),K=fe=>{const se=Object.getOwnPropertyDescriptors(fe);se.__original&&delete se.__original;const ge=Object.create(Object.getPrototypeOf(fe),se);if(!Object.prototype.hasOwnProperty.call(ge,"__original"))try{Object.defineProperty(ge,"__original",{value:fe,writable:!1,enumerable:!1,configurable:!1})}catch{}return ge},te=D.useMemo(()=>{const fe=B,se=fe==null?void 0:fe.language;let ge=fe;fe&&(j.current&&j.current.__original===fe?q.current!==se?(ge=K(fe),j.current=ge,q.current=se):ge=j.current:(ge=K(fe),j.current=ge,q.current=se));const xe=!L&&!u?(...le)=>(Lp(o,"USE_T_BEFORE_READY","useTranslation: t was called before ready. When using useSuspense: false, make sure to check the ready flag before using t."),E(...le)):E,G=[xe,ge,L];return G.t=xe,G.i18n=ge,G.ready=L,G},[E,B,L,B.resolvedLanguage,B.language,B.languages]);if(o&&u&&!L)throw new Promise(fe=>{const se=()=>fe();e.lng?qb(o,e.lng,p,se):Bp(o,p,se)});return te},qS={};function VS(n,e){let t;try{t=n()}catch{return}return{getItem:s=>{var o;const l=d=>d===null?null:JSON.parse(d,void 0),u=(o=t.getItem(s))!=null?o:null;return u instanceof Promise?u.then(l):l(u)},setItem:(s,o)=>t.setItem(s,JSON.stringify(o,void 0)),removeItem:s=>t.removeItem(s)}}const Hc=n=>e=>{try{const t=n(e);return t instanceof Promise?t:{then(a){return Hc(a)(t)},catch(a){return this}}}catch(t){return{then(a){return this},catch(a){return Hc(a)(t)}}}},WS=(n,e)=>(t,a,s)=>{let o={getStorage:()=>localStorage,serialize:JSON.stringify,deserialize:JSON.parse,partialize:T=>T,version:0,merge:(T,N)=>({...N,...T}),...e},l=!1;const u=new Set,d=new Set;let h;try{h=o.getStorage()}catch{}if(!h)return n((...T)=>{console.warn(`[zustand persist middleware] Unable to update item '${o.name}', the given storage is currently unavailable.`),t(...T)},a,s);const m=Hc(o.serialize),p=()=>{const T=o.partialize({...a()});let N;const E=m({state:T,version:o.version}).then(L=>h.setItem(o.name,L)).catch(L=>{N=L});if(N)throw N;return E},b=s.setState;s.setState=(T,N)=>{b(T,N),p()};const x=n((...T)=>{t(...T),p()},a,s);let k;const _=()=>{var T;if(!h)return;l=!1,u.forEach(E=>E(a()));const N=((T=o.onRehydrateStorage)==null?void 0:T.call(o,a()))||void 0;return Hc(h.getItem.bind(h))(o.name).then(E=>{if(E)return o.deserialize(E)}).then(E=>{if(E)if(typeof E.version=="number"&&E.version!==o.version){if(o.migrate)return o.migrate(E.state,E.version);console.error("State loaded from storage couldn't be migrated since no migrate function was provided")}else return E.state}).then(E=>{var L;return k=o.merge(E,(L=a())!=null?L:x),t(k,!0),p()}).then(()=>{N==null||N(k,void 0),l=!0,d.forEach(E=>E(k))}).catch(E=>{N==null||N(void 0,E)})};return s.persist={setOptions:T=>{o={...o,...T},T.getStorage&&(h=T.getStorage())},clearStorage:()=>{h==null||h.removeItem(o.name)},getOptions:()=>o,rehydrate:()=>_(),hasHydrated:()=>l,onHydrate:T=>(u.add(T),()=>{u.delete(T)}),onFinishHydration:T=>(d.add(T),()=>{d.delete(T)})},_(),k||x},KS=(n,e)=>(t,a,s)=>{let o={storage:VS(()=>localStorage),partialize:_=>_,version:0,merge:(_,T)=>({...T,..._}),...e},l=!1;const u=new Set,d=new Set;let h=o.storage;if(!h)return n((..._)=>{console.warn(`[zustand persist middleware] Unable to update item '${o.name}', the given storage is currently unavailable.`),t(..._)},a,s);const m=()=>{const _=o.partialize({...a()});return h.setItem(o.name,{state:_,version:o.version})},p=s.setState;s.setState=(_,T)=>{p(_,T),m()};const b=n((..._)=>{t(..._),m()},a,s);s.getInitialState=()=>b;let x;const k=()=>{var _,T;if(!h)return;l=!1,u.forEach(E=>{var L;return E((L=a())!=null?L:b)});const N=((T=o.onRehydrateStorage)==null?void 0:T.call(o,(_=a())!=null?_:b))||void 0;return Hc(h.getItem.bind(h))(o.name).then(E=>{if(E)if(typeof E.version=="number"&&E.version!==o.version){if(o.migrate)return[!0,o.migrate(E.state,E.version)];console.error("State loaded from storage couldn't be migrated since no migrate function was provided")}else return[!1,E.state];return[!1,void 0]}).then(E=>{var L;const[B,j]=E;if(x=o.merge(j,(L=a())!=null?L:b),t(x,!0),B)return m()}).then(()=>{N==null||N(x,void 0),x=a(),l=!0,d.forEach(E=>E(x))}).catch(E=>{N==null||N(void 0,E)})};return s.persist={setOptions:_=>{o={...o,..._},_.storage&&(h=_.storage)},clearStorage:()=>{h==null||h.removeItem(o.name)},getOptions:()=>o,rehydrate:()=>k(),hasHydrated:()=>l,onHydrate:_=>(u.add(_),()=>{u.delete(_)}),onFinishHydration:_=>(d.add(_),()=>{d.delete(_)})},o.skipHydration||k(),x||b},YS=(n,e)=>"getStorage"in e||"serialize"in e||"deserialize"in e?((qS?"production":void 0)!=="production"&&console.warn("[DEPRECATED] `getStorage`, `serialize` and `deserialize` options are deprecated. Use `storage` option instead."),WS(n,e)):KS(n,e),oi=YS;let Vb=!1;function yr(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():(Vb||(Vb=!0,console.warn("[uuid] crypto.randomUUID unavailable (non-secure context) — using Math.random fallback")),"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,n=>{const e=Math.random()*16|0;return(n==="x"?e:e&3|8).toString(16)}))}const ZS=4e3,Pi=new Map;function Wb(n,e){const t=Pi.get(n);t&&clearTimeout(t),!(e<=0)&&Pi.set(n,setTimeout(()=>{Pi.delete(n),is.setState(a=>({toasts:a.toasts.filter(s=>s.id!==n)}))},e))}const is=An(n=>({toasts:[],addToast:(e,t,a)=>{const s=a??ZS;n(o=>{const l=o.toasts.find(h=>h.type===e&&h.message===t);if(l)return Wb(l.id,s),{toasts:o.toasts.map(h=>h.id===l.id?{...h,count:h.count+1,createdAt:Date.now()}:h)};const u=`toast-${Date.now()}-${Math.random().toString(36).slice(2,7)}`;Wb(u,s);const d={id:u,type:e,message:t,duration:s,createdAt:Date.now(),count:1};return{toasts:[...o.toasts,d].slice(-10)}})},dismissToast:e=>{const t=Pi.get(e);t&&(clearTimeout(t),Pi.delete(e)),n(a=>({toasts:a.toasts.filter(s=>s.id!==e)}))},clearAll:()=>{for(const e of Pi.values())clearTimeout(e);Pi.clear(),n({toasts:[]})}})),Ye={info:(n,e)=>is.getState().addToast("info",n,e),success:(n,e)=>is.getState().addToast("success",n,e),warning:(n,e)=>is.getState().addToast("warning",n,e),error:(n,e)=>is.getState().addToast("error",n,e??6e3)},qo=24;function Zd(n){if(n.preview){const s=String(n.preview).replace(/\s+/g," ").trim();return s.length>qo?s.slice(0,qo)+"…":s}const e=Ve.getState().getMessages(n.id);if(!e||e.length===0)return"";const t=e.find(s=>s.type==="user"&&!s.deleted)||e.find(s=>!s.deleted)||e[0],a=String((t==null?void 0:t.content)||"").replace(/\s+/g," ").trim();return a?a.length>qo?a.slice(0,qo)+"…":a:""}function ax(n,e){if(!e)return!1;const t=n.replace(/\s+/g," ").replace(/\.\.\.$/,"");return t?!e.startsWith(t):!0}const XS=3e4;function Zg(n){let e=0;function t(l,u){try{return localStorage.setItem(l,JSON.stringify(u)),e=0,!0}catch{return!1}}return{getItem:l=>{const u=localStorage.getItem(l);if(!u)return null;try{const d=JSON.parse(u);return d&&typeof d=="object"&&"state"in d?d:{state:d,version:0}}catch{return null}},setItem:(l,u)=>{var m;if(t(l,u))return;let d=u;for(const p of n.trims??[]){try{d=p(d)}catch{continue}if(t(l,d))return}const h=Date.now();if(h-e>XS){e=h;const p=new Error(`localStorage 配额已满或不可用(${n.key}),已降级为仅内存持久化,刷新页面将丢失部分历史。`);console.warn(`[${n.key}] 持久化失败:`,p);try{(m=n.onFailure)==null||m.call(n,p)}catch{}}},removeItem:l=>{try{localStorage.removeItem(l)}catch{}}}}const Pp=6,rx=50,Kb=50;let Yb=0,Zb=0;function QS(){const n=Date.now();n!==Zb&&(Zb=n,Yb=0);const e=(++Yb).toString(36),t=Math.random().toString(36).slice(2,6);return`s_${n.toString(36)}${e}${t}`}const JS=100,hc=2e3,mc=(n,e)=>n&&(n.length>e?`${n.slice(0,e)}…`:n),sx=n=>{const{logs:e,...t}=n;return{...t,description:mc(t.description,hc),result:mc(t.result,hc),error:mc(t.error,hc),stepPrompt:mc(t.stepPrompt,hc),context:t.context?Object.fromEntries(Object.entries(t.context).map(([a,s])=>[a,mc(s,hc)??""])):void 0,children:t.children?t.children.map(sx):void 0}},Xd=n=>[...n].sort((e,t)=>(t.lastActiveAt??t.createdAt??0)-(e.lastActiveAt??e.createdAt??0));function Mm(n,e){const t=new Set(n.map(u=>u.id)),a=[],s=new Set,o=Math.max(0,rx-n.length);let l=0;for(const u of Xd(e)){if(t.has(u.id)){a.push(u);continue}if(l>=o){s.add(u.id);continue}a.push(u),l++}return{history:a,droppedIds:s}}function Xb(n,e,t,a){return a.size===0?{sessions:n,tasksBySession:e,sessionWorkspaceDirs:t}:{sessions:n.filter(s=>!a.has(s.id)),tasksBySession:Object.fromEntries(Object.entries(e).filter(([s])=>!a.has(s))),sessionWorkspaceDirs:Object.fromEntries(Object.entries(t).filter(([s])=>!a.has(s)))}}const We=An()(oi((n,e)=>({sessions:[],activeSessionId:null,sessionTabs:[],layout:"single",sessionWorkspaceDirs:{},tasksBySession:{},historySessions:[],addSession:t=>n(a=>({sessions:[t,...a.sessions].slice(0,Kb),activeSessionId:t.id})),removeSession:t=>n(a=>{var s;return{sessions:a.sessions.filter(o=>o.id!==t),activeSessionId:a.activeSessionId===t?((s=a.sessions[0])==null?void 0:s.id)||null:a.activeSessionId}}),updateSession:(t,a)=>n(s=>({sessions:s.sessions.map(o=>o.id===t?{...o,...a}:o)})),setActiveSession:t=>n({activeSessionId:t}),setSessionWorkspaceDir:(t,a)=>n(s=>({sessionWorkspaceDirs:{...s.sessionWorkspaceDirs,[t]:a}})),getSessionWorkspaceDir:t=>e().sessionWorkspaceDirs[t]||"",addSessionTab:(t,a)=>{const s=e();if(s.sessionTabs.length>=Pp){const k=s.sessionTabs.reduce((_,T)=>_.createdAt<T.createdAt?_:T);e().closeSessionTab(k.id)}const o=QS(),l=a&&a.split(/[\\/]/).filter(Boolean).pop()||void 0,u={id:o,title:t||`对话 ${s.sessionTabs.length+1}`,createdAt:Date.now(),lastActiveAt:Date.now(),project:l,status:"done"},d={id:o,title:t||`对话 ${s.sessionTabs.length+1}`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),messageCount:0},h={...s.sessionWorkspaceDirs};a&&(h[o]=a);const m={...s.tasksBySession};m[o]||(m[o]=[]);const p=Xd([u,...s.sessionTabs]),b=Mm(p,[u,...s.historySessions.filter(k=>k.id!==o)]),x=Xb([...s.sessions,d].slice(-Kb),m,h,b.droppedIds);return n({sessionTabs:p,sessions:x.sessions,sessionWorkspaceDirs:x.sessionWorkspaceDirs,tasksBySession:x.tasksBySession,activeSessionId:o,historySessions:b.history}),o},closeSessionTab:t=>{var m;const a=e(),s=a.sessionTabs.find(p=>p.id===t),o=a.sessionTabs.filter(p=>p.id!==t);if(o.length===0)return;let l=a.historySessions;s&&(l=[s,...l.filter(p=>p.id!==t)]);const u=Mm(o,l),d=Xb(a.sessions,a.tasksBySession,a.sessionWorkspaceDirs,u.droppedIds),h=o[o.length-1];n({sessionTabs:o,historySessions:u.history,sessions:d.sessions,tasksBySession:d.tasksBySession,sessionWorkspaceDirs:d.sessionWorkspaceDirs,activeSessionId:a.activeSessionId===t?h?h.id:((m=o[0])==null?void 0:m.id)||null:a.activeSessionId})},renameSessionTab:(t,a)=>n(s=>({sessionTabs:s.sessionTabs.map(o=>o.id===t?{...o,title:a}:o),sessions:s.sessions.map(o=>o.id===t?{...o,title:a,updatedAt:new Date().toISOString()}:o),historySessions:s.historySessions.map(o=>o.id===t?{...o,title:a}:o)})),getActiveSessionTab:()=>{const t=e();return t.sessionTabs.find(a=>a.id===t.activeSessionId)||null},getVisibleSessionTabs:()=>{const t=e(),a=t.sessionTabs.find(s=>s.id===t.activeSessionId);return a?[a]:t.sessionTabs.slice(0,1)},addSessionTask:(t,a,s,o)=>n(l=>{const u=l.tasksBySession[t]||[],d={id:`session-task-${Date.now()}-${Math.random().toString(36).slice(2,6)}`,title:a.trim(),completed:!1,createdAt:Date.now(),backendId:s,description:o};return{tasksBySession:{...l.tasksBySession,[t]:[...u,d]}}}),toggleSessionTask:(t,a)=>n(s=>{const o=s.tasksBySession[t]||[];return{tasksBySession:{...s.tasksBySession,[t]:o.map(l=>l.id===a?{...l,completed:!l.completed}:l)}}}),removeSessionTask:(t,a)=>n(s=>({tasksBySession:{...s.tasksBySession,[t]:(s.tasksBySession[t]||[]).filter(o=>o.id!==a)}})),updateSessionTask:(t,a,s)=>n(o=>{const l=o.tasksBySession[t]||[];return{tasksBySession:{...o.tasksBySession,[t]:l.map(u=>u.id===a?{...u,title:s.trim()}:u)}}}),getSessionTasks:t=>e().tasksBySession[t]||[],setSessionTasks:(t,a)=>n(s=>({tasksBySession:{...s.tasksBySession,[t]:a}})),updateTaskPlanStatus:(t,a,s)=>n(o=>{const l=o.tasksBySession[t]||[];return{tasksBySession:{...o.tasksBySession,[t]:l.map(u=>u.id===a?{...u,...s}:u)}}}),autoNameSession:(t,a)=>{const o=e().sessionTabs.find(d=>d.id===t);if(!o||!/^对话 \d+$/.test(o.title))return;const l=a.replace(/\s+/g," ").trim(),u=l.slice(0,20)+(l.length>20?"...":"");u&&e().renameSessionTab(t,u)},updateSessionStatus:(t,a)=>n(s=>({sessionTabs:s.sessionTabs.map(o=>o.id===t?{...o,status:a}:o)})),touchSession:(t,a)=>n(s=>{const o=Date.now();let l;if(a){const d=a.replace(/\s+/g," ").trim();l=d.length>qo?d.slice(0,qo)+"…":d}const u=d=>({...d,lastActiveAt:o,...l&&!d.preview?{preview:l}:{}});return{sessionTabs:Xd(s.sessionTabs.map(d=>d.id===t?u(d):d)),sessions:s.sessions.map(d=>d.id===t?{...d,updatedAt:new Date(o).toISOString()}:d),historySessions:s.historySessions.map(d=>d.id===t?u(d):d)}}),getHistorySessions:()=>e().historySessions,restoreHistorySession:t=>{const a=e(),s=a.historySessions.find(d=>d.id===t);if(!s)return;const o=a.historySessions.filter(d=>d.id!==t);if(a.sessionTabs.some(d=>d.id===t)){n({historySessions:o,activeSessionId:t});return}let l=a.sessionTabs;if(l.length>=Pp){const d=l.reduce((h,m)=>h.createdAt<m.createdAt?h:m);l=l.filter(h=>h.id!==d.id),o.unshift(d)}const u=Xd([s,...l]);n({sessionTabs:u,historySessions:Mm(u,o).history,activeSessionId:t})},clearHistorySessions:()=>n({historySessions:[]}),removeHistorySession:t=>n(a=>({historySessions:a.historySessions.filter(s=>s.id!==t)}))}),{name:"deepseekcode-session-storage",storage:Zg({key:"sessionStore",trims:[n=>({...n,state:{...n.state,tasksBySession:Object.fromEntries(Object.entries(n.state.tasksBySession).map(([e,t])=>[e,t.map(a=>({id:a.id,title:a.title,completed:a.completed,createdAt:a.createdAt,planStatus:a.planStatus,backendId:a.backendId,backendStatus:a.backendStatus,agentType:a.agentType,progress:a.progress}))]))}}),n=>{const e=new Set([...n.state.sessionTabs.map(t=>t.id),...n.state.historySessions.map(t=>t.id)]);return n.state.activeSessionId&&e.add(n.state.activeSessionId),{...n,state:{...n.state,tasksBySession:Object.fromEntries(Object.entries(n.state.tasksBySession).filter(([t])=>e.has(t)))}}},n=>({...n,state:{...n.state,tasksBySession:{}}})],onFailure:()=>{try{is.getState().addToast("warning","会话数据保存失败:浏览器本地存储已满或不可用。当前数据仅保留在内存中,刷新页面将丢失,建议清理旧会话或导出数据。",8e3)}catch{}}}),partialize:n=>{const e=new Set;for(const s of n.sessionTabs)e.add(s.id);for(const s of n.historySessions)e.add(s.id);n.activeSessionId&&e.add(n.activeSessionId);const t=n.sessions.filter(s=>e.has(s.id)),a={};for(const[s,o]of Object.entries(n.tasksBySession))e.has(s)&&(a[s]=o.slice(0,JS).map(sx));return{sessions:t,sessionTabs:n.sessionTabs,activeSessionId:n.activeSessionId,layout:n.layout,sessionWorkspaceDirs:n.sessionWorkspaceDirs,tasksBySession:a,historySessions:n.historySessions}}})),e_="deepseekcode-chat-store",t_=500,n_=3e4,a_=2e4,u0=4e3;let mr=null,Rm=0,Mc=null;const Rc=(n,e)=>!n||n.length<=e?n:n.slice(0,e)+"…",Qb=n=>({...n,args:typeof n.args=="string"?Rc(n.args,u0)??n.args:n.args,result:typeof n.result=="string"?Rc(n.result,u0)??n.result:n.result}),r_=n=>{const e={...n,thinkingBlocks:void 0,content:Rc(n.content,a_)??n.content};return n.steps&&(e.steps=n.steps.map(t=>{var a;return{...t,thought:Rc(t.thought,u0),result:Rc(t.result,u0),toolCalls:(a=t.toolCalls)==null?void 0:a.map(Qb)}})),n.toolCalls&&(e.toolCalls=n.toolCalls.map(Qb)),e},s_=[n=>{const e=We.getState(),t=new Set;for(const s of e.sessionTabs)t.add(s.id);for(const s of e.historySessions)t.add(s.id);e.activeSessionId&&t.add(e.activeSessionId);const a={};for(const[s,o]of Object.entries(n.state.messagesBySession||{}))t.has(s)&&Array.isArray(o)&&o.length>0&&(a[s]=o);return{...n,state:{...n.state,messagesBySession:a}}},n=>{const e={};for(const[t,a]of Object.entries(n.state.messagesBySession||{}))e[t]=(Array.isArray(a)?a:[]).slice(-60).map(r_);return{...n,state:{...n.state,messagesBySession:e}}},n=>{const e=We.getState().activeSessionId||"",t=(n.state.messagesBySession||{})[e]||[],a=(Array.isArray(t)?t:[]).slice(-30).map(s=>({id:s.id,type:s.type,content:s.content,timestamp:s.timestamp,...s.thinking?{thinking:s.thinking}:{}}));return{...n,state:{...n.state,messagesBySession:e?{[e]:a}:{}}}}];function ix(n,e){const t=o=>{try{return localStorage.setItem(n,JSON.stringify(o)),Rm=0,!0}catch{return!1}};if(t(e))return;let a=e;for(const o of s_){try{a=o(a)}catch{continue}if(t(a))return}const s=Date.now();if(s-Rm>n_){Rm=s,console.error("[chatStore] localStorage 持久化失败,刷新页面将丢失历史消息:",new Error("quota exceeded or storage unavailable"));try{is.getState().addToast("warning","聊天记录保存失败:浏览器本地存储已满或不可用。刷新页面将丢失历史消息,建议导出会话或清理旧会话。",8e3)}catch{}}}function i_(){mr&&(clearTimeout(mr),mr=null);const n=Mc;Mc=null,n&&ix(n.name,n.value)}const o_={getItem:n=>{const e=localStorage.getItem(n);if(!e)return null;try{const t=JSON.parse(e);return t&&typeof t=="object"&&"state"in t?t:{state:t,version:0}}catch{return null}},setItem:(n,e)=>{Mc={name:n,value:e},mr&&clearTimeout(mr),mr=setTimeout(()=>{mr=null,Mc=null,ix(n,e)},t_)},removeItem:n=>{Mc=null,mr&&(clearTimeout(mr),mr=null);try{localStorage.removeItem(n)}catch{}}};if(typeof window<"u"){const n=()=>i_();window.addEventListener("pagehide",n),window.addEventListener("beforeunload",n)}function Jb(n,e,t){const a=n.thinkingBlocks?n.thinkingBlocks.map(s=>({...s})):n.thinking?[{index:Number.MIN_SAFE_INTEGER,text:n.thinking}]:[];if(typeof t=="number"){const s=a.find(o=>o.index===t);s?s.text+=e:a.push({index:t,text:e})}else if(a.length>0){const s=a.length-1,o=a[s];o?a[s]={...o,text:o.text+e}:a.push({index:0,text:e})}else a.push({index:0,text:e});return a.sort((s,o)=>s.index-o.index),{...n,thinkingBlocks:a,thinking:a.map(s=>s.text).join("")}}const Ve=An()(oi((n,e)=>({messagesBySession:{},generatingSessions:[],pausedSessions:[],sessionInputs:{},getMessages:t=>e().messagesBySession[t]||[],replaceMessages:(t,a)=>n(s=>({messagesBySession:{...s.messagesBySession,[t]:a.slice(-200)}})),addMessage:(t,a)=>n(s=>{const l=[...s.messagesBySession[t]||[],a].slice(-200);return{messagesBySession:{...s.messagesBySession,[t]:l}}}),updateLastMessage:(t,a)=>n(s=>{const o=(s.messagesBySession[t]||[]).map((l,u,d)=>u===d.length-1&&l.type==="assistant"?{...l,content:a}:l);return{messagesBySession:{...s.messagesBySession,[t]:o}}}),appendToLastMessage:(t,a)=>n(s=>{const o=s.messagesBySession[t];if(!o||o.length===0)return s;const l=o.length-1,u=o[l];if(u&&u.type==="assistant"){const d=o.slice();return d[l]={...u,content:u.content+a},{messagesBySession:{...s.messagesBySession,[t]:d}}}return{messagesBySession:{...s.messagesBySession,[t]:[...o,{id:yr(),type:"assistant",content:a,timestamp:Date.now()}].slice(-200)}}}),setThinking:(t,a)=>n(s=>{const o=(s.messagesBySession[t]||[]).map((l,u,d)=>{var m;if(u!==d.length-1||l.type!=="assistant")return l;const h=(m=l.steps)==null?void 0:m.findIndex(p=>p.status==="running");if(h!==void 0&&h!==-1&&l.steps&&l.steps[h]){const p=l.steps.map((b,x)=>x===h?{...b,thought:a}:b);return{...l,steps:p}}return{...l,thinking:a,thinkingBlocks:a?[{index:0,text:a}]:[]}});return{messagesBySession:{...s.messagesBySession,[t]:o}}}),appendToLastMessageThinking:(t,a,s)=>n(o=>{var b,x;const l=o.messagesBySession[t];if(!l||l.length===0)return o;const u=l.length-1,d=l[u];if(!d||d.type!=="assistant")return{messagesBySession:{...o.messagesBySession,[t]:[...l,Jb({id:yr(),type:"assistant",content:"",timestamp:Date.now()},a,s)].slice(-200)}};let h;const m=(b=d.steps)==null?void 0:b.findIndex(k=>k.status==="running");if(m!==void 0&&m!==-1&&((x=d.steps)!=null&&x[m])){const k=d.steps.slice(),_=k[m];k[m]={..._,thought:(_.thought||"")+a},h={...d,steps:k}}else if(d.steps&&d.steps.length>0){const k=d.steps.length-1,_=d.steps.slice(),T=_[k];_[k]={...T,thought:(T.thought||"")+a},h={...d,steps:_}}else h=Jb(d,a,s);const p=l.slice();return p[u]=h,{messagesBySession:{...o.messagesBySession,[t]:p}}}),addStep:(t,a)=>n(s=>{const o=(s.messagesBySession[t]||[]).map((l,u,d)=>{var b,x;if(u!==d.length-1||l.type!=="assistant")return l;const h=(b=l.toolCalls)==null?void 0:b.filter(k=>{var _;return!((_=l.steps)!=null&&_.some(T=>{var N;return(N=T.toolCalls)==null?void 0:N.some(E=>E.id===k.id)}))}),m={...a};h!=null&&h.length&&(m.toolCalls=[...m.toolCalls||[],...h]);let p=l.thinking||"";return p.trim().length>0&&(m.thought=(m.thought||"")+p,p=""),{...l,thinking:p,thinkingBlocks:[],toolCalls:h!=null&&h.length?(x=l.toolCalls)==null?void 0:x.filter(k=>!h.some(_=>_.id===k.id)):l.toolCalls,steps:[...l.steps||[],m]}});return{messagesBySession:{...s.messagesBySession,[t]:o}}}),updateStep:(t,a,s)=>n(o=>{const l=(o.messagesBySession[t]||[]).map((u,d,h)=>{if(d!==h.length-1||!u.steps)return u;const m=u.steps.findIndex(b=>b.id===a);if(m===-1)return u;const p=u.steps.map((b,x)=>x===m?{...b,...s}:b);return{...u,steps:p}});return{messagesBySession:{...o.messagesBySession,[t]:l}}}),addToolCall:(t,a)=>n(s=>{const o=(s.messagesBySession[t]||[]).map((l,u,d)=>{var m;if(u!==d.length-1||l.type!=="assistant")return l;const h=(m=l.steps)==null?void 0:m.findIndex(p=>p.status==="running");if(h!==void 0&&h!==-1&&l.steps&&l.steps[h]){const p=l.steps.map((b,x)=>x===h?{...b,toolCalls:[...b.toolCalls||[],a]}:b);return{...l,steps:p}}if(l.steps&&l.steps.length>0){const p=l.steps.length-1,b=l.steps.map((x,k)=>k===p?{...x,toolCalls:[...x.toolCalls||[],a]}:x);return{...l,steps:b}}return{...l,toolCalls:[...l.toolCalls||[],a]}});return{messagesBySession:{...s.messagesBySession,[t]:o}}}),updateToolCall:(t,a,s)=>n(o=>{const l=d=>{if(!d)return null;const h=d.findIndex(m=>m.id===a);return h===-1?null:d.map((m,p)=>p===h?{...m,...s}:m)},u=(o.messagesBySession[t]||[]).map((d,h,m)=>{var x,k;if(h!==m.length-1||d.type!=="assistant")return d;const p=(x=d.steps)==null?void 0:x.findIndex(_=>_.status==="running");if(p!==void 0&&p!==-1&&d.steps&&d.steps[p]){const _=l((k=d.steps[p])==null?void 0:k.toolCalls);if(_){const T=d.steps.map((N,E)=>E===p?{...N,toolCalls:_}:N);return{...d,steps:T}}}if(d.steps){let _=!1;const T=d.steps.map(N=>{if(_)return N;const E=l(N.toolCalls);return E?(_=!0,{...N,toolCalls:E}):N});if(_)return{...d,steps:T}}const b=l(d.toolCalls);return b?{...d,toolCalls:b}:d});return{messagesBySession:{...o.messagesBySession,[t]:u}}}),appendToLastToolCallArgs:(t,a,s,o)=>n(l=>{const u=m=>{let p=m.args;if(typeof p=="string")p=p+s;else if(typeof p=="object"&&p!==null){const b=s.trim();if(b.startsWith("{")&&b.endsWith("}"))try{const x=JSON.parse(b);typeof p=="string"?p={...x}:p={...p,...x}}catch{p=JSON.stringify(p).slice(0,-1)+","+b.slice(1)}else typeof p=="string"?p=p+b:p=JSON.stringify(p)+b}else p=s;return{...m,args:p}},d=m=>{if(!m)return null;const p=m.findIndex(b=>o!==void 0&&b.index===o||b.id===a);return p===-1?null:m.map((b,x)=>x===p?u(b):b)},h=(l.messagesBySession[t]||[]).map((m,p,b)=>{var _,T;if(p!==b.length-1||m.type!=="assistant")return m;const x=(_=m.steps)==null?void 0:_.findIndex(N=>N.status==="running");if(x!==void 0&&x!==-1&&m.steps&&m.steps[x]){const N=d((T=m.steps[x])==null?void 0:T.toolCalls);if(N){const E=m.steps.map((L,B)=>B===x?{...L,toolCalls:N}:L);return{...m,steps:E}}}if(m.steps){let N=!1;const E=m.steps.map(L=>{if(N)return L;const B=d(L.toolCalls);return B?(N=!0,{...L,toolCalls:B}):L});if(N)return{...m,steps:E}}const k=d(m.toolCalls);return k?{...m,toolCalls:k}:m});return{messagesBySession:{...l.messagesBySession,[t]:h}}}),startGeneration:t=>n(a=>({generatingSessions:a.generatingSessions.includes(t)?a.generatingSessions:[...a.generatingSessions,t]})),endGeneration:(t,a)=>n(s=>{var h,m,p;const o=s.messagesBySession[t]||[],l=Date.now(),u=o.map(b=>{var T,N;let x=!1;const k=(T=b.steps)==null?void 0:T.map(E=>{if(!E.toolCalls)return E;const L=E.toolCalls.map(B=>B.status!=="running"?B:(x=!0,{...B,status:"error",result:"生成已结束(工具执行超时或连接中断)",duration:Math.floor((l-(B.timestamp||l))/1e3)}));return L!==E.toolCalls?{...E,toolCalls:L}:E}),_=(N=b.toolCalls)==null?void 0:N.map(E=>E.status!=="running"?E:(x=!0,{...E,status:"error",result:"生成已结束(工具执行超时或连接中断)",duration:Math.floor((l-(E.timestamp||l))/1e3)}));return x?{...b,steps:k,toolCalls:_}:b}),d=u[u.length-1];if(d&&d.type==="assistant"&&!d.content&&!d.thinking&&!((h=d.thinkingBlocks)!=null&&h.length)&&!((m=d.steps)!=null&&m.length)&&!((p=d.toolCalls)!=null&&p.length)&&!d.hookApproval){const{[t]:b,...x}=s.messagesBySession;return{generatingSessions:s.generatingSessions.filter(k=>k!==t),pausedSessions:s.pausedSessions.filter(k=>k!==t),messagesBySession:{...x,[t]:u.slice(0,-1)}}}return{generatingSessions:s.generatingSessions.filter(b=>b!==t),pausedSessions:s.pausedSessions.filter(b=>b!==t),messagesBySession:{...s.messagesBySession,[t]:u}}}),pauseGeneration:t=>n(a=>({pausedSessions:a.pausedSessions.includes(t)?a.pausedSessions:[...a.pausedSessions,t]})),resumeGeneration:t=>n(a=>({pausedSessions:a.pausedSessions.filter(s=>s!==t)})),clearMessages:t=>n(a=>{const{[t]:s,...o}=a.messagesBySession;return{messagesBySession:o}}),removeSession:t=>n(a=>{const{[t]:s,...o}=a.messagesBySession,{[t]:l,...u}=a.sessionInputs;return{messagesBySession:o,sessionInputs:u,generatingSessions:a.generatingSessions.filter(d=>d!==t)}}),setSessionInput:(t,a)=>n(s=>({sessionInputs:{...s.sessionInputs,[t]:a}})),getSessionInput:t=>e().sessionInputs[t]||"",attachHookApproval:(t,a)=>n(s=>{const o=s.messagesBySession[t]||[];if(o.length===0){const h={id:`hook-approval-${a.approvalId||Date.now()}`,type:"assistant",content:"",timestamp:Date.now(),hookApproval:a};return{messagesBySession:{...s.messagesBySession,[t]:[h]}}}const l=o.length-1,u=o[l];if(u&&u.type==="assistant"){const h=o.slice();return h[l]={...u,hookApproval:a},{messagesBySession:{...s.messagesBySession,[t]:h}}}const d={id:`hook-approval-${a.approvalId||Date.now()}`,type:"assistant",content:"",timestamp:Date.now(),hookApproval:a};return{messagesBySession:{...s.messagesBySession,[t]:[...o,d].slice(-200)}}}),updateHookApprovalStatus:(t,a,s)=>n(o=>{const l=o.messagesBySession[t];if(!l)return o;const u=l.map(d=>{var h;return((h=d.hookApproval)==null?void 0:h.approvalId)===a?{...d,hookApproval:{...d.hookApproval,status:s}}:d});return{messagesBySession:{...o.messagesBySession,[t]:u}}}),setMessageFileJob:(t,a)=>n(s=>{const o=s.messagesBySession[t]||[];if(o.length===0){const h={id:`filejob-${a.jobId}`,type:"assistant",content:"",timestamp:Date.now(),fileJob:a};return{messagesBySession:{...s.messagesBySession,[t]:[h]}}}const l=o.length-1,u=o[l];if(u&&u.type==="assistant"){const h=o.slice();return h[l]={...u,fileJob:u.fileJob?{...u.fileJob,...a,attachments:a.attachments??u.fileJob.attachments,jobId:u.fileJob.jobId,updatedAt:Date.now()}:{...a,updatedAt:Date.now()}},{messagesBySession:{...s.messagesBySession,[t]:h}}}const d={id:`filejob-${a.jobId}`,type:"assistant",content:"",timestamp:Date.now(),fileJob:a};return{messagesBySession:{...s.messagesBySession,[t]:[...o,d].slice(-200)}}}),attachErrorCard:(t,a)=>n(s=>{const o=s.messagesBySession[t];if(!o||o.length===0)return s;const l=o.length-1,u=o[l];if(u&&u.type==="assistant"){const d=o.slice();return d[l]={...u,errorCard:a},{messagesBySession:{...s.messagesBySession,[t]:d}}}return s}),setTurnSummary:(t,a)=>n(s=>{const o=s.messagesBySession[t];if(!o||o.length===0)return s;const l=o.length-1,u=o[l];if(!u||u.type!=="assistant")return s;const d=o.slice();return d[l]={...u,summary:a},{messagesBySession:{...s.messagesBySession,[t]:d}}}),applyTombstone:(t,a)=>n(s=>{const o=s.messagesBySession[t];if(!o||o.length===0)return s;const l=new Set(a),u=o.map(d=>l.has(d.id)?{...d,deleted:!0}:d);return{messagesBySession:{...s.messagesBySession,[t]:u}}}),isGenerating:t=>e().generatingSessions.includes(t),isPaused:t=>e().pausedSessions.includes(t)}),{name:e_,storage:o_,partialize:n=>({messagesBySession:n.messagesBySession,sessionInputs:n.sessionInputs})})),l_=An(n=>({isOpen:!1,status:"idle",port:null,wsUrl:null,errorMessage:null,openTerminal:()=>n({isOpen:!0}),closeTerminal:()=>n({isOpen:!1}),toggleTerminal:()=>n(e=>({isOpen:!e.isOpen})),setStarting:()=>n({status:"starting",errorMessage:null}),setRunning:(e,t)=>n({status:"running",port:e,wsUrl:t}),setStopping:()=>n({status:"stopping"}),setIdle:()=>n({status:"idle",port:null,wsUrl:null,errorMessage:null}),setError:e=>n({status:"error",errorMessage:e})})),e2={bg:"#0d1117",surface:"#161b22",border:"#30363d",text:"#c9d1d9",muted:"#8b949e",accentBlue:"#58a6ff",accentGreen:"#238636",accentRed:"#f85149",accentYellow:"#d29922",accentPurple:"#a855f7"},AP=["off","low","medium","high","extra_high","max"],c_=8,qi=An()(oi(n=>({theme:"light",themePresetId:"linear",language:"zh-CN",fontSize:14,streamingEnabled:!0,workspaceDir:"",recentDirs:[],effort:"medium",customTheme:e2,customThemeEnabled:!1,developerView:!1,setTheme:e=>n({theme:e}),setThemePreset:e=>n({themePresetId:e,customThemeEnabled:!1}),setLanguage:e=>n({language:e}),setFontSize:e=>n({fontSize:e}),setStreamingEnabled:e=>n({streamingEnabled:e}),setCustomTheme:e=>n(t=>({customTheme:{...t.customTheme,...e}})),setCustomThemeEnabled:e=>n({customThemeEnabled:e}),resetCustomTheme:()=>n({customTheme:e2}),setDeveloperView:e=>n({developerView:e}),setWorkspaceDir:e=>n(t=>{const a=e.trim();if(!a)return{workspaceDir:""};const s=[a,...t.recentDirs.filter(o=>o!==a)].slice(0,c_);return{workspaceDir:a,recentDirs:s}}),setEffort:e=>n({effort:e})}),{name:"deepseekcode-settings-storage",version:5,migrate:(n,e)=>{const t=n;return e<2&&t&&typeof t=="object"&&((t.themePresetId==="github"||t.themePresetId==="mimo")&&(t.themePresetId="linear"),t.theme==="dark"&&(t.theme="light")),e<3&&t&&typeof t=="object"&&(t.recentDirs=Array.isArray(t.recentDirs)?t.recentDirs:[]),e<4&&t&&typeof t=="object"&&(delete t.yolo,delete t.autoSwarm,delete t.workspaceGuardBypass),e<5&&t&&typeof t=="object"&&(t.developerView=t.developerView===!0),t}}));var wt;(function(n){n.assertEqual=s=>{};function e(s){}n.assertIs=e;function t(s){throw new Error}n.assertNever=t,n.arrayToEnum=s=>{const o={};for(const l of s)o[l]=l;return o},n.getValidEnumValues=s=>{const o=n.objectKeys(s).filter(u=>typeof s[s[u]]!="number"),l={};for(const u of o)l[u]=s[u];return n.objectValues(l)},n.objectValues=s=>n.objectKeys(s).map(function(o){return s[o]}),n.objectKeys=typeof Object.keys=="function"?s=>Object.keys(s):s=>{const o=[];for(const l in s)Object.prototype.hasOwnProperty.call(s,l)&&o.push(l);return o},n.find=(s,o)=>{for(const l of s)if(o(l))return l},n.isInteger=typeof Number.isInteger=="function"?s=>Number.isInteger(s):s=>typeof s=="number"&&Number.isFinite(s)&&Math.floor(s)===s;function a(s,o=" | "){return s.map(l=>typeof l=="string"?`'${l}'`:l).join(o)}n.joinValues=a,n.jsonStringifyReplacer=(s,o)=>typeof o=="bigint"?o.toString():o})(wt||(wt={}));var t2;(function(n){n.mergeShapes=(e,t)=>({...e,...t})})(t2||(t2={}));const Te=wt.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),Ws=n=>{switch(typeof n){case"undefined":return Te.undefined;case"string":return Te.string;case"number":return Number.isNaN(n)?Te.nan:Te.number;case"boolean":return Te.boolean;case"function":return Te.function;case"bigint":return Te.bigint;case"symbol":return Te.symbol;case"object":return Array.isArray(n)?Te.array:n===null?Te.null:n.then&&typeof n.then=="function"&&n.catch&&typeof n.catch=="function"?Te.promise:typeof Map<"u"&&n instanceof Map?Te.map:typeof Set<"u"&&n instanceof Set?Te.set:typeof Date<"u"&&n instanceof Date?Te.date:Te.object;default:return Te.unknown}},ye=wt.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]);class us extends Error{get errors(){return this.issues}constructor(e){super(),this.issues=[],this.addIssue=a=>{this.issues=[...this.issues,a]},this.addIssues=(a=[])=>{this.issues=[...this.issues,...a]};const t=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,t):this.__proto__=t,this.name="ZodError",this.issues=e}format(e){const t=e||function(o){return o.message},a={_errors:[]},s=o=>{for(const l of o.issues)if(l.code==="invalid_union")l.unionErrors.map(s);else if(l.code==="invalid_return_type")s(l.returnTypeError);else if(l.code==="invalid_arguments")s(l.argumentsError);else if(l.path.length===0)a._errors.push(t(l));else{let u=a,d=0;for(;d<l.path.length;){const h=l.path[d];d===l.path.length-1?(u[h]=u[h]||{_errors:[]},u[h]._errors.push(t(l))):u[h]=u[h]||{_errors:[]},u=u[h],d++}}};return s(this),a}static assert(e){if(!(e instanceof us))throw new Error(`Not a ZodError: ${e}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,wt.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(e=t=>t.message){const t={},a=[];for(const s of this.issues)if(s.path.length>0){const o=s.path[0];t[o]=t[o]||[],t[o].push(e(s))}else a.push(e(s));return{formErrors:a,fieldErrors:t}}get formErrors(){return this.flatten()}}us.create=n=>new us(n);const Ip=(n,e)=>{let t;switch(n.code){case ye.invalid_type:n.received===Te.undefined?t="Required":t=`Expected ${n.expected}, received ${n.received}`;break;case ye.invalid_literal:t=`Invalid literal value, expected ${JSON.stringify(n.expected,wt.jsonStringifyReplacer)}`;break;case ye.unrecognized_keys:t=`Unrecognized key(s) in object: ${wt.joinValues(n.keys,", ")}`;break;case ye.invalid_union:t="Invalid input";break;case ye.invalid_union_discriminator:t=`Invalid discriminator value. Expected ${wt.joinValues(n.options)}`;break;case ye.invalid_enum_value:t=`Invalid enum value. Expected ${wt.joinValues(n.options)}, received '${n.received}'`;break;case ye.invalid_arguments:t="Invalid function arguments";break;case ye.invalid_return_type:t="Invalid function return type";break;case ye.invalid_date:t="Invalid date";break;case ye.invalid_string:typeof n.validation=="object"?"includes"in n.validation?(t=`Invalid input: must include "${n.validation.includes}"`,typeof n.validation.position=="number"&&(t=`${t} at one or more positions greater than or equal to ${n.validation.position}`)):"startsWith"in n.validation?t=`Invalid input: must start with "${n.validation.startsWith}"`:"endsWith"in n.validation?t=`Invalid input: must end with "${n.validation.endsWith}"`:wt.assertNever(n.validation):n.validation!=="regex"?t=`Invalid ${n.validation}`:t="Invalid";break;case ye.too_small:n.type==="array"?t=`Array must contain ${n.exact?"exactly":n.inclusive?"at least":"more than"} ${n.minimum} element(s)`:n.type==="string"?t=`String must contain ${n.exact?"exactly":n.inclusive?"at least":"over"} ${n.minimum} character(s)`:n.type==="number"?t=`Number must be ${n.exact?"exactly equal to ":n.inclusive?"greater than or equal to ":"greater than "}${n.minimum}`:n.type==="bigint"?t=`Number must be ${n.exact?"exactly equal to ":n.inclusive?"greater than or equal to ":"greater than "}${n.minimum}`:n.type==="date"?t=`Date must be ${n.exact?"exactly equal to ":n.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(n.minimum))}`:t="Invalid input";break;case ye.too_big:n.type==="array"?t=`Array must contain ${n.exact?"exactly":n.inclusive?"at most":"less than"} ${n.maximum} element(s)`:n.type==="string"?t=`String must contain ${n.exact?"exactly":n.inclusive?"at most":"under"} ${n.maximum} character(s)`:n.type==="number"?t=`Number must be ${n.exact?"exactly":n.inclusive?"less than or equal to":"less than"} ${n.maximum}`:n.type==="bigint"?t=`BigInt must be ${n.exact?"exactly":n.inclusive?"less than or equal to":"less than"} ${n.maximum}`:n.type==="date"?t=`Date must be ${n.exact?"exactly":n.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(n.maximum))}`:t="Invalid input";break;case ye.custom:t="Invalid input";break;case ye.invalid_intersection_types:t="Intersection results could not be merged";break;case ye.not_multiple_of:t=`Number must be a multiple of ${n.multipleOf}`;break;case ye.not_finite:t="Number must be finite";break;default:t=e.defaultError,wt.assertNever(n)}return{message:t}};let u_=Ip;function d_(){return u_}const f_=n=>{const{data:e,path:t,errorMaps:a,issueData:s}=n,o=[...t,...s.path||[]],l={...s,path:o};if(s.message!==void 0)return{...s,path:o,message:s.message};let u="";const d=a.filter(h=>!!h).slice().reverse();for(const h of d)u=h(l,{data:e,defaultError:u}).message;return{...s,path:o,message:u}};function ke(n,e){const t=d_(),a=f_({issueData:e,data:n.data,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,t,t===Ip?void 0:Ip].filter(s=>!!s)});n.common.issues.push(a)}class Jn{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(e,t){const a=[];for(const s of t){if(s.status==="aborted")return Ze;s.status==="dirty"&&e.dirty(),a.push(s.value)}return{status:e.value,value:a}}static async mergeObjectAsync(e,t){const a=[];for(const s of t){const o=await s.key,l=await s.value;a.push({key:o,value:l})}return Jn.mergeObjectSync(e,a)}static mergeObjectSync(e,t){const a={};for(const s of t){const{key:o,value:l}=s;if(o.status==="aborted"||l.status==="aborted")return Ze;o.status==="dirty"&&e.dirty(),l.status==="dirty"&&e.dirty(),o.value!=="__proto__"&&(typeof l.value<"u"||s.alwaysSet)&&(a[o.value]=l.value)}return{status:e.value,value:a}}}const Ze=Object.freeze({status:"aborted"}),wc=n=>({status:"dirty",value:n}),Va=n=>({status:"valid",value:n}),n2=n=>n.status==="aborted",a2=n=>n.status==="dirty",el=n=>n.status==="valid",d0=n=>typeof Promise<"u"&&n instanceof Promise;var Ee;(function(n){n.errToObj=e=>typeof e=="string"?{message:e}:e||{},n.toString=e=>typeof e=="string"?e:e==null?void 0:e.message})(Ee||(Ee={}));class Sr{constructor(e,t,a,s){this._cachedPath=[],this.parent=e,this.data=t,this._path=a,this._key=s}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}}const r2=(n,e)=>{if(el(e))return{success:!0,data:e.value};if(!n.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;const t=new us(n.common.issues);return this._error=t,this._error}}};function rt(n){if(!n)return{};const{errorMap:e,invalid_type_error:t,required_error:a,description:s}=n;if(e&&(t||a))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return e?{errorMap:e,description:s}:{errorMap:(l,u)=>{const{message:d}=n;return l.code==="invalid_enum_value"?{message:d??u.defaultError}:typeof u.data>"u"?{message:d??a??u.defaultError}:l.code!=="invalid_type"?{message:u.defaultError}:{message:d??t??u.defaultError}},description:s}}class ht{get description(){return this._def.description}_getType(e){return Ws(e.data)}_getOrReturnCtx(e,t){return t||{common:e.parent.common,data:e.data,parsedType:Ws(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new Jn,ctx:{common:e.parent.common,data:e.data,parsedType:Ws(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){const t=this._parse(e);if(d0(t))throw new Error("Synchronous parse encountered promise.");return t}_parseAsync(e){const t=this._parse(e);return Promise.resolve(t)}parse(e,t){const a=this.safeParse(e,t);if(a.success)return a.data;throw a.error}safeParse(e,t){const a={common:{issues:[],async:(t==null?void 0:t.async)??!1,contextualErrorMap:t==null?void 0:t.errorMap},path:(t==null?void 0:t.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:Ws(e)},s=this._parseSync({data:e,path:a.path,parent:a});return r2(a,s)}"~validate"(e){var a,s;const t={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:Ws(e)};if(!this["~standard"].async)try{const o=this._parseSync({data:e,path:[],parent:t});return el(o)?{value:o.value}:{issues:t.common.issues}}catch(o){(s=(a=o==null?void 0:o.message)==null?void 0:a.toLowerCase())!=null&&s.includes("encountered")&&(this["~standard"].async=!0),t.common={issues:[],async:!0}}return this._parseAsync({data:e,path:[],parent:t}).then(o=>el(o)?{value:o.value}:{issues:t.common.issues})}async parseAsync(e,t){const a=await this.safeParseAsync(e,t);if(a.success)return a.data;throw a.error}async safeParseAsync(e,t){const a={common:{issues:[],contextualErrorMap:t==null?void 0:t.errorMap,async:!0},path:(t==null?void 0:t.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:Ws(e)},s=this._parse({data:e,path:a.path,parent:a}),o=await(d0(s)?s:Promise.resolve(s));return r2(a,o)}refine(e,t){const a=s=>typeof t=="string"||typeof t>"u"?{message:t}:typeof t=="function"?t(s):t;return this._refinement((s,o)=>{const l=e(s),u=()=>o.addIssue({code:ye.custom,...a(s)});return typeof Promise<"u"&&l instanceof Promise?l.then(d=>d?!0:(u(),!1)):l?!0:(u(),!1)})}refinement(e,t){return this._refinement((a,s)=>e(a)?!0:(s.addIssue(typeof t=="function"?t(a,s):t),!1))}_refinement(e){return new al({schema:this,typeName:Ke.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:t=>this["~validate"](t)}}optional(){return Qs.create(this,this._def)}nullable(){return rl.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return wr.create(this)}promise(){return g0.create(this,this._def)}or(e){return h0.create([this,e],this._def)}and(e){return m0.create(this,e,this._def)}transform(e){return new al({...rt(this._def),schema:this,typeName:Ke.ZodEffects,effect:{type:"transform",transform:e}})}default(e){const t=typeof e=="function"?e:()=>e;return new Gp({...rt(this._def),innerType:this,defaultValue:t,typeName:Ke.ZodDefault})}brand(){return new B_({typeName:Ke.ZodBranded,type:this,...rt(this._def)})}catch(e){const t=typeof e=="function"?e:()=>e;return new qp({...rt(this._def),innerType:this,catchValue:t,typeName:Ke.ZodCatch})}describe(e){const t=this.constructor;return new t({...this._def,description:e})}pipe(e){return Xg.create(this,e)}readonly(){return Vp.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}const h_=/^c[^\s-]{8,}$/i,m_=/^[0-9a-z]+$/,p_=/^[0-9A-HJKMNP-TV-Z]{26}$/i,g_=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,y_=/^[a-z0-9_-]{21}$/i,v_=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,b_=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,x_=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,w_="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";let Dm;const k_=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,S_=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,__=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,C_=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,T_=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,A_=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,ox="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",E_=new RegExp(`^${ox}$`);function lx(n){let e="[0-5]\\d";n.precision?e=`${e}\\.\\d{${n.precision}}`:n.precision==null&&(e=`${e}(\\.\\d+)?`);const t=n.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${e})${t}`}function N_(n){return new RegExp(`^${lx(n)}$`)}function M_(n){let e=`${ox}T${lx(n)}`;const t=[];return t.push(n.local?"Z?":"Z"),n.offset&&t.push("([+-]\\d{2}:?\\d{2})"),e=`${e}(${t.join("|")})`,new RegExp(`^${e}$`)}function R_(n,e){return!!((e==="v4"||!e)&&k_.test(n)||(e==="v6"||!e)&&__.test(n))}function D_(n,e){if(!v_.test(n))return!1;try{const[t]=n.split(".");if(!t)return!1;const a=t.replace(/-/g,"+").replace(/_/g,"/").padEnd(t.length+(4-t.length%4)%4,"="),s=JSON.parse(atob(a));return!(typeof s!="object"||s===null||"typ"in s&&(s==null?void 0:s.typ)!=="JWT"||!s.alg||e&&s.alg!==e)}catch{return!1}}function O_(n,e){return!!((e==="v4"||!e)&&S_.test(n)||(e==="v6"||!e)&&C_.test(n))}class os extends ht{_parse(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==Te.string){const o=this._getOrReturnCtx(e);return ke(o,{code:ye.invalid_type,expected:Te.string,received:o.parsedType}),Ze}const a=new Jn;let s;for(const o of this._def.checks)if(o.kind==="min")e.data.length<o.value&&(s=this._getOrReturnCtx(e,s),ke(s,{code:ye.too_small,minimum:o.value,type:"string",inclusive:!0,exact:!1,message:o.message}),a.dirty());else if(o.kind==="max")e.data.length>o.value&&(s=this._getOrReturnCtx(e,s),ke(s,{code:ye.too_big,maximum:o.value,type:"string",inclusive:!0,exact:!1,message:o.message}),a.dirty());else if(o.kind==="length"){const l=e.data.length>o.value,u=e.data.length<o.value;(l||u)&&(s=this._getOrReturnCtx(e,s),l?ke(s,{code:ye.too_big,maximum:o.value,type:"string",inclusive:!0,exact:!0,message:o.message}):u&&ke(s,{code:ye.too_small,minimum:o.value,type:"string",inclusive:!0,exact:!0,message:o.message}),a.dirty())}else if(o.kind==="email")x_.test(e.data)||(s=this._getOrReturnCtx(e,s),ke(s,{validation:"email",code:ye.invalid_string,message:o.message}),a.dirty());else if(o.kind==="emoji")Dm||(Dm=new RegExp(w_,"u")),Dm.test(e.data)||(s=this._getOrReturnCtx(e,s),ke(s,{validation:"emoji",code:ye.invalid_string,message:o.message}),a.dirty());else if(o.kind==="uuid")g_.test(e.data)||(s=this._getOrReturnCtx(e,s),ke(s,{validation:"uuid",code:ye.invalid_string,message:o.message}),a.dirty());else if(o.kind==="nanoid")y_.test(e.data)||(s=this._getOrReturnCtx(e,s),ke(s,{validation:"nanoid",code:ye.invalid_string,message:o.message}),a.dirty());else if(o.kind==="cuid")h_.test(e.data)||(s=this._getOrReturnCtx(e,s),ke(s,{validation:"cuid",code:ye.invalid_string,message:o.message}),a.dirty());else if(o.kind==="cuid2")m_.test(e.data)||(s=this._getOrReturnCtx(e,s),ke(s,{validation:"cuid2",code:ye.invalid_string,message:o.message}),a.dirty());else if(o.kind==="ulid")p_.test(e.data)||(s=this._getOrReturnCtx(e,s),ke(s,{validation:"ulid",code:ye.invalid_string,message:o.message}),a.dirty());else if(o.kind==="url")try{new URL(e.data)}catch{s=this._getOrReturnCtx(e,s),ke(s,{validation:"url",code:ye.invalid_string,message:o.message}),a.dirty()}else o.kind==="regex"?(o.regex.lastIndex=0,o.regex.test(e.data)||(s=this._getOrReturnCtx(e,s),ke(s,{validation:"regex",code:ye.invalid_string,message:o.message}),a.dirty())):o.kind==="trim"?e.data=e.data.trim():o.kind==="includes"?e.data.includes(o.value,o.position)||(s=this._getOrReturnCtx(e,s),ke(s,{code:ye.invalid_string,validation:{includes:o.value,position:o.position},message:o.message}),a.dirty()):o.kind==="toLowerCase"?e.data=e.data.toLowerCase():o.kind==="toUpperCase"?e.data=e.data.toUpperCase():o.kind==="startsWith"?e.data.startsWith(o.value)||(s=this._getOrReturnCtx(e,s),ke(s,{code:ye.invalid_string,validation:{startsWith:o.value},message:o.message}),a.dirty()):o.kind==="endsWith"?e.data.endsWith(o.value)||(s=this._getOrReturnCtx(e,s),ke(s,{code:ye.invalid_string,validation:{endsWith:o.value},message:o.message}),a.dirty()):o.kind==="datetime"?M_(o).test(e.data)||(s=this._getOrReturnCtx(e,s),ke(s,{code:ye.invalid_string,validation:"datetime",message:o.message}),a.dirty()):o.kind==="date"?E_.test(e.data)||(s=this._getOrReturnCtx(e,s),ke(s,{code:ye.invalid_string,validation:"date",message:o.message}),a.dirty()):o.kind==="time"?N_(o).test(e.data)||(s=this._getOrReturnCtx(e,s),ke(s,{code:ye.invalid_string,validation:"time",message:o.message}),a.dirty()):o.kind==="duration"?b_.test(e.data)||(s=this._getOrReturnCtx(e,s),ke(s,{validation:"duration",code:ye.invalid_string,message:o.message}),a.dirty()):o.kind==="ip"?R_(e.data,o.version)||(s=this._getOrReturnCtx(e,s),ke(s,{validation:"ip",code:ye.invalid_string,message:o.message}),a.dirty()):o.kind==="jwt"?D_(e.data,o.alg)||(s=this._getOrReturnCtx(e,s),ke(s,{validation:"jwt",code:ye.invalid_string,message:o.message}),a.dirty()):o.kind==="cidr"?O_(e.data,o.version)||(s=this._getOrReturnCtx(e,s),ke(s,{validation:"cidr",code:ye.invalid_string,message:o.message}),a.dirty()):o.kind==="base64"?T_.test(e.data)||(s=this._getOrReturnCtx(e,s),ke(s,{validation:"base64",code:ye.invalid_string,message:o.message}),a.dirty()):o.kind==="base64url"?A_.test(e.data)||(s=this._getOrReturnCtx(e,s),ke(s,{validation:"base64url",code:ye.invalid_string,message:o.message}),a.dirty()):wt.assertNever(o);return{status:a.value,value:e.data}}_regex(e,t,a){return this.refinement(s=>e.test(s),{validation:t,code:ye.invalid_string,...Ee.errToObj(a)})}_addCheck(e){return new os({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...Ee.errToObj(e)})}url(e){return this._addCheck({kind:"url",...Ee.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...Ee.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...Ee.errToObj(e)})}nanoid(e){return this._addCheck({kind:"nanoid",...Ee.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...Ee.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...Ee.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...Ee.errToObj(e)})}base64(e){return this._addCheck({kind:"base64",...Ee.errToObj(e)})}base64url(e){return this._addCheck({kind:"base64url",...Ee.errToObj(e)})}jwt(e){return this._addCheck({kind:"jwt",...Ee.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...Ee.errToObj(e)})}cidr(e){return this._addCheck({kind:"cidr",...Ee.errToObj(e)})}datetime(e){return typeof e=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:e}):this._addCheck({kind:"datetime",precision:typeof(e==null?void 0:e.precision)>"u"?null:e==null?void 0:e.precision,offset:(e==null?void 0:e.offset)??!1,local:(e==null?void 0:e.local)??!1,...Ee.errToObj(e==null?void 0:e.message)})}date(e){return this._addCheck({kind:"date",message:e})}time(e){return typeof e=="string"?this._addCheck({kind:"time",precision:null,message:e}):this._addCheck({kind:"time",precision:typeof(e==null?void 0:e.precision)>"u"?null:e==null?void 0:e.precision,...Ee.errToObj(e==null?void 0:e.message)})}duration(e){return this._addCheck({kind:"duration",...Ee.errToObj(e)})}regex(e,t){return this._addCheck({kind:"regex",regex:e,...Ee.errToObj(t)})}includes(e,t){return this._addCheck({kind:"includes",value:e,position:t==null?void 0:t.position,...Ee.errToObj(t==null?void 0:t.message)})}startsWith(e,t){return this._addCheck({kind:"startsWith",value:e,...Ee.errToObj(t)})}endsWith(e,t){return this._addCheck({kind:"endsWith",value:e,...Ee.errToObj(t)})}min(e,t){return this._addCheck({kind:"min",value:e,...Ee.errToObj(t)})}max(e,t){return this._addCheck({kind:"max",value:e,...Ee.errToObj(t)})}length(e,t){return this._addCheck({kind:"length",value:e,...Ee.errToObj(t)})}nonempty(e){return this.min(1,Ee.errToObj(e))}trim(){return new os({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new os({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new os({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(e=>e.kind==="datetime")}get isDate(){return!!this._def.checks.find(e=>e.kind==="date")}get isTime(){return!!this._def.checks.find(e=>e.kind==="time")}get isDuration(){return!!this._def.checks.find(e=>e.kind==="duration")}get isEmail(){return!!this._def.checks.find(e=>e.kind==="email")}get isURL(){return!!this._def.checks.find(e=>e.kind==="url")}get isEmoji(){return!!this._def.checks.find(e=>e.kind==="emoji")}get isUUID(){return!!this._def.checks.find(e=>e.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(e=>e.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(e=>e.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(e=>e.kind==="cuid2")}get isULID(){return!!this._def.checks.find(e=>e.kind==="ulid")}get isIP(){return!!this._def.checks.find(e=>e.kind==="ip")}get isCIDR(){return!!this._def.checks.find(e=>e.kind==="cidr")}get isBase64(){return!!this._def.checks.find(e=>e.kind==="base64")}get isBase64url(){return!!this._def.checks.find(e=>e.kind==="base64url")}get minLength(){let e=null;for(const t of this._def.checks)t.kind==="min"&&(e===null||t.value>e)&&(e=t.value);return e}get maxLength(){let e=null;for(const t of this._def.checks)t.kind==="max"&&(e===null||t.value<e)&&(e=t.value);return e}}os.create=n=>new os({checks:[],typeName:Ke.ZodString,coerce:(n==null?void 0:n.coerce)??!1,...rt(n)});function L_(n,e){const t=(n.toString().split(".")[1]||"").length,a=(e.toString().split(".")[1]||"").length,s=t>a?t:a,o=Number.parseInt(n.toFixed(s).replace(".","")),l=Number.parseInt(e.toFixed(s).replace(".",""));return o%l/10**s}class tl extends ht{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){if(this._def.coerce&&(e.data=Number(e.data)),this._getType(e)!==Te.number){const o=this._getOrReturnCtx(e);return ke(o,{code:ye.invalid_type,expected:Te.number,received:o.parsedType}),Ze}let a;const s=new Jn;for(const o of this._def.checks)o.kind==="int"?wt.isInteger(e.data)||(a=this._getOrReturnCtx(e,a),ke(a,{code:ye.invalid_type,expected:"integer",received:"float",message:o.message}),s.dirty()):o.kind==="min"?(o.inclusive?e.data<o.value:e.data<=o.value)&&(a=this._getOrReturnCtx(e,a),ke(a,{code:ye.too_small,minimum:o.value,type:"number",inclusive:o.inclusive,exact:!1,message:o.message}),s.dirty()):o.kind==="max"?(o.inclusive?e.data>o.value:e.data>=o.value)&&(a=this._getOrReturnCtx(e,a),ke(a,{code:ye.too_big,maximum:o.value,type:"number",inclusive:o.inclusive,exact:!1,message:o.message}),s.dirty()):o.kind==="multipleOf"?L_(e.data,o.value)!==0&&(a=this._getOrReturnCtx(e,a),ke(a,{code:ye.not_multiple_of,multipleOf:o.value,message:o.message}),s.dirty()):o.kind==="finite"?Number.isFinite(e.data)||(a=this._getOrReturnCtx(e,a),ke(a,{code:ye.not_finite,message:o.message}),s.dirty()):wt.assertNever(o);return{status:s.value,value:e.data}}gte(e,t){return this.setLimit("min",e,!0,Ee.toString(t))}gt(e,t){return this.setLimit("min",e,!1,Ee.toString(t))}lte(e,t){return this.setLimit("max",e,!0,Ee.toString(t))}lt(e,t){return this.setLimit("max",e,!1,Ee.toString(t))}setLimit(e,t,a,s){return new tl({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:a,message:Ee.toString(s)}]})}_addCheck(e){return new tl({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:Ee.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:Ee.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:Ee.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:Ee.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:Ee.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:Ee.toString(t)})}finite(e){return this._addCheck({kind:"finite",message:Ee.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:Ee.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:Ee.toString(e)})}get minValue(){let e=null;for(const t of this._def.checks)t.kind==="min"&&(e===null||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(const t of this._def.checks)t.kind==="max"&&(e===null||t.value<e)&&(e=t.value);return e}get isInt(){return!!this._def.checks.find(e=>e.kind==="int"||e.kind==="multipleOf"&&wt.isInteger(e.value))}get isFinite(){let e=null,t=null;for(const a of this._def.checks){if(a.kind==="finite"||a.kind==="int"||a.kind==="multipleOf")return!0;a.kind==="min"?(t===null||a.value>t)&&(t=a.value):a.kind==="max"&&(e===null||a.value<e)&&(e=a.value)}return Number.isFinite(t)&&Number.isFinite(e)}}tl.create=n=>new tl({checks:[],typeName:Ke.ZodNumber,coerce:(n==null?void 0:n.coerce)||!1,...rt(n)});class Uc extends ht{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){if(this._def.coerce)try{e.data=BigInt(e.data)}catch{return this._getInvalidInput(e)}if(this._getType(e)!==Te.bigint)return this._getInvalidInput(e);let a;const s=new Jn;for(const o of this._def.checks)o.kind==="min"?(o.inclusive?e.data<o.value:e.data<=o.value)&&(a=this._getOrReturnCtx(e,a),ke(a,{code:ye.too_small,type:"bigint",minimum:o.value,inclusive:o.inclusive,message:o.message}),s.dirty()):o.kind==="max"?(o.inclusive?e.data>o.value:e.data>=o.value)&&(a=this._getOrReturnCtx(e,a),ke(a,{code:ye.too_big,type:"bigint",maximum:o.value,inclusive:o.inclusive,message:o.message}),s.dirty()):o.kind==="multipleOf"?e.data%o.value!==BigInt(0)&&(a=this._getOrReturnCtx(e,a),ke(a,{code:ye.not_multiple_of,multipleOf:o.value,message:o.message}),s.dirty()):wt.assertNever(o);return{status:s.value,value:e.data}}_getInvalidInput(e){const t=this._getOrReturnCtx(e);return ke(t,{code:ye.invalid_type,expected:Te.bigint,received:t.parsedType}),Ze}gte(e,t){return this.setLimit("min",e,!0,Ee.toString(t))}gt(e,t){return this.setLimit("min",e,!1,Ee.toString(t))}lte(e,t){return this.setLimit("max",e,!0,Ee.toString(t))}lt(e,t){return this.setLimit("max",e,!1,Ee.toString(t))}setLimit(e,t,a,s){return new Uc({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:a,message:Ee.toString(s)}]})}_addCheck(e){return new Uc({...this._def,checks:[...this._def.checks,e]})}positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:Ee.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:Ee.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:Ee.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:Ee.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:Ee.toString(t)})}get minValue(){let e=null;for(const t of this._def.checks)t.kind==="min"&&(e===null||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(const t of this._def.checks)t.kind==="max"&&(e===null||t.value<e)&&(e=t.value);return e}}Uc.create=n=>new Uc({checks:[],typeName:Ke.ZodBigInt,coerce:(n==null?void 0:n.coerce)??!1,...rt(n)});class zp extends ht{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==Te.boolean){const a=this._getOrReturnCtx(e);return ke(a,{code:ye.invalid_type,expected:Te.boolean,received:a.parsedType}),Ze}return Va(e.data)}}zp.create=n=>new zp({typeName:Ke.ZodBoolean,coerce:(n==null?void 0:n.coerce)||!1,...rt(n)});class f0 extends ht{_parse(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==Te.date){const o=this._getOrReturnCtx(e);return ke(o,{code:ye.invalid_type,expected:Te.date,received:o.parsedType}),Ze}if(Number.isNaN(e.data.getTime())){const o=this._getOrReturnCtx(e);return ke(o,{code:ye.invalid_date}),Ze}const a=new Jn;let s;for(const o of this._def.checks)o.kind==="min"?e.data.getTime()<o.value&&(s=this._getOrReturnCtx(e,s),ke(s,{code:ye.too_small,message:o.message,inclusive:!0,exact:!1,minimum:o.value,type:"date"}),a.dirty()):o.kind==="max"?e.data.getTime()>o.value&&(s=this._getOrReturnCtx(e,s),ke(s,{code:ye.too_big,message:o.message,inclusive:!0,exact:!1,maximum:o.value,type:"date"}),a.dirty()):wt.assertNever(o);return{status:a.value,value:new Date(e.data.getTime())}}_addCheck(e){return new f0({...this._def,checks:[...this._def.checks,e]})}min(e,t){return this._addCheck({kind:"min",value:e.getTime(),message:Ee.toString(t)})}max(e,t){return this._addCheck({kind:"max",value:e.getTime(),message:Ee.toString(t)})}get minDate(){let e=null;for(const t of this._def.checks)t.kind==="min"&&(e===null||t.value>e)&&(e=t.value);return e!=null?new Date(e):null}get maxDate(){let e=null;for(const t of this._def.checks)t.kind==="max"&&(e===null||t.value<e)&&(e=t.value);return e!=null?new Date(e):null}}f0.create=n=>new f0({checks:[],coerce:(n==null?void 0:n.coerce)||!1,typeName:Ke.ZodDate,...rt(n)});class s2 extends ht{_parse(e){if(this._getType(e)!==Te.symbol){const a=this._getOrReturnCtx(e);return ke(a,{code:ye.invalid_type,expected:Te.symbol,received:a.parsedType}),Ze}return Va(e.data)}}s2.create=n=>new s2({typeName:Ke.ZodSymbol,...rt(n)});class i2 extends ht{_parse(e){if(this._getType(e)!==Te.undefined){const a=this._getOrReturnCtx(e);return ke(a,{code:ye.invalid_type,expected:Te.undefined,received:a.parsedType}),Ze}return Va(e.data)}}i2.create=n=>new i2({typeName:Ke.ZodUndefined,...rt(n)});class o2 extends ht{_parse(e){if(this._getType(e)!==Te.null){const a=this._getOrReturnCtx(e);return ke(a,{code:ye.invalid_type,expected:Te.null,received:a.parsedType}),Ze}return Va(e.data)}}o2.create=n=>new o2({typeName:Ke.ZodNull,...rt(n)});class $p extends ht{constructor(){super(...arguments),this._any=!0}_parse(e){return Va(e.data)}}$p.create=n=>new $p({typeName:Ke.ZodAny,...rt(n)});class Hp extends ht{constructor(){super(...arguments),this._unknown=!0}_parse(e){return Va(e.data)}}Hp.create=n=>new Hp({typeName:Ke.ZodUnknown,...rt(n)});class ni extends ht{_parse(e){const t=this._getOrReturnCtx(e);return ke(t,{code:ye.invalid_type,expected:Te.never,received:t.parsedType}),Ze}}ni.create=n=>new ni({typeName:Ke.ZodNever,...rt(n)});class l2 extends ht{_parse(e){if(this._getType(e)!==Te.undefined){const a=this._getOrReturnCtx(e);return ke(a,{code:ye.invalid_type,expected:Te.void,received:a.parsedType}),Ze}return Va(e.data)}}l2.create=n=>new l2({typeName:Ke.ZodVoid,...rt(n)});class wr extends ht{_parse(e){const{ctx:t,status:a}=this._processInputParams(e),s=this._def;if(t.parsedType!==Te.array)return ke(t,{code:ye.invalid_type,expected:Te.array,received:t.parsedType}),Ze;if(s.exactLength!==null){const l=t.data.length>s.exactLength.value,u=t.data.length<s.exactLength.value;(l||u)&&(ke(t,{code:l?ye.too_big:ye.too_small,minimum:u?s.exactLength.value:void 0,maximum:l?s.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:s.exactLength.message}),a.dirty())}if(s.minLength!==null&&t.data.length<s.minLength.value&&(ke(t,{code:ye.too_small,minimum:s.minLength.value,type:"array",inclusive:!0,exact:!1,message:s.minLength.message}),a.dirty()),s.maxLength!==null&&t.data.length>s.maxLength.value&&(ke(t,{code:ye.too_big,maximum:s.maxLength.value,type:"array",inclusive:!0,exact:!1,message:s.maxLength.message}),a.dirty()),t.common.async)return Promise.all([...t.data].map((l,u)=>s.type._parseAsync(new Sr(t,l,t.path,u)))).then(l=>Jn.mergeArray(a,l));const o=[...t.data].map((l,u)=>s.type._parseSync(new Sr(t,l,t.path,u)));return Jn.mergeArray(a,o)}get element(){return this._def.type}min(e,t){return new wr({...this._def,minLength:{value:e,message:Ee.toString(t)}})}max(e,t){return new wr({...this._def,maxLength:{value:e,message:Ee.toString(t)}})}length(e,t){return new wr({...this._def,exactLength:{value:e,message:Ee.toString(t)}})}nonempty(e){return this.min(1,e)}}wr.create=(n,e)=>new wr({type:n,minLength:null,maxLength:null,exactLength:null,typeName:Ke.ZodArray,...rt(e)});function Uo(n){if(n instanceof dn){const e={};for(const t in n.shape){const a=n.shape[t];e[t]=Qs.create(Uo(a))}return new dn({...n._def,shape:()=>e})}else return n instanceof wr?new wr({...n._def,type:Uo(n.element)}):n instanceof Qs?Qs.create(Uo(n.unwrap())):n instanceof rl?rl.create(Uo(n.unwrap())):n instanceof Vi?Vi.create(n.items.map(e=>Uo(e))):n}class dn extends ht{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;const e=this._def.shape(),t=wt.objectKeys(e);return this._cached={shape:e,keys:t},this._cached}_parse(e){if(this._getType(e)!==Te.object){const h=this._getOrReturnCtx(e);return ke(h,{code:ye.invalid_type,expected:Te.object,received:h.parsedType}),Ze}const{status:a,ctx:s}=this._processInputParams(e),{shape:o,keys:l}=this._getCached(),u=[];if(!(this._def.catchall instanceof ni&&this._def.unknownKeys==="strip"))for(const h in s.data)l.includes(h)||u.push(h);const d=[];for(const h of l){const m=o[h],p=s.data[h];d.push({key:{status:"valid",value:h},value:m._parse(new Sr(s,p,s.path,h)),alwaysSet:h in s.data})}if(this._def.catchall instanceof ni){const h=this._def.unknownKeys;if(h==="passthrough")for(const m of u)d.push({key:{status:"valid",value:m},value:{status:"valid",value:s.data[m]}});else if(h==="strict")u.length>0&&(ke(s,{code:ye.unrecognized_keys,keys:u}),a.dirty());else if(h!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{const h=this._def.catchall;for(const m of u){const p=s.data[m];d.push({key:{status:"valid",value:m},value:h._parse(new Sr(s,p,s.path,m)),alwaysSet:m in s.data})}}return s.common.async?Promise.resolve().then(async()=>{const h=[];for(const m of d){const p=await m.key,b=await m.value;h.push({key:p,value:b,alwaysSet:m.alwaysSet})}return h}).then(h=>Jn.mergeObjectSync(a,h)):Jn.mergeObjectSync(a,d)}get shape(){return this._def.shape()}strict(e){return Ee.errToObj,new dn({...this._def,unknownKeys:"strict",...e!==void 0?{errorMap:(t,a)=>{var o,l;const s=((l=(o=this._def).errorMap)==null?void 0:l.call(o,t,a).message)??a.defaultError;return t.code==="unrecognized_keys"?{message:Ee.errToObj(e).message??s}:{message:s}}}:{}})}strip(){return new dn({...this._def,unknownKeys:"strip"})}passthrough(){return new dn({...this._def,unknownKeys:"passthrough"})}extend(e){return new dn({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new dn({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>({...this._def.shape(),...e._def.shape()}),typeName:Ke.ZodObject})}setKey(e,t){return this.augment({[e]:t})}catchall(e){return new dn({...this._def,catchall:e})}pick(e){const t={};for(const a of wt.objectKeys(e))e[a]&&this.shape[a]&&(t[a]=this.shape[a]);return new dn({...this._def,shape:()=>t})}omit(e){const t={};for(const a of wt.objectKeys(this.shape))e[a]||(t[a]=this.shape[a]);return new dn({...this._def,shape:()=>t})}deepPartial(){return Uo(this)}partial(e){const t={};for(const a of wt.objectKeys(this.shape)){const s=this.shape[a];e&&!e[a]?t[a]=s:t[a]=s.optional()}return new dn({...this._def,shape:()=>t})}required(e){const t={};for(const a of wt.objectKeys(this.shape))if(e&&!e[a])t[a]=this.shape[a];else{let o=this.shape[a];for(;o instanceof Qs;)o=o._def.innerType;t[a]=o}return new dn({...this._def,shape:()=>t})}keyof(){return cx(wt.objectKeys(this.shape))}}dn.create=(n,e)=>new dn({shape:()=>n,unknownKeys:"strip",catchall:ni.create(),typeName:Ke.ZodObject,...rt(e)});dn.strictCreate=(n,e)=>new dn({shape:()=>n,unknownKeys:"strict",catchall:ni.create(),typeName:Ke.ZodObject,...rt(e)});dn.lazycreate=(n,e)=>new dn({shape:n,unknownKeys:"strip",catchall:ni.create(),typeName:Ke.ZodObject,...rt(e)});class h0 extends ht{_parse(e){const{ctx:t}=this._processInputParams(e),a=this._def.options;function s(o){for(const u of o)if(u.result.status==="valid")return u.result;for(const u of o)if(u.result.status==="dirty")return t.common.issues.push(...u.ctx.common.issues),u.result;const l=o.map(u=>new us(u.ctx.common.issues));return ke(t,{code:ye.invalid_union,unionErrors:l}),Ze}if(t.common.async)return Promise.all(a.map(async o=>{const l={...t,common:{...t.common,issues:[]},parent:null};return{result:await o._parseAsync({data:t.data,path:t.path,parent:l}),ctx:l}})).then(s);{let o;const l=[];for(const d of a){const h={...t,common:{...t.common,issues:[]},parent:null},m=d._parseSync({data:t.data,path:t.path,parent:h});if(m.status==="valid")return m;m.status==="dirty"&&!o&&(o={result:m,ctx:h}),h.common.issues.length&&l.push(h.common.issues)}if(o)return t.common.issues.push(...o.ctx.common.issues),o.result;const u=l.map(d=>new us(d));return ke(t,{code:ye.invalid_union,unionErrors:u}),Ze}}get options(){return this._def.options}}h0.create=(n,e)=>new h0({options:n,typeName:Ke.ZodUnion,...rt(e)});function Up(n,e){const t=Ws(n),a=Ws(e);if(n===e)return{valid:!0,data:n};if(t===Te.object&&a===Te.object){const s=wt.objectKeys(e),o=wt.objectKeys(n).filter(u=>s.indexOf(u)!==-1),l={...n,...e};for(const u of o){const d=Up(n[u],e[u]);if(!d.valid)return{valid:!1};l[u]=d.data}return{valid:!0,data:l}}else if(t===Te.array&&a===Te.array){if(n.length!==e.length)return{valid:!1};const s=[];for(let o=0;o<n.length;o++){const l=n[o],u=e[o],d=Up(l,u);if(!d.valid)return{valid:!1};s.push(d.data)}return{valid:!0,data:s}}else return t===Te.date&&a===Te.date&&+n==+e?{valid:!0,data:n}:{valid:!1}}class m0 extends ht{_parse(e){const{status:t,ctx:a}=this._processInputParams(e),s=(o,l)=>{if(n2(o)||n2(l))return Ze;const u=Up(o.value,l.value);return u.valid?((a2(o)||a2(l))&&t.dirty(),{status:t.value,value:u.data}):(ke(a,{code:ye.invalid_intersection_types}),Ze)};return a.common.async?Promise.all([this._def.left._parseAsync({data:a.data,path:a.path,parent:a}),this._def.right._parseAsync({data:a.data,path:a.path,parent:a})]).then(([o,l])=>s(o,l)):s(this._def.left._parseSync({data:a.data,path:a.path,parent:a}),this._def.right._parseSync({data:a.data,path:a.path,parent:a}))}}m0.create=(n,e,t)=>new m0({left:n,right:e,typeName:Ke.ZodIntersection,...rt(t)});class Vi extends ht{_parse(e){const{status:t,ctx:a}=this._processInputParams(e);if(a.parsedType!==Te.array)return ke(a,{code:ye.invalid_type,expected:Te.array,received:a.parsedType}),Ze;if(a.data.length<this._def.items.length)return ke(a,{code:ye.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),Ze;!this._def.rest&&a.data.length>this._def.items.length&&(ke(a,{code:ye.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),t.dirty());const o=[...a.data].map((l,u)=>{const d=this._def.items[u]||this._def.rest;return d?d._parse(new Sr(a,l,a.path,u)):null}).filter(l=>!!l);return a.common.async?Promise.all(o).then(l=>Jn.mergeArray(t,l)):Jn.mergeArray(t,o)}get items(){return this._def.items}rest(e){return new Vi({...this._def,rest:e})}}Vi.create=(n,e)=>{if(!Array.isArray(n))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new Vi({items:n,typeName:Ke.ZodTuple,rest:null,...rt(e)})};class p0 extends ht{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){const{status:t,ctx:a}=this._processInputParams(e);if(a.parsedType!==Te.object)return ke(a,{code:ye.invalid_type,expected:Te.object,received:a.parsedType}),Ze;const s=[],o=this._def.keyType,l=this._def.valueType;for(const u in a.data)s.push({key:o._parse(new Sr(a,u,a.path,u)),value:l._parse(new Sr(a,a.data[u],a.path,u)),alwaysSet:u in a.data});return a.common.async?Jn.mergeObjectAsync(t,s):Jn.mergeObjectSync(t,s)}get element(){return this._def.valueType}static create(e,t,a){return t instanceof ht?new p0({keyType:e,valueType:t,typeName:Ke.ZodRecord,...rt(a)}):new p0({keyType:os.create(),valueType:e,typeName:Ke.ZodRecord,...rt(t)})}}class c2 extends ht{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){const{status:t,ctx:a}=this._processInputParams(e);if(a.parsedType!==Te.map)return ke(a,{code:ye.invalid_type,expected:Te.map,received:a.parsedType}),Ze;const s=this._def.keyType,o=this._def.valueType,l=[...a.data.entries()].map(([u,d],h)=>({key:s._parse(new Sr(a,u,a.path,[h,"key"])),value:o._parse(new Sr(a,d,a.path,[h,"value"]))}));if(a.common.async){const u=new Map;return Promise.resolve().then(async()=>{for(const d of l){const h=await d.key,m=await d.value;if(h.status==="aborted"||m.status==="aborted")return Ze;(h.status==="dirty"||m.status==="dirty")&&t.dirty(),u.set(h.value,m.value)}return{status:t.value,value:u}})}else{const u=new Map;for(const d of l){const h=d.key,m=d.value;if(h.status==="aborted"||m.status==="aborted")return Ze;(h.status==="dirty"||m.status==="dirty")&&t.dirty(),u.set(h.value,m.value)}return{status:t.value,value:u}}}}c2.create=(n,e,t)=>new c2({valueType:e,keyType:n,typeName:Ke.ZodMap,...rt(t)});class Fc extends ht{_parse(e){const{status:t,ctx:a}=this._processInputParams(e);if(a.parsedType!==Te.set)return ke(a,{code:ye.invalid_type,expected:Te.set,received:a.parsedType}),Ze;const s=this._def;s.minSize!==null&&a.data.size<s.minSize.value&&(ke(a,{code:ye.too_small,minimum:s.minSize.value,type:"set",inclusive:!0,exact:!1,message:s.minSize.message}),t.dirty()),s.maxSize!==null&&a.data.size>s.maxSize.value&&(ke(a,{code:ye.too_big,maximum:s.maxSize.value,type:"set",inclusive:!0,exact:!1,message:s.maxSize.message}),t.dirty());const o=this._def.valueType;function l(d){const h=new Set;for(const m of d){if(m.status==="aborted")return Ze;m.status==="dirty"&&t.dirty(),h.add(m.value)}return{status:t.value,value:h}}const u=[...a.data.values()].map((d,h)=>o._parse(new Sr(a,d,a.path,h)));return a.common.async?Promise.all(u).then(d=>l(d)):l(u)}min(e,t){return new Fc({...this._def,minSize:{value:e,message:Ee.toString(t)}})}max(e,t){return new Fc({...this._def,maxSize:{value:e,message:Ee.toString(t)}})}size(e,t){return this.min(e,t).max(e,t)}nonempty(e){return this.min(1,e)}}Fc.create=(n,e)=>new Fc({valueType:n,minSize:null,maxSize:null,typeName:Ke.ZodSet,...rt(e)});class u2 extends ht{get schema(){return this._def.getter()}_parse(e){const{ctx:t}=this._processInputParams(e);return this._def.getter()._parse({data:t.data,path:t.path,parent:t})}}u2.create=(n,e)=>new u2({getter:n,typeName:Ke.ZodLazy,...rt(e)});class Fp extends ht{_parse(e){if(e.data!==this._def.value){const t=this._getOrReturnCtx(e);return ke(t,{received:t.data,code:ye.invalid_literal,expected:this._def.value}),Ze}return{status:"valid",value:e.data}}get value(){return this._def.value}}Fp.create=(n,e)=>new Fp({value:n,typeName:Ke.ZodLiteral,...rt(e)});function cx(n,e){return new nl({values:n,typeName:Ke.ZodEnum,...rt(e)})}class nl extends ht{_parse(e){if(typeof e.data!="string"){const t=this._getOrReturnCtx(e),a=this._def.values;return ke(t,{expected:wt.joinValues(a),received:t.parsedType,code:ye.invalid_type}),Ze}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(e.data)){const t=this._getOrReturnCtx(e),a=this._def.values;return ke(t,{received:t.data,code:ye.invalid_enum_value,options:a}),Ze}return Va(e.data)}get options(){return this._def.values}get enum(){const e={};for(const t of this._def.values)e[t]=t;return e}get Values(){const e={};for(const t of this._def.values)e[t]=t;return e}get Enum(){const e={};for(const t of this._def.values)e[t]=t;return e}extract(e,t=this._def){return nl.create(e,{...this._def,...t})}exclude(e,t=this._def){return nl.create(this.options.filter(a=>!e.includes(a)),{...this._def,...t})}}nl.create=cx;class d2 extends ht{_parse(e){const t=wt.getValidEnumValues(this._def.values),a=this._getOrReturnCtx(e);if(a.parsedType!==Te.string&&a.parsedType!==Te.number){const s=wt.objectValues(t);return ke(a,{expected:wt.joinValues(s),received:a.parsedType,code:ye.invalid_type}),Ze}if(this._cache||(this._cache=new Set(wt.getValidEnumValues(this._def.values))),!this._cache.has(e.data)){const s=wt.objectValues(t);return ke(a,{received:a.data,code:ye.invalid_enum_value,options:s}),Ze}return Va(e.data)}get enum(){return this._def.values}}d2.create=(n,e)=>new d2({values:n,typeName:Ke.ZodNativeEnum,...rt(e)});class g0 extends ht{unwrap(){return this._def.type}_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==Te.promise&&t.common.async===!1)return ke(t,{code:ye.invalid_type,expected:Te.promise,received:t.parsedType}),Ze;const a=t.parsedType===Te.promise?t.data:Promise.resolve(t.data);return Va(a.then(s=>this._def.type.parseAsync(s,{path:t.path,errorMap:t.common.contextualErrorMap})))}}g0.create=(n,e)=>new g0({type:n,typeName:Ke.ZodPromise,...rt(e)});class al extends ht{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===Ke.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){const{status:t,ctx:a}=this._processInputParams(e),s=this._def.effect||null,o={addIssue:l=>{ke(a,l),l.fatal?t.abort():t.dirty()},get path(){return a.path}};if(o.addIssue=o.addIssue.bind(o),s.type==="preprocess"){const l=s.transform(a.data,o);if(a.common.async)return Promise.resolve(l).then(async u=>{if(t.value==="aborted")return Ze;const d=await this._def.schema._parseAsync({data:u,path:a.path,parent:a});return d.status==="aborted"?Ze:d.status==="dirty"||t.value==="dirty"?wc(d.value):d});{if(t.value==="aborted")return Ze;const u=this._def.schema._parseSync({data:l,path:a.path,parent:a});return u.status==="aborted"?Ze:u.status==="dirty"||t.value==="dirty"?wc(u.value):u}}if(s.type==="refinement"){const l=u=>{const d=s.refinement(u,o);if(a.common.async)return Promise.resolve(d);if(d instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return u};if(a.common.async===!1){const u=this._def.schema._parseSync({data:a.data,path:a.path,parent:a});return u.status==="aborted"?Ze:(u.status==="dirty"&&t.dirty(),l(u.value),{status:t.value,value:u.value})}else return this._def.schema._parseAsync({data:a.data,path:a.path,parent:a}).then(u=>u.status==="aborted"?Ze:(u.status==="dirty"&&t.dirty(),l(u.value).then(()=>({status:t.value,value:u.value}))))}if(s.type==="transform")if(a.common.async===!1){const l=this._def.schema._parseSync({data:a.data,path:a.path,parent:a});if(!el(l))return Ze;const u=s.transform(l.value,o);if(u instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:t.value,value:u}}else return this._def.schema._parseAsync({data:a.data,path:a.path,parent:a}).then(l=>el(l)?Promise.resolve(s.transform(l.value,o)).then(u=>({status:t.value,value:u})):Ze);wt.assertNever(s)}}al.create=(n,e,t)=>new al({schema:n,typeName:Ke.ZodEffects,effect:e,...rt(t)});al.createWithPreprocess=(n,e,t)=>new al({schema:e,effect:{type:"preprocess",transform:n},typeName:Ke.ZodEffects,...rt(t)});class Qs extends ht{_parse(e){return this._getType(e)===Te.undefined?Va(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}Qs.create=(n,e)=>new Qs({innerType:n,typeName:Ke.ZodOptional,...rt(e)});class rl extends ht{_parse(e){return this._getType(e)===Te.null?Va(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}rl.create=(n,e)=>new rl({innerType:n,typeName:Ke.ZodNullable,...rt(e)});class Gp extends ht{_parse(e){const{ctx:t}=this._processInputParams(e);let a=t.data;return t.parsedType===Te.undefined&&(a=this._def.defaultValue()),this._def.innerType._parse({data:a,path:t.path,parent:t})}removeDefault(){return this._def.innerType}}Gp.create=(n,e)=>new Gp({innerType:n,typeName:Ke.ZodDefault,defaultValue:typeof e.default=="function"?e.default:()=>e.default,...rt(e)});class qp extends ht{_parse(e){const{ctx:t}=this._processInputParams(e),a={...t,common:{...t.common,issues:[]}},s=this._def.innerType._parse({data:a.data,path:a.path,parent:{...a}});return d0(s)?s.then(o=>({status:"valid",value:o.status==="valid"?o.value:this._def.catchValue({get error(){return new us(a.common.issues)},input:a.data})})):{status:"valid",value:s.status==="valid"?s.value:this._def.catchValue({get error(){return new us(a.common.issues)},input:a.data})}}removeCatch(){return this._def.innerType}}qp.create=(n,e)=>new qp({innerType:n,typeName:Ke.ZodCatch,catchValue:typeof e.catch=="function"?e.catch:()=>e.catch,...rt(e)});class f2 extends ht{_parse(e){if(this._getType(e)!==Te.nan){const a=this._getOrReturnCtx(e);return ke(a,{code:ye.invalid_type,expected:Te.nan,received:a.parsedType}),Ze}return{status:"valid",value:e.data}}}f2.create=n=>new f2({typeName:Ke.ZodNaN,...rt(n)});class B_ extends ht{_parse(e){const{ctx:t}=this._processInputParams(e),a=t.data;return this._def.type._parse({data:a,path:t.path,parent:t})}unwrap(){return this._def.type}}class Xg extends ht{_parse(e){const{status:t,ctx:a}=this._processInputParams(e);if(a.common.async)return(async()=>{const o=await this._def.in._parseAsync({data:a.data,path:a.path,parent:a});return o.status==="aborted"?Ze:o.status==="dirty"?(t.dirty(),wc(o.value)):this._def.out._parseAsync({data:o.value,path:a.path,parent:a})})();{const s=this._def.in._parseSync({data:a.data,path:a.path,parent:a});return s.status==="aborted"?Ze:s.status==="dirty"?(t.dirty(),{status:"dirty",value:s.value}):this._def.out._parseSync({data:s.value,path:a.path,parent:a})}}static create(e,t){return new Xg({in:e,out:t,typeName:Ke.ZodPipeline})}}class Vp extends ht{_parse(e){const t=this._def.innerType._parse(e),a=s=>(el(s)&&(s.value=Object.freeze(s.value)),s);return d0(t)?t.then(s=>a(s)):a(t)}unwrap(){return this._def.innerType}}Vp.create=(n,e)=>new Vp({innerType:n,typeName:Ke.ZodReadonly,...rt(e)});var Ke;(function(n){n.ZodString="ZodString",n.ZodNumber="ZodNumber",n.ZodNaN="ZodNaN",n.ZodBigInt="ZodBigInt",n.ZodBoolean="ZodBoolean",n.ZodDate="ZodDate",n.ZodSymbol="ZodSymbol",n.ZodUndefined="ZodUndefined",n.ZodNull="ZodNull",n.ZodAny="ZodAny",n.ZodUnknown="ZodUnknown",n.ZodNever="ZodNever",n.ZodVoid="ZodVoid",n.ZodArray="ZodArray",n.ZodObject="ZodObject",n.ZodUnion="ZodUnion",n.ZodDiscriminatedUnion="ZodDiscriminatedUnion",n.ZodIntersection="ZodIntersection",n.ZodTuple="ZodTuple",n.ZodRecord="ZodRecord",n.ZodMap="ZodMap",n.ZodSet="ZodSet",n.ZodFunction="ZodFunction",n.ZodLazy="ZodLazy",n.ZodLiteral="ZodLiteral",n.ZodEnum="ZodEnum",n.ZodEffects="ZodEffects",n.ZodNativeEnum="ZodNativeEnum",n.ZodOptional="ZodOptional",n.ZodNullable="ZodNullable",n.ZodDefault="ZodDefault",n.ZodCatch="ZodCatch",n.ZodPromise="ZodPromise",n.ZodBranded="ZodBranded",n.ZodPipeline="ZodPipeline",n.ZodReadonly="ZodReadonly"})(Ke||(Ke={}));const Ne=os.create,jn=tl.create,ux=zp.create,Vo=$p.create,tu=Hp.create;ni.create;const Gc=wr.create,Et=dn.create,j_=h0.create;m0.create;Vi.create;const P_=p0.create,Qg=Fp.create,I_=nl.create;g0.create;Qs.create;rl.create;function ee(n){return{schema:tu(),...n}}const $0=[];let h2=new Set;function wa(n){for(const e of n){if(h2.has(e.type))throw new Error(`[protocol] duplicate event type: ${e.type}`);h2.add(e.type),$0.push(e)}return n}function Cd(n){return $0.find(e=>e.type===n)}new Proxy({},{get:(n,e)=>{var t;return typeof e=="string"?(t=Cd(e))==null?void 0:t.schema:void 0},has:(n,e)=>{var t;return typeof e=="string"?!!((t=Cd(e))!=null&&t.schema):!1},ownKeys:()=>$0.map(n=>n.type),getOwnPropertyDescriptor:(n,e)=>{var t;return typeof e=="string"&&Cd(e)?{enumerable:!0,configurable:!0,value:(t=Cd(e))==null?void 0:t.schema}:void 0}});wa([ee({type:"connected",description:"WebSocket 已连接",category:"session",emittedBy:["server"],handledByCli:!0,handledByWeb:!0}),ee({type:"session_created",description:"新会话已创建",category:"session",emittedBy:["server","core"],handledByCli:!0,handledByWeb:!0,note:"CLI/Web 均已处理(Web: systemHandlers session_created)",schema:Et({id:Ne(),title:Ne().optional()}).partial()}),ee({type:"session_resumed",description:"会话从存储中恢复",category:"session",emittedBy:["core","server"],handledByCli:!0,handledByWeb:!0,note:"CLI/Web 均已处理(Web: systemHandlers session_resumed)",schema:Et({id:Ne()}).partial()}),ee({type:"auth_required",description:"需要认证",category:"session",emittedBy:["server"],handledByCli:!0,handledByWeb:!0,note:"CLI 已处理(2026-07-18)"}),ee({type:"auth_success",description:"认证成功",category:"session",emittedBy:["server"],handledByCli:!0,handledByWeb:!0,note:"CLI 已处理(2026-07-18)"}),ee({type:"auth_failed",description:"认证失败",category:"session",emittedBy:["server"],handledByCli:!0,handledByWeb:!0,note:"CLI 已处理(2026-07-18)"}),ee({type:"message_ack",description:"消息确认",category:"session",emittedBy:["client"],handledByCli:!1,handledByWeb:!1,note:"CLI 发送给服务器的入站事件,无需 handler"}),ee({type:"workspace_changed",description:"工作空间已切换",category:"session",emittedBy:["server"],handledByCli:!0,handledByWeb:!0,schema:Et({workspaceDir:Ne()}).partial()}),ee({type:"session_switched",description:"会话已切换",category:"session",emittedBy:["core"],handledByCli:!0,handledByWeb:!0,note:"CLI 已处理(2026-07-18); Web 已处理(切换 activeSessionId)",schema:Et({id:Ne()}).partial()}),ee({type:"disconnected",description:"连接断开",category:"session",emittedBy:["server"],handledByCli:!0,handledByWeb:!0})]);wa([ee({type:"start",description:"AI 开始生成",category:"stream",emittedBy:["core"],handledByCli:!0,handledByWeb:!0}),ee({type:"content",description:"生成内容增量",category:"stream",emittedBy:["core"],handledByCli:!0,handledByWeb:!0,schema:Et({content:Ne()}).partial()}),ee({type:"thinking",description:"思考过程增量",category:"stream",emittedBy:["core"],handledByCli:!0,handledByWeb:!0,schema:Et({thinking:Ne()}).partial()}),ee({type:"tool_call",description:"工具调用流式增量",category:"stream",emittedBy:["core"],handledByCli:!0,handledByWeb:!0}),ee({type:"tool_result",description:"工具执行结果",category:"stream",emittedBy:["core"],handledByCli:!0,handledByWeb:!0}),ee({type:"tool_execution_start",description:"工具执行阶段开始(无流事件时段开始)",category:"stream",emittedBy:["core"],handledByCli:!1,handledByWeb:!1,note:"纯 core 内部遥测:供运行时暂停/恢复 stall 心跳与全局看门狗;CLI/Web 无 handler(前端无需展示),仅 queryEngine 消费"}),ee({type:"tool_execution_end",description:"工具执行阶段结束(恢复 stall 心跳与全局看门狗)",category:"stream",emittedBy:["core"],handledByCli:!1,handledByWeb:!1,note:"配合 tool_execution_start:防止 180s 心跳把合法长等待误判为流挂起而 abort + 重放整轮工具调用;CLI/Web 无 handler"}),ee({type:"tool_diff",description:"工具执行中的参数 diff 增量(P0-2 diffConsumer 生产者推送)",category:"stream",emittedBy:["core"],handledByCli:!0,handledByWeb:!0}),ee({type:"step_start",description:"步骤开始",category:"stream",emittedBy:["core"],handledByCli:!0,handledByWeb:!0}),ee({type:"step_thinking",description:"步骤思考",category:"stream",emittedBy:["core"],handledByCli:!0,handledByWeb:!0}),ee({type:"step_action",description:"步骤动作",category:"stream",emittedBy:["core"],handledByCli:!0,handledByWeb:!0}),ee({type:"step_complete",description:"步骤完成",category:"stream",emittedBy:["core"],handledByCli:!0,handledByWeb:!0}),ee({type:"turn_summary",description:"回合结束摘要(思考时长+工具计数+头条)",category:"stream",emittedBy:["core"],handledByCli:!0,handledByWeb:!0,note:"CLI/Web 渲染为折叠摘要行(Thought for Ns, ran N …)"}),ee({type:"cache_stats",description:"本轮 run 前缀缓存命中统计(命中/未命中 token、命中率、调用次数)",category:"stream",emittedBy:["core"],handledByCli:!0,handledByWeb:!0,note:"run 结束时由 queryEngine 发送;CLI/Web 在模型名旁展示命中率",schema:Et({cacheHitTokens:jn(),cacheMissTokens:jn(),cacheHitRate:jn().optional(),cacheStatsCalls:jn()}).partial()}),ee({type:"web_search",description:"模型内置联网搜索状态(DeepSeek Responses web_search_call:searching/completed/failed)",category:"stream",emittedBy:["core"],handledByCli:!0,handledByWeb:!0,note:"由服务端执行搜索,客户端仅展示状态(🔍搜索中 → ✅完成)",schema:Et({state:Ne()}).partial()}),ee({type:"progress",description:"通用进度(当前未使用)",category:"stream",emittedBy:["none"],handledByCli:!1,handledByWeb:!1,deprecated:!0,note:"已定义但从未发送;SendMessageTool 的 progress 是消息类型而非 WS 事件"}),ee({type:"complete",description:"生成完成",category:"stream",emittedBy:["core"],handledByCli:!0,handledByWeb:!0}),ee({type:"error",description:"生成错误",category:"stream",emittedBy:["core"],handledByCli:!0,handledByWeb:!0,schema:Et({message:Ne()}).partial()}),ee({type:"generation_paused",description:"生成已暂停",category:"stream",emittedBy:["core"],handledByCli:!0,handledByWeb:!0}),ee({type:"generation_resumed",description:"生成已恢复",category:"stream",emittedBy:["core"],handledByCli:!0,handledByWeb:!0}),ee({type:"stall_detected",description:"流级卡死检测(自动重试/通知)",category:"stream",emittedBy:["core"],handledByCli:!0,handledByWeb:!0,note:"由 StreamHeartbeat 或 StallDetector 触发;CLI/Web 显示重试进度"}),ee({type:"task_interrupted",description:"任务中断(服务重启/异常退出)",category:"stream",emittedBy:["core"],handledByCli:!0,handledByWeb:!0,note:"服务启动扫描时将 running activeRun 标记为 interrupted 后触发;提示用户使用 /continue 恢复生成,或用 /resume 切换会话"}),ee({type:"step_prompt",description:"步骤提示(Web 路由用)",category:"stream",emittedBy:["none"],handledByCli:!1,handledByWeb:!0,note:"Web 路由的内部事件,不通过 WS 发送"})]);wa([ee({type:"plan_start",description:"计划开始",category:"plan",emittedBy:["core"],handledByCli:!0,handledByWeb:!0,note:"由 EnterPlanMode 工具 emit"}),ee({type:"plan_thinking",description:"计划思考",category:"plan",emittedBy:["core"],handledByCli:!0,handledByWeb:!0}),ee({type:"plan_tasks",description:"计划任务列表生成",category:"plan",emittedBy:["core"],handledByCli:!0,handledByWeb:!0,note:"由 ExitPlanMode 工具 emit(解析计划内容为任务列表);CLI handler 解析 data.tasks",schema:Et({tasks:Gc(Vo())}).partial()}),ee({type:"plan_task_start",description:"计划任务开始",category:"plan",emittedBy:["core"],handledByCli:!0,handledByWeb:!0}),ee({type:"plan_task_update",description:"计划任务更新",category:"plan",emittedBy:["core"],handledByCli:!0,handledByWeb:!0}),ee({type:"plan_task_result",description:"计划任务结果",category:"plan",emittedBy:["core"],handledByCli:!0,handledByWeb:!0}),ee({type:"plan_complete",description:"计划完成",category:"plan",emittedBy:["core"],handledByCli:!0,handledByWeb:!0,note:"由 ExitPlanMode 工具 emit(携带 currentPlan/proposedPlan)"}),ee({type:"plan_error",description:"计划错误",category:"plan",emittedBy:["core"],handledByCli:!0,handledByWeb:!0}),ee({type:"plan_mode_change",description:"计划模式切换",category:"plan",emittedBy:["core"],handledByCli:!0,handledByWeb:!0,note:"CLI 已添加 handler(2026-07-01);Web planHandlers 已处理(2026-08-07)"}),ee({type:"plan_mode_enter",description:"进入计划模式(CLI 遗留)",category:"plan",emittedBy:["none"],handledByCli:!0,handledByWeb:!0,deprecated:!0,note:"兼容遗留代码,应改用 plan_mode_change"}),ee({type:"plan_mode_exit",description:"退出计划模式(CLI 遗留)",category:"plan",emittedBy:["none"],handledByCli:!0,handledByWeb:!0,deprecated:!0,note:"兼容遗留代码,应改用 plan_mode_change"}),ee({type:"plan_confirm",description:"计划等待确认",category:"plan",emittedBy:["core"],handledByCli:!0,handledByWeb:!0,note:"CLI 已处理(2026-07-18); Web planHandlers 已处理(2026-08-07)"}),ee({type:"plan_waiting",description:"计划等待用户输入",category:"plan",emittedBy:["none"],handledByCli:!0,handledByWeb:!1,note:"核心未发射(仅 CLI 兼容订阅),已从 emittedBy 移除 core"}),ee({type:"plan_continue",description:"计划继续执行",category:"plan",emittedBy:["none"],handledByCli:!0,handledByWeb:!1,note:"核心未发射(仅 CLI 兼容订阅),已从 emittedBy 移除 core"}),ee({type:"plan_settled",description:"计划已定稿",category:"plan",emittedBy:["none"],handledByCli:!0,handledByWeb:!1,note:"核心未发射(仅 CLI 兼容订阅),已从 emittedBy 移除 core"}),ee({type:"plan_cleared",description:"计划已清除",category:"plan",emittedBy:["none"],handledByCli:!0,handledByWeb:!1,note:"核心未发射(仅 CLI 兼容订阅),已从 emittedBy 移除 core"}),ee({type:"user_exit_plan_mode",description:"用户手动退出计划模式",category:"plan",emittedBy:["client"],handledByCli:!1,handledByWeb:!1,note:"入站事件(CLI→服务器),客户端无需 handler"}),ee({type:"plan_task_complete",description:"计划任务完成(单个)",category:"plan",emittedBy:["core"],handledByCli:!0,handledByWeb:!0,note:"core TaskUpdateTool 在 completed/failed 时 emit,data 携带 id/title/status/result/error;CLI 与 Web 均更新看板并输出通知(toast / 状态区)",schema:Et({id:Ne(),title:Ne(),status:Ne(),result:Ne().optional(),error:Ne().optional()}).partial()}),ee({type:"plan_subagent_start",description:"Plan 设计子代理启动",category:"plan",emittedBy:["core"],handledByCli:!0,handledByWeb:!0,note:"PlanSubAgentTool 启动只读设计子代理时 emit;data 携带 scope/agentId/planSlug/title",schema:Et({scope:Ne(),agentId:Ne(),planSlug:Ne().optional(),title:Ne().optional()}).partial()}),ee({type:"plan_subagent_done",description:"Plan 设计子代理完成",category:"plan",emittedBy:["core"],handledByCli:!0,handledByWeb:!0,note:"PlanSubAgentTool 子代理完成(成功或失败)时 emit;data 携带 scope/agentId/status/designDocPath/error",schema:Et({scope:Ne(),agentId:Ne(),status:Ne(),designDocPath:Ne().optional(),error:Ne().optional()}).partial()}),ee({type:"plan_mode_change_ack",description:"模式切换 ACK(服务器确认 plan 模式变更)",category:"plan",emittedBy:["server"],handledByCli:!0,handledByWeb:!1,note:"server app.ts 对 plan_mode_change 消息的应答;data 携带 mode/auto"})]);wa([ee({type:"token_update",description:"Token 用量更新",category:"context",emittedBy:["core"],handledByCli:!0,handledByWeb:!0}),ee({type:"context_compressed",description:"上下文已压缩",category:"context",emittedBy:["core"],handledByCli:!0,handledByWeb:!0}),ee({type:"compaction_progress",description:"压缩进度更新",category:"context",emittedBy:["core"],handledByCli:!0,handledByWeb:!0}),ee({type:"context_analysis",description:"上下文分布分析",category:"context",emittedBy:["core"],handledByCli:!0,handledByWeb:!0,note:"CLI 已处理(2026-07-18); Web 有 handler 但路由不可达"}),ee({type:"threshold_warning",description:"Token 阈值警告",category:"context",emittedBy:["core"],handledByCli:!0,handledByWeb:!0,note:"CLI 已处理(2026-07-18); Web 有 handler 但路由不可达"}),ee({type:"threshold_error",description:"Token 阈值错误",category:"context",emittedBy:["none"],handledByCli:!1,handledByWeb:!1,deprecated:!0,note:"功能存在但被 context_blocked 覆盖,事件未使用"}),ee({type:"context_blocked",description:"上下文已满,生成被阻止",category:"context",emittedBy:["core"],handledByCli:!0,handledByWeb:!0,note:"CLI 已处理(2026-07-18); Web 有 handler 但路由不可达"}),ee({type:"blocking_limit",description:"已达到阻止极限",category:"context",emittedBy:["core"],handledByCli:!0,handledByWeb:!0,note:"CLI 已处理(2026-07-18); Web 有 handler 但路由不可达"}),ee({type:"compaction_started",description:"压缩任务已启动(phase/trigger)",category:"context",emittedBy:["core"],handledByCli:!0,handledByWeb:!0}),ee({type:"compaction_finished",description:"压缩任务结束(done/failed/aborted)",category:"context",emittedBy:["core"],handledByCli:!0,handledByWeb:!0}),ee({type:"tool_retry",description:"工具重试",category:"context",emittedBy:["none"],handledByCli:!1,handledByWeb:!0,deprecated:!0,note:"重试信息已含于 tool_result/error,Web handler 保留但路由不可达"}),ee({type:"model_fallback",description:"模型回退",category:"context",emittedBy:["none"],handledByCli:!1,handledByWeb:!0,deprecated:!0,note:"降级信息已含于 degradation_update,Web handler 保留但路由不可达"}),ee({type:"usage",description:"Token 用量",category:"context",emittedBy:["core"],handledByCli:!0,handledByWeb:!0}),ee({type:"context_breakdown",description:"上下文容量分类占比(系统提示词/消息/工具/技能/MCP),供 Web 底部上下文条抽屉展示",category:"context",emittedBy:["core"],handledByCli:!1,handledByWeb:!0,note:"每轮 query 上下文组装后估算各组件 token,Web 端点状态栏上下文条上拉展示"})]);wa([ee({type:"workflow_started",description:"工作流已启动",category:"workflow",emittedBy:["core"],handledByCli:!0,handledByWeb:!0,note:"data.nodes 携带 LLM 合成完整节点清单(含 type/children/priority,前端可分层渲染)",schema:Et({workflowId:Ne().optional(),title:Ne().optional(),goalId:Ne().optional(),totalNodes:jn().optional(),nodes:Gc(Vo()).optional()}).partial()}),ee({type:"workflow_event",description:"工作流事件",category:"workflow",emittedBy:["core"],handledByCli:!0,handledByWeb:!0}),ee({type:"workflow_progress",description:"工作流进度",category:"workflow",emittedBy:["core"],handledByCli:!0,handledByWeb:!0,note:"nodeStatuses: 逐节点状态全量映射(断线重连可重建视图)",schema:Et({runId:Ne().optional(),status:Ne().optional(),completedNodes:jn().optional(),totalNodes:jn().optional(),tokensUsed:jn().optional(),tokensRemaining:jn().optional(),currentNodeId:Ne().optional(),nodeStatuses:P_(Ne(),Ne()).optional()}).partial()}),ee({type:"workflow_finished",description:"工作流完成",category:"workflow",emittedBy:["core"],handledByCli:!0,handledByWeb:!0,schema:Et({runId:Ne().optional(),status:Ne().optional(),output:Vo().optional(),error:Ne().optional()}).partial()}),ee({type:"workflow_error",description:"工作流错误",category:"workflow",emittedBy:["core"],handledByCli:!0,handledByWeb:!0}),ee({type:"workflow_checkpoint",description:"工作流检查点",category:"workflow",emittedBy:["core"],handledByCli:!0,handledByWeb:!0}),ee({type:"workflow_node_start",description:"工作流节点开始",category:"workflow",emittedBy:["core"],handledByCli:!0,handledByWeb:!0,schema:Et({nodeId:Ne().optional(),title:Ne().optional(),type:Ne().optional()}).partial()}),ee({type:"workflow_node_complete",description:"工作流节点完成",category:"workflow",emittedBy:["core"],handledByCli:!0,handledByWeb:!0,note:"durationMs: 节点耗时;attempts: retry 重试次数(retry 原语节点)",schema:Et({nodeId:Ne().optional(),title:Ne().optional(),status:Ne().optional(),result:Vo().optional(),error:Ne().optional(),durationMs:jn().optional(),attempts:jn().optional()}).partial()}),ee({type:"workflow_node_retry",description:"工作流节点重试(retry 原语每次重试发出)",category:"workflow",emittedBy:["core"],handledByCli:!0,handledByWeb:!0,note:"attempt > 1 时发出;reason 为上一次尝试的失败原因",schema:Et({nodeId:Ne().optional(),childId:Ne().optional(),attempt:jn().optional(),maxAttempts:jn().optional(),reason:Ne().optional()}).partial()}),ee({type:"workflow_paused",description:"工作流已暂停",category:"workflow",emittedBy:["core"],handledByCli:!0,handledByWeb:!0}),ee({type:"workflow_resumed",description:"工作流已恢复",category:"workflow",emittedBy:["core"],handledByCli:!0,handledByWeb:!0}),ee({type:"workflow_cancelled",description:"工作流已取消",category:"workflow",emittedBy:["core"],handledByCli:!0,handledByWeb:!0}),ee({type:"workflow_recovered",description:"工作流已恢复(从故障)",category:"workflow",emittedBy:["none"],handledByCli:!1,handledByWeb:!1,deprecated:!0,note:"已被 workflow_resumed 覆盖,核心从未发送"}),ee({type:"workflow_handoff",description:"ReAct 转交 workflow(范式切换)",category:"workflow",emittedBy:["none"],handledByCli:!0,handledByWeb:!0,deprecated:!0,note:"Agent Loop 单核模型重构后退役:workflow 判定改为计划注入(见 workflow_plan_ready),核心不再发送;CLI/Web 保留 handler 兼容旧服务端回放"}),ee({type:"workflow_plan_ready",description:"范式路由:LLM 合成的执行计划就绪(PlanCard 数据源;confirm 恒为 false,无确认门,计划由运行中的循环直接采纳)",category:"workflow",emittedBy:["core"],handledByCli:!1,handledByWeb:!0,note:"Agent Loop 单核模型:payload 携带 planId/title/nodes(步骤清单),字段名与旧交接卡片兼容"}),ee({type:"workflow_status",description:"workflow run 状态查询响应(状态对账:连接/重连后拉取终态)",category:"workflow",emittedBy:["core"],handledByCli:!0,handledByWeb:!0,note:"2026-08-14: 配合 get_workflow_status 请求,修复一次性事件流漏终态导致的 UI 卡死;runs[].nodeStatuses 为逐节点状态映射",schema:Et({runs:Gc(Vo()).optional()}).partial()})]);wa([ee({type:"task_update",description:"任务更新",category:"task",emittedBy:["core"],handledByCli:!0,handledByWeb:!0,note:"CLI 已添加 handler(2026-07-01)"}),ee({type:"task_output",description:"任务输出",category:"task",emittedBy:["core"],handledByCli:!0,handledByWeb:!0,note:"CLI 已添加 handler(2026-07-01)"}),ee({type:"task_finished",description:"任务完成",category:"task",emittedBy:["core"],handledByCli:!0,handledByWeb:!0,note:"CLI 已添加 handler(2026-07-01)"}),ee({type:"task_error",description:"任务错误",category:"task",emittedBy:["core"],handledByCli:!0,handledByWeb:!0,note:"CLI 已添加 handler(2026-07-01)"}),ee({type:"filejob_start",description:"文件处理任务开始(解析/渲染)",category:"task",emittedBy:["core"],handledByCli:!0,handledByWeb:!0,note:"对话内嵌文件处理面板;Web 已处理,CLI 已处理(2026-08-07 状态行)"}),ee({type:"filejob_progress",description:"文件处理进度更新",category:"task",emittedBy:["core"],handledByCli:!0,handledByWeb:!0,note:"解析/渲染进度百分比",schema:Et({progress:jn()}).partial()}),ee({type:"filejob_result",description:"文件处理完成(结果文件列表)",category:"task",emittedBy:["core"],handledByCli:!0,handledByWeb:!0,note:"携带 RenderedFileResult[]",schema:Gc(Vo())}),ee({type:"filejob_error",description:"文件处理失败",category:"task",emittedBy:["core"],handledByCli:!0,handledByWeb:!0,note:"脱敏错误详情"})]);wa([ee({type:"goal_created",description:"目标已创建",category:"goal",emittedBy:["core"],handledByCli:!0,handledByWeb:!0,note:"2026-07-21: Web handled via goal_tasks/goal_task_update"}),ee({type:"goal_tasks",description:"目标任务列表(批量初始化看板)",category:"goal",emittedBy:["core"],handledByCli:!0,handledByWeb:!0,note:"2026-07-21: 统一看板数据源"}),ee({type:"goal_task_update",description:"目标任务更新",category:"goal",emittedBy:["core"],handledByCli:!0,handledByWeb:!0,note:"2026-07-21: Web 已添加 handler"}),ee({type:"goal_update",description:"目标元信息更新(retitle / 看板整体刷新)",category:"goal",emittedBy:["core"],handledByCli:!0,handledByWeb:!0,note:"漂移修复:goalManager.retitle / GoalTool 此前已在发射但未注册;tasks 为空数组时 Web 清空看板"}),ee({type:"goal_completed",description:"目标已完成(workflow 终态自动推导)",category:"goal",emittedBy:["core"],handledByCli:!0,handledByWeb:!0,note:"2026-08-14: 此前 goals.complete() 无任何调用点,goal 工作流跑完后 goal 永远停在 active —— 新增终态事件供两端对账"})]);wa([ee({type:"hook_ask",description:"Hook 审批请求",category:"hook",emittedBy:["server"],handledByCli:!0,handledByWeb:!0}),ee({type:"hook_allow",description:"Hook 允许响应",category:"hook",emittedBy:["client"],handledByCli:!1,handledByWeb:!1,note:"入站事件(CLI→服务器),无需 handler"}),ee({type:"hook_deny",description:"Hook 拒绝响应",category:"hook",emittedBy:["client"],handledByCli:!1,handledByWeb:!1,note:"入站事件(CLI→服务器),无需 handler"}),ee({type:"hook_response_ack",description:"Hook 响应确认",category:"hook",emittedBy:["core"],handledByCli:!0,handledByWeb:!0,note:"CLI 已添加 handler(2026-07-01); Web systemHandlers 已处理(2026-08-07)"}),ee({type:"ask_user_question",description:"向用户提问",category:"hook",emittedBy:["core"],handledByCli:!0,handledByWeb:!0}),ee({type:"question_answer_ack",description:"提问回答确认",category:"hook",emittedBy:["core"],handledByCli:!0,handledByWeb:!0,note:"Web useWebSocket 已处理(dismiss 提问弹窗)"}),ee({type:"hook_auto_ack",description:"Hook 自动模式确认",category:"hook",emittedBy:["core"],handledByCli:!0,handledByWeb:!0,note:"Web 已处理(2026-08-07 toast 提示)"})]);wa([ee({type:"mcp_update",description:"MCP 状态更新",category:"mcp",emittedBy:["core"],handledByCli:!0,handledByWeb:!0,note:"CLI 已添加 handler(2026-07-01)"})]);wa([ee({type:"doctor_result",description:"诊断完成",category:"diagnostic",emittedBy:["core"],handledByCli:!0,handledByWeb:!0}),ee({type:"degradation",description:"降级状态更新(遗留)",category:"diagnostic",emittedBy:["core"],handledByCli:!0,handledByWeb:!0}),ee({type:"degradation_update",description:"降级状态更新",category:"diagnostic",emittedBy:["core"],handledByCli:!0,handledByWeb:!0})]);wa([ee({type:"commands_list",description:"命令列表(服务器→客户端)",category:"system",emittedBy:["core","server"],handledByCli:!0,handledByWeb:!0,note:"CLI 已处理(setDynamicCommands); Web systemHandlers 已处理(2026-08-07)"}),ee({type:"ping",description:"心跳 Ping",category:"system",emittedBy:["client"],handledByCli:!1,handledByWeb:!1,note:"由 Server 的 WS 层自动处理"}),ee({type:"pong",description:"心跳 Pong",category:"system",emittedBy:["server"],handledByCli:!1,handledByWeb:!1,note:"由 Client 的 WS 层自动处理"}),ee({type:"log",description:"服务端日志",category:"system",emittedBy:["core"],handledByCli:!0,handledByWeb:!0}),ee({type:"notification",description:"通知消息",category:"system",emittedBy:["server"],handledByCli:!0,handledByWeb:!0}),ee({type:"channel_message",description:"频道入站消息(转发到 Web UI)",category:"system",emittedBy:["core"],handledByCli:!0,handledByWeb:!0,note:"CLI 已处理(2026-07-18); Web 已处理(2026-08-07 通知)"}),ee({type:"channel_status",description:"频道连接状态变更",category:"system",emittedBy:["core"],handledByCli:!0,handledByWeb:!0,note:"CLI 已处理(2026-07-18); Web 已处理(channelsStore)"}),ee({type:"channel_error",description:"频道运行时错误",category:"system",emittedBy:["core"],handledByCli:!0,handledByWeb:!0,note:"CLI 已处理(2026-07-18); Web 已处理(2026-08-07 通知)"}),ee({type:"todo_update",description:"待办事项更新",category:"system",emittedBy:["core"],handledByCli:!0,handledByWeb:!0}),ee({type:"todo_item_done",description:"待办项完成",category:"system",emittedBy:["core"],handledByCli:!0,handledByWeb:!0,note:"运行时可能发送"}),ee({type:"todo_progress",description:"待办进度",category:"system",emittedBy:["core"],handledByCli:!0,handledByWeb:!0,note:"运行时可能发送"}),ee({type:"tombstone",description:"消息已删除/墓碑",category:"system",emittedBy:["none"],handledByCli:!1,handledByWeb:!1,deprecated:!0,note:"Web/CLI 本地消息删除渲染概念,无 WS 发射端"}),ee({type:"status",description:"状态更新(modelName/connected/statusText)",category:"system",emittedBy:["core","server"],handledByCli:!0,handledByWeb:!0,schema:Et({modelName:Ne(),connected:ux(),statusText:Ne()}).partial()}),ee({type:"model_name",description:"当前模型名称",category:"system",emittedBy:["core","server"],handledByCli:!0,handledByWeb:!0,schema:Et({model:Ne()}).partial()}),ee({type:"models_updated",description:"模型列表已更新(models.dev 快照刷新后广播)",category:"system",emittedBy:["server"],handledByCli:!1,handledByWeb:!1,note:"漂移修复:app.ts 模型端点写入后全量广播,但此前未注册;两端尚未接 handler,先做类型层登记"}),ee({type:"throttle",description:"速率限制状态",category:"system",emittedBy:["core"],handledByCli:!0,handledByWeb:!0,note:"Web 已处理(2026-08-07 toast 提示)"}),ee({type:"code_review_ready",description:"代码审查结果就绪",category:"system",emittedBy:["core"],handledByCli:!0,handledByWeb:!0,note:"Web 已处理(2026-08-07 toast 提示)"}),ee({type:"pdca_phase",description:"PDCA 循环阶段",category:"system",emittedBy:["none"],handledByCli:!0,handledByWeb:!1,deprecated:!0,note:"已退役:5-phase light pipeline 被 WorkflowRuntime 取代"}),ee({type:"command_start",description:"命令开始(Web 路由用)",category:"system",emittedBy:["none"],handledByCli:!1,handledByWeb:!0,deprecated:!0,note:"Web systemHandler 有 case 但核心无发送方,保留兼容"}),ee({type:"command_complete",description:"命令完成(Web 路由用)",category:"system",emittedBy:["none"],handledByCli:!1,handledByWeb:!0,deprecated:!0,note:"Web systemHandler 有 case 但核心无发送方,保留兼容"}),ee({type:"command_error",description:"命令错误(Web 路由用)",category:"system",emittedBy:["core"],handledByCli:!0,handledByWeb:!0,note:"core index.ts:1270 真实 emit;CLI useStreamHandlers:741 与 Web systemHandlers 均已处理"})]);wa([ee({type:"tool.approval_required",description:"工具调用需要审批(无人值守运行触发,未放行即拒绝)",category:"inbox",emittedBy:["core"],handledByCli:!0,handledByWeb:!0,note:"无人值守/定时运行时写操作需审批的通知;Inbox 审批队列已移除,CLI/Web 仅提示状态"})]);wa([ee({type:"automation.update",description:"自动化任务新增/更新/删除/状态变更",category:"automation",emittedBy:["server"],handledByCli:!0,handledByWeb:!0,note:"REST /api/automations 已可用;Web 自动化视图消费"}),ee({type:"automation.run",description:"自动化触发运行(started/finished/error)",category:"automation",emittedBy:["core","server"],handledByCli:!0,handledByWeb:!0,note:"CLI 状态提示;Web RunDetail 消费"})]);const z_=/^[a-z][a-z0-9._-]*$/,y0=Ne().min(1).max(128).regex(z_,"command id must match ^[a-z][a-z0-9._-]*$");Et({id:Ne().min(1).max(128),command:y0,payload:tu().optional(),timeoutMs:jn().int().positive().max(3e5).optional(),sender:Ne().max(128).optional()});Et({success:ux(),requestId:Ne(),command:y0,result:tu().optional(),error:Ne().optional(),durationMs:jn().min(0).optional()});const $_=Et({capability:y0,command:y0,description:Ne().max(500).optional(),provider:Ne().max(128).optional()});Et({version:Qg("1"),capabilities:Gc($_)});const H_="1",U_=["ready","select","inspect","screenshot","highlight","command","event"],F_=Et({version:Qg(H_),type:I_(U_),requestId:Ne().min(1).max(128),payload:tu().optional()}).passthrough();Et({type:Ne().min(1).max(128).regex(/^[a-z][a-z0-9._-]*$/,"event type must match ^[a-z][a-z0-9._-]*$"),payload:tu().optional(),source:Ne().max(128).optional(),timestamp:jn().nonnegative().optional()});const G_="workspace_event";Et({type:Qg(G_),sessionId:Ne().optional(),data:j_([Ne(),F_]).optional(),traceId:Ne().optional()});const q_=$0.map(n=>({eventType:n.type,description:n.description,category:n.category,emittedBy:n.emittedBy,handledByCli:n.handledByCli,handledByWeb:n.handledByWeb,...n.deprecated!==void 0?{deprecated:n.deprecated}:{},...n.note!==void 0?{note:n.note}:{}}));function Ia(n){return n==="auto-plan"?"plan":n==="auto-act"?"act":n==="auto-goal"?"goal":n}function Wo(n){return n==="auto-plan"||n==="auto-act"||n==="auto-goal"}function V_(n){switch(n){case"plan":return"auto-plan";case"auto-plan":return"plan";case"act":return"auto-act";case"auto-act":return"act";case"goal":return"auto-goal";case"auto-goal":return"goal"}}const EP=["plan","act","goal"];function Wp(n,e){return e?n==="plan"?"auto-plan":n==="act"?"auto-act":"auto-goal":n}function W_(n){const e=["plan","act","goal"],t=e.indexOf(Ia(n)),a=e[(t+1)%e.length]??"act";return Wp(a,Wo(n))}const K_={plan:{label:"Plan",accent:"blue"},"auto-plan":{label:"Auto-Plan",accent:"cyan"},act:{label:"Act",accent:"green"},"auto-act":{label:"Auto-Act",accent:"yellow"},goal:{label:"Goal",accent:"magenta"},"auto-goal":{label:"Auto-Goal",accent:"red"}},NP={low:{label:"Low",accent:"green"},medium:{label:"Medium",accent:"cyan"},high:{label:"High",accent:"yellow"},critical:{label:"Critical",accent:"red"}},MP={allow:{label:"Allow"},deny:{label:"Deny"},allow_session:{label:"Allow session"},auto:{label:"Auto mode"}};function Y_(n){return n==="plan"||n==="auto-plan"||n==="act"||n==="auto-act"||n==="goal"||n==="auto-goal"?n:"auto-act"}function pc(n){return n>=1e6?`${(n/1e6).toFixed(1)}M`:n>=1e3?`${Math.round(n/1e3)}K`:String(n)}function Z_(n){return n<=0?"":n>=100?`${Math.round(n)}t/s`:`${n.toFixed(1)}t/s`}function dx(n){if(n<=0)return"";if(n>=60){const e=Math.floor(n/60),t=n%60;return`${e}m${t}s`}return`${n}s`}function X_(n,e){switch(n){case"bash":case"shell":case"PowerShell":return`ran ${e} shell command${e>1?"s":""}`;case"read_file":return`read ${e} file${e>1?"s":""}`;case"write_file":return`wrote ${e} file${e>1?"s":""}`;case"edit_file":return`edited ${e} file${e>1?"s":""}`;default:return`ran ${e} ${n}${e>1?"s":""}`}}function RP(n){const e=Object.entries(n.toolCounts).filter(([,s])=>s>0).sort((s,o)=>o[1]-s[1]),t=n.headline||`Thought for ${dx(Math.max(1,Math.round(n.durationMs/1e3)))}`,a=e.map(([s,o])=>X_(s,o));return a.length>0?`${t}, ${a.join(", ")}`:t}function Q_(n,e){const t=n.toLowerCase();return/\b(rm|del|delete|drop|truncate|format|mkfs)\b/.test(t)?"critical":/\b(bash|shell|exec|cmd|powershell|terminal)\b/.test(t)?/\b(rm\s+-rf|sudo|chmod\s+777|curl.*\|\s*(ba)?sh|wget.*-O|>\/dev\/|mkfs)\b/i.test(e)?"critical":"high":/\b(write|edit|save|upload|deploy|publish)\b/i.test(t)||/\b(install|uninstall|npm|pip|cargo|gem|apt|brew|choco|yum|dnf)\b/i.test(t)?"high":/\b(git|commit|push|merge|rebase)\b/i.test(t)?/\b(push|force|hard\s*reset|rebase)\b/i.test(e)?"high":"medium":/\b(http|fetch|curl|wget|api|request|download)\b/i.test(t)?"medium":/\b(read|open|list|ls|dir|cat|view|search|find|grep|glob)\b/i.test(t)?"low":"medium"}function J_(n,e){if(e==null)return null;if(/\b(bash|shell|exec|cmd|powershell|terminal)\b/i.test(n))return e||null;if(/\b(write|edit|save|create)\b/i.test(n)){const t=e.match(/(?:file_path|path|file)["\s:=]+([^\s",}]+)/i);return t?`${t[1]}
|
|
27
|
-
${e.slice(0,200)}`:e.slice(0,200)||null}return e&&e.length>0?e.length>200?`${e.slice(0,200)}...`:e:null}const DP=["openai-chat-completions","openai-completions","openai-responses","anthropic-messages","codex-responses","claude-code"];q_.map(n=>n.eventType);function e9(){return`err-${Date.now()}-${Math.random().toString(36).slice(2,7)}`}const Ko=An(n=>({errors:[],push:(e,t,a,s,o)=>{let l="";return n(u=>{const d=u.errors.find(p=>!p.dismissed&&!p.action&&p.level===e&&p.title===t);if(d)return l=d.id,{errors:u.errors.map(p=>p.id===d.id?{...p,count:p.count+1,timestamp:Date.now()}:p)};const h=e9();l=h;const m={id:h,level:e,title:t,detail:a,action:s,timestamp:Date.now(),dismissed:!1,durationMs:o,count:1};return{errors:[...u.errors.slice(-49),m]}}),l},dismiss:e=>n(t=>({errors:t.errors.map(a=>a.id===e?{...a,dismissed:!0}:a)})),clearAll:()=>n({errors:[]})})),vr={info:(n,e,t)=>Ko.getState().push("info",n,e,void 0,t),warn:(n,e,t)=>Ko.getState().push("warning",n,e,void 0,t),error:(n,e,t)=>Ko.getState().push("error",n,e,void 0,t),critical:(n,e,t)=>Ko.getState().push("critical",n,e,void 0,t)},gc=20,Jg=()=>{const n=window.location.protocol==="https:"?"wss:":"ws:",e=window.location.hostname,t=window.location.port,a=t?String(Number(t)+1):"",s=a?`${e}:${a}`:e;return`${n}//${s}/ws`},t9=Jg(),m2="dscode_client_id";function n9(){try{const n=localStorage.getItem(m2);if(n)return n;const e=`web-${typeof crypto<"u"&&crypto.randomUUID?crypto.randomUUID():Math.random().toString(36).slice(2,10)}`;return localStorage.setItem(m2,e),e}catch{return`web-${Math.random().toString(36).slice(2,10)}`}}class a9{constructor(e){W(this,"ws",null);W(this,"url");W(this,"clientId",n9());W(this,"messageHandlers",new Set);W(this,"openHandlers",new Set);W(this,"closeHandlers",new Set);W(this,"errorHandlers",new Set);W(this,"reconnectAttempts",0);W(this,"reconnectHandlers",new Set);W(this,"reconnectSuccessHandlers",new Set);W(this,"reconnectGiveUpHandlers",new Set);W(this,"isManualClose",!1);W(this,"authenticated",!1);W(this,"sessionId",null);W(this,"heartbeatInterval",null);W(this,"reconnectTimer",null);W(this,"lastPongTime",0);W(this,"HEARTBEAT_INTERVAL",15e3);W(this,"HEARTBEAT_TIMEOUT",45e3);this.url=e||t9}setSessionId(e){this.sessionId=e}getSessionId(){return this.sessionId}getReconnectState(){var e;return{attempts:this.reconnectAttempts,maxAttempts:gc,reconnecting:this.reconnectAttempts>0&&((e=this.ws)==null?void 0:e.readyState)!==WebSocket.OPEN}}onReconnectAttempt(e){return this.reconnectHandlers.add(e),()=>this.reconnectHandlers.delete(e)}onReconnectSuccess(e){return this.reconnectSuccessHandlers.add(e),()=>this.reconnectSuccessHandlers.delete(e)}onReconnectGiveUp(e){return this.reconnectGiveUpHandlers.add(e),()=>this.reconnectGiveUpHandlers.delete(e)}connect(){var a,s;if(((a=this.ws)==null?void 0:a.readyState)===WebSocket.OPEN||((s=this.ws)==null?void 0:s.readyState)===WebSocket.CONNECTING)return;this.isManualClose=!1;const e=new URLSearchParams;this.sessionId&&e.set("sessionId",this.sessionId),e.set("clientId",this.clientId);const t=e.toString()?`${this.url}?${e.toString()}`:this.url;this.ws=new WebSocket(t),this.ws.binaryType="arraybuffer",this.ws.onopen=()=>{var l;console.log("WebSocket connected");const o=this.reconnectAttempts>0;this.reconnectAttempts=0,this.lastPongTime=Date.now(),o&&this.reconnectSuccessHandlers.forEach(u=>u()),((l=this.ws)==null?void 0:l.readyState)===WebSocket.OPEN&&this.ws.send(JSON.stringify({type:"ping"})),this.startHeartbeat(),this.openHandlers.forEach(u=>u())},this.ws.onclose=()=>{console.log("WebSocket closed"),this.stopHeartbeat(),this.closeHandlers.forEach(o=>o()),this.isManualClose||this.scheduleReconnect()},this.ws.onerror=o=>{vr.error("WebSocket connection error",o.message||"Connection failed"),this.errorHandlers.forEach(l=>l())},this.ws.onmessage=o=>{this._onMessage(o)}}async _onMessage(e){var t,a;try{let s;if(e.data instanceof Blob?s=await e.data.text():e.data instanceof ArrayBuffer?s=new TextDecoder().decode(e.data):typeof e.data=="string"?s=e.data:s=String(e.data),s=s.trim(),!s)return;const o=JSON.parse(s);if(console.log("[WS←]",o.type,o.sessionId,JSON.stringify(o.data||o.message||"").slice(0,200)),(o.type==="pong"||o.type==="ping")&&(this.lastPongTime=Date.now(),o.type==="pong"))return;o.seq!==void 0&&o.seq>=0&&this.send({type:"message_ack",data:JSON.stringify({seq:o.seq})}),this.messageHandlers.forEach(l=>l(o))}catch(s){const o=((a=(t=e.data)==null?void 0:t.constructor)==null?void 0:a.name)||typeof e.data;let l;if(e.data instanceof Blob?l=`[Blob ${e.data.size} bytes]`:e.data instanceof ArrayBuffer?l=`[ArrayBuffer ${e.data.byteLength} bytes]`:l=String(e.data).slice(0,500),typeof e.data=="string"&&e.data.trim()){const u=e.data.trim();try{this.messageHandlers.forEach(d=>d({type:"log",data:JSON.stringify({level:"info",message:u})}));return}catch{}}vr.error("Failed to parse WebSocket message",`type=${o} data=${l} error=${s}`)}}startHeartbeat(){this.stopHeartbeat(),this.lastPongTime=Date.now(),this.heartbeatInterval=setInterval(()=>{var e,t;if(Date.now()-this.lastPongTime>this.HEARTBEAT_TIMEOUT){console.warn("[WS] Heartbeat timeout, reconnecting..."),this.stopHeartbeat(),this.isManualClose=!0,(e=this.ws)==null||e.close(),this.ws=null,this.scheduleReconnect();return}((t=this.ws)==null?void 0:t.readyState)===WebSocket.OPEN&&this.send({type:"ping"})},this.HEARTBEAT_INTERVAL)}stopHeartbeat(){this.heartbeatInterval&&(clearInterval(this.heartbeatInterval),this.heartbeatInterval=null)}scheduleReconnect(){if(this.reconnectAttempts++,this.reconnectAttempts>gc){console.error(`[WS] Max reconnect attempts (${gc}) reached — giving up.`),vr.error("WebSocket",`Connection lost — max reconnect attempts (${gc}) reached. Refresh the page to try again.`),this.reconnectGiveUpHandlers.forEach(s=>s());return}const e=Math.min(3e3*Math.pow(2,this.reconnectAttempts),3e4),t=Math.random()*1e3-500,a=Math.max(100,Math.round(e+t));console.log(`[WS] Reconnecting... Attempt ${this.reconnectAttempts}, delay=${a}ms`),this.reconnectHandlers.forEach(s=>s(this.reconnectAttempts,gc)),this.reconnectTimer=setTimeout(()=>{this.reconnectTimer=null,this.connect()},a)}disconnect(){var e;this.isManualClose=!0,this.reconnectAttempts=0,this.stopHeartbeat(),this.reconnectTimer&&(clearTimeout(this.reconnectTimer),this.reconnectTimer=null),(e=this.ws)==null||e.close(),this.ws=null}send(e){var t,a;if(((t=this.ws)==null?void 0:t.readyState)===WebSocket.OPEN){const s=JSON.stringify(e);console.log("[WS→]",e.type,e.sessionId,s.slice(0,200)),this.ws.send(s)}else console.warn("[WS] NOT CONNECTED — dropping:",e.type,e.sessionId,"readyState=",(a=this.ws)==null?void 0:a.readyState)}onMessage(e){return this.messageHandlers.add(e),()=>this.messageHandlers.delete(e)}onOpen(e){return this.openHandlers.add(e),()=>this.openHandlers.delete(e)}onClose(e){return this.closeHandlers.add(e),()=>this.closeHandlers.delete(e)}onError(e){return this.errorHandlers.add(e),()=>this.errorHandlers.delete(e)}get isConnected(){var e;return((e=this.ws)==null?void 0:e.readyState)===WebSocket.OPEN}setToken(e){try{sessionStorage.setItem("auth_token",e)}catch{}}get isAuthenticated(){return this.authenticated}setAuthenticated(e){this.authenticated=e}}const Re=new a9;function p2(n,e){return`ext:${n}:${e.toLowerCase()}`}const ns=An()(oi((n,e)=>({pendingApprovals:[],autoMode:!0,sessionAllowList:[],showConfigHint:!0,addApproval:t=>n(a=>({pendingApprovals:[...a.pendingApprovals,t]})),removeApproval:t=>n(a=>({pendingApprovals:a.pendingApprovals.filter(s=>s.approvalId!==t)})),clearApprovals:()=>n({pendingApprovals:[]}),setAutoMode:t=>n({autoMode:t}),addToSessionAllowList:(t,a)=>n(s=>{const o=a?p2(t,a):t;return s.sessionAllowList.includes(o)?s:{sessionAllowList:[...s.sessionAllowList,o]}}),isSessionAllowed:(t,a)=>{const s=e().sessionAllowList;return a?s.includes(p2(t,a)):s.includes(t)},setShowConfigHint:t=>n({showConfigHint:t})}),{name:"deepseekcode-hook-approval",partialize:n=>({autoMode:n.autoMode,showConfigHint:n.showConfigHint})}));function r9(n){if(!n)return 0;const e=(n.match(/[\u4e00-\u9fff]/g)||[]).length,t=n.length-e;return Math.ceil(e*1.5+t*.25)}const st=An((n,e)=>({currentUsage:{promptTokens:0,completionTokens:0,totalTokens:0,estimatedCost:0},maxContextTokens:1e6,degradation:null,compactingUntil:0,lastCompactInfo:null,compactionProgress:null,cacheStats:null,showTokenInfo:!1,model:"",modelRef:"",history:[],_hasBackendData:!1,tokenRate:0,sessionBaseTotal:0,workflowTokens:0,_lastTotal:0,_lastTotalTs:0,contextDistribution:null,thresholdWarning:null,retryState:null,contextBreakdown:null,setContextDistribution:t=>n({contextDistribution:t}),setContextBreakdown:t=>n({contextBreakdown:t}),setThresholdWarning:t=>n({thresholdWarning:t}),setRetryState:t=>n({retryState:t}),updateUsage:t=>n(a=>{const s=t.totalTokens??a.currentUsage.totalTokens,o=Date.now(),l=a._lastTotal,u=a._lastTotalTs;let d=a.tokenRate;if(u>0&&l>0&&o>u&&s>l){const h=s-l,m=(o-u)/1e3,p=h/m;d=d>0?d*.6+p*.4:p}return{currentUsage:{...a.currentUsage,...t},_hasBackendData:!0,tokenRate:d,_lastTotal:s,_lastTotalTs:o}}),setModel:t=>n({model:t}),setModelRef:t=>n({modelRef:t}),addWorkflowTokens:t=>n(a=>({workflowTokens:a.workflowTokens+(Number(t)||0)})),setMaxContextTokens:t=>n({maxContextTokens:t}),setDegradation:t=>n({degradation:t}),setCompacting:t=>n({compactingUntil:Date.now()+3e3,lastCompactInfo:t}),setCompactionProgress:t=>n({compactionProgress:t}),setCacheStats:t=>n({cacheStats:t}),accumulateCacheStats:(t,a)=>n(s=>{const o=s.cacheStats,l=((o==null?void 0:o.cacheHitTokens)??0)+t,u=((o==null?void 0:o.cacheMissTokens)??0)+a;return{cacheStats:{cacheHitTokens:l,cacheMissTokens:u,cacheHitRate:l+u>0?l/(l+u):void 0,cacheStatsCalls:((o==null?void 0:o.cacheStatsCalls)??0)+1}}}),setShowTokenInfo:t=>n({showTokenInfo:t}),addToHistory:t=>n(a=>({history:[...a.history.slice(-100),{timestamp:Date.now(),usage:t}]})),estimateTokens:t=>r9(t),recalculateFromMessages:t=>{if(!t||t.length===0){n({currentUsage:{promptTokens:0,completionTokens:0,totalTokens:0,estimatedCost:0},_hasBackendData:!1});return}if(e()._hasBackendData)return;const a=e().estimateTokens;let s=0,o=0;for(const d of t){let h=d.content||"";if(d.thinking&&(h+=" "+d.thinking),d.steps)for(const p of d.steps)p.thought&&(h+=" "+p.thought),p.action&&(h+=" "+p.action),p.result&&(h+=" "+p.result);if(d.toolCalls)for(const p of d.toolCalls)p.args&&(h+=" "+(typeof p.args=="string"?p.args:JSON.stringify(p.args)));const m=a(h);d.type==="user"?s+=m:o+=m}const l=s+o,u=s/1e6*.15+o/1e6*.6;n({currentUsage:{promptTokens:s,completionTokens:o,totalTokens:l,estimatedCost:u}})},resetUsage:()=>n(t=>({currentUsage:{promptTokens:0,completionTokens:0,totalTokens:0,estimatedCost:0},_hasBackendData:!1,sessionBaseTotal:t.currentUsage.totalTokens,workflowTokens:0,tokenRate:0,_lastTotal:0,_lastTotalTs:0,contextDistribution:null,thresholdWarning:null,contextBreakdown:null}))})),fx="";function Qd(n){return`${fx}${n}`}class s9{constructor(e){W(this,"baseUrl");this.baseUrl=e}async request(e,t={}){try{const a=sessionStorage.getItem("auth_token")??localStorage.getItem("auth_token"),s={"Content-Type":"application/json",...t.headers};a&&(s.Authorization=`Bearer ${a}`);const o=await fetch(`${this.baseUrl}${e}`,{headers:s,...t}),l=await o.json();return o.ok?l&&typeof l.success=="boolean"?{success:l.success,data:l.data,error:l.error}:{success:!0,data:l}:{success:!1,error:l.error||`HTTP ${o.status}`,data:l.data}}catch(a){return{success:!1,error:a instanceof Error?a.message:"Network error"}}}get(e){return this.request(e,{method:"GET"})}post(e,t){return this.request(e,{method:"POST",body:t?JSON.stringify(t):void 0})}put(e,t){return this.request(e,{method:"PUT",body:t?JSON.stringify(t):void 0})}delete(e,t){return this.request(e,{method:"DELETE",body:t?JSON.stringify(t):void 0})}patch(e,t){return this.request(e,{method:"PATCH",body:t?JSON.stringify(t):void 0})}}const X=new s9(fx),ft={providers:{presets:()=>X.get("/api/providers/presets"),refresh:()=>X.post("/api/providers/refresh"),testConnection:(n,e)=>X.post("/api/providers/test-connection",{baseUrl:n,apiKey:e})},models:{list:async()=>{var e;const n=await X.get("/api/models");return n.success&&((e=n.data)!=null&&e.models)&&(n.data.models=n.data.models.map(t=>({...t,isGlobalDefault:t.isDefault===!0}))),n},get:n=>X.get(`/api/models/${n}`),create:n=>X.post("/api/models",n),update:(n,e,t)=>X.post("/api/models/update",{provider:n,modelId:e,...t}),delete:(n,e)=>X.post("/api/models/delete",{provider:n,modelId:e}),test:n=>X.post(`/api/models/${n}/test`),fetch:(n,e,t)=>X.post("/api/models/fetch",{baseUrl:n,apiKey:e,fullPath:t}),byProvider:(n,e)=>{const t=new URLSearchParams({provider:n});return e&&t.set("q",e),X.get(`/api/models/by-provider?${t.toString()}`)},catalogSearch:n=>{const e=new URLSearchParams;n.q&&e.set("q",n.q),n.toolCall&&e.set("toolCall","1"),n.reasoning&&e.set("reasoning","1"),n.minContext&&e.set("minContext",String(n.minContext)),n.limit&&e.set("limit",String(n.limit));const t=e.toString();return X.get(`/api/models/catalog${t?`?${t}`:""}`)},toggle:(n,e)=>X.post("/api/models/toggle",{provider:n,modelId:e}),setDefaults:n=>X.post("/api/models/defaults",n)},tools:{list:()=>X.get("/api/tools"),get:n=>X.get(`/api/tools/${n}`),update:(n,e)=>X.put(`/api/tools/${n}`,e),toggle:(n,e)=>X.post(`/api/tools/${n}/toggle`,{enabled:e})},connectors:{list:()=>X.get("/api/connectors"),get:n=>X.get(`/api/connectors/${encodeURIComponent(n)}`),toggle:(n,e,t)=>X.post(`/api/connectors/${encodeURIComponent(n)}/toggle`,{enabled:e,env:t}),addCustom:n=>X.post("/api/connectors/custom",n),removeCustom:n=>X.delete(`/api/connectors/custom/${encodeURIComponent(n)}`)},skills:{list:()=>X.get("/api/skills"),get:n=>X.get(`/api/skills/${n}`),create:n=>X.post("/api/skills",n),update:(n,e)=>X.put(`/api/skills/${n}`,e),toggle:(n,e)=>X.post(`/api/skills/${n}/toggle`,{enabled:e}),delete:n=>X.delete(`/api/skills/${n}`),import:n=>X.post("/api/skills/import",n),marketplaces:{list:()=>X.get("/api/skills/marketplaces"),add:n=>X.post("/api/skills/marketplaces",n),remove:n=>X.delete(`/api/skills/marketplaces/${n}`),get:n=>X.get(`/api/skills/marketplaces/${n}`),refresh:n=>X.post(`/api/skills/marketplaces/${n}/refresh`,{}),install:(n,e)=>X.post(`/api/skills/marketplaces/${n}/install`,{skillId:e})},workshop:{list:n=>X.get(`/api/skills/workshop${n?`?status=${n}`:""}`),propose:n=>X.post("/api/skills/workshop",n),apply:n=>X.post(`/api/skills/workshop/${n}/apply`,{}),reject:n=>X.post(`/api/skills/workshop/${n}/reject`,{})},config:{get:n=>X.get(`/api/skills/${n}/config`),update:(n,e)=>X.put(`/api/skills/${n}/config`,e)}},files:{list:n=>X.get(`/api/files${n?`?path=${encodeURIComponent(n)}`:""}`),read:n=>X.get(`/api/files/read?path=${encodeURIComponent(n)}`),create:(n,e)=>X.post("/api/files",{path:n,content:e}),update:(n,e)=>X.put("/api/files/write",{path:n,content:e}),delete:n=>X.delete(`/api/files?path=${encodeURIComponent(n)}`),download:async n=>{try{const e={},t=sessionStorage.getItem("auth_token")??localStorage.getItem("auth_token");t&&(e.Authorization=`Bearer ${t}`);const a=await fetch(Qd(`/api/files/download?path=${encodeURIComponent(n)}`),{headers:e});if(!a.ok){let u=`HTTP ${a.status}`;try{const d=await a.json();d!=null&&d.error&&(u=d.error)}catch{}return{success:!1,error:u}}const s=await a.blob(),o=URL.createObjectURL(s),l=document.createElement("a");return l.href=o,l.download=n.split(/[\\/]/).pop()||"download",l.click(),URL.revokeObjectURL(o),{success:!0}}catch(e){return{success:!1,error:e instanceof Error?e.message:"Download failed"}}},upload:async(n,e)=>{try{const t=await i9(n);return X.post("/api/files/upload",{path:e,content:t,base64:!0})}catch(t){return{success:!1,error:t instanceof Error?t.message:"Upload failed"}}}},dirs:{list:n=>X.get(`/api/dirs${n?`?path=${encodeURIComponent(n)}`:""}`)},sessions:{list:()=>X.get("/api/sessions"),get:n=>X.get(`/api/sessions/${n}`),create:n=>X.post("/api/sessions",{title:n}),delete:n=>X.delete(`/api/sessions/${n}`),resume:n=>X.get(`/api/sessions/${encodeURIComponent(n)}/resume`)},trajectory:{events:async(n,e=0,t=500)=>{var l,u;const a=encodeURIComponent(n),s=await X.get(`/api/plugins/http/trajectory/api/events?sessionId=${a}&cursor=${e}&limit=${t}`);if(s.success&&Array.isArray((l=s.data)==null?void 0:l.events))return{success:!0,data:{events:s.data.events,hasMore:!!s.data.hasMore||s.data.events.length===t}};const o=await X.get(`/api/plugins/http/trajectory/api/trajectory?sid=${a}&off=${e}&lim=${t}`);if(o.success&&Array.isArray((u=o.data)==null?void 0:u.events)){const d=o.data.events,h=o.data.nextOffset??e+d.length,m=o.data.total??h;return{success:!0,data:{events:d,hasMore:h<m&&d.length>0}}}return{success:!1,error:s.error||o.error||"轨迹插件不可用"}}},tasks:{list:n=>X.get(n?`/api/tasks?sessionId=${encodeURIComponent(n)}`:"/api/tasks"),get:n=>X.get(`/api/tasks/${n}`),create:n=>X.post("/api/tasks",n),update:(n,e)=>X.put(`/api/tasks/${n}`,e),updateStatus:(n,e)=>X.patch(`/api/tasks/${n}/status`,{status:e}),delete:n=>X.delete(`/api/tasks/${n}`),clearCompleted:()=>X.delete("/api/tasks")},config:{provider:{get:()=>X.get("/api/config/provider"),save:n=>X.post("/api/config/provider",n),delete:n=>X.post("/api/config/provider/remove",{provider:n}),setDefault:n=>X.post("/api/config/provider",{provider:n,setDefault:!0})},files:{list:()=>X.get("/api/config/files"),read:n=>X.get(`/api/config/files/read?file=${encodeURIComponent(n)}`),write:(n,e)=>X.put("/api/config/files/write",{file:n,content:e})},context:{get:()=>X.get("/api/config/context"),save:n=>X.post("/api/config/context",n)}},git:{status:()=>X.get("/api/git/status"),branches:()=>X.get("/api/git/branches"),commit:n=>X.post("/api/git/commit",n),push:()=>X.post("/api/git/push"),checkout:n=>X.post("/api/git/checkout",{branch:n}),prStatus:()=>X.get("/api/repos/pr")},fileJob:{parse:n=>X.post("/api/filejob/parse",{files:n}),parsePaths:n=>X.post("/api/filejob/parse",{paths:n}),importPaths:n=>X.post("/api/filejob/import",{paths:n}),render:n=>X.post("/api/filejob/render",n)},system:{status:()=>X.get("/api/system/status"),restart:()=>X.post("/api/system/restart"),shutdown:()=>X.post("/api/system/shutdown")},observability:{summary:()=>X.get("/api/observability/summary"),costs:()=>X.get("/api/observability/costs"),listRuns:()=>X.get("/api/observability/runs"),getRun:n=>X.get(`/api/observability/runs/${encodeURIComponent(n)}`),getRunEvents:(n,e=0,t=50)=>X.get(`/api/observability/runs/${encodeURIComponent(n)}/events?page=${e}&size=${t}`)},templates:{list:()=>X.get("/api/templates"),get:n=>X.get(`/api/templates/${encodeURIComponent(n)}`),create:n=>X.post("/api/templates",n),update:(n,e)=>X.put(`/api/templates/${encodeURIComponent(n)}`,e),remove:n=>X.delete(`/api/templates/${encodeURIComponent(n)}`),versions:n=>X.get(`/api/templates/${encodeURIComponent(n)}/versions`),getVersion:(n,e)=>X.get(`/api/templates/${encodeURIComponent(n)}/versions/${e}`),render:(n,e)=>X.post(`/api/templates/${encodeURIComponent(n)}/render`,{inputs:e}),createFromRun:(n,e)=>X.post("/api/templates",{sourceRunId:n,generalize:(e==null?void 0:e.generalize)===!0,name:e==null?void 0:e.name,message:e==null?void 0:e.message})},workflows:{list:()=>X.get("/api/workflows"),start:n=>X.post("/api/workflows",n),get:n=>X.get(`/api/workflows/${encodeURIComponent(n)}`),synthesize:n=>X.post("/api/workflows/synthesize",{message:n})},plans:{list:()=>X.get("/api/plans"),read:n=>X.get(`/api/plans/${encodeURIComponent(n)}`),delete:n=>X.delete(`/api/plans/${encodeURIComponent(n)}`)},logs:{list:()=>X.get("/api/logs"),read:(n,e)=>X.get(`/api/logs/read?file=${encodeURIComponent(n)}${e?`&maxLines=${e}`:""}`),downloadUrl:n=>`/api/logs/download?file=${encodeURIComponent(n)}`},stt:{status:()=>X.get("/api/stt/status"),transcribe:(n,e,t="wav")=>X.post("/api/stt/transcribe",{language:n,audio:e,format:t}),install:n=>X.post("/api/stt/install",{backend:n}),installStatus:()=>X.get("/api/stt/install/status"),cancelInstall:()=>X.post("/api/stt/install/cancel")},hooks:{list:()=>X.get("/api/hooks/rules"),get:n=>X.get(`/api/hooks/rules/${encodeURIComponent(n)}`),create:n=>X.post("/api/hooks/rules",n),update:(n,e)=>X.put(`/api/hooks/rules/${encodeURIComponent(n)}`,e),delete:n=>X.delete(`/api/hooks/rules/${encodeURIComponent(n)}`),batchDelete:n=>X.post("/api/hooks/rules/batch-delete",{names:n}),toggle:(n,e)=>X.patch(`/api/hooks/rules/${encodeURIComponent(n)}/toggle`,{enabled:e}),batchToggle:(n,e)=>X.post("/api/hooks/rules/batch-toggle",{names:n,enabled:e}),dryRun:n=>X.post("/api/hooks/dry-run",n),stats:()=>X.get("/api/hooks/stats"),events:()=>X.get("/api/hooks/events"),agents:()=>X.get("/api/hooks/agents"),export:()=>X.get("/api/hooks/export"),import:n=>X.post("/api/hooks/import",n)},channels:{list:()=>X.get("/api/channels"),types:()=>X.get("/api/channels/types"),create:n=>X.post("/api/channels",n),update:(n,e)=>X.put(`/api/channels/${encodeURIComponent(n)}`,e),delete:n=>X.delete(`/api/channels/${encodeURIComponent(n)}`),toggle:(n,e)=>X.patch(`/api/channels/${encodeURIComponent(n)}/toggle`,{enabled:e}),test:n=>X.post(`/api/channels/${encodeURIComponent(n)}/test`),wechat:{qrcode:(n,e)=>X.get(`/api/channels/${encodeURIComponent(n)}/wechat/qrcode?token=${encodeURIComponent(e)}`),qrcodeStatus:(n,e,t)=>X.get(`/api/channels/${encodeURIComponent(n)}/wechat/qrcode/status?token=${encodeURIComponent(e)}&qrcode=${encodeURIComponent(t)}`)},weixin:{bind:()=>X.get("/api/weixin/bind"),bindStatus:n=>X.get(`/api/weixin/bind/status?qrcode=${encodeURIComponent(n)}`)}},automations:{list:()=>X.get("/api/automations"),create:n=>X.post("/api/automations",n),update:(n,e)=>X.put(`/api/automations/${encodeURIComponent(n)}`,e),remove:n=>X.delete(`/api/automations/${encodeURIComponent(n)}`),toggle:(n,e)=>X.post(`/api/automations/${encodeURIComponent(n)}/toggle`,{enabled:e}),run:n=>X.post(`/api/automations/${encodeURIComponent(n)}/run`),runs:n=>X.get(`/api/automations/${encodeURIComponent(n)}/runs`),addPermission:(n,e,t)=>X.post(`/api/automations/${encodeURIComponent(n)}/permissions`,{tool:e,target:t}),revokePermission:(n,e)=>X.delete(`/api/automations/${encodeURIComponent(n)}/permissions`,{entry:e})}};function i9(n){return new Promise((e,t)=>{const a=new FileReader;a.onload=()=>{const s=a.result,o=s.indexOf(",");e(o>=0?s.slice(o+1):s)},a.onerror=()=>t(a.error||new Error("Failed to read file")),a.readAsDataURL(n)})}const Om=n=>n==="normal"?"act":n;let Td=0;const o9=n=>n==="normal"?"normal":n==="auto"?"auto-act":Y_(typeof n=="string"?n:void 0),yc=n=>n==="normal"?"act":Wo(n)?"auto":Ia(n),Zo=An()(oi((n,e)=>({mode:"auto-act",currentPlanContent:null,modeHistory:[],thinkingStatusBySession:{},prePlanMode:null,setMode:t=>{const a=e().mode;if(a===t)return;n(h=>({mode:t,modeHistory:[...h.modeHistory,{previousMode:a,newMode:t,description:`Mode changed: ${a} -> ${t}`,timestamp:Date.now()}]})),ns.getState().setAutoMode(t!=="normal"&&Wo(t));const s=yc(a),o=yc(t),l=a==="normal"?"act":Ia(a),u=t==="normal"?"act":Ia(t);if(l===u&&s===o)return;try{const h=We.getState().activeSessionId||Re.getSessionId();h&&Re.send({type:"plan_mode_change",sessionId:h,data:JSON.stringify({previousMode:yc(a),newMode:yc(t),frontendMode:t,timestamp:Date.now()})})}catch(h){console.warn("[ExecutionModeStore] Failed to notify mode change via WS:",h)}const d=++Td;ft.models.list().then(h=>{var _;if(d!==Td||!h.success||!((_=h.data)!=null&&_.models))return;const m=h.data.models.filter(T=>T.enabled!==!1),p=Ia(Om(t)),b=m.find(T=>T.defaultFor===p),x=m.find(T=>T.isDefault||T.defaultFor==="global"),k=b||x||m[0];k&&(st.getState().setModel(k.id),st.getState().setModelRef(`${k.provider}:${k.id}`))}).catch(h=>{console.warn("[ExecutionModeStore] Failed to refresh models:",h)})},applyBackendMode:t=>{const a=e().mode;if(a===t)return;n(o=>({mode:t,prePlanMode:t!=="plan"?null:o.prePlanMode,modeHistory:[...o.modeHistory,{previousMode:a,newMode:t,description:`Backend mode changed: ${a} -> ${t}`,timestamp:Date.now()}]})),ns.getState().setAutoMode(t!=="normal"&&Wo(t));const s=++Td;ft.models.list().then(o=>{var p;if(s!==Td||!o.success||!((p=o.data)!=null&&p.models))return;const l=o.data.models.filter(b=>b.enabled!==!1),u=Ia(Om(t)),d=l.find(b=>b.defaultFor===u),h=l.find(b=>b.isDefault||b.defaultFor==="global"),m=d||h||l[0];m&&(st.getState().setModel(m.id),st.getState().setModelRef(`${m.provider}:${m.id}`))}).catch(o=>{console.warn("[ExecutionModeStore] Failed to refresh models after backend mode change:",o)})},toggleMode:()=>{const t=e().mode,a=t==="normal"?"act":W_(t);e().setMode(a)},setBaseMode:t=>{const a=e().mode,s=a!=="normal"&&Wo(a);e().setMode(Wp(t,s))},setAuto:t=>{e().setMode(Wp(Ia(Om(e().mode)),t))},toggleAuto:()=>{const t=e().mode;e().setMode(t==="normal"?"auto-act":V_(t))},enterPlanMode:(t,a)=>{const s=e().mode,o=s!=="normal"&&Ia(s)!=="plan"?s:e().prePlanMode,l=s!=="normal"&&Ia(s)==="goal"?"goal":"plan";n(u=>({mode:l,prePlanMode:o,modeHistory:[...u.modeHistory,{previousMode:s,newMode:l,description:`Enter ${l} mode: ${a}`,timestamp:Date.now()}]})),ns.getState().setAutoMode(!1)},exitPlanMode:(t,a)=>{const s=e().mode,o=e().prePlanMode,l=o&&(o==="normal"||Ia(o)!=="plan")?o:"act";n(u=>({mode:l,prePlanMode:null,modeHistory:[...u.modeHistory,{previousMode:s,newMode:l,description:`Exit to ${l} mode: ${a}`,timestamp:Date.now()}]})),ns.getState().setAutoMode(l!=="normal"&&Wo(l))},enterGoalMode:(t,a)=>{const s=e().mode;n(o=>({mode:"goal",modeHistory:[...o.modeHistory,{previousMode:s,newMode:"goal",description:`Enter Goal mode: ${a}`,timestamp:Date.now()}]})),ns.getState().setAutoMode(!1);try{const o=We.getState().activeSessionId||Re.getSessionId()||void 0;Re.send({type:"plan_mode_change",sessionId:o,data:JSON.stringify({previousMode:yc(s),newMode:"goal",frontendMode:"goal",goalDescription:a,timestamp:Date.now()})})}catch(o){console.warn("[ExecutionModeStore] Failed to notify goal mode change via WS:",o)}},exitGoalMode:()=>{const t=e().mode;n(a=>({mode:"act",modeHistory:[...a.modeHistory,{previousMode:t,newMode:"act",description:"Exit Goal mode",timestamp:Date.now()}]})),ns.getState().setAutoMode(!1)},setPlanContent:t=>n({currentPlanContent:t}),setThinkingStatus:(t,a)=>n(s=>({thinkingStatusBySession:{...s.thinkingStatusBySession,[t]:a}})),getThinkingStatus:t=>e().thinkingStatusBySession[t]||"",reset:()=>n({mode:"auto-act",currentPlanContent:null,modeHistory:[],thinkingStatusBySession:{},prePlanMode:null})}),{name:"deepseekcode-plan-storage",version:1,migrate:n=>n,merge:(n,e)=>{const t=n??{};return{...e,...t,mode:o9(t.mode)}},partialize:n=>({mode:n.mode,currentPlanContent:n.currentPlanContent,modeHistory:n.modeHistory})}));function hx(n){var e,t,a="";if(typeof n=="string"||typeof n=="number")a+=n;else if(typeof n=="object")if(Array.isArray(n)){var s=n.length;for(e=0;e<s;e++)n[e]&&(t=hx(n[e]))&&(a&&(a+=" "),a+=t)}else for(t in n)n[t]&&(a&&(a+=" "),a+=t);return a}function l9(){for(var n,e,t=0,a="",s=arguments.length;t<s;t++)(n=arguments[t])&&(e=hx(n))&&(a&&(a+=" "),a+=e);return a}function Wt(...n){return l9(n)}const Lm=200,g2=(n,e)=>({runId:e,sessionId:n,status:"RUNNING",completedPhases:0,totalPhases:0,completedEffects:0,totalEffects:0,tokensUsed:0,tokensRemaining:0,updatedAt:Date.now()}),er=()=>Date.now(),kr=(n,e)=>{const t=String(n||"").toLowerCase();return e||t==="done"||t==="success"||t==="completed"||t==="complete"?"completed":t==="running"||t==="in_progress"||t==="started"?"running":t==="failed"||t==="error"?"failed":t==="skipped"||t==="cancelled"||t==="canceled"?"skipped":"pending"},y2=n=>n.id||`${n.type||"event"}-${n.timestamp||er()}-${Math.random().toString(36).slice(2,8)}`;function Bm(n){if(!Array.isArray(n)||n.length===0)return{totalPhases:0,completedNodes:0};const e=n.length,t=n.filter(a=>a.status==="completed"||a.status==="skipped"||a.status==="failed").length;return{totalPhases:e,completedNodes:t}}const xt=An()(oi((n,e)=>({bySession:{},byRun:{},agentsBySession:{},tasksBySession:{},eventsBySession:{},plansBySession:{},upsert:(t,a)=>n(s=>{const o=a.runId,l=s.byRun[o]||s.bySession[t]||g2(t,o),u={...l.agentNodes||{}};a.agentNode&&(u[a.agentNode.nodeId]=a.agentNode);const{agentNode:d,...h}=a,m={...l,...h,agentNodes:u,sessionId:t,runId:o,updatedAt:er()},p={...s.agentsBySession[t]||{}};d&&(p[d.nodeId]={...p[d.nodeId]||{},id:d.nodeId,sessionId:t,name:d.role,role:d.role,source:"workflow",runId:o,phase:d.phase,status:d.status,tokens:d.tokens,error:d.error,updatedAt:d.updatedAt||er()});const b=a.lastEventType||a.status||"workflow_update",k=[{id:y2({type:b}),sessionId:t,type:b,source:"workflow",timestamp:er(),status:m.status,runId:o,agentId:d==null?void 0:d.nodeId,message:m.error,data:h},...s.eventsBySession[t]||[]].slice(0,Lm);return{bySession:{...s.bySession,[t]:m},byRun:{...s.byRun,[o]:m},agentsBySession:{...s.agentsBySession,[t]:p},eventsBySession:{...s.eventsBySession,[t]:k}}}),fail:(t,a,s)=>e().upsert(t,{runId:a,status:"ERROR",error:s,lastEventType:"workflow_error"}),getForSession:t=>e().bySession[t],setPlan:(t,a)=>n(s=>({plansBySession:{...s.plansBySession,[t]:a}})),clearPlan:t=>n(a=>{if(!a.plansBySession[t])return{};const s={...a.plansBySession};return delete s[t],{plansBySession:s}}),getPlanForSession:t=>e().plansBySession[t],setNodes:(t,a,s)=>n(o=>{const l=o.byRun[a],u=l||o.bySession[t]||g2(t,a),d=s.map(b=>{var x;return((x=u.nodes)==null?void 0:x.find(k=>k.id===b.id))||b}),{totalPhases:h,completedNodes:m}=Bm(d),p={...u,runId:a,sessionId:t,nodes:d,totalPhases:h||u.totalPhases,completedPhases:l?m||u.completedPhases:m,updatedAt:er()};return{bySession:{...o.bySession,[t]:p},byRun:{...o.byRun,[a]:p}}}),setNodeStatus:(t,a,s,o)=>n(l=>{const u=l.byRun[a],d=u||l.bySession[t];if(!d)return{};const h=(d.nodes||[]).map(x=>x.id===s?{...x,...o}:x),{totalPhases:m,completedNodes:p}=Bm(h),b={...d,nodes:h,totalPhases:m||d.totalPhases,completedPhases:u?p||d.completedPhases:p,updatedAt:er()};return{bySession:{...l.bySession,[t]:b},byRun:{...l.byRun,[a]:b}}}),finalizeNodes:(t,a,s)=>n(o=>{const l=o.byRun[a]||o.bySession[t];if(!l||!Array.isArray(l.nodes))return{};const u=l.nodes.map(p=>p.status==="pending"||p.status==="ready"||p.status==="blocked"?{...p,status:"skipped"}:p),{totalPhases:d,completedNodes:h}=Bm(u),m={...l,nodes:u,completedPhases:h||l.completedPhases,totalPhases:d||l.totalPhases,updatedAt:er()};return{bySession:{...o.bySession,[t]:m},byRun:{...o.byRun,[a]:m}}}),upsertAgent:(t,a)=>n(s=>{var u;const o=(u=s.agentsBySession[t])==null?void 0:u[a.id],l={id:a.id,sessionId:t,name:a.name||a.role||(o==null?void 0:o.name)||a.id,role:a.role||(o==null?void 0:o.role)||a.name||a.id,source:a.source||(o==null?void 0:o.source)||"agent",status:a.status||(o==null?void 0:o.status)||"idle",runId:a.runId??(o==null?void 0:o.runId),phase:a.phase??(o==null?void 0:o.phase),taskId:a.taskId??(o==null?void 0:o.taskId),currentTask:a.currentTask??(o==null?void 0:o.currentTask),tokens:a.tokens??(o==null?void 0:o.tokens),error:a.error??(o==null?void 0:o.error),updatedAt:a.updatedAt||er()};return{agentsBySession:{...s.agentsBySession,[t]:{...s.agentsBySession[t]||{},[a.id]:l}}}}),upsertTask:(t,a)=>n(s=>{var h;const o=(h=s.tasksBySession[t])==null?void 0:h[a.id],l=er(),u=a.status||(o==null?void 0:o.status)||"pending",d={id:a.id,sessionId:t,title:a.title||(o==null?void 0:o.title)||a.description||a.id,status:u,source:a.source||(o==null?void 0:o.source)||"task",description:a.description??(o==null?void 0:o.description),agentType:a.agentType??(o==null?void 0:o.agentType),progress:a.progress??(o==null?void 0:o.progress),result:a.result??(o==null?void 0:o.result),error:a.error??(o==null?void 0:o.error),runId:a.runId??(o==null?void 0:o.runId),dependencies:a.dependencies??(o==null?void 0:o.dependencies),startedAt:a.startedAt??(o==null?void 0:o.startedAt)??(u==="running"?l:void 0),completedAt:a.completedAt??(o==null?void 0:o.completedAt)??(u==="completed"||u==="failed"?l:void 0),createdAt:a.createdAt||(o==null?void 0:o.createdAt)||l,updatedAt:a.updatedAt||l,raw:a.raw??(o==null?void 0:o.raw)};return{tasksBySession:{...s.tasksBySession,[t]:{...s.tasksBySession[t]||{},[a.id]:d}}}}),setTasks:(t,a,s="plan")=>n(o=>{const l=o.tasksBySession[t]||{},u=Object.fromEntries(Object.entries(l).filter(([,m])=>m.source!==s)),d=er(),h=Object.fromEntries(a.map((m,p)=>{const b=l[m.id],x=m.status||(b==null?void 0:b.status)||"pending",k={id:m.id,sessionId:t,title:m.title||(b==null?void 0:b.title)||m.description||`Task ${p+1}`,status:x,source:m.source||s,description:m.description??(b==null?void 0:b.description),agentType:m.agentType??(b==null?void 0:b.agentType),progress:m.progress??(b==null?void 0:b.progress),result:m.result??(b==null?void 0:b.result),error:m.error??(b==null?void 0:b.error),runId:m.runId??(b==null?void 0:b.runId),dependencies:m.dependencies??(b==null?void 0:b.dependencies),startedAt:m.startedAt??(b==null?void 0:b.startedAt),completedAt:m.completedAt??(b==null?void 0:b.completedAt),createdAt:m.createdAt||(b==null?void 0:b.createdAt)||d+p,updatedAt:m.updatedAt||d,raw:m.raw??(b==null?void 0:b.raw)};return[k.id,k]}));return{tasksBySession:{...o.tasksBySession,[t]:{...u,...h}}}}),recordEvent:(t,a)=>n(s=>{const o={id:y2(a),sessionId:t,type:a.type,source:a.source||"system",timestamp:a.timestamp||er(),title:a.title,message:a.message,status:a.status,runId:a.runId,agentId:a.agentId,taskId:a.taskId,data:a.data};return{eventsBySession:{...s.eventsBySession,[t]:[o,...s.eventsBySession[t]||[]].slice(0,Lm)}}}),getAgentsForSession:t=>Object.values(e().agentsBySession[t]||{}).sort((a,s)=>s.updatedAt-a.updatedAt),getTasksForSession:t=>Object.values(e().tasksBySession[t]||{}).sort((a,s)=>{const o={running:0,pending:1,failed:2,completed:3,skipped:4};return o[a.status]-o[s.status]||a.createdAt-s.createdAt}),getEventsForSession:t=>e().eventsBySession[t]||[],getAgentTree:t=>{const a=Object.values(e().agentsBySession[t]||{}),s=new Map(a.map(d=>[d.id,d])),o=a.filter(d=>!d.parentId||!s.has(d.parentId)),l=d=>a.filter(h=>h.parentId===d),u=d=>({agent:d,children:l(d.id).map(u),isRunning:d.status==="running",tokensUsed:d.tokens||0});return o.map(u)},getRunningAgentCount:t=>Object.values(e().agentsBySession[t]||{}).filter(s=>s.status==="running").length}),{name:"deepseekcode-workflow-store",storage:Zg({key:"workflowStore",trims:[n=>({...n,state:{...n.state,eventsBySession:Object.fromEntries(Object.entries(n.state.eventsBySession).map(([e,t])=>[e,t.slice(-50)])),tasksBySession:Object.fromEntries(Object.entries(n.state.tasksBySession).map(([e,t])=>[e,Object.fromEntries(Object.entries(t).map(([a,s])=>[a,{...s,result:s.result?String(s.result).slice(0,1e3):void 0,error:s.error?String(s.error).slice(0,1e3):void 0}]))]))}}),n=>({...n,state:{...n.state,eventsBySession:{}}}),n=>({...n,state:{...n.state,tasksBySession:{},agentsBySession:{}}})],onFailure:()=>{try{is.getState().addToast("warning","任务看板数据保存失败:浏览器本地存储已满或不可用。当前数据仅保留在内存中,刷新页面将丢失。",8e3)}catch{}}}),partialize:n=>({bySession:n.bySession,byRun:n.byRun,agentsBySession:n.agentsBySession,plansBySession:n.plansBySession,tasksBySession:Object.fromEntries(Object.entries(n.tasksBySession).map(([e,t])=>[e,Object.fromEntries(Object.entries(t).map(([a,s])=>{const{raw:o,...l}=s;return[a,l]}))])),eventsBySession:Object.fromEntries(Object.entries(n.eventsBySession).map(([e,t])=>[e,t.slice(-Lm).map(a=>{const{data:s,...o}=a;return o})]))})}));function c9(n,e){const t=String(n);let a=t.indexOf(e),s=a,o=0,l=0;for(;a!==-1;)a===s?++o>l&&(l=o):o=1,s=a+e.length,a=t.indexOf(e,s);return l}function u9(){return{enter:{mathFlow:n,mathFlowFenceMeta:e,mathText:o},exit:{mathFlow:s,mathFlowFence:a,mathFlowFenceMeta:t,mathFlowValue:u,mathText:l,mathTextData:u}};function n(d){const h={type:"element",tagName:"code",properties:{className:["language-math","math-display"]},children:[]};this.enter({type:"math",meta:null,value:"",data:{hName:"pre",hChildren:[h]}},d)}function e(){this.buffer()}function t(){const d=this.resume(),h=this.stack[this.stack.length-1];uc(h.type==="math"),h.meta=d}function a(){this.data.mathFlowInside||(this.buffer(),this.data.mathFlowInside=!0)}function s(d){const h=this.resume().replace(/^(\r?\n|\r)|(\r?\n|\r)$/g,""),m=this.stack[this.stack.length-1];uc(m.type==="math"),this.exit(d),m.value=h;const p=m.data.hChildren[0];uc(p.type==="element"),uc(p.tagName==="code"),p.children.push({type:"text",value:h}),this.data.mathFlowInside=void 0}function o(d){this.enter({type:"inlineMath",value:"",data:{hName:"code",hProperties:{className:["language-math","math-inline"]},hChildren:[]}},d),this.buffer()}function l(d){const h=this.resume(),m=this.stack[this.stack.length-1];uc(m.type==="inlineMath"),this.exit(d),m.value=h,m.data.hChildren.push({type:"text",value:h})}function u(d){this.config.enter.data.call(this,d),this.config.exit.data.call(this,d)}}function d9(n){let e=(n||{}).singleDollarTextMath;return e==null&&(e=!0),a.peek=s,{unsafe:[{character:"\r",inConstruct:"mathFlowMeta"},{character:`
|
|
28
|
-
`,inConstruct:"mathFlowMeta"},{character:"$",after:e?void 0:"\\$",inConstruct:"phrasing"},{character:"$",inConstruct:"mathFlowMeta"},{atBreak:!0,character:"$",after:"\\$"}],handlers:{math:t,inlineMath:a}};function t(o,l,u,d){const h=o.value||"",m=u.createTracker(d),p="$".repeat(Math.max(c9(h,"$")+1,2)),b=u.enter("mathFlow");let x=m.move(p);if(o.meta){const k=u.enter("mathFlowMeta");x+=m.move(u.safe(o.meta,{after:`
|
|
29
|
-
`,before:x,encode:["$"],...m.current()})),k()}return x+=m.move(`
|
|
30
|
-
`),h&&(x+=m.move(h+`
|
|
31
|
-
`)),x+=m.move(p),b(),x}function a(o,l,u){let d=o.value||"",h=1;for(e||h++;new RegExp("(^|[^$])"+"\\$".repeat(h)+"([^$]|$)").test(d);)h++;const m="$".repeat(h);/[^ \r\n]/.test(d)&&(/^[ \r\n]/.test(d)&&/[ \r\n]$/.test(d)||/^\$|\$$/.test(d))&&(d=" "+d+" ");let p=-1;for(;++p<u.unsafe.length;){const b=u.unsafe[p];if(!b.atBreak)continue;const x=u.compilePattern(b);let k;for(;k=x.exec(d);){let _=k.index;d.codePointAt(_)===10&&d.codePointAt(_-1)===13&&_--,d=d.slice(0,_)+" "+d.slice(k.index+1)}}return m+d+m}function s(){return"$"}}const f9={tokenize:h9,concrete:!0,name:"mathFlow"},v2={tokenize:m9,partial:!0};function h9(n,e,t){const a=this,s=a.events[a.events.length-1],o=s&&s[1].type==="linePrefix"?s[2].sliceSerialize(s[1],!0).length:0;let l=0;return u;function u(E){return n.enter("mathFlow"),n.enter("mathFlowFence"),n.enter("mathFlowFenceSequence"),d(E)}function d(E){return E===36?(n.consume(E),l++,d):l<2?t(E):(n.exit("mathFlowFenceSequence"),Sd(n,h,"whitespace")(E))}function h(E){return E===null||Li(E)?p(E):(n.enter("mathFlowFenceMeta"),n.enter("chunkString",{contentType:"string"}),m(E))}function m(E){return E===null||Li(E)?(n.exit("chunkString"),n.exit("mathFlowFenceMeta"),p(E)):E===36?t(E):(n.consume(E),m)}function p(E){return n.exit("mathFlowFence"),a.interrupt?e(E):n.attempt(v2,b,T)(E)}function b(E){return n.attempt({tokenize:N,partial:!0},T,x)(E)}function x(E){return(o?Sd(n,k,"linePrefix",o+1):k)(E)}function k(E){return E===null?T(E):Li(E)?n.attempt(v2,b,T)(E):(n.enter("mathFlowValue"),_(E))}function _(E){return E===null||Li(E)?(n.exit("mathFlowValue"),k(E)):(n.consume(E),_)}function T(E){return n.exit("mathFlow"),e(E)}function N(E,L,B){let j=0;return Sd(E,q,"linePrefix",a.parser.constructs.disable.null.includes("codeIndented")?void 0:4);function q(J){return E.enter("mathFlowFence"),E.enter("mathFlowFenceSequence"),K(J)}function K(J){return J===36?(j++,E.consume(J),K):j<l?B(J):(E.exit("mathFlowFenceSequence"),Sd(E,te,"whitespace")(J))}function te(J){return J===null||Li(J)?(E.exit("mathFlowFence"),L(J)):B(J)}}}function m9(n,e,t){const a=this;return s;function s(l){return l===null?e(l):(n.enter("lineEnding"),n.consume(l),n.exit("lineEnding"),o)}function o(l){return a.parser.lazy[a.now().line]?t(l):e(l)}}function p9(n){let t=(n||{}).singleDollarTextMath;return t==null&&(t=!0),{tokenize:a,resolve:g9,previous:y9,name:"mathText"};function a(s,o,l){let u=0,d,h;return m;function m(_){return s.enter("mathText"),s.enter("mathTextSequence"),p(_)}function p(_){return _===36?(s.consume(_),u++,p):u<2&&!t?l(_):(s.exit("mathTextSequence"),b(_))}function b(_){return _===null?l(_):_===36?(h=s.enter("mathTextSequence"),d=0,k(_)):_===32?(s.enter("space"),s.consume(_),s.exit("space"),b):Li(_)?(s.enter("lineEnding"),s.consume(_),s.exit("lineEnding"),b):(s.enter("mathTextData"),x(_))}function x(_){return _===null||_===32||_===36||Li(_)?(s.exit("mathTextData"),b(_)):(s.consume(_),x)}function k(_){return _===36?(s.consume(_),d++,k):d===u?(s.exit("mathTextSequence"),s.exit("mathText"),o(_)):(h.type="mathTextData",x(_))}}}function g9(n){let e=n.length-4,t=3,a,s;if((n[t][1].type==="lineEnding"||n[t][1].type==="space")&&(n[e][1].type==="lineEnding"||n[e][1].type==="space")){for(a=t;++a<e;)if(n[a][1].type==="mathTextData"){n[e][1].type="mathTextPadding",n[t][1].type="mathTextPadding",t+=2,e-=2;break}}for(a=t-1,e++;++a<=e;)s===void 0?a!==e&&n[a][1].type!=="lineEnding"&&(s=a):(a===e||n[a][1].type==="lineEnding")&&(n[s][1].type="mathTextData",a!==s+2&&(n[s][1].end=n[a-1][1].end,n.splice(s+2,a-s-2),e-=a-s-2,a=s+2),s=void 0);return n}function y9(n){return n!==36||this.events[this.events.length-1][1].type==="characterEscape"}function v9(n){return{flow:{36:f9},text:{36:p9(n)}}}class me extends Error{constructor(e,t){var a="KaTeX parse error: "+e,s,o,l=t&&t.loc;if(l&&l.start<=l.end){var u=l.lexer.input;s=l.start,o=l.end,s===u.length?a+=" at end of input: ":a+=" at position "+(s+1)+": ";var d=u.slice(s,o).replace(/[^]/g,"$&̲"),h;s>15?h="…"+u.slice(s-15,s):h=u.slice(0,s);var m;o+15<u.length?m=u.slice(o,o+15)+"…":m=u.slice(o),a+=h+d+m}super(a),this.name="ParseError",this.position=void 0,this.length=void 0,this.rawMessage=void 0,Object.setPrototypeOf(this,me.prototype),this.position=s,s!=null&&o!=null&&(this.length=o-s),this.rawMessage=e}}var b9=/([A-Z])/g,x9=n=>n.replace(b9,"-$1").toLowerCase(),w9={"&":"&",">":">","<":"<",'"':""","'":"'"},k9=/[&><"']/g,Gn=n=>String(n).replace(k9,e=>w9[e]),Jd=n=>n.type==="ordgroup"||n.type==="color"?n.body.length===1?Jd(n.body[0]):n:n.type==="font"?Jd(n.body):n,S9=new Set(["mathord","textord","atom"]),fs=n=>S9.has(Jd(n).type),_9=n=>{var e=/^[\x00-\x20]*([^\\/#?]*?)(:|�*58|�*3a|&colon)/i.exec(n);return e?e[2]!==":"||!/^[a-zA-Z][a-zA-Z0-9+\-.]*$/.test(e[1])?null:e[1].toLowerCase():"_relative"},Kp={displayMode:{type:"boolean",description:"Render math in display mode, which puts the math in display style (so \\int and \\sum are large, for example), and centers the math on the page on its own line.",cli:"-d, --display-mode"},output:{type:{enum:["htmlAndMathml","html","mathml"]},description:"Determines the markup language of the output.",cli:"-F, --format <type>"},leqno:{type:"boolean",description:"Render display math in leqno style (left-justified tags)."},fleqn:{type:"boolean",description:"Render display math flush left."},throwOnError:{type:"boolean",default:!0,cli:"-t, --no-throw-on-error",cliDescription:"Render errors (in the color given by --error-color) instead of throwing a ParseError exception when encountering an error."},errorColor:{type:"string",default:"#cc0000",cli:"-c, --error-color <color>",cliDescription:"A color string given in the format 'rgb' or 'rrggbb' (no #). This option determines the color of errors rendered by the -t option.",cliProcessor:n=>"#"+n},macros:{type:"object",cli:"-m, --macro <def>",cliDescription:"Define custom macro of the form '\\foo:expansion' (use multiple -m arguments for multiple macros).",cliDefault:[],cliProcessor:(n,e)=>(e.push(n),e)},minRuleThickness:{type:"number",description:"Specifies a minimum thickness, in ems, for fraction lines, `\\sqrt` top lines, `{array}` vertical lines, `\\hline`, `\\hdashline`, `\\underline`, `\\overline`, and the borders of `\\fbox`, `\\boxed`, and `\\fcolorbox`.",processor:n=>Math.max(0,n),cli:"--min-rule-thickness <size>",cliProcessor:parseFloat},colorIsTextColor:{type:"boolean",description:"Makes \\color behave like LaTeX's 2-argument \\textcolor, instead of LaTeX's one-argument \\color mode change.",cli:"-b, --color-is-text-color"},strict:{type:[{enum:["warn","ignore","error"]},"boolean","function"],description:"Turn on strict / LaTeX faithfulness mode, which throws an error if the input uses features that are not supported by LaTeX.",cli:"-S, --strict",cliDefault:!1},trust:{type:["boolean","function"],description:"Trust the input, enabling all HTML features such as \\url.",cli:"-T, --trust"},maxSize:{type:"number",default:1/0,description:"If non-zero, all user-specified sizes, e.g. in \\rule{500em}{500em}, will be capped to maxSize ems. Otherwise, elements and spaces can be arbitrarily large",processor:n=>Math.max(0,n),cli:"-s, --max-size <n>",cliProcessor:parseInt},maxExpand:{type:"number",default:1e3,description:"Limit the number of macro expansions to the specified number, to prevent e.g. infinite macro loops. If set to Infinity, the macro expander will try to fully expand as in LaTeX.",processor:n=>Math.max(0,n),cli:"-e, --max-expand <n>",cliProcessor:n=>n==="Infinity"?1/0:parseInt(n)},globalGroup:{type:"boolean",cli:!1}};function C9(n){if(typeof n!="string")return n.enum[0];switch(n){case"boolean":return!1;case"string":return"";case"number":return 0;case"object":return{};default:throw new Error("Unexpected schema type; settings must declare an explicit default.")}}function T9(n){if(n.default!==void 0)return n.default;var e=Array.isArray(n.type)?n.type[0]:n.type;return C9(e)}function A9(n,e,t,a){var s=t[e];n[e]=s!==void 0?a.processor?a.processor(s):s:T9(a)}class e1{constructor(e){e===void 0&&(e={}),this.displayMode=void 0,this.output=void 0,this.leqno=void 0,this.fleqn=void 0,this.throwOnError=void 0,this.errorColor=void 0,this.macros=void 0,this.minRuleThickness=void 0,this.colorIsTextColor=void 0,this.strict=void 0,this.trust=void 0,this.maxSize=void 0,this.maxExpand=void 0,this.globalGroup=void 0,e=e||{};for(var t of Object.keys(Kp)){var a=Kp[t];a&&A9(this,t,e,a)}}reportNonstrict(e,t,a){var s=this.strict;if(typeof s=="function"&&(s=s(e,t,a)),!(!s||s==="ignore")){if(s===!0||s==="error")throw new me("LaTeX-incompatible input and strict mode is set to 'error': "+(t+" ["+e+"]"),a);s==="warn"?typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(t+" ["+e+"]")):typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+s+"': "+t+" ["+e+"]"))}}useStrictBehavior(e,t,a){var s=this.strict;if(typeof s=="function")try{s=s(e,t,a)}catch{s="error"}return!s||s==="ignore"?!1:s===!0||s==="error"?!0:s==="warn"?(typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(t+" ["+e+"]")),!1):(typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+s+"': "+t+" ["+e+"]")),!1)}isTrusted(e){if("url"in e&&e.url&&!e.protocol){var t=_9(e.url);if(t==null)return!1;e.protocol=t}var a=typeof this.trust=="function"?this.trust(e):this.trust;return!!a}}class Us{constructor(e,t,a){this.id=void 0,this.size=void 0,this.cramped=void 0,this.id=e,this.size=t,this.cramped=a}sup(){return pr[E9[this.id]]}sub(){return pr[N9[this.id]]}fracNum(){return pr[M9[this.id]]}fracDen(){return pr[R9[this.id]]}cramp(){return pr[D9[this.id]]}text(){return pr[O9[this.id]]}isTight(){return this.size>=2}}var t1=0,v0=1,Xo=2,cs=3,qc=4,Ha=5,sl=6,Qn=7,pr=[new Us(t1,0,!1),new Us(v0,0,!0),new Us(Xo,1,!1),new Us(cs,1,!0),new Us(qc,2,!1),new Us(Ha,2,!0),new Us(sl,3,!1),new Us(Qn,3,!0)],E9=[qc,Ha,qc,Ha,sl,Qn,sl,Qn],N9=[Ha,Ha,Ha,Ha,Qn,Qn,Qn,Qn],M9=[Xo,cs,qc,Ha,sl,Qn,sl,Qn],R9=[cs,cs,Ha,Ha,Qn,Qn,Qn,Qn],D9=[v0,v0,cs,cs,Ha,Ha,Qn,Qn],O9=[t1,v0,Xo,cs,Xo,cs,Xo,cs],Xe={DISPLAY:pr[t1],TEXT:pr[Xo],SCRIPT:pr[qc],SCRIPTSCRIPT:pr[sl]},Yp=[{name:"latin",blocks:[[256,591],[768,879]]},{name:"cyrillic",blocks:[[1024,1279]]},{name:"armenian",blocks:[[1328,1423]]},{name:"brahmic",blocks:[[2304,4255]]},{name:"georgian",blocks:[[4256,4351]]},{name:"cjk",blocks:[[12288,12543],[19968,40879],[65280,65376]]},{name:"hangul",blocks:[[44032,55215]]}];function L9(n){for(var e=0;e<Yp.length;e++)for(var t=Yp[e],a=0;a<t.blocks.length;a++){var s=t.blocks[a];if(n>=s[0]&&n<=s[1])return t.name}return null}var e0=[];Yp.forEach(n=>n.blocks.forEach(e=>e0.push(...e)));function mx(n){for(var e=0;e<e0.length;e+=2)if(n>=e0[e]&&n<=e0[e+1])return!0;return!1}var vn=n=>n+" "+n,jo=80,B9=function(e,t){return"M95,"+(622+e+t)+`
|
|
32
|
-
c-2.7,0,-7.17,-2.7,-13.5,-8c-5.8,-5.3,-9.5,-10,-9.5,-14
|
|
33
|
-
c0,-2,0.3,-3.3,1,-4c1.3,-2.7,23.83,-20.7,67.5,-54
|
|
34
|
-
c44.2,-33.3,65.8,-50.3,66.5,-51c1.3,-1.3,3,-2,5,-2c4.7,0,8.7,3.3,12,10
|
|
35
|
-
s173,378,173,378c0.7,0,35.3,-71,104,-213c68.7,-142,137.5,-285,206.5,-429
|
|
36
|
-
c69,-144,104.5,-217.7,106.5,-221
|
|
37
|
-
l`+e/2.075+" -"+e+`
|
|
38
|
-
c5.3,-9.3,12,-14,20,-14
|
|
39
|
-
H400000v`+(40+e)+`H845.2724
|
|
40
|
-
s-225.272,467,-225.272,467s-235,486,-235,486c-2.7,4.7,-9,7,-19,7
|
|
41
|
-
c-6,0,-10,-1,-12,-3s-194,-422,-194,-422s-65,47,-65,47z
|
|
42
|
-
M`+(834+e)+" "+t+"h400000v"+(40+e)+"h-400000z"},j9=function(e,t){return"M263,"+(601+e+t)+`c0.7,0,18,39.7,52,119
|
|
43
|
-
c34,79.3,68.167,158.7,102.5,238c34.3,79.3,51.8,119.3,52.5,120
|
|
44
|
-
c340,-704.7,510.7,-1060.3,512,-1067
|
|
45
|
-
l`+e/2.084+" -"+e+`
|
|
46
|
-
c4.7,-7.3,11,-11,19,-11
|
|
47
|
-
H40000v`+(40+e)+`H1012.3
|
|
48
|
-
s-271.3,567,-271.3,567c-38.7,80.7,-84,175,-136,283c-52,108,-89.167,185.3,-111.5,232
|
|
49
|
-
c-22.3,46.7,-33.8,70.3,-34.5,71c-4.7,4.7,-12.3,7,-23,7s-12,-1,-12,-1
|
|
50
|
-
s-109,-253,-109,-253c-72.7,-168,-109.3,-252,-110,-252c-10.7,8,-22,16.7,-34,26
|
|
51
|
-
c-22,17.3,-33.3,26,-34,26s-26,-26,-26,-26s76,-59,76,-59s76,-60,76,-60z
|
|
52
|
-
M`+(1001+e)+" "+t+"h400000v"+(40+e)+"h-400000z"},P9=function(e,t){return"M983 "+(10+e+t)+`
|
|
53
|
-
l`+e/3.13+" -"+e+`
|
|
54
|
-
c4,-6.7,10,-10,18,-10 H400000v`+(40+e)+`
|
|
55
|
-
H1013.1s-83.4,268,-264.1,840c-180.7,572,-277,876.3,-289,913c-4.7,4.7,-12.7,7,-24,7
|
|
56
|
-
s-12,0,-12,0c-1.3,-3.3,-3.7,-11.7,-7,-25c-35.3,-125.3,-106.7,-373.3,-214,-744
|
|
57
|
-
c-10,12,-21,25,-33,39s-32,39,-32,39c-6,-5.3,-15,-14,-27,-26s25,-30,25,-30
|
|
58
|
-
c26.7,-32.7,52,-63,76,-91s52,-60,52,-60s208,722,208,722
|
|
59
|
-
c56,-175.3,126.3,-397.3,211,-666c84.7,-268.7,153.8,-488.2,207.5,-658.5
|
|
60
|
-
c53.7,-170.3,84.5,-266.8,92.5,-289.5z
|
|
61
|
-
M`+(1001+e)+" "+t+"h400000v"+(40+e)+"h-400000z"},I9=function(e,t){return"M424,"+(2398+e+t)+`
|
|
62
|
-
c-1.3,-0.7,-38.5,-172,-111.5,-514c-73,-342,-109.8,-513.3,-110.5,-514
|
|
63
|
-
c0,-2,-10.7,14.3,-32,49c-4.7,7.3,-9.8,15.7,-15.5,25c-5.7,9.3,-9.8,16,-12.5,20
|
|
64
|
-
s-5,7,-5,7c-4,-3.3,-8.3,-7.7,-13,-13s-13,-13,-13,-13s76,-122,76,-122s77,-121,77,-121
|
|
65
|
-
s209,968,209,968c0,-2,84.7,-361.7,254,-1079c169.3,-717.3,254.7,-1077.7,256,-1081
|
|
66
|
-
l`+e/4.223+" -"+e+`c4,-6.7,10,-10,18,-10 H400000
|
|
67
|
-
v`+(40+e)+`H1014.6
|
|
68
|
-
s-87.3,378.7,-272.6,1166c-185.3,787.3,-279.3,1182.3,-282,1185
|
|
69
|
-
c-2,6,-10,9,-24,9
|
|
70
|
-
c-8,0,-12,-0.7,-12,-2z M`+(1001+e)+" "+t+`
|
|
71
|
-
h400000v`+(40+e)+"h-400000z"},z9=function(e,t){return"M473,"+(2713+e+t)+`
|
|
72
|
-
c339.3,-1799.3,509.3,-2700,510,-2702 l`+e/5.298+" -"+e+`
|
|
73
|
-
c3.3,-7.3,9.3,-11,18,-11 H400000v`+(40+e)+`H1017.7
|
|
74
|
-
s-90.5,478,-276.2,1466c-185.7,988,-279.5,1483,-281.5,1485c-2,6,-10,9,-24,9
|
|
75
|
-
c-8,0,-12,-0.7,-12,-2c0,-1.3,-5.3,-32,-16,-92c-50.7,-293.3,-119.7,-693.3,-207,-1200
|
|
76
|
-
c0,-1.3,-5.3,8.7,-16,30c-10.7,21.3,-21.3,42.7,-32,64s-16,33,-16,33s-26,-26,-26,-26
|
|
77
|
-
s76,-153,76,-153s77,-151,77,-151c0.7,0.7,35.7,202,105,604c67.3,400.7,102,602.7,104,
|
|
78
|
-
606zM`+(1001+e)+" "+t+"h400000v"+(40+e)+"H1017.7z"},$9=function(e){var t=e/2;return"M400000 "+e+" H0 L"+t+" 0 l65 45 L145 "+(e-80)+" H400000z"},H9=function(e,t,a){var s=a-54-t-e;return"M702 "+(e+t)+"H400000"+(40+e)+`
|
|
79
|
-
H742v`+s+`l-4 4-4 4c-.667.7 -2 1.5-4 2.5s-4.167 1.833-6.5 2.5-5.5 1-9.5 1
|
|
80
|
-
h-12l-28-84c-16.667-52-96.667 -294.333-240-727l-212 -643 -85 170
|
|
81
|
-
c-4-3.333-8.333-7.667-13 -13l-13-13l77-155 77-156c66 199.333 139 419.667
|
|
82
|
-
219 661 l218 661zM702 `+t+"H400000v"+(40+e)+"H742z"},U9=function(e,t,a){t=1e3*t;var s="";switch(e){case"sqrtMain":s=B9(t,jo);break;case"sqrtSize1":s=j9(t,jo);break;case"sqrtSize2":s=P9(t,jo);break;case"sqrtSize3":s=I9(t,jo);break;case"sqrtSize4":s=z9(t,jo);break;case"sqrtTall":s=H9(t,jo,a)}return s},F9=function(e,t){switch(e){case"⎜":return vn("M291 0 H417 V"+t+" H291z");case"∣":return vn("M145 0 H188 V"+t+" H145z");case"∥":return vn("M145 0 H188 V"+t+" H145z")+vn("M367 0 H410 V"+t+" H367z");case"⎟":return vn("M457 0 H583 V"+t+" H457z");case"⎢":return vn("M319 0 H403 V"+t+" H319z");case"⎥":return vn("M263 0 H347 V"+t+" H263z");case"⎪":return vn("M384 0 H504 V"+t+" H384z");case"⏐":return vn("M312 0 H355 V"+t+" H312z");case"‖":return vn("M257 0 H300 V"+t+" H257z")+vn("M478 0 H521 V"+t+" H478z");default:return""}},b2={doubleleftarrow:`M262 157
|
|
83
|
-
l10-10c34-36 62.7-77 86-123 3.3-8 5-13.3 5-16 0-5.3-6.7-8-20-8-7.3
|
|
84
|
-
0-12.2.5-14.5 1.5-2.3 1-4.8 4.5-7.5 10.5-49.3 97.3-121.7 169.3-217 216-28
|
|
85
|
-
14-57.3 25-88 33-6.7 2-11 3.8-13 5.5-2 1.7-3 4.2-3 7.5s1 5.8 3 7.5
|
|
86
|
-
c2 1.7 6.3 3.5 13 5.5 68 17.3 128.2 47.8 180.5 91.5 52.3 43.7 93.8 96.2 124.5
|
|
87
|
-
157.5 9.3 8 15.3 12.3 18 13h6c12-.7 18-4 18-10 0-2-1.7-7-5-15-23.3-46-52-87
|
|
88
|
-
-86-123l-10-10h399738v-40H218c328 0 0 0 0 0l-10-8c-26.7-20-65.7-43-117-69 2.7
|
|
89
|
-
-2 6-3.7 10-5 36.7-16 72.3-37.3 107-64l10-8h399782v-40z
|
|
90
|
-
m8 0v40h399730v-40zm0 194v40h399730v-40z`,doublerightarrow:`M399738 392l
|
|
91
|
-
-10 10c-34 36-62.7 77-86 123-3.3 8-5 13.3-5 16 0 5.3 6.7 8 20 8 7.3 0 12.2-.5
|
|
92
|
-
14.5-1.5 2.3-1 4.8-4.5 7.5-10.5 49.3-97.3 121.7-169.3 217-216 28-14 57.3-25 88
|
|
93
|
-
-33 6.7-2 11-3.8 13-5.5 2-1.7 3-4.2 3-7.5s-1-5.8-3-7.5c-2-1.7-6.3-3.5-13-5.5-68
|
|
94
|
-
-17.3-128.2-47.8-180.5-91.5-52.3-43.7-93.8-96.2-124.5-157.5-9.3-8-15.3-12.3-18
|
|
95
|
-
-13h-6c-12 .7-18 4-18 10 0 2 1.7 7 5 15 23.3 46 52 87 86 123l10 10H0v40h399782
|
|
96
|
-
c-328 0 0 0 0 0l10 8c26.7 20 65.7 43 117 69-2.7 2-6 3.7-10 5-36.7 16-72.3 37.3
|
|
97
|
-
-107 64l-10 8H0v40zM0 157v40h399730v-40zm0 194v40h399730v-40z`,leftarrow:`M400000 241H110l3-3c68.7-52.7 113.7-120
|
|
98
|
-
135-202 4-14.7 6-23 6-25 0-7.3-7-11-21-11-8 0-13.2.8-15.5 2.5-2.3 1.7-4.2 5.8
|
|
99
|
-
-5.5 12.5-1.3 4.7-2.7 10.3-4 17-12 48.7-34.8 92-68.5 130S65.3 228.3 18 247
|
|
100
|
-
c-10 4-16 7.7-18 11 0 8.7 6 14.3 18 17 47.3 18.7 87.8 47 121.5 85S196 441.3 208
|
|
101
|
-
490c.7 2 1.3 5 2 9s1.2 6.7 1.5 8c.3 1.3 1 3.3 2 6s2.2 4.5 3.5 5.5c1.3 1 3.3
|
|
102
|
-
1.8 6 2.5s6 1 10 1c14 0 21-3.7 21-11 0-2-2-10.3-6-25-20-79.3-65-146.7-135-202
|
|
103
|
-
l-3-3h399890zM100 241v40h399900v-40z`,leftbrace:`M6 548l-6-6v-35l6-11c56-104 135.3-181.3 238-232 57.3-28.7 117
|
|
104
|
-
-45 179-50h399577v120H403c-43.3 7-81 15-113 26-100.7 33-179.7 91-237 174-2.7
|
|
105
|
-
5-6 9-10 13-.7 1-7.3 1-20 1H6z`,leftbraceunder:`M0 6l6-6h17c12.688 0 19.313.3 20 1 4 4 7.313 8.3 10 13
|
|
106
|
-
35.313 51.3 80.813 93.8 136.5 127.5 55.688 33.7 117.188 55.8 184.5 66.5.688
|
|
107
|
-
0 2 .3 4 1 18.688 2.7 76 4.3 172 5h399450v120H429l-6-1c-124.688-8-235-61.7
|
|
108
|
-
-331-161C60.687 138.7 32.312 99.3 7 54L0 41V6z`,leftgroup:`M400000 80
|
|
109
|
-
H435C64 80 168.3 229.4 21 260c-5.9 1.2-18 0-18 0-2 0-3-1-3-3v-38C76 61 257 0
|
|
110
|
-
435 0h399565z`,leftgroupunder:`M400000 262
|
|
111
|
-
H435C64 262 168.3 112.6 21 82c-5.9-1.2-18 0-18 0-2 0-3 1-3 3v38c76 158 257 219
|
|
112
|
-
435 219h399565z`,leftharpoon:`M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3
|
|
113
|
-
-3.3 10.2-9.5 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5
|
|
114
|
-
-18.3 3-21-1.3-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7
|
|
115
|
-
-196 228-6.7 4.7-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40z`,leftharpoonplus:`M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3-3.3 10.2-9.5
|
|
116
|
-
20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5-18.3 3-21-1.3
|
|
117
|
-
-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7-196 228-6.7 4.7
|
|
118
|
-
-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40zM0 435v40h400000v-40z
|
|
119
|
-
m0 0v40h400000v-40z`,leftharpoondown:`M7 241c-4 4-6.333 8.667-7 14 0 5.333.667 9 2 11s5.333
|
|
120
|
-
5.333 12 10c90.667 54 156 130 196 228 3.333 10.667 6.333 16.333 9 17 2 .667 5
|
|
121
|
-
1 9 1h5c10.667 0 16.667-2 18-6 2-2.667 1-9.667-3-21-32-87.333-82.667-157.667
|
|
122
|
-
-152-211l-3-3h399907v-40zM93 281 H400000 v-40L7 241z`,leftharpoondownplus:`M7 435c-4 4-6.3 8.7-7 14 0 5.3.7 9 2 11s5.3 5.3 12
|
|
123
|
-
10c90.7 54 156 130 196 228 3.3 10.7 6.3 16.3 9 17 2 .7 5 1 9 1h5c10.7 0 16.7
|
|
124
|
-
-2 18-6 2-2.7 1-9.7-3-21-32-87.3-82.7-157.7-152-211l-3-3h399907v-40H7zm93 0
|
|
125
|
-
v40h399900v-40zM0 241v40h399900v-40zm0 0v40h399900v-40z`,lefthook:`M400000 281 H103s-33-11.2-61-33.5S0 197.3 0 164s14.2-61.2 42.5
|
|
126
|
-
-83.5C70.8 58.2 104 47 142 47 c16.7 0 25 6.7 25 20 0 12-8.7 18.7-26 20-40 3.3
|
|
127
|
-
-68.7 15.7-86 37-10 12-15 25.3-15 40 0 22.7 9.8 40.7 29.5 54 19.7 13.3 43.5 21
|
|
128
|
-
71.5 23h399859zM103 281v-40h399897v40z`,leftlinesegment:vn("M40 281 V428 H0 V94 H40 V241 H400000 v40z"),leftbracketunder:vn("M0 0 h120 V290 H399995 v120 H0z"),leftbracketover:vn("M0 440 h120 V150 H399995 v-120 H0z"),leftmapsto:vn("M40 281 V448H0V74H40V241H400000v40z"),leftToFrom:`M0 147h400000v40H0zm0 214c68 40 115.7 95.7 143 167h22c15.3 0 23
|
|
129
|
-
-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69-70-101l-7-8h399905v-40H95l7-8
|
|
130
|
-
c28.7-32 52-65.7 70-101 10.7-23.3 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 265.3
|
|
131
|
-
68 321 0 361zm0-174v-40h399900v40zm100 154v40h399900v-40z`,longequal:vn("M0 50 h400000 v40H0z m0 194h40000v40H0z"),midbrace:`M200428 334
|
|
132
|
-
c-100.7-8.3-195.3-44-280-108-55.3-42-101.7-93-139-153l-9-14c-2.7 4-5.7 8.7-9 14
|
|
133
|
-
-53.3 86.7-123.7 153-211 199-66.7 36-137.3 56.3-212 62H0V214h199568c178.3-11.7
|
|
134
|
-
311.7-78.3 403-201 6-8 9.7-12 11-12 .7-.7 6.7-1 18-1s17.3.3 18 1c1.3 0 5 4 11
|
|
135
|
-
12 44.7 59.3 101.3 106.3 170 141s145.3 54.3 229 60h199572v120z`,midbraceunder:`M199572 214
|
|
136
|
-
c100.7 8.3 195.3 44 280 108 55.3 42 101.7 93 139 153l9 14c2.7-4 5.7-8.7 9-14
|
|
137
|
-
53.3-86.7 123.7-153 211-199 66.7-36 137.3-56.3 212-62h199568v120H200432c-178.3
|
|
138
|
-
11.7-311.7 78.3-403 201-6 8-9.7 12-11 12-.7.7-6.7 1-18 1s-17.3-.3-18-1c-1.3 0
|
|
139
|
-
-5-4-11-12-44.7-59.3-101.3-106.3-170-141s-145.3-54.3-229-60H0V214z`,oiintSize1:`M512.6 71.6c272.6 0 320.3 106.8 320.3 178.2 0 70.8-47.7 177.6
|
|
140
|
-
-320.3 177.6S193.1 320.6 193.1 249.8c0-71.4 46.9-178.2 319.5-178.2z
|
|
141
|
-
m368.1 178.2c0-86.4-60.9-215.4-368.1-215.4-306.4 0-367.3 129-367.3 215.4 0 85.8
|
|
142
|
-
60.9 214.8 367.3 214.8 307.2 0 368.1-129 368.1-214.8z`,oiintSize2:`M757.8 100.1c384.7 0 451.1 137.6 451.1 230 0 91.3-66.4 228.8
|
|
143
|
-
-451.1 228.8-386.3 0-452.7-137.5-452.7-228.8 0-92.4 66.4-230 452.7-230z
|
|
144
|
-
m502.4 230c0-111.2-82.4-277.2-502.4-277.2s-504 166-504 277.2
|
|
145
|
-
c0 110 84 276 504 276s502.4-166 502.4-276z`,oiiintSize1:`M681.4 71.6c408.9 0 480.5 106.8 480.5 178.2 0 70.8-71.6 177.6
|
|
146
|
-
-480.5 177.6S202.1 320.6 202.1 249.8c0-71.4 70.5-178.2 479.3-178.2z
|
|
147
|
-
m525.8 178.2c0-86.4-86.8-215.4-525.7-215.4-437.9 0-524.7 129-524.7 215.4 0
|
|
148
|
-
85.8 86.8 214.8 524.7 214.8 438.9 0 525.7-129 525.7-214.8z`,oiiintSize2:`M1021.2 53c603.6 0 707.8 165.8 707.8 277.2 0 110-104.2 275.8
|
|
149
|
-
-707.8 275.8-606 0-710.2-165.8-710.2-275.8C311 218.8 415.2 53 1021.2 53z
|
|
150
|
-
m770.4 277.1c0-131.2-126.4-327.6-770.5-327.6S248.4 198.9 248.4 330.1
|
|
151
|
-
c0 130 128.8 326.4 772.7 326.4s770.5-196.4 770.5-326.4z`,rightarrow:`M0 241v40h399891c-47.3 35.3-84 78-110 128
|
|
152
|
-
-16.7 32-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20
|
|
153
|
-
11 8 0 13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7
|
|
154
|
-
39-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85
|
|
155
|
-
-40.5-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5
|
|
156
|
-
-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67
|
|
157
|
-
151.7 139 205zm0 0v40h399900v-40z`,rightbrace:`M400000 542l
|
|
158
|
-
-6 6h-17c-12.7 0-19.3-.3-20-1-4-4-7.3-8.3-10-13-35.3-51.3-80.8-93.8-136.5-127.5
|
|
159
|
-
s-117.2-55.8-184.5-66.5c-.7 0-2-.3-4-1-18.7-2.7-76-4.3-172-5H0V214h399571l6 1
|
|
160
|
-
c124.7 8 235 61.7 331 161 31.3 33.3 59.7 72.7 85 118l7 13v35z`,rightbraceunder:`M399994 0l6 6v35l-6 11c-56 104-135.3 181.3-238 232-57.3
|
|
161
|
-
28.7-117 45-179 50H-300V214h399897c43.3-7 81-15 113-26 100.7-33 179.7-91 237
|
|
162
|
-
-174 2.7-5 6-9 10-13 .7-1 7.3-1 20-1h17z`,rightgroup:`M0 80h399565c371 0 266.7 149.4 414 180 5.9 1.2 18 0 18 0 2 0
|
|
163
|
-
3-1 3-3v-38c-76-158-257-219-435-219H0z`,rightgroupunder:`M0 262h399565c371 0 266.7-149.4 414-180 5.9-1.2 18 0 18
|
|
164
|
-
0 2 0 3 1 3 3v38c-76 158-257 219-435 219H0z`,rightharpoon:`M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3
|
|
165
|
-
-3.7-15.3-11-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2
|
|
166
|
-
-10.7 0-16.7 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58
|
|
167
|
-
69.2 92 94.5zm0 0v40h399900v-40z`,rightharpoonplus:`M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3-3.7-15.3-11
|
|
168
|
-
-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2-10.7 0-16.7
|
|
169
|
-
2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58 69.2 92 94.5z
|
|
170
|
-
m0 0v40h399900v-40z m100 194v40h399900v-40zm0 0v40h399900v-40z`,rightharpoondown:`M399747 511c0 7.3 6.7 11 20 11 8 0 13-.8 15-2.5s4.7-6.8
|
|
171
|
-
8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3 8.5-5.8 9.5
|
|
172
|
-
-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3-64.7 57-92 95
|
|
173
|
-
-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 241v40h399900v-40z`,rightharpoondownplus:`M399747 705c0 7.3 6.7 11 20 11 8 0 13-.8
|
|
174
|
-
15-2.5s4.7-6.8 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3
|
|
175
|
-
8.5-5.8 9.5-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3
|
|
176
|
-
-64.7 57-92 95-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 435v40h399900v-40z
|
|
177
|
-
m0-194v40h400000v-40zm0 0v40h400000v-40z`,righthook:`M399859 241c-764 0 0 0 0 0 40-3.3 68.7-15.7 86-37 10-12 15-25.3
|
|
178
|
-
15-40 0-22.7-9.8-40.7-29.5-54-19.7-13.3-43.5-21-71.5-23-17.3-1.3-26-8-26-20 0
|
|
179
|
-
-13.3 8.7-20 26-20 38 0 71 11.2 99 33.5 0 0 7 5.6 21 16.7 14 11.2 21 33.5 21
|
|
180
|
-
66.8s-14 61.2-42 83.5c-28 22.3-61 33.5-99 33.5L0 241z M0 281v-40h399859v40z`,rightlinesegment:vn("M399960 241 V94 h40 V428 h-40 V281 H0 v-40z"),rightbracketunder:vn("M399995 0 h-120 V290 H0 v120 H400000z"),rightbracketover:vn("M399995 440 h-120 V150 H0 v-120 H399995z"),rightToFrom:`M400000 167c-70.7-42-118-97.7-142-167h-23c-15.3 0-23 .3-23
|
|
181
|
-
1 0 1.3 5.3 13.7 16 37 18 35.3 41.3 69 70 101l7 8H0v40h399905l-7 8c-28.7 32
|
|
182
|
-
-52 65.7-70 101-10.7 23.3-16 35.7-16 37 0 .7 7.7 1 23 1h23c24-69.3 71.3-125 142
|
|
183
|
-
-167z M100 147v40h399900v-40zM0 341v40h399900v-40z`,twoheadleftarrow:`M0 167c68 40
|
|
184
|
-
115.7 95.7 143 167h22c15.3 0 23-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69
|
|
185
|
-
-70-101l-7-8h125l9 7c50.7 39.3 85 86 103 140h46c0-4.7-6.3-18.7-19-42-18-35.3
|
|
186
|
-
-40-67.3-66-96l-9-9h399716v-40H284l9-9c26-28.7 48-60.7 66-96 12.7-23.333 19
|
|
187
|
-
-37.333 19-42h-46c-18 54-52.3 100.7-103 140l-9 7H95l7-8c28.7-32 52-65.7 70-101
|
|
188
|
-
10.7-23.333 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 71.3 68 127 0 167z`,twoheadrightarrow:`M400000 167
|
|
189
|
-
c-68-40-115.7-95.7-143-167h-22c-15.3 0-23 .3-23 1 0 1.3 5.3 13.7 16 37 18 35.3
|
|
190
|
-
41.3 69 70 101l7 8h-125l-9-7c-50.7-39.3-85-86-103-140h-46c0 4.7 6.3 18.7 19 42
|
|
191
|
-
18 35.3 40 67.3 66 96l9 9H0v40h399716l-9 9c-26 28.7-48 60.7-66 96-12.7 23.333
|
|
192
|
-
-19 37.333-19 42h46c18-54 52.3-100.7 103-140l9-7h125l-7 8c-28.7 32-52 65.7-70
|
|
193
|
-
101-10.7 23.333-16 35.7-16 37 0 .7 7.7 1 23 1h22c27.3-71.3 75-127 143-167z`,tilde1:`M200 55.538c-77 0-168 73.953-177 73.953-3 0-7
|
|
194
|
-
-2.175-9-5.437L2 97c-1-2-2-4-2-6 0-4 2-7 5-9l20-12C116 12 171 0 207 0c86 0
|
|
195
|
-
114 68 191 68 78 0 168-68 177-68 4 0 7 2 9 5l12 19c1 2.175 2 4.35 2 6.525 0
|
|
196
|
-
4.35-2 7.613-5 9.788l-19 13.05c-92 63.077-116.937 75.308-183 76.128
|
|
197
|
-
-68.267.847-113-73.952-191-73.952z`,tilde2:`M344 55.266c-142 0-300.638 81.316-311.5 86.418
|
|
198
|
-
-8.01 3.762-22.5 10.91-23.5 5.562L1 120c-1-2-1-3-1-4 0-5 3-9 8-10l18.4-9C160.9
|
|
199
|
-
31.9 283 0 358 0c148 0 188 122 331 122s314-97 326-97c4 0 8 2 10 7l7 21.114
|
|
200
|
-
c1 2.14 1 3.21 1 4.28 0 5.347-3 9.626-7 10.696l-22.3 12.622C852.6 158.372 751
|
|
201
|
-
181.476 676 181.476c-149 0-189-126.21-332-126.21z`,tilde3:`M786 59C457 59 32 175.242 13 175.242c-6 0-10-3.457
|
|
202
|
-
-11-10.37L.15 138c-1-7 3-12 10-13l19.2-6.4C378.4 40.7 634.3 0 804.3 0c337 0
|
|
203
|
-
411.8 157 746.8 157 328 0 754-112 773-112 5 0 10 3 11 9l1 14.075c1 8.066-.697
|
|
204
|
-
16.595-6.697 17.492l-21.052 7.31c-367.9 98.146-609.15 122.696-778.15 122.696
|
|
205
|
-
-338 0-409-156.573-744-156.573z`,tilde4:`M786 58C457 58 32 177.487 13 177.487c-6 0-10-3.345
|
|
206
|
-
-11-10.035L.15 143c-1-7 3-12 10-13l22-6.7C381.2 35 637.15 0 807.15 0c337 0 409
|
|
207
|
-
177 744 177 328 0 754-127 773-127 5 0 10 3 11 9l1 14.794c1 7.805-3 13.38-9
|
|
208
|
-
14.495l-20.7 5.574c-366.85 99.79-607.3 139.372-776.3 139.372-338 0-409
|
|
209
|
-
-175.236-744-175.236z`,vec:`M377 20c0-5.333 1.833-10 5.5-14S391 0 397 0c4.667 0 8.667 1.667 12 5
|
|
210
|
-
3.333 2.667 6.667 9 10 19 6.667 24.667 20.333 43.667 41 57 7.333 4.667 11
|
|
211
|
-
10.667 11 18 0 6-1 10-3 12s-6.667 5-14 9c-28.667 14.667-53.667 35.667-75 63
|
|
212
|
-
-1.333 1.333-3.167 3.5-5.5 6.5s-4 4.833-5 5.5c-1 .667-2.5 1.333-4.5 2s-4.333 1
|
|
213
|
-
-7 1c-4.667 0-9.167-1.833-13.5-5.5S337 184 337 178c0-12.667 15.667-32.333 47-59
|
|
214
|
-
H213l-171-1c-8.667-6-13-12.333-13-19 0-4.667 4.333-11.333 13-20h359
|
|
215
|
-
c-16-25.333-24-45-24-59z`,widehat1:`M529 0h5l519 115c5 1 9 5 9 10 0 1-1 2-1 3l-4 22
|
|
216
|
-
c-1 5-5 9-11 9h-2L532 67 19 159h-2c-5 0-9-4-11-9l-5-22c-1-6 2-12 8-13z`,widehat2:`M1181 0h2l1171 176c6 0 10 5 10 11l-2 23c-1 6-5 10
|
|
217
|
-
-11 10h-1L1182 67 15 220h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z`,widehat3:`M1181 0h2l1171 236c6 0 10 5 10 11l-2 23c-1 6-5 10
|
|
218
|
-
-11 10h-1L1182 67 15 280h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z`,widehat4:`M1181 0h2l1171 296c6 0 10 5 10 11l-2 23c-1 6-5 10
|
|
219
|
-
-11 10h-1L1182 67 15 340h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z`,widecheck1:`M529,159h5l519,-115c5,-1,9,-5,9,-10c0,-1,-1,-2,-1,-3l-4,-22c-1,
|
|
220
|
-
-5,-5,-9,-11,-9h-2l-512,92l-513,-92h-2c-5,0,-9,4,-11,9l-5,22c-1,6,2,12,8,13z`,widecheck2:`M1181,220h2l1171,-176c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,
|
|
221
|
-
-11,-10h-1l-1168,153l-1167,-153h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z`,widecheck3:`M1181,280h2l1171,-236c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,
|
|
222
|
-
-11,-10h-1l-1168,213l-1167,-213h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z`,widecheck4:`M1181,340h2l1171,-296c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,
|
|
223
|
-
-11,-10h-1l-1168,273l-1167,-273h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z`,baraboveleftarrow:`M400000 620h-399890l3 -3c68.7 -52.7 113.7 -120 135 -202
|
|
224
|
-
c4 -14.7 6 -23 6 -25c0 -7.3 -7 -11 -21 -11c-8 0 -13.2 0.8 -15.5 2.5
|
|
225
|
-
c-2.3 1.7 -4.2 5.8 -5.5 12.5c-1.3 4.7 -2.7 10.3 -4 17c-12 48.7 -34.8 92 -68.5 130
|
|
226
|
-
s-74.2 66.3 -121.5 85c-10 4 -16 7.7 -18 11c0 8.7 6 14.3 18 17c47.3 18.7 87.8 47
|
|
227
|
-
121.5 85s56.5 81.3 68.5 130c0.7 2 1.3 5 2 9s1.2 6.7 1.5 8c0.3 1.3 1 3.3 2 6
|
|
228
|
-
s2.2 4.5 3.5 5.5c1.3 1 3.3 1.8 6 2.5s6 1 10 1c14 0 21 -3.7 21 -11
|
|
229
|
-
c0 -2 -2 -10.3 -6 -25c-20 -79.3 -65 -146.7 -135 -202l-3 -3h399890z
|
|
230
|
-
M100 620v40h399900v-40z M0 241v40h399900v-40zM0 241v40h399900v-40z`,rightarrowabovebar:`M0 241v40h399891c-47.3 35.3-84 78-110 128-16.7 32
|
|
231
|
-
-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20 11 8 0
|
|
232
|
-
13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7 39
|
|
233
|
-
-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85-40.5
|
|
234
|
-
-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5
|
|
235
|
-
-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67
|
|
236
|
-
151.7 139 205zm96 379h399894v40H0zm0 0h399904v40H0z`,baraboveshortleftharpoon:`M507,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11
|
|
237
|
-
c1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17
|
|
238
|
-
c2,0.7,5,1,9,1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21
|
|
239
|
-
c-32,-87.3,-82.7,-157.7,-152,-211c0,0,-3,-3,-3,-3l399351,0l0,-40
|
|
240
|
-
c-398570,0,-399437,0,-399437,0z M593 435 v40 H399500 v-40z
|
|
241
|
-
M0 281 v-40 H399908 v40z M0 281 v-40 H399908 v40z`,rightharpoonaboveshortbar:`M0,241 l0,40c399126,0,399993,0,399993,0
|
|
242
|
-
c4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199,
|
|
243
|
-
-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6
|
|
244
|
-
c-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z
|
|
245
|
-
M0 241 v40 H399908 v-40z M0 475 v-40 H399500 v40z M0 475 v-40 H399500 v40z`,shortbaraboveleftharpoon:`M7,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11
|
|
246
|
-
c1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17c2,0.7,5,1,9,
|
|
247
|
-
1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21c-32,-87.3,-82.7,-157.7,
|
|
248
|
-
-152,-211c0,0,-3,-3,-3,-3l399907,0l0,-40c-399126,0,-399993,0,-399993,0z
|
|
249
|
-
M93 435 v40 H400000 v-40z M500 241 v40 H400000 v-40z M500 241 v40 H400000 v-40z`,shortrightharpoonabovebar:`M53,241l0,40c398570,0,399437,0,399437,0
|
|
250
|
-
c4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199,
|
|
251
|
-
-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6
|
|
252
|
-
c-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z
|
|
253
|
-
M500 241 v40 H399408 v-40z M500 435 v40 H400000 v-40z`},G9=function(e,t){switch(e){case"lbrack":return"M403 1759 V84 H666 V0 H319 V1759 v"+t+` v1759 v84 h347 v-84
|
|
254
|
-
H403z M403 1759 V0 H319 V1759 v`+t+" v1759 v84 h84z";case"rbrack":return"M347 1759 V0 H0 V84 H263 V1759 v"+t+` v1759 H0 v84 H347z
|
|
255
|
-
M347 1759 V0 H263 V1759 v`+t+" v1759 h84z";case"vert":return"M145 15 v585 v"+t+` v585 c2.667,10,9.667,15,21,15
|
|
256
|
-
c10,0,16.667,-5,20,-15 v-585 v`+-t+` v-585 c-2.667,-10,-9.667,-15,-21,-15
|
|
257
|
-
c-10,0,-16.667,5,-20,15z M188 15 H145 v585 v`+t+" v585 h43z";case"doublevert":return"M145 15 v585 v"+t+` v585 c2.667,10,9.667,15,21,15
|
|
258
|
-
c10,0,16.667,-5,20,-15 v-585 v`+-t+` v-585 c-2.667,-10,-9.667,-15,-21,-15
|
|
259
|
-
c-10,0,-16.667,5,-20,15z M188 15 H145 v585 v`+t+` v585 h43z
|
|
260
|
-
M367 15 v585 v`+t+` v585 c2.667,10,9.667,15,21,15
|
|
261
|
-
c10,0,16.667,-5,20,-15 v-585 v`+-t+` v-585 c-2.667,-10,-9.667,-15,-21,-15
|
|
262
|
-
c-10,0,-16.667,5,-20,15z M410 15 H367 v585 v`+t+" v585 h43z";case"lfloor":return"M319 602 V0 H403 V602 v"+t+` v1715 h263 v84 H319z
|
|
263
|
-
MM319 602 V0 H403 V602 v`+t+" v1715 H319z";case"rfloor":return"M319 602 V0 H403 V602 v"+t+` v1799 H0 v-84 H319z
|
|
264
|
-
MM319 602 V0 H403 V602 v`+t+" v1715 H319z";case"lceil":return"M403 1759 V84 H666 V0 H319 V1759 v"+t+` v602 h84z
|
|
265
|
-
M403 1759 V0 H319 V1759 v`+t+" v602 h84z";case"rceil":return"M347 1759 V0 H0 V84 H263 V1759 v"+t+` v602 h84z
|
|
266
|
-
M347 1759 V0 h-84 V1759 v`+t+" v602 h84z";case"lparen":return`M863,9c0,-2,-2,-5,-6,-9c0,0,-17,0,-17,0c-12.7,0,-19.3,0.3,-20,1
|
|
267
|
-
c-5.3,5.3,-10.3,11,-15,17c-242.7,294.7,-395.3,682,-458,1162c-21.3,163.3,-33.3,349,
|
|
268
|
-
-36,557 l0,`+(t+84)+`c0.2,6,0,26,0,60c2,159.3,10,310.7,24,454c53.3,528,210,
|
|
269
|
-
949.7,470,1265c4.7,6,9.7,11.7,15,17c0.7,0.7,7,1,19,1c0,0,18,0,18,0c4,-4,6,-7,6,-9
|
|
270
|
-
c0,-2.7,-3.3,-8.7,-10,-18c-135.3,-192.7,-235.5,-414.3,-300.5,-665c-65,-250.7,-102.5,
|
|
271
|
-
-544.7,-112.5,-882c-2,-104,-3,-167,-3,-189
|
|
272
|
-
l0,-`+(t+92)+`c0,-162.7,5.7,-314,17,-454c20.7,-272,63.7,-513,129,-723c65.3,
|
|
273
|
-
-210,155.3,-396.3,270,-559c6.7,-9.3,10,-15.3,10,-18z`;case"rparen":return`M76,0c-16.7,0,-25,3,-25,9c0,2,2,6.3,6,13c21.3,28.7,42.3,60.3,
|
|
274
|
-
63,95c96.7,156.7,172.8,332.5,228.5,527.5c55.7,195,92.8,416.5,111.5,664.5
|
|
275
|
-
c11.3,139.3,17,290.7,17,454c0,28,1.7,43,3.3,45l0,`+(t+9)+`
|
|
276
|
-
c-3,4,-3.3,16.7,-3.3,38c0,162,-5.7,313.7,-17,455c-18.7,248,-55.8,469.3,-111.5,664
|
|
277
|
-
c-55.7,194.7,-131.8,370.3,-228.5,527c-20.7,34.7,-41.7,66.3,-63,95c-2,3.3,-4,7,-6,11
|
|
278
|
-
c0,7.3,5.7,11,17,11c0,0,11,0,11,0c9.3,0,14.3,-0.3,15,-1c5.3,-5.3,10.3,-11,15,-17
|
|
279
|
-
c242.7,-294.7,395.3,-681.7,458,-1161c21.3,-164.7,33.3,-350.7,36,-558
|
|
280
|
-
l0,-`+(t+144)+`c-2,-159.3,-10,-310.7,-24,-454c-53.3,-528,-210,-949.7,
|
|
281
|
-
-470,-1265c-4.7,-6,-9.7,-11.7,-15,-17c-0.7,-0.7,-6.7,-1,-18,-1z`;default:throw new Error("Unknown stretchy delimiter.")}};function q9(n){return"toText"in n}class cl{constructor(e){this.children=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,this.children=e,this.classes=[],this.height=0,this.depth=0,this.maxFontSize=0,this.style={}}hasClass(e){return this.classes.includes(e)}toNode(){for(var e=document.createDocumentFragment(),t=0;t<this.children.length;t++)e.appendChild(this.children[t].toNode());return e}toMarkup(){for(var e="",t=0;t<this.children.length;t++)e+=this.children[t].toMarkup();return e}toText(){return this.children.map(e=>{if(q9(e))return e.toText();throw new Error("Expected MathDomNode with toText, got "+e.constructor.name)}).join("")}}var Zp={pt:1,mm:7227/2540,cm:7227/254,in:72.27,bp:803/800,pc:12,dd:1238/1157,cc:14856/1157,nd:685/642,nc:1370/107,sp:1/65536,px:803/800},V9={ex:!0,em:!0,mu:!0},px=function(e){return typeof e!="string"&&(e=e.unit),e in Zp||e in V9||e==="ex"},Kt=function(e,t){var a;if(e.unit in Zp)a=Zp[e.unit]/t.fontMetrics().ptPerEm/t.sizeMultiplier;else if(e.unit==="mu")a=t.fontMetrics().cssEmPerMu;else{var s;if(t.style.isTight()?s=t.havingStyle(t.style.text()):s=t,e.unit==="ex")a=s.fontMetrics().xHeight;else if(e.unit==="em")a=s.fontMetrics().quad;else throw new me("Invalid unit: '"+e.unit+"'");s!==t&&(a*=s.sizeMultiplier/t.sizeMultiplier)}return Math.min(e.number*a,t.maxSize)},ve=function(e){return+e.toFixed(4)+"em"},ai=function(e){return e.filter(t=>t).join(" ")},n1=function(e){var t="";for(var a of Object.keys(e)){var s=e[a];s!==void 0&&(t+=x9(a)+":"+s+";")}return t},gx=function(e,t,a){if(this.classes=e||[],this.attributes={},this.height=0,this.depth=0,this.maxFontSize=0,this.style=a||{},t){t.style.isTight()&&this.classes.push("mtight");var s=t.getColor();s&&(this.style.color=s)}},yx=function(e){var t=document.createElement(e);t.className=ai(this.classes),Object.assign(t.style,this.style);for(var a of Object.keys(this.attributes))t.setAttribute(a,this.attributes[a]);for(var s=0;s<this.children.length;s++)t.appendChild(this.children[s].toNode());return t},W9=/[\s"'>/=\x00-\x1f]/,vx=function(e){var t="<"+e;this.classes.length&&(t+=' class="'+Gn(ai(this.classes))+'"');var a=n1(this.style);a&&(t+=' style="'+Gn(a)+'"');for(var s of Object.keys(this.attributes)){if(W9.test(s))throw new me("Invalid attribute name '"+s+"'");t+=" "+s+'="'+Gn(this.attributes[s])+'"'}t+=">";for(var o=0;o<this.children.length;o++)t+=this.children[o].toMarkup();return t+="</"+e+">",t};class ul{constructor(e,t,a,s){this.children=void 0,this.attributes=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.width=void 0,this.maxFontSize=void 0,this.style=void 0,this.italic=void 0,gx.call(this,e,a,s),this.children=t||[]}setAttribute(e,t){this.attributes[e]=t}hasClass(e){return this.classes.includes(e)}toNode(){return yx.call(this,"span")}toMarkup(){return vx.call(this,"span")}}class H0{constructor(e,t,a,s){this.children=void 0,this.attributes=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,gx.call(this,t,s),this.children=a||[],this.setAttribute("href",e)}setAttribute(e,t){this.attributes[e]=t}hasClass(e){return this.classes.includes(e)}toNode(){return yx.call(this,"a")}toMarkup(){return vx.call(this,"a")}}class K9{constructor(e,t,a){this.src=void 0,this.alt=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,this.alt=t,this.src=e,this.classes=["mord"],this.height=0,this.depth=0,this.maxFontSize=0,this.style=a}hasClass(e){return this.classes.includes(e)}toNode(){var e=document.createElement("img");return e.src=this.src,e.alt=this.alt,e.className="mord",Object.assign(e.style,this.style),e}toMarkup(){var e='<img src="'+Gn(this.src)+'"'+(' alt="'+Gn(this.alt)+'"'),t=n1(this.style);return t&&(e+=' style="'+Gn(t)+'"'),e+="'/>",e}}var Y9={î:"ı̂",ï:"ı̈",í:"ı́",ì:"ı̀"};class xa{constructor(e,t,a,s,o,l,u,d){this.text=void 0,this.height=void 0,this.depth=void 0,this.italic=void 0,this.skew=void 0,this.width=void 0,this.maxFontSize=void 0,this.classes=void 0,this.style=void 0,this.text=e,this.height=t||0,this.depth=a||0,this.italic=s||0,this.skew=o||0,this.width=l||0,this.classes=u||[],this.style=d||{},this.maxFontSize=0;var h=L9(this.text.charCodeAt(0));h&&this.classes.push(h+"_fallback"),/[îïíì]/.test(this.text)&&(this.text=Y9[this.text])}hasClass(e){return this.classes.includes(e)}toNode(){var e=document.createTextNode(this.text),t=null;return this.italic>0&&(t=document.createElement("span"),t.style.marginRight=ve(this.italic)),this.classes.length>0&&(t=t||document.createElement("span"),t.className=ai(this.classes)),Object.keys(this.style).length>0&&(t=t||document.createElement("span"),Object.assign(t.style,this.style)),t?(t.appendChild(e),t):e}toMarkup(){var e=!1,t="<span";this.classes.length&&(e=!0,t+=' class="',t+=Gn(ai(this.classes)),t+='"');var a="";this.italic>0&&(a+="margin-right:"+ve(this.italic)+";"),a+=n1(this.style),a&&(e=!0,t+=' style="'+Gn(a)+'"');var s=Gn(this.text);return e?(t+=">",t+=s,t+="</span>",t):s}}class ds{constructor(e,t){this.children=void 0,this.attributes=void 0,this.children=e||[],this.attributes=t||{}}toNode(){var e="http://www.w3.org/2000/svg",t=document.createElementNS(e,"svg");for(var a of Object.keys(this.attributes))t.setAttribute(a,this.attributes[a]);for(var s=0;s<this.children.length;s++)t.appendChild(this.children[s].toNode());return t}toMarkup(){var e='<svg xmlns="http://www.w3.org/2000/svg"';for(var t of Object.keys(this.attributes))e+=" "+t+'="'+Gn(this.attributes[t])+'"';e+=">";for(var a=0;a<this.children.length;a++)e+=this.children[a].toMarkup();return e+="</svg>",e}}class ri{constructor(e,t){this.pathName=void 0,this.alternate=void 0,this.pathName=e,this.alternate=t}toNode(){var e="http://www.w3.org/2000/svg",t=document.createElementNS(e,"path");return this.alternate?t.setAttribute("d",this.alternate):t.setAttribute("d",b2[this.pathName]),t}toMarkup(){return this.alternate?'<path d="'+Gn(this.alternate)+'"/>':'<path d="'+Gn(b2[this.pathName])+'"/>'}}class Xp{constructor(e){this.attributes=void 0,this.attributes=e||{}}toNode(){var e="http://www.w3.org/2000/svg",t=document.createElementNS(e,"line");for(var a of Object.keys(this.attributes))t.setAttribute(a,this.attributes[a]);return t}toMarkup(){var e="<line";for(var t of Object.keys(this.attributes))e+=" "+t+'="'+Gn(this.attributes[t])+'"';return e+="/>",e}}function Z9(n){if(n instanceof xa)return n;throw new Error("Expected symbolNode but got "+String(n)+".")}function X9(n){if(n instanceof ul)return n;throw new Error("Expected span<HtmlDomNode> but got "+String(n)+".")}var Q9=n=>n instanceof ul||n instanceof H0||n instanceof cl,br={"AMS-Regular":{32:[0,0,0,0,.25],65:[0,.68889,0,0,.72222],66:[0,.68889,0,0,.66667],67:[0,.68889,0,0,.72222],68:[0,.68889,0,0,.72222],69:[0,.68889,0,0,.66667],70:[0,.68889,0,0,.61111],71:[0,.68889,0,0,.77778],72:[0,.68889,0,0,.77778],73:[0,.68889,0,0,.38889],74:[.16667,.68889,0,0,.5],75:[0,.68889,0,0,.77778],76:[0,.68889,0,0,.66667],77:[0,.68889,0,0,.94445],78:[0,.68889,0,0,.72222],79:[.16667,.68889,0,0,.77778],80:[0,.68889,0,0,.61111],81:[.16667,.68889,0,0,.77778],82:[0,.68889,0,0,.72222],83:[0,.68889,0,0,.55556],84:[0,.68889,0,0,.66667],85:[0,.68889,0,0,.72222],86:[0,.68889,0,0,.72222],87:[0,.68889,0,0,1],88:[0,.68889,0,0,.72222],89:[0,.68889,0,0,.72222],90:[0,.68889,0,0,.66667],107:[0,.68889,0,0,.55556],160:[0,0,0,0,.25],165:[0,.675,.025,0,.75],174:[.15559,.69224,0,0,.94666],240:[0,.68889,0,0,.55556],295:[0,.68889,0,0,.54028],710:[0,.825,0,0,2.33334],732:[0,.9,0,0,2.33334],770:[0,.825,0,0,2.33334],771:[0,.9,0,0,2.33334],989:[.08167,.58167,0,0,.77778],1008:[0,.43056,.04028,0,.66667],8245:[0,.54986,0,0,.275],8463:[0,.68889,0,0,.54028],8487:[0,.68889,0,0,.72222],8498:[0,.68889,0,0,.55556],8502:[0,.68889,0,0,.66667],8503:[0,.68889,0,0,.44445],8504:[0,.68889,0,0,.66667],8513:[0,.68889,0,0,.63889],8592:[-.03598,.46402,0,0,.5],8594:[-.03598,.46402,0,0,.5],8602:[-.13313,.36687,0,0,1],8603:[-.13313,.36687,0,0,1],8606:[.01354,.52239,0,0,1],8608:[.01354,.52239,0,0,1],8610:[.01354,.52239,0,0,1.11111],8611:[.01354,.52239,0,0,1.11111],8619:[0,.54986,0,0,1],8620:[0,.54986,0,0,1],8621:[-.13313,.37788,0,0,1.38889],8622:[-.13313,.36687,0,0,1],8624:[0,.69224,0,0,.5],8625:[0,.69224,0,0,.5],8630:[0,.43056,0,0,1],8631:[0,.43056,0,0,1],8634:[.08198,.58198,0,0,.77778],8635:[.08198,.58198,0,0,.77778],8638:[.19444,.69224,0,0,.41667],8639:[.19444,.69224,0,0,.41667],8642:[.19444,.69224,0,0,.41667],8643:[.19444,.69224,0,0,.41667],8644:[.1808,.675,0,0,1],8646:[.1808,.675,0,0,1],8647:[.1808,.675,0,0,1],8648:[.19444,.69224,0,0,.83334],8649:[.1808,.675,0,0,1],8650:[.19444,.69224,0,0,.83334],8651:[.01354,.52239,0,0,1],8652:[.01354,.52239,0,0,1],8653:[-.13313,.36687,0,0,1],8654:[-.13313,.36687,0,0,1],8655:[-.13313,.36687,0,0,1],8666:[.13667,.63667,0,0,1],8667:[.13667,.63667,0,0,1],8669:[-.13313,.37788,0,0,1],8672:[-.064,.437,0,0,1.334],8674:[-.064,.437,0,0,1.334],8705:[0,.825,0,0,.5],8708:[0,.68889,0,0,.55556],8709:[.08167,.58167,0,0,.77778],8717:[0,.43056,0,0,.42917],8722:[-.03598,.46402,0,0,.5],8724:[.08198,.69224,0,0,.77778],8726:[.08167,.58167,0,0,.77778],8733:[0,.69224,0,0,.77778],8736:[0,.69224,0,0,.72222],8737:[0,.69224,0,0,.72222],8738:[.03517,.52239,0,0,.72222],8739:[.08167,.58167,0,0,.22222],8740:[.25142,.74111,0,0,.27778],8741:[.08167,.58167,0,0,.38889],8742:[.25142,.74111,0,0,.5],8756:[0,.69224,0,0,.66667],8757:[0,.69224,0,0,.66667],8764:[-.13313,.36687,0,0,.77778],8765:[-.13313,.37788,0,0,.77778],8769:[-.13313,.36687,0,0,.77778],8770:[-.03625,.46375,0,0,.77778],8774:[.30274,.79383,0,0,.77778],8776:[-.01688,.48312,0,0,.77778],8778:[.08167,.58167,0,0,.77778],8782:[.06062,.54986,0,0,.77778],8783:[.06062,.54986,0,0,.77778],8785:[.08198,.58198,0,0,.77778],8786:[.08198,.58198,0,0,.77778],8787:[.08198,.58198,0,0,.77778],8790:[0,.69224,0,0,.77778],8791:[.22958,.72958,0,0,.77778],8796:[.08198,.91667,0,0,.77778],8806:[.25583,.75583,0,0,.77778],8807:[.25583,.75583,0,0,.77778],8808:[.25142,.75726,0,0,.77778],8809:[.25142,.75726,0,0,.77778],8812:[.25583,.75583,0,0,.5],8814:[.20576,.70576,0,0,.77778],8815:[.20576,.70576,0,0,.77778],8816:[.30274,.79383,0,0,.77778],8817:[.30274,.79383,0,0,.77778],8818:[.22958,.72958,0,0,.77778],8819:[.22958,.72958,0,0,.77778],8822:[.1808,.675,0,0,.77778],8823:[.1808,.675,0,0,.77778],8828:[.13667,.63667,0,0,.77778],8829:[.13667,.63667,0,0,.77778],8830:[.22958,.72958,0,0,.77778],8831:[.22958,.72958,0,0,.77778],8832:[.20576,.70576,0,0,.77778],8833:[.20576,.70576,0,0,.77778],8840:[.30274,.79383,0,0,.77778],8841:[.30274,.79383,0,0,.77778],8842:[.13597,.63597,0,0,.77778],8843:[.13597,.63597,0,0,.77778],8847:[.03517,.54986,0,0,.77778],8848:[.03517,.54986,0,0,.77778],8858:[.08198,.58198,0,0,.77778],8859:[.08198,.58198,0,0,.77778],8861:[.08198,.58198,0,0,.77778],8862:[0,.675,0,0,.77778],8863:[0,.675,0,0,.77778],8864:[0,.675,0,0,.77778],8865:[0,.675,0,0,.77778],8872:[0,.69224,0,0,.61111],8873:[0,.69224,0,0,.72222],8874:[0,.69224,0,0,.88889],8876:[0,.68889,0,0,.61111],8877:[0,.68889,0,0,.61111],8878:[0,.68889,0,0,.72222],8879:[0,.68889,0,0,.72222],8882:[.03517,.54986,0,0,.77778],8883:[.03517,.54986,0,0,.77778],8884:[.13667,.63667,0,0,.77778],8885:[.13667,.63667,0,0,.77778],8888:[0,.54986,0,0,1.11111],8890:[.19444,.43056,0,0,.55556],8891:[.19444,.69224,0,0,.61111],8892:[.19444,.69224,0,0,.61111],8901:[0,.54986,0,0,.27778],8903:[.08167,.58167,0,0,.77778],8905:[.08167,.58167,0,0,.77778],8906:[.08167,.58167,0,0,.77778],8907:[0,.69224,0,0,.77778],8908:[0,.69224,0,0,.77778],8909:[-.03598,.46402,0,0,.77778],8910:[0,.54986,0,0,.76042],8911:[0,.54986,0,0,.76042],8912:[.03517,.54986,0,0,.77778],8913:[.03517,.54986,0,0,.77778],8914:[0,.54986,0,0,.66667],8915:[0,.54986,0,0,.66667],8916:[0,.69224,0,0,.66667],8918:[.0391,.5391,0,0,.77778],8919:[.0391,.5391,0,0,.77778],8920:[.03517,.54986,0,0,1.33334],8921:[.03517,.54986,0,0,1.33334],8922:[.38569,.88569,0,0,.77778],8923:[.38569,.88569,0,0,.77778],8926:[.13667,.63667,0,0,.77778],8927:[.13667,.63667,0,0,.77778],8928:[.30274,.79383,0,0,.77778],8929:[.30274,.79383,0,0,.77778],8934:[.23222,.74111,0,0,.77778],8935:[.23222,.74111,0,0,.77778],8936:[.23222,.74111,0,0,.77778],8937:[.23222,.74111,0,0,.77778],8938:[.20576,.70576,0,0,.77778],8939:[.20576,.70576,0,0,.77778],8940:[.30274,.79383,0,0,.77778],8941:[.30274,.79383,0,0,.77778],8994:[.19444,.69224,0,0,.77778],8995:[.19444,.69224,0,0,.77778],9416:[.15559,.69224,0,0,.90222],9484:[0,.69224,0,0,.5],9488:[0,.69224,0,0,.5],9492:[0,.37788,0,0,.5],9496:[0,.37788,0,0,.5],9585:[.19444,.68889,0,0,.88889],9586:[.19444,.74111,0,0,.88889],9632:[0,.675,0,0,.77778],9633:[0,.675,0,0,.77778],9650:[0,.54986,0,0,.72222],9651:[0,.54986,0,0,.72222],9654:[.03517,.54986,0,0,.77778],9660:[0,.54986,0,0,.72222],9661:[0,.54986,0,0,.72222],9664:[.03517,.54986,0,0,.77778],9674:[.11111,.69224,0,0,.66667],9733:[.19444,.69224,0,0,.94445],10003:[0,.69224,0,0,.83334],10016:[0,.69224,0,0,.83334],10731:[.11111,.69224,0,0,.66667],10846:[.19444,.75583,0,0,.61111],10877:[.13667,.63667,0,0,.77778],10878:[.13667,.63667,0,0,.77778],10885:[.25583,.75583,0,0,.77778],10886:[.25583,.75583,0,0,.77778],10887:[.13597,.63597,0,0,.77778],10888:[.13597,.63597,0,0,.77778],10889:[.26167,.75726,0,0,.77778],10890:[.26167,.75726,0,0,.77778],10891:[.48256,.98256,0,0,.77778],10892:[.48256,.98256,0,0,.77778],10901:[.13667,.63667,0,0,.77778],10902:[.13667,.63667,0,0,.77778],10933:[.25142,.75726,0,0,.77778],10934:[.25142,.75726,0,0,.77778],10935:[.26167,.75726,0,0,.77778],10936:[.26167,.75726,0,0,.77778],10937:[.26167,.75726,0,0,.77778],10938:[.26167,.75726,0,0,.77778],10949:[.25583,.75583,0,0,.77778],10950:[.25583,.75583,0,0,.77778],10955:[.28481,.79383,0,0,.77778],10956:[.28481,.79383,0,0,.77778],57350:[.08167,.58167,0,0,.22222],57351:[.08167,.58167,0,0,.38889],57352:[.08167,.58167,0,0,.77778],57353:[0,.43056,.04028,0,.66667],57356:[.25142,.75726,0,0,.77778],57357:[.25142,.75726,0,0,.77778],57358:[.41951,.91951,0,0,.77778],57359:[.30274,.79383,0,0,.77778],57360:[.30274,.79383,0,0,.77778],57361:[.41951,.91951,0,0,.77778],57366:[.25142,.75726,0,0,.77778],57367:[.25142,.75726,0,0,.77778],57368:[.25142,.75726,0,0,.77778],57369:[.25142,.75726,0,0,.77778],57370:[.13597,.63597,0,0,.77778],57371:[.13597,.63597,0,0,.77778]},"Caligraphic-Regular":{32:[0,0,0,0,.25],65:[0,.68333,0,.19445,.79847],66:[0,.68333,.03041,.13889,.65681],67:[0,.68333,.05834,.13889,.52653],68:[0,.68333,.02778,.08334,.77139],69:[0,.68333,.08944,.11111,.52778],70:[0,.68333,.09931,.11111,.71875],71:[.09722,.68333,.0593,.11111,.59487],72:[0,.68333,.00965,.11111,.84452],73:[0,.68333,.07382,0,.54452],74:[.09722,.68333,.18472,.16667,.67778],75:[0,.68333,.01445,.05556,.76195],76:[0,.68333,0,.13889,.68972],77:[0,.68333,0,.13889,1.2009],78:[0,.68333,.14736,.08334,.82049],79:[0,.68333,.02778,.11111,.79611],80:[0,.68333,.08222,.08334,.69556],81:[.09722,.68333,0,.11111,.81667],82:[0,.68333,0,.08334,.8475],83:[0,.68333,.075,.13889,.60556],84:[0,.68333,.25417,0,.54464],85:[0,.68333,.09931,.08334,.62583],86:[0,.68333,.08222,0,.61278],87:[0,.68333,.08222,.08334,.98778],88:[0,.68333,.14643,.13889,.7133],89:[.09722,.68333,.08222,.08334,.66834],90:[0,.68333,.07944,.13889,.72473],160:[0,0,0,0,.25]},"Fraktur-Regular":{32:[0,0,0,0,.25],33:[0,.69141,0,0,.29574],34:[0,.69141,0,0,.21471],38:[0,.69141,0,0,.73786],39:[0,.69141,0,0,.21201],40:[.24982,.74947,0,0,.38865],41:[.24982,.74947,0,0,.38865],42:[0,.62119,0,0,.27764],43:[.08319,.58283,0,0,.75623],44:[0,.10803,0,0,.27764],45:[.08319,.58283,0,0,.75623],46:[0,.10803,0,0,.27764],47:[.24982,.74947,0,0,.50181],48:[0,.47534,0,0,.50181],49:[0,.47534,0,0,.50181],50:[0,.47534,0,0,.50181],51:[.18906,.47534,0,0,.50181],52:[.18906,.47534,0,0,.50181],53:[.18906,.47534,0,0,.50181],54:[0,.69141,0,0,.50181],55:[.18906,.47534,0,0,.50181],56:[0,.69141,0,0,.50181],57:[.18906,.47534,0,0,.50181],58:[0,.47534,0,0,.21606],59:[.12604,.47534,0,0,.21606],61:[-.13099,.36866,0,0,.75623],63:[0,.69141,0,0,.36245],65:[0,.69141,0,0,.7176],66:[0,.69141,0,0,.88397],67:[0,.69141,0,0,.61254],68:[0,.69141,0,0,.83158],69:[0,.69141,0,0,.66278],70:[.12604,.69141,0,0,.61119],71:[0,.69141,0,0,.78539],72:[.06302,.69141,0,0,.7203],73:[0,.69141,0,0,.55448],74:[.12604,.69141,0,0,.55231],75:[0,.69141,0,0,.66845],76:[0,.69141,0,0,.66602],77:[0,.69141,0,0,1.04953],78:[0,.69141,0,0,.83212],79:[0,.69141,0,0,.82699],80:[.18906,.69141,0,0,.82753],81:[.03781,.69141,0,0,.82699],82:[0,.69141,0,0,.82807],83:[0,.69141,0,0,.82861],84:[0,.69141,0,0,.66899],85:[0,.69141,0,0,.64576],86:[0,.69141,0,0,.83131],87:[0,.69141,0,0,1.04602],88:[0,.69141,0,0,.71922],89:[.18906,.69141,0,0,.83293],90:[.12604,.69141,0,0,.60201],91:[.24982,.74947,0,0,.27764],93:[.24982,.74947,0,0,.27764],94:[0,.69141,0,0,.49965],97:[0,.47534,0,0,.50046],98:[0,.69141,0,0,.51315],99:[0,.47534,0,0,.38946],100:[0,.62119,0,0,.49857],101:[0,.47534,0,0,.40053],102:[.18906,.69141,0,0,.32626],103:[.18906,.47534,0,0,.5037],104:[.18906,.69141,0,0,.52126],105:[0,.69141,0,0,.27899],106:[0,.69141,0,0,.28088],107:[0,.69141,0,0,.38946],108:[0,.69141,0,0,.27953],109:[0,.47534,0,0,.76676],110:[0,.47534,0,0,.52666],111:[0,.47534,0,0,.48885],112:[.18906,.52396,0,0,.50046],113:[.18906,.47534,0,0,.48912],114:[0,.47534,0,0,.38919],115:[0,.47534,0,0,.44266],116:[0,.62119,0,0,.33301],117:[0,.47534,0,0,.5172],118:[0,.52396,0,0,.5118],119:[0,.52396,0,0,.77351],120:[.18906,.47534,0,0,.38865],121:[.18906,.47534,0,0,.49884],122:[.18906,.47534,0,0,.39054],160:[0,0,0,0,.25],8216:[0,.69141,0,0,.21471],8217:[0,.69141,0,0,.21471],58112:[0,.62119,0,0,.49749],58113:[0,.62119,0,0,.4983],58114:[.18906,.69141,0,0,.33328],58115:[.18906,.69141,0,0,.32923],58116:[.18906,.47534,0,0,.50343],58117:[0,.69141,0,0,.33301],58118:[0,.62119,0,0,.33409],58119:[0,.47534,0,0,.50073]},"Main-Bold":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.35],34:[0,.69444,0,0,.60278],35:[.19444,.69444,0,0,.95833],36:[.05556,.75,0,0,.575],37:[.05556,.75,0,0,.95833],38:[0,.69444,0,0,.89444],39:[0,.69444,0,0,.31944],40:[.25,.75,0,0,.44722],41:[.25,.75,0,0,.44722],42:[0,.75,0,0,.575],43:[.13333,.63333,0,0,.89444],44:[.19444,.15556,0,0,.31944],45:[0,.44444,0,0,.38333],46:[0,.15556,0,0,.31944],47:[.25,.75,0,0,.575],48:[0,.64444,0,0,.575],49:[0,.64444,0,0,.575],50:[0,.64444,0,0,.575],51:[0,.64444,0,0,.575],52:[0,.64444,0,0,.575],53:[0,.64444,0,0,.575],54:[0,.64444,0,0,.575],55:[0,.64444,0,0,.575],56:[0,.64444,0,0,.575],57:[0,.64444,0,0,.575],58:[0,.44444,0,0,.31944],59:[.19444,.44444,0,0,.31944],60:[.08556,.58556,0,0,.89444],61:[-.10889,.39111,0,0,.89444],62:[.08556,.58556,0,0,.89444],63:[0,.69444,0,0,.54305],64:[0,.69444,0,0,.89444],65:[0,.68611,0,0,.86944],66:[0,.68611,0,0,.81805],67:[0,.68611,0,0,.83055],68:[0,.68611,0,0,.88194],69:[0,.68611,0,0,.75555],70:[0,.68611,0,0,.72361],71:[0,.68611,0,0,.90416],72:[0,.68611,0,0,.9],73:[0,.68611,0,0,.43611],74:[0,.68611,0,0,.59444],75:[0,.68611,0,0,.90138],76:[0,.68611,0,0,.69166],77:[0,.68611,0,0,1.09166],78:[0,.68611,0,0,.9],79:[0,.68611,0,0,.86388],80:[0,.68611,0,0,.78611],81:[.19444,.68611,0,0,.86388],82:[0,.68611,0,0,.8625],83:[0,.68611,0,0,.63889],84:[0,.68611,0,0,.8],85:[0,.68611,0,0,.88472],86:[0,.68611,.01597,0,.86944],87:[0,.68611,.01597,0,1.18888],88:[0,.68611,0,0,.86944],89:[0,.68611,.02875,0,.86944],90:[0,.68611,0,0,.70277],91:[.25,.75,0,0,.31944],92:[.25,.75,0,0,.575],93:[.25,.75,0,0,.31944],94:[0,.69444,0,0,.575],95:[.31,.13444,.03194,0,.575],97:[0,.44444,0,0,.55902],98:[0,.69444,0,0,.63889],99:[0,.44444,0,0,.51111],100:[0,.69444,0,0,.63889],101:[0,.44444,0,0,.52708],102:[0,.69444,.10903,0,.35139],103:[.19444,.44444,.01597,0,.575],104:[0,.69444,0,0,.63889],105:[0,.69444,0,0,.31944],106:[.19444,.69444,0,0,.35139],107:[0,.69444,0,0,.60694],108:[0,.69444,0,0,.31944],109:[0,.44444,0,0,.95833],110:[0,.44444,0,0,.63889],111:[0,.44444,0,0,.575],112:[.19444,.44444,0,0,.63889],113:[.19444,.44444,0,0,.60694],114:[0,.44444,0,0,.47361],115:[0,.44444,0,0,.45361],116:[0,.63492,0,0,.44722],117:[0,.44444,0,0,.63889],118:[0,.44444,.01597,0,.60694],119:[0,.44444,.01597,0,.83055],120:[0,.44444,0,0,.60694],121:[.19444,.44444,.01597,0,.60694],122:[0,.44444,0,0,.51111],123:[.25,.75,0,0,.575],124:[.25,.75,0,0,.31944],125:[.25,.75,0,0,.575],126:[.35,.34444,0,0,.575],160:[0,0,0,0,.25],163:[0,.69444,0,0,.86853],168:[0,.69444,0,0,.575],172:[0,.44444,0,0,.76666],176:[0,.69444,0,0,.86944],177:[.13333,.63333,0,0,.89444],184:[.17014,0,0,0,.51111],198:[0,.68611,0,0,1.04166],215:[.13333,.63333,0,0,.89444],216:[.04861,.73472,0,0,.89444],223:[0,.69444,0,0,.59722],230:[0,.44444,0,0,.83055],247:[.13333,.63333,0,0,.89444],248:[.09722,.54167,0,0,.575],305:[0,.44444,0,0,.31944],338:[0,.68611,0,0,1.16944],339:[0,.44444,0,0,.89444],567:[.19444,.44444,0,0,.35139],710:[0,.69444,0,0,.575],711:[0,.63194,0,0,.575],713:[0,.59611,0,0,.575],714:[0,.69444,0,0,.575],715:[0,.69444,0,0,.575],728:[0,.69444,0,0,.575],729:[0,.69444,0,0,.31944],730:[0,.69444,0,0,.86944],732:[0,.69444,0,0,.575],733:[0,.69444,0,0,.575],915:[0,.68611,0,0,.69166],916:[0,.68611,0,0,.95833],920:[0,.68611,0,0,.89444],923:[0,.68611,0,0,.80555],926:[0,.68611,0,0,.76666],928:[0,.68611,0,0,.9],931:[0,.68611,0,0,.83055],933:[0,.68611,0,0,.89444],934:[0,.68611,0,0,.83055],936:[0,.68611,0,0,.89444],937:[0,.68611,0,0,.83055],8211:[0,.44444,.03194,0,.575],8212:[0,.44444,.03194,0,1.14999],8216:[0,.69444,0,0,.31944],8217:[0,.69444,0,0,.31944],8220:[0,.69444,0,0,.60278],8221:[0,.69444,0,0,.60278],8224:[.19444,.69444,0,0,.51111],8225:[.19444,.69444,0,0,.51111],8242:[0,.55556,0,0,.34444],8407:[0,.72444,.15486,0,.575],8463:[0,.69444,0,0,.66759],8465:[0,.69444,0,0,.83055],8467:[0,.69444,0,0,.47361],8472:[.19444,.44444,0,0,.74027],8476:[0,.69444,0,0,.83055],8501:[0,.69444,0,0,.70277],8592:[-.10889,.39111,0,0,1.14999],8593:[.19444,.69444,0,0,.575],8594:[-.10889,.39111,0,0,1.14999],8595:[.19444,.69444,0,0,.575],8596:[-.10889,.39111,0,0,1.14999],8597:[.25,.75,0,0,.575],8598:[.19444,.69444,0,0,1.14999],8599:[.19444,.69444,0,0,1.14999],8600:[.19444,.69444,0,0,1.14999],8601:[.19444,.69444,0,0,1.14999],8636:[-.10889,.39111,0,0,1.14999],8637:[-.10889,.39111,0,0,1.14999],8640:[-.10889,.39111,0,0,1.14999],8641:[-.10889,.39111,0,0,1.14999],8656:[-.10889,.39111,0,0,1.14999],8657:[.19444,.69444,0,0,.70277],8658:[-.10889,.39111,0,0,1.14999],8659:[.19444,.69444,0,0,.70277],8660:[-.10889,.39111,0,0,1.14999],8661:[.25,.75,0,0,.70277],8704:[0,.69444,0,0,.63889],8706:[0,.69444,.06389,0,.62847],8707:[0,.69444,0,0,.63889],8709:[.05556,.75,0,0,.575],8711:[0,.68611,0,0,.95833],8712:[.08556,.58556,0,0,.76666],8715:[.08556,.58556,0,0,.76666],8722:[.13333,.63333,0,0,.89444],8723:[.13333,.63333,0,0,.89444],8725:[.25,.75,0,0,.575],8726:[.25,.75,0,0,.575],8727:[-.02778,.47222,0,0,.575],8728:[-.02639,.47361,0,0,.575],8729:[-.02639,.47361,0,0,.575],8730:[.18,.82,0,0,.95833],8733:[0,.44444,0,0,.89444],8734:[0,.44444,0,0,1.14999],8736:[0,.69224,0,0,.72222],8739:[.25,.75,0,0,.31944],8741:[.25,.75,0,0,.575],8743:[0,.55556,0,0,.76666],8744:[0,.55556,0,0,.76666],8745:[0,.55556,0,0,.76666],8746:[0,.55556,0,0,.76666],8747:[.19444,.69444,.12778,0,.56875],8764:[-.10889,.39111,0,0,.89444],8768:[.19444,.69444,0,0,.31944],8771:[.00222,.50222,0,0,.89444],8773:[.027,.638,0,0,.894],8776:[.02444,.52444,0,0,.89444],8781:[.00222,.50222,0,0,.89444],8801:[.00222,.50222,0,0,.89444],8804:[.19667,.69667,0,0,.89444],8805:[.19667,.69667,0,0,.89444],8810:[.08556,.58556,0,0,1.14999],8811:[.08556,.58556,0,0,1.14999],8826:[.08556,.58556,0,0,.89444],8827:[.08556,.58556,0,0,.89444],8834:[.08556,.58556,0,0,.89444],8835:[.08556,.58556,0,0,.89444],8838:[.19667,.69667,0,0,.89444],8839:[.19667,.69667,0,0,.89444],8846:[0,.55556,0,0,.76666],8849:[.19667,.69667,0,0,.89444],8850:[.19667,.69667,0,0,.89444],8851:[0,.55556,0,0,.76666],8852:[0,.55556,0,0,.76666],8853:[.13333,.63333,0,0,.89444],8854:[.13333,.63333,0,0,.89444],8855:[.13333,.63333,0,0,.89444],8856:[.13333,.63333,0,0,.89444],8857:[.13333,.63333,0,0,.89444],8866:[0,.69444,0,0,.70277],8867:[0,.69444,0,0,.70277],8868:[0,.69444,0,0,.89444],8869:[0,.69444,0,0,.89444],8900:[-.02639,.47361,0,0,.575],8901:[-.02639,.47361,0,0,.31944],8902:[-.02778,.47222,0,0,.575],8968:[.25,.75,0,0,.51111],8969:[.25,.75,0,0,.51111],8970:[.25,.75,0,0,.51111],8971:[.25,.75,0,0,.51111],8994:[-.13889,.36111,0,0,1.14999],8995:[-.13889,.36111,0,0,1.14999],9651:[.19444,.69444,0,0,1.02222],9657:[-.02778,.47222,0,0,.575],9661:[.19444,.69444,0,0,1.02222],9667:[-.02778,.47222,0,0,.575],9711:[.19444,.69444,0,0,1.14999],9824:[.12963,.69444,0,0,.89444],9825:[.12963,.69444,0,0,.89444],9826:[.12963,.69444,0,0,.89444],9827:[.12963,.69444,0,0,.89444],9837:[0,.75,0,0,.44722],9838:[.19444,.69444,0,0,.44722],9839:[.19444,.69444,0,0,.44722],10216:[.25,.75,0,0,.44722],10217:[.25,.75,0,0,.44722],10815:[0,.68611,0,0,.9],10927:[.19667,.69667,0,0,.89444],10928:[.19667,.69667,0,0,.89444],57376:[.19444,.69444,0,0,0]},"Main-BoldItalic":{32:[0,0,0,0,.25],33:[0,.69444,.11417,0,.38611],34:[0,.69444,.07939,0,.62055],35:[.19444,.69444,.06833,0,.94444],37:[.05556,.75,.12861,0,.94444],38:[0,.69444,.08528,0,.88555],39:[0,.69444,.12945,0,.35555],40:[.25,.75,.15806,0,.47333],41:[.25,.75,.03306,0,.47333],42:[0,.75,.14333,0,.59111],43:[.10333,.60333,.03306,0,.88555],44:[.19444,.14722,0,0,.35555],45:[0,.44444,.02611,0,.41444],46:[0,.14722,0,0,.35555],47:[.25,.75,.15806,0,.59111],48:[0,.64444,.13167,0,.59111],49:[0,.64444,.13167,0,.59111],50:[0,.64444,.13167,0,.59111],51:[0,.64444,.13167,0,.59111],52:[.19444,.64444,.13167,0,.59111],53:[0,.64444,.13167,0,.59111],54:[0,.64444,.13167,0,.59111],55:[.19444,.64444,.13167,0,.59111],56:[0,.64444,.13167,0,.59111],57:[0,.64444,.13167,0,.59111],58:[0,.44444,.06695,0,.35555],59:[.19444,.44444,.06695,0,.35555],61:[-.10889,.39111,.06833,0,.88555],63:[0,.69444,.11472,0,.59111],64:[0,.69444,.09208,0,.88555],65:[0,.68611,0,0,.86555],66:[0,.68611,.0992,0,.81666],67:[0,.68611,.14208,0,.82666],68:[0,.68611,.09062,0,.87555],69:[0,.68611,.11431,0,.75666],70:[0,.68611,.12903,0,.72722],71:[0,.68611,.07347,0,.89527],72:[0,.68611,.17208,0,.8961],73:[0,.68611,.15681,0,.47166],74:[0,.68611,.145,0,.61055],75:[0,.68611,.14208,0,.89499],76:[0,.68611,0,0,.69777],77:[0,.68611,.17208,0,1.07277],78:[0,.68611,.17208,0,.8961],79:[0,.68611,.09062,0,.85499],80:[0,.68611,.0992,0,.78721],81:[.19444,.68611,.09062,0,.85499],82:[0,.68611,.02559,0,.85944],83:[0,.68611,.11264,0,.64999],84:[0,.68611,.12903,0,.7961],85:[0,.68611,.17208,0,.88083],86:[0,.68611,.18625,0,.86555],87:[0,.68611,.18625,0,1.15999],88:[0,.68611,.15681,0,.86555],89:[0,.68611,.19803,0,.86555],90:[0,.68611,.14208,0,.70888],91:[.25,.75,.1875,0,.35611],93:[.25,.75,.09972,0,.35611],94:[0,.69444,.06709,0,.59111],95:[.31,.13444,.09811,0,.59111],97:[0,.44444,.09426,0,.59111],98:[0,.69444,.07861,0,.53222],99:[0,.44444,.05222,0,.53222],100:[0,.69444,.10861,0,.59111],101:[0,.44444,.085,0,.53222],102:[.19444,.69444,.21778,0,.4],103:[.19444,.44444,.105,0,.53222],104:[0,.69444,.09426,0,.59111],105:[0,.69326,.11387,0,.35555],106:[.19444,.69326,.1672,0,.35555],107:[0,.69444,.11111,0,.53222],108:[0,.69444,.10861,0,.29666],109:[0,.44444,.09426,0,.94444],110:[0,.44444,.09426,0,.64999],111:[0,.44444,.07861,0,.59111],112:[.19444,.44444,.07861,0,.59111],113:[.19444,.44444,.105,0,.53222],114:[0,.44444,.11111,0,.50167],115:[0,.44444,.08167,0,.48694],116:[0,.63492,.09639,0,.385],117:[0,.44444,.09426,0,.62055],118:[0,.44444,.11111,0,.53222],119:[0,.44444,.11111,0,.76777],120:[0,.44444,.12583,0,.56055],121:[.19444,.44444,.105,0,.56166],122:[0,.44444,.13889,0,.49055],126:[.35,.34444,.11472,0,.59111],160:[0,0,0,0,.25],168:[0,.69444,.11473,0,.59111],176:[0,.69444,0,0,.94888],184:[.17014,0,0,0,.53222],198:[0,.68611,.11431,0,1.02277],216:[.04861,.73472,.09062,0,.88555],223:[.19444,.69444,.09736,0,.665],230:[0,.44444,.085,0,.82666],248:[.09722,.54167,.09458,0,.59111],305:[0,.44444,.09426,0,.35555],338:[0,.68611,.11431,0,1.14054],339:[0,.44444,.085,0,.82666],567:[.19444,.44444,.04611,0,.385],710:[0,.69444,.06709,0,.59111],711:[0,.63194,.08271,0,.59111],713:[0,.59444,.10444,0,.59111],714:[0,.69444,.08528,0,.59111],715:[0,.69444,0,0,.59111],728:[0,.69444,.10333,0,.59111],729:[0,.69444,.12945,0,.35555],730:[0,.69444,0,0,.94888],732:[0,.69444,.11472,0,.59111],733:[0,.69444,.11472,0,.59111],915:[0,.68611,.12903,0,.69777],916:[0,.68611,0,0,.94444],920:[0,.68611,.09062,0,.88555],923:[0,.68611,0,0,.80666],926:[0,.68611,.15092,0,.76777],928:[0,.68611,.17208,0,.8961],931:[0,.68611,.11431,0,.82666],933:[0,.68611,.10778,0,.88555],934:[0,.68611,.05632,0,.82666],936:[0,.68611,.10778,0,.88555],937:[0,.68611,.0992,0,.82666],8211:[0,.44444,.09811,0,.59111],8212:[0,.44444,.09811,0,1.18221],8216:[0,.69444,.12945,0,.35555],8217:[0,.69444,.12945,0,.35555],8220:[0,.69444,.16772,0,.62055],8221:[0,.69444,.07939,0,.62055]},"Main-Italic":{32:[0,0,0,0,.25],33:[0,.69444,.12417,0,.30667],34:[0,.69444,.06961,0,.51444],35:[.19444,.69444,.06616,0,.81777],37:[.05556,.75,.13639,0,.81777],38:[0,.69444,.09694,0,.76666],39:[0,.69444,.12417,0,.30667],40:[.25,.75,.16194,0,.40889],41:[.25,.75,.03694,0,.40889],42:[0,.75,.14917,0,.51111],43:[.05667,.56167,.03694,0,.76666],44:[.19444,.10556,0,0,.30667],45:[0,.43056,.02826,0,.35778],46:[0,.10556,0,0,.30667],47:[.25,.75,.16194,0,.51111],48:[0,.64444,.13556,0,.51111],49:[0,.64444,.13556,0,.51111],50:[0,.64444,.13556,0,.51111],51:[0,.64444,.13556,0,.51111],52:[.19444,.64444,.13556,0,.51111],53:[0,.64444,.13556,0,.51111],54:[0,.64444,.13556,0,.51111],55:[.19444,.64444,.13556,0,.51111],56:[0,.64444,.13556,0,.51111],57:[0,.64444,.13556,0,.51111],58:[0,.43056,.0582,0,.30667],59:[.19444,.43056,.0582,0,.30667],61:[-.13313,.36687,.06616,0,.76666],63:[0,.69444,.1225,0,.51111],64:[0,.69444,.09597,0,.76666],65:[0,.68333,0,0,.74333],66:[0,.68333,.10257,0,.70389],67:[0,.68333,.14528,0,.71555],68:[0,.68333,.09403,0,.755],69:[0,.68333,.12028,0,.67833],70:[0,.68333,.13305,0,.65277],71:[0,.68333,.08722,0,.77361],72:[0,.68333,.16389,0,.74333],73:[0,.68333,.15806,0,.38555],74:[0,.68333,.14028,0,.525],75:[0,.68333,.14528,0,.76888],76:[0,.68333,0,0,.62722],77:[0,.68333,.16389,0,.89666],78:[0,.68333,.16389,0,.74333],79:[0,.68333,.09403,0,.76666],80:[0,.68333,.10257,0,.67833],81:[.19444,.68333,.09403,0,.76666],82:[0,.68333,.03868,0,.72944],83:[0,.68333,.11972,0,.56222],84:[0,.68333,.13305,0,.71555],85:[0,.68333,.16389,0,.74333],86:[0,.68333,.18361,0,.74333],87:[0,.68333,.18361,0,.99888],88:[0,.68333,.15806,0,.74333],89:[0,.68333,.19383,0,.74333],90:[0,.68333,.14528,0,.61333],91:[.25,.75,.1875,0,.30667],93:[.25,.75,.10528,0,.30667],94:[0,.69444,.06646,0,.51111],95:[.31,.12056,.09208,0,.51111],97:[0,.43056,.07671,0,.51111],98:[0,.69444,.06312,0,.46],99:[0,.43056,.05653,0,.46],100:[0,.69444,.10333,0,.51111],101:[0,.43056,.07514,0,.46],102:[.19444,.69444,.21194,0,.30667],103:[.19444,.43056,.08847,0,.46],104:[0,.69444,.07671,0,.51111],105:[0,.65536,.1019,0,.30667],106:[.19444,.65536,.14467,0,.30667],107:[0,.69444,.10764,0,.46],108:[0,.69444,.10333,0,.25555],109:[0,.43056,.07671,0,.81777],110:[0,.43056,.07671,0,.56222],111:[0,.43056,.06312,0,.51111],112:[.19444,.43056,.06312,0,.51111],113:[.19444,.43056,.08847,0,.46],114:[0,.43056,.10764,0,.42166],115:[0,.43056,.08208,0,.40889],116:[0,.61508,.09486,0,.33222],117:[0,.43056,.07671,0,.53666],118:[0,.43056,.10764,0,.46],119:[0,.43056,.10764,0,.66444],120:[0,.43056,.12042,0,.46389],121:[.19444,.43056,.08847,0,.48555],122:[0,.43056,.12292,0,.40889],126:[.35,.31786,.11585,0,.51111],160:[0,0,0,0,.25],168:[0,.66786,.10474,0,.51111],176:[0,.69444,0,0,.83129],184:[.17014,0,0,0,.46],198:[0,.68333,.12028,0,.88277],216:[.04861,.73194,.09403,0,.76666],223:[.19444,.69444,.10514,0,.53666],230:[0,.43056,.07514,0,.71555],248:[.09722,.52778,.09194,0,.51111],338:[0,.68333,.12028,0,.98499],339:[0,.43056,.07514,0,.71555],710:[0,.69444,.06646,0,.51111],711:[0,.62847,.08295,0,.51111],713:[0,.56167,.10333,0,.51111],714:[0,.69444,.09694,0,.51111],715:[0,.69444,0,0,.51111],728:[0,.69444,.10806,0,.51111],729:[0,.66786,.11752,0,.30667],730:[0,.69444,0,0,.83129],732:[0,.66786,.11585,0,.51111],733:[0,.69444,.1225,0,.51111],915:[0,.68333,.13305,0,.62722],916:[0,.68333,0,0,.81777],920:[0,.68333,.09403,0,.76666],923:[0,.68333,0,0,.69222],926:[0,.68333,.15294,0,.66444],928:[0,.68333,.16389,0,.74333],931:[0,.68333,.12028,0,.71555],933:[0,.68333,.11111,0,.76666],934:[0,.68333,.05986,0,.71555],936:[0,.68333,.11111,0,.76666],937:[0,.68333,.10257,0,.71555],8211:[0,.43056,.09208,0,.51111],8212:[0,.43056,.09208,0,1.02222],8216:[0,.69444,.12417,0,.30667],8217:[0,.69444,.12417,0,.30667],8220:[0,.69444,.1685,0,.51444],8221:[0,.69444,.06961,0,.51444],8463:[0,.68889,0,0,.54028]},"Main-Regular":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.27778],34:[0,.69444,0,0,.5],35:[.19444,.69444,0,0,.83334],36:[.05556,.75,0,0,.5],37:[.05556,.75,0,0,.83334],38:[0,.69444,0,0,.77778],39:[0,.69444,0,0,.27778],40:[.25,.75,0,0,.38889],41:[.25,.75,0,0,.38889],42:[0,.75,0,0,.5],43:[.08333,.58333,0,0,.77778],44:[.19444,.10556,0,0,.27778],45:[0,.43056,0,0,.33333],46:[0,.10556,0,0,.27778],47:[.25,.75,0,0,.5],48:[0,.64444,0,0,.5],49:[0,.64444,0,0,.5],50:[0,.64444,0,0,.5],51:[0,.64444,0,0,.5],52:[0,.64444,0,0,.5],53:[0,.64444,0,0,.5],54:[0,.64444,0,0,.5],55:[0,.64444,0,0,.5],56:[0,.64444,0,0,.5],57:[0,.64444,0,0,.5],58:[0,.43056,0,0,.27778],59:[.19444,.43056,0,0,.27778],60:[.0391,.5391,0,0,.77778],61:[-.13313,.36687,0,0,.77778],62:[.0391,.5391,0,0,.77778],63:[0,.69444,0,0,.47222],64:[0,.69444,0,0,.77778],65:[0,.68333,0,0,.75],66:[0,.68333,0,0,.70834],67:[0,.68333,0,0,.72222],68:[0,.68333,0,0,.76389],69:[0,.68333,0,0,.68056],70:[0,.68333,0,0,.65278],71:[0,.68333,0,0,.78472],72:[0,.68333,0,0,.75],73:[0,.68333,0,0,.36111],74:[0,.68333,0,0,.51389],75:[0,.68333,0,0,.77778],76:[0,.68333,0,0,.625],77:[0,.68333,0,0,.91667],78:[0,.68333,0,0,.75],79:[0,.68333,0,0,.77778],80:[0,.68333,0,0,.68056],81:[.19444,.68333,0,0,.77778],82:[0,.68333,0,0,.73611],83:[0,.68333,0,0,.55556],84:[0,.68333,0,0,.72222],85:[0,.68333,0,0,.75],86:[0,.68333,.01389,0,.75],87:[0,.68333,.01389,0,1.02778],88:[0,.68333,0,0,.75],89:[0,.68333,.025,0,.75],90:[0,.68333,0,0,.61111],91:[.25,.75,0,0,.27778],92:[.25,.75,0,0,.5],93:[.25,.75,0,0,.27778],94:[0,.69444,0,0,.5],95:[.31,.12056,.02778,0,.5],97:[0,.43056,0,0,.5],98:[0,.69444,0,0,.55556],99:[0,.43056,0,0,.44445],100:[0,.69444,0,0,.55556],101:[0,.43056,0,0,.44445],102:[0,.69444,.07778,0,.30556],103:[.19444,.43056,.01389,0,.5],104:[0,.69444,0,0,.55556],105:[0,.66786,0,0,.27778],106:[.19444,.66786,0,0,.30556],107:[0,.69444,0,0,.52778],108:[0,.69444,0,0,.27778],109:[0,.43056,0,0,.83334],110:[0,.43056,0,0,.55556],111:[0,.43056,0,0,.5],112:[.19444,.43056,0,0,.55556],113:[.19444,.43056,0,0,.52778],114:[0,.43056,0,0,.39167],115:[0,.43056,0,0,.39445],116:[0,.61508,0,0,.38889],117:[0,.43056,0,0,.55556],118:[0,.43056,.01389,0,.52778],119:[0,.43056,.01389,0,.72222],120:[0,.43056,0,0,.52778],121:[.19444,.43056,.01389,0,.52778],122:[0,.43056,0,0,.44445],123:[.25,.75,0,0,.5],124:[.25,.75,0,0,.27778],125:[.25,.75,0,0,.5],126:[.35,.31786,0,0,.5],160:[0,0,0,0,.25],163:[0,.69444,0,0,.76909],167:[.19444,.69444,0,0,.44445],168:[0,.66786,0,0,.5],172:[0,.43056,0,0,.66667],176:[0,.69444,0,0,.75],177:[.08333,.58333,0,0,.77778],182:[.19444,.69444,0,0,.61111],184:[.17014,0,0,0,.44445],198:[0,.68333,0,0,.90278],215:[.08333,.58333,0,0,.77778],216:[.04861,.73194,0,0,.77778],223:[0,.69444,0,0,.5],230:[0,.43056,0,0,.72222],247:[.08333,.58333,0,0,.77778],248:[.09722,.52778,0,0,.5],305:[0,.43056,0,0,.27778],338:[0,.68333,0,0,1.01389],339:[0,.43056,0,0,.77778],567:[.19444,.43056,0,0,.30556],710:[0,.69444,0,0,.5],711:[0,.62847,0,0,.5],713:[0,.56778,0,0,.5],714:[0,.69444,0,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,0,0,.5],729:[0,.66786,0,0,.27778],730:[0,.69444,0,0,.75],732:[0,.66786,0,0,.5],733:[0,.69444,0,0,.5],915:[0,.68333,0,0,.625],916:[0,.68333,0,0,.83334],920:[0,.68333,0,0,.77778],923:[0,.68333,0,0,.69445],926:[0,.68333,0,0,.66667],928:[0,.68333,0,0,.75],931:[0,.68333,0,0,.72222],933:[0,.68333,0,0,.77778],934:[0,.68333,0,0,.72222],936:[0,.68333,0,0,.77778],937:[0,.68333,0,0,.72222],8211:[0,.43056,.02778,0,.5],8212:[0,.43056,.02778,0,1],8216:[0,.69444,0,0,.27778],8217:[0,.69444,0,0,.27778],8220:[0,.69444,0,0,.5],8221:[0,.69444,0,0,.5],8224:[.19444,.69444,0,0,.44445],8225:[.19444,.69444,0,0,.44445],8230:[0,.123,0,0,1.172],8242:[0,.55556,0,0,.275],8407:[0,.71444,.15382,0,.5],8463:[0,.68889,0,0,.54028],8465:[0,.69444,0,0,.72222],8467:[0,.69444,0,.11111,.41667],8472:[.19444,.43056,0,.11111,.63646],8476:[0,.69444,0,0,.72222],8501:[0,.69444,0,0,.61111],8592:[-.13313,.36687,0,0,1],8593:[.19444,.69444,0,0,.5],8594:[-.13313,.36687,0,0,1],8595:[.19444,.69444,0,0,.5],8596:[-.13313,.36687,0,0,1],8597:[.25,.75,0,0,.5],8598:[.19444,.69444,0,0,1],8599:[.19444,.69444,0,0,1],8600:[.19444,.69444,0,0,1],8601:[.19444,.69444,0,0,1],8614:[.011,.511,0,0,1],8617:[.011,.511,0,0,1.126],8618:[.011,.511,0,0,1.126],8636:[-.13313,.36687,0,0,1],8637:[-.13313,.36687,0,0,1],8640:[-.13313,.36687,0,0,1],8641:[-.13313,.36687,0,0,1],8652:[.011,.671,0,0,1],8656:[-.13313,.36687,0,0,1],8657:[.19444,.69444,0,0,.61111],8658:[-.13313,.36687,0,0,1],8659:[.19444,.69444,0,0,.61111],8660:[-.13313,.36687,0,0,1],8661:[.25,.75,0,0,.61111],8704:[0,.69444,0,0,.55556],8706:[0,.69444,.05556,.08334,.5309],8707:[0,.69444,0,0,.55556],8709:[.05556,.75,0,0,.5],8711:[0,.68333,0,0,.83334],8712:[.0391,.5391,0,0,.66667],8715:[.0391,.5391,0,0,.66667],8722:[.08333,.58333,0,0,.77778],8723:[.08333,.58333,0,0,.77778],8725:[.25,.75,0,0,.5],8726:[.25,.75,0,0,.5],8727:[-.03472,.46528,0,0,.5],8728:[-.05555,.44445,0,0,.5],8729:[-.05555,.44445,0,0,.5],8730:[.2,.8,0,0,.83334],8733:[0,.43056,0,0,.77778],8734:[0,.43056,0,0,1],8736:[0,.69224,0,0,.72222],8739:[.25,.75,0,0,.27778],8741:[.25,.75,0,0,.5],8743:[0,.55556,0,0,.66667],8744:[0,.55556,0,0,.66667],8745:[0,.55556,0,0,.66667],8746:[0,.55556,0,0,.66667],8747:[.19444,.69444,.11111,0,.41667],8764:[-.13313,.36687,0,0,.77778],8768:[.19444,.69444,0,0,.27778],8771:[-.03625,.46375,0,0,.77778],8773:[-.022,.589,0,0,.778],8776:[-.01688,.48312,0,0,.77778],8781:[-.03625,.46375,0,0,.77778],8784:[-.133,.673,0,0,.778],8801:[-.03625,.46375,0,0,.77778],8804:[.13597,.63597,0,0,.77778],8805:[.13597,.63597,0,0,.77778],8810:[.0391,.5391,0,0,1],8811:[.0391,.5391,0,0,1],8826:[.0391,.5391,0,0,.77778],8827:[.0391,.5391,0,0,.77778],8834:[.0391,.5391,0,0,.77778],8835:[.0391,.5391,0,0,.77778],8838:[.13597,.63597,0,0,.77778],8839:[.13597,.63597,0,0,.77778],8846:[0,.55556,0,0,.66667],8849:[.13597,.63597,0,0,.77778],8850:[.13597,.63597,0,0,.77778],8851:[0,.55556,0,0,.66667],8852:[0,.55556,0,0,.66667],8853:[.08333,.58333,0,0,.77778],8854:[.08333,.58333,0,0,.77778],8855:[.08333,.58333,0,0,.77778],8856:[.08333,.58333,0,0,.77778],8857:[.08333,.58333,0,0,.77778],8866:[0,.69444,0,0,.61111],8867:[0,.69444,0,0,.61111],8868:[0,.69444,0,0,.77778],8869:[0,.69444,0,0,.77778],8872:[.249,.75,0,0,.867],8900:[-.05555,.44445,0,0,.5],8901:[-.05555,.44445,0,0,.27778],8902:[-.03472,.46528,0,0,.5],8904:[.005,.505,0,0,.9],8942:[.03,.903,0,0,.278],8943:[-.19,.313,0,0,1.172],8945:[-.1,.823,0,0,1.282],8968:[.25,.75,0,0,.44445],8969:[.25,.75,0,0,.44445],8970:[.25,.75,0,0,.44445],8971:[.25,.75,0,0,.44445],8994:[-.14236,.35764,0,0,1],8995:[-.14236,.35764,0,0,1],9136:[.244,.744,0,0,.412],9137:[.244,.745,0,0,.412],9651:[.19444,.69444,0,0,.88889],9657:[-.03472,.46528,0,0,.5],9661:[.19444,.69444,0,0,.88889],9667:[-.03472,.46528,0,0,.5],9711:[.19444,.69444,0,0,1],9824:[.12963,.69444,0,0,.77778],9825:[.12963,.69444,0,0,.77778],9826:[.12963,.69444,0,0,.77778],9827:[.12963,.69444,0,0,.77778],9837:[0,.75,0,0,.38889],9838:[.19444,.69444,0,0,.38889],9839:[.19444,.69444,0,0,.38889],10216:[.25,.75,0,0,.38889],10217:[.25,.75,0,0,.38889],10222:[.244,.744,0,0,.412],10223:[.244,.745,0,0,.412],10229:[.011,.511,0,0,1.609],10230:[.011,.511,0,0,1.638],10231:[.011,.511,0,0,1.859],10232:[.024,.525,0,0,1.609],10233:[.024,.525,0,0,1.638],10234:[.024,.525,0,0,1.858],10236:[.011,.511,0,0,1.638],10815:[0,.68333,0,0,.75],10927:[.13597,.63597,0,0,.77778],10928:[.13597,.63597,0,0,.77778],57376:[.19444,.69444,0,0,0]},"Math-BoldItalic":{32:[0,0,0,0,.25],48:[0,.44444,0,0,.575],49:[0,.44444,0,0,.575],50:[0,.44444,0,0,.575],51:[.19444,.44444,0,0,.575],52:[.19444,.44444,0,0,.575],53:[.19444,.44444,0,0,.575],54:[0,.64444,0,0,.575],55:[.19444,.44444,0,0,.575],56:[0,.64444,0,0,.575],57:[.19444,.44444,0,0,.575],65:[0,.68611,0,0,.86944],66:[0,.68611,.04835,0,.8664],67:[0,.68611,.06979,0,.81694],68:[0,.68611,.03194,0,.93812],69:[0,.68611,.05451,0,.81007],70:[0,.68611,.15972,0,.68889],71:[0,.68611,0,0,.88673],72:[0,.68611,.08229,0,.98229],73:[0,.68611,.07778,0,.51111],74:[0,.68611,.10069,0,.63125],75:[0,.68611,.06979,0,.97118],76:[0,.68611,0,0,.75555],77:[0,.68611,.11424,0,1.14201],78:[0,.68611,.11424,0,.95034],79:[0,.68611,.03194,0,.83666],80:[0,.68611,.15972,0,.72309],81:[.19444,.68611,0,0,.86861],82:[0,.68611,.00421,0,.87235],83:[0,.68611,.05382,0,.69271],84:[0,.68611,.15972,0,.63663],85:[0,.68611,.11424,0,.80027],86:[0,.68611,.25555,0,.67778],87:[0,.68611,.15972,0,1.09305],88:[0,.68611,.07778,0,.94722],89:[0,.68611,.25555,0,.67458],90:[0,.68611,.06979,0,.77257],97:[0,.44444,0,0,.63287],98:[0,.69444,0,0,.52083],99:[0,.44444,0,0,.51342],100:[0,.69444,0,0,.60972],101:[0,.44444,0,0,.55361],102:[.19444,.69444,.11042,0,.56806],103:[.19444,.44444,.03704,0,.5449],104:[0,.69444,0,0,.66759],105:[0,.69326,0,0,.4048],106:[.19444,.69326,.0622,0,.47083],107:[0,.69444,.01852,0,.6037],108:[0,.69444,.0088,0,.34815],109:[0,.44444,0,0,1.0324],110:[0,.44444,0,0,.71296],111:[0,.44444,0,0,.58472],112:[.19444,.44444,0,0,.60092],113:[.19444,.44444,.03704,0,.54213],114:[0,.44444,.03194,0,.5287],115:[0,.44444,0,0,.53125],116:[0,.63492,0,0,.41528],117:[0,.44444,0,0,.68102],118:[0,.44444,.03704,0,.56666],119:[0,.44444,.02778,0,.83148],120:[0,.44444,0,0,.65903],121:[.19444,.44444,.03704,0,.59028],122:[0,.44444,.04213,0,.55509],160:[0,0,0,0,.25],915:[0,.68611,.15972,0,.65694],916:[0,.68611,0,0,.95833],920:[0,.68611,.03194,0,.86722],923:[0,.68611,0,0,.80555],926:[0,.68611,.07458,0,.84125],928:[0,.68611,.08229,0,.98229],931:[0,.68611,.05451,0,.88507],933:[0,.68611,.15972,0,.67083],934:[0,.68611,0,0,.76666],936:[0,.68611,.11653,0,.71402],937:[0,.68611,.04835,0,.8789],945:[0,.44444,0,0,.76064],946:[.19444,.69444,.03403,0,.65972],947:[.19444,.44444,.06389,0,.59003],948:[0,.69444,.03819,0,.52222],949:[0,.44444,0,0,.52882],950:[.19444,.69444,.06215,0,.50833],951:[.19444,.44444,.03704,0,.6],952:[0,.69444,.03194,0,.5618],953:[0,.44444,0,0,.41204],954:[0,.44444,0,0,.66759],955:[0,.69444,0,0,.67083],956:[.19444,.44444,0,0,.70787],957:[0,.44444,.06898,0,.57685],958:[.19444,.69444,.03021,0,.50833],959:[0,.44444,0,0,.58472],960:[0,.44444,.03704,0,.68241],961:[.19444,.44444,0,0,.6118],962:[.09722,.44444,.07917,0,.42361],963:[0,.44444,.03704,0,.68588],964:[0,.44444,.13472,0,.52083],965:[0,.44444,.03704,0,.63055],966:[.19444,.44444,0,0,.74722],967:[.19444,.44444,0,0,.71805],968:[.19444,.69444,.03704,0,.75833],969:[0,.44444,.03704,0,.71782],977:[0,.69444,0,0,.69155],981:[.19444,.69444,0,0,.7125],982:[0,.44444,.03194,0,.975],1009:[.19444,.44444,0,0,.6118],1013:[0,.44444,0,0,.48333],57649:[0,.44444,0,0,.39352],57911:[.19444,.44444,0,0,.43889]},"Math-Italic":{32:[0,0,0,0,.25],48:[0,.43056,0,0,.5],49:[0,.43056,0,0,.5],50:[0,.43056,0,0,.5],51:[.19444,.43056,0,0,.5],52:[.19444,.43056,0,0,.5],53:[.19444,.43056,0,0,.5],54:[0,.64444,0,0,.5],55:[.19444,.43056,0,0,.5],56:[0,.64444,0,0,.5],57:[.19444,.43056,0,0,.5],65:[0,.68333,0,.13889,.75],66:[0,.68333,.05017,.08334,.75851],67:[0,.68333,.07153,.08334,.71472],68:[0,.68333,.02778,.05556,.82792],69:[0,.68333,.05764,.08334,.7382],70:[0,.68333,.13889,.08334,.64306],71:[0,.68333,0,.08334,.78625],72:[0,.68333,.08125,.05556,.83125],73:[0,.68333,.07847,.11111,.43958],74:[0,.68333,.09618,.16667,.55451],75:[0,.68333,.07153,.05556,.84931],76:[0,.68333,0,.02778,.68056],77:[0,.68333,.10903,.08334,.97014],78:[0,.68333,.10903,.08334,.80347],79:[0,.68333,.02778,.08334,.76278],80:[0,.68333,.13889,.08334,.64201],81:[.19444,.68333,0,.08334,.79056],82:[0,.68333,.00773,.08334,.75929],83:[0,.68333,.05764,.08334,.6132],84:[0,.68333,.13889,.08334,.58438],85:[0,.68333,.10903,.02778,.68278],86:[0,.68333,.22222,0,.58333],87:[0,.68333,.13889,0,.94445],88:[0,.68333,.07847,.08334,.82847],89:[0,.68333,.22222,0,.58056],90:[0,.68333,.07153,.08334,.68264],97:[0,.43056,0,0,.52859],98:[0,.69444,0,0,.42917],99:[0,.43056,0,.05556,.43276],100:[0,.69444,0,.16667,.52049],101:[0,.43056,0,.05556,.46563],102:[.19444,.69444,.10764,.16667,.48959],103:[.19444,.43056,.03588,.02778,.47697],104:[0,.69444,0,0,.57616],105:[0,.65952,0,0,.34451],106:[.19444,.65952,.05724,0,.41181],107:[0,.69444,.03148,0,.5206],108:[0,.69444,.01968,.08334,.29838],109:[0,.43056,0,0,.87801],110:[0,.43056,0,0,.60023],111:[0,.43056,0,.05556,.48472],112:[.19444,.43056,0,.08334,.50313],113:[.19444,.43056,.03588,.08334,.44641],114:[0,.43056,.02778,.05556,.45116],115:[0,.43056,0,.05556,.46875],116:[0,.61508,0,.08334,.36111],117:[0,.43056,0,.02778,.57246],118:[0,.43056,.03588,.02778,.48472],119:[0,.43056,.02691,.08334,.71592],120:[0,.43056,0,.02778,.57153],121:[.19444,.43056,.03588,.05556,.49028],122:[0,.43056,.04398,.05556,.46505],160:[0,0,0,0,.25],915:[0,.68333,.13889,.08334,.61528],916:[0,.68333,0,.16667,.83334],920:[0,.68333,.02778,.08334,.76278],923:[0,.68333,0,.16667,.69445],926:[0,.68333,.07569,.08334,.74236],928:[0,.68333,.08125,.05556,.83125],931:[0,.68333,.05764,.08334,.77986],933:[0,.68333,.13889,.05556,.58333],934:[0,.68333,0,.08334,.66667],936:[0,.68333,.11,.05556,.61222],937:[0,.68333,.05017,.08334,.7724],945:[0,.43056,.0037,.02778,.6397],946:[.19444,.69444,.05278,.08334,.56563],947:[.19444,.43056,.05556,0,.51773],948:[0,.69444,.03785,.05556,.44444],949:[0,.43056,0,.08334,.46632],950:[.19444,.69444,.07378,.08334,.4375],951:[.19444,.43056,.03588,.05556,.49653],952:[0,.69444,.02778,.08334,.46944],953:[0,.43056,0,.05556,.35394],954:[0,.43056,0,0,.57616],955:[0,.69444,0,0,.58334],956:[.19444,.43056,0,.02778,.60255],957:[0,.43056,.06366,.02778,.49398],958:[.19444,.69444,.04601,.11111,.4375],959:[0,.43056,0,.05556,.48472],960:[0,.43056,.03588,0,.57003],961:[.19444,.43056,0,.08334,.51702],962:[.09722,.43056,.07986,.08334,.36285],963:[0,.43056,.03588,0,.57141],964:[0,.43056,.1132,.02778,.43715],965:[0,.43056,.03588,.02778,.54028],966:[.19444,.43056,0,.08334,.65417],967:[.19444,.43056,0,.05556,.62569],968:[.19444,.69444,.03588,.11111,.65139],969:[0,.43056,.03588,0,.62245],977:[0,.69444,0,.08334,.59144],981:[.19444,.69444,0,.08334,.59583],982:[0,.43056,.02778,0,.82813],1009:[.19444,.43056,0,.08334,.51702],1013:[0,.43056,0,.05556,.4059],57649:[0,.43056,0,.02778,.32246],57911:[.19444,.43056,0,.08334,.38403]},"SansSerif-Bold":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.36667],34:[0,.69444,0,0,.55834],35:[.19444,.69444,0,0,.91667],36:[.05556,.75,0,0,.55],37:[.05556,.75,0,0,1.02912],38:[0,.69444,0,0,.83056],39:[0,.69444,0,0,.30556],40:[.25,.75,0,0,.42778],41:[.25,.75,0,0,.42778],42:[0,.75,0,0,.55],43:[.11667,.61667,0,0,.85556],44:[.10556,.13056,0,0,.30556],45:[0,.45833,0,0,.36667],46:[0,.13056,0,0,.30556],47:[.25,.75,0,0,.55],48:[0,.69444,0,0,.55],49:[0,.69444,0,0,.55],50:[0,.69444,0,0,.55],51:[0,.69444,0,0,.55],52:[0,.69444,0,0,.55],53:[0,.69444,0,0,.55],54:[0,.69444,0,0,.55],55:[0,.69444,0,0,.55],56:[0,.69444,0,0,.55],57:[0,.69444,0,0,.55],58:[0,.45833,0,0,.30556],59:[.10556,.45833,0,0,.30556],61:[-.09375,.40625,0,0,.85556],63:[0,.69444,0,0,.51945],64:[0,.69444,0,0,.73334],65:[0,.69444,0,0,.73334],66:[0,.69444,0,0,.73334],67:[0,.69444,0,0,.70278],68:[0,.69444,0,0,.79445],69:[0,.69444,0,0,.64167],70:[0,.69444,0,0,.61111],71:[0,.69444,0,0,.73334],72:[0,.69444,0,0,.79445],73:[0,.69444,0,0,.33056],74:[0,.69444,0,0,.51945],75:[0,.69444,0,0,.76389],76:[0,.69444,0,0,.58056],77:[0,.69444,0,0,.97778],78:[0,.69444,0,0,.79445],79:[0,.69444,0,0,.79445],80:[0,.69444,0,0,.70278],81:[.10556,.69444,0,0,.79445],82:[0,.69444,0,0,.70278],83:[0,.69444,0,0,.61111],84:[0,.69444,0,0,.73334],85:[0,.69444,0,0,.76389],86:[0,.69444,.01528,0,.73334],87:[0,.69444,.01528,0,1.03889],88:[0,.69444,0,0,.73334],89:[0,.69444,.0275,0,.73334],90:[0,.69444,0,0,.67223],91:[.25,.75,0,0,.34306],93:[.25,.75,0,0,.34306],94:[0,.69444,0,0,.55],95:[.35,.10833,.03056,0,.55],97:[0,.45833,0,0,.525],98:[0,.69444,0,0,.56111],99:[0,.45833,0,0,.48889],100:[0,.69444,0,0,.56111],101:[0,.45833,0,0,.51111],102:[0,.69444,.07639,0,.33611],103:[.19444,.45833,.01528,0,.55],104:[0,.69444,0,0,.56111],105:[0,.69444,0,0,.25556],106:[.19444,.69444,0,0,.28611],107:[0,.69444,0,0,.53056],108:[0,.69444,0,0,.25556],109:[0,.45833,0,0,.86667],110:[0,.45833,0,0,.56111],111:[0,.45833,0,0,.55],112:[.19444,.45833,0,0,.56111],113:[.19444,.45833,0,0,.56111],114:[0,.45833,.01528,0,.37222],115:[0,.45833,0,0,.42167],116:[0,.58929,0,0,.40417],117:[0,.45833,0,0,.56111],118:[0,.45833,.01528,0,.5],119:[0,.45833,.01528,0,.74445],120:[0,.45833,0,0,.5],121:[.19444,.45833,.01528,0,.5],122:[0,.45833,0,0,.47639],126:[.35,.34444,0,0,.55],160:[0,0,0,0,.25],168:[0,.69444,0,0,.55],176:[0,.69444,0,0,.73334],180:[0,.69444,0,0,.55],184:[.17014,0,0,0,.48889],305:[0,.45833,0,0,.25556],567:[.19444,.45833,0,0,.28611],710:[0,.69444,0,0,.55],711:[0,.63542,0,0,.55],713:[0,.63778,0,0,.55],728:[0,.69444,0,0,.55],729:[0,.69444,0,0,.30556],730:[0,.69444,0,0,.73334],732:[0,.69444,0,0,.55],733:[0,.69444,0,0,.55],915:[0,.69444,0,0,.58056],916:[0,.69444,0,0,.91667],920:[0,.69444,0,0,.85556],923:[0,.69444,0,0,.67223],926:[0,.69444,0,0,.73334],928:[0,.69444,0,0,.79445],931:[0,.69444,0,0,.79445],933:[0,.69444,0,0,.85556],934:[0,.69444,0,0,.79445],936:[0,.69444,0,0,.85556],937:[0,.69444,0,0,.79445],8211:[0,.45833,.03056,0,.55],8212:[0,.45833,.03056,0,1.10001],8216:[0,.69444,0,0,.30556],8217:[0,.69444,0,0,.30556],8220:[0,.69444,0,0,.55834],8221:[0,.69444,0,0,.55834]},"SansSerif-Italic":{32:[0,0,0,0,.25],33:[0,.69444,.05733,0,.31945],34:[0,.69444,.00316,0,.5],35:[.19444,.69444,.05087,0,.83334],36:[.05556,.75,.11156,0,.5],37:[.05556,.75,.03126,0,.83334],38:[0,.69444,.03058,0,.75834],39:[0,.69444,.07816,0,.27778],40:[.25,.75,.13164,0,.38889],41:[.25,.75,.02536,0,.38889],42:[0,.75,.11775,0,.5],43:[.08333,.58333,.02536,0,.77778],44:[.125,.08333,0,0,.27778],45:[0,.44444,.01946,0,.33333],46:[0,.08333,0,0,.27778],47:[.25,.75,.13164,0,.5],48:[0,.65556,.11156,0,.5],49:[0,.65556,.11156,0,.5],50:[0,.65556,.11156,0,.5],51:[0,.65556,.11156,0,.5],52:[0,.65556,.11156,0,.5],53:[0,.65556,.11156,0,.5],54:[0,.65556,.11156,0,.5],55:[0,.65556,.11156,0,.5],56:[0,.65556,.11156,0,.5],57:[0,.65556,.11156,0,.5],58:[0,.44444,.02502,0,.27778],59:[.125,.44444,.02502,0,.27778],61:[-.13,.37,.05087,0,.77778],63:[0,.69444,.11809,0,.47222],64:[0,.69444,.07555,0,.66667],65:[0,.69444,0,0,.66667],66:[0,.69444,.08293,0,.66667],67:[0,.69444,.11983,0,.63889],68:[0,.69444,.07555,0,.72223],69:[0,.69444,.11983,0,.59722],70:[0,.69444,.13372,0,.56945],71:[0,.69444,.11983,0,.66667],72:[0,.69444,.08094,0,.70834],73:[0,.69444,.13372,0,.27778],74:[0,.69444,.08094,0,.47222],75:[0,.69444,.11983,0,.69445],76:[0,.69444,0,0,.54167],77:[0,.69444,.08094,0,.875],78:[0,.69444,.08094,0,.70834],79:[0,.69444,.07555,0,.73611],80:[0,.69444,.08293,0,.63889],81:[.125,.69444,.07555,0,.73611],82:[0,.69444,.08293,0,.64584],83:[0,.69444,.09205,0,.55556],84:[0,.69444,.13372,0,.68056],85:[0,.69444,.08094,0,.6875],86:[0,.69444,.1615,0,.66667],87:[0,.69444,.1615,0,.94445],88:[0,.69444,.13372,0,.66667],89:[0,.69444,.17261,0,.66667],90:[0,.69444,.11983,0,.61111],91:[.25,.75,.15942,0,.28889],93:[.25,.75,.08719,0,.28889],94:[0,.69444,.0799,0,.5],95:[.35,.09444,.08616,0,.5],97:[0,.44444,.00981,0,.48056],98:[0,.69444,.03057,0,.51667],99:[0,.44444,.08336,0,.44445],100:[0,.69444,.09483,0,.51667],101:[0,.44444,.06778,0,.44445],102:[0,.69444,.21705,0,.30556],103:[.19444,.44444,.10836,0,.5],104:[0,.69444,.01778,0,.51667],105:[0,.67937,.09718,0,.23889],106:[.19444,.67937,.09162,0,.26667],107:[0,.69444,.08336,0,.48889],108:[0,.69444,.09483,0,.23889],109:[0,.44444,.01778,0,.79445],110:[0,.44444,.01778,0,.51667],111:[0,.44444,.06613,0,.5],112:[.19444,.44444,.0389,0,.51667],113:[.19444,.44444,.04169,0,.51667],114:[0,.44444,.10836,0,.34167],115:[0,.44444,.0778,0,.38333],116:[0,.57143,.07225,0,.36111],117:[0,.44444,.04169,0,.51667],118:[0,.44444,.10836,0,.46111],119:[0,.44444,.10836,0,.68334],120:[0,.44444,.09169,0,.46111],121:[.19444,.44444,.10836,0,.46111],122:[0,.44444,.08752,0,.43472],126:[.35,.32659,.08826,0,.5],160:[0,0,0,0,.25],168:[0,.67937,.06385,0,.5],176:[0,.69444,0,0,.73752],184:[.17014,0,0,0,.44445],305:[0,.44444,.04169,0,.23889],567:[.19444,.44444,.04169,0,.26667],710:[0,.69444,.0799,0,.5],711:[0,.63194,.08432,0,.5],713:[0,.60889,.08776,0,.5],714:[0,.69444,.09205,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,.09483,0,.5],729:[0,.67937,.07774,0,.27778],730:[0,.69444,0,0,.73752],732:[0,.67659,.08826,0,.5],733:[0,.69444,.09205,0,.5],915:[0,.69444,.13372,0,.54167],916:[0,.69444,0,0,.83334],920:[0,.69444,.07555,0,.77778],923:[0,.69444,0,0,.61111],926:[0,.69444,.12816,0,.66667],928:[0,.69444,.08094,0,.70834],931:[0,.69444,.11983,0,.72222],933:[0,.69444,.09031,0,.77778],934:[0,.69444,.04603,0,.72222],936:[0,.69444,.09031,0,.77778],937:[0,.69444,.08293,0,.72222],8211:[0,.44444,.08616,0,.5],8212:[0,.44444,.08616,0,1],8216:[0,.69444,.07816,0,.27778],8217:[0,.69444,.07816,0,.27778],8220:[0,.69444,.14205,0,.5],8221:[0,.69444,.00316,0,.5]},"SansSerif-Regular":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.31945],34:[0,.69444,0,0,.5],35:[.19444,.69444,0,0,.83334],36:[.05556,.75,0,0,.5],37:[.05556,.75,0,0,.83334],38:[0,.69444,0,0,.75834],39:[0,.69444,0,0,.27778],40:[.25,.75,0,0,.38889],41:[.25,.75,0,0,.38889],42:[0,.75,0,0,.5],43:[.08333,.58333,0,0,.77778],44:[.125,.08333,0,0,.27778],45:[0,.44444,0,0,.33333],46:[0,.08333,0,0,.27778],47:[.25,.75,0,0,.5],48:[0,.65556,0,0,.5],49:[0,.65556,0,0,.5],50:[0,.65556,0,0,.5],51:[0,.65556,0,0,.5],52:[0,.65556,0,0,.5],53:[0,.65556,0,0,.5],54:[0,.65556,0,0,.5],55:[0,.65556,0,0,.5],56:[0,.65556,0,0,.5],57:[0,.65556,0,0,.5],58:[0,.44444,0,0,.27778],59:[.125,.44444,0,0,.27778],61:[-.13,.37,0,0,.77778],63:[0,.69444,0,0,.47222],64:[0,.69444,0,0,.66667],65:[0,.69444,0,0,.66667],66:[0,.69444,0,0,.66667],67:[0,.69444,0,0,.63889],68:[0,.69444,0,0,.72223],69:[0,.69444,0,0,.59722],70:[0,.69444,0,0,.56945],71:[0,.69444,0,0,.66667],72:[0,.69444,0,0,.70834],73:[0,.69444,0,0,.27778],74:[0,.69444,0,0,.47222],75:[0,.69444,0,0,.69445],76:[0,.69444,0,0,.54167],77:[0,.69444,0,0,.875],78:[0,.69444,0,0,.70834],79:[0,.69444,0,0,.73611],80:[0,.69444,0,0,.63889],81:[.125,.69444,0,0,.73611],82:[0,.69444,0,0,.64584],83:[0,.69444,0,0,.55556],84:[0,.69444,0,0,.68056],85:[0,.69444,0,0,.6875],86:[0,.69444,.01389,0,.66667],87:[0,.69444,.01389,0,.94445],88:[0,.69444,0,0,.66667],89:[0,.69444,.025,0,.66667],90:[0,.69444,0,0,.61111],91:[.25,.75,0,0,.28889],93:[.25,.75,0,0,.28889],94:[0,.69444,0,0,.5],95:[.35,.09444,.02778,0,.5],97:[0,.44444,0,0,.48056],98:[0,.69444,0,0,.51667],99:[0,.44444,0,0,.44445],100:[0,.69444,0,0,.51667],101:[0,.44444,0,0,.44445],102:[0,.69444,.06944,0,.30556],103:[.19444,.44444,.01389,0,.5],104:[0,.69444,0,0,.51667],105:[0,.67937,0,0,.23889],106:[.19444,.67937,0,0,.26667],107:[0,.69444,0,0,.48889],108:[0,.69444,0,0,.23889],109:[0,.44444,0,0,.79445],110:[0,.44444,0,0,.51667],111:[0,.44444,0,0,.5],112:[.19444,.44444,0,0,.51667],113:[.19444,.44444,0,0,.51667],114:[0,.44444,.01389,0,.34167],115:[0,.44444,0,0,.38333],116:[0,.57143,0,0,.36111],117:[0,.44444,0,0,.51667],118:[0,.44444,.01389,0,.46111],119:[0,.44444,.01389,0,.68334],120:[0,.44444,0,0,.46111],121:[.19444,.44444,.01389,0,.46111],122:[0,.44444,0,0,.43472],126:[.35,.32659,0,0,.5],160:[0,0,0,0,.25],168:[0,.67937,0,0,.5],176:[0,.69444,0,0,.66667],184:[.17014,0,0,0,.44445],305:[0,.44444,0,0,.23889],567:[.19444,.44444,0,0,.26667],710:[0,.69444,0,0,.5],711:[0,.63194,0,0,.5],713:[0,.60889,0,0,.5],714:[0,.69444,0,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,0,0,.5],729:[0,.67937,0,0,.27778],730:[0,.69444,0,0,.66667],732:[0,.67659,0,0,.5],733:[0,.69444,0,0,.5],915:[0,.69444,0,0,.54167],916:[0,.69444,0,0,.83334],920:[0,.69444,0,0,.77778],923:[0,.69444,0,0,.61111],926:[0,.69444,0,0,.66667],928:[0,.69444,0,0,.70834],931:[0,.69444,0,0,.72222],933:[0,.69444,0,0,.77778],934:[0,.69444,0,0,.72222],936:[0,.69444,0,0,.77778],937:[0,.69444,0,0,.72222],8211:[0,.44444,.02778,0,.5],8212:[0,.44444,.02778,0,1],8216:[0,.69444,0,0,.27778],8217:[0,.69444,0,0,.27778],8220:[0,.69444,0,0,.5],8221:[0,.69444,0,0,.5]},"Script-Regular":{32:[0,0,0,0,.25],65:[0,.7,.22925,0,.80253],66:[0,.7,.04087,0,.90757],67:[0,.7,.1689,0,.66619],68:[0,.7,.09371,0,.77443],69:[0,.7,.18583,0,.56162],70:[0,.7,.13634,0,.89544],71:[0,.7,.17322,0,.60961],72:[0,.7,.29694,0,.96919],73:[0,.7,.19189,0,.80907],74:[.27778,.7,.19189,0,1.05159],75:[0,.7,.31259,0,.91364],76:[0,.7,.19189,0,.87373],77:[0,.7,.15981,0,1.08031],78:[0,.7,.3525,0,.9015],79:[0,.7,.08078,0,.73787],80:[0,.7,.08078,0,1.01262],81:[0,.7,.03305,0,.88282],82:[0,.7,.06259,0,.85],83:[0,.7,.19189,0,.86767],84:[0,.7,.29087,0,.74697],85:[0,.7,.25815,0,.79996],86:[0,.7,.27523,0,.62204],87:[0,.7,.27523,0,.80532],88:[0,.7,.26006,0,.94445],89:[0,.7,.2939,0,.70961],90:[0,.7,.24037,0,.8212],160:[0,0,0,0,.25]},"Size1-Regular":{32:[0,0,0,0,.25],40:[.35001,.85,0,0,.45834],41:[.35001,.85,0,0,.45834],47:[.35001,.85,0,0,.57778],91:[.35001,.85,0,0,.41667],92:[.35001,.85,0,0,.57778],93:[.35001,.85,0,0,.41667],123:[.35001,.85,0,0,.58334],125:[.35001,.85,0,0,.58334],160:[0,0,0,0,.25],710:[0,.72222,0,0,.55556],732:[0,.72222,0,0,.55556],770:[0,.72222,0,0,.55556],771:[0,.72222,0,0,.55556],8214:[-99e-5,.601,0,0,.77778],8593:[1e-5,.6,0,0,.66667],8595:[1e-5,.6,0,0,.66667],8657:[1e-5,.6,0,0,.77778],8659:[1e-5,.6,0,0,.77778],8719:[.25001,.75,0,0,.94445],8720:[.25001,.75,0,0,.94445],8721:[.25001,.75,0,0,1.05556],8730:[.35001,.85,0,0,1],8739:[-.00599,.606,0,0,.33333],8741:[-.00599,.606,0,0,.55556],8747:[.30612,.805,.19445,0,.47222],8748:[.306,.805,.19445,0,.47222],8749:[.306,.805,.19445,0,.47222],8750:[.30612,.805,.19445,0,.47222],8896:[.25001,.75,0,0,.83334],8897:[.25001,.75,0,0,.83334],8898:[.25001,.75,0,0,.83334],8899:[.25001,.75,0,0,.83334],8968:[.35001,.85,0,0,.47222],8969:[.35001,.85,0,0,.47222],8970:[.35001,.85,0,0,.47222],8971:[.35001,.85,0,0,.47222],9168:[-99e-5,.601,0,0,.66667],10216:[.35001,.85,0,0,.47222],10217:[.35001,.85,0,0,.47222],10752:[.25001,.75,0,0,1.11111],10753:[.25001,.75,0,0,1.11111],10754:[.25001,.75,0,0,1.11111],10756:[.25001,.75,0,0,.83334],10758:[.25001,.75,0,0,.83334]},"Size2-Regular":{32:[0,0,0,0,.25],40:[.65002,1.15,0,0,.59722],41:[.65002,1.15,0,0,.59722],47:[.65002,1.15,0,0,.81111],91:[.65002,1.15,0,0,.47222],92:[.65002,1.15,0,0,.81111],93:[.65002,1.15,0,0,.47222],123:[.65002,1.15,0,0,.66667],125:[.65002,1.15,0,0,.66667],160:[0,0,0,0,.25],710:[0,.75,0,0,1],732:[0,.75,0,0,1],770:[0,.75,0,0,1],771:[0,.75,0,0,1],8719:[.55001,1.05,0,0,1.27778],8720:[.55001,1.05,0,0,1.27778],8721:[.55001,1.05,0,0,1.44445],8730:[.65002,1.15,0,0,1],8747:[.86225,1.36,.44445,0,.55556],8748:[.862,1.36,.44445,0,.55556],8749:[.862,1.36,.44445,0,.55556],8750:[.86225,1.36,.44445,0,.55556],8896:[.55001,1.05,0,0,1.11111],8897:[.55001,1.05,0,0,1.11111],8898:[.55001,1.05,0,0,1.11111],8899:[.55001,1.05,0,0,1.11111],8968:[.65002,1.15,0,0,.52778],8969:[.65002,1.15,0,0,.52778],8970:[.65002,1.15,0,0,.52778],8971:[.65002,1.15,0,0,.52778],10216:[.65002,1.15,0,0,.61111],10217:[.65002,1.15,0,0,.61111],10752:[.55001,1.05,0,0,1.51112],10753:[.55001,1.05,0,0,1.51112],10754:[.55001,1.05,0,0,1.51112],10756:[.55001,1.05,0,0,1.11111],10758:[.55001,1.05,0,0,1.11111]},"Size3-Regular":{32:[0,0,0,0,.25],40:[.95003,1.45,0,0,.73611],41:[.95003,1.45,0,0,.73611],47:[.95003,1.45,0,0,1.04445],91:[.95003,1.45,0,0,.52778],92:[.95003,1.45,0,0,1.04445],93:[.95003,1.45,0,0,.52778],123:[.95003,1.45,0,0,.75],125:[.95003,1.45,0,0,.75],160:[0,0,0,0,.25],710:[0,.75,0,0,1.44445],732:[0,.75,0,0,1.44445],770:[0,.75,0,0,1.44445],771:[0,.75,0,0,1.44445],8730:[.95003,1.45,0,0,1],8968:[.95003,1.45,0,0,.58334],8969:[.95003,1.45,0,0,.58334],8970:[.95003,1.45,0,0,.58334],8971:[.95003,1.45,0,0,.58334],10216:[.95003,1.45,0,0,.75],10217:[.95003,1.45,0,0,.75]},"Size4-Regular":{32:[0,0,0,0,.25],40:[1.25003,1.75,0,0,.79167],41:[1.25003,1.75,0,0,.79167],47:[1.25003,1.75,0,0,1.27778],91:[1.25003,1.75,0,0,.58334],92:[1.25003,1.75,0,0,1.27778],93:[1.25003,1.75,0,0,.58334],123:[1.25003,1.75,0,0,.80556],125:[1.25003,1.75,0,0,.80556],160:[0,0,0,0,.25],710:[0,.825,0,0,1.8889],732:[0,.825,0,0,1.8889],770:[0,.825,0,0,1.8889],771:[0,.825,0,0,1.8889],8730:[1.25003,1.75,0,0,1],8968:[1.25003,1.75,0,0,.63889],8969:[1.25003,1.75,0,0,.63889],8970:[1.25003,1.75,0,0,.63889],8971:[1.25003,1.75,0,0,.63889],9115:[.64502,1.155,0,0,.875],9116:[1e-5,.6,0,0,.875],9117:[.64502,1.155,0,0,.875],9118:[.64502,1.155,0,0,.875],9119:[1e-5,.6,0,0,.875],9120:[.64502,1.155,0,0,.875],9121:[.64502,1.155,0,0,.66667],9122:[-99e-5,.601,0,0,.66667],9123:[.64502,1.155,0,0,.66667],9124:[.64502,1.155,0,0,.66667],9125:[-99e-5,.601,0,0,.66667],9126:[.64502,1.155,0,0,.66667],9127:[1e-5,.9,0,0,.88889],9128:[.65002,1.15,0,0,.88889],9129:[.90001,0,0,0,.88889],9130:[0,.3,0,0,.88889],9131:[1e-5,.9,0,0,.88889],9132:[.65002,1.15,0,0,.88889],9133:[.90001,0,0,0,.88889],9143:[.88502,.915,0,0,1.05556],10216:[1.25003,1.75,0,0,.80556],10217:[1.25003,1.75,0,0,.80556],57344:[-.00499,.605,0,0,1.05556],57345:[-.00499,.605,0,0,1.05556],57680:[0,.12,0,0,.45],57681:[0,.12,0,0,.45],57682:[0,.12,0,0,.45],57683:[0,.12,0,0,.45]},"Typewriter-Regular":{32:[0,0,0,0,.525],33:[0,.61111,0,0,.525],34:[0,.61111,0,0,.525],35:[0,.61111,0,0,.525],36:[.08333,.69444,0,0,.525],37:[.08333,.69444,0,0,.525],38:[0,.61111,0,0,.525],39:[0,.61111,0,0,.525],40:[.08333,.69444,0,0,.525],41:[.08333,.69444,0,0,.525],42:[0,.52083,0,0,.525],43:[-.08056,.53055,0,0,.525],44:[.13889,.125,0,0,.525],45:[-.08056,.53055,0,0,.525],46:[0,.125,0,0,.525],47:[.08333,.69444,0,0,.525],48:[0,.61111,0,0,.525],49:[0,.61111,0,0,.525],50:[0,.61111,0,0,.525],51:[0,.61111,0,0,.525],52:[0,.61111,0,0,.525],53:[0,.61111,0,0,.525],54:[0,.61111,0,0,.525],55:[0,.61111,0,0,.525],56:[0,.61111,0,0,.525],57:[0,.61111,0,0,.525],58:[0,.43056,0,0,.525],59:[.13889,.43056,0,0,.525],60:[-.05556,.55556,0,0,.525],61:[-.19549,.41562,0,0,.525],62:[-.05556,.55556,0,0,.525],63:[0,.61111,0,0,.525],64:[0,.61111,0,0,.525],65:[0,.61111,0,0,.525],66:[0,.61111,0,0,.525],67:[0,.61111,0,0,.525],68:[0,.61111,0,0,.525],69:[0,.61111,0,0,.525],70:[0,.61111,0,0,.525],71:[0,.61111,0,0,.525],72:[0,.61111,0,0,.525],73:[0,.61111,0,0,.525],74:[0,.61111,0,0,.525],75:[0,.61111,0,0,.525],76:[0,.61111,0,0,.525],77:[0,.61111,0,0,.525],78:[0,.61111,0,0,.525],79:[0,.61111,0,0,.525],80:[0,.61111,0,0,.525],81:[.13889,.61111,0,0,.525],82:[0,.61111,0,0,.525],83:[0,.61111,0,0,.525],84:[0,.61111,0,0,.525],85:[0,.61111,0,0,.525],86:[0,.61111,0,0,.525],87:[0,.61111,0,0,.525],88:[0,.61111,0,0,.525],89:[0,.61111,0,0,.525],90:[0,.61111,0,0,.525],91:[.08333,.69444,0,0,.525],92:[.08333,.69444,0,0,.525],93:[.08333,.69444,0,0,.525],94:[0,.61111,0,0,.525],95:[.09514,0,0,0,.525],96:[0,.61111,0,0,.525],97:[0,.43056,0,0,.525],98:[0,.61111,0,0,.525],99:[0,.43056,0,0,.525],100:[0,.61111,0,0,.525],101:[0,.43056,0,0,.525],102:[0,.61111,0,0,.525],103:[.22222,.43056,0,0,.525],104:[0,.61111,0,0,.525],105:[0,.61111,0,0,.525],106:[.22222,.61111,0,0,.525],107:[0,.61111,0,0,.525],108:[0,.61111,0,0,.525],109:[0,.43056,0,0,.525],110:[0,.43056,0,0,.525],111:[0,.43056,0,0,.525],112:[.22222,.43056,0,0,.525],113:[.22222,.43056,0,0,.525],114:[0,.43056,0,0,.525],115:[0,.43056,0,0,.525],116:[0,.55358,0,0,.525],117:[0,.43056,0,0,.525],118:[0,.43056,0,0,.525],119:[0,.43056,0,0,.525],120:[0,.43056,0,0,.525],121:[.22222,.43056,0,0,.525],122:[0,.43056,0,0,.525],123:[.08333,.69444,0,0,.525],124:[.08333,.69444,0,0,.525],125:[.08333,.69444,0,0,.525],126:[0,.61111,0,0,.525],127:[0,.61111,0,0,.525],160:[0,0,0,0,.525],176:[0,.61111,0,0,.525],184:[.19445,0,0,0,.525],305:[0,.43056,0,0,.525],567:[.22222,.43056,0,0,.525],711:[0,.56597,0,0,.525],713:[0,.56555,0,0,.525],714:[0,.61111,0,0,.525],715:[0,.61111,0,0,.525],728:[0,.61111,0,0,.525],730:[0,.61111,0,0,.525],770:[0,.61111,0,0,.525],771:[0,.61111,0,0,.525],776:[0,.61111,0,0,.525],915:[0,.61111,0,0,.525],916:[0,.61111,0,0,.525],920:[0,.61111,0,0,.525],923:[0,.61111,0,0,.525],926:[0,.61111,0,0,.525],928:[0,.61111,0,0,.525],931:[0,.61111,0,0,.525],933:[0,.61111,0,0,.525],934:[0,.61111,0,0,.525],936:[0,.61111,0,0,.525],937:[0,.61111,0,0,.525],8216:[0,.61111,0,0,.525],8217:[0,.61111,0,0,.525],8242:[0,.61111,0,0,.525],9251:[.11111,.21944,0,0,.525]}},Ad={slant:[.25,.25,.25],space:[0,0,0],stretch:[0,0,0],shrink:[0,0,0],xHeight:[.431,.431,.431],quad:[1,1.171,1.472],extraSpace:[0,0,0],num1:[.677,.732,.925],num2:[.394,.384,.387],num3:[.444,.471,.504],denom1:[.686,.752,1.025],denom2:[.345,.344,.532],sup1:[.413,.503,.504],sup2:[.363,.431,.404],sup3:[.289,.286,.294],sub1:[.15,.143,.2],sub2:[.247,.286,.4],supDrop:[.386,.353,.494],subDrop:[.05,.071,.1],delim1:[2.39,1.7,1.98],delim2:[1.01,1.157,1.42],axisHeight:[.25,.25,.25],defaultRuleThickness:[.04,.049,.049],bigOpSpacing1:[.111,.111,.111],bigOpSpacing2:[.166,.166,.166],bigOpSpacing3:[.2,.2,.2],bigOpSpacing4:[.6,.611,.611],bigOpSpacing5:[.1,.143,.143],sqrtRuleThickness:[.04,.04,.04],ptPerEm:[10,10,10],doubleRuleSep:[.2,.2,.2],arrayRuleWidth:[.04,.04,.04],fboxsep:[.3,.3,.3],fboxrule:[.04,.04,.04]},x2={Å:"A",Ð:"D",Þ:"o",å:"a",ð:"d",þ:"o",А:"A",Б:"B",В:"B",Г:"F",Д:"A",Е:"E",Ж:"K",З:"3",И:"N",Й:"N",К:"K",Л:"N",М:"M",Н:"H",О:"O",П:"N",Р:"P",С:"C",Т:"T",У:"y",Ф:"O",Х:"X",Ц:"U",Ч:"h",Ш:"W",Щ:"W",Ъ:"B",Ы:"X",Ь:"B",Э:"3",Ю:"X",Я:"R",а:"a",б:"b",в:"a",г:"r",д:"y",е:"e",ж:"m",з:"e",и:"n",й:"n",к:"n",л:"n",м:"m",н:"n",о:"o",п:"n",р:"p",с:"c",т:"o",у:"y",ф:"b",х:"x",ц:"n",ч:"n",ш:"w",щ:"w",ъ:"a",ы:"m",ь:"a",э:"e",ю:"m",я:"r"};function J9(n,e){br[n]=e}function a1(n,e,t){if(!br[e])throw new Error("Font metrics not found for font: "+e+".");var a=n.charCodeAt(0),s=br[e][a];if(!s&&n[0]in x2&&(a=x2[n[0]].charCodeAt(0),s=br[e][a]),!s&&t==="text"&&mx(a)&&(s=br[e][77]),s)return{depth:s[0],height:s[1],italic:s[2],skew:s[3],width:s[4]}}var jm={};function eC(n){var e;if(n>=5?e=0:n>=3?e=1:e=2,!jm[e]){var t=jm[e]={cssEmPerMu:Ad.quad[e]/18};for(var a in Ad)Ad.hasOwnProperty(a)&&(t[a]=Ad[a][e])}return jm[e]}var Gt={math:{},text:{}};function w(n,e,t,a,s,o){Gt[n][s]={font:e,group:t,replace:a},o&&a&&(Gt[n][a]=Gt[n][s])}var S="math",ce="text",A="main",P="ams",qt="accent-token",Se="bin",ea="close",dl="inner",Be="mathord",mn="op-token",ka="open",nu="punct",I="rel",hs="spacing",H="textord";w(S,A,I,"≡","\\equiv",!0);w(S,A,I,"≺","\\prec",!0);w(S,A,I,"≻","\\succ",!0);w(S,A,I,"∼","\\sim",!0);w(S,A,I,"⊥","\\perp");w(S,A,I,"⪯","\\preceq",!0);w(S,A,I,"⪰","\\succeq",!0);w(S,A,I,"≃","\\simeq",!0);w(S,A,I,"∣","\\mid",!0);w(S,A,I,"≪","\\ll",!0);w(S,A,I,"≫","\\gg",!0);w(S,A,I,"≍","\\asymp",!0);w(S,A,I,"∥","\\parallel");w(S,A,I,"⋈","\\bowtie",!0);w(S,A,I,"⌣","\\smile",!0);w(S,A,I,"⊑","\\sqsubseteq",!0);w(S,A,I,"⊒","\\sqsupseteq",!0);w(S,A,I,"≐","\\doteq",!0);w(S,A,I,"⌢","\\frown",!0);w(S,A,I,"∋","\\ni",!0);w(S,A,I,"∝","\\propto",!0);w(S,A,I,"⊢","\\vdash",!0);w(S,A,I,"⊣","\\dashv",!0);w(S,A,I,"∋","\\owns");w(S,A,nu,".","\\ldotp");w(S,A,nu,"⋅","\\cdotp");w(S,A,nu,"⋅","·");w(ce,A,H,"⋅","·");w(S,A,H,"#","\\#");w(ce,A,H,"#","\\#");w(S,A,H,"&","\\&");w(ce,A,H,"&","\\&");w(S,A,H,"ℵ","\\aleph",!0);w(S,A,H,"∀","\\forall",!0);w(S,A,H,"ℏ","\\hbar",!0);w(S,A,H,"∃","\\exists",!0);w(S,A,H,"∇","\\nabla",!0);w(S,A,H,"♭","\\flat",!0);w(S,A,H,"ℓ","\\ell",!0);w(S,A,H,"♮","\\natural",!0);w(S,A,H,"♣","\\clubsuit",!0);w(S,A,H,"℘","\\wp",!0);w(S,A,H,"♯","\\sharp",!0);w(S,A,H,"♢","\\diamondsuit",!0);w(S,A,H,"ℜ","\\Re",!0);w(S,A,H,"♡","\\heartsuit",!0);w(S,A,H,"ℑ","\\Im",!0);w(S,A,H,"♠","\\spadesuit",!0);w(S,A,H,"§","\\S",!0);w(ce,A,H,"§","\\S");w(S,A,H,"¶","\\P",!0);w(ce,A,H,"¶","\\P");w(S,A,H,"†","\\dag");w(ce,A,H,"†","\\dag");w(ce,A,H,"†","\\textdagger");w(S,A,H,"‡","\\ddag");w(ce,A,H,"‡","\\ddag");w(ce,A,H,"‡","\\textdaggerdbl");w(S,A,ea,"⎱","\\rmoustache",!0);w(S,A,ka,"⎰","\\lmoustache",!0);w(S,A,ea,"⟯","\\rgroup",!0);w(S,A,ka,"⟮","\\lgroup",!0);w(S,A,Se,"∓","\\mp",!0);w(S,A,Se,"⊖","\\ominus",!0);w(S,A,Se,"⊎","\\uplus",!0);w(S,A,Se,"⊓","\\sqcap",!0);w(S,A,Se,"∗","\\ast");w(S,A,Se,"⊔","\\sqcup",!0);w(S,A,Se,"◯","\\bigcirc",!0);w(S,A,Se,"∙","\\bullet",!0);w(S,A,Se,"‡","\\ddagger");w(S,A,Se,"≀","\\wr",!0);w(S,A,Se,"⨿","\\amalg");w(S,A,Se,"&","\\And");w(S,A,I,"⟵","\\longleftarrow",!0);w(S,A,I,"⇐","\\Leftarrow",!0);w(S,A,I,"⟸","\\Longleftarrow",!0);w(S,A,I,"⟶","\\longrightarrow",!0);w(S,A,I,"⇒","\\Rightarrow",!0);w(S,A,I,"⟹","\\Longrightarrow",!0);w(S,A,I,"↔","\\leftrightarrow",!0);w(S,A,I,"⟷","\\longleftrightarrow",!0);w(S,A,I,"⇔","\\Leftrightarrow",!0);w(S,A,I,"⟺","\\Longleftrightarrow",!0);w(S,A,I,"↦","\\mapsto",!0);w(S,A,I,"⟼","\\longmapsto",!0);w(S,A,I,"↗","\\nearrow",!0);w(S,A,I,"↩","\\hookleftarrow",!0);w(S,A,I,"↪","\\hookrightarrow",!0);w(S,A,I,"↘","\\searrow",!0);w(S,A,I,"↼","\\leftharpoonup",!0);w(S,A,I,"⇀","\\rightharpoonup",!0);w(S,A,I,"↙","\\swarrow",!0);w(S,A,I,"↽","\\leftharpoondown",!0);w(S,A,I,"⇁","\\rightharpoondown",!0);w(S,A,I,"↖","\\nwarrow",!0);w(S,A,I,"⇌","\\rightleftharpoons",!0);w(S,P,I,"≮","\\nless",!0);w(S,P,I,"","\\@nleqslant");w(S,P,I,"","\\@nleqq");w(S,P,I,"⪇","\\lneq",!0);w(S,P,I,"≨","\\lneqq",!0);w(S,P,I,"","\\@lvertneqq");w(S,P,I,"⋦","\\lnsim",!0);w(S,P,I,"⪉","\\lnapprox",!0);w(S,P,I,"⊀","\\nprec",!0);w(S,P,I,"⋠","\\npreceq",!0);w(S,P,I,"⋨","\\precnsim",!0);w(S,P,I,"⪹","\\precnapprox",!0);w(S,P,I,"≁","\\nsim",!0);w(S,P,I,"","\\@nshortmid");w(S,P,I,"∤","\\nmid",!0);w(S,P,I,"⊬","\\nvdash",!0);w(S,P,I,"⊭","\\nvDash",!0);w(S,P,I,"⋪","\\ntriangleleft");w(S,P,I,"⋬","\\ntrianglelefteq",!0);w(S,P,I,"⊊","\\subsetneq",!0);w(S,P,I,"","\\@varsubsetneq");w(S,P,I,"⫋","\\subsetneqq",!0);w(S,P,I,"","\\@varsubsetneqq");w(S,P,I,"≯","\\ngtr",!0);w(S,P,I,"","\\@ngeqslant");w(S,P,I,"","\\@ngeqq");w(S,P,I,"⪈","\\gneq",!0);w(S,P,I,"≩","\\gneqq",!0);w(S,P,I,"","\\@gvertneqq");w(S,P,I,"⋧","\\gnsim",!0);w(S,P,I,"⪊","\\gnapprox",!0);w(S,P,I,"⊁","\\nsucc",!0);w(S,P,I,"⋡","\\nsucceq",!0);w(S,P,I,"⋩","\\succnsim",!0);w(S,P,I,"⪺","\\succnapprox",!0);w(S,P,I,"≆","\\ncong",!0);w(S,P,I,"","\\@nshortparallel");w(S,P,I,"∦","\\nparallel",!0);w(S,P,I,"⊯","\\nVDash",!0);w(S,P,I,"⋫","\\ntriangleright");w(S,P,I,"⋭","\\ntrianglerighteq",!0);w(S,P,I,"","\\@nsupseteqq");w(S,P,I,"⊋","\\supsetneq",!0);w(S,P,I,"","\\@varsupsetneq");w(S,P,I,"⫌","\\supsetneqq",!0);w(S,P,I,"","\\@varsupsetneqq");w(S,P,I,"⊮","\\nVdash",!0);w(S,P,I,"⪵","\\precneqq",!0);w(S,P,I,"⪶","\\succneqq",!0);w(S,P,I,"","\\@nsubseteqq");w(S,P,Se,"⊴","\\unlhd");w(S,P,Se,"⊵","\\unrhd");w(S,P,I,"↚","\\nleftarrow",!0);w(S,P,I,"↛","\\nrightarrow",!0);w(S,P,I,"⇍","\\nLeftarrow",!0);w(S,P,I,"⇏","\\nRightarrow",!0);w(S,P,I,"↮","\\nleftrightarrow",!0);w(S,P,I,"⇎","\\nLeftrightarrow",!0);w(S,P,I,"△","\\vartriangle");w(S,P,H,"ℏ","\\hslash");w(S,P,H,"▽","\\triangledown");w(S,P,H,"◊","\\lozenge");w(S,P,H,"Ⓢ","\\circledS");w(S,P,H,"®","\\circledR");w(ce,P,H,"®","\\circledR");w(S,P,H,"∡","\\measuredangle",!0);w(S,P,H,"∄","\\nexists");w(S,P,H,"℧","\\mho");w(S,P,H,"Ⅎ","\\Finv",!0);w(S,P,H,"⅁","\\Game",!0);w(S,P,H,"‵","\\backprime");w(S,P,H,"▲","\\blacktriangle");w(S,P,H,"▼","\\blacktriangledown");w(S,P,H,"■","\\blacksquare");w(S,P,H,"⧫","\\blacklozenge");w(S,P,H,"★","\\bigstar");w(S,P,H,"∢","\\sphericalangle",!0);w(S,P,H,"∁","\\complement",!0);w(S,P,H,"ð","\\eth",!0);w(ce,A,H,"ð","ð");w(S,P,H,"╱","\\diagup");w(S,P,H,"╲","\\diagdown");w(S,P,H,"□","\\square");w(S,P,H,"□","\\Box");w(S,P,H,"◊","\\Diamond");w(S,P,H,"¥","\\yen",!0);w(ce,P,H,"¥","\\yen",!0);w(S,P,H,"✓","\\checkmark",!0);w(ce,P,H,"✓","\\checkmark");w(S,P,H,"ℶ","\\beth",!0);w(S,P,H,"ℸ","\\daleth",!0);w(S,P,H,"ℷ","\\gimel",!0);w(S,P,H,"ϝ","\\digamma",!0);w(S,P,H,"ϰ","\\varkappa");w(S,P,ka,"┌","\\@ulcorner",!0);w(S,P,ea,"┐","\\@urcorner",!0);w(S,P,ka,"└","\\@llcorner",!0);w(S,P,ea,"┘","\\@lrcorner",!0);w(S,P,I,"≦","\\leqq",!0);w(S,P,I,"⩽","\\leqslant",!0);w(S,P,I,"⪕","\\eqslantless",!0);w(S,P,I,"≲","\\lesssim",!0);w(S,P,I,"⪅","\\lessapprox",!0);w(S,P,I,"≊","\\approxeq",!0);w(S,P,Se,"⋖","\\lessdot");w(S,P,I,"⋘","\\lll",!0);w(S,P,I,"≶","\\lessgtr",!0);w(S,P,I,"⋚","\\lesseqgtr",!0);w(S,P,I,"⪋","\\lesseqqgtr",!0);w(S,P,I,"≑","\\doteqdot");w(S,P,I,"≓","\\risingdotseq",!0);w(S,P,I,"≒","\\fallingdotseq",!0);w(S,P,I,"∽","\\backsim",!0);w(S,P,I,"⋍","\\backsimeq",!0);w(S,P,I,"⫅","\\subseteqq",!0);w(S,P,I,"⋐","\\Subset",!0);w(S,P,I,"⊏","\\sqsubset",!0);w(S,P,I,"≼","\\preccurlyeq",!0);w(S,P,I,"⋞","\\curlyeqprec",!0);w(S,P,I,"≾","\\precsim",!0);w(S,P,I,"⪷","\\precapprox",!0);w(S,P,I,"⊲","\\vartriangleleft");w(S,P,I,"⊴","\\trianglelefteq");w(S,P,I,"⊨","\\vDash",!0);w(S,P,I,"⊪","\\Vvdash",!0);w(S,P,I,"⌣","\\smallsmile");w(S,P,I,"⌢","\\smallfrown");w(S,P,I,"≏","\\bumpeq",!0);w(S,P,I,"≎","\\Bumpeq",!0);w(S,P,I,"≧","\\geqq",!0);w(S,P,I,"⩾","\\geqslant",!0);w(S,P,I,"⪖","\\eqslantgtr",!0);w(S,P,I,"≳","\\gtrsim",!0);w(S,P,I,"⪆","\\gtrapprox",!0);w(S,P,Se,"⋗","\\gtrdot");w(S,P,I,"⋙","\\ggg",!0);w(S,P,I,"≷","\\gtrless",!0);w(S,P,I,"⋛","\\gtreqless",!0);w(S,P,I,"⪌","\\gtreqqless",!0);w(S,P,I,"≖","\\eqcirc",!0);w(S,P,I,"≗","\\circeq",!0);w(S,P,I,"≜","\\triangleq",!0);w(S,P,I,"∼","\\thicksim");w(S,P,I,"≈","\\thickapprox");w(S,P,I,"⫆","\\supseteqq",!0);w(S,P,I,"⋑","\\Supset",!0);w(S,P,I,"⊐","\\sqsupset",!0);w(S,P,I,"≽","\\succcurlyeq",!0);w(S,P,I,"⋟","\\curlyeqsucc",!0);w(S,P,I,"≿","\\succsim",!0);w(S,P,I,"⪸","\\succapprox",!0);w(S,P,I,"⊳","\\vartriangleright");w(S,P,I,"⊵","\\trianglerighteq");w(S,P,I,"⊩","\\Vdash",!0);w(S,P,I,"∣","\\shortmid");w(S,P,I,"∥","\\shortparallel");w(S,P,I,"≬","\\between",!0);w(S,P,I,"⋔","\\pitchfork",!0);w(S,P,I,"∝","\\varpropto");w(S,P,I,"◀","\\blacktriangleleft");w(S,P,I,"∴","\\therefore",!0);w(S,P,I,"∍","\\backepsilon");w(S,P,I,"▶","\\blacktriangleright");w(S,P,I,"∵","\\because",!0);w(S,P,I,"⋘","\\llless");w(S,P,I,"⋙","\\gggtr");w(S,P,Se,"⊲","\\lhd");w(S,P,Se,"⊳","\\rhd");w(S,P,I,"≂","\\eqsim",!0);w(S,A,I,"⋈","\\Join");w(S,P,I,"≑","\\Doteq",!0);w(S,P,Se,"∔","\\dotplus",!0);w(S,P,Se,"∖","\\smallsetminus");w(S,P,Se,"⋒","\\Cap",!0);w(S,P,Se,"⋓","\\Cup",!0);w(S,P,Se,"⩞","\\doublebarwedge",!0);w(S,P,Se,"⊟","\\boxminus",!0);w(S,P,Se,"⊞","\\boxplus",!0);w(S,P,Se,"⋇","\\divideontimes",!0);w(S,P,Se,"⋉","\\ltimes",!0);w(S,P,Se,"⋊","\\rtimes",!0);w(S,P,Se,"⋋","\\leftthreetimes",!0);w(S,P,Se,"⋌","\\rightthreetimes",!0);w(S,P,Se,"⋏","\\curlywedge",!0);w(S,P,Se,"⋎","\\curlyvee",!0);w(S,P,Se,"⊝","\\circleddash",!0);w(S,P,Se,"⊛","\\circledast",!0);w(S,P,Se,"⋅","\\centerdot");w(S,P,Se,"⊺","\\intercal",!0);w(S,P,Se,"⋒","\\doublecap");w(S,P,Se,"⋓","\\doublecup");w(S,P,Se,"⊠","\\boxtimes",!0);w(S,P,I,"⇢","\\dashrightarrow",!0);w(S,P,I,"⇠","\\dashleftarrow",!0);w(S,P,I,"⇇","\\leftleftarrows",!0);w(S,P,I,"⇆","\\leftrightarrows",!0);w(S,P,I,"⇚","\\Lleftarrow",!0);w(S,P,I,"↞","\\twoheadleftarrow",!0);w(S,P,I,"↢","\\leftarrowtail",!0);w(S,P,I,"↫","\\looparrowleft",!0);w(S,P,I,"⇋","\\leftrightharpoons",!0);w(S,P,I,"↶","\\curvearrowleft",!0);w(S,P,I,"↺","\\circlearrowleft",!0);w(S,P,I,"↰","\\Lsh",!0);w(S,P,I,"⇈","\\upuparrows",!0);w(S,P,I,"↿","\\upharpoonleft",!0);w(S,P,I,"⇃","\\downharpoonleft",!0);w(S,A,I,"⊶","\\origof",!0);w(S,A,I,"⊷","\\imageof",!0);w(S,P,I,"⊸","\\multimap",!0);w(S,P,I,"↭","\\leftrightsquigarrow",!0);w(S,P,I,"⇉","\\rightrightarrows",!0);w(S,P,I,"⇄","\\rightleftarrows",!0);w(S,P,I,"↠","\\twoheadrightarrow",!0);w(S,P,I,"↣","\\rightarrowtail",!0);w(S,P,I,"↬","\\looparrowright",!0);w(S,P,I,"↷","\\curvearrowright",!0);w(S,P,I,"↻","\\circlearrowright",!0);w(S,P,I,"↱","\\Rsh",!0);w(S,P,I,"⇊","\\downdownarrows",!0);w(S,P,I,"↾","\\upharpoonright",!0);w(S,P,I,"⇂","\\downharpoonright",!0);w(S,P,I,"⇝","\\rightsquigarrow",!0);w(S,P,I,"⇝","\\leadsto");w(S,P,I,"⇛","\\Rrightarrow",!0);w(S,P,I,"↾","\\restriction");w(S,A,H,"‘","`");w(S,A,H,"$","\\$");w(ce,A,H,"$","\\$");w(ce,A,H,"$","\\textdollar");w(S,A,H,"%","\\%");w(ce,A,H,"%","\\%");w(S,A,H,"_","\\_");w(ce,A,H,"_","\\_");w(ce,A,H,"_","\\textunderscore");w(S,A,H,"∠","\\angle",!0);w(S,A,H,"∞","\\infty",!0);w(S,A,H,"′","\\prime");w(S,A,H,"△","\\triangle");w(S,A,H,"Γ","\\Gamma",!0);w(S,A,H,"Δ","\\Delta",!0);w(S,A,H,"Θ","\\Theta",!0);w(S,A,H,"Λ","\\Lambda",!0);w(S,A,H,"Ξ","\\Xi",!0);w(S,A,H,"Π","\\Pi",!0);w(S,A,H,"Σ","\\Sigma",!0);w(S,A,H,"Υ","\\Upsilon",!0);w(S,A,H,"Φ","\\Phi",!0);w(S,A,H,"Ψ","\\Psi",!0);w(S,A,H,"Ω","\\Omega",!0);w(S,A,H,"A","Α");w(S,A,H,"B","Β");w(S,A,H,"E","Ε");w(S,A,H,"Z","Ζ");w(S,A,H,"H","Η");w(S,A,H,"I","Ι");w(S,A,H,"K","Κ");w(S,A,H,"M","Μ");w(S,A,H,"N","Ν");w(S,A,H,"O","Ο");w(S,A,H,"P","Ρ");w(S,A,H,"T","Τ");w(S,A,H,"X","Χ");w(S,A,H,"¬","\\neg",!0);w(S,A,H,"¬","\\lnot");w(S,A,H,"⊤","\\top");w(S,A,H,"⊥","\\bot");w(S,A,H,"∅","\\emptyset");w(S,P,H,"∅","\\varnothing");w(S,A,Be,"α","\\alpha",!0);w(S,A,Be,"β","\\beta",!0);w(S,A,Be,"γ","\\gamma",!0);w(S,A,Be,"δ","\\delta",!0);w(S,A,Be,"ϵ","\\epsilon",!0);w(S,A,Be,"ζ","\\zeta",!0);w(S,A,Be,"η","\\eta",!0);w(S,A,Be,"θ","\\theta",!0);w(S,A,Be,"ι","\\iota",!0);w(S,A,Be,"κ","\\kappa",!0);w(S,A,Be,"λ","\\lambda",!0);w(S,A,Be,"μ","\\mu",!0);w(S,A,Be,"ν","\\nu",!0);w(S,A,Be,"ξ","\\xi",!0);w(S,A,Be,"ο","\\omicron",!0);w(S,A,Be,"π","\\pi",!0);w(S,A,Be,"ρ","\\rho",!0);w(S,A,Be,"σ","\\sigma",!0);w(S,A,Be,"τ","\\tau",!0);w(S,A,Be,"υ","\\upsilon",!0);w(S,A,Be,"ϕ","\\phi",!0);w(S,A,Be,"χ","\\chi",!0);w(S,A,Be,"ψ","\\psi",!0);w(S,A,Be,"ω","\\omega",!0);w(S,A,Be,"ε","\\varepsilon",!0);w(S,A,Be,"ϑ","\\vartheta",!0);w(S,A,Be,"ϖ","\\varpi",!0);w(S,A,Be,"ϱ","\\varrho",!0);w(S,A,Be,"ς","\\varsigma",!0);w(S,A,Be,"φ","\\varphi",!0);w(S,A,Se,"∗","*",!0);w(S,A,Se,"+","+");w(S,A,Se,"−","-",!0);w(S,A,Se,"⋅","\\cdot",!0);w(S,A,Se,"∘","\\circ",!0);w(S,A,Se,"÷","\\div",!0);w(S,A,Se,"±","\\pm",!0);w(S,A,Se,"×","\\times",!0);w(S,A,Se,"∩","\\cap",!0);w(S,A,Se,"∪","\\cup",!0);w(S,A,Se,"∖","\\setminus",!0);w(S,A,Se,"∧","\\land");w(S,A,Se,"∨","\\lor");w(S,A,Se,"∧","\\wedge",!0);w(S,A,Se,"∨","\\vee",!0);w(S,A,H,"√","\\surd");w(S,A,ka,"⟨","\\langle",!0);w(S,A,ka,"∣","\\lvert");w(S,A,ka,"∥","\\lVert");w(S,A,ea,"?","?");w(S,A,ea,"!","!");w(S,A,ea,"⟩","\\rangle",!0);w(S,A,ea,"∣","\\rvert");w(S,A,ea,"∥","\\rVert");w(S,A,I,"=","=");w(S,A,I,":",":");w(S,A,I,"≈","\\approx",!0);w(S,A,I,"≅","\\cong",!0);w(S,A,I,"≥","\\ge");w(S,A,I,"≥","\\geq",!0);w(S,A,I,"←","\\gets");w(S,A,I,">","\\gt",!0);w(S,A,I,"∈","\\in",!0);w(S,A,I,"","\\@not");w(S,A,I,"⊂","\\subset",!0);w(S,A,I,"⊃","\\supset",!0);w(S,A,I,"⊆","\\subseteq",!0);w(S,A,I,"⊇","\\supseteq",!0);w(S,P,I,"⊈","\\nsubseteq",!0);w(S,P,I,"⊉","\\nsupseteq",!0);w(S,A,I,"⊨","\\models");w(S,A,I,"←","\\leftarrow",!0);w(S,A,I,"≤","\\le");w(S,A,I,"≤","\\leq",!0);w(S,A,I,"<","\\lt",!0);w(S,A,I,"→","\\rightarrow",!0);w(S,A,I,"→","\\to");w(S,P,I,"≱","\\ngeq",!0);w(S,P,I,"≰","\\nleq",!0);w(S,A,hs," ","\\ ");w(S,A,hs," ","\\space");w(S,A,hs," ","\\nobreakspace");w(ce,A,hs," ","\\ ");w(ce,A,hs," "," ");w(ce,A,hs," ","\\space");w(ce,A,hs," ","\\nobreakspace");w(S,A,hs,"","\\nobreak");w(S,A,hs,"","\\allowbreak");w(S,A,nu,",",",");w(S,A,nu,";",";");w(S,P,Se,"⊼","\\barwedge",!0);w(S,P,Se,"⊻","\\veebar",!0);w(S,A,Se,"⊙","\\odot",!0);w(S,A,Se,"⊕","\\oplus",!0);w(S,A,Se,"⊗","\\otimes",!0);w(S,A,H,"∂","\\partial",!0);w(S,A,Se,"⊘","\\oslash",!0);w(S,P,Se,"⊚","\\circledcirc",!0);w(S,P,Se,"⊡","\\boxdot",!0);w(S,A,Se,"△","\\bigtriangleup");w(S,A,Se,"▽","\\bigtriangledown");w(S,A,Se,"†","\\dagger");w(S,A,Se,"⋄","\\diamond");w(S,A,Se,"⋆","\\star");w(S,A,Se,"◃","\\triangleleft");w(S,A,Se,"▹","\\triangleright");w(S,A,ka,"{","\\{");w(ce,A,H,"{","\\{");w(ce,A,H,"{","\\textbraceleft");w(S,A,ea,"}","\\}");w(ce,A,H,"}","\\}");w(ce,A,H,"}","\\textbraceright");w(S,A,ka,"{","\\lbrace");w(S,A,ea,"}","\\rbrace");w(S,A,ka,"[","\\lbrack",!0);w(ce,A,H,"[","\\lbrack",!0);w(S,A,ea,"]","\\rbrack",!0);w(ce,A,H,"]","\\rbrack",!0);w(S,A,ka,"(","\\lparen",!0);w(S,A,ea,")","\\rparen",!0);w(ce,A,H,"<","\\textless",!0);w(ce,A,H,">","\\textgreater",!0);w(S,A,ka,"⌊","\\lfloor",!0);w(S,A,ea,"⌋","\\rfloor",!0);w(S,A,ka,"⌈","\\lceil",!0);w(S,A,ea,"⌉","\\rceil",!0);w(S,A,H,"\\","\\backslash");w(S,A,H,"∣","|");w(S,A,H,"∣","\\vert");w(ce,A,H,"|","\\textbar",!0);w(S,A,H,"∥","\\|");w(S,A,H,"∥","\\Vert");w(ce,A,H,"∥","\\textbardbl");w(ce,A,H,"~","\\textasciitilde");w(ce,A,H,"\\","\\textbackslash");w(ce,A,H,"^","\\textasciicircum");w(S,A,I,"↑","\\uparrow",!0);w(S,A,I,"⇑","\\Uparrow",!0);w(S,A,I,"↓","\\downarrow",!0);w(S,A,I,"⇓","\\Downarrow",!0);w(S,A,I,"↕","\\updownarrow",!0);w(S,A,I,"⇕","\\Updownarrow",!0);w(S,A,mn,"∐","\\coprod");w(S,A,mn,"⋁","\\bigvee");w(S,A,mn,"⋀","\\bigwedge");w(S,A,mn,"⨄","\\biguplus");w(S,A,mn,"⋂","\\bigcap");w(S,A,mn,"⋃","\\bigcup");w(S,A,mn,"∫","\\int");w(S,A,mn,"∫","\\intop");w(S,A,mn,"∬","\\iint");w(S,A,mn,"∭","\\iiint");w(S,A,mn,"∏","\\prod");w(S,A,mn,"∑","\\sum");w(S,A,mn,"⨂","\\bigotimes");w(S,A,mn,"⨁","\\bigoplus");w(S,A,mn,"⨀","\\bigodot");w(S,A,mn,"∮","\\oint");w(S,A,mn,"∯","\\oiint");w(S,A,mn,"∰","\\oiiint");w(S,A,mn,"⨆","\\bigsqcup");w(S,A,mn,"∫","\\smallint");w(ce,A,dl,"…","\\textellipsis");w(S,A,dl,"…","\\mathellipsis");w(ce,A,dl,"…","\\ldots",!0);w(S,A,dl,"…","\\ldots",!0);w(S,A,dl,"⋯","\\@cdots",!0);w(S,A,dl,"⋱","\\ddots",!0);w(S,A,H,"⋮","\\varvdots");w(ce,A,H,"⋮","\\varvdots");w(S,A,qt,"ˊ","\\acute");w(S,A,qt,"ˋ","\\grave");w(S,A,qt,"¨","\\ddot");w(S,A,qt,"~","\\tilde");w(S,A,qt,"ˉ","\\bar");w(S,A,qt,"˘","\\breve");w(S,A,qt,"ˇ","\\check");w(S,A,qt,"^","\\hat");w(S,A,qt,"⃗","\\vec");w(S,A,qt,"˙","\\dot");w(S,A,qt,"˚","\\mathring");w(S,A,Be,"","\\@imath");w(S,A,Be,"","\\@jmath");w(S,A,H,"ı","ı");w(S,A,H,"ȷ","ȷ");w(ce,A,H,"ı","\\i",!0);w(ce,A,H,"ȷ","\\j",!0);w(ce,A,H,"ß","\\ss",!0);w(ce,A,H,"æ","\\ae",!0);w(ce,A,H,"œ","\\oe",!0);w(ce,A,H,"ø","\\o",!0);w(ce,A,H,"Æ","\\AE",!0);w(ce,A,H,"Œ","\\OE",!0);w(ce,A,H,"Ø","\\O",!0);w(ce,A,qt,"ˊ","\\'");w(ce,A,qt,"ˋ","\\`");w(ce,A,qt,"ˆ","\\^");w(ce,A,qt,"˜","\\~");w(ce,A,qt,"ˉ","\\=");w(ce,A,qt,"˘","\\u");w(ce,A,qt,"˙","\\.");w(ce,A,qt,"¸","\\c");w(ce,A,qt,"˚","\\r");w(ce,A,qt,"ˇ","\\v");w(ce,A,qt,"¨",'\\"');w(ce,A,qt,"˝","\\H");w(ce,A,qt,"◯","\\textcircled");var bx={"--":!0,"---":!0,"``":!0,"''":!0};w(ce,A,H,"–","--",!0);w(ce,A,H,"–","\\textendash");w(ce,A,H,"—","---",!0);w(ce,A,H,"—","\\textemdash");w(ce,A,H,"‘","`",!0);w(ce,A,H,"‘","\\textquoteleft");w(ce,A,H,"’","'",!0);w(ce,A,H,"’","\\textquoteright");w(ce,A,H,"“","``",!0);w(ce,A,H,"“","\\textquotedblleft");w(ce,A,H,"”","''",!0);w(ce,A,H,"”","\\textquotedblright");w(S,A,H,"°","\\degree",!0);w(ce,A,H,"°","\\degree");w(ce,A,H,"°","\\textdegree",!0);w(S,A,H,"£","\\pounds");w(S,A,H,"£","\\mathsterling",!0);w(ce,A,H,"£","\\pounds");w(ce,A,H,"£","\\textsterling",!0);w(S,P,H,"✠","\\maltese");w(ce,P,H,"✠","\\maltese");var w2='0123456789/@."';for(var Pm=0;Pm<w2.length;Pm++){var k2=w2.charAt(Pm);w(S,A,H,k2,k2)}var S2='0123456789!@*()-=+";:?/.,';for(var Im=0;Im<S2.length;Im++){var _2=S2.charAt(Im);w(ce,A,H,_2,_2)}var b0="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";for(var zm=0;zm<b0.length;zm++){var Ed=b0.charAt(zm);w(S,A,Be,Ed,Ed),w(ce,A,H,Ed,Ed)}w(S,P,H,"C","ℂ");w(ce,P,H,"C","ℂ");w(S,P,H,"H","ℍ");w(ce,P,H,"H","ℍ");w(S,P,H,"N","ℕ");w(ce,P,H,"N","ℕ");w(S,P,H,"P","ℙ");w(ce,P,H,"P","ℙ");w(S,P,H,"Q","ℚ");w(ce,P,H,"Q","ℚ");w(S,P,H,"R","ℝ");w(ce,P,H,"R","ℝ");w(S,P,H,"Z","ℤ");w(ce,P,H,"Z","ℤ");w(S,A,Be,"h","ℎ");w(ce,A,Be,"h","ℎ");var $e;for(var Yn=0;Yn<b0.length;Yn++){var Qt=b0.charAt(Yn);$e=String.fromCharCode(55349,56320+Yn),w(S,A,Be,Qt,$e),w(ce,A,H,Qt,$e),$e=String.fromCharCode(55349,56372+Yn),w(S,A,Be,Qt,$e),w(ce,A,H,Qt,$e),$e=String.fromCharCode(55349,56424+Yn),w(S,A,Be,Qt,$e),w(ce,A,H,Qt,$e),$e=String.fromCharCode(55349,56580+Yn),w(S,A,Be,Qt,$e),w(ce,A,H,Qt,$e),$e=String.fromCharCode(55349,56684+Yn),w(S,A,Be,Qt,$e),w(ce,A,H,Qt,$e),$e=String.fromCharCode(55349,56736+Yn),w(S,A,Be,Qt,$e),w(ce,A,H,Qt,$e),$e=String.fromCharCode(55349,56788+Yn),w(S,A,Be,Qt,$e),w(ce,A,H,Qt,$e),$e=String.fromCharCode(55349,56840+Yn),w(S,A,Be,Qt,$e),w(ce,A,H,Qt,$e),$e=String.fromCharCode(55349,56944+Yn),w(S,A,Be,Qt,$e),w(ce,A,H,Qt,$e),Yn<26&&($e=String.fromCharCode(55349,56632+Yn),w(S,A,Be,Qt,$e),w(ce,A,H,Qt,$e),$e=String.fromCharCode(55349,56476+Yn),w(S,A,Be,Qt,$e),w(ce,A,H,Qt,$e))}$e="𝕜";w(S,A,Be,"k",$e);w(ce,A,H,"k",$e);for(var Mi=0;Mi<10;Mi++){var Fs=Mi.toString();$e=String.fromCharCode(55349,57294+Mi),w(S,A,Be,Fs,$e),w(ce,A,H,Fs,$e),$e=String.fromCharCode(55349,57314+Mi),w(S,A,Be,Fs,$e),w(ce,A,H,Fs,$e),$e=String.fromCharCode(55349,57324+Mi),w(S,A,Be,Fs,$e),w(ce,A,H,Fs,$e),$e=String.fromCharCode(55349,57334+Mi),w(S,A,Be,Fs,$e),w(ce,A,H,Fs,$e)}var Qp="ÐÞþ";for(var $m=0;$m<Qp.length;$m++){var Nd=Qp.charAt($m);w(S,A,Be,Nd,Nd),w(ce,A,H,Nd,Nd)}var Jp={mathClass:"mathbf",textClass:"textbf",font:"Main-Bold"},C2={mathClass:"mathnormal",textClass:"textit",font:"Math-Italic"},T2={mathClass:"boldsymbol",textClass:"boldsymbol",font:"Main-BoldItalic"},tC={mathClass:"mathscr",textClass:"textscr",font:"Script-Regular"},Bi={mathClass:"",textClass:"",font:""},A2={mathClass:"mathfrak",textClass:"textfrak",font:"Fraktur-Regular"},E2={mathClass:"mathbb",textClass:"textbb",font:"AMS-Regular"},N2={mathClass:"mathboldfrak",textClass:"textboldfrak",font:"Fraktur-Regular"},eg={mathClass:"mathsf",textClass:"textsf",font:"SansSerif-Regular"},tg={mathClass:"mathboldsf",textClass:"textboldsf",font:"SansSerif-Bold"},M2={mathClass:"mathitsf",textClass:"textitsf",font:"SansSerif-Italic"},ng={mathClass:"mathtt",textClass:"texttt",font:"Typewriter-Regular"},R2=[Jp,Jp,C2,C2,T2,T2,tC,Bi,Bi,Bi,A2,A2,E2,E2,N2,N2,eg,eg,tg,tg,M2,M2,Bi,Bi,ng,ng],nC=[Jp,Bi,eg,tg,ng],aC=n=>{var e=n.charCodeAt(0),t=n.charCodeAt(1),a=(e-55296)*1024+(t-56320)+65536;if(119808<=a&&a<120484){var s=Math.floor((a-119808)/26);return R2[s]}else if(120782<=a&&a<=120831){var o=Math.floor((a-120782)/10);return nC[o]}else{if(a===120485||a===120486)return R2[0];if(120486<a&&a<120782)return Bi;throw new me("Unsupported character: "+n)}},U0=function(e,t,a){if(Gt[a][e]){var s=Gt[a][e].replace;s&&(e=s)}return{value:e,metrics:a1(e,t,a)}},Xn=function(e,t,a,s,o){var l=U0(e,t,a),u=l.metrics;e=l.value;var d;if(u){var h=u.italic;(a==="text"||s&&s.font==="mathit")&&(h=0),d=new xa(e,u.height,u.depth,h,u.skew,u.width,o)}else typeof console<"u"&&console.warn("No character metrics "+("for '"+e+"' in style '"+t+"' and mode '"+a+"'")),d=new xa(e,0,0,0,0,0,o);if(s){d.maxFontSize=s.sizeMultiplier,s.style.isTight()&&d.classes.push("mtight");var m=s.getColor();m&&(d.style.color=m)}return d},r1=function(e,t,a,s){return s===void 0&&(s=[]),a.font==="boldsymbol"&&U0(e,"Main-Bold",t).metrics?Xn(e,"Main-Bold",t,a,s.concat(["mathbf"])):e==="\\"||Gt[t][e].font==="main"?Xn(e,"Main-Regular",t,a,s):Xn(e,"AMS-Regular",t,a,s.concat(["amsrm"]))},rC=function(e,t,a){return a!=="textord"&&U0(e,"Math-BoldItalic",t).metrics?{fontName:"Math-BoldItalic",fontClass:"boldsymbol"}:{fontName:"Main-Bold",fontClass:"mathbf"}},F0=function(e,t,a){var s=e.mode,o=e.text,l=["mord"],{font:u,fontFamily:d,fontWeight:h,fontShape:m}=t,p=s==="math"||s==="text"&&!!u,b=p?u:d,x="",k="";if(o.charCodeAt(0)===55349){var _=aC(o);x=_.font,k=_[s+"Class"]}if(x)return Xn(o,x,s,t,l.concat(k));if(b){var T,N;if(b==="boldsymbol"){var E=rC(o,s,a);T=E.fontName,N=[E.fontClass]}else p?(T=ag[u].fontName,N=[u]):(T=Md(d,h,m),N=[d,h,m]);if(U0(o,T,s).metrics)return Xn(o,T,s,t,l.concat(N));if(bx.hasOwnProperty(o)&&T.slice(0,10)==="Typewriter"){for(var L=[],B=0;B<o.length;B++)L.push(Xn(o[B],T,s,t,l.concat(N)));return ms(L)}}if(a==="mathord")return Xn(o,"Math-Italic",s,t,l.concat(["mathnormal"]));if(a==="textord"){var j=Gt[s][o]&&Gt[s][o].font;if(j==="ams"){var q=Md("amsrm",h,m);return Xn(o,q,s,t,l.concat("amsrm",h,m))}else if(j==="main"||!j){var K=Md("textrm",h,m);return Xn(o,K,s,t,l.concat(h,m))}else{var te=Md(j,h,m);return Xn(o,te,s,t,l.concat(te,h,m))}}else throw new Error("unexpected type: "+a+" in makeOrd")},sC=(n,e)=>{if(ai(n.classes)!==ai(e.classes)||n.skew!==e.skew||n.maxFontSize!==e.maxFontSize||n.italic!==0&&n.hasClass("mathnormal"))return!1;if(n.classes.length===1){var t=n.classes[0];if(t==="mbin"||t==="mord")return!1}for(var a of Object.keys(n.style))if(n.style[a]!==e.style[a])return!1;for(var s of Object.keys(e.style))if(n.style[s]!==e.style[s])return!1;return!0},xx=n=>{for(var e=0;e<n.length-1;e++){var t=n[e],a=n[e+1];t instanceof xa&&a instanceof xa&&sC(t,a)&&(t.text+=a.text,t.height=Math.max(t.height,a.height),t.depth=Math.max(t.depth,a.depth),t.italic=a.italic,n.splice(e+1,1),e--)}return n},s1=function(e){for(var t=0,a=0,s=0,o=0;o<e.children.length;o++){var l=e.children[o];l.height>t&&(t=l.height),l.depth>a&&(a=l.depth),l.maxFontSize>s&&(s=l.maxFontSize)}e.height=t,e.depth=a,e.maxFontSize=s},ue=function(e,t,a,s){var o=new ul(e,t,a,s);return s1(o),o},si=(n,e,t,a)=>new ul(n,e,t,a),il=function(e,t,a){var s=ue([e],[],t);return s.height=Math.max(a||t.fontMetrics().defaultRuleThickness,t.minRuleThickness),s.style.borderBottomWidth=ve(s.height),s.maxFontSize=1,s},iC=function(e,t,a,s){var o=new H0(e,t,a,s);return s1(o),o},ms=function(e){var t=new cl(e);return s1(t),t},ol=function(e,t){return e instanceof cl?ue([],[e],t):e},oC=function(e){if(e.positionType==="individualShift"){for(var t=e.children,a=[t[0]],s=-t[0].shift-t[0].elem.depth,o=s,l=1;l<t.length;l++){var u=-t[l].shift-o-t[l].elem.depth,d=u-(t[l-1].elem.height+t[l-1].elem.depth);o=o+u,a.push({type:"kern",size:d}),a.push(t[l])}return{children:a,depth:s}}var h;if(e.positionType==="top"){for(var m=e.positionData,p=0;p<e.children.length;p++){var b=e.children[p];m-=b.type==="kern"?b.size:b.elem.height+b.elem.depth}h=m}else if(e.positionType==="bottom")h=-e.positionData;else{var x=e.children[0];if(x.type!=="elem")throw new Error('First child must have type "elem".');if(e.positionType==="shift")h=-x.elem.depth-e.positionData;else if(e.positionType==="firstBaseline")h=-x.elem.depth;else throw new Error("Invalid positionType "+e.positionType+".")}return{children:e.children,depth:h}},Ct=function(e,t){for(var{children:a,depth:s}=oC(e),o=0,l=0;l<a.length;l++){var u=a[l];if(u.type==="elem"){var d=u.elem;o=Math.max(o,d.maxFontSize,d.height)}}o+=2;var h=ue(["pstrut"],[]);h.style.height=ve(o);for(var m=[],p=s,b=s,x=s,k=0;k<a.length;k++){var _=a[k];if(_.type==="kern")x+=_.size;else{var T=_.elem,N=_.wrapperClasses||[],E=_.wrapperStyle||{},L=ue(N,[h,T],void 0,E);L.style.top=ve(-o-x-T.depth),_.marginLeft&&(L.style.marginLeft=_.marginLeft),_.marginRight&&(L.style.marginRight=_.marginRight),m.push(L),x+=T.height+T.depth}p=Math.min(p,x),b=Math.max(b,x)}var B=ue(["vlist"],m);B.style.height=ve(b);var j;if(p<0){var q=ue([],[]),K=ue(["vlist"],[q]);K.style.height=ve(-p);var te=ue(["vlist-s"],[new xa("")]);j=[ue(["vlist-r"],[B,te]),ue(["vlist-r"],[K])]}else j=[ue(["vlist-r"],[B])];var J=ue(["vlist-t"],j);return j.length===2&&J.classes.push("vlist-t2"),J.height=b,J.depth=-p,J},wx=(n,e)=>{var t=ue(["mspace"],[],e),a=Kt(n,e);return t.style.marginRight=ve(a),t},Md=(n,e,t)=>{var a,s;switch(n){case"amsrm":a="AMS";break;case"textrm":a="Main";break;case"textsf":a="SansSerif";break;case"texttt":a="Typewriter";break;default:a=n}return e==="textbf"&&t==="textit"?s="BoldItalic":e==="textbf"?s="Bold":t==="textit"?s="Italic":s="Regular",a+"-"+s},ag={mathbf:{variant:"bold",fontName:"Main-Bold"},mathrm:{variant:"normal",fontName:"Main-Regular"},textit:{variant:"italic",fontName:"Main-Italic"},mathit:{variant:"italic",fontName:"Main-Italic"},mathnormal:{variant:"italic",fontName:"Math-Italic"},mathsfit:{variant:"sans-serif-italic",fontName:"SansSerif-Italic"},mathbb:{variant:"double-struck",fontName:"AMS-Regular"},mathcal:{variant:"script",fontName:"Caligraphic-Regular"},mathfrak:{variant:"fraktur",fontName:"Fraktur-Regular"},mathscr:{variant:"script",fontName:"Script-Regular"},mathsf:{variant:"sans-serif",fontName:"SansSerif-Regular"},mathtt:{variant:"monospace",fontName:"Typewriter-Regular"}},kx={vec:["vec",.471,.714],oiintSize1:["oiintSize1",.957,.499],oiintSize2:["oiintSize2",1.472,.659],oiiintSize1:["oiiintSize1",1.304,.499],oiiintSize2:["oiiintSize2",1.98,.659]},Sx=function(e,t){var[a,s,o]=kx[e],l=new ri(a),u=new ds([l],{width:ve(s),height:ve(o),style:"width:"+ve(s),viewBox:"0 0 "+1e3*s+" "+1e3*o,preserveAspectRatio:"xMinYMin"}),d=si(["overlay"],[u],t);return d.height=o,d.style.height=ve(o),d.style.width=ve(s),d},Vt={number:3,unit:"mu"},Ri={number:4,unit:"mu"},Xr={number:5,unit:"mu"},lC={mord:{mop:Vt,mbin:Ri,mrel:Xr,minner:Vt},mop:{mord:Vt,mop:Vt,mrel:Xr,minner:Vt},mbin:{mord:Ri,mop:Ri,mopen:Ri,minner:Ri},mrel:{mord:Xr,mop:Xr,mopen:Xr,minner:Xr},mopen:{},mclose:{mop:Vt,mbin:Ri,mrel:Xr,minner:Vt},mpunct:{mord:Vt,mop:Vt,mrel:Xr,mopen:Vt,mclose:Vt,mpunct:Vt,minner:Vt},minner:{mord:Vt,mop:Vt,mbin:Ri,mrel:Xr,mopen:Vt,mpunct:Vt,minner:Vt}},cC={mord:{mop:Vt},mop:{mord:Vt,mop:Vt},mbin:{},mrel:{},mopen:{},mclose:{mop:Vt},mpunct:{},minner:{mop:Vt}},_x={},x0={},w0={};function we(n){for(var{type:e,names:t,props:a,handler:s,htmlBuilder:o,mathmlBuilder:l}=n,u={type:e,numArgs:a.numArgs,argTypes:a.argTypes,allowedInArgument:!!a.allowedInArgument,allowedInText:!!a.allowedInText,allowedInMath:a.allowedInMath===void 0?!0:a.allowedInMath,numOptionalArgs:a.numOptionalArgs||0,infix:!!a.infix,primitive:!!a.primitive,handler:s},d=0;d<t.length;++d)_x[t[d]]=u;e&&(o&&(x0[e]=o),l&&(w0[e]=l))}function Ki(n){var{type:e,htmlBuilder:t,mathmlBuilder:a}=n;we({type:e,names:[],props:{numArgs:0},handler(){throw new Error("Should never be called.")},htmlBuilder:t,mathmlBuilder:a})}var k0=function(e){return e.type==="ordgroup"&&e.body.length===1?e.body[0]:e},fn=function(e){return e.type==="ordgroup"?e.body:[e]},uC=new Set(["leftmost","mbin","mopen","mrel","mop","mpunct"]),dC=new Set(["rightmost","mrel","mclose","mpunct"]),fC={display:Xe.DISPLAY,text:Xe.TEXT,script:Xe.SCRIPT,scriptscript:Xe.SCRIPTSCRIPT},hC={mord:"mord",mop:"mop",mbin:"mbin",mrel:"mrel",mopen:"mopen",mclose:"mclose",mpunct:"mpunct",minner:"minner"},kn=function(e,t,a,s){s===void 0&&(s=[null,null]);for(var o=[],l=0;l<e.length;l++){var u=Tt(e[l],t);if(u instanceof cl){var d=u.children;o.push(...d)}else o.push(u)}if(xx(o),!a)return o;var h=t;if(e.length===1){var m=e[0];m.type==="sizing"?h=t.havingSize(m.size):m.type==="styling"&&(h=t.havingStyle(fC[m.style]))}var p=ue([s[0]||"leftmost"],[],t),b=ue([s[1]||"rightmost"],[],t),x=a==="root";return rg(o,(k,_)=>{var T=_.classes[0],N=k.classes[0];T==="mbin"&&dC.has(N)?_.classes[0]="mord":N==="mbin"&&uC.has(T)&&(k.classes[0]="mord")},{node:p},b,x),rg(o,(k,_)=>{var T,N,E=ig(_),L=ig(k),B=E&&L?k.hasClass("mtight")?(T=cC[E])==null?void 0:T[L]:(N=lC[E])==null?void 0:N[L]:null;if(B)return wx(B,h)},{node:p},b,x),o},rg=function(e,t,a,s,o){s&&e.push(s);for(var l=0;l<e.length;l++){var u=e[l],d=Cx(u);if(d){rg(d.children,t,a,null,o);continue}var h=!u.hasClass("mspace");if(h){var m=t(u,a.node);m&&(a.insertAfter?a.insertAfter(m):(e.unshift(m),l++))}h?a.node=u:o&&u.hasClass("newline")&&(a.node=ue(["leftmost"])),a.insertAfter=(p=>b=>{e.splice(p+1,0,b),l++})(l)}s&&e.pop()},Cx=function(e){return e instanceof cl||e instanceof H0||e instanceof ul&&e.hasClass("enclosing")?e:null},sg=function(e,t){var a=Cx(e);if(a){var s=a.children;if(s.length){if(t==="right")return sg(s[s.length-1],"right");if(t==="left")return sg(s[0],"left")}}return e},ig=function(e,t){if(!e)return null;t&&(e=sg(e,t));var a=e.classes[0];return hC[a]||null},Vc=function(e,t){var a=["nulldelimiter"].concat(e.baseSizingClasses());return ue(t.concat(a))},Tt=function(e,t,a){if(!e)return ue();if(x0[e.type]){var s=x0[e.type](e,t);if(a&&t.size!==a.size){s=ue(t.sizingClasses(a),[s],t);var o=t.sizeMultiplier/a.sizeMultiplier;s.height*=o,s.depth*=o}return s}else throw new me("Got group of unknown type: '"+e.type+"'")};function Rd(n,e){var t=ue(["base"],n,e),a=ue(["strut"]);return a.style.height=ve(t.height+t.depth),t.depth&&(a.style.verticalAlign=ve(-t.depth)),t.children.unshift(a),t}function og(n,e){var t=null;n.length===1&&n[0].type==="tag"&&(t=n[0].tag,n=n[0].body);var a=kn(n,e,"root"),s;a.length===2&&a[1].hasClass("tag")&&(s=a.pop());for(var o=[],l=[],u=0;u<a.length;u++)if(l.push(a[u]),a[u].hasClass("mbin")||a[u].hasClass("mrel")||a[u].hasClass("allowbreak")){for(var d=!1;u<a.length-1&&a[u+1].hasClass("mspace")&&!a[u+1].hasClass("newline");)u++,l.push(a[u]),a[u].hasClass("nobreak")&&(d=!0);d||(o.push(Rd(l,e)),l=[])}else a[u].hasClass("newline")&&(l.pop(),l.length>0&&(o.push(Rd(l,e)),l=[]),o.push(a[u]));l.length>0&&o.push(Rd(l,e));var h;t?(h=Rd(kn(t,e,!0),e),h.classes=["tag"],o.push(h)):s&&o.push(s);var m=ue(["katex-html"],o);if(m.setAttribute("aria-hidden","true"),h){var p=h.children[0];p.style.height=ve(m.height+m.depth),m.depth&&(p.style.verticalAlign=ve(-m.depth))}return m}function Tx(n){return new cl(n)}class pe{constructor(e,t,a){this.type=void 0,this.attributes=void 0,this.children=void 0,this.classes=void 0,this.type=e,this.attributes={},this.children=t||[],this.classes=a||[]}setAttribute(e,t){this.attributes[e]=t}getAttribute(e){return this.attributes[e]}toNode(){var e=document.createElementNS("http://www.w3.org/1998/Math/MathML",this.type);for(var t in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,t)&&e.setAttribute(t,this.attributes[t]);this.classes.length>0&&(e.className=ai(this.classes));for(var a=0;a<this.children.length;a++)if(this.children[a]instanceof hn&&this.children[a+1]instanceof hn){for(var s=this.children[a].toText()+this.children[++a].toText();this.children[a+1]instanceof hn;)s+=this.children[++a].toText();e.appendChild(new hn(s).toNode())}else e.appendChild(this.children[a].toNode());return e}toMarkup(){var e="<"+this.type;for(var t in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,t)&&(e+=" "+t+'="',e+=Gn(this.attributes[t]),e+='"');this.classes.length>0&&(e+=' class ="'+Gn(ai(this.classes))+'"'),e+=">";for(var a=0;a<this.children.length;a++)e+=this.children[a].toMarkup();return e+="</"+this.type+">",e}toText(){return this.children.map(e=>e.toText()).join("")}}class hn{constructor(e){this.text=void 0,this.text=e}toNode(){return document.createTextNode(this.text)}toMarkup(){return Gn(this.toText())}toText(){return this.text}}class Ax{constructor(e){this.width=void 0,this.character=void 0,this.width=e,e>=.05555&&e<=.05556?this.character=" ":e>=.1666&&e<=.1667?this.character=" ":e>=.2222&&e<=.2223?this.character=" ":e>=.2777&&e<=.2778?this.character=" ":e>=-.05556&&e<=-.05555?this.character=" ":e>=-.1667&&e<=-.1666?this.character=" ":e>=-.2223&&e<=-.2222?this.character=" ":e>=-.2778&&e<=-.2777?this.character=" ":this.character=null}toNode(){if(this.character)return document.createTextNode(this.character);var e=document.createElementNS("http://www.w3.org/1998/Math/MathML","mspace");return e.setAttribute("width",ve(this.width)),e}toMarkup(){return this.character?"<mtext>"+this.character+"</mtext>":'<mspace width="'+ve(this.width)+'"/>'}toText(){return this.character?this.character:" "}}var mC=new Set(["\\imath","\\jmath"]),pC=new Set(["mrow","mtable"]),qa=function(e,t,a){return Gt[t][e]&&Gt[t][e].replace&&e.charCodeAt(0)!==55349&&!(bx.hasOwnProperty(e)&&a&&(a.fontFamily&&a.fontFamily.slice(4,6)==="tt"||a.font&&a.font.slice(4,6)==="tt"))&&(e=Gt[t][e].replace),new hn(e)},i1=function(e){return e.length===1?e[0]:new pe("mrow",e)},gC={mathit:"italic",boldsymbol:n=>n.type==="textord"?"bold":"bold-italic",mathbf:"bold",mathbb:"double-struck",mathsfit:"sans-serif-italic",mathfrak:"fraktur",mathscr:"script",mathcal:"script",mathsf:"sans-serif",mathtt:"monospace"},o1=(n,e)=>{if(n.mode==="text"){if(e.fontFamily==="texttt")return"monospace";if(e.fontFamily==="textsf")return e.fontShape==="textit"&&e.fontWeight==="textbf"?"sans-serif-bold-italic":e.fontShape==="textit"?"sans-serif-italic":e.fontWeight==="textbf"?"bold-sans-serif":"sans-serif";if(e.fontShape==="textit"&&e.fontWeight==="textbf")return"bold-italic";if(e.fontShape==="textit")return"italic";if(e.fontWeight==="textbf")return"bold"}var t=e.font;if(!t||t==="mathnormal")return null;var a=n.mode,s=gC[t];if(s)return typeof s=="function"?s(n):s;var o=n.text;if(mC.has(o))return null;if(Gt[a][o]){var l=Gt[a][o].replace;l&&(o=l)}var u=ag[t].fontName;return a1(o,u,a)?ag[t].variant:null};function Hm(n){if(!n)return!1;if(n.type==="mi"&&n.children.length===1){var e=n.children[0];return e instanceof hn&&e.text==="."}else if(n.type==="mo"&&n.children.length===1&&n.getAttribute("separator")==="true"&&n.getAttribute("lspace")==="0em"&&n.getAttribute("rspace")==="0em"){var t=n.children[0];return t instanceof hn&&t.text===","}else return!1}var Sa=function(e,t,a){if(e.length===1){var s=Pt(e[0],t);return a&&s instanceof pe&&s.type==="mo"&&(s.setAttribute("lspace","0em"),s.setAttribute("rspace","0em")),[s]}for(var o=[],l,u=0;u<e.length;u++){var d=Pt(e[u],t);if(d instanceof pe&&l instanceof pe){if(d.type==="mtext"&&l.type==="mtext"&&d.getAttribute("mathvariant")===l.getAttribute("mathvariant")){l.children.push(...d.children);continue}else if(d.type==="mn"&&l.type==="mn"){l.children.push(...d.children);continue}else if(Hm(d)&&l.type==="mn"){l.children.push(...d.children);continue}else if(d.type==="mn"&&Hm(l))d.children=[...l.children,...d.children],o.pop();else if((d.type==="msup"||d.type==="msub")&&d.children.length>=1&&(l.type==="mn"||Hm(l))){var h=d.children[0];h instanceof pe&&h.type==="mn"&&(h.children=[...l.children,...h.children],o.pop())}else if(l.type==="mi"&&l.children.length===1){var m=l.children[0];if(m instanceof hn&&m.text==="̸"&&(d.type==="mo"||d.type==="mi"||d.type==="mn")){var p=d.children[0];p instanceof hn&&p.text.length>0&&(p.text=p.text.slice(0,1)+"̸"+p.text.slice(1),o.pop())}}}o.push(d),l=d}return o},ii=function(e,t,a){return i1(Sa(e,t,a))},Pt=function(e,t){if(!e)return new pe("mrow");if(w0[e.type])return w0[e.type](e,t);throw new me("Got group of unknown type: '"+e.type+"'")};function D2(n,e,t,a,s){var o=Sa(n,t),l;o.length===1&&o[0]instanceof pe&&pC.has(o[0].type)?l=o[0]:l=new pe("mrow",o);var u=new pe("annotation",[new hn(e)]);u.setAttribute("encoding","application/x-tex");var d=new pe("semantics",[l,u]),h=new pe("math",[d]);h.setAttribute("xmlns","http://www.w3.org/1998/Math/MathML"),a&&h.setAttribute("display","block");var m=s?"katex":"katex-mathml";return ue([m],[h])}var yC=[[1,1,1],[2,1,1],[3,1,1],[4,2,1],[5,2,1],[6,3,1],[7,4,2],[8,6,3],[9,7,6],[10,8,7],[11,10,9]],O2=[.5,.6,.7,.8,.9,1,1.2,1.44,1.728,2.074,2.488],L2=function(e,t){return t.size<2?e:yC[e-1][t.size-1]};class as{constructor(e){this.style=void 0,this.color=void 0,this.size=void 0,this.textSize=void 0,this.phantom=void 0,this.font=void 0,this.fontFamily=void 0,this.fontWeight=void 0,this.fontShape=void 0,this.sizeMultiplier=void 0,this.maxSize=void 0,this.minRuleThickness=void 0,this._fontMetrics=void 0,this.style=e.style,this.color=e.color,this.size=e.size||as.BASESIZE,this.textSize=e.textSize||this.size,this.phantom=!!e.phantom,this.font=e.font||"",this.fontFamily=e.fontFamily||"",this.fontWeight=e.fontWeight||"",this.fontShape=e.fontShape||"",this.sizeMultiplier=O2[this.size-1],this.maxSize=e.maxSize,this.minRuleThickness=e.minRuleThickness,this._fontMetrics=void 0}extend(e){var t={style:this.style,size:this.size,textSize:this.textSize,color:this.color,phantom:this.phantom,font:this.font,fontFamily:this.fontFamily,fontWeight:this.fontWeight,fontShape:this.fontShape,maxSize:this.maxSize,minRuleThickness:this.minRuleThickness};return Object.assign(t,e),new as(t)}havingStyle(e){return this.style===e?this:this.extend({style:e,size:L2(this.textSize,e)})}havingCrampedStyle(){return this.havingStyle(this.style.cramp())}havingSize(e){return this.size===e&&this.textSize===e?this:this.extend({style:this.style.text(),size:e,textSize:e,sizeMultiplier:O2[e-1]})}havingBaseStyle(e){e=e||this.style.text();var t=L2(as.BASESIZE,e);return this.size===t&&this.textSize===as.BASESIZE&&this.style===e?this:this.extend({style:e,size:t})}havingBaseSizing(){var e;switch(this.style.id){case 4:case 5:e=3;break;case 6:case 7:e=1;break;default:e=6}return this.extend({style:this.style.text(),size:e})}withColor(e){return this.extend({color:e})}withPhantom(){return this.extend({phantom:!0})}withFont(e){return this.extend({font:e})}withTextFontFamily(e){return this.extend({fontFamily:e,font:""})}withTextFontWeight(e){return this.extend({fontWeight:e,font:""})}withTextFontShape(e){return this.extend({fontShape:e,font:""})}sizingClasses(e){return e.size!==this.size?["sizing","reset-size"+e.size,"size"+this.size]:[]}baseSizingClasses(){return this.size!==as.BASESIZE?["sizing","reset-size"+this.size,"size"+as.BASESIZE]:[]}fontMetrics(){return this._fontMetrics||(this._fontMetrics=eC(this.size)),this._fontMetrics}getColor(){return this.phantom?"transparent":this.color}}as.BASESIZE=6;var Ex=function(e){return new as({style:e.displayMode?Xe.DISPLAY:Xe.TEXT,maxSize:e.maxSize,minRuleThickness:e.minRuleThickness})},Nx=function(e,t){if(t.displayMode){var a=["katex-display"];t.leqno&&a.push("leqno"),t.fleqn&&a.push("fleqn"),e=ue(a,[e])}return e},vC=function(e,t,a){var s=Ex(a),o;if(a.output==="mathml")return D2(e,t,s,a.displayMode,!0);if(a.output==="html"){var l=og(e,s);o=ue(["katex"],[l])}else{var u=D2(e,t,s,a.displayMode,!1),d=og(e,s);o=ue(["katex"],[u,d])}return Nx(o,a)},bC=function(e,t,a){var s=Ex(a),o=og(e,s),l=ue(["katex"],[o]);return Nx(l,a)},xC={widehat:"^",widecheck:"ˇ",widetilde:"~",utilde:"~",overleftarrow:"←",underleftarrow:"←",xleftarrow:"←",overrightarrow:"→",underrightarrow:"→",xrightarrow:"→",underbrace:"⏟",overbrace:"⏞",underbracket:"⎵",overbracket:"⎴",overgroup:"⏠",undergroup:"⏡",overleftrightarrow:"↔",underleftrightarrow:"↔",xleftrightarrow:"↔",Overrightarrow:"⇒",xRightarrow:"⇒",overleftharpoon:"↼",xleftharpoonup:"↼",overrightharpoon:"⇀",xrightharpoonup:"⇀",xLeftarrow:"⇐",xLeftrightarrow:"⇔",xhookleftarrow:"↩",xhookrightarrow:"↪",xmapsto:"↦",xrightharpoondown:"⇁",xleftharpoondown:"↽",xrightleftharpoons:"⇌",xleftrightharpoons:"⇋",xtwoheadleftarrow:"↞",xtwoheadrightarrow:"↠",xlongequal:"=",xtofrom:"⇄",xrightleftarrows:"⇄",xrightequilibrium:"⇌",xleftequilibrium:"⇋","\\cdrightarrow":"→","\\cdleftarrow":"←","\\cdlongequal":"="},G0=function(e){var t=new pe("mo",[new hn(xC[e.replace(/^\\/,"")])]);return t.setAttribute("stretchy","true"),t},wC={overrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],overleftarrow:[["leftarrow"],.888,522,"xMinYMin"],underrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],underleftarrow:[["leftarrow"],.888,522,"xMinYMin"],xrightarrow:[["rightarrow"],1.469,522,"xMaxYMin"],"\\cdrightarrow":[["rightarrow"],3,522,"xMaxYMin"],xleftarrow:[["leftarrow"],1.469,522,"xMinYMin"],"\\cdleftarrow":[["leftarrow"],3,522,"xMinYMin"],Overrightarrow:[["doublerightarrow"],.888,560,"xMaxYMin"],xRightarrow:[["doublerightarrow"],1.526,560,"xMaxYMin"],xLeftarrow:[["doubleleftarrow"],1.526,560,"xMinYMin"],overleftharpoon:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoonup:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoondown:[["leftharpoondown"],.888,522,"xMinYMin"],overrightharpoon:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoonup:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoondown:[["rightharpoondown"],.888,522,"xMaxYMin"],xlongequal:[["longequal"],.888,334,"xMinYMin"],"\\cdlongequal":[["longequal"],3,334,"xMinYMin"],xtwoheadleftarrow:[["twoheadleftarrow"],.888,334,"xMinYMin"],xtwoheadrightarrow:[["twoheadrightarrow"],.888,334,"xMaxYMin"],overleftrightarrow:[["leftarrow","rightarrow"],.888,522],overbrace:[["leftbrace","midbrace","rightbrace"],1.6,548],underbrace:[["leftbraceunder","midbraceunder","rightbraceunder"],1.6,548],underleftrightarrow:[["leftarrow","rightarrow"],.888,522],xleftrightarrow:[["leftarrow","rightarrow"],1.75,522],xLeftrightarrow:[["doubleleftarrow","doublerightarrow"],1.75,560],xrightleftharpoons:[["leftharpoondownplus","rightharpoonplus"],1.75,716],xleftrightharpoons:[["leftharpoonplus","rightharpoondownplus"],1.75,716],xhookleftarrow:[["leftarrow","righthook"],1.08,522],xhookrightarrow:[["lefthook","rightarrow"],1.08,522],overlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],underlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],overbracket:[["leftbracketover","rightbracketover"],1.6,440],underbracket:[["leftbracketunder","rightbracketunder"],1.6,410],overgroup:[["leftgroup","rightgroup"],.888,342],undergroup:[["leftgroupunder","rightgroupunder"],.888,342],xmapsto:[["leftmapsto","rightarrow"],1.5,522],xtofrom:[["leftToFrom","rightToFrom"],1.75,528],xrightleftarrows:[["baraboveleftarrow","rightarrowabovebar"],1.75,901],xrightequilibrium:[["baraboveshortleftharpoon","rightharpoonaboveshortbar"],1.75,716],xleftequilibrium:[["shortbaraboveleftharpoon","shortrightharpoonabovebar"],1.75,716]},kC=new Set(["widehat","widecheck","widetilde","utilde"]),q0=function(e,t){function a(){var u=4e5,d=e.label.slice(1);if(kC.has(d)&&"base"in e){var h=e.base.type==="ordgroup"?e.base.body.length:1,m,p,b;if(h>5)d==="widehat"||d==="widecheck"?(m=420,u=2364,b=.42,p=d+"4"):(m=312,u=2340,b=.34,p="tilde4");else{var x=[1,1,2,2,3,3][h];d==="widehat"||d==="widecheck"?(u=[0,1062,2364,2364,2364][x],m=[0,239,300,360,420][x],b=[0,.24,.3,.3,.36,.42][x],p=d+x):(u=[0,600,1033,2339,2340][x],m=[0,260,286,306,312][x],b=[0,.26,.286,.3,.306,.34][x],p="tilde"+x)}var k=new ri(p),_=new ds([k],{width:"100%",height:ve(b),viewBox:"0 0 "+u+" "+m,preserveAspectRatio:"none"});return{span:si([],[_],t),minWidth:0,height:b}}else{var T=[],N=wC[d];if(!N)throw new Error('No SVG data for "'+d+'".');var[E,L,B]=N,j=B/1e3,q=E.length,K,te;if(q===1){if(N.length!==4)throw new Error('Expected 4-tuple for single-path SVG data "'+d+'".');K=["hide-tail"],te=[N[3]]}else if(q===2)K=["halfarrow-left","halfarrow-right"],te=["xMinYMin","xMaxYMin"];else if(q===3)K=["brace-left","brace-center","brace-right"],te=["xMinYMin","xMidYMin","xMaxYMin"];else throw new Error(`Correct katexImagesData or update code here to support
|
|
282
|
-
`+q+" children.");for(var J=0;J<q;J++){var be=new ri(E[J]),Le=new ds([be],{width:"400em",height:ve(j),viewBox:"0 0 "+u+" "+B,preserveAspectRatio:te[J]+" slice"}),fe=si([K[J]],[Le],t);if(q===1)return{span:fe,minWidth:L,height:j};fe.style.height=ve(j),T.push(fe)}return{span:ue(["stretchy"],T,t),minWidth:L,height:j}}}var{span:s,minWidth:o,height:l}=a();return s.height=l,s.style.height=ve(l),o>0&&(s.style.minWidth=ve(o)),s},SC=function(e,t,a,s,o){var l,u=e.height+e.depth+a+s;if(/fbox|color|angl/.test(t)){if(l=ue(["stretchy",t],[],o),t==="fbox"){var d=o.color&&o.getColor();d&&(l.style.borderColor=d)}}else{var h=[];/^[bx]cancel$/.test(t)&&h.push(new Xp({x1:"0",y1:"0",x2:"100%",y2:"100%","stroke-width":"0.046em"})),/^x?cancel$/.test(t)&&h.push(new Xp({x1:"0",y1:"100%",x2:"100%",y2:"0","stroke-width":"0.046em"}));var m=new ds(h,{width:"100%",height:ve(u)});l=si([],[m],o)}return l.height=u,l.style.height=ve(u),l},_C={bin:1,close:1,inner:1,open:1,punct:1,rel:1},CC={"accent-token":1,mathord:1,"op-token":1,spacing:1,textord:1};function TC(n){return n in _C}function at(n,e){if(!n||n.type!==e)throw new Error("Expected node of type "+e+", but got "+(n?"node of type "+n.type:String(n)));return n}function V0(n){var e=W0(n);if(!e)throw new Error("Expected node of symbol group type, but got "+(n?"node of type "+n.type:String(n)));return e}function W0(n){return n&&(n.type==="atom"||CC.hasOwnProperty(n.type))?n:null}var Mx=n=>{if(n instanceof xa)return n;if(Q9(n)&&n.children.length===1)return Mx(n.children[0])},l1=(n,e)=>{var t,a,s;n&&n.type==="supsub"?(a=at(n.base,"accent"),t=a.base,n.base=t,s=X9(Tt(n,e)),n.base=a):(a=at(n,"accent"),t=a.base);var o=Tt(t,e.havingCrampedStyle()),l=a.isShifty&&fs(t),u=0;if(l){var d,h;u=(d=(h=Mx(o))==null?void 0:h.skew)!=null?d:0}var m=a.label==="\\c",p=m?o.height+o.depth:Math.min(o.height,e.fontMetrics().xHeight),b;if(a.isStretchy)b=q0(a,e),b=Ct({positionType:"firstBaseline",children:[{type:"elem",elem:o},{type:"elem",elem:b,wrapperClasses:["svg-align"],wrapperStyle:u>0?{width:"calc(100% - "+ve(2*u)+")",marginLeft:ve(2*u)}:void 0}]});else{var x,k;a.label==="\\vec"?(x=Sx("vec",e),k=kx.vec[1]):(x=F0({mode:a.mode,text:a.label},e,"textord"),x=Z9(x),x.italic=0,k=x.width,m&&(p+=x.depth)),b=ue(["accent-body"],[x]);var _=a.label==="\\textcircled";_&&(b.classes.push("accent-full"),p=o.height);var T=u;_||(T-=k/2),b.style.left=ve(T),a.label==="\\textcircled"&&(b.style.top=".2em"),b=Ct({positionType:"firstBaseline",children:[{type:"elem",elem:o},{type:"kern",size:-p},{type:"elem",elem:b}]})}var N=ue(["mord","accent"],[b],e);return s?(s.children[0]=N,s.height=Math.max(N.height,s.height),s.classes[0]="mord",s):N},Rx=(n,e)=>{var t=n.isStretchy?G0(n.label):new pe("mo",[qa(n.label,n.mode)]),a=new pe("mover",[Pt(n.base,e),t]);return a.setAttribute("accent","true"),a},AC=new RegExp(["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring"].map(n=>"\\"+n).join("|"));we({type:"accent",names:["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring","\\widecheck","\\widehat","\\widetilde","\\overrightarrow","\\overleftarrow","\\Overrightarrow","\\overleftrightarrow","\\overgroup","\\overlinesegment","\\overleftharpoon","\\overrightharpoon"],props:{numArgs:1},handler:(n,e)=>{var t=k0(e[0]),a=!AC.test(n.funcName),s=!a||n.funcName==="\\widehat"||n.funcName==="\\widetilde"||n.funcName==="\\widecheck";return{type:"accent",mode:n.parser.mode,label:n.funcName,isStretchy:a,isShifty:s,base:t}},htmlBuilder:l1,mathmlBuilder:Rx});we({type:"accent",names:["\\'","\\`","\\^","\\~","\\=","\\u","\\.",'\\"',"\\c","\\r","\\H","\\v","\\textcircled"],props:{numArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["primitive"]},handler:(n,e)=>{var t=e[0],a=n.parser.mode;return a==="math"&&(n.parser.settings.reportNonstrict("mathVsTextAccents","LaTeX's accent "+n.funcName+" works only in text mode"),a="text"),{type:"accent",mode:a,label:n.funcName,isStretchy:!1,isShifty:!0,base:t}},htmlBuilder:l1,mathmlBuilder:Rx});we({type:"accentUnder",names:["\\underleftarrow","\\underrightarrow","\\underleftrightarrow","\\undergroup","\\underlinesegment","\\utilde"],props:{numArgs:1},handler:(n,e)=>{var{parser:t,funcName:a}=n,s=e[0];return{type:"accentUnder",mode:t.mode,label:a,base:s}},htmlBuilder:(n,e)=>{var t=Tt(n.base,e),a=q0(n,e),s=n.label==="\\utilde"?.12:0,o=Ct({positionType:"top",positionData:t.height,children:[{type:"elem",elem:a,wrapperClasses:["svg-align"]},{type:"kern",size:s},{type:"elem",elem:t}]});return ue(["mord","accentunder"],[o],e)},mathmlBuilder:(n,e)=>{var t=G0(n.label),a=new pe("munder",[Pt(n.base,e),t]);return a.setAttribute("accentunder","true"),a}});var Dd=n=>{var e=new pe("mpadded",n?[n]:[]);return e.setAttribute("width","+0.6em"),e.setAttribute("lspace","0.3em"),e};we({type:"xArrow",names:["\\xleftarrow","\\xrightarrow","\\xLeftarrow","\\xRightarrow","\\xleftrightarrow","\\xLeftrightarrow","\\xhookleftarrow","\\xhookrightarrow","\\xmapsto","\\xrightharpoondown","\\xrightharpoonup","\\xleftharpoondown","\\xleftharpoonup","\\xrightleftharpoons","\\xleftrightharpoons","\\xlongequal","\\xtwoheadrightarrow","\\xtwoheadleftarrow","\\xtofrom","\\xrightleftarrows","\\xrightequilibrium","\\xleftequilibrium","\\\\cdrightarrow","\\\\cdleftarrow","\\\\cdlongequal"],props:{numArgs:1,numOptionalArgs:1},handler(n,e,t){var{parser:a,funcName:s}=n;return{type:"xArrow",mode:a.mode,label:s,body:e[0],below:t[0]}},htmlBuilder(n,e){var t=e.style,a=e.havingStyle(t.sup()),s=ol(Tt(n.body,a,e),e),o=n.label.slice(0,2)==="\\x"?"x":"cd";s.classes.push(o+"-arrow-pad");var l;n.below&&(a=e.havingStyle(t.sub()),l=ol(Tt(n.below,a,e),e),l.classes.push(o+"-arrow-pad"));var u=q0(n,e),d=-e.fontMetrics().axisHeight+.5*u.height,h=-e.fontMetrics().axisHeight-.5*u.height-.111;(s.depth>.25||n.label==="\\xleftequilibrium")&&(h-=s.depth);var m;if(l){var p=-e.fontMetrics().axisHeight+l.height+.5*u.height+.111;m=Ct({positionType:"individualShift",children:[{type:"elem",elem:s,shift:h},{type:"elem",elem:u,shift:d,wrapperClasses:["svg-align"]},{type:"elem",elem:l,shift:p}]})}else m=Ct({positionType:"individualShift",children:[{type:"elem",elem:s,shift:h},{type:"elem",elem:u,shift:d,wrapperClasses:["svg-align"]}]});return ue(["mrel","x-arrow"],[m],e)},mathmlBuilder(n,e){var t=G0(n.label);t.setAttribute("minsize",n.label.charAt(0)==="x"?"1.75em":"3.0em");var a;if(n.body){var s=Dd(Pt(n.body,e));if(n.below){var o=Dd(Pt(n.below,e));a=new pe("munderover",[t,o,s])}else a=new pe("mover",[t,s])}else if(n.below){var l=Dd(Pt(n.below,e));a=new pe("munder",[t,l])}else a=Dd(),a=new pe("mover",[t,a]);return a}});function Dx(n,e){var t=kn(n.body,e,!0);return ue([n.mclass],t,e)}function Ox(n,e){var t,a=Sa(n.body,e);return n.mclass==="minner"?t=new pe("mpadded",a):n.mclass==="mord"?n.isCharacterBox?(t=a[0],t.type="mi"):t=new pe("mi",a):(n.isCharacterBox?(t=a[0],t.type="mo"):t=new pe("mo",a),n.mclass==="mbin"?(t.attributes.lspace="0.22em",t.attributes.rspace="0.22em"):n.mclass==="mpunct"?(t.attributes.lspace="0em",t.attributes.rspace="0.17em"):n.mclass==="mopen"||n.mclass==="mclose"?(t.attributes.lspace="0em",t.attributes.rspace="0em"):n.mclass==="minner"&&(t.attributes.lspace="0.0556em",t.attributes.width="+0.1111em")),t}we({type:"mclass",names:["\\mathord","\\mathbin","\\mathrel","\\mathopen","\\mathclose","\\mathpunct","\\mathinner"],props:{numArgs:1,primitive:!0},handler(n,e){var{parser:t,funcName:a}=n,s=e[0];return{type:"mclass",mode:t.mode,mclass:"m"+a.slice(5),body:fn(s),isCharacterBox:fs(s)}},htmlBuilder:Dx,mathmlBuilder:Ox});var K0=n=>{var e=n.type==="ordgroup"&&n.body.length?n.body[0]:n;return e.type==="atom"&&(e.family==="bin"||e.family==="rel")?"m"+e.family:"mord"};we({type:"mclass",names:["\\@binrel"],props:{numArgs:2},handler(n,e){var{parser:t}=n;return{type:"mclass",mode:t.mode,mclass:K0(e[0]),body:fn(e[1]),isCharacterBox:fs(e[1])}}});we({type:"mclass",names:["\\stackrel","\\overset","\\underset"],props:{numArgs:2},handler(n,e){var{parser:t,funcName:a}=n,s=e[1],o=e[0],l;a!=="\\stackrel"?l=K0(s):l="mrel";var u={type:"op",mode:s.mode,limits:!0,alwaysHandleSupSub:!0,parentIsSupSub:!1,symbol:!1,suppressBaseShift:a!=="\\stackrel",body:fn(s)},d={type:"supsub",mode:o.mode,base:u,sup:a==="\\underset"?null:o,sub:a==="\\underset"?o:null};return{type:"mclass",mode:t.mode,mclass:l,body:[d],isCharacterBox:fs(d)}},htmlBuilder:Dx,mathmlBuilder:Ox});we({type:"pmb",names:["\\pmb"],props:{numArgs:1,allowedInText:!0},handler(n,e){var{parser:t}=n;return{type:"pmb",mode:t.mode,mclass:K0(e[0]),body:fn(e[0])}},htmlBuilder(n,e){var t=kn(n.body,e,!0),a=ue([n.mclass],t,e);return a.style.textShadow="0.02em 0.01em 0.04px",a},mathmlBuilder(n,e){var t=Sa(n.body,e),a=new pe("mstyle",t);return a.setAttribute("style","text-shadow: 0.02em 0.01em 0.04px"),a}});var EC={">":"\\\\cdrightarrow","<":"\\\\cdleftarrow","=":"\\\\cdlongequal",A:"\\uparrow",V:"\\downarrow","|":"\\Vert",".":"no arrow"},B2=()=>({type:"styling",body:[],mode:"math",style:"display",resetFont:!0}),j2=n=>n.type==="textord"&&n.text==="@",NC=(n,e)=>(n.type==="mathord"||n.type==="atom")&&n.text===e;function MC(n,e,t){var a=EC[n];switch(a){case"\\\\cdrightarrow":case"\\\\cdleftarrow":return t.callFunction(a,[e[0]],[e[1]]);case"\\uparrow":case"\\downarrow":{var s=t.callFunction("\\\\cdleft",[e[0]],[]),o={type:"atom",text:a,mode:"math",family:"rel"},l=t.callFunction("\\Big",[o],[]),u=t.callFunction("\\\\cdright",[e[1]],[]),d={type:"ordgroup",mode:"math",body:[s,l,u]};return t.callFunction("\\\\cdparent",[d],[])}case"\\\\cdlongequal":return t.callFunction("\\\\cdlongequal",[],[]);case"\\Vert":{var h={type:"textord",text:"\\Vert",mode:"math"};return t.callFunction("\\Big",[h],[])}default:return{type:"textord",text:" ",mode:"math"}}}function RC(n){var e=[];for(n.gullet.beginGroup(),n.gullet.macros.set("\\cr","\\\\\\relax"),n.gullet.beginGroup();;){e.push(n.parseExpression(!1,"\\\\")),n.gullet.endGroup(),n.gullet.beginGroup();var t=n.fetch().text;if(t==="&"||t==="\\\\")n.consume();else if(t==="\\end"){e[e.length-1].length===0&&e.pop();break}else throw new me("Expected \\\\ or \\cr or \\end",n.nextToken)}for(var a=[],s=[a],o=0;o<e.length;o++){for(var l=e[o],u=B2(),d=0;d<l.length;d++)if(!j2(l[d]))u.body.push(l[d]);else{a.push(u),d+=1;var h=V0(l[d]).text,m=new Array(2);if(m[0]={type:"ordgroup",mode:"math",body:[]},m[1]={type:"ordgroup",mode:"math",body:[]},!"=|.".includes(h))if("<>AV".includes(h))for(var p=0;p<2;p++){for(var b=!0,x=d+1;x<l.length;x++){if(NC(l[x],h)){b=!1,d=x;break}if(j2(l[x]))throw new me("Missing a "+h+" character to complete a CD arrow.",l[x]);m[p].body.push(l[x])}if(b)throw new me("Missing a "+h+" character to complete a CD arrow.",l[d])}else throw new me('Expected one of "<>AV=|." after @',l[d]);var k=MC(h,m,n),_={type:"styling",body:[k],mode:"math",style:"display",resetFont:!0};a.push(_),u=B2()}o%2===0?a.push(u):a.shift(),a=[],s.push(a)}n.gullet.endGroup(),n.gullet.endGroup();var T=new Array(s[0].length).fill({type:"align",align:"c",pregap:.25,postgap:.25});return{type:"array",mode:"math",body:s,arraystretch:1,addJot:!0,rowGaps:[null],cols:T,colSeparationType:"CD",hLinesBeforeRow:new Array(s.length+1).fill([])}}we({type:"cdlabel",names:["\\\\cdleft","\\\\cdright"],props:{numArgs:1},handler(n,e){var{parser:t,funcName:a}=n;return{type:"cdlabel",mode:t.mode,side:a.slice(4),label:e[0]}},htmlBuilder(n,e){var t=e.havingStyle(e.style.sup()),a=ol(Tt(n.label,t,e),e);return a.classes.push("cd-label-"+n.side),a.style.bottom=ve(.8-a.depth),a.height=0,a.depth=0,a},mathmlBuilder(n,e){var t=new pe("mrow",[Pt(n.label,e)]);return t=new pe("mpadded",[t]),t.setAttribute("width","0"),n.side==="left"&&t.setAttribute("lspace","-1width"),t.setAttribute("voffset","0.7em"),t=new pe("mstyle",[t]),t.setAttribute("displaystyle","false"),t.setAttribute("scriptlevel","1"),t}});we({type:"cdlabelparent",names:["\\\\cdparent"],props:{numArgs:1},handler(n,e){var{parser:t}=n;return{type:"cdlabelparent",mode:t.mode,fragment:e[0]}},htmlBuilder(n,e){var t=ol(Tt(n.fragment,e),e);return t.classes.push("cd-vert-arrow"),t},mathmlBuilder(n,e){return new pe("mrow",[Pt(n.fragment,e)])}});we({type:"textord",names:["\\@char"],props:{numArgs:1,allowedInText:!0},handler(n,e){for(var{parser:t}=n,a=at(e[0],"ordgroup"),s=a.body,o="",l=0;l<s.length;l++){var u=at(s[l],"textord");o+=u.text}var d=parseInt(o),h;if(isNaN(d))throw new me("\\@char has non-numeric argument "+o);if(d<0||d>=1114111)throw new me("\\@char with invalid code point "+o);return d<=65535?h=String.fromCharCode(d):(d-=65536,h=String.fromCharCode((d>>10)+55296,(d&1023)+56320)),{type:"textord",mode:t.mode,text:h}}});var Lx=(n,e)=>{var t=kn(n.body,e.withColor(n.color),!1);return ms(t)},Bx=(n,e)=>{var t=Sa(n.body,e.withColor(n.color)),a=new pe("mstyle",t);return a.setAttribute("mathcolor",n.color),a};we({type:"color",names:["\\textcolor"],props:{numArgs:2,allowedInText:!0,argTypes:["color","original"]},handler(n,e){var{parser:t}=n,a=at(e[0],"color-token").color,s=e[1];return{type:"color",mode:t.mode,color:a,body:fn(s)}},htmlBuilder:Lx,mathmlBuilder:Bx});we({type:"color",names:["\\color"],props:{numArgs:1,allowedInText:!0,argTypes:["color"]},handler(n,e){var{parser:t,breakOnTokenText:a}=n,s=at(e[0],"color-token").color;t.gullet.macros.set("\\current@color",s);var o=t.parseExpression(!0,a);return{type:"color",mode:t.mode,color:s,body:o}},htmlBuilder:Lx,mathmlBuilder:Bx});we({type:"cr",names:["\\\\"],props:{numArgs:0,numOptionalArgs:0,allowedInText:!0},handler(n,e,t){var{parser:a}=n,s=a.gullet.future().text==="["?a.parseSizeGroup(!0):null,o=!a.settings.displayMode||!a.settings.useStrictBehavior("newLineInDisplayMode","In LaTeX, \\\\ or \\newline does nothing in display mode");return{type:"cr",mode:a.mode,newLine:o,size:s&&at(s,"size").value}},htmlBuilder(n,e){var t=ue(["mspace"],[],e);return n.newLine&&(t.classes.push("newline"),n.size&&(t.style.marginTop=ve(Kt(n.size,e)))),t},mathmlBuilder(n,e){var t=new pe("mspace");return n.newLine&&(t.setAttribute("linebreak","newline"),n.size&&t.setAttribute("height",ve(Kt(n.size,e)))),t}});var lg={"\\global":"\\global","\\long":"\\\\globallong","\\\\globallong":"\\\\globallong","\\def":"\\gdef","\\gdef":"\\gdef","\\edef":"\\xdef","\\xdef":"\\xdef","\\let":"\\\\globallet","\\futurelet":"\\\\globalfuture"},jx=n=>{var e=n.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(e))throw new me("Expected a control sequence",n);return e},DC=n=>{var e=n.gullet.popToken();return e.text==="="&&(e=n.gullet.popToken(),e.text===" "&&(e=n.gullet.popToken())),e},Px=(n,e,t,a)=>{var s=n.gullet.macros.get(t.text);s==null&&(t.noexpand=!0,s={tokens:[t],numArgs:0,unexpandable:!n.gullet.isExpandable(t.text)}),n.gullet.macros.set(e,s,a)};we({type:"internal",names:["\\global","\\long","\\\\globallong"],props:{numArgs:0,allowedInText:!0},handler(n){var{parser:e,funcName:t}=n;e.consumeSpaces();var a=e.fetch();if(lg[a.text])return(t==="\\global"||t==="\\\\globallong")&&(a.text=lg[a.text]),at(e.parseFunction(),"internal");throw new me("Invalid token after macro prefix",a)}});we({type:"internal",names:["\\def","\\gdef","\\edef","\\xdef"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(n){var{parser:e,funcName:t}=n,a=e.gullet.popToken(),s=a.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(s))throw new me("Expected a control sequence",a);for(var o=0,l,u=[[]];e.gullet.future().text!=="{";)if(a=e.gullet.popToken(),a.text==="#"){if(e.gullet.future().text==="{"){l=e.gullet.future(),u[o].push("{");break}if(a=e.gullet.popToken(),!/^[1-9]$/.test(a.text))throw new me('Invalid argument number "'+a.text+'"');if(parseInt(a.text)!==o+1)throw new me('Argument number "'+a.text+'" out of order');o++,u.push([])}else{if(a.text==="EOF")throw new me("Expected a macro definition");u[o].push(a.text)}var{tokens:d}=e.gullet.consumeArg();return l&&d.unshift(l),(t==="\\edef"||t==="\\xdef")&&(d=e.gullet.expandTokens(d),d.reverse()),e.gullet.macros.set(s,{tokens:d,numArgs:o,delimiters:u},t===lg[t]),{type:"internal",mode:e.mode}}});we({type:"internal",names:["\\let","\\\\globallet"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(n){var{parser:e,funcName:t}=n,a=jx(e.gullet.popToken());e.gullet.consumeSpaces();var s=DC(e);return Px(e,a,s,t==="\\\\globallet"),{type:"internal",mode:e.mode}}});we({type:"internal",names:["\\futurelet","\\\\globalfuture"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(n){var{parser:e,funcName:t}=n,a=jx(e.gullet.popToken()),s=e.gullet.popToken(),o=e.gullet.popToken();return Px(e,a,o,t==="\\\\globalfuture"),e.gullet.pushToken(o),e.gullet.pushToken(s),{type:"internal",mode:e.mode}}});var kc=function(e,t,a){var s=Gt.math[e]&&Gt.math[e].replace,o=a1(s||e,t,a);if(!o)throw new Error("Unsupported symbol "+e+" and font size "+t+".");return o},c1=function(e,t,a,s){var o=a.havingBaseStyle(t),l=ue(s.concat(o.sizingClasses(a)),[e],a),u=o.sizeMultiplier/a.sizeMultiplier;return l.height*=u,l.depth*=u,l.maxFontSize=o.sizeMultiplier,l},Ix=function(e,t,a){var s=t.havingBaseStyle(a),o=(1-t.sizeMultiplier/s.sizeMultiplier)*t.fontMetrics().axisHeight;e.classes.push("delimcenter"),e.style.top=ve(o),e.height-=o,e.depth+=o},OC=function(e,t,a,s,o,l){var u=Xn(e,"Main-Regular",o,s),d=c1(u,t,s,l);return Ix(d,s,t),d},LC=function(e,t,a,s){return Xn(e,"Size"+t+"-Regular",a,s)},zx=function(e,t,a,s,o,l){var u=LC(e,t,o,s),d=c1(ue(["delimsizing","size"+t],[u],s),Xe.TEXT,s,l);return a&&Ix(d,s,Xe.TEXT),d},Um=function(e,t,a){var s;t==="Size1-Regular"?s="delim-size1":s="delim-size4";var o=ue(["delimsizinginner",s],[ue([],[Xn(e,t,a)])]);return{type:"elem",elem:o}},Fm=function(e,t,a){var s=br["Size4-Regular"][e.charCodeAt(0)]?br["Size4-Regular"][e.charCodeAt(0)][4]:br["Size1-Regular"][e.charCodeAt(0)][4],o=new ri("inner",F9(e,Math.round(1e3*t))),l=new ds([o],{width:ve(s),height:ve(t),style:"width:"+ve(s),viewBox:"0 0 "+1e3*s+" "+Math.round(1e3*t),preserveAspectRatio:"xMinYMin"}),u=si([],[l],a);return u.height=t,u.style.height=ve(t),u.style.width=ve(s),{type:"elem",elem:u}},cg=.008,Od={type:"kern",size:-1*cg},BC=new Set(["|","\\lvert","\\rvert","\\vert"]),jC=new Set(["\\|","\\lVert","\\rVert","\\Vert"]),$x=function(e,t,a,s,o,l){var u,d,h,m,p="",b=0;u=h=m=e,d=null;var x="Size1-Regular";e==="\\uparrow"?h=m="⏐":e==="\\Uparrow"?h=m="‖":e==="\\downarrow"?u=h="⏐":e==="\\Downarrow"?u=h="‖":e==="\\updownarrow"?(u="\\uparrow",h="⏐",m="\\downarrow"):e==="\\Updownarrow"?(u="\\Uparrow",h="‖",m="\\Downarrow"):BC.has(e)?(h="∣",p="vert",b=333):jC.has(e)?(h="∥",p="doublevert",b=556):e==="["||e==="\\lbrack"?(u="⎡",h="⎢",m="⎣",x="Size4-Regular",p="lbrack",b=667):e==="]"||e==="\\rbrack"?(u="⎤",h="⎥",m="⎦",x="Size4-Regular",p="rbrack",b=667):e==="\\lfloor"||e==="⌊"?(h=u="⎢",m="⎣",x="Size4-Regular",p="lfloor",b=667):e==="\\lceil"||e==="⌈"?(u="⎡",h=m="⎢",x="Size4-Regular",p="lceil",b=667):e==="\\rfloor"||e==="⌋"?(h=u="⎥",m="⎦",x="Size4-Regular",p="rfloor",b=667):e==="\\rceil"||e==="⌉"?(u="⎤",h=m="⎥",x="Size4-Regular",p="rceil",b=667):e==="("||e==="\\lparen"?(u="⎛",h="⎜",m="⎝",x="Size4-Regular",p="lparen",b=875):e===")"||e==="\\rparen"?(u="⎞",h="⎟",m="⎠",x="Size4-Regular",p="rparen",b=875):e==="\\{"||e==="\\lbrace"?(u="⎧",d="⎨",m="⎩",h="⎪",x="Size4-Regular"):e==="\\}"||e==="\\rbrace"?(u="⎫",d="⎬",m="⎭",h="⎪",x="Size4-Regular"):e==="\\lgroup"||e==="⟮"?(u="⎧",m="⎩",h="⎪",x="Size4-Regular"):e==="\\rgroup"||e==="⟯"?(u="⎫",m="⎭",h="⎪",x="Size4-Regular"):e==="\\lmoustache"||e==="⎰"?(u="⎧",m="⎭",h="⎪",x="Size4-Regular"):(e==="\\rmoustache"||e==="⎱")&&(u="⎫",m="⎩",h="⎪",x="Size4-Regular");var k=kc(u,x,o),_=k.height+k.depth,T=kc(h,x,o),N=T.height+T.depth,E=kc(m,x,o),L=E.height+E.depth,B=0,j=1;if(d!==null){var q=kc(d,x,o);B=q.height+q.depth,j=2}var K=_+L+B,te=Math.max(0,Math.ceil((t-K)/(j*N))),J=K+te*j*N,be=s.fontMetrics().axisHeight;a&&(be*=s.sizeMultiplier);var Le=J/2-be,fe=[];if(p.length>0){var se=J-_-L,ge=Math.round(J*1e3),xe=G9(p,Math.round(se*1e3)),G=new ri(p,xe),le=ve(b/1e3),re=ve(ge/1e3),Qe=new ds([G],{width:le,height:re,viewBox:"0 0 "+b+" "+ge}),Ge=si([],[Qe],s);Ge.height=ge/1e3,Ge.style.width=le,Ge.style.height=re,fe.push({type:"elem",elem:Ge})}else{if(fe.push(Um(m,x,o)),fe.push(Od),d===null){var qe=J-_-L+2*cg;fe.push(Fm(h,qe,s))}else{var Ie=(J-_-L-B)/2+2*cg;fe.push(Fm(h,Ie,s)),fe.push(Od),fe.push(Um(d,x,o)),fe.push(Od),fe.push(Fm(h,Ie,s))}fe.push(Od),fe.push(Um(u,x,o))}var Me=s.havingBaseStyle(Xe.TEXT),mt=Ct({positionType:"bottom",positionData:Le,children:fe});return c1(ue(["delimsizing","mult"],[mt],Me),Xe.TEXT,s,l)},Gm=80,qm=.08,Vm=function(e,t,a,s,o){var l=U9(e,s,a),u=new ri(e,l),d=new ds([u],{width:"400em",height:ve(t),viewBox:"0 0 400000 "+a,preserveAspectRatio:"xMinYMin slice"});return si(["hide-tail"],[d],o)},PC=function(e,t){var a=t.havingBaseSizing(),s=qx("\\surd",e*a.sizeMultiplier,Gx,a),o=a.sizeMultiplier,l=Math.max(0,t.minRuleThickness-t.fontMetrics().sqrtRuleThickness),u,d,h,m,p;return s.type==="small"?(m=1e3+1e3*l+Gm,e<1?o=1:e<1.4&&(o=.7),d=(1+l+qm)/o,h=(1+l)/o,u=Vm("sqrtMain",d,m,l,t),u.style.minWidth="0.853em",p=.833/o):s.type==="large"?(m=(1e3+Gm)*Dc[s.size],h=(Dc[s.size]+l)/o,d=(Dc[s.size]+l+qm)/o,u=Vm("sqrtSize"+s.size,d,m,l,t),u.style.minWidth="1.02em",p=1/o):(d=e+l+qm,h=e+l,m=Math.floor(1e3*e+l)+Gm,u=Vm("sqrtTall",d,m,l,t),u.style.minWidth="0.742em",p=1.056),u.height=h,u.style.height=ve(d),{span:u,advanceWidth:p,ruleWidth:(t.fontMetrics().sqrtRuleThickness+l)*o}},Hx=new Set(["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","⌊","⌋","\\lceil","\\rceil","⌈","⌉","\\surd"]),IC=new Set(["\\uparrow","\\downarrow","\\updownarrow","\\Uparrow","\\Downarrow","\\Updownarrow","|","\\|","\\vert","\\Vert","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","⟮","⟯","\\lmoustache","\\rmoustache","⎰","⎱"]),Ux=new Set(["<",">","\\langle","\\rangle","/","\\backslash","\\lt","\\gt"]),Dc=[0,1.2,1.8,2.4,3],Fx=function(e,t,a,s,o){if(e==="<"||e==="\\lt"||e==="⟨"?e="\\langle":(e===">"||e==="\\gt"||e==="⟩")&&(e="\\rangle"),Hx.has(e)||Ux.has(e))return zx(e,t,!1,a,s,o);if(IC.has(e))return $x(e,Dc[t],!1,a,s,o);throw new me("Illegal delimiter: '"+e+"'")},zC=[{type:"small",style:Xe.SCRIPTSCRIPT},{type:"small",style:Xe.SCRIPT},{type:"small",style:Xe.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4}],$C=[{type:"small",style:Xe.SCRIPTSCRIPT},{type:"small",style:Xe.SCRIPT},{type:"small",style:Xe.TEXT},{type:"stack"}],Gx=[{type:"small",style:Xe.SCRIPTSCRIPT},{type:"small",style:Xe.SCRIPT},{type:"small",style:Xe.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4},{type:"stack"}],HC=function(e){if(e.type==="small")return"Main-Regular";if(e.type==="large")return"Size"+e.size+"-Regular";if(e.type==="stack")return"Size4-Regular";var t=e.type;throw new Error("Add support for delim type '"+t+"' here.")},qx=function(e,t,a,s){for(var o=Math.min(2,3-s.style.size),l=o;l<a.length;l++){var u=a[l];if(u.type==="stack")break;var d=kc(e,HC(u),"math"),h=d.height+d.depth;if(u.type==="small"){var m=s.havingBaseStyle(u.style);h*=m.sizeMultiplier}if(h>t)return u}return a[a.length-1]},ug=function(e,t,a,s,o,l){e==="<"||e==="\\lt"||e==="⟨"?e="\\langle":(e===">"||e==="\\gt"||e==="⟩")&&(e="\\rangle");var u;Ux.has(e)?u=zC:Hx.has(e)?u=Gx:u=$C;var d=qx(e,t,u,s);return d.type==="small"?OC(e,d.style,a,s,o,l):d.type==="large"?zx(e,d.size,a,s,o,l):$x(e,t,a,s,o,l)},Wm=function(e,t,a,s,o,l){var u=s.fontMetrics().axisHeight*s.sizeMultiplier,d=901,h=5/s.fontMetrics().ptPerEm,m=Math.max(t-u,a+u),p=Math.max(m/500*d,2*m-h);return ug(e,p,!0,s,o,l)},P2={"\\bigl":{mclass:"mopen",size:1},"\\Bigl":{mclass:"mopen",size:2},"\\biggl":{mclass:"mopen",size:3},"\\Biggl":{mclass:"mopen",size:4},"\\bigr":{mclass:"mclose",size:1},"\\Bigr":{mclass:"mclose",size:2},"\\biggr":{mclass:"mclose",size:3},"\\Biggr":{mclass:"mclose",size:4},"\\bigm":{mclass:"mrel",size:1},"\\Bigm":{mclass:"mrel",size:2},"\\biggm":{mclass:"mrel",size:3},"\\Biggm":{mclass:"mrel",size:4},"\\big":{mclass:"mord",size:1},"\\Big":{mclass:"mord",size:2},"\\bigg":{mclass:"mord",size:3},"\\Bigg":{mclass:"mord",size:4}},UC=new Set(["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","⌊","⌋","\\lceil","\\rceil","⌈","⌉","<",">","\\langle","⟨","\\rangle","⟩","\\lt","\\gt","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","⟮","⟯","\\lmoustache","\\rmoustache","⎰","⎱","/","\\backslash","|","\\vert","\\|","\\Vert","\\uparrow","\\Uparrow","\\downarrow","\\Downarrow","\\updownarrow","\\Updownarrow","."]);function I2(n){return"isMiddle"in n}function Y0(n,e){var t=W0(n);if(t&&UC.has(t.text))return t;throw t?new me("Invalid delimiter '"+t.text+"' after '"+e.funcName+"'",n):new me("Invalid delimiter type '"+n.type+"'",n)}we({type:"delimsizing",names:["\\bigl","\\Bigl","\\biggl","\\Biggl","\\bigr","\\Bigr","\\biggr","\\Biggr","\\bigm","\\Bigm","\\biggm","\\Biggm","\\big","\\Big","\\bigg","\\Bigg"],props:{numArgs:1,argTypes:["primitive"]},handler:(n,e)=>{var t=Y0(e[0],n);return{type:"delimsizing",mode:n.parser.mode,size:P2[n.funcName].size,mclass:P2[n.funcName].mclass,delim:t.text}},htmlBuilder:(n,e)=>n.delim==="."?ue([n.mclass]):Fx(n.delim,n.size,e,n.mode,[n.mclass]),mathmlBuilder:n=>{var e=[];n.delim!=="."&&e.push(qa(n.delim,n.mode));var t=new pe("mo",e);n.mclass==="mopen"||n.mclass==="mclose"?t.setAttribute("fence","true"):t.setAttribute("fence","false"),t.setAttribute("stretchy","true");var a=ve(Dc[n.size]);return t.setAttribute("minsize",a),t.setAttribute("maxsize",a),t}});function z2(n){if(!n.body)throw new Error("Bug: The leftright ParseNode wasn't fully parsed.")}we({type:"leftright-right",names:["\\right"],props:{numArgs:1,primitive:!0},handler:(n,e)=>{var t=n.parser.gullet.macros.get("\\current@color");if(t&&typeof t!="string")throw new me("\\current@color set to non-string in \\right");return{type:"leftright-right",mode:n.parser.mode,delim:Y0(e[0],n).text,color:t}}});we({type:"leftright",names:["\\left"],props:{numArgs:1,primitive:!0},handler:(n,e)=>{var t=Y0(e[0],n),a=n.parser;++a.leftrightDepth;var s=a.parseExpression(!1);--a.leftrightDepth,a.expect("\\right",!1);var o=at(a.parseFunction(),"leftright-right");return{type:"leftright",mode:a.mode,body:s,left:t.text,right:o.delim,rightColor:o.color}},htmlBuilder:(n,e)=>{z2(n);for(var t=kn(n.body,e,!0,["mopen","mclose"]),a=0,s=0,o=!1,l=0;l<t.length;l++){var u=t[l];I2(u)?o=!0:(a=Math.max(t[l].height,a),s=Math.max(t[l].depth,s))}a*=e.sizeMultiplier,s*=e.sizeMultiplier;var d;if(n.left==="."?d=Vc(e,["mopen"]):d=Wm(n.left,a,s,e,n.mode,["mopen"]),t.unshift(d),o)for(var h=1;h<t.length;h++){var m=t[h];if(I2(m)){var p=m.isMiddle;t[h]=Wm(p.delim,a,s,p.options,n.mode,[])}}var b;if(n.right===".")b=Vc(e,["mclose"]);else{var x=n.rightColor?e.withColor(n.rightColor):e;b=Wm(n.right,a,s,x,n.mode,["mclose"])}return t.push(b),ue(["minner"],t,e)},mathmlBuilder:(n,e)=>{z2(n);var t=Sa(n.body,e);if(n.left!=="."){var a=new pe("mo",[qa(n.left,n.mode)]);a.setAttribute("fence","true"),t.unshift(a)}if(n.right!=="."){var s=new pe("mo",[qa(n.right,n.mode)]);s.setAttribute("fence","true"),n.rightColor&&s.setAttribute("mathcolor",n.rightColor),t.push(s)}return i1(t)}});we({type:"middle",names:["\\middle"],props:{numArgs:1,primitive:!0},handler:(n,e)=>{var t=Y0(e[0],n);if(!n.parser.leftrightDepth)throw new me("\\middle without preceding \\left",t);return{type:"middle",mode:n.parser.mode,delim:t.text}},htmlBuilder:(n,e)=>{var t;return n.delim==="."?t=Vc(e,[]):(t=Fx(n.delim,1,e,n.mode,[]),t.isMiddle={delim:n.delim,options:e}),t},mathmlBuilder:(n,e)=>{var t=n.delim==="\\vert"||n.delim==="|"?qa("|","text"):qa(n.delim,n.mode),a=new pe("mo",[t]);return a.setAttribute("fence","true"),a.setAttribute("lspace","0.05em"),a.setAttribute("rspace","0.05em"),a}});var Z0=(n,e)=>{var t=ol(Tt(n.body,e),e),a=n.label.slice(1),s=e.sizeMultiplier,o,l,u=fs(n.body);if(a==="sout")o=ue(["stretchy","sout"]),o.height=e.fontMetrics().defaultRuleThickness/s,l=-.5*e.fontMetrics().xHeight;else if(a==="phase"){var d=Kt({number:.6,unit:"pt"},e),h=Kt({number:.35,unit:"ex"},e),m=e.havingBaseSizing();s=s/m.sizeMultiplier;var p=t.height+t.depth+d+h;t.style.paddingLeft=ve(p/2+d);var b=Math.floor(1e3*p*s),x=$9(b),k=new ds([new ri("phase",x)],{width:"400em",height:ve(b/1e3),viewBox:"0 0 400000 "+b,preserveAspectRatio:"xMinYMin slice"});o=si(["hide-tail"],[k],e),o.style.height=ve(p),l=t.depth+d+h}else{/cancel/.test(a)?u||t.classes.push("cancel-pad"):a==="angl"?t.classes.push("anglpad"):t.classes.push("boxpad");var _,T,N=0;/box/.test(a)?(N=Math.max(e.fontMetrics().fboxrule,e.minRuleThickness),_=e.fontMetrics().fboxsep+(a==="colorbox"?0:N),T=_):a==="angl"?(N=Math.max(e.fontMetrics().defaultRuleThickness,e.minRuleThickness),_=4*N,T=Math.max(0,.25-t.depth)):(_=u?.2:0,T=_),o=SC(t,a,_,T,e),/fbox|boxed|fcolorbox/.test(a)?(o.style.borderStyle="solid",o.style.borderWidth=ve(N)):a==="angl"&&N!==.049&&(o.style.borderTopWidth=ve(N),o.style.borderRightWidth=ve(N)),l=t.depth+T,n.backgroundColor&&(o.style.backgroundColor=n.backgroundColor,n.borderColor&&(o.style.borderColor=n.borderColor))}var E;if(n.backgroundColor)E=Ct({positionType:"individualShift",children:[{type:"elem",elem:o,shift:l},{type:"elem",elem:t,shift:0}]});else{var L=/cancel|phase/.test(a)?["svg-align"]:[];E=Ct({positionType:"individualShift",children:[{type:"elem",elem:t,shift:0},{type:"elem",elem:o,shift:l,wrapperClasses:L}]})}return/cancel/.test(a)&&(E.height=t.height,E.depth=t.depth),/cancel/.test(a)&&!u?ue(["mord","cancel-lap"],[E],e):ue(["mord"],[E],e)},X0=(n,e)=>{var t,a=new pe(n.label.includes("colorbox")?"mpadded":"menclose",[Pt(n.body,e)]);switch(n.label){case"\\cancel":a.setAttribute("notation","updiagonalstrike");break;case"\\bcancel":a.setAttribute("notation","downdiagonalstrike");break;case"\\phase":a.setAttribute("notation","phasorangle");break;case"\\sout":a.setAttribute("notation","horizontalstrike");break;case"\\fbox":a.setAttribute("notation","box");break;case"\\angl":a.setAttribute("notation","actuarial");break;case"\\fcolorbox":case"\\colorbox":if(t=e.fontMetrics().fboxsep*e.fontMetrics().ptPerEm,a.setAttribute("width","+"+2*t+"pt"),a.setAttribute("height","+"+2*t+"pt"),a.setAttribute("lspace",t+"pt"),a.setAttribute("voffset",t+"pt"),n.label==="\\fcolorbox"){var s=Math.max(e.fontMetrics().fboxrule,e.minRuleThickness);a.setAttribute("style","border: "+ve(s)+" solid "+n.borderColor)}break;case"\\xcancel":a.setAttribute("notation","updiagonalstrike downdiagonalstrike");break}return n.backgroundColor&&a.setAttribute("mathbackground",n.backgroundColor),a};we({type:"enclose",names:["\\colorbox"],props:{numArgs:2,allowedInText:!0,argTypes:["color","hbox"]},handler(n,e,t){var{parser:a,funcName:s}=n,o=at(e[0],"color-token").color,l=e[1];return{type:"enclose",mode:a.mode,label:s,backgroundColor:o,body:l}},htmlBuilder:Z0,mathmlBuilder:X0});we({type:"enclose",names:["\\fcolorbox"],props:{numArgs:3,allowedInText:!0,argTypes:["color","color","hbox"]},handler(n,e,t){var{parser:a,funcName:s}=n,o=at(e[0],"color-token").color,l=at(e[1],"color-token").color,u=e[2];return{type:"enclose",mode:a.mode,label:s,backgroundColor:l,borderColor:o,body:u}},htmlBuilder:Z0,mathmlBuilder:X0});we({type:"enclose",names:["\\fbox"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!0},handler(n,e){var{parser:t}=n;return{type:"enclose",mode:t.mode,label:"\\fbox",body:e[0]}}});we({type:"enclose",names:["\\cancel","\\bcancel","\\xcancel","\\phase"],props:{numArgs:1},handler(n,e){var{parser:t,funcName:a}=n,s=e[0];return{type:"enclose",mode:t.mode,label:a,body:s}},htmlBuilder:Z0,mathmlBuilder:X0});we({type:"enclose",names:["\\sout"],props:{numArgs:1,allowedInText:!0},handler(n,e){var{parser:t,funcName:a}=n;t.mode==="math"&&t.settings.reportNonstrict("mathVsSout","LaTeX's \\sout works only in text mode");var s=e[0];return{type:"enclose",mode:t.mode,label:a,body:s}},htmlBuilder:Z0,mathmlBuilder:X0});we({type:"enclose",names:["\\angl"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!1},handler(n,e){var{parser:t}=n;return{type:"enclose",mode:t.mode,label:"\\angl",body:e[0]}}});var Vx={};function _r(n){for(var{type:e,names:t,props:a,handler:s,htmlBuilder:o,mathmlBuilder:l}=n,u={type:e,numArgs:a.numArgs||0,allowedInText:!1,numOptionalArgs:0,handler:s},d=0;d<t.length;++d)Vx[t[d]]=u;o&&(x0[e]=o),l&&(w0[e]=l)}var Wx={};function R(n,e){Wx[n]=e}class oa{constructor(e,t,a){this.lexer=void 0,this.start=void 0,this.end=void 0,this.lexer=e,this.start=t,this.end=a}static range(e,t){return t?!e||!e.loc||!t.loc||e.loc.lexer!==t.loc.lexer?null:new oa(e.loc.lexer,e.loc.start,t.loc.end):e&&e.loc}}class ba{constructor(e,t){this.text=void 0,this.loc=void 0,this.noexpand=void 0,this.treatAsRelax=void 0,this.text=e,this.loc=t}range(e,t){return new ba(t,oa.range(this,e))}}function $2(n){var e=[];n.consumeSpaces();var t=n.fetch().text;for(t==="\\relax"&&(n.consume(),n.consumeSpaces(),t=n.fetch().text);t==="\\hline"||t==="\\hdashline";)n.consume(),e.push(t==="\\hdashline"),n.consumeSpaces(),t=n.fetch().text;return e}var Q0=n=>{var e=n.parser.settings;if(!e.displayMode)throw new me("{"+n.envName+"} can be used only in display mode.")},FC=new Set(["gather","gather*"]);function u1(n){if(!n.includes("ed"))return!n.includes("*")}function li(n,e,t){var{hskipBeforeAndAfter:a,addJot:s,cols:o,arraystretch:l,colSeparationType:u,autoTag:d,singleRow:h,emptySingleRow:m,maxNumCols:p,leqno:b}=e;if(n.gullet.beginGroup(),h||n.gullet.macros.set("\\cr","\\\\\\relax"),!l){var x=n.gullet.expandMacroAsText("\\arraystretch");if(x==null)l=1;else if(l=parseFloat(x),!l||l<0)throw new me("Invalid \\arraystretch: "+x)}n.gullet.beginGroup();var k=[],_=[k],T=[],N=[],E=d!=null?[]:void 0;function L(){d&&n.gullet.macros.set("\\@eqnsw","1",!0)}function B(){E&&(n.gullet.macros.get("\\df@tag")?(E.push(n.subparse([new ba("\\df@tag")])),n.gullet.macros.set("\\df@tag",void 0,!0)):E.push(!!d&&n.gullet.macros.get("\\@eqnsw")==="1"))}for(L(),N.push($2(n));;){var j=n.parseExpression(!1,h?"\\end":"\\\\");n.gullet.endGroup(),n.gullet.beginGroup();var q={type:"ordgroup",mode:n.mode,body:j};t&&(q={type:"styling",mode:n.mode,style:t,resetFont:!0,body:[q]}),k.push(q);var K=n.fetch().text;if(K==="&"){if(p&&k.length===p){if(h||u)throw new me("Too many tab characters: &",n.nextToken);n.settings.reportNonstrict("textEnv","Too few columns specified in the {array} column argument.")}n.consume()}else if(K==="\\end"){B(),k.length===1&&q.type==="styling"&&q.body.length===1&&q.body[0].type==="ordgroup"&&q.body[0].body.length===0&&(_.length>1||!m)&&_.pop(),N.length<_.length+1&&N.push([]);break}else if(K==="\\\\"){n.consume();var te=void 0;n.gullet.future().text!==" "&&(te=n.parseSizeGroup(!0)),T.push(te?te.value:null),B(),N.push($2(n)),k=[],_.push(k),L()}else throw new me("Expected & or \\\\ or \\cr or \\end",n.nextToken)}return n.gullet.endGroup(),n.gullet.endGroup(),{type:"array",mode:n.mode,addJot:s,arraystretch:l,body:_,cols:o,rowGaps:T,hskipBeforeAndAfter:a,hLinesBeforeRow:N,colSeparationType:u,tags:E,leqno:b}}function d1(n){return n.slice(0,1)==="d"?"display":"text"}var Cr=function(e,t){var a,s,o=e.body.length,l=e.hLinesBeforeRow,u=0,d=new Array(o),h=[],m=Math.max(t.fontMetrics().arrayRuleWidth,t.minRuleThickness),p=1/t.fontMetrics().ptPerEm,b=5*p;if(e.colSeparationType&&e.colSeparationType==="small"){var x=t.havingStyle(Xe.SCRIPT).sizeMultiplier;b=.2778*(x/t.sizeMultiplier)}var k=e.colSeparationType==="CD"?Kt({number:3,unit:"ex"},t):12*p,_=3*p,T=e.arraystretch*k,N=.7*T,E=.3*T,L=0;function B(ca){for(var Ar=0;Ar<ca.length;++Ar)Ar>0&&(L+=.25),h.push({pos:L,isDashed:ca[Ar]})}for(B(l[0]),a=0;a<e.body.length;++a){var j=e.body[a],q=N,K=E;u<j.length&&(u=j.length);var te={cells:new Array(j.length),height:0,depth:0,pos:0};for(s=0;s<j.length;++s){var J=Tt(j[s],t);K<J.depth&&(K=J.depth),q<J.height&&(q=J.height),te.cells[s]=J}var be=e.rowGaps[a],Le=0;be&&(Le=Kt(be,t),Le>0&&(Le+=E,K<Le&&(K=Le),Le=0)),e.addJot&&a<e.body.length-1&&(K+=_),te.height=q,te.depth=K,L+=q,te.pos=L,L+=K+Le,d[a]=te,B(l[a+1])}var fe=L/2+t.fontMetrics().axisHeight,se=e.cols||[],ge=[],xe,G,le=[];if(e.tags&&e.tags.some(ca=>ca))for(a=0;a<o;++a){var re=d[a],Qe=re.pos-fe,Ge=e.tags[a],qe=void 0;Ge===!0?qe=ue(["eqn-num"],[],t):Ge===!1?qe=ue([],[],t):qe=ue([],kn(Ge,t,!0),t),qe.depth=re.depth,qe.height=re.height,le.push({type:"elem",elem:qe,shift:Qe})}for(s=0,G=0;s<u||G<se.length;++s,++G){for(var Ie,Me=se[G],mt=!0;((St=Me)==null?void 0:St.type)==="separator";){var St;if(mt||(xe=ue(["arraycolsep"],[]),xe.style.width=ve(t.fontMetrics().doubleRuleSep),ge.push(xe)),Me.separator==="|"||Me.separator===":"){var En=Me.separator==="|"?"solid":"dashed",an=ue(["vertical-separator"],[],t);an.style.height=ve(L),an.style.borderRightWidth=ve(m),an.style.borderRightStyle=En,an.style.margin="0 "+ve(-m/2);var In=L-fe;In&&(an.style.verticalAlign=ve(-In)),ge.push(an)}else throw new me("Invalid separator type: "+Me.separator);G++,Me=se[G],mt=!1}if(!(s>=u)){var pn=void 0;if(s>0||e.hskipBeforeAndAfter){var _a,Ca;pn=(_a=(Ca=Me)==null?void 0:Ca.pregap)!=null?_a:b,pn!==0&&(xe=ue(["arraycolsep"],[]),xe.style.width=ve(pn),ge.push(xe))}var Ta=[];for(a=0;a<o;++a){var la=d[a],pt=la.cells[s];if(pt){var de=la.pos-fe;pt.depth=la.depth,pt.height=la.height,Ta.push({type:"elem",elem:pt,shift:de})}}var lt=Ct({positionType:"individualShift",children:Ta}),He=ue(["col-align-"+(((Ie=Me)==null?void 0:Ie.align)||"c")],[lt]);if(ge.push(He),s<u-1||e.hskipBeforeAndAfter){var je,_e;pn=(je=(_e=Me)==null?void 0:_e.postgap)!=null?je:b,pn!==0&&(xe=ue(["arraycolsep"],[]),xe.style.width=ve(pn),ge.push(xe))}}}var Ue=ue(["mtable"],ge);if(h.length>0){for(var At=il("hline",t,m),Jt=il("hdashline",t,m),Ht=[{type:"elem",elem:Ue,shift:0}];h.length>0;){var yt=h.pop(),Nn=yt.pos-fe;yt.isDashed?Ht.push({type:"elem",elem:Jt,shift:Nn}):Ht.push({type:"elem",elem:At,shift:Nn})}Ue=Ct({positionType:"individualShift",children:Ht})}if(le.length===0)return ue(["mord"],[Ue],t);var rr=Ct({positionType:"individualShift",children:le}),ps=ue(["tag"],[rr],t);return ms([Ue,ps])},GC={c:"center ",l:"left ",r:"right "},Tr=function(e,t){for(var a=[],s=new pe("mtd",[],["mtr-glue"]),o=new pe("mtd",[],["mml-eqn-num"]),l=0;l<e.body.length;l++){for(var u=e.body[l],d=[],h=0;h<u.length;h++)d.push(new pe("mtd",[Pt(u[h],t)]));e.tags&&e.tags[l]&&(d.unshift(s),d.push(s),e.leqno?d.unshift(o):d.push(o)),a.push(new pe("mtr",d))}var m=new pe("mtable",a),p=e.arraystretch===.5?.1:.16+e.arraystretch-1+(e.addJot?.09:0);m.setAttribute("rowspacing",ve(p));var b="",x="";if(e.cols&&e.cols.length>0){var k=e.cols,_="",T=!1,N=0,E=k.length;k[0].type==="separator"&&(b+="top ",N=1),k[k.length-1].type==="separator"&&(b+="bottom ",E-=1);for(var L=N;L<E;L++){var B=k[L];B.type==="align"?(x+=GC[B.align],T&&(_+="none "),T=!0):B.type==="separator"&&T&&(_+=B.separator==="|"?"solid ":"dashed ",T=!1)}m.setAttribute("columnalign",x.trim()),/[sd]/.test(_)&&m.setAttribute("columnlines",_.trim())}if(e.colSeparationType==="align"){for(var j=e.cols||[],q="",K=1;K<j.length;K++)q+=K%2?"0em ":"1em ";m.setAttribute("columnspacing",q.trim())}else e.colSeparationType==="alignat"||e.colSeparationType==="gather"?m.setAttribute("columnspacing","0em"):e.colSeparationType==="small"?m.setAttribute("columnspacing","0.2778em"):e.colSeparationType==="CD"?m.setAttribute("columnspacing","0.5em"):m.setAttribute("columnspacing","1em");var te="",J=e.hLinesBeforeRow;b+=J[0].length>0?"left ":"",b+=J[J.length-1].length>0?"right ":"";for(var be=1;be<J.length-1;be++)te+=J[be].length===0?"none ":J[be][0]?"dashed ":"solid ";return/[sd]/.test(te)&&m.setAttribute("rowlines",te.trim()),b!==""&&(m=new pe("menclose",[m]),m.setAttribute("notation",b.trim())),e.arraystretch&&e.arraystretch<1&&(m=new pe("mstyle",[m]),m.setAttribute("scriptlevel","1")),m},Kx=function(e,t){e.envName.includes("ed")||Q0(e);var a=[],s=e.envName.includes("at")?"alignat":"align",o=e.envName==="split",l=li(e.parser,{cols:a,addJot:!0,autoTag:o?void 0:u1(e.envName),emptySingleRow:!0,colSeparationType:s,maxNumCols:o?2:void 0,leqno:e.parser.settings.leqno},"display"),u=0,d=0,h={type:"ordgroup",mode:e.mode,body:[]};if(t[0]&&t[0].type==="ordgroup"){for(var m="",p=0;p<t[0].body.length;p++){var b=at(t[0].body[p],"textord");m+=b.text}u=Number(m),d=u*2}var x=!d;l.body.forEach(function(N){for(var E=1;E<N.length;E+=2){var L=at(N[E],"styling"),B=at(L.body[0],"ordgroup");B.body.unshift(h)}if(x)d<N.length&&(d=N.length);else{var j=N.length/2;if(u<j)throw new me("Too many math in a row: "+("expected "+u+", but got "+j),N[0])}});for(var k=0;k<d;++k){var _="r",T=0;k%2===1?_="l":k>0&&x&&(T=1),a[k]={type:"align",align:_,pregap:T,postgap:0}}return l.colSeparationType=x?"align":"alignat",l};_r({type:"array",names:["array","darray"],props:{numArgs:1},handler(n,e){var t=W0(e[0]),a=t?[e[0]]:at(e[0],"ordgroup").body,s=a.map(function(l){var u=V0(l),d=u.text;if("lcr".includes(d))return{type:"align",align:d};if(d==="|")return{type:"separator",separator:"|"};if(d===":")return{type:"separator",separator:":"};throw new me("Unknown column alignment: "+d,l)}),o={cols:s,hskipBeforeAndAfter:!0,maxNumCols:s.length};return li(n.parser,o,d1(n.envName))},htmlBuilder:Cr,mathmlBuilder:Tr});_r({type:"array",names:["matrix","pmatrix","bmatrix","Bmatrix","vmatrix","Vmatrix","matrix*","pmatrix*","bmatrix*","Bmatrix*","vmatrix*","Vmatrix*"],props:{numArgs:0},handler(n){var e={matrix:null,pmatrix:["(",")"],bmatrix:["[","]"],Bmatrix:["\\{","\\}"],vmatrix:["|","|"],Vmatrix:["\\Vert","\\Vert"]}[n.envName.replace("*","")],t="c",a={hskipBeforeAndAfter:!1,cols:[{type:"align",align:t}]};if(n.envName.charAt(n.envName.length-1)==="*"){var s=n.parser;if(s.consumeSpaces(),s.fetch().text==="["){if(s.consume(),s.consumeSpaces(),t=s.fetch().text,!"lcr".includes(t))throw new me("Expected l or c or r",s.nextToken);s.consume(),s.consumeSpaces(),s.expect("]"),s.consume(),a.cols=[{type:"align",align:t}]}}var o=li(n.parser,a,d1(n.envName)),l=Math.max(0,...o.body.map(u=>u.length));return o.cols=new Array(l).fill({type:"align",align:t}),e?{type:"leftright",mode:n.mode,body:[o],left:e[0],right:e[1],rightColor:void 0}:o},htmlBuilder:Cr,mathmlBuilder:Tr});_r({type:"array",names:["smallmatrix"],props:{numArgs:0},handler(n){var e={arraystretch:.5},t=li(n.parser,e,"script");return t.colSeparationType="small",t},htmlBuilder:Cr,mathmlBuilder:Tr});_r({type:"array",names:["subarray"],props:{numArgs:1},handler(n,e){var t=W0(e[0]),a=t?[e[0]]:at(e[0],"ordgroup").body,s=a.map(function(u){var d=V0(u),h=d.text;if("lc".includes(h))return{type:"align",align:h};throw new me("Unknown column alignment: "+h,u)});if(s.length>1)throw new me("{subarray} can contain only one column");var o={cols:s,hskipBeforeAndAfter:!1,arraystretch:.5},l=li(n.parser,o,"script");if(l.body.length>0&&l.body[0].length>1)throw new me("{subarray} can contain only one column");return l},htmlBuilder:Cr,mathmlBuilder:Tr});_r({type:"array",names:["cases","dcases","rcases","drcases"],props:{numArgs:0},handler(n){var e={arraystretch:1.2,cols:[{type:"align",align:"l",pregap:0,postgap:1},{type:"align",align:"l",pregap:0,postgap:0}]},t=li(n.parser,e,d1(n.envName));return{type:"leftright",mode:n.mode,body:[t],left:n.envName.includes("r")?".":"\\{",right:n.envName.includes("r")?"\\}":".",rightColor:void 0}},htmlBuilder:Cr,mathmlBuilder:Tr});_r({type:"array",names:["align","align*","aligned","split"],props:{numArgs:0},handler:Kx,htmlBuilder:Cr,mathmlBuilder:Tr});_r({type:"array",names:["gathered","gather","gather*"],props:{numArgs:0},handler(n){FC.has(n.envName)&&Q0(n);var e={cols:[{type:"align",align:"c"}],addJot:!0,colSeparationType:"gather",autoTag:u1(n.envName),emptySingleRow:!0,leqno:n.parser.settings.leqno};return li(n.parser,e,"display")},htmlBuilder:Cr,mathmlBuilder:Tr});_r({type:"array",names:["alignat","alignat*","alignedat"],props:{numArgs:1},handler:Kx,htmlBuilder:Cr,mathmlBuilder:Tr});_r({type:"array",names:["equation","equation*"],props:{numArgs:0},handler(n){Q0(n);var e={autoTag:u1(n.envName),emptySingleRow:!0,singleRow:!0,maxNumCols:1,leqno:n.parser.settings.leqno};return li(n.parser,e,"display")},htmlBuilder:Cr,mathmlBuilder:Tr});_r({type:"array",names:["CD"],props:{numArgs:0},handler(n){return Q0(n),RC(n.parser)},htmlBuilder:Cr,mathmlBuilder:Tr});R("\\nonumber","\\gdef\\@eqnsw{0}");R("\\notag","\\nonumber");we({type:"text",names:["\\hline","\\hdashline"],props:{numArgs:0,allowedInText:!0,allowedInMath:!0},handler(n,e){throw new me(n.funcName+" valid only within array environment")}});var H2=Vx;we({type:"environment",names:["\\begin","\\end"],props:{numArgs:1,argTypes:["text"]},handler(n,e){var{parser:t,funcName:a}=n,s=e[0];if(s.type!=="ordgroup")throw new me("Invalid environment name",s);for(var o="",l=0;l<s.body.length;++l)o+=at(s.body[l],"textord").text;if(a==="\\begin"){if(!H2.hasOwnProperty(o))throw new me("No such environment: "+o,s);var u=H2[o],{args:d,optArgs:h}=t.parseArguments("\\begin{"+o+"}",u),m={mode:t.mode,envName:o,parser:t},p=u.handler(m,d,h);t.expect("\\end",!1);var b=t.nextToken,x=at(t.parseFunction(),"environment");if(x.name!==o)throw new me("Mismatch: \\begin{"+o+"} matched by \\end{"+x.name+"}",b);return p}return{type:"environment",mode:t.mode,name:o,nameGroup:s}}});var Yx=(n,e)=>{var t=n.font,a=e.withFont(t);return Tt(n.body,a)},Zx=(n,e)=>{var t=n.font,a=e.withFont(t);return Pt(n.body,a)},U2={"\\Bbb":"\\mathbb","\\bold":"\\mathbf","\\frak":"\\mathfrak"};we({type:"font",names:["\\mathrm","\\mathit","\\mathbf","\\mathnormal","\\mathsfit","\\mathbb","\\mathcal","\\mathfrak","\\mathscr","\\mathsf","\\mathtt","\\Bbb","\\bold","\\frak"],props:{numArgs:1,allowedInArgument:!0},handler:(n,e)=>{var{parser:t,funcName:a}=n,s=k0(e[0]),o=a;return o in U2&&(o=U2[o]),{type:"font",mode:t.mode,font:o.slice(1),body:s}},htmlBuilder:Yx,mathmlBuilder:Zx});we({type:"mclass",names:["\\boldsymbol","\\bm"],props:{numArgs:1},handler:(n,e)=>{var{parser:t}=n,a=e[0];return{type:"mclass",mode:t.mode,mclass:K0(a),body:[{type:"font",mode:t.mode,font:"boldsymbol",body:a}],isCharacterBox:fs(a)}}});we({type:"font",names:["\\rm","\\sf","\\tt","\\bf","\\it","\\cal"],props:{numArgs:0,allowedInText:!0},handler:(n,e)=>{var{parser:t,funcName:a,breakOnTokenText:s}=n,{mode:o}=t,l=t.parseExpression(!0,s);return{type:"font",mode:o,font:"math"+a.slice(1),body:{type:"ordgroup",mode:t.mode,body:l}}},htmlBuilder:Yx,mathmlBuilder:Zx});var qC=(n,e)=>{var t=e.style,a=t.fracNum(),s=t.fracDen(),o;o=e.havingStyle(a);var l=Tt(n.numer,o,e);if(n.continued){var u=8.5/e.fontMetrics().ptPerEm,d=3.5/e.fontMetrics().ptPerEm;l.height=l.height<u?u:l.height,l.depth=l.depth<d?d:l.depth}o=e.havingStyle(s);var h=Tt(n.denom,o,e),m,p,b;n.hasBarLine?(n.barSize?(p=Kt(n.barSize,e),m=il("frac-line",e,p)):m=il("frac-line",e),p=m.height,b=m.height):(m=null,p=0,b=e.fontMetrics().defaultRuleThickness);var x,k,_;t.size===Xe.DISPLAY.size?(x=e.fontMetrics().num1,p>0?k=3*b:k=7*b,_=e.fontMetrics().denom1):(p>0?(x=e.fontMetrics().num2,k=b):(x=e.fontMetrics().num3,k=3*b),_=e.fontMetrics().denom2);var T;if(m){var E=e.fontMetrics().axisHeight;x-l.depth-(E+.5*p)<k&&(x+=k-(x-l.depth-(E+.5*p))),E-.5*p-(h.height-_)<k&&(_+=k-(E-.5*p-(h.height-_)));var L=-(E-.5*p);T=Ct({positionType:"individualShift",children:[{type:"elem",elem:h,shift:_},{type:"elem",elem:m,shift:L},{type:"elem",elem:l,shift:-x}]})}else{var N=x-l.depth-(h.height-_);N<k&&(x+=.5*(k-N),_+=.5*(k-N)),T=Ct({positionType:"individualShift",children:[{type:"elem",elem:h,shift:_},{type:"elem",elem:l,shift:-x}]})}o=e.havingStyle(t),T.height*=o.sizeMultiplier/e.sizeMultiplier,T.depth*=o.sizeMultiplier/e.sizeMultiplier;var B;t.size===Xe.DISPLAY.size?B=e.fontMetrics().delim1:t.size===Xe.SCRIPTSCRIPT.size?B=e.havingStyle(Xe.SCRIPT).fontMetrics().delim2:B=e.fontMetrics().delim2;var j,q;return n.leftDelim==null?j=Vc(e,["mopen"]):j=ug(n.leftDelim,B,!0,e.havingStyle(t),n.mode,["mopen"]),n.continued?q=ue([]):n.rightDelim==null?q=Vc(e,["mclose"]):q=ug(n.rightDelim,B,!0,e.havingStyle(t),n.mode,["mclose"]),ue(["mord"].concat(o.sizingClasses(e)),[j,ue(["mfrac"],[T]),q],e)},VC=(n,e)=>{var t=new pe("mfrac",[Pt(n.numer,e),Pt(n.denom,e)]);if(!n.hasBarLine)t.setAttribute("linethickness","0px");else if(n.barSize){var a=Kt(n.barSize,e);t.setAttribute("linethickness",ve(a))}if(n.leftDelim!=null||n.rightDelim!=null){var s=[];if(n.leftDelim!=null){var o=new pe("mo",[new hn(n.leftDelim.replace("\\",""))]);o.setAttribute("fence","true"),s.push(o)}if(s.push(t),n.rightDelim!=null){var l=new pe("mo",[new hn(n.rightDelim.replace("\\",""))]);l.setAttribute("fence","true"),s.push(l)}return i1(s)}return t},Xx=(n,e)=>{if(!e)return n;var t={type:"styling",mode:n.mode,style:e,body:[n]};return t};we({type:"genfrac",names:["\\cfrac","\\dfrac","\\frac","\\tfrac","\\dbinom","\\binom","\\tbinom","\\\\atopfrac","\\\\bracefrac","\\\\brackfrac"],props:{numArgs:2,allowedInArgument:!0},handler:(n,e)=>{var{parser:t,funcName:a}=n,s=e[0],o=e[1],l,u=null,d=null;switch(a){case"\\cfrac":case"\\dfrac":case"\\frac":case"\\tfrac":l=!0;break;case"\\\\atopfrac":l=!1;break;case"\\dbinom":case"\\binom":case"\\tbinom":l=!1,u="(",d=")";break;case"\\\\bracefrac":l=!1,u="\\{",d="\\}";break;case"\\\\brackfrac":l=!1,u="[",d="]";break;default:throw new Error("Unrecognized genfrac command")}var h=a==="\\cfrac",m=null;return h||a.startsWith("\\d")?m="display":a.startsWith("\\t")&&(m="text"),Xx({type:"genfrac",mode:t.mode,numer:s,denom:o,continued:h,hasBarLine:l,leftDelim:u,rightDelim:d,barSize:null},m)},htmlBuilder:qC,mathmlBuilder:VC});we({type:"infix",names:["\\over","\\choose","\\atop","\\brace","\\brack"],props:{numArgs:0,infix:!0},handler(n){var{parser:e,funcName:t,token:a}=n,s;switch(t){case"\\over":s="\\frac";break;case"\\choose":s="\\binom";break;case"\\atop":s="\\\\atopfrac";break;case"\\brace":s="\\\\bracefrac";break;case"\\brack":s="\\\\brackfrac";break;default:throw new Error("Unrecognized infix genfrac command")}return{type:"infix",mode:e.mode,replaceWith:s,token:a}}});var F2=["display","text","script","scriptscript"],G2=function(e){var t=null;return e.length>0&&(t=e,t=t==="."?null:t),t};we({type:"genfrac",names:["\\genfrac"],props:{numArgs:6,allowedInArgument:!0,argTypes:["math","math","size","text","math","math"]},handler(n,e){var{parser:t}=n,a=e[4],s=e[5],o=k0(e[0]),l=o.type==="atom"&&o.family==="open"?G2(o.text):null,u=k0(e[1]),d=u.type==="atom"&&u.family==="close"?G2(u.text):null,h=at(e[2],"size"),m,p=null;h.isBlank?m=!0:(p=h.value,m=p.number>0);var b=null,x=e[3];if(x.type==="ordgroup"){if(x.body.length>0){var k=at(x.body[0],"textord");b=F2[Number(k.text)]}}else x=at(x,"textord"),b=F2[Number(x.text)];return Xx({type:"genfrac",mode:t.mode,numer:a,denom:s,continued:!1,hasBarLine:m,barSize:p,leftDelim:l,rightDelim:d},b)}});we({type:"infix",names:["\\above"],props:{numArgs:1,argTypes:["size"],infix:!0},handler(n,e){var{parser:t,funcName:a,token:s}=n;return{type:"infix",mode:t.mode,replaceWith:"\\\\abovefrac",size:at(e[0],"size").value,token:s}}});we({type:"genfrac",names:["\\\\abovefrac"],props:{numArgs:3,argTypes:["math","size","math"]},handler:(n,e)=>{var{parser:t,funcName:a}=n,s=e[0],o=at(e[1],"infix").size;if(!o)throw new Error("\\\\abovefrac expected size, but got "+String(o));var l=e[2],u=o.number>0;return{type:"genfrac",mode:t.mode,numer:s,denom:l,continued:!1,hasBarLine:u,barSize:o,leftDelim:null,rightDelim:null}}});var Qx=(n,e)=>{var t=e.style,a,s;n.type==="supsub"?(a=n.sup?Tt(n.sup,e.havingStyle(t.sup()),e):Tt(n.sub,e.havingStyle(t.sub()),e),s=at(n.base,"horizBrace")):s=at(n,"horizBrace");var o=Tt(s.base,e.havingBaseStyle(Xe.DISPLAY)),l=q0(s,e),u;if(s.isOver?u=Ct({positionType:"firstBaseline",children:[{type:"elem",elem:o},{type:"kern",size:.1},{type:"elem",elem:l,wrapperClasses:["svg-align"]}]}):u=Ct({positionType:"bottom",positionData:o.depth+.1+l.height,children:[{type:"elem",elem:l,wrapperClasses:["svg-align"]},{type:"kern",size:.1},{type:"elem",elem:o}]}),a){var d=ue(["minner",s.isOver?"mover":"munder"],[u],e);s.isOver?u=Ct({positionType:"firstBaseline",children:[{type:"elem",elem:d},{type:"kern",size:.2},{type:"elem",elem:a}]}):u=Ct({positionType:"bottom",positionData:d.depth+.2+a.height+a.depth,children:[{type:"elem",elem:a},{type:"kern",size:.2},{type:"elem",elem:d}]})}return ue(["minner",s.isOver?"mover":"munder"],[u],e)},WC=(n,e)=>{var t=G0(n.label);return new pe(n.isOver?"mover":"munder",[Pt(n.base,e),t])};we({type:"horizBrace",names:["\\overbrace","\\underbrace","\\overbracket","\\underbracket"],props:{numArgs:1},handler(n,e){var{parser:t,funcName:a}=n;return{type:"horizBrace",mode:t.mode,label:a,isOver:a.includes("\\over"),base:e[0]}},htmlBuilder:Qx,mathmlBuilder:WC});we({type:"href",names:["\\href"],props:{numArgs:2,argTypes:["url","original"],allowedInText:!0},handler:(n,e)=>{var{parser:t}=n,a=e[1],s=at(e[0],"url").url;return t.settings.isTrusted({command:"\\href",url:s})?{type:"href",mode:t.mode,href:s,body:fn(a)}:t.formatUnsupportedCmd("\\href")},htmlBuilder:(n,e)=>{var t=kn(n.body,e,!1);return iC(n.href,[],t,e)},mathmlBuilder:(n,e)=>{var t=ii(n.body,e);return t instanceof pe||(t=new pe("mrow",[t])),t.setAttribute("href",n.href),t}});we({type:"href",names:["\\url"],props:{numArgs:1,argTypes:["url"],allowedInText:!0},handler:(n,e)=>{var{parser:t}=n,a=at(e[0],"url").url;if(!t.settings.isTrusted({command:"\\url",url:a}))return t.formatUnsupportedCmd("\\url");for(var s=[],o=0;o<a.length;o++){var l=a[o];l==="~"&&(l="\\textasciitilde"),s.push({type:"textord",mode:"text",text:l})}var u={type:"text",mode:t.mode,font:"\\texttt",body:s};return{type:"href",mode:t.mode,href:a,body:fn(u)}}});we({type:"hbox",names:["\\hbox"],props:{numArgs:1,argTypes:["text"],allowedInText:!0,primitive:!0},handler(n,e){var{parser:t}=n;return{type:"hbox",mode:t.mode,body:fn(e[0])}},htmlBuilder(n,e){var t=kn(n.body,e.withFont(""),!1);return ms(t)},mathmlBuilder(n,e){return new pe("mrow",Sa(n.body,e.withFont("")))}});we({type:"html",names:["\\htmlClass","\\htmlId","\\htmlStyle","\\htmlData"],props:{numArgs:2,argTypes:["raw","original"],allowedInText:!0},handler:(n,e)=>{var{parser:t,funcName:a,token:s}=n,o=at(e[0],"raw").string,l=e[1];t.settings.strict&&t.settings.reportNonstrict("htmlExtension","HTML extension is disabled on strict mode");var u,d={};switch(a){case"\\htmlClass":d.class=o,u={command:"\\htmlClass",class:o};break;case"\\htmlId":d.id=o,u={command:"\\htmlId",id:o};break;case"\\htmlStyle":d.style=o,u={command:"\\htmlStyle",style:o};break;case"\\htmlData":{for(var h=o.split(","),m=0;m<h.length;m++){var p=h[m],b=p.indexOf("=");if(b<0)throw new me("\\htmlData key/value '"+p+"' missing equals sign");var x=p.slice(0,b),k=p.slice(b+1);d["data-"+x.trim()]=k}u={command:"\\htmlData",attributes:d};break}default:throw new Error("Unrecognized html command")}return t.settings.isTrusted(u)?{type:"html",mode:t.mode,attributes:d,body:fn(l)}:t.formatUnsupportedCmd(a)},htmlBuilder:(n,e)=>{var t=kn(n.body,e,!1),a=["enclosing"];n.attributes.class&&a.push(...n.attributes.class.trim().split(/\s+/));var s=ue(a,t,e);for(var o in n.attributes)o!=="class"&&n.attributes.hasOwnProperty(o)&&s.setAttribute(o,n.attributes[o]);return s},mathmlBuilder:(n,e)=>ii(n.body,e)});we({type:"htmlmathml",names:["\\html@mathml"],props:{numArgs:2,allowedInArgument:!0,allowedInText:!0},handler:(n,e)=>{var{parser:t}=n;return{type:"htmlmathml",mode:t.mode,html:fn(e[0]),mathml:fn(e[1])}},htmlBuilder:(n,e)=>{var t=kn(n.html,e,!1);return ms(t)},mathmlBuilder:(n,e)=>ii(n.mathml,e)});var Km=function(e){if(/^[-+]? *(\d+(\.\d*)?|\.\d+)$/.test(e))return{number:+e,unit:"bp"};var t=/([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(e);if(!t)throw new me("Invalid size: '"+e+"' in \\includegraphics");var a={number:+(t[1]+t[2]),unit:t[3]};if(!px(a))throw new me("Invalid unit: '"+a.unit+"' in \\includegraphics.");return a};we({type:"includegraphics",names:["\\includegraphics"],props:{numArgs:1,numOptionalArgs:1,argTypes:["raw","url"],allowedInText:!1},handler:(n,e,t)=>{var{parser:a}=n,s={number:0,unit:"em"},o={number:.9,unit:"em"},l={number:0,unit:"em"},u="";if(t[0])for(var d=at(t[0],"raw").string,h=d.split(","),m=0;m<h.length;m++){var p=h[m].split("=");if(p.length===2){var b=p[1].trim();switch(p[0].trim()){case"alt":u=b;break;case"width":s=Km(b);break;case"height":o=Km(b);break;case"totalheight":l=Km(b);break;default:throw new me("Invalid key: '"+p[0]+"' in \\includegraphics.")}}}var x=at(e[0],"url").url;return u===""&&(u=x,u=u.replace(/^.*[\\/]/,""),u=u.substring(0,u.lastIndexOf("."))),a.settings.isTrusted({command:"\\includegraphics",url:x})?{type:"includegraphics",mode:a.mode,alt:u,width:s,height:o,totalheight:l,src:x}:a.formatUnsupportedCmd("\\includegraphics")},htmlBuilder:(n,e)=>{var t=Kt(n.height,e),a=0;n.totalheight.number>0&&(a=Kt(n.totalheight,e)-t);var s=0;n.width.number>0&&(s=Kt(n.width,e));var o={height:ve(t+a)};s>0&&(o.width=ve(s)),a>0&&(o.verticalAlign=ve(-a));var l=new K9(n.src,n.alt,o);return l.height=t,l.depth=a,l},mathmlBuilder:(n,e)=>{var t=new pe("mglyph",[]);t.setAttribute("alt",n.alt);var a=Kt(n.height,e),s=0;if(n.totalheight.number>0&&(s=Kt(n.totalheight,e)-a,t.setAttribute("valign",ve(-s))),t.setAttribute("height",ve(a+s)),n.width.number>0){var o=Kt(n.width,e);t.setAttribute("width",ve(o))}return t.setAttribute("src",n.src),t}});we({type:"kern",names:["\\kern","\\mkern","\\hskip","\\mskip"],props:{numArgs:1,argTypes:["size"],primitive:!0,allowedInText:!0},handler(n,e){var{parser:t,funcName:a}=n,s=at(e[0],"size");if(t.settings.strict){var o=a[1]==="m",l=s.value.unit==="mu";o?(l||t.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+a+" supports only mu units, "+("not "+s.value.unit+" units")),t.mode!=="math"&&t.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+a+" works only in math mode")):l&&t.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+a+" doesn't support mu units")}return{type:"kern",mode:t.mode,dimension:s.value}},htmlBuilder(n,e){return wx(n.dimension,e)},mathmlBuilder(n,e){var t=Kt(n.dimension,e);return new Ax(t)}});we({type:"lap",names:["\\mathllap","\\mathrlap","\\mathclap"],props:{numArgs:1,allowedInText:!0},handler:(n,e)=>{var{parser:t,funcName:a}=n,s=e[0];return{type:"lap",mode:t.mode,alignment:a.slice(5),body:s}},htmlBuilder:(n,e)=>{var t;n.alignment==="clap"?(t=ue([],[Tt(n.body,e)]),t=ue(["inner"],[t],e)):t=ue(["inner"],[Tt(n.body,e)]);var a=ue(["fix"],[]),s=ue([n.alignment],[t,a],e),o=ue(["strut"]);return o.style.height=ve(s.height+s.depth),s.depth&&(o.style.verticalAlign=ve(-s.depth)),s.children.unshift(o),s=ue(["thinbox"],[s],e),ue(["mord","vbox"],[s],e)},mathmlBuilder:(n,e)=>{var t=new pe("mpadded",[Pt(n.body,e)]);if(n.alignment!=="rlap"){var a=n.alignment==="llap"?"-1":"-0.5";t.setAttribute("lspace",a+"width")}return t.setAttribute("width","0px"),t}});we({type:"styling",names:["\\(","$"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(n,e){var{funcName:t,parser:a}=n,s=a.mode;a.switchMode("math");var o=t==="\\("?"\\)":"$",l=a.parseExpression(!1,o);return a.expect(o),a.switchMode(s),{type:"styling",mode:a.mode,style:"text",resetFont:!0,body:l}}});we({type:"text",names:["\\)","\\]"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(n,e){throw new me("Mismatched "+n.funcName)}});var q2=(n,e)=>{switch(e.style.size){case Xe.DISPLAY.size:return n.display;case Xe.TEXT.size:return n.text;case Xe.SCRIPT.size:return n.script;case Xe.SCRIPTSCRIPT.size:return n.scriptscript;default:return n.text}};we({type:"mathchoice",names:["\\mathchoice"],props:{numArgs:4,primitive:!0},handler:(n,e)=>{var{parser:t}=n;return{type:"mathchoice",mode:t.mode,display:fn(e[0]),text:fn(e[1]),script:fn(e[2]),scriptscript:fn(e[3])}},htmlBuilder:(n,e)=>{var t=q2(n,e),a=kn(t,e,!1);return ms(a)},mathmlBuilder:(n,e)=>{var t=q2(n,e);return ii(t,e)}});var Jx=(n,e,t,a,s,o,l)=>{n=ue([],[n]);var u=t&&fs(t),d,h;if(e){var m=Tt(e,a.havingStyle(s.sup()),a);h={elem:m,kern:Math.max(a.fontMetrics().bigOpSpacing1,a.fontMetrics().bigOpSpacing3-m.depth)}}if(t){var p=Tt(t,a.havingStyle(s.sub()),a);d={elem:p,kern:Math.max(a.fontMetrics().bigOpSpacing2,a.fontMetrics().bigOpSpacing4-p.height)}}var b;if(h&&d){var x=a.fontMetrics().bigOpSpacing5+d.elem.height+d.elem.depth+d.kern+n.depth+l;b=Ct({positionType:"bottom",positionData:x,children:[{type:"kern",size:a.fontMetrics().bigOpSpacing5},{type:"elem",elem:d.elem,marginLeft:ve(-o)},{type:"kern",size:d.kern},{type:"elem",elem:n},{type:"kern",size:h.kern},{type:"elem",elem:h.elem,marginLeft:ve(o)},{type:"kern",size:a.fontMetrics().bigOpSpacing5}]})}else if(d){var k=n.height-l;b=Ct({positionType:"top",positionData:k,children:[{type:"kern",size:a.fontMetrics().bigOpSpacing5},{type:"elem",elem:d.elem,marginLeft:ve(-o)},{type:"kern",size:d.kern},{type:"elem",elem:n}]})}else if(h){var _=n.depth+l;b=Ct({positionType:"bottom",positionData:_,children:[{type:"elem",elem:n},{type:"kern",size:h.kern},{type:"elem",elem:h.elem,marginLeft:ve(o)},{type:"kern",size:a.fontMetrics().bigOpSpacing5}]})}else return n;var T=[b];if(d&&o!==0&&!u){var N=ue(["mspace"],[],a);N.style.marginRight=ve(o),T.unshift(N)}return ue(["mop","op-limits"],T,a)},e6=new Set(["\\smallint"]),fl=(n,e)=>{var t,a,s=!1,o;n.type==="supsub"?(t=n.sup,a=n.sub,o=at(n.base,"op"),s=!0):o=at(n,"op");var l=e.style,u=!1;l.size===Xe.DISPLAY.size&&o.symbol&&!e6.has(o.name)&&(u=!0);var d,h;if(o.symbol){var m=u?"Size2-Regular":"Size1-Regular",p="";if((o.name==="\\oiint"||o.name==="\\oiiint")&&(p=o.name.slice(1),o.name=p==="oiint"?"\\iint":"\\iiint"),d=Xn(o.name,m,"math",e,["mop","op-symbol",u?"large-op":"small-op"]),h=d.italic,p.length>0){var b=Sx(p+"Size"+(u?"2":"1"),e);d=Ct({positionType:"individualShift",children:[{type:"elem",elem:d,shift:0},{type:"elem",elem:b,shift:u?.08:0}]}),o.name="\\"+p,d.classes.unshift("mop"),d.italic=h}}else if(o.body){var x=kn(o.body,e,!0);x.length===1&&x[0]instanceof xa?(d=x[0],d.classes[0]="mop"):d=ue(["mop"],x,e)}else{for(var k=[],_=1;_<o.name.length;_++)k.push(r1(o.name[_],o.mode,e));d=ue(["mop"],k,e)}var T=0,N=0;if((d instanceof xa||o.name==="\\oiint"||o.name==="\\oiiint")&&!o.suppressBaseShift){var E;T=(d.height-d.depth)/2-e.fontMetrics().axisHeight,N=(E=d.italic)!=null?E:0}return s?Jx(d,t,a,e,l,N,T):(T&&(d.style.position="relative",d.style.top=ve(T)),d)},au=(n,e)=>{var t;if(n.symbol)t=new pe("mo",[qa(n.name,n.mode)]),e6.has(n.name)&&t.setAttribute("largeop","false");else if(n.body)t=new pe("mo",Sa(n.body,e));else{t=new pe("mi",[new hn(n.name.slice(1))]);var a=new pe("mo",[qa("","text")]);n.parentIsSupSub?t=new pe("mrow",[t,a]):t=Tx([t,a])}return t},KC={"∏":"\\prod","∐":"\\coprod","∑":"\\sum","⋀":"\\bigwedge","⋁":"\\bigvee","⋂":"\\bigcap","⋃":"\\bigcup","⨀":"\\bigodot","⨁":"\\bigoplus","⨂":"\\bigotimes","⨄":"\\biguplus","⨆":"\\bigsqcup"};we({type:"op",names:["\\coprod","\\bigvee","\\bigwedge","\\biguplus","\\bigcap","\\bigcup","\\intop","\\prod","\\sum","\\bigotimes","\\bigoplus","\\bigodot","\\bigsqcup","\\smallint","∏","∐","∑","⋀","⋁","⋂","⋃","⨀","⨁","⨂","⨄","⨆"],props:{numArgs:0},handler:(n,e)=>{var{parser:t,funcName:a}=n,s=a;return s.length===1&&(s=KC[s]),{type:"op",mode:t.mode,limits:!0,parentIsSupSub:!1,symbol:!0,name:s}},htmlBuilder:fl,mathmlBuilder:au});we({type:"op",names:["\\mathop"],props:{numArgs:1,primitive:!0},handler:(n,e)=>{var{parser:t}=n,a=e[0];return{type:"op",mode:t.mode,limits:!1,parentIsSupSub:!1,symbol:!1,body:fn(a)}},htmlBuilder:fl,mathmlBuilder:au});var YC={"∫":"\\int","∬":"\\iint","∭":"\\iiint","∮":"\\oint","∯":"\\oiint","∰":"\\oiiint"};we({type:"op",names:["\\arcsin","\\arccos","\\arctan","\\arctg","\\arcctg","\\arg","\\ch","\\cos","\\cosec","\\cosh","\\cot","\\cotg","\\coth","\\csc","\\ctg","\\cth","\\deg","\\dim","\\exp","\\hom","\\ker","\\lg","\\ln","\\log","\\sec","\\sin","\\sinh","\\sh","\\tan","\\tanh","\\tg","\\th"],props:{numArgs:0},handler(n){var{parser:e,funcName:t}=n;return{type:"op",mode:e.mode,limits:!1,parentIsSupSub:!1,symbol:!1,name:t}},htmlBuilder:fl,mathmlBuilder:au});we({type:"op",names:["\\det","\\gcd","\\inf","\\lim","\\max","\\min","\\Pr","\\sup"],props:{numArgs:0},handler(n){var{parser:e,funcName:t}=n;return{type:"op",mode:e.mode,limits:!0,parentIsSupSub:!1,symbol:!1,name:t}},htmlBuilder:fl,mathmlBuilder:au});we({type:"op",names:["\\int","\\iint","\\iiint","\\oint","\\oiint","\\oiiint","∫","∬","∭","∮","∯","∰"],props:{numArgs:0,allowedInArgument:!0},handler(n){var{parser:e,funcName:t}=n,a=t;return a.length===1&&(a=YC[a]),{type:"op",mode:e.mode,limits:!1,parentIsSupSub:!1,symbol:!0,name:a}},htmlBuilder:fl,mathmlBuilder:au});var t6=(n,e)=>{var t,a,s=!1,o;n.type==="supsub"?(t=n.sup,a=n.sub,o=at(n.base,"operatorname"),s=!0):o=at(n,"operatorname");var l;if(o.body.length>0){for(var u=o.body.map(p=>{var b="text"in p?p.text:void 0;return typeof b=="string"?{type:"textord",mode:p.mode,text:b}:p}),d=kn(u,e.withFont("mathrm"),!0),h=0;h<d.length;h++){var m=d[h];m instanceof xa&&(m.text=m.text.replace(/\u2212/,"-").replace(/\u2217/,"*"))}l=ue(["mop"],d,e)}else l=ue(["mop"],[],e);return s?Jx(l,t,a,e,e.style,0,0):l},ZC=(n,e)=>{for(var t=Sa(n.body,e.withFont("mathrm")),a=!0,s=0;s<t.length;s++){var o=t[s];if(!(o instanceof Ax))if(o instanceof pe)switch(o.type){case"mi":case"mn":case"mspace":case"mtext":break;case"mo":{var l=o.children[0];o.children.length===1&&l instanceof hn?l.text=l.text.replace(/\u2212/,"-").replace(/\u2217/,"*"):a=!1;break}default:a=!1}else a=!1}if(a){var u=t.map(m=>m.toText()).join("");t=[new hn(u)]}var d=new pe("mi",t);d.setAttribute("mathvariant","normal");var h=new pe("mo",[qa("","text")]);return n.parentIsSupSub?new pe("mrow",[d,h]):Tx([d,h])};we({type:"operatorname",names:["\\operatorname@","\\operatornamewithlimits"],props:{numArgs:1},handler:(n,e)=>{var{parser:t,funcName:a}=n,s=e[0];return{type:"operatorname",mode:t.mode,body:fn(s),alwaysHandleSupSub:a==="\\operatornamewithlimits",limits:!1,parentIsSupSub:!1}},htmlBuilder:t6,mathmlBuilder:ZC});R("\\operatorname","\\@ifstar\\operatornamewithlimits\\operatorname@");Ki({type:"ordgroup",htmlBuilder(n,e){return n.semisimple?ms(kn(n.body,e,!1)):ue(["mord"],kn(n.body,e,!0),e)},mathmlBuilder(n,e){return ii(n.body,e,!0)}});we({type:"overline",names:["\\overline"],props:{numArgs:1},handler(n,e){var{parser:t}=n,a=e[0];return{type:"overline",mode:t.mode,body:a}},htmlBuilder(n,e){var t=Tt(n.body,e.havingCrampedStyle()),a=il("overline-line",e),s=e.fontMetrics().defaultRuleThickness,o=Ct({positionType:"firstBaseline",children:[{type:"elem",elem:t},{type:"kern",size:3*s},{type:"elem",elem:a},{type:"kern",size:s}]});return ue(["mord","overline"],[o],e)},mathmlBuilder(n,e){var t=new pe("mo",[new hn("‾")]);t.setAttribute("stretchy","true");var a=new pe("mover",[Pt(n.body,e),t]);return a.setAttribute("accent","true"),a}});we({type:"phantom",names:["\\phantom"],props:{numArgs:1,allowedInText:!0},handler:(n,e)=>{var{parser:t}=n,a=e[0];return{type:"phantom",mode:t.mode,body:fn(a)}},htmlBuilder:(n,e)=>{var t=kn(n.body,e.withPhantom(),!1);return ms(t)},mathmlBuilder:(n,e)=>{var t=Sa(n.body,e);return new pe("mphantom",t)}});R("\\hphantom","\\smash{\\phantom{#1}}");we({type:"vphantom",names:["\\vphantom"],props:{numArgs:1,allowedInText:!0},handler:(n,e)=>{var{parser:t}=n,a=e[0];return{type:"vphantom",mode:t.mode,body:a}},htmlBuilder:(n,e)=>{var t=ue(["inner"],[Tt(n.body,e.withPhantom())]),a=ue(["fix"],[]);return ue(["mord","rlap"],[t,a],e)},mathmlBuilder:(n,e)=>{var t=Sa(fn(n.body),e),a=new pe("mphantom",t),s=new pe("mpadded",[a]);return s.setAttribute("width","0px"),s}});we({type:"raisebox",names:["\\raisebox"],props:{numArgs:2,argTypes:["size","hbox"],allowedInText:!0},handler(n,e){var{parser:t}=n,a=at(e[0],"size").value,s=e[1];return{type:"raisebox",mode:t.mode,dy:a,body:s}},htmlBuilder(n,e){var t=Tt(n.body,e),a=Kt(n.dy,e);return Ct({positionType:"shift",positionData:-a,children:[{type:"elem",elem:t}]})},mathmlBuilder(n,e){var t=new pe("mpadded",[Pt(n.body,e)]),a=n.dy.number+n.dy.unit;return t.setAttribute("voffset",a),t}});we({type:"internal",names:["\\relax"],props:{numArgs:0,allowedInText:!0,allowedInArgument:!0},handler(n){var{parser:e}=n;return{type:"internal",mode:e.mode}}});we({type:"rule",names:["\\rule"],props:{numArgs:2,numOptionalArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["size","size","size"]},handler(n,e,t){var{parser:a}=n,s=t[0],o=at(e[0],"size"),l=at(e[1],"size");return{type:"rule",mode:a.mode,shift:s&&at(s,"size").value,width:o.value,height:l.value}},htmlBuilder(n,e){var t=ue(["mord","rule"],[],e),a=Kt(n.width,e),s=Kt(n.height,e),o=n.shift?Kt(n.shift,e):0;return t.style.borderRightWidth=ve(a),t.style.borderTopWidth=ve(s),t.style.bottom=ve(o),t.width=a,t.height=s+o,t.depth=-o,t.maxFontSize=s*1.125*e.sizeMultiplier,t},mathmlBuilder(n,e){var t=Kt(n.width,e),a=Kt(n.height,e),s=n.shift?Kt(n.shift,e):0,o=e.color&&e.getColor()||"black",l=new pe("mspace");l.setAttribute("mathbackground",o),l.setAttribute("width",ve(t)),l.setAttribute("height",ve(a));var u=new pe("mpadded",[l]);return s>=0?u.setAttribute("height",ve(s)):(u.setAttribute("height",ve(s)),u.setAttribute("depth",ve(-s))),u.setAttribute("voffset",ve(s)),u}});function n6(n,e,t){for(var a=kn(n,e,!1),s=e.sizeMultiplier/t.sizeMultiplier,o=0;o<a.length;o++){var l=a[o].classes.indexOf("sizing");l<0?Array.prototype.push.apply(a[o].classes,e.sizingClasses(t)):a[o].classes[l+1]==="reset-size"+e.size&&(a[o].classes[l+1]="reset-size"+t.size),a[o].height*=s,a[o].depth*=s}return ms(a)}var V2=["\\tiny","\\sixptsize","\\scriptsize","\\footnotesize","\\small","\\normalsize","\\large","\\Large","\\LARGE","\\huge","\\Huge"],XC=(n,e)=>{var t=e.havingSize(n.size);return n6(n.body,t,e)};we({type:"sizing",names:V2,props:{numArgs:0,allowedInText:!0},handler:(n,e)=>{var{breakOnTokenText:t,funcName:a,parser:s}=n,o=s.parseExpression(!1,t);return{type:"sizing",mode:s.mode,size:V2.indexOf(a)+1,body:o}},htmlBuilder:XC,mathmlBuilder:(n,e)=>{var t=e.havingSize(n.size),a=Sa(n.body,t),s=new pe("mstyle",a);return s.setAttribute("mathsize",ve(t.sizeMultiplier)),s}});we({type:"smash",names:["\\smash"],props:{numArgs:1,numOptionalArgs:1,allowedInText:!0},handler:(n,e,t)=>{var{parser:a}=n,s=!1,o=!1,l=t[0]&&at(t[0],"ordgroup");if(l)for(var u,d=0;d<l.body.length;++d){var h=l.body[d];if(u=V0(h).text,u==="t")s=!0;else if(u==="b")o=!0;else{s=!1,o=!1;break}}else s=!0,o=!0;var m=e[0];return{type:"smash",mode:a.mode,body:m,smashHeight:s,smashDepth:o}},htmlBuilder:(n,e)=>{var t=ue([],[Tt(n.body,e)]);if(!n.smashHeight&&!n.smashDepth)return t;if(n.smashHeight&&(t.height=0),n.smashDepth&&(t.depth=0),n.smashHeight&&n.smashDepth)return ue(["mord","smash"],[t],e);if(t.children)for(var a=0;a<t.children.length;a++)n.smashHeight&&(t.children[a].height=0),n.smashDepth&&(t.children[a].depth=0);var s=Ct({positionType:"firstBaseline",children:[{type:"elem",elem:t}]});return ue(["mord"],[s],e)},mathmlBuilder:(n,e)=>{var t=new pe("mpadded",[Pt(n.body,e)]);return n.smashHeight&&t.setAttribute("height","0px"),n.smashDepth&&t.setAttribute("depth","0px"),t}});we({type:"sqrt",names:["\\sqrt"],props:{numArgs:1,numOptionalArgs:1},handler(n,e,t){var{parser:a}=n,s=t[0],o=e[0];return{type:"sqrt",mode:a.mode,body:o,index:s}},htmlBuilder(n,e){var t=Tt(n.body,e.havingCrampedStyle());t.height===0&&(t.height=e.fontMetrics().xHeight),t=ol(t,e);var a=e.fontMetrics(),s=a.defaultRuleThickness,o=s;e.style.id<Xe.TEXT.id&&(o=e.fontMetrics().xHeight);var l=s+o/4,u=t.height+t.depth+l+s,{span:d,ruleWidth:h,advanceWidth:m}=PC(u,e),p=d.height-h;p>t.height+t.depth+l&&(l=(l+p-t.height-t.depth)/2);var b=d.height-t.height-l-h;t.style.paddingLeft=ve(m);var x=Ct({positionType:"firstBaseline",children:[{type:"elem",elem:t,wrapperClasses:["svg-align"]},{type:"kern",size:-(t.height+b)},{type:"elem",elem:d},{type:"kern",size:h}]});if(n.index){var k=e.havingStyle(Xe.SCRIPTSCRIPT),_=Tt(n.index,k,e),T=.6*(x.height-x.depth),N=Ct({positionType:"shift",positionData:-T,children:[{type:"elem",elem:_}]}),E=ue(["root"],[N]);return ue(["mord","sqrt"],[E,x],e)}else return ue(["mord","sqrt"],[x],e)},mathmlBuilder(n,e){var{body:t,index:a}=n;return a?new pe("mroot",[Pt(t,e),Pt(a,e)]):new pe("msqrt",[Pt(t,e)])}});var dg={display:Xe.DISPLAY,text:Xe.TEXT,script:Xe.SCRIPT,scriptscript:Xe.SCRIPTSCRIPT};function QC(n){return n in dg}we({type:"styling",names:["\\displaystyle","\\textstyle","\\scriptstyle","\\scriptscriptstyle"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(n,e){var{breakOnTokenText:t,funcName:a,parser:s}=n,o=s.parseExpression(!0,t),l=a.slice(1,a.length-5);if(!QC(l))throw new Error("Unknown style: "+l);return{type:"styling",mode:s.mode,style:l,body:o}},htmlBuilder(n,e){var t=dg[n.style],a=e.havingStyle(t);return n.resetFont&&(a=a.withFont("")),n6(n.body,a,e)},mathmlBuilder(n,e){var t=dg[n.style],a=e.havingStyle(t);n.resetFont&&(a=a.withFont(""));var s=Sa(n.body,a),o=new pe("mstyle",s),l={display:["0","true"],text:["0","false"],script:["1","false"],scriptscript:["2","false"]},u=l[n.style];return o.setAttribute("scriptlevel",u[0]),o.setAttribute("displaystyle",u[1]),o}});var JC=function(e,t){var a=e.base;if(a)if(a.type==="op"){var s=a.limits&&(t.style.size===Xe.DISPLAY.size||a.alwaysHandleSupSub);return s?fl:null}else if(a.type==="operatorname"){var o=a.alwaysHandleSupSub&&(t.style.size===Xe.DISPLAY.size||a.limits);return o?t6:null}else{if(a.type==="accent")return fs(a.base)?l1:null;if(a.type==="horizBrace"){var l=!e.sub;return l===a.isOver?Qx:null}else return null}else return null};Ki({type:"supsub",htmlBuilder(n,e){var t=JC(n,e);if(t)return t(n,e);var{base:a,sup:s,sub:o}=n,l=Tt(a,e),u,d,h=e.fontMetrics(),m=0,p=0,b=a&&fs(a);if(s){var x=e.havingStyle(e.style.sup());u=Tt(s,x,e),b||(m=l.height-x.fontMetrics().supDrop*x.sizeMultiplier/e.sizeMultiplier)}if(o){var k=e.havingStyle(e.style.sub());d=Tt(o,k,e),b||(p=l.depth+k.fontMetrics().subDrop*k.sizeMultiplier/e.sizeMultiplier)}var _;e.style===Xe.DISPLAY?_=h.sup1:e.style.cramped?_=h.sup3:_=h.sup2;var T=e.sizeMultiplier,N=ve(.5/h.ptPerEm/T),E=null;if(d){var L=n.base&&n.base.type==="op"&&n.base.name&&(n.base.name==="\\oiint"||n.base.name==="\\oiiint");if(l instanceof xa||L){var B;E=ve(-((B=l.italic)!=null?B:0))}}var j;if(u&&d){m=Math.max(m,_,u.depth+.25*h.xHeight),p=Math.max(p,h.sub2);var q=h.defaultRuleThickness,K=4*q;if(m-u.depth-(d.height-p)<K){p=K-(m-u.depth)+d.height;var te=.8*h.xHeight-(m-u.depth);te>0&&(m+=te,p-=te)}var J=[{type:"elem",elem:d,shift:p,marginRight:N,marginLeft:E},{type:"elem",elem:u,shift:-m,marginRight:N}];j=Ct({positionType:"individualShift",children:J})}else if(d){p=Math.max(p,h.sub1,d.height-.8*h.xHeight);var be=[{type:"elem",elem:d,marginLeft:E,marginRight:N}];j=Ct({positionType:"shift",positionData:p,children:be})}else if(u)m=Math.max(m,_,u.depth+.25*h.xHeight),j=Ct({positionType:"shift",positionData:-m,children:[{type:"elem",elem:u,marginRight:N}]});else throw new Error("supsub must have either sup or sub.");var Le=ig(l,"right")||"mord";return ue([Le],[l,ue(["msupsub"],[j])],e)},mathmlBuilder(n,e){var t=!1,a,s;n.base&&n.base.type==="horizBrace"&&(s=!!n.sup,s===n.base.isOver&&(t=!0,a=n.base.isOver)),n.base&&(n.base.type==="op"||n.base.type==="operatorname")&&(n.base.parentIsSupSub=!0);var o=[Pt(n.base,e)];n.sub&&o.push(Pt(n.sub,e)),n.sup&&o.push(Pt(n.sup,e));var l;if(t)l=a?"mover":"munder";else if(n.sub)if(n.sup){var h=n.base;h&&h.type==="op"&&h.limits&&e.style===Xe.DISPLAY||h&&h.type==="operatorname"&&h.alwaysHandleSupSub&&(e.style===Xe.DISPLAY||h.limits)?l="munderover":l="msubsup"}else{var d=n.base;d&&d.type==="op"&&d.limits&&(e.style===Xe.DISPLAY||d.alwaysHandleSupSub)||d&&d.type==="operatorname"&&d.alwaysHandleSupSub&&(d.limits||e.style===Xe.DISPLAY)?l="munder":l="msub"}else{var u=n.base;u&&u.type==="op"&&u.limits&&(e.style===Xe.DISPLAY||u.alwaysHandleSupSub)||u&&u.type==="operatorname"&&u.alwaysHandleSupSub&&(u.limits||e.style===Xe.DISPLAY)?l="mover":l="msup"}return new pe(l,o)}});Ki({type:"atom",htmlBuilder(n,e){return r1(n.text,n.mode,e,["m"+n.family])},mathmlBuilder(n,e){var t=new pe("mo",[qa(n.text,n.mode)]);if(n.family==="bin"){var a=o1(n,e);a==="bold-italic"&&t.setAttribute("mathvariant",a)}else n.family==="punct"?t.setAttribute("separator","true"):(n.family==="open"||n.family==="close")&&t.setAttribute("stretchy","false");return t}});var a6={mi:"italic",mn:"normal",mtext:"normal"};Ki({type:"mathord",htmlBuilder(n,e){return F0(n,e,"mathord")},mathmlBuilder(n,e){var t=new pe("mi",[qa(n.text,n.mode,e)]),a=o1(n,e)||"italic";return a!==a6[t.type]&&t.setAttribute("mathvariant",a),t}});Ki({type:"textord",htmlBuilder(n,e){return F0(n,e,"textord")},mathmlBuilder(n,e){var t=qa(n.text,n.mode,e),a=o1(n,e)||"normal",s;return n.mode==="text"?s=new pe("mtext",[t]):/[0-9]/.test(n.text)?s=new pe("mn",[t]):n.text==="\\prime"?s=new pe("mo",[t]):s=new pe("mi",[t]),a!==a6[s.type]&&s.setAttribute("mathvariant",a),s}});var Ym={"\\nobreak":"nobreak","\\allowbreak":"allowbreak"},Zm={" ":{},"\\ ":{},"~":{className:"nobreak"},"\\space":{},"\\nobreakspace":{className:"nobreak"}};Ki({type:"spacing",htmlBuilder(n,e){if(Zm.hasOwnProperty(n.text)){var t=Zm[n.text].className||"";if(n.mode==="text"){var a=F0(n,e,"textord");return a.classes.push(t),a}else return ue(["mspace",t],[r1(n.text,n.mode,e)],e)}else{if(Ym.hasOwnProperty(n.text))return ue(["mspace",Ym[n.text]],[],e);throw new me('Unknown type of space "'+n.text+'"')}},mathmlBuilder(n,e){var t;if(Zm.hasOwnProperty(n.text))t=new pe("mtext",[new hn(" ")]);else{if(Ym.hasOwnProperty(n.text))return new pe("mspace");throw new me('Unknown type of space "'+n.text+'"')}return t}});var W2=()=>{var n=new pe("mtd",[]);return n.setAttribute("width","50%"),n};Ki({type:"tag",mathmlBuilder(n,e){var t=new pe("mtable",[new pe("mtr",[W2(),new pe("mtd",[ii(n.body,e)]),W2(),new pe("mtd",[ii(n.tag,e)])])]);return t.setAttribute("width","100%"),t}});var K2={"\\text":void 0,"\\textrm":"textrm","\\textsf":"textsf","\\texttt":"texttt","\\textnormal":"textrm"},Y2={"\\textbf":"textbf","\\textmd":"textmd"},eT={"\\textit":"textit","\\textup":"textup"},Z2=(n,e)=>{var t=n.font;if(t){if(K2[t])return e.withTextFontFamily(K2[t]);if(Y2[t])return e.withTextFontWeight(Y2[t]);if(t==="\\emph")return e.fontShape==="textit"?e.withTextFontShape("textup"):e.withTextFontShape("textit")}else return e;return e.withTextFontShape(eT[t])};we({type:"text",names:["\\text","\\textrm","\\textsf","\\texttt","\\textnormal","\\textbf","\\textmd","\\textit","\\textup","\\emph"],props:{numArgs:1,argTypes:["text"],allowedInArgument:!0,allowedInText:!0},handler(n,e){var{parser:t,funcName:a}=n,s=e[0];return{type:"text",mode:t.mode,body:fn(s),font:a}},htmlBuilder(n,e){var t=Z2(n,e),a=kn(n.body,t,!0);return ue(["mord","text"],a,t)},mathmlBuilder(n,e){var t=Z2(n,e);return ii(n.body,t)}});we({type:"underline",names:["\\underline"],props:{numArgs:1,allowedInText:!0},handler(n,e){var{parser:t}=n;return{type:"underline",mode:t.mode,body:e[0]}},htmlBuilder(n,e){var t=Tt(n.body,e),a=il("underline-line",e),s=e.fontMetrics().defaultRuleThickness,o=Ct({positionType:"top",positionData:t.height,children:[{type:"kern",size:s},{type:"elem",elem:a},{type:"kern",size:3*s},{type:"elem",elem:t}]});return ue(["mord","underline"],[o],e)},mathmlBuilder(n,e){var t=new pe("mo",[new hn("‾")]);t.setAttribute("stretchy","true");var a=new pe("munder",[Pt(n.body,e),t]);return a.setAttribute("accentunder","true"),a}});we({type:"vcenter",names:["\\vcenter"],props:{numArgs:1,argTypes:["original"],allowedInText:!1},handler(n,e){var{parser:t}=n;return{type:"vcenter",mode:t.mode,body:e[0]}},htmlBuilder(n,e){var t=Tt(n.body,e),a=e.fontMetrics().axisHeight,s=.5*(t.height-a-(t.depth+a));return Ct({positionType:"shift",positionData:s,children:[{type:"elem",elem:t}]})},mathmlBuilder(n,e){var t=new pe("mpadded",[Pt(n.body,e)],["vcenter"]);return new pe("mrow",[t])}});we({type:"verb",names:["\\verb"],props:{numArgs:0,allowedInText:!0},handler(n,e,t){throw new me("\\verb ended by end of line instead of matching delimiter")},htmlBuilder(n,e){for(var t=X2(n),a=[],s=e.havingStyle(e.style.text()),o=0;o<t.length;o++){var l=t[o];l==="~"&&(l="\\textasciitilde"),a.push(Xn(l,"Typewriter-Regular",n.mode,s,["mord","texttt"]))}return ue(["mord","text"].concat(s.sizingClasses(e)),xx(a),s)},mathmlBuilder(n,e){var t=new hn(X2(n)),a=new pe("mtext",[t]);return a.setAttribute("mathvariant","monospace"),a}});var X2=n=>n.body.replace(/ /g,n.star?"␣":" "),Zs=_x,r6=`[ \r
|
|
283
|
-
]`,tT="\\\\[a-zA-Z@]+",nT="\\\\[^\uD800-\uDFFF]",aT="("+tT+")"+r6+"*",rT=`\\\\(
|
|
284
|
-
|[ \r ]+
|
|
285
|
-
?)[ \r ]*`,fg="[̀-ͯ]",sT=new RegExp(fg+"+$"),iT="("+r6+"+)|"+(rT+"|")+"([!-\\[\\]-‧-豈-]"+(fg+"*")+"|[\uD800-\uDBFF][\uDC00-\uDFFF]"+(fg+"*")+"|\\\\verb\\*([^]).*?\\4|\\\\verb([^*a-zA-Z]).*?\\5"+("|"+aT)+("|"+nT+")");class Q2{constructor(e,t){this.input=void 0,this.settings=void 0,this.tokenRegex=void 0,this.catcodes=void 0,this.input=e,this.settings=t,this.tokenRegex=new RegExp(iT,"g"),this.catcodes={"%":14,"~":13}}setCatcode(e,t){this.catcodes[e]=t}lex(){var e=this.input,t=this.tokenRegex.lastIndex;if(t===e.length)return new ba("EOF",new oa(this,t,t));var a=this.tokenRegex.exec(e);if(a===null||a.index!==t)throw new me("Unexpected character: '"+e[t]+"'",new ba(e[t],new oa(this,t,t+1)));var s=a[6]||a[3]||(a[2]?"\\ ":" ");if(this.catcodes[s]===14){var o=e.indexOf(`
|
|
286
|
-
`,this.tokenRegex.lastIndex);return o===-1?(this.tokenRegex.lastIndex=e.length,this.settings.reportNonstrict("commentAtEnd","% comment has no terminating newline; LaTeX would fail because of commenting the end of math mode (e.g. $)")):this.tokenRegex.lastIndex=o+1,this.lex()}return new ba(s,new oa(this,t,this.tokenRegex.lastIndex))}}class oT{constructor(e,t){e===void 0&&(e={}),t===void 0&&(t={}),this.current=void 0,this.builtins=void 0,this.undefStack=void 0,this.current=t,this.builtins=e,this.undefStack=[]}beginGroup(){this.undefStack.push({})}endGroup(){if(this.undefStack.length===0)throw new me("Unbalanced namespace destruction: attempt to pop global namespace; please report this as a bug");var e=this.undefStack.pop();for(var t in e)e.hasOwnProperty(t)&&(e[t]==null?delete this.current[t]:this.current[t]=e[t])}endGroups(){for(;this.undefStack.length>0;)this.endGroup()}has(e){return this.current.hasOwnProperty(e)||this.builtins.hasOwnProperty(e)}get(e){return this.current.hasOwnProperty(e)?this.current[e]:this.builtins[e]}set(e,t,a){if(a===void 0&&(a=!1),a){for(var s=0;s<this.undefStack.length;s++)delete this.undefStack[s][e];this.undefStack.length>0&&(this.undefStack[this.undefStack.length-1][e]=t)}else{var o=this.undefStack[this.undefStack.length-1];o&&!o.hasOwnProperty(e)&&(o[e]=this.current[e])}t==null?delete this.current[e]:this.current[e]=t}}var lT=Wx;R("\\noexpand",function(n){var e=n.popToken();return n.isExpandable(e.text)&&(e.noexpand=!0,e.treatAsRelax=!0),{tokens:[e],numArgs:0}});R("\\expandafter",function(n){var e=n.popToken();return n.expandOnce(!0),{tokens:[e],numArgs:0}});R("\\@firstoftwo",function(n){var e=n.consumeArgs(2);return{tokens:e[0],numArgs:0}});R("\\@secondoftwo",function(n){var e=n.consumeArgs(2);return{tokens:e[1],numArgs:0}});R("\\@ifnextchar",function(n){var e=n.consumeArgs(3);n.consumeSpaces();var t=n.future();return e[0].length===1&&e[0][0].text===t.text?{tokens:e[1],numArgs:0}:{tokens:e[2],numArgs:0}});R("\\@ifstar","\\@ifnextchar *{\\@firstoftwo{#1}}");R("\\TextOrMath",function(n){var e=n.consumeArgs(2);return n.mode==="text"?{tokens:e[0],numArgs:0}:{tokens:e[1],numArgs:0}});var J2={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};R("\\char",function(n){var e=n.popToken(),t,a=0;if(e.text==="'")t=8,e=n.popToken();else if(e.text==='"')t=16,e=n.popToken();else if(e.text==="`")if(e=n.popToken(),e.text[0]==="\\")a=e.text.charCodeAt(1);else{if(e.text==="EOF")throw new me("\\char` missing argument");a=e.text.charCodeAt(0)}else t=10;if(t){if(a=J2[e.text],a==null||a>=t)throw new me("Invalid base-"+t+" digit "+e.text);for(var s;(s=J2[n.future().text])!=null&&s<t;)a*=t,a+=s,n.popToken()}return"\\@char{"+a+"}"});var f1=(n,e,t,a)=>{var s=n.consumeArg().tokens;if(s.length!==1)throw new me("\\newcommand's first argument must be a macro name");var o=s[0].text,l=n.isDefined(o);if(l&&!e)throw new me("\\newcommand{"+o+"} attempting to redefine "+(o+"; use \\renewcommand"));if(!l&&!t)throw new me("\\renewcommand{"+o+"} when command "+o+" does not yet exist; use \\newcommand");var u=0;if(s=n.consumeArg().tokens,s.length===1&&s[0].text==="["){for(var d="",h=n.expandNextToken();h.text!=="]"&&h.text!=="EOF";)d+=h.text,h=n.expandNextToken();if(!d.match(/^\s*[0-9]+\s*$/))throw new me("Invalid number of arguments: "+d);u=parseInt(d),s=n.consumeArg().tokens}return l&&a||n.macros.set(o,{tokens:s,numArgs:u}),""};R("\\newcommand",n=>f1(n,!1,!0,!1));R("\\renewcommand",n=>f1(n,!0,!1,!1));R("\\providecommand",n=>f1(n,!0,!0,!0));R("\\message",n=>{var e=n.consumeArgs(1)[0];return console.log(e.reverse().map(t=>t.text).join("")),""});R("\\errmessage",n=>{var e=n.consumeArgs(1)[0];return console.error(e.reverse().map(t=>t.text).join("")),""});R("\\show",n=>{var e=n.popToken(),t=e.text;return console.log(e,n.macros.get(t),Zs[t],Gt.math[t],Gt.text[t]),""});R("\\bgroup","{");R("\\egroup","}");R("~","\\nobreakspace");R("\\lq","`");R("\\rq","'");R("\\aa","\\r a");R("\\AA","\\r A");R("\\textcopyright","\\html@mathml{\\textcircled{c}}{\\char`©}");R("\\copyright","\\TextOrMath{\\textcopyright}{\\text{\\textcopyright}}");R("\\textregistered","\\html@mathml{\\textcircled{\\scriptsize R}}{\\char`®}");R("ℬ","\\mathscr{B}");R("ℰ","\\mathscr{E}");R("ℱ","\\mathscr{F}");R("ℋ","\\mathscr{H}");R("ℐ","\\mathscr{I}");R("ℒ","\\mathscr{L}");R("ℳ","\\mathscr{M}");R("ℛ","\\mathscr{R}");R("ℭ","\\mathfrak{C}");R("ℌ","\\mathfrak{H}");R("ℨ","\\mathfrak{Z}");R("\\Bbbk","\\Bbb{k}");R("\\llap","\\mathllap{\\textrm{#1}}");R("\\rlap","\\mathrlap{\\textrm{#1}}");R("\\clap","\\mathclap{\\textrm{#1}}");R("\\mathstrut","\\vphantom{(}");R("\\underbar","\\underline{\\text{#1}}");R("\\not",'\\html@mathml{\\mathrel{\\mathrlap\\@not}\\nobreak}{\\char"338}');R("\\neq","\\html@mathml{\\mathrel{\\not=}}{\\mathrel{\\char`≠}}");R("\\ne","\\neq");R("≠","\\neq");R("\\notin","\\html@mathml{\\mathrel{{\\in}\\mathllap{/\\mskip1mu}}}{\\mathrel{\\char`∉}}");R("∉","\\notin");R("≘","\\html@mathml{\\mathrel{=\\kern{-1em}\\raisebox{0.4em}{$\\scriptsize\\frown$}}}{\\mathrel{\\char`≘}}");R("≙","\\html@mathml{\\stackrel{\\tiny\\wedge}{=}}{\\mathrel{\\char`≘}}");R("≚","\\html@mathml{\\stackrel{\\tiny\\vee}{=}}{\\mathrel{\\char`≚}}");R("≛","\\html@mathml{\\stackrel{\\scriptsize\\star}{=}}{\\mathrel{\\char`≛}}");R("≝","\\html@mathml{\\stackrel{\\tiny\\mathrm{def}}{=}}{\\mathrel{\\char`≝}}");R("≞","\\html@mathml{\\stackrel{\\tiny\\mathrm{m}}{=}}{\\mathrel{\\char`≞}}");R("≟","\\html@mathml{\\stackrel{\\tiny?}{=}}{\\mathrel{\\char`≟}}");R("⟂","\\perp");R("‼","\\mathclose{!\\mkern-0.8mu!}");R("∌","\\notni");R("⌜","\\ulcorner");R("⌝","\\urcorner");R("⌞","\\llcorner");R("⌟","\\lrcorner");R("©","\\copyright");R("®","\\textregistered");R("\\ulcorner",'\\html@mathml{\\@ulcorner}{\\mathop{\\char"231c}}');R("\\urcorner",'\\html@mathml{\\@urcorner}{\\mathop{\\char"231d}}');R("\\llcorner",'\\html@mathml{\\@llcorner}{\\mathop{\\char"231e}}');R("\\lrcorner",'\\html@mathml{\\@lrcorner}{\\mathop{\\char"231f}}');R("\\vdots","{\\varvdots\\rule{0pt}{15pt}}");R("⋮","\\vdots");R("\\varGamma","\\mathit{\\Gamma}");R("\\varDelta","\\mathit{\\Delta}");R("\\varTheta","\\mathit{\\Theta}");R("\\varLambda","\\mathit{\\Lambda}");R("\\varXi","\\mathit{\\Xi}");R("\\varPi","\\mathit{\\Pi}");R("\\varSigma","\\mathit{\\Sigma}");R("\\varUpsilon","\\mathit{\\Upsilon}");R("\\varPhi","\\mathit{\\Phi}");R("\\varPsi","\\mathit{\\Psi}");R("\\varOmega","\\mathit{\\Omega}");R("\\substack","\\begin{subarray}{c}#1\\end{subarray}");R("\\colon","\\nobreak\\mskip2mu\\mathpunct{}\\mathchoice{\\mkern-3mu}{\\mkern-3mu}{}{}{:}\\mskip6mu\\relax");R("\\boxed","\\fbox{$\\displaystyle{#1}$}");R("\\iff","\\DOTSB\\;\\Longleftrightarrow\\;");R("\\implies","\\DOTSB\\;\\Longrightarrow\\;");R("\\impliedby","\\DOTSB\\;\\Longleftarrow\\;");R("\\dddot","{\\overset{\\raisebox{-0.1ex}{\\normalsize ...}}{#1}}");R("\\ddddot","{\\overset{\\raisebox{-0.1ex}{\\normalsize ....}}{#1}}");var e5={",":"\\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"},cT=new Set(["bin","rel"]);R("\\dots",function(n){var e="\\dotso",t=n.expandAfterFuture().text;return t in e5?e=e5[t]:(t.slice(0,4)==="\\not"||t in Gt.math&&cT.has(Gt.math[t].group))&&(e="\\dotsb"),e});var h1={")":!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};R("\\dotso",function(n){var e=n.future().text;return e in h1?"\\ldots\\,":"\\ldots"});R("\\dotsc",function(n){var e=n.future().text;return e in h1&&e!==","?"\\ldots\\,":"\\ldots"});R("\\cdots",function(n){var e=n.future().text;return e in h1?"\\@cdots\\,":"\\@cdots"});R("\\dotsb","\\cdots");R("\\dotsm","\\cdots");R("\\dotsi","\\!\\cdots");R("\\dotsx","\\ldots\\,");R("\\DOTSI","\\relax");R("\\DOTSB","\\relax");R("\\DOTSX","\\relax");R("\\tmspace","\\TextOrMath{\\kern#1#3}{\\mskip#1#2}\\relax");R("\\,","\\tmspace+{3mu}{.1667em}");R("\\thinspace","\\,");R("\\>","\\mskip{4mu}");R("\\:","\\tmspace+{4mu}{.2222em}");R("\\medspace","\\:");R("\\;","\\tmspace+{5mu}{.2777em}");R("\\thickspace","\\;");R("\\!","\\tmspace-{3mu}{.1667em}");R("\\negthinspace","\\!");R("\\negmedspace","\\tmspace-{4mu}{.2222em}");R("\\negthickspace","\\tmspace-{5mu}{.277em}");R("\\enspace","\\kern.5em ");R("\\enskip","\\hskip.5em\\relax");R("\\quad","\\hskip1em\\relax");R("\\qquad","\\hskip2em\\relax");R("\\tag","\\@ifstar\\tag@literal\\tag@paren");R("\\tag@paren","\\tag@literal{({#1})}");R("\\tag@literal",n=>{if(n.macros.get("\\df@tag"))throw new me("Multiple \\tag");return"\\gdef\\df@tag{\\text{#1}}"});R("\\bmod","\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}\\mathbin{\\rm mod}\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}");R("\\pod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern8mu}{\\mkern8mu}{\\mkern8mu}(#1)");R("\\pmod","\\pod{{\\rm mod}\\mkern6mu#1}");R("\\mod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern12mu}{\\mkern12mu}{\\mkern12mu}{\\rm mod}\\,\\,#1");R("\\newline","\\\\\\relax");R("\\TeX","\\textrm{\\html@mathml{T\\kern-.1667em\\raisebox{-.5ex}{E}\\kern-.125emX}{TeX}}");var s6=ve(br["Main-Regular"][84][1]-.7*br["Main-Regular"][65][1]);R("\\LaTeX","\\textrm{\\html@mathml{"+("L\\kern-.36em\\raisebox{"+s6+"}{\\scriptstyle A}")+"\\kern-.15em\\TeX}{LaTeX}}");R("\\KaTeX","\\textrm{\\html@mathml{"+("K\\kern-.17em\\raisebox{"+s6+"}{\\scriptstyle A}")+"\\kern-.15em\\TeX}{KaTeX}}");R("\\hspace","\\@ifstar\\@hspacer\\@hspace");R("\\@hspace","\\hskip #1\\relax");R("\\@hspacer","\\rule{0pt}{0pt}\\hskip #1\\relax");R("\\ordinarycolon",":");R("\\vcentcolon","\\mathrel{\\mathop\\ordinarycolon}");R("\\dblcolon",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-.9mu}\\vcentcolon}}{\\mathop{\\char"2237}}');R("\\coloneqq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2254}}');R("\\Coloneqq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2237\\char"3d}}');R("\\coloneq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"3a\\char"2212}}');R("\\Coloneq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"2237\\char"2212}}');R("\\eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2255}}');R("\\Eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"3d\\char"2237}}');R("\\eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2239}}');R("\\Eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"2212\\char"2237}}');R("\\colonapprox",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"3a\\char"2248}}');R("\\Colonapprox",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"2237\\char"2248}}');R("\\colonsim",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"3a\\char"223c}}');R("\\Colonsim",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"2237\\char"223c}}');R("∷","\\dblcolon");R("∹","\\eqcolon");R("≔","\\coloneqq");R("≕","\\eqqcolon");R("⩴","\\Coloneqq");R("\\ratio","\\vcentcolon");R("\\coloncolon","\\dblcolon");R("\\colonequals","\\coloneqq");R("\\coloncolonequals","\\Coloneqq");R("\\equalscolon","\\eqqcolon");R("\\equalscoloncolon","\\Eqqcolon");R("\\colonminus","\\coloneq");R("\\coloncolonminus","\\Coloneq");R("\\minuscolon","\\eqcolon");R("\\minuscoloncolon","\\Eqcolon");R("\\coloncolonapprox","\\Colonapprox");R("\\coloncolonsim","\\Colonsim");R("\\simcolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\vcentcolon}");R("\\simcoloncolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\dblcolon}");R("\\approxcolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\vcentcolon}");R("\\approxcoloncolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\dblcolon}");R("\\notni","\\html@mathml{\\not\\ni}{\\mathrel{\\char`∌}}");R("\\limsup","\\DOTSB\\operatorname*{lim\\,sup}");R("\\liminf","\\DOTSB\\operatorname*{lim\\,inf}");R("\\injlim","\\DOTSB\\operatorname*{inj\\,lim}");R("\\projlim","\\DOTSB\\operatorname*{proj\\,lim}");R("\\varlimsup","\\DOTSB\\operatorname*{\\overline{lim}}");R("\\varliminf","\\DOTSB\\operatorname*{\\underline{lim}}");R("\\varinjlim","\\DOTSB\\operatorname*{\\underrightarrow{lim}}");R("\\varprojlim","\\DOTSB\\operatorname*{\\underleftarrow{lim}}");R("\\gvertneqq","\\html@mathml{\\@gvertneqq}{≩}");R("\\lvertneqq","\\html@mathml{\\@lvertneqq}{≨}");R("\\ngeqq","\\html@mathml{\\@ngeqq}{≱}");R("\\ngeqslant","\\html@mathml{\\@ngeqslant}{≱}");R("\\nleqq","\\html@mathml{\\@nleqq}{≰}");R("\\nleqslant","\\html@mathml{\\@nleqslant}{≰}");R("\\nshortmid","\\html@mathml{\\@nshortmid}{∤}");R("\\nshortparallel","\\html@mathml{\\@nshortparallel}{∦}");R("\\nsubseteqq","\\html@mathml{\\@nsubseteqq}{⊈}");R("\\nsupseteqq","\\html@mathml{\\@nsupseteqq}{⊉}");R("\\varsubsetneq","\\html@mathml{\\@varsubsetneq}{⊊}");R("\\varsubsetneqq","\\html@mathml{\\@varsubsetneqq}{⫋}");R("\\varsupsetneq","\\html@mathml{\\@varsupsetneq}{⊋}");R("\\varsupsetneqq","\\html@mathml{\\@varsupsetneqq}{⫌}");R("\\imath","\\html@mathml{\\@imath}{ı}");R("\\jmath","\\html@mathml{\\@jmath}{ȷ}");R("\\llbracket","\\html@mathml{\\mathopen{[\\mkern-3.2mu[}}{\\mathopen{\\char`⟦}}");R("\\rrbracket","\\html@mathml{\\mathclose{]\\mkern-3.2mu]}}{\\mathclose{\\char`⟧}}");R("⟦","\\llbracket");R("⟧","\\rrbracket");R("\\lBrace","\\html@mathml{\\mathopen{\\{\\mkern-3.2mu[}}{\\mathopen{\\char`⦃}}");R("\\rBrace","\\html@mathml{\\mathclose{]\\mkern-3.2mu\\}}}{\\mathclose{\\char`⦄}}");R("⦃","\\lBrace");R("⦄","\\rBrace");R("\\minuso","\\mathbin{\\html@mathml{{\\mathrlap{\\mathchoice{\\kern{0.145em}}{\\kern{0.145em}}{\\kern{0.1015em}}{\\kern{0.0725em}}\\circ}{-}}}{\\char`⦵}}");R("⦵","\\minuso");R("\\darr","\\downarrow");R("\\dArr","\\Downarrow");R("\\Darr","\\Downarrow");R("\\lang","\\langle");R("\\rang","\\rangle");R("\\uarr","\\uparrow");R("\\uArr","\\Uparrow");R("\\Uarr","\\Uparrow");R("\\N","\\mathbb{N}");R("\\R","\\mathbb{R}");R("\\Z","\\mathbb{Z}");R("\\alef","\\aleph");R("\\alefsym","\\aleph");R("\\Alpha","\\mathrm{A}");R("\\Beta","\\mathrm{B}");R("\\bull","\\bullet");R("\\Chi","\\mathrm{X}");R("\\clubs","\\clubsuit");R("\\cnums","\\mathbb{C}");R("\\Complex","\\mathbb{C}");R("\\Dagger","\\ddagger");R("\\diamonds","\\diamondsuit");R("\\empty","\\emptyset");R("\\Epsilon","\\mathrm{E}");R("\\Eta","\\mathrm{H}");R("\\exist","\\exists");R("\\harr","\\leftrightarrow");R("\\hArr","\\Leftrightarrow");R("\\Harr","\\Leftrightarrow");R("\\hearts","\\heartsuit");R("\\image","\\Im");R("\\infin","\\infty");R("\\Iota","\\mathrm{I}");R("\\isin","\\in");R("\\Kappa","\\mathrm{K}");R("\\larr","\\leftarrow");R("\\lArr","\\Leftarrow");R("\\Larr","\\Leftarrow");R("\\lrarr","\\leftrightarrow");R("\\lrArr","\\Leftrightarrow");R("\\Lrarr","\\Leftrightarrow");R("\\Mu","\\mathrm{M}");R("\\natnums","\\mathbb{N}");R("\\Nu","\\mathrm{N}");R("\\Omicron","\\mathrm{O}");R("\\plusmn","\\pm");R("\\rarr","\\rightarrow");R("\\rArr","\\Rightarrow");R("\\Rarr","\\Rightarrow");R("\\real","\\Re");R("\\reals","\\mathbb{R}");R("\\Reals","\\mathbb{R}");R("\\Rho","\\mathrm{P}");R("\\sdot","\\cdot");R("\\sect","\\S");R("\\spades","\\spadesuit");R("\\sub","\\subset");R("\\sube","\\subseteq");R("\\supe","\\supseteq");R("\\Tau","\\mathrm{T}");R("\\thetasym","\\vartheta");R("\\weierp","\\wp");R("\\Zeta","\\mathrm{Z}");R("\\argmin","\\DOTSB\\operatorname*{arg\\,min}");R("\\argmax","\\DOTSB\\operatorname*{arg\\,max}");R("\\plim","\\DOTSB\\mathop{\\operatorname{plim}}\\limits");R("\\bra","\\mathinner{\\langle{#1}|}");R("\\ket","\\mathinner{|{#1}\\rangle}");R("\\braket","\\mathinner{\\langle{#1}\\rangle}");R("\\Bra","\\left\\langle#1\\right|");R("\\Ket","\\left|#1\\right\\rangle");var i6=n=>e=>{var t=e.consumeArg().tokens,a=e.consumeArg().tokens,s=e.consumeArg().tokens,o=e.consumeArg().tokens,l=e.macros.get("|"),u=e.macros.get("\\|");e.macros.beginGroup();var d=p=>b=>{n&&(b.macros.set("|",l),s.length&&b.macros.set("\\|",u));var x=p;if(!p&&s.length){var k=b.future();k.text==="|"&&(b.popToken(),x=!0)}return{tokens:x?s:a,numArgs:0}};e.macros.set("|",d(!1)),s.length&&e.macros.set("\\|",d(!0));var h=e.consumeArg().tokens,m=e.expandTokens([...o,...h,...t]);return e.macros.endGroup(),{tokens:m.reverse(),numArgs:0}};R("\\bra@ket",i6(!1));R("\\bra@set",i6(!0));R("\\Braket","\\bra@ket{\\left\\langle}{\\,\\middle\\vert\\,}{\\,\\middle\\vert\\,}{\\right\\rangle}");R("\\Set","\\bra@set{\\left\\{\\:}{\\;\\middle\\vert\\;}{\\;\\middle\\Vert\\;}{\\:\\right\\}}");R("\\set","\\bra@set{\\{\\,}{\\mid}{}{\\,\\}}");R("\\angln","{\\angl n}");R("\\blue","\\textcolor{##6495ed}{#1}");R("\\orange","\\textcolor{##ffa500}{#1}");R("\\pink","\\textcolor{##ff00af}{#1}");R("\\red","\\textcolor{##df0030}{#1}");R("\\green","\\textcolor{##28ae7b}{#1}");R("\\gray","\\textcolor{gray}{#1}");R("\\purple","\\textcolor{##9d38bd}{#1}");R("\\blueA","\\textcolor{##ccfaff}{#1}");R("\\blueB","\\textcolor{##80f6ff}{#1}");R("\\blueC","\\textcolor{##63d9ea}{#1}");R("\\blueD","\\textcolor{##11accd}{#1}");R("\\blueE","\\textcolor{##0c7f99}{#1}");R("\\tealA","\\textcolor{##94fff5}{#1}");R("\\tealB","\\textcolor{##26edd5}{#1}");R("\\tealC","\\textcolor{##01d1c1}{#1}");R("\\tealD","\\textcolor{##01a995}{#1}");R("\\tealE","\\textcolor{##208170}{#1}");R("\\greenA","\\textcolor{##b6ffb0}{#1}");R("\\greenB","\\textcolor{##8af281}{#1}");R("\\greenC","\\textcolor{##74cf70}{#1}");R("\\greenD","\\textcolor{##1fab54}{#1}");R("\\greenE","\\textcolor{##0d923f}{#1}");R("\\goldA","\\textcolor{##ffd0a9}{#1}");R("\\goldB","\\textcolor{##ffbb71}{#1}");R("\\goldC","\\textcolor{##ff9c39}{#1}");R("\\goldD","\\textcolor{##e07d10}{#1}");R("\\goldE","\\textcolor{##a75a05}{#1}");R("\\redA","\\textcolor{##fca9a9}{#1}");R("\\redB","\\textcolor{##ff8482}{#1}");R("\\redC","\\textcolor{##f9685d}{#1}");R("\\redD","\\textcolor{##e84d39}{#1}");R("\\redE","\\textcolor{##bc2612}{#1}");R("\\maroonA","\\textcolor{##ffbde0}{#1}");R("\\maroonB","\\textcolor{##ff92c6}{#1}");R("\\maroonC","\\textcolor{##ed5fa6}{#1}");R("\\maroonD","\\textcolor{##ca337c}{#1}");R("\\maroonE","\\textcolor{##9e034e}{#1}");R("\\purpleA","\\textcolor{##ddd7ff}{#1}");R("\\purpleB","\\textcolor{##c6b9fc}{#1}");R("\\purpleC","\\textcolor{##aa87ff}{#1}");R("\\purpleD","\\textcolor{##7854ab}{#1}");R("\\purpleE","\\textcolor{##543b78}{#1}");R("\\mintA","\\textcolor{##f5f9e8}{#1}");R("\\mintB","\\textcolor{##edf2df}{#1}");R("\\mintC","\\textcolor{##e0e5cc}{#1}");R("\\grayA","\\textcolor{##f6f7f7}{#1}");R("\\grayB","\\textcolor{##f0f1f2}{#1}");R("\\grayC","\\textcolor{##e3e5e6}{#1}");R("\\grayD","\\textcolor{##d6d8da}{#1}");R("\\grayE","\\textcolor{##babec2}{#1}");R("\\grayF","\\textcolor{##888d93}{#1}");R("\\grayG","\\textcolor{##626569}{#1}");R("\\grayH","\\textcolor{##3b3e40}{#1}");R("\\grayI","\\textcolor{##21242c}{#1}");R("\\kaBlue","\\textcolor{##314453}{#1}");R("\\kaGreen","\\textcolor{##71B307}{#1}");var o6={"^":!0,_:!0,"\\limits":!0,"\\nolimits":!0};class uT{constructor(e,t,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=t,this.expansionCount=0,this.feed(e),this.macros=new oT(lT,t.macros),this.mode=a,this.stack=[]}feed(e){this.lexer=new Q2(e,this.settings)}switchMode(e){this.mode=e}beginGroup(){this.macros.beginGroup()}endGroup(){this.macros.endGroup()}endGroups(){this.macros.endGroups()}future(){return this.stack.length===0&&this.pushToken(this.lexer.lex()),this.stack[this.stack.length-1]}popToken(){return this.future(),this.stack.pop()}pushToken(e){this.stack.push(e)}pushTokens(e){this.stack.push(...e)}scanArgument(e){var t,a,s;if(e){if(this.consumeSpaces(),this.future().text!=="[")return null;t=this.popToken(),{tokens:s,end:a}=this.consumeArg(["]"])}else({tokens:s,start:t,end:a}=this.consumeArg());return this.pushToken(new ba("EOF",a.loc)),this.pushTokens(s),new ba("",oa.range(t,a))}consumeSpaces(){for(;;){var e=this.future();if(e.text===" ")this.stack.pop();else break}}consumeArg(e){var t=[],a=e&&e.length>0;a||this.consumeSpaces();var s=this.future(),o,l=0,u=0;do{if(o=this.popToken(),t.push(o),o.text==="{")++l;else if(o.text==="}"){if(--l,l===-1)throw new me("Extra }",o)}else if(o.text==="EOF")throw new me("Unexpected end of input in a macro argument, expected '"+(e&&a?e[u]:"}")+"'",o);if(e&&a)if((l===0||l===1&&e[u]==="{")&&o.text===e[u]){if(++u,u===e.length){t.splice(-u,u);break}}else u=0}while(l!==0||a);return s.text==="{"&&t[t.length-1].text==="}"&&(t.pop(),t.shift()),t.reverse(),{tokens:t,start:s,end:o}}consumeArgs(e,t){if(t){if(t.length!==e+1)throw new me("The length of delimiters doesn't match the number of args!");for(var a=t[0],s=0;s<a.length;s++){var o=this.popToken();if(a[s]!==o.text)throw new me("Use of the macro doesn't match its definition",o)}}for(var l=[],u=0;u<e;u++)l.push(this.consumeArg(t&&t[u+1]).tokens);return l}countExpansion(e){if(this.expansionCount+=e,this.expansionCount>this.settings.maxExpand)throw new me("Too many expansions: infinite loop or need to increase maxExpand setting")}expandOnce(e){var t=this.popToken(),a=t.text,s=t.noexpand?null:this._getExpansion(a);if(s==null||e&&s.unexpandable){if(e&&s==null&&a[0]==="\\"&&!this.isDefined(a))throw new me("Undefined control sequence: "+a);return this.pushToken(t),!1}this.countExpansion(1);var o=s.tokens,l=this.consumeArgs(s.numArgs,s.delimiters);if(s.numArgs){o=o.slice();for(var u=o.length-1;u>=0;--u){var d=o[u];if(d.text==="#"){if(u===0)throw new me("Incomplete placeholder at end of macro body",d);if(d=o[--u],d.text==="#")o.splice(u+1,1);else if(/^[1-9]$/.test(d.text))o.splice(u,2,...l[+d.text-1]);else throw new me("Not a valid argument number",d)}}}return this.pushTokens(o),o.length}expandAfterFuture(){return this.expandOnce(),this.future()}expandNextToken(){for(;;)if(this.expandOnce()===!1){var e=this.stack.pop();return e.treatAsRelax&&(e.text="\\relax"),e}}expandMacro(e){return this.macros.has(e)?this.expandTokens([new ba(e)]):void 0}expandTokens(e){var t=[],a=this.stack.length;for(this.pushTokens(e);this.stack.length>a;)if(this.expandOnce(!0)===!1){var s=this.stack.pop();s.treatAsRelax&&(s.noexpand=!1,s.treatAsRelax=!1),t.push(s)}return this.countExpansion(t.length),t}expandMacroAsText(e){var t=this.expandMacro(e);return t&&t.map(a=>a.text).join("")}_getExpansion(e){var t=this.macros.get(e);if(t==null)return t;if(e.length===1){var a=this.lexer.catcodes[e];if(a!=null&&a!==13)return}var s=typeof t=="function"?t(this):t;if(typeof s=="string"){var o=0;if(s.includes("#"))for(var l=s.replace(/##/g,"");l.includes("#"+(o+1));)++o;for(var u=new Q2(s,this.settings),d=[],h=u.lex();h.text!=="EOF";)d.push(h),h=u.lex();d.reverse();var m={tokens:d,numArgs:o};return m}return s}isDefined(e){return this.macros.has(e)||Zs.hasOwnProperty(e)||Gt.math.hasOwnProperty(e)||Gt.text.hasOwnProperty(e)||o6.hasOwnProperty(e)}isExpandable(e){var t=this.macros.get(e);return t!=null?typeof t=="string"||typeof t=="function"||!t.unexpandable:Zs.hasOwnProperty(e)&&!Zs[e].primitive}}var t5=/^[₊₋₌₍₎₀₁₂₃₄₅₆₇₈₉ₐₑₕᵢⱼₖₗₘₙₒₚᵣₛₜᵤᵥₓᵦᵧᵨᵩᵪ]/,Ld=Object.freeze({"₊":"+","₋":"-","₌":"=","₍":"(","₎":")","₀":"0","₁":"1","₂":"2","₃":"3","₄":"4","₅":"5","₆":"6","₇":"7","₈":"8","₉":"9","ₐ":"a","ₑ":"e","ₕ":"h","ᵢ":"i","ⱼ":"j","ₖ":"k","ₗ":"l","ₘ":"m","ₙ":"n","ₒ":"o","ₚ":"p","ᵣ":"r","ₛ":"s","ₜ":"t","ᵤ":"u","ᵥ":"v","ₓ":"x","ᵦ":"β","ᵧ":"γ","ᵨ":"ρ","ᵩ":"ϕ","ᵪ":"χ","⁺":"+","⁻":"-","⁼":"=","⁽":"(","⁾":")","⁰":"0","¹":"1","²":"2","³":"3","⁴":"4","⁵":"5","⁶":"6","⁷":"7","⁸":"8","⁹":"9","ᴬ":"A","ᴮ":"B","ᴰ":"D","ᴱ":"E","ᴳ":"G","ᴴ":"H","ᴵ":"I","ᴶ":"J","ᴷ":"K","ᴸ":"L","ᴹ":"M","ᴺ":"N","ᴼ":"O","ᴾ":"P","ᴿ":"R","ᵀ":"T","ᵁ":"U","ⱽ":"V","ᵂ":"W","ᵃ":"a","ᵇ":"b","ᶜ":"c","ᵈ":"d","ᵉ":"e","ᶠ":"f","ᵍ":"g",ʰ:"h","ⁱ":"i",ʲ:"j","ᵏ":"k",ˡ:"l","ᵐ":"m",ⁿ:"n","ᵒ":"o","ᵖ":"p",ʳ:"r",ˢ:"s","ᵗ":"t","ᵘ":"u","ᵛ":"v",ʷ:"w",ˣ:"x",ʸ:"y","ᶻ":"z","ᵝ":"β","ᵞ":"γ","ᵟ":"δ","ᵠ":"ϕ","ᵡ":"χ","ᶿ":"θ"}),Xm={"́":{text:"\\'",math:"\\acute"},"̀":{text:"\\`",math:"\\grave"},"̈":{text:'\\"',math:"\\ddot"},"̃":{text:"\\~",math:"\\tilde"},"̄":{text:"\\=",math:"\\bar"},"̆":{text:"\\u",math:"\\breve"},"̌":{text:"\\v",math:"\\check"},"̂":{text:"\\^",math:"\\hat"},"̇":{text:"\\.",math:"\\dot"},"̊":{text:"\\r",math:"\\mathring"},"̋":{text:"\\H"},"̧":{text:"\\c"}},n5={á:"á",à:"à",ä:"ä",ǟ:"ǟ",ã:"ã",ā:"ā",ă:"ă",ắ:"ắ",ằ:"ằ",ẵ:"ẵ",ǎ:"ǎ",â:"â",ấ:"ấ",ầ:"ầ",ẫ:"ẫ",ȧ:"ȧ",ǡ:"ǡ",å:"å",ǻ:"ǻ",ḃ:"ḃ",ć:"ć",ḉ:"ḉ",č:"č",ĉ:"ĉ",ċ:"ċ",ç:"ç",ď:"ď",ḋ:"ḋ",ḑ:"ḑ",é:"é",è:"è",ë:"ë",ẽ:"ẽ",ē:"ē",ḗ:"ḗ",ḕ:"ḕ",ĕ:"ĕ",ḝ:"ḝ",ě:"ě",ê:"ê",ế:"ế",ề:"ề",ễ:"ễ",ė:"ė",ȩ:"ȩ",ḟ:"ḟ",ǵ:"ǵ",ḡ:"ḡ",ğ:"ğ",ǧ:"ǧ",ĝ:"ĝ",ġ:"ġ",ģ:"ģ",ḧ:"ḧ",ȟ:"ȟ",ĥ:"ĥ",ḣ:"ḣ",ḩ:"ḩ",í:"í",ì:"ì",ï:"ï",ḯ:"ḯ",ĩ:"ĩ",ī:"ī",ĭ:"ĭ",ǐ:"ǐ",î:"î",ǰ:"ǰ",ĵ:"ĵ",ḱ:"ḱ",ǩ:"ǩ",ķ:"ķ",ĺ:"ĺ",ľ:"ľ",ļ:"ļ",ḿ:"ḿ",ṁ:"ṁ",ń:"ń",ǹ:"ǹ",ñ:"ñ",ň:"ň",ṅ:"ṅ",ņ:"ņ",ó:"ó",ò:"ò",ö:"ö",ȫ:"ȫ",õ:"õ",ṍ:"ṍ",ṏ:"ṏ",ȭ:"ȭ",ō:"ō",ṓ:"ṓ",ṑ:"ṑ",ŏ:"ŏ",ǒ:"ǒ",ô:"ô",ố:"ố",ồ:"ồ",ỗ:"ỗ",ȯ:"ȯ",ȱ:"ȱ",ő:"ő",ṕ:"ṕ",ṗ:"ṗ",ŕ:"ŕ",ř:"ř",ṙ:"ṙ",ŗ:"ŗ",ś:"ś",ṥ:"ṥ",š:"š",ṧ:"ṧ",ŝ:"ŝ",ṡ:"ṡ",ş:"ş",ẗ:"ẗ",ť:"ť",ṫ:"ṫ",ţ:"ţ",ú:"ú",ù:"ù",ü:"ü",ǘ:"ǘ",ǜ:"ǜ",ǖ:"ǖ",ǚ:"ǚ",ũ:"ũ",ṹ:"ṹ",ū:"ū",ṻ:"ṻ",ŭ:"ŭ",ǔ:"ǔ",û:"û",ů:"ů",ű:"ű",ṽ:"ṽ",ẃ:"ẃ",ẁ:"ẁ",ẅ:"ẅ",ŵ:"ŵ",ẇ:"ẇ",ẘ:"ẘ",ẍ:"ẍ",ẋ:"ẋ",ý:"ý",ỳ:"ỳ",ÿ:"ÿ",ỹ:"ỹ",ȳ:"ȳ",ŷ:"ŷ",ẏ:"ẏ",ẙ:"ẙ",ź:"ź",ž:"ž",ẑ:"ẑ",ż:"ż",Á:"Á",À:"À",Ä:"Ä",Ǟ:"Ǟ",Ã:"Ã",Ā:"Ā",Ă:"Ă",Ắ:"Ắ",Ằ:"Ằ",Ẵ:"Ẵ",Ǎ:"Ǎ",Â:"Â",Ấ:"Ấ",Ầ:"Ầ",Ẫ:"Ẫ",Ȧ:"Ȧ",Ǡ:"Ǡ",Å:"Å",Ǻ:"Ǻ",Ḃ:"Ḃ",Ć:"Ć",Ḉ:"Ḉ",Č:"Č",Ĉ:"Ĉ",Ċ:"Ċ",Ç:"Ç",Ď:"Ď",Ḋ:"Ḋ",Ḑ:"Ḑ",É:"É",È:"È",Ë:"Ë",Ẽ:"Ẽ",Ē:"Ē",Ḗ:"Ḗ",Ḕ:"Ḕ",Ĕ:"Ĕ",Ḝ:"Ḝ",Ě:"Ě",Ê:"Ê",Ế:"Ế",Ề:"Ề",Ễ:"Ễ",Ė:"Ė",Ȩ:"Ȩ",Ḟ:"Ḟ",Ǵ:"Ǵ",Ḡ:"Ḡ",Ğ:"Ğ",Ǧ:"Ǧ",Ĝ:"Ĝ",Ġ:"Ġ",Ģ:"Ģ",Ḧ:"Ḧ",Ȟ:"Ȟ",Ĥ:"Ĥ",Ḣ:"Ḣ",Ḩ:"Ḩ",Í:"Í",Ì:"Ì",Ï:"Ï",Ḯ:"Ḯ",Ĩ:"Ĩ",Ī:"Ī",Ĭ:"Ĭ",Ǐ:"Ǐ",Î:"Î",İ:"İ",Ĵ:"Ĵ",Ḱ:"Ḱ",Ǩ:"Ǩ",Ķ:"Ķ",Ĺ:"Ĺ",Ľ:"Ľ",Ļ:"Ļ",Ḿ:"Ḿ",Ṁ:"Ṁ",Ń:"Ń",Ǹ:"Ǹ",Ñ:"Ñ",Ň:"Ň",Ṅ:"Ṅ",Ņ:"Ņ",Ó:"Ó",Ò:"Ò",Ö:"Ö",Ȫ:"Ȫ",Õ:"Õ",Ṍ:"Ṍ",Ṏ:"Ṏ",Ȭ:"Ȭ",Ō:"Ō",Ṓ:"Ṓ",Ṑ:"Ṑ",Ŏ:"Ŏ",Ǒ:"Ǒ",Ô:"Ô",Ố:"Ố",Ồ:"Ồ",Ỗ:"Ỗ",Ȯ:"Ȯ",Ȱ:"Ȱ",Ő:"Ő",Ṕ:"Ṕ",Ṗ:"Ṗ",Ŕ:"Ŕ",Ř:"Ř",Ṙ:"Ṙ",Ŗ:"Ŗ",Ś:"Ś",Ṥ:"Ṥ",Š:"Š",Ṧ:"Ṧ",Ŝ:"Ŝ",Ṡ:"Ṡ",Ş:"Ş",Ť:"Ť",Ṫ:"Ṫ",Ţ:"Ţ",Ú:"Ú",Ù:"Ù",Ü:"Ü",Ǘ:"Ǘ",Ǜ:"Ǜ",Ǖ:"Ǖ",Ǚ:"Ǚ",Ũ:"Ũ",Ṹ:"Ṹ",Ū:"Ū",Ṻ:"Ṻ",Ŭ:"Ŭ",Ǔ:"Ǔ",Û:"Û",Ů:"Ů",Ű:"Ű",Ṽ:"Ṽ",Ẃ:"Ẃ",Ẁ:"Ẁ",Ẅ:"Ẅ",Ŵ:"Ŵ",Ẇ:"Ẇ",Ẍ:"Ẍ",Ẋ:"Ẋ",Ý:"Ý",Ỳ:"Ỳ",Ÿ:"Ÿ",Ỹ:"Ỹ",Ȳ:"Ȳ",Ŷ:"Ŷ",Ẏ:"Ẏ",Ź:"Ź",Ž:"Ž",Ẑ:"Ẑ",Ż:"Ż",ά:"ά",ὰ:"ὰ",ᾱ:"ᾱ",ᾰ:"ᾰ",έ:"έ",ὲ:"ὲ",ή:"ή",ὴ:"ὴ",ί:"ί",ὶ:"ὶ",ϊ:"ϊ",ΐ:"ΐ",ῒ:"ῒ",ῑ:"ῑ",ῐ:"ῐ",ό:"ό",ὸ:"ὸ",ύ:"ύ",ὺ:"ὺ",ϋ:"ϋ",ΰ:"ΰ",ῢ:"ῢ",ῡ:"ῡ",ῠ:"ῠ",ώ:"ώ",ὼ:"ὼ",Ύ:"Ύ",Ὺ:"Ὺ",Ϋ:"Ϋ",Ῡ:"Ῡ",Ῠ:"Ῠ",Ώ:"Ώ",Ὼ:"Ὼ"};class J0{constructor(e,t){this.mode=void 0,this.gullet=void 0,this.settings=void 0,this.leftrightDepth=void 0,this.nextToken=void 0,this.mode="math",this.gullet=new uT(e,t,this.mode),this.settings=t,this.leftrightDepth=0,this.nextToken=null}expect(e,t){if(t===void 0&&(t=!0),this.fetch().text!==e)throw new me("Expected '"+e+"', got '"+this.fetch().text+"'",this.fetch());t&&this.consume()}consume(){this.nextToken=null}fetch(){return this.nextToken==null&&(this.nextToken=this.gullet.expandNextToken()),this.nextToken}switchMode(e){this.mode=e,this.gullet.switchMode(e)}parse(){this.settings.globalGroup||this.gullet.beginGroup(),this.settings.colorIsTextColor&&this.gullet.macros.set("\\color","\\textcolor");try{var e=this.parseExpression(!1);return this.expect("EOF"),this.settings.globalGroup||this.gullet.endGroup(),e}finally{this.gullet.endGroups()}}subparse(e){var t=this.nextToken;this.consume(),this.gullet.pushToken(new ba("}")),this.gullet.pushTokens(e);var a=this.parseExpression(!1);return this.expect("}"),this.nextToken=t,a}parseExpression(e,t){for(var a=[];;){this.mode==="math"&&this.consumeSpaces();var s=this.fetch();if(J0.endOfExpression.has(s.text)||t&&s.text===t||e&&Zs[s.text]&&Zs[s.text].infix)break;var o=this.parseAtom(t);if(o){if(o.type==="internal")continue}else break;a.push(o)}return this.mode==="text"&&this.formLigatures(a),this.handleInfixNodes(a)}handleInfixNodes(e){for(var t=-1,a,s=0;s<e.length;s++){var o=e[s];if(o.type==="infix"){if(t!==-1)throw new me("only one infix operator per group",o.token);t=s,a=o.replaceWith}}if(t!==-1&&a){var l,u,d=e.slice(0,t),h=e.slice(t+1);d.length===1&&d[0].type==="ordgroup"?l=d[0]:l={type:"ordgroup",mode:this.mode,body:d},h.length===1&&h[0].type==="ordgroup"?u=h[0]:u={type:"ordgroup",mode:this.mode,body:h};var m;return a==="\\\\abovefrac"?m=this.callFunction(a,[l,e[t],u],[]):m=this.callFunction(a,[l,u],[]),[m]}else return e}handleSupSubscript(e){var t=this.fetch(),a=t.text;this.consume(),this.consumeSpaces();var s;do{var o;s=this.parseGroup(e)}while(((o=s)==null?void 0:o.type)==="internal");if(!s)throw new me("Expected group after '"+a+"'",t);return s}formatUnsupportedCmd(e){for(var t=[],a=0;a<e.length;a++)t.push({type:"textord",mode:"text",text:e[a]});var s={type:"text",mode:this.mode,body:t},o={type:"color",mode:this.mode,color:this.settings.errorColor,body:[s]};return o}parseAtom(e){var t=this.parseGroup("atom",e);if((t==null?void 0:t.type)==="internal"||this.mode==="text")return t;for(var a,s;;){this.consumeSpaces();var o=this.fetch();if(o.text==="\\limits"||o.text==="\\nolimits"){if(t&&t.type==="op"){var l=o.text==="\\limits";t.limits=l,t.alwaysHandleSupSub=!0}else if(t&&t.type==="operatorname")t.alwaysHandleSupSub&&(t.limits=o.text==="\\limits");else throw new me("Limit controls must follow a math operator",o);this.consume()}else if(o.text==="^"){if(a)throw new me("Double superscript",o);a=this.handleSupSubscript("superscript")}else if(o.text==="_"){if(s)throw new me("Double subscript",o);s=this.handleSupSubscript("subscript")}else if(o.text==="'"){if(a)throw new me("Double superscript",o);var u={type:"textord",mode:this.mode,text:"\\prime"},d=[u];for(this.consume();this.fetch().text==="'";)d.push(u),this.consume();this.fetch().text==="^"&&d.push(this.handleSupSubscript("superscript")),a={type:"ordgroup",mode:this.mode,body:d}}else if(Ld[o.text]){var h=t5.test(o.text),m=[];for(m.push(new ba(Ld[o.text])),this.consume();;){var p=this.fetch().text;if(!Ld[p]||t5.test(p)!==h)break;m.unshift(new ba(Ld[p])),this.consume()}var b=this.subparse(m);h?s={type:"ordgroup",mode:"math",body:b}:a={type:"ordgroup",mode:"math",body:b}}else break}return a||s?{type:"supsub",mode:this.mode,base:t,sup:a,sub:s}:t}parseFunction(e,t){var a=this.fetch(),s=a.text,o=Zs[s];if(!o)return null;if(this.consume(),t&&t!=="atom"&&!o.allowedInArgument)throw new me("Got function '"+s+"' with no arguments"+(t?" as "+t:""),a);if(this.mode==="text"&&!o.allowedInText)throw new me("Can't use function '"+s+"' in text mode",a);if(this.mode==="math"&&o.allowedInMath===!1)throw new me("Can't use function '"+s+"' in math mode",a);var{args:l,optArgs:u}=this.parseArguments(s,o);return this.callFunction(s,l,u,a,e)}callFunction(e,t,a,s,o){var l={funcName:e,parser:this,token:s,breakOnTokenText:o},u=Zs[e];if(u&&u.handler)return u.handler(l,t,a);throw new me("No function handler for "+e)}parseArguments(e,t){var a=t.numArgs+t.numOptionalArgs;if(a===0)return{args:[],optArgs:[]};for(var s=[],o=[],l=0;l<a;l++){var u=t.argTypes&&t.argTypes[l],d=l<t.numOptionalArgs;("primitive"in t&&t.primitive&&u==null||t.type==="sqrt"&&l===1&&o[0]==null)&&(u="primitive");var h=this.parseGroupOfType("argument to '"+e+"'",u,d);if(d)o.push(h);else if(h!=null)s.push(h);else throw new me("Null argument, please report this as a bug")}return{args:s,optArgs:o}}parseGroupOfType(e,t,a){switch(t){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,t);case"hbox":{var s=this.parseArgumentGroup(a,"text");return s!=null?{type:"styling",mode:s.mode,body:[s],style:"text",resetFont:!0}:null}case"raw":{var o=this.parseStringGroup("raw",a);return o!=null?{type:"raw",mode:"text",string:o.text}:null}case"primitive":{if(a)throw new me("A primitive argument cannot be optional");var l=this.parseGroup(e);if(l==null)throw new me("Expected group as "+e,this.fetch());return l}case"original":case null:case void 0:return this.parseArgumentGroup(a);default:throw new me("Unknown group type as "+e,this.fetch())}}consumeSpaces(){for(;this.fetch().text===" ";)this.consume()}parseStringGroup(e,t){var a=this.gullet.scanArgument(t);if(a==null)return null;for(var s="",o;(o=this.fetch()).text!=="EOF";)s+=o.text,this.consume();return this.consume(),a.text=s,a}parseRegexGroup(e,t){for(var a=this.fetch(),s=a,o="",l;(l=this.fetch()).text!=="EOF"&&e.test(o+l.text);)s=l,o+=s.text,this.consume();if(o==="")throw new me("Invalid "+t+": '"+a.text+"'",a);return a.range(s,o)}parseColorGroup(e){var t=this.parseStringGroup("color",e);if(t==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(t.text);if(!a)throw new me("Invalid color: '"+t.text+"'",t);var s=a[0];return/^[0-9a-f]{6}$/i.test(s)&&(s="#"+s),{type:"color-token",mode:this.mode,color:s}}parseSizeGroup(e){var t,a=!1;if(this.gullet.consumeSpaces(),!e&&this.gullet.future().text!=="{"?t=this.parseRegexGroup(/^[-+]? *(?:$|\d+|\d+\.\d*|\.\d*) *[a-z]{0,2} *$/,"size"):t=this.parseStringGroup("size",e),!t)return null;!e&&t.text.length===0&&(t.text="0pt",a=!0);var s=/([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(t.text);if(!s)throw new me("Invalid size: '"+t.text+"'",t);var o={number:+(s[1]+s[2]),unit:s[3]};if(!px(o))throw new me("Invalid unit: '"+o.unit+"'",t);return{type:"size",mode:this.mode,value:o,isBlank:a}}parseUrlGroup(e){this.gullet.lexer.setCatcode("%",13),this.gullet.lexer.setCatcode("~",12);var t=this.parseStringGroup("url",e);if(this.gullet.lexer.setCatcode("%",14),this.gullet.lexer.setCatcode("~",13),t==null)return null;var a=t.text.replace(/\\([#$%&~_^{}])/g,"$1");return{type:"url",mode:this.mode,url:a}}parseArgumentGroup(e,t){var a=this.gullet.scanArgument(e);if(a==null)return null;var s=this.mode;t&&this.switchMode(t),this.gullet.beginGroup();var o=this.parseExpression(!1,"EOF");this.expect("EOF"),this.gullet.endGroup();var l={type:"ordgroup",mode:this.mode,loc:a.loc,body:o};return t&&this.switchMode(s),l}parseGroup(e,t){var a=this.fetch(),s=a.text,o;if(s==="{"||s==="\\begingroup"){this.consume();var l=s==="{"?"}":"\\endgroup";this.gullet.beginGroup();var u=this.parseExpression(!1,l),d=this.fetch();this.expect(l),this.gullet.endGroup(),o={type:"ordgroup",mode:this.mode,loc:oa.range(a,d),body:u,semisimple:s==="\\begingroup"||void 0}}else if(o=this.parseFunction(t,e)||this.parseSymbol(),o==null&&s[0]==="\\"&&!o6.hasOwnProperty(s)){if(this.settings.throwOnError)throw new me("Undefined control sequence: "+s,a);o=this.formatUnsupportedCmd(s),this.consume()}return o}formLigatures(e){for(var t=e.length-1,a=0;a<t;++a){var s=e[a];if(s.type==="textord"){var o=s.text,l=e[a+1];if(!(!l||l.type!=="textord")){if(o==="-"&&l.text==="-"){var u=e[a+2];a+1<t&&u&&u.type==="textord"&&u.text==="-"?(e.splice(a,3,{type:"textord",mode:"text",loc:oa.range(s,u),text:"---"}),t-=2):(e.splice(a,2,{type:"textord",mode:"text",loc:oa.range(s,l),text:"--"}),t-=1)}(o==="'"||o==="`")&&l.text===o&&(e.splice(a,2,{type:"textord",mode:"text",loc:oa.range(s,l),text:o+o}),t-=1)}}}}parseSymbol(){var e=this.fetch(),t=e.text;if(/^\\verb[^a-zA-Z]/.test(t)){this.consume();var a=t.slice(5),s=a.charAt(0)==="*";if(s&&(a=a.slice(1)),a.length<2||a.charAt(0)!==a.slice(-1))throw new me(`\\verb assertion failed --
|
|
287
|
-
please report what input caused this bug`);return a=a.slice(1,-1),{type:"verb",mode:"text",body:a,star:s}}n5.hasOwnProperty(t[0])&&!Gt[this.mode][t[0]]&&(this.settings.strict&&this.mode==="math"&&this.settings.reportNonstrict("unicodeTextInMathMode",'Accented Unicode text character "'+t[0]+'" used in math mode',e),t=n5[t[0]]+t.slice(1));var o=sT.exec(t);o&&(t=t.substring(0,o.index),t==="i"?t="ı":t==="j"&&(t="ȷ"));var l;if(Gt[this.mode][t]){this.settings.strict&&this.mode==="math"&&Qp.includes(t)&&this.settings.reportNonstrict("unicodeTextInMathMode",'Latin-1/Unicode text character "'+t[0]+'" used in math mode',e);var u=Gt[this.mode][t].group,d=oa.range(e),h;TC(u)?h={type:"atom",mode:this.mode,family:u,loc:d,text:t}:h={type:u,mode:this.mode,loc:d,text:t},l=h}else if(t.charCodeAt(0)>=128)this.settings.strict&&(mx(t.charCodeAt(0))?this.mode==="math"&&this.settings.reportNonstrict("unicodeTextInMathMode",'Unicode text character "'+t[0]+'" used in math mode',e):this.settings.reportNonstrict("unknownSymbol",'Unrecognized Unicode character "'+t[0]+'"'+(" ("+t.charCodeAt(0)+")"),e)),l={type:"textord",mode:"text",loc:oa.range(e),text:t};else return null;if(this.consume(),o)for(var m=0;m<o[0].length;m++){var p=o[0][m];if(!Xm[p])throw new me("Unknown accent ' "+p+"'",e);var b=Xm[p][this.mode]||Xm[p].text;if(!b)throw new me("Accent "+p+" unsupported in "+this.mode+" mode",e);l={type:"accent",mode:this.mode,loc:oa.range(e),label:b,isStretchy:!1,isShifty:!0,base:l}}return l}}J0.endOfExpression=new Set(["}","\\endgroup","\\end","\\right","&"]);var m1=function(e,t){if(!(typeof e=="string"||e instanceof String))throw new TypeError("KaTeX can only parse string typed expression");var a=new J0(e,t);delete a.gullet.macros.current["\\df@tag"];var s=a.parse();if(delete a.gullet.macros.current["\\current@color"],delete a.gullet.macros.current["\\color"],a.gullet.macros.get("\\df@tag")){if(!t.displayMode)throw new me("\\tag works only in display equations");s=[{type:"tag",mode:"text",body:s,tag:a.subparse([new ba("\\df@tag")])}]}return s},l6=function(e,t,a){t.textContent="";var s=p1(e,a).toNode();t.appendChild(s)};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."),l6=function(){throw new me("KaTeX doesn't work in quirks mode.")});var dT=function(e,t){var a=p1(e,t).toMarkup();return a},fT=function(e,t){var a=new e1(t);return m1(e,a)},c6=function(e,t,a){if(a.throwOnError||!(e instanceof me))throw e;var s=ue(["katex-error"],[new xa(t)]);return s.setAttribute("title",e.toString()),s.setAttribute("style","color:"+a.errorColor),s},p1=function(e,t){var a=new e1(t);try{var s=m1(e,a);return vC(s,e,a)}catch(o){return c6(o,e,a)}},hT=function(e,t){var a=new e1(t);try{var s=m1(e,a);return bC(s,e,a)}catch(o){return c6(o,e,a)}},mT="0.16.47",pT={Span:ul,Anchor:H0,SymbolNode:xa,SvgNode:ds,PathNode:ri,LineNode:Xp},a5={version:mT,render:l6,renderToString:dT,ParseError:me,SETTINGS_SCHEMA:Kp,__parse:fT,__renderToDomTree:p1,__renderToHTMLTree:hT,__setFontMetrics:J9,__defineSymbol:w,__defineFunction:we,__defineMacro:R,__domTree:pT};const gT={};function yT(n){const e=this,t=n||gT,a=e.data(),s=a.micromarkExtensions||(a.micromarkExtensions=[]),o=a.fromMarkdownExtensions||(a.fromMarkdownExtensions=[]),l=a.toMarkdownExtensions||(a.toMarkdownExtensions=[]);s.push(v9(t)),o.push(u9()),l.push(d9(t))}const r5=/[#.]/g;function vT(n,e){const t=n||"",a={};let s=0,o,l;for(;s<t.length;){r5.lastIndex=s;const u=r5.exec(t),d=t.slice(s,u?u.index:t.length);d&&(o?o==="#"?a.id=d:Array.isArray(a.className)?a.className.push(d):a.className=[d]:l=d,s+=d.length),u&&(o=u[0],s++)}return{type:"element",tagName:l||e||"div",properties:a,children:[]}}function u6(n,e,t){const a=t?kT(t):void 0;function s(o,l,...u){let d;if(o==null){d={type:"root",children:[]};const h=l;u.unshift(h)}else{d=vT(o,e);const h=d.tagName.toLowerCase(),m=a?a.get(h):void 0;if(d.tagName=m||h,bT(l))u.unshift(l);else for(const[p,b]of Object.entries(l))xT(n,d.properties,p,b)}for(const h of u)hg(d.children,h);return d.type==="element"&&d.tagName==="template"&&(d.content={type:"root",children:d.children},d.children=[]),d}return s}function bT(n){if(n===null||typeof n!="object"||Array.isArray(n))return!0;if(typeof n.type!="string")return!1;const e=n,t=Object.keys(n);for(const a of t){const s=e[a];if(s&&typeof s=="object"){if(!Array.isArray(s))return!0;const o=s;for(const l of o)if(typeof l!="number"&&typeof l!="string")return!0}}return!!("children"in n&&Array.isArray(n.children))}function xT(n,e,t,a){const s=L3(n,t);let o;if(a!=null){if(typeof a=="number"){if(Number.isNaN(a))return;o=a}else typeof a=="boolean"?o=a:typeof a=="string"?s.spaceSeparated?o=xb(a):s.commaSeparated?o=wb(a):s.commaOrSpaceSeparated?o=xb(wb(a).join(" ")):o=s5(s,s.property,a):Array.isArray(a)?o=[...a]:o=s.property==="style"?wT(a):String(a);if(Array.isArray(o)){const l=[];for(const u of o)l.push(s5(s,s.property,u));o=l}s.property==="className"&&Array.isArray(e.className)&&(o=e.className.concat(o)),e[s.property]=o}}function hg(n,e){if(e!=null)if(typeof e=="number"||typeof e=="string")n.push({type:"text",value:String(e)});else if(Array.isArray(e))for(const t of e)hg(n,t);else if(typeof e=="object"&&"type"in e)e.type==="root"?hg(n,e.children):n.push(e);else throw new Error("Expected node, nodes, or string, got `"+e+"`")}function s5(n,e,t){if(typeof t=="string"){if(n.number&&t&&!Number.isNaN(Number(t)))return Number(t);if((n.boolean||n.overloadedBoolean)&&(t===""||kb(t)===kb(e)))return!0}return t}function wT(n){const e=[];for(const[t,a]of Object.entries(n))e.push([t,a].join(": "));return e.join("; ")}function kT(n){const e=new Map;for(const t of n)e.set(t.toLowerCase(),t);return e}const ST=["altGlyph","altGlyphDef","altGlyphItem","animateColor","animateMotion","animateTransform","clipPath","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","foreignObject","glyphRef","linearGradient","radialGradient","solidColor","textArea","textPath"],_T=u6(B3,"div"),CT=u6(Gg,"g",ST),Qm={html:"http://www.w3.org/1999/xhtml",svg:"http://www.w3.org/2000/svg"};function TT(n,e){return d6(n,{})||{type:"root",children:[]}}function d6(n,e){const t=AT(n,e);return t&&e.afterTransform&&e.afterTransform(n,t),t}function AT(n,e){switch(n.nodeType){case 1:return RT(n,e);case 3:return NT(n);case 8:return MT(n);case 9:return i5(n,e);case 10:return ET();case 11:return i5(n,e);default:return}}function i5(n,e){return{type:"root",children:f6(n,e)}}function ET(){return{type:"doctype"}}function NT(n){return{type:"text",value:n.nodeValue||""}}function MT(n){return{type:"comment",value:n.nodeValue||""}}function RT(n,e){const t=n.namespaceURI,a=t===Qm.svg?CT:_T,s=t===Qm.html?n.tagName.toLowerCase():n.tagName,o=t===Qm.html&&s==="template"?n.content:n,l=n.getAttributeNames(),u={};let d=-1;for(;++d<l.length;)u[l[d]]=n.getAttribute(l[d])||"";return a(s,u,f6(o,e))}function f6(n,e){const t=n.childNodes,a=[];let s=-1;for(;++s<t.length;){const o=d6(t[s],e);o!==void 0&&a.push(o)}return a}new DOMParser;function DT(n,e){const t=OT(n);return TT(t)}function OT(n){const e=document.createElement("template");return e.innerHTML=n,e.content}const o5=(function(n,e,t){const a=rk(t);if(!n||!n.type||!n.children)throw new Error("Expected parent node");if(typeof e=="number"){if(e<0||e===Number.POSITIVE_INFINITY)throw new Error("Expected positive finite number as index")}else if(e=n.children.indexOf(e),e<0)throw new Error("Expected child node or index");for(;++e<n.children.length;)if(a(n.children[e],e,n))return n.children[e]}),Yi=(function(n){if(n==null)return jT;if(typeof n=="string")return BT(n);if(typeof n=="object")return LT(n);if(typeof n=="function")return g1(n);throw new Error("Expected function, string, or array as `test`")});function LT(n){const e=[];let t=-1;for(;++t<n.length;)e[t]=Yi(n[t]);return g1(a);function a(...s){let o=-1;for(;++o<e.length;)if(e[o].apply(this,s))return!0;return!1}}function BT(n){return g1(e);function e(t){return t.tagName===n}}function g1(n){return e;function e(t,a,s){return!!(PT(t)&&n.call(this,t,typeof a=="number"?a:void 0,s||void 0))}}function jT(n){return!!(n&&typeof n=="object"&&"type"in n&&n.type==="element"&&"tagName"in n&&typeof n.tagName=="string")}function PT(n){return n!==null&&typeof n=="object"&&"type"in n&&"tagName"in n}const l5=/\n/g,c5=/[\t ]+/g,mg=Yi("br"),u5=Yi(qT),IT=Yi("p"),d5=Yi("tr"),zT=Yi(["datalist","head","noembed","noframes","noscript","rp","script","style","template","title",GT,VT]),h6=Yi(["address","article","aside","blockquote","body","caption","center","dd","dialog","dir","dl","dt","div","figure","figcaption","footer","form,","h1","h2","h3","h4","h5","h6","header","hgroup","hr","html","legend","li","listing","main","menu","nav","ol","p","plaintext","pre","section","ul","xmp"]);function $T(n,e){const t=e||{},a="children"in n?n.children:[],s=h6(n),o=g6(n,{whitespace:t.whitespace||"normal"}),l=[];(n.type==="text"||n.type==="comment")&&l.push(...p6(n,{breakBefore:!0,breakAfter:!0}));let u=-1;for(;++u<a.length;)l.push(...m6(a[u],n,{whitespace:o,breakBefore:u?void 0:s,breakAfter:u<a.length-1?mg(a[u+1]):s}));const d=[];let h;for(u=-1;++u<l.length;){const m=l[u];typeof m=="number"?h!==void 0&&m>h&&(h=m):m&&(h!==void 0&&h>-1&&d.push(`
|
|
288
|
-
`.repeat(h)||" "),h=-1,d.push(m))}return d.join("")}function m6(n,e,t){return n.type==="element"?HT(n,e,t):n.type==="text"?t.whitespace==="normal"?p6(n,t):UT(n):[]}function HT(n,e,t){const a=g6(n,t),s=n.children||[];let o=-1,l=[];if(zT(n))return l;let u,d;for(mg(n)||d5(n)&&o5(e,n,d5)?d=`
|
|
289
|
-
`:IT(n)?(u=2,d=2):h6(n)&&(u=1,d=1);++o<s.length;)l=l.concat(m6(s[o],n,{whitespace:a,breakBefore:o?void 0:u,breakAfter:o<s.length-1?mg(s[o+1]):d}));return u5(n)&&o5(e,n,u5)&&l.push(" "),u&&l.unshift(u),d&&l.push(d),l}function p6(n,e){const t=String(n.value),a=[],s=[];let o=0;for(;o<=t.length;){l5.lastIndex=o;const d=l5.exec(t),h=d&&"index"in d?d.index:t.length;a.push(FT(t.slice(o,h).replace(/[\u061C\u200E\u200F\u202A-\u202E\u2066-\u2069]/g,""),o===0?e.breakBefore:!0,h===t.length?e.breakAfter:!0)),o=h+1}let l=-1,u;for(;++l<a.length;)a[l].charCodeAt(a[l].length-1)===8203||l<a.length-1&&a[l+1].charCodeAt(0)===8203?(s.push(a[l]),u=void 0):a[l]?(typeof u=="number"&&s.push(u),s.push(a[l]),u=0):(l===0||l===a.length-1)&&s.push(0);return s}function UT(n){return[String(n.value)]}function FT(n,e,t){const a=[];let s=0,o;for(;s<n.length;){c5.lastIndex=s;const l=c5.exec(n);o=l?l.index:n.length,!s&&!o&&l&&!e&&a.push(""),s!==o&&a.push(n.slice(s,o)),s=l?o+l[0].length:o}return s!==o&&!t&&a.push(""),a.join(" ")}function g6(n,e){if(n.type==="element"){const t=n.properties||{};switch(n.tagName){case"listing":case"plaintext":case"xmp":return"pre";case"nobr":return"nowrap";case"pre":return t.wrap?"pre-wrap":"pre";case"td":case"th":return t.noWrap?"nowrap":e.whitespace;case"textarea":return"pre-wrap"}}return e.whitespace}function GT(n){return!!(n.properties||{}).hidden}function qT(n){return n.tagName==="td"||n.tagName==="th"}function VT(n){return n.tagName==="dialog"&&!(n.properties||{}).open}const WT={},KT=[];function YT(n){const e=n||WT;return function(t,a){sk(t,"element",function(s,o){const l=Array.isArray(s.properties.className)?s.properties.className:KT,u=l.includes("language-math"),d=l.includes("math-display"),h=l.includes("math-inline");let m=d;if(!u&&!d&&!h)return;let p=o[o.length-1],b=s;if(s.tagName==="code"&&u&&p&&p.type==="element"&&p.tagName==="pre"&&(b=p,p=o[o.length-2],m=!0),!p)return;const x=$T(b,{whitespace:"pre"});let k;try{k=a5.renderToString(x,{...e,displayMode:m,throwOnError:!0})}catch(T){const N=T,E=N.name.toLowerCase();a.message("Could not render math with KaTeX",{ancestors:[...o,s],cause:N,place:s.position,ruleId:E,source:"rehype-katex"});try{k=a5.renderToString(x,{...e,displayMode:m,strict:"ignore",throwOnError:!1})}catch{k=[{type:"element",tagName:"span",properties:{className:["katex-error"],style:"color:"+(e.errorColor||"#cc0000"),title:String(T)},children:[{type:"text",value:x}]}]}}typeof k=="string"&&(k=DT(k).children);const _=p.children.indexOf(b);return p.children.splice(_,1,...k),ik})}}var pg=Object.defineProperty,ZT=Object.getOwnPropertyDescriptor,XT=Object.getOwnPropertyNames,QT=Object.prototype.hasOwnProperty,JT=(n,e)=>{let t={};for(var a in n)pg(t,a,{get:n[a],enumerable:!0});return pg(t,Symbol.toStringTag,{value:"Module"}),t},eA=(n,e,t,a)=>{if(e&&typeof e=="object"||typeof e=="function")for(var s=XT(e),o=0,l=s.length,u;o<l;o++)u=s[o],!QT.call(n,u)&&u!==t&&pg(n,u,{get:(d=>e[d]).bind(null,u),enumerable:!(a=ZT(e,u))||a.enumerable});return n},tA=(n,e,t)=>(eA(n,e,"default"),t);const y6=[{id:"abap",name:"ABAP",import:(()=>O(()=>import("./abap-BdImnpbu.js"),[]))},{id:"actionscript-3",name:"ActionScript",aliases:["actionscript","as3"],import:(()=>O(()=>import("./actionscript-3-B3316cI-.js"),[]))},{id:"ada",name:"Ada",import:(()=>O(()=>import("./ada-bCR0ucgS.js"),[]))},{id:"ahk",name:"AutoHotkey",aliases:["ahk1"],import:(()=>O(()=>import("./ahk-CsyLZFj1.js"),[]))},{id:"ahk2",name:"AutoHotkey2",import:(()=>O(()=>import("./ahk2-8Zs4aa1G.js"),[]))},{id:"angular-html",name:"Angular HTML",import:(()=>O(()=>import("./angular-html-DA-rfuFy.js").then(n=>n.f),__vite__mapDeps([0,1,2,3])))},{id:"angular-ts",name:"Angular TypeScript",import:(()=>O(()=>import("./angular-ts-BrjP3tb8.js"),__vite__mapDeps([4,0,1,2,3,5])))},{id:"apache",name:"Apache Conf",import:(()=>O(()=>import("./apache-Pmp26Uib.js"),[]))},{id:"apex",name:"Apex",import:(()=>O(()=>import("./apex-DhZFqWV2.js"),[]))},{id:"apl",name:"APL",import:(()=>O(()=>import("./apl-CORt7UWP.js"),__vite__mapDeps([6,1,2,3,7,8,9])))},{id:"applescript",name:"AppleScript",import:(()=>O(()=>import("./applescript-Co6uUVPk.js"),[]))},{id:"ara",name:"Ara",import:(()=>O(()=>import("./ara-BRHolxvo.js"),[]))},{id:"asciidoc",name:"AsciiDoc",aliases:["adoc"],import:(()=>O(()=>import("./asciidoc-CSVQ5wI8.js"),[]))},{id:"asm",name:"Assembly",import:(()=>O(()=>import("./asm-D_Q5rh1f.js"),[]))},{id:"astro",name:"Astro",import:(()=>O(()=>import("./astro-HNnZUWAn.js"),__vite__mapDeps([10,9,2,11,3,12,13])))},{id:"awk",name:"AWK",import:(()=>O(()=>import("./awk-DMzUqQB5.js"),[]))},{id:"ballerina",name:"Ballerina",import:(()=>O(()=>import("./ballerina-BFfxhgS-.js"),[]))},{id:"bat",name:"Batch File",aliases:["batch","cmd"],import:(()=>O(()=>import("./bat-CickPsom.js"),[]))},{id:"beancount",name:"Beancount",import:(()=>O(()=>import("./beancount-k_qm7-4y.js"),[]))},{id:"berry",name:"Berry",aliases:["be"],import:(()=>O(()=>import("./berry-uYugtg8r.js"),[]))},{id:"bibtex",name:"BibTeX",import:(()=>O(()=>import("./bibtex-CHM0blh-.js"),[]))},{id:"bicep",name:"Bicep",import:(()=>O(()=>import("./bicep-Bmn6On1c.js"),[]))},{id:"bird2",name:"BIRD2 Configuration",aliases:["bird"],import:(()=>O(()=>import("./bird2-Bx8U0n9b.js"),[]))},{id:"blade",name:"Blade",import:(()=>O(()=>import("./blade-2xfisSek.js"),__vite__mapDeps([14,15,1,2,3,7,8,16,9])))},{id:"bsl",name:"1C (Enterprise)",aliases:["1c"],import:(()=>O(()=>import("./bsl-DlhNcFeZ.js"),__vite__mapDeps([17,18])))},{id:"c",name:"C",import:(()=>O(()=>import("./c-BIGW1oBm.js"),[]))},{id:"c3",name:"C3",import:(()=>O(()=>import("./c3-Dp5svz6Z.js"),[]))},{id:"cadence",name:"Cadence",aliases:["cdc"],import:(()=>O(()=>import("./cadence-Bv_4Rxtq.js"),[]))},{id:"cairo",name:"Cairo",import:(()=>O(()=>import("./cairo-KRGpt6FW.js"),__vite__mapDeps([19,20])))},{id:"chapel",name:"Chapel",aliases:["chpl"],import:(()=>O(()=>import("./chapel-DTp_pixX.js"),__vite__mapDeps([21,22])))},{id:"clarity",name:"Clarity",import:(()=>O(()=>import("./clarity-Dn5IMItf.js"),[]))},{id:"clojure",name:"Clojure",aliases:["clj"],import:(()=>O(()=>import("./clojure-P80f7IUj.js"),[]))},{id:"cmake",name:"CMake",import:(()=>O(()=>import("./cmake-D1j8_8rp.js"),[]))},{id:"cobol",name:"COBOL",import:(()=>O(()=>import("./cobol-nBiQ_Alo.js"),__vite__mapDeps([23,1,2,3,8])))},{id:"codeowners",name:"CODEOWNERS",import:(()=>O(()=>import("./codeowners-Bp6g37R7.js"),[]))},{id:"codeql",name:"CodeQL",aliases:["ql"],import:(()=>O(()=>import("./codeql-DsOJ9woJ.js"),[]))},{id:"coffee",name:"CoffeeScript",aliases:["coffeescript"],import:(()=>O(()=>import("./coffee-Ch7k5sss.js"),__vite__mapDeps([24,2])))},{id:"common-lisp",name:"Common Lisp",aliases:["lisp"],import:(()=>O(()=>import("./common-lisp-Cg-RD9OK.js"),[]))},{id:"coq",name:"Rocq",import:(()=>O(()=>import("./coq-C7JzOVbR.js"),[]))},{id:"cpp",name:"C++",aliases:["c++"],import:(()=>O(()=>import("./cpp-BMRokrvK.js"),__vite__mapDeps([25,26,27,22])))},{id:"crystal",name:"Crystal",import:(()=>O(()=>import("./crystal-DGywbUpC.js"),__vite__mapDeps([28,1,2,3,16,22,29])))},{id:"csharp",name:"C#",aliases:["c#","cs"],import:(()=>O(()=>import("./csharp-DSvCPggb.js"),[]))},{id:"css",name:"CSS",import:(()=>O(()=>import("./css-CLj8gQPS.js"),[]))},{id:"csv",name:"CSV",import:(()=>O(()=>import("./csv-fuZLfV_i.js"),[]))},{id:"cue",name:"CUE",import:(()=>O(()=>import("./cue-D82EKSYY.js"),[]))},{id:"cypher",name:"Cypher",aliases:["cql"],import:(()=>O(()=>import("./cypher-COkxafJQ.js"),[]))},{id:"d",name:"D",import:(()=>O(()=>import("./d-85-TOEBH.js"),[]))},{id:"dart",name:"Dart",import:(()=>O(()=>import("./dart-bE4Kk8sk.js"),[]))},{id:"dax",name:"DAX",import:(()=>O(()=>import("./dax-CEL-wOlO.js"),[]))},{id:"desktop",name:"Desktop",import:(()=>O(()=>import("./desktop-BmXAJ9_W.js"),[]))},{id:"diff",name:"Diff",import:(()=>O(()=>import("./diff-D97Zzqfu.js"),[]))},{id:"docker",name:"Dockerfile",aliases:["dockerfile"],import:(()=>O(()=>import("./docker-BcOcwvcX.js"),[]))},{id:"dotenv",name:"dotEnv",import:(()=>O(()=>import("./dotenv-Da5cRb03.js"),[]))},{id:"dream-maker",name:"Dream Maker",import:(()=>O(()=>import("./dream-maker-BtqSS_iP.js"),[]))},{id:"edge",name:"Edge",import:(()=>O(()=>import("./edge-FbVlp4U3.js"),__vite__mapDeps([30,11,1,2,3,15])))},{id:"elixir",name:"Elixir",import:(()=>O(()=>import("./elixir-CkH2-t6x.js"),__vite__mapDeps([31,1,2,3])))},{id:"elm",name:"Elm",import:(()=>O(()=>import("./elm-DbKCFpqz.js"),__vite__mapDeps([32,27,22])))},{id:"emacs-lisp",name:"Emacs Lisp",aliases:["elisp"],import:(()=>O(()=>import("./emacs-lisp-C_m_b--Z.js"),[]))},{id:"erb",name:"ERB",import:(()=>O(()=>import("./erb-DXfck5VN.js"),__vite__mapDeps([33,1,2,3,34,35,7,8,16,36,11,37,13,25,26,27,22,29,38,39])))},{id:"erlang",name:"Erlang",aliases:["erl"],import:(()=>O(()=>import("./erlang-DsQrWhSR.js"),__vite__mapDeps([40,41])))},{id:"fennel",name:"Fennel",import:(()=>O(()=>import("./fennel-BYunw83y.js"),[]))},{id:"fish",name:"Fish",import:(()=>O(()=>import("./fish-BvzEVeQv.js"),[]))},{id:"fluent",name:"Fluent",aliases:["ftl"],import:(()=>O(()=>import("./fluent-C4IJs8-o.js"),[]))},{id:"fortran-fixed-form",name:"Fortran (Fixed Form)",aliases:["f","for","f77"],import:(()=>O(()=>import("./fortran-fixed-form-CkoXwp7k.js"),__vite__mapDeps([42,43])))},{id:"fortran-free-form",name:"Fortran (Free Form)",aliases:["f90","f95","f03","f08","f18"],import:(()=>O(()=>import("./fortran-free-form-BxgE0vQu.js"),[]))},{id:"fsharp",name:"F#",aliases:["f#","fs"],import:(()=>O(()=>import("./fsharp-CXgrBDvD.js"),__vite__mapDeps([44,41])))},{id:"gdresource",name:"GDResource",aliases:["tscn","tres"],import:(()=>O(()=>import("./gdresource-TyuKm33G.js"),__vite__mapDeps([45,46,47])))},{id:"gdscript",name:"GDScript",aliases:["gd"],import:(()=>O(()=>import("./gdscript-DqcFQ5yU.js"),[]))},{id:"gdshader",name:"GDShader",import:(()=>O(()=>import("./gdshader-DkwncUOv.js"),[]))},{id:"genie",name:"Genie",import:(()=>O(()=>import("./genie-D0YGMca9.js"),[]))},{id:"gherkin",name:"Gherkin",import:(()=>O(()=>import("./gherkin-DyxjwDmM.js"),[]))},{id:"git-commit",name:"Git Commit Message",import:(()=>O(()=>import("./git-commit-F4YmCXRG.js"),__vite__mapDeps([48,49])))},{id:"git-rebase",name:"Git Rebase Message",import:(()=>O(()=>import("./git-rebase-r7XF79zn.js"),__vite__mapDeps([50,29])))},{id:"gleam",name:"Gleam",import:(()=>O(()=>import("./gleam-BspZqrRM.js"),[]))},{id:"glimmer-js",name:"Glimmer JS",aliases:["gjs"],import:(()=>O(()=>import("./glimmer-js-ByusRIyA.js"),__vite__mapDeps([51,2,11,3,1])))},{id:"glimmer-ts",name:"Glimmer TS",aliases:["gts"],import:(()=>O(()=>import("./glimmer-ts-BfAWNZQY.js"),__vite__mapDeps([52,11,3,2,1])))},{id:"glsl",name:"GLSL",import:(()=>O(()=>import("./glsl-DplSGwfg.js"),__vite__mapDeps([27,22])))},{id:"gn",name:"GN",import:(()=>O(()=>import("./gn-n2N0HUVH.js"),[]))},{id:"gnuplot",name:"Gnuplot",import:(()=>O(()=>import("./gnuplot-DdkO51Og.js"),[]))},{id:"go",name:"Go",import:(()=>O(()=>import("./go-C27-OAKa.js"),[]))},{id:"graphql",name:"GraphQL",aliases:["gql"],import:(()=>O(()=>import("./graphql-ChdNCCLP.js"),__vite__mapDeps([36,2,11,37,13])))},{id:"groovy",name:"Groovy",import:(()=>O(()=>import("./groovy-gcz8RCvz.js"),[]))},{id:"hack",name:"Hack",import:(()=>O(()=>import("./hack-BWmVpMyf.js"),__vite__mapDeps([53,1,2,3,16])))},{id:"haml",name:"Ruby Haml",import:(()=>O(()=>import("./haml-D5jkg6IW.js"),__vite__mapDeps([35,2,3])))},{id:"handlebars",name:"Handlebars",aliases:["hbs"],import:(()=>O(()=>import("./handlebars-BpdQsYii.js"),__vite__mapDeps([54,1,2,3,39])))},{id:"haskell",name:"Haskell",aliases:["hs"],import:(()=>O(()=>import("./haskell-Df6bDoY_.js"),[]))},{id:"haxe",name:"Haxe",import:(()=>O(()=>import("./haxe-CfZj7gIn.js"),[]))},{id:"hcl",name:"HashiCorp HCL",import:(()=>O(()=>import("./hcl-BWvSN4gD.js"),[]))},{id:"hjson",name:"Hjson",import:(()=>O(()=>import("./hjson-D5-asLiD.js"),[]))},{id:"hlsl",name:"HLSL",import:(()=>O(()=>import("./hlsl-D3lLCCz7.js"),[]))},{id:"html",name:"HTML",import:(()=>O(()=>import("./html-pp8916En.js"),__vite__mapDeps([1,2,3])))},{id:"html-derivative",name:"HTML (Derivative)",import:(()=>O(()=>import("./html-derivative-DlHx6ybY.js"),__vite__mapDeps([15,1,2,3])))},{id:"http",name:"HTTP",import:(()=>O(()=>import("./http-jrhK8wxY.js"),__vite__mapDeps([55,29,9,7,8,36,2,11,37,13])))},{id:"hurl",name:"Hurl",import:(()=>O(()=>import("./hurl-irOxFIW8.js"),__vite__mapDeps([56,36,2,11,37,13,7,8,57])))},{id:"hxml",name:"HXML",import:(()=>O(()=>import("./hxml-2-FPmUDs.js"),__vite__mapDeps([58,59])))},{id:"hy",name:"Hy",import:(()=>O(()=>import("./hy-DFXneXwc.js"),[]))},{id:"imba",name:"Imba",import:(()=>O(()=>import("./imba-DGztddWO.js"),[]))},{id:"ini",name:"INI",aliases:["properties"],import:(()=>O(()=>import("./ini-BEwlwnbL.js"),[]))},{id:"java",name:"Java",import:(()=>O(()=>import("./java-CylS5w8V.js"),[]))},{id:"javascript",name:"JavaScript",aliases:["js","cjs","mjs"],import:(()=>O(()=>import("./javascript-wDzz0qaB.js"),[]))},{id:"jinja",name:"Jinja",import:(()=>O(()=>import("./jinja-f2NsQr07.js"),__vite__mapDeps([60,1,2,3])))},{id:"jison",name:"Jison",import:(()=>O(()=>import("./jison-wvAkD_A8.js"),__vite__mapDeps([61,2])))},{id:"json",name:"JSON",import:(()=>O(()=>import("./json-Cp-IABpG.js"),[]))},{id:"json5",name:"JSON5",import:(()=>O(()=>import("./json5-C9tS-k6U.js"),[]))},{id:"jsonc",name:"JSON with Comments",import:(()=>O(()=>import("./jsonc-Des-eS-w.js"),[]))},{id:"jsonl",name:"JSON Lines",import:(()=>O(()=>import("./jsonl-DcaNXYhu.js"),[]))},{id:"jsonnet",name:"Jsonnet",import:(()=>O(()=>import("./jsonnet-DFQXde-d.js"),[]))},{id:"jssm",name:"JSSM",aliases:["fsl"],import:(()=>O(()=>import("./jssm-C2t-YnRu.js"),[]))},{id:"jsx",name:"JSX",import:(()=>O(()=>import("./jsx-g9-lgVsj.js"),[]))},{id:"julia",name:"Julia",aliases:["jl"],import:(()=>O(()=>import("./julia-5Bft2YPA.js"),__vite__mapDeps([62,25,26,27,22,20,2,63,16])))},{id:"just",name:"Just",aliases:["justfile"],import:(()=>O(()=>import("./just-Cwhn7H3k.js"),__vite__mapDeps([64,29,2,11,65,1,3,7,8,16,20,34,35,36,37,13,25,26,27,22,38,39])))},{id:"kdl",name:"KDL",import:(()=>O(()=>import("./kdl-DV7GczEv.js"),[]))},{id:"kotlin",name:"Kotlin",aliases:["kt","kts"],import:(()=>O(()=>import("./kotlin-BdnUsdx6.js"),[]))},{id:"kusto",name:"Kusto",aliases:["kql"],import:(()=>O(()=>import("./kusto-wEQ09or8.js"),[]))},{id:"latex",name:"LaTeX",import:(()=>O(()=>import("./latex-D5pSuvFb.js"),__vite__mapDeps([66,67,63])))},{id:"lean",name:"Lean 4",aliases:["lean4"],import:(()=>O(()=>import("./lean-BZvkOJ9d.js"),[]))},{id:"less",name:"Less",import:(()=>O(()=>import("./less-B1dDrJ26.js"),[]))},{id:"liquid",name:"Liquid",import:(()=>O(()=>import("./liquid-C0sCDyMI.js"),__vite__mapDeps([68,1,2,3,9])))},{id:"llvm",name:"LLVM IR",import:(()=>O(()=>import("./llvm-BZoOZj88.js"),[]))},{id:"log",name:"Log file",import:(()=>O(()=>import("./log-2UxHyX5q.js"),[]))},{id:"logo",name:"Logo",import:(()=>O(()=>import("./logo-BtOb2qkB.js"),[]))},{id:"lua",name:"Lua",import:(()=>O(()=>import("./lua-BaeVxFsk.js"),__vite__mapDeps([38,22])))},{id:"luau",name:"Luau",import:(()=>O(()=>import("./luau-BnpPk5vE.js"),[]))},{id:"make",name:"Makefile",aliases:["makefile"],import:(()=>O(()=>import("./make-CHLpvVh8.js"),[]))},{id:"markdown",name:"Markdown",aliases:["md"],import:(()=>O(()=>import("./markdown-Cvjx9yec.js"),[]))},{id:"marko",name:"Marko",import:(()=>O(()=>import("./marko-DjSrsDqO.js"),__vite__mapDeps([69,3,70,5,11])))},{id:"matlab",name:"MATLAB",import:(()=>O(()=>import("./matlab-D7o27uSR.js"),[]))},{id:"mdc",name:"MDC",import:(()=>O(()=>import("./mdc-D1_yUvq7.js"),__vite__mapDeps([71,41,39,15,1,2,3])))},{id:"mdx",name:"MDX",import:(()=>O(()=>import("./mdx-Cmh6b_Ma.js"),[]))},{id:"mermaid",name:"Mermaid",aliases:["mmd"],import:(()=>O(()=>import("./mermaid-CQcHuHx7.js"),[]))},{id:"mipsasm",name:"MIPS Assembly",aliases:["mips"],import:(()=>O(()=>import("./mipsasm-CKIfxQSi.js"),[]))},{id:"mojo",name:"Mojo",import:(()=>O(()=>import("./mojo-DJz3ZmWd.js"),[]))},{id:"moonbit",name:"MoonBit",aliases:["mbt","mbti"],import:(()=>O(()=>import("./moonbit-CHtswR0a.js"),[]))},{id:"move",name:"Move",import:(()=>O(()=>import("./move-el3G9tDJ.js"),[]))},{id:"narrat",name:"Narrat Language",aliases:["nar"],import:(()=>O(()=>import("./narrat-DRg8JJMk.js"),[]))},{id:"nextflow",name:"Nextflow",aliases:["nf"],import:(()=>O(()=>import("./nextflow-C-mBbutL.js"),__vite__mapDeps([72,73])))},{id:"nextflow-groovy",name:"Nextflow Groovy",import:(()=>O(()=>import("./nextflow-groovy-vE_lwT2v.js"),[]))},{id:"nginx",name:"Nginx",import:(()=>O(()=>import("./nginx-BpAMiNFr.js"),__vite__mapDeps([74,38,22])))},{id:"nim",name:"Nim",import:(()=>O(()=>import("./nim-BIad80T-.js"),__vite__mapDeps([75,22,1,2,3,7,8,27,41])))},{id:"nix",name:"Nix",import:(()=>O(()=>import("./nix-CwoSXNpI.js"),[]))},{id:"nsis",name:"NSIS",import:(()=>O(()=>import("./nsis-BlV79W_Q.js"),[]))},{id:"nushell",name:"nushell",aliases:["nu"],import:(()=>O(()=>import("./nushell-D3jzshHO.js"),[]))},{id:"objective-c",name:"Objective-C",aliases:["objc"],import:(()=>O(()=>import("./objective-c-DXmwc3jG.js"),[]))},{id:"objective-cpp",name:"Objective-C++",import:(()=>O(()=>import("./objective-cpp-CLxacb5B.js"),[]))},{id:"ocaml",name:"OCaml",import:(()=>O(()=>import("./ocaml-C0hk2d4L.js"),[]))},{id:"odin",name:"Odin",import:(()=>O(()=>import("./odin-BBf5iR-q.js"),[]))},{id:"openscad",name:"OpenSCAD",aliases:["scad"],import:(()=>O(()=>import("./openscad-C4EeE6gA.js"),[]))},{id:"org",name:"Org Markup",import:(()=>O(()=>import("./org-DM6o9KBp.js"),__vite__mapDeps([76,2,11,13,8,20,26,3,38,22,77,78,65,1,7,16,63,34,35,36,37,25,27,29,39,79,9,80,81,24,82,49,83,84,85,70,5,86,87,88,89,90,75,41,31,40,91,92,93,48,50,66,67])))},{id:"pascal",name:"Pascal",import:(()=>O(()=>import("./pascal-D93ZcfNL.js"),[]))},{id:"perl",name:"Perl",import:(()=>O(()=>import("./perl-B9cMNwum.js"),__vite__mapDeps([65,1,2,3,7,8,16])))},{id:"php",name:"PHP",import:(()=>O(()=>import("./php-Csjmro_R.js"),__vite__mapDeps([79,1,2,3,7,8,16,9])))},{id:"pkl",name:"Pkl",import:(()=>O(()=>import("./pkl-u5AG7uiY.js"),[]))},{id:"plsql",name:"PL/SQL",import:(()=>O(()=>import("./plsql-ChMvpjG-.js"),[]))},{id:"po",name:"Gettext PO",aliases:["pot","potx"],import:(()=>O(()=>import("./po-BTJTHyun.js"),[]))},{id:"polar",name:"Polar",import:(()=>O(()=>import("./polar-C0HS_06l.js"),[]))},{id:"postcss",name:"PostCSS",import:(()=>O(()=>import("./postcss-CXtECtnM.js"),[]))},{id:"powerquery",name:"PowerQuery",import:(()=>O(()=>import("./powerquery-CEu0bR-o.js"),[]))},{id:"powershell",name:"PowerShell",aliases:["ps","ps1","pwsh"],import:(()=>O(()=>import("./powershell-BmBUJMz7.js"),[]))},{id:"prisma",name:"Prisma",import:(()=>O(()=>import("./prisma-Vru482bI.js"),[]))},{id:"prolog",name:"Prolog",import:(()=>O(()=>import("./prolog-CbFg5uaA.js"),[]))},{id:"proto",name:"Protocol Buffer 3",aliases:["protobuf"],import:(()=>O(()=>import("./proto-C7zT0LnQ.js"),[]))},{id:"pug",name:"Pug",aliases:["jade"],import:(()=>O(()=>import("./pug-DKIMFp6K.js"),__vite__mapDeps([94,2,3,1])))},{id:"puppet",name:"Puppet",import:(()=>O(()=>import("./puppet-BMWR74SV.js"),[]))},{id:"purescript",name:"PureScript",import:(()=>O(()=>import("./purescript-CklMAg4u.js"),[]))},{id:"python",name:"Python",aliases:["py"],import:(()=>O(()=>import("./python-B6aJPvgy.js"),[]))},{id:"qml",name:"QML",import:(()=>O(()=>import("./qml-3beO22l8.js"),__vite__mapDeps([95,2])))},{id:"qmldir",name:"QML Directory",import:(()=>O(()=>import("./qmldir-C8lEn-DE.js"),[]))},{id:"qss",name:"Qt Style Sheets",import:(()=>O(()=>import("./qss-IeuSbFQv.js"),[]))},{id:"r",name:"R",import:(()=>O(()=>import("./r-Cf5RLm7j.js"),[]))},{id:"racket",name:"Racket",import:(()=>O(()=>import("./racket-BqYA7rlc.js"),[]))},{id:"raku",name:"Raku",aliases:["perl6"],import:(()=>O(()=>import("./raku-DXvB9xmW.js"),[]))},{id:"razor",name:"ASP.NET Razor",import:(()=>O(()=>import("./razor-BjBPvh-w.js"),__vite__mapDeps([96,1,2,3,89])))},{id:"rbs",name:"RBS",aliases:["ruby-signature"],import:(()=>O(()=>import("./rbs-CpoqiR4B.js"),[]))},{id:"reg",name:"Windows Registry Script",import:(()=>O(()=>import("./reg-C-SQnVFl.js"),[]))},{id:"regexp",name:"RegExp",aliases:["regex"],import:(()=>O(()=>import("./regexp-CDVJQ6XC.js"),[]))},{id:"rel",name:"Rel",import:(()=>O(()=>import("./rel-C3B-1QV4.js"),[]))},{id:"riscv",name:"RISC-V",import:(()=>O(()=>import("./riscv-BM1_JUlF.js"),[]))},{id:"ron",name:"RON",import:(()=>O(()=>import("./ron-D8l8udqQ.js"),[]))},{id:"rosmsg",name:"ROS Interface",import:(()=>O(()=>import("./rosmsg-BJDFO7_C.js"),[]))},{id:"rst",name:"reStructuredText",import:(()=>O(()=>import("./rst-bs7f0vWN.js"),__vite__mapDeps([97,15,1,2,3,25,26,27,22,20,29,39,98,34,35,7,8,16,36,11,37,13,38])))},{id:"ruby",name:"Ruby",aliases:["rb"],import:(()=>O(()=>import("./ruby-C0TQ7zu5.js"),__vite__mapDeps([34,1,2,3,35,7,8,16,36,11,37,13,25,26,27,22,29,38,39])))},{id:"rust",name:"Rust",aliases:["rs"],import:(()=>O(()=>import("./rust-B1yitclQ.js"),[]))},{id:"sas",name:"SAS",import:(()=>O(()=>import("./sas-DEy46yEz.js"),__vite__mapDeps([99,16])))},{id:"sass",name:"Sass",import:(()=>O(()=>import("./sass-Cj5Yp3dK.js"),[]))},{id:"scala",name:"Scala",import:(()=>O(()=>import("./scala-CqE71os6.js"),[]))},{id:"scheme",name:"Scheme",import:(()=>O(()=>import("./scheme-C98Dy4si.js"),[]))},{id:"scss",name:"SCSS",import:(()=>O(()=>import("./scss-D5BDwBP9.js"),__vite__mapDeps([5,3])))},{id:"sdbl",name:"1C (Query)",aliases:["1c-query"],import:(()=>O(()=>import("./sdbl-DVxCFoDh.js"),[]))},{id:"shaderlab",name:"ShaderLab",aliases:["shader"],import:(()=>O(()=>import("./shaderlab-Dg9Lc6iA.js"),__vite__mapDeps([100,101])))},{id:"shellscript",name:"Shell",aliases:["bash","sh","shell","zsh"],import:(()=>O(()=>import("./shellscript-Yzrsuije.js"),[]))},{id:"shellsession",name:"Shell Session",aliases:["console"],import:(()=>O(()=>import("./shellsession-BADoaaVG.js"),__vite__mapDeps([102,29])))},{id:"smalltalk",name:"GNU Smalltalk",import:(()=>O(()=>import("./smalltalk-BOQMe2GC.js"),[]))},{id:"smithy",name:"Smithy",import:(()=>O(()=>import("./smithy-cds9vsN8.js"),[]))},{id:"solidity",name:"Solidity",import:(()=>O(()=>import("./solidity-DijEV5ha.js"),[]))},{id:"soy",name:"Closure Templates",aliases:["closure-templates"],import:(()=>O(()=>import("./soy-8wufbnw4.js"),__vite__mapDeps([103,1,2,3])))},{id:"sparql",name:"SPARQL",import:(()=>O(()=>import("./sparql-rVzFXLq3.js"),__vite__mapDeps([104,105])))},{id:"splunk",name:"Splunk Query Language",aliases:["spl"],import:(()=>O(()=>import("./splunk-BtCnVYZw.js"),[]))},{id:"sql",name:"SQL",import:(()=>O(()=>import("./sql-CRqJ_cUM.js"),[]))},{id:"ssh-config",name:"SSH Config",import:(()=>O(()=>import("./ssh-config-_ykCGR6B.js"),[]))},{id:"stata",name:"Stata",import:(()=>O(()=>import("./stata-DI20mbqo.js"),__vite__mapDeps([106,16])))},{id:"stylus",name:"Stylus",aliases:["styl"],import:(()=>O(()=>import("./stylus-BEDo0Tqx.js"),[]))},{id:"surrealql",name:"SurrealQL",aliases:["surql"],import:(()=>O(()=>import("./surrealql-Cjom0U5J.js"),__vite__mapDeps([107,2])))},{id:"svelte",name:"Svelte",import:(()=>O(()=>import("./svelte-Cy7k_4gC.js"),__vite__mapDeps([108,2,11,3,12])))},{id:"swift",name:"Swift",import:(()=>O(()=>import("./swift-C2oV4EkX.js"),[]))},{id:"system-verilog",name:"SystemVerilog",import:(()=>O(()=>import("./system-verilog-0hqHdDBg.js"),[]))},{id:"systemd",name:"Systemd Units",import:(()=>O(()=>import("./systemd-4A_iFExJ.js"),[]))},{id:"talonscript",name:"TalonScript",aliases:["talon"],import:(()=>O(()=>import("./talonscript-CkByrt1z.js"),[]))},{id:"tasl",name:"Tasl",import:(()=>O(()=>import("./tasl-QIJgUcNo.js"),[]))},{id:"tcl",name:"Tcl",import:(()=>O(()=>import("./tcl-dwOrl1Do.js"),[]))},{id:"templ",name:"Templ",import:(()=>O(()=>import("./templ-DhtptRzy.js"),__vite__mapDeps([109,84,2,3])))},{id:"terraform",name:"Terraform",aliases:["tf","tfvars"],import:(()=>O(()=>import("./terraform-BETggiCN.js"),[]))},{id:"tex",name:"TeX",import:(()=>O(()=>import("./tex-D96PA37w.js"),__vite__mapDeps([67,63])))},{id:"toml",name:"TOML",import:(()=>O(()=>import("./toml-vGWfd6FD.js"),[]))},{id:"ts-tags",name:"TypeScript with Tags",aliases:["lit"],import:(()=>O(()=>import("./ts-tags-D351s5mN.js"),__vite__mapDeps([110,11,3,2,27,22,1,16,7,8])))},{id:"tsv",name:"TSV",import:(()=>O(()=>import("./tsv-B_m7g4N7.js"),[]))},{id:"tsx",name:"TSX",import:(()=>O(()=>import("./tsx-COt5Ahok.js"),[]))},{id:"turtle",name:"Turtle",import:(()=>O(()=>import("./turtle-BsS91CYL.js"),[]))},{id:"twig",name:"Twig",import:(()=>O(()=>import("./twig-27uCiNez.js"),__vite__mapDeps([111,3,2,5,79,1,7,8,16,9,20,34,35,36,11,37,13,25,26,27,22,29,38,39])))},{id:"typescript",name:"TypeScript",aliases:["ts","cts","mts"],import:(()=>O(()=>import("./typescript-BPQ3VLAy.js"),[]))},{id:"typespec",name:"TypeSpec",aliases:["tsp"],import:(()=>O(()=>import("./typespec-CAFt9gP4.js"),[]))},{id:"typst",name:"Typst",aliases:["typ"],import:(()=>O(()=>import("./typst-BUadGCkm.js"),__vite__mapDeps([112,113,114,22,81,24,2,25,26,27,3,89,90,49,83,31,1,40,41,44,48,50,29,84,85,54,39,77,8,115,9,62,20,63,16,66,67,70,116,38,78,82,65,7,86,79,117,94,34,35,36,11,37,13,5,118,93,87,88,111,119,120,80])))},{id:"v",name:"V",import:(()=>O(()=>import("./v-BGw2Nkan.js"),[]))},{id:"vala",name:"Vala",import:(()=>O(()=>import("./vala-CsfeWuGM.js"),[]))},{id:"vb",name:"Visual Basic",import:(()=>O(()=>import("./vb-Cu-pLBUe.js"),[]))},{id:"verilog",name:"Verilog",import:(()=>O(()=>import("./verilog-nZwndyjY.js"),[]))},{id:"vhdl",name:"VHDL",import:(()=>O(()=>import("./vhdl-CeAyd5Ju.js"),[]))},{id:"viml",name:"Vim Script",aliases:["vim","vimscript"],import:(()=>O(()=>import("./viml-CJc9bBzg.js"),[]))},{id:"vue",name:"Vue",import:(()=>O(()=>import("./vue-BqiEGhQt.js"),__vite__mapDeps([121,3,2,11,9,1,15])))},{id:"vue-html",name:"Vue HTML",import:(()=>O(()=>import("./vue-html-AaS7Mt5G.js"),__vite__mapDeps([122,2])))},{id:"vue-vine",name:"Vue Vine",import:(()=>O(()=>import("./vue-vine-BoDAl6tE.js"),__vite__mapDeps([123,3,5,70,124,12,2])))},{id:"vyper",name:"Vyper",aliases:["vy"],import:(()=>O(()=>import("./vyper-CDx5xZoG.js"),[]))},{id:"wasm",name:"WebAssembly",import:(()=>O(()=>import("./wasm-MzD3tlZU.js"),[]))},{id:"wenyan",name:"Wenyan",aliases:["文言"],import:(()=>O(()=>import("./wenyan-BV7otONQ.js"),[]))},{id:"wgsl",name:"WGSL",import:(()=>O(()=>import("./wgsl-Dx-B1_4e.js"),[]))},{id:"wikitext",name:"Wikitext",aliases:["mediawiki","wiki"],import:(()=>O(()=>import("./wikitext-BhOHFoWU.js"),[]))},{id:"wit",name:"WebAssembly Interface Types",import:(()=>O(()=>import("./wit-5i3qLPDT.js"),[]))},{id:"wolfram",name:"Wolfram",aliases:["wl"],import:(()=>O(()=>import("./wolfram-lXgVvXCa.js"),[]))},{id:"xml",name:"XML",import:(()=>O(()=>import("./xml-sdJ4AIDG.js"),__vite__mapDeps([7,8])))},{id:"xsl",name:"XSL",import:(()=>O(()=>import("./xsl-CtQFsRM5.js"),__vite__mapDeps([93,7,8])))},{id:"yaml",name:"YAML",aliases:["yml"],import:(()=>O(()=>import("./yaml-Buea-lGh.js"),[]))},{id:"zenscript",name:"ZenScript",import:(()=>O(()=>import("./zenscript-DVFEvuxE.js"),[]))},{id:"zig",name:"Zig",import:(()=>O(()=>import("./zig-VOosw3JB.js"),[]))}],nA=Object.fromEntries(y6.map(n=>[n.id,n.import])),aA=Object.fromEntries(y6.flatMap(n=>{var e;return((e=n.aliases)==null?void 0:e.map(t=>[t,n.import]))||[]})),rA={...nA,...aA},sA=[{id:"andromeeda",displayName:"Andromeeda",type:"dark",import:(()=>O(()=>import("./andromeeda-C4gqWexZ.js"),[]))},{id:"aurora-x",displayName:"Aurora X",type:"dark",import:(()=>O(()=>import("./aurora-x-D-2ljcwZ.js"),[]))},{id:"ayu-dark",displayName:"Ayu Dark",type:"dark",import:(()=>O(()=>import("./ayu-dark-DYE7WIF3.js"),[]))},{id:"ayu-light",displayName:"Ayu Light",type:"light",import:(()=>O(()=>import("./ayu-light-BA47KaF1.js"),[]))},{id:"ayu-mirage",displayName:"Ayu Mirage",type:"dark",import:(()=>O(()=>import("./ayu-mirage-32ctXXKs.js"),[]))},{id:"catppuccin-frappe",displayName:"Catppuccin Frappé",type:"dark",import:(()=>O(()=>import("./catppuccin-frappe-CZL1YF0i.js"),[]))},{id:"catppuccin-latte",displayName:"Catppuccin Latte",type:"light",import:(()=>O(()=>import("./catppuccin-latte-DH-8KZSZ.js"),[]))},{id:"catppuccin-macchiato",displayName:"Catppuccin Macchiato",type:"dark",import:(()=>O(()=>import("./catppuccin-macchiato-B7yYVSCf.js"),[]))},{id:"catppuccin-mocha",displayName:"Catppuccin Mocha",type:"dark",import:(()=>O(()=>import("./catppuccin-mocha-Ct7hS0mc.js"),[]))},{id:"dark-plus",displayName:"Dark Plus",type:"dark",import:(()=>O(()=>import("./dark-plus-C3mMm8J8.js"),[]))},{id:"dracula",displayName:"Dracula Theme",type:"dark",import:(()=>O(()=>import("./dracula-BzJJZx-M.js"),[]))},{id:"dracula-soft",displayName:"Dracula Theme Soft",type:"dark",import:(()=>O(()=>import("./dracula-soft-BXkSAIEj.js"),[]))},{id:"everforest-dark",displayName:"Everforest Dark",type:"dark",import:(()=>O(()=>import("./everforest-dark-BgDCqdQA.js"),[]))},{id:"everforest-light",displayName:"Everforest Light",type:"light",import:(()=>O(()=>import("./everforest-light-C8M2exoo.js"),[]))},{id:"github-dark",displayName:"GitHub Dark",type:"dark",import:(()=>O(()=>import("./github-dark-DHJKELXO.js"),[]))},{id:"github-dark-default",displayName:"GitHub Dark Default",type:"dark",import:(()=>O(()=>import("./github-dark-default-Cuk6v7N8.js"),[]))},{id:"github-dark-dimmed",displayName:"GitHub Dark Dimmed",type:"dark",import:(()=>O(()=>import("./github-dark-dimmed-DH5Ifo-i.js"),[]))},{id:"github-dark-high-contrast",displayName:"GitHub Dark High Contrast",type:"dark",import:(()=>O(()=>import("./github-dark-high-contrast-E3gJ1_iC.js"),[]))},{id:"github-light",displayName:"GitHub Light",type:"light",import:(()=>O(()=>import("./github-light-DAi9KRSo.js"),[]))},{id:"github-light-default",displayName:"GitHub Light Default",type:"light",import:(()=>O(()=>import("./github-light-default-D7oLnXFd.js"),[]))},{id:"github-light-high-contrast",displayName:"GitHub Light High Contrast",type:"light",import:(()=>O(()=>import("./github-light-high-contrast-BfjtVDDH.js"),[]))},{id:"gruvbox-dark-hard",displayName:"Gruvbox Dark Hard",type:"dark",import:(()=>O(()=>import("./gruvbox-dark-hard-CFHQjOhq.js"),[]))},{id:"gruvbox-dark-medium",displayName:"Gruvbox Dark Medium",type:"dark",import:(()=>O(()=>import("./gruvbox-dark-medium-GsRaNv29.js"),[]))},{id:"gruvbox-dark-soft",displayName:"Gruvbox Dark Soft",type:"dark",import:(()=>O(()=>import("./gruvbox-dark-soft-CVdnzihN.js"),[]))},{id:"gruvbox-light-hard",displayName:"Gruvbox Light Hard",type:"light",import:(()=>O(()=>import("./gruvbox-light-hard-CH1njM8p.js"),[]))},{id:"gruvbox-light-medium",displayName:"Gruvbox Light Medium",type:"light",import:(()=>O(()=>import("./gruvbox-light-medium-DRw_LuNl.js"),[]))},{id:"gruvbox-light-soft",displayName:"Gruvbox Light Soft",type:"light",import:(()=>O(()=>import("./gruvbox-light-soft-hJgmCMqR.js"),[]))},{id:"horizon",displayName:"Horizon",type:"dark",import:(()=>O(()=>import("./horizon-BUw7H-hv.js"),[]))},{id:"horizon-bright",displayName:"Horizon Bright",type:"light",import:(()=>O(()=>import("./horizon-bright-CUuTKBJd.js"),[]))},{id:"houston",displayName:"Houston",type:"dark",import:(()=>O(()=>import("./houston-DnULxvSX.js"),[]))},{id:"kanagawa-dragon",displayName:"Kanagawa Dragon",type:"dark",import:(()=>O(()=>import("./kanagawa-dragon-BuwD2xS4.js"),[]))},{id:"kanagawa-lotus",displayName:"Kanagawa Lotus",type:"light",import:(()=>O(()=>import("./kanagawa-lotus-C3DzagqV.js"),[]))},{id:"kanagawa-wave",displayName:"Kanagawa Wave",type:"dark",import:(()=>O(()=>import("./kanagawa-wave-DFGoQZhC.js"),[]))},{id:"laserwave",displayName:"LaserWave",type:"dark",import:(()=>O(()=>import("./laserwave-DUszq2jm.js"),[]))},{id:"light-plus",displayName:"Light Plus",type:"light",import:(()=>O(()=>import("./light-plus-B7mTdjB0.js"),[]))},{id:"material-theme",displayName:"Material Theme",type:"dark",import:(()=>O(()=>import("./material-theme-D5KoaKCx.js"),[]))},{id:"material-theme-darker",displayName:"Material Theme Darker",type:"dark",import:(()=>O(()=>import("./material-theme-darker-BfHTSMKl.js"),[]))},{id:"material-theme-lighter",displayName:"Material Theme Lighter",type:"light",import:(()=>O(()=>import("./material-theme-lighter-B0m2ddpp.js"),[]))},{id:"material-theme-ocean",displayName:"Material Theme Ocean",type:"dark",import:(()=>O(()=>import("./material-theme-ocean-CyktbL80.js"),[]))},{id:"material-theme-palenight",displayName:"Material Theme Palenight",type:"dark",import:(()=>O(()=>import("./material-theme-palenight-Csfq5Kiy.js"),[]))},{id:"min-dark",displayName:"Min Dark",type:"dark",import:(()=>O(()=>import("./min-dark-CafNBF8u.js"),[]))},{id:"min-light",displayName:"Min Light",type:"light",import:(()=>O(()=>import("./min-light-CTRr51gU.js"),[]))},{id:"monokai",displayName:"Monokai",type:"dark",import:(()=>O(()=>import("./monokai-BRVnQi9A.js"),[]))},{id:"night-owl",displayName:"Night Owl",type:"dark",import:(()=>O(()=>import("./night-owl-C39BiMTA.js"),[]))},{id:"night-owl-light",displayName:"Night Owl Light",type:"light",import:(()=>O(()=>import("./night-owl-light-CMTm3GFP.js"),[]))},{id:"nord",displayName:"Nord",type:"dark",import:(()=>O(()=>import("./nord-Ddv68eIx.js"),[]))},{id:"one-dark-pro",displayName:"One Dark Pro",type:"dark",import:(()=>O(()=>import("./one-dark-pro-DVMEJ2y_.js"),[]))},{id:"one-light",displayName:"One Light",type:"light",import:(()=>O(()=>import("./one-light-C3Wv6jpd.js"),[]))},{id:"plastic",displayName:"Plastic",type:"dark",import:(()=>O(()=>import("./plastic-3e1v2bzS.js"),[]))},{id:"poimandres",displayName:"Poimandres",type:"dark",import:(()=>O(()=>import("./poimandres-CS3Unz2-.js"),[]))},{id:"red",displayName:"Red",type:"dark",import:(()=>O(()=>import("./red-hvxz__6c.js"),[]))},{id:"rose-pine",displayName:"Rosé Pine",type:"dark",import:(()=>O(()=>import("./rose-pine-5qJOZa0Y.js"),[]))},{id:"rose-pine-dawn",displayName:"Rosé Pine Dawn",type:"light",import:(()=>O(()=>import("./rose-pine-dawn-zx0QlTCp.js"),[]))},{id:"rose-pine-moon",displayName:"Rosé Pine Moon",type:"dark",import:(()=>O(()=>import("./rose-pine-moon-C9pEdX9L.js"),[]))},{id:"slack-dark",displayName:"Slack Dark",type:"dark",import:(()=>O(()=>import("./slack-dark-BthQWCQV.js"),[]))},{id:"slack-ochin",displayName:"Slack Ochin",type:"light",import:(()=>O(()=>import("./slack-ochin-DqwNpetd.js"),[]))},{id:"snazzy-light",displayName:"Snazzy Light",type:"light",import:(()=>O(()=>import("./snazzy-light-Bw305WKR.js"),[]))},{id:"solarized-dark",displayName:"Solarized Dark",type:"dark",import:(()=>O(()=>import("./solarized-dark-CpvCGNkr.js"),[]))},{id:"solarized-light",displayName:"Solarized Light",type:"light",import:(()=>O(()=>import("./solarized-light-Dlz6yCKv.js"),[]))},{id:"synthwave-84",displayName:"Synthwave '84",type:"dark",import:(()=>O(()=>import("./synthwave-84-CbfX1IO0.js"),[]))},{id:"tokyo-night",displayName:"Tokyo Night",type:"dark",import:(()=>O(()=>import("./tokyo-night-hegEt444.js"),[]))},{id:"vesper",displayName:"Vesper",type:"dark",import:(()=>O(()=>import("./vesper-DRje8inN.js"),[]))},{id:"vitesse-black",displayName:"Vitesse Black",type:"dark",import:(()=>O(()=>import("./vitesse-black-Bkuqu6BP.js"),[]))},{id:"vitesse-dark",displayName:"Vitesse Dark",type:"dark",import:(()=>O(()=>import("./vitesse-dark-D0r3Knsf.js"),[]))},{id:"vitesse-light",displayName:"Vitesse Light",type:"light",import:(()=>O(()=>import("./vitesse-light-CVO1_9PV.js"),[]))}],iA=Object.fromEntries(sA.map(n=>[n.id,n.import]));var y1=class extends Error{constructor(e){super(e),this.name="ShikiError"}};function oA(){return 2147483648}function lA(){return typeof performance<"u"?performance.now():Date.now()}const cA=(n,e)=>n+(e-n%e)%e;async function uA(n){let e,t;const a={};function s(x){t=x,a.HEAPU8=new Uint8Array(x),a.HEAPU32=new Uint32Array(x)}function o(x,k,_){a.HEAPU8.copyWithin(x,k,k+_)}function l(x){try{return e.grow(x-t.byteLength+65535>>>16),s(e.buffer),1}catch{}}function u(x){const k=a.HEAPU8.length;x=x>>>0;const _=oA();if(x>_)return!1;for(let T=1;T<=4;T*=2){let N=k*(1+.2/T);N=Math.min(N,x+100663296);const E=Math.min(_,cA(Math.max(x,N),65536));if(l(E))return!0}return!1}const d=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function h(x,k,_=1024){const T=k+_;let N=k;for(;x[N]&&!(N>=T);)++N;if(N-k>16&&x.buffer&&d)return d.decode(x.subarray(k,N));let E="";for(;k<N;){let L=x[k++];if(!(L&128)){E+=String.fromCharCode(L);continue}const B=x[k++]&63;if((L&224)===192){E+=String.fromCharCode((L&31)<<6|B);continue}const j=x[k++]&63;if((L&240)===224?L=(L&15)<<12|B<<6|j:L=(L&7)<<18|B<<12|j<<6|x[k++]&63,L<65536)E+=String.fromCharCode(L);else{const q=L-65536;E+=String.fromCharCode(55296|q>>10,56320|q&1023)}}return E}function m(x,k){return x?h(a.HEAPU8,x,k):""}const p={emscripten_get_now:lA,emscripten_memcpy_big:o,emscripten_resize_heap:u,fd_write:()=>0};async function b(){const k=await n({env:p,wasi_snapshot_preview1:p});e=k.memory,s(e.buffer),Object.assign(a,k),a.UTF8ToString=m}return await b(),a}var dA=Object.defineProperty,fA=(n,e,t)=>e in n?dA(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,bn=(n,e,t)=>fA(n,typeof e!="symbol"?e+"":e,t);let Cn=null;function hA(n){throw new y1(n.UTF8ToString(n.getLastOnigError()))}class ef{constructor(e){bn(this,"utf16Length"),bn(this,"utf8Length"),bn(this,"utf16Value"),bn(this,"utf8Value"),bn(this,"utf16OffsetToUtf8"),bn(this,"utf8OffsetToUtf16");const t=e.length,a=ef._utf8ByteLength(e),s=a!==t,o=s?new Uint32Array(t+1):null;s&&(o[t]=a);const l=s?new Uint32Array(a+1):null;s&&(l[a]=t);const u=new Uint8Array(a);let d=0;for(let h=0;h<t;h++){const m=e.charCodeAt(h);let p=m,b=!1;if(m>=55296&&m<=56319&&h+1<t){const x=e.charCodeAt(h+1);x>=56320&&x<=57343&&(p=(m-55296<<10)+65536|x-56320,b=!0)}s&&(o[h]=d,b&&(o[h+1]=d),p<=127?l[d+0]=h:p<=2047?(l[d+0]=h,l[d+1]=h):p<=65535?(l[d+0]=h,l[d+1]=h,l[d+2]=h):(l[d+0]=h,l[d+1]=h,l[d+2]=h,l[d+3]=h)),p<=127?u[d++]=p:p<=2047?(u[d++]=192|(p&1984)>>>6,u[d++]=128|(p&63)>>>0):p<=65535?(u[d++]=224|(p&61440)>>>12,u[d++]=128|(p&4032)>>>6,u[d++]=128|(p&63)>>>0):(u[d++]=240|(p&1835008)>>>18,u[d++]=128|(p&258048)>>>12,u[d++]=128|(p&4032)>>>6,u[d++]=128|(p&63)>>>0),b&&h++}this.utf16Length=t,this.utf8Length=a,this.utf16Value=e,this.utf8Value=u,this.utf16OffsetToUtf8=o,this.utf8OffsetToUtf16=l}static _utf8ByteLength(e){let t=0;for(let a=0,s=e.length;a<s;a++){const o=e.charCodeAt(a);let l=o,u=!1;if(o>=55296&&o<=56319&&a+1<s){const d=e.charCodeAt(a+1);d>=56320&&d<=57343&&(l=(o-55296<<10)+65536|d-56320,u=!0)}l<=127?t+=1:l<=2047?t+=2:l<=65535?t+=3:t+=4,u&&a++}return t}createString(e){const t=e.omalloc(this.utf8Length);return e.HEAPU8.set(this.utf8Value,t),t}}const tf=class fr{constructor(e){if(bn(this,"id",++fr.LAST_ID),bn(this,"_onigBinding"),bn(this,"content"),bn(this,"utf16Length"),bn(this,"utf8Length"),bn(this,"utf16OffsetToUtf8"),bn(this,"utf8OffsetToUtf16"),bn(this,"ptr"),!Cn)throw new y1("Must invoke loadWasm first.");this._onigBinding=Cn,this.content=e;const t=new ef(e);this.utf16Length=t.utf16Length,this.utf8Length=t.utf8Length,this.utf16OffsetToUtf8=t.utf16OffsetToUtf8,this.utf8OffsetToUtf16=t.utf8OffsetToUtf16,this.utf8Length<1e4&&!fr._sharedPtrInUse?(fr._sharedPtr||(fr._sharedPtr=Cn.omalloc(1e4)),fr._sharedPtrInUse=!0,Cn.HEAPU8.set(t.utf8Value,fr._sharedPtr),this.ptr=fr._sharedPtr):this.ptr=t.createString(Cn)}convertUtf8OffsetToUtf16(e){return this.utf8OffsetToUtf16?e<0?0:e>this.utf8Length?this.utf16Length:this.utf8OffsetToUtf16[e]:e}convertUtf16OffsetToUtf8(e){return this.utf16OffsetToUtf8?e<0?0:e>this.utf16Length?this.utf8Length:this.utf16OffsetToUtf8[e]:e}dispose(){this.ptr===fr._sharedPtr?fr._sharedPtrInUse=!1:this._onigBinding.ofree(this.ptr)}};bn(tf,"LAST_ID",0);bn(tf,"_sharedPtr",0);bn(tf,"_sharedPtrInUse",!1);let v6=tf;class mA{constructor(e){if(bn(this,"_onigBinding"),bn(this,"_ptr"),!Cn)throw new y1("Must invoke loadWasm first.");const t=[],a=[];for(let u=0,d=e.length;u<d;u++){const h=new ef(e[u]);t[u]=h.createString(Cn),a[u]=h.utf8Length}const s=Cn.omalloc(4*e.length);Cn.HEAPU32.set(t,s/4);const o=Cn.omalloc(4*e.length);Cn.HEAPU32.set(a,o/4);const l=Cn.createOnigScanner(s,o,e.length);for(let u=0,d=e.length;u<d;u++)Cn.ofree(t[u]);Cn.ofree(o),Cn.ofree(s),l===0&&hA(Cn),this._onigBinding=Cn,this._ptr=l}dispose(){this._onigBinding.freeOnigScanner(this._ptr)}findNextMatchSync(e,t,a){let s=0;if(typeof a=="number"&&(s=a),typeof e=="string"){e=new v6(e);const o=this._findNextMatchSync(e,t,!1,s);return e.dispose(),o}return this._findNextMatchSync(e,t,!1,s)}_findNextMatchSync(e,t,a,s){const o=this._onigBinding,l=o.findNextOnigScannerMatch(this._ptr,e.id,e.ptr,e.utf8Length,e.convertUtf16OffsetToUtf8(t),s);if(l===0)return null;const u=o.HEAPU32;let d=l/4;const h=u[d++],m=u[d++],p=[];for(let b=0;b<m;b++){const x=e.convertUtf8OffsetToUtf16(u[d++]),k=e.convertUtf8OffsetToUtf16(u[d++]);p[b]={start:x,end:k,length:k-x}}return{index:h,captureIndices:p}}}function pA(n){return typeof n.instantiator=="function"}function gA(n){return typeof n.default=="function"}function yA(n){return typeof n.data<"u"}function vA(n){return typeof Response<"u"&&n instanceof Response}function bA(n){var e;return typeof ArrayBuffer<"u"&&(n instanceof ArrayBuffer||ArrayBuffer.isView(n))||typeof Buffer<"u"&&((e=Buffer.isBuffer)==null?void 0:e.call(Buffer,n))||typeof SharedArrayBuffer<"u"&&n instanceof SharedArrayBuffer||typeof Uint32Array<"u"&&n instanceof Uint32Array}let Bd;function b6(n){if(Bd)return Bd;async function e(){Cn=await uA(async t=>{let a=n;return a=await a,typeof a=="function"&&(a=await a(t)),typeof a=="function"&&(a=await a(t)),pA(a)?a=await a.instantiator(t):gA(a)?a=await a.default(t):(yA(a)&&(a=a.data),vA(a)?typeof WebAssembly.instantiateStreaming=="function"?a=await xA(a)(t):a=await wA(a)(t):bA(a)?a=await Jm(a)(t):a instanceof WebAssembly.Module?a=await Jm(a)(t):"default"in a&&a.default instanceof WebAssembly.Module&&(a=await Jm(a.default)(t))),"instance"in a&&(a=a.instance),"exports"in a&&(a=a.exports),a})}return Bd=e(),Bd}function Jm(n){return e=>WebAssembly.instantiate(n,e)}function xA(n){return e=>WebAssembly.instantiateStreaming(n,e)}function wA(n){return async e=>{const t=await n.arrayBuffer();return WebAssembly.instantiate(t,e)}}let x6;function kA(n){x6=n}function SA(){return x6}async function _A(n){return n&&await b6(n),{createScanner(e){return new mA(e.map(t=>typeof t=="string"?t:t.source))},createString(e){return new v6(e)}}}const CA=Object.freeze(Object.defineProperty({__proto__:null,createOnigurumaEngine:_A,getDefaultWasmLoader:SA,loadWasm:b6,setDefaultWasmLoader:kA},Symbol.toStringTag,{value:"Module"}));var w6=JT({});tA(w6,CA);var It=class extends Error{constructor(n){super(n),this.name="ShikiError"}};function TA(n){return v1(n)}function v1(n){return Array.isArray(n)?AA(n):n instanceof RegExp?n:typeof n=="object"?EA(n):n}function AA(n){let e=[];for(let t=0,a=n.length;t<a;t++)e[t]=v1(n[t]);return e}function EA(n){let e={};for(let t in n)e[t]=v1(n[t]);return e}function k6(n,...e){return e.forEach(t=>{for(let a in t)n[a]=t[a]}),n}function S6(n){const e=~n.lastIndexOf("/")||~n.lastIndexOf("\\");return e===0?n:~e===n.length-1?S6(n.substring(0,n.length-1)):n.substr(~e+1)}var ep=/\$(\d+)|\${(\d+):\/(downcase|upcase)}/g,jd=class{static hasCaptures(n){return n===null?!1:(ep.lastIndex=0,ep.test(n))}static replaceCaptures(n,e,t){return n.replace(ep,(a,s,o,l)=>{let u=t[parseInt(s||o,10)];if(u){let d=e.substring(u.start,u.end);for(;d[0]===".";)d=d.substring(1);switch(l){case"downcase":return d.toLowerCase();case"upcase":return d.toUpperCase();default:return d}}else return a})}};function _6(n,e){return n<e?-1:n>e?1:0}function C6(n,e){if(n===null&&e===null)return 0;if(!n)return-1;if(!e)return 1;let t=n.length,a=e.length;if(t===a){for(let s=0;s<t;s++){let o=_6(n[s],e[s]);if(o!==0)return o}return 0}return t-a}function f5(n){return!!(/^#[0-9a-f]{6}$/i.test(n)||/^#[0-9a-f]{8}$/i.test(n)||/^#[0-9a-f]{3}$/i.test(n)||/^#[0-9a-f]{4}$/i.test(n))}function T6(n){return n.replace(/[\-\\\{\}\*\+\?\|\^\$\.\,\[\]\(\)\#\s]/g,"\\$&")}var A6=class{constructor(n){W(this,"cache",new Map);this.fn=n}get(n){if(this.cache.has(n))return this.cache.get(n);const e=this.fn(n);return this.cache.set(n,e),e}},S0=class{constructor(n,e,t){W(this,"_cachedMatchRoot",new A6(n=>this._root.match(n)));this._colorMap=n,this._defaults=e,this._root=t}static createFromRawTheme(n,e){return this.createFromParsedTheme(RA(n),e)}static createFromParsedTheme(n,e){return OA(n,e)}getColorMap(){return this._colorMap.getColorMap()}getDefaults(){return this._defaults}match(n){if(n===null)return this._defaults;const e=n.scopeName,a=this._cachedMatchRoot.get(e).find(s=>NA(n.parent,s.parentScopes));return a?new E6(a.fontStyle,a.foreground,a.background):null}},tp=class t0{constructor(e,t){this.parent=e,this.scopeName=t}static push(e,t){for(const a of t)e=new t0(e,a);return e}static from(...e){let t=null;for(let a=0;a<e.length;a++)t=new t0(t,e[a]);return t}push(e){return new t0(this,e)}getSegments(){let e=this;const t=[];for(;e;)t.push(e.scopeName),e=e.parent;return t.reverse(),t}toString(){return this.getSegments().join(" ")}extends(e){return this===e?!0:this.parent===null?!1:this.parent.extends(e)}getExtensionIfDefined(e){const t=[];let a=this;for(;a&&a!==e;)t.push(a.scopeName),a=a.parent;return a===e?t.reverse():void 0}};function NA(n,e){if(e.length===0)return!0;for(let t=0;t<e.length;t++){let a=e[t],s=!1;if(a===">"){if(t===e.length-1)return!1;a=e[++t],s=!0}for(;n&&!MA(n.scopeName,a);){if(s)return!1;n=n.parent}if(!n)return!1;n=n.parent}return!0}function MA(n,e){return e===n||n.startsWith(e)&&n[e.length]==="."}var E6=class{constructor(n,e,t){this.fontStyle=n,this.foregroundId=e,this.backgroundId=t}};function RA(n){if(!n)return[];if(!n.settings||!Array.isArray(n.settings))return[];let e=n.settings,t=[],a=0;for(let s=0,o=e.length;s<o;s++){let l=e[s];if(!l.settings)continue;let u;if(typeof l.scope=="string"){let p=l.scope;p=p.replace(/^[,]+/,""),p=p.replace(/[,]+$/,""),u=p.split(",")}else Array.isArray(l.scope)?u=l.scope:u=[""];let d=-1;if(typeof l.settings.fontStyle=="string"){d=0;let p=l.settings.fontStyle.split(" ");for(let b=0,x=p.length;b<x;b++)switch(p[b]){case"italic":d=d|1;break;case"bold":d=d|2;break;case"underline":d=d|4;break;case"strikethrough":d=d|8;break}}let h=null;typeof l.settings.foreground=="string"&&f5(l.settings.foreground)&&(h=l.settings.foreground);let m=null;typeof l.settings.background=="string"&&f5(l.settings.background)&&(m=l.settings.background);for(let p=0,b=u.length;p<b;p++){let k=u[p].trim().split(" "),_=k[k.length-1],T=null;k.length>1&&(T=k.slice(0,k.length-1),T.reverse()),t[a++]=new DA(_,T,s,d,h,m)}}return t}var DA=class{constructor(n,e,t,a,s,o){this.scope=n,this.parentScopes=e,this.index=t,this.fontStyle=a,this.foreground=s,this.background=o}},Fn=(n=>(n[n.NotSet=-1]="NotSet",n[n.None=0]="None",n[n.Italic=1]="Italic",n[n.Bold=2]="Bold",n[n.Underline=4]="Underline",n[n.Strikethrough=8]="Strikethrough",n))(Fn||{});function OA(n,e){n.sort((d,h)=>{let m=_6(d.scope,h.scope);return m!==0||(m=C6(d.parentScopes,h.parentScopes),m!==0)?m:d.index-h.index});let t=0,a="#000000",s="#ffffff";for(;n.length>=1&&n[0].scope==="";){let d=n.shift();d.fontStyle!==-1&&(t=d.fontStyle),d.foreground!==null&&(a=d.foreground),d.background!==null&&(s=d.background)}let o=new LA(e),l=new E6(t,o.getId(a),o.getId(s)),u=new jA(new gg(0,null,-1,0,0),[]);for(let d=0,h=n.length;d<h;d++){let m=n[d];u.insert(0,m.scope,m.parentScopes,m.fontStyle,o.getId(m.foreground),o.getId(m.background))}return new S0(o,l,u)}var LA=class{constructor(n){W(this,"_isFrozen");W(this,"_lastColorId");W(this,"_id2color");W(this,"_color2id");if(this._lastColorId=0,this._id2color=[],this._color2id=Object.create(null),Array.isArray(n)){this._isFrozen=!0;for(let e=0,t=n.length;e<t;e++)this._color2id[n[e]]=e,this._id2color[e]=n[e]}else this._isFrozen=!1}getId(n){if(n===null)return 0;n=n.toUpperCase();let e=this._color2id[n];if(e)return e;if(this._isFrozen)throw new Error(`Missing color in color map - ${n}`);return e=++this._lastColorId,this._color2id[n]=e,this._id2color[e]=n,e}getColorMap(){return this._id2color.slice(0)}},BA=Object.freeze([]),gg=class N6{constructor(e,t,a,s,o){W(this,"scopeDepth");W(this,"parentScopes");W(this,"fontStyle");W(this,"foreground");W(this,"background");this.scopeDepth=e,this.parentScopes=t||BA,this.fontStyle=a,this.foreground=s,this.background=o}clone(){return new N6(this.scopeDepth,this.parentScopes,this.fontStyle,this.foreground,this.background)}static cloneArr(e){let t=[];for(let a=0,s=e.length;a<s;a++)t[a]=e[a].clone();return t}acceptOverwrite(e,t,a,s){this.scopeDepth>e?console.log("how did this happen?"):this.scopeDepth=e,t!==-1&&(this.fontStyle=t),a!==0&&(this.foreground=a),s!==0&&(this.background=s)}},jA=class yg{constructor(e,t=[],a={}){W(this,"_rulesWithParentScopes");this._mainRule=e,this._children=a,this._rulesWithParentScopes=t}static _cmpBySpecificity(e,t){if(e.scopeDepth!==t.scopeDepth)return t.scopeDepth-e.scopeDepth;let a=0,s=0;for(;e.parentScopes[a]===">"&&a++,t.parentScopes[s]===">"&&s++,!(a>=e.parentScopes.length||s>=t.parentScopes.length);){const o=t.parentScopes[s].length-e.parentScopes[a].length;if(o!==0)return o;a++,s++}return t.parentScopes.length-e.parentScopes.length}match(e){if(e!==""){let a=e.indexOf("."),s,o;if(a===-1?(s=e,o=""):(s=e.substring(0,a),o=e.substring(a+1)),this._children.hasOwnProperty(s))return this._children[s].match(o)}const t=this._rulesWithParentScopes.concat(this._mainRule);return t.sort(yg._cmpBySpecificity),t}insert(e,t,a,s,o,l){if(t===""){this._doInsertHere(e,a,s,o,l);return}let u=t.indexOf("."),d,h;u===-1?(d=t,h=""):(d=t.substring(0,u),h=t.substring(u+1));let m;this._children.hasOwnProperty(d)?m=this._children[d]:(m=new yg(this._mainRule.clone(),gg.cloneArr(this._rulesWithParentScopes)),this._children[d]=m),m.insert(e+1,h,a,s,o,l)}_doInsertHere(e,t,a,s,o){if(t===null){this._mainRule.acceptOverwrite(e,a,s,o);return}for(let l=0,u=this._rulesWithParentScopes.length;l<u;l++){let d=this._rulesWithParentScopes[l];if(C6(d.parentScopes,t)===0){d.acceptOverwrite(e,a,s,o);return}}a===-1&&(a=this._mainRule.fontStyle),s===0&&(s=this._mainRule.foreground),o===0&&(o=this._mainRule.background),this._rulesWithParentScopes.push(new gg(e,t,a,s,o))}},Fi=class Pa{static toBinaryStr(e){return e.toString(2).padStart(32,"0")}static print(e){const t=Pa.getLanguageId(e),a=Pa.getTokenType(e),s=Pa.getFontStyle(e),o=Pa.getForeground(e),l=Pa.getBackground(e);console.log({languageId:t,tokenType:a,fontStyle:s,foreground:o,background:l})}static getLanguageId(e){return(e&255)>>>0}static getTokenType(e){return(e&768)>>>8}static containsBalancedBrackets(e){return(e&1024)!==0}static getFontStyle(e){return(e&30720)>>>11}static getForeground(e){return(e&16744448)>>>15}static getBackground(e){return(e&4278190080)>>>24}static set(e,t,a,s,o,l,u){let d=Pa.getLanguageId(e),h=Pa.getTokenType(e),m=Pa.containsBalancedBrackets(e)?1:0,p=Pa.getFontStyle(e),b=Pa.getForeground(e),x=Pa.getBackground(e);return t!==0&&(d=t),a!==8&&(h=a),s!==null&&(m=s?1:0),o!==-1&&(p=o),l!==0&&(b=l),u!==0&&(x=u),(d<<0|h<<8|m<<10|p<<11|b<<15|x<<24)>>>0}};function _0(n,e){const t=[],a=PA(n);let s=a.next();for(;s!==null;){let d=0;if(s.length===2&&s.charAt(1)===":"){switch(s.charAt(0)){case"R":d=1;break;case"L":d=-1;break;default:console.log(`Unknown priority ${s} in scope selector`)}s=a.next()}let h=l();if(t.push({matcher:h,priority:d}),s!==",")break;s=a.next()}return t;function o(){if(s==="-"){s=a.next();const d=o();return h=>!!d&&!d(h)}if(s==="("){s=a.next();const d=u();return s===")"&&(s=a.next()),d}if(h5(s)){const d=[];do d.push(s),s=a.next();while(h5(s));return h=>e(d,h)}return null}function l(){const d=[];let h=o();for(;h;)d.push(h),h=o();return m=>d.every(p=>p(m))}function u(){const d=[];let h=l();for(;h&&(d.push(h),s==="|"||s===",");){do s=a.next();while(s==="|"||s===",");h=l()}return m=>d.some(p=>p(m))}}function h5(n){return!!n&&!!n.match(/[\w\.:]+/)}function PA(n){let e=/([LR]:|[\w\.:][\w\.:\-]*|[\,\|\-\(\)])/g,t=e.exec(n);return{next:()=>{if(!t)return null;const a=t[0];return t=e.exec(n),a}}}function M6(n){typeof n.dispose=="function"&&n.dispose()}var Wc=class{constructor(n){this.scopeName=n}toKey(){return this.scopeName}},IA=class{constructor(n,e){this.scopeName=n,this.ruleName=e}toKey(){return`${this.scopeName}#${this.ruleName}`}},zA=class{constructor(){W(this,"_references",[]);W(this,"_seenReferenceKeys",new Set);W(this,"visitedRule",new Set)}get references(){return this._references}add(n){const e=n.toKey();this._seenReferenceKeys.has(e)||(this._seenReferenceKeys.add(e),this._references.push(n))}},$A=class{constructor(n,e){W(this,"seenFullScopeRequests",new Set);W(this,"seenPartialScopeRequests",new Set);W(this,"Q");this.repo=n,this.initialScopeName=e,this.seenFullScopeRequests.add(this.initialScopeName),this.Q=[new Wc(this.initialScopeName)]}processQueue(){const n=this.Q;this.Q=[];const e=new zA;for(const t of n)HA(t,this.initialScopeName,this.repo,e);for(const t of e.references)if(t instanceof Wc){if(this.seenFullScopeRequests.has(t.scopeName))continue;this.seenFullScopeRequests.add(t.scopeName),this.Q.push(t)}else{if(this.seenFullScopeRequests.has(t.scopeName)||this.seenPartialScopeRequests.has(t.toKey()))continue;this.seenPartialScopeRequests.add(t.toKey()),this.Q.push(t)}}};function HA(n,e,t,a){const s=t.lookup(n.scopeName);if(!s){if(n.scopeName===e)throw new Error(`No grammar provided for <${e}>`);return}const o=t.lookup(e);n instanceof Wc?n0({baseGrammar:o,selfGrammar:s},a):vg(n.ruleName,{baseGrammar:o,selfGrammar:s,repository:s.repository},a);const l=t.injections(n.scopeName);if(l)for(const u of l)a.add(new Wc(u))}function vg(n,e,t){if(e.repository&&e.repository[n]){const a=e.repository[n];C0([a],e,t)}}function n0(n,e){n.selfGrammar.patterns&&Array.isArray(n.selfGrammar.patterns)&&C0(n.selfGrammar.patterns,{...n,repository:n.selfGrammar.repository},e),n.selfGrammar.injections&&C0(Object.values(n.selfGrammar.injections),{...n,repository:n.selfGrammar.repository},e)}function C0(n,e,t){for(const a of n){if(t.visitedRule.has(a))continue;t.visitedRule.add(a);const s=a.repository?k6({},e.repository,a.repository):e.repository;Array.isArray(a.patterns)&&C0(a.patterns,{...e,repository:s},t);const o=a.include;if(!o)continue;const l=R6(o);switch(l.kind){case 0:n0({...e,selfGrammar:e.baseGrammar},t);break;case 1:n0(e,t);break;case 2:vg(l.ruleName,{...e,repository:s},t);break;case 3:case 4:const u=l.scopeName===e.selfGrammar.scopeName?e.selfGrammar:l.scopeName===e.baseGrammar.scopeName?e.baseGrammar:void 0;if(u){const d={baseGrammar:e.baseGrammar,selfGrammar:u,repository:s};l.kind===4?vg(l.ruleName,d,t):n0(d,t)}else l.kind===4?t.add(new IA(l.scopeName,l.ruleName)):t.add(new Wc(l.scopeName));break}}}var UA=class{constructor(){W(this,"kind",0)}},FA=class{constructor(){W(this,"kind",1)}},GA=class{constructor(n){W(this,"kind",2);this.ruleName=n}},qA=class{constructor(n){W(this,"kind",3);this.scopeName=n}},VA=class{constructor(n,e){W(this,"kind",4);this.scopeName=n,this.ruleName=e}};function R6(n){if(n==="$base")return new UA;if(n==="$self")return new FA;const e=n.indexOf("#");if(e===-1)return new qA(n);if(e===0)return new GA(n.substring(1));{const t=n.substring(0,e),a=n.substring(e+1);return new VA(t,a)}}var WA=/\\(\d+)/,m5=/\\(\d+)/g,KA=-1,D6=-2;var ru=class{constructor(n,e,t,a){W(this,"$location");W(this,"id");W(this,"_nameIsCapturing");W(this,"_name");W(this,"_contentNameIsCapturing");W(this,"_contentName");this.$location=n,this.id=e,this._name=t||null,this._nameIsCapturing=jd.hasCaptures(this._name),this._contentName=a||null,this._contentNameIsCapturing=jd.hasCaptures(this._contentName)}get debugName(){const n=this.$location?`${S6(this.$location.filename)}:${this.$location.line}`:"unknown";return`${this.constructor.name}#${this.id} @ ${n}`}getName(n,e){return!this._nameIsCapturing||this._name===null||n===null||e===null?this._name:jd.replaceCaptures(this._name,n,e)}getContentName(n,e){return!this._contentNameIsCapturing||this._contentName===null?this._contentName:jd.replaceCaptures(this._contentName,n,e)}},YA=class extends ru{constructor(e,t,a,s,o){super(e,t,a,s);W(this,"retokenizeCapturedWithRuleId");this.retokenizeCapturedWithRuleId=o}dispose(){}collectPatterns(e,t){throw new Error("Not supported!")}compile(e,t){throw new Error("Not supported!")}compileAG(e,t,a,s){throw new Error("Not supported!")}},ZA=class extends ru{constructor(e,t,a,s,o){super(e,t,a,null);W(this,"_match");W(this,"captures");W(this,"_cachedCompiledPatterns");this._match=new Kc(s,this.id),this.captures=o,this._cachedCompiledPatterns=null}dispose(){this._cachedCompiledPatterns&&(this._cachedCompiledPatterns.dispose(),this._cachedCompiledPatterns=null)}get debugMatchRegExp(){return`${this._match.source}`}collectPatterns(e,t){t.push(this._match)}compile(e,t){return this._getCachedCompiledPatterns(e).compile(e)}compileAG(e,t,a,s){return this._getCachedCompiledPatterns(e).compileAG(e,a,s)}_getCachedCompiledPatterns(e){return this._cachedCompiledPatterns||(this._cachedCompiledPatterns=new Yc,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},p5=class extends ru{constructor(e,t,a,s,o){super(e,t,a,s);W(this,"hasMissingPatterns");W(this,"patterns");W(this,"_cachedCompiledPatterns");this.patterns=o.patterns,this.hasMissingPatterns=o.hasMissingPatterns,this._cachedCompiledPatterns=null}dispose(){this._cachedCompiledPatterns&&(this._cachedCompiledPatterns.dispose(),this._cachedCompiledPatterns=null)}collectPatterns(e,t){for(const a of this.patterns)e.getRule(a).collectPatterns(e,t)}compile(e,t){return this._getCachedCompiledPatterns(e).compile(e)}compileAG(e,t,a,s){return this._getCachedCompiledPatterns(e).compileAG(e,a,s)}_getCachedCompiledPatterns(e){return this._cachedCompiledPatterns||(this._cachedCompiledPatterns=new Yc,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},bg=class extends ru{constructor(e,t,a,s,o,l,u,d,h,m){super(e,t,a,s);W(this,"_begin");W(this,"beginCaptures");W(this,"_end");W(this,"endHasBackReferences");W(this,"endCaptures");W(this,"applyEndPatternLast");W(this,"hasMissingPatterns");W(this,"patterns");W(this,"_cachedCompiledPatterns");this._begin=new Kc(o,this.id),this.beginCaptures=l,this._end=new Kc(u||"",-1),this.endHasBackReferences=this._end.hasBackReferences,this.endCaptures=d,this.applyEndPatternLast=h||!1,this.patterns=m.patterns,this.hasMissingPatterns=m.hasMissingPatterns,this._cachedCompiledPatterns=null}dispose(){this._cachedCompiledPatterns&&(this._cachedCompiledPatterns.dispose(),this._cachedCompiledPatterns=null)}get debugBeginRegExp(){return`${this._begin.source}`}get debugEndRegExp(){return`${this._end.source}`}getEndWithResolvedBackReferences(e,t){return this._end.resolveBackReferences(e,t)}collectPatterns(e,t){t.push(this._begin)}compile(e,t){return this._getCachedCompiledPatterns(e,t).compile(e)}compileAG(e,t,a,s){return this._getCachedCompiledPatterns(e,t).compileAG(e,a,s)}_getCachedCompiledPatterns(e,t){if(!this._cachedCompiledPatterns){this._cachedCompiledPatterns=new Yc;for(const a of this.patterns)e.getRule(a).collectPatterns(e,this._cachedCompiledPatterns);this.applyEndPatternLast?this._cachedCompiledPatterns.push(this._end.hasBackReferences?this._end.clone():this._end):this._cachedCompiledPatterns.unshift(this._end.hasBackReferences?this._end.clone():this._end)}return this._end.hasBackReferences&&(this.applyEndPatternLast?this._cachedCompiledPatterns.setSource(this._cachedCompiledPatterns.length()-1,t):this._cachedCompiledPatterns.setSource(0,t)),this._cachedCompiledPatterns}},T0=class extends ru{constructor(e,t,a,s,o,l,u,d,h){super(e,t,a,s);W(this,"_begin");W(this,"beginCaptures");W(this,"whileCaptures");W(this,"_while");W(this,"whileHasBackReferences");W(this,"hasMissingPatterns");W(this,"patterns");W(this,"_cachedCompiledPatterns");W(this,"_cachedCompiledWhilePatterns");this._begin=new Kc(o,this.id),this.beginCaptures=l,this.whileCaptures=d,this._while=new Kc(u,D6),this.whileHasBackReferences=this._while.hasBackReferences,this.patterns=h.patterns,this.hasMissingPatterns=h.hasMissingPatterns,this._cachedCompiledPatterns=null,this._cachedCompiledWhilePatterns=null}dispose(){this._cachedCompiledPatterns&&(this._cachedCompiledPatterns.dispose(),this._cachedCompiledPatterns=null),this._cachedCompiledWhilePatterns&&(this._cachedCompiledWhilePatterns.dispose(),this._cachedCompiledWhilePatterns=null)}get debugBeginRegExp(){return`${this._begin.source}`}get debugWhileRegExp(){return`${this._while.source}`}getWhileWithResolvedBackReferences(e,t){return this._while.resolveBackReferences(e,t)}collectPatterns(e,t){t.push(this._begin)}compile(e,t){return this._getCachedCompiledPatterns(e).compile(e)}compileAG(e,t,a,s){return this._getCachedCompiledPatterns(e).compileAG(e,a,s)}_getCachedCompiledPatterns(e){if(!this._cachedCompiledPatterns){this._cachedCompiledPatterns=new Yc;for(const t of this.patterns)e.getRule(t).collectPatterns(e,this._cachedCompiledPatterns)}return this._cachedCompiledPatterns}compileWhile(e,t){return this._getCachedCompiledWhilePatterns(e,t).compile(e)}compileWhileAG(e,t,a,s){return this._getCachedCompiledWhilePatterns(e,t).compileAG(e,a,s)}_getCachedCompiledWhilePatterns(e,t){return this._cachedCompiledWhilePatterns||(this._cachedCompiledWhilePatterns=new Yc,this._cachedCompiledWhilePatterns.push(this._while.hasBackReferences?this._while.clone():this._while)),this._while.hasBackReferences&&this._cachedCompiledWhilePatterns.setSource(0,t||""),this._cachedCompiledWhilePatterns}},O6=class Un{static createCaptureRule(e,t,a,s,o){return e.registerRule(l=>new YA(t,l,a,s,o))}static getCompiledRuleId(e,t,a){return e.id||t.registerRule(s=>{if(e.id=s,e.match)return new ZA(e.$vscodeTextmateLocation,e.id,e.name,e.match,Un._compileCaptures(e.captures,t,a));if(typeof e.begin>"u"){e.repository&&(a=k6({},a,e.repository));let o=e.patterns;return typeof o>"u"&&e.include&&(o=[{include:e.include}]),new p5(e.$vscodeTextmateLocation,e.id,e.name,e.contentName,Un._compilePatterns(o,t,a))}return e.while?new T0(e.$vscodeTextmateLocation,e.id,e.name,e.contentName,e.begin,Un._compileCaptures(e.beginCaptures||e.captures,t,a),e.while,Un._compileCaptures(e.whileCaptures||e.captures,t,a),Un._compilePatterns(e.patterns,t,a)):new bg(e.$vscodeTextmateLocation,e.id,e.name,e.contentName,e.begin,Un._compileCaptures(e.beginCaptures||e.captures,t,a),e.end,Un._compileCaptures(e.endCaptures||e.captures,t,a),e.applyEndPatternLast,Un._compilePatterns(e.patterns,t,a))}),e.id}static _compileCaptures(e,t,a){let s=[];if(e){let o=0;for(const l in e){if(l==="$vscodeTextmateLocation")continue;const u=parseInt(l,10);u>o&&(o=u)}for(let l=0;l<=o;l++)s[l]=null;for(const l in e){if(l==="$vscodeTextmateLocation")continue;const u=parseInt(l,10);let d=0;e[l].patterns&&(d=Un.getCompiledRuleId(e[l],t,a)),s[u]=Un.createCaptureRule(t,e[l].$vscodeTextmateLocation,e[l].name,e[l].contentName,d)}}return s}static _compilePatterns(e,t,a){let s=[];if(e)for(let o=0,l=e.length;o<l;o++){const u=e[o];let d=-1;if(u.include){const h=R6(u.include);switch(h.kind){case 0:case 1:d=Un.getCompiledRuleId(a[u.include],t,a);break;case 2:let m=a[h.ruleName];m&&(d=Un.getCompiledRuleId(m,t,a));break;case 3:case 4:const p=h.scopeName,b=h.kind===4?h.ruleName:null,x=t.getExternalGrammar(p,a);if(x)if(b){let k=x.repository[b];k&&(d=Un.getCompiledRuleId(k,t,x.repository))}else d=Un.getCompiledRuleId(x.repository.$self,t,x.repository);break}}else d=Un.getCompiledRuleId(u,t,a);if(d!==-1){const h=t.getRule(d);let m=!1;if((h instanceof p5||h instanceof bg||h instanceof T0)&&h.hasMissingPatterns&&h.patterns.length===0&&(m=!0),m)continue;s.push(d)}}return{patterns:s,hasMissingPatterns:(e?e.length:0)!==s.length}}},Kc=class L6{constructor(e,t){W(this,"source");W(this,"ruleId");W(this,"hasAnchor");W(this,"hasBackReferences");W(this,"_anchorCache");if(e&&typeof e=="string"){const a=e.length;let s=0,o=[],l=!1;for(let u=0;u<a;u++)if(e.charAt(u)==="\\"&&u+1<a){const h=e.charAt(u+1);h==="z"?(o.push(e.substring(s,u)),o.push("$(?!\\n)(?<!\\n)"),s=u+2):(h==="A"||h==="G")&&(l=!0),u++}this.hasAnchor=l,s===0?this.source=e:(o.push(e.substring(s,a)),this.source=o.join(""))}else this.hasAnchor=!1,this.source=e;this.hasAnchor?this._anchorCache=this._buildAnchorCache():this._anchorCache=null,this.ruleId=t,typeof this.source=="string"?this.hasBackReferences=WA.test(this.source):this.hasBackReferences=!1}clone(){return new L6(this.source,this.ruleId)}setSource(e){this.source!==e&&(this.source=e,this.hasAnchor&&(this._anchorCache=this._buildAnchorCache()))}resolveBackReferences(e,t){if(typeof this.source!="string")throw new Error("This method should only be called if the source is a string");let a=t.map(s=>e.substring(s.start,s.end));return m5.lastIndex=0,this.source.replace(m5,(s,o)=>T6(a[parseInt(o,10)]||""))}_buildAnchorCache(){if(typeof this.source!="string")throw new Error("This method should only be called if the source is a string");let e=[],t=[],a=[],s=[],o,l,u,d;for(o=0,l=this.source.length;o<l;o++)u=this.source.charAt(o),e[o]=u,t[o]=u,a[o]=u,s[o]=u,u==="\\"&&o+1<l&&(d=this.source.charAt(o+1),d==="A"?(e[o+1]="",t[o+1]="",a[o+1]="A",s[o+1]="A"):d==="G"?(e[o+1]="",t[o+1]="G",a[o+1]="",s[o+1]="G"):(e[o+1]=d,t[o+1]=d,a[o+1]=d,s[o+1]=d),o++);return{A0_G0:e.join(""),A0_G1:t.join(""),A1_G0:a.join(""),A1_G1:s.join("")}}resolveAnchors(e,t){return!this.hasAnchor||!this._anchorCache||typeof this.source!="string"?this.source:e?t?this._anchorCache.A1_G1:this._anchorCache.A1_G0:t?this._anchorCache.A0_G1:this._anchorCache.A0_G0}},Yc=class{constructor(){W(this,"_items");W(this,"_hasAnchors");W(this,"_cached");W(this,"_anchorCache");this._items=[],this._hasAnchors=!1,this._cached=null,this._anchorCache={A0_G0:null,A0_G1:null,A1_G0:null,A1_G1:null}}dispose(){this._disposeCaches()}_disposeCaches(){this._cached&&(this._cached.dispose(),this._cached=null),this._anchorCache.A0_G0&&(this._anchorCache.A0_G0.dispose(),this._anchorCache.A0_G0=null),this._anchorCache.A0_G1&&(this._anchorCache.A0_G1.dispose(),this._anchorCache.A0_G1=null),this._anchorCache.A1_G0&&(this._anchorCache.A1_G0.dispose(),this._anchorCache.A1_G0=null),this._anchorCache.A1_G1&&(this._anchorCache.A1_G1.dispose(),this._anchorCache.A1_G1=null)}push(n){this._items.push(n),this._hasAnchors=this._hasAnchors||n.hasAnchor}unshift(n){this._items.unshift(n),this._hasAnchors=this._hasAnchors||n.hasAnchor}length(){return this._items.length}setSource(n,e){this._items[n].source!==e&&(this._disposeCaches(),this._items[n].setSource(e))}compile(n){if(!this._cached){let e=this._items.map(t=>t.source);this._cached=new g5(n,e,this._items.map(t=>t.ruleId))}return this._cached}compileAG(n,e,t){return this._hasAnchors?e?t?(this._anchorCache.A1_G1||(this._anchorCache.A1_G1=this._resolveAnchors(n,e,t)),this._anchorCache.A1_G1):(this._anchorCache.A1_G0||(this._anchorCache.A1_G0=this._resolveAnchors(n,e,t)),this._anchorCache.A1_G0):t?(this._anchorCache.A0_G1||(this._anchorCache.A0_G1=this._resolveAnchors(n,e,t)),this._anchorCache.A0_G1):(this._anchorCache.A0_G0||(this._anchorCache.A0_G0=this._resolveAnchors(n,e,t)),this._anchorCache.A0_G0):this.compile(n)}_resolveAnchors(n,e,t){let a=this._items.map(s=>s.resolveAnchors(e,t));return new g5(n,a,this._items.map(s=>s.ruleId))}},g5=class{constructor(n,e,t){W(this,"scanner");this.regExps=e,this.rules=t,this.scanner=n.createOnigScanner(e)}dispose(){typeof this.scanner.dispose=="function"&&this.scanner.dispose()}toString(){const n=[];for(let e=0,t=this.rules.length;e<t;e++)n.push(" - "+this.rules[e]+": "+this.regExps[e]);return n.join(`
|
|
290
|
-
`)}findNextMatchSync(n,e,t){const a=this.scanner.findNextMatchSync(n,e,t);return a?{ruleId:this.rules[a.index],captureIndices:a.captureIndices}:null}},np=class{constructor(n,e){this.languageId=n,this.tokenType=e}},ss,XA=(ss=class{constructor(e,t){W(this,"_defaultAttributes");W(this,"_embeddedLanguagesMatcher");W(this,"_getBasicScopeAttributes",new A6(e=>{const t=this._scopeToLanguage(e),a=this._toStandardTokenType(e);return new np(t,a)}));this._defaultAttributes=new np(e,8),this._embeddedLanguagesMatcher=new QA(Object.entries(t||{}))}getDefaultAttributes(){return this._defaultAttributes}getBasicScopeAttributes(e){return e===null?ss._NULL_SCOPE_METADATA:this._getBasicScopeAttributes.get(e)}_scopeToLanguage(e){return this._embeddedLanguagesMatcher.match(e)||0}_toStandardTokenType(e){const t=e.match(ss.STANDARD_TOKEN_TYPE_REGEXP);if(!t)return 8;switch(t[1]){case"comment":return 1;case"string":return 2;case"regex":return 3;case"meta.embedded":return 0}throw new Error("Unexpected match for standard token type!")}},W(ss,"_NULL_SCOPE_METADATA",new np(0,0)),W(ss,"STANDARD_TOKEN_TYPE_REGEXP",/\b(comment|string|regex|meta\.embedded)\b/),ss),QA=class{constructor(n){W(this,"values");W(this,"scopesRegExp");if(n.length===0)this.values=null,this.scopesRegExp=null;else{this.values=new Map(n);const e=n.map(([t,a])=>T6(t));e.sort(),e.reverse(),this.scopesRegExp=new RegExp(`^((${e.join(")|(")}))($|\\.)`,"")}}match(n){if(!this.scopesRegExp)return;const e=n.match(this.scopesRegExp);if(e)return this.values.get(e[1])}},y5=class{constructor(n,e){this.stack=n,this.stoppedEarly=e}};function B6(n,e,t,a,s,o,l,u){const d=e.content.length;let h=!1,m=-1;if(l){const x=JA(n,e,t,a,s,o);s=x.stack,a=x.linePos,t=x.isFirstLine,m=x.anchorPosition}const p=Date.now();for(;!h;){if(u!==0&&Date.now()-p>u)return new y5(s,!0);b()}return new y5(s,!1);function b(){const x=eE(n,e,t,a,s,m);if(!x){o.produce(s,d),h=!0;return}const k=x.captureIndices,_=x.matchedRuleId,T=k&&k.length>0?k[0].end>a:!1;if(_===KA){const N=s.getRule(n);o.produce(s,k[0].start),s=s.withContentNameScopesList(s.nameScopesList),Sc(n,e,t,s,o,N.endCaptures,k),o.produce(s,k[0].end);const E=s;if(s=s.parent,m=E.getAnchorPos(),!T&&E.getEnterPos()===a){s=E,o.produce(s,d),h=!0;return}}else{const N=n.getRule(_);o.produce(s,k[0].start);const E=s,L=N.getName(e.content,k),B=s.contentNameScopesList.pushAttributed(L,n);if(s=s.push(_,a,m,k[0].end===d,null,B,B),N instanceof bg){const j=N;Sc(n,e,t,s,o,j.beginCaptures,k),o.produce(s,k[0].end),m=k[0].end;const q=j.getContentName(e.content,k),K=B.pushAttributed(q,n);if(s=s.withContentNameScopesList(K),j.endHasBackReferences&&(s=s.withEndRule(j.getEndWithResolvedBackReferences(e.content,k))),!T&&E.hasSameRuleAs(s)){s=s.pop(),o.produce(s,d),h=!0;return}}else if(N instanceof T0){const j=N;Sc(n,e,t,s,o,j.beginCaptures,k),o.produce(s,k[0].end),m=k[0].end;const q=j.getContentName(e.content,k),K=B.pushAttributed(q,n);if(s=s.withContentNameScopesList(K),j.whileHasBackReferences&&(s=s.withEndRule(j.getWhileWithResolvedBackReferences(e.content,k))),!T&&E.hasSameRuleAs(s)){s=s.pop(),o.produce(s,d),h=!0;return}}else if(Sc(n,e,t,s,o,N.captures,k),o.produce(s,k[0].end),s=s.pop(),!T){s=s.safePop(),o.produce(s,d),h=!0;return}}k[0].end>a&&(a=k[0].end,t=!1)}}function JA(n,e,t,a,s,o){let l=s.beginRuleCapturedEOL?0:-1;const u=[];for(let d=s;d;d=d.pop()){const h=d.getRule(n);h instanceof T0&&u.push({rule:h,stack:d})}for(let d=u.pop();d;d=u.pop()){const{ruleScanner:h,findOptions:m}=aE(d.rule,n,d.stack.endRule,t,a===l),p=h.findNextMatchSync(e,a,m);if(p){if(p.ruleId!==D6){s=d.stack.pop();break}p.captureIndices&&p.captureIndices.length&&(o.produce(d.stack,p.captureIndices[0].start),Sc(n,e,t,d.stack,o,d.rule.whileCaptures,p.captureIndices),o.produce(d.stack,p.captureIndices[0].end),l=p.captureIndices[0].end,p.captureIndices[0].end>a&&(a=p.captureIndices[0].end,t=!1))}else{s=d.stack.pop();break}}return{stack:s,linePos:a,anchorPosition:l,isFirstLine:t}}function eE(n,e,t,a,s,o){const l=tE(n,e,t,a,s,o),u=n.getInjections();if(u.length===0)return l;const d=nE(u,n,e,t,a,s,o);if(!d)return l;if(!l)return d;const h=l.captureIndices[0].start,m=d.captureIndices[0].start;return m<h||d.priorityMatch&&m===h?d:l}function tE(n,e,t,a,s,o){const l=s.getRule(n),{ruleScanner:u,findOptions:d}=j6(l,n,s.endRule,t,a===o),h=u.findNextMatchSync(e,a,d);return h?{captureIndices:h.captureIndices,matchedRuleId:h.ruleId}:null}function nE(n,e,t,a,s,o,l){let u=Number.MAX_VALUE,d=null,h,m=0;const p=o.contentNameScopesList.getScopeNames();for(let b=0,x=n.length;b<x;b++){const k=n[b];if(!k.matcher(p))continue;const _=e.getRule(k.ruleId),{ruleScanner:T,findOptions:N}=j6(_,e,null,a,s===l),E=T.findNextMatchSync(t,s,N);if(!E)continue;const L=E.captureIndices[0].start;if(!(L>=u)&&(u=L,d=E.captureIndices,h=E.ruleId,m=k.priority,u===s))break}return d?{priorityMatch:m===-1,captureIndices:d,matchedRuleId:h}:null}function j6(n,e,t,a,s){return{ruleScanner:n.compileAG(e,t,a,s),findOptions:0}}function aE(n,e,t,a,s){return{ruleScanner:n.compileWhileAG(e,t,a,s),findOptions:0}}function Sc(n,e,t,a,s,o,l){if(o.length===0)return;const u=e.content,d=Math.min(o.length,l.length),h=[],m=l[0].end;for(let p=0;p<d;p++){const b=o[p];if(b===null)continue;const x=l[p];if(x.length===0)continue;if(x.start>m)break;for(;h.length>0&&h[h.length-1].endPos<=x.start;)s.produceFromScopes(h[h.length-1].scopes,h[h.length-1].endPos),h.pop();if(h.length>0?s.produceFromScopes(h[h.length-1].scopes,x.start):s.produce(a,x.start),b.retokenizeCapturedWithRuleId){const _=b.getName(u,l),T=a.contentNameScopesList.pushAttributed(_,n),N=b.getContentName(u,l),E=T.pushAttributed(N,n),L=a.push(b.retokenizeCapturedWithRuleId,x.start,-1,!1,null,T,E),B=n.createOnigString(u.substring(0,x.end));B6(n,B,t&&x.start===0,x.start,L,s,!1,0),M6(B);continue}const k=b.getName(u,l);if(k!==null){const T=(h.length>0?h[h.length-1].scopes:a.contentNameScopesList).pushAttributed(k,n);h.push(new rE(T,x.end))}}for(;h.length>0;)s.produceFromScopes(h[h.length-1].scopes,h[h.length-1].endPos),h.pop()}var rE=class{constructor(n,e){W(this,"scopes");W(this,"endPos");this.scopes=n,this.endPos=e}};function sE(n,e,t,a,s,o,l,u){return new oE(n,e,t,a,s,o,l,u)}function v5(n,e,t,a,s){const o=_0(e,A0),l=O6.getCompiledRuleId(t,a,s.repository);for(const u of o)n.push({debugSelector:e,matcher:u.matcher,ruleId:l,grammar:s,priority:u.priority})}function A0(n,e){if(e.length<n.length)return!1;let t=0;return n.every(a=>{for(let s=t;s<e.length;s++)if(iE(e[s],a))return t=s+1,!0;return!1})}function iE(n,e){if(!n)return!1;if(n===e)return!0;const t=e.length;return n.length>t&&n.substr(0,t)===e&&n[t]==="."}var oE=class{constructor(n,e,t,a,s,o,l,u){W(this,"_rootId");W(this,"_lastRuleId");W(this,"_ruleId2desc");W(this,"_includedGrammars");W(this,"_grammarRepository");W(this,"_grammar");W(this,"_injections");W(this,"_basicScopeAttributesProvider");W(this,"_tokenTypeMatchers");if(this._rootScopeName=n,this.balancedBracketSelectors=o,this._onigLib=u,this._basicScopeAttributesProvider=new XA(t,a),this._rootId=-1,this._lastRuleId=0,this._ruleId2desc=[null],this._includedGrammars={},this._grammarRepository=l,this._grammar=b5(e,null),this._injections=null,this._tokenTypeMatchers=[],s)for(const d of Object.keys(s)){const h=_0(d,A0);for(const m of h)this._tokenTypeMatchers.push({matcher:m.matcher,type:s[d]})}}get themeProvider(){return this._grammarRepository}dispose(){for(const n of this._ruleId2desc)n&&n.dispose()}createOnigScanner(n){return this._onigLib.createOnigScanner(n)}createOnigString(n){return this._onigLib.createOnigString(n)}getMetadataForScope(n){return this._basicScopeAttributesProvider.getBasicScopeAttributes(n)}_collectInjections(){const n={lookup:s=>s===this._rootScopeName?this._grammar:this.getExternalGrammar(s),injections:s=>this._grammarRepository.injections(s)},e=[],t=this._rootScopeName,a=n.lookup(t);if(a){const s=a.injections;if(s)for(let l in s)v5(e,l,s[l],this,a);const o=this._grammarRepository.injections(t);o&&o.forEach(l=>{const u=this.getExternalGrammar(l);if(u){const d=u.injectionSelector;d&&v5(e,d,u,this,u)}})}return e.sort((s,o)=>s.priority-o.priority),e}getInjections(){return this._injections===null&&(this._injections=this._collectInjections()),this._injections}registerRule(n){const e=++this._lastRuleId,t=n(e);return this._ruleId2desc[e]=t,t}getRule(n){return this._ruleId2desc[n]}getExternalGrammar(n,e){if(this._includedGrammars[n])return this._includedGrammars[n];if(this._grammarRepository){const t=this._grammarRepository.lookup(n);if(t)return this._includedGrammars[n]=b5(t,e&&e.$base),this._includedGrammars[n]}}tokenizeLine(n,e,t=0){const a=this._tokenize(n,e,!1,t);return{tokens:a.lineTokens.getResult(a.ruleStack,a.lineLength),ruleStack:a.ruleStack,stoppedEarly:a.stoppedEarly}}tokenizeLine2(n,e,t=0){const a=this._tokenize(n,e,!0,t);return{tokens:a.lineTokens.getBinaryResult(a.ruleStack,a.lineLength),ruleStack:a.ruleStack,stoppedEarly:a.stoppedEarly}}_tokenize(n,e,t,a){this._rootId===-1&&(this._rootId=O6.getCompiledRuleId(this._grammar.repository.$self,this,this._grammar.repository),this.getInjections());let s;if(!e||e===xg.NULL){s=!0;const h=this._basicScopeAttributesProvider.getDefaultAttributes(),m=this.themeProvider.getDefaults(),p=Fi.set(0,h.languageId,h.tokenType,null,m.fontStyle,m.foregroundId,m.backgroundId),b=this.getRule(this._rootId).getName(null,null);let x;b?x=Oc.createRootAndLookUpScopeName(b,p,this):x=Oc.createRoot("unknown",p),e=new xg(null,this._rootId,-1,-1,!1,null,x,x)}else s=!1,e.reset();n=n+`
|
|
291
|
-
`;const o=this.createOnigString(n),l=o.content.length,u=new cE(t,n,this._tokenTypeMatchers,this.balancedBracketSelectors),d=B6(this,o,s,0,e,u,!0,a);return M6(o),{lineLength:l,lineTokens:u,ruleStack:d.stack,stoppedEarly:d.stoppedEarly}}};function b5(n,e){return n=TA(n),n.repository=n.repository||{},n.repository.$self={$vscodeTextmateLocation:n.$vscodeTextmateLocation,patterns:n.patterns,name:n.scopeName},n.repository.$base=e||n.repository.$self,n}var Oc=class hr{constructor(e,t,a){this.parent=e,this.scopePath=t,this.tokenAttributes=a}static fromExtension(e,t){let a=e,s=(e==null?void 0:e.scopePath)??null;for(const o of t)s=tp.push(s,o.scopeNames),a=new hr(a,s,o.encodedTokenAttributes);return a}static createRoot(e,t){return new hr(null,new tp(null,e),t)}static createRootAndLookUpScopeName(e,t,a){const s=a.getMetadataForScope(e),o=new tp(null,e),l=a.themeProvider.themeMatch(o),u=hr.mergeAttributes(t,s,l);return new hr(null,o,u)}get scopeName(){return this.scopePath.scopeName}toString(){return this.getScopeNames().join(" ")}equals(e){return hr.equals(this,e)}static equals(e,t){do{if(e===t||!e&&!t)return!0;if(!e||!t||e.scopeName!==t.scopeName||e.tokenAttributes!==t.tokenAttributes)return!1;e=e.parent,t=t.parent}while(!0)}static mergeAttributes(e,t,a){let s=-1,o=0,l=0;return a!==null&&(s=a.fontStyle,o=a.foregroundId,l=a.backgroundId),Fi.set(e,t.languageId,t.tokenType,null,s,o,l)}pushAttributed(e,t){if(e===null)return this;if(e.indexOf(" ")===-1)return hr._pushAttributed(this,e,t);const a=e.split(/ /g);let s=this;for(const o of a)s=hr._pushAttributed(s,o,t);return s}static _pushAttributed(e,t,a){const s=a.getMetadataForScope(t),o=e.scopePath.push(t),l=a.themeProvider.themeMatch(o),u=hr.mergeAttributes(e.tokenAttributes,s,l);return new hr(e,o,u)}getScopeNames(){return this.scopePath.getSegments()}getExtensionIfDefined(e){var s;const t=[];let a=this;for(;a&&a!==e;)t.push({encodedTokenAttributes:a.tokenAttributes,scopeNames:a.scopePath.getExtensionIfDefined(((s=a.parent)==null?void 0:s.scopePath)??null)}),a=a.parent;return a===e?t.reverse():void 0}},za,xg=(za=class{constructor(e,t,a,s,o,l,u,d){W(this,"_stackElementBrand");W(this,"_enterPos");W(this,"_anchorPos");W(this,"depth");this.parent=e,this.ruleId=t,this.beginRuleCapturedEOL=o,this.endRule=l,this.nameScopesList=u,this.contentNameScopesList=d,this.depth=this.parent?this.parent.depth+1:1,this._enterPos=a,this._anchorPos=s}equals(e){return e===null?!1:za._equals(this,e)}static _equals(e,t){return e===t?!0:this._structuralEquals(e,t)?Oc.equals(e.contentNameScopesList,t.contentNameScopesList):!1}static _structuralEquals(e,t){do{if(e===t||!e&&!t)return!0;if(!e||!t||e.depth!==t.depth||e.ruleId!==t.ruleId||e.endRule!==t.endRule)return!1;e=e.parent,t=t.parent}while(!0)}clone(){return this}static _reset(e){for(;e;)e._enterPos=-1,e._anchorPos=-1,e=e.parent}reset(){za._reset(this)}pop(){return this.parent}safePop(){return this.parent?this.parent:this}push(e,t,a,s,o,l,u){return new za(this,e,t,a,s,o,l,u)}getEnterPos(){return this._enterPos}getAnchorPos(){return this._anchorPos}getRule(e){return e.getRule(this.ruleId)}toString(){const e=[];return this._writeString(e,0),"["+e.join(",")+"]"}_writeString(e,t){var a,s;return this.parent&&(t=this.parent._writeString(e,t)),e[t++]=`(${this.ruleId}, ${(a=this.nameScopesList)==null?void 0:a.toString()}, ${(s=this.contentNameScopesList)==null?void 0:s.toString()})`,t}withContentNameScopesList(e){return this.contentNameScopesList===e?this:this.parent.push(this.ruleId,this._enterPos,this._anchorPos,this.beginRuleCapturedEOL,this.endRule,this.nameScopesList,e)}withEndRule(e){return this.endRule===e?this:new za(this.parent,this.ruleId,this._enterPos,this._anchorPos,this.beginRuleCapturedEOL,e,this.nameScopesList,this.contentNameScopesList)}hasSameRuleAs(e){let t=this;for(;t&&t._enterPos===e._enterPos;){if(t.ruleId===e.ruleId)return!0;t=t.parent}return!1}toStateStackFrame(){var e,t,a;return{ruleId:this.ruleId,beginRuleCapturedEOL:this.beginRuleCapturedEOL,endRule:this.endRule,nameScopesList:((t=this.nameScopesList)==null?void 0:t.getExtensionIfDefined(((e=this.parent)==null?void 0:e.nameScopesList)??null))??[],contentNameScopesList:((a=this.contentNameScopesList)==null?void 0:a.getExtensionIfDefined(this.nameScopesList))??[]}}static pushFrame(e,t){const a=Oc.fromExtension((e==null?void 0:e.nameScopesList)??null,t.nameScopesList);return new za(e,t.ruleId,t.enterPos??-1,t.anchorPos??-1,t.beginRuleCapturedEOL,t.endRule,a,Oc.fromExtension(a,t.contentNameScopesList))}},W(za,"NULL",new za(null,0,0,0,!1,null,null,null)),za),lE=class{constructor(n,e){W(this,"balancedBracketScopes");W(this,"unbalancedBracketScopes");W(this,"allowAny",!1);this.balancedBracketScopes=n.flatMap(t=>t==="*"?(this.allowAny=!0,[]):_0(t,A0).map(a=>a.matcher)),this.unbalancedBracketScopes=e.flatMap(t=>_0(t,A0).map(a=>a.matcher))}get matchesAlways(){return this.allowAny&&this.unbalancedBracketScopes.length===0}get matchesNever(){return this.balancedBracketScopes.length===0&&!this.allowAny}match(n){for(const e of this.unbalancedBracketScopes)if(e(n))return!1;for(const e of this.balancedBracketScopes)if(e(n))return!0;return this.allowAny}},cE=class{constructor(n,e,t,a){W(this,"_emitBinaryTokens");W(this,"_lineText");W(this,"_tokens");W(this,"_binaryTokens");W(this,"_lastTokenEndIndex");W(this,"_tokenTypeOverrides");this.balancedBracketSelectors=a,this._emitBinaryTokens=n,this._tokenTypeOverrides=t,this._lineText=null,this._tokens=[],this._binaryTokens=[],this._lastTokenEndIndex=0}produce(n,e){this.produceFromScopes(n.contentNameScopesList,e)}produceFromScopes(n,e){var a;if(this._lastTokenEndIndex>=e)return;if(this._emitBinaryTokens){let s=(n==null?void 0:n.tokenAttributes)??0,o=!1;if((a=this.balancedBracketSelectors)!=null&&a.matchesAlways&&(o=!0),this._tokenTypeOverrides.length>0||this.balancedBracketSelectors&&!this.balancedBracketSelectors.matchesAlways&&!this.balancedBracketSelectors.matchesNever){const l=(n==null?void 0:n.getScopeNames())??[];for(const u of this._tokenTypeOverrides)u.matcher(l)&&(s=Fi.set(s,0,u.type,null,-1,0,0));this.balancedBracketSelectors&&(o=this.balancedBracketSelectors.match(l))}if(o&&(s=Fi.set(s,0,8,o,-1,0,0)),this._binaryTokens.length>0&&this._binaryTokens[this._binaryTokens.length-1]===s){this._lastTokenEndIndex=e;return}this._binaryTokens.push(this._lastTokenEndIndex),this._binaryTokens.push(s),this._lastTokenEndIndex=e;return}const t=(n==null?void 0:n.getScopeNames())??[];this._tokens.push({startIndex:this._lastTokenEndIndex,endIndex:e,scopes:t}),this._lastTokenEndIndex=e}getResult(n,e){return this._tokens.length>0&&this._tokens[this._tokens.length-1].startIndex===e-1&&this._tokens.pop(),this._tokens.length===0&&(this._lastTokenEndIndex=-1,this.produce(n,e),this._tokens[this._tokens.length-1].startIndex=0),this._tokens}getBinaryResult(n,e){this._binaryTokens.length>0&&this._binaryTokens[this._binaryTokens.length-2]===e-1&&(this._binaryTokens.pop(),this._binaryTokens.pop()),this._binaryTokens.length===0&&(this._lastTokenEndIndex=-1,this.produce(n,e),this._binaryTokens[this._binaryTokens.length-2]=0);const t=new Uint32Array(this._binaryTokens.length);for(let a=0,s=this._binaryTokens.length;a<s;a++)t[a]=this._binaryTokens[a];return t}},uE=class{constructor(n,e){W(this,"_grammars",new Map);W(this,"_rawGrammars",new Map);W(this,"_injectionGrammars",new Map);W(this,"_theme");this._onigLib=e,this._theme=n}dispose(){for(const n of this._grammars.values())n.dispose()}setTheme(n){this._theme=n}getColorMap(){return this._theme.getColorMap()}addGrammar(n,e){this._rawGrammars.set(n.scopeName,n),e&&this._injectionGrammars.set(n.scopeName,e)}lookup(n){return this._rawGrammars.get(n)}injections(n){return this._injectionGrammars.get(n)}getDefaults(){return this._theme.getDefaults()}themeMatch(n){return this._theme.match(n)}grammarForScopeName(n,e,t,a,s){if(!this._grammars.has(n)){let o=this._rawGrammars.get(n);if(!o)return null;this._grammars.set(n,sE(n,o,e,t,a,s,this,this._onigLib))}return this._grammars.get(n)}},dE=class{constructor(e){W(this,"_options");W(this,"_syncRegistry");W(this,"_ensureGrammarCache");this._options=e,this._syncRegistry=new uE(S0.createFromRawTheme(e.theme,e.colorMap),e.onigLib),this._ensureGrammarCache=new Map}dispose(){this._syncRegistry.dispose()}setTheme(e,t){this._syncRegistry.setTheme(S0.createFromRawTheme(e,t))}getColorMap(){return this._syncRegistry.getColorMap()}loadGrammarWithEmbeddedLanguages(e,t,a){return this.loadGrammarWithConfiguration(e,t,{embeddedLanguages:a})}loadGrammarWithConfiguration(e,t,a){return this._loadGrammar(e,t,a.embeddedLanguages,a.tokenTypes,new lE(a.balancedBracketSelectors||[],a.unbalancedBracketSelectors||[]))}loadGrammar(e){return this._loadGrammar(e,0,null,null,null)}_loadGrammar(e,t,a,s,o){const l=new $A(this._syncRegistry,e);for(;l.Q.length>0;)l.Q.map(u=>this._loadSingleGrammar(u.scopeName)),l.processQueue();return this._grammarForScopeName(e,t,a,s,o)}_loadSingleGrammar(e){this._ensureGrammarCache.has(e)||(this._doLoadSingleGrammar(e),this._ensureGrammarCache.set(e,!0))}_doLoadSingleGrammar(e){const t=this._options.loadGrammar(e);if(t){const a=typeof this._options.getInjections=="function"?this._options.getInjections(e):void 0;this._syncRegistry.addGrammar(t,a)}}addGrammar(e,t=[],a=0,s=null){return this._syncRegistry.addGrammar(e,t),this._grammarForScopeName(e.scopeName,a,s)}_grammarForScopeName(e,t=0,a=null,s=null,o=null){return this._syncRegistry.grammarForScopeName(e,t,a,s,o)}},wg=xg.NULL;function E0(n,e){const t=typeof n=="string"?{}:{...n.colorReplacements},a=typeof n=="string"?n:n.name;for(const[s,o]of Object.entries((e==null?void 0:e.colorReplacements)||{}))typeof o=="string"?t[s]=o:s===a&&Object.assign(t,o);return t}function Js(n,e){return n&&((e==null?void 0:e[n==null?void 0:n.toLowerCase()])||n)}function fE(n){return Array.isArray(n)?n:[n]}async function P6(n){return Promise.resolve(typeof n=="function"?n():n).then(e=>e.default||e)}function nf(n){return!n||["plaintext","txt","text","plain"].includes(n)}function I6(n){return n==="ansi"||nf(n)}function af(n){return n==="none"}function z6(n){return af(n)}const hE=/(\r?\n)/g;function rf(n,e=!1){var o;if(n.length===0)return[["",0]];const t=n.split(hE);let a=0;const s=[];for(let l=0;l<t.length;l+=2){const u=e?t[l]+(t[l+1]||""):t[l];s.push([u,a]),a+=t[l].length,a+=((o=t[l+1])==null?void 0:o.length)||0}return s}const x5={light:"#333333",dark:"#bbbbbb"},w5={light:"#fffffe",dark:"#1e1e1e"},k5="__shiki_resolved";function b1(n){var u,d,h,m,p;if(n!=null&&n[k5])return n;const e={...n};e.tokenColors&&!e.settings&&(e.settings=e.tokenColors,delete e.tokenColors),e.type||(e.type="dark"),e.colorReplacements={...e.colorReplacements},e.settings||(e.settings=[]);let{bg:t,fg:a}=e;if(!t||!a){const b=e.settings?e.settings.find(x=>!x.name&&!x.scope):void 0;(u=b==null?void 0:b.settings)!=null&&u.foreground&&(a=b.settings.foreground),(d=b==null?void 0:b.settings)!=null&&d.background&&(t=b.settings.background),!a&&((h=e==null?void 0:e.colors)!=null&&h["editor.foreground"])&&(a=e.colors["editor.foreground"]),!t&&((m=e==null?void 0:e.colors)!=null&&m["editor.background"])&&(t=e.colors["editor.background"]),a||(a=e.type==="light"?x5.light:x5.dark),t||(t=e.type==="light"?w5.light:w5.dark),e.fg=a,e.bg=t}e.settings[0]&&e.settings[0].settings&&!e.settings[0].scope||e.settings.unshift({settings:{foreground:e.fg,background:e.bg}});let s=0;const o=new Map;function l(b){var k;if(o.has(b))return o.get(b);s+=1;const x=`#${s.toString(16).padStart(8,"0").toLowerCase()}`;return(k=e.colorReplacements)!=null&&k[`#${x}`]?l(b):(o.set(b,x),x)}e.settings=e.settings.map(b=>{var T,N;const x=((T=b.settings)==null?void 0:T.foreground)&&!b.settings.foreground.startsWith("#"),k=((N=b.settings)==null?void 0:N.background)&&!b.settings.background.startsWith("#");if(!x&&!k)return b;const _={...b,settings:{...b.settings}};if(x){const E=l(b.settings.foreground);e.colorReplacements[E]=b.settings.foreground,_.settings.foreground=E}if(k){const E=l(b.settings.background);e.colorReplacements[E]=b.settings.background,_.settings.background=E}return _});for(const b of Object.keys(e.colors||{}))if((b==="editor.foreground"||b==="editor.background"||b.startsWith("terminal.ansi"))&&!((p=e.colors[b])!=null&&p.startsWith("#"))){const x=l(e.colors[b]);e.colorReplacements[x]=e.colors[b],e.colors[b]=x}return Object.defineProperty(e,k5,{enumerable:!1,writable:!1,value:!0}),e}async function $6(n){return[...new Set((await Promise.all(n.filter(e=>!I6(e)).map(async e=>await P6(e).then(t=>Array.isArray(t)?t:[t])))).flat())]}async function H6(n){return(await Promise.all(n.map(async e=>z6(e)?null:b1(await P6(e))))).filter(e=>!!e)}function U6(n,e){if(!e)return n;if(e[n]){const t=new Set([n]);for(;e[n];){if(n=e[n],t.has(n))throw new It(`Circular alias \`${[...t].join(" -> ")} -> ${n}\``);t.add(n)}}return n}var mE=class extends dE{constructor(e,t,a,s={}){super(e);W(this,"_resolver");W(this,"_themes");W(this,"_langs");W(this,"_alias");W(this,"_resolvedThemes",new Map);W(this,"_resolvedGrammars",new Map);W(this,"_langMap",new Map);W(this,"_langGraph",new Map);W(this,"_textmateThemeCache",new WeakMap);W(this,"_loadedThemesCache",null);W(this,"_loadedLanguagesCache",null);this._resolver=e,this._themes=t,this._langs=a,this._alias=s,this._themes.map(o=>this.loadTheme(o)),this.loadLanguages(this._langs)}getTheme(e){return typeof e=="string"?this._resolvedThemes.get(e):this.loadTheme(e)}loadTheme(e){const t=b1(e);return t.name&&(this._resolvedThemes.set(t.name,t),this._loadedThemesCache=null),t}getLoadedThemes(){return this._loadedThemesCache||(this._loadedThemesCache=[...this._resolvedThemes.keys()]),this._loadedThemesCache}setTheme(e){let t=this._textmateThemeCache.get(e);t||(t=S0.createFromRawTheme(e),this._textmateThemeCache.set(e,t)),this._syncRegistry.setTheme(t)}getGrammar(e){return e=U6(e,this._alias),this._resolvedGrammars.get(e)}loadLanguage(e){var o,l,u,d;if(this.getGrammar(e.name))return;const t=new Set([...this._langMap.values()].filter(h=>{var m;return(m=h.embeddedLangsLazy)==null?void 0:m.includes(e.name)}));this._resolver.addLanguage(e);const a={balancedBracketSelectors:e.balancedBracketSelectors||["*"],unbalancedBracketSelectors:e.unbalancedBracketSelectors||[]};this._syncRegistry._rawGrammars.set(e.scopeName,e);const s=this.loadGrammarWithConfiguration(e.scopeName,1,a);if(s.name=e.name,this._resolvedGrammars.set(e.name,s),e.aliases&&e.aliases.forEach(h=>{this._alias[h]=e.name}),this._loadedLanguagesCache=null,t.size)for(const h of t)this._resolvedGrammars.delete(h.name),this._loadedLanguagesCache=null,(l=(o=this._syncRegistry)==null?void 0:o._injectionGrammars)==null||l.delete(h.scopeName),(d=(u=this._syncRegistry)==null?void 0:u._grammars)==null||d.delete(h.scopeName),this.loadLanguage(this._langMap.get(h.name))}dispose(){super.dispose(),this._resolvedThemes.clear(),this._resolvedGrammars.clear(),this._langMap.clear(),this._langGraph.clear(),this._loadedThemesCache=null}loadLanguages(e){for(const s of e)this.resolveEmbeddedLanguages(s);const t=[...this._langGraph.entries()],a=t.filter(([s,o])=>!o);if(a.length){const s=t.filter(([o,l])=>{var u;return l?(u=l.embeddedLanguages||l.embeddedLangs)==null?void 0:u.some(d=>a.map(([h])=>h).includes(d)):!1}).filter(o=>!a.includes(o));throw new It(`Missing languages ${a.map(([o])=>`\`${o}\``).join(", ")}, required by ${s.map(([o])=>`\`${o}\``).join(", ")}`)}for(const[s,o]of t)this._resolver.addLanguage(o);for(const[s,o]of t)this.loadLanguage(o)}getLoadedLanguages(){return this._loadedLanguagesCache||(this._loadedLanguagesCache=[...new Set([...this._resolvedGrammars.keys(),...Object.keys(this._alias)])]),this._loadedLanguagesCache}resolveEmbeddedLanguages(e){this._langMap.set(e.name,e),this._langGraph.set(e.name,e);const t=e.embeddedLanguages??e.embeddedLangs;if(t)for(const a of t)this._langGraph.set(a,this._langMap.get(a))}},pE=class{constructor(n,e){W(this,"_langs",new Map);W(this,"_scopeToLang",new Map);W(this,"_injections",new Map);W(this,"_onigLib");this._onigLib={createOnigScanner:t=>n.createScanner(t),createOnigString:t=>n.createString(t)},e.forEach(t=>this.addLanguage(t))}get onigLib(){return this._onigLib}getLangRegistration(n){return this._langs.get(n)}loadGrammar(n){return this._scopeToLang.get(n)}addLanguage(n){this._langs.set(n.name,n),n.aliases&&n.aliases.forEach(e=>{this._langs.set(e,n)}),this._scopeToLang.set(n.scopeName,n),n.injectTo&&n.injectTo.forEach(e=>{this._injections.get(e)||this._injections.set(e,[]),this._injections.get(e).push(n.scopeName)})}getInjections(n){const e=n.split(".");let t=[];for(let a=1;a<=e.length;a++){const s=e.slice(0,a).join(".");t=[...t,...this._injections.get(s)||[]]}return t}};let vc=0;function gE(n){vc+=1,n.warnings!==!1&&vc>=10&&vc%10===0&&console.warn(`[Shiki] ${vc} instances have been created. Shiki is supposed to be used as a singleton, consider refactoring your code to cache your highlighter instance; Or call \`highlighter.dispose()\` to release unused instances.`);let e=!1;if(!n.engine)throw new It("`engine` option is required for synchronous mode");const t=(n.langs||[]).flat(1),a=(n.themes||[]).flat(1).map(b1),s=new mE(new pE(n.engine,t),a,t,n.langAlias);let o;function l(E){return U6(E,n.langAlias)}function u(E){T();const L=s.getGrammar(typeof E=="string"?E:E.name);if(!L)throw new It(`Language \`${E}\` not found, you may need to load it first`);return L}function d(E){if(E==="none")return{bg:"",fg:"",name:"none",settings:[],type:"dark"};T();const L=s.getTheme(E);if(!L)throw new It(`Theme \`${E}\` not found, you may need to load it first`);return L}function h(E){T();const L=d(E);return o!==E&&(s.setTheme(L),o=E),{theme:L,colorMap:s.getColorMap()}}function m(){return T(),s.getLoadedThemes()}function p(){return T(),s.getLoadedLanguages()}function b(...E){T(),s.loadLanguages(E.flat(1))}async function x(...E){return b(await $6(E))}function k(...E){T();for(const L of E.flat(1))s.loadTheme(L)}async function _(...E){return T(),k(await H6(E))}function T(){if(e)throw new It("Shiki instance has been disposed")}function N(){e||(e=!0,s.dispose(),vc-=1)}return{setTheme:h,getTheme:d,getLanguage:u,getLoadedThemes:m,getLoadedLanguages:p,resolveLangAlias:l,loadLanguage:x,loadLanguageSync:b,loadTheme:_,loadThemeSync:k,dispose:N,[Symbol.dispose]:N}}async function yE(n){n.engine||console.warn("`engine` option is required. Use `createOnigurumaEngine` or `createJavaScriptRegexEngine` to create an engine.");const[e,t,a]=await Promise.all([H6(n.themes||[]),$6(n.langs||[]),n.engine]);return gE({...n,themes:e,langs:t,engine:a})}const F6=new WeakMap;function sf(n,e){F6.set(n,e)}function Zc(n){return F6.get(n)}var of=class G6{constructor(...e){W(this,"_stacks",{});W(this,"lang");if(e.length===2){const[t,a]=e;this.lang=a,this._stacks=t}else{const[t,a,s]=e;this.lang=a,this._stacks={[s]:t}}}get themes(){return Object.keys(this._stacks)}get theme(){return this.themes[0]}get _stack(){return this._stacks[this.theme]}static initial(e,t){return new G6(Object.fromEntries(fE(t).map(a=>[a,wg])),e)}getInternalStack(e=this.theme){return this._stacks[e]}getScopes(e=this.theme){return vE(this._stacks[e])}toJSON(){return{lang:this.lang,theme:this.theme,themes:this.themes,scopes:this.getScopes()}}};function vE(n){const e=[],t=new Set;function a(s){var l;if(t.has(s))return;t.add(s);const o=(l=s==null?void 0:s.nameScopesList)==null?void 0:l.scopeName;o&&e.push(o),s.parent&&a(s.parent)}return a(n),e}function bE(n,e){if(!(n instanceof of))throw new It("Invalid grammar state");return n.getInternalStack(e)}const xE=/,/,wE=/ /;function q6(n,e,t={}){const{theme:a=n.getLoadedThemes()[0]}=t;if(nf(n.resolveLangAlias(t.lang||"text"))||af(a))return rf(e).map(u=>[{content:u[0],offset:u[1]}]);const{theme:s,colorMap:o}=n.setTheme(a),l=n.getLanguage(t.lang||"text");if(t.grammarState){if(t.grammarState.lang!==l.name)throw new It(`Grammar state language "${t.grammarState.lang}" does not match highlight language "${l.name}"`);if(!t.grammarState.themes.includes(s.name))throw new It(`Grammar state themes "${t.grammarState.themes}" do not contain highlight theme "${s.name}"`)}return SE(e,l,s,o,t)}function kE(...n){if(n.length===2)return Zc(n[1]);const[e,t,a={}]=n,{lang:s="text",theme:o=e.getLoadedThemes()[0]}=a;if(nf(s)||af(o))throw new It("Plain language does not have grammar state");if(s==="ansi")throw new It("ANSI language does not have grammar state");const{theme:l,colorMap:u}=e.setTheme(o),d=e.getLanguage(s);return new of(x1(t,d,l,u,a).stateStack,d.name,l.name)}function SE(n,e,t,a,s){const o=x1(n,e,t,a,s),l=new of(o.stateStack,e.name,t.name);return sf(o.tokens,l),o.tokens}function x1(n,e,t,a,s){const o=E0(t,s),{tokenizeMaxLineLength:l=0,tokenizeTimeLimit:u=500,includeExplanation:d=!1}=s,h=rf(n);let m=s.grammarState?bE(s.grammarState,t.name)??wg:s.grammarContextCode!=null?x1(s.grammarContextCode,e,t,a,{...s,grammarState:void 0,grammarContextCode:void 0}).stateStack:wg,p=[];const b=[];for(let x=0,k=h.length;x<k;x++){const[_,T]=h[x];if(_===""){p=[],b.push([]);continue}if(l>0&&_.length>=l){p=[],b.push([{content:_,offset:T,color:"",fontStyle:0}]);continue}let N,E,L;d&&d!=="tokenType"&&(N=e.tokenizeLine(_,m,u),E=N.tokens,L=0);const B=e.tokenizeLine2(_,m,u),j=B.tokens.length/2;for(let q=0;q<j;q++){const K=B.tokens[2*q],te=q+1<j?B.tokens[2*q+2]:_.length;if(K===te)continue;const J=B.tokens[2*q+1],be=Js(a[Fi.getForeground(J)],o),Le=Fi.getFontStyle(J),fe={content:_.substring(K,te),offset:T+K,color:be,fontStyle:Le};if(d==="tokenType")fe.type=Fi.getTokenType(J);else if(d){const se=[];if(d!=="scopeName")for(const xe of t.settings){let G;switch(typeof xe.scope){case"string":G=xe.scope.split(xE).map(le=>le.trim());break;case"object":G=xe.scope;break;default:continue}se.push({settings:xe,selectors:G.map(le=>le.split(wE))})}fe.explanation=[];let ge=0;for(;K+ge<te;){const xe=E[L],G=_.substring(xe.startIndex,xe.endIndex);ge+=G.length,fe.explanation.push({content:G,scopes:d==="scopeName"?_E(xe.scopes):CE(se,xe.scopes)}),L+=1}}p.push(fe)}b.push(p),p=[],m=B.ruleStack}return{tokens:b,stateStack:m}}function _E(n){return n.map(e=>({scopeName:e}))}function CE(n,e){const t=[];for(let a=0,s=e.length;a<s;a++){const o=e[a];t[a]={scopeName:o,themeMatches:AE(n,o,e.slice(0,a))}}return t}function S5(n,e){return n===e||e.substring(0,n.length)===n&&e[n.length]==="."}function TE(n,e,t){if(!S5(n.at(-1),e))return!1;let a=n.length-2,s=t.length-1;for(;a>=0&&s>=0;)S5(n[a],t[s])&&(a-=1),s-=1;return a===-1}function AE(n,e,t){const a=[];for(const{selectors:s,settings:o}of n)for(const l of s)if(TE(l,e,t)){a.push(o);break}return a}function V6(n,e,t,a=q6){const s=Object.entries(t.themes).filter(h=>h[1]).map(h=>({color:h[0],theme:h[1]})),o=s.map(h=>{const m=a(n,e,{...t,theme:h.theme});return{tokens:m,state:Zc(m),theme:typeof h.theme=="string"?h.theme:h.theme.name}}),l=EE(...o.map(h=>h.tokens)),u=l[0].map((h,m)=>h.map((p,b)=>{const x={content:p.content,variants:{},offset:p.offset};return"includeExplanation"in t&&t.includeExplanation&&(x.explanation=p.explanation),l.forEach((k,_)=>{const{content:T,explanation:N,offset:E,...L}=k[m][b];x.variants[s[_].color]=L}),x})),d=o[0].state?new of(Object.fromEntries(o.map(h=>{var m;return[h.theme,(m=h.state)==null?void 0:m.getInternalStack(h.theme)]})),o[0].state.lang):void 0;return d&&sf(u,d),u}function EE(...n){const e=n.map(()=>[]),t=n.length;for(let a=0;a<n[0].length;a++){const s=n.map(d=>d[a]),o=e.map(()=>[]);e.forEach((d,h)=>d.push(o[h]));const l=s.map(()=>0),u=s.map(d=>d[0]);for(;u.every(d=>d);){const d=Math.min(...u.map(h=>h.content.length));for(let h=0;h<t;h++){const m=u[h];m.content.length===d?(o[h].push(m),l[h]+=1,u[h]=s[h][l[h]]):(o[h].push({...m,content:m.content.slice(0,d)}),u[h]={...m,content:m.content.slice(d),offset:m.offset+d})}}}return e}const NE=["area","base","basefont","bgsound","br","col","command","embed","frame","hr","image","img","input","keygen","link","meta","param","source","track","wbr"],_5={}.hasOwnProperty;function ME(n,e){const t=e||{};function a(s,...o){let l=a.invalid;const u=a.handlers;if(s&&_5.call(s,n)){const d=String(s[n]);l=_5.call(u,d)?u[d]:a.unknown}if(l)return l.call(this,s,...o)}return a.handlers=t.handlers||{},a.invalid=t.invalid,a.unknown=t.unknown,a}const RE=/["&'<>`]/g,DE=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,OE=/[\x01-\t\v\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,LE=/[|\\{}()[\]^$+*?.]/g,C5=new WeakMap;function BE(n,e){if(n=n.replace(e.subset?jE(e.subset):RE,a),e.subset||e.escapeOnly)return n;return n.replace(DE,t).replace(OE,a);function t(s,o,l){return e.format((s.charCodeAt(0)-55296)*1024+s.charCodeAt(1)-56320+65536,l.charCodeAt(o+2),e)}function a(s,o,l){return e.format(s.charCodeAt(0),l.charCodeAt(o+1),e)}}function jE(n){let e=C5.get(n);return e||(e=PE(n),C5.set(n,e)),e}function PE(n){const e=[];let t=-1;for(;++t<n.length;)e.push(n[t].replace(LE,"\\$&"));return new RegExp("(?:"+e.join("|")+")","g")}const IE=/[\dA-Fa-f]/;function zE(n,e,t){const a="&#x"+n.toString(16).toUpperCase();return t&&e&&!IE.test(String.fromCharCode(e))?a:a+";"}const $E=/\d/;function HE(n,e,t){const a="&#"+String(n);return t&&e&&!$E.test(String.fromCharCode(e))?a:a+";"}const UE=["AElig","AMP","Aacute","Acirc","Agrave","Aring","Atilde","Auml","COPY","Ccedil","ETH","Eacute","Ecirc","Egrave","Euml","GT","Iacute","Icirc","Igrave","Iuml","LT","Ntilde","Oacute","Ocirc","Ograve","Oslash","Otilde","Ouml","QUOT","REG","THORN","Uacute","Ucirc","Ugrave","Uuml","Yacute","aacute","acirc","acute","aelig","agrave","amp","aring","atilde","auml","brvbar","ccedil","cedil","cent","copy","curren","deg","divide","eacute","ecirc","egrave","eth","euml","frac12","frac14","frac34","gt","iacute","icirc","iexcl","igrave","iquest","iuml","laquo","lt","macr","micro","middot","nbsp","not","ntilde","oacute","ocirc","ograve","ordf","ordm","oslash","otilde","ouml","para","plusmn","pound","quot","raquo","reg","sect","shy","sup1","sup2","sup3","szlig","thorn","times","uacute","ucirc","ugrave","uml","uuml","yacute","yen","yuml"],ap={nbsp:" ",iexcl:"¡",cent:"¢",pound:"£",curren:"¤",yen:"¥",brvbar:"¦",sect:"§",uml:"¨",copy:"©",ordf:"ª",laquo:"«",not:"¬",shy:"",reg:"®",macr:"¯",deg:"°",plusmn:"±",sup2:"²",sup3:"³",acute:"´",micro:"µ",para:"¶",middot:"·",cedil:"¸",sup1:"¹",ordm:"º",raquo:"»",frac14:"¼",frac12:"½",frac34:"¾",iquest:"¿",Agrave:"À",Aacute:"Á",Acirc:"Â",Atilde:"Ã",Auml:"Ä",Aring:"Å",AElig:"Æ",Ccedil:"Ç",Egrave:"È",Eacute:"É",Ecirc:"Ê",Euml:"Ë",Igrave:"Ì",Iacute:"Í",Icirc:"Î",Iuml:"Ï",ETH:"Ð",Ntilde:"Ñ",Ograve:"Ò",Oacute:"Ó",Ocirc:"Ô",Otilde:"Õ",Ouml:"Ö",times:"×",Oslash:"Ø",Ugrave:"Ù",Uacute:"Ú",Ucirc:"Û",Uuml:"Ü",Yacute:"Ý",THORN:"Þ",szlig:"ß",agrave:"à",aacute:"á",acirc:"â",atilde:"ã",auml:"ä",aring:"å",aelig:"æ",ccedil:"ç",egrave:"è",eacute:"é",ecirc:"ê",euml:"ë",igrave:"ì",iacute:"í",icirc:"î",iuml:"ï",eth:"ð",ntilde:"ñ",ograve:"ò",oacute:"ó",ocirc:"ô",otilde:"õ",ouml:"ö",divide:"÷",oslash:"ø",ugrave:"ù",uacute:"ú",ucirc:"û",uuml:"ü",yacute:"ý",thorn:"þ",yuml:"ÿ",fnof:"ƒ",Alpha:"Α",Beta:"Β",Gamma:"Γ",Delta:"Δ",Epsilon:"Ε",Zeta:"Ζ",Eta:"Η",Theta:"Θ",Iota:"Ι",Kappa:"Κ",Lambda:"Λ",Mu:"Μ",Nu:"Ν",Xi:"Ξ",Omicron:"Ο",Pi:"Π",Rho:"Ρ",Sigma:"Σ",Tau:"Τ",Upsilon:"Υ",Phi:"Φ",Chi:"Χ",Psi:"Ψ",Omega:"Ω",alpha:"α",beta:"β",gamma:"γ",delta:"δ",epsilon:"ε",zeta:"ζ",eta:"η",theta:"θ",iota:"ι",kappa:"κ",lambda:"λ",mu:"μ",nu:"ν",xi:"ξ",omicron:"ο",pi:"π",rho:"ρ",sigmaf:"ς",sigma:"σ",tau:"τ",upsilon:"υ",phi:"φ",chi:"χ",psi:"ψ",omega:"ω",thetasym:"ϑ",upsih:"ϒ",piv:"ϖ",bull:"•",hellip:"…",prime:"′",Prime:"″",oline:"‾",frasl:"⁄",weierp:"℘",image:"ℑ",real:"ℜ",trade:"™",alefsym:"ℵ",larr:"←",uarr:"↑",rarr:"→",darr:"↓",harr:"↔",crarr:"↵",lArr:"⇐",uArr:"⇑",rArr:"⇒",dArr:"⇓",hArr:"⇔",forall:"∀",part:"∂",exist:"∃",empty:"∅",nabla:"∇",isin:"∈",notin:"∉",ni:"∋",prod:"∏",sum:"∑",minus:"−",lowast:"∗",radic:"√",prop:"∝",infin:"∞",ang:"∠",and:"∧",or:"∨",cap:"∩",cup:"∪",int:"∫",there4:"∴",sim:"∼",cong:"≅",asymp:"≈",ne:"≠",equiv:"≡",le:"≤",ge:"≥",sub:"⊂",sup:"⊃",nsub:"⊄",sube:"⊆",supe:"⊇",oplus:"⊕",otimes:"⊗",perp:"⊥",sdot:"⋅",lceil:"⌈",rceil:"⌉",lfloor:"⌊",rfloor:"⌋",lang:"〈",rang:"〉",loz:"◊",spades:"♠",clubs:"♣",hearts:"♥",diams:"♦",quot:'"',amp:"&",lt:"<",gt:">",OElig:"Œ",oelig:"œ",Scaron:"Š",scaron:"š",Yuml:"Ÿ",circ:"ˆ",tilde:"˜",ensp:" ",emsp:" ",thinsp:" ",zwnj:"",zwj:"",lrm:"",rlm:"",ndash:"–",mdash:"—",lsquo:"‘",rsquo:"’",sbquo:"‚",ldquo:"“",rdquo:"”",bdquo:"„",dagger:"†",Dagger:"‡",permil:"‰",lsaquo:"‹",rsaquo:"›",euro:"€"},FE=["cent","copy","divide","gt","lt","not","para","times"],W6={}.hasOwnProperty,kg={};let Pd;for(Pd in ap)W6.call(ap,Pd)&&(kg[ap[Pd]]=Pd);const GE=/[^\dA-Za-z]/;function qE(n,e,t,a){const s=String.fromCharCode(n);if(W6.call(kg,s)){const o=kg[s],l="&"+o;return t&&UE.includes(o)&&!FE.includes(o)&&(!a||e&&e!==61&&GE.test(String.fromCharCode(e)))?l:l+";"}return""}function VE(n,e,t){let a=zE(n,e,t.omitOptionalSemicolons),s;if((t.useNamedReferences||t.useShortestReferences)&&(s=qE(n,e,t.omitOptionalSemicolons,t.attribute)),(t.useShortestReferences||!s)&&t.useShortestReferences){const o=HE(n,e,t.omitOptionalSemicolons);o.length<a.length&&(a=o)}return s&&(!t.useShortestReferences||s.length<a.length)?s:a}function Qo(n,e){return BE(n,Object.assign({format:VE},e))}const WE=/^>|^->|<!--|-->|--!>|<!-$/g,KE=[">"],YE=["<",">"];function ZE(n,e,t,a){return a.settings.bogusComments?"<?"+Qo(n.value,Object.assign({},a.settings.characterReferences,{subset:KE}))+">":"<!--"+n.value.replace(WE,s)+"-->";function s(o){return Qo(o,Object.assign({},a.settings.characterReferences,{subset:YE}))}}function XE(n,e,t,a){return"<!"+(a.settings.upperDoctype?"DOCTYPE":"doctype")+(a.settings.tightDoctype?"":" ")+"html>"}function T5(n,e){const t=String(n);if(typeof e!="string")throw new TypeError("Expected character");let a=0,s=t.indexOf(e);for(;s!==-1;)a++,s=t.indexOf(e,s+e.length);return a}const Sn=Y6(1),K6=Y6(-1),QE=[];function Y6(n){return e;function e(t,a,s){const o=t?t.children:QE;let l=(a||0)+n,u=o[l];if(!s)for(;u&&qg(u);)l+=n,u=o[l];return u}}const JE={}.hasOwnProperty;function Z6(n){return e;function e(t,a,s){return JE.call(n,t.tagName)&&n[t.tagName](t,a,s)}}const w1=Z6({body:tN,caption:rp,colgroup:rp,dd:sN,dt:rN,head:rp,html:eN,li:aN,optgroup:iN,option:oN,p:nN,rp:A5,rt:A5,tbody:cN,td:E5,tfoot:uN,th:E5,thead:lN,tr:dN});function rp(n,e,t){const a=Sn(t,e,!0);return!a||a.type!=="comment"&&!(a.type==="text"&&qg(a.value.charAt(0)))}function eN(n,e,t){const a=Sn(t,e);return!a||a.type!=="comment"}function tN(n,e,t){const a=Sn(t,e);return!a||a.type!=="comment"}function nN(n,e,t){const a=Sn(t,e);return a?a.type==="element"&&(a.tagName==="address"||a.tagName==="article"||a.tagName==="aside"||a.tagName==="blockquote"||a.tagName==="details"||a.tagName==="div"||a.tagName==="dl"||a.tagName==="fieldset"||a.tagName==="figcaption"||a.tagName==="figure"||a.tagName==="footer"||a.tagName==="form"||a.tagName==="h1"||a.tagName==="h2"||a.tagName==="h3"||a.tagName==="h4"||a.tagName==="h5"||a.tagName==="h6"||a.tagName==="header"||a.tagName==="hgroup"||a.tagName==="hr"||a.tagName==="main"||a.tagName==="menu"||a.tagName==="nav"||a.tagName==="ol"||a.tagName==="p"||a.tagName==="pre"||a.tagName==="section"||a.tagName==="table"||a.tagName==="ul"):!t||!(t.type==="element"&&(t.tagName==="a"||t.tagName==="audio"||t.tagName==="del"||t.tagName==="ins"||t.tagName==="map"||t.tagName==="noscript"||t.tagName==="video"))}function aN(n,e,t){const a=Sn(t,e);return!a||a.type==="element"&&a.tagName==="li"}function rN(n,e,t){const a=Sn(t,e);return!!(a&&a.type==="element"&&(a.tagName==="dt"||a.tagName==="dd"))}function sN(n,e,t){const a=Sn(t,e);return!a||a.type==="element"&&(a.tagName==="dt"||a.tagName==="dd")}function A5(n,e,t){const a=Sn(t,e);return!a||a.type==="element"&&(a.tagName==="rp"||a.tagName==="rt")}function iN(n,e,t){const a=Sn(t,e);return!a||a.type==="element"&&a.tagName==="optgroup"}function oN(n,e,t){const a=Sn(t,e);return!a||a.type==="element"&&(a.tagName==="option"||a.tagName==="optgroup")}function lN(n,e,t){const a=Sn(t,e);return!!(a&&a.type==="element"&&(a.tagName==="tbody"||a.tagName==="tfoot"))}function cN(n,e,t){const a=Sn(t,e);return!a||a.type==="element"&&(a.tagName==="tbody"||a.tagName==="tfoot")}function uN(n,e,t){return!Sn(t,e)}function dN(n,e,t){const a=Sn(t,e);return!a||a.type==="element"&&a.tagName==="tr"}function E5(n,e,t){const a=Sn(t,e);return!a||a.type==="element"&&(a.tagName==="td"||a.tagName==="th")}const fN=Z6({body:pN,colgroup:gN,head:mN,html:hN,tbody:yN});function hN(n){const e=Sn(n,-1);return!e||e.type!=="comment"}function mN(n){const e=new Set;for(const a of n.children)if(a.type==="element"&&(a.tagName==="base"||a.tagName==="title")){if(e.has(a.tagName))return!1;e.add(a.tagName)}const t=n.children[0];return!t||t.type==="element"}function pN(n){const e=Sn(n,-1,!0);return!e||e.type!=="comment"&&!(e.type==="text"&&qg(e.value.charAt(0)))&&!(e.type==="element"&&(e.tagName==="meta"||e.tagName==="link"||e.tagName==="script"||e.tagName==="style"||e.tagName==="template"))}function gN(n,e,t){const a=K6(t,e),s=Sn(n,-1,!0);return t&&a&&a.type==="element"&&a.tagName==="colgroup"&&w1(a,t.children.indexOf(a),t)?!1:!!(s&&s.type==="element"&&s.tagName==="col")}function yN(n,e,t){const a=K6(t,e),s=Sn(n,-1);return t&&a&&a.type==="element"&&(a.tagName==="thead"||a.tagName==="tbody")&&w1(a,t.children.indexOf(a),t)?!1:!!(s&&s.type==="element"&&s.tagName==="tr")}const Id={name:[[`
|
|
292
|
-
\f\r &/=>`.split(""),`
|
|
293
|
-
\f\r "&'/=>\``.split("")],[`\0
|
|
294
|
-
\f\r "&'/<=>`.split(""),`\0
|
|
295
|
-
\f\r "&'/<=>\``.split("")]],unquoted:[[`
|
|
296
|
-
\f\r &>`.split(""),`\0
|
|
297
|
-
\f\r "&'<=>\``.split("")],[`\0
|
|
298
|
-
\f\r "&'<=>\``.split(""),`\0
|
|
299
|
-
\f\r "&'<=>\``.split("")]],single:[["&'".split(""),"\"&'`".split("")],["\0&'".split(""),"\0\"&'`".split("")]],double:[['"&'.split(""),"\"&'`".split("")],['\0"&'.split(""),"\0\"&'`".split("")]]};function vN(n,e,t,a){const s=a.schema,o=s.space==="svg"?!1:a.settings.omitOptionalTags;let l=s.space==="svg"?a.settings.closeEmptyElements:a.settings.voids.includes(n.tagName.toLowerCase());const u=[];let d;s.space==="html"&&n.tagName==="svg"&&(a.schema=Gg);const h=bN(a,n.properties),m=a.all(s.space==="html"&&n.tagName==="template"?n.content:n);return a.schema=s,m&&(l=!1),(h||!o||!fN(n,e,t))&&(u.push("<",n.tagName,h?" "+h:""),l&&(s.space==="svg"||a.settings.closeSelfClosing)&&(d=h.charAt(h.length-1),(!a.settings.tightSelfClosing||d==="/"||d&&d!=='"'&&d!=="'")&&u.push(" "),u.push("/")),u.push(">")),u.push(m),!l&&(!o||!w1(n,e,t))&&u.push("</"+n.tagName+">"),u.join("")}function bN(n,e){const t=[];let a=-1,s;if(e){for(s in e)if(e[s]!==null&&e[s]!==void 0){const o=xN(n,s,e[s]);o&&t.push(o)}}for(;++a<t.length;){const o=n.settings.tightAttributes?t[a].charAt(t[a].length-1):void 0;a!==t.length-1&&o!=='"'&&o!=="'"&&(t[a]+=" ")}return t.join("")}function xN(n,e,t){const a=L3(n.schema,e),s=n.settings.allowParseErrors&&n.schema.space==="html"?0:1,o=n.settings.allowDangerousCharacters?0:1;let l=n.quote,u;if(a.overloadedBoolean&&(t===a.attribute||t==="")?t=!0:(a.boolean||a.overloadedBoolean)&&(typeof t!="string"||t===a.attribute||t==="")&&(t=!!t),t==null||t===!1||typeof t=="number"&&Number.isNaN(t))return"";const d=Qo(a.attribute,Object.assign({},n.settings.characterReferences,{subset:Id.name[s][o]}));return t===!0||(t=Array.isArray(t)?(a.commaSeparated?ok:lk)(t,{padLeft:!n.settings.tightCommaSeparatedLists}):String(t),n.settings.collapseEmptyAttributes&&!t)?d:(n.settings.preferUnquoted&&(u=Qo(t,Object.assign({},n.settings.characterReferences,{attribute:!0,subset:Id.unquoted[s][o]}))),u!==t&&(n.settings.quoteSmart&&T5(t,l)>T5(t,n.alternative)&&(l=n.alternative),u=l+Qo(t,Object.assign({},n.settings.characterReferences,{subset:(l==="'"?Id.single:Id.double)[s][o],attribute:!0}))+l),d+(u&&"="+u))}const wN=["<","&"];function X6(n,e,t,a){return t&&t.type==="element"&&(t.tagName==="script"||t.tagName==="style")?n.value:Qo(n.value,Object.assign({},a.settings.characterReferences,{subset:wN}))}function kN(n,e,t,a){return a.settings.allowDangerousHtml?n.value:X6(n,e,t,a)}function SN(n,e,t,a){return a.all(n)}const _N=ME("type",{invalid:CN,unknown:TN,handlers:{comment:ZE,doctype:XE,element:vN,raw:kN,root:SN,text:X6}});function CN(n){throw new Error("Expected node, not `"+n+"`")}function TN(n){const e=n;throw new Error("Cannot compile unknown node `"+e.type+"`")}const AN={},EN={},NN=[];function MN(n,e){const t=e||AN,a=t.quote||'"',s=a==='"'?"'":'"';if(a!=='"'&&a!=="'")throw new Error("Invalid quote `"+a+"`, expected `'` or `\"`");return{one:RN,all:DN,settings:{omitOptionalTags:t.omitOptionalTags||!1,allowParseErrors:t.allowParseErrors||!1,allowDangerousCharacters:t.allowDangerousCharacters||!1,quoteSmart:t.quoteSmart||!1,preferUnquoted:t.preferUnquoted||!1,tightAttributes:t.tightAttributes||!1,upperDoctype:t.upperDoctype||!1,tightDoctype:t.tightDoctype||!1,bogusComments:t.bogusComments||!1,tightCommaSeparatedLists:t.tightCommaSeparatedLists||!1,tightSelfClosing:t.tightSelfClosing||!1,collapseEmptyAttributes:t.collapseEmptyAttributes||!1,allowDangerousHtml:t.allowDangerousHtml||!1,voids:t.voids||NE,characterReferences:t.characterReferences||EN,closeSelfClosing:t.closeSelfClosing||!1,closeEmptyElements:t.closeEmptyElements||!1},schema:t.space==="svg"?Gg:B3,quote:a,alternative:s}.one(Array.isArray(n)?{type:"root",children:n}:n,void 0,void 0)}function RN(n,e,t){return _N(n,e,t,this)}function DN(n){const e=[],t=n&&n.children||NN;let a=-1;for(;++a<t.length;)e[a]=this.one(t[a],a,n);return e.join("")}const N5=/\s+/g;function Q6(n,e){var a;if(!e)return n;n.properties||(n.properties={}),(a=n.properties).class||(a.class=[]),typeof n.properties.class=="string"&&(n.properties.class=n.properties.class.split(N5)),Array.isArray(n.properties.class)||(n.properties.class=[]);const t=Array.isArray(e)?e:e.split(N5);for(const s of t)s&&!n.properties.class.includes(s)&&n.properties.class.push(s);return n}function ON(n){const e=rf(n,!0).map(([s])=>s);function t(s){if(s===n.length)return{line:e.length-1,character:e.at(-1).length};let o=s,l=0;for(const u of e){if(o<u.length)break;o-=u.length,l++}return{line:l,character:o}}function a(s,o){let l=0;for(let u=0;u<s;u++)l+=e[u].length;return l+=o,l}return{lines:e,indexToPos:t,posToIndex:a}}const LN=["color","background-color"];function BN(n,e){let t=0;const a=[];for(const s of e)s>t&&a.push({...n,content:n.content.slice(t,s),offset:n.offset+t}),t=s;return t<n.content.length&&a.push({...n,content:n.content.slice(t),offset:n.offset+t}),a}function jN(n,e){let t=0,a=n.length;for(;t<a;){const s=t+(a-t>>1);n[s]<=e?t=s+1:a=s}return t}function PN(n,e){const t=[...e instanceof Set?e:new Set(e)].sort((a,s)=>a-s);return t.length?n.map(a=>a.flatMap(s=>{const o=s.offset+s.content.length,l=jN(t,s.offset);let u=l;for(;u<t.length&&t[u]<o;)u++;if(l===u)return s;const d=t.slice(l,u);for(let h=0;h<d.length;h++)d[h]-=s.offset;return BN(s,d)})):n}function IN(n,e,t,a,s="css-vars"){const o={content:n.content,explanation:n.explanation,offset:n.offset},l=e.map(m=>N0(n.variants[m])),u=new Set(l.flatMap(m=>Object.keys(m))),d={},h=(m,p)=>{const b=p==="color"?"":p==="background-color"?"-bg":`-${p}`;return t+e[m]+(p==="color"?"":b)};return l.forEach((m,p)=>{for(const b of u){const x=m[b]||"inherit";if(p===0&&a&&LN.includes(b))if(a==="light-dark()"&&l.length>1){const k=e.findIndex(E=>E==="light"),_=e.findIndex(E=>E==="dark");if(k===-1||_===-1)throw new It('When using `defaultColor: "light-dark()"`, you must provide both `light` and `dark` themes');const T=l[k][b]||"inherit",N=l[_][b]||"inherit";d[b]=`light-dark(${T}, ${N})`,s==="css-vars"&&(d[h(p,b)]=x)}else d[b]=x;else s==="css-vars"&&(d[h(p,b)]=x)}}),o.htmlStyle=d,o}function N0(n){const e={};if(n.color&&(e.color=n.color),n.bgColor&&(e["background-color"]=n.bgColor),n.fontStyle){n.fontStyle&Fn.Italic&&(e["font-style"]="italic"),n.fontStyle&Fn.Bold&&(e["font-weight"]="bold");const t=[];n.fontStyle&Fn.Underline&&t.push("underline"),n.fontStyle&Fn.Strikethrough&&t.push("line-through"),t.length&&(e["text-decoration"]=t.join(" "))}return e}function Sg(n){return typeof n=="string"?n:Object.entries(n).map(([e,t])=>`${e}:${t}`).join(";")}function zN(){const n=new WeakMap;function e(t){if(!n.has(t.meta)){let s=function(l){if(typeof l=="number"){if(l<0||l>t.source.length)throw new It(`Invalid decoration offset: ${l}. Code length: ${t.source.length}`);return{...a.indexToPos(l),offset:l}}else{const u=a.lines[l.line];if(u===void 0)throw new It(`Invalid decoration position ${JSON.stringify(l)}. Lines length: ${a.lines.length}`);let d=l.character;if(d<0&&(d=u.length+d),d<0||d>u.length)throw new It(`Invalid decoration position ${JSON.stringify(l)}. Line ${l.line} length: ${u.length}`);return{...l,character:d,offset:a.posToIndex(l.line,d)}}};const a=ON(t.source),o=(t.options.decorations||[]).map(l=>({...l,start:s(l.start),end:s(l.end)}));$N(o),n.set(t.meta,{decorations:o,converter:a,source:t.source})}return n.get(t.meta)}return{name:"shiki:decorations",tokens(t){var a;if((a=this.options.decorations)!=null&&a.length)return PN(t,e(this).decorations.flatMap(s=>[s.start.offset,s.end.offset]))},code(t){var m;if(!((m=this.options.decorations)!=null&&m.length))return;const a=e(this),s=[...t.children].filter(p=>p.type==="element"&&p.tagName==="span");if(s.length!==a.converter.lines.length)throw new It(`Number of lines in code element (${s.length}) does not match the number of lines in the source (${a.converter.lines.length}). Failed to apply decorations.`);function o(p,b,x,k){const _=s[p];let T="",N=-1,E=-1;if(b===0&&(N=0),x===0&&(E=0),x===Number.POSITIVE_INFINITY&&(E=_.children.length),N===-1||E===-1)for(let B=0;B<_.children.length;B++)T+=J6(_.children[B]),N===-1&&T.length===b&&(N=B+1),E===-1&&T.length===x&&(E=B+1);if(N===-1)throw new It(`Failed to find start index for decoration ${JSON.stringify(k.start)}`);if(E===-1)throw new It(`Failed to find end index for decoration ${JSON.stringify(k.end)}`);const L=_.children.slice(N,E);if(!k.alwaysWrap&&L.length===_.children.length)u(_,k,"line");else if(!k.alwaysWrap&&L.length===1&&L[0].type==="element")u(L[0],k,"token");else{const B={type:"element",tagName:"span",properties:{},children:L};u(B,k,"wrapper"),_.children.splice(N,L.length,B)}}function l(p,b){s[p]=u(s[p],b,"line")}function u(p,b,x){var T;const k=b.properties||{},_=b.transform||(N=>N);return p.tagName=b.tagName||"span",p.properties={...p.properties,...k,class:p.properties.class},(T=b.properties)!=null&&T.class&&Q6(p,b.properties.class),p=_(p,x)||p,p}const d=[],h=a.decorations.sort((p,b)=>b.start.offset-p.start.offset||p.end.offset-b.end.offset);for(const p of h){const{start:b,end:x}=p;if(b.line===x.line)o(b.line,b.character,x.character,p);else if(b.line<x.line){o(b.line,b.character,Number.POSITIVE_INFINITY,p);for(let k=b.line+1;k<x.line;k++)d.unshift(()=>l(k,p));o(x.line,0,x.character,p)}}d.forEach(p=>p())}}}function $N(n){for(let e=0;e<n.length;e++){const t=n[e];if(t.start.offset>t.end.offset)throw new It(`Invalid decoration range: ${JSON.stringify(t.start)} - ${JSON.stringify(t.end)}`);for(let a=e+1;a<n.length;a++){const s=n[a],o=t.start.offset<=s.start.offset&&s.start.offset<t.end.offset,l=t.start.offset<s.end.offset&&s.end.offset<=t.end.offset,u=s.start.offset<=t.start.offset&&t.start.offset<s.end.offset,d=s.start.offset<t.end.offset&&t.end.offset<=s.end.offset;if(o||l||u||d){if(o&&l||u&&d||u&&t.start.offset===t.end.offset||l&&s.start.offset===s.end.offset)continue;throw new It(`Decorations ${JSON.stringify(t.start)} and ${JSON.stringify(s.start)} intersect.`)}}}}function J6(n){return n.type==="text"?n.value:n.type==="element"?n.children.map(J6).join(""):""}const HN=[zN()];function M0(n){const e=UN(n.transformers||[]);return[...e.pre,...e.normal,...e.post,...HN]}function UN(n){const e=[],t=[],a=[];for(const s of n)switch(s.enforce){case"pre":e.push(s);break;case"post":t.push(s);break;default:a.push(s)}return{pre:e,post:t,normal:a}}var Ii=["black","red","green","yellow","blue","magenta","cyan","white","brightBlack","brightRed","brightGreen","brightYellow","brightBlue","brightMagenta","brightCyan","brightWhite"],sp={1:"bold",2:"dim",3:"italic",4:"underline",7:"reverse",8:"hidden",9:"strikethrough"};function FN(n,e){const t=n.indexOf("\x1B",e);if(t!==-1&&n[t+1]==="["){const a=n.indexOf("m",t);if(a!==-1)return{sequence:n.substring(t+2,a).split(";"),startPosition:t,position:a+1}}return{position:n.length}}function M5(n){const e=n.shift();if(e==="2"){const t=n.splice(0,3).map(a=>Number.parseInt(a));return t.length!==3||t.some(a=>Number.isNaN(a))?void 0:{type:"rgb",rgb:t}}else if(e==="5"){const t=n.shift();if(t)return{type:"table",index:Number(t)}}}function GN(n){const e=[];for(;n.length>0;){const t=n.shift();if(!t)continue;const a=Number.parseInt(t);if(!Number.isNaN(a))if(a===0)e.push({type:"resetAll"});else if(a<=9)sp[a]&&e.push({type:"setDecoration",value:sp[a]});else if(a<=29){const s=sp[a-20];s&&(e.push({type:"resetDecoration",value:s}),s==="dim"&&e.push({type:"resetDecoration",value:"bold"}))}else if(a<=37)e.push({type:"setForegroundColor",value:{type:"named",name:Ii[a-30]}});else if(a===38){const s=M5(n);s&&e.push({type:"setForegroundColor",value:s})}else if(a===39)e.push({type:"resetForegroundColor"});else if(a<=47)e.push({type:"setBackgroundColor",value:{type:"named",name:Ii[a-40]}});else if(a===48){const s=M5(n);s&&e.push({type:"setBackgroundColor",value:s})}else a===49?e.push({type:"resetBackgroundColor"}):a===53?e.push({type:"setDecoration",value:"overline"}):a===55?e.push({type:"resetDecoration",value:"overline"}):a>=90&&a<=97?e.push({type:"setForegroundColor",value:{type:"named",name:Ii[a-90+8]}}):a>=100&&a<=107&&e.push({type:"setBackgroundColor",value:{type:"named",name:Ii[a-100+8]}})}return e}function qN(){let n=null,e=null,t=new Set;return{parse(a){const s=[];let o=0;do{const l=FN(a,o),u=l.sequence?a.substring(o,l.startPosition):a.substring(o);if(u.length>0&&s.push({value:u,foreground:n,background:e,decorations:new Set(t)}),l.sequence){const d=GN(l.sequence);for(const h of d)h.type==="resetAll"?(n=null,e=null,t.clear()):h.type==="resetForegroundColor"?n=null:h.type==="resetBackgroundColor"?e=null:h.type==="resetDecoration"&&t.delete(h.value);for(const h of d)h.type==="setForegroundColor"?n=h.value:h.type==="setBackgroundColor"?e=h.value:h.type==="setDecoration"&&t.add(h.value)}o=l.position}while(o<a.length);return s}}}var VN={black:"#000000",red:"#bb0000",green:"#00bb00",yellow:"#bbbb00",blue:"#0000bb",magenta:"#ff00ff",cyan:"#00bbbb",white:"#eeeeee",brightBlack:"#555555",brightRed:"#ff5555",brightGreen:"#00ff00",brightYellow:"#ffff55",brightBlue:"#5555ff",brightMagenta:"#ff55ff",brightCyan:"#55ffff",brightWhite:"#ffffff"};function WN(n=VN){function e(u){return n[u]}function t(u){return`#${u.map(d=>Math.max(0,Math.min(d,255)).toString(16).padStart(2,"0")).join("")}`}let a;function s(){if(a)return a;a=[];for(let h=0;h<Ii.length;h++)a.push(e(Ii[h]));let u=[0,95,135,175,215,255];for(let h=0;h<6;h++)for(let m=0;m<6;m++)for(let p=0;p<6;p++)a.push(t([u[h],u[m],u[p]]));let d=8;for(let h=0;h<24;h++,d+=10)a.push(t([d,d,d]));return a}function o(u){return s()[u]}function l(u){switch(u.type){case"named":return e(u.name);case"rgb":return t(u.rgb);case"table":return o(u.index)}}return{value:l}}const KN=/#([0-9a-f]{3,8})/i,YN=/var\((--[\w-]+-ansi-[\w-]+)\)/,ZN={black:"#000000",red:"#cd3131",green:"#0DBC79",yellow:"#E5E510",blue:"#2472C8",magenta:"#BC3FBC",cyan:"#11A8CD",white:"#E5E5E5",brightBlack:"#666666",brightRed:"#F14C4C",brightGreen:"#23D18B",brightYellow:"#F5F543",brightBlue:"#3B8EEA",brightMagenta:"#D670D6",brightCyan:"#29B8DB",brightWhite:"#FFFFFF"};function XN(n,e,t){const a=E0(n,t),s=rf(e),o=WN(Object.fromEntries(Ii.map(u=>{var h;const d=`terminal.ansi${u[0].toUpperCase()}${u.substring(1)}`;return[u,((h=n.colors)==null?void 0:h[d])||ZN[u]]}))),l=qN();return s.map(u=>l.parse(u[0]).map(d=>{let h,m;d.decorations.has("reverse")?(h=d.background?o.value(d.background):n.bg,m=d.foreground?o.value(d.foreground):n.fg):(h=d.foreground?o.value(d.foreground):n.fg,m=d.background?o.value(d.background):void 0),h=Js(h,a),m=Js(m,a),d.decorations.has("dim")&&(h=QN(h));let p=Fn.None;return d.decorations.has("bold")&&(p|=Fn.Bold),d.decorations.has("italic")&&(p|=Fn.Italic),d.decorations.has("underline")&&(p|=Fn.Underline),d.decorations.has("strikethrough")&&(p|=Fn.Strikethrough),{content:d.value,offset:u[1],color:h,bgColor:m,fontStyle:p}}))}function QN(n){const e=n.match(KN);if(e){const a=e[1];if(a.length===8){const s=Math.round(Number.parseInt(a.slice(6,8),16)/2).toString(16).padStart(2,"0");return`#${a.slice(0,6)}${s}`}else{if(a.length===6)return`#${a}80`;if(a.length===4){const s=a[0],o=a[1],l=a[2],u=a[3];return`#${s}${s}${o}${o}${l}${l}${Math.round(Number.parseInt(`${u}${u}`,16)/2).toString(16).padStart(2,"0")}`}else if(a.length===3){const s=a[0],o=a[1],l=a[2];return`#${s}${s}${o}${o}${l}${l}80`}}}const t=n.match(YN);return t?`var(${t[1]}-dim)`:n}function _g(n,e,t={}){const a=n.resolveLangAlias(t.lang||"text"),{theme:s=n.getLoadedThemes()[0]}=t;if(!nf(a)&&!af(s)&&a==="ansi"){const{theme:o}=n.setTheme(s);return XN(o,e,t)}return q6(n,e,t)}function R0(n,e,t){let a,s,o,l,u,d;if("themes"in t){const{defaultColor:h="light",cssVariablePrefix:m="--shiki-",colorsRendering:p="css-vars"}=t,b=Object.entries(t.themes).filter(N=>N[1]).map(N=>({color:N[0],theme:N[1]})).sort((N,E)=>N.color===h?-1:E.color===h?1:0);if(b.length===0)throw new It("`themes` option must not be empty");const x=V6(n,e,t,_g);if(d=Zc(x),h&&h!=="light-dark()"&&!b.some(N=>N.color===h))throw new It(`\`themes\` option must contain the defaultColor key \`${h}\``);const k=b.map(N=>n.getTheme(N.theme)),_=b.map(N=>N.color);o=x.map(N=>N.map(E=>IN(E,_,m,h,p))),d&&sf(o,d);const T=b.map(N=>E0(N.theme,t));s=R5(b,k,T,m,h,"fg",p),a=R5(b,k,T,m,h,"bg",p),l=`shiki-themes ${k.map(N=>N.name).join(" ")}`,u=h?void 0:[s,a].join(";")}else if("theme"in t){const h=E0(t.theme,t);o=_g(n,e,t);const m=n.getTheme(t.theme);a=Js(m.bg,h),s=Js(m.fg,h),l=m.name,d=Zc(o)}else throw new It("Invalid options, either `theme` or `themes` must be provided");return{tokens:o,fg:s,bg:a,themeName:l,rootStyle:u,grammarState:d}}function R5(n,e,t,a,s,o,l){return n.map((u,d)=>{const h=Js(e[d][o],t[d])||"inherit",m=`${a+u.color}${o==="bg"?"-bg":""}:${h}`;if(d===0&&s){if(s==="light-dark()"&&n.length>1){const p=n.findIndex(x=>x.color==="light"),b=n.findIndex(x=>x.color==="dark");if(p===-1||b===-1)throw new It('When using `defaultColor: "light-dark()"`, you must provide both `light` and `dark` themes');return`light-dark(${Js(e[p][o],t[p])||"inherit"}, ${Js(e[b][o],t[b])||"inherit"});${m}`}return h}return l==="css-vars"?m:null}).filter(u=>!!u).join(";")}const e7=/^\s+$/,JN=/^(\s*)(.*?)(\s*)$/;function D0(n,e,t,a={meta:{},options:t,codeToHast:(s,o)=>D0(n,s,o),codeToTokens:(s,o)=>R0(n,s,o)}){var k,_;let s=e;for(const T of M0(t))s=((k=T.preprocess)==null?void 0:k.call(a,s,t))||s;let{tokens:o,fg:l,bg:u,themeName:d,rootStyle:h,grammarState:m}=R0(n,s,t);const{mergeWhitespaces:p=!0,mergeSameStyleTokens:b=!1}=t;p===!0?o=tM(o):p==="never"&&(o=nM(o)),b&&(o=aM(o));const x={...a,get source(){return s}};for(const T of M0(t))o=((_=T.tokens)==null?void 0:_.call(x,o))||o;return eM(o,{...t,fg:l,bg:u,themeName:d,rootStyle:t.rootStyle===!1?!1:t.rootStyle??h},x,m)}function eM(n,e,t,a=Zc(n)){var _,T,N,E;const s=M0(e),o=[],l={type:"root",children:[]},{structure:u="classic",tabindex:d="0"}=e,h={class:`shiki ${e.themeName||""}`};e.rootStyle!==!1&&(e.rootStyle!=null?h.style=e.rootStyle:h.style=`background-color:${e.bg};color:${e.fg}`),d!==!1&&d!=null&&(h.tabindex=d.toString());for(const[L,B]of Object.entries(e.meta||{}))L.startsWith("_")||(h[L]=B);let m={type:"element",tagName:"pre",properties:h,children:[],data:e.data},p={type:"element",tagName:"code",properties:{},children:o};const b=[],x={...t,structure:u,addClassToHast:Q6,get source(){return t.source},get tokens(){return n},get options(){return e},get root(){return l},get pre(){return m},get code(){return p},get lines(){return b}};if(n.forEach((L,B)=>{var K,te;B&&(u==="inline"?l.children.push({type:"element",tagName:"br",properties:{},children:[]}):u==="classic"&&o.push({type:"text",value:`
|
|
300
|
-
`}));let j={type:"element",tagName:"span",properties:{class:"line"},children:[]},q=0;for(const J of L){let be={type:"element",tagName:"span",properties:{...J.htmlAttrs},children:[{type:"text",value:J.content}]};const Le=Sg(J.htmlStyle||N0(J));Le&&(be.properties.style=Le);for(const fe of s)be=((K=fe==null?void 0:fe.span)==null?void 0:K.call(x,be,B+1,q,j,J))||be;u==="inline"?l.children.push(be):u==="classic"&&j.children.push(be),q+=J.content.length}if(u==="classic"){for(const J of s)j=((te=J==null?void 0:J.line)==null?void 0:te.call(x,j,B+1))||j;b.push(j),o.push(j)}else u==="inline"&&b.push(j)}),u==="classic"){for(const L of s)p=((_=L==null?void 0:L.code)==null?void 0:_.call(x,p))||p;m.children.push(p);for(const L of s)m=((T=L==null?void 0:L.pre)==null?void 0:T.call(x,m))||m;l.children.push(m)}else if(u==="inline"){const L=[];let B={type:"element",tagName:"span",properties:{class:"line"},children:[]};for(const q of l.children)q.type==="element"&&q.tagName==="br"?(L.push(B),B={type:"element",tagName:"span",properties:{class:"line"},children:[]}):(q.type==="element"||q.type==="text")&&B.children.push(q);L.push(B);let j={type:"element",tagName:"code",properties:{},children:L};for(const q of s)j=((N=q==null?void 0:q.code)==null?void 0:N.call(x,j))||j;l.children=[];for(let q=0;q<j.children.length;q++){q>0&&l.children.push({type:"element",tagName:"br",properties:{},children:[]});const K=j.children[q];K.type==="element"&&l.children.push(...K.children)}}let k=l;for(const L of s)k=((E=L==null?void 0:L.root)==null?void 0:E.call(x,k))||k;return a&&sf(k,a),k}function tM(n){return n.map(e=>{const t=[];let a="",s;return e.forEach((o,l)=>{const u=!(o.fontStyle&&(o.fontStyle&Fn.Underline||o.fontStyle&Fn.Strikethrough));u&&e7.test(o.content)&&e[l+1]?(s===void 0&&(s=o.offset),a+=o.content):a?(u?t.push({...o,offset:s,content:a+o.content}):t.push({content:a,offset:s},o),s=void 0,a=""):t.push(o)}),t})}function nM(n){return n.map(e=>e.flatMap(t=>{if(e7.test(t.content))return t;const a=t.content.match(JN);if(!a)return t;const[,s,o,l]=a;if(!s&&!l)return t;const u=[{...t,offset:t.offset+s.length,content:o}];return s&&u.unshift({content:s,offset:t.offset}),l&&u.push({content:l,offset:t.offset+s.length+o.length}),u}))}function aM(n){return n.map(e=>{const t=[];for(const a of e){if(t.length===0){t.push({...a});continue}const s=t.at(-1),o=Sg(s.htmlStyle||N0(s)),l=Sg(a.htmlStyle||N0(a)),u=s.fontStyle&&(s.fontStyle&Fn.Underline||s.fontStyle&Fn.Strikethrough),d=a.fontStyle&&(a.fontStyle&Fn.Underline||a.fontStyle&Fn.Strikethrough);!u&&!d&&o===l?s.content+=a.content:t.push({...a})}return t})}const rM=MN;function sM(n,e,t){var o;const a={meta:{},options:t,codeToHast:(l,u)=>D0(n,l,u),codeToTokens:(l,u)=>R0(n,l,u)};let s=rM(D0(n,e,t,a));for(const l of M0(t))s=((o=l.postprocess)==null?void 0:o.call(a,s,t))||s;return s}async function iM(n){const e=await yE(n);return{getLastGrammarState:(...t)=>kE(e,...t),codeToTokensBase:(t,a)=>_g(e,t,a),codeToTokensWithThemes:(t,a)=>V6(e,t,a),codeToTokens:(t,a)=>R0(e,t,a),codeToHast:(t,a)=>D0(e,t,a),codeToHtml:(t,a)=>sM(e,t,a),getBundledLanguages:()=>({}),getBundledThemes:()=>({}),...e,getInternalContext:()=>e}}function oM(n){const e=n.langs,t=n.themes,a=n.engine;async function s(o){function l(p){var b;if(typeof p=="string"){if(p=((b=o.langAlias)==null?void 0:b[p])||p,I6(p))return[];const x=e[p];if(!x)throw new It(`Language \`${p}\` is not included in this bundle. You may want to load it from external source.`);return x}return p}function u(p){if(z6(p))return"none";if(typeof p=="string"){const b=t[p];if(!b)throw new It(`Theme \`${p}\` is not included in this bundle. You may want to load it from external source.`);return b}return p}const d=(o.themes??[]).map(p=>u(p)),h=(o.langs??[]).map(p=>l(p)),m=await iM({engine:o.engine??a(),...o,themes:d,langs:h});return{...m,loadLanguage(...p){return m.loadLanguage(...p.map(l))},loadTheme(...p){return m.loadTheme(...p.map(u))},getBundledLanguages(){return e},getBundledThemes(){return t}}}return s}const lM=oM({langs:rA,themes:iA,engine:()=>(0,w6.createOnigurumaEngine)(O(()=>import("./wasm-CG6Dc4jp.js"),[]))}),D5=4294967295;var cM=class{constructor(n,e={}){W(this,"patterns");W(this,"options");W(this,"regexps");this.patterns=n,this.options=e;const{forgiving:t=!1,cache:a,regexConstructor:s}=e;if(!s)throw new Error("Option `regexConstructor` is not provided");this.regexps=n.map(o=>{if(typeof o!="string")return o;const l=a==null?void 0:a.get(o);if(l){if(l instanceof RegExp)return l;if(t)return null;throw l}try{const u=s(o);return a==null||a.set(o,u),u}catch(u){if(a==null||a.set(o,u),t)return null;throw u}})}findNextMatchSync(n,e,t){const a=typeof n=="string"?n:n.content,s=[];function o(l,u,d=0){return{index:l,captureIndices:u.indices.map(h=>h==null?{start:D5,end:D5,length:0}:{start:h[0]+d,end:h[1]+d,length:h[1]-h[0]})}}for(let l=0;l<this.regexps.length;l++){const u=this.regexps[l];if(u)try{u.lastIndex=e;const d=u.exec(a);if(!d)continue;if(d.index===e)return o(l,d,0);s.push([l,d,0])}catch(d){if(this.options.forgiving)continue;throw d}}if(s.length){const l=Math.min(...s.map(u=>u[1].index));for(const[u,d,h]of s)if(d.index===l)return o(u,d,h)}return null}};function hl(n){if([...n].length!==1)throw new Error(`Expected "${n}" to be a single code point`);return n.codePointAt(0)}function uM(n,e,t){return n.has(e)||n.set(e,t),n.get(e)}const k1=new Set(["alnum","alpha","ascii","blank","cntrl","digit","graph","lower","print","punct","space","upper","word","xdigit"]),Tn=String.raw;function ml(n,e){if(n==null)throw new Error(e??"Value expected");return n}const t7=Tn`\[\^?`,n7=`c.? | C(?:-.?)?|${Tn`[pP]\{(?:\^?[-\x20_]*[A-Za-z][-\x20\w]*\})?`}|${Tn`x[89A-Fa-f]\p{AHex}(?:\\x[89A-Fa-f]\p{AHex})*`}|${Tn`u(?:\p{AHex}{4})? | x\{[^\}]*\}? | x\p{AHex}{0,2}`}|${Tn`o\{[^\}]*\}?`}|${Tn`\d{1,3}`}`,S1=/[?*+][?+]?|\{(?:\d+(?:,\d*)?|,\d+)\}\??/,zd=new RegExp(Tn`
|
|
301
|
-
\\ (?:
|
|
302
|
-
${n7}
|
|
303
|
-
| [gk]<[^>]*>?
|
|
304
|
-
| [gk]'[^']*'?
|
|
305
|
-
| .
|
|
306
|
-
)
|
|
307
|
-
| \( (?:
|
|
308
|
-
\? (?:
|
|
309
|
-
[:=!>({]
|
|
310
|
-
| <[=!]
|
|
311
|
-
| <[^>]*>
|
|
312
|
-
| '[^']*'
|
|
313
|
-
| ~\|?
|
|
314
|
-
| #(?:[^)\\]|\\.?)*
|
|
315
|
-
| [^:)]*[:)]
|
|
316
|
-
)?
|
|
317
|
-
| \*[^\)]*\)?
|
|
318
|
-
)?
|
|
319
|
-
| (?:${S1.source})+
|
|
320
|
-
| ${t7}
|
|
321
|
-
| .
|
|
322
|
-
`.replace(/\s+/g,""),"gsu"),ip=new RegExp(Tn`
|
|
323
|
-
\\ (?:
|
|
324
|
-
${n7}
|
|
325
|
-
| .
|
|
326
|
-
)
|
|
327
|
-
| \[:(?:\^?\p{Alpha}+|\^):\]
|
|
328
|
-
| ${t7}
|
|
329
|
-
| &&
|
|
330
|
-
| .
|
|
331
|
-
`.replace(/\s+/g,""),"gsu");function dM(n,e={}){const t={flags:"",...e,rules:{captureGroup:!1,singleline:!1,...e.rules}};if(typeof n!="string")throw new Error("String expected as pattern");const a=MM(t.flags),s=[a.extended],o={captureGroup:t.rules.captureGroup,getCurrentModX(){return s.at(-1)},numOpenGroups:0,popModX(){s.pop()},pushModX(p){s.push(p)},replaceCurrentModX(p){s[s.length-1]=p},singleline:t.rules.singleline};let l=[],u;for(zd.lastIndex=0;u=zd.exec(n);){const p=fM(o,n,u[0],zd.lastIndex);p.tokens?l.push(...p.tokens):p.token&&l.push(p.token),p.lastIndex!==void 0&&(zd.lastIndex=p.lastIndex)}const d=[];let h=0;l.filter(p=>p.type==="GroupOpen").forEach(p=>{p.kind==="capturing"?p.number=++h:p.raw==="("&&d.push(p)}),h||d.forEach((p,b)=>{p.kind="capturing",p.number=b+1});const m=h||d.length;return{tokens:l.map(p=>p.type==="EscapedNumber"?DM(p,m):p).flat(),flags:a}}function fM(n,e,t,a){const[s,o]=t;if(t==="["||t==="[^"){const l=hM(e,t,a);return{tokens:l.tokens,lastIndex:l.lastIndex}}if(s==="\\"){if("AbBGyYzZ".includes(o))return{token:O5(t,t)};if(/^\\g[<']/.test(t)){if(!/^\\g(?:<[^>]+>|'[^']+')$/.test(t))throw new Error(`Invalid group name "${t}"`);return{token:SM(t)}}if(/^\\k[<']/.test(t)){if(!/^\\k(?:<[^>]+>|'[^']+')$/.test(t))throw new Error(`Invalid group name "${t}"`);return{token:r7(t)}}if(o==="K")return{token:s7("keep",t)};if(o==="N"||o==="R")return{token:zi("newline",t,{negate:o==="N"})};if(o==="O")return{token:zi("any",t)};if(o==="X")return{token:zi("text_segment",t)};const l=a7(t,{inCharClass:!1});return Array.isArray(l)?{tokens:l}:{token:l}}if(s==="("){if(o==="*")return{token:AM(t)};if(t==="(?{")throw new Error(`Unsupported callout "${t}"`);if(t.startsWith("(?#")){if(e[a]!==")")throw new Error('Unclosed comment group "(?#"');return{lastIndex:a+1}}if(/^\(\?[-imx]+[:)]$/.test(t))return{token:TM(t,n)};if(n.pushModX(n.getCurrentModX()),n.numOpenGroups++,t==="("&&!n.captureGroup||t==="(?:")return{token:Fo("group",t)};if(t==="(?>")return{token:Fo("atomic",t)};if(t==="(?="||t==="(?!"||t==="(?<="||t==="(?<!")return{token:Fo(t[2]==="<"?"lookbehind":"lookahead",t,{negate:t.endsWith("!")})};if(t==="("&&n.captureGroup||t.startsWith("(?<")&&t.endsWith(">")||t.startsWith("(?'")&&t.endsWith("'"))return{token:Fo("capturing",t,{...t!=="("&&{name:t.slice(3,-1)}})};if(t.startsWith("(?~")){if(t==="(?~|")throw new Error(`Unsupported absence function kind "${t}"`);return{token:Fo("absence_repeater",t)}}throw t==="(?("?new Error(`Unsupported conditional "${t}"`):new Error(`Invalid or unsupported group option "${t}"`)}if(t===")"){if(n.popModX(),n.numOpenGroups--,n.numOpenGroups<0)throw new Error('Unmatched ")"');return{token:xM(t)}}if(n.getCurrentModX()){if(t==="#"){const l=e.indexOf(`
|
|
332
|
-
`,a);return{lastIndex:l===-1?e.length:l}}if(/^\s$/.test(t)){const l=/\s+/y;return l.lastIndex=a,{lastIndex:l.exec(e)?l.lastIndex:a}}}if(t===".")return{token:zi("dot",t)};if(t==="^"||t==="$"){const l=n.singleline?{"^":Tn`\A`,$:Tn`\Z`}[t]:t;return{token:O5(l,t)}}return t==="|"?{token:pM(t)}:S1.test(t)?{tokens:OM(t)}:{token:ls(hl(t),t)}}function hM(n,e,t){const a=[L5(e[1]==="^",e)];let s=1,o;for(ip.lastIndex=t;o=ip.exec(n);){const l=o[0];if(l[0]==="["&&l[1]!==":")s++,a.push(L5(l[1]==="^",l));else if(l==="]"){if(a.at(-1).type==="CharacterClassOpen")a.push(ls(93,l));else if(s--,a.push(gM(l)),!s)break}else{const u=mM(l);Array.isArray(u)?a.push(...u):a.push(u)}}return{tokens:a,lastIndex:ip.lastIndex||n.length}}function mM(n){if(n[0]==="\\")return a7(n,{inCharClass:!0});if(n[0]==="["){const e=/\[:(?<negate>\^?)(?<name>[a-z]+):\]/.exec(n);if(!e||!k1.has(e.groups.name))throw new Error(`Invalid POSIX class "${n}"`);return zi("posix",n,{value:e.groups.name,negate:!!e.groups.negate})}return n==="-"?yM(n):n==="&&"?vM(n):ls(hl(n),n)}function a7(n,{inCharClass:e}){const t=n[1];if(t==="c"||t==="C")return CM(n);if("dDhHsSwW".includes(t))return EM(n);if(n.startsWith(Tn`\o{`))throw new Error(`Incomplete, invalid, or unsupported octal code point "${n}"`);if(/^\\[pP]\{/.test(n)){if(n.length===3)throw new Error(`Incomplete or invalid Unicode property "${n}"`);return NM(n)}if(new RegExp("^\\\\x[89A-Fa-f]\\p{AHex}","u").test(n))try{const a=n.split(/\\x/).slice(1).map(l=>parseInt(l,16)),s=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0}).decode(new Uint8Array(a)),o=new TextEncoder;return[...s].map(l=>{const u=[...o.encode(l)].map(d=>`\\x${d.toString(16)}`).join("");return ls(hl(l),u)})}catch{throw new Error(`Multibyte code "${n}" incomplete or invalid in Oniguruma`)}if(t==="u"||t==="x")return ls(RM(n),n);if(B5.has(t))return ls(B5.get(t),n);if(/\d/.test(t))return bM(e,n);if(n==="\\")throw new Error(Tn`Incomplete escape "\"`);if(t==="M")throw new Error(`Unsupported meta "${n}"`);if([...n].length===2)return ls(n.codePointAt(1),n);throw new Error(`Unexpected escape "${n}"`)}function pM(n){return{type:"Alternator",raw:n}}function O5(n,e){return{type:"Assertion",kind:n,raw:e}}function r7(n){return{type:"Backreference",raw:n}}function ls(n,e){return{type:"Character",value:n,raw:e}}function gM(n){return{type:"CharacterClassClose",raw:n}}function yM(n){return{type:"CharacterClassHyphen",raw:n}}function vM(n){return{type:"CharacterClassIntersector",raw:n}}function L5(n,e){return{type:"CharacterClassOpen",negate:n,raw:e}}function zi(n,e,t={}){return{type:"CharacterSet",kind:n,...t,raw:e}}function s7(n,e,t={}){return n==="keep"?{type:"Directive",kind:n,raw:e}:{type:"Directive",kind:n,flags:ml(t.flags),raw:e}}function bM(n,e){return{type:"EscapedNumber",inCharClass:n,raw:e}}function xM(n){return{type:"GroupClose",raw:n}}function Fo(n,e,t={}){return{type:"GroupOpen",kind:n,...t,raw:e}}function wM(n,e,t,a){return{type:"NamedCallout",kind:n,tag:e,arguments:t,raw:a}}function kM(n,e,t,a){return{type:"Quantifier",kind:n,min:e,max:t,raw:a}}function SM(n){return{type:"Subroutine",raw:n}}const _M=new Set(["COUNT","CMP","ERROR","FAIL","MAX","MISMATCH","SKIP","TOTAL_COUNT"]),B5=new Map([["a",7],["b",8],["e",27],["f",12],["n",10],["r",13],["t",9],["v",11]]);function CM(n){const e=n[1]==="c"?n[2]:n[3];if(!e||!/[A-Za-z]/.test(e))throw new Error(`Unsupported control character "${n}"`);return ls(hl(e.toUpperCase())-64,n)}function TM(n,e){let{on:t,off:a}=/^\(\?(?<on>[imx]*)(?:-(?<off>[-imx]*))?/.exec(n).groups;a??(a="");const s=(e.getCurrentModX()||t.includes("x"))&&!a.includes("x"),o=P5(t),l=P5(a),u={};if(o&&(u.enable=o),l&&(u.disable=l),n.endsWith(")"))return e.replaceCurrentModX(s),s7("flags",n,{flags:u});if(n.endsWith(":"))return e.pushModX(s),e.numOpenGroups++,Fo("group",n,{...(o||l)&&{flags:u}});throw new Error(`Unexpected flag modifier "${n}"`)}function AM(n){const e=/\(\*(?<name>[A-Za-z_]\w*)?(?:\[(?<tag>(?:[A-Za-z_]\w*)?)\])?(?:\{(?<args>[^}]*)\})?\)/.exec(n);if(!e)throw new Error(`Incomplete or invalid named callout "${n}"`);const{name:t,tag:a,args:s}=e.groups;if(!t)throw new Error(`Invalid named callout "${n}"`);if(a==="")throw new Error(`Named callout tag with empty value not allowed "${n}"`);const o=s?s.split(",").filter(m=>m!=="").map(m=>/^[+-]?\d+$/.test(m)?+m:m):[],[l,u,d]=o,h=_M.has(t)?t.toLowerCase():"custom";switch(h){case"fail":case"mismatch":case"skip":if(o.length>0)throw new Error(`Named callout arguments not allowed "${o}"`);break;case"error":if(o.length>1)throw new Error(`Named callout allows only one argument "${o}"`);if(typeof l=="string")throw new Error(`Named callout argument must be a number "${l}"`);break;case"max":if(!o.length||o.length>2)throw new Error(`Named callout must have one or two arguments "${o}"`);if(typeof l=="string"&&!/^[A-Za-z_]\w*$/.test(l))throw new Error(`Named callout argument one must be a tag or number "${l}"`);if(o.length===2&&(typeof u=="number"||!/^[<>X]$/.test(u)))throw new Error(`Named callout optional argument two must be '<', '>', or 'X' "${u}"`);break;case"count":case"total_count":if(o.length>1)throw new Error(`Named callout allows only one argument "${o}"`);if(o.length===1&&(typeof l=="number"||!/^[<>X]$/.test(l)))throw new Error(`Named callout optional argument must be '<', '>', or 'X' "${l}"`);break;case"cmp":if(o.length!==3)throw new Error(`Named callout must have three arguments "${o}"`);if(typeof l=="string"&&!/^[A-Za-z_]\w*$/.test(l))throw new Error(`Named callout argument one must be a tag or number "${l}"`);if(typeof u=="number"||!/^(?:[<>!=]=|[<>])$/.test(u))throw new Error(`Named callout argument two must be '==', '!=', '>', '<', '>=', or '<=' "${u}"`);if(typeof d=="string"&&!/^[A-Za-z_]\w*$/.test(d))throw new Error(`Named callout argument three must be a tag or number "${d}"`);break;case"custom":throw new Error(`Undefined callout name "${t}"`);default:throw new Error(`Unexpected named callout kind "${h}"`)}return wM(h,a??null,(s==null?void 0:s.split(","))??null,n)}function j5(n){let e=null,t,a;if(n[0]==="{"){const{minStr:s,maxStr:o}=/^\{(?<minStr>\d*)(?:,(?<maxStr>\d*))?/.exec(n).groups,l=1e5;if(+s>l||o&&+o>l)throw new Error("Quantifier value unsupported in Oniguruma");if(t=+s,a=o===void 0?+s:o===""?1/0:+o,t>a&&(e="possessive",[t,a]=[a,t]),n.endsWith("?")){if(e==="possessive")throw new Error('Unsupported possessive interval quantifier chain with "?"');e="lazy"}else e||(e="greedy")}else t=n[0]==="+"?1:0,a=n[0]==="?"?1:1/0,e=n[1]==="+"?"possessive":n[1]==="?"?"lazy":"greedy";return kM(e,t,a,n)}function EM(n){const e=n[1].toLowerCase();return zi({d:"digit",h:"hex",s:"space",w:"word"}[e],n,{negate:n[1]!==e})}function NM(n){const{p:e,neg:t,value:a}=/^\\(?<p>[pP])\{(?<neg>\^?)(?<value>[^}]+)/.exec(n).groups;return zi("property",n,{value:a,negate:e==="P"&&!t||e==="p"&&!!t})}function P5(n){const e={};return n.includes("i")&&(e.ignoreCase=!0),n.includes("m")&&(e.dotAll=!0),n.includes("x")&&(e.extended=!0),Object.keys(e).length?e:null}function MM(n){const e={ignoreCase:!1,dotAll:!1,extended:!1,digitIsAscii:!1,posixIsAscii:!1,spaceIsAscii:!1,wordIsAscii:!1,textSegmentMode:null};for(let t=0;t<n.length;t++){const a=n[t];if(!"imxDPSWy".includes(a))throw new Error(`Invalid flag "${a}"`);if(a==="y"){if(!/^y{[gw]}/.test(n.slice(t)))throw new Error('Invalid or unspecified flag "y" mode');e.textSegmentMode=n[t+2]==="g"?"grapheme":"word",t+=3;continue}e[{i:"ignoreCase",m:"dotAll",x:"extended",D:"digitIsAscii",P:"posixIsAscii",S:"spaceIsAscii",W:"wordIsAscii"}[a]]=!0}return e}function RM(n){if(new RegExp("^(?:\\\\u(?!\\p{AHex}{4})|\\\\x(?!\\p{AHex}{1,2}|\\{\\p{AHex}{1,8}\\}))","u").test(n))throw new Error(`Incomplete or invalid escape "${n}"`);const e=n[2]==="{"?new RegExp("^\\\\x\\{\\s*(?<hex>\\p{AHex}+)","u").exec(n).groups.hex:n.slice(2);return parseInt(e,16)}function DM(n,e){const{raw:t,inCharClass:a}=n,s=t.slice(1);if(!a&&(s!=="0"&&s.length===1||s[0]!=="0"&&+s<=e))return[r7(t)];const o=[],l=s.match(/^[0-7]+|\d/g);for(let u=0;u<l.length;u++){const d=l[u];let h;if(u===0&&d!=="8"&&d!=="9"){if(h=parseInt(d,8),h>127)throw new Error(Tn`Octal encoded byte above 177 unsupported "${t}"`)}else h=hl(d);o.push(ls(h,(u===0?"\\":"")+d))}return o}function OM(n){const e=[],t=new RegExp(S1,"gy");let a;for(;a=t.exec(n);){const s=a[0];if(s[0]==="{"){const o=/^\{(?<min>\d+),(?<max>\d+)\}\??$/.exec(s);if(o){const{min:l,max:u}=o.groups;if(+l>+u&&s.endsWith("?")){t.lastIndex--,e.push(j5(s.slice(0,-1)));continue}}}e.push(j5(s))}return e}function i7(n,e){if(!Array.isArray(n.body))throw new Error("Expected node with body array");if(n.body.length!==1)return!1;const t=n.body[0];return!e||Object.keys(e).every(a=>e[a]===t[a])}function LM(n){return BM.has(n.type)}const BM=new Set(["AbsenceFunction","Backreference","CapturingGroup","Character","CharacterClass","CharacterSet","Group","Quantifier","Subroutine"]);function o7(n,e={}){const t={flags:"",normalizeUnknownPropertyNames:!1,skipBackrefValidation:!1,skipLookbehindValidation:!1,skipPropertyNameValidation:!1,unicodePropertyMap:null,...e,rules:{captureGroup:!1,singleline:!1,...e.rules}},a=dM(n,{flags:t.flags,rules:{captureGroup:t.rules.captureGroup,singleline:t.rules.singleline}}),s=(b,x)=>{const k=a.tokens[o.nextIndex];switch(o.parent=b,o.nextIndex++,k.type){case"Alternator":return Wi();case"Assertion":return jM(k);case"Backreference":return PM(k,o);case"Character":return lf(k.value,{useLastValid:!!x.isCheckingRangeEnd});case"CharacterClassHyphen":return IM(k,o,x);case"CharacterClassOpen":return zM(k,o,x);case"CharacterSet":return $M(k,o);case"Directive":return VM(k.kind,{flags:k.flags});case"GroupOpen":return HM(k,o,x);case"NamedCallout":return KM(k.kind,k.tag,k.arguments);case"Quantifier":return UM(k,o);case"Subroutine":return FM(k,o);default:throw new Error(`Unexpected token type "${k.type}"`)}},o={capturingGroups:[],hasNumberedRef:!1,namedGroupsByName:new Map,nextIndex:0,normalizeUnknownPropertyNames:t.normalizeUnknownPropertyNames,parent:null,skipBackrefValidation:t.skipBackrefValidation,skipLookbehindValidation:t.skipLookbehindValidation,skipPropertyNameValidation:t.skipPropertyNameValidation,subroutines:[],tokens:a.tokens,unicodePropertyMap:t.unicodePropertyMap,walk:s},l=ZM(WM(a.flags));let u=l.body[0];for(;o.nextIndex<a.tokens.length;){const b=s(u,{});b.type==="Alternative"?(l.body.push(b),u=b):u.body.push(b)}const{capturingGroups:d,hasNumberedRef:h,namedGroupsByName:m,subroutines:p}=o;if(h&&m.size&&!t.rules.captureGroup)throw new Error("Numbered backref/subroutine not allowed when using named capture");for(const{ref:b}of p)if(typeof b=="number"){if(b>d.length)throw new Error("Subroutine uses a group number that's not defined");b&&(d[b-1].isSubroutined=!0)}else if(m.has(b)){if(m.get(b).length>1)throw new Error(Tn`Subroutine uses a duplicate group name "\g<${b}>"`);m.get(b)[0].isSubroutined=!0}else throw new Error(Tn`Subroutine uses a group name that's not defined "\g<${b}>"`);return l}function jM({kind:n}){return Cg(ml({"^":"line_start",$:"line_end","\\A":"string_start","\\b":"word_boundary","\\B":"word_boundary","\\G":"search_start","\\y":"text_segment_boundary","\\Y":"text_segment_boundary","\\z":"string_end","\\Z":"string_end_newline"}[n],`Unexpected assertion kind "${n}"`),{negate:n===Tn`\B`||n===Tn`\Y`})}function PM({raw:n},e){const t=/^\\k[<']/.test(n),a=t?n.slice(3,-1):n.slice(1),s=(o,l=!1)=>{const u=e.capturingGroups.length;let d=!1;if(o>u)if(e.skipBackrefValidation)d=!0;else throw new Error(`Not enough capturing groups defined to the left "${n}"`);return e.hasNumberedRef=!0,Tg(l?u+1-o:o,{orphan:d})};if(t){const o=/^(?<sign>-?)0*(?<num>[1-9]\d*)$/.exec(a);if(o)return s(+o.groups.num,!!o.groups.sign);if(/[-+]/.test(a))throw new Error(`Invalid backref name "${n}"`);if(!e.namedGroupsByName.has(a))throw new Error(`Group name not defined to the left "${n}"`);return Tg(a)}return s(+a)}function IM(n,e,t){const{tokens:a,walk:s}=e,o=e.parent,l=o.body.at(-1),u=a[e.nextIndex];if(!t.isCheckingRangeEnd&&l&&l.type!=="CharacterClass"&&l.type!=="CharacterClassRange"&&u&&u.type!=="CharacterClassOpen"&&u.type!=="CharacterClassClose"&&u.type!=="CharacterClassIntersector"){const d=s(o,{...t,isCheckingRangeEnd:!0});if(l.type==="Character"&&d.type==="Character")return o.body.pop(),qM(l,d);throw new Error("Invalid character class range")}return lf(hl("-"))}function zM({negate:n},e,t){const{tokens:a,walk:s}=e,o=[a0()],l=a[e.nextIndex];let u=$5(l);for(;u.type!=="CharacterClassClose";){if(u.type==="CharacterClassIntersector")o.push(a0()),e.nextIndex++;else{const h=o.at(-1);h.body.push(s(h,t))}u=$5(a[e.nextIndex],l)}const d=a0({negate:n});return o.length===1?d.body=o[0].body:(d.kind="intersection",d.body=o.map(h=>h.body.length===1?h.body[0]:h)),e.nextIndex++,d}function $M({kind:n,negate:e,value:t},a){const{normalizeUnknownPropertyNames:s,skipPropertyNameValidation:o,unicodePropertyMap:l}=a;if(n==="property"){const u=cf(t);if(k1.has(u)&&!(l!=null&&l.has(u)))n="posix",t=u;else return Go(t,{negate:e,normalizeUnknownPropertyNames:s,skipPropertyNameValidation:o,unicodePropertyMap:l})}return n==="posix"?YM(t,{negate:e}):Ag(n,{negate:e})}function HM(n,e,t){const{tokens:a,capturingGroups:s,namedGroupsByName:o,skipLookbehindValidation:l,walk:u}=e,d=XM(n),h=d.type==="AbsenceFunction",m=z5(d),p=m&&d.negate;if(d.type==="CapturingGroup"&&(s.push(d),d.name&&uM(o,d.name,[]).push(d)),h&&t.isInAbsenceFunction)throw new Error("Nested absence function not supported by Oniguruma");let b=H5(a[e.nextIndex]);for(;b.type!=="GroupClose";){if(b.type==="Alternator")d.body.push(Wi()),e.nextIndex++;else{const x=d.body.at(-1),k=u(x,{...t,isInAbsenceFunction:t.isInAbsenceFunction||h,isInLookbehind:t.isInLookbehind||m,isInNegLookbehind:t.isInNegLookbehind||p});if(x.body.push(k),(m||t.isInLookbehind)&&!l){const _="Lookbehind includes a pattern not allowed by Oniguruma";if(p||t.isInNegLookbehind){if(I5(k)||k.type==="CapturingGroup")throw new Error(_)}else if(I5(k)||z5(k)&&k.negate)throw new Error(_)}}b=H5(a[e.nextIndex])}return e.nextIndex++,d}function UM({kind:n,min:e,max:t},a){const s=a.parent,o=s.body.at(-1);if(!o||!LM(o))throw new Error("Quantifier requires a repeatable token");const l=c7(n,e,t,o);return s.body.pop(),l}function FM({raw:n},e){const{capturingGroups:t,subroutines:a}=e;let s=n.slice(3,-1);const o=/^(?<sign>[-+]?)0*(?<num>[1-9]\d*)$/.exec(s);if(o){const u=+o.groups.num,d=t.length;if(e.hasNumberedRef=!0,s={"":u,"+":d+u,"-":d+1-u}[o.groups.sign],s<1)throw new Error("Invalid subroutine number")}else s==="0"&&(s=0);const l=u7(s);return a.push(l),l}function GM(n,e){return{type:"AbsenceFunction",kind:n,body:su(e==null?void 0:e.body)}}function Wi(n){return{type:"Alternative",body:d7(n==null?void 0:n.body)}}function Cg(n,e){const t={type:"Assertion",kind:n};return(n==="word_boundary"||n==="text_segment_boundary")&&(t.negate=!!(e!=null&&e.negate)),t}function Tg(n,e){const t=!!(e!=null&&e.orphan);return{type:"Backreference",ref:n,...t&&{orphan:t}}}function l7(n,e){const t={name:void 0,isSubroutined:!1,...e};if(t.name!==void 0&&!QM(t.name))throw new Error(`Group name "${t.name}" invalid in Oniguruma`);return{type:"CapturingGroup",number:n,...t.name&&{name:t.name},...t.isSubroutined&&{isSubroutined:t.isSubroutined},body:su(e==null?void 0:e.body)}}function lf(n,e){const t={useLastValid:!1,...e};if(n>1114111){const a=n.toString(16);if(t.useLastValid)n=1114111;else throw n>1310719?new Error(`Invalid code point out of range "\\x{${a}}"`):new Error(`Invalid code point out of range in JS "\\x{${a}}"`)}return{type:"Character",value:n}}function a0(n){const e={kind:"union",negate:!1,...n};return{type:"CharacterClass",kind:e.kind,negate:e.negate,body:d7(n==null?void 0:n.body)}}function qM(n,e){if(e.value<n.value)throw new Error("Character class range out of order");return{type:"CharacterClassRange",min:n,max:e}}function Ag(n,e){const t=!!(e!=null&&e.negate),a={type:"CharacterSet",kind:n};return(n==="digit"||n==="hex"||n==="newline"||n==="space"||n==="word")&&(a.negate=t),(n==="text_segment"||n==="newline"&&!t)&&(a.variableLength=!0),a}function VM(n,e={}){if(n==="keep")return{type:"Directive",kind:n};if(n==="flags")return{type:"Directive",kind:n,flags:ml(e.flags)};throw new Error(`Unexpected directive kind "${n}"`)}function WM(n){return{type:"Flags",...n}}function tr(n){const e=n==null?void 0:n.atomic,t=n==null?void 0:n.flags;if(e&&t)throw new Error("Atomic group cannot have flags");return{type:"Group",...e&&{atomic:e},...t&&{flags:t},body:su(n==null?void 0:n.body)}}function ji(n){const e={behind:!1,negate:!1,...n};return{type:"LookaroundAssertion",kind:e.behind?"lookbehind":"lookahead",negate:e.negate,body:su(n==null?void 0:n.body)}}function KM(n,e,t){return{type:"NamedCallout",kind:n,tag:e,arguments:t}}function YM(n,e){const t=!!(e!=null&&e.negate);if(!k1.has(n))throw new Error(`Invalid POSIX class "${n}"`);return{type:"CharacterSet",kind:"posix",value:n,negate:t}}function c7(n,e,t,a){if(e>t)throw new Error("Invalid reversed quantifier range");return{type:"Quantifier",kind:n,min:e,max:t,body:a}}function ZM(n,e){return{type:"Regex",body:su(e==null?void 0:e.body),flags:n}}function u7(n){return{type:"Subroutine",ref:n}}function Go(n,e){var s;const t={negate:!1,normalizeUnknownPropertyNames:!1,skipPropertyNameValidation:!1,unicodePropertyMap:null,...e};let a=(s=t.unicodePropertyMap)==null?void 0:s.get(cf(n));if(!a){if(t.normalizeUnknownPropertyNames)a=JM(n);else if(t.unicodePropertyMap&&!t.skipPropertyNameValidation)throw new Error(Tn`Invalid Unicode property "\p{${n}}"`)}return{type:"CharacterSet",kind:"property",value:a??n,negate:t.negate}}function XM({flags:n,kind:e,name:t,negate:a,number:s}){switch(e){case"absence_repeater":return GM("repeater");case"atomic":return tr({atomic:!0});case"capturing":return l7(s,{name:t});case"group":return tr({flags:n});case"lookahead":case"lookbehind":return ji({behind:e==="lookbehind",negate:a});default:throw new Error(`Unexpected group kind "${e}"`)}}function su(n){if(n===void 0)n=[Wi()];else if(!Array.isArray(n)||!n.length||!n.every(e=>e.type==="Alternative"))throw new Error("Invalid body; expected array of one or more Alternative nodes");return n}function d7(n){if(n===void 0)n=[];else if(!Array.isArray(n)||!n.every(e=>!!e.type))throw new Error("Invalid body; expected array of nodes");return n}function I5(n){return n.type==="LookaroundAssertion"&&n.kind==="lookahead"}function z5(n){return n.type==="LookaroundAssertion"&&n.kind==="lookbehind"}function QM(n){return/^[\p{Alpha}\p{Pc}][^)]*$/u.test(n)}function JM(n){return n.trim().replace(/[- _]+/g,"_").replace(/[A-Z][a-z]+(?=[A-Z])/g,"$&_").replace(/[A-Za-z]+/g,e=>e[0].toUpperCase()+e.slice(1).toLowerCase())}function cf(n){return n.replace(/[- _]+/g,"").toLowerCase()}function $5(n,e){const t=e;return ml(n,`Unclosed character class${(t==null?void 0:t.type)==="Character"&&t.value===93&&t.raw==="]"?' (started with "]")':""}`)}function H5(n){return ml(n,"Unclosed group")}function Lc(n,e,t=null){function a(o,l){for(let u=0;u<o.length;u++){const d=s(o[u],l,u,o);u=Math.max(-1,u+d)}}function s(o,l=null,u=null,d=null){var N,E;let h=0,m=!1;const p={node:o,parent:l,key:u,container:d,root:n,remove(){$d(d).splice(Math.max(0,Po(u)+h),1),h--,m=!0},removeAllNextSiblings(){return $d(d).splice(Po(u)+1)},removeAllPrevSiblings(){const L=Po(u)+h;return h-=L,$d(d).splice(0,Math.max(0,L))},replaceWith(L,B={}){const j=!!B.traverse;d?d[Math.max(0,Po(u)+h)]=L:ml(l,"Can't replace root node")[u]=L,j&&s(L,l,u,d),m=!0},replaceWithMultiple(L,B={}){const j=!!B.traverse;if($d(d).splice(Math.max(0,Po(u)+h),1,...L),h+=L.length-1,j){let q=0;for(let K=0;K<L.length;K++)q+=s(L[K],l,Po(u)+K+q,d)}m=!0},skip(){m=!0}},{type:b}=o,x=e["*"],k=e[b],_=typeof x=="function"?x:x==null?void 0:x.enter,T=typeof k=="function"?k:k==null?void 0:k.enter;if(_==null||_(p,t),T==null||T(p,t),!m)switch(b){case"AbsenceFunction":case"Alternative":case"CapturingGroup":case"CharacterClass":case"Group":case"LookaroundAssertion":a(o.body,o);break;case"Assertion":case"Backreference":case"Character":case"CharacterSet":case"Directive":case"Flags":case"NamedCallout":case"Subroutine":break;case"CharacterClassRange":s(o.min,o,"min"),s(o.max,o,"max");break;case"Quantifier":s(o.body,o,"body");break;case"Regex":a(o.body,o),s(o.flags,o,"flags");break;default:throw new Error(`Unexpected node type "${b}"`)}return(N=k==null?void 0:k.exit)==null||N.call(k,p,t),(E=x==null?void 0:x.exit)==null||E.call(x,p,t),h}return s(n),n}function $d(n){if(!Array.isArray(n))throw new Error("Container expected");return n}function Po(n){if(typeof n!="number")throw new Error("Numeric key expected");return n}const eR=String.raw`\(\?(?:[:=!>A-Za-z\-]|<[=!]|\(DEFINE\))`;function tR(n,e){for(let t=0;t<n.length;t++)n[t]>=e&&n[t]++}function nR(n,e,t,a){return n.slice(0,e)+a+n.slice(e+t.length)}const Ua=Object.freeze({DEFAULT:"DEFAULT",CHAR_CLASS:"CHAR_CLASS"});function _1(n,e,t,a){const s=new RegExp(String.raw`${e}|(?<$skip>\[\^?|\\?.)`,"gsu"),o=[!1];let l=0,u="";for(const d of n.matchAll(s)){const{0:h,groups:{$skip:m}}=d;if(!m&&(!a||a===Ua.DEFAULT==!l)){t instanceof Function?u+=t(d,{context:l?Ua.CHAR_CLASS:Ua.DEFAULT,negated:o[o.length-1]}):u+=t;continue}h[0]==="["?(l++,o.push(h[1]==="^")):h==="]"&&l&&(l--,o.pop()),u+=h}return u}function f7(n,e,t,a){_1(n,e,t,a)}function aR(n,e,t=0,a){if(!new RegExp(e,"su").test(n))return null;const s=new RegExp(`${e}|(?<$skip>\\\\?.)`,"gsu");s.lastIndex=t;let o=0,l;for(;l=s.exec(n);){const{0:u,groups:{$skip:d}}=l;if(!d&&(!a||a===Ua.DEFAULT==!o))return l;u==="["?o++:u==="]"&&o&&o--,s.lastIndex==l.index&&s.lastIndex++}return null}function Hd(n,e,t){return!!aR(n,e,0,t)}function rR(n,e){const t=/\\?./gsu;t.lastIndex=e;let a=n.length,s=0,o=1,l;for(;l=t.exec(n);){const[u]=l;if(u==="[")s++;else if(s)u==="]"&&s--;else if(u==="(")o++;else if(u===")"&&(o--,!o)){a=l.index;break}}return n.slice(e,a)}const U5=new RegExp(String.raw`(?<noncapturingStart>${eR})|(?<capturingStart>\((?:\?<[^>]+>)?)|\\?.`,"gsu");function sR(n,e){const t=(e==null?void 0:e.hiddenCaptures)??[];let a=(e==null?void 0:e.captureTransfers)??new Map;if(!/\(\?>/.test(n))return{pattern:n,captureTransfers:a,hiddenCaptures:t};const s="(?>",o="(?:(?=(",l=[0],u=[];let d=0,h=0,m=NaN,p;do{p=!1;let b=0,x=0,k=!1,_;for(U5.lastIndex=Number.isNaN(m)?0:m+o.length;_=U5.exec(n);){const{0:T,index:N,groups:{capturingStart:E,noncapturingStart:L}}=_;if(T==="[")b++;else if(b)T==="]"&&b--;else if(T===s&&!k)m=N,k=!0;else if(k&&L)x++;else if(E)k?x++:(d++,l.push(d+h));else if(T===")"&&k){if(!x){h++;const B=d+h;if(n=`${n.slice(0,m)}${o}${n.slice(m+s.length,N)}))<$$${B}>)${n.slice(N+1)}`,p=!0,u.push(B),tR(t,B),a.size){const j=new Map;a.forEach((q,K)=>{j.set(K>=B?K+1:K,q.map(te=>te>=B?te+1:te))}),a=j}break}x--}}}while(p);return t.push(...u),n=_1(n,String.raw`\\(?<backrefNum>[1-9]\d*)|<\$\$(?<wrappedBackrefNum>\d+)>`,({0:b,groups:{backrefNum:x,wrappedBackrefNum:k}})=>{if(x){const _=+x;if(_>l.length-1)throw new Error(`Backref "${b}" greater than number of captures`);return`\\${l[_]}`}return`\\${k}`},Ua.DEFAULT),{pattern:n,captureTransfers:a,hiddenCaptures:t}}const h7=String.raw`(?:[?*+]|\{\d+(?:,\d*)?\})`,op=new RegExp(String.raw`
|
|
333
|
-
\\(?: \d+
|
|
334
|
-
| c[A-Za-z]
|
|
335
|
-
| [gk]<[^>]+>
|
|
336
|
-
| [pPu]\{[^\}]+\}
|
|
337
|
-
| u[A-Fa-f\d]{4}
|
|
338
|
-
| x[A-Fa-f\d]{2}
|
|
339
|
-
)
|
|
340
|
-
| \((?: \? (?: [:=!>]
|
|
341
|
-
| <(?:[=!]|[^>]+>)
|
|
342
|
-
| [A-Za-z\-]+:
|
|
343
|
-
| \(DEFINE\)
|
|
344
|
-
))?
|
|
345
|
-
| (?<qBase>${h7})(?<qMod>[?+]?)(?<invalidQ>[?*+\{]?)
|
|
346
|
-
| \\?.
|
|
347
|
-
`.replace(/\s+/g,""),"gsu");function iR(n){if(!new RegExp(`${h7}\\+`).test(n))return{pattern:n};const e=[];let t=null,a=null,s="",o=0,l;for(op.lastIndex=0;l=op.exec(n);){const{0:u,index:d,groups:{qBase:h,qMod:m,invalidQ:p}}=l;if(u==="[")o||(a=d),o++;else if(u==="]")o?o--:a=null;else if(!o)if(m==="+"&&s&&!s.startsWith("(")){if(p)throw new Error(`Invalid quantifier "${u}"`);let b=-1;if(/^\{\d+\}$/.test(h))n=nR(n,d+h.length,m,"");else{if(s===")"||s==="]"){const x=s===")"?t:a;if(x===null)throw new Error(`Invalid unmatched "${s}"`);n=`${n.slice(0,x)}(?>${n.slice(x,d)}${h})${n.slice(d+u.length)}`}else n=`${n.slice(0,d-s.length)}(?>${s}${h})${n.slice(d+u.length)}`;b+=4}op.lastIndex+=b}else u[0]==="("?e.push(d):u===")"&&(t=e.length?e.pop():null);s=u}return{pattern:n}}const $a=String.raw,oR=$a`\\g<(?<gRNameOrNum>[^>&]+)&R=(?<gRDepth>[^>]+)>`,Eg=$a`\(\?R=(?<rDepth>[^\)]+)\)|${oR}`,uf=$a`\(\?<(?![=!])(?<captureName>[^>]+)>`,m7=$a`${uf}|(?<unnamed>\()(?!\?)`,Di=new RegExp($a`${uf}|${Eg}|\(\?|\\?.`,"gsu"),lp="Cannot use multiple overlapping recursions";function lR(n,e){const{hiddenCaptures:t,mode:a}={hiddenCaptures:[],mode:"plugin",...e};let s=(e==null?void 0:e.captureTransfers)??new Map;if(!new RegExp(Eg,"su").test(n))return{pattern:n,captureTransfers:s,hiddenCaptures:t};if(a==="plugin"&&Hd(n,$a`\(\?\(DEFINE\)`,Ua.DEFAULT))throw new Error("DEFINE groups cannot be used with recursion");const o=[],l=Hd(n,$a`\\[1-9]`,Ua.DEFAULT),u=new Map,d=[];let h=!1,m=0,p=0,b;for(Di.lastIndex=0;b=Di.exec(n);){const{0:x,groups:{captureName:k,rDepth:_,gRNameOrNum:T,gRDepth:N}}=b;if(x==="[")m++;else if(m)x==="]"&&m--;else if(_){if(F5(_),h)throw new Error(lp);if(l)throw new Error(`${a==="external"?"Backrefs":"Numbered backrefs"} cannot be used with global recursion`);const E=n.slice(0,b.index),L=n.slice(Di.lastIndex);if(Hd(L,Eg,Ua.DEFAULT))throw new Error(lp);const B=+_-1;n=G5(E,L,B,!1,t,o,p),s=V5(s,E,B,o.length,0,p);break}else if(T){F5(N);let E=!1;for(const fe of d)if(fe.name===T||fe.num===+T){if(E=!0,fe.hasRecursedWithin)throw new Error(lp);break}if(!E)throw new Error($a`Recursive \g cannot be used outside the referenced group "${a==="external"?T:$a`\g<${T}&R=${N}>`}"`);const L=u.get(T),B=rR(n,L);if(l&&Hd(B,$a`${uf}|\((?!\?)`,Ua.DEFAULT))throw new Error(`${a==="external"?"Backrefs":"Numbered backrefs"} cannot be used with recursion of capturing groups`);const j=n.slice(L,b.index),q=B.slice(j.length+x.length),K=o.length,te=+N-1,J=G5(j,q,te,!0,t,o,p);s=V5(s,j,te,o.length-K,K,p);const be=n.slice(0,L),Le=n.slice(L+B.length);n=`${be}${J}${Le}`,Di.lastIndex+=J.length-x.length-j.length-q.length,d.forEach(fe=>fe.hasRecursedWithin=!0),h=!0}else if(k)p++,u.set(String(p),Di.lastIndex),u.set(k,Di.lastIndex),d.push({num:p,name:k});else if(x[0]==="("){const E=x==="(";E&&(p++,u.set(String(p),Di.lastIndex)),d.push(E?{num:p}:{})}else x===")"&&d.pop()}return t.push(...o),{pattern:n,captureTransfers:s,hiddenCaptures:t}}function F5(n){const e=`Max depth must be integer between 2 and 100; used ${n}`;if(!/^[1-9]\d*$/.test(n))throw new Error(e);if(n=+n,n<2||n>100)throw new Error(e)}function G5(n,e,t,a,s,o,l){const u=new Set;a&&f7(n+e,uf,({groups:{captureName:h}})=>{u.add(h)},Ua.DEFAULT);const d=[t,a?u:null,s,o,l];return`${n}${q5(`(?:${n}`,"forward",...d)}(?:)${q5(`${e})`,"backward",...d)}${e}`}function q5(n,e,t,a,s,o,l){const d=m=>e==="forward"?m+2:t-m+2-1;let h="";for(let m=0;m<t;m++){const p=d(m);h+=_1(n,$a`${m7}|\\k<(?<backref>[^>]+)>`,({0:b,groups:{captureName:x,unnamed:k,backref:_}})=>{if(_&&a&&!a.has(_))return b;const T=`_$${p}`;if(k||x){const N=l+o.length+1;return o.push(N),cR(s,N),k?b:`(?<${x}${T}>`}return $a`\k<${_}${T}>`},Ua.DEFAULT)}return h}function cR(n,e){for(let t=0;t<n.length;t++)n[t]>=e&&n[t]++}function V5(n,e,t,a,s,o){if(n.size&&a){let l=0;f7(e,m7,()=>l++,Ua.DEFAULT);const u=o-l+s,d=new Map;return n.forEach((h,m)=>{const p=(a-l*t)/t,b=l*t,x=m>u+l?m+a:m,k=[];for(const _ of h)if(_<=u)k.push(_);else if(_>u+l+p)k.push(_+a);else if(_<=u+l)for(let T=0;T<=t;T++)k.push(_+l*T);else for(let T=0;T<=t;T++)k.push(_+b+p*T);d.set(x,k)}),d}return n}var xn=String.fromCodePoint,Je=String.raw,nr={},df=globalThis.RegExp;nr.flagGroups=(()=>{try{new df("(?i:)")}catch{return!1}return!0})();nr.unicodeSets=(()=>{try{new df("[[]]","v")}catch{return!1}return!0})();nr.bugFlagVLiteralHyphenIsRange=nr.unicodeSets?(()=>{try{new df(Je`[\d\-a]`,"v")}catch{return!0}return!1})():!1;nr.bugNestedClassIgnoresNegation=nr.unicodeSets&&new df("[[^a]]","v").test("a");function O0(n,{enable:e,disable:t}){return{dotAll:!(t!=null&&t.dotAll)&&!!(e!=null&&e.dotAll||n.dotAll),ignoreCase:!(t!=null&&t.ignoreCase)&&!!(e!=null&&e.ignoreCase||n.ignoreCase)}}function Xc(n,e,t){return n.has(e)||n.set(e,t),n.get(e)}function Ng(n,e){return W5[n]>=W5[e]}function uR(n,e){if(n==null)throw new Error(e??"Value expected");return n}var W5={ES2025:2025,ES2024:2024,ES2018:2018},dR={auto:"auto",ES2025:"ES2025",ES2024:"ES2024",ES2018:"ES2018"};function p7(n={}){if({}.toString.call(n)!=="[object Object]")throw new Error("Unexpected options");if(n.target!==void 0&&!dR[n.target])throw new Error(`Unexpected target "${n.target}"`);const e={accuracy:"default",avoidSubclass:!1,flags:"",global:!1,hasIndices:!1,lazyCompileLength:1/0,target:"auto",verbose:!1,...n,rules:{allowOrphanBackrefs:!1,asciiWordBoundaries:!1,captureGroup:!1,recursionLimit:20,singleline:!1,...n.rules}};return e.target==="auto"&&(e.target=nr.flagGroups?"ES2025":nr.unicodeSets?"ES2024":"ES2018"),e}var fR="[ -\r ]",hR=new Set([xn(304),xn(305)]),Qr=Je`[\p{L}\p{M}\p{N}\p{Pc}]`;function g7(n){if(hR.has(n))return[n];const e=new Set,t=n.toLowerCase(),a=t.toUpperCase(),s=gR.get(t),o=mR.get(t),l=pR.get(t);return[...a].length===1&&e.add(a),l&&e.add(l),s&&e.add(s),e.add(t),o&&e.add(o),[...e]}var C1=new Map(`C Other
|
|
348
|
-
Cc Control cntrl
|
|
349
|
-
Cf Format
|
|
350
|
-
Cn Unassigned
|
|
351
|
-
Co Private_Use
|
|
352
|
-
Cs Surrogate
|
|
353
|
-
L Letter
|
|
354
|
-
LC Cased_Letter
|
|
355
|
-
Ll Lowercase_Letter
|
|
356
|
-
Lm Modifier_Letter
|
|
357
|
-
Lo Other_Letter
|
|
358
|
-
Lt Titlecase_Letter
|
|
359
|
-
Lu Uppercase_Letter
|
|
360
|
-
M Mark Combining_Mark
|
|
361
|
-
Mc Spacing_Mark
|
|
362
|
-
Me Enclosing_Mark
|
|
363
|
-
Mn Nonspacing_Mark
|
|
364
|
-
N Number
|
|
365
|
-
Nd Decimal_Number digit
|
|
366
|
-
Nl Letter_Number
|
|
367
|
-
No Other_Number
|
|
368
|
-
P Punctuation punct
|
|
369
|
-
Pc Connector_Punctuation
|
|
370
|
-
Pd Dash_Punctuation
|
|
371
|
-
Pe Close_Punctuation
|
|
372
|
-
Pf Final_Punctuation
|
|
373
|
-
Pi Initial_Punctuation
|
|
374
|
-
Po Other_Punctuation
|
|
375
|
-
Ps Open_Punctuation
|
|
376
|
-
S Symbol
|
|
377
|
-
Sc Currency_Symbol
|
|
378
|
-
Sk Modifier_Symbol
|
|
379
|
-
Sm Math_Symbol
|
|
380
|
-
So Other_Symbol
|
|
381
|
-
Z Separator
|
|
382
|
-
Zl Line_Separator
|
|
383
|
-
Zp Paragraph_Separator
|
|
384
|
-
Zs Space_Separator
|
|
385
|
-
ASCII
|
|
386
|
-
ASCII_Hex_Digit AHex
|
|
387
|
-
Alphabetic Alpha
|
|
388
|
-
Any
|
|
389
|
-
Assigned
|
|
390
|
-
Bidi_Control Bidi_C
|
|
391
|
-
Bidi_Mirrored Bidi_M
|
|
392
|
-
Case_Ignorable CI
|
|
393
|
-
Cased
|
|
394
|
-
Changes_When_Casefolded CWCF
|
|
395
|
-
Changes_When_Casemapped CWCM
|
|
396
|
-
Changes_When_Lowercased CWL
|
|
397
|
-
Changes_When_NFKC_Casefolded CWKCF
|
|
398
|
-
Changes_When_Titlecased CWT
|
|
399
|
-
Changes_When_Uppercased CWU
|
|
400
|
-
Dash
|
|
401
|
-
Default_Ignorable_Code_Point DI
|
|
402
|
-
Deprecated Dep
|
|
403
|
-
Diacritic Dia
|
|
404
|
-
Emoji
|
|
405
|
-
Emoji_Component EComp
|
|
406
|
-
Emoji_Modifier EMod
|
|
407
|
-
Emoji_Modifier_Base EBase
|
|
408
|
-
Emoji_Presentation EPres
|
|
409
|
-
Extended_Pictographic ExtPict
|
|
410
|
-
Extender Ext
|
|
411
|
-
Grapheme_Base Gr_Base
|
|
412
|
-
Grapheme_Extend Gr_Ext
|
|
413
|
-
Hex_Digit Hex
|
|
414
|
-
IDS_Binary_Operator IDSB
|
|
415
|
-
IDS_Trinary_Operator IDST
|
|
416
|
-
ID_Continue IDC
|
|
417
|
-
ID_Start IDS
|
|
418
|
-
Ideographic Ideo
|
|
419
|
-
Join_Control Join_C
|
|
420
|
-
Logical_Order_Exception LOE
|
|
421
|
-
Lowercase Lower
|
|
422
|
-
Math
|
|
423
|
-
Noncharacter_Code_Point NChar
|
|
424
|
-
Pattern_Syntax Pat_Syn
|
|
425
|
-
Pattern_White_Space Pat_WS
|
|
426
|
-
Quotation_Mark QMark
|
|
427
|
-
Radical
|
|
428
|
-
Regional_Indicator RI
|
|
429
|
-
Sentence_Terminal STerm
|
|
430
|
-
Soft_Dotted SD
|
|
431
|
-
Terminal_Punctuation Term
|
|
432
|
-
Unified_Ideograph UIdeo
|
|
433
|
-
Uppercase Upper
|
|
434
|
-
Variation_Selector VS
|
|
435
|
-
White_Space space
|
|
436
|
-
XID_Continue XIDC
|
|
437
|
-
XID_Start XIDS`.split(/\s/).map(n=>[cf(n),n])),mR=new Map([["s",xn(383)],[xn(383),"s"]]),pR=new Map([[xn(223),xn(7838)],[xn(107),xn(8490)],[xn(229),xn(8491)],[xn(969),xn(8486)]]),gR=new Map([qs(453),qs(456),qs(459),qs(498),...cp(8072,8079),...cp(8088,8095),...cp(8104,8111),qs(8124),qs(8140),qs(8188)]),yR=new Map([["alnum",Je`[\p{Alpha}\p{Nd}]`],["alpha",Je`\p{Alpha}`],["ascii",Je`\p{ASCII}`],["blank",Je`[\p{Zs}\t]`],["cntrl",Je`\p{Cc}`],["digit",Je`\p{Nd}`],["graph",Je`[\P{space}&&\P{Cc}&&\P{Cn}&&\P{Cs}]`],["lower",Je`\p{Lower}`],["print",Je`[[\P{space}&&\P{Cc}&&\P{Cn}&&\P{Cs}]\p{Zs}]`],["punct",Je`[\p{P}\p{S}]`],["space",Je`\p{space}`],["upper",Je`\p{Upper}`],["word",Je`[\p{Alpha}\p{M}\p{Nd}\p{Pc}]`],["xdigit",Je`\p{AHex}`]]);function vR(n,e){const t=[];for(let a=n;a<=e;a++)t.push(a);return t}function qs(n){const e=xn(n);return[e.toLowerCase(),e]}function cp(n,e){return vR(n,e).map(t=>qs(t))}var y7=new Set(["Lower","Lowercase","Upper","Uppercase","Ll","Lowercase_Letter","Lt","Titlecase_Letter","Lu","Uppercase_Letter"]);function bR(n,e){const t={accuracy:"default",asciiWordBoundaries:!1,avoidSubclass:!1,bestEffortTarget:"ES2025",...e};v7(n);const a={accuracy:t.accuracy,asciiWordBoundaries:t.asciiWordBoundaries,avoidSubclass:t.avoidSubclass,flagDirectivesByAlt:new Map,jsGroupNameMap:new Map,minTargetEs2024:Ng(t.bestEffortTarget,"ES2024"),passedLookbehind:!1,strategy:null,subroutineRefMap:new Map,supportedGNodes:new Set,digitIsAscii:n.flags.digitIsAscii,spaceIsAscii:n.flags.spaceIsAscii,wordIsAscii:n.flags.wordIsAscii};Lc(n,xR,a);const s={dotAll:n.flags.dotAll,ignoreCase:n.flags.ignoreCase},o={currentFlags:s,prevFlags:null,globalFlags:s,groupOriginByCopy:new Map,groupsByName:new Map,multiplexCapturesToLeftByRef:new Map,openRefs:new Map,reffedNodesByReferencer:new Map,subroutineRefMap:a.subroutineRefMap};Lc(n,wR,o);const l={groupsByName:o.groupsByName,highestOrphanBackref:0,numCapturesToLeft:0,reffedNodesByReferencer:o.reffedNodesByReferencer};return Lc(n,kR,l),n._originMap=o.groupOriginByCopy,n._strategy=a.strategy,n}var xR={AbsenceFunction({node:n,parent:e,replaceWith:t}){const{body:a,kind:s}=n;if(s==="repeater"){const o=tr();o.body[0].body.push(ji({negate:!0,body:a}),Go("Any"));const l=tr();l.body[0].body.push(c7("greedy",0,1/0,o)),t(nn(l,e),{traverse:!0})}else throw new Error('Unsupported absence function "(?~|"')},Alternative:{enter({node:n,parent:e,key:t},{flagDirectivesByAlt:a}){const s=n.body.filter(o=>o.kind==="flags");for(let o=t+1;o<e.body.length;o++){const l=e.body[o];Xc(a,l,[]).push(...s)}},exit({node:n},{flagDirectivesByAlt:e}){var t;if((t=e.get(n))!=null&&t.length){const a=x7(e.get(n));if(a){const s=tr({flags:a});s.body[0].body=n.body,n.body=[nn(s,n)]}}}},Assertion({node:n,parent:e,key:t,container:a,root:s,remove:o,replaceWith:l},u){const{kind:d,negate:h}=n,{asciiWordBoundaries:m,avoidSubclass:p,supportedGNodes:b,wordIsAscii:x}=u;if(d==="text_segment_boundary")throw new Error(`Unsupported text segment boundary "\\${h?"Y":"y"}"`);if(d==="line_end")l(nn(ji({body:[Wi({body:[Cg("string_end")]}),Wi({body:[lf(10)]})]}),e));else if(d==="line_start")l(nn(Jr(Je`(?<=\A|\n(?!\z))`,{skipLookbehindValidation:!0}),e));else if(d==="search_start")if(b.has(n))s.flags.sticky=!0,o();else{const k=a[t-1];if(k&&ER(k))l(nn(ji({negate:!0}),e));else{if(p)throw new Error(Je`Uses "\G" in a way that requires a subclass`);l(Vs(Cg("string_start"),e)),u.strategy="clip_search"}}else if(!(d==="string_end"||d==="string_start"))if(d==="string_end_newline")l(nn(Jr(Je`(?=\n?\z)`),e));else if(d==="word_boundary"){if(!x&&!m){const k=`(?:(?<=${Qr})(?!${Qr})|(?<!${Qr})(?=${Qr}))`,_=`(?:(?<=${Qr})(?=${Qr})|(?<!${Qr})(?!${Qr}))`;l(nn(Jr(h?_:k),e))}}else throw new Error(`Unexpected assertion kind "${d}"`)},Backreference({node:n},{jsGroupNameMap:e}){let{ref:t}=n;typeof t=="string"&&!dp(t)&&(t=up(t,e),n.ref=t)},CapturingGroup({node:n},{jsGroupNameMap:e,subroutineRefMap:t}){let{name:a}=n;a&&!dp(a)&&(a=up(a,e),n.name=a),t.set(n.number,n),a&&t.set(a,n)},CharacterClassRange({node:n,parent:e,replaceWith:t}){if(e.kind==="intersection"){const a=a0({body:[n]});t(nn(a,e),{traverse:!0})}},CharacterSet({node:n,parent:e,replaceWith:t},{accuracy:a,minTargetEs2024:s,digitIsAscii:o,spaceIsAscii:l,wordIsAscii:u}){const{kind:d,negate:h,value:m}=n;if(o&&(d==="digit"||m==="digit")){t(Vs(Ag("digit",{negate:h}),e));return}if(l&&(d==="space"||m==="space")){t(nn(fp(Jr(fR),h),e));return}if(u&&(d==="word"||m==="word")){t(Vs(Ag("word",{negate:h}),e));return}if(d==="any")t(Vs(Go("Any"),e));else if(d==="digit")t(Vs(Go("Nd",{negate:h}),e));else if(d!=="dot")if(d==="text_segment"){if(a==="strict")throw new Error(Je`Use of "\X" requires non-strict accuracy`);const p="\\p{Emoji}(?:\\p{EMod}|\\uFE0F\\u20E3?|[\\x{E0020}-\\x{E007E}]+\\x{E007F})?",b=Je`\p{RI}{2}|${p}(?:\u200D${p})*`;t(nn(Jr(Je`(?>\r\n|${s?Je`\p{RGI_Emoji}`:b}|\P{M}\p{M}*)`,{skipPropertyNameValidation:!0}),e))}else if(d==="hex")t(Vs(Go("AHex",{negate:h}),e));else if(d==="newline")t(nn(Jr(h?`[^
|
|
438
|
-
]`:`(?>\r
|
|
439
|
-
?|[
|
|
440
|
-
\v\f
\u2028\u2029])`),e));else if(d==="posix")if(!s&&(m==="graph"||m==="print")){if(a==="strict")throw new Error(`POSIX class "${m}" requires min target ES2024 or non-strict accuracy`);let p={graph:"!-~",print:" -~"}[m];h&&(p=`\0-${xn(p.codePointAt(0)-1)}${xn(p.codePointAt(2)+1)}-`),t(nn(Jr(`[${p}]`),e))}else t(nn(fp(Jr(yR.get(m)),h),e));else if(d==="property")C1.has(cf(m))||(n.key="sc");else if(d==="space")t(Vs(Go("space",{negate:h}),e));else if(d==="word")t(nn(fp(Jr(Qr),h),e));else throw new Error(`Unexpected character set kind "${d}"`)},Directive({node:n,parent:e,root:t,remove:a,replaceWith:s,removeAllPrevSiblings:o,removeAllNextSiblings:l}){const{kind:u,flags:d}=n;if(u==="flags")if(!d.enable&&!d.disable)a();else{const h=tr({flags:d});h.body[0].body=l(),s(nn(h,e),{traverse:!0})}else if(u==="keep"){const h=t.body[0],p=t.body.length===1&&i7(h,{type:"Group"})&&h.body[0].body.length===1?h.body[0]:t;if(e.parent!==p||p.body.length>1)throw new Error(Je`Uses "\K" in a way that's unsupported`);const b=ji({behind:!0});b.body[0].body=o(),s(nn(b,e))}else throw new Error(`Unexpected directive kind "${u}"`)},Flags({node:n,parent:e}){if(n.posixIsAscii)throw new Error('Unsupported flag "P"');if(n.textSegmentMode==="word")throw new Error('Unsupported flag "y{w}"');["digitIsAscii","extended","posixIsAscii","spaceIsAscii","wordIsAscii","textSegmentMode"].forEach(t=>delete n[t]),Object.assign(n,{global:!1,hasIndices:!1,multiline:!1,sticky:n.sticky??!1}),e.options={disable:{x:!0,n:!0},force:{v:!0}}},Group({node:n}){if(!n.flags)return;const{enable:e,disable:t}=n.flags;e!=null&&e.extended&&delete e.extended,t!=null&&t.extended&&delete t.extended,e!=null&&e.dotAll&&(t!=null&&t.dotAll)&&delete e.dotAll,e!=null&&e.ignoreCase&&(t!=null&&t.ignoreCase)&&delete e.ignoreCase,e&&!Object.keys(e).length&&delete n.flags.enable,t&&!Object.keys(t).length&&delete n.flags.disable,!n.flags.enable&&!n.flags.disable&&delete n.flags},LookaroundAssertion({node:n},e){const{kind:t}=n;t==="lookbehind"&&(e.passedLookbehind=!0)},NamedCallout({node:n,parent:e,replaceWith:t}){const{kind:a}=n;if(a==="fail")t(nn(ji({negate:!0}),e));else throw new Error(`Unsupported named callout "(*${a.toUpperCase()}"`)},Quantifier({node:n}){if(n.body.type==="Quantifier"){const e=tr();e.body[0].body.push(n.body),n.body=nn(e,n)}},Regex:{enter({node:n},{supportedGNodes:e}){const t=[];let a=!1,s=!1;for(const o of n.body)if(o.body.length===1&&o.body[0].kind==="search_start")o.body.pop();else{const l=k7(o.body);l?(a=!0,Array.isArray(l)?t.push(...l):t.push(l)):s=!0}a&&!s&&t.forEach(o=>e.add(o))},exit(n,{accuracy:e,passedLookbehind:t,strategy:a}){if(e==="strict"&&t&&a)throw new Error(Je`Uses "\G" in a way that requires non-strict accuracy`)}},Subroutine({node:n},{jsGroupNameMap:e}){let{ref:t}=n;typeof t=="string"&&!dp(t)&&(t=up(t,e),n.ref=t)}},wR={Backreference({node:n},{multiplexCapturesToLeftByRef:e,reffedNodesByReferencer:t}){const{orphan:a,ref:s}=n;a||t.set(n,[...e.get(s).map(({node:o})=>o)])},CapturingGroup:{enter({node:n,parent:e,replaceWith:t,skip:a},{groupOriginByCopy:s,groupsByName:o,multiplexCapturesToLeftByRef:l,openRefs:u,reffedNodesByReferencer:d}){const h=s.get(n);if(h&&u.has(n.number)){const p=Vs(K5(n.number),e);d.set(p,u.get(n.number)),t(p);return}u.set(n.number,n),l.set(n.number,[]),n.name&&Xc(l,n.name,[]);const m=l.get(n.name??n.number);for(let p=0;p<m.length;p++){const b=m[p];if(h===b.node||h&&h===b.origin||n===b.origin){m.splice(p,1);break}}if(l.get(n.number).push({node:n,origin:h}),n.name&&l.get(n.name).push({node:n,origin:h}),n.name){const p=Xc(o,n.name,new Map);let b=!1;if(h)b=!0;else for(const x of p.values())if(!x.hasDuplicateNameToRemove){b=!0;break}o.get(n.name).set(n,{node:n,hasDuplicateNameToRemove:b})}},exit({node:n},{openRefs:e}){e.get(n.number)===n&&e.delete(n.number)}},Group:{enter({node:n},e){e.prevFlags=e.currentFlags,n.flags&&(e.currentFlags=O0(e.currentFlags,n.flags))},exit(n,e){e.currentFlags=e.prevFlags}},Subroutine({node:n,parent:e,replaceWith:t},a){const{isRecursive:s,ref:o}=n;if(s){let m=e;for(;(m=m.parent)&&!(m.type==="CapturingGroup"&&(m.name===o||m.number===o)););a.reffedNodesByReferencer.set(n,m);return}const l=a.subroutineRefMap.get(o),u=o===0,d=u?K5(0):b7(l,a.groupOriginByCopy,null);let h=d;if(!u){const m=x7(CR(l,b=>b.type==="Group"&&!!b.flags)),p=m?O0(a.globalFlags,m):a.globalFlags;SR(p,a.currentFlags)||(h=tr({flags:TR(p)}),h.body[0].body.push(d))}t(nn(h,e),{traverse:!u})}},kR={Backreference({node:n,parent:e,replaceWith:t},a){if(n.orphan){a.highestOrphanBackref=Math.max(a.highestOrphanBackref,n.ref);return}const o=a.reffedNodesByReferencer.get(n).filter(l=>_R(l,n));if(!o.length)t(nn(ji({negate:!0}),e));else if(o.length>1){const l=tr({atomic:!0,body:o.reverse().map(u=>Wi({body:[Tg(u.number)]}))});t(nn(l,e))}else n.ref=o[0].number},CapturingGroup({node:n},e){n.number=++e.numCapturesToLeft,n.name&&e.groupsByName.get(n.name).get(n).hasDuplicateNameToRemove&&delete n.name},Regex:{exit({node:n},e){const t=Math.max(e.highestOrphanBackref-e.numCapturesToLeft,0);for(let a=0;a<t;a++){const s=l7();n.body.at(-1).body.push(s)}}},Subroutine({node:n},e){!n.isRecursive||n.ref===0||(n.ref=e.reffedNodesByReferencer.get(n).number)}};function v7(n){Lc(n,{"*"({node:e,parent:t}){e.parent=t}})}function SR(n,e){return n.dotAll===e.dotAll&&n.ignoreCase===e.ignoreCase}function _R(n,e){let t=e;do{if(t.type==="Regex")return!1;if(t.type==="Alternative")continue;if(t===n)return!1;const a=w7(t.parent);for(const s of a){if(s===t)break;if(s===n||S7(s,n))return!0}}while(t=t.parent);throw new Error("Unexpected path")}function b7(n,e,t,a){const s=Array.isArray(n)?[]:{};for(const[o,l]of Object.entries(n))o==="parent"?s.parent=Array.isArray(t)?a:t:l&&typeof l=="object"?s[o]=b7(l,e,s,t):(o==="type"&&l==="CapturingGroup"&&e.set(s,e.get(n)??n),s[o]=l);return s}function K5(n){const e=u7(n);return e.isRecursive=!0,e}function CR(n,e){const t=[];for(;n=n.parent;)(!e||e(n))&&t.push(n);return t}function up(n,e){if(e.has(n))return e.get(n);const t=`$${e.size}_${n.replace(/^[^$_\p{IDS}]|[^$\u200C\u200D\p{IDC}]/ug,"_")}`;return e.set(n,t),t}function x7(n){const e=["dotAll","ignoreCase"],t={enable:{},disable:{}};return n.forEach(({flags:a})=>{e.forEach(s=>{var o,l;(o=a.enable)!=null&&o[s]&&(delete t.disable[s],t.enable[s]=!0),(l=a.disable)!=null&&l[s]&&(t.disable[s]=!0)})}),Object.keys(t.enable).length||delete t.enable,Object.keys(t.disable).length||delete t.disable,t.enable||t.disable?t:null}function TR({dotAll:n,ignoreCase:e}){const t={};return(n||e)&&(t.enable={},n&&(t.enable.dotAll=!0),e&&(t.enable.ignoreCase=!0)),(!n||!e)&&(t.disable={},!n&&(t.disable.dotAll=!0),!e&&(t.disable.ignoreCase=!0)),t}function w7(n){if(!n)throw new Error("Node expected");const{body:e}=n;return Array.isArray(e)?e:e?[e]:null}function k7(n){const e=n.find(t=>t.kind==="search_start"||NR(t,{negate:!1})||!AR(t));if(!e)return null;if(e.kind==="search_start")return e;if(e.type==="LookaroundAssertion")return e.body[0].body[0];if(e.type==="CapturingGroup"||e.type==="Group"){const t=[];for(const a of e.body){const s=k7(a.body);if(!s)return null;Array.isArray(s)?t.push(...s):t.push(s)}return t}return null}function S7(n,e){const t=w7(n)??[];for(const a of t)if(a===e||S7(a,e))return!0;return!1}function AR({type:n}){return n==="Assertion"||n==="Directive"||n==="LookaroundAssertion"}function ER(n){const e=["Character","CharacterClass","CharacterSet"];return e.includes(n.type)||n.type==="Quantifier"&&n.min&&e.includes(n.body.type)}function NR(n,e){const t={negate:null,...e};return n.type==="LookaroundAssertion"&&(t.negate===null||n.negate===t.negate)&&n.body.length===1&&i7(n.body[0],{type:"Assertion",kind:"search_start"})}function dp(n){return/^[$_\p{IDS}][$\u200C\u200D\p{IDC}]*$/u.test(n)}function Jr(n,e){const a=o7(n,{...e,unicodePropertyMap:C1}).body;return a.length>1||a[0].body.length>1?tr({body:a}):a[0].body[0]}function fp(n,e){return n.negate=e,n}function Vs(n,e){return n.parent=e,n}function nn(n,e){return v7(n),n.parent=e,n}function MR(n,e){const t=p7(e),a=Ng(t.target,"ES2024"),s=Ng(t.target,"ES2025"),o=t.rules.recursionLimit;if(!Number.isInteger(o)||o<2||o>20)throw new Error("Invalid recursionLimit; use 2-20");let l=null,u=null;if(!s){const x=[n.flags.ignoreCase];Lc(n,RR,{getCurrentModI:()=>x.at(-1),popModI(){x.pop()},pushModI(k){x.push(k)},setHasCasedChar(){x.at(-1)?l=!0:u=!0}})}const d={dotAll:n.flags.dotAll,ignoreCase:!!((n.flags.ignoreCase||l)&&!u)};let h=n;const m={accuracy:t.accuracy,appliedGlobalFlags:d,captureMap:new Map,currentFlags:{dotAll:n.flags.dotAll,ignoreCase:n.flags.ignoreCase},inCharClass:!1,lastNode:h,originMap:n._originMap,recursionLimit:o,useAppliedIgnoreCase:!!(!s&&l&&u),useFlagMods:s,useFlagV:a,verbose:t.verbose};function p(x){return m.lastNode=h,h=x,uR(DR[x.type],`Unexpected node type "${x.type}"`)(x,m,p)}const b={pattern:n.body.map(p).join("|"),flags:p(n.flags),options:{...n.options}};return a||(delete b.options.force.v,b.options.disable.v=!0,b.options.unicodeSetsPlugin=null),b._captureTransfers=new Map,b._hiddenCaptures=[],m.captureMap.forEach((x,k)=>{x.hidden&&b._hiddenCaptures.push(k),x.transferTo&&Xc(b._captureTransfers,x.transferTo,[]).push(k)}),b}var RR={"*":{enter({node:n},e){if(Z5(n)){const t=e.getCurrentModI();e.pushModI(n.flags?O0({ignoreCase:t},n.flags).ignoreCase:t)}},exit({node:n},e){Z5(n)&&e.popModI()}},Backreference(n,e){e.setHasCasedChar()},Character({node:n},e){T1(xn(n.value))&&e.setHasCasedChar()},CharacterClassRange({node:n,skip:e},t){e(),_7(n,{firstOnly:!0}).length&&t.setHasCasedChar()},CharacterSet({node:n},e){n.kind==="property"&&y7.has(n.value)&&e.setHasCasedChar()}},DR={Alternative({body:n},e,t){return n.map(t).join("")},Assertion({kind:n,negate:e}){if(n==="string_end")return"$";if(n==="string_start")return"^";if(n==="word_boundary")return e?Je`\B`:Je`\b`;throw new Error(`Unexpected assertion kind "${n}"`)},Backreference({ref:n},e){if(typeof n!="number")throw new Error("Unexpected named backref in transformed AST");if(!e.useFlagMods&&e.accuracy==="strict"&&e.currentFlags.ignoreCase&&!e.captureMap.get(n).ignoreCase)throw new Error("Use of case-insensitive backref to case-sensitive group requires target ES2025 or non-strict accuracy");return"\\"+n},CapturingGroup(n,e,t){const{body:a,name:s,number:o}=n,l={ignoreCase:e.currentFlags.ignoreCase},u=e.originMap.get(n);return u&&(l.hidden=!0,o>u.number&&(l.transferTo=u.number)),e.captureMap.set(o,l),`(${s?`?<${s}>`:""}${a.map(t).join("|")})`},Character({value:n},e){const t=xn(n),a=Io(n,{escDigit:e.lastNode.type==="Backreference",inCharClass:e.inCharClass,useFlagV:e.useFlagV});if(a!==t)return a;if(e.useAppliedIgnoreCase&&e.currentFlags.ignoreCase&&T1(t)){const s=g7(t);return e.inCharClass?s.join(""):s.length>1?`[${s.join("")}]`:s[0]}return t},CharacterClass(n,e,t){const{kind:a,negate:s,parent:o}=n;let{body:l}=n;if(a==="intersection"&&!e.useFlagV)throw new Error("Use of character class intersection requires min target ES2024");nr.bugFlagVLiteralHyphenIsRange&&e.useFlagV&&l.some(X5)&&(l=[lf(45),...l.filter(h=>!X5(h))]);const u=()=>`[${s?"^":""}${l.map(t).join(a==="intersection"?"&&":"")}]`;if(!e.inCharClass){if((!e.useFlagV||nr.bugNestedClassIgnoresNegation)&&!s){const m=l.filter(p=>p.type==="CharacterClass"&&p.kind==="union"&&p.negate);if(m.length){const p=tr(),b=p.body[0];return p.parent=o,b.parent=p,l=l.filter(x=>!m.includes(x)),n.body=l,l.length?(n.parent=b,b.body.push(n)):p.body.pop(),m.forEach(x=>{const k=Wi({body:[x]});x.parent=k,k.parent=p,p.body.push(k)}),t(p)}}e.inCharClass=!0;const h=u();return e.inCharClass=!1,h}const d=l[0];if(a==="union"&&!s&&d&&((!e.useFlagV||!e.verbose)&&o.kind==="union"&&!(nr.bugFlagVLiteralHyphenIsRange&&e.useFlagV)||!e.verbose&&o.kind==="intersection"&&l.length===1&&d.type!=="CharacterClassRange"))return l.map(t).join("");if(!e.useFlagV&&o.type==="CharacterClass")throw new Error("Uses nested character class in a way that requires min target ES2024");return u()},CharacterClassRange(n,e){const t=n.min.value,a=n.max.value,s={escDigit:!1,inCharClass:!0,useFlagV:e.useFlagV},o=Io(t,s),l=Io(a,s),u=new Set;if(e.useAppliedIgnoreCase&&e.currentFlags.ignoreCase){const d=_7(n);PR(d).forEach(m=>{u.add(Array.isArray(m)?`${Io(m[0],s)}-${Io(m[1],s)}`:Io(m,s))})}return`${o}-${l}${[...u].join("")}`},CharacterSet({kind:n,negate:e,value:t,key:a},s){if(n==="dot")return s.currentFlags.dotAll?s.appliedGlobalFlags.dotAll||s.useFlagMods?".":"[^]":Je`[^\n]`;if(n==="digit")return e?Je`\D`:Je`\d`;if(n==="property"){if(s.useAppliedIgnoreCase&&s.currentFlags.ignoreCase&&y7.has(t))throw new Error(`Unicode property "${t}" can't be case-insensitive when other chars have specific case`);return`${e?Je`\P`:Je`\p`}{${a?`${a}=`:""}${t}}`}if(n==="word")return e?Je`\W`:Je`\w`;throw new Error(`Unexpected character set kind "${n}"`)},Flags(n,e){return(e.appliedGlobalFlags.ignoreCase?"i":"")+(n.dotAll?"s":"")+(n.sticky?"y":"")},Group({atomic:n,body:e,flags:t,parent:a},s,o){const l=s.currentFlags;t&&(s.currentFlags=O0(l,t));const u=e.map(o).join("|"),d=!s.verbose&&e.length===1&&a.type!=="Quantifier"&&!n&&(!s.useFlagMods||!t)?u:`(?${IR(n,t,s.useFlagMods)}${u})`;return s.currentFlags=l,d},LookaroundAssertion({body:n,kind:e,negate:t},a,s){return`(?${`${e==="lookahead"?"":"<"}${t?"!":"="}`}${n.map(s).join("|")})`},Quantifier(n,e,t){return t(n.body)+zR(n)},Subroutine({isRecursive:n,ref:e},t){if(!n)throw new Error("Unexpected non-recursive subroutine in transformed AST");const a=t.recursionLimit;return e===0?`(?R=${a})`:Je`\g<${e}&R=${a}>`}},OR=new Set(["$","(",")","*","+",".","?","[","\\","]","^","{","|","}"]),LR=new Set(["-","\\","]","^","["]),BR=new Set(["(",")","-","/","[","\\","]","^","{","|","}","!","#","$","%","&","*","+",",",".",":",";","<","=",">","?","@","`","~"]),Y5=new Map([[9,Je`\t`],[10,Je`\n`],[11,Je`\v`],[12,Je`\f`],[13,Je`\r`],[8232,Je`\u2028`],[8233,Je`\u2029`],[65279,Je`\uFEFF`]]),jR=new RegExp("^\\p{Cased}$","u");function T1(n){return jR.test(n)}function _7(n,e){const t=!!(e!=null&&e.firstOnly),a=n.min.value,s=n.max.value,o=[];if(a<65&&(s===65535||s>=131071)||a===65536&&s>=131071)return o;for(let l=a;l<=s;l++){const u=xn(l);if(!T1(u))continue;const d=g7(u).filter(h=>{const m=h.codePointAt(0);return m<a||m>s});if(d.length&&(o.push(...d),t))break}return o}function Io(n,{escDigit:e,inCharClass:t,useFlagV:a}){if(Y5.has(n))return Y5.get(n);if(n<32||n>126&&n<160||n>262143||e&&$R(n))return n>255?`\\u{${n.toString(16).toUpperCase()}}`:`\\x${n.toString(16).toUpperCase().padStart(2,"0")}`;const s=t?a?BR:LR:OR,o=xn(n);return(s.has(o)?"\\":"")+o}function PR(n){const e=n.map(s=>s.codePointAt(0)).sort((s,o)=>s-o),t=[];let a=null;for(let s=0;s<e.length;s++)e[s+1]===e[s]+1?a??(a=e[s]):a===null?t.push(e[s]):(t.push([a,e[s]]),a=null);return t}function IR(n,e,t){if(n)return">";let a="";if(e&&t){const{enable:s,disable:o}=e;a=(s!=null&&s.ignoreCase?"i":"")+(s!=null&&s.dotAll?"s":"")+(o?"-":"")+(o!=null&&o.ignoreCase?"i":"")+(o!=null&&o.dotAll?"s":"")}return`${a}:`}function zR({kind:n,max:e,min:t}){let a;return!t&&e===1?a="?":!t&&e===1/0?a="*":t===1&&e===1/0?a="+":t===e?a=`{${t}}`:a=`{${t},${e===1/0?"":e}}`,a+{greedy:"",lazy:"?",possessive:"+"}[n]}function Z5({type:n}){return n==="CapturingGroup"||n==="Group"||n==="LookaroundAssertion"}function $R(n){return n>47&&n<58}function X5({type:n,value:e}){return n==="Character"&&e===45}var Ks,rs,Hi,Ys,Ui,eu,Mg,ei,HR=(ei=class extends RegExp{constructor(t,a,s){var e=(...TI)=>(super(...TI),Ni(this,eu),Ni(this,Ks,new Map),Ni(this,rs,null),Ni(this,Hi),Ni(this,Ys,null),Ni(this,Ui,null),W(this,"rawOptions",{}),this);const o=!!(s!=null&&s.lazyCompile);if(t instanceof RegExp){if(s)throw new Error("Cannot provide options when copying a regexp");const l=t;e(l,a),Qa(this,Hi,l.source),l instanceof ei&&(Qa(this,Ks,Kn(l,Ks)),Qa(this,Ys,Kn(l,Ys)),Qa(this,Ui,Kn(l,Ui)),this.rawOptions=l.rawOptions)}else{const l={hiddenCaptures:[],strategy:null,transfers:[],...s};e(o?"":t,a),Qa(this,Hi,t),Qa(this,Ks,FR(l.hiddenCaptures,l.transfers)),Qa(this,Ui,l.strategy),this.rawOptions=s??{}}o||Qa(this,rs,this)}get source(){return Kn(this,Hi)||"(?:)"}exec(t){if(!Kn(this,rs)){const{lazyCompile:o,...l}=this.rawOptions;Qa(this,rs,new ei(Kn(this,Hi),this.flags,l))}const a=this.global||this.sticky,s=this.lastIndex;if(Kn(this,Ui)==="clip_search"&&a&&s){this.lastIndex=0;const o=_m(this,eu,Mg).call(this,t.slice(s));return o&&(UR(o,s,t,this.hasIndices),this.lastIndex+=s),o}return _m(this,eu,Mg).call(this,t)}},Ks=new WeakMap,rs=new WeakMap,Hi=new WeakMap,Ys=new WeakMap,Ui=new WeakMap,eu=new WeakSet,Mg=function(t){Kn(this,rs).lastIndex=this.lastIndex;const a=bb(ei.prototype,this,"exec").call(Kn(this,rs),t);if(this.lastIndex=Kn(this,rs).lastIndex,!a||!Kn(this,Ks).size)return a;const s=[...a];a.length=1;let o;this.hasIndices&&(o=[...a.indices],a.indices.length=1);const l=[0];for(let u=1;u<s.length;u++){const{hidden:d,transferTo:h}=Kn(this,Ks).get(u)??{};if(d?l.push(null):(l.push(a.length),a.push(s[u]),this.hasIndices&&a.indices.push(o[u])),h&&s[u]!==void 0){const m=l[h];if(!m)throw new Error(`Invalid capture transfer to "${m}"`);if(a[m]=s[u],this.hasIndices&&(a.indices[m]=o[u]),a.groups){Kn(this,Ys)||Qa(this,Ys,GR(this.source));const p=Kn(this,Ys).get(h);p&&(a.groups[p]=s[u],this.hasIndices&&(a.indices.groups[p]=o[u]))}}}return a},ei);function UR(n,e,t,a){if(n.index+=e,n.input=t,a){const s=n.indices;for(let l=0;l<s.length;l++){const u=s[l];u&&(s[l]=[u[0]+e,u[1]+e])}const o=s.groups;o&&Object.keys(o).forEach(l=>{const u=o[l];u&&(o[l]=[u[0]+e,u[1]+e])})}}function FR(n,e){const t=new Map;for(const a of n)t.set(a,{hidden:!0});for(const[a,s]of e)for(const o of s)Xc(t,o,{}).transferTo=a;return t}function GR(n){const e=/(?<capture>\((?:\?<(?![=!])(?<name>[^>]+)>|(?!\?)))|\\?./gsu,t=new Map;let a=0,s=0,o;for(;o=e.exec(n);){const{0:l,groups:{capture:u,name:d}}=o;l==="["?a++:a?l==="]"&&a--:u&&(s++,d&&t.set(s,d))}return t}function qR(n,e){const t=VR(n,e);return t.options?new HR(t.pattern,t.flags,t.options):new RegExp(t.pattern,t.flags)}function VR(n,e){const t=p7(e),a=o7(n,{flags:t.flags,normalizeUnknownPropertyNames:!0,rules:{captureGroup:t.rules.captureGroup,singleline:t.rules.singleline},skipBackrefValidation:t.rules.allowOrphanBackrefs,unicodePropertyMap:C1}),s=bR(a,{accuracy:t.accuracy,asciiWordBoundaries:t.rules.asciiWordBoundaries,avoidSubclass:t.avoidSubclass,bestEffortTarget:t.target}),o=MR(s,t),l=lR(o.pattern,{captureTransfers:o._captureTransfers,hiddenCaptures:o._hiddenCaptures,mode:"external"}),u=iR(l.pattern),d=sR(u.pattern,{captureTransfers:l.captureTransfers,hiddenCaptures:l.hiddenCaptures}),h={pattern:d.pattern,flags:`${t.hasIndices?"d":""}${t.global?"g":""}${o.flags}${o.options.disable.v?"u":"v"}`};if(t.avoidSubclass){if(t.lazyCompileLength!==1/0)throw new Error("Lazy compilation requires subclass")}else{const m=d.hiddenCaptures.sort((k,_)=>k-_),p=Array.from(d.captureTransfers),b=s._strategy,x=h.pattern.length>=t.lazyCompileLength;(m.length||p.length||b||x)&&(h.options={...m.length&&{hiddenCaptures:m},...p.length&&{transfers:p},...b&&{strategy:b},...x&&{lazyCompile:x}})}return h}function WR(n,e){return qR(n,{global:!0,hasIndices:!0,lazyCompileLength:3e3,rules:{allowOrphanBackrefs:!0,asciiWordBoundaries:!0,captureGroup:!0,recursionLimit:5,singleline:!0},...e})}function KR(n={}){const e={target:"auto",cache:new Map,...n};return e.regexConstructor||(e.regexConstructor=t=>WR(t,{target:e.target})),{createScanner(t){return new cM(t,e)},createString(t){return{content:t}}}}function C7(n){window.dispatchEvent(new CustomEvent("preview-file",{detail:{path:n}}))}const YR={js:"JavaScript",ts:"TypeScript",jsx:"JSX",tsx:"TSX",py:"Python",python:"Python",bash:"Bash",shell:"Shell",css:"CSS",json:"JSON",yaml:"YAML",yml:"YAML",sql:"SQL",md:"Markdown",markdown:"Markdown",xml:"XML",html:"HTML"},ZR={js:"javascript",ts:"typescript",py:"python",yml:"yaml",shell:"bash",sh:"bash",zsh:"bash",text:"txt",plaintext:"txt",plain:"txt"};function XR(n){return ZR[n]??n}let Ud=null;function QR(){return Ud||(Ud=lM({themes:["github-dark"],langs:["javascript","typescript","jsx","tsx","css","json","bash","python","markdown","yaml","sql","html","xml","diff"],engine:KR()}).catch(n=>{throw Ud=null,n})),Ud}const _c=new Map,JR=300;function eD(n,e){if(_c.size>=JR){const t=_c.keys().next().value;t!==void 0&&_c.delete(t)}_c.set(n,e)}function tD({language:n,code:e}){const{t}=kt(),[a,s]=D.useState(!1),[o,l]=D.useState(null);D.useEffect(()=>{let h=!1;const m=`${n}\0${e}`,p=_c.get(m);if(p){l(p);return}return QR().then(b=>{const x=XR(n);if(!b.getLoadedLanguages().includes(x))return;const k=b.codeToHtml(e,{lang:x,theme:"github-dark"});eD(m,k),h||l(k)}).catch(()=>{}),()=>{h=!0}},[e,n]);const u=async()=>{try{await navigator.clipboard.writeText(e),s(!0),setTimeout(()=>s(!1),2e3)}catch(h){console.error("Failed to copy:",h)}},d=YR[n]||n.toUpperCase();return y.jsxs("div",{className:"relative group rounded-lg overflow-hidden border border-dark-border my-2",children:[y.jsxs("div",{className:"flex items-center justify-between px-3 py-1.5 bg-dark-surface border-b border-dark-border",children:[y.jsx("span",{className:"text-xs text-dark-muted font-mono",children:d}),y.jsx("button",{onClick:u,className:"flex items-center gap-1 text-xs px-2 py-1 rounded hover:bg-dark-hover transition-colors",children:a?y.jsxs(y.Fragment,{children:[y.jsx(P3,{size:12,className:"text-accent-green"}),y.jsx("span",{className:"text-accent-green",children:t("common.copied")})]}):y.jsxs(y.Fragment,{children:[y.jsx(I3,{size:12}),y.jsx("span",{children:t("common.copy")})]})})]}),o?y.jsx("div",{className:"codeblock-shiki text-sm [&_pre]:bg-dark-bg [&_pre]:p-3 [&_pre]:overflow-x-auto custom-scrollbar",dangerouslySetInnerHTML:{__html:o}}):y.jsx("pre",{className:"bg-dark-bg p-3 overflow-x-auto custom-scrollbar text-sm",children:y.jsx("code",{children:e})})]})}const Q5=80;function nD({path:n,title:e}){const{t}=kt(),a=n.split(/[\\/]/).pop()||n;return y.jsxs("button",{type:"button",className:"inline-flex items-center gap-2 mx-0.5 my-1 rounded-lg border border-dark-border bg-dark-surface px-2.5 py-1.5 text-left align-middle transition-colors hover:border-accent-blue/40 hover:bg-dark-hover",title:n,onClick:()=>C7(n),children:[y.jsx("span",{className:"grid w-6 h-6 shrink-0 place-items-center rounded-md bg-accent-blue/10 text-accent-blue",children:y.jsx(Jo,{size:13})}),y.jsxs("span",{className:"min-w-0 flex flex-col leading-tight",children:[y.jsx("b",{className:"text-xs font-semibold text-dark-text truncate max-w-[14rem]",children:e||a}),e&&e!==a&&y.jsx("span",{className:"text-[10px] font-mono text-dark-muted truncate max-w-[14rem]",children:a})]}),y.jsx("span",{className:"ml-1 shrink-0 text-[11px] font-medium text-accent-blue",children:t("commonUi.openFile")})]})}function J5(n){return typeof n=="string"&&n.startsWith("artifact:")}function aD(n){const e=n.slice(9);try{return decodeURIComponent(e)}catch{return e}}function e3(n){return typeof n=="string"&&n.startsWith("dscfile:")}function rD(n){const e=n.slice(8);try{return decodeURIComponent(e)}catch{return e}}function sD(n){return n.replace(/%/g,"%25")}const iD=/((?:[A-Za-z]:[\\/])?[\w@.()[\]{}$%-]+(?:[\\/][\w@.()[\]{}$%-]+)+)/;function oD(n){if(n.length<3||n.length>400||/^[a-z][a-z0-9+.-]*:\/\//i.test(n)||/^www\./i.test(n)||/^\/\//.test(n))return!1;const e=n.split(/[\\/]/);if(e.length>=2&&e.every(s=>/^\d+$/.test(s)))return!1;const t=(e[e.length-1]||"").replace(/[.,;:!?)\]}]+$/g,"");return t?/^(?:[A-Za-z]:|~|\.{1,2})[\\/]/.test(n)||/\.[A-Za-z0-9]{1,12}$/.test(t):!1}function lD(n){const e=n.match(/^(.*?)([.,;:!?)\]}]+)$/);if(!e)return{path:n,tail:""};const t=e[1]??"",a=e[2]??"";if(a==="."){const s=t.split(/[\\/]/).pop()||"";if(!/\.[A-Za-z0-9]{1,12}$/.test(s))return{path:n,tail:""}}return{path:t,tail:a}}function cD({path:n}){return y.jsxs("button",{type:"button",onClick:()=>C7(n),title:n,className:"inline-flex max-w-full items-center gap-1 align-baseline rounded px-1 font-mono text-[0.9em] text-accent-blue underline decoration-accent-blue/40 underline-offset-2 hover:bg-accent-blue/10 hover:decoration-accent-blue transition-colors cursor-pointer",children:[y.jsx(Jo,{size:10,className:"shrink-0"}),y.jsx("span",{className:"break-all",children:n})]})}function uD(){const n=new Set(["code","inlineCode","html","link","linkReference","image","imageReference"]);function e(a){const s=a.split(iD);if(s.length<=1)return[{type:"text",value:a}];const o=[];return s.forEach((l,u)=>{if(u%2===1){const{path:d,tail:h}=lD(l);if(d&&oD(d)){o.push({type:"link",url:`dscfile:${sD(d)}`,title:null,children:[{type:"text",value:d}]}),h&&o.push({type:"text",value:h});return}}o.push({type:"text",value:l})}),o}function t(a){if(!a||typeof a!="object"||n.has(a.type))return;const s=a.children;if(!Array.isArray(s))return;const o=[];for(const l of s)l&&l.type==="text"&&typeof l.value=="string"?o.push(...e(l.value)):(t(l),o.push(l));a.children=o}return function(s){t(s)}}const dD=[uD,yT],fD=[YT];function hD({content:n,className:e=""}){const[t,a]=D.useState(n),s=D.useRef(0),o=D.useRef(null),l=D.useRef(n);l.current=n,D.useEffect(()=>{if(n===t)return;const d=Date.now(),h=d-s.current;h>=Q5?(a(n),s.current=d):o.current||(o.current=setTimeout(()=>{o.current=null,a(l.current),s.current=Date.now()},Q5-h))},[n]),D.useEffect(()=>()=>{o.current&&clearTimeout(o.current)},[]);const u=(t||"").replace(/\\n/g,`
|
|
441
|
-
`).replace(/\n{3,}/g,`
|
|
442
|
-
|
|
443
|
-
`);return y.jsx("div",{className:`markdown-content ${e}`,style:{wordBreak:"break-word"},children:y.jsx(ck,{remarkPlugins:dD,rehypePlugins:fD,urlTransform:d=>J5(d)||e3(d)?d:uk(d),components:{code({className:d,children:h,...m}){const p=/language-(\w+)/.exec(d||""),b=String(h).replace(/\n$/,"");return p&&p[1]?y.jsx(tD,{language:p[1],code:b}):y.jsx("code",{className:"bg-dark-hover px-1.5 py-0.5 rounded text-sm font-mono text-accent-blue",...m,children:h})},a({href:d,children:h}){if(J5(d)){const m=Array.isArray(h)?h.join(""):String(h??"");return y.jsx(nD,{path:aD(d),title:m})}return e3(d)?y.jsx(cD,{path:rD(d)}):y.jsx("a",{href:d,target:"_blank",rel:"noopener noreferrer",className:"text-accent-blue hover:underline",children:h})},table({children:d}){return y.jsx("div",{className:"overflow-x-auto custom-scrollbar my-2",children:y.jsx("table",{className:"w-full border-collapse border border-dark-border",children:d})})},th({children:d}){return y.jsx("th",{className:"border border-dark-border px-3 py-2 text-left bg-dark-hover font-medium",children:d})},td({children:d}){return y.jsx("td",{className:"border border-dark-border px-3 py-2",children:d})},p({children:d}){return y.jsx("p",{className:"mb-0.5 leading-snug last:mb-0",children:d})},blockquote({children:d}){return y.jsx("blockquote",{className:"border-l-4 border-accent-blue pl-3 my-1 text-dark-muted italic",children:d})},h1({children:d}){return y.jsx("h1",{className:"text-2xl font-bold mt-3 mb-1 text-dark-text border-b border-dark-border pb-1",children:d})},h2({children:d}){return y.jsx("h2",{className:"text-xl font-semibold mt-3 mb-1 text-dark-text border-b border-dark-border pb-1",children:d})},h3({children:d}){return y.jsx("h3",{className:"text-lg font-semibold mt-2 mb-1 text-dark-text",children:d})}},children:u})})}const mD="dsc:host-ready",pD="dsc:host-context",gD="dsc:plugin-ready",T7=D.memo(function({contribution:e,hostContext:t}){const a=D.useRef(null),s=D.useRef(JSON.stringify(t??{})),o=D.useCallback(()=>{const l=a.current,u=l==null?void 0:l.getAttribute("src");if(!(!(l!=null&&l.contentWindow)||!u))try{l.contentWindow.postMessage({__dsc:!0,type:pD,context:t??{}},new URL(u,window.location.origin).origin)}catch{}},[t]);return D.useEffect(()=>{const l=u=>{const d=a.current;if(!d)return;const h=d.getAttribute("src")??"";let m;try{m=new URL(h,window.location.origin).origin}catch{return}if(u.origin!==m)return;const p=u.data;!p||p.__dsc!==!0||p.type===gD&&o()};return window.addEventListener("message",l),()=>window.removeEventListener("message",l)},[o]),D.useEffect(()=>{const l=JSON.stringify(t??{});l!==s.current&&(s.current=l,o())},[t,o]),y.jsx("div",{className:"flex-1 min-h-0 w-full bg-dark-bg","data-plugin-tab":e.pluginId,children:y.jsx("iframe",{ref:a,title:e.title,src:e.url,className:"w-full h-full border-0",sandbox:"allow-scripts allow-same-origin","data-plugin-ready":mD})})}),yD=Object.freeze(Object.defineProperty({__proto__:null,PluginTabContainer:T7},Symbol.toStringTag,{value:"Module"})),hp=An()(oi(n=>({hidden:{},pinned:{},hide:e=>n(t=>({hidden:{...t.hidden,[e]:!0}})),show:e=>n(t=>{const a={...t.hidden};return delete a[e],{hidden:a}}),togglePin:e=>n(t=>{const a=!t.pinned[e],s={...t.hidden};return a&&delete s[e],{pinned:{...t.pinned,[e]:a},hidden:s}}),reset:()=>n({hidden:{},pinned:{}})}),{name:"deepseekcode-widget-store",storage:Zg({key:"widgetStore",trims:[]}),partialize:n=>({hidden:n.hidden,pinned:n.pinned})})),iu=D.memo(function({id:e,title:t,icon:a,action:s,children:o,defaultOpen:l=!0}){const{t:u}=kt(),d=hp(x=>x.pinned[e]),h=hp(x=>x.togglePin),m=hp(x=>x.hide),[p,b]=D.useState(l);return y.jsxs("div",{className:"rounded-lg border border-dark-border bg-dark-surface overflow-hidden",children:[y.jsxs("div",{className:"flex items-center gap-0.5 px-2 py-1.5",children:[y.jsxs("button",{type:"button",onClick:()=>b(x=>!x),className:"flex-1 min-w-0 flex items-center gap-1.5 text-left transition-colors","aria-expanded":p,title:u(p?"widgets.card.collapse":"widgets.card.expand"),children:[y.jsx(ti,{size:11,className:Wt("text-dark-muted shrink-0 transition-transform duration-200",!p&&"-rotate-90")}),a,y.jsx("span",{className:"text-[11px] font-semibold text-dark-text truncate",children:t}),!d&&y.jsx("span",{className:"text-[8px] text-dark-muted/50 border border-dark-border rounded px-1 py-px shrink-0",children:u("widgets.card.auto")})]}),s,y.jsx("button",{type:"button",onClick:()=>h(e),className:Wt("p-1 rounded transition-colors shrink-0",d?"text-accent-blue":"text-dark-muted/40 hover:text-dark-muted hover:bg-dark-hover"),title:u(d?"widgets.card.unpin":"widgets.card.pinKeep"),"aria-label":u(d?"widgets.card.unpin":"widgets.card.pin"),children:d?y.jsx(Mp,{size:11}):y.jsx(fk,{size:11})}),y.jsx("button",{type:"button",onClick:()=>m(e),className:"p-1 rounded text-dark-muted/40 hover:text-dark-muted hover:bg-dark-hover transition-colors shrink-0",title:u("widgets.card.close"),"aria-label":u("widgets.card.close"),children:y.jsx(xr,{size:11})})]}),p&&y.jsx("div",{className:"px-2.5 pb-2.5",children:o})]})}),vD=D.memo(function({sessionId:e}){const{t}=kt(),a=xt(l=>e?l.getPlanForSession(e):void 0);if(!a||!a.confirm)return null;const s=a.nodes??[],o=l=>{xt.getState().clearPlan(e),Re.send({type:"workflow_confirm",sessionId:e,data:JSON.stringify({planId:a.planId,action:l})})};return y.jsx(iu,{id:"plan-card",title:t("widgets.plan.title"),icon:y.jsx($3,{size:13,className:"text-accent-purple shrink-0"}),children:y.jsxs("div",{className:"space-y-2",children:[y.jsxs("div",{className:"flex items-center gap-1.5 text-[11px] text-dark-text",children:[y.jsx(Ga,{size:11,className:"animate-spin text-accent-blue shrink-0"}),y.jsx("span",{className:"truncate flex-1",children:a.title||t("widgets.plan.fallbackTitle")}),y.jsx("span",{className:"text-[10px] text-dark-muted tabular-nums shrink-0",children:t("widgets.plan.stepCount",{count:s.length})})]}),s.length>0&&y.jsxs("ol",{className:"space-y-0.5",children:[s.slice(0,8).map((l,u)=>y.jsxs("li",{className:"flex items-start gap-1.5 text-[11px] text-dark-muted",children:[y.jsx("span",{className:"w-4 h-4 rounded-full grid place-items-center bg-dark-border/60 text-dark-muted text-[9px] font-semibold shrink-0 mt-0.5",children:u+1}),y.jsx("span",{className:"min-w-0 flex-1 leading-snug break-words",children:l.title})]},l.id)),s.length>8&&y.jsx("li",{className:"text-[10px] text-dark-muted/60 pl-6",children:t("widgets.plan.moreSteps",{count:s.length-8})})]}),y.jsxs("div",{className:"flex items-center gap-1.5 pt-1 border-t border-dark-border/60",children:[y.jsxs("button",{type:"button",onClick:()=>o("start"),className:"flex-1 flex items-center justify-center gap-1 px-2 py-1 rounded border border-accent-blue/40 bg-accent-blue/10 text-[10px] text-accent-blue hover:bg-accent-blue/20 transition-colors",children:[y.jsx(z3,{size:10})," ",t("widgets.plan.start")]}),y.jsxs("button",{type:"button",onClick:()=>o("change"),className:"flex-1 flex items-center justify-center gap-1 px-2 py-1 rounded border border-dark-border text-[10px] text-dark-text hover:bg-dark-hover transition-colors",title:t("widgets.plan.changeHint"),children:[y.jsx(B0,{size:10})," ",t("widgets.plan.change")]}),y.jsxs("button",{type:"button",onClick:()=>o("cancel"),className:"flex items-center justify-center gap-1 px-2 py-1 rounded border border-dark-border text-[10px] text-dark-text hover:bg-dark-hover transition-colors",title:t("widgets.plan.cancelTitle"),children:[y.jsx(xr,{size:10})," ",t("widgets.plan.cancel")]})]})]})})}),bD=["RUNNING","RESUMING"];function xD(n){switch(n){case"running":return y.jsx(Ga,{size:12,className:"animate-spin text-accent-blue shrink-0"});case"completed":return y.jsx(P0,{size:12,className:"text-accent-green shrink-0"});case"failed":return y.jsx(j0,{size:12,className:"text-accent-red shrink-0"});case"skipped":return y.jsx(mk,{size:12,className:"text-dark-muted shrink-0"});case"blocked":return y.jsx(H3,{size:12,className:"text-dark-muted shrink-0"});default:return y.jsx(Vg,{size:12,className:"text-dark-muted/70 shrink-0"})}}function wD(n,e){switch(n){case"running":return e("widgets.workflow.statusRunning");case"completed":return e("widgets.workflow.statusCompleted");case"failed":return e("widgets.workflow.statusFailed");case"skipped":return e("widgets.workflow.statusSkipped");case"blocked":return e("widgets.workflow.statusBlocked");default:return e("widgets.workflow.statusPending")}}const kD=D.memo(function({sessionId:e}){const{t}=kt(),a=xt(p=>e?p.getForSession(e):void 0),s=a==null?void 0:a.nodes;if(!s||s.length===0)return null;const o=s.length,l=s.filter(p=>p.status==="completed"||p.status==="skipped"||p.status==="failed").length,u=s.filter(p=>p.status==="running").length,d=s.filter(p=>p.status==="failed").length,h=Math.round(l/o*100),m=bD.includes(String(a==null?void 0:a.status));return y.jsx(iu,{id:"workflow-strip",title:(a==null?void 0:a.title)||t("widgets.workflow.fallbackTitle"),icon:y.jsx($3,{size:13,className:"text-accent-blue shrink-0"}),action:y.jsxs("span",{className:"text-[10px] text-dark-muted tabular-nums shrink-0 px-1",children:[l,"/",o]}),children:y.jsxs("div",{className:"space-y-2",children:[y.jsxs("div",{className:"flex items-center gap-2",children:[y.jsx("div",{className:"flex-1 h-1.5 bg-dark-surface rounded-full overflow-hidden",children:y.jsx("div",{className:Wt("h-full rounded-full transition-all duration-500",d>0?"bg-accent-red":u>0?"bg-accent-blue":"bg-accent-green"),style:{width:`${h}%`}})}),y.jsxs("span",{className:"text-[10px] text-dark-muted tabular-nums shrink-0",children:[h,"%"]})]}),y.jsx("ul",{className:"space-y-0.5",children:s.map(p=>y.jsxs("li",{className:"flex items-start gap-1.5 py-0.5",children:[y.jsx("span",{className:"mt-0.5 shrink-0",children:xD(p.status)}),y.jsxs("span",{className:Wt("min-w-0 flex-1 text-[11px] leading-snug break-words",p.status==="completed"&&"text-dark-muted/70",p.status==="failed"&&"text-accent-red/90",p.status==="running"&&"text-dark-text font-medium",(p.status==="pending"||p.status==="ready")&&"text-dark-muted"),title:p.error||p.title,children:[p.title,y.jsx("span",{className:"ml-1 text-[8px] text-dark-muted/50 align-middle",children:wD(p.status,t)})]})]},p.id))}),(m||(a==null?void 0:a.status)==="PAUSED")&&y.jsx("div",{className:"flex items-center gap-1.5 pt-1 border-t border-dark-border/60",children:y.jsx(SD,{sessionId:e,runId:a.runId,status:String(a==null?void 0:a.status)})})]})})});function SD({sessionId:n,runId:e,status:t}){const{t:a}=kt(),s=t==="PAUSED";return y.jsxs(y.Fragment,{children:[y.jsxs("button",{type:"button",onClick:()=>Re.send(s?{type:"workflow_resume",sessionId:n,runId:e}:{type:"workflow_pause",sessionId:n,runId:e}),className:"flex items-center gap-1 px-2 py-0.5 rounded border border-dark-border text-[10px] text-dark-text hover:bg-dark-hover transition-colors",children:[s?y.jsx(z3,{size:10,className:"text-accent-green"}):y.jsx(H3,{size:10,className:"text-accent-blue"}),a(s?"widgets.workflow.resume":"widgets.workflow.pause")]}),y.jsxs("button",{type:"button",onClick:()=>Re.send({type:"workflow_cancel",sessionId:n,runId:e}),className:"flex items-center gap-1 px-2 py-0.5 rounded border border-dark-border text-[10px] text-dark-text hover:bg-dark-hover transition-colors",children:[y.jsx(hk,{size:9,className:"text-accent-red"}),a("widgets.workflow.cancel")]})]})}const _D=D.memo(function({sessionId:e}){const{t}=kt();return xt(s=>e?s.getTasksForSession(e).length:0)===0?null:y.jsx(iu,{id:"task-board",title:t("widgets.taskBoard.title"),icon:y.jsx(U3,{size:13,className:"text-accent-blue shrink-0"}),children:y.jsx(OO,{sessionId:e})})}),CD=D.memo(function({messages:e,onPreview:t}){const{t:a}=kt(),s=D.useMemo(()=>O7(e),[e]);return s.length===0?null:y.jsx(iu,{id:"artifacts",title:`${a("chat.sidebarArtifacts")} (${s.length})`,icon:y.jsx(F3,{size:13,className:"text-accent-blue shrink-0"}),action:y.jsx("button",{type:"button",onClick:()=>{const o=s[0];o&&t(o.path)},className:"p-1 rounded text-dark-muted hover:bg-dark-hover hover:text-dark-text transition-colors shrink-0",title:a("chat.sidebarOpenFolder"),"aria-label":a("chat.sidebarOpenFolder"),children:y.jsx(pk,{size:12})}),children:y.jsx("div",{className:"space-y-0.5",children:s.map(o=>{const l=Lg(o.path);return y.jsxs("button",{type:"button",onClick:()=>t(o.path),className:"w-full flex items-center gap-2 px-1.5 py-1.5 rounded-lg text-left transition-colors group hover:bg-dark-hover",title:o.path,children:[y.jsx("span",{className:Wt("w-1.5 h-6 rounded-full shrink-0",o.source==="filejob"?"bg-accent-green":"bg-accent-blue")}),y.jsx(RO,{kind:l,size:15}),y.jsxs("span",{className:"flex-1 min-w-0",children:[y.jsx("span",{className:"block text-xs text-dark-text truncate",children:o.name}),y.jsx("span",{className:"block text-[10px] font-mono text-dark-muted truncate",children:o.path})]}),y.jsx("span",{className:"shrink-0 text-[10.5px] font-medium text-dark-muted opacity-0 group-hover:opacity-100 transition-opacity",children:a("chat.sidebarOpen")})]},o.path)})})})}),TD=["Orchestrator","Explorer","Architect","Coder","Tester","Reviewer","Debug","Documenter","Evaluator"];function AD(n){return n==="running"||n==="scheduled"?y.jsx(Ga,{size:11,className:"animate-spin text-accent-blue shrink-0"}):n==="completed"?y.jsx(P0,{size:11,className:"text-accent-green shrink-0"}):n==="failed"?y.jsx(j0,{size:11,className:"text-accent-red shrink-0"}):y.jsx(Vg,{size:11,className:"text-dark-muted shrink-0"})}const ED=(n,e)=>e(n==="running"||n==="scheduled"?"widgets.agentFlow.statusRunning":n==="completed"?"widgets.agentFlow.statusCompleted":n==="failed"?"widgets.agentFlow.statusFailed":"widgets.agentFlow.statusIdle"),t3=n=>n.toLowerCase(),ND=D.memo(function({sessionId:e}){const{t}=kt(),a=xt(h=>e?h.getAgentsForSession(e):[]),s=xt(h=>e?h.getEventsForSession(e).filter(m=>m.source==="agent"||m.source==="plan").slice(0,30):[]),[o,l]=D.useState(!1),u=D.useMemo(()=>{if(a.length===0)return[];const h=new Map(a.map(b=>[t3(b.name),b])),m=TD.map(b=>h.get(t3(b))).filter(Boolean),p=a.filter(b=>!m.some(x=>x.id===b.id));return[...m,...p]},[a]),d=u.filter(h=>h.status==="running"||h.status==="scheduled").length;return u.length===0?null:y.jsx(iu,{id:"agent-flow",title:"Agent",icon:y.jsx(gk,{size:13,className:"text-accent-purple shrink-0"}),action:d>0?y.jsx("span",{className:"w-1.5 h-1.5 bg-accent-blue rounded-full animate-pulse shrink-0"}):void 0,children:y.jsxs("div",{className:"space-y-1",children:[u.slice(0,8).map(h=>y.jsxs("div",{className:"flex items-center gap-1.5 py-0.5",children:[AD(h.status),y.jsxs("span",{className:Wt("min-w-0 flex-1 text-[11px] leading-snug break-words",h.status==="running"||h.status==="scheduled"?"text-dark-text":"text-dark-muted"),children:[h.name,h.currentTask&&y.jsxs("span",{className:"text-dark-muted/70",children:[" · ",h.currentTask]})]}),y.jsx("span",{className:"text-[8px] text-dark-muted/50 shrink-0",children:ED(h.status,t)})]},h.id)),u.length>8&&y.jsx("div",{className:"text-[10px] text-dark-muted text-center pt-0.5",children:t("widgets.agentFlow.moreAgents",{count:u.length-8})}),s.length>0&&y.jsxs(y.Fragment,{children:[y.jsxs("button",{type:"button",onClick:()=>l(h=>!h),className:"w-full flex items-center gap-1 pt-1 text-[10px] text-dark-muted hover:text-dark-text transition-colors",children:[y.jsx(ti,{size:10,className:Wt("transition-transform",o&&"rotate-180")}),t("widgets.agentFlow.eventLog",{count:s.length})]}),o&&y.jsx("div",{className:"space-y-1 pt-1 max-h-32 overflow-y-auto custom-scrollbar",children:s.map(h=>y.jsxs("div",{className:"px-1.5 py-1 rounded border border-dark-border bg-dark-surface text-[9px] text-dark-muted",children:[y.jsx("span",{className:"font-medium text-dark-text",children:h.title||h.type}),h.message&&y.jsx("span",{className:"block text-dark-muted/80 truncate",children:h.message})]},h.id))})]})]})})});function MD({sessionId:n}){const[e,t]=D.useState([]);return D.useEffect(()=>{let a=!1;return X.get("/api/plugins/ui").then(s=>{var o;a||t((((o=s==null?void 0:s.data)==null?void 0:o.ui)??[]).filter(l=>l.mount==="inline"))}).catch(()=>{}),()=>{a=!0}},[]),e.length===0?null:y.jsx(y.Fragment,{children:e.map(a=>y.jsx("div",{className:"rounded-xl border border-dark-border bg-dark-surface overflow-hidden",style:{height:220},"data-plugin-inline":a.pluginId,children:y.jsx(T7,{contribution:a,hostContext:{sessionId:n,wsUrl:Jg()}})},a.id))})}const RD=D.memo(function({sessionId:e,messages:t,onPreview:a}){return y.jsx("div",{className:"flex-1 overflow-y-auto min-h-0 custom-scrollbar",children:y.jsxs("div",{className:"p-2 space-y-2",children:[y.jsx(vD,{sessionId:e}),y.jsx(kD,{sessionId:e}),y.jsx(ND,{sessionId:e}),y.jsx(_D,{sessionId:e}),y.jsx(CD,{messages:t,onPreview:a}),y.jsx(MD,{sessionId:e})]})})});function n3(n,e){var t,a,s;return{artifactMatch:!!((t=e.artifact)!=null&&t.kind&&((a=n.artifactKinds)!=null&&a.includes(e.artifact.kind))),capabilityMatch:!!((s=e.requiredCapabilities)!=null&&s.includes(n.capability)),priority:n.priority??0}}function DD(n,e){return n.artifactMatch!==e.artifactMatch?n.artifactMatch?1:-1:n.capabilityMatch!==e.capabilityMatch?n.capabilityMatch?1:-1:n.priority-e.priority}function OD(n,e){const t=n.filter(o=>o.slots.includes(e.slotId));if(t.length===0)return;if(e.preferredComponentId){const o=t.find(l=>l.id===e.preferredComponentId);if(o)return o}let a=t[0],s=n3(a,e);for(let o=1;o<t.length;o+=1){const l=n3(t[o],e);DD(l,s)>0&&(a=t[o],s=l)}return a}const mp=/^[a-z][a-z0-9._-]*$/;class Oi extends Error{}class LD{constructor(){W(this,"defs",new Map);W(this,"listeners",new Set);W(this,"versionCounter",0)}getVersion(){return this.versionCounter}onChange(e){return this.listeners.add(e),()=>this.listeners.delete(e)}register(e){return this.assertValid(e),this.defs.set(e.id,e),this.notify(),()=>this.unregister(e.id)}unregister(e){const t=this.defs.delete(e);return t&&this.notify(),t}get(e){return this.defs.get(e)}has(e){return this.defs.has(e)}list(){return[...this.defs.values()].sort((t,a)=>(a.priority??0)-(t.priority??0))}listForSlot(e){return this.list().filter(t=>t.slots.includes(e))}resolve(e){return OD(this.list(),e)}capabilities(){return[...new Set(this.list().map(e=>e.capability))]}clear(){this.defs.size!==0&&(this.defs.clear(),this.notify())}get size(){return this.defs.size}notify(){this.versionCounter+=1;for(const e of[...this.listeners])try{e()}catch(t){console.error("[workspace] registry listener error:",t)}}assertValid(e){var t;if(!e||typeof e!="object")throw new Oi("[workspace] component def must be an object");if(!mp.test(e.id))throw new Oi(`[workspace] invalid component id: ${JSON.stringify(e.id)} (expected ${mp})`);if(this.defs.has(e.id))throw new Oi(`[workspace] duplicate component id: "${e.id}"`);if(!mp.test(e.capability))throw new Oi(`[workspace] invalid capability id: ${JSON.stringify(e.capability)}`);if(!Array.isArray(e.slots)||e.slots.length===0||e.slots.some(a=>typeof a!="string"||a.length===0))throw new Oi(`[workspace] component "${e.id}" must declare at least one non-empty slot`);if(typeof e.component!="function"&&typeof((t=e.component)==null?void 0:t.render)!="function")throw new Oi(`[workspace] component "${e.id}" has no renderable component`);if(e.priority!==void 0&&(typeof e.priority!="number"||!Number.isFinite(e.priority)))throw new Oi(`[workspace] component "${e.id}" priority must be a finite number`)}}const A1=new LD,a3=32;function pp(n){if(typeof n!="object"||n===null)return!1;const e=n;return e.type==="slot"||e.type==="split"||e.type==="stack"}function A7(n,e=0){if(!pp(n))return["layout root must be a slot/split/stack node"];const t=[],a=(s,o,l)=>{if(l>a3){t.push(`${o}: exceeds max nesting depth ${a3}`);return}switch(s.type){case"slot":{(typeof s.id!="string"||s.id.length===0)&&t.push(`${o}: slot requires a non-empty id`);break}case"split":{s.direction!=="horizontal"&&s.direction!=="vertical"&&t.push(`${o}: split requires direction "horizontal"|"vertical"`),!Array.isArray(s.children)||s.children.length<2?t.push(`${o}: split requires at least 2 children`):s.sizes!==void 0&&(!Array.isArray(s.sizes)||s.sizes.length!==s.children.length?t.push(`${o}: split sizes must match children count`):s.sizes.some(u=>typeof u!="number"||!Number.isFinite(u)||u<=0)&&t.push(`${o}: split sizes must be positive finite numbers`)),Array.isArray(s.children)&&s.children.forEach((u,d)=>{pp(u)?a(u,`${o}.children[${d}]`,l+1):t.push(`${o}.children[${d}]: invalid node`)});break}case"stack":{!Array.isArray(s.children)||s.children.length<1?t.push(`${o}: stack requires at least 1 child`):s.children.forEach((u,d)=>{pp(u)?a(u,`${o}.children[${d}]`,l+1):t.push(`${o}.children[${d}]: invalid node`)});break}}};return a(n,"$",e),t}class BD{constructor(e={}){W(this,"listeners",new Map);W(this,"onError");this.onError=e.onError??((t,a)=>{console.error(`[workspace] EventBus handler error for "${String(a)}":`,t)})}on(e,t){let a=this.listeners.get(e);return a||(a=new Set,this.listeners.set(e,a)),a.add(t),()=>this.off(e,t)}once(e,t){const a=s=>{this.off(e,a),t(s)};return this.on(e,a)}off(e,t){const a=this.listeners.get(e);a&&(a.delete(t),a.size===0&&this.listeners.delete(e))}emit(e,t){const a=this.listeners.get(e);if(!(!a||a.size===0))for(const s of[...a])try{s(t)}catch(o){this.onError(o,String(e),s)}}listenerCount(e){var a;if(e!==void 0)return((a=this.listeners.get(e))==null?void 0:a.size)??0;let t=0;for(const s of this.listeners.values())t+=s.size;return t}clear(){this.listeners.clear()}}const jD=/^[a-z][a-z0-9._-]*$/;function gp(n){return typeof n=="string"&&jD.test(n)}const Fd="";let r3=0;function PD(n="cmd"){const e=typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():`${Date.now()}-${Math.random().toString(36).slice(2)}`;return r3+=1,`${n}-${r3}-${e}`}const ID=1e4;class zD{constructor(e={}){W(this,"handlers",new Map);W(this,"capabilityToCommand",new Map);W(this,"pending",new Map);W(this,"defaultTimeoutMs");W(this,"onError");this.defaultTimeoutMs=e.defaultTimeoutMs??ID,this.onError=e.onError??((t,a)=>{console.error(`[workspace] CommandBus handler error for "${a}":`,t)})}register(e,t,a={}){if(!gp(e))throw new Error(`[workspace] invalid command id: ${JSON.stringify(e)}`);const s=a.scope??Fd;if(s!==Fd&&!gp(s))throw new Error(`[workspace] invalid command scope: ${JSON.stringify(s)}`);let o=this.handlers.get(e);if(o||(o=new Map,this.handlers.set(e,o)),o.has(s))throw new Error(`[workspace] duplicate command handler: "${e}"${s?` (scope: ${s})`:""}`);if(a.capability!==void 0){if(!gp(a.capability))throw new Error(`[workspace] invalid capability id: ${JSON.stringify(a.capability)}`);if(this.capabilityToCommand.has(a.capability))throw new Error(`[workspace] duplicate capability mapping: "${a.capability}"`);this.capabilityToCommand.set(a.capability,e)}o.set(s,t);let l=!1;return()=>{if(l)return;l=!0;const u=this.handlers.get(e);u&&(u.delete(s),u.size===0&&this.handlers.delete(e)),a.capability!==void 0&&this.capabilityToCommand.delete(a.capability)}}has(e){return this.handlers.has(e)}listCommands(){return[...this.handlers.keys()]}resolveCapability(e){return this.capabilityToCommand.get(e)}capabilities(){return[...this.capabilityToCommand.entries()].map(([e,t])=>({capability:e,command:t}))}async execute(e,t,a={}){const s=a.requestId??PD(),o=this.resolveHandler(e,a.scope);if(!o)return{success:!1,requestId:s,command:e,error:`unknown command: "${e}"`,durationMs:0};const l=a.timeoutMs??this.defaultTimeoutMs,u=Date.now(),d=`command "${e}" timed out after ${l}ms`;return await new Promise(h=>{const m=setTimeout(()=>{this.pending.delete(s),h({success:!1,requestId:s,command:e,error:d,durationMs:Date.now()-u})},l);this.pending.set(s,{resolve:h,timer:m,startedAt:u,command:e}),Promise.resolve().then(()=>o(t,{requestId:s,command:e})).then(p=>{this.settle(s,{success:!0,requestId:s,command:e,result:p,durationMs:Date.now()-u})},p=>{this.onError(p,e),this.settle(s,{success:!1,requestId:s,command:e,error:p instanceof Error?p.message:String(p),durationMs:Date.now()-u})})})}handle(e){return this.execute(e.command,e.payload,{timeoutMs:e.timeoutMs,requestId:e.id,scope:e.scope})}resolveHandler(e,t){const a=this.handlers.get(e);if(a){if(t&&t!==Fd){const s=a.get(t);if(s)return s}return a.get(Fd)}}cancel(e,t="cancelled"){const a=this.pending.get(e);return a?(this.pending.delete(e),a.timer&&clearTimeout(a.timer),a.resolve({success:!1,requestId:e,command:a.command,error:t,durationMs:Date.now()-a.startedAt}),!0):!1}pendingCount(){return this.pending.size}settle(e,t){const a=this.pending.get(e);a&&(this.pending.delete(e),a.timer&&clearTimeout(a.timer),a.resolve(t))}}const $D=/^[a-zA-Z]:[\\/]/,HD=/\0/;function UD(n){if(typeof n!="string"||n.length===0||HD.test(n)||$D.test(n)||n.startsWith("/")||n.startsWith("\\"))return!1;const e=n.replace(/\\/g,"/").split("/");let t=0;for(const a of e)if(!(a===""||a==="."))if(a===".."){if(t-=1,t<0)return!1}else t+=1;return!0}function s3(n,e=""){if(!UD(n))throw new Error(`[workspace] unsafe path rejected: ${JSON.stringify(n)}`);const t=n.replace(/\\/g,"/").split("/"),a=[];for(const l of t)l===""||l==="."||(l===".."?a.pop():a.push(l));const s=a.join("/");return e?`${e.replace(/[\\/]+$/,"")}/${s}`:s}class FD{diff(e,t,a={}){let s;typeof a=="function"?(s=a,a={}):"callback"in a&&(s=a.callback);const o=this.castInput(e,a),l=this.castInput(t,a),u=this.removeEmpty(this.tokenize(o,a)),d=this.removeEmpty(this.tokenize(l,a));return this.diffWithOptionsObj(u,d,a,s)}diffWithOptionsObj(e,t,a,s){var o;const l=E=>{if(E=this.postProcess(E,a),s){setTimeout(function(){s(E)},0);return}else return E},u=t.length,d=e.length;let h=1,m=u+d;a.maxEditLength!=null&&(m=Math.min(m,a.maxEditLength));const p=(o=a.timeout)!==null&&o!==void 0?o:1/0,b=Date.now()+p,x=[{oldPos:-1,lastComponent:void 0}];let k=this.extractCommon(x[0],t,e,0,a);if(x[0].oldPos+1>=d&&k+1>=u)return l(this.buildValues(x[0].lastComponent,t,e));let _=-1/0,T=1/0;const N=()=>{for(let E=Math.max(_,-h);E<=Math.min(T,h);E+=2){let L;const B=x[E-1],j=x[E+1];B&&(x[E-1]=void 0);let q=!1;if(j){const te=j.oldPos-E;q=j&&0<=te&&te<u}const K=B&&B.oldPos+1<d;if(!q&&!K){x[E]=void 0;continue}if(!K||q&&B.oldPos<j.oldPos?L=this.addToPath(j,!0,!1,0,a):L=this.addToPath(B,!1,!0,1,a),k=this.extractCommon(L,t,e,E,a),L.oldPos+1>=d&&k+1>=u)return l(this.buildValues(L.lastComponent,t,e))||!0;x[E]=L,L.oldPos+1>=d&&(T=Math.min(T,E-1)),k+1>=u&&(_=Math.max(_,E+1))}h++};if(s)(function E(){setTimeout(function(){if(h>m||Date.now()>b)return s(void 0);N()||E()},0)})();else for(;h<=m&&Date.now()<=b;){const E=N();if(E)return E}}addToPath(e,t,a,s,o){const l=e.lastComponent;return l&&!o.oneChangePerToken&&l.added===t&&l.removed===a?{oldPos:e.oldPos+s,lastComponent:{count:l.count+1,added:t,removed:a,previousComponent:l.previousComponent}}:{oldPos:e.oldPos+s,lastComponent:{count:1,added:t,removed:a,previousComponent:l}}}extractCommon(e,t,a,s,o){const l=t.length,u=a.length;let d=e.oldPos,h=d-s,m=0;for(;h+1<l&&d+1<u&&this.equals(a[d+1],t[h+1],o);)h++,d++,m++,o.oneChangePerToken&&(e.lastComponent={count:1,previousComponent:e.lastComponent,added:!1,removed:!1});return m&&!o.oneChangePerToken&&(e.lastComponent={count:m,previousComponent:e.lastComponent,added:!1,removed:!1}),e.oldPos=d,h}equals(e,t,a){return a.comparator?a.comparator(e,t):e===t||!!a.ignoreCase&&e.toLowerCase()===t.toLowerCase()}removeEmpty(e){const t=[];for(let a=0;a<e.length;a++)e[a]&&t.push(e[a]);return t}castInput(e,t){return e}tokenize(e,t){return Array.from(e)}join(e){return e.join("")}postProcess(e,t){return e}get useLongestToken(){return!1}buildValues(e,t,a){const s=[];let o;for(;e;)s.push(e),o=e.previousComponent,delete e.previousComponent,e=o;s.reverse();const l=s.length;let u=0,d=0,h=0;for(;u<l;u++){const m=s[u];if(m.removed)m.value=this.join(a.slice(h,h+m.count)),h+=m.count;else{if(!m.added&&this.useLongestToken){let p=t.slice(d,d+m.count);p=p.map(function(b,x){const k=a[h+x];return k.length>b.length?k:b}),m.value=this.join(p)}else m.value=this.join(t.slice(d,d+m.count));d+=m.count,m.added||(h+=m.count)}}return s}}class GD extends FD{constructor(){super(...arguments),this.tokenize=VD}equals(e,t,a){return a.ignoreWhitespace?((!a.newlineIsToken||!e.includes(`
|
|
444
|
-
`))&&(e=e.trim()),(!a.newlineIsToken||!t.includes(`
|
|
445
|
-
`))&&(t=t.trim())):a.ignoreNewlineAtEof&&!a.newlineIsToken&&(e.endsWith(`
|
|
446
|
-
`)&&(e=e.slice(0,-1)),t.endsWith(`
|
|
447
|
-
`)&&(t=t.slice(0,-1))),super.equals(e,t,a)}}const qD=new GD;function Rg(n,e,t){return qD.diff(n,e,t)}function VD(n,e){e.stripTrailingCr&&(n=n.replace(/\r\n/g,`
|
|
448
|
-
`));const t=[],a=n.split(/(\n|\r\n)/);a[a.length-1]||a.pop();for(let s=0;s<a.length;s++){const o=a[s];s%2&&!e.newlineIsToken?t[t.length-1]+=o:t.push(o)}return t}function WD(n){for(let e=0;e<n.length;e++)if(n[e]<" "||n[e]>"~"||n[e]==='"'||n[e]==="\\")return!0;return!1}function Gs(n){if(!WD(n))return n;let e='"';const t=new TextEncoder().encode(n);let a=0;for(;a<t.length;){const s=t[a];s===7?e+="\\a":s===8?e+="\\b":s===9?e+="\\t":s===10?e+="\\n":s===11?e+="\\v":s===12?e+="\\f":s===13?e+="\\r":s===34?e+='\\"':s===92?e+="\\\\":s>=32&&s<=126?e+=String.fromCharCode(s):e+="\\"+s.toString(8).padStart(3,"0"),a++}return e+='"',e}const i3={includeIndex:!0,includeUnderline:!0,includeFileHeaders:!0};function KD(n,e,t,a,s,o,l){let u;u={},typeof u.context>"u"&&(u.context=4);const d=u.context;if(u.newlineIsToken)throw new Error("newlineIsToken may not be used with patch-generation functions, only with diffing functions");if(u.callback){const{callback:m}=u;Rg(t,a,Object.assign(Object.assign({},u),{callback:p=>{const b=h(p);m(b)}}))}else return h(Rg(t,a,u));function h(m){if(!m)return;m.push({value:"",lines:[]});function p(E){return E.map(function(L){return" "+L})}const b=[];let x=0,k=0,_=[],T=1,N=1;for(let E=0;E<m.length;E++){const L=m[E],B=L.lines||YD(L.value);if(L.lines=B,L.added||L.removed){if(!x){const j=m[E-1];x=T,k=N,j&&(_=d>0?p(j.lines.slice(-d)):[],x-=_.length,k-=_.length)}for(const j of B)_.push((L.added?"+":"-")+j);L.added?N+=B.length:T+=B.length}else{if(x)if(B.length<=d*2&&E<m.length-2)for(const j of p(B))_.push(j);else{const j=Math.min(B.length,d);for(const K of p(B.slice(0,j)))_.push(K);const q={oldStart:x,oldLines:T-x+j,newStart:k,newLines:N-k+j,lines:_};b.push(q),x=0,k=0,_=[]}T+=B.length,N+=B.length}}for(const E of b)for(let L=0;L<E.lines.length;L++)E.lines[L].endsWith(`
|
|
449
|
-
`)?E.lines[L]=E.lines[L].slice(0,-1):(E.lines.splice(L+1,0,"\"),L++);return{oldFileName:n,newFileName:e,oldHeader:s,newHeader:o,hunks:b}}}function E7(n,e){var t,a,s,o,l,u;if(e||(e=i3),Array.isArray(n)){if(n.length>1&&!e.includeFileHeaders&&!n.every(m=>m.isGit))throw new Error("Cannot omit file headers on a multi-file patch. (The result would be unparseable; how would a tool trying to apply the patch know which changes are to which file?)");return n.map(m=>E7(m,e)).join(`
|
|
450
|
-
`)}const d=[];if(n.isGit){if(e=i3,!n.oldFileName)throw new Error("oldFileName must be specified for Git patches");if(!n.newFileName)throw new Error("newFileName must be specified for Git patches");let m=n.oldFileName,p=n.newFileName;n.isCreate&&m==="/dev/null"?m=p.replace(/^b\//,"a/"):n.isDelete&&p==="/dev/null"&&(p=m.replace(/^a\//,"b/")),d.push("diff --git "+Gs(m)+" "+Gs(p)),n.isDelete&&d.push("deleted file mode "+((t=n.oldMode)!==null&&t!==void 0?t:"100644")),n.isCreate&&d.push("new file mode "+((a=n.newMode)!==null&&a!==void 0?a:"100644")),n.oldMode&&n.newMode&&!n.isDelete&&!n.isCreate&&(d.push("old mode "+n.oldMode),d.push("new mode "+n.newMode)),n.isRename&&(d.push("rename from "+Gs(((s=n.oldFileName)!==null&&s!==void 0?s:"").replace(/^a\//,""))),d.push("rename to "+Gs(((o=n.newFileName)!==null&&o!==void 0?o:"").replace(/^b\//,"")))),n.isCopy&&(d.push("copy from "+Gs(((l=n.oldFileName)!==null&&l!==void 0?l:"").replace(/^a\//,""))),d.push("copy to "+Gs(((u=n.newFileName)!==null&&u!==void 0?u:"").replace(/^b\//,""))))}else e.includeIndex&&n.oldFileName==n.newFileName&&n.oldFileName!==void 0&&d.push("Index: "+n.oldFileName),e.includeUnderline&&d.push("===================================================================");const h=n.hunks.length>0;e.includeFileHeaders&&n.oldFileName!==void 0&&n.newFileName!==void 0&&(!n.isGit||h)&&(d.push("--- "+Gs(n.oldFileName)+(n.oldHeader?" "+n.oldHeader:"")),d.push("+++ "+Gs(n.newFileName)+(n.newHeader?" "+n.newHeader:"")));for(let m=0;m<n.hunks.length;m++){const p=n.hunks[m],b=p.oldLines===0?p.oldStart-1:p.oldStart,x=p.newLines===0?p.newStart-1:p.newStart;d.push("@@ -"+b+","+p.oldLines+" +"+x+","+p.newLines+" @@");for(const k of p.lines)d.push(k)}return d.join(`
|
|
451
|
-
`)+`
|
|
452
|
-
`}function yp(n,e,t,a,s,o,l){{const u=KD(n,e,t,a,s,o);return u?E7(u,void 0):void 0}}function YD(n){const e=n.endsWith(`
|
|
453
|
-
`),t=n.split(`
|
|
454
|
-
`).map(a=>a+`
|
|
455
|
-
`);return e?t.pop():t.push(t.pop().slice(0,-1)),t}function ZD(n,e){const t=n?new Map(n.files.map(u=>[u.path,u.content])):new Map,a=new Map(e.files.map(u=>[u.path,u.content])),o=[...new Set([...t.keys(),...a.keys()])].sort().map(u=>{const d=t.get(u)??"",h=a.get(u)??"",m=t.has(u),p=a.has(u);if(!m&&p){const _=h.length===0?0:(h.match(/\n/g)??[]).length;return{path:u,change:"added",addedLines:_,removedLines:0,patch:yp(u,u,"",h)}}if(m&&!p){const _=d.length===0?0:(d.match(/\n/g)??[]).length;return{path:u,change:"removed",addedLines:0,removedLines:_,patch:yp(u,u,d,"")}}if(d===h)return{path:u,change:"unchanged",addedLines:0,removedLines:0};const b=Rg(d,h);let x=0,k=0;for(const _ of b){const T=(_.value.match(/\n/g)??[]).length;_.added?x+=T:_.removed&&(k+=T)}return{path:u,change:"modified",addedLines:x,removedLines:k,patch:yp(u,u,d,h)}}),l=o.filter(u=>u.change!=="unchanged");return{fromId:(n==null?void 0:n.id)??null,toId:e.id,files:o,totalAdded:l.reduce((u,d)=>u+d.addedLines,0),totalRemoved:l.reduce((u,d)=>u+d.removedLines,0),changedFileCount:l.length}}const N7=D.createContext(null);function E1(){const n=D.useContext(N7);if(!n)throw new Error("[workspace] useArtifactContext must be used inside <ArtifactProvider>");return n}let o3=0;function XD(){return o3+=1,`v${o3}-${Date.now().toString(36)}`}function QD({children:n,initial:e,versionStore:t}){const[a,s]=D.useState((e==null?void 0:e.artifactId)??null),[o,l]=D.useState((e==null?void 0:e.kind)??"unknown"),[u,d]=D.useState((e==null?void 0:e.files)??{}),[h,m]=D.useState((e==null?void 0:e.versions)??[]),[p,b]=D.useState((e==null?void 0:e.previewUrl)??null),x=D.useCallback((L,B)=>{const j=s3(L);d(q=>({...q,[j]:B}))},[]),k=D.useCallback(L=>{const B=s3(L);d(j=>{if(!(B in j))return j;const q={...j};return delete q[B],q})},[]),_=D.useCallback(L=>{if(Object.keys(u).length===0)return null;const B={id:XD(),createdAt:Date.now(),files:Object.entries(u).map(([j,q])=>({path:j,content:q})),message:L};return m(j=>[...j,B]),t&&a&&t.persistVersion(a,B).then(j=>{j.ok||console.warn("[workspace] failed to persist version snapshot",j.error)}),B},[u,a,t]),T=D.useCallback(L=>{const B=h.find(j=>j.id===L);return B?(d(Object.fromEntries(B.files.map(j=>[j.path,j.content]))),!0):!1},[h]),N=D.useCallback((L,B)=>{const j=h.find(K=>K.id===B);if(!j)return null;const q=L===null?null:h.find(K=>K.id===L)??null;return ZD(q,j)},[h]),E=D.useMemo(()=>({artifactId:a,kind:o,files:u,versions:h,previewUrl:p,setArtifactId:s,setKind:l,saveFile:x,deleteFile:k,addVersion:_,restoreVersion:T,diffVersions:N,setPreviewUrl:b}),[a,o,u,h,p,x,k,_,T,N]);return y.jsx(N7.Provider,{value:E,children:n})}const zo=An()(n=>({layout:null,device:"desktop",activeSlot:null,setLayout:e=>n({layout:e}),setDevice:e=>n({device:e}),setActiveSlot:e=>n({activeSlot:e})})),M7=D.createContext(null);function JD(){const n=D.useContext(M7);if(!n)throw new Error("[workspace] useViewContext must be used inside <ViewProvider>");return n}function eO({children:n,layout:e,syncOnMount:t=!0}){const a=zo(m=>m.layout),s=zo(m=>m.device),o=zo(m=>m.activeSlot),l=zo(m=>m.setLayout),u=zo(m=>m.setDevice),d=zo(m=>m.setActiveSlot);D.useEffect(()=>{t&&e!==void 0&&e!==a&&l(e)},[]);const h=D.useMemo(()=>({layout:e??a,device:s,activeSlot:o,setLayout:l,setDevice:u,setActiveSlot:d}),[e,a,s,o,l,u,d]);return y.jsx(M7.Provider,{value:h,children:n})}const R7=D.createContext(null);function tO(){const n=D.useContext(R7);if(!n)throw new Error("[workspace] useSessionContext must be used inside <SessionProvider>");return n}function nO({children:n,initial:e}){const[t,a]=D.useState((e==null?void 0:e.conversationId)??null),[s,o]=D.useState((e==null?void 0:e.task)??""),[l,u]=D.useState((e==null?void 0:e.toolCalls)??[]),d=D.useCallback(p=>{u(b=>[...b,p])},[]),h=D.useCallback((p,b)=>{u(x=>x.map(k=>k.id===p?{...k,...b}:k))},[]),m=D.useMemo(()=>({conversationId:t,task:s,toolCalls:l,setConversationId:a,setTask:o,appendToolCall:d,updateToolCall:h}),[t,s,l,d,h]);return y.jsx(R7.Provider,{value:m,children:n})}class aO{constructor(){W(this,"providers",new Map)}register(e,t,a){if(this.providers.has(e))throw new Error(`[workspace] duplicate context provider: "${e}"`);return this.providers.set(e,{provider:t,value:a}),()=>this.unregister(e)}unregister(e){return this.providers.delete(e)}get(e){var t;return(t=this.providers.get(e))==null?void 0:t.provider}valueOf(e){var t;return(t=this.providers.get(e))==null?void 0:t.value}entries(){return[...this.providers.entries()].map(([e,t])=>[e,t.provider,t.value])}clear(){this.providers.clear()}}const rO=new aO,D7=D.createContext(null);function sO(){const n=D.useContext(D7);if(!n)throw new Error("[workspace] useWorkspace must be used inside <WorkspaceProvider>");return n}function iO({children:n,registry:e=A1,layout:t,artifact:a,session:s,mountExtraContexts:o=!0}){const l=D.useRef(null);l.current===null&&(l.current={registry:e,eventBus:new BD,commandBus:new zD,registryVersion:0});const[u,d]=D.useState(0);D.useEffect(()=>e.onChange(()=>d(b=>b+1)),[e]);const h=D.useMemo(()=>({...l.current,registryVersion:u}),[u]),m=D.useMemo(()=>o?rO.entries():[],[o]);let p=n;for(const[b,x,k]of m)p=y.jsx(x,{value:k,children:p},b);return y.jsx(D7.Provider,{value:h,children:y.jsx(QD,{initial:a,children:y.jsx(eO,{layout:t,children:y.jsx(nO,{initial:s,children:p})})})})}function ff(){const n=sO(),e=E1(),t=JD(),a=tO();return D.useMemo(()=>({...n,artifact:e,view:t,session:a}),[n,e,t,a])}function oO({label:n}){return y.jsx("div",{className:"flex h-full w-full items-center justify-center text-xs text-dark-muted","data-testid":"workspace-slot-loading",children:n?`Loading ${n}…`:"Loading…"})}function lO({slotId:n}){return y.jsxs("div",{className:"flex h-full w-full items-center justify-center border border-dashed border-dark-border text-xs text-dark-muted","data-testid":`workspace-empty-slot-${n}`,children:["No component for slot “",n,"”"]})}function hf({message:n}){return y.jsx("div",{className:"flex h-full w-full items-center justify-center bg-red-950/30 p-3 text-xs text-red-300","data-testid":"workspace-slot-error",children:n})}class cO extends D.Component{constructor(){super(...arguments);W(this,"state",{error:null})}static getDerivedStateFromError(t){return{error:t}}componentDidCatch(t,a){console.error("[workspace] slot component crashed:",t,a.componentStack)}render(){return this.state.error?this.props.fallback?this.props.fallback(this.state.error):hf({message:this.state.error.message}):this.props.children}}function uO({slotId:n,componentId:e,requiredCapabilities:t,preferredComponentId:a}){const{registry:s,artifact:o}=ff(),l=(e?s.get(e):void 0)??s.resolve({slotId:n,artifact:o.artifactId?{kind:o.kind}:null,requiredCapabilities:t,preferredComponentId:a});return y.jsx(dO,{slotId:n,def:l})}function dO({slotId:n,def:e}){const{eventBus:t,commandBus:a,artifact:s}=ff(),o=e==null?void 0:e.component;return D.useEffect(()=>{var l;if((l=e==null?void 0:e.lifecycle)!=null&&l.mount)return e.lifecycle.mount({artifactId:s.artifactId??void 0,eventBus:t,commandBus:a}),()=>{var u,d;return(d=(u=e.lifecycle)==null?void 0:u.unmount)==null?void 0:d.call(u,{artifactId:s.artifactId??void 0,eventBus:t,commandBus:a})}},[e,t,a,s.artifactId]),!e||!o?y.jsx(lO,{slotId:n}):y.jsx(cO,{children:y.jsx(D.Suspense,{fallback:y.jsx(oO,{label:e.id}),children:y.jsx(o,{slotId:n,defId:e.id})})})}function fO({layout:n}){if(!n)return y.jsx("div",{className:"flex h-full w-full items-center justify-center text-xs text-dark-muted","data-testid":"workspace-empty",children:"Workspace is empty — no layout configured"});const e=A7(n);return e.length>0?y.jsx(hf,{message:`Invalid workspace layout: ${e.join("; ")}`}):y.jsx(Dg,{node:n})}function Dg({node:n}){switch(n.type){case"slot":return y.jsx(uO,{slotId:n.id,componentId:n.componentId});case"split":return y.jsxs(Z3,{direction:n.direction==="horizontal"?"horizontal":"vertical",className:"h-full w-full overflow-hidden",children:[n.children.map((e,t)=>{var a;return y.jsx(Dp,{defaultSize:((a=n.sizes)==null?void 0:a[t])??50,className:"min-h-0 min-w-0",children:y.jsx(Dg,{node:e})},t)}),n.children.slice(0,-1).map((e,t)=>y.jsx(X3,{className:"w-px bg-dark-border transition-colors hover:bg-accent-blue data-[resize-handle-state=hover]:bg-accent-blue data-[resize-handle-state=drag]:bg-accent-blue"},`h-${t}`))]});case"stack":return y.jsx("div",{className:"flex h-full w-full flex-col overflow-hidden",children:n.children.map((e,t)=>y.jsx("div",{className:"min-h-0 min-w-0 flex-1 border-b border-dark-border last:border-b-0",children:y.jsx(Dg,{node:e})},t))});default:return y.jsx(hf,{message:`Unknown layout node: ${JSON.stringify(n)}`})}}const hO="1",mO=["ready","select","inspect","screenshot","highlight","command","event"];function pO(n){return typeof n=="string"&&mO.includes(n)}function gO(n){if(typeof n!="object"||n===null||Array.isArray(n))return{ok:!1,error:"workspace message must be a plain object"};const e=n;return e.version!==hO?{ok:!1,error:`unsupported workspace protocol version: ${JSON.stringify(e.version)}`}:pO(e.type)?typeof e.requestId!="string"||e.requestId.length===0?{ok:!1,error:"workspace message requires a non-empty requestId"}:{ok:!0,data:{version:e.version,type:e.type,requestId:e.requestId,payload:e.payload}}:{ok:!1,error:`unknown workspace message type: ${JSON.stringify(e.type)}`}}function yO({layout:n=null,registry:e=A1,artifact:t,session:a,onRegister:s,toolbar:o,statusBar:l,onLayoutError:u}){D.useEffect(()=>{if(s)return s(e)},[]);const d=n?A7(n):[];return d.length>0?(u==null||u(d),y.jsx("div",{className:"flex h-full w-full flex-col bg-dark-surface","data-testid":"workspace-runtime",children:y.jsx(hf,{message:`Invalid workspace layout: ${d.join("; ")}`})})):y.jsx("div",{className:"flex h-full w-full flex-col overflow-hidden bg-dark-surface","data-testid":"workspace-runtime",children:y.jsxs(iO,{registry:e,layout:n,artifact:t,session:a,children:[o&&y.jsx("div",{className:"shrink-0 border-b border-dark-border",children:o}),y.jsx("div",{className:"min-h-0 min-w-0 flex-1",children:y.jsx(fO,{layout:n})}),l&&y.jsx("div",{className:"shrink-0 border-t border-dark-border",children:l})]})})}const Bc="demo.ping",Og="demo.pong",vO=`<!doctype html>
|
|
456
|
-
<html>
|
|
457
|
-
<head><meta charset="utf-8"><title>Demo Artifact</title></head>
|
|
458
|
-
<body style="font-family:system-ui;padding:24px;background:#0f172a;color:#e2e8f0">
|
|
459
|
-
<h2>AI 生成的工作台工件</h2>
|
|
460
|
-
<p>这个页面运行在 <code>sandbox="allow-scripts allow-forms allow-modals"</code> 的 iframe 中。</p>
|
|
461
|
-
<button id="say" onclick="parent.postMessage({version:'1',type:'event',requestId:'demo-1',payload:{event:'preview.interaction',data:{clicked:true}}},'*')">点击向宿主发送事件</button>
|
|
462
|
-
<script>document.getElementById('say').textContent='✓ 已就绪(blob: opaque origin)'<\/script>
|
|
463
|
-
</body>
|
|
464
|
-
</html>`;function l3({slotId:n,defId:e}){const{eventBus:t,commandBus:a}=ff(),s=E1(),[o,l]=D.useState(0),[u,d]=D.useState(null);return D.useEffect(()=>{const h=t.on(Bc,()=>l(b=>b+1));let m;e==="panel-b"&&(m=a.register(Og,()=>(d(new Date().toISOString()),{pong:!0,slotId:n})));let p;return e==="panel-a"&&(p=setTimeout(()=>t.emit(Bc,{from:e}),0)),()=>{h(),m==null||m(),p&&clearTimeout(p)}},[t,a,e,n]),y.jsxs("div",{className:"flex h-full w-full flex-col gap-2 p-3","data-testid":`test-panel-${e}`,children:[y.jsxs("div",{className:"flex items-center justify-between",children:[y.jsx("span",{className:"text-xs font-semibold text-dark-text",children:e}),y.jsxs("span",{className:"text-[10px] text-dark-muted",children:["slot: ",n]})]}),y.jsxs("div",{className:"flex items-center gap-2 text-xs text-dark-muted",children:[y.jsx("span",{"data-testid":`ping-count-${e}`,children:o}),y.jsx("button",{type:"button",onClick:()=>t.emit(Bc,{from:e}),className:"rounded bg-accent-blue/10 px-2 py-0.5 text-accent-blue hover:bg-accent-blue/20",children:"emit ping"}),e==="panel-b"&&y.jsx("button",{type:"button",onClick:()=>{const h=URL.createObjectURL(new Blob([vO],{type:"text/html"}));s.setArtifactId("demo/index.html"),s.setKind("web"),s.setPreviewUrl(h)},className:"rounded bg-accent-green/10 px-2 py-0.5 text-accent-green hover:bg-accent-green/20","data-testid":"demo-preview-button",children:"preview demo"})]}),u&&y.jsxs("div",{className:"text-[10px] text-emerald-400","data-testid":`pong-${e}`,children:["pong @ ",u]})]})}function bO(n=A1){const e=n.register({id:"panel-a",capability:"demo.panel.a",component:l3,slots:["left"],priority:10,metadata:{label:"Panel A"},lifecycle:{mount:()=>{},unmount:()=>{}}}),t=n.register({id:"panel-b",capability:"demo.panel.b",component:l3,slots:["right"],priority:10,metadata:{label:"Panel B"},aiManifest:{description:"Demo panel that responds to demo.pong commands",commands:[Og],capabilities:[{capability:"demo.panel.b.pong",command:Og,description:"Ping back from panel-b",parameters:[{name:"from",type:"string",description:"who is pinging",required:!1}]}],events:{listen:[Bc],emit:[Bc]}}});return()=>{e(),t()}}const xO={select:"preview.element.select",inspect:"preview.element.inspect",screenshot:"preview.element.screenshot",highlight:"preview.element.highlight"};function wO(n,e){const t=e??{},a=typeof t.selector=="string"&&t.selector.trim()!==""?t.selector:void 0,s=typeof t.elementId=="string"&&t.elementId.trim()!==""?t.elementId:void 0;return!a&&!s?{ok:!1,error:`interactive "${n}" message requires a non-empty selector or elementId`}:{ok:!0,elementRef:{selector:a,elementId:s}}}function kO(n,e){var s,o,l,u,d,h,m,p,b;const t=gO(n);if(!t.ok)return(s=e.onError)==null||s.call(e,t.error),!1;const a=t.data;switch(a.type){case"ready":return(o=e.onReady)==null||o.call(e,a),!0;case"event":{const x=a.payload??{};return typeof x.event!="string"?((l=e.onError)==null||l.call(e,`iframe event message requires payload.event string, got ${JSON.stringify(x.event)}`),!1):((u=e.onEvent)==null||u.call(e,x.event,x.data,a),!0)}case"command":{const x=a.payload??{};return typeof x.command!="string"?((d=e.onError)==null||d.call(e,`iframe command message requires payload.command string, got ${JSON.stringify(x.command)}`),!1):((h=e.onCommand)==null||h.call(e,x.command,x.payload,a),!0)}case"select":case"inspect":case"screenshot":case"highlight":{const x=wO(a.type,a.payload);return x.ok?((p=e.onEvent)==null||p.call(e,xO[a.type],{...a.payload??{},elementRef:x.elementRef},a),!0):((m=e.onError)==null||m.call(e,x.error),!1)}default:return(b=e.onError)==null||b.call(e,`unsupported message type: ${JSON.stringify(a.type)}`),!1}}function SO(n,e){const t=D.useRef(e);t.current=e;const a=s=>{var l;const o=(l=n.current)==null?void 0:l.contentWindow;o&&o.postMessage(s,"*")};return D.useEffect(()=>{const s=o=>{var p;const l=(p=n.current)==null?void 0:p.contentWindow;if(l&&o.source!==l||l===void 0&&o.source!==null)return;const{eventBus:u,onCommand:d,onReady:h,onError:m}=t.current;kO(o.data,{onEvent:(b,x)=>u.emit(b,x),onCommand:d??(()=>{}),onReady:h,onError:m})};return window.addEventListener("message",s),()=>window.removeEventListener("message",s)},[n]),{post:a}}function _O(n,e){const t=(n.split(".").pop()||"").toLowerCase();return e==="web"||t==="html"||t==="htm"?"html":["png","jpg","jpeg","gif","svg","webp","ico","bmp"].includes(t)||e==="document"?"image":"text"}function CO({slotId:n}){const{artifactId:e,kind:t,previewUrl:a}=E1(),{eventBus:s}=ff(),[o,l]=D.useState(null),[u,d]=D.useState(null),[h,m]=D.useState(null),p=D.useRef(null),b=e??null,x=b?_O(b,t):"text";return SO(p,{eventBus:s,onError:k=>m(k)}),D.useEffect(()=>{if(x!=="html"||!b)return;if(a&&a.startsWith("blob:")){d(a),m(null);return}let k=!1;return m(null),l(null),(async()=>{try{const _=await ft.files.read(b);if(k)return;if(!_.success||_.data===void 0){m(_.error||"failed to read artifact");return}const T=new Blob([String(_.data)],{type:"text/html"}),N=URL.createObjectURL(T);l(String(_.data)),d(N)}catch(_){k||m(_ instanceof Error?_.message:String(_))}})(),()=>{k=!0,u&&URL.revokeObjectURL(u)}},[x,b,a]),y.jsxs("div",{className:"flex h-full w-full min-h-0 flex-col","data-testid":`web-preview-${n}`,children:[y.jsxs("div",{className:"shrink-0 flex items-center gap-2 border-b border-dark-border/60 px-2 py-1 text-[10px] text-dark-muted",children:[y.jsx("span",{className:"truncate font-mono",children:b??"no artifact"}),y.jsx("span",{className:"ml-auto shrink-0 uppercase",children:x})]}),h&&y.jsx("div",{className:"m-2 rounded border border-accent-red/30 bg-accent-red/5 px-2 py-1.5 text-[11px] text-accent-red",children:h}),y.jsx("div",{className:"min-h-0 flex-1 overflow-auto",children:b?x==="html"&&u?y.jsx("iframe",{ref:p,title:`preview-${b}`,sandbox:"allow-scripts allow-forms allow-modals",src:u,className:"h-full w-full border-0 bg-white","data-testid":"web-preview-iframe"}):x==="image"?y.jsx("img",{src:a??void 0,alt:b,className:"mx-auto max-h-full max-w-full object-contain","data-testid":"web-preview-image"}):y.jsx("pre",{className:"whitespace-pre-wrap break-all p-3 font-mono text-[11px] leading-relaxed text-dark-text",children:o??(a?`Loading ${b}…`:`Preview ${b}`)}):y.jsx("div",{className:"grid h-full place-items-center p-4 text-center text-xs text-dark-muted/70",children:"Select an artifact to preview it here."})})]})}function TO(n){return n.register({id:"web-preview",capability:"preview.artifact",component:CO,slots:["preview"],priority:10,metadata:{label:"Preview"},aiManifest:{description:"Renders the current artifact (HTML in a sandboxed iframe, images, text)",commands:[],events:{listen:[],emit:[]}}})}const AO=["write_file","edit_file","file_write","file_edit","file_create","file_append","notebook_edit","notebook_write","apply_patch","git_apply_patch","git_commit","FileEditTool","FileWriteTool","EditTool","NotebookEditTool","Write","Edit","WriteTool","FileCreateTool"],EO=/(?:^|[_\W])(write|edit|save|create|update|modify|patch|output|export|render|generate|build)(?:[_\W]|$)/i,NO=/(?:^|[_\W])(read|open|cat|view|list|ls|dir|find|grep|glob|search)(?:[_\W]|$)/i;function ll(n){return AO.includes(n)?!0:EO.test(n)&&!NO.test(n)}function MO(n){let e=null;if(typeof n=="string")try{const t=JSON.parse(n);t&&typeof t=="object"&&!Array.isArray(t)&&(e=t)}catch{return}else n&&typeof n=="object"&&!Array.isArray(n)&&(e=n);if(e)return e.filePath||e.path||e.file||e.file_path||e.outputPath||e.output}function jc(n){const e=n.split(/[\\/]/);return e[e.length-1]||n}function Lg(n){const e=(n.split(".").pop()||"").toLowerCase();return["png","jpg","jpeg","gif","svg","webp","ico","bmp"].includes(e)?"image":["md","markdown","mdown"].includes(e)?"markdown":["ts","tsx","js","jsx","json","css","html","htm","py","sh","yaml","yml","go","rs","toml","sql","java","c","cpp","h","rb","php"].includes(e)?"code":"file"}function RO({kind:n,size:e=14}){return n==="image"?y.jsx(vk,{size:e,className:"text-dark-muted shrink-0"}):n==="markdown"?y.jsx(Jo,{size:e,className:"text-dark-muted shrink-0"}):n==="code"?y.jsx(bk,{size:e,className:"text-dark-muted shrink-0"}):y.jsx(G3,{size:e,className:"text-dark-muted shrink-0"})}function O7(n){var t;const e=new Map;for(const a of n){if((t=a.fileJob)!=null&&t.result)for(const s of a.fileJob.result)s.path&&!e.has(s.path)&&e.set(s.path,{path:s.path,name:s.fileName||jc(s.path),source:"filejob"});for(const s of a.toolCalls??[]){if(s.status==="error")continue;const o=MO(s.args);o&&ll(s.name)&&!e.has(o)&&e.set(o,{path:o,name:jc(o),source:"toolcall"})}}return Array.from(e.values())}function DO({status:n}){return n==="running"?y.jsx(Ga,{size:12,className:"animate-spin text-accent-blue shrink-0 mt-0.5"}):n==="completed"?y.jsx(P0,{size:12,className:"text-accent-green shrink-0 mt-0.5"}):n==="failed"?y.jsx(Wg,{size:12,className:"text-accent-red shrink-0 mt-0.5"}):n==="skipped"?y.jsx(yk,{size:12,className:"text-dark-muted shrink-0 mt-0.5"}):y.jsx(Vg,{size:12,className:"text-dark-muted shrink-0 mt-0.5"})}function OO({sessionId:n}){const{t:e}=kt(),t=xt(m=>n?m.getTasksForSession(n):[]),a=xt(m=>n?m.getRunningAgentCount(n):0),s=xt(m=>n?m.getForSession(n):void 0),l=Ve(m=>n?m.isGenerating(n):!1)||a>0||(s==null?void 0:s.status)==="RUNNING"||(s==null?void 0:s.status)==="RESUMING",u=D.useMemo(()=>n?xt.getState().getEventsForSession(n).filter(p=>p.type==="tool_call"||p.title).length:0,[n,t.length,a,s==null?void 0:s.updatedAt]);if(t.length===0)return l?y.jsxs("div",{className:"flex items-center gap-2 text-xs text-dark-muted py-0.5",children:[y.jsx(Ga,{size:13,className:"animate-spin text-accent-blue shrink-0"}),y.jsx("span",{className:"truncate",children:a>0?e("chat.sidebarWorkingWithAgents",{n:a}):u>0?e("chat.sidebarWorkingToolcalls",{n:u}):e("chat.sidebarWorking")})]}):y.jsx("p",{className:"text-[11px] leading-relaxed text-dark-muted/70",children:e("chat.sidebarIdle")});const d=t.slice(0,12),h=t.length-d.length;return y.jsxs("div",{className:"space-y-1.5",children:[d.map(m=>y.jsxs("div",{className:"flex items-start gap-2 text-xs",children:[y.jsx(DO,{status:m.status}),y.jsxs("span",{className:Wt("min-w-0 flex-1 leading-snug break-words",m.status==="completed"&&"text-dark-muted/70 line-through decoration-dark-muted/40",m.status==="failed"&&"text-accent-red/90"),children:[m.title,m.status==="running"&&m.progress!==void 0&&y.jsx("span",{className:"block mt-1",children:y.jsx("span",{className:"block w-full h-1 bg-dark-surface rounded-full overflow-hidden",children:y.jsx("span",{className:"block h-full bg-accent-blue rounded-full transition-all duration-500",style:{width:`${Math.max(0,Math.min(100,m.progress))}%`}})})})]})]},m.id)),h>0&&y.jsxs("p",{className:"text-[10px] text-dark-muted/70",children:["+",h," ",e("chat.sidebarMoreTasks")]}),l&&y.jsx("p",{className:"text-[10px] text-dark-muted/70 pt-0.5",children:a>0?e("chat.sidebarRunningAgents",{n:a}):e("chat.sidebarToolcallsSoFar",{n:u})})]})}function L7({sessionId:n,messages:e,previewFile:t,onPreview:a,onClosePreview:s}){const{t:o}=kt(),[l,u]=D.useState(null),[d,h]=D.useState(!1),[m,p]=D.useState(null),b=D.useCallback(async T=>{h(!0),p(null),u(null);try{const N=await ft.files.read(T);N.success&&N.data!==void 0&&N.data!==null?u(String(N.data)):p(N.error||o("chat.fileReadError"))}catch(N){p(N instanceof Error?N.message:o("chat.fileReadError"))}finally{h(!1)}},[o]);D.useEffect(()=>{if(!t){u(null),h(!1),p(null);return}if(Lg(t)==="file"){u(null),h(!1),p(null);return}b(t)},[t,b]);const x=D.useCallback(async T=>{const N=await ft.files.download(T);N.success||Ye.error(N.error||o("chat.fileReadError"))},[o]),k=D.useCallback(async T=>{try{await navigator.clipboard.writeText(T),Ye.success(o("chat.copiedPath"))}catch{Ye.error(o("chat.copyPathFailed"))}},[o]),_=t?Lg(t):"file";return y.jsx("div",{className:"flex-1 min-h-0 min-w-0 flex flex-col overflow-hidden",children:t?y.jsxs("div",{className:"flex-1 flex flex-col min-h-0",children:[y.jsx("div",{className:"shrink-0 px-2 py-2 border-b border-dark-border/60",children:y.jsxs("div",{className:"flex items-center gap-1.5",children:[y.jsx("button",{onClick:s,className:"p-1 rounded hover:bg-dark-hover transition-colors text-dark-muted shrink-0",title:o("chat.backToArtifacts"),"aria-label":o("chat.backToArtifacts"),children:y.jsx(Kg,{size:15})}),y.jsxs("div",{className:"min-w-0 flex-1",children:[y.jsxs("div",{className:"flex items-center gap-1 text-xs font-semibold text-dark-text truncate",children:[y.jsx("span",{className:"text-dark-muted font-normal shrink-0",children:o("chat.artifactPanel")}),y.jsx("span",{className:"text-dark-muted/50 shrink-0",children:"/"}),y.jsx("span",{className:"truncate",children:jc(t)})]}),y.jsx("div",{className:"text-[10px] font-mono text-dark-muted truncate mt-0.5",title:t,children:t})]}),y.jsx("button",{onClick:()=>void k(t),className:"p-1 rounded text-dark-muted hover:bg-dark-hover hover:text-dark-text transition-colors shrink-0",title:o("chat.copyPath"),"aria-label":o("chat.copyPath"),children:y.jsx(I3,{size:14})}),y.jsx("a",{href:Qd(`/api/files/read?path=${encodeURIComponent(t)}`),target:"_blank",rel:"noopener noreferrer",className:"p-1 rounded text-dark-muted hover:bg-dark-hover hover:text-dark-text transition-colors shrink-0",title:o("chat.openInNewTab"),"aria-label":o("chat.openInNewTab"),children:y.jsx(Sb,{size:14})}),y.jsx("button",{onClick:()=>void x(t),className:"p-1 rounded text-dark-muted hover:bg-dark-hover hover:text-dark-text transition-colors shrink-0",title:o("fileJob.download"),"aria-label":o("fileJob.download"),children:y.jsx(zc,{size:14})})]})}),y.jsx("div",{className:"flex-1 overflow-y-auto min-h-0 custom-scrollbar p-3",children:d?y.jsx("div",{className:"flex items-center justify-center py-10 text-dark-muted",children:y.jsx(Ga,{size:18,className:"animate-spin text-accent-blue"})}):m?y.jsxs("div",{className:"flex items-start gap-2 rounded-lg border border-accent-red/30 bg-accent-red/5 px-3 py-2.5 text-xs text-accent-red",children:[y.jsx(j0,{size:14,className:"shrink-0 mt-0.5"}),y.jsx("span",{className:"break-words",children:m})]}):_==="image"?y.jsx("img",{src:Qd(`/api/files/download?path=${encodeURIComponent(t)}`),alt:jc(t),className:"max-w-full h-auto rounded-lg border border-dark-border"}):_==="markdown"&&l!=null?y.jsx(hD,{content:l}):_==="code"?y.jsx("pre",{className:"text-[11px] leading-relaxed font-mono whitespace-pre-wrap break-all text-dark-text",children:l??""}):y.jsxs("div",{className:"flex flex-col items-center justify-center gap-3 py-12 px-4 text-center",children:[y.jsx("span",{className:"grid w-16 h-16 shrink-0 place-items-center rounded-2xl bg-dark-surface border border-dark-border shadow-sm",children:y.jsx(G3,{size:30,className:"text-accent-blue"})}),y.jsxs("div",{className:"min-w-0 w-full max-w-sm",children:[y.jsx("div",{className:"text-sm font-semibold text-dark-text break-all leading-snug",children:jc(t)}),y.jsx("div",{className:"mt-1.5 text-[11px] font-mono text-dark-muted break-all leading-relaxed",title:t,children:t})]}),y.jsx("p",{className:"text-[11px] text-dark-muted/70 leading-relaxed max-w-xs",children:o("chat.filePreviewHint")}),y.jsxs("div",{className:"flex items-center gap-2 pt-1",children:[y.jsxs("a",{href:Qd(`/api/files/read?path=${encodeURIComponent(t)}`),target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-1 rounded-lg bg-accent-blue/10 text-accent-blue px-3 py-1.5 text-xs font-medium hover:bg-accent-blue/20 transition-colors",title:o("chat.openInNewTab"),children:[y.jsx(Sb,{size:13}),o("chat.openInNewTab")]}),y.jsxs("button",{onClick:()=>void x(t),className:"inline-flex items-center gap-1 rounded-lg bg-dark-surface border border-dark-border text-dark-text px-3 py-1.5 text-xs hover:bg-dark-hover transition-colors",title:o("fileJob.download"),children:[y.jsx(zc,{size:13}),o("fileJob.download")]})]})]})})]}):y.jsx(RD,{sessionId:n,messages:e,onPreview:a})})}function LO({sessionId:n,messages:e,previewFile:t,onPreview:a,onClosePreview:s,isMaximized:o,onToggleMaximize:l}){const{t:u}=kt(),d=D.useMemo(()=>O7(e),[e]),[h,m]=D.useState("artifacts"),p=D.useMemo(()=>({type:"split",direction:"horizontal",children:[{type:"slot",id:"left"},{type:"split",direction:"vertical",children:[{type:"slot",id:"right"},{type:"slot",id:"preview"}]}]}),[]);return y.jsxs("div",{className:"w-full h-full border-l border-dark-border bg-dark-surface flex flex-col overflow-hidden",children:[y.jsxs("div",{className:"shrink-0 px-3 py-2.5 border-b border-dark-border bg-dark-surface flex items-center gap-2",children:[y.jsx(F3,{size:14,className:"text-accent-blue shrink-0"}),y.jsx("span",{className:"text-xs font-semibold text-dark-text truncate",children:u(h==="workspace"?"chat.workspaceTitle":"chat.artifactPanel")}),y.jsxs("div",{className:"ml-auto flex items-center gap-0.5",children:[h==="artifacts"&&!t&&d.length>0&&y.jsx("span",{className:"text-[10px] text-dark-muted tabular-nums",children:d.length}),y.jsx("button",{onClick:()=>m(b=>b==="workspace"?"artifacts":"workspace"),className:"p-1 rounded text-dark-muted hover:bg-dark-hover hover:text-dark-text transition-colors shrink-0",title:u(h==="workspace"?"chat.artifactsToggle":"chat.workspaceToggle"),"aria-label":u(h==="workspace"?"chat.artifactsToggle":"chat.workspaceToggle"),"data-testid":"sidebar-view-toggle",children:y.jsx(xk,{size:14})}),l&&y.jsx("button",{onClick:l,className:"p-1 rounded text-dark-muted hover:bg-dark-hover hover:text-dark-text transition-colors shrink-0",title:u(o?"chat.sidebarRestore":"chat.sidebarMaximize"),"aria-label":u(o?"chat.sidebarRestore":"chat.sidebarMaximize"),children:o?y.jsx(wk,{size:14}):y.jsx(kk,{size:14})})]})]}),h==="workspace"?y.jsx(yO,{layout:p,onRegister:b=>{const x=[bO(b),TO(b)];return()=>x.forEach(k=>k())}}):y.jsx(L7,{sessionId:n,messages:e,previewFile:t,onPreview:a,onClosePreview:s}),y.jsx("div",{className:"shrink-0 px-3 py-2 border-t border-dark-border/60",children:y.jsx("p",{className:"text-[10px] text-dark-muted/60 leading-relaxed",children:u(h==="workspace"?"chat.workspaceHint":"chat.artifactHint")})})]})}D.createContext(null);function N1({isOpen:n,onClose:e,title:t,children:a,size:s="md",className:o}){if(D.useEffect(()=>{const u=d=>{d.key==="Escape"&&(d.preventDefault(),d.stopPropagation(),e())};return n&&(document.addEventListener("keydown",u),document.body.style.overflow="hidden"),()=>{document.removeEventListener("keydown",u),document.body.style.overflow=""}},[n,e]),!n)return null;const l={sm:"max-w-sm",md:"max-w-md",lg:"max-w-lg",xl:"max-w-xl","2xl":"max-w-3xl","3xl":"max-w-5xl"};return y.jsxs("div",{className:"fixed inset-0 z-50 flex items-center justify-center overflow-hidden p-4",children:[y.jsx("div",{className:"absolute inset-0 bg-black/60 backdrop-blur-sm",onClick:e}),y.jsxs("div",{className:Wt("relative w-full mx-4 bg-dark-surface border border-dark-border rounded-xl shadow-2xl animate-fade-in","max-h-[calc(100vh-2rem)] flex flex-col overflow-hidden",l[s],o),children:[t&&y.jsxs("div",{className:"flex shrink-0 items-center justify-between px-6 py-4 border-b border-dark-border",children:[y.jsx("h2",{className:"text-lg font-semibold text-dark-text",children:t}),y.jsx("button",{onClick:e,"aria-label":"Close",className:"p-1 rounded-lg text-dark-muted hover:text-dark-text hover:bg-dark-hover transition-colors",children:y.jsx(xr,{className:"w-5 h-5","aria-hidden":"true"})})]}),y.jsx("div",{className:"min-h-0 overflow-y-auto custom-scrollbar p-6",children:a})]})]})}function BP({isOpen:n,onClose:e,onConfirm:t,title:a,message:s,confirmText:o,cancelText:l,variant:u="default"}){const{t:d}=kt(),h=()=>{t(),e()};return y.jsxs(N1,{isOpen:n,onClose:e,title:a??d("common.confirm"),size:"sm",children:[y.jsx("p",{className:"text-dark-muted mb-6",children:s}),y.jsxs("div",{className:"flex gap-3 justify-end",children:[y.jsx("button",{onClick:e,className:"px-4 py-2 rounded-lg border border-dark-border text-dark-text hover:bg-dark-hover transition-colors",children:l??d("common.cancel")}),y.jsx("button",{onClick:h,className:Wt("px-4 py-2 rounded-lg text-white transition-colors",u==="danger"?"bg-accent-red hover:bg-accent-red/90":"bg-accent-blue hover:bg-accent-blue/90"),children:o??d("common.confirm")})]})]})}function c3({children:n,variant:e="default",size:t="md",className:a}){const s={default:"bg-dark-border text-dark-muted",success:"bg-accent-green/20 text-accent-green",warning:"bg-accent-yellow/20 text-accent-yellow",error:"bg-accent-red/20 text-accent-red",info:"bg-accent-blue/20 text-accent-blue"},o={sm:"px-1.5 py-0.5 text-[10px]",md:"px-2 py-0.5 text-xs"};return y.jsx("span",{className:Wt("inline-flex items-center rounded-full font-medium",s[e],o[t],a),children:n})}const BO={string:"templates.typeString",number:"templates.typeNumber",select:"templates.typeSelect",boolean:"templates.typeBoolean",folder:"templates.typeFolder",connector:"templates.typeConnector"};function jO({template:n,onCancel:e,onSubmit:t,submitLabel:a,busy:s=!1}){const{t:o}=kt(),l=a??o("templates.launch"),u=n.inputs??[],d=D.useMemo(()=>{const _={};for(const T of u)T.default!==void 0&&T.default!==null&&(_[T.name]=T.default);return _},[u]),[h,m]=D.useState(d),[p,b]=D.useState({});if(u.length===0)return y.jsxs("div",{className:"space-y-4",children:[y.jsx("div",{className:"text-sm text-dark-muted",children:o("templates.noInputsNeeded")}),y.jsx("div",{className:"text-xs text-dark-muted/80 break-all",children:n.description||"—"}),y.jsxs("div",{className:"flex justify-end gap-3",children:[y.jsx("button",{onClick:e,className:"px-4 py-2 rounded-lg border border-dark-border text-dark-text hover:bg-dark-hover transition-colors",children:o("templates.cancel")}),y.jsx("button",{onClick:()=>t({}),disabled:s,className:"px-4 py-2 rounded-lg bg-accent-blue text-white hover:bg-accent-blue/90 disabled:opacity-50 transition-colors",children:s?o("templates.starting"):l})]})]});const x=(_,T)=>{m(N=>({...N,[_]:T})),b(N=>{if(!N[_])return N;const E={...N};return delete E[_],E})},k=()=>{const _={},T={};for(const N of u){let E=h[N.name];typeof E=="string"&&(E=E.trim());const L=E==null||E==="";if(N.required&&L){_[N.name]=o("templates.requiredError");continue}if(!L)if(N.type==="number"){const B=Number(E);if(!Number.isFinite(B)){_[N.name]=o("templates.numberError");continue}T[N.name]=B}else T[N.name]=E}if(Object.keys(_).length>0){b(_);return}t(T)};return y.jsxs("div",{className:"space-y-4",children:[y.jsx("div",{className:"text-sm text-dark-muted",children:n.description||""}),u.map(_=>y.jsxs("div",{children:[y.jsxs("label",{className:"flex items-center gap-1.5 text-sm text-dark-text mb-1.5",children:[y.jsx("span",{children:_.label||_.name}),_.required&&y.jsx("span",{className:"text-accent-red",children:"*"}),_.type!=="boolean"&&y.jsx("span",{className:"text-[10px] text-dark-muted/70",children:o(BO[_.type])})]}),PO(_,h[_.name],x,o("templates.selectNone")),_.description&&y.jsx("div",{className:"mt-1 text-xs text-dark-muted/70",children:_.description}),p[_.name]&&y.jsx("div",{className:"mt-1 text-xs text-accent-red",children:p[_.name]})]},_.name)),y.jsxs("div",{className:"flex justify-end gap-3 pt-2",children:[y.jsx("button",{onClick:e,className:"px-4 py-2 rounded-lg border border-dark-border text-dark-text hover:bg-dark-hover transition-colors",children:o("templates.cancel")}),y.jsx("button",{onClick:k,disabled:s,className:"px-4 py-2 rounded-lg bg-accent-blue text-white hover:bg-accent-blue/90 disabled:opacity-50 transition-colors",children:s?o("templates.starting"):l})]})]})}function PO(n,e,t,a){const s="w-full px-3 py-2 rounded-lg bg-dark-bg border border-dark-border text-sm text-dark-text focus:outline-none focus:ring-1 focus:ring-accent-blue placeholder:text-dark-muted/50";switch(n.type){case"select":return y.jsxs("select",{value:typeof e=="string"?e:n.default||"",onChange:o=>t(n.name,o.target.value),className:s,children:[!n.required&&y.jsx("option",{value:"",children:a}),(n.options||[]).map(o=>y.jsx("option",{value:o,children:o},o))]});case"boolean":return y.jsx("button",{type:"button",onClick:()=>t(n.name,e!==!0),className:Wt("h-6 w-11 rounded-full transition-colors relative flex items-center px-0.5",e===!0?"bg-accent-blue":"bg-dark-border"),"aria-pressed":e===!0,children:y.jsx("span",{className:Wt("h-5 w-5 rounded-full bg-white transition-transform",e===!0&&"translate-x-5")})});case"number":return y.jsx("input",{type:"number",value:typeof e=="number"||typeof e=="string"?e:"",onChange:o=>t(n.name,o.target.value),placeholder:typeof n.default=="number"?String(n.default):"0",className:s});default:return y.jsx("input",{type:"text",value:typeof e=="string"?e:"",onChange:o=>t(n.name,o.target.value),placeholder:typeof n.default=="string"?n.default:"",className:s})}}function IO({collapsed:n=!1,onDirect:e,onStartTemplate:t,onManageTemplates:a}){const{t:s}=kt(),[o,l]=D.useState(!1),[u,d]=D.useState({kind:"list"}),[h,m]=D.useState([]),[p,b]=D.useState(!1),[x,k]=D.useState(""),[_,T]=D.useState({top:0,left:0}),N=D.useRef(null),E=D.useCallback(()=>{d({kind:"list"}),l(!0)},[]);D.useEffect(()=>{var te;if(!o)return;const K=(te=N.current)==null?void 0:te.getBoundingClientRect();K&&T({top:K.bottom+6,left:Math.max(8,K.left)})},[o,n]),D.useEffect(()=>{if(!o||u.kind!=="list")return;let K=!1;return b(!0),k(""),ft.templates.list().then(te=>{K||(te.success&&te.data?m(te.data):k(te.error||s("templates.loadFailed")))}).catch(()=>{K||k(s("templates.loadFailed"))}).finally(()=>{K||b(!1)}),()=>{K=!0}},[o,u.kind]);const L=D.useMemo(()=>{const K=new Map;for(const te of h){const J=te.category||s("templates.uncategorized"),be=K.get(J)||[];be.push(te),K.set(J,be)}return[...K.entries()]},[h,s]),B=async K=>{const te=await ft.templates.get(K.id);te.success&&te.data?d({kind:"form",template:te.data}):k(te.error||s("templates.loadFailed"))},j=K=>{u.kind==="form"&&(t(u.template,K),l(!1),d({kind:"list"}))},q={top:_.top,left:_.left,width:Math.min(360,typeof window<"u"?window.innerWidth-16:360)};return y.jsxs("div",{ref:N,className:"relative",children:[y.jsx("div",{className:"flex",children:n?y.jsx("button",{onClick:E,className:"btn btn-primary w-full !px-0 aspect-square",title:s("templates.newSession"),"aria-label":s("templates.newSession"),children:y.jsx(s0,{size:16,"aria-hidden":"true"})}):y.jsxs(y.Fragment,{children:[y.jsxs("button",{onClick:e,className:"btn btn-primary flex-1 !px-3 py-2 rounded-l-lg",children:[y.jsx(s0,{size:15,"aria-hidden":"true"}),s("templates.newSession")]}),y.jsx("button",{onClick:()=>o?l(!1):E(),className:"px-2.5 rounded-r-lg bg-accent-blue text-white border-l border-white/25 hover:opacity-95 flex items-center",title:s("templates.newFromTemplateTitle"),"aria-label":s("templates.chooseTemplateAria"),children:y.jsx(ti,{size:13,"aria-hidden":"true"})})]})}),o&&y.jsxs(y.Fragment,{children:[y.jsx("div",{className:"fixed inset-0 z-40",onClick:()=>l(!1)}),y.jsx("div",{className:"fixed z-50 bg-dark-surface border border-dark-border rounded-xl shadow-2xl p-1.5 max-h-[70vh] overflow-y-auto custom-scrollbar",style:q,children:u.kind==="form"?y.jsxs("div",{className:"p-2",children:[y.jsxs("button",{onClick:()=>d({kind:"list"}),className:"mb-2 inline-flex items-center gap-1 text-xs text-dark-muted hover:text-dark-text transition-colors",children:[y.jsx(Sk,{className:"w-3.5 h-3.5"})," ",s("templates.backToList")]}),y.jsx("div",{className:"text-sm font-medium text-dark-text mb-3",children:u.template.name}),y.jsx(jO,{template:u.template,onCancel:()=>d({kind:"list"}),onSubmit:j,submitLabel:s("templates.launch")})]}):y.jsxs(y.Fragment,{children:[y.jsx("div",{className:"px-2 py-1 text-[10.5px] uppercase tracking-[0.06em] text-dark-muted/70 font-semibold",children:s("templates.startSessionHeader")}),y.jsxs("button",{onClick:()=>{l(!1),e()},className:"w-full flex items-center gap-2.5 px-2 py-2 rounded-lg hover:bg-dark-hover text-left",children:[y.jsx("span",{className:"w-6 h-6 rounded-md bg-accent-blue/10 border border-accent-blue/30 grid place-items-center text-accent-blue shrink-0",children:y.jsx(I0,{className:"w-3.5 h-3.5"})}),y.jsxs("span",{className:"min-w-0",children:[y.jsx("span",{className:"block text-[13px] font-medium text-dark-text",children:s("templates.directChat")}),y.jsx("span",{className:"block text-[11px] text-dark-muted truncate",children:s("templates.directChatHint")})]})]}),p&&y.jsxs("div",{className:"flex items-center gap-2 px-2 py-3 text-xs text-dark-muted",children:[y.jsx(Ga,{className:"w-3.5 h-3.5 animate-spin"})," ",s("templates.loadingTemplates")]}),x&&!p&&y.jsx("div",{className:"px-2 py-2 text-xs text-accent-red",children:x}),!p&&!x&&L.length===0&&y.jsx("div",{className:"px-2 py-2 text-xs text-dark-muted",children:s("templates.noTemplatesYet")}),L.map(([K,te])=>y.jsxs("div",{className:"mt-1",children:[y.jsxs("div",{className:"flex items-center gap-1.5 px-2 py-1",children:[y.jsx(i0,{className:"w-3 h-3 text-dark-muted/70"}),y.jsx("span",{className:"text-[10px] uppercase tracking-[0.06em] text-dark-muted/70 font-semibold",children:K}),y.jsx(c3,{size:"sm",children:te.length})]}),te.map(J=>y.jsxs("button",{onClick:()=>void B(J),className:"w-full flex items-center gap-2.5 px-2 py-2 rounded-lg hover:bg-dark-hover text-left",children:[y.jsx("span",{className:"w-6 h-6 rounded-md bg-dark-border/60 border border-dark-border grid place-items-center text-dark-muted shrink-0",children:y.jsx(i0,{className:"w-3.5 h-3.5"})}),y.jsxs("span",{className:"min-w-0 flex-1",children:[y.jsxs("span",{className:"flex items-center gap-1.5",children:[y.jsx("span",{className:"block text-[13px] font-medium text-dark-text truncate",children:J.name}),y.jsxs(c3,{size:"sm",variant:"info",children:["v",J.version]})]}),J.description&&y.jsx("span",{className:"block text-[11px] text-dark-muted truncate",children:J.description})]})]},J.id))]},K)),y.jsx("div",{className:"border-t border-dark-border mt-1 pt-1",children:y.jsx("button",{onClick:()=>{l(!1),a()},className:"w-full px-2 py-1.5 rounded-lg hover:bg-dark-hover text-left text-[12.5px] text-dark-muted",children:s("templates.libraryMenu")})})]})})]})]})}function Bg(n,e=Date.now(),t){const a=typeof n=="number"?n:new Date(n).getTime();if(!Number.isFinite(a))return"";const s=e-a;if(s<6e4)return t?t("time.justNow"):"刚刚";const o=Math.floor(s/6e4);if(o<60)return t?t("time.minutesAgo",{count:o}):`${o}分钟前`;const l=Math.floor(o/60);if(l<24)return t?t("time.hoursAgo",{count:l}):`${l}小时前`;const u=Math.floor(l/24);if(u<7)return t?t("time.daysAgo",{count:u}):`${u}天前`;const d=new Date(a);return`${d.getFullYear()}-${String(d.getMonth()+1).padStart(2,"0")}-${String(d.getDate()).padStart(2,"0")}`}const bc=10;function zO({isOpen:n,onClose:e,onSwitchSession:t}){const{t:a}=kt(),s=We(N=>N.sessionTabs),o=We(N=>N.historySessions),l=We(N=>N.activeSessionId),u=Ve(N=>N.generatingSessions),[d,h]=D.useState(0),m=D.useMemo(()=>{const N=new Map;for(const E of s)N.set(E.id,E);for(const E of o)N.has(E.id)||N.set(E.id,E);return[...N.values()].sort((E,L)=>(L.lastActiveAt??L.createdAt??0)-(E.lastActiveAt??E.createdAt??0))},[s,o]),p=Math.max(1,Math.ceil(m.length/bc)),b=Math.min(d,p-1),x=D.useMemo(()=>{const N=new Map,E=b*bc;for(const L of m.slice(E,E+bc)){const B=L.project||"default",j=N.get(B)||[];j.push(L),N.set(B,j)}return Array.from(N.entries())},[m,b]),k=m.length===0?0:b*bc+1,_=Math.min((b+1)*bc,m.length),T=N=>u.includes(N.id)?"running":N.status||"done";return y.jsx(N1,{isOpen:n,onClose:e,title:a("chat.sessionPickerTitle"),size:"lg",children:y.jsxs("div",{className:"flex flex-col gap-3",children:[y.jsx("div",{className:"max-h-[320px] overflow-y-auto custom-scrollbar rounded-lg border border-dark-border bg-dark-bg p-1.5",children:m.length===0?y.jsx("div",{className:"px-3 py-6 text-center text-xs text-dark-muted/60",children:a("chat.noSessions")}):x.map(([N,E])=>y.jsxs("div",{children:[y.jsxs("div",{className:"flex items-center gap-1 px-2 py-1 text-[10px] text-dark-muted/70",children:[y.jsx(q3,{size:10,"aria-hidden":"true",className:"shrink-0 opacity-60"}),y.jsx("span",{className:"truncate",children:N==="default"?a("nav.mySessions"):N}),y.jsx("span",{className:"ml-auto text-[9px] text-dark-muted/40",children:E.length})]}),y.jsx("div",{className:"space-y-0.5",children:E.map(L=>{const B=L.id===l,j=T(L),q=Bg(L.lastActiveAt??L.createdAt,Date.now(),a),K=Zd(L),te=ax(L.title,K);return y.jsxs("button",{onClick:()=>{t(L.id),e()},title:a("chat.clickToOpenSession"),className:`group flex w-full cursor-pointer items-center gap-2 rounded-lg px-2.5 py-[7px] text-left text-[13px] transition-colors ${B?"bg-accent-blue/10 font-medium text-accent-blue":"text-dark-muted hover:bg-dark-hover/60 hover:text-dark-text"}`,children:[y.jsx(I0,{size:13,"aria-hidden":"true",className:"shrink-0 opacity-60"}),y.jsxs("span",{className:"min-w-0 flex-1",children:[y.jsxs("span",{className:"flex items-center gap-1.5",children:[y.jsx("span",{className:"min-w-0 flex-1 truncate",children:L.title}),j==="running"&&y.jsx("span",{className:"h-1.5 w-1.5 shrink-0 rounded-full bg-accent-red animate-pulse",title:a("nav.sessionRunning")}),j==="waiting"&&y.jsx("span",{className:"h-1.5 w-1.5 shrink-0 rounded-full bg-accent-yellow",title:a("nav.sessionWaiting")}),j==="failed"&&y.jsx("span",{className:"h-1.5 w-1.5 shrink-0 rounded-full bg-accent-red",title:a("nav.sessionFailed")}),j==="done"&&y.jsx("span",{className:"h-1.5 w-1.5 shrink-0 rounded-full bg-accent-green",title:a("nav.sessionDone")})]}),y.jsxs("span",{className:"mt-0.5 flex items-center gap-2 text-[11px] leading-tight text-dark-muted/60",children:[te&&y.jsx("span",{className:"min-w-0 flex-1 truncate",children:K}),y.jsx("span",{className:`shrink-0 ${te?"":"ml-auto"}`,children:q})]})]})]},L.id)})})]},N))}),y.jsxs("div",{className:"flex items-center justify-between text-xs text-dark-muted",children:[y.jsx("span",{children:a("common.pageInfo",{start:k,end:_,total:m.length})}),y.jsxs("div",{className:"flex items-center gap-1",children:[y.jsxs("button",{onClick:()=>h(N=>Math.max(0,N-1)),disabled:b===0,className:"flex items-center gap-0.5 rounded-md border border-dark-border px-2 py-1 text-dark-muted transition-colors hover:bg-dark-hover hover:text-dark-text disabled:cursor-not-allowed disabled:opacity-40",children:[y.jsx(Kg,{size:13,"aria-hidden":"true"}),a("common.prevPage")]}),y.jsxs("span",{className:"min-w-[48px] text-center font-mono",children:[b+1,"/",p]}),y.jsxs("button",{onClick:()=>h(N=>Math.min(p-1,N+1)),disabled:b>=p-1,className:"flex items-center gap-0.5 rounded-md border border-dark-border px-2 py-1 text-dark-muted transition-colors hover:bg-dark-hover hover:text-dark-text disabled:cursor-not-allowed disabled:opacity-40",children:[a("common.nextPage"),y.jsx(V3,{size:13,"aria-hidden":"true"})]})]})]})]})})}function $O(){return{activities:{},order:[],taskTitles:{},artifacts:[]}}const Zn=An()(n=>({bySession:{},applyEvent:(e,t)=>n(a=>{const s=a.bySession[e]??$O();switch(t.type){case"activity_started":return s.activities[t.activity.id]?a:{...a,bySession:{...a.bySession,[e]:{...s,activities:{...s.activities,[t.activity.id]:t.activity},order:[...s.order,t.activity.id]}}};case"activity_updated":{const o=s.activities[t.activityId];return o?{...a,bySession:{...a.bySession,[e]:{...s,activities:{...s.activities,[t.activityId]:{...o,...t.patch}}}}}:a}case"activity_finalized":{const o=s.activities[t.activityId];return o?{...a,bySession:{...a.bySession,[e]:{...s,activities:{...s.activities,[t.activityId]:{...o,status:t.status,endedAt:t.endedAt}}}}}:a}case"artifact_produced":return s.artifacts.some(o=>o.id===t.artifact.id)?a:{...a,bySession:{...a.bySession,[e]:{...s,artifacts:[...s.artifacts,t.artifact]}}};case"task_title_set":return{...a,bySession:{...a.bySession,[e]:{...s,taskTitles:{...s.taskTitles,[t.messageId]:t.title}}}};case"next_action_set":return{...a,bySession:{...a.bySession,[e]:{...s,nextAction:t.text??void 0}}};default:return a}}),resetSession:e=>n(t=>{if(!t.bySession[e])return t;const a={...t.bySession};return delete a[e],{bySession:a}}),finalizeSession:(e,t)=>n(a=>{const s=a.bySession[e];if(!s)return a;const o=Date.now(),l=["pending","running","paused","waiting_user"];let u=!1;const d={};for(const[h,m]of Object.entries(s.activities))l.includes(m.status)?(d[h]={...m,status:t,endedAt:o},u=!0):d[h]=m;return u?{...a,bySession:{...a.bySession,[e]:{...s,activities:d}}}:a}),markStatus:(e,t,a)=>n(s=>{const o=s.bySession[e];if(!o)return s;let l=!1;const u={};for(const[d,h]of Object.entries(o.activities))t.includes(h.status)?(u[d]={...h,status:a},l=!0):u[d]=h;return l?{...s,bySession:{...s.bySession,[e]:{...o,activities:u}}}:s})}));function jP(n,e,t){if(!e)return[];const a=n.bySession[e];if(!a)return[];const s=[];for(const o of a.order){const l=a.activities[o];l&&l.messageId===t&&s.push(l)}return s.sort((o,l)=>o.blockRange[0]-l.blockRange[0])}function HO(n,e){if(!e)return;const t=n.bySession[e];if(t)for(let a=t.order.length-1;a>=0;a--){const s=t.order[a];if(!s)continue;const o=t.activities[s];if(o&&(o.status==="running"||o.status==="waiting_user"||o.status==="paused"||o.status==="blocked"))return o}}function UO(n,e,t){var a;if(!(!e||!t))return(a=n.bySession[e])==null?void 0:a.taskTitles[t]}function FO(n){const e=Zn(a=>{var s;return n?(s=a.bySession[n])==null?void 0:s.taskTitles:void 0}),t=Ve(a=>n?a.messagesBySession[n]??[]:[]);if(!n||!e)return null;for(let a=t.length-1;a>=0;a--){const s=t[a];if(!s||s.type!=="assistant")continue;const o=e[s.id];if(o)return o}return null}const vp=["templates","plugins","connectors","skills","channels"],$o=An()(oi(n=>({pinned:vp,moreExpanded:!1,morePinned:!1,togglePin:e=>n(t=>({pinned:t.pinned.includes(e)?t.pinned.filter(a=>a!==e):[...t.pinned,e]})),setMoreExpanded:e=>n({moreExpanded:e}),toggleMorePinned:()=>n(e=>({morePinned:!e.morePinned}))}),{name:"deepseekcode-nav-storage",merge:(n,e)=>{var s;const t=n??{},a=(s=t.pinned)!=null&&s.length?[...t.pinned,...vp.filter(o=>!t.pinned.includes(o))]:vp;return{...e,...t,pinned:a}}})),Gd=10;function GO({sessionId:n,fallback:e}){const t=FO(n);return y.jsx("span",{className:"min-w-0 flex-1 truncate",title:t??e,children:t??e})}const u3=["chat","plan","agentflow"],d3=D.memo(function({collapsed:e,onToggleCollapse:t,tabs:a,activeTab:s,onTabChange:o,isConnected:l,onNewSession:u,onStartTemplate:d,onManageTemplates:h,onSwitchSession:m,onCloseSession:p,onRenameSession:b,getTabTitle:x}){const{t:k}=kt(),_=We(de=>de.sessionTabs),T=We(de=>de.activeSessionId),N=We(de=>de.historySessions),E=We(de=>de.restoreHistorySession),L=We(de=>de.removeHistorySession),[B,j]=D.useState(!1),[q,K]=D.useState(!1),[te,J]=D.useState(null),[be,Le]=D.useState(""),[fe,se]=D.useState(""),ge=D.useRef(null),xe=$o(de=>de.pinned),G=$o(de=>de.moreExpanded),le=$o(de=>de.morePinned),re=$o(de=>de.togglePin),Qe=$o(de=>de.setMoreExpanded),Ge=$o(de=>de.toggleMorePinned),qe=D.useMemo(()=>xe.filter(de=>!u3.includes(de)).map(de=>a.find(lt=>lt.id===de)).filter(de=>!!de),[a,xe]),Ie=D.useMemo(()=>a.filter(de=>!u3.includes(de.id)&&!xe.includes(de.id)),[a,xe]),Me=D.useCallback((de,lt)=>{J(de),Le(lt),setTimeout(()=>{var He;return(He=ge.current)==null?void 0:He.select()},50)},[]),mt=D.useCallback(()=>{te&&be.trim()&&b(te,be.trim()),J(null)},[te,be,b]),St=D.useCallback((de,lt)=>{var Jt;const He=Ve.getState().getMessages(de),je=[];je.push(`# ${lt||k("nav.chat")}`),je.push(""),je.push(`> ${k("chat.exportMd")} · ${new Date().toLocaleString()}`),je.push(""),je.push("---"),je.push(""),(!He||He.length===0)&&(je.push(k("chat.noSessions")),je.push(""));for(const Ht of He){if(Ht.deleted)continue;const yt=Ht.type==="user"?k("chat.you"):k("chat.assistantLabel");if(je.push(`## ${yt} · ${new Date(Ht.timestamp).toLocaleString()}`),je.push(""),Ht.thinking&&Ht.thinking.trim()&&(je.push("<details>"),je.push(`<summary>💭 ${k("chat.thoughtProcess")}</summary>`),je.push(""),je.push(Ht.thinking.trim()),je.push(""),je.push("</details>"),je.push("")),Ht.content&&Ht.content.trim()&&(je.push(Ht.content.trim()),je.push("")),Ht.steps&&Ht.steps.length>0){je.push(`**${k("chat.runningSteps")}:**`),je.push("");for(const Nn of Ht.steps){if(je.push(`- **${Nn.title}**${Nn.status?` (\`${Nn.status}\`)`:""}`),Nn.thought&&je.push(` - 💭 ${Nn.thought}`),(Jt=Nn.toolCalls)!=null&&Jt.length)for(const rr of Nn.toolCalls)je.push(` - 🛠 \`${rr.name}\``);Nn.result&&je.push(` - ${Nn.result}`)}je.push("")}je.push("---"),je.push("")}const _e=new Blob([je.join(`
|
|
465
|
-
`)],{type:"text/markdown;charset=utf-8"}),Ue=URL.createObjectURL(_e),At=document.createElement("a");At.href=Ue,At.download=`${(lt||"session").replace(/[\\/:*?"<>|]/g,"_").slice(0,80)}.md`,At.click(),URL.revokeObjectURL(Ue)},[k]),En=D.useCallback(de=>{E(de),Re.setSessionId(de)},[E]),an=D.useCallback(de=>{m(de),s!=="chat"&&o("chat")},[m,o,s]),In=D.useCallback(de=>{!_.some(He=>He.id===de)?(En(de),s!=="chat"&&o("chat")):an(de)},[_,En,an,s,o]),pn=Ve(de=>de.generatingSessions),_a=D.useCallback(de=>pn.includes(de.id)?"running":de.status||"done",[pn]),Ca=D.useMemo(()=>{const de=new Map,lt=fe.trim().toLowerCase(),je=[...lt?_.filter(Ue=>{const At=Zd(Ue);return Ue.title.toLowerCase().includes(lt)||(Ue.project||"").toLowerCase().includes(lt)||(At||"").toLowerCase().includes(lt)}):_].sort((Ue,At)=>(At.lastActiveAt??At.createdAt??0)-(Ue.lastActiveAt??Ue.createdAt??0));let _e=je;if(je.length>Gd){const Ue=je.slice(0,Gd),At=je.find(Jt=>Jt.id===T);At&&!Ue.some(Jt=>Jt.id===At.id)?_e=[At,...Ue.filter(Jt=>Jt.id!==At.id)].slice(0,Gd):_e=Ue}for(const Ue of _e){const At=Ue.project||"default",Jt=de.get(At)||[];Jt.push(Ue),de.set(At,Jt)}return Array.from(de.entries())},[_,T,fe]),Ta=D.useMemo(()=>{const de=new Set(_.map(lt=>lt.id));return _.length+N.filter(lt=>!de.has(lt.id)).length},[_,N]),la=(de,lt)=>{const He=s===de.id,je=de.iconComponent,_e=k(lt?"nav.unpin":"nav.pin");return e?y.jsx("button",{onClick:()=>o(de.id),className:`flex h-9 w-9 items-center justify-center rounded-lg transition-colors ${He?"bg-accent-blue/10 text-accent-blue":"text-dark-muted hover:bg-dark-hover hover:text-dark-text"}`,title:x(de.id,de.title),"aria-label":x(de.id,de.title),"aria-current":He?"page":void 0,children:je&&y.jsx(je,{size:17,"aria-hidden":"true"})},de.id):y.jsxs("button",{onClick:()=>o(de.id),className:"side-nav-item group","data-active":He,"aria-current":He?"page":void 0,children:[je&&y.jsx(je,{size:15,"aria-hidden":"true",className:"shrink-0"}),y.jsx("span",{className:"truncate",children:x(de.id,de.title)}),y.jsx("span",{role:"button",tabIndex:0,onClick:Ue=>{Ue.stopPropagation(),re(de.id)},onKeyDown:Ue=>{(Ue.key==="Enter"||Ue.key===" ")&&(Ue.stopPropagation(),re(de.id))},className:"ml-auto shrink-0 rounded p-0.5 text-dark-muted/60 opacity-0 transition-all hover:bg-dark-bg hover:text-dark-text group-hover:opacity-100",title:_e,"aria-label":_e,children:y.jsx(Mp,{size:11,"aria-hidden":"true",className:lt?"fill-current text-accent-blue":""})})]},de.id)},pt=de=>{if(Ie.length===0)return null;const lt=`${k("nav.moreOptions")} (${Ie.length})`,He=k(le?"nav.unpinMore":"nav.pinMore"),je=e?y.jsx("button",{onClick:()=>Qe(!G),className:`flex h-9 w-9 items-center justify-center rounded-lg transition-colors ${G?"bg-dark-hover text-dark-text":"text-dark-muted hover:bg-dark-hover hover:text-dark-text"}`,title:lt,"aria-label":lt,"aria-expanded":G,children:y.jsx(Rp,{size:17,"aria-hidden":"true"})},"more"):y.jsxs("div",{className:"group flex items-center",children:[y.jsxs("button",{onClick:()=>Qe(!G),className:`side-nav-item flex-1 ${G?"bg-dark-hover text-dark-text":""}`,"data-active":!1,"aria-expanded":G,children:[y.jsx(Rp,{size:15,"aria-hidden":"true",className:"shrink-0"}),y.jsx("span",{className:"truncate",children:k("nav.moreOptions")}),y.jsx("span",{className:"ml-auto rounded bg-dark-bg px-1.5 py-px text-[10px] text-dark-muted/70",children:Ie.length}),y.jsx(ti,{size:13,"aria-hidden":"true",className:`shrink-0 text-dark-muted/70 transition-transform duration-150 ${G?"rotate-180":""}`})]}),y.jsx("span",{role:"button",tabIndex:0,onClick:Ue=>{Ue.stopPropagation(),Ge()},onKeyDown:Ue=>{(Ue.key==="Enter"||Ue.key===" ")&&(Ue.stopPropagation(),Ge())},className:"mr-1 shrink-0 rounded p-0.5 text-dark-muted/60 opacity-0 transition-all hover:bg-dark-bg hover:text-dark-text group-hover:opacity-100",title:He,"aria-label":He,children:y.jsx(Mp,{size:11,"aria-hidden":"true",className:le?"fill-current text-accent-blue":""})})]},"more"),_e=G&&y.jsx("div",{className:`mt-0.5 space-y-0.5 ${e?"flex flex-col items-center":""}`,children:Ie.map(Ue=>la(Ue,!1))});return y.jsxs("div",{className:`${de?"mt-1 border-t border-dark-border/40 pt-1":"mt-1.5 border-t border-dark-border/40 pt-1.5"}`,children:[je,_e]},"more-section")};return y.jsxs("div",{className:"workbench-sidebar flex h-full flex-col",children:[y.jsxs("div",{className:`flex h-14 shrink-0 items-center gap-2.5 border-b border-dark-border/70 bg-dark-bg/20 ${e?"justify-center px-2":"px-4"}`,children:[y.jsx("img",{src:"/logo.svg",alt:"deepseekcode",className:"h-7 w-7 shadow-sm"}),!e&&y.jsx("span",{className:"flex-1 truncate text-[15px] font-semibold tracking-tight text-dark-text",children:"deepseekcode"}),y.jsx("button",{onClick:t,className:`rounded-md p-1.5 text-dark-muted transition-colors hover:bg-dark-hover hover:text-dark-text ${e?"hidden":""}`,title:k("nav.collapseSidebar"),"aria-label":k("nav.collapseSidebar"),children:y.jsx(_k,{size:16,"aria-hidden":"true"})})]}),y.jsx("div",{className:e?"p-2":"px-3 pt-3",children:d&&h?y.jsx(IO,{collapsed:e,onDirect:u,onStartTemplate:d,onManageTemplates:h}):y.jsxs("button",{onClick:u,className:"btn btn-primary w-full shadow-[0_8px_20px_rgb(var(--color-accent-blue)/0.14)]",children:[y.jsx(s0,{size:15,"aria-hidden":"true"}),k("chat.newSession")]})}),y.jsxs("div",{className:"flex-1 overflow-y-auto custom-scrollbar px-3 pb-2 min-h-0",children:[y.jsxs("nav",{className:"sticky top-0 z-10 border-b border-dark-border/50 bg-dark-surface pt-2",children:[(qe.length>0||le)&&y.jsxs("div",{className:`space-y-0.5 ${e?"flex flex-col items-center":""}`,children:[qe.map(de=>la(de,!0)),le&&pt(!0)]}),!le&&pt(!1)]}),!e&&y.jsxs("div",{className:"pt-2",children:[y.jsxs("div",{className:"mb-2 flex items-center gap-2 rounded-lg border border-dark-border/70 bg-dark-bg/45 px-2.5 py-1.5 focus-within:border-accent-blue/45",children:[y.jsx(W3,{size:13,className:"shrink-0 text-dark-muted","aria-hidden":"true"}),y.jsx("input",{value:fe,onChange:de=>se(de.target.value),className:"min-w-0 flex-1 bg-transparent text-xs text-dark-text placeholder:text-dark-muted/55 focus:outline-none",placeholder:k("nav.searchSessionsPlaceholder"),"aria-label":k("nav.searchSessions")}),fe&&y.jsx("button",{onClick:()=>se(""),className:"rounded p-0.5 text-dark-muted hover:bg-dark-hover hover:text-dark-text","aria-label":k("nav.clearSessionSearch"),children:y.jsx(xr,{size:11,"aria-hidden":"true"})})]}),y.jsxs("div",{className:"side-group-label flex items-center justify-between",children:[y.jsx("span",{children:k("nav.sessions")}),N.length>0&&y.jsxs("button",{onClick:()=>j(de=>!de),className:"flex items-center gap-0.5 rounded px-1 py-0.5 text-dark-muted/70 transition-colors hover:text-dark-text",title:k("chat.sessionHistory"),"aria-expanded":B,children:[y.jsx(_b,{size:11,"aria-hidden":"true"}),y.jsx(ti,{size:11,"aria-hidden":"true",className:`transition-transform ${B?"":"-rotate-90"}`})]})]}),y.jsxs("div",{className:"space-y-1.5",children:[Ca.map(([de,lt])=>y.jsxs("div",{children:[y.jsxs("div",{className:"flex items-center gap-1 px-2 py-0.5 text-[10px] text-dark-muted/70",children:[y.jsx(q3,{size:10,"aria-hidden":"true",className:"shrink-0 opacity-60"}),y.jsx("span",{className:"truncate",children:de==="default"?k("nav.mySessions"):de}),y.jsx("span",{className:"ml-auto text-[9px] text-dark-muted/40",children:lt.length})]}),y.jsx("div",{className:"space-y-0.5",children:lt.map(He=>{const je=He.id===T,_e=te===He.id,Ue=_a(He),At=Bg(He.lastActiveAt??He.createdAt,Date.now(),k),Jt=Zd(He),Ht=ax(He.title,Jt);return y.jsxs("div",{onClick:()=>!_e&&an(He.id),onDoubleClick:()=>Me(He.id,He.title),className:`group flex cursor-pointer items-center gap-2 rounded-lg px-2.5 py-[6px] text-[13px] transition-colors ${je?"bg-dark-hover font-medium text-dark-text":"text-dark-muted hover:bg-dark-hover/60 hover:text-dark-text"}`,children:[y.jsx(I0,{size:13,"aria-hidden":"true",className:"shrink-0 opacity-60"}),_e?y.jsx("input",{ref:ge,value:be,onChange:yt=>Le(yt.target.value),onBlur:mt,onKeyDown:yt=>{yt.key==="Enter"?mt():yt.key==="Escape"&&J(null)},onClick:yt=>yt.stopPropagation(),className:"min-w-0 flex-1 rounded border border-accent-blue bg-dark-bg px-1 py-0.5 text-xs text-dark-text outline-none",autoFocus:!0}):y.jsxs("span",{className:"min-w-0 flex-1",children:[y.jsxs("span",{className:"flex items-center gap-1.5",children:[y.jsx(GO,{sessionId:He.id,fallback:He.title}),Ue==="running"&&y.jsxs("span",{className:"pixel-spinner shrink-0 text-accent-red",title:k("nav.sessionRunning"),"aria-hidden":"true",children:[y.jsx("span",{}),y.jsx("span",{}),y.jsx("span",{}),y.jsx("span",{})]}),Ue==="waiting"&&y.jsx("span",{className:"h-2 w-2 shrink-0 rounded-[1px] bg-accent-yellow",title:k("nav.sessionWaiting")}),Ue==="failed"&&y.jsx("span",{className:"h-2 w-2 shrink-0 rounded-[1px] bg-accent-red",title:k("nav.sessionFailed")}),Ue==="done"&&y.jsxs("span",{className:"pixel-grid shrink-0 text-accent-green",title:k("nav.sessionDone"),"aria-hidden":"true",children:[y.jsx("span",{}),y.jsx("span",{}),y.jsx("span",{}),y.jsx("span",{})]})]}),y.jsxs("span",{className:"mt-0.5 flex items-center gap-2 text-[11px] leading-tight text-dark-muted/50",children:[Ht&&y.jsx("span",{className:"min-w-0 flex-1 truncate",children:Jt}),y.jsx("span",{className:`shrink-0 ${Ht?"":"ml-auto"}`,children:At})]})]}),!_e&&y.jsxs(y.Fragment,{children:[y.jsx("button",{onClick:yt=>{yt.stopPropagation(),Me(He.id,He.title)},className:"shrink-0 rounded p-0.5 opacity-0 transition-all hover:bg-dark-bg group-hover:opacity-100",title:k("chat.renameSession"),"aria-label":k("chat.renameSession"),children:y.jsx(Ck,{size:11,"aria-hidden":"true"})}),y.jsx("button",{onClick:yt=>{yt.stopPropagation(),St(He.id,He.title)},className:"shrink-0 rounded p-0.5 opacity-0 transition-all hover:bg-dark-bg group-hover:opacity-100",title:k("chat.exportMd"),"aria-label":k("chat.exportMd"),children:y.jsx(zc,{size:11,"aria-hidden":"true"})}),_.length>1&&y.jsx("button",{onClick:yt=>{yt.stopPropagation(),p(He.id)},className:"shrink-0 rounded p-0.5 opacity-0 transition-all hover:bg-dark-bg group-hover:opacity-100","aria-label":k("a11y.close"),children:y.jsx(xr,{size:12,"aria-hidden":"true"})})]})]},He.id)})})]},de)),Ca.length===0&&y.jsx("div",{className:"px-2.5 py-2 text-xs text-dark-muted/60",children:k("chat.noSessions")})]}),Ta>Gd&&y.jsxs("button",{onClick:()=>K(!0),className:"mt-1.5 flex w-full items-center justify-center gap-1 rounded-lg border border-dashed border-dark-border px-2 py-1.5 text-xs text-dark-muted transition-colors hover:bg-dark-hover hover:text-dark-text",title:k("chat.viewAllSessions"),children:[y.jsx(Tk,{size:12,"aria-hidden":"true"}),k("chat.viewAllSessions"),y.jsxs("span",{className:"text-dark-muted/50",children:["(",Ta,")"]})]}),B&&N.length>0&&y.jsx("div",{className:"mt-1 space-y-0.5 border-t border-dark-border/50 pt-1",children:N.slice(0,10).map(de=>{const lt=Zd(de);return y.jsxs("div",{onClick:()=>En(de.id),className:"group flex cursor-pointer items-center gap-2 rounded-lg px-2.5 py-1.5 text-xs text-dark-muted transition-colors hover:bg-dark-hover/60 hover:text-dark-text",children:[y.jsx(_b,{size:11,"aria-hidden":"true",className:"shrink-0 opacity-50"}),y.jsxs("span",{className:"min-w-0 flex-1",children:[y.jsx("span",{className:"block truncate",children:de.title}),lt&&y.jsx("span",{className:"block truncate text-[10px] text-dark-muted/50",children:lt})]}),y.jsx("span",{className:"shrink-0 text-[10px] text-dark-muted/50",children:Bg(de.lastActiveAt??de.createdAt,Date.now(),k)}),y.jsx("button",{onClick:He=>{He.stopPropagation(),L(de.id)},className:"shrink-0 rounded p-0.5 opacity-0 transition-all hover:bg-dark-bg group-hover:opacity-100","aria-label":k("chat.removeFromHistory"),children:y.jsx(xr,{size:11,"aria-hidden":"true"})})]},de.id)})})]})]}),y.jsxs("div",{className:`shrink-0 border-t border-dark-border/70 ${e?"p-2":"p-3"}`,children:[e&&y.jsx("button",{onClick:t,className:"mb-2 flex w-full items-center justify-center rounded-md p-1.5 text-dark-muted transition-colors hover:bg-dark-hover hover:text-dark-text",title:k("nav.expandSidebar"),"aria-label":k("nav.expandSidebar"),children:y.jsx(Ak,{size:16,"aria-hidden":"true"})}),y.jsxs("div",{className:`flex items-center gap-2 text-xs text-dark-muted ${e?"justify-center":"px-1.5"}`,role:"status","aria-label":k("a11y.connectionStatus"),children:[y.jsx("span",{className:`h-2 w-2 shrink-0 rounded-[1px] ${l?"bg-accent-green":"bg-accent-red"}`,"aria-hidden":"true"}),!e&&y.jsx("span",{className:"truncate",children:k(l?"chat.connected":"chat.disconnected")})]})]}),y.jsx(zO,{isOpen:q,onClose:()=>K(!1),onSwitchSession:In})]})}),qO={info:"bg-accent-blue",warn:"bg-accent-yellow",error:"bg-accent-red",success:"bg-accent-green",tool:"bg-accent-purple"};function VO(n){return n==null||n===""?"-":new Date(n).toLocaleString()}function WO(){const{t:n}=kt(),[e,t]=D.useState([]),[a,s]=D.useState(!0),[o,l]=D.useState(null),[u,d]=D.useState(null),[h,m]=D.useState(!1),p=D.useCallback(async()=>{s(!0);try{const _=await ft.logs.list();_.success&&Array.isArray(_.data)&&t(_.data)}catch(_){console.error("Failed to load log files:",_)}s(!1)},[]);D.useEffect(()=>{p()},[p]);const b=D.useCallback(async _=>{if(!_.previewable)return;l(_),m(!0);const T=await ft.logs.read(_.name,500);T.success&&T.data&&d(T.data),m(!1)},[]),x=D.useCallback(()=>{l(null),d(null)},[]),k=_=>_<1024?`${_} B`:_<1024*1024?`${(_/1024).toFixed(1)} KB`:`${(_/(1024*1024)).toFixed(1)} MB`;return o&&u?y.jsxs("div",{className:"flex flex-col min-h-0 h-full",children:[y.jsxs("div",{className:"flex items-center gap-2 mb-2 shrink-0",children:[y.jsx("button",{onClick:x,className:"p-1 rounded hover:bg-dark-hover transition-colors",title:n("logs.backToList"),children:y.jsx(Kg,{size:16})}),y.jsx("span",{className:"text-sm font-medium text-dark-text truncate flex-1",children:o.name}),y.jsxs("a",{href:ft.logs.downloadUrl(o.name),download:o.name,className:"flex items-center gap-1 px-2 py-1 text-xs bg-accent-blue text-white rounded hover:opacity-90 transition-opacity",children:[y.jsx(zc,{size:12}),n("logs.download")]})]}),h?y.jsx("div",{className:"flex-1 flex items-center justify-center",children:y.jsx(Ga,{size:20,className:"animate-spin text-accent-blue"})}):y.jsxs(y.Fragment,{children:[y.jsxs("div",{className:"text-[10px] text-dark-muted mb-1 shrink-0",children:[k(u.size)," · ",n("logs.totalLines",{count:u.totalLines}),u.startLine>1&&` ${n("logs.showingLatest",{count:u.totalLines-u.startLine+1})}`]}),y.jsx("div",{className:`flex-1 overflow-y-auto min-h-0 font-mono text-[11px] leading-relaxed whitespace-pre-wrap break-all
|
|
466
|
-
bg-dark-bg border border-dark-border rounded p-3 custom-scrollbar`,style:{scrollbarWidth:"thin",scrollbarColor:"#30363d transparent"},children:u.content||y.jsx("span",{className:"text-dark-muted italic",children:n("logs.emptyFile")})})]})]}):y.jsxs("div",{className:"flex flex-col min-h-0 h-full",children:[y.jsxs("div",{className:"flex items-center justify-between mb-2 shrink-0",children:[y.jsx("span",{className:"text-xs font-medium text-dark-text",children:n("logs.files")}),y.jsx("button",{onClick:p,className:"px-2 py-1 text-[10px] bg-dark-hover rounded hover:bg-dark-border transition-colors",disabled:a,children:n(a?"logs.refreshing":"logs.refresh")})]}),a?y.jsx("div",{className:"flex items-center justify-center py-8",children:y.jsx(Ga,{size:16,className:"animate-spin text-accent-blue"})}):e.length===0?y.jsxs("div",{className:"text-center py-8 text-dark-muted",children:[y.jsx(Jo,{size:32,className:"mx-auto mb-1 opacity-50"}),y.jsx("p",{className:"text-xs",children:n("logs.noFiles")})]}):y.jsx("div",{className:"flex-1 overflow-y-auto min-h-0 space-y-1 custom-scrollbar",children:e.map(_=>y.jsxs("div",{className:"flex items-center gap-2 p-2 rounded hover:bg-dark-hover transition-colors group",children:[y.jsx(Jo,{size:14,className:"text-accent-blue shrink-0"}),y.jsxs("div",{className:"flex-1 min-w-0",children:[y.jsx("div",{className:"text-xs text-dark-text truncate",children:_.name}),y.jsxs("div",{className:"text-[10px] text-dark-muted",children:[k(_.size)," · ",VO(_.modified)]})]}),y.jsxs("div",{className:"flex items-center gap-1 opacity-0 group-hover:opacity-100 transition-opacity",children:[_.previewable&&y.jsx("button",{onClick:()=>b(_),className:"p-1.5 rounded hover:bg-dark-border transition-colors",title:n("logs.preview"),children:y.jsx(Ek,{size:14})}),y.jsx("a",{href:ft.logs.downloadUrl(_.name),download:_.name,className:"p-1.5 rounded hover:bg-dark-border transition-colors block",title:n("logs.download"),children:y.jsx(zc,{size:14})})]})]},_.name))})]})}const f3=D.memo(D.forwardRef(function({logs:e},t){const{t:a}=kt();return y.jsx("div",{ref:t,className:"flex-1 overflow-y-auto min-h-0 font-mono text-xs space-y-0.5 custom-scrollbar",children:e.length===0?y.jsxs("div",{className:"text-center text-dark-muted py-12",children:[y.jsx(Ac,{size:48,className:"mx-auto mb-2 opacity-50"}),y.jsx("p",{children:a("logs.noLogs")})]}):e.map(s=>y.jsxs("div",{className:`p-2 rounded hover:bg-dark-surface transition-colors ${s.level==="error"?"bg-accent-red/10":s.level==="warn"?"bg-accent-yellow/10":s.level==="success"?"bg-accent-green/10":""}`,children:[y.jsx("span",{className:"text-dark-muted text-xs",children:new Date(s.timestamp).toLocaleTimeString("zh-CN",{hour:"2-digit",minute:"2-digit",second:"2-digit"})})," ",y.jsx("span",{className:`px-1.5 py-0.5 rounded text-white text-xs ${qO[s.level]}`,children:s.level.toUpperCase()})," ",y.jsxs("span",{className:"text-dark-muted text-xs",children:["[",s.source,"]"]})," ",y.jsx("span",{className:"text-dark-text whitespace-pre-wrap break-all",children:s.message})]},s.id))})})),KO=D.memo(function({logs:e,onClear:t,compact:a}){const{t:s}=kt(),[o,l]=D.useState("stream"),u=D.useRef(null),d=D.useRef(!0),h=D.useCallback(()=>{const p=u.current;return p?p.scrollHeight-p.scrollTop-p.clientHeight<50:!0},[]),m=D.useCallback(()=>{const p=u.current;p&&(p.scrollTop=p.scrollHeight)},[]);return D.useEffect(()=>{const p=u.current;if(!p)return;const b=()=>{d.current=h()};return p.addEventListener("scroll",b,{passive:!0}),()=>p.removeEventListener("scroll",b)},[h]),D.useEffect(()=>{d.current&&m()},[e,m]),D.useEffect(()=>{const p=u.current;if(!p)return;let b=p.clientHeight;const x=new ResizeObserver(()=>{const k=p.clientHeight;k>0&&b===0&&m(),b=k});return x.observe(p),()=>x.disconnect()},[m]),a?y.jsxs("div",{className:"flex flex-col min-h-0 flex-1 p-2",children:[y.jsxs("div",{className:"flex items-center justify-between mb-2 shrink-0",children:[y.jsxs("h2",{className:"flex items-center gap-2 text-xs font-semibold",children:[y.jsx(Ac,{size:14,className:"text-accent-blue"}),s("logs.title"),y.jsxs("span",{className:"text-sm font-normal text-dark-muted",children:["(",e.length,")"]})]}),y.jsx("button",{onClick:t,className:"bg-dark-surface border border-dark-border rounded hover:bg-dark-hover transition-colors px-2 py-1 text-[10px]",children:s("logs.clear")})]}),y.jsx(f3,{ref:u,logs:e})]}):y.jsxs("div",{className:"flex flex-col min-h-0 flex-1 overflow-hidden p-4",children:[y.jsx("div",{className:"flex items-center justify-between mb-3 shrink-0",children:y.jsxs("h2",{className:"flex items-center gap-2 text-lg font-semibold",children:[y.jsx(Ac,{size:18,className:"text-accent-blue"}),s("logs.backendLogs")]})}),y.jsx("div",{className:"flex gap-1 mb-3 shrink-0 border-b border-dark-border",children:[["stream",s("logs.streamTab"),Ac],["files",s("logs.files"),Jo]].map(([p,b,x])=>y.jsxs("button",{onClick:()=>l(p),className:`flex items-center gap-1.5 px-4 py-2 text-sm rounded-t transition-colors border-b-2 ${o===p?"border-accent-blue text-accent-blue bg-accent-blue/5":"border-transparent text-dark-muted hover:text-dark-text hover:bg-dark-hover"}`,children:[y.jsx(x,{size:14}),b,p==="stream"&&e.length>0&&y.jsxs("span",{className:"ml-1 text-[10px] text-dark-muted",children:["(",e.length,")"]})]},p))}),o==="stream"&&y.jsxs("div",{className:"flex flex-col flex-1 min-h-0",children:[y.jsx("div",{className:"flex items-center justify-end mb-2 shrink-0",children:y.jsx("button",{onClick:t,className:"bg-dark-surface border border-dark-border rounded hover:bg-dark-hover transition-colors px-3 py-1.5 text-sm",children:s("logs.clear")})}),y.jsx(f3,{ref:u,logs:e})]}),o==="files"&&y.jsx("div",{className:"flex-1 min-h-0 overflow-y-auto",children:y.jsx("div",{className:"border border-dark-border rounded-lg p-3 bg-dark-surface h-full",children:y.jsx(WO,{})})})]})}),YO=n=>{if(n==null||n==="")return{};if(typeof n!="string")return n;try{return JSON.parse(n)}catch{return n}},qd=(n,e="")=>typeof n=="string"?n:String((n==null?void 0:n.content)||(n==null?void 0:n.message)||(n==null?void 0:n.text)||(n==null?void 0:n.error)||e||""),ZO=n=>Array.isArray(n)?n:Array.isArray(n==null?void 0:n.tasks)?n.tasks:Array.isArray(n==null?void 0:n.items)?n.items:Array.isArray(n==null?void 0:n.planTasks)?n.planTasks:[],bp=(n,e,t=0)=>{const a=String(n.id||n.taskId||n.backendId||`plan-task-${t+1}`),s=kr(n.status||n.planStatus,n.completed),o=Date.now()+t;return{id:a,sessionId:e,title:String(n.title||n.name||n.content||n.description||`Task ${t+1}`),description:n.description||n.details||n.content,status:s,source:"plan",agentType:n.agentType||n.agent||n.role,progress:n.progress!=null?Number(n.progress):void 0,result:n.result,error:n.error,dependencies:Array.isArray(n.dependencies)?n.dependencies.map(String):void 0,startedAt:n.startedAt?Number(n.startedAt):s==="running"?o:void 0,completedAt:n.completedAt?Number(n.completedAt):s==="completed"||s==="failed"?o:void 0,createdAt:n.createdAt&&Number(n.createdAt)||o,updatedAt:o,raw:n}},h3=(n,e,t=0)=>{const a=String(n.id||n.taskId||n.backendId||`goal-task-${t+1}`),s=kr(n.status),o=Date.now()+t;return{id:a,sessionId:e,title:String(n.title||n.name||n.content||n.description||`Task ${t+1}`),description:n.description||n.details||n.content,status:s,source:"goal",agentType:n.agentType||n.agent||n.role,progress:n.progress!=null?Number(n.progress):void 0,result:n.result,error:n.error,dependencies:Array.isArray(n.parentIds)?n.parentIds.map(String):void 0,startedAt:n.startedAt?Number(n.startedAt):s==="running"?o:void 0,completedAt:n.completedAt?Number(n.completedAt):s==="completed"||s==="failed"?o:void 0,createdAt:n.createdAt&&Number(n.createdAt)||o,updatedAt:n.updatedAt?Number(n.updatedAt):o,raw:n}},XO=(n,e)=>{const t=String((e==null?void 0:e.taskId)||(e==null?void 0:e.id)||"");if(!t)return;const a=xt.getState().getTasksForSession(n).find(u=>u.id===t),s=We.getState().getSessionTasks(n).find(u=>u.id===t||u.backendId===t),o=e!=null&&e.status?kr(e.status):(a==null?void 0:a.status)||"pending",l={id:t,sessionId:n,title:(e==null?void 0:e.title)||(a==null?void 0:a.title)||(s==null?void 0:s.title)||t,description:(e==null?void 0:e.description)??(a==null?void 0:a.description)??(s==null?void 0:s.description),status:o,source:"goal",agentType:(e==null?void 0:e.agentType)||(a==null?void 0:a.agentType),progress:(e==null?void 0:e.progress)!=null?Number(e.progress):a==null?void 0:a.progress,result:(e==null?void 0:e.result)??(a==null?void 0:a.result),error:(e==null?void 0:e.error)??(a==null?void 0:a.error),startedAt:o==="running"?Date.now():a==null?void 0:a.startedAt,completedAt:o==="completed"||o==="failed"?Date.now():a==null?void 0:a.completedAt,createdAt:(a==null?void 0:a.createdAt)||Date.now(),updatedAt:Date.now(),raw:e};return xt.getState().upsertTask(n,l),jg(n,l),l},Cc=n=>({id:n.id,title:n.title,completed:n.status==="completed",createdAt:n.createdAt,description:n.description,planStatus:n.status,agentType:n.agentType,dependencies:n.dependencies,result:n.result,error:n.error,startedAt:n.startedAt,completedAt:n.completedAt,progress:n.progress}),jg=(n,e)=>{const t=We.getState(),a=t.getSessionTasks(n),s=Cc(e);if(a.some(o=>o.id===e.id||o.backendId===e.id)){t.updateTaskPlanStatus(n,e.id,s);return}t.setSessionTasks(n,[...a,s])},Vd=n=>{const e=Ve.getState(),t=e.getMessages(n),a=t[t.length-1];(!a||a.type!=="assistant")&&e.addMessage(n,{id:`plan-${Date.now()}`,type:"assistant",content:"",timestamp:Date.now()})};function m3(n,e,t){const a=Zo.getState(),s=Ve.getState(),o=xt.getState(),l=YO(e);switch(n){case"plan_start":{s.startGeneration(t),Vd(t);const u=qd(l,"Plan started");u&&a.setThinkingStatus(t,u),o.recordEvent(t,{type:n,source:"plan",title:"Plan started",message:u,status:"running",data:l});break}case"plan_thinking":{const u=qd(l,"Analyzing request...");a.setThinkingStatus(t,u),Vd(t),s.setThinking(t,u),o.recordEvent(t,{type:n,source:"plan",title:"Plan thinking",message:u,status:"running",data:l});break}case"plan_complete":{const u=(l==null?void 0:l.plan)||(l==null?void 0:l.content)||(l==null?void 0:l.result)||(l==null?void 0:l.markdown);if(u){a.setPlanContent(String(u)),Vd(t);const d=s.getMessages(t),h=d[d.length-1];(h==null?void 0:h.type)==="assistant"&&!h.content.trim()&&s.updateLastMessage(t,String(u))}else{const d=[...s.getMessages(t)].reverse().find(h=>h.type==="assistant");d!=null&&d.content&&a.setPlanContent(d.content)}s.endGeneration(t),o.recordEvent(t,{type:n,source:"plan",title:"Plan complete",message:qd(l,"Plan complete"),status:"completed",data:l});break}case"plan_error":{const u=qd(l,"Plan failed");Vd(t),s.updateLastMessage(t,`Plan failed: ${u}`),s.endGeneration(t,u),o.recordEvent(t,{type:n,source:"plan",title:"Plan failed",message:u,status:"failed",data:l});break}case"plan_tasks":{const u=ZO(l).map((d,h)=>bp(d,t,h));o.setTasks(t,u,"plan"),We.getState().setSessionTasks(t,u.map(Cc)),o.recordEvent(t,{type:n,source:"plan",title:"Plan tasks updated",message:`${u.length} tasks`,status:"pending",data:l});break}case"plan_task_start":case"plan_task_update":case"plan_task_result":{const u=bp(l,t),d=n==="plan_task_start"?"running":kr(n==="plan_task_result"?l.status||(l.error?"failed":"completed"):l.status||l.planStatus),h={...u,status:d,startedAt:u.startedAt||(d==="running"?Date.now():void 0),completedAt:u.completedAt||(d==="completed"||d==="failed"?Date.now():void 0)};o.upsertTask(t,h),jg(t,h),o.recordEvent(t,{type:n,source:"plan",title:h.title,message:h.result||h.error||h.description,status:h.status,taskId:h.id,data:l});break}case"plan_task_complete":{const u=bp(l,t),d=String(l.status||"")==="failed"||!!l.error,m={...u,status:d?"failed":"completed",completedAt:u.completedAt||Date.now()};o.upsertTask(t,m),jg(t,m),o.recordEvent(t,{type:n,source:"plan",title:m.title,message:m.result||m.error||m.description,status:m.status,taskId:m.id,data:l});const p=m.title||`task ${m.id}`;d?Ye.error(`✘ ${p} 失败`,6e3):Ye.success(`✓ ${p} 完成`,4e3);break}case"plan_subagent_start":{const u=(l==null?void 0:l.scope)||(l==null?void 0:l.agentId)||"design sub-agent";o.recordEvent(t,{type:n,source:"plan",title:`设计子代理: ${u}`,message:(l==null?void 0:l.title)||"Reading codebase and designing implementation details...",status:"running",data:l});break}case"plan_subagent_done":{const u=(l==null?void 0:l.scope)||(l==null?void 0:l.agentId)||"design sub-agent",d=(l==null?void 0:l.status)==="error"||(l==null?void 0:l.status)==="timeout"||(l==null?void 0:l.status)==="max_iterations"||!!(l!=null&&l.error);o.recordEvent(t,{type:n,source:"plan",title:`设计子代理: ${u}`,message:d?`设计失败: ${(l==null?void 0:l.error)||(l==null?void 0:l.status)||"error"}`:l!=null&&l.designDocPath?`设计完成 → ${l.designDocPath}`:"设计完成",status:d?"failed":"completed",data:l});break}case"plan_mode_change":{const u=(l==null?void 0:l.frontendMode)||(l==null?void 0:l.newMode),d=l==null?void 0:l.planPath;u==="normal"?a.applyBackendMode("normal"):u==="auto"?a.setAuto(!0):(u==="plan"||u==="act"||u==="goal"||u==="auto-plan"||u==="auto-act"||u==="auto-goal")&&a.applyBackendMode(u);const h=d?` [plan: ${d}]`:"";o.recordEvent(t,{type:n,source:"system",title:"Mode changed",message:`${(l==null?void 0:l.previousMode)||"unknown"} -> ${u||"unknown"}${h}`,status:(l==null?void 0:l.success)===!1?"failed":"completed",data:l});break}case"goal_created":{o.recordEvent(t,{type:n,source:"goal",title:(l==null?void 0:l.goalTitle)||(l==null?void 0:l.title)||"Goal created",message:l!=null&&l.goalId?`Goal ${l.goalId}`:"Goal created",status:"pending",data:l});break}case"goal_tasks":{const u=Array.isArray(l==null?void 0:l.tasks)?l.tasks.map((d,h)=>h3(d,t,h)):[];o.setTasks(t,u,"goal"),We.getState().setSessionTasks(t,u.map(Cc)),o.recordEvent(t,{type:n,source:"goal",title:(l==null?void 0:l.goalTitle)||"Goal tasks",message:`${u.length} tasks`,status:"pending",data:l});break}case"goal_task_update":{const u=String((l==null?void 0:l.taskId)||(l==null?void 0:l.id)||""),d=XO(t,l);o.recordEvent(t,{type:n,source:"goal",title:(d==null?void 0:d.title)||u||"Goal task update",message:(l==null?void 0:l.result)||(l==null?void 0:l.error)||(l!=null&&l.status?`status: ${l.status}`:"updated"),status:d==null?void 0:d.status,taskId:u||void 0,data:l});break}case"goal_update":{const u=Array.isArray(l==null?void 0:l.tasks)?l.tasks.map((d,h)=>h3(d,t,h)):[];o.setTasks(t,u,"goal"),We.getState().setSessionTasks(t,u.map(Cc)),o.recordEvent(t,{type:n,source:"goal",title:(l==null?void 0:l.goalTitle)||(l==null?void 0:l.title)||"Goal update",message:(l==null?void 0:l.status)||(l!=null&&l.id?`Goal ${l.id}`:"Goal updated"),status:l!=null&&l.status?kr(l.status):void 0,data:l});break}case"goal_completed":{const u=String((l==null?void 0:l.goalId)||""),d=o.getTasksForSession(t).filter(h=>h.source==="goal");if(d.length>0){const h=d.map(m=>m.status==="pending"||m.status==="running"?{...m,status:"completed",completedAt:Date.now(),updatedAt:Date.now()}:m);o.setTasks(t,h,"goal"),We.getState().setSessionTasks(t,h.map(Cc))}o.recordEvent(t,{type:n,source:"goal",title:l!=null&&l.goalTitle?`Goal 完成: ${String(l.goalTitle).slice(0,60)}`:"Goal completed",message:l!=null&&l.result?String(l.result).slice(0,200):u?`Goal ${u} completed`:"Goal completed",status:"completed",data:l});break}}}const QO={confirm:"确认",cancel:"取消",save:"保存",saving:"保存中...",delete:"删除",close:"关闭",refresh:"刷新",retry:"重试",loading:"加载中...",collapse:"折叠",expand:"展开",collapse_short:"收起",clear:"清空",noData:"暂无数据",noResults:"暂无结果",unknown:"未知",unknownError:"未知错误",connecting:"连接中…",back:"返回",send:"发送",copy:"复制",copied:"已复制",search:"搜索...",filter:"全部",pageInfo:"显示 {{start}}-{{end}} 条,共 {{total}} 条",prevPage:"上一页",nextPage:"下一页",enabled:"已启用",disabled:"已禁用",online:"在线",offline:"离线",busy:"忙碌",away:"离开",default:"默认"},JO={chat:"对话",terminal:"终端",files:"文件",models:"模型",tools:"工具",skills:"技能",templates:"预设",hooks:"Hooks",agentFlow:"Agent Flow",settings:"设置",logs:"日志",channels:"频道",sessions:"会话",groupWorkspace:"工作台",groupConfig:"配置",groupSystem:"系统",collapseSidebar:"收起侧栏",expandSidebar:"展开侧栏",moreOptions:"更多",scheduled:"定时任务",plugins:"插件",mySessions:"我的会话",sessionRunning:"运行中",sessionWaiting:"待确认",sessionFailed:"失败",sessionDone:"已完成",connectors:"连接器",pin:"置顶",unpin:"取消置顶",pinMore:"置顶「更多」",unpinMore:"取消置顶「更多」",clearSessionSearch:"清除会话搜索",searchSessions:"搜索会话",searchSessionsPlaceholder:"搜索会话..."},eL={newSession:"新建会话",noSessions:"暂无会话",renameSession:"重命名会话",exportMd:"导出为 Markdown",you:"你",thinkingEllipsis:"思考中…",messageRail:"消息导航",messageIndex:"对话索引",backToBottom:"回到最新消息",generatingPlaceholder:"AI 正在生成中…",defaultSessionTitle:"对话 {{n}}",welcome:"欢迎使用 deepseekcode",welcomeDesc:"我可以帮你编写代码、分析项目、自动化任务。试试发送一条消息吧!",suggestionCode:"代码编写",suggestionCodePrompt:"用 Python 实现快速排序,并解释它的时间复杂度",suggestionAnalyze:"代码分析",suggestionAnalyzePrompt:"分析当前项目的目录结构,告诉我它是如何组织的",suggestionAutomate:"自动化任务",suggestionAutomatePrompt:"帮我写一个脚本,自动整理当前目录下的文件",quickCommands:"查看快捷命令",refFiles:"引用文件",inputPlaceholder:"输入消息... Shift+Enter 换行,/ 命令,@ 引用文件,↑ 历史",charTokens:"{{chars}} 字符 · ~{{tokens}} tokens",nearLimit:"接近上限",shiftEnter:"Shift+Enter 换行",escHint:"Esc 暂停 · 双击 Esc 停止",resume:"恢复",resumeGen:"恢复生成",stop:"终止",stopGen:"终止生成",pause:"暂停",pauseGen:"暂停生成",sendBtn:"发送",voiceInput:"语音输入",voiceListening:"正在聆听...",voiceTranscribing:"识别中...",voiceUnsupported:"当前浏览器不支持语音输入",voiceError:"语音识别出错,请重试",connected:"已连接",disconnected:"未连接",sessionHistory:"会话历史",noHistory:"暂无历史会话",clearHistory:"清空历史",clearHistoryTitle:"清空历史",restoreSession:"点击恢复「{{title}}」",removeFromHistory:"从历史移除",viewAllSessions:"更多会话",allSessions:"全部会话",sessionPickerTitle:"选择会话",clickToOpenSession:"打开会话",workingDir:"工作目录",switchDir:"切换",clickToSwitchDir:"点击切换工作目录",switchDirPrompt:"请输入新的工作目录路径:",addTask:"添加",addTaskPlaceholder:"添加任务...",noTasks:"暂无任务,在上方输入添加",taskBoardDragHint:"下拉展开 · 上推收起 · 点击切换",doubleClickEdit:"双击编辑",deleteTask:"删除任务",backgroundLogs:"后台日志",effort:"推理力度",effortOff:"关闭思考",effortLow:"低",effortMedium:"中",effortHigh:"高",effortExtraHigh:"超高",effortMax:"最高",noWorkspaceDir:"未设置工作目录",recentDirs:"最近记录",noRecentDirs:"暂无最近目录",chooseOtherDir:"选择其他目录…",dirPickerTitle:"选择工作目录",dirPickerEnterPath:"输入完整路径后回车跳转",dirPickerGo:"跳转",dirPickerUp:"上一级",dirPickerNoDirs:"无子目录",dirPickerConfirm:"选择此目录",dirPickerLoadError:"目录读取失败",artifactPanel:"AI 输出物",workspaceTitle:"工作台",workspaceToggle:"切换到工作台",artifactsToggle:"切换到输出物",workspaceHint:"工作台为 AI Agent 工作区:组件按动态布局加载,可响应事件与命令。",artifactEmpty:"暂无输出文件。点击聊天中的文件 / 路径链接即可在右侧预览。",artifactHint:"点击聊天中的文件 / 路径链接即可在右侧预览;拖拽边缘可调整宽度,右上角可最大化",previewInPanel:"预览",backToArtifacts:"返回清单",openInNewTab:"新标签页打开",copyPath:"复制路径",copiedPath:"已复制路径",copyPathFailed:"复制失败",filePreviewHint:"该文件类型不支持内嵌预览,可下载或在新标签页中打开。",sidebarProgress:"进度",sidebarArtifacts:"AI 输出物",sidebarOpen:"打开",sidebarOpenFolder:"打开首个输出文件",sidebarExpandAll:"展开全部",sidebarMaximize:"最大化",sidebarRestore:"恢复大小",sidebarWorking:"正在处理…",sidebarWorkingWithAgents:"正在处理({{n}} 个 Agent 运行中)…",sidebarWorkingToolcalls:"正在处理(已调用 {{n}} 次工具)…",sidebarIdle:"多步骤任务运行时,进度会显示在这里:计划、工具调用、审批与产出文件。",sidebarMoreTasks:"更多任务",sidebarRunningAgents:"{{n}} 个 Agent 运行中",sidebarToolcallsSoFar:"已调用 {{n}} 次工具",tokenPrompt:"提示词",tokenCompletion:"补全",tokenTotal:"总计",totalChars:"总字符数",avgTokens:"平均 token/条",estimatedCost:"预估成本: ${{cost}}",contextTrimming:"上下文裁剪",keepMore:"保留更多",trimMore:"裁剪更多",trimContext:"裁剪上下文 (保留 ~{{n}} 条消息)",currentMessages:"当前 {{n}} 条消息",totalCharsInfo:"· 共 {{n}} 字符",contextManager:"上下文管理",showContext:"显示上下文信息",taskBoard:"任务看板",morePending:"还有 {{n}} 个待处理任务...",moreCompleted:"还有 {{n}} 个已完成任务...",dependencyCount:"🔗 依赖 {{n}} 个任务",contextSuggestions:"展开 ({{n}}条建议)",collapseSuggestions:"收起",toolRequest:"工具请求: ",toolResult:"工具结果: ",memory:"记忆: ",filesCount:"({{n}}文件)",saveTokens:"可节省 ~{{n}}",ignoreSuggestion:"忽略此建议",fileMention:"@ 引用文件",fileMentionSearch:'@ 搜索: "{{query}}"',fileMentionHelp:"↑↓ 选择 · Enter 插入 · Esc 关闭",fileBrowser:"文件浏览器",fileSaved:"文件已保存",fileReadError:"读取文件失败",fileSaveError:"保存失败",fileModified:"● 已修改",selectFilePreview:"选择文件以预览或编辑",kbdHint:"命令面板",clickToSwitchMode:"点击切换模式 (Plan → Goal → Act)",selectModel:"选择模型",clickToSelectModel:"选择模型 / 推理力度",noEnabledModels:"暂无可用模型",globalDefault:"全局默认",planDefault:"Plan 默认",actDefault:"Act 默认",goalDefault:"Goal 默认",followGlobalDefault:"跟随全局默认",followGlobalDefaultHint:"清除本模式默认,回退到全局默认",noGlobalDefault:"未设置全局默认",browseMoreModels:"浏览 Provider 更多模型…",backToModels:"返回模型列表",selectProvider:"选择 Provider",searchModels:"搜索模型…",loadingModels:"加载模型列表…",noModelsFound:"未找到匹配的模型",noProviderModels:"该 Provider 暂无可用的模型列表",noConfiguredProviders:"暂未配置 Provider",addAndSwitch:"添加并切换",alreadyAdded:"已添加",addingModel:"添加中…",currentModel:"当前模型",loadModelsFailed:"获取模型列表失败",addModelFailed:"添加模型失败",switchModelFailed:"切换模型失败",modelsSourceProviderApi:"实时从 Provider API 获取",modelsSourceCatalog:"来自模型目录 (models.dev)",assistantLabel:"DeepSeekCode",thoughtProcess:"思维过程",runningSteps:"执行中",stepCount:"步",stepCountPlural:"步",copyMessage:"复制",regenerate:"重新生成",deleteMessage:"删除消息",historyCount:"{{n}} 条",startChatHint:"请先开始对话",panelTitle:"面板",messageDeleted:"消息已删除",thinking:"思考中",askAnswerPlaceholder:"输入您的回答...",askAnswered:"✓ 已回答",askAutoContinue:"⏱ {{seconds}}s 后未回答将自动按推荐项继续",askBackToEdit:"返回修改",askBatchTitle:"批量确认",askConfirmQuestion:"确认本题",askCustomDesc:"输入自定义答案",askCustomTag:"(自定义)",askDirectTag:"(直接继续)",askEmptyInputValue:"(用户未输入)",askEnterHint:"Enter 提交,Shift+Enter 换行",askFinishQuestion:"完成本题 ({{count}} 项)",askMultiHintBatch:"点击选项勾选,再点击「完成本题」提交本题;「推进」表示按 AI 判断继续",askMultiHintSingle:"点击选项勾选,再点击「提交所选」提交;「推进」表示按 AI 判断继续",askNextQuestion:"下一题",askNotAnswered:"未回答",askOtherLabel:"其他(我来说明)",askPendingBadge:"待回答",askPrevQuestion:"上一题",askProceedDesc:"不选具体项,按你的最佳判断继续",askProceedLabel:"推进",askReviewTitle:"确认答案",askSingleHintBatch:"点击选项完成本题自动进入下一题,或点击「确认本题」提交当前高亮项",askSingleHintSingle:"点击选项立即提交,或点击下方「提交」确认当前选项",askSingleTitle:"请回答",askSubmit:"提交",askSubmitAll:"提交全部答案",askSubmitSelected:"提交所选 ({{count}} 项)",askSubmitting:"提交中...",askUnansweredValue:"(用户未回答)",askUnansweredWarning:"有 {{count}} 题未回答,将记为「未回答」。点击上方题号可回到对应题目修改。",askViewSubmit:"查看提交",assemblyOrderHint:"按后端上下文组装顺序(上→下):系统提示词 → 系统工具 → MCP 工具 → 技能 → 消息 → 其他(估算差额)",avgCacheHitRate:"平均缓存命中率",byAssemblyOrder:"按组装顺序 ↓",cacheHitTitle:"缓存命中 {{hit}} / 未命中 {{miss}}({{calls}} 次调用)",cacheNoStats:"暂无缓存统计(provider 未返回 prompt_cache_hit/miss 字段)",cacheWaitingRun:"本轮 run 进行中,等待 provider 上报缓存统计",categoryBreakdown:"分类占比",contextCapacity:"上下文容量",ctxMcpTools:"MCP 工具",ctxMessages:"消息",ctxOther:"其他",ctxSkills:"技能",ctxSystemPrompt:"系统提示词",ctxSystemTools:"系统工具",distAssistantMessages:"助理消息",distToolRequest:"工具请求",distToolResult:"工具结果",distUserMessages:"用户消息",duplicateReads:"⚠️ 重复读取: {{pct}}%",enterInsertMulti:"Enter 插入 · 可连续多选",fileMentionHelpMulti:"↑↓ 选择 · Enter 插入(可连续多选)· Esc 关闭",finishMention:"完成引用",keepPercent:"{{pct}}% 保留",lastCompactInfo:"上次压缩: {{orig}}→{{comp}} · {{saved}} tok",noMatchingFiles:"未找到匹配的文件",saveAsTemplate:"保存为模板",searchingFiles:"搜索文件中...",selectedCountShort:"已选 {{n}}",selectedFilesCount:"已选 {{n}} 个文件",templateLibrary:"模板库",tokenDistribution:"Token 分布",unitWan:"万",unitYi:"亿",viewContextDetail:"查看上下文容量详情",loading:"加载中…"},tL={title:"键盘快捷键",commandPalette:"打开命令面板",clearLogs:"清空日志",help:"显示快捷键帮助",submit:"提交输入",newline:"换行",closeDialog:"关闭弹窗 / 暂停生成",slashCommand:"快捷命令",fileRef:"引用文件",stopGen:"终止生成(连按两次 Esc)"},nL={placeholder:"搜索命令或跳转面板...",navGroup:"导航",commandGroup:"命令",empty:"没有匹配的命令",hint:"↑↓ 选择 · Enter 执行 · Esc 关闭",running:"执行中..."},aL={openMenu:"打开菜单",closeMenu:"关闭菜单",close:"关闭",expand:"展开",collapse:"折叠",delete:"删除",remove:"移除",send:"发送消息",newSession:"新建会话",messageInput:"消息输入框",connectionStatus:"连接状态",loading:"加载中",toggleAgentFlow:"切换 Agent 信息流",commandPalette:"命令面板",shortcutsHelp:"快捷键帮助"},rL={mode:"模式",planMode:"Plan 模式 — 只读分析",planModeDesc:"在 Plan 模式下,AI 将使用只读工具分析需求和代码,不会修改任何文件。",planModeHint:"分析完成后,请切换到 Act 模式执行具体实现。",switchToAct:"切换到 Act 模式执行",actMode:"Act 模式",actModeDesc:"在 Act 模式下,AI 可以读取、修改文件并执行命令。",actModeHint:"需要先分析需求?切换到 Plan 模式进行只读探索。",switchToPlan:"切换到 Plan 模式分析",readOnlyMode:"只读模式",planTitle:"Plan Mode:只读探索,不能修改代码",actTitle:"Act Mode:可以读写和执行",switchToPlanMode:"切换到规划模式",switchToActMode:"切换到执行模式",autoMode:"自动模式:自动批准工具调用",goalMode:"Goal 模式",planModeShort:"只读分析与规划,不修改文件",actModeShort:"读写文件并执行命令",goalModeShort:"围绕目标持续推进直到完成",autoApprove:"Auto 自动批准",autoApproveShort:"自动批准所有工具调用",planContent:"Plan 文件内容",analyzing:"正在分析需求...",modePlanTitle:"Plan 模式 — 只读探索",modePlanDesc:"只读模式。AI 只能读取文件和分析代码,不能进行任何修改。分析完成后使用 ExitPlanMode 切换到 Act 模式执行。",modeActTitle:"Act 模式 — 执行",modeActDesc:"读写模式。AI 可以读取、修改文件并执行命令。低风险操作自动放行,高风险操作需要确认。",modeGoalTitle:"Goal 模式 — 目标任务",modeGoalDesc:"面向目标的执行模式。AI 在活跃任务范围内可以读写和执行,超出范围的操作需要确认。",modeNormalTitle:"Normal 模式 — 标准交互",modeNormalDesc:"标准交互模式。所有工具正常使用,写操作和命令执行需要用户确认。",readOnlyBadge:"🔒 只读",autoApproveBadge:"✅ 自动审批",toPlanMode:"切换到 Plan 模式",toActMode:"切换到 Act 模式",modeCycleHint:"模式切换: Plan → Act → Goal 循环,Auto 为独立开关"},sL={title:"设置",theme:"主题",themeDark:"🌙 深色",themeLight:"☀️ 浅色",themeAuto:"🔄 自动",themePresets:"主题预设",themePresetLinear:"极简 Linear",themePresetLinearDesc:"中性灰 + 单一强调色 — 极简专业",themePresetGithub:"GitHub 默认",themePresetGithubDesc:"中性暗/亮色 — 简洁专业",themePresetCherry:"Cherry Studio",themePresetCherryDesc:"蓝色渐变 — 清爽科技感",themePresetOcean:"海洋 Ocean",themePresetOceanDesc:"深蓝/青色 — 冷静专业",themePresetMint:"薄荷 Mint",themePresetMintDesc:"青绿/薄荷 — 清新爽朗",themePresetLavender:"薰衣草 Lavender",themePresetLavenderDesc:"柔紫 — 优雅精致",themePresetMidnight:"午夜 Midnight",themePresetMidnightDesc:"深海军蓝 — 极简高对比",themePresetSunset:"日落 Sunset",themePresetSunsetDesc:"暖橙/金色 — 活力充沛",themePresetForest:"森林 Forest",themePresetForestDesc:"自然绿 — 大地色系宁静",themePresetCandy:"糖果 Candy",themePresetCandyDesc:"明亮多彩 — 活泼生动",themePresetNord:"Nord",themePresetNordDesc:"北极蓝 — 流行精心设计",customOverrides:"自定义覆盖",customOverridesHint:"调整单个颜色以覆盖当前主题预设",customColors:"自定义配色",colorBg:"背景色",colorSurface:"面板色",colorBorder:"边框色",colorText:"文字色",colorMuted:"次要文字",colorAccentBlue:"强调蓝",colorAccentGreen:"强调绿",colorAccentRed:"强调红",colorAccentYellow:"强调黄",colorAccentPurple:"强调紫",resetColors:"重置为默认配色",about:"关于",aboutDesc:"基于 Web 的 AI 编码助手界面",language:"语言",languageZh:"中文",languageEn:"English",display:"界面",developerView:"开发者视图(显示原始工具调用)",developerViewHint:"默认显示 AI 活动摘要;开启后显示原始工具日志",capabilities:{title:"Agent 能力管理",loadFailed:"能力配置加载失败",toggleFailed:"切换失败"},contextOffload:{title:"Context Offload(工具结果外置)",desc:"大体积工具输出不再整体进入上下文,而是存入磁盘 artifact 存储,上下文中只保留摘要与句柄;AI 需要细节时通过 artifact_query / artifact_read 按需取回。可显著降低长会话的 token 占用并提升缓存命中率。",enableLabel:"启用工具结果外置",currently:"当前生效",maxTotalMb:"存储总容量上限(MB)",ttlDays:"保留天数",outboundBytes:"外置触发阈值(字节,工具输出超过即外置)",turnBudget:"单轮上下文增长预算(token)",dir:"存储目录",optional:"可选,留空使用默认",stats:"当前已存储 {{count}} 个 artifact,共 {{size}} MB",saved:"Context Offload 设置已保存",saveFailed:"保存失败",invalidNumber:"数字字段必须为正整数",envHint:"标有 ⚠ env 的字段被同名环境变量覆盖,修改环境变量后重启生效"}},iL={title:"模型配置",providerConfig:"Provider 配置",configured:"已配置",notConfigured:"未配置",modelsCount:"{{n}} 个模型 · {{apiType}}",clickToConfig:"点击配置 →",apiKeyHint:"已配置 API Key,输入新 Key 将覆盖旧配置。",apiKeyPlaceholder:"输入新 Key 以覆盖...",apiKeyDefaultPlaceholder:"sk-...",enterApiKey:"请输入 API Key",removeConfirm:'确定要移除 "{{providerKey}}" 的配置吗?这将删除其 API Key 和模型。',loadFailed:"加载模型失败",saveFailed:"保存失败",overallStatus:"总体状态",healthy:"健康",degraded:"降级",abnormal:"异常",healthRate:"健康率",onlineInstances:"在线实例",totalRequests:"总请求数",configuredModels:"已配置模型",addModel:"添加模型",provider_qwen:"通义千问 (Qwen)",provider_glm:"智谱 (GLM)",provider_baichuan:"百川 (Baichuan)",provider_minimax:"MiniMax / 海螺",provider_doubao:"豆包 (Doubao)",provider_hunyuan:"腾讯混元 (Hunyuan)",provider_spark:"讯飞星火 (Spark)",provider_custom:"Custom (自定义)",globalShort:"全局",setDefaultProvider:"设为默认 Provider",deleteProviderConfirm:'确定要删除 "{{key}}" 的配置吗?',deleteProvider:"删除 Provider",catalogTitle:"models.dev 模型目录搜索",catalogSearchPlaceholder:"搜索全厂商模型,如 gpt-4o / deepseek / claude ...(匹配模型 id / 名称 / 厂商)",catalogOnlyToolCall:"仅工具调用",catalogOnlyReasoning:"仅推理模型",searching:"搜索中...",catalogNoResults:"无匹配模型,换个关键词试试",badgeReasoning:"推理",badgeToolCall:"工具",badgeMultimodal:"多模态",ctxLimit:"上下文 {{k}}K",outLimit:"输出 {{k}}K",catalogAddTitle:"添加到模型 ID 输入框",add:"添加",catalogSourceHint:"数据源:models.dev 模型目录(内置快照,离线可用)。点击「添加」将模型 ID 写入「模型 ID」输入框。",baseUrlRequired:"请先填写 Base URL",apiKeySanitized:"API Key 包含非法字符,已自动过滤",fetchedCount:"获取到 {{n}} 个模型",fetchFailed:"获取模型列表失败,请检查 Base URL 和 API Key",requestFailed:"请求失败",hintJoiner:";",connectionFailed:"连接失败",catalogSearchFailed:"目录搜索失败",addedModel:"已添加 {{id}}",operationFailed:"操作失败,请重试",providerNameRequired:"请先输入 Provider 名称",apiKeyRequired:"请至少输入一把 API Key",defaultsAutoUpdated:"已自动更新默认模型",unknownError:"未知错误",loading:"加载中...",providerListRefreshed:"Provider 列表已刷新",refreshFailed:"刷新失败,请稍后重试",refreshListTitle:"从远端刷新 Provider 列表",collapse:"收起",addProvider:"新增 Provider",providerSearchPlaceholder:"搜索 Provider 名称 / 模型...",clear:"清除",clearSearch:"清除搜索",noMatchingProviders:"未找到匹配的 Provider",noMatchingProvidersHint:"没有与「{{query}}」匹配的 Provider,请检查拼写或改用完整列表",noDefaultModel:"无默认模型",configuredCount:"{{n}} 个模型",availableCount:"{{n}} 可用",defaultProviderBadge:"默认 Provider",deleteProviderNamed:"删除 {{name}}",none:"无",loadLabel:"负载",inputPrice:"输入价格",outputPrice:"输出价格",inputTokensLabel:"输入 token",outputTokensLabel:"输出 token",totalTokensLabel:"总 token",setGlobalDefaultFailed:"设置全局默认失败",setGlobalDefaultTitle:"设为全局默认",setPlanDefaultFailed:"设置 Plan 默认失败",setPlanDefaultTitle:"设为 Plan 默认",unsetPlanDefaultFailed:"取消 Plan 默认失败",unsetPlanDefaultTitle:"取消 Plan 默认(该模式回退到全局默认)",setActDefaultFailed:"设置 Act 默认失败",setActDefaultTitle:"设为 Act 默认",unsetActDefaultFailed:"取消 Act 默认失败",unsetActDefaultTitle:"取消 Act 默认(该模式回退到全局默认)",setGoalDefaultFailed:"设置 Goal 默认失败",setGoalDefaultTitle:"设为 Goal 默认",unsetGoalDefaultFailed:"取消 Goal 默认失败",unsetGoalDefaultTitle:"取消 Goal 默认(该模式回退到全局默认)",editModel:"编辑模型",deleteModel:"删除模型",refresh:"刷新",enable:"启用",disable:"禁用",emptyHint:"暂无模型,请先在上方配置 Provider",selectProvider:"选择 Provider",customProvider:"自定义 Provider",customProviderDesc:"手动填写 Provider 名称、Base URL 和模型 ID",editExistingConfig:"编辑已有配置(可选)",newCustomProviderOption:"+ 新建自定义 Provider",editExistingConfigHint:"默认新建空表单;选择已保存的配置可回填继续编辑(API Key 不回显,留空保存即保留原 Key)。",providerNameLabel:"Provider 名称 *",providerNamePlaceholder:"例如: my-provider",apiKeysHintConfigured:",留空则保留已保存的 Key",apiKeysHintNew:"(每行一把,可多把)",apiKeyMultiPlaceholder:"每行输入一把 API Key\\n支持多把(运行时取第一把,其余备用)",modelIdLabel:"模型 ID",modelIdPlaceholder:"gpt-4o, deepseek-chat (格式: id|名称|别名)",fetchModelsTitle:"从 API 获取模型列表",fetchingModels:"获取中...",fetchModels:"获取模型列表",testConnectionTitle:"探测端点连通性,自动推断 API 类型并修复 Base URL",testingConnection:"测试中...",testConnection:"测试连接",catalogSearchTitle:"搜索 models.dev 全厂商模型目录(含 context/价格/能力元数据)",modelSearchPlaceholder:"搜索模型...",fullPathLabel:"完整路径(不自动拼接 /chat/completions、/responses、/v1/messages)",fullPathHint:"开启后 Base URL 按原样使用(如 https://host/v1/chat/completions),后端不再转换。",apiTypeLabel:"API 类型",apiTypeAutoDetect:"自动探测(推荐)",autoRemovedMissingModels:"已自动移除服务端不存在的模型:{{models}}",autoSkippedMissingModels:"已自动跳过服务端不存在的模型:{{models}}",defaultModelDisableBlocked:"无法禁用 {{name}}:请先将默认模型切换为其他模型",deleteModelConfirm:"确认从配置中删除模型 {{id}}?",connectionSuccessWithHints:"{{message}}。{{hints}}。",loadingProviders:"加载中...",refreshList:"刷新列表",editProviderNamed:"编辑 {{name}}",globalDefault:"全局默认",planDefault:"Plan 默认",actDefault:"Act 默认",goalDefault:"Goal 默认",unsetActDefault:"取消 Act 默认",unsetPlanDefault:"取消 Plan 默认",unsetGoalDefault:"取消 Goal 默认",connectionSuccess:"连接成功",baseUrlAutoCompleted:"Base URL 已自动补全为 {{url}}",apiTypeAutoSelected:"API 类型已自动选择为 {{type}}",hasKey:"已有 Key",noKey:"无 Key",defaultShort:"默认",overrideBadge:"覆盖",overrideTitle:"手动覆盖模型列表",customBaseUrl:"自定义 Base URL",catalogSearch:"搜索目录模型",close:"关闭",apiTypeHint:"留空 = 根据 Base URL 自动识别协议",modelApiTypeLabel:"API 类型(目录模型)",modelApiTypeHint:"目录模型的响应协议,默认跟随 Provider 设置",modelApiTypeEmpty:"当前目录没有可选的 API 类型",addCustomProvider:"新增自定义 Provider",configuredPanelPrefix:"已配置 ",configuredPanelSuffix:" 个模型",configuredPanelHint:"(勾选即时生效,与「模型 ID」输入框双向同步)",fetchedPanelPrefix:"已获取 ",fetchedPanelMiddle:" 个,已选 ",fetchedPanelSuffix:" 个",fetchedPanelHint:"(勾选将写入「模型 ID」输入框)",noModelsInProvider:"该 Provider 下暂无模型",reset:"重置"},oL={title:"工具列表",searchTools:"搜索工具...",disabled:"禁用",enabled:"启用",params:"参数",loadFailed:"加载工具失败",noTools:"暂无工具",loading:"加载中...",retry:"重试",refresh:"刷新",all:"全部",invalidData:"服务端返回的工具数据格式异常"},lL={title:"技能管理",list:"技能列表",noSkills:"暂无技能",loadFailed:"加载技能失败",loadFailedFallback:"加载失败",enable:"启用",disable:"禁用",enabled:"已启用",disabled:"已关闭",new:"新建技能",import:"导入",importTitle:"导入技能",edit:"编辑",save:"保存",cancel:"取消",retry:"重试",refresh:"刷新",tags:"标签",none:"无",source:"来源",localSkill:"本地技能",systemPrompt:"系统提示词",selectSkill:"选择一个技能",fieldId:"ID",fieldName:"名称",fieldCategory:"分类",fieldTrigger:"触发词",fieldTools:"所需工具",description:"描述",saving:"保存中",chooseFile:"选择技能文件",importHint:"支持 .skill.md 文件",marketplace:"技能市场",marketplaceDesc:"从远程市场浏览并安装技能",marketplaceTitle:"技能市场",addMarketplace:"添加市场",addMarketplaceTitle:"添加技能市场",marketplaceUrl:"市场地址",marketplaceUrlPlaceholder:"GitHub 仓库 / index.json 链接 / 本地技能文件夹,如 https://github.com/obra/superpowers 或 D:\\agent\\agentic-awesome-skills",marketplaceName:"市场名称(可选)",marketplaceHint:"支持 GitHub 仓库(自动扫描 skills/ 目录)、返回 index.json 的 URL、或本机技能文件夹(完全离线,直接浏览/安装磁盘上的技能库)。GitHub 无法访问时可设置 DEEPSEEKCODE_GITHUB_MIRROR 镜像加速。",marketFilterPlaceholder:"在当前市场搜索技能...",marketCategoryAll:"全部分类",riskCritical:"高危",riskUnknown:"风险未知",refreshMarketplace:"刷新",removeMarketplace:"移除市场",installSkill:"安装",installed:"已安装",installFail:"安装失败",loadMarketplaceFail:"加载技能市场失败",noMarketplaces:"暂无市场,先添加一个",noSkillsInMarket:"该市场暂无技能",marketplaceError:"市场索引加载失败:{{error}}",retryMarket:"重试",presets:"内置市场",marketplaces:"已添加的市场",skillCount:"{{count}} 个技能",installedSkills:"已安装技能",addFail:"添加市场失败",installing:"安装中...",adding:"添加中...",marketplaceTab:"技能市场",mineTab:"我的技能",installedTab:"已安装",workshopTab:"技能工坊",workshopHint:"技能提案:从会话/手动生成,审核后一键应用为技能",workshopPropose:"新建提案",workshopName:"技能名 (skill-name) 如 format-json",workshopTrigger:"触发关键词(可选)",workshopDescription:"一句话描述",workshopContent:"技能正文(系统提示 / 工作流指令)",workshopSubmit:"提交提案",workshopApply:"应用",workshopEmpty:"暂无技能提案",workshopFormRequired:"技能名和正文为必填",uninstall:"卸载",uninstallConfirm:"确定卸载已安装技能「{{name}}」?",uninstalling:"卸载中...",uninstallFail:"卸载失败",pagePrev:"上一页",pageNext:"下一页",pageOf:"第 {{page}} / {{total}} 页",emptyInstalled:"还没有已安装的市场技能",emptyInstalledHint:"前往「技能市场」浏览并下载安装",browseMarket:"去市场逛逛",use:"使用",useHint:"使用此技能:将 $技能名 插入输入框,补充任务描述后发送",pickTitle:"选择技能",pickPlaceholder:"搜索技能...",pickEmpty:"没有可用的技能",pickUse:"点击使用"},cL={permissionRequest:"权限申请",hookApproval:"Hook 拦截审批",hookConfirm:"Hook 请求确认",morePending:"还有 {{n}} 项待审批",tool:"工具:",reason:"原因:",needConfirm:"需要用户确认此操作",allow:"允许",deny:"拒绝",allowAlways:"本次会话始终允许",allowAlwaysDesc:"当前会话中不再询问此工具",autoMode:"自动模式",autoModeLabel:"自动模式(全部允许)",autoModeDesc:"自动批准所有 Hook 请求",moreOptions:"更多选项",highRiskWarning:"此操作可能造成不可逆的影响,请仔细确认",mediumRiskConfirm:"请确认此操作为预期行为",alreadyAllowed:"已允许:",alreadyDenied:"已拒绝:",risk_critical:"破坏性操作 - 可能删除数据",risk_critical_cmd:"高危命令 - 包含系统级操作",risk_high_shell:"Shell 命令执行",risk_high_file:"文件写入操作",risk_high_pkg:"包管理操作",risk_git_force:"Git 强制操作",risk_git:"Git 操作",risk_network:"网络请求",risk_low:"只读操作",risk_default:"工具调用",hookConfigTitle:"自定义 Hook 配置说明",hookConfigDesc:"你可以在项目根目录的 .agent/hooks.json 文件中添加或修改 Hook 拦截规则。",hookConfigDetail:"Hook 支持 SHELL(外部脚本)和 HTTP(REST 端点)两种类型,可以在工具执行前(PRE_TOOL_USE)或执行后(POST_TOOL_USE)触发。",hookConfigBuiltin:"内置了 BashSafetyHook(危险命令拦截)、FileWriteAuditHook(文件写入审计)、ToolUsageStatsHook(工具调用统计)三套 Hook。设置 enabled: false 可禁用任意 Hook。",optionAllow:"允许 — 执行此操作",optionAllowHint:"点击或按 Enter 确认",optionDeny:"拒绝 — 取消此操作",optionDenyHint:"点击或按 Esc 取消",optionAllowAlways:"本次会话始终允许",optionAllowAlwaysHint:"不再询问 {{tool}}",optionAllowPathHint:"不再询问该外部路径",timeoutWaitUser:"等待用户输入(无超时)",optionAutoMode:"自动模式 — 全部允许",optionAutoModeHint:"之后所有 Hook 将自动批准",shortcutHint:"快捷键: 1-4 选择 · Enter 允许 · Esc 拒绝",lastItem:"最后一项",modalHint:"请在弹窗中处理此审批请求",clickToSelect:"点击选择 · 1/2/3/4 键盘快捷键",verbRunCommand:"运行命令",verbWriteFile:"写入文件",verbEditFile:"编辑文件",verbReadFile:"读取文件",verbDeleteFile:"删除文件",verbFindFiles:"查找文件",verbSearchContents:"搜索内容",verbFetchUrl:"请求网络",verbSearchWeb:"搜索网络",verbGit:"Git 操作",verbInstall:"安装依赖",verbSendMessage:"发送消息",verbRunTool:"执行操作",scopeLocal:"作用于当前工作区",scopeExternal:"外部路径",showAllLines:"展开全部 {{n}} 行",showAll:"显示完整内容",showLess:"收起",importMergeConfirm:`合并到现有配置吗?
|
|
467
|
-
"确定"=合并 / "取消"=替换`,configTitle:"Hook 配置",configDesc:"在工具执行、任务流转等生命周期事件上挂载拦截器,实现审批与自定义逻辑",import:"导入",export:"导出",newRule:"新增规则",ruleList:"规则列表",ruleCount:"{{n}} 条",implShell:"Shell 脚本",implShellDesc:"执行外部脚本,stdin 接收 JSON,stdout 返回决策",implHttp:"HTTP 端点",implHttpDesc:"POST JSON 到外部端点",implPromptDesc:"发送单轮 Prompt 给 LLM 做风险评估",implAgentDesc:"启动只读子代理做深度调查",stepBasicTitle:"基本信息",stepBasicDesc:"名称、描述、事件",stepImplTitle:"实现配置",stepImplDesc:"执行方式与参数",stepAdvancedTitle:"高级选项",stepAdvancedDesc:"优先级、过滤、测试",editRule:"编辑: {{name}}",addRule:"添加 Hook 规则",fieldName:"名称 *",fieldDescription:"描述",descriptionPlaceholder:"这个 Hook 的作用...",fieldEvents:"事件 *",eventsSelected:"{{n}} 已选",searchEventsPlaceholder:"搜索事件...",toggleAllEvents:"全选/取消",fieldImplType:"实现类型 *",fieldCommand:"命令 *",fieldPromptTemplate:"Prompt 模板 *",promptTemplatePlaceholder:"你是一个安全审计专家,请分析以下工具调用...",selectAgentPlaceholder:"选择 Agent...",agentReadOnlyHint:"Agent 将以只读模式运行(Read/Grep/Glob),不会修改文件",fieldPriority:"优先级",fieldTimeout:"超时 (ms)",labelEnabled:"启用",failOpenLabel:"Fail-open(超时放行)",fieldToolFilter:"工具过滤(正则,可选)",dryRunResultTitle:"Dry-run 结果",dryRunDecision:"决策: ",dryRunReason:"原因: ",dryRunOutput:"输出: ",dryRunButton:"试运行 (Dry Run)",prevStep:"上一步",nextStep:"下一步",saveChanges:"保存修改",createRule:"创建规则",noRules:"暂无 Hook 规则",noRulesHint:'点击右上角"新增规则"创建第一个 Hook',batchDeleteConfirm:"确认删除 {{n}} 条规则?",selectedItems:"已选 {{n}} 项",enableAll:"全部启用",disableAll:"全部禁用",colName:"名称",colEvents:"事件",colType:"类型",colStatus:"状态",colActions:"操作",clickToDisable:"点击禁用",clickToEnable:"点击启用",actionEdit:"编辑",deleteRuleConfirm:'删除规则 "{{name}}"?',statTotal:"总规则数"},uL={pending:"等待",thinking:"思考",action:"执行",result:"结果",running:"运行中",error:"错误",completed:"完成",params:"参数"},dL={linesTotal:"… (共 {{n}} 行)",expandAll:"展开全部 ({{n}} 行)",collapse:"收起"},fL={quickCommands:"快捷命令",search:'搜索: "{{filter}}"',help:"↑↓ 选择 · Enter 执行 · Esc 关闭",backend:"后端",backendCommand:"后端命令",chat_desc:"切换到对话面板",chat_result:"已切换到对话面板",terminal_desc:"切换到终端面板",terminal_result:"已切换到终端面板",files_desc:"切换到文件面板",files_result:"已切换到文件面板",models_desc:"切换到模型面板",models_result:"已切换到模型面板",tools_desc:"列出可用工具",tools_result:"已切换到工具面板",skills_desc:"列出可用技能",skills_result:"已切换到技能面板",settings_desc:"切换到设置面板",settings_result:"已切换到设置面板",logs_desc:"切换到日志面板",logs_result:"已切换到日志面板",new_desc:"创建新会话",new_result:"新会话已创建",clear_desc:"清空当前会话消息",clear_result:"消息已清空",theme_desc:"切换主题 (dark/light/auto)",theme_error:"用法: /theme <dark|light|auto>",theme_result:"主题已切换为 ",theme_preset_result:"主题预设已切换为 ",theme_preset_unavailable:"主题预设切换不可用",toggle_terminal_desc:"切换底部终端面板显示",toggle_terminal_result:"终端面板已切换",logs_clear_desc:"清空日志",logs_clear_result:"日志已清空",doctor_desc:"系统自诊断 (Config/API Key/Network/Docker/Disk)",compact_desc:"压缩当前会话上下文",help_desc:"显示所有快捷命令",token_desc:"显示 token 使用量和 API 费用统计",review_desc:"代码审查 — 检查变更的正确性、安全性和代码质量",security_review_desc:"安全审查 — OWASP Top 10 + 命令注入/路径遍历/权限提升",memory_desc:"管理 AI 持久记忆 (list/add/delete/clear)",ps_desc:"查看和管理后台任务、子代理和 shell 进程",model_desc:"查看或切换 AI 模型",status_desc:"显示当前会话状态 (会话ID/消息数/模型/工作目录)",config_desc:"管理应用程序配置 (get/set/list/delete)",exit_desc:"退出应用",exit_result:"正在关闭服务...",benchmark_desc:"运行 DeepSeekCode 能力评测 (simple/medium/complex/full/list)",goal_desc:"设置多步工作目标",goal_list_desc:"列出活跃目标",goal_status_desc:"查看目标进度",workflow_list_desc:"列出工作流运行记录",workflow_status_desc:"查看工作流状态",workflow_checkpoints_desc:"列出工作流检查点",mcp_desc:"列出或重新加载 MCP 服务器",sessions_desc:"列出会话",resume_desc:"按 ID 恢复会话",permissions_desc:"显示权限规则和待审批项",init_desc:"生成 agent.md 项目指导文件",self_test_desc:"运行工具能力自测并生成报告",context_desc:"显示上下文分析报告",version_desc:"显示版本信息","check-update_desc":"检查可用更新",upgrade_desc:"升级到最新版本",acceptance_desc:"运行或检查验收工作流 (quick/full/list/report)",diff_desc:"查看未提交的 Git 变更",summary_desc:"总结当前会话内容",effort_desc:"显示或设置推理力度 (low|medium|high)",export_desc:"导出当前会话为 JSON",rename_desc:"重命名当前会话",hooks_desc:"显示活跃钩子配置",cost_desc:"显示预估会话成本",sent_command:"已发送命令 ",noActiveSession:"无活跃会话",unknownCommand:"未知命令 {{cmd}} — 输入 /help 查看可用命令"},hL={pageError:"页面出现错误",unknownError:"发生了未知错误,请尝试刷新页面",refreshPage:"刷新页面",genEnded:"生成已结束(工具执行超时或连接中断)"},mL={backendConnected:"后端已连接",backendDisconnected:"后端连接断开,正在重连...",paused:"已暂停,再按 ESC 终止",terminated:"已终止 (ESC×2)",contextCompressed:"上下文压缩: {{original}} → {{compressed}} 条消息, 释放 {{saved}} tokens",errorPrefix:"❌ 错误: {{error}}",uncaughtError:"未捕获错误:",uncaughtRejection:"未捕获的 Promise 拒绝: ",unknownReason:"未知原因",diagnosing:"⏳ 诊断中...",runDiagnostic:"🔍 运行诊断",inspectorOn:"开启检查模式 (Ctrl+Shift+Alt+C)",inspectorOff:"关闭检查模式"},pL={title:"频道管理",subtitle:"接入外部 IM 平台,通过微信、飞书、钉钉等与 AI 交互",newChannel:"新建频道",editChannel:"编辑频道",table:{name:"频道名称",type:"类型",appId:"App ID",status:"连接状态",enabled:"启用",actions:"操作",emptyHint:"点击右上角「新建频道」接入微信、飞书或钉钉"},status:{connected:"已连接",disconnected:"未连接",connecting:"连接中",error:"错误"},empty:"还没有配置任何频道",emptyHint:"点击「新建频道」添加一个 IM 平台机器人",form:{basicInfo:"基础信息",name:"频道名称",namePlaceholder:"例如:公司群机器人",type:"频道类型",credentials:"凭证信息",appId:"App ID / 企业ID",appIdPlaceholder:"填写应用 AppID",appSecret:"App Secret",appSecretPlaceholder:"填写应用密钥",token:"Token / Bot Token",tokenPlaceholder:"填写机器人 Token",encodingAESKey:"EncodingAESKey",encodingAESKeyPlaceholder:"仅微信需要,可选",enabled:"启用频道",wechatQrHint:"保存后可使用微信扫码登录",feishuWsHint:"飞书使用 WebSocket 连接,自动接收消息",namePlaceholderDev:"例如:研发群机器人",typeLocked:"频道类型创建后不可修改",leaveBlankUnchanged:"留空不修改",leaveBlankMeansUnchanged:"留空表示不修改",appSecretValue:"应用密钥",tokenCallback:"回调校验 Token",optionalShort:"选填",encodingAesOptional:"选填,消息加解密密钥",wechatIlinkHint:"微信 iLink 机器人通过扫码授权,凭证可留空,保存后扫码登录即可。",wechatIlinkHintList:"微信 iLink 机器人通过扫码授权,凭证可留空,保存后在列表点击「扫码登录」。",enabledOffHint:"关闭后停止收发消息"},actions:{scanQr:"扫码",edit:"编辑",delete:"删除",deleteConfirm:"确定要删除此频道?",test:"测试连接",save:"保存频道",cancel:"取消",refresh:"刷新",qrLogin:"扫码登录",deleteConfirmNamed:"确认删除频道「{{name}}」?",deleteConfirmShort:"确认删除该频道?"},errors:{loadFailed:"加载频道列表失败",createFailed:"创建频道失败",updateFailed:"更新频道失败",deleteFailed:"删除频道失败",notFound:"频道未找到",notImplemented:"尚未实现",nameRequired:"频道名称不能为空"},qr:{title:"微信扫码登录",generating:"二维码生成中...",waiting:"请使用微信扫描二维码",scanned:"已扫描,请在手机上确认",confirmed:"登录成功",expired:"二维码已失效",expiredHint:"点击重试重新生成二维码",error:"获取二维码失败",openInNewTab:"在新标签页打开"},typeLabels:{wechat:"微信",feishu:"飞书",dingtalk:"钉钉",telegram:"Telegram",discord:"Discord",slack:"Slack",signal:"Signal",whatsapp:"WhatsApp",line:"LINE",qqbot:"QQ Bot",matrix:"Matrix",mattermost:"Mattermost",msteams:"Teams",googlechat:"Google Chat",irc:"IRC"},viewSubtitle:"接入微信、飞书、钉钉,用户可通过频道发送任务并实时接收进度与结果",experimentalLabel:"实验性",experimentalShort:"实验",experimentalTip:"实验性实现,功能不完整",experimentalDesc:"此频道为基础适配器封装,支持基础消息收发,部分高级功能可能不完整",pluginMissingLabel:"插件未安装",pluginMissingTip:"该频道类型的插件未安装或未激活,无法启动实例",pluginMissingWarning:"该频道类型的插件未安装或未激活,实例无法启动。请到「插件」页安装并激活{{name}}插件后重试。",selectTypeHint:"请从左侧选择一个频道类型",instancesCount:"{{n}} 个配置实例",notConfiguredYet:"尚未配置",createInstance:"新建实例",createShort:"新建",selectInstance:"选择实例",emptyWithType:"还没有配置 {{type}}",wechatBindHint:"点击下方按钮,用微信扫码即可自动完成绑定",startWithCreate:"点击上方「新建实例」开始配置",scanToBind:"扫码绑定",qrLoginReauth:"扫码登录 / 重新授权",editConfig:"编辑配置",createConfig:"新建配置",save:"保存",saving:"保存中...",unknownError:"未知错误",retry:"重试",bindSuccess:"绑定成功",bindTitle:"扫码绑定 · {{name}}",startUsing:"开始使用",clickToRefresh:"点击刷新",connectedReady:"「{{name}}」已连接,可开始使用",createdConnectedReady:"微信频道已创建并连接,可开始使用",waitingAuthorize:"请使用微信扫描二维码授权机器人",scannedConfirming:"已扫描,请在手机上确认...",confirmedClosing:"机器人已授权并启动,即将自动关闭",connectingIlink:"正在连接 iLink 服务...",openInNewTabFallback:"在新标签页打开(备用)",toastReauthSuccess:"微信「{{name}}」重新授权成功,频道已连接",toastBindSuccess:"微信绑定成功,频道已自动创建并连接",pollFailedRefresh:"轮询状态失败次数过多,请刷新二维码重试",pollFailedToast:"微信绑定状态轮询失败,请刷新二维码重试",qrDataMissing:"二维码数据缺失: {{data}}",fetchWechatQrFailed:"获取微信二维码失败:{{error}}",sidebar:{title:"频道列表",configuredCount:"{{n}} 个已配置",clickToConfigure:"点击下方频道开始配置",configuredMissing:"已配置 · 插件未安装",unconfigured:"未配置",empty:"未安装任何频道插件",emptyHint:"安装频道插件后才会在此显示,请前往「插件」页从插件市场安装",partialConnected:"{{connected}}/{{count}} 已连接",waitingPlugin:"等待安装插件"},categories:{im:"即时通讯",international:"国际主流",eastAsia:"东亚",collaboration:"协作平台",classic:"经典协议",other:"其他",builtin:"内置",plugins:"插件扩展"}},gL={stageUploaded:"等待处理",stageParsing:"正在解析数据文件",stageMapping:"模板映射",stageRendering:"正在生成文件",stageComplete:"文件处理完成",stageError:"文件处理失败",parsing:"正在解析 {{file}} …",parsedSummary:"{{rows}} 行 · {{fields}} 个字段",mappingTitle:"模板 ↔ 数据字段映射",templatePlaceholder:"模板占位符",dataField:"数据字段",mappingMore:"另有 {{n}} 个映射",rendering:"正在逐条生成 {{current}}/{{total}} …",download:"下载",downloadFailed:"下载失败",error:"处理失败",roleData:"数据文件",roleTemplate:"模板文件",attach:"上传文件或图片,支持多选",dropHint:"松开以添加附件",unsupportedType:"不支持的文件类型: {{name}}",fileTooLarge:"文件过大: {{name}}(≤50MB)",duplicateFile:"重复文件: {{name}}",maxAttachments:"单次最多 {{n}} 个文件",uploadFailed:"上传失败",stillUploading:"附件正在上传中,请稍候…",importFailed:"Import files failed",kindText:"文本",moreRows:"+{{n}} 行",rowsDone:"{{done}}/{{total}} 行",rowsFailed:"{{n}} 行失败",imagePreview:"图片预览"},yL={reconnecting:"重连中 {{attempt}}/{{max}}",hint:"正在重新连接后端…"},vL={title:"Full access(自动批准)已开启",desc:"Agent 可不经确认直接编辑文件和执行命令,存在数据丢失风险。",dismiss:"本次关闭",neverShow:"不再显示"},bL={panelTitle:"环境与变更",noRepo:"非 Git 仓库",notGitDesc:"当前工作目录不是 Git 仓库,无法展示变更统计。",refresh:"刷新",changes:"变更统计",clean:"工作区干净",branch:"分支",upstream:"相对上游",commit:"提交",push:"推送",commitConfirm:"提交",commitPlaceholder:"提交信息(Agent 生成草稿,可编辑)…",commitSuccess:"提交成功",commitFailed:"提交失败",pushSuccess:"推送成功",pushFailed:"推送失败",checkoutSuccess:"已切换到 {{branch}}",checkoutFailed:"切换失败",prReady:"PR 检查状态正常",prUnavailable:"Pull request status unavailable(未关联远端)",prLoading:"加载 PR 状态…",environment:"环境信息",ok:"操作成功",loading:"加载中…",emptyCommitMsg:"请输入提交信息"},xL={retry:"重试",details:"详情",modelSettings:"模型设置"},wL={comingSoon:"即将上线"},kL={lspGroup:"语言服务器 (LSP)",mcpGroup:"MCP 服务器",notInstalled:"未安装",installed:"已安装",ready:"已连接",connecting:"连接中",installing:"安装中…",error:"错误",disabled:"已禁用",toolCount:"{{count}} 个工具",docs:"文档",official:"官方",cloud:"云端",local:"本地",needCredentials:"此连接器需要凭据才能启动:",connect:"连接",missing:"未配置",envConfigured:"已配置",searchPlaceholder:"搜索连接器(名称、id、描述)…",all:"全部",noResults:"没有匹配的连接器。",custom:"自定义",addCustom:"添加自定义",customTitle:"添加自定义 MCP 服务器(来自 awesome-mcp-servers 或自建)",customName:"名称 (id)",customCommand:"启动命令",customArgs:"参数(空格分隔)",customEnv:"环境变量(KEY=value,逗号分隔)",customUrl:"MCP 端点 URL",customHeaders:"请求头(KEY=value,逗号分隔)",customLocal:"本地命令",customFormRequired:"名称和启动命令/URL 必填。",removeCustom:"删除此自定义连接器",add:"添加"},SL={justNow:"刚刚",minutesAgo:"{{count}}分钟前",hoursAgo:"{{count}}小时前",daysAgo:"{{count}}天前"},_L={title:"语音输入(Whisper:英语等 / FunASR:中文)",stopTitle:"停止录音并转写",langToggle:"语音识别语言",multiHint:"中文使用 FunASR,其他语言使用 faster-whisper",noSpeech:"未识别到语音内容,请重试",backendMissing:"语音服务未就绪,已打开设置页引导安装",setup:{title:"语音服务",envCard:"运行环境检测",envChecking:"检测中…",recheck:"重新检测",pythonOk:"Python {{version}} 已就绪",pythonMissing:"未检测到 Python,请先安装 Python 3.10+",pythonGuide:"下载安装 Python",pipOk:"pip 可用",whisperTitle:"Whisper · 英语",whisperDesc:"英语语音识别",funasrTitle:"FunASR · 中文",funasrDesc:"中文语音识别",installed:"已安装",notInstalled:"未安装",install:"一键安装",installing:"安装中…",cancel:"取消安装",installDone:"安装完成,可回到聊天页使用语音输入",installFailed:"安装失败",installTimeout:"安装超时",installCancelled:"安装已取消",jobInProgress:"已有安装任务进行中,正在接管进度",manualCommand:"手动安装命令",copyCommand:"复制命令",copySuccess:"已复制到剪贴板",copyFailed:"复制失败",torchHint:"中文引擎需安装 torch,体积较大,请耐心等待",logWaiting:"正在准备安装…",chooseHint:"环境已就绪,请选择上方引擎进行安装",defaultEngine:"默认识别引擎",defaultEngineHint:"选择语音输入默认使用的引擎,可在聊天输入框随时切换",inUse:"使用中",engineNotInstalledHint:"该引擎尚未安装,选中后录音时会引导安装",probeError:"依赖检测失败:",installDoneButMissing:"安装命令已执行成功,但引擎检测仍不可用",installDoneButMissingHint:"语音服务已自动重启并重新检测;若仍失败,请复制下方手动命令在终端执行排查(常见原因:torch 与系统 DLL 不兼容)。",pipGuide:"请先安装 Python(含 pip),完成后重启应用再重试。",pipMissing:"未找到 pip,请先安装 Python 环境。"}},CL={verb:{researching:"分析代码",coding:"修改代码",validating:"运行验证",summarizing:"整理结果"},title:{withFile:"{{verb}} {{file}}",withCount:"{{verb}} · {{count}} 项"},evidenceMore:"等 {{count}} 项",toolCallCount:"{{count}} 次工具调用",toolNamesMore:"等 {{count}} 个工具",waitingUser:"等待你的回答",blocked:"被阻塞:{{reason}}",paused:"已暂停,可恢复",viewAndAnswer:"查看并回答",evidence:"执行明细",phase:{analysis:"分析",implementation:"实现",optimization:"优化"}},TL={next:"下一步",idle:"空闲"},AL={title:"定时自动化",refresh:"刷新",new:"新建",namePlaceholder:"名称(如:每早 9 点汇总 Git 状态)",instructionsPlaceholder:"指令(agent 每次触发时执行的内容)",cronPlaceholder:"cron(5 段,如 0 9 * * *)",create:"创建",cronDaily9:"每天 9:00",cronWeekday9:"工作日 9:00",cronEvery30Min:"每 30 分钟",empty:"还没有定时自动化。新建一个,让 agent 无人值守干活。",enable:"启用",disable:"停用",runNow:"手动触发",delete:"删除",historyTitle:"运行历史",noRuns:"暂无运行记录",permissionsTitle:"作用域放行(tool target)",permissionsEmpty:"无。未放行的写操作需人工批准,超时后自动拒绝。",permissionPlaceholder:"如:write_file docs/report.md",add:"添加"},EL="定时任务(如每晚跑测试数据)将在这里管理。",NL="插件管理入口。可启停文件处理技能等扩展能力。",ML="功能开发中…",RL={title:"文件浏览器",searchPlaceholder:"搜索...",refresh:"刷新",collapse:"折叠",uploadTo:"上传到 {{dir}}",uploadToRoot:"上传到工作区根目录",setUploadDirHint:"点击设为上传目录并展开",download:"下载",close:"关闭",modified:"已修改",saving:"保存中...",save:"保存",saved:"文件已保存",saveFail:"保存失败",readFail:"读取文件失败",downloadFail:"下载失败",downloadStarted:"已开始下载",uploadedCount:"已上传 {{count}} 个文件",uploadFailedCount:"{{count}} 个文件上传失败",selectFileHint:"选择文件以预览或编辑"},DL={title:"日志",backendLogs:"后台日志",streamTab:"实时日志流",files:"日志文件",clear:"清空",refresh:"刷新",refreshing:"刷新中...",noLogs:"暂无实时日志",noFiles:"暂无日志文件",preview:"预览",download:"下载",backToList:"返回文件列表",emptyFile:"(空文件)",totalLines:"{{count}} 行",showingLatest:"(显示最新 {{count}} 行)"},OL={installedTab:"已安装 ({{count}})",availableTab:"可安装 ({{count}})",searchPlaceholder:"搜索插件(名称 / id / 描述 / 标签)",clear:"清除",allCategories:"全部",marketFilterAll:"全部来源",marketFilterBuiltin:"内置",prevPage:"上一页",nextPage:"下一页",pageInfo:"第 {{page}} / {{pages}} 页 · 共 {{count}} 条",noMatch:"无匹配插件",emptyInstalled:"暂无插件 — 到「可安装」页从市场安装",emptyMarket:"市场暂无可用插件",applyProviderTitle:"把插件 provider preset 写入 ProviderConfigStore(用户授权)",activate:"激活",deactivate:"停用",uninstall:"卸载",installActivate:"安装并激活",installOnly:"仅安装",uninstallTitle:"卸载插件",uninstallConfirm:"确定要卸载 {{id}} 吗?插件文件将被删除(bundled 除外)。"},LL={starterTitle:"新模板",starterNodeTitle:"任务",starterNodeDesc:"描述任务",sourceSaved:"沉淀",sourceScript:"脚本",sourceHandwritten:"手写",roleExplore:"探索",rolePlan:"规划",roleExecute:"执行",roleVerify:"校验",roleSummarize:"总结",roleGeneric:"通用",noNodes:"此模板暂无节点。",filterAll:"全部",noMatchTemplates:"没有匹配的模板",emptyTemplates:"暂无模板。完成动态工作流后保存为模板,或由 AI 起草。",aiPromptRequired:"描述不能为空",aiDraftFailed:"AI 起草失败,请重试或改用手写",nameRequired:"模板名称不能为空",jsonParseFailed:"JSON 解析失败:{{error}}",invalidDefinition:"definition 必须是含 nodes 数组的 WorkflowDefinition",createFailed:"创建失败",loadFailed:"加载模板失败",uncategorized:"其他",savedVersion:"已保存(v{{version}})",saveFailed:"保存失败",renderFailed:"渲染失败",selectTemplateHint:"从左侧选择一个模板查看 / 编辑",selectTemplateHintSub:"内置预设开箱即用;也可以把一次工作流运行「保存为模板」沉淀复用。",loading:"加载…",deleteTemplate:"删除模板",categoryLabel:"分类(category)",descriptionLabel:"描述(description)",nodeCount:"{{n}} 个节点",topologyHint:"拓扑:串行 / 并行依赖",inputCount:"{{n}} 个输入参数",workflowNodes:"工作流节点",sortedByDeps:"按依赖拓扑排序",launchWithTemplate:"用模板新建会话",testRun:"试跑",versionHistory:"版本历史",advancedJson:"高级(JSON)",refresh:"刷新",inputsSchemaLabel:"inputs(参数 schema,JSON)— 修改后保存会升版本",definitionLabel:"definition(WorkflowDefinition,JSON)",saveChanges:"保存修改",versionSnapshotLabel:"不可变版本快照(versions/{v}.json)",noVersions:"暂无版本记录",viewingVersion:"当前查看中",libraryTitle:"模板库",newTemplate:"新建模板",newShort:"新建",searchPlaceholder:"搜索模板…",paramCount:"{{n}} 参数",viewing:"查看中",view:"查看",launchModalTitle:"用「{{name}}」新建会话",previewModalTitle:"试跑「{{name}}」",launch:"启动",renderPreview:"渲染预览",renderSuccess:"渲染成功 — 产物 definition 可直接启动",nameLabel:"名称 *",namePlaceholder:"如:Triage Inbox",categoryField:"分类",descriptionField:"描述",aiDraftTab:"让 AI 起草",manualJsonTab:"手写 JSON",aiPromptLabel:"用一句话描述要做什么(AI 会拆成带角色的工作流节点)",aiPromptPlaceholder:"如:审查当前仓库代码的安全/性能/正确性,输出分级报告,全程只读",aiWorking:"AI 拆解中…",generateWorkflow:"生成工作流",aiTimeHint:"约 30-60s(推理模型可能更久),生成后可手动微调",newInputsLabel:"inputs(参数 schema,JSON,用 <<input:name>> 引用)",inputsExamplePlaceholder:'[{ "name": "folder", "label": "目录", "type": "folder", "required": true }]',cancel:"取消",create:"创建",deleteConfirm:"确定删除模板「{{name}}」?该操作不可恢复。",delete:"删除",typeString:"文本",typeNumber:"数字",typeSelect:"选择",typeBoolean:"开关",typeFolder:"目录",typeConnector:"连接器",noInputsNeeded:"该模板无需参数,直接启动。",starting:"启动中…",requiredError:"必填",numberError:"请输入数字",selectNone:"(不选)",newSession:"新建会话",newFromTemplateTitle:"用模板新建",chooseTemplateAria:"选择模板新建会话",backToList:"返回模板列表",startSessionHeader:"开始一个会话",directChat:"直接对话",directChatHint:"不选模板,AI 现场拆解任务(动态工作流)",loadingTemplates:"加载模板…",noTemplatesYet:"暂无已保存模板。",libraryMenu:"模板库…"},BL={autoFollowOn:"跟随输出:开",autoFollowOff:"跟随输出:关"},jL={title:"测试与观测",evalIntro:"运行能力评估测试,验证系统功能是否正常。",running:"运行中...",evalTriggered:"{{label}} 已触发,请在对话中查看结果",evalQuickDesc:"验收检查 (无需 LLM)",evalFullDesc:"真实 LLM 调用 (耗时)",evalListDesc:"列出所有评测任务",historyTitle:"运行历史",refresh:"刷新"},PL={taskBoard:{title:"任务看板"},card:{collapse:"折叠",expand:"展开",auto:"自动",unpin:"取消固定",pinKeep:"固定(不自动收起)",pin:"固定",close:"关闭此小组件"},workflow:{fallbackTitle:"工作流",statusRunning:"运行中",statusCompleted:"完成",statusFailed:"失败",statusSkipped:"跳过",statusBlocked:"等待",statusPending:"待执行",resume:"恢复",pause:"暂停",cancel:"取消"},agentFlow:{statusRunning:"运行中",statusCompleted:"完成",statusFailed:"失败",statusIdle:"空闲",moreAgents:"+{{count}} 个 Agent",eventLog:"事件日志({{count}})"},plan:{title:"AI 计划",fallbackTitle:"工作流计划",stepCount:"{{count}} 步",moreSteps:"+{{count}} 步",start:"开始执行",change:"更换流程",changeHint:"取消此方案,换个说法重新描述",cancelTitle:"取消工作流",cancel:"取消"}},IL={drawerCollapseTitle:"折叠抽屉,查看消息",drawerExpandTitle:"展开抽屉,做出选择",openFile:"打开 ›"},p3={common:QO,nav:JO,chat:eL,shortcuts:tL,palette:nL,a11y:aL,plan:rL,settings:sL,models:iL,tools:oL,skills:lL,hook:cL,step:uL,toolCall:dL,slashCommands:fL,error:hL,toast:mL,channels:pL,fileJob:gL,reconnect:yL,autoAccess:vL,git:bL,errorCard:xL,placeholder:wL,connectors:kL,time:SL,stt:_L,activity:CL,taskbar:TL,automation:AL,placeholderScheduledDesc:EL,placeholderPluginsDesc:NL,featureInProgress:ML,fileTree:RL,logs:DL,plugins:OL,templates:LL,terminal:BL,testing:jL,widgets:PL,commonUi:IL},zL={confirm:"Confirm",cancel:"Cancel",save:"Save",saving:"Saving...",delete:"Delete",close:"Close",refresh:"Refresh",retry:"Retry",loading:"Loading...",collapse:"Collapse",expand:"Expand",collapse_short:"Collapse",clear:"Clear",noData:"No data",noResults:"No results",unknown:"Unknown",unknownError:"Unknown error",connecting:"Connecting…",back:"Back",send:"Send",copy:"Copy",copied:"Copied",search:"Search...",filter:"All",pageInfo:"Showing {{start}}-{{end}} of {{total}}",prevPage:"Previous",nextPage:"Next",enabled:"Enabled",disabled:"Disabled",online:"Online",offline:"Offline",busy:"Busy",away:"Away",default:"Default"},$L={chat:"Chat",terminal:"Terminal",files:"Files",models:"Models",tools:"Tools",skills:"Skills",templates:"Presets",hooks:"Hooks",agentFlow:"Agent Flow",settings:"Settings",logs:"Logs",channels:"Channels",sessions:"Sessions",groupWorkspace:"Workspace",groupConfig:"Configuration",groupSystem:"System",collapseSidebar:"Collapse sidebar",expandSidebar:"Expand sidebar",moreOptions:"More",scheduled:"Scheduled",plugins:"Plugins",mySessions:"My sessions",sessionRunning:"Running",sessionWaiting:"Awaiting confirmation",sessionFailed:"Failed",sessionDone:"Completed",connectors:"Connectors",pin:"Pin to top",unpin:"Unpin",pinMore:"Pin 'More' to top",unpinMore:"Unpin 'More'",clearSessionSearch:"Clear session search",searchSessions:"Search sessions",searchSessionsPlaceholder:"Search sessions..."},HL=JSON.parse(`{"newSession":"New Session","noSessions":"No sessions yet","renameSession":"Rename session","exportMd":"Export as Markdown","you":"You","thinkingEllipsis":"Thinking…","messageRail":"Message navigation","messageIndex":"Conversation index","backToBottom":"Back to latest","generatingPlaceholder":"AI is generating…","defaultSessionTitle":"Chat {{n}}","welcome":"Welcome to deepseekcode","welcomeDesc":"I can help you write code, analyze projects, and automate tasks. Try sending a message!","suggestionCode":"Code Writing","suggestionCodePrompt":"Implement quicksort in Python and explain its time complexity","suggestionAnalyze":"Code Analysis","suggestionAnalyzePrompt":"Analyze the current project structure and explain how it is organized","suggestionAutomate":"Automation","suggestionAutomatePrompt":"Write a script to organize the files in the current directory","quickCommands":"View quick commands","refFiles":"Reference files","inputPlaceholder":"Type a message... Shift+Enter for newline, / commands, @ file refs, ↑ history","charTokens":"{{chars}} chars · ~{{tokens}} tokens","nearLimit":"Near limit","shiftEnter":"Shift+Enter newline","escHint":"Esc to pause · Double-Esc to stop","resume":"Resume","resumeGen":"Resume generation","stop":"Stop","stopGen":"Stop generation","pause":"Pause","pauseGen":"Pause generation","sendBtn":"Send","voiceInput":"Voice Input","voiceListening":"Listening...","voiceTranscribing":"Transcribing...","voiceUnsupported":"Voice input is not supported in this browser","voiceError":"Voice recognition error, please try again","connected":"Connected","disconnected":"Disconnected","sessionHistory":"Session History","noHistory":"No history sessions","clearHistory":"Clear history","clearHistoryTitle":"Clear history","restoreSession":"Click to restore \\"{{title}}\\"","removeFromHistory":"Remove from history","viewAllSessions":"More sessions","allSessions":"All sessions","sessionPickerTitle":"Select session","clickToOpenSession":"Open session","workingDir":"Working Directory","switchDir":"Switch","clickToSwitchDir":"Click to switch working directory","switchDirPrompt":"Enter new working directory path:","addTask":"Add","addTaskPlaceholder":"Add task...","noTasks":"No tasks, add one above","taskBoardDragHint":"Drag down to expand · drag up to collapse · click to toggle","doubleClickEdit":"Double-click to edit","deleteTask":"Delete task","backgroundLogs":"Background Logs","effort":"Effort","effortOff":"Thinking off","effortLow":"Low","effortMedium":"Medium","effortHigh":"High","effortExtraHigh":"Extra high","effortMax":"Max","noWorkspaceDir":"No working directory","recentDirs":"Recent directories","noRecentDirs":"No recent directories","chooseOtherDir":"Choose another directory…","dirPickerTitle":"Select working directory","dirPickerEnterPath":"Type a full path and press Enter","dirPickerGo":"Go","dirPickerUp":"Up","dirPickerNoDirs":"No subdirectories","dirPickerConfirm":"Select this directory","dirPickerLoadError":"Failed to load directory","artifactPanel":"AI Outputs","workspaceTitle":"Workspace","workspaceToggle":"Switch to workspace","artifactsToggle":"Switch to outputs","workspaceHint":"AI Agent workspace: components load into a dynamic layout and respond to events and commands.","artifactEmpty":"No output files yet. Click a file/path link in the chat to preview it here.","artifactHint":"Click a file/path link in the chat to preview it here — drag the panel edge to resize, or use the maximize button in the corner","previewInPanel":"Preview","backToArtifacts":"Back to list","openInNewTab":"Open in new tab","copyPath":"Copy path","copiedPath":"Path copied","copyPathFailed":"Failed to copy","filePreviewHint":"This file type can't be previewed inline — download it or open it in a new tab.","sidebarProgress":"Progress","sidebarArtifacts":"AI Outputs","sidebarOpen":"Open","sidebarOpenFolder":"Open first output file","sidebarExpandAll":"Expand all","sidebarMaximize":"Maximize","sidebarRestore":"Restore size","sidebarWorking":"Working on this…","sidebarWorkingWithAgents":"Working ({{n}} agent(s) running)…","sidebarWorkingToolcalls":"Working ({{n}} tool call(s))…","sidebarIdle":"Progress for multi-step tasks shows up here: planning, tool calls, approvals, and produced files.","sidebarMoreTasks":"more tasks","sidebarRunningAgents":"{{n}} agent(s) running","sidebarToolcallsSoFar":"{{n}} tool call(s) so far","tokenPrompt":"Prompt","tokenCompletion":"Completion","tokenTotal":"Total","totalChars":"Total chars","avgTokens":"Avg tokens/msg","estimatedCost":"Est. cost: \${{cost}}","contextTrimming":"Context Trimming","keepMore":"Keep more","trimMore":"Trim more","trimContext":"Trim context (keep ~{{n}} messages)","currentMessages":"{{n}} messages","totalCharsInfo":"· {{n}} chars total","contextManager":"Context Manager","showContext":"Show context info","taskBoard":"Task Board","morePending":"{{n}} more pending...","moreCompleted":"{{n}} more completed...","dependencyCount":"🔗 {{n}} dependencies","contextSuggestions":"Expand ({{n}} suggestions)","collapseSuggestions":"Collapse","toolRequest":"Tool request: ","toolResult":"Tool result: ","memory":"Memory: ","filesCount":"({{n}} files)","saveTokens":"Save ~{{n}}","ignoreSuggestion":"Ignore suggestion","fileMention":"@ Reference file","fileMentionSearch":"@ Search: \\"{{query}}\\"","fileMentionHelp":"↑↓ Select · Enter Insert · Esc Close","fileBrowser":"File Browser","fileSaved":"File saved","fileReadError":"Failed to read file","fileSaveError":"Save failed","fileModified":"● Modified","selectFilePreview":"Select a file to preview or edit","kbdHint":"command palette","clickToSwitchMode":"Click to toggle mode (Plan → Goal → Act)","selectModel":"Select model","clickToSelectModel":"Select model / reasoning effort","noEnabledModels":"No enabled models","globalDefault":"Global default","planDefault":"Plan default","actDefault":"Act default","goalDefault":"Goal default","followGlobalDefault":"Follow global default","followGlobalDefaultHint":"Clear this mode's default and fall back to the global default","noGlobalDefault":"No global default","browseMoreModels":"Browse more models…","backToModels":"Back to models","selectProvider":"Select provider","searchModels":"Search models…","loadingModels":"Loading models…","noModelsFound":"No matching models","noProviderModels":"No models available for this provider","noConfiguredProviders":"No providers configured","addAndSwitch":"Add & switch","alreadyAdded":"Added","addingModel":"Adding…","currentModel":"Current","loadModelsFailed":"Failed to load models","addModelFailed":"Failed to add model","switchModelFailed":"Failed to switch model","modelsSourceProviderApi":"Fetched live from provider API","modelsSourceCatalog":"From model catalog (models.dev)","assistantLabel":"DeepSeekCode","thoughtProcess":"Thought process","runningSteps":"Running","stepCount":"step","stepCountPlural":"steps","copyMessage":"Copy","regenerate":"Regenerate","deleteMessage":"Delete message","historyCount":"{{n}} items","startChatHint":"Start a conversation first","panelTitle":"Panel","messageDeleted":"Message deleted","thinking":"Thinking","askAnswerPlaceholder":"Type your answer...","askAnswered":"✓ Answered","askAutoContinue":"⏱ Auto-continue with the recommended option in {{seconds}}s if unanswered","askBackToEdit":"Back to edit","askBatchTitle":"Batch confirmation","askConfirmQuestion":"Confirm this question","askCustomDesc":"Enter a custom answer","askCustomTag":"(custom)","askDirectTag":"(continue directly)","askEmptyInputValue":"(no input)","askEnterHint":"Enter to submit, Shift+Enter for newline","askFinishQuestion":"Finish question ({{count}} selected)","askMultiHintBatch":"Click options to check them, then click \\"Finish question\\" to submit; \\"Proceed\\" means continue by AI judgment","askMultiHintSingle":"Click options to check them, then click \\"Submit selected\\" to submit; \\"Proceed\\" means continue by AI judgment","askNextQuestion":"Next","askNotAnswered":"Not answered","askOtherLabel":"Other (I'll explain)","askPendingBadge":"Pending","askPrevQuestion":"Previous","askProceedDesc":"Don't pick a specific option — continue with your best judgment","askProceedLabel":"Proceed","askReviewTitle":"Review answers","askSingleHintBatch":"Click an option to answer and move on, or click \\"Confirm this question\\" to submit the highlighted option","askSingleHintSingle":"Click an option to submit immediately, or click \\"Submit\\" below to confirm the current option","askSingleTitle":"Please answer","askSubmit":"Submit","askSubmitAll":"Submit all answers","askSubmitSelected":"Submit selected ({{count}})","askSubmitting":"Submitting...","askUnansweredValue":"(not answered)","askUnansweredWarning":"{{count}} question(s) unanswered — they will be recorded as \\"Not answered\\". Click a question number above to go back and edit.","askViewSubmit":"Review & submit","assemblyOrderHint":"In backend context assembly order (top→bottom): system prompt → system tools → MCP tools → skills → messages → other (estimated gap)","avgCacheHitRate":"Avg cache hit rate","byAssemblyOrder":"By assembly order ↓","cacheHitTitle":"Cache hit {{hit}} / miss {{miss}} ({{calls}} calls)","cacheNoStats":"No cache stats yet (provider did not report prompt_cache_hit/miss fields)","cacheWaitingRun":"Run in progress — waiting for provider cache stats","categoryBreakdown":"Category breakdown","contextCapacity":"Context capacity","ctxMcpTools":"MCP tools","ctxMessages":"Messages","ctxOther":"Other","ctxSkills":"Skills","ctxSystemPrompt":"System prompt","ctxSystemTools":"System tools","distAssistantMessages":"Assistant messages","distToolRequest":"Tool requests","distToolResult":"Tool results","distUserMessages":"User messages","duplicateReads":"⚠️ Duplicate reads: {{pct}}%","enterInsertMulti":"Enter to insert · multi-select supported","fileMentionHelpMulti":"↑↓ Select · Enter insert (multi-select) · Esc close","finishMention":"Done","keepPercent":"{{pct}}% kept","lastCompactInfo":"Last compact: {{orig}}→{{comp}} · {{saved}} tok","noMatchingFiles":"No matching files","saveAsTemplate":"Save as template","searchingFiles":"Searching files...","selectedCountShort":"Selected {{n}}","selectedFilesCount":"{{n}} files selected","templateLibrary":"Template library","tokenDistribution":"Token distribution","unitWan":"×10K","unitYi":"×100M","viewContextDetail":"View context capacity details","loading":"Loading…"}`),UL={title:"Keyboard Shortcuts",commandPalette:"Open command palette",clearLogs:"Clear logs",help:"Show shortcuts help",submit:"Submit input",newline:"New line",closeDialog:"Close dialog / pause generation",slashCommand:"Quick commands",fileRef:"Reference files",stopGen:"Stop generation (double Esc)"},FL={placeholder:"Search commands or jump to panel...",navGroup:"Navigation",commandGroup:"Commands",empty:"No matching commands",hint:"↑↓ Select · Enter Run · Esc Close",running:"Running..."},GL={openMenu:"Open menu",closeMenu:"Close menu",close:"Close",expand:"Expand",collapse:"Collapse",delete:"Delete",remove:"Remove",send:"Send message",newSession:"New session",messageInput:"Message input",connectionStatus:"Connection status",loading:"Loading",toggleAgentFlow:"Toggle agent flow",commandPalette:"Command palette",shortcutsHelp:"Shortcuts help"},qL={mode:"Mode",planMode:"Plan Mode — Read-only analysis",planModeDesc:"In Plan mode, AI uses read-only tools to analyze requirements and code without modifying any files.",planModeHint:"After analysis, switch to Act mode to implement changes.",switchToAct:"Switch to Act mode",actMode:"Act Mode",actModeDesc:"In Act mode, AI can read, modify files, and execute commands.",actModeHint:"Need to analyze first? Switch to Plan mode for read-only exploration.",switchToPlan:"Switch to Plan mode",readOnlyMode:"Read-only",planTitle:"Plan Mode: Read-only exploration, cannot modify code",actTitle:"Act Mode: Full read/write access",switchToPlanMode:"Switch to plan mode",switchToActMode:"Switch to act mode",autoMode:"Auto mode: auto-approve tool calls",goalMode:"Goal Mode",planModeShort:"Read-only analysis and planning",actModeShort:"Read/write files and run commands",goalModeShort:"Keep working toward the goal until done",autoApprove:"Auto Approve",autoApproveShort:"Auto-approve all tool calls",planContent:"Plan file content",analyzing:"Analyzing requirements...",modePlanTitle:"Plan Mode — Read-only exploration",modePlanDesc:"Read-only mode. AI can only read files and analyze code; no modifications are allowed. After analysis, use ExitPlanMode to switch to Act mode.",modeActTitle:"Act Mode — Execute",modeActDesc:"Read-write mode. AI can read, modify files, and execute commands. Low-risk operations are auto-approved; high-risk ones require confirmation.",modeGoalTitle:"Goal Mode — Goal-driven tasks",modeGoalDesc:"Goal-oriented execution mode. AI can read/write and execute within the active task scope; out-of-scope operations require confirmation.",modeNormalTitle:"Normal Mode — Standard interaction",modeNormalDesc:"Standard interaction mode. All tools work normally; writes and command execution require user confirmation.",readOnlyBadge:"🔒 Read-only",autoApproveBadge:"✅ Auto-approve",toPlanMode:"Switch to Plan Mode",toActMode:"Switch to Act Mode",modeCycleHint:"Mode cycle: Plan → Act → Goal; Auto is an independent toggle"},VL={title:"Settings",theme:"Theme",themeDark:"🌙 Dark",themeLight:"☀️ Light",themeAuto:"🔄 Auto",themePresets:"Theme Presets",themePresetLinear:"Linear (minimal)",themePresetLinearDesc:"Neutral grays with a single accent — clean and focused",themePresetGithub:"GitHub",themePresetGithubDesc:"Neutral dark/light — clean and professional",themePresetCherry:"Cherry Studio",themePresetCherryDesc:"Blue gradient inspired — clean tech feel",themePresetOcean:"Ocean",themePresetOceanDesc:"Deep blue/cyan — calm and professional",themePresetMint:"Mint",themePresetMintDesc:"Teal/mint green — fresh and refreshing",themePresetLavender:"Lavender",themePresetLavenderDesc:"Soft purple — elegant and sophisticated",themePresetMidnight:"Midnight",themePresetMidnightDesc:"Deep navy — minimal and high contrast",themePresetSunset:"Sunset",themePresetSunsetDesc:"Warm orange/golden — energetic",themePresetForest:"Forest",themePresetForestDesc:"Natural green — earthy and calm",themePresetCandy:"Candy",themePresetCandyDesc:"Bright multi-color — vibrant and lively",themePresetNord:"Nord",themePresetNordDesc:"Arctic blue — popular well-designed palette",customOverrides:"Custom Overrides",customOverridesHint:"Tweak individual colors to override the active preset",customColors:"Custom Colors",colorBg:"Background",colorSurface:"Surface",colorBorder:"Border",colorText:"Text",colorMuted:"Muted Text",colorAccentBlue:"Accent Blue",colorAccentGreen:"Accent Green",colorAccentRed:"Accent Red",colorAccentYellow:"Accent Yellow",colorAccentPurple:"Accent Purple",resetColors:"Reset to default",about:"About",aboutDesc:"Web-based AI coding assistant interface",language:"Language",languageZh:"中文",languageEn:"English",display:"Display",developerView:"Developer view (show raw tool calls)",developerViewHint:"Shows the AI activity feed by default; enable to see raw tool logs",capabilities:{title:"Agent Capabilities",loadFailed:"Failed to load capabilities",toggleFailed:"Toggle failed"},contextOffload:{title:"Context Offload (Artifact Store)",desc:"Large tool outputs are stored on disk as artifacts instead of living in the context forever. Only a summary + handle stays in context; the AI retrieves details on demand via artifact_query / artifact_read. This significantly reduces token usage in long sessions and improves cache hit rate.",enableLabel:"Enable tool-result offloading",currently:"currently",maxTotalMb:"Max total storage (MB)",ttlDays:"Retention (days)",outboundBytes:"Spill threshold (bytes; outputs larger are offloaded)",turnBudget:"Per-turn context growth budget (tokens)",dir:"Storage directory",optional:"optional, defaults to config dir",stats:"{{count}} artifacts stored, {{size}} MB total",saved:"Context Offload settings saved",saveFailed:"Failed to save",invalidNumber:"Number fields must be positive integers",envHint:"Fields marked ⚠ env are overridden by environment variables of the same name"}},WL={title:"Model Configuration",providerConfig:"Provider Config",configured:"Configured",notConfigured:"Not configured",modelsCount:"{{n}} models · {{apiType}}",clickToConfig:"Click to configure →",apiKeyHint:"API Key configured. Enter new key to overwrite.",apiKeyPlaceholder:"Enter new key to overwrite...",apiKeyDefaultPlaceholder:"sk-...",enterApiKey:"Please enter API Key",removeConfirm:'Are you sure you want to remove "{{providerKey}}" configuration? This will delete its API Key and models.',loadFailed:"Failed to load models",saveFailed:"Save failed",overallStatus:"Overall Status",healthy:"Healthy",degraded:"Degraded",abnormal:"Abnormal",healthRate:"Health Rate",onlineInstances:"Online Instances",totalRequests:"Total Requests",configuredModels:"Configured Models",addModel:"Add Model",provider_qwen:"Qwen (Tongyi Qianwen)",provider_glm:"GLM (Zhipu)",provider_baichuan:"Baichuan",provider_minimax:"MiniMax / Hailuo",provider_doubao:"Doubao",provider_hunyuan:"Tencent Hunyuan",provider_spark:"iFlytek Spark",provider_custom:"Custom",globalShort:"Global",setDefaultProvider:"Set as default provider",deleteProviderConfirm:'Delete the configuration for "{{key}}"?',deleteProvider:"Delete provider",catalogTitle:"models.dev Catalog Search",catalogSearchPlaceholder:"Search models across providers, e.g. gpt-4o / deepseek / claude... (matches model id, name, or provider)",catalogOnlyToolCall:"Tool call only",catalogOnlyReasoning:"Reasoning only",searching:"Searching...",catalogNoResults:"No matching models — try another keyword",badgeReasoning:"Reasoning",badgeToolCall:"Tools",badgeMultimodal:"Multimodal",ctxLimit:"Context {{k}}K",outLimit:"Output {{k}}K",catalogAddTitle:"Add to model ID input",add:"Add",catalogSourceHint:'Source: models.dev model catalog (built-in snapshot, works offline). Click "Add" to write the model ID into the Model ID input.',autoRemovedMissingModels:"Auto-removed models missing on server: {{models}}",autoSkippedMissingModels:"Auto-skipped models missing on server: {{models}}",defaultModelDisableBlocked:"Cannot disable {{name}}: switch the default model to another one first",deleteModelConfirm:"Remove model {{id}} from configuration?",connectionSuccessWithHints:"{{message}}. {{hints}}.",hintJoiner:"; ",loadingProviders:"Loading...",addProvider:"Add Provider",collapse:"Collapse",refreshList:"Refresh list",none:"None",availableCount:"{{n}} available",configuredCount:"{{n}} models",editProviderNamed:"Edit {{name}}",deleteProviderNamed:"Delete {{name}}",globalDefault:"Global default",planDefault:"Plan default",actDefault:"Act default",goalDefault:"Goal default",unsetActDefault:"Unset Act default",unsetPlanDefault:"Unset Plan default",unsetGoalDefault:"Unset Goal default",setActDefaultTitle:"Set as Act default",setPlanDefaultTitle:"Set as Plan default",setGoalDefaultTitle:"Set as Goal default",unsetActDefaultTitle:"Unset Act default (falls back to global default)",unsetPlanDefaultTitle:"Unset Plan default (falls back to global default)",unsetGoalDefaultTitle:"Unset Goal default (falls back to global default)",outputPrice:"Output price",inputPrice:"Input price",outputTokensLabel:"Output tokens",inputTokensLabel:"Input tokens",totalTokensLabel:"Total tokens",connectionSuccess:"Connected",baseUrlAutoCompleted:"Base URL auto-completed to {{url}}",apiTypeAutoSelected:"API type auto-selected as {{type}}",hasKey:"Key set",noKey:"No key",defaultShort:"Default",overrideBadge:"Override",overrideTitle:"Manually overridden model list",customBaseUrl:"Custom base URL",catalogSearch:"Search catalog models",close:"Close",apiTypeHint:"Leave empty to auto-detect protocol from Base URL",modelApiTypeLabel:"API type (catalog models)",modelApiTypeHint:"Response protocol for catalog models; defaults to provider setting",modelApiTypeEmpty:"No API types available in this catalog",addCustomProvider:"Add custom provider",configuredPanelPrefix:"Configured ",configuredPanelSuffix:" models",configuredPanelHint:"(applies instantly, two-way synced with Model IDs input)",fetchedPanelPrefix:"Fetched ",fetchedPanelMiddle:" models, selected ",fetchedPanelSuffix:"",fetchedPanelHint:"(checked models will be written into the Model IDs input)",fetchingModels:"Fetching...",fetchModels:"Fetch model list",baseUrlRequired:"Base URL is required",apiKeySanitized:"API Key contains invalid characters; filtered automatically",fetchedCount:"Fetched {{n}} models",fetchFailed:"Failed to fetch model list. Check Base URL and API Key",requestFailed:"Request failed",connectionFailed:"Connection failed",catalogSearchFailed:"Catalog search failed",addedModel:"Added {{id}}",operationFailed:"Operation failed, please retry",providerNameRequired:"Provider name is required",apiKeyRequired:"At least one API Key is required",defaultsAutoUpdated:"Default models updated automatically",unknownError:"Unknown error",loading:"Loading...",providerListRefreshed:"Provider list refreshed",refreshFailed:"Refresh failed, please try again later",refreshListTitle:"Refresh provider list from remote",providerSearchPlaceholder:"Search providers / models...",clear:"Clear",clearSearch:"Clear search",noMatchingProviders:"No matching providers",noMatchingProvidersHint:'No provider matches "{{query}}". Check the spelling or use the full list',noModelsInProvider:"No models in this provider",noDefaultModel:"No default model",defaultProviderBadge:"Default provider",loadLabel:"Load",setGlobalDefaultFailed:"Failed to set global default",setGlobalDefaultTitle:"Set as global default",setPlanDefaultFailed:"Failed to set Plan default",unsetPlanDefaultFailed:"Failed to unset Plan default",setActDefaultFailed:"Failed to set Act default",unsetActDefaultFailed:"Failed to unset Act default",setGoalDefaultFailed:"Failed to set Goal default",unsetGoalDefaultFailed:"Failed to unset Goal default",editModel:"Edit model",deleteModel:"Delete model",refresh:"Refresh",reset:"Reset",enable:"Enable",disable:"Disable",emptyHint:"No models yet. Configure a provider above first",selectProvider:"Select provider",customProvider:"Custom provider",customProviderDesc:"Manually enter provider name, Base URL and model IDs",editExistingConfig:"Edit existing configuration (optional)",newCustomProviderOption:"+ New custom provider",editExistingConfigHint:"Starts empty by default; pick a saved configuration to refill the form (API Keys are never echoed back; leave empty to keep the saved key).",providerNameLabel:"Provider name *",providerNamePlaceholder:"e.g. my-provider",apiKeysHintConfigured:", leave empty to keep the saved key",apiKeysHintNew:"(one per line, multiple allowed)",apiKeyMultiPlaceholder:`One API Key per line
|
|
468
|
-
Multiple supported (first is used at runtime, rest are fallbacks)`,modelIdLabel:"Model IDs",modelIdPlaceholder:"gpt-4o, deepseek-chat (format: id|name|alias)",fetchModelsTitle:"Fetch model list from API",testConnectionTitle:"Probe endpoint connectivity, auto-detect API type and fix Base URL",testingConnection:"Testing...",testConnection:"Test connection",catalogSearchTitle:"Search the models.dev catalog (context/pricing/capability metadata included)",modelSearchPlaceholder:"Search models...",fullPathLabel:"Full path (no auto-appending of /chat/completions, /responses, /v1/messages)",fullPathHint:"When enabled, the Base URL is used as-is (e.g. https://host/v1/chat/completions); the backend will not transform it.",apiTypeLabel:"API type",apiTypeAutoDetect:"Auto-detect (recommended)"},KL={title:"Tool List",searchTools:"Search tools...",disabled:"Disable",enabled:"Enable",params:"Parameters",loadFailed:"Failed to load tools",noTools:"No tools available",loading:"Loading...",retry:"Retry",refresh:"Refresh",all:"All",invalidData:"Invalid tool data format returned by server"},YL={title:"Skills Manager",list:"Skill List",noSkills:"No skills available",loadFailed:"Failed to load skills",loadFailedFallback:"Load failed",enable:"Enable",disable:"Disable",enabled:"Enabled",disabled:"Disabled",new:"New Skill",import:"Import",importTitle:"Import Skill",edit:"Edit",save:"Save",cancel:"Cancel",retry:"Retry",refresh:"Refresh",tags:"Tags",none:"None",source:"Source",localSkill:"Local skill",systemPrompt:"System Prompt",selectSkill:"Select a skill",fieldId:"ID",fieldName:"Name",fieldCategory:"Category",fieldTrigger:"Trigger",fieldTools:"Tools",description:"Description",saving:"Saving",chooseFile:"Choose skill file",importHint:"Supports `.skill.md` files.",marketplace:"Marketplace",marketplaceDesc:"Browse and install skills from remote marketplaces",marketplaceTitle:"Skill Marketplace",addMarketplace:"Add Marketplace",addMarketplaceTitle:"Add Skill Marketplace",marketplaceUrl:"Marketplace URL",marketplaceUrlPlaceholder:"GitHub repo / index.json link / local skills folder, e.g. https://github.com/obra/superpowers or D:\\agent\\agentic-awesome-skills",marketplaceName:"Marketplace name (optional)",marketplaceHint:"Supports GitHub repos (auto-scans skills/ dir), an index.json URL, or a local skills folder (fully offline — browse & install from disk). If GitHub is unreachable, set the DEEPSEEKCODE_GITHUB_MIRROR env var to a mirror prefix.",marketFilterPlaceholder:"Search skills in this marketplace...",marketCategoryAll:"All categories",riskCritical:"High risk",riskUnknown:"Risk unknown",refreshMarketplace:"Refresh",removeMarketplace:"Remove",installSkill:"Install",installed:"Installed",installFail:"Install failed",loadMarketplaceFail:"Failed to load skill marketplace",noMarketplaces:"No marketplaces yet — add one",noSkillsInMarket:"No skills in this marketplace",marketplaceError:"Marketplace index failed to load: {{error}}",retryMarket:"Retry",presets:"Built-in marketplaces",marketplaces:"Added marketplaces",skillCount:"{{count}} skills",installedSkills:"Installed skills",addFail:"Failed to add marketplace",installing:"Installing...",adding:"Adding...",marketplaceTab:"Marketplace",mineTab:"My Skills",installedTab:"Installed",workshopTab:"Workshop",workshopHint:"Skill proposals: generated from sessions or manually, apply as skills after review",workshopPropose:"New Proposal",workshopName:"Skill name (skill-name) e.g. format-json",workshopTrigger:"Trigger keywords (optional)",workshopDescription:"One-line description",workshopContent:"Skill body (system prompt / workflow instructions)",workshopSubmit:"Submit",workshopApply:"Apply",workshopEmpty:"No skill proposals yet",workshopFormRequired:"Skill name and content are required",uninstall:"Uninstall",uninstallConfirm:'Uninstall installed skill "{{name}}"?',uninstalling:"Uninstalling...",uninstallFail:"Uninstall failed",pagePrev:"Prev",pageNext:"Next",pageOf:"Page {{page}} / {{total}}",emptyInstalled:"No marketplace skills installed yet",emptyInstalledHint:"Head to the Marketplace tab to browse and install",browseMarket:"Go to Marketplace",use:"Use",useHint:"Insert $skill into the input box, then add your task and send",pickTitle:"Pick a Skill",pickPlaceholder:"Search skills...",pickEmpty:"No usable skills",pickUse:"Use it"},ZL={permissionRequest:"Permission Request",hookApproval:"Hook Interception Approval",hookConfirm:"Hook Request Confirmation",morePending:"{{n}} more pending",tool:"Tool: ",reason:"Reason: ",needConfirm:"Requires user confirmation",allow:"Allow",deny:"Deny",allowAlways:"Always allow this session",allowAlwaysDesc:"Don't ask again for this tool in current session",autoMode:"Auto Mode",autoModeLabel:"Auto mode (allow all)",autoModeDesc:"Auto-approve all hook requests",moreOptions:"More options",highRiskWarning:"This action may cause irreversible effects, please confirm carefully",mediumRiskConfirm:"Please confirm this is the intended action",alreadyAllowed:"Allowed: ",alreadyDenied:"Denied: ",risk_critical:"Destructive operation - may delete data",risk_critical_cmd:"High-risk command - system-level operations",risk_high_shell:"Shell command execution",risk_high_file:"File write operation",risk_high_pkg:"Package management operation",risk_git_force:"Git force operation",risk_git:"Git operation",risk_network:"Network request",risk_low:"Read-only operation",risk_default:"Tool call",hookConfigTitle:"Custom Hook Configuration",hookConfigDesc:"You can add or modify hook interception rules in the .agent/hooks.json file in the project root directory.",hookConfigDetail:"Hooks support SHELL (external scripts) and HTTP (REST endpoints) types, and can be triggered before (PRE_TOOL_USE) or after (POST_TOOL_USE) tool execution.",hookConfigBuiltin:"Built-in hooks: BashSafetyHook (dangerous command interception), FileWriteAuditHook (file write audit), ToolUsageStatsHook (tool usage statistics). Set enabled: false to disable any hook.",optionAllow:"Allow — execute this operation",optionAllowHint:"Click or press Enter to confirm",optionDeny:"Deny — cancel this operation",optionDenyHint:"Click or press Esc to cancel",optionAllowAlways:"Allow always this session",optionAllowAlwaysHint:"Don't ask again for {{tool}}",optionAllowPathHint:"Don't ask again for this external path",timeoutWaitUser:"waiting for user (no timeout)",optionAutoMode:"Auto mode — allow all hooks",optionAutoModeHint:"All future hooks will be auto-approved",shortcutHint:"Shortcuts: 1-4 select · Enter allow · Esc deny",lastItem:"Last item",modalHint:"Please handle this approval request in the popup modal",clickToSelect:"Click to select · 1/2/3/4 keyboard shortcuts",verbRunCommand:"Run command",verbWriteFile:"Write file",verbEditFile:"Edit file",verbReadFile:"Read file",verbDeleteFile:"Delete file",verbFindFiles:"Find files",verbSearchContents:"Search contents",verbFetchUrl:"Fetch URL",verbSearchWeb:"Search web",verbGit:"Git operation",verbInstall:"Install package",verbSendMessage:"Send message",verbRunTool:"Run operation",scopeLocal:"acts on this workspace",scopeExternal:"external path",showAllLines:"Show all {{n}} lines",showAll:"Show the full message",showLess:"Show less",importMergeConfirm:`Merge into the existing configuration?
|
|
469
|
-
"OK" = merge / "Cancel" = replace`,configTitle:"Hook Configuration",configDesc:"Attach interceptors to lifecycle events such as tool execution and task transitions for approvals and custom logic",import:"Import",export:"Export",newRule:"New Rule",ruleList:"Rules",ruleCount:"{{n}} rules",implShell:"Shell script",implShellDesc:"Run an external script; receives JSON via stdin and returns a decision via stdout",implHttp:"HTTP endpoint",implHttpDesc:"POST JSON to an external endpoint",implPromptDesc:"Send a single-turn prompt to the LLM for risk assessment",implAgentDesc:"Launch a read-only sub-agent for deep investigation",stepBasicTitle:"Basic Info",stepBasicDesc:"Name, description, events",stepImplTitle:"Implementation",stepImplDesc:"Execution type and parameters",stepAdvancedTitle:"Advanced",stepAdvancedDesc:"Priority, filters, testing",editRule:"Edit: {{name}}",addRule:"Add Hook Rule",fieldName:"Name *",fieldDescription:"Description",descriptionPlaceholder:"What this hook does...",fieldEvents:"Events *",eventsSelected:"{{n}} selected",searchEventsPlaceholder:"Search events...",toggleAllEvents:"Select all / none",fieldImplType:"Implementation type *",fieldCommand:"Command *",fieldPromptTemplate:"Prompt template *",promptTemplatePlaceholder:"You are a security audit expert. Please analyze the following tool call...",selectAgentPlaceholder:"Select agent...",agentReadOnlyHint:"The agent runs in read-only mode (Read/Grep/Glob) and cannot modify files",fieldPriority:"Priority",fieldTimeout:"Timeout (ms)",labelEnabled:"Enabled",failOpenLabel:"Fail-open (allow on timeout)",fieldToolFilter:"Tool filter (regex, optional)",dryRunResultTitle:"Dry-run result",dryRunDecision:"Decision: ",dryRunReason:"Reason: ",dryRunOutput:"Output: ",dryRunButton:"Dry Run",prevStep:"Previous",nextStep:"Next",saveChanges:"Save Changes",createRule:"Create Rule",noRules:"No hook rules yet",noRulesHint:'Click "New Rule" in the top-right corner to create your first hook',batchDeleteConfirm:"Delete {{n}} selected rules?",selectedItems:"{{n}} selected",enableAll:"Enable all",disableAll:"Disable all",colName:"Name",colEvents:"Events",colType:"Type",colStatus:"Status",colActions:"Actions",clickToDisable:"Click to disable",clickToEnable:"Click to enable",actionEdit:"Edit",deleteRuleConfirm:'Delete rule "{{name}}"?',statTotal:"Total rules"},XL={pending:"Waiting",thinking:"Thinking",action:"Action",result:"Result",running:"Running",error:"Error",completed:"Completed",params:"Parameters"},QL={linesTotal:"… ({{n}} lines total)",expandAll:"Expand all ({{n}} lines)",collapse:"Collapse"},JL={quickCommands:"Quick Commands",search:'Search: "{{filter}}"',help:"↑↓ Select · Enter Execute · Esc Close",backend:"Backend",backendCommand:"Backend command",chat_desc:"Switch to chat panel",chat_result:"Switched to chat panel",terminal_desc:"Switch to terminal panel",terminal_result:"Switched to terminal panel",files_desc:"Switch to file panel",files_result:"Switched to file panel",models_desc:"Switch to model panel",models_result:"Switched to model panel",tools_desc:"List available tools",tools_result:"Switched to tool panel",skills_desc:"List available skills",skills_result:"Switched to skills panel",settings_desc:"Switch to settings panel",settings_result:"Switched to settings panel",logs_desc:"Switch to logs panel",logs_result:"Switched to logs panel",new_desc:"Create new session",new_result:"New session created",clear_desc:"Clear current session messages",clear_result:"Messages cleared",theme_desc:"Toggle theme (dark/light/auto)",theme_error:"Usage: /theme <dark|light|auto|{{presets}}>",theme_result:"Theme switched to ",theme_preset_result:"Theme preset switched to ",theme_preset_unavailable:"Theme preset switching not available",toggle_terminal_desc:"Toggle terminal panel display",toggle_terminal_result:"Terminal panel toggled",logs_clear_desc:"Clear logs",logs_clear_result:"Logs cleared",doctor_desc:"System diagnostics (Config/API Key/Network/Docker/Disk)",compact_desc:"Compact current session context",help_desc:"Show all quick commands",token_desc:"Show token usage and API cost statistics",review_desc:"Code review — check correctness, security, and code quality",security_review_desc:"Security review — OWASP Top 10 + command injection/path traversal/privilege escalation",memory_desc:"Manage AI persistent memory (list/add/delete/clear)",ps_desc:"View and manage background tasks, sub-agents, and shell processes",model_desc:"View or switch AI models",status_desc:"Show current session status (session ID/message count/model/working directory)",config_desc:"Manage application configuration (get/set/list/delete)",exit_desc:"Exit application",exit_result:"Shutting down...",benchmark_desc:"Run DeepSeekCode capability benchmark (simple/medium/complex/full/list)",goal_desc:"Set a goal for multi-step work",goal_list_desc:"List active goals",goal_status_desc:"Show goal progress",workflow_list_desc:"List workflow runs",workflow_status_desc:"Show workflow status",workflow_checkpoints_desc:"List workflow checkpoints",mcp_desc:"List or reload MCP servers",sessions_desc:"List sessions",resume_desc:"Resume a session by id",permissions_desc:"Show permission rules and pending approvals",init_desc:"Generate agent.md project guidance file",self_test_desc:"Run tool capability self-test and generate a report",context_desc:"Show context analysis report",version_desc:"Show version information","check-update_desc":"Check for available updates",upgrade_desc:"Upgrade to the latest version",acceptance_desc:"Run or inspect acceptance workflows (quick/full/list/report)",diff_desc:"View uncommitted git changes in the workspace",summary_desc:"Summarize the current session conversation",effort_desc:"Show or set reasoning effort level (low|medium|high)",export_desc:"Export the current conversation as JSON",rename_desc:"Rename the current session",hooks_desc:"Show active hook configurations",cost_desc:"Show estimated session cost and duration",sent_command:"Command sent: ",noActiveSession:"No active session",unknownCommand:"Unknown command {{cmd}} — type /help to see available commands"},eB={pageError:"Page error",unknownError:"An unknown error occurred, please try refreshing the page",refreshPage:"Refresh page",genEnded:"Generation ended (tool execution timeout or connection lost)"},tB={backendConnected:"Backend connected",backendDisconnected:"Backend disconnected, reconnecting...",paused:"Paused, press ESC again to stop",terminated:"Stopped (ESC×2)",contextCompressed:"Context compressed: {{original}} → {{compressed}} messages, saved {{saved}} tokens",errorPrefix:"❌ Error: {{error}}",uncaughtError:"Uncaught error: ",uncaughtRejection:"Uncaught Promise rejection: ",unknownReason:"Unknown reason",diagnosing:"⏳ Diagnosing...",runDiagnostic:"🔍 Run Diagnostic",inspectorOn:"Enable inspector (Ctrl+Shift+Alt+C)",inspectorOff:"Disable inspector"},nB={title:"Channel Management",subtitle:"Connect external IM platforms to interact with AI via WeChat, Feishu, DingTalk, etc.",newChannel:"New Channel",editChannel:"Edit Channel",table:{name:"Channel Name",type:"Type",appId:"App ID",status:"Status",enabled:"Enabled",actions:"Actions",emptyHint:'Click "New Channel" in the top right to connect WeChat, Feishu or DingTalk'},status:{connected:"Connected",disconnected:"Disconnected",connecting:"Connecting",error:"Error"},empty:"No channels configured yet",emptyHint:'Click "New Channel" to add an IM platform bot',form:{basicInfo:"Basic Info",name:"Channel Name",namePlaceholder:"e.g. Office Group Bot",type:"Channel Type",credentials:"Credentials",appId:"App ID",appIdPlaceholder:"Enter App ID",appSecret:"App Secret",appSecretPlaceholder:"Enter App Secret",token:"Token",tokenPlaceholder:"Enter Bot Token",encodingAESKey:"EncodingAESKey",encodingAESKeyPlaceholder:"WeChat only, optional",enabled:"Enable Channel",wechatQrHint:"Save first, then scan QR code to login",feishuWsHint:"Feishu uses WebSocket to receive messages automatically",namePlaceholderDev:"e.g. Dev Group Bot",typeLocked:"Channel type cannot be changed after creation",leaveBlankUnchanged:"Leave blank to keep unchanged",leaveBlankMeansUnchanged:"Leave blank to keep unchanged",appSecretValue:"App secret",tokenCallback:"Callback verification token",optionalShort:"Optional",encodingAesOptional:"Optional, message encryption/decryption key",wechatIlinkHint:"The WeChat iLink bot authorizes via QR scan; credentials can be left empty — just save and scan to log in.",wechatIlinkHintList:'The WeChat iLink bot authorizes via QR scan; credentials can be left empty — after saving, click "QR Login" in the list.',enabledOffHint:"Sending and receiving messages stops when disabled"},actions:{scanQr:"Scan QR",edit:"Edit",delete:"Delete",deleteConfirm:"Are you sure you want to delete this channel?",test:"Test Connection",save:"Save Channel",cancel:"Cancel",refresh:"Refresh",qrLogin:"QR Login",deleteConfirmNamed:'Delete channel "{{name}}"?',deleteConfirmShort:"Delete this channel?"},errors:{loadFailed:"Failed to load channels",createFailed:"Failed to create channel",updateFailed:"Failed to update channel",deleteFailed:"Failed to delete channel",notFound:"Channel not found",notImplemented:"Not implemented",nameRequired:"Channel name is required"},qr:{title:"WeChat QR Login",generating:"Generating QR code...",waiting:"Scan the QR code with WeChat",scanned:"Scanned, please confirm on your phone",confirmed:"Login successful",expired:"QR code expired",expiredHint:"Click retry to generate a new QR code",error:"Failed to get QR code",openInNewTab:"Open in new tab"},typeLabels:{wechat:"WeChat",feishu:"Feishu",dingtalk:"DingTalk",telegram:"Telegram",discord:"Discord",slack:"Slack",signal:"Signal",whatsapp:"WhatsApp",line:"LINE",qqbot:"QQ Bot",matrix:"Matrix",mattermost:"Mattermost",msteams:"Teams",googlechat:"Google Chat",irc:"IRC"},viewSubtitle:"Connect WeChat, Feishu and DingTalk so users can send tasks via channels and receive progress and results in real time",experimentalLabel:"Experimental",experimentalShort:"Exp",experimentalTip:"Experimental implementation, features may be incomplete",experimentalDesc:"This channel is a basic adapter wrapper supporting basic message send/receive; some advanced features may be incomplete",pluginMissingLabel:"Plugin missing",pluginMissingTip:"The plugin for this channel type is not installed or activated; instances cannot start",pluginMissingWarning:'The plugin for this channel type is not installed or activated, so instances cannot start. Go to the "Plugins" page, install and activate the{{name}}plugin, then retry.',selectTypeHint:"Select a channel type on the left",instancesCount:"{{n}} configured instances",notConfiguredYet:"Not configured yet",createInstance:"New Instance",createShort:"New",selectInstance:"Select Instance",emptyWithType:"No {{type}} configured yet",wechatBindHint:"Click the button below and scan the QR code with WeChat to bind automatically",startWithCreate:'Click "New Instance" above to start configuration',scanToBind:"Scan to Bind",qrLoginReauth:"QR Login / Re-authorize",editConfig:"Edit Config",createConfig:"New Config",save:"Save",saving:"Saving...",unknownError:"Unknown error",retry:"Retry",bindSuccess:"Bound successfully",bindTitle:"Scan to Bind · {{name}}",startUsing:"Start Using",clickToRefresh:"Click to refresh",connectedReady:'"{{name}}" is connected and ready to use',createdConnectedReady:"WeChat channel created and connected, ready to use",waitingAuthorize:"Scan the QR code with WeChat to authorize the bot",scannedConfirming:"Scanned, please confirm on your phone...",confirmedClosing:"Bot authorized and started, closing automatically soon",connectingIlink:"Connecting to iLink service...",openInNewTabFallback:"Open in new tab (fallback)",toastReauthSuccess:'WeChat "{{name}}" re-authorized successfully, channel connected',toastBindSuccess:"WeChat bound successfully, channel created and connected automatically",pollFailedRefresh:"Too many polling failures, please refresh the QR code and retry",pollFailedToast:"Failed to poll WeChat binding status, please refresh the QR code and retry",qrDataMissing:"QR code data missing: {{data}}",fetchWechatQrFailed:"Failed to get WeChat QR code: {{error}}",sidebar:{title:"Channels",configuredCount:"{{n}} configured",clickToConfigure:"Click a channel below to start configuration",configuredMissing:"Configured · plugin missing",unconfigured:"Not configured",empty:"No channel plugins installed",emptyHint:"Channel types appear here after you install their plugins from the Plugins page",partialConnected:"{{connected}}/{{count}} connected",waitingPlugin:"Waiting for plugin installation"},categories:{im:"Instant Messaging",international:"International",eastAsia:"East Asia",collaboration:"Collaboration Platforms",classic:"Classic Protocols",other:"Others",builtin:"Built-in",plugins:"Plugin Extensions"}},aB={stageUploaded:"Pending",stageParsing:"Parsing data file",stageMapping:"Template mapping",stageRendering:"Generating file",stageComplete:"File processing complete",stageError:"File processing failed",parsing:"Parsing {{file}}…",parsedSummary:"{{rows}} rows · {{fields}} fields",mappingTitle:"Template ↔ data field mapping",templatePlaceholder:"Template placeholder",dataField:"Data field",mappingMore:"{{n}} more mappings",rendering:"Generating {{current}}/{{total}}…",download:"Download",downloadFailed:"Download failed",error:"Processing failed",roleData:"Data file",roleTemplate:"Template file",attach:"Upload files or images (multi-select supported)",dropHint:"Drop to add attachments",unsupportedType:"Unsupported file type: {{name}}",fileTooLarge:"File too large: {{name}} (≤50MB)",duplicateFile:"Duplicate file: {{name}}",maxAttachments:"Up to {{n}} files at a time",uploadFailed:"Upload failed",stillUploading:"Attachments are still uploading, please wait…",importFailed:"Import files failed",kindText:"Text",moreRows:"+{{n}} rows",rowsDone:"{{done}}/{{total}} rows",rowsFailed:"{{n}} rows failed",imagePreview:"Image preview"},rB={reconnecting:"Reconnecting {{attempt}}/{{max}}",hint:"Reconnecting to backend…"},sB={title:"Full access (auto-approve) is on",desc:"The agent can edit files and run commands without confirmation. Risk of data loss.",dismiss:"Dismiss for now",neverShow:"Don't show again"},iB={panelTitle:"Environment & Changes",noRepo:"Not a Git repo",notGitDesc:"The current working directory is not a Git repository; change stats are unavailable.",refresh:"Refresh",changes:"Changes",clean:"Working tree clean",branch:"Branch",upstream:"Ahead of upstream",commit:"Commit",push:"Push",commitConfirm:"Commit",commitPlaceholder:"Commit message (drafted by agent, editable)…",commitSuccess:"Committed",commitFailed:"Commit failed",pushSuccess:"Pushed",pushFailed:"Push failed",checkoutSuccess:"Switched to {{branch}}",checkoutFailed:"Checkout failed",prReady:"PR checks passing",prUnavailable:"Pull request status unavailable (no remote)",prLoading:"Loading PR status…",environment:"Environment",ok:"Done",loading:"Loading…",emptyCommitMsg:"Please enter a commit message"},oB={retry:"Retry",details:"Details",modelSettings:"Model settings"},lB={comingSoon:"Coming soon"},cB={lspGroup:"Language Servers (LSP)",mcpGroup:"MCP Servers",notInstalled:"Not installed",installed:"Installed",ready:"Ready",connecting:"Connecting",installing:"Installing…",error:"Error",disabled:"Disabled",toolCount:"{{count}} tools",docs:"Docs",official:"Official",cloud:"Cloud",local:"Local",needCredentials:"This connector needs credentials to start:",connect:"Connect",missing:"missing",envConfigured:"credentials set",searchPlaceholder:"Search connectors (name, id, description)…",all:"All",noResults:"No connectors match your search/filter.",custom:"Custom",addCustom:"Add custom",customTitle:"Add custom MCP server (from awesome-mcp-servers or your own)",customName:"Name (id)",customCommand:"Command",customArgs:"Args (space separated)",customEnv:"Env (KEY=value, comma separated)",customUrl:"MCP endpoint URL",customHeaders:"Headers (KEY=value, comma separated)",customLocal:"Local command",customFormRequired:"Name and command/URL are required.",removeCustom:"Remove this custom connector",add:"Add"},uB={justNow:"just now",minutesAgo:"{{count}}m ago",hoursAgo:"{{count}}h ago",daysAgo:"{{count}}d ago"},dB={title:"Voice input (Chinese: FunASR / other languages: whisper)",stopTitle:"Stop recording and transcribe",langToggle:"Speech recognition language",multiHint:"Chinese uses FunASR; other languages use faster-whisper",noSpeech:"No speech detected, please try again",backendMissing:"STT service not ready — opened settings to guide installation",setup:{title:"Voice Service",envCard:"Environment check",envChecking:"Checking…",recheck:"Re-check",pythonOk:"Python {{version}} ready",pythonMissing:"Python not detected. Please install Python 3.10+ first",pythonGuide:"Download Python",pipOk:"pip available",pipMissing:"pip is missing. Install pip first, then install the speech engine",whisperTitle:"Whisper · English & multilingual",whisperDesc:"English speech recognition",funasrTitle:"FunASR · Chinese",funasrDesc:"Chinese speech recognition",installed:"Installed",notInstalled:"Not installed",install:"Install",installing:"Installing…",cancel:"Cancel install",installDone:"Install complete — voice input is ready",installFailed:"Install failed",installTimeout:"Install timed out",installCancelled:"Install cancelled",jobInProgress:"An install task is already running, taking over its progress",manualCommand:"Manual install command",copyCommand:"Copy",copySuccess:"Copied to clipboard",copyFailed:"Copy failed",torchHint:"Chinese engine requires torch — large download, please wait",logWaiting:"Preparing install…",chooseHint:"Environment ready — pick an engine above to install",defaultEngine:"Default recognition engine",defaultEngineHint:"Choose the default engine for voice input. You can switch anytime in the chat input.",inUse:"In use",engineNotInstalledHint:"This engine is not installed yet. Recording will guide you to install it.",probeError:"Dependency check failed: ",installDoneButMissing:"Install command finished, but the engine is still unavailable",installDoneButMissingHint:"The voice service was restarted and re-checked automatically. If it still fails, run the manual command below in a terminal to diagnose (common cause: torch incompatible with system DLLs).",pipGuide:"Install Python (with pip) first, then restart the app and retry."}},fB={verb:{researching:"Analyzing code",coding:"Editing code",validating:"Running checks",summarizing:"Wrapping up"},title:{withFile:"{{verb}} {{file}}",withCount:"{{verb}} · {{count}} items"},evidenceMore:"+ {{count}} more",toolCallCount:"{{count}} tool calls",toolNamesMore:"+{{count}} more tools",waitingUser:"Waiting for your answer",blocked:"Blocked: {{reason}}",paused:"Paused — resumable",viewAndAnswer:"View & answer",evidence:"Execution details",phase:{analysis:"Analysis",implementation:"Implement",optimization:"Optimize"}},hB={next:"Next",idle:"Idle"},mB={title:"Scheduled Automations",refresh:"Refresh",new:"New",namePlaceholder:"Name (e.g. summarize Git status every morning at 9)",instructionsPlaceholder:"Instructions (what the agent executes on each trigger)",cronPlaceholder:"cron (5 fields, e.g. 0 9 * * *)",create:"Create",cronDaily9:"Daily at 9:00",cronWeekday9:"Weekdays at 9:00",cronEvery30Min:"Every 30 minutes",empty:"No scheduled automations yet. Create one to let the agent work unattended.",enable:"Enable",disable:"Disable",runNow:"Trigger manually",delete:"Delete",historyTitle:"Run History",noRuns:"No runs recorded yet",permissionsTitle:"Scoped allow rules (tool target)",permissionsEmpty:"None. Write operations not allowed here require manual approval and are auto-rejected after timeout.",permissionPlaceholder:"e.g. write_file docs/report.md",add:"Add"},pB="Scheduled tasks (e.g. nightly test-data runs) will be managed here.",gB="Manage plugins. Enable or disable extensions such as file-processing skills.",yB="Feature under development…",vB={title:"Files",searchPlaceholder:"Search...",refresh:"Refresh",collapse:"Collapse",uploadTo:"Upload to {{dir}}",uploadToRoot:"Upload to workspace root",setUploadDirHint:"Click to set as upload directory and expand",download:"Download",close:"Close",modified:"Modified",saving:"Saving...",save:"Save",saved:"File saved",saveFail:"Save failed",readFail:"Failed to read file",downloadFail:"Download failed",downloadStarted:"Download started",uploadedCount:"Uploaded {{count}} files",uploadFailedCount:"Failed to upload {{count}} files",selectFileHint:"Select a file to preview or edit"},bB={title:"Logs",backendLogs:"Backend Logs",streamTab:"Live Stream",files:"Log Files",clear:"Clear",refresh:"Refresh",refreshing:"Refreshing...",noLogs:"No live logs",noFiles:"No log files",preview:"Preview",download:"Download",backToList:"Back to file list",emptyFile:"(empty file)",totalLines:"{{count}} lines",showingLatest:"(showing latest {{count}} lines)"},xB={installedTab:"Installed ({{count}})",availableTab:"Available ({{count}})",searchPlaceholder:"Search plugins (name / id / description / tags)",clear:"Clear",allCategories:"All",marketFilterAll:"All sources",marketFilterBuiltin:"Built-in",prevPage:"Prev",nextPage:"Next",pageInfo:"Page {{page}} / {{pages}} · {{count}} items",noMatch:"No matching plugins",emptyInstalled:'No plugins yet — install from the market on the "Available" tab',emptyMarket:"No plugins available in the market",applyProviderTitle:"Write the plugin's provider preset into ProviderConfigStore (user-authorized)",activate:"Activate",deactivate:"Deactivate",uninstall:"Uninstall",installActivate:"Install & Activate",installOnly:"Install only",uninstallTitle:"Uninstall Plugin",uninstallConfirm:"Uninstall {{id}}? Plugin files will be deleted (except bundled)."},wB={starterTitle:"New template",starterNodeTitle:"Task",starterNodeDesc:"Describe the task",sourceSaved:"Distilled",sourceScript:"Script",sourceHandwritten:"Handwritten",roleExplore:"Explore",rolePlan:"Plan",roleExecute:"Execute",roleVerify:"Verify",roleSummarize:"Summarize",roleGeneric:"Generic",noNodes:"This template has no nodes yet.",filterAll:"All",noMatchTemplates:"No matching templates",emptyTemplates:"No templates yet. Save a dynamic workflow run as a template, or draft one with AI.",aiPromptRequired:"Description cannot be empty",aiDraftFailed:"AI drafting failed. Please try again or write the JSON manually.",nameRequired:"Template name cannot be empty",jsonParseFailed:"Failed to parse JSON: {{error}}",invalidDefinition:"definition must be a WorkflowDefinition containing a nodes array",createFailed:"Failed to create template",loadFailed:"Failed to load template",uncategorized:"Other",savedVersion:"Saved (v{{version}})",saveFailed:"Failed to save",renderFailed:"Render failed",selectTemplateHint:"Select a template on the left to view or edit",selectTemplateHintSub:"Built-in presets work out of the box; you can also save a workflow run as a template to reuse it later.",loading:"Loading…",deleteTemplate:"Delete template",categoryLabel:"Category (category)",descriptionLabel:"Description (description)",nodeCount:"{{n}} nodes",topologyHint:"Topology: serial / parallel dependencies",inputCount:"{{n}} input parameters",workflowNodes:"Workflow nodes",sortedByDeps:"Sorted by dependency topology",launchWithTemplate:"New session from template",testRun:"Test run",versionHistory:"Version history",advancedJson:"Advanced (JSON)",refresh:"Refresh",inputsSchemaLabel:"inputs (parameter schema, JSON) — saving changes bumps the version",definitionLabel:"definition (WorkflowDefinition, JSON)",saveChanges:"Save changes",versionSnapshotLabel:"Immutable version snapshots (versions/{v}.json)",noVersions:"No versions yet",viewingVersion:"Currently viewing",libraryTitle:"Template library",newTemplate:"New template",newShort:"New",searchPlaceholder:"Search templates…",paramCount:"{{n}} params",viewing:"Viewing",view:"View",launchModalTitle:'New session from "{{name}}"',previewModalTitle:'Test run "{{name}}"',launch:"Launch",renderPreview:"Render preview",renderSuccess:"Rendered successfully — the resulting definition can be launched directly",nameLabel:"Name *",namePlaceholder:"e.g. Triage Inbox",categoryField:"Category",descriptionField:"Description",aiDraftTab:"Draft with AI",manualJsonTab:"Write JSON manually",aiPromptLabel:"Describe in one sentence what you want (the AI will break it down into role-based workflow nodes)",aiPromptPlaceholder:"e.g. Review the current repo's code for security/performance/correctness and produce a graded report, read-only throughout",aiWorking:"AI is breaking down the task…",generateWorkflow:"Generate workflow",aiTimeHint:"Takes about 30–60s (reasoning models may take longer); you can tweak the result manually afterwards",newInputsLabel:"inputs (parameter schema, JSON; referenced via <<input:name>>)",inputsExamplePlaceholder:'[{ "name": "folder", "label": "Folder", "type": "folder", "required": true }]',cancel:"Cancel",create:"Create",deleteConfirm:'Delete template "{{name}}"? This action cannot be undone.',delete:"Delete",typeString:"Text",typeNumber:"Number",typeSelect:"Select",typeBoolean:"Toggle",typeFolder:"Folder",typeConnector:"Connector",noInputsNeeded:"This template needs no parameters — start directly.",starting:"Starting…",requiredError:"Required",numberError:"Please enter a number",selectNone:"(none)",newSession:"New session",newFromTemplateTitle:"New from template",chooseTemplateAria:"Choose a template to start a session",backToList:"Back to template list",startSessionHeader:"Start a session",directChat:"Direct chat",directChatHint:"No template — the AI breaks down the task on the fly (dynamic workflow)",loadingTemplates:"Loading templates…",noTemplatesYet:"No saved templates yet.",libraryMenu:"Template library…"},kB={autoFollowOn:"Follow output: on",autoFollowOff:"Follow output: off"},SB={title:"Testing & Observability",evalIntro:"Run capability evaluation tests to verify that system features work correctly.",running:"Running...",evalTriggered:"{{label}} triggered. Check the conversation for results.",evalQuickDesc:"Acceptance checks (no LLM required)",evalFullDesc:"Real LLM calls (slow)",evalListDesc:"List all evaluation tasks",historyTitle:"Run History",refresh:"Refresh"},_B={taskBoard:{title:"Task Board"},card:{collapse:"Collapse",expand:"Expand",auto:"Auto",unpin:"Unpin",pinKeep:"Pin (won't auto-hide)",pin:"Pin",close:"Close this widget"},workflow:{fallbackTitle:"Workflow",statusRunning:"Running",statusCompleted:"Done",statusFailed:"Failed",statusSkipped:"Skipped",statusBlocked:"Waiting",statusPending:"Pending",resume:"Resume",pause:"Pause",cancel:"Cancel"},agentFlow:{statusRunning:"Running",statusCompleted:"Done",statusFailed:"Failed",statusIdle:"Idle",moreAgents:"+{{count}} agents",eventLog:"Event log ({{count}})"},plan:{title:"AI Plan",fallbackTitle:"Workflow plan",stepCount:"{{count}} steps",moreSteps:"+{{count}} steps",start:"Start execution",change:"Change flow",changeHint:"Discard this plan and rephrase your request",cancelTitle:"Cancel workflow",cancel:"Cancel"}},CB={drawerCollapseTitle:"Collapse drawer to view messages",drawerExpandTitle:"Expand drawer to make a choice",openFile:"Open ›"},g3={common:zL,nav:$L,chat:HL,shortcuts:UL,palette:FL,a11y:GL,plan:qL,settings:VL,models:WL,tools:KL,skills:YL,hook:ZL,step:XL,toolCall:QL,slashCommands:JL,error:eB,toast:tB,channels:nB,fileJob:aB,reconnect:rB,autoAccess:sB,git:iB,errorCard:oB,placeholder:lB,connectors:cB,time:uB,stt:dB,activity:fB,taskbar:hB,automation:mB,placeholderScheduledDesc:pB,placeholderPluginsDesc:gB,featureInProgress:yB,fileTree:vB,logs:bB,plugins:xB,templates:wB,terminal:kB,testing:SB,widgets:_B,commonUi:CB},TB=qi.getState().language||"zh-CN";wn.use(IS).init({resources:{"zh-CN":{translation:p3,hook:p3.hook},en:{translation:g3,hook:g3.hook}},lng:TB,fallbackLng:"zh-CN",interpolation:{escapeValue:!1}});qi.subscribe((n,e)=>{n.language!==e.language&&wn.changeLanguage(n.language)});function Pg(n){let e=null;if(typeof n=="string")try{const t=JSON.parse(n);t&&typeof t=="object"&&!Array.isArray(t)&&(e=t)}catch{return}else n&&typeof n=="object"&&!Array.isArray(n)&&(e=n);if(e)return e.filePath||e.path||e.file||e.file_path}const B7=/(?:^|\s|\/|\\)(test|tests|lint|build|tsc|vitest|jest|pytest|typecheck|check)(?:\s|\.|"|'|`|$)/i,j7=/bash|shell|run|exec|terminal|command/i,AB=/read|grep|glob|search|list|find|open|view|web_search|fetch/i;function Ig(n){return n.some(e=>ll(e.name))?"coding":n.some(e=>j7.test(e.name))&&n.some(e=>{const t=typeof e.args=="string"?e.args:JSON.stringify(e.args??"");return B7.test(t)})?"validating":n.some(e=>AB.test(e.name))?"researching":"summarizing"}function zg(n){return n.some(e=>ll(e.name))?"implementation":n.some(e=>j7.test(e.name))&&n.some(e=>{const t=typeof e.args=="string"?e.args:JSON.stringify(e.args??"");return B7.test(t)})?"optimization":"analysis"}function $g(n){return wn.t(`activity.verb.${n}`)}function P7(n){const e=n.replace(/\\/g,"/");return e.slice(e.lastIndexOf("/")+1)||n}function I7(n,e){const t=$g(n);for(const a of e){const s=Pg(a.args);if(s)return wn.t("activity.title.withFile",{verb:t,file:P7(s)})}return e.length>1?wn.t("activity.title.withCount",{verb:t,count:e.length}):t}const EB=1500,NB=3,MB=3,y3=24;let r0=!1,Xs=[],L0=0,$i=null;function Hg(){return L0>=MB}function v3(){$i==null||$i.abort(),$i=null;const n=Xs;Xs=[],r0=!1,L0=0;for(const e of n)e.resolve(null)}function RB(n){const e=n.replace(/[\r\n]+/g," ").replace(/^["'「『]+|["'」』。.,,、]+$/g,"").trim();return e?e.length>y3?`${e.slice(0,y3-1)}…`:e:null}async function DB(n){var a,s,o;const e=new AbortController;$i=e;const t=setTimeout(()=>e.abort(),EB);try{const l=[`行为类型: ${n.kind}`,n.files.length>0?`涉及文件: ${n.files.map(P7).join(", ")}`:"",`工具调用数: ${n.toolCount}`].filter(Boolean).join(`
|
|
470
|
-
`),u=await fetch("/v1/chat/completions",{method:"POST",headers:{"content-type":"application/json"},signal:e.signal,body:JSON.stringify({messages:[{role:"system",content:"你是标题生成器。根据给定的行为类型、涉及文件和工具数,生成一句不超过 16 字的中文活动标题(动词开头,不要标点结尾,不要引号)。只输出标题本身。"},{role:"user",content:l}],max_tokens:60,temperature:.3,stream:!1})});if(!u.ok)return null;const h=(o=(s=(a=(await u.json()).choices)==null?void 0:a[0])==null?void 0:s.message)==null?void 0:o.content;return typeof h=="string"?RB(h):null}catch{return null}finally{clearTimeout(t),$i===e&&($i=null)}}async function z7(){if(r0)return;const n=Xs.shift();if(n){r0=!0;try{const e=await DB(n.req);e?(L0=0,n.resolve(e)):(L0+=1,n.resolve(null))}finally{if(r0=!1,Xs.length>0&&!Hg())z7();else if(Hg()){const e=Xs;Xs=[];for(const t of e)t.resolve(null)}}}}function OB(n){return Hg()||Xs.length>=NB?Promise.resolve(null):new Promise(e=>{Xs.push({req:n,resolve:e}),z7()})}const LB=new Set(["content","thinking","tool_call","tool_result"]),BB=/api ?key|unauthorized|401|no such file|not found|eacces|permission denied|file (?:does not exist|not exist)|missing (?:api key|file|dependency)|command not found|is not a function|ENOENT/i;function jB(n){return BB.test(n)?"blocked":"failed"}const PB=6;function IB(n,e){const t=n[n.length-1];if(!t)return!1;const a=ll(t.name),s=/bash|shell|run|exec|terminal/i.test(e);return a&&s||!a&&s&&ll(e)}class zB{constructor(){W(this,"sessions",new Map)}session(e){let t=this.sessions.get(e);return t||(t={messageId:null,batch:null,lastBlockIndex:Number.NEGATIVE_INFINITY,seq:0},this.sessions.set(e,t)),t}currentMessageId(e){const t=this.session(e);if(t.messageId)return t.messageId;const a=Ve.getState().messagesBySession[e]||[],s=a[a.length-1];return(s==null?void 0:s.id)??null}resetSession(e){this.sessions.delete(e),Zn.getState().resetSession(e)}onWsEvent(e,t,a,s){if(!(s&&LB.has(t)))switch(t){case"start":this.onStart(e);break;case"thinking":this.onThinking(e,a);break;case"content":this.onContent(e);break;case"tool_call":this.onToolCall(e,a);break;case"tool_result":this.onToolResult(e,a);break;case"turn_summary":this.onTurnSummary(e,a);break;case"ask_user_question":case"hook_ask":this.onWaitingUser(e);break;case"generation_paused":Zn.getState().markStatus(e,["running","waiting_user"],"paused");break;case"generation_resumed":Zn.getState().markStatus(e,["paused"],"running");break;case"error":this.finalizeAll(e,"failed"),v3();break;case"complete":this.finalizeAll(e,"completed"),v3();break}}onStart(e){const t=this.session(e),a=Ve.getState().messagesBySession[e]||[],s=a[a.length-1];t.messageId=(s==null?void 0:s.id)??null,t.batch=null,t.seq=0,t.lastBlockIndex=Number.NEGATIVE_INFINITY}onThinking(e,t){const a=this.session(e);if(!a.batch||a.batch.toolCallIds.length===0){this.advanceBlockIndex(a,t);return}const s=this.parseIndex(t);typeof s=="number"&&s>a.lastBlockIndex&&this.sealBatch(a.batch),this.advanceBlockIndex(a,t)}onContent(e){const t=this.session(e);t.batch&&this.sealBatch(t.batch)}onToolCall(e,t){const a=this.session(e),s=this.parseObj(t);if(!s)return;const o=typeof s.id=="string"?s.id:void 0,l=typeof s.index=="number"?s.index:void 0,u=typeof s.name=="string"?s.name:"Unknown",d=s.args??s.arguments??"",h=this.currentMessageId(e)??`session:${e}`;let m=a.batch;if(!m||m.messageId!==h||m.sealed){m&&!m.sealed&&m.toolCallIds.length>0&&this.finalizeBatch(e,m,m.hadError?this.errorStatus(m):"completed"),a.seq+=1;const N=`${h}:act:${a.seq}`,E=Ig([{name:u,args:d}]),L=zg([{name:u,args:d}]),B=Date.now(),j=l??(a.lastBlockIndex===Number.NEGATIVE_INFINITY?0:a.lastBlockIndex+1);m={sessionId:e,messageId:h,activityId:N,kind:E,phase:L,tools:[],toolCallIds:[],toolIndexByKey:new Map,pending:new Set,hadError:!1,blockRange:[j,j],startedAt:B,sealed:!1},a.batch=m,Zn.getState().applyEvent(e,{type:"activity_started",activity:{id:N,sessionId:e,messageId:h,kind:E,phase:L,status:"running",title:$g(E),titleSource:"rule",toolCallIds:[],blockRange:m.blockRange,startedAt:B}})}if(!m.sealed&&m.toolCallIds.length>=PB&&IB(m.tools,u)){this.finalizeBatch(e,m,m.hadError?"failed":"completed"),a.batch=null,this.onToolCall(e,t);return}const p=l!==void 0?`idx:${l}`:o??null;if(p!==null&&m.toolIndexByKey.has(p)){const N=m.toolIndexByKey.get(p),E=m.tools[N];let L=!1;E&&(E.name==="Unknown"&&u!=="Unknown"&&(E.name=u,L=!0),!E.args&&d&&(E.args=d,L=!0));const B=m.toolCallIds[N];o&&B&&B.startsWith("tc-")&&(m.toolCallIds[N]=o,m.pending.delete(B),m.pending.add(o),L=!0),L&&Zn.getState().applyEvent(e,{type:"activity_updated",activityId:m.activityId,patch:{toolCallIds:[...m.toolCallIds]}});return}const b={name:u,args:d};m.tools.push(b),p!==null&&m.toolIndexByKey.set(p,m.tools.length-1);const x=o??`tc-${m.toolCallIds.length}-${m.activityId}`;m.toolCallIds.push(x),m.pending.add(x),l!==void 0&&(m.blockRange=[Math.min(m.blockRange[0],l),Math.max(m.blockRange[1],l)],a.lastBlockIndex=Math.max(a.lastBlockIndex,l));const k=Ig(m.tools),_=zg(m.tools),T=Zn.getState();if(T.applyEvent(e,{type:"activity_updated",activityId:m.activityId,patch:{kind:k,phase:_,toolCallIds:[...m.toolCallIds],...k!==m.kind?{title:$g(k)}:{}}}),m.kind=k,m.phase=_,ll(u)){const N=Pg(d);N&&T.applyEvent(e,{type:"artifact_produced",artifact:{id:`${m.activityId}:${N}`,path:N,action:"modified",activityId:m.activityId}})}}onToolResult(e,t){const a=this.session(e);if(!a.batch)return;const s=this.parseObj(t);if(!s)return;const o=a.batch,l=typeof s.id=="string"?s.id:void 0,u=typeof s.index=="number"?s.index:void 0;if(!(l!==void 0&&o.toolCallIds.includes(l)||l===void 0&&u!==void 0&&u>=o.blockRange[0]&&u<=o.blockRange[1]))return;if(l!==void 0)o.pending.delete(l);else{const p=[...o.pending][0];p&&o.pending.delete(p)}const h=s.result;typeof h=="string"&&h.startsWith("Error:")&&(o.hadError=!0,o.lastError=String(h).slice(0,200)),o.sealed&&o.pending.size===0&&this.finalizeBatch(e,o,o.hadError?"failed":"completed")}onTurnSummary(e,t){const a=this.parseObj(t);if(!a)return;const s=typeof a.headline=="string"?a.headline:void 0;if(!s)return;const o=this.currentMessageId(e);o&&Zn.getState().applyEvent(e,{type:"task_title_set",messageId:o,title:s})}onWaitingUser(e){const t=Zn.getState(),a=t.bySession[e];if(a)for(let s=a.order.length-1;s>=0;s--){const o=a.order[s];if(!o)continue;const l=a.activities[o];if(l&&l.status==="running"){t.applyEvent(e,{type:"activity_updated",activityId:l.id,patch:{status:"waiting_user"}});return}}}finalizeAll(e,t){const a=this.session(e);a.batch&&(this.finalizeBatch(e,a.batch,a.batch.hadError?this.errorStatus(a.batch):t),a.batch=null),Zn.getState().finalizeSession(e,t)}errorStatus(e){return e.lastError?jB(e.lastError):"failed"}sealBatch(e){!e||e.sealed||(e.sealed=!0,this.finalizeBatch(e.sessionId,e,e.hadError?this.errorStatus(e):"completed"))}finalizeBatch(e,t,a){if(!t)return;const s=Zn.getState(),o=t.kind,l=t.tools,u=I7(o,l);if(s.applyEvent(e,{type:"activity_finalized",activityId:t.activityId,status:a,endedAt:Date.now()}),s.applyEvent(e,{type:"activity_updated",activityId:t.activityId,patch:{title:u,titleSource:"inferred",...(a==="failed"||a==="blocked")&&t.lastError?{blockedReason:t.lastError}:{}}}),a==="completed"&&l.length>=2){const d=l.map(h=>Pg(h.args)).filter(h=>typeof h=="string");OB({kind:o,files:d,toolCount:l.length}).then(h=>{h&&Zn.getState().applyEvent(e,{type:"activity_updated",activityId:t.activityId,patch:{title:h,titleSource:"llm"}})})}}parseObj(e){if(e&&typeof e=="object"&&!Array.isArray(e))return e;if(typeof e=="string")try{const t=JSON.parse(e);return t&&typeof t=="object"&&!Array.isArray(t)?t:null}catch{return null}return null}parseIndex(e){const t=this.parseObj(e),a=t==null?void 0:t.index;return typeof a=="number"?a:void 0}advanceBlockIndex(e,t){const a=this.parseIndex(t);typeof a=="number"&&(e.lastBlockIndex=Math.max(e.lastBlockIndex,a))}}const $B=new zB;function PP(n,e){const t=[];for(const l of e.thinkingBlocks??[])t.push({index:l.index,kind:"thinking"});for(const l of e.toolCalls??[])t.push({index:l.index??Number.MAX_SAFE_INTEGER,kind:"tool",tc:l});t.sort((l,u)=>l.index-u.index);const a=[];let s=[];for(const l of t)l.kind==="thinking"?s.length>0&&(a.push(s),s=[]):l.tc&&s.push(l.tc);if(s.length>0&&a.push(s),a.length===0)return[];const o=e.timestamp??Date.now();return a.map((l,u)=>{const d=Ig(l),h=l.map(_=>_.index??Number.MAX_SAFE_INTEGER),m=Math.min(...h),p=Math.max(...h),b=l.some(_=>_.status==="error"),x=Math.min(...l.map(_=>_.timestamp),o),k=Math.max(...l.map(_=>_.timestamp+(_.duration??0)*1e3),o);return{id:`${e.id}:act:${u+1}`,sessionId:n,messageId:e.id,kind:d,phase:zg(l),status:b?"failed":"completed",title:I7(d,l),titleSource:"inferred",toolCallIds:l.map(_=>_.id),blockRange:m===Number.MAX_SAFE_INTEGER?[u,u]:[m,p===Number.MAX_SAFE_INTEGER?m:p],startedAt:x,endedAt:k}})}function HB(n){const e=n.toLowerCase();let t="unknown";return e.includes("401")||e.includes("unauthorized")||e.includes("invalid api key")||/api ?key.*invalid/.test(e)?t="auth":e.includes("429")||e.includes("rate limit")||e.includes("quota")||e.includes("insufficient_quota")?t="rate_limit":e.includes("timeout")||e.includes("timed out")||e.includes("timedout")?t="timeout":e.includes("network")||e.includes("econnrefused")||e.includes("fetch failed")||e.includes("socket")||e.includes("websocket")?t="network":e.includes("tool")||e.includes("bash")||e.includes("command failed")?t="tool":(e.includes("model")||e.includes("api")||e.includes("provider")||e.includes("response"))&&(t="model"),{id:`error-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,category:t,summary:UB(n,t),detail:n,retryable:t!=="auth",timestamp:Date.now()}}function UB(n,e){const t={auth:"API Key 无效或已失效(401 Unauthorized)",rate_limit:"请求频率超限或配额不足(429)",timeout:"请求超时",network:"网络连接异常",tool:"工具执行失败",model:"模型调用失败",unknown:"发生未知错误"},a=(n.split(`
|
|
471
|
-
`)[0]||"").trim().slice(0,120);return a?`${t[e]}: ${a}`:t[e]}function FB(n,e,t,a){var o,l;const s=Ve.getState();if(!(a&&(n==="content"||n==="thinking"||n==="tool_call"||n==="tool_result"))){switch(n){case"start":s.startGeneration(t),s.addMessage(t,{id:yr(),type:"assistant",content:"",timestamp:Date.now()}),We.getState().touchSession(t);break;case"content":{let u=String(e||"");try{const h=JSON.parse(e);u=h.text||h.content||u}catch{}const d=u.replace(/\[FINISH\]/g,"");d&&s.appendToLastMessage(t,d)}break;case"thinking":{let u=String(e||""),d;try{const h=JSON.parse(e);u=h.text||h.content||u,d=typeof h.index=="number"?h.index:void 0}catch{}u&&s.appendToLastMessageThinking(t,u,d)}break;case"tool_call":try{const u=JSON.parse(e||"{}"),d=u.id||yr(),h=typeof u.index=="number"?u.index:void 0,m=u.args||u.arguments||"",p=s.messagesBySession[t]||[],b=p[p.length-1],x=[...((o=b==null?void 0:b.steps)==null?void 0:o.flatMap(_=>_.toolCalls||[]))||[],...(b==null?void 0:b.toolCalls)||[]],k=x.find(_=>h!==void 0&&_.index===h||_.id===d);if(k)s.updateToolCall(t,k.id??d,{args:m,...d&&k.id&&k.id!==d?{id:d}:{}});else if(h===void 0&&u.name){const _=x.filter(N=>N.name===u.name&&N.status==="running"),T=_[_.length-1];T?s.updateToolCall(t,T.id,{args:m,...d&&T.id!==d?{id:d}:{}}):s.addToolCall(t,{id:d,index:h,name:u.name||"Unknown",args:m,status:"running",timestamp:Date.now()})}else s.addToolCall(t,{id:d,index:h,name:u.name||"Unknown",args:m,status:"running",timestamp:Date.now()})}catch(u){console.warn("Failed to parse tool call",String(u))}break;case"tool_result":try{const u=JSON.parse(e||"{}"),h=Ve.getState().messagesBySession[t]||[],m=[];for(const _ of h){const T=_.steps||[];for(const N of T)N.toolCalls&&m.push(...N.toolCalls);_.toolCalls&&m.push(..._.toolCalls)}const p=u.toolName,b=u.id,x=typeof u.index=="number"?u.index:void 0;let k;if(b&&(k=m.find(_=>_.id===b)),!k&&x!==void 0&&(k=m.find(_=>_.index===x&&_.name===p)),!k){const _=m.filter(T=>T.name===p&&T.status==="running");_.sort((T,N)=>(T.timestamp||0)-(N.timestamp||0)),k=_[0]}if(!k){const _=m.filter(T=>T.name===p&&T.status==="error"&&T.result==="生成已结束(工具执行超时或连接中断)");_.sort((T,N)=>(N.timestamp||0)-(T.timestamp||0)),k=_[0]}if(k){const _=Math.floor((Date.now()-(k.timestamp||Date.now()))/1e3),T=typeof u.result=="string"&&u.result.startsWith("Error:");s.updateToolCall(t,k.id,{status:T?"error":"completed",result:u.result,duration:_,...u.diff!==void 0?{diff:String(u.diff)}:{},...u.noTruncate===!0?{noTruncate:!0}:{}})}}catch(u){console.warn("Failed to parse tool result",String(u))}break;case"tool_diff":try{const u=JSON.parse(e||"{}"),h=Ve.getState().messagesBySession[t]||[],m=[];for(const x of h){const k=x.steps||[];for(const _ of k)_.toolCalls&&m.push(..._.toolCalls);x.toolCalls&&m.push(...x.toolCalls)}const p=m.filter(x=>x.name===u.toolName&&x.status==="running");p.sort((x,k)=>(x.timestamp||0)-(k.timestamp||0));const b=p[0];b&&typeof u.diff=="string"&&s.updateToolCall(t,b.id,{diff:u.diff})}catch(u){console.warn("Failed to parse tool diff",String(u))}break;case"turn_summary":{try{const u=JSON.parse(e||"{}"),d={};if(u.toolCounts&&typeof u.toolCounts=="object"&&!Array.isArray(u.toolCounts))for(const[h,m]of Object.entries(u.toolCounts)){const p=Number(m);Number.isFinite(p)&&p>0&&(d[h]=p)}s.setTurnSummary(t,{thoughtMs:Number(u.thoughtMs??u.durationMs??0)||0,durationMs:Number(u.durationMs??u.thoughtMs??0)||0,toolCounts:d,...typeof u.headline=="string"&&u.headline?{headline:u.headline}:{}})}catch(u){console.warn("Failed to parse turn_summary",String(u))}break}case"web_search":try{const u=JSON.parse(e||"{}"),d=u.callId||`web-search-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,h=typeof u.index=="number"?u.index:void 0,m=u.status==="searching"||u.status==="in_progress",p=u.status==="failed",b=s.messagesBySession[t]||[],x=b[b.length-1],_=[...((l=x==null?void 0:x.steps)==null?void 0:l.flatMap(T=>T.toolCalls||[]))||[],...(x==null?void 0:x.toolCalls)||[]].find(T=>T.id===d||h!==void 0&&T.index===h&&T.name==="web_search");_?m||s.updateToolCall(t,_.id,{status:p?"error":"completed",result:p?"❌ 联网搜索失败":u.searchUrl?`✅ 搜索完成:${u.searchUrl}`:"✅ 搜索完成"}):s.addToolCall(t,{id:d,index:h,name:"web_search",args:"{}",status:m?"running":"completed",result:m?void 0:p?"❌ 联网搜索失败":u.searchUrl?`✅ 搜索完成:${u.searchUrl}`:"✅ 搜索完成",timestamp:Date.now()})}catch(u){console.warn("Failed to parse web_search",String(u))}break;case"cache_stats":try{const u=JSON.parse(e||"{}");st.getState().setCacheStats({cacheHitTokens:Number(u.cacheHitTokens)||0,cacheMissTokens:Number(u.cacheMissTokens)||0,cacheHitRate:u.cacheHitRate!==void 0?Number(u.cacheHitRate):void 0,cacheStatsCalls:Number(u.cacheStatsCalls)||0})}catch(u){console.warn("Failed to parse cache_stats",String(u))}break;case"complete":s.endGeneration(t);{const u=Ve.getState().messagesBySession[t]||[];u.length>0&&st.getState().recalculateFromMessages(u)}We.getState().touchSession(t);break;case"generation_paused":s.pauseGeneration(t);break;case"generation_resumed":s.resumeGeneration(t);break;case"compaction_progress":try{const u=JSON.parse(e||"{}");st.getState().setCompactionProgress({stage:u.stage||"",percent:u.percent||0,message:u.message||""})}catch(u){console.error("Failed to parse compaction_progress:",u)}break;case"context_compressed":try{const u=JSON.parse(e||"{}"),d=`Context compressed: ${u.originalCount} -> ${u.compressedCount} msgs, freed ${u.tokensSaved} tokens`;s.appendToLastMessage(t,`
|
|
472
|
-
|
|
473
|
-
---
|
|
474
|
-
${d}
|
|
475
|
-
|
|
476
|
-
`),Ye.info(d,5e3),st.getState().setCompacting({originalCount:u.originalCount||0,compressedCount:u.compressedCount||0,tokensSaved:u.tokensSaved||0}),st.getState().setCompactionProgress(null)}catch(u){console.error("Failed to parse context_compressed:",u)}break;case"error":{s.endGeneration(t);const u=typeof e=="string"?e:String(e||"Error occurred"),d=HB(u),h=s.messagesBySession[t]||[],m=h[h.length-1];m&&m.type==="assistant"&&!m.errorCard?s.attachErrorCard(t,d):s.addMessage(t,{id:yr(),type:"assistant",content:"",timestamp:Date.now(),errorCard:d}),We.getState().touchSession(t);break}case"context_analysis":try{const u=JSON.parse(e||"{}");u&&u.total!==void 0&&st.getState().setContextDistribution(u)}catch(u){console.error("Failed to parse context_analysis:",u)}break;case"threshold_warning":try{const u=JSON.parse(e||"{}");st.getState().setThresholdWarning(u);const d=u.percentLeft!==void 0?u.percentLeft:0;d<=5?console.warn(`Context nearly full (${d}% remaining)`):d<=15&&console.info(`Context running low (${d}% remaining)`)}catch(u){console.error("Failed to parse threshold_warning:",u)}break;case"blocking_limit":try{const u=JSON.parse(e||"{}");st.getState().setThresholdWarning(u),console.error(u.message||"Context blocked")}catch(u){console.error("Failed to parse blocking_limit:",u)}break;case"context_blocked":try{const u=JSON.parse(e||"{}");st.getState().setThresholdWarning(u),console.error(u.message||"Context is full — generation blocked")}catch(u){console.error("Failed to parse context_blocked:",u)}break;case"tool_retry":try{const u=JSON.parse(e||"{}");st.getState().setRetryState({active:u.attempt<(u.maxRetries||3),attempt:u.attempt||0,maxRetries:u.maxRetries||3,errorCategory:u.errorCategory||"unknown",toolName:u.toolName})}catch(u){console.error("Failed to parse tool_retry:",u)}break;case"model_fallback":try{const u=JSON.parse(e||"{}");console.warn(`Model fallback: ${u.fromModel||"?"} → ${u.toModel||"?"}`)}catch(u){console.error("Failed to parse model_fallback:",u)}break;case"tombstone":try{const d=JSON.parse(e||"{}").messageIds||[];d.length>0&&s.applyTombstone(t,d)}catch(u){console.warn("Failed to parse tombstone",String(u))}break;case"stall_detected":try{const u=JSON.parse(e||"{}"),d=u.attempt||0,h=u.maxRetries||3,m=u.reason||"no response from model";u.recovering?Ye.warning(`⚠ Generation stalled (${m}) — retrying ${d}/${h}`,8e3):Ye.error(`⚠ Generation stalled (${m}) — giving up`,1e4)}catch(u){console.warn("Failed to parse stall_detected",String(u))}break}$B.onWsEvent(t,n,e,a)}}const M1=An()((n,e)=>({backendCommands:[],loaded:!1,setBackendCommands:t=>{n({backendCommands:t,loaded:!0})},getAllCommands:()=>e().backendCommands}));async function GB(n="",e){try{let t=`${n}/api/commands`;e&&(t+=`?lang=${encodeURIComponent(e)}`);const a=await fetch(t);if(!a.ok)return[];const s=await a.json(),o=Array.isArray(s==null?void 0:s.data)?s.data:[];return M1.getState().setBackendCommands(o),o}catch{return[]}}function xp(n,e,t,a,s){var o,l,u;switch(n){case"token_update":try{const h=typeof e=="string"?JSON.parse(e):e||{};if(h.source==="workflow"){st.getState().addWorkflowTokens(Number(h.workflowNodeTokens)||0);break}h.totalTokens>0&&st.getState().updateUsage({promptTokens:h.promptTokens||0,completionTokens:h.completionTokens||0,totalTokens:h.totalTokens||0});const m=h.promptCacheHitTokens??h.prompt_cache_hit_tokens,p=h.promptCacheMissTokens??h.prompt_cache_miss_tokens;(m!==void 0||p!==void 0)&&st.getState().accumulateCacheStats(Number(m)||0,Number(p)||0),h.model&&st.getState().setModel(h.model)}catch{}break;case"context_breakdown":try{const h=typeof e=="string"?JSON.parse(e):e||{};st.getState().setContextBreakdown({systemPromptTokens:Number(h.systemPromptTokens)||0,messagesTokens:Number(h.messagesTokens)||0,toolContentTokens:Number(h.toolContentTokens)||0,toolDefTokens:Number(h.toolDefTokens)||0,mcpToolTokens:Number(h.mcpToolTokens)||0,skillTokens:Number(h.skillTokens)||0,dynamicTokens:Number(h.dynamicTokens)||0,total:Number(h.total)||0})}catch{}break;case"model_name":try{const h=s&&typeof s.model=="string"&&s.model||(typeof e=="string"?e:(e==null?void 0:e.model)||"");h&&st.getState().setModel(h);const m=s&&typeof s.modelRef=="string"&&s.modelRef||(typeof e=="object"&&e!==null&&typeof e.modelRef=="string"?e.modelRef:"");m&&st.getState().setModelRef(m)}catch{}break;case"auth_required":let d=localStorage.getItem("auth_token");d||(d="default-token",localStorage.setItem("auth_token",d)),Re.setToken(d),Re.setAuthenticated(!1),Re.send({type:"auth",token:d});break;case"auth_success":Re.setAuthenticated(!0),Re.send({type:"subscribe_logs"});{const h=qi.getState();GB("",(o=h.language)!=null&&o.startsWith("zh")?"zh":"en");const m=h.workspaceDir;m&&Re.send({type:"workspace",message:m})}break;case"auth_failed":vr.error("Auth failed",String(e));break;case"log":try{const h=typeof e=="string"?JSON.parse(e):e,m={id:`log-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,level:h.level||"info",source:h.source||"System",message:h.message||"",timestamp:h.timestamp||Date.now()};a.setLogs(p=>[...p,m].slice(-500)),a.activeTab!=="logs"&&a.setUnreadLogs(p=>p+1)}catch(h){console.warn("Failed to parse log entry",String(h))}break;case"commands_list":try{const h=JSON.parse(e||"[]");M1.getState().setBackendCommands(Array.isArray(h)?h:[])}catch(h){console.warn("Failed to parse commands list",String(h))}break;case"command_error":try{const h=typeof e=="string"?JSON.parse(e):e||{};Ye.error((h.error||"Command failed").toString(),6e3)}catch{}break;case"notification":{try{const h=typeof e=="string"?JSON.parse(e):e||{},m=h.result&&typeof h.result=="object"?h.result:{},p=String(h.message||m.message||"").trim();if(!p)break;if(h.kind==="command"){const b=We.getState().activeSessionId;b&&Ve.getState().addMessage(b,{id:`cmd-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,type:"assistant",content:`⚙️ ${String(h.command||"")} → ${p}`,timestamp:Date.now()})}else Ye.info(p,5e3)}catch{}break}case"ping":Re.send({type:"pong",data:Date.now().toString()});break;case"workspace_changed":try{const h=JSON.parse(e||"{}");h.newDir&&qi.getState().setWorkspaceDir(h.newDir)}catch{}break;case"degradation_update":try{const h=typeof e=="string"?JSON.parse(e):e||{},m=h.active,p=h.mode||"normal",b=Number(h.retryCount)||0,x=Number(h.maxRetries)||0,k=h.message||"",T={normal:"normal",retrying:"retrying",alternative:"alternative model",degraded:"degraded",verifying:"verifying",verified_fail:"verify failed"}[p]||p;if(st.getState().setDegradation({active:m,retryCount:b,maxRetries:x,mode:p,message:k,label:T}),m){const N=b>0?` (${b}/${x})`:"";Ye.warning(k||`API Degraded: ${T}${N}`,8e3),a.setLogs(E=>[...E,{id:`deg-${Date.now()}`,level:"warn",source:"Infrastructure",message:`Degradation: ${T} | ${k||"no details"}`,timestamp:Date.now()}].slice(-500))}else Ye.success("API Normal")}catch(h){console.warn("Degradation update parse error",String(h))}break;case"doctor_result":try{const h=typeof e=="string"?JSON.parse(e):e||{},m=h.overallStatus||h.status||"unknown",p=h.healthRate,b=h.issues||[],k={healthy:"healthy",degraded:"degraded",unhealthy:"unhealthy",unknown:"unknown"}[m]||m,_=typeof p=="number"?` (${Math.round(p*100)}%)`:"";if(m==="healthy")Ye.success(`Doctor: ${k}${_}`);else if(Ye.warning(`Doctor: ${k}${_}`,1e4),b&&b.length>0)for(const T of b)a.setLogs(N=>[...N,{id:`doctor-${Date.now()}-${Math.random().toString(36).slice(2,6)}`,level:"warn",source:"Doctor",message:typeof T=="string"?T:T.message||JSON.stringify(T),timestamp:Date.now()}].slice(-500))}catch(h){console.warn("Doctor result parse error",String(h))}break;case"session_created":{try{const h=typeof e=="string"?JSON.parse(e):e||{};h.id&&(Re.setSessionId(h.id),We.getState().updateSession(h.id,h))}catch{}typeof e=="string"&&e&&vr.info(`Session event: ${n}`);break}case"session_resumed":{try{const h=typeof e=="string"?JSON.parse(e):e||{};if((l=h.session)!=null&&l.id&&(Re.setSessionId(h.session.id),We.getState().updateSession(h.session.id,h.session)),h.messages&&Array.isArray(h.messages)){const m=((u=h.session)==null?void 0:u.id)||t;Ve.getState().replaceMessages(m,h.messages.map(x=>({id:x.id||`msg-${x.timestamp||Date.now()}`,type:x.type==="user"?"user":"assistant",content:x.content||"",timestamp:x.timestamp||Date.now(),thinking:x.thinking||void 0})));const p=h.messages.find(x=>x.type==="user"&&!x.deleted),b=typeof(p==null?void 0:p.content)=="string"?p.content.replace(/\s+/g," ").trim():"";We.getState().touchSession(m,b||void 0)}}catch(h){console.warn("Failed to process session_resumed",String(h))}typeof e=="string"&&e&&vr.info(`Session event: ${n}`);break}case"mcp_update":try{const h=typeof e=="string"?JSON.parse(e):e||{},m=h.server||h.name||"MCP",p=h.action||h.status||"updated";vr.info(`MCP ${m}: ${p}`)}catch{}break}}function IP(n,e){switch(Q_(n,e)){case"critical":return{level:"CRITICAL",reasonKey:"risk_critical"};case"high":return{level:"HIGH",reasonKey:/rm\s+-rf|sudo|chmod\s+777|curl.*\|\s*(ba)?sh|wget.*-O|>\/dev\/|mkfs/i.test(e)?"risk_critical_cmd":/write|edit|save|upload|deploy|publish/i.test(n)?"risk_high_file":/install|uninstall|npm|pip|cargo|gem|apt|brew|choco|yum|dnf/i.test(n)?"risk_high_pkg":"risk_high_shell"};case"low":return{level:"LOW",reasonKey:"risk_low"};default:return{level:"MEDIUM",reasonKey:/git|commit|push|merge|rebase/i.test(n)?"risk_git":"risk_network"}}}const zP={CRITICAL:{bg:"bg-red-900/20",border:"border-red-500/40",text:"text-red-400",badge:"bg-red-500/20 text-red-400 border-red-500/30",icon:"🚨"},HIGH:{bg:"bg-orange-900/15",border:"border-orange-500/30",text:"text-orange-400",badge:"bg-orange-500/20 text-orange-400 border-orange-500/30",icon:"⚠️"},MEDIUM:{bg:"bg-yellow-900/10",border:"border-yellow-500/25",text:"text-yellow-400",badge:"bg-yellow-500/15 text-yellow-400 border-yellow-500/25",icon:"📋"},LOW:{bg:"bg-blue-900/10",border:"border-blue-500/25",text:"text-blue-400",badge:"bg-blue-500/15 text-blue-400 border-blue-500/25",icon:"✅"}};function $P(n,e){return J_(n,e)}function qB(n){try{const e=JSON.parse(n),t=e.payload&&typeof e.payload=="object"?e.payload:e,a=t.resolvedPath;if(typeof a=="string"&&a)return a;const s=t.requestedPath;return typeof s=="string"&&s?s:null}catch{return null}}function VB(n,e){try{const t=typeof n=="string"?JSON.parse(n):n||{},a=ns.getState(),{approvalId:s,toolName:o,askPayload:l,timeoutMs:u,timeoutAction:d}=t,h=qB(String(l||""));if(a.isSessionAllowed(o,h??void 0)){Re.send({type:"hook_allow",data:JSON.stringify({approvalId:s})});return}if(a.autoMode&&o!=="exit_plan_mode"){Re.send({type:"hook_allow",data:JSON.stringify({approvalId:s})});return}Ve.getState().addMessage(e,{id:`hook-approval-${s||Date.now()}`,type:"assistant",content:"",timestamp:Date.now(),hookApproval:{approvalId:s||"",toolName:o||"unknown",askPayload:l||"",status:"pending",timestamp:Date.now(),timeoutMs:typeof u=="number"?u:void 0,timeoutAction:d==="allow"||d==="deny"?d:void 0}}),a.addApproval({approvalId:s||"",toolName:o||"unknown",askPayload:l||"",timestamp:Date.now(),timeoutMs:typeof u=="number"?u:void 0,timeoutAction:d==="allow"||d==="deny"?d:void 0}),window.dispatchEvent(new CustomEvent("hook-approval-required"))}catch{}}function wp(n,e){try{const t=typeof n=="string"?JSON.parse(n):n||{};typeof t.sessionId=="string"&&t.sessionId&&(e=t.sessionId);const a=We.getState(),s=xt.getState(),{action:o,taskId:l,data:u}=t;if(o==="created"&&u){const d={id:l||`task-${Date.now()}`,title:u.title||"",completed:u.status==="COMPLETED",createdAt:Date.parse(u.createdAt)||Date.now(),backendId:l,backendStatus:u.status,description:u.description},h=a.tasksBySession[e]||[];a.setSessionTasks(e,[...h,d]),s.upsertTask(e,{id:d.id,title:d.title,description:d.description,status:kr(u.status),source:"task",progress:u.progress!=null?Number(u.progress):void 0,raw:t})}else if((o==="updated"||o==="status_changed")&&u)a.updateTaskPlanStatus(e,l,{backendStatus:u.status,progress:u.progress}),s.upsertTask(e,{id:l,title:u.title||l,description:u.description,status:kr(u.status),source:"task",progress:u.progress!=null?Number(u.progress):void 0,raw:t});else if(o==="deleted"){const d=a.tasksBySession[e]||[];a.setSessionTasks(e,d.filter(h=>h.id!==l&&h.backendId!==l))}else if(t&&!o&&(t.id||t.taskId)){const d=String(t.id||t.taskId),h=t,m=String(h.status||"").toUpperCase()==="COMPLETED",p={id:d,title:String(h.title||h.name||d),completed:m,createdAt:Date.parse(h.createdAt)||Date.now(),backendId:d,backendStatus:h.status,description:h.description,progress:h.progress!=null?Number(h.progress):void 0},b=a.getSessionTasks(e);b.some(x=>x.id===d||x.backendId===d)?a.updateTaskPlanStatus(e,d,{backendStatus:h.status,progress:p.progress,completed:m}):a.setSessionTasks(e,[...b,p]),s.upsertTask(e,{id:d,title:p.title,description:p.description,status:kr(h.status),source:"task",progress:p.progress,raw:t})}s.recordEvent(e,{type:"task_update",source:"task",title:(u==null?void 0:u.title)||t&&(t.title||t.id||t.taskId)||l||"Task update",message:o||"updated",status:(u==null?void 0:u.status)||(t==null?void 0:t.status),taskId:l||(t==null?void 0:t.id)||(t==null?void 0:t.taskId),data:t})}catch{}}function WB(n,e,t,a){try{const s=JSON.parse(e||"{}"),o=a(t,n,s);if(o){const l=Ve.getState();switch(n){case"step_start":l.updateStep(t,o.id,{title:s.step||o.title,description:s.description||o.description,status:s.status==="start"?"running":s.status||"running"});break;case"step_thinking":l.updateStep(t,o.id,{thought:s.thought});break;case"step_action":l.updateStep(t,o.id,{action:s.action});break;case"step_complete":l.updateStep(t,o.id,{status:s.status??"success",result:s.result});break}}}catch(s){console.warn("Failed to parse "+n,String(s))}}function KB(n,e){var t,a;try{const s=typeof n=="string"?JSON.parse(n):n||{};let o=[];if(Array.isArray(s)?o=s:(t=s.tasks)!=null&&t.length?o=s.tasks:(a=s.items)!=null&&a.length&&(o=s.items),o.length>0&&e){const l=We.getState(),u=xt.getState();o.forEach(d=>{const h=d.content||d.title||d.name||"";if(h.trim()){if(!l.getSessionTasks(e).find(k=>k.title===h.trim())&&(l.addSessionTask(e,h.trim()),d.completed||d.status==="completed"||d.status==="COMPLETED"||d.status==="done"||d.activeForm==="completed")){const T=l.getSessionTasks(e).find(N=>N.title===h.trim());T&&l.toggleSessionTask(e,T.id)}const b=String(d.id||d.taskId||h.trim()),x=d.completed||d.status==="completed"||d.status==="COMPLETED"||d.status==="done"||d.activeForm==="completed";u.upsertTask(e,{id:b,title:h.trim(),description:d.description,status:kr(d.status,x),source:"todo",raw:d})}}),u.recordEvent(e,{type:"todo_update",source:"todo",title:"Todo list updated",message:`${o.length} items`,status:"updated",data:s})}}catch{}}function YB(n,e){try{const t=typeof n=="string"?JSON.parse(n):n||{},a=t.questionId||"",s=t.question||"";if(!a||!s)return;const o=Array.isArray(t.questions)?t.questions.map(d=>({question:String(d.question||""),header:d.header?String(d.header):void 0,options:Array.isArray(d.options)?d.options:void 0,multiSelect:d.multiSelect===!0})).filter(d=>d.question):[{question:s,header:t.header||void 0,options:Array.isArray(t.options)?t.options:void 0,multiSelect:t.multiSelect===!0}],l=window;l.__answeredQuestionIds=l.__answeredQuestionIds||new Set,l.__pendingQuestions=l.__pendingQuestions||{};const u={questionId:a,question:s,header:t.header||void 0,options:Array.isArray(t.options)?t.options:void 0,multiSelect:t.multiSelect===!0,autoResolutionMs:typeof t.autoResolutionMs=="number"?t.autoResolutionMs:void 0,questions:o,sessionId:e};l.__pendingQuestions[e]=u,l.__pendingQuestion=u,window.dispatchEvent(new CustomEvent("ask-question-required",{detail:e}))}catch{}}function ZB(n,e){try{const t=typeof n=="string"?JSON.parse(n):n||{},a=t.title||t.name||"";if(a&&e){const o=We.getState().getSessionTasks(e).find(l=>l.title===a&&!l.completed);o&&We.getState().toggleSessionTask(e,o.id),xt.getState().upsertTask(e,{id:(o==null?void 0:o.id)||a,title:a,status:"completed",source:"todo"}),xt.getState().recordEvent(e,{type:"todo_item_done",source:"todo",title:a,status:"completed",taskId:(o==null?void 0:o.id)||a,data:t})}}catch{}}function b3(n){if(!n)return null;try{return JSON.parse(n)}catch{return null}}const x3=An((n,e)=>({automations:[],runsByAutomation:{},loading:!1,error:null,fetchAutomations:async()=>{const t=await ft.automations.list();t.success&&t.data?n({automations:t.data}):n({error:t.error||"加载自动化失败"})},createAutomation:async t=>{const a=await ft.automations.create(t);return a.success&&a.data?(await e().fetchAutomations(),a.data):(n({error:a.error||"创建自动化失败"}),null)},deleteAutomation:async t=>{const a=await ft.automations.remove(t);return a.success?(await e().fetchAutomations(),!0):(n({error:a.error||"删除失败"}),!1)},toggleAutomation:async(t,a)=>{const s=await ft.automations.toggle(t,a);s.success?await e().fetchAutomations():n({error:s.error||"切换失败"})},runAutomation:async t=>{const a=await ft.automations.run(t);a.success?(await e().fetchRuns(t),await e().fetchAutomations()):n({error:a.error||"触发失败"})},fetchRuns:async t=>{const a=await ft.automations.runs(t);a.success&&a.data&&n(s=>({runsByAutomation:{...s.runsByAutomation,[t]:a.data}}))},onAutomationUpdate:t=>{n(a=>({automations:a.automations.some(o=>o.id===t.id)?a.automations.map(o=>o.id===t.id?t:o):[...a.automations,t]}))},onAutomationRun:t=>{n(a=>({runsByAutomation:{...a.runsByAutomation,[t.automationId]:[t,...a.runsByAutomation[t.automationId]||[]].slice(0,50)}}))}})),w3={automationUpdate:n=>{const e=b3(n);e!=null&&e.automation&&x3.getState().onAutomationUpdate(e.automation)},automationRun:n=>{const e=b3(n);e!=null&&e.run&&x3.getState().onAutomationRun(e.run)}};function XB(n,e,t){let a={};if(e&&typeof e=="object")a=e;else try{a=JSON.parse(String(e||"{}"))}catch{}const s=String(a.jobId||`fjob-${Date.now()}`),o=a.stage||(n==="filejob_result"?"complete":n==="filejob_error"?"error":"uploaded"),l={jobId:s,stage:o,parseProgress:a.parseProgress,parsedFiles:a.parsedFiles,mapping:a.mapping,renderProgress:a.renderProgress,currentRow:a.currentRow,totalRows:a.totalRows,result:a.result,error:a.error,errorDetail:a.errorDetail};a.attachments&&(l.attachments=a.attachments),Ve.getState().setMessageFileJob(t,l)}const QB=An((n,e)=>({channels:[],availableTypes:[],typesLoaded:!1,loading:!1,error:null,formOpen:!1,editing:null,qrOpen:!1,qrChannel:null,selectedType:null,loadTypes:async()=>{const t=await ft.channels.types(),a=t.success&&Array.isArray(t.data)?t.data:[];n({availableTypes:a,typesLoaded:!0})},load:async()=>{n({loading:!0,error:null});const t=await ft.channels.list(),a=t.success&&Array.isArray(t.data)?t.data:[];if(n({loading:!1,channels:a,...t.success&&!Array.isArray(t.data)?{error:"服务端返回的频道数据格式异常"}:t.success?{}:{error:t.error??"Failed to load"}}),!e().selectedType&&a.length>0){const o=a[0].type;n({selectedType:o})}},create:async t=>{const a=await ft.channels.create(t);return a.success?(await e().load(),n({formOpen:!1,editing:null}),!0):(n({error:a.error??"Create failed"}),!1)},update:async(t,a)=>{const s=await ft.channels.update(t,a);return s.success?(await e().load(),n({formOpen:!1,editing:null}),!0):(n({error:s.error??"Update failed"}),!1)},remove:async t=>{const a=await ft.channels.delete(t);return a.success?(n(s=>({channels:s.channels.filter(o=>o.id!==t)})),!0):(n({error:a.error??"Delete failed"}),!1)},toggle:async(t,a)=>(await ft.channels.toggle(t,a)).success?(n(o=>({channels:o.channels.map(l=>l.id===t?{...l,enabled:a}:l)})),!0):(await e().load(),!1),openForm:t=>n({formOpen:!0,editing:t??null,error:null}),closeForm:()=>n({formOpen:!1,editing:null,error:null}),openQr:t=>n({qrOpen:!0,qrChannel:t??null}),closeQr:()=>{n({qrOpen:!1,qrChannel:null}),e().load()},clearError:()=>n({error:null}),selectType:t=>n({selectedType:t,error:null}),updateChannelStatus:t=>{n(a=>({channels:a.channels.map(s=>s.id===t.channelId?{...s,connected:t.connected,_state:t.state}:s)}))}})),JB=["start","content","thinking","tool_call","tool_result","tool_diff","cache_stats","turn_summary","web_search","cache_stats","complete","generation_paused","generation_resumed","error","context_compressed","compaction_progress","context_analysis","threshold_warning","blocking_limit","context_blocked","stall_detected"],Ug=(n,e=[])=>{if(!n)return e;if(Array.isArray(n))return n.forEach(s=>Ug(s,e)),e;if(typeof n!="object")return e;const t=n,a=t.content;return typeof a=="string"&&a.trim()&&e.push(a.trim()),Object.entries(t).forEach(([s,o])=>{s!=="content"&&s!=="structuredOutput"&&Ug(o,e)}),e},ej=n=>{const e=Ug(n);return e[e.length-1]||""};function tj({activeTab:n,setLogs:e,setUnreadLogs:t}){const a=Ve,s=D.useCallback(m=>{if(!m)return{};if(typeof m=="object")return m;if(typeof m!="string")return{};try{return JSON.parse(m)}catch{return{}}},[]),o=D.useCallback((m,p,b)=>{const x=s(p),k=xt.getState(),_=Ve.getState();if(m==="workflow_plan_ready"&&x.planId){k.setPlan(b,{planId:String(x.planId),title:typeof x.title=="string"&&x.title?String(x.title):"工作流计划",reason:typeof x.reason=="string"?String(x.reason):void 0,confirm:x.confirm===!0,nodes:Array.isArray(x.nodes)?x.nodes:void 0,createdAt:Date.now()});return}if(m==="workflow_confirm_ack"){k.clearPlan(b);return}const T=x.runId||"";if(!T)return;if(m==="workflow_error"){k.fail(b,T,x.error||"Workflow failed"),(_.isGenerating(b)||_.isPaused(b))&&_.endGeneration(b,x.error||"Workflow failed");return}const N=m==="workflow_finished"?x.status||"COMPLETED":m==="workflow_started"?x.status||"RUNNING":m==="workflow_paused"?x.status||"PAUSED":m==="workflow_resumed"?x.status||"RESUMING":m==="workflow_cancelled"?x.status||"CANCELLED":x.status||void 0,E=x.type||m,L=x.data&&typeof x.data=="object"?x.data:{},B=String(x.kind||L.kind||""),j=x.nodeId||x.node_id||L.nodeId||L.node_id,q=x.role||x.agentRole||x.agent_role||L.role||L.agentRole||L.agent_role,K=x.phase||x.phaseId||L.phase||L.phaseId,te=x.effectId||L.effectId||j,J=x.toolName||x.tool_name||L.toolName||L.tool_name,be=x.error||L.error,Le=["effect.scheduled","effect.completed","effect.failed"].includes(E)&&j&&B!=="tool",fe=["effect.scheduled","effect.completed","effect.failed"].includes(E)&&B==="tool"&&(J||j),se=j?k.getAgentsForSession(b).find(ge=>ge.id===String(j)):void 0;if(k.upsert(b,{runId:T,status:N,title:typeof x.title=="string"&&x.title?String(x.title):void 0,completedPhases:Number(x.completedPhases||0),totalPhases:Number(x.totalPhases||0),completedEffects:Number(x.completedEffects||0),totalEffects:Number(x.totalEffects||0),tokensUsed:Number(x.tokensUsed||0),tokensRemaining:Number(x.tokensRemaining||0),lastEventType:E,agentNode:Le?{nodeId:String(j),role:String(q||(se==null?void 0:se.role)||(se==null?void 0:se.name)||"agent"),phase:K?String(K):se==null?void 0:se.phase,status:E==="effect.failed"?"failed":E==="effect.completed"?"completed":"scheduled",tokens:x.tokensUsed!=null?Number(x.tokensUsed):L.tokens!=null&&typeof L.tokens=="number"?Number(L.tokens):void 0,error:be?String(be):void 0,updatedAt:Date.now()}:void 0}),fe){const ge=E==="effect.failed"?"failed":E==="effect.completed"?"completed":"running",xe=String(te||`${T}-${J||j}`);k.upsertTask(b,{id:xe,title:String(J||j),description:j?String(j):void 0,status:ge,source:"workflow",runId:T,result:L.artifactRef?String(L.artifactRef):void 0,error:be?String(be):void 0,raw:x}),k.recordEvent(b,{type:E,source:"workflow",title:String(J||j),status:ge,runId:T,taskId:xe,message:be?String(be):void 0,data:x})}if((m==="workflow_started"||m==="workflow_handoff")&&Array.isArray(x.nodes)?k.setNodes(b,T,x.nodes):m==="workflow_node_start"&&j?k.setNodeStatus(b,T,String(j),{status:"running"}):m==="workflow_node_complete"&&j&&k.setNodeStatus(b,T,String(j),{status:String(L.status||x.status||"completed"),result:L.result!=null?String(L.result):void 0,error:be?String(be):void 0}),m==="workflow_started")k.clearPlan(b),_.startGeneration(b);else if(m==="workflow_finished"){k.finalizeNodes(b,T,String(N||"COMPLETED"));const ge=ej(x.output);if(ge){const xe=_.getMessages(b),G=xe[xe.length-1];(G==null?void 0:G.type)==="assistant"?_.appendToLastMessage(b,ge):_.addMessage(b,{id:yr(),type:"assistant",content:ge,timestamp:Date.now()})}_.endGeneration(b)}else N==="PAUSED"?_.pauseGeneration(b):(N==="RUNNING"||N==="RESUMING")&&_.resumeGeneration(b)},[s]),l=D.useCallback((m,p)=>{const b=s(m),x=Array.isArray(b.runs)?b.runs:[];if(x.length===0)return;const k=x.slice().sort((E,L)=>String(L.updatedAt||"").localeCompare(String(E.updatedAt||"")))[0],_=String(k.status||"").toUpperCase();if(!_)return;const T=xt.getState(),N=String(k.runId||"");T.upsert(p,{runId:N,status:_,title:k.workflowId?`workflow: ${String(k.workflowId)}`:void 0,totalPhases:Number(k.totalNodes||0),completedPhases:Number(k.completedNodes||0),lastEventType:"workflow_status",error:k.error?String(k.error):void 0}),["COMPLETED","FAILED","ERROR","CANCELLED","CANCELED","PAUSED"].includes(_)&&T.recordEvent(p,{type:"workflow_status",source:"workflow",title:`Workflow ${_}`,message:k.output?String(k.output).slice(0,200):k.error?String(k.error):void 0,status:_==="COMPLETED"?"completed":"failed",runId:N,data:k})},[s]),u=D.useCallback(m=>{var k;const b=a.getState().messagesBySession[m]||[],x=b[b.length-1];return(k=x==null?void 0:x.steps)==null?void 0:k[x.steps.length-1]},[a]),d=D.useCallback((m,p,b)=>{const x=u(m),k=p==="step_complete",_=x&&(x.status==="success"||x.status==="error");if(!x||_&&!k){const T=(b==null?void 0:b.step)||p.replace("step_","").replace("_"," ");return a.getState().addStep(m,{id:`step-${Date.now()}`,title:T,description:(b==null?void 0:b.description)||"Executing...",status:"running",timestamp:Date.now()}),u(m)}return x},[u,a]),h=D.useCallback(m=>{var k,_;const p=m.type,b=m.data;if(p==="model_name"){xp(p,b,m.sessionId||"",{activeTab:n,setLogs:e,setUnreadLogs:t},m);return}if(p==="models_updated"||p==="models.updated"){window.dispatchEvent(new CustomEvent("models-updated"));return}if(p==="workspace_changed"){xp(p,b,m.sessionId||"",{activeTab:n,setLogs:e,setUnreadLogs:t});return}if(p==="question_answer_ack"){const T=s(b),N=T==null?void 0:T.questionId;if(N){const E=window;E.__answeredQuestionIds=E.__answeredQuestionIds||new Set,E.__answeredQuestionIds.add(N);const L=E.__pendingQuestions||{};for(const B of Object.keys(L))((k=L[B])==null?void 0:k.questionId)===N&&delete L[B];((_=E.__pendingQuestion)==null?void 0:_.questionId)===N&&(E.__pendingQuestion=null)}window.dispatchEvent(new CustomEvent("ask-question-dismiss",{detail:T==null?void 0:T.questionId}));return}const x=m.sessionId||"";if(!x){if(p==="task_update"||p==="task_finished"||p==="task_error"){const T=s(b);T&&typeof T.sessionId=="string"&&T.sessionId&&wp(b,T.sessionId)}return}if(p==="hook_ask"){VB(b,x);return}if(p==="ask_user_question"){YB(b,x);return}if(p==="task_update"){wp(b,x);return}if(p==="task_output"){try{a.getState().appendToLastMessage(x,String(b||""))}catch{}return}if(p==="task_finished"||p==="task_error"){p==="task_error"?vr.error("Task error",String(b)):wp(b,x);return}if(p==="filejob_start"||p==="filejob_progress"||p==="filejob_result"||p==="filejob_error"){XB(p,b,x);return}if(p.startsWith("step_")){WB(p,b,x,d);return}if(p.startsWith("plan_")){try{m3(p,b,x)}catch(T){vr.error(`Failed to handle ${p}`,String(T))}return}if(p.startsWith("goal_")){try{m3(p,b,x)}catch(T){vr.error(`Failed to handle ${p}`,String(T))}return}if(p==="todo_update"){KB(b,x);return}if(p==="todo_item_done"){ZB(b,x);return}if(p!=="todo_progress"){if(p==="automation.update"){w3.automationUpdate(b);return}if(p==="automation.run"){w3.automationRun(b);return}if(p!=="tool.approval_required"){if(["workflow_started","workflow_event","workflow_progress","workflow_finished","workflow_error","workflow_checkpoint","workflow_node_start","workflow_node_complete","workflow_paused","workflow_resumed","workflow_cancelled","workflow_handoff","workflow_plan_ready","workflow_confirm_ack","workflow_recovered"].includes(p)){o(p,b,x);return}if(p==="workflow_status"){l(b,x);return}if(JB.includes(p)){FB(p,b,x,m.nodeId);return}if(p==="channel_status"){try{const T=JSON.parse(b||"{}");QB.getState().updateChannelStatus(T)}catch{}return}if(p==="channel_message"||p==="channel_error"){try{const T=typeof b=="string"?JSON.parse(b):b||{},N=T.channel||T.platform||"Channel";if(p==="channel_error")Ye.error(`${N}: ${T.error||T.message||"channel error"}`);else{const E=T.from||T.sender||"",L=T.text||T.content||T.message||"";L&&Ye.info(`📨 ${N}${E?` · ${E}`:""}: ${String(L).slice(0,120)}`)}}catch{}return}if(p==="session_switched"){try{const T=typeof b=="string"?JSON.parse(b):b||{},N=T.id||T.sessionId||(typeof b=="string"?b:"");N&&We.getState().setActiveSession(String(N))}catch{}return}if(p==="task_interrupted"){try{const T=typeof b=="string"?JSON.parse(b):b||{},N=T.title||T.taskId||"Task";Ye.warning(`⏸ ${N} interrupted — 使用 /continue 恢复生成`,1e4)}catch{Ye.warning("A running task was interrupted",1e4)}return}if(p==="code_review_ready"){try{const T=typeof b=="string"?JSON.parse(b):b||{},N=T.title||T.skillId||"Code Review",E=T.summary||"";Ye.success(`🔍 ${N} ready${E?`: ${String(E).slice(0,120)}`:""}`,8e3)}catch{Ye.success("🔍 Code review ready",8e3)}return}if(p==="hook_auto_ack"){try{const T=typeof b=="string"?JSON.parse(b):b||{};Ye.info(`Hook auto-approved: ${T.tool||T.name||"tool"}`,4e3)}catch{}return}if(p==="throttle"){try{const T=typeof b=="string"?JSON.parse(b):b||{},N=T.limit||T.remaining!=null?` (${T.remaining} left)`:"";Ye.warning(`⚠ Rate limited${N}`,6e3)}catch{}return}if(["token_update","context_breakdown","auth_required","auth_success","auth_failed","log","commands_list","ping","degradation_update","doctor_result","session_created","session_resumed","mcp_update","hook_response_ack","notification"].includes(p)){xp(p,b,x,{activeTab:n,setLogs:e,setUnreadLogs:t});return}}}},[n,d,o,l,s,e,t]);D.useEffect(()=>{Re.connect();const m=Re.onMessage(h),p=Re.onClose(()=>{const x=Ve.getState();for(const k of x.generatingSessions)x.endGeneration(k,"WebSocket disconnected")}),b=Re.onOpen(()=>{var k;const x=((k=Re.getSessionId)==null?void 0:k.call(Re))||We.getState().activeSessionId;if(x){Re.send({type:"get_workflow_status",sessionId:x,data:JSON.stringify({sessionId:x})});const _=Zo.getState().mode;Re.send({type:"plan_mode_change",sessionId:x,data:JSON.stringify({mode:_})})}});return()=>{m(),p(),b()}},[h])}const Pc={linear:{id:"linear",nameKey:"settings.themePresetLinear",descriptionKey:"settings.themePresetLinearDesc",dark:{bg:"#0a0a0c",surface:"#121215",border:"#26262b",text:"#e4e4e7",muted:"#8e8e96",accentBlue:"#7c83f8",accentGreen:"#4ade80",accentRed:"#f87171",accentYellow:"#fbbf24",accentPurple:"#c084fc"},light:{bg:"#ffffff",surface:"#f6f6f7",border:"#e4e4e8",text:"#18181b",muted:"#71717a",accentBlue:"#5e6ad2",accentGreen:"#16a34a",accentRed:"#dc2626",accentYellow:"#b45309",accentPurple:"#7c3aed"}},mimo:{id:"mimo",nameKey:"settings.themePresetMimo",descriptionKey:"settings.themePresetMimoDesc",dark:{bg:"#fcfaf8",surface:"#f6f1ea",border:"#e7dfd5",text:"#26251e",muted:"#5a574f",accentBlue:"#26251e",accentGreen:"#1f7a4d",accentRed:"#b84f42",accentYellow:"#a16b2d",accentPurple:"#7a5c8f"},light:{bg:"#ffffff",surface:"#f8f4ef",border:"#e2d8cd",text:"#24221c",muted:"#605b52",accentBlue:"#26251e",accentGreen:"#1f7a4d",accentRed:"#b84f42",accentYellow:"#a16b2d",accentPurple:"#7a5c8f"}},github:{id:"github",nameKey:"settings.themePresetGithub",descriptionKey:"settings.themePresetGithubDesc",dark:{bg:"#0d1117",surface:"#161b22",border:"#30363d",text:"#c9d1d9",muted:"#8b949e",accentBlue:"#58a6ff",accentGreen:"#238636",accentRed:"#f85149",accentYellow:"#d29922",accentPurple:"#a855f7"},light:{bg:"#ffffff",surface:"#f6f8fa",border:"#d0d7de",text:"#24292f",muted:"#57606a",accentBlue:"#0969da",accentGreen:"#1a7f37",accentRed:"#cf222e",accentYellow:"#9a6700",accentPurple:"#8250df"}},cherry:{id:"cherry",nameKey:"settings.themePresetCherry",descriptionKey:"settings.themePresetCherryDesc",dark:{bg:"#0f1419",surface:"#1a2332",border:"#2d3f50",text:"#e1e8ed",muted:"#8899aa",accentBlue:"#01a9ff",accentGreen:"#00c853",accentRed:"#ff5252",accentYellow:"#ffab00",accentPurple:"#7c4dff"},light:{bg:"#f5f9ff",surface:"#ffffff",border:"#cce0ff",text:"#1a2332",muted:"#5c6f87",accentBlue:"#0160ff",accentGreen:"#00a844",accentRed:"#e53935",accentYellow:"#f9a825",accentPurple:"#651fff"}},ocean:{id:"ocean",nameKey:"settings.themePresetOcean",descriptionKey:"settings.themePresetOceanDesc",dark:{bg:"#0b1e2e",surface:"#122b3d",border:"#1e4057",text:"#d4e6f5",muted:"#7a9bb5",accentBlue:"#00bcd4",accentGreen:"#26a69a",accentRed:"#ef5350",accentYellow:"#ffca28",accentPurple:"#ab47bc"},light:{bg:"#edf7fc",surface:"#ffffff",border:"#b3d9e8",text:"#0b1e2e",muted:"#4f7a94",accentBlue:"#00838f",accentGreen:"#00897b",accentRed:"#d32f2f",accentYellow:"#f57f17",accentPurple:"#8e24aa"}},mint:{id:"mint",nameKey:"settings.themePresetMint",descriptionKey:"settings.themePresetMintDesc",dark:{bg:"#0d1f1c",surface:"#162d28",border:"#264b41",text:"#d1f0e8",muted:"#7dafa3",accentBlue:"#26c6da",accentGreen:"#66bb6a",accentRed:"#ef5350",accentYellow:"#ffd54f",accentPurple:"#ad8aff"},light:{bg:"#edf7f4",surface:"#ffffff",border:"#b8d9cf",text:"#0d1f1c",muted:"#4a7f72",accentBlue:"#0097a7",accentGreen:"#388e3c",accentRed:"#d32f2f",accentYellow:"#f9a825",accentPurple:"#7c4dff"}},lavender:{id:"lavender",nameKey:"settings.themePresetLavender",descriptionKey:"settings.themePresetLavenderDesc",dark:{bg:"#1a1428",surface:"#261f38",border:"#3c3354",text:"#e2daf2",muted:"#9387b5",accentBlue:"#86bef5",accentGreen:"#81c784",accentRed:"#ef9a9a",accentYellow:"#ffe082",accentPurple:"#ce93d8"},light:{bg:"#f5f0ff",surface:"#ffffff",border:"#d4c8e8",text:"#1a1428",muted:"#6c5b8a",accentBlue:"#1565c0",accentGreen:"#2e7d32",accentRed:"#c62828",accentYellow:"#f57f17",accentPurple:"#7b1fa2"}},midnight:{id:"midnight",nameKey:"settings.themePresetMidnight",descriptionKey:"settings.themePresetMidnightDesc",dark:{bg:"#0a0e1a",surface:"#111726",border:"#1e2740",text:"#c8d2e8",muted:"#6a7596",accentBlue:"#4fc3f7",accentGreen:"#4caf50",accentRed:"#e57373",accentYellow:"#ffd54f",accentPurple:"#b39ddb"},light:{bg:"#eef1f7",surface:"#ffffff",border:"#c0c9dc",text:"#0a0e1a",muted:"#4f5a78",accentBlue:"#0288d1",accentGreen:"#2e7d32",accentRed:"#d32f2f",accentYellow:"#f57f17",accentPurple:"#5e35b1"}},sunset:{id:"sunset",nameKey:"settings.themePresetSunset",descriptionKey:"settings.themePresetSunsetDesc",dark:{bg:"#1e1410",surface:"#2a1d16",border:"#443124",text:"#f0dfcf",muted:"#b8957a",accentBlue:"#5fa5e8",accentGreen:"#81c784",accentRed:"#ff7043",accentYellow:"#ffb74d",accentPurple:"#e0a0e0"},light:{bg:"#fff6f0",surface:"#ffffff",border:"#f0d5c0",text:"#2a1d16",muted:"#8a6e5a",accentBlue:"#1976d2",accentGreen:"#388e3c",accentRed:"#e64a19",accentYellow:"#ef6c00",accentPurple:"#8e24aa"}},forest:{id:"forest",nameKey:"settings.themePresetForest",descriptionKey:"settings.themePresetForestDesc",dark:{bg:"#0e1a12",surface:"#172a1d",border:"#2a4733",text:"#d1e8d6",muted:"#7da684",accentBlue:"#5bb8e8",accentGreen:"#66bb6a",accentRed:"#ef9a9a",accentYellow:"#e6c35c",accentPurple:"#ae8ad9"},light:{bg:"#f0f7f0",surface:"#ffffff",border:"#b8d9be",text:"#0e1a12",muted:"#477a50",accentBlue:"#1565c0",accentGreen:"#2e7d32",accentRed:"#c62828",accentYellow:"#827717",accentPurple:"#6a1b9a"}},candy:{id:"candy",nameKey:"settings.themePresetCandy",descriptionKey:"settings.themePresetCandyDesc",dark:{bg:"#16101a",surface:"#22182a",border:"#3d284a",text:"#f0def5",muted:"#b28dc2",accentBlue:"#5fc3f5",accentGreen:"#81e080",accentRed:"#ff6b6b",accentYellow:"#ffd93d",accentPurple:"#e066ff"},light:{bg:"#faf0ff",surface:"#ffffff",border:"#e0cce8",text:"#1a0a24",muted:"#7a5c8a",accentBlue:"#1976d2",accentGreen:"#388e3c",accentRed:"#d32f2f",accentYellow:"#f9a825",accentPurple:"#8e24aa"}},nord:{id:"nord",nameKey:"settings.themePresetNord",descriptionKey:"settings.themePresetNordDesc",dark:{bg:"#2e3440",surface:"#3b4252",border:"#4c566a",text:"#eceff4",muted:"#81a1c1",accentBlue:"#88c0d0",accentGreen:"#a3be8c",accentRed:"#bf616a",accentYellow:"#ebcb8b",accentPurple:"#b48ead"},light:{bg:"#f5f7fa",surface:"#ffffff",border:"#d8dee9",text:"#2e3440",muted:"#5e6d85",accentBlue:"#5e81ac",accentGreen:"#6f9e6f",accentRed:"#bf616a",accentYellow:"#b48d56",accentPurple:"#8f6f9e"}}},Fg="linear";function k3(n,e,t){const a=Pc[n]||Pc[Fg];if(!a)return{bg:"#fcfaf8",surface:"#f6f1ea",border:"#e7dfd5",text:"#26251e",muted:"#5a574f",accentBlue:"#26251e",accentGreen:"#1f7a4d",accentRed:"#b84f42",accentYellow:"#a16b2d",accentPurple:"#7a5c8f"};const s={...e==="dark"?a.dark:a.light};return t&&Object.assign(s,t),s}const dr=n=>{const e=parseInt(n.slice(1,3),16),t=parseInt(n.slice(3,5),16),a=parseInt(n.slice(5,7),16);return`${e} ${t} ${a}`},nj=(n,e,t)=>{const a=[parseInt(n.slice(1,3),16),parseInt(n.slice(3,5),16),parseInt(n.slice(5,7),16)],s=[parseInt(e.slice(1,3),16),parseInt(e.slice(3,5),16),parseInt(e.slice(5,7),16)];return a.map((o,l)=>Math.round(o+((s[l]??o)-o)*t)).join(" ")};function S3(n,e,t,a,s){t.classList.toggle("dark",n==="dark"),t.classList.toggle("light",n==="light"),t.style.setProperty("--color-bg",dr(e.bg)),t.style.setProperty("--color-surface",dr(e.surface)),t.style.setProperty("--color-border",dr(e.border)),t.style.setProperty("--color-text",dr(e.text)),t.style.setProperty("--color-muted",dr(e.muted)),t.style.setProperty("--color-accent-blue",dr(e.accentBlue)),t.style.setProperty("--color-accent-green",dr(e.accentGreen)),t.style.setProperty("--color-accent-red",dr(e.accentRed)),t.style.setProperty("--color-accent-yellow",dr(e.accentYellow)),t.style.setProperty("--color-accent-purple",dr(e.accentPurple)),t.style.setProperty("--color-hover",nj(e.surface,e.text,.06)),a&&a.setAttribute("content",e.bg),s&&s.setAttribute("content",n)}function aj({theme:n,themePresetId:e,customTheme:t,customThemeEnabled:a}){D.useEffect(()=>{const s=document.documentElement,o=document.querySelector('meta[name="theme-color"]'),l=document.querySelector('meta[name="color-scheme"]'),u=n==="dark"?"dark":n==="light"?"light":window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light",d=a?t:void 0,h=k3(e||Fg,u,d);if(S3(u,h,s,o,l),n==="auto"){const m=window.matchMedia("(prefers-color-scheme: dark)"),p=()=>{const b=m.matches?"dark":"light",x=k3(e||Fg,b,d);S3(b,x,s,o,l)};return m.addEventListener("change",p),()=>m.removeEventListener("change",p)}},[n,e,t,a])}function rj({message:n,onRetry:e}){const{t}=kt();return y.jsx("div",{className:"flex items-center justify-center h-full w-full bg-dark-bg",children:y.jsxs("div",{className:"max-w-md p-8 text-center",children:[y.jsx("div",{className:"flex justify-center mb-4",children:y.jsx("div",{className:"w-16 h-16 rounded-full bg-accent-red/10 flex items-center justify-center",children:y.jsx(Yg,{size:32,className:"text-accent-red"})})}),y.jsx("h2",{className:"text-xl font-semibold text-dark-text mb-2",children:t("error.pageError")}),y.jsx("p",{className:"text-sm text-dark-muted mb-6",children:n||t("error.unknownError")}),y.jsxs("div",{className:"flex items-center justify-center gap-3",children:[y.jsxs("button",{onClick:e,className:"flex items-center gap-2 px-4 py-2 bg-accent-blue text-white rounded-lg hover:opacity-90 transition-opacity",children:[y.jsx(B0,{size:16}),t("common.retry")]}),y.jsx("button",{onClick:()=>window.location.reload(),className:"px-4 py-2 bg-dark-hover text-dark-text rounded-lg hover:bg-dark-border transition-colors",children:t("error.refreshPage")})]})]})})}class _3 extends D.Component{constructor(t){super(t);W(this,"handleRetry",()=>{this.setState({hasError:!1,error:null})});this.state={hasError:!1,error:null}}static getDerivedStateFromError(t){return{hasError:!0,error:t}}componentDidCatch(t,a){console.error("[ErrorBoundary] Caught error:",t,a)}render(){var t;return this.state.hasError?this.props.fallback?this.props.fallback:y.jsx(rj,{message:(t=this.state.error)==null?void 0:t.message,onRetry:this.handleRetry}):this.props.children}}const sj=10;function ij(n,e=sj){return n.filter(t=>t&&!!t.id&&(t.messageCount??0)>0).sort((t,a)=>String(a.updatedAt||"").localeCompare(String(t.updatedAt||""))).slice(0,e).map(t=>{const a=new Date(t.createdAt).getTime()||Date.now(),s=new Date(t.updatedAt).getTime()||a;return{id:t.id,title:t.title||t.id,createdAt:a,lastActiveAt:s,messageCount:t.messageCount??0,...t.preview?{preview:t.preview}:{}}})}function C3(n,e){const t=(e==null?void 0:e.wan)??"万",a=(e==null?void 0:e.yi)??"亿";if(n>=1e8)return`${(n/1e8).toFixed(1)}${a}`;if(n>=1e4){const s=n/1e4;return`${s>=100?s.toFixed(0):s.toFixed(1)}${t}`}return String(Math.round(n))}function oj(n){return`${n>=10?n.toFixed(0):n.toFixed(1)}%`}const lj=D.memo(function({open:e,onClose:t}){const{t:a}=kt(),s=st(B=>B.currentUsage),o=st(B=>B.maxContextTokens),l=st(B=>B.contextBreakdown),u=st(B=>B.cacheStats),d=st(B=>B.estimateTokens),h=Ve(B=>B.messagesBySession),m=We(B=>B.activeSessionId),p=m?h[m]||[]:[];D.useEffect(()=>{if(!e)return;const B=j=>{j.key==="Escape"&&t()};return window.addEventListener("keydown",B),()=>window.removeEventListener("keydown",B)},[e,t]);const b=D.useMemo(()=>{if(l)return null;let B=0,j=0;for(const q of p){let K=q.content||"",te="";if(q.thinking&&(K+=" "+q.thinking),q.steps)for(const J of q.steps)J.thought&&(K+=" "+J.thought),J.action&&(te+=" "+J.action),J.result&&(te+=" "+J.result);if(q.toolCalls)for(const J of q.toolCalls)te+=" "+(typeof J.args=="string"?J.args:JSON.stringify(J.args));B+=d(K),j+=d(te)}return{messagesTokens:B,toolTokens:j,total:B+j}},[l,p,d]),k=D.useMemo(()=>{const B=l,j=B?B.messagesTokens:(b==null?void 0:b.messagesTokens)??0,q=B?B.toolContentTokens+B.toolDefTokens:(b==null?void 0:b.toolTokens)??0,K=B?B.systemPromptTokens:0,te=B?B.skillTokens:0,J=B?B.mcpToolTokens:0,be=B?B.dynamicTokens:0,Le=B?B.total:(b==null?void 0:b.total)??0,fe=Math.max(0,s.totalTokens-Le)+be,se=Math.max(s.totalTokens,Le,1);return[{key:"system",label:a("chat.ctxSystemPrompt"),tokens:K,color:"bg-dark-text/70"},{key:"tools",label:a("chat.ctxSystemTools"),tokens:q,color:"bg-accent-purple"},{key:"mcp",label:a("chat.ctxMcpTools"),tokens:J,color:"bg-accent-cyan"},{key:"skills",label:a("chat.ctxSkills"),tokens:te,color:"bg-accent-yellow"},{key:"messages",label:a("chat.ctxMessages"),tokens:j,color:"bg-accent-blue"},{key:"other",label:a("chat.ctxOther"),tokens:fe,color:"bg-dark-muted/60"}].map(ge=>({...ge,pct:ge.tokens/se*100}))},[l,b,s.totalTokens,a]).filter(B=>B.pct>=.05||B.tokens>0),_=s.totalTokens,T=o>0?Math.min(100,_/o*100):0,N=T>=90?"bg-accent-red":T>=70?"bg-accent-yellow":"bg-dark-text/70",E=T>=90?"text-accent-red":T>=70?"text-accent-yellow":"text-dark-text",L=u&&u.cacheStatsCalls>0&&u.cacheHitRate!==void 0?u.cacheHitRate:null;return e?y.jsxs(y.Fragment,{children:[y.jsx("div",{className:"fixed inset-0 z-40 bg-black/40 backdrop-blur-[1px]",onClick:t,"aria-hidden":"true"}),y.jsx("div",{className:"fixed inset-x-0 bottom-9 z-50 mx-auto max-w-lg px-2 pb-2",children:y.jsxs("div",{className:"animate-slide-up rounded-t-xl rounded-b-md border border-dark-border bg-dark-surface/95 backdrop-blur shadow-[0_-12px_40px_-10px_rgba(0,0,0,0.6)] overflow-hidden",children:[y.jsxs("div",{className:"flex items-center justify-between px-4 pt-3 pb-2",children:[y.jsxs("div",{className:"flex items-center gap-2",children:[y.jsx(Nk,{size:15,className:E}),y.jsx("span",{className:"text-sm font-semibold text-dark-text",children:a("chat.contextCapacity")})]}),y.jsx("button",{type:"button","aria-label":a("a11y.close"),onClick:t,className:"p-1 rounded-md text-dark-muted hover:text-dark-text hover:bg-dark-hover transition-colors",children:y.jsx(xr,{size:15})})]}),y.jsxs("div",{className:"px-4 pb-1",children:[y.jsxs("div",{className:"flex items-baseline gap-2",children:[y.jsxs("span",{className:"text-xl font-bold font-mono text-dark-text",children:[C3(_,{wan:a("chat.unitWan"),yi:a("chat.unitYi")}),y.jsxs("span",{className:"text-dark-muted text-sm font-normal",children:[" / ",C3(o,{wan:a("chat.unitWan"),yi:a("chat.unitYi")})]})]}),y.jsxs("span",{className:`text-xs font-mono ${E}`,children:["(",T.toFixed(1),"%)"]})]}),y.jsx("div",{className:"mt-1.5 h-1.5 bg-dark-border/70 rounded-full overflow-hidden",children:y.jsx("div",{className:`h-full rounded-full transition-all duration-500 ${N}`,style:{width:`${T}%`}})})]}),y.jsxs("div",{className:"flex items-center justify-between px-4 pt-2 pb-1",children:[y.jsx("span",{className:"text-[11px] font-medium text-dark-muted",children:a("chat.categoryBreakdown")}),y.jsx("span",{className:"text-[10px] text-dark-muted/50 select-none",title:a("chat.assemblyOrderHint"),children:a("chat.byAssemblyOrder")})]}),y.jsx("div",{className:"px-4 pb-2 space-y-1.5",children:k.map(B=>y.jsxs("div",{"data-row-key":B.key,className:"flex items-center gap-2",children:[y.jsx("span",{className:"text-[11px] text-dark-muted w-16 shrink-0",children:B.label}),y.jsx("div",{className:"flex-1 h-1.5 bg-dark-border/70 rounded-full overflow-hidden",children:y.jsx("div",{className:`h-full ${B.color} rounded-full`,style:{width:`${Math.max(.5,B.pct)}%`}})}),y.jsx("span",{className:"text-[11px] font-mono text-dark-text w-12 text-right shrink-0",children:oj(B.pct)})]},B.key))}),y.jsxs("div",{className:"mx-4 mb-3 mt-1 flex items-center justify-between rounded-md bg-dark-bg/70 px-3 py-1.5",children:[y.jsxs("span",{className:"flex items-center gap-1.5 text-[11px] text-dark-muted",children:[y.jsx(Mk,{size:11}),a("chat.avgCacheHitRate")]}),L!==null?y.jsxs("span",{className:`text-[11px] font-mono font-semibold ${L>=.5?"text-accent-green":"text-accent-yellow"}`,children:[(L*100).toFixed(0),"%"]}):y.jsx("span",{className:"text-[11px] font-mono text-dark-muted/60",children:"–"})]})]})})]}):null});function $7(n){const e=n.trim();if(!e)return{model:""};const t=e.indexOf("/"),a=e.indexOf(":"),s=t>=0&&(a<0||t<a)?t:a;if(s>0){const o=e.slice(0,s).trim(),l=e.slice(s+1).trim();if(o&&l)return{provider:o,model:l}}return{model:e}}function HP(n){return $7(n).provider??""}function cj(n,e){const t=$7(e),a=n||t.model;return t.provider&&a?`${t.provider} · ${a}`:a}function UP(n){const e=new Map;for(const t of n){const a=t.provider||"default",s=e.get(a);s?s.push(t):e.set(a,[t])}return Array.from(e.entries())}const uj=D.memo(function(e){const{t}=kt(),a=st(re=>re.currentUsage),s=st(re=>re.maxContextTokens),o=st(re=>re.model),l=st(re=>re.modelRef),u=st(re=>re.tokenRate),d=st(re=>re.compactingUntil),h=st(re=>re.lastCompactInfo),m=st(re=>re.degradation),p=st(re=>re.compactionProgress),b=st(re=>re.cacheStats),x=We(re=>re.activeSessionId),k=Ve(re=>x?re.isGenerating(x):!1),_=xt(re=>x?re.bySession[x]:void 0),T=xt(re=>x?re.getRunningAgentCount(x):0),N=Zo(re=>re.mode),E=ns(re=>re.autoMode),[L,B]=D.useState(0),j=D.useRef(0),[q,K]=D.useState(!1),[te,J]=D.useState(null);D.useEffect(()=>{const re=Re.onReconnectAttempt((Ie,Me)=>J({attempt:Ie,max:Me})),Qe=Re.onReconnectSuccess(()=>J(null)),Ge=Re.onReconnectGiveUp(()=>J(null)),qe=Re.onOpen(()=>J(null));return()=>{re(),Qe(),Ge(),qe()}},[]),D.useEffect(()=>{if(k&&!j.current&&(j.current=Date.now()),!k){j.current=0,B(0);return}const re=setInterval(()=>B(Math.floor((Date.now()-j.current)/1e3)),1e3);return()=>clearInterval(re)},[k]);const be=a.totalTokens,Le=s>0?Math.min(100,Math.round(a.totalTokens/s*100)):0,fe=Z_(u),se=N==="normal"?"act":N,ge=K_[se],xe=cj(o,l),G=Ia(se),le=G==="plan"?"brand":G==="goal"?"purple":"green";return y.jsxs("div",{className:"h-9 border-t border-dark-border bg-dark-bg flex items-center px-3 gap-2 shrink-0 select-none text-xs overflow-hidden",children:[y.jsx("span",{className:"font-semibold text-dark-text whitespace-nowrap",children:"DeepSeekCode"}),y.jsx("span",{className:"status-pill","data-tone":le,children:ge.label}),E&&y.jsx("span",{className:"status-pill","data-tone":"yellow",children:"Auto"}),te&&y.jsxs("span",{className:"status-pill","data-tone":"yellow",title:t("reconnect.hint"),"data-testid":"reconnect-pill",children:[y.jsx(B0,{size:10,className:"animate-spin"}),t("reconnect.reconnecting",{attempt:te.attempt,max:te.max})]}),y.jsx("span",{className:"text-dark-muted truncate max-w-[14rem]",title:xe||void 0,children:xe||t("common.connecting")}),y.jsxs("span",{className:"inline-flex items-center text-[11px] whitespace-nowrap shrink-0",title:b&&b.cacheStatsCalls>0?t("chat.cacheHitTitle",{hit:pc(b.cacheHitTokens),miss:pc(b.cacheMissTokens),calls:b.cacheStatsCalls}):t(k?"chat.cacheWaitingRun":"chat.cacheNoStats"),children:[y.jsx("span",{className:"text-dark-muted",children:"cache"})," ",b&&b.cacheStatsCalls>0?y.jsx("span",{className:b.cacheHitRate!==void 0&&b.cacheHitRate>=.5?"text-accent-green":"text-accent-yellow",children:b.cacheHitRate!==void 0?`${(b.cacheHitRate*100).toFixed(0)}%`:"n/a"}):k?y.jsx("span",{className:"text-dark-muted/60",children:"–"}):y.jsx("span",{className:"text-dark-muted/60",children:"n/a"})]}),y.jsxs("button",{type:"button",onClick:()=>K(!0),title:t("chat.viewContextDetail"),className:"group inline-flex items-center gap-1.5 shrink-0 -mx-1 px-1 rounded transition-colors cursor-pointer hover:bg-dark-hover/60",children:[y.jsxs("span",{className:"hidden md:inline-flex items-center gap-1 text-dark-muted whitespace-nowrap",children:[y.jsx("span",{className:"text-dark-text",children:pc(be)}),y.jsx("span",{className:"text-dark-muted/60",children:"/"}),y.jsx("span",{children:pc(s)})]}),y.jsxs("span",{className:"inline-flex items-center gap-1",children:[y.jsx("span",{className:"w-16 lg:w-20 h-1.5 bg-dark-border/70 rounded-full overflow-hidden inline-flex",children:y.jsx("span",{className:`h-full transition-all rounded-full ${Le>=90?"bg-accent-red":Le>=70?"bg-accent-yellow":"bg-dark-text/70"}`,style:{width:`${Le}%`}})}),y.jsxs("span",{className:Le>=90?"text-accent-red font-bold":Le>=70?"text-accent-yellow":"",children:[Le,"%"]})]}),y.jsx(Rk,{size:12,className:"text-dark-muted/50 group-hover:text-dark-text transition-colors"})]}),k&&y.jsxs(y.Fragment,{children:[y.jsxs("span",{className:"text-dark-text flex items-center gap-1 whitespace-nowrap",children:[y.jsx(Ga,{size:12,className:"animate-spin"}),dx(L)]}),fe&&y.jsx("span",{className:"text-accent-purple whitespace-nowrap",children:fe})]}),T>0&&y.jsxs("span",{className:"text-dark-text whitespace-nowrap",children:[T," agent",T>1?"s":""]}),y.jsx("div",{className:"flex-1"}),_&&y.jsxs("span",{className:"hidden xl:flex items-center gap-2 text-[11px] text-dark-text whitespace-nowrap",children:[y.jsx("span",{className:"text-dark-muted",children:"wf"}),y.jsx("span",{className:"font-mono",children:_.status}),y.jsxs("span",{children:[_.completedPhases,"/",_.totalPhases||0]}),y.jsx("span",{className:"text-dark-muted",children:pc(_.tokensUsed)})]}),p&&y.jsxs("span",{className:"hidden lg:flex items-center gap-2 text-[11px] text-dark-text whitespace-nowrap",children:[y.jsx("span",{children:"compact"}),y.jsxs("span",{children:[p.percent,"%"]}),y.jsx("span",{className:"w-20 h-1.5 bg-dark-border/70 rounded-full overflow-hidden",children:y.jsx("span",{className:"h-full bg-dark-text/70 rounded-full block",style:{width:`${p.percent}%`}})})]}),!p&&Date.now()<d&&h&&y.jsxs("span",{className:"hidden lg:inline text-dark-muted text-[11px] whitespace-nowrap",children:[h.originalCount," ","->"," ",h.compressedCount]}),(m==null?void 0:m.active)&&y.jsxs("span",{className:"text-accent-yellow text-[11px] whitespace-nowrap",children:[m.label," ",m.retryCount>0?`${m.retryCount}/${m.maxRetries}`:""]}),y.jsx(lj,{open:q,onClose:()=>K(!1)})]})}),dj=D.memo(function({sessionId:e}){const{t}=kt(),a=Ve(x=>{if(!e)return;const k=x.messagesBySession[e]??[];for(let _=k.length-1;_>=0;_--){const T=k[_];if(T&&T.type==="assistant")return T.id}}),s=Zn(x=>HO(x,e)),o=Zn(x=>UO(x,e,a)),l=Ve(x=>{if(!e)return;const k=x.messagesBySession[e]??[];for(let _=k.length-1;_>=0;_--){const T=k[_];if(T&&T.type==="user")return T.content}}),u=Ve(x=>e?x.generatingSessions.includes(e):!1),d=xt(x=>e?x.getForSession(e):void 0),h=o||(l?l.replace(/\s+/g," ").trim().slice(0,20):void 0),m=D.useMemo(()=>{const x=d==null?void 0:d.nodes;if(!x)return;const k=x.find(_=>_.status==="pending"||_.status==="scheduled"||_.status==="running");return k==null?void 0:k.title},[d==null?void 0:d.nodes]);if(!e||!h&&!s&&!m&&!u)return null;const p=(s==null?void 0:s.status)==="waiting_user"?"text-accent-yellow":(s==null?void 0:s.status)==="blocked"?"text-accent-red":(s==null?void 0:s.status)==="paused"?"text-dark-300":(s==null?void 0:s.status)==="failed"?"text-accent-red":"text-accent-blue",b=(s==null?void 0:s.status)==="waiting_user"?"bg-accent-yellow":(s==null?void 0:s.status)==="blocked"?"bg-accent-red":(s==null?void 0:s.status)==="paused"?"bg-dark-300":(s==null?void 0:s.status)==="failed"?"bg-accent-red":(s==null?void 0:s.status)==="running"?"bg-accent-blue animate-pulse":"bg-accent-blue";return y.jsxs("div",{className:"h-7 shrink-0 flex items-center gap-2.5 px-3 border-b border-dark-border bg-dark-bg/80 text-[11px] select-none","data-testid":"task-status-bar",children:[h&&y.jsx("span",{className:"min-w-0 truncate font-medium text-dark-text","data-testid":"taskbar-title",children:h}),s&&y.jsxs("span",{title:(s==null?void 0:s.status)==="blocked"?s.blockedReason:void 0,className:`flex min-w-0 items-center gap-1.5 shrink-0 ${p}`,"data-testid":"taskbar-current",children:[y.jsx("span",{className:`inline-block w-1.5 h-1.5 shrink-0 rounded-full ${b}`}),y.jsx("span",{className:"truncate max-w-[18rem]",children:s.title})]}),m&&y.jsxs("span",{className:"shrink-0 min-w-0 truncate text-dark-muted","data-testid":"taskbar-next",children:[t("taskbar.next"),": ",m]}),!s&&u&&y.jsxs("span",{className:"shrink-0 text-dark-muted",children:[t("chat.thinking"),"…"]})]})}),Ja=An()((n,e)=>({status:null,branches:null,loading:!1,refreshing:!1,lastAction:null,busy:!1,refreshStatus:async()=>{const t=await ft.git.status();return t.success&&t.data?(n({status:t.data}),t.data):(n({status:{available:!1,error:t.error||"Failed to load git status"}}),null)},refreshBranches:async()=>{const t=await ft.git.branches();t.success&&t.data?n({branches:t.data}):n({branches:null})},refreshAll:async()=>{if(!e().refreshing){n({refreshing:!0,loading:e().status===null});try{await e().refreshStatus(),await e().refreshBranches()}finally{n({refreshing:!1,loading:!1})}}},commit:async t=>{n({busy:!0});const a=await ft.git.commit({message:t});return n({busy:!1,lastAction:a.success&&a.data?a.data:{ok:!1,error:a.error||"Commit failed"}}),e().refreshStatus(),e().lastAction},push:async()=>{n({busy:!0});const t=await ft.git.push();return n({busy:!1,lastAction:t.success&&t.data?t.data:{ok:!1,error:t.error||"Push failed"}}),e().refreshStatus(),e().lastAction},checkout:async t=>{n({busy:!0});const a=await ft.git.checkout(t);return n({busy:!1,lastAction:a.success&&a.data?a.data:{ok:!1,error:a.error||"Checkout failed"}}),e().refreshAll(),e().lastAction}})),kp="dsc-git-commit-draft",fj=D.memo(function(){const{t:e}=kt(),t=Ja(j=>j.status),a=Ja(j=>j.branches),s=Ja(j=>j.busy),o=Ja(j=>j.lastAction),l=qi(j=>j.workspaceDir),[u,d]=D.useState(!1),[h,m]=D.useState(""),[p,b]=D.useState(!1),[x,k]=D.useState(null),_=D.useRef(null);D.useEffect(()=>{Ja.getState().refreshAll();const j=setInterval(()=>{document.visibilityState==="visible"&&Ja.getState().refreshStatus()},3e4);return()=>clearInterval(j)},[]),D.useEffect(()=>{const j=localStorage.getItem(kp);j&&m(j)},[]);const T=D.useCallback(async()=>{try{const j=await ft.git.prStatus();j.success&&k(j.data||{available:!1,message:""})}catch{}},[]);D.useEffect(()=>{T()},[T]),D.useEffect(()=>{if(!u)return;const j=q=>{_.current&&!_.current.contains(q.target)&&d(!1)};return document.addEventListener("mousedown",j),()=>document.removeEventListener("mousedown",j)},[u]);const N=D.useCallback(async()=>{const j=h.trim();if(!j){Ye.warning(e("git.emptyCommitMsg"));return}const K=await Ja.getState().commit(j);K.ok?(Ye.success(e("git.commitSuccess")),b(!1),localStorage.removeItem(kp),m("")):Ye.error(K.error||e("git.commitFailed"))},[h,e]),E=D.useCallback(async()=>{const q=await Ja.getState().push();q.ok?Ye.success(e("git.pushSuccess")):Ye.error(q.error||e("git.pushFailed"))},[e]),L=D.useCallback(async j=>{const K=await Ja.getState().checkout(j);K.ok?Ye.success(e("git.checkoutSuccess",{branch:j})):Ye.error(K.error||e("git.checkoutFailed"))},[e]),B=t&&t.available===!1;return y.jsxs("div",{ref:_,className:"relative",children:[y.jsxs("button",{onClick:()=>d(j=>!j),className:Wt("flex items-center gap-1.5 rounded-lg px-2 py-1.5 text-xs transition-colors",u?"bg-dark-hover text-dark-text":"text-dark-muted hover:bg-dark-hover hover:text-dark-text"),title:e("git.panelTitle"),"aria-expanded":u,children:[y.jsx(Cb,{size:13,className:Wt(B?"text-dark-muted/50":"text-accent-blue")}),y.jsx("span",{className:"max-w-[120px] truncate font-mono",children:B?e("git.noRepo"):(t==null?void 0:t.branch)||"—"}),(t==null?void 0:t.dirty)&&y.jsxs("span",{className:"hidden sm:flex items-center gap-1 text-[10px] font-mono tabular-nums",children:[y.jsxs("span",{className:"text-accent-green",children:["+",t.totalAdded??0]}),y.jsxs("span",{className:"text-accent-red",children:["−",t.totalRemoved??0]})]}),y.jsx(ti,{size:11,className:Wt("transition-transform",u&&"rotate-180")})]}),u&&y.jsxs("div",{className:"absolute right-0 top-full z-40 mt-1.5 w-[380px] max-w-[90vw] rounded-xl border border-dark-border bg-dark-surface shadow-2xl overflow-hidden",children:[y.jsxs("div",{className:"flex items-center gap-2 px-3.5 py-2.5 border-b border-dark-border bg-dark-surface",children:[y.jsx(Cb,{size:14,className:"text-accent-blue"}),y.jsx("span",{className:"text-xs font-medium text-dark-text",children:e("git.panelTitle")}),y.jsx("div",{className:"flex-1"}),y.jsx("button",{onClick:()=>void Ja.getState().refreshAll(),className:"rounded p-1 text-dark-muted hover:text-dark-text hover:bg-dark-hover transition-colors",title:e("git.refresh"),children:y.jsx(B0,{size:12,className:Wt(Ja.getState().refreshing&&"animate-spin")})})]}),B?y.jsxs("div",{className:"px-3.5 py-4 text-center",children:[y.jsx(Dk,{size:20,className:"mx-auto mb-2 text-dark-muted/50"}),y.jsx("div",{className:"text-xs text-dark-muted",children:e("git.notGitDesc")}),y.jsx("div",{className:"mt-1 text-[10px] font-mono text-dark-muted/60 break-all",children:l})]}):t?y.jsxs("div",{className:"p-3.5 space-y-3 max-h-[60vh] overflow-y-auto custom-scrollbar",children:[y.jsxs("div",{children:[y.jsxs("div",{className:"flex items-center justify-between mb-1.5",children:[y.jsx("span",{className:"text-[11px] text-dark-muted",children:e("git.changes")}),y.jsxs("span",{className:"text-[11px] font-mono tabular-nums",children:[y.jsxs("span",{className:"text-accent-green",children:["+",t.totalAdded??0]}),y.jsx("span",{className:"text-dark-muted/40",children:" / "}),y.jsxs("span",{className:"text-accent-red",children:["−",t.totalRemoved??0]})]})]}),y.jsxs("div",{className:"space-y-0.5 max-h-40 overflow-y-auto custom-scrollbar",children:[(t.changes||[]).slice(0,30).map(j=>y.jsxs("div",{className:"flex items-center gap-1.5 text-[11px] font-mono",children:[y.jsx("span",{className:Wt("w-6 shrink-0 rounded px-1 text-center text-[9px]",j.status.includes("?")?"bg-accent-purple/15 text-accent-purple":j.status===j.status.toUpperCase()&&j.status.trim()?"bg-accent-green/15 text-accent-green":"bg-accent-yellow/15 text-accent-yellow"),children:j.status}),y.jsx("span",{className:"flex-1 truncate text-dark-text",children:j.path}),y.jsxs("span",{className:"shrink-0 text-[10px] tabular-nums text-dark-muted/60",children:[j.added>0&&y.jsxs("span",{className:"text-accent-green",children:["+",j.added]}),j.removed>0&&y.jsxs("span",{className:"text-accent-red",children:["−",j.removed]})]})]},j.path)),(t.changes||[]).length===0&&y.jsx("div",{className:"py-2 text-center text-[11px] text-dark-muted/60",children:e("git.clean")})]})]}),y.jsxs("div",{children:[y.jsx("div",{className:"text-[11px] text-dark-muted mb-1",children:e("git.branch")}),y.jsx("div",{className:"flex flex-wrap gap-1",children:((a==null?void 0:a.branches)||[t.branch||""]).slice(0,8).map(j=>y.jsx("button",{onClick:()=>j!==t.branch&&L(j),disabled:j===t.branch,className:Wt("rounded-md px-2 py-1 text-[11px] font-mono transition-colors",j===t.branch?"bg-accent-blue/10 text-accent-blue cursor-default":"bg-dark-bg border border-dark-border text-dark-muted hover:border-accent-blue/40 hover:text-dark-text"),children:j},j))}),(t.ahead??0)>0||(t.behind??0)>0?y.jsxs("div",{className:"mt-1 text-[10px] text-dark-muted/70",children:[(t.ahead??0)>0&&y.jsxs("span",{className:"text-accent-green",children:["↑ ",t.ahead," "]}),(t.behind??0)>0&&y.jsxs("span",{className:"text-accent-yellow",children:["↓ ",t.behind]}),e("git.upstream")]}):null]}),y.jsx("div",{children:p?y.jsxs("div",{className:"space-y-1.5",children:[y.jsx("textarea",{value:h,onChange:j=>{m(j.target.value),localStorage.setItem(kp,j.target.value)},placeholder:e("git.commitPlaceholder"),rows:2,className:"w-full rounded-md border border-dark-border bg-dark-bg px-2.5 py-1.5 text-xs text-dark-text placeholder-dark-muted/50 resize-none focus:outline-none focus:border-accent-blue/50"}),y.jsxs("div",{className:"flex gap-1.5",children:[y.jsxs("button",{onClick:N,disabled:s||!h.trim(),className:"flex flex-1 items-center justify-center gap-1 rounded-md bg-accent-green/15 text-accent-green px-2.5 py-1.5 text-xs hover:bg-accent-green/25 transition-colors disabled:opacity-40",children:[s?y.jsx(Ga,{size:12,className:"animate-spin"}):y.jsx(Tb,{size:12}),e("git.commitConfirm")]}),y.jsx("button",{onClick:()=>b(!1),className:"rounded-md px-2.5 py-1.5 text-xs text-dark-muted hover:bg-dark-hover transition-colors",children:e("common.cancel")})]})]}):y.jsxs("div",{className:"flex gap-1.5",children:[y.jsxs("button",{onClick:()=>b(!0),disabled:s,className:"flex flex-1 items-center justify-center gap-1.5 rounded-md bg-accent-blue/10 text-accent-blue px-2.5 py-1.5 text-xs hover:bg-accent-blue/20 transition-colors disabled:opacity-50",children:[y.jsx(Tb,{size:13}),e("git.commit")]}),y.jsxs("button",{onClick:E,disabled:s||!t.dirty,className:"flex items-center justify-center gap-1.5 rounded-md bg-dark-bg border border-dark-border text-dark-muted px-2.5 py-1.5 text-xs hover:border-accent-green/40 hover:text-accent-green transition-colors disabled:opacity-40",children:[y.jsx(Ok,{size:13}),e("git.push")]})]})}),y.jsxs("div",{className:"flex items-center gap-1.5 rounded-md bg-dark-bg border border-dark-border px-2.5 py-2",children:[y.jsx(Lk,{size:13,className:"text-accent-purple shrink-0"}),y.jsx("span",{className:"text-[11px] text-dark-muted truncate",children:x?x.available?e("git.prReady"):x.message||e("git.prUnavailable"):e("git.prLoading")})]}),y.jsxs("div",{className:"rounded-md bg-dark-bg border border-dark-border px-2.5 py-2 space-y-0.5",children:[y.jsx("div",{className:"text-[10px] text-dark-muted",children:e("git.environment")}),y.jsx("div",{className:"text-[11px] font-mono text-dark-text/80 break-all",children:l||"—"}),t.lastCommit&&y.jsxs("div",{className:"text-[10px] font-mono text-dark-muted/60 truncate",children:[t.lastCommit.hash.slice(0,7)," ",t.lastCommit.subject]})]}),o&&y.jsxs("div",{className:Wt("flex items-center gap-1.5 text-[11px]",o.ok?"text-accent-green":"text-accent-red"),children:[o.ok?y.jsx(P0,{size:12}):y.jsx(j0,{size:12}),y.jsx("span",{className:"truncate",children:o.ok?e("git.ok"):o.error||""})]})]}):y.jsx("div",{className:"px-3.5 py-4 text-center text-xs text-dark-muted",children:e("git.loading")})]})]})});function hj({onOpenTemplates:n,onSaveAsTemplate:e,saveAsBusy:t}){const{t:a}=kt(),[s,o]=D.useState(!1),l=D.useRef(null);return D.useEffect(()=>{if(!s)return;const u=d=>{l.current&&!l.current.contains(d.target)&&o(!1)};return document.addEventListener("mousedown",u),()=>document.removeEventListener("mousedown",u)},[s]),y.jsxs("div",{ref:l,className:"relative",children:[y.jsx("button",{onClick:()=>o(u=>!u),className:"p-1.5 rounded-lg text-dark-muted hover:bg-dark-hover hover:text-dark-text transition-colors",title:a("nav.moreOptions"),"aria-label":a("nav.moreOptions"),"aria-expanded":s,children:y.jsx(Rp,{size:16,"aria-hidden":"true"})}),s&&y.jsxs("div",{className:"absolute right-0 top-full z-40 mt-1.5 w-44 rounded-xl border border-dark-border bg-dark-surface shadow-2xl overflow-hidden py-1",children:[y.jsxs("button",{onClick:()=>{o(!1),n()},className:"w-full flex items-center gap-2 px-3 py-2 text-xs text-dark-text hover:bg-dark-hover transition-colors",children:[y.jsx(i0,{size:13,className:"text-dark-muted shrink-0"})," ",a("chat.templateLibrary")]}),y.jsxs("button",{onClick:()=>{o(!1),e()},disabled:t,className:"w-full flex items-center gap-2 px-3 py-2 text-xs text-dark-text hover:bg-dark-hover transition-colors disabled:opacity-40",children:[t?y.jsx(Ga,{size:13,className:"animate-spin shrink-0"}):y.jsx(Bk,{size:13,className:"text-dark-muted shrink-0"}),a("chat.saveAsTemplate")]})]})]})}const mj={info:K3,success:P3,warning:Yg,error:Wg},pj={info:"text-accent-blue",success:"text-accent-green",warning:"text-accent-yellow",error:"text-accent-red"},gj=D.memo(function(){const{toasts:e,dismissToast:t}=is();return e.length===0?null:y.jsx("div",{className:"fixed bottom-20 right-4 z-[100] flex flex-col gap-2 max-w-sm",children:e.slice(-3).map(a=>{const s=mj[a.type];return y.jsxs("div",{className:"toast-card animate-fade-in-up",role:"status",children:[y.jsx(s,{size:16,className:`shrink-0 mt-0.5 ${pj[a.type]}`}),y.jsxs("span",{className:"text-xs flex-1 text-dark-text leading-relaxed",children:[a.message,a.count>1&&y.jsxs("span",{className:"toast-card-count ml-1.5",children:["×",a.count]})]}),y.jsx("button",{onClick:()=>t(a.id),className:"shrink-0 p-0.5 rounded text-dark-muted/70 hover:text-dark-text hover:bg-dark-hover/60 transition-colors","aria-label":"Dismiss",children:y.jsx(xr,{size:12})})]},a.id)})})}),yj={critical:{icon:jk,text:"text-accent-red"},error:{icon:Wg,text:"text-accent-red"},warning:{icon:Yg,text:"text-accent-yellow"},info:{icon:K3,text:"text-accent-blue"}},vj={info:6e3,warning:1e4},bj=D.memo(function(){const e=Ko(s=>s.errors),t=Ko(s=>s.dismiss),a=e.filter(s=>!s.dismissed);return D.useEffect(()=>{const s=a.filter(o=>!o.action).map(o=>{const l=o.durationMs??vj[o.level];return l?setTimeout(()=>t(o.id),l):null}).filter(o=>o!==null);return()=>s.forEach(clearTimeout)},[a,t]),a.length===0?null:y.jsx("div",{className:"fixed bottom-4 right-4 z-[110] flex flex-col gap-2 max-w-sm",children:a.map(s=>{const o=yj[s.level],l=o.icon;return y.jsx(xj,{entry:s,icon:l,config:o,onDismiss:()=>t(s.id)},s.id)})})});function xj({entry:n,icon:e,config:t,onDismiss:a}){const[s,o]=D.useState(!1);return y.jsxs("div",{className:"toast-card animate-fade-in-up",role:"alert",children:[y.jsx(e,{size:16,className:`shrink-0 mt-0.5 ${t.text}`}),y.jsxs("div",{className:"flex min-w-0 flex-1 flex-col",children:[y.jsxs("span",{className:`text-xs leading-relaxed ${t.text}`,children:[n.title,n.count!=null&&n.count>1&&y.jsxs("span",{className:"toast-card-count ml-1.5",children:["×",n.count]})]}),s&&n.detail&&y.jsx("div",{className:"mt-1.5 text-[11px] text-dark-muted whitespace-pre-wrap break-words leading-relaxed border-t border-dark-border/50 pt-1.5",children:n.detail}),n.action&&y.jsx("button",{onClick:n.action.onClick,className:"mt-1.5 self-start text-[11px] px-2 py-0.5 rounded-md bg-dark-hover hover:bg-dark-border transition-colors text-dark-text",children:n.action.label})]}),y.jsxs("div",{className:"flex items-center gap-1 shrink-0",children:[n.detail&&y.jsx("button",{onClick:()=>o(!s),className:"p-0.5 rounded text-dark-muted/70 hover:text-dark-text hover:bg-dark-hover/60 transition-colors","aria-label":s?"Collapse":"Expand",children:s?y.jsx(ti,{size:12}):y.jsx(V3,{size:12})}),y.jsx("button",{onClick:a,className:"p-0.5 rounded text-dark-muted/70 hover:text-dark-text hover:bg-dark-hover/60 transition-colors","aria-label":"Dismiss",children:y.jsx(xr,{size:12})})]})]})}function wj(n){const{t:e}=kt(),{setActiveTab:t,createNewSession:a,clearMessages:s,setTheme:o,setThemePreset:l,toggleTerminal:u,setLogs:d,setUnreadLogs:h}=n,m=M1(se=>se.backendCommands),p=Array.isArray(m)?m:[],[b,x]=D.useState(!1),[k,_]=D.useState(""),[T,N]=D.useState(0),E=D.useRef(null),L=D.useCallback((se,ge)=>{const xe=We.getState().activeSessionId;return xe?(Re.setSessionId(xe),Re.send({type:"command_execute",sessionId:xe,data:JSON.stringify({command:`/${se}`,args:ge||""})}),{success:!0,message:e("slashCommands.sent_command")+`/${se}`}):{success:!1,message:e("slashCommands.noActiveSession")}},[e]),B=D.useMemo(()=>[{id:"chat",name:"chat",description:e("slashCommands.chat_desc"),icon:"💬",local:!0,action:()=>(t("chat"),{success:!0,message:e("slashCommands.chat_result")})},{id:"terminal",name:"terminal",description:e("slashCommands.terminal_desc"),icon:"💻",local:!0,action:()=>(t("terminal"),{success:!0,message:e("slashCommands.terminal_result")})},{id:"files",name:"files",description:e("slashCommands.files_desc"),icon:"📁",local:!0,action:()=>(t("files"),{success:!0,message:e("slashCommands.files_result")})},{id:"models",name:"models",description:e("slashCommands.models_desc"),icon:"🧠",local:!0,action:()=>(t("models"),{success:!0,message:e("slashCommands.models_result")})},{id:"tools",name:"tools",description:e("slashCommands.tools_desc"),icon:"🔧",local:!0,action:()=>(t("tools"),{success:!0,message:e("slashCommands.tools_result")})},{id:"skills",name:"skills",description:e("slashCommands.skills_desc"),icon:"🎯",local:!0,action:()=>(t("skills"),{success:!0,message:e("slashCommands.skills_result")})},{id:"settings",name:"settings",description:e("slashCommands.settings_desc"),icon:"⚙️",local:!0,action:()=>(t("settings"),{success:!0,message:e("slashCommands.settings_result")})},{id:"logs",name:"logs",description:e("slashCommands.logs_desc"),icon:"📜",local:!0,action:()=>(t("logs"),h(0),{success:!0,message:e("slashCommands.logs_result")})},{id:"new",name:"new",description:e("slashCommands.new_desc"),icon:"✨",local:!0,action:()=>(a(),{success:!0,message:e("slashCommands.new_result")})},{id:"clear",name:"clear",description:e("slashCommands.clear_desc"),icon:"🗑️",local:!0,action:()=>(s(),{success:!0,message:e("slashCommands.clear_result")})},{id:"theme",name:"theme",description:e("slashCommands.theme_desc"),args:"<dark|light|auto|preset-name>",icon:"🎨",local:!0,action:se=>{const ge=se.trim().toLowerCase();if(["dark","light","auto"].includes(ge))return o(ge),{success:!0,message:e("slashCommands.theme_result")+ge};if(Pc[ge])return l?(l(ge),{success:!0,message:e("slashCommands.theme_preset_result")+Pc[ge].nameKey}):{success:!1,message:e("slashCommands.theme_preset_unavailable")};const xe=Object.keys(Pc).join("|");return{success:!1,message:e("slashCommands.theme_error",{presets:xe})}}},{id:"terminal-toggle",name:"terminal-toggle",description:e("slashCommands.toggle_terminal_desc"),icon:"🔲",local:!0,action:()=>(u(),{success:!0,message:e("slashCommands.toggle_terminal_result")})},{id:"clear-logs",name:"clear-logs",description:e("slashCommands.logs_clear_desc"),icon:"📭",local:!0,action:()=>(d([]),h(0),{success:!0,message:e("slashCommands.logs_clear_result")})},{id:"doctor",name:"doctor",description:e("slashCommands.doctor_desc"),icon:"🩺",local:!1,action:()=>L("doctor")},{id:"compact",name:"compact",description:e("slashCommands.compact_desc"),args:"[aggressive|summary]",icon:"🗜️",local:!1,action:se=>L("compact",se)},{id:"help",name:"help",description:e("slashCommands.help_desc"),icon:"❓",local:!1,action:()=>L("help")},{id:"cost",name:"cost",description:e("slashCommands.token_desc"),args:"[detail|reset]",icon:"💰",local:!1,action:se=>L("cost",se)},{id:"model",name:"model",description:e("slashCommands.model_desc"),args:"[model-name]",icon:"🤖",local:!1,action:se=>L("model",se)},{id:"status",name:"status",description:e("slashCommands.status_desc"),icon:"📊",local:!1,action:()=>L("status")},{id:"config",name:"config",description:e("slashCommands.config_desc"),args:"<get|set|list|delete> [key] [value]",icon:"🔧",local:!1,action:se=>L("config",se)},{id:"exit",name:"exit",description:e("slashCommands.exit_desc"),icon:"🚪",local:!1,action:()=>{const se=We.getState().activeSessionId;return se&&(Re.setSessionId(se),Re.send({type:"exit",sessionId:se})),{success:!0,message:e("slashCommands.exit_result")}}},{id:"test",name:"test",description:e("slashCommands.benchmark_desc"),args:"[simple|medium|complex|full|list]",icon:"🧪",local:!1,action:se=>L("test",se)}],[t,a,s,o,l,u,d,h,L,e]),j=D.useMemo(()=>p.map(se=>{const ge=e(`slashCommands.${se.name}_desc`,se.description||se.usage||"");return{id:`backend-${se.name}`,name:se.name,description:ge,icon:"🔌",local:!1,action:xe=>{const G=We.getState().activeSessionId;return G?(Re.setSessionId(G),Re.send({type:"command_execute",sessionId:G,data:JSON.stringify({command:`/${se.name}`,args:xe||""})}),{success:!0,message:e("slashCommands.sent_command")+`/${se.name}`}):{success:!1,message:e("slashCommands.noActiveSession")}}}}),[p,e]),q=D.useMemo(()=>{const se=new Set;return[...B,...j].filter(ge=>se.has(ge.name)?!1:(se.add(ge.name),!0))},[B,j]),K=D.useMemo(()=>{if(!k)return q;const se=k.toLowerCase();return q.filter(ge=>ge.name.toLowerCase().includes(se)||ge.description.toLowerCase().includes(se))},[q,k]),te=D.useCallback(()=>{x(!0),_(""),N(0)},[]),J=D.useCallback(()=>{x(!1),_(""),N(0)},[]),be=D.useCallback(()=>{N(se=>se>=K.length-1?0:se+1)},[K.length]),Le=D.useCallback(()=>{N(se=>se<=0?K.length-1:se-1)},[K.length]),fe=D.useCallback((se,ge)=>{const xe=se.action(ge);return J(),xe},[J]);return D.useEffect(()=>{if(b&&E.current){const se=E.current.querySelector(`[data-index="${T}"]`);se&&se.scrollIntoView({block:"nearest"})}},[T,b]),{isOpen:b,filter:k,setFilter:_,selectedIndex:T,setSelectedIndex:N,filteredCommands:K,allCommands:q,openMenu:te,closeMenu:J,selectNext:be,selectPrev:Le,executeCommand:fe,containerRef:E,commands:B}}function FP(n){const e=n.trim();if(!e.startsWith("/"))return null;const a=e.slice(1).split(/\s+/),s=a[0]||"",o=a.slice(1).join(" ");return{command:s,args:o}}function kj({open:n,onClose:e,options:t}){const{t:a}=kt(),{filter:s,setFilter:o,filteredCommands:l,selectedIndex:u,setSelectedIndex:d,selectNext:h,selectPrev:m,executeCommand:p,openMenu:b,closeMenu:x}=wj(t),k=D.useRef(null),_=D.useRef(null),[T,N]=D.useState(!1);if(D.useEffect(()=>{n?(b(),N(!1),setTimeout(()=>{var B;return(B=k.current)==null?void 0:B.focus()},0)):x()},[n,b,x]),D.useEffect(()=>{if(!n||!_.current)return;const B=_.current.querySelector(`[data-cmd-index="${u}"]`);B&&B.scrollIntoView({block:"nearest"})},[u,n]),!n)return null;const E=B=>{B.local||(N(!0),Ye.info(a("palette.running")));const j=p(B,"");B.local&&(j!=null&&j.message)&&Ye.success(j.message),e()},L=B=>{if(B.key==="ArrowDown")B.preventDefault(),h();else if(B.key==="ArrowUp")B.preventDefault(),m();else if(B.key==="Enter"){B.preventDefault();const j=l[u];j&&E(j)}else B.key==="Escape"&&(B.preventDefault(),e())};return y.jsx("div",{className:"fixed inset-0 z-[100] flex items-start justify-center bg-black/50 backdrop-blur-sm pt-[12vh] px-4 animate-fade-in",onClick:e,role:"dialog","aria-modal":"true","aria-label":a("a11y.commandPalette"),children:y.jsxs("div",{className:"w-full max-w-xl bg-dark-surface border border-dark-border rounded-xl shadow-2xl overflow-hidden",onClick:B=>B.stopPropagation(),children:[y.jsxs("div",{className:"flex items-center gap-2 px-4 py-3 border-b border-dark-border",children:[y.jsx(W3,{size:16,className:"text-dark-muted shrink-0","aria-hidden":"true"}),y.jsx("input",{ref:k,value:s,onChange:B=>{o(B.target.value),d(0)},onKeyDown:L,placeholder:a("palette.placeholder"),"aria-label":a("palette.placeholder"),className:"flex-1 bg-transparent text-sm text-dark-text placeholder-dark-muted outline-none"}),T&&y.jsx("span",{className:"text-[10px] text-accent-blue animate-pulse-soft shrink-0",children:a("palette.running")})]}),y.jsx("div",{ref:_,className:"max-h-[50vh] overflow-y-auto custom-scrollbar py-1",children:l.length===0?y.jsx("div",{className:"px-4 py-8 text-center text-sm text-dark-muted",children:a("palette.empty")}):l.map((B,j)=>y.jsxs("button",{"data-cmd-index":j,onClick:()=>E(B),onMouseEnter:()=>d(j),className:`w-full px-4 py-2.5 flex items-center gap-3 text-left transition-colors ${j===u?"bg-accent-blue/10 border-l-2 border-accent-blue":"border-l-2 border-transparent hover:bg-dark-hover"}`,children:[y.jsx("span",{className:"text-lg shrink-0","aria-hidden":"true",children:B.icon}),y.jsxs("div",{className:"flex-1 min-w-0",children:[y.jsxs("div",{className:"flex items-center gap-2",children:[y.jsxs("span",{className:"text-sm font-medium text-dark-text",children:["/",B.name]}),B.args&&y.jsx("span",{className:"text-xs text-dark-muted",children:B.args}),!B.local&&y.jsx("span",{className:"text-[10px] px-1.5 py-0.5 rounded bg-accent-blue/20 text-accent-blue shrink-0",children:a("slashCommands.backend")})]}),y.jsx("div",{className:"text-xs text-dark-muted truncate",children:B.description})]}),j===u&&y.jsx(Pk,{size:14,className:"text-dark-muted shrink-0","aria-hidden":"true"})]},B.id))}),y.jsx("div",{className:"px-4 py-2 border-t border-dark-border text-[10px] text-dark-muted bg-dark-bg",children:a("palette.hint")})]})})}function es({keys:n,label:e}){return y.jsxs("div",{className:"flex items-center justify-between py-2 border-b border-dark-border/50 last:border-0",children:[y.jsx("span",{className:"text-sm text-dark-text",children:e}),y.jsx("span",{className:"flex items-center gap-1",children:n.map(t=>y.jsx("kbd",{className:"px-2 py-0.5 text-xs font-mono bg-dark-bg rounded border border-dark-border text-dark-muted",children:t},t))})]})}function Sj({open:n,onClose:e}){const{t}=kt(),a=navigator.platform.toLowerCase().includes("mac")?"⌘":"Ctrl";return y.jsx(N1,{isOpen:n,onClose:e,title:t("shortcuts.title"),size:"md",children:y.jsxs("div",{className:"space-y-0.5",children:[y.jsx(es,{keys:[a,"K"],label:t("shortcuts.commandPalette")}),y.jsx(es,{keys:[a,"L"],label:t("shortcuts.clearLogs")}),y.jsx(es,{keys:[a,"/"],label:t("shortcuts.help")}),y.jsx(es,{keys:[a,"Enter"],label:t("shortcuts.submit")}),y.jsx(es,{keys:["Shift","Enter"],label:t("shortcuts.newline")}),y.jsx(es,{keys:["/"],label:t("shortcuts.slashCommand")}),y.jsx(es,{keys:["@"],label:t("shortcuts.fileRef")}),y.jsx(es,{keys:["Esc"],label:t("shortcuts.closeDialog")}),y.jsx(es,{keys:["Esc","Esc"],label:t("shortcuts.stopGen")})]})})}function _j({isOpen:n,onClose:e,title:t,collapsedSummary:a,badge:s,children:o,maxHeight:l="45vh",onExpandedChange:u,className:d}){const{t:h}=kt(),[m,p]=D.useState(!0);D.useEffect(()=>{n&&p(!0)},[n]),D.useEffect(()=>{u==null||u(m)},[m,u]);const b=D.useCallback(()=>{p(x=>!x)},[]);return n?y.jsxs("div",{className:Wt("shrink-0 bg-dark-surface/95 backdrop-blur border-t border-dark-border shadow-[0_-10px_30px_-15px_rgba(0,0,0,0.5)]",d),children:[y.jsxs("div",{role:"button","aria-expanded":m,tabIndex:0,onClick:b,onKeyDown:x=>{(x.key==="Enter"||x.key===" ")&&(x.preventDefault(),b())},title:h(m?"commonUi.drawerCollapseTitle":"commonUi.drawerExpandTitle"),className:Wt("flex items-center gap-2 px-4 py-2 cursor-pointer select-none transition-colors","hover:bg-dark-hover/60"),children:[y.jsx("span",{className:Wt("shrink-0 text-dark-muted transition-transform duration-200",!m&&"rotate-180"),children:y.jsx(ti,{size:16})}),y.jsxs("div",{className:"min-w-0 flex-1 flex items-center gap-2",children:[y.jsx("span",{className:"text-sm font-semibold text-dark-text truncate",children:t}),s,!m&&a&&y.jsx("span",{className:"min-w-0 flex items-center gap-1.5 text-xs text-dark-muted truncate",children:a})]}),y.jsx("button",{type:"button","aria-label":h("common.close"),onClick:x=>{x.stopPropagation(),e()},className:"shrink-0 p-1 rounded-md text-dark-muted hover:text-dark-text hover:bg-dark-hover transition-colors",children:y.jsx(xr,{size:15})})]}),m&&y.jsx("div",{className:"animate-slide-up border-t border-dark-border/60 overflow-y-auto custom-scrollbar p-4",style:{maxHeight:l},children:o})]}):null}const Cj=D.lazy(()=>O(()=>import("./ModelsView-Dpwx3f-Q.js"),__vite__mapDeps([125,126,127,128,129,130])).then(n=>({default:n.ModelsView}))),Tj=D.lazy(()=>O(()=>import("./ToolsView-DeCt1EIB.js"),__vite__mapDeps([131,126,127,128,129,130])).then(n=>({default:n.ToolsView}))),Aj=D.lazy(()=>O(()=>import("./SkillsView-DLGgMIsT.js"),__vite__mapDeps([132,126,127,128,129,130])).then(n=>({default:n.SkillsView}))),Ej=D.lazy(()=>O(()=>import("./TemplatesTab-4085BhAx.js"),__vite__mapDeps([133,126,127,128,129,130])).then(n=>({default:n.TemplatesTab}))),Nj=D.lazy(()=>O(()=>import("./HookConfigView-CdQVgzog.js"),__vite__mapDeps([134,126,127,129,128,130])).then(n=>({default:n.HookConfigView}))),Mj=D.lazy(()=>O(()=>import("./FileTreeView-BQfRRAXr.js"),__vite__mapDeps([135,126,127,128,129,130])).then(n=>({default:n.FileTreeView}))),Rj=D.lazy(()=>O(()=>import("./TerminalView-BVZAuLTB.js"),__vite__mapDeps([136,126,127,137,128,129,130,138])).then(n=>({default:n.TerminalView}))),Dj=D.lazy(()=>O(()=>import("./SessionGrid-DFVjPnhc.js"),__vite__mapDeps([139,126,127,128,140,129,130])).then(n=>({default:n.SessionGrid}))),Oj=D.lazy(()=>O(()=>import("./SettingsPanel-CpmNWZmn.js"),__vite__mapDeps([141,126,127,140,128,129,130])).then(n=>({default:n.SettingsPanel}))),Lj=D.lazy(()=>O(()=>import("./ChannelConfigView-DGK82bWj.js"),__vite__mapDeps([142,126,127,128,129,130])).then(n=>({default:n.ChannelConfigView}))),Bj=D.lazy(()=>O(()=>import("./ConnectorsView-5kzDUnd8.js"),__vite__mapDeps([143,126,127,128,129,130])).then(n=>({default:n.ConnectorsView}))),jj=D.lazy(()=>O(()=>import("./AutomationView-CpFBgFvV.js"),__vite__mapDeps([144,126,127,128,129,130])).then(n=>({default:n.AutomationView}))),Pj=D.lazy(()=>O(()=>import("./PluginsView-bQipmAy8.js"),__vite__mapDeps([145,126,127,128,129,130])).then(n=>({default:n.PluginsView}))),Ij=D.lazy(()=>O(()=>Promise.resolve().then(()=>yD),void 0).then(n=>({default:n.PluginTabContainer}))),zj=()=>y.jsx("div",{className:"flex-1 flex items-center justify-center bg-dark-bg",children:y.jsx("div",{className:"w-5 h-5 border-2 border-accent-blue border-t-transparent rounded-full animate-spin"})}),R1=[{id:"chat",labelKey:"nav.chat",icon:I0},{id:"terminal",labelKey:"nav.terminal",icon:Ik},{id:"files",labelKey:"nav.files",icon:zk},{id:"models",labelKey:"nav.models",icon:$k},{id:"tools",labelKey:"nav.tools",icon:Hk},{id:"skills",labelKey:"nav.skills",icon:Uk},{id:"templates",labelKey:"nav.templates",icon:i0},{id:"hooks",labelKey:"nav.hooks",icon:Fk},{id:"channels",labelKey:"nav.channels",icon:Gk},{id:"connectors",labelKey:"nav.connectors",icon:qk},{id:"scheduled",labelKey:"nav.scheduled",icon:Vk},{id:"logs",labelKey:"nav.logs",icon:Ac},{id:"settings",labelKey:"nav.settings",icon:Wk},{id:"plugins",labelKey:"nav.plugins",icon:Y3}],Sp=Object.fromEntries(R1.map(n=>[n.id,n.labelKey])),$j=R1.map(n=>({id:n.id,title:n.labelKey})),T3=Object.fromEntries(R1.map(n=>[n.id,n.icon]));function Hj(){const[n,e]=D.useState("chat"),[t,a]=D.useState(!1),[s,o]=D.useState([]),[,l]=D.useState(0),[u,d]=D.useState(!1),[h,m]=D.useState(!1),[p,b]=D.useState(!1),[x,k]=D.useState(null),[_,T]=D.useState(!1),[N,E]=D.useState(!1),[L,B]=D.useState({}),[j,q]=D.useState(!1),[K,te]=D.useState(null),[J,be]=D.useState(!1),Le=D.useRef(null),fe=D.useRef(null),[se,ge]=D.useState(()=>localStorage.getItem("dsc-sidebar-collapsed")==="1"),xe=D.useCallback(()=>{ge(U=>(localStorage.setItem("dsc-sidebar-collapsed",U?"0":"1"),!U))},[]),G=D.useCallback(()=>{q(U=>!U),be(!1)},[]),le=D.useCallback(()=>{const U=Le.current;U&&(J?U.resize(fe.current??20):(fe.current=U.getSize(),U.resize(68)),be(ne=>!ne))},[J]);D.useEffect(()=>{const U=window.matchMedia("(min-width: 1400px)"),ne=he=>{he.matches||q(!1)};return U.addEventListener("change",ne),()=>U.removeEventListener("change",ne)},[]);const{t:re,i18n:Qe}=kt(),{toggleTerminal:Ge}=l_(),{theme:qe,setTheme:Ie,setThemePreset:Me,language:mt,workspaceDir:St,setWorkspaceDir:En,effort:an}=qi(),In=ns();D.useEffect(()=>{mt&&Qe.language!==mt&&Qe.changeLanguage(mt)},[mt,Qe]);const pn=D.useMemo(()=>$j.filter(U=>!(U.id==="terminal"&&x===!1)),[x]),[_a,Ca]=D.useState([]);D.useEffect(()=>{let U=!1;return X.get("/api/plugins/ui").then(ne=>{var he;U||Ca((((he=ne==null?void 0:ne.data)==null?void 0:he.ui)??[]).filter(De=>De.mount==="tab"))}).catch(()=>{}),()=>{U=!0}},[]);const Ta=U=>`plugin:${U.pluginId}:${U.id}`,la=D.useMemo(()=>[...pn.map(U=>({...U,iconComponent:T3[U.id]})),..._a.map(U=>({id:Ta(U),title:U.title,icon:U.icon,iconComponent:T3[U.icon??""]??Y3}))],[pn,_a]),pt=D.useCallback(U=>{D.startTransition(()=>{e(U)})},[]),[de,lt]=D.useState(null),He=D.useCallback(U=>{lt({section:U,nonce:Date.now()})},[]);D.useEffect(()=>{const U=he=>{const De=he.message||re("common.unknownError"),ze=he.filename||"global";ze.includes("chrome-extension://")||ze.includes("moz-extension://")||o(gt=>[...gt,{id:`error-${Date.now()}-${yr()}`,level:"error",source:"Browser",message:`${re("toast.uncaughtError")}${De}`,timestamp:Date.now()}].slice(-500))},ne=he=>{var ze;const De=((ze=he.reason)==null?void 0:ze.message)||he.reason||re("toast.unknownReason");o(gt=>[...gt,{id:`rejection-${Date.now()}-${yr()}`,level:"error",source:"Promise",message:`${re("toast.uncaughtRejection")}${De}`,timestamp:Date.now()}].slice(-500))};return window.addEventListener("error",U),window.addEventListener("unhandledrejection",ne),()=>{window.removeEventListener("error",U),window.removeEventListener("unhandledrejection",ne)}},[re]);const{sessionTabs:je,activeSessionId:_e,setActiveSession:Ue,addSessionTab:At,closeSessionTab:Jt,renameSessionTab:Ht,getVisibleSessionTabs:yt,autoNameSession:Nn,touchSession:rr}=We(),ps=_e?L[_e]??!0:!0,ca=xt(U=>_e?Object.keys(U.tasksBySession[_e]||{}).length:0),Ar=D.useCallback(()=>{B(U=>_e?{...U,[_e]:!(U[_e]??!0)}:U)},[_e]),[zn,mf]=D.useState(()=>typeof window<"u"&&window.innerWidth<768);D.useEffect(()=>{const U=window.matchMedia("(max-width: 767px)"),ne=he=>mf(he.matches);return U.addEventListener("change",ne),()=>U.removeEventListener("change",ne)},[]);const ua=xt(U=>_e?U.getForSession(_e):void 0),gs=D.useRef(null),$n=D.useRef(null);D.useEffect(()=>{if(zn)return;const U=ua&&["RUNNING","RESUMING","PAUSED"].includes(String(ua.status)),ne=ca>0;U&&ua&&gs.current!==ua.runId?(gs.current=ua.runId,q(!0)):ne&&$n.current!==_e&&($n.current=_e??null,q(!0))},[ua==null?void 0:ua.runId,ua==null?void 0:ua.status,ca,_e,zn]);const da=Zn(U=>{var ne;return _e?((ne=U.bySession[_e])==null?void 0:ne.artifacts.length)??0:0}),Mn=D.useRef({sessionId:null,count:0});D.useEffect(()=>{const U=Mn.current;if(_e!==U.sessionId){Mn.current={sessionId:_e??null,count:da};return}!zn&&da>U.count&&q(!0),Mn.current={sessionId:_e??null,count:Math.max(da,U.count)}},[da,_e,zn]);const{clearMessages:ou}=Ve(),lu=Ve(U=>_e?U.messagesBySession[_e]||[]:[]),{customTheme:pf,customThemeEnabled:Zi,themePresetId:Xi}=qi();aj({theme:qe,themePresetId:Xi,customTheme:pf,customThemeEnabled:Zi}),tj({activeTab:n,setLogs:o,setUnreadLogs:l}),D.useEffect(()=>{X.get("/api/terminal/status").then(U=>k(U.success&&U.data?U.data.ttydAvailable!==!1:!1)).catch(()=>k(!1))},[]),D.useEffect(()=>{const U=ne=>{const he=ne.detail,De=typeof he=="string"?he:he==null?void 0:he.tab,ze=typeof he=="string"||he==null?void 0:he.section;De&&De!==n&&pt(De),De==="settings"&&ze&&He(ze)};return window.addEventListener("switch-tab",U),()=>window.removeEventListener("switch-tab",U)},[n,pt,He]),D.useEffect(()=>{const U=ne=>{var De;const he=(De=ne.detail)==null?void 0:De.path;he&&(te(he),q(!0))};return window.addEventListener("preview-file",U),()=>window.removeEventListener("preview-file",U)},[]);const Er=D.useCallback(()=>{const U=window.location.hash.replace(/^#\/?/,"");if(!U)return;const[ne,he]=U.split("/");ne&&ne in Sp&&pt(ne),ne==="settings"&&he==="stt"&&He("stt")},[pt,He]);D.useEffect(()=>(Er(),window.addEventListener("hashchange",Er),()=>window.removeEventListener("hashchange",Er)),[Er]);const Wa=D.useRef(t);D.useEffect(()=>{const U=Re.onOpen(()=>{Wa.current=!0,a(!0),Ye.success(re("toast.backendConnected"))}),ne=Re.onClose(()=>{const he=Wa.current;Wa.current=!1,a(!1),he&&Ye.warning(re("toast.backendDisconnected"))});return()=>{U(),ne()}},[re]);const Qi=D.useCallback(async()=>{try{const U=await ft.sessions.list();if(!U.success||!Array.isArray(U.data))return!1;const ne=ij(U.data);if(ne.length===0)return!1;const he=ne[0],De=ze=>({id:ze.id,title:ze.title,createdAt:ze.createdAt,lastActiveAt:ze.lastActiveAt,preview:ze.preview,status:"done"});return We.setState(ze=>{const gt=ze.sessionTabs.some(et=>et.id===he.id)?ze.sessionTabs:[De(he),...ze.sessionTabs].slice(0,Pp),Nt=new Set(gt.map(et=>et.id));let gn=[...ne.map(De).filter(et=>!Nt.has(et.id)),...ze.historySessions.filter(et=>!ne.some(Hn=>Hn.id===et.id))].slice(0,Math.max(0,rx-gt.length));const Dt=[...ne.map(et=>({id:et.id,title:et.title,createdAt:new Date(et.createdAt).toISOString(),updatedAt:new Date(et.lastActiveAt??et.createdAt).toISOString(),messageCount:et.messageCount??0})),...ze.sessions.filter(et=>!ne.some(Hn=>Hn.id===et.id))];return{sessionTabs:gt,historySessions:gn,sessions:Dt,activeSessionId:he.id}}),!0}catch{return!1}},[]);D.useEffect(()=>{if(We.getState().sessionTabs.length>0)return;let U=!1;return Qi().then(ne=>{U||ne||At(re("chat.defaultSessionTitle",{n:1}))}),()=>{U=!0}},[]),D.useEffect(()=>{const U=()=>m(!0);return window.addEventListener("hook-approval-required",U),()=>window.removeEventListener("hook-approval-required",U)},[]);const ys=D.useRef(_e);D.useEffect(()=>{ys.current=_e},[_e]);const Ji=D.useCallback(U=>{var De,ze,gt;if(!U)return!1;const ne=window,he=(De=ne.__pendingQuestions)==null?void 0:De[U];return he?(ze=ne.__answeredQuestionIds)!=null&&ze.has(he.questionId)?(delete ne.__pendingQuestions[U],((gt=ne.__pendingQuestion)==null?void 0:gt.questionId)===he.questionId&&(ne.__pendingQuestion=null),!1):(ne.__pendingQuestion=he,b(!0),!0):!1},[]);D.useEffect(()=>{const U=ne=>{const he=ne.detail||ys.current;Ji(he)};return window.addEventListener("ask-question-required",U),()=>window.removeEventListener("ask-question-required",U)},[Ji]),D.useEffect(()=>{_e&&Ji(_e)},[_e,Ji]);const cu=D.useCallback(()=>{var he;const U=window,ne=U.__pendingQuestion;if(ne!=null&&ne.questionId){U.__answeredQuestionIds=U.__answeredQuestionIds||new Set,U.__answeredQuestionIds.add(ne.questionId);const De=U.__pendingQuestions||{};for(const ze of Object.keys(De))((he=De[ze])==null?void 0:he.questionId)===ne.questionId&&delete De[ze];U.__pendingQuestion=null}b(!1)},[]);D.useEffect(()=>{In.autoMode&&In.pendingApprovals.length>0&&m(!1),In.pendingApprovals.length>0&&!In.autoMode&&m(!0)},[In.autoMode,In.pendingApprovals.length]);const eo=D.useRef(0);D.useEffect(()=>{const U=ne=>{var Dt,et;if(ne.key!=="Escape"||ne.defaultPrevented)return;const he=(Dt=ne.target)==null?void 0:Dt.tagName;if(he==="INPUT"||he==="TEXTAREA"||(et=ne.target)!=null&&et.isContentEditable)return;const De=Ve.getState(),gt=We.getState().activeSessionId;if(!gt||!De.isGenerating(gt))return;ne.preventDefault();const Nt=Date.now(),gn=eo.current;eo.current=Nt,gn>0&&Nt-gn<500?(Re.send({type:"stop",sessionId:gt}),Ye.info(re("toast.terminated"))):(Re.send({type:"pause",sessionId:gt}),Ye.info(re("toast.paused")))};return window.addEventListener("keydown",U),()=>window.removeEventListener("keydown",U)},[re]);const[Nr,uu]=D.useState(!1),Mr=D.useCallback(()=>{D.startTransition(()=>{const U=At(void 0,St);Re.setSessionId(U),Zo.getState().setMode("auto-act"),pt("chat")})},[At,St,pt]),du=D.useCallback(U=>{D.startTransition(()=>{const ne=We.getState();let he=ne.activeSessionId;he||(he=ne.addSessionTab(void 0,St),Re.setSessionId(he)),Ve.getState().setSessionInput(he,`$${U.id} `),pt("chat")})},[St,pt]),to=D.useCallback(()=>pt("templates"),[pt]),ci=D.useCallback(async(U,ne)=>{var gn;const he=await ft.templates.render(U.id,ne);if(!he.success||!he.data){Ye.error(he.error||"模板渲染失败");return}const De=he.data,ze=At(U.name,St);Re.setSessionId(ze),Zo.getState().setMode("auto-act"),pt("chat");const gt=`wf-${Date.now()}-${yr()}`;xt.getState().upsert(ze,{runId:gt,status:"RUNNING",completedPhases:0,totalPhases:((gn=De.nodes)==null?void 0:gn.length)??0,completedEffects:0,totalEffects:0,tokensUsed:0,tokensRemaining:0,lastEventType:"workflow_start"});const Nt=await ft.workflows.start({sessionId:ze,runId:gt,workflow:De,message:`[模板] ${U.name}`});if(!Nt.success||!Nt.data){Ye.error(Nt.error||"工作流启动失败"),xt.getState().fail(ze,gt,Nt.error||"启动失败");return}if(Nt.data.status==="FAILED"){const Dt=Nt.data.error||"模板定义无效";Ye.error(`工作流启动失败: ${Dt}`),xt.getState().fail(ze,gt,Dt)}},[At,St,pt]),gl=D.useCallback(async()=>{if(Nr||!_e)return;const U=xt.getState().getForSession(_e),ne=U==null?void 0:U.runId;if(!ne){Ye.info("当前会话没有可保存的工作流运行");return}uu(!0),Ye.info("正在泛化为模板…");try{const he=await ft.templates.createFromRun(ne,{generalize:!0});he.success&&he.data?he.data.degraded?Ye.warning(`已保存为模板「${he.data.name}」(v${he.data.version}),但 LLM 泛化失败,已原样保存${he.data.degradeReason?`:${he.data.degradeReason}`:""}`):Ye.success(`已保存为模板「${he.data.name}」(v${he.data.version})`):Ye.error(he.error||"保存模板失败")}finally{uu(!1)}},[_e,Nr]),yl=D.useRef(0),vl=D.useCallback(async U=>{if(!U)return;const ne=++yl.current;try{const he=await ft.sessions.resume(U);if(ne!==yl.current||!he.success||!he.data)return;const De=he.data;De.session&&We.getState().updateSession(U,De.session);const ze=De.messages||[];if(ze.length>0){const gt=ze.flatMap(Dt=>Dt.type!=="user"&&Dt.type!=="assistant"&&Dt.type!=="system"?[]:[{id:Dt.id||`msg-${Dt.timestamp||Date.now()}`,type:Dt.type,content:Dt.content||"",timestamp:Dt.timestamp||Date.now(),thinking:Dt.thinking||void 0}]);Ve.getState().replaceMessages(U,gt);const Nt=ze.find(Dt=>Dt.type==="user"),gn=typeof(Nt==null?void 0:Nt.content)=="string"?Nt.content.replace(/\s+/g," ").trim():"";We.getState().touchSession(U,gn||void 0)}}catch{}},[]),Ka=D.useCallback(U=>{Ue(U),Re.setSessionId(U)},[Ue]),rn=D.useCallback(U=>{Jt(U)},[Jt]),Rn=D.useCallback((U,ne)=>{Ht(U,ne)},[Ht]),sr=D.useCallback(()=>{_e&&ou(_e)},[_e,ou]);D.useEffect(()=>{if(!_e)return;const U=Ve.getState().messagesBySession[_e];U&&U.length>0&&st.getState().recalculateFromMessages(U)},[_e]),D.useEffect(()=>{if(!_e)return;Ve.getState().getMessages(_e).length===0&&vl(_e)},[_e,vl]);const ui=D.useCallback(async(U,ne,he,De,ze)=>{if(!ne.trim())return;Ve.getState().isGenerating(U)&&(console.warn(`[sendMessage] Session ${U} stuck in generating state — force-ending`),Ve.getState().endGeneration(U,"Force-ended: new message"));const Nt=Zo.getState();Ve.getState().resumeGeneration(U),Re.setSessionId(U),Ve.getState().getMessages(U).some(Aa=>Aa.type==="user")?rr(U):(Nn(U,ne.trim()),rr(U,ne.trim()));let et=ne.trim();if(he&&he.length>0){const Aa=[],hu=[...he].sort((Ea,Dr)=>Dr.length-Ea.length);for(const Ea of hu){et=et.split(`@${Ea}`).join("").trim();try{const Dr=await ft.files.read(Ea),Vn=Dr.success&&Dr.data?Dr.data:null;if(Vn){const kl=Ea.split(".").pop()||"";Aa.push(`<context ref="${Ea}">
|
|
477
|
-
\`\`\`${kl}
|
|
478
|
-
${Vn}
|
|
479
|
-
\`\`\`
|
|
480
|
-
</context>`)}}catch(Dr){console.warn(`Failed to read @-referenced file: ${Ea}`,Dr)}}Aa.length>0&&(et=Aa.join(`
|
|
481
|
-
|
|
482
|
-
`)+`
|
|
483
|
-
|
|
484
|
-
`+et.trim(),et=et.trim())}ze!=null&&ze.skipAddUserMessage||Ve.getState().addMessage(U,{id:`msg-${Date.now()}`,type:"user",content:et,timestamp:Date.now()});const Hn=Nt.mode,qn=Ia(Hn==="normal"?"act":Hn),xl=an==="off"?!1:void 0,wl=De&&De.length>0?JSON.stringify({images:De}):void 0;if(qn==="plan")Re.send({type:"plan",sessionId:U,message:et,effort:an,thinking:xl,data:wl});else if(qn==="goal"){const Aa=`wf-${Date.now()}-${yr()}`;Ve.getState().startGeneration(U),xt.getState().upsert(U,{runId:Aa,status:"RUNNING",completedPhases:0,totalPhases:0,completedEffects:0,totalEffects:0,tokensUsed:0,tokensRemaining:0,lastEventType:"workflow_start"}),Re.send({type:"workflow_start",sessionId:U,runId:Aa,message:et,projectId:St,memoryEnabled:!0,checkpointPolicy:"phase-and-token",data:wl})}else Re.send({type:"chat",sessionId:U,message:et,effort:an,thinking:xl,data:wl})},[Nn,rr,St,an]),gf=D.useCallback((U,ne)=>{var gn,Dt;const he=Ve.getState(),De=he.getMessages(U),ze=De.findIndex(et=>et.id===ne);if(ze===-1)return;let gt=-1;for(let et=ze-1;et>=0;et--)if(((gn=De[et])==null?void 0:gn.type)==="user"){gt=et;break}if(gt===-1)return;const Nt=De[gt];(Dt=Nt==null?void 0:Nt.content)!=null&&Dt.trim()&&(he.replaceMessages(U,De.slice(0,gt+1)),ui(U,Nt.content,void 0,void 0,{skipAddUserMessage:!0}))},[ui]),yf=D.useCallback((U,ne)=>{Ve.getState().applyTombstone(U,[ne]),Ye.success(re("chat.messageDeleted"))},[re]),fu=D.useCallback(U=>{const ne=xt.getState().getForSession(U);ne&&!["COMPLETED","CANCELLED","ERROR","FAILED"].includes(ne.status)?Re.send({type:"workflow_cancel",sessionId:U,runId:ne.runId}):Re.send({type:"stop",sessionId:U}),Ve.getState().endGeneration(U)},[]),di=D.useCallback(U=>{const ne=xt.getState().getForSession(U);ne&&["RUNNING","RESUMING"].includes(ne.status)?Re.send({type:"workflow_pause",sessionId:U,runId:ne.runId}):Re.send({type:"pause",sessionId:U}),Ve.getState().pauseGeneration(U)},[]),bl=D.useCallback(U=>{const ne=xt.getState().getForSession(U);ne&&ne.status==="PAUSED"?Re.send({type:"workflow_resume",sessionId:U,runId:ne.runId}):Re.send({type:"resume",sessionId:U}),Ve.getState().resumeGeneration(U)},[]),vs=D.useCallback(U=>{const ne=U.trim();if(!ne||ne===St)return;En(ne),Re.send({type:"workspace",message:ne}),We.getState().sessionTabs.forEach(De=>{Ve.getState().clearMessages(De.id)}),We.setState({sessionTabs:[],sessions:[],sessionWorkspaceDirs:{},activeSessionId:null}),setTimeout(()=>{We.getState().addSessionTab(re("chat.defaultSessionTitle",{n:1}),ne)},0)},[St,En,re]),Rr=()=>{o([]),l(0)},fi=D.useMemo(()=>({setActiveTab:pt,createNewSession:Mr,clearMessages:sr,setTheme:Ie,setThemePreset:Me,toggleTerminal:Ge,setLogs:o,setUnreadLogs:l}),[pt,Mr,sr,Ie,Me,Ge]);D.useEffect(()=>{const U=ne=>{var gt,Nt;const he=ne.ctrlKey||ne.metaKey,De=(gt=ne.target)==null?void 0:gt.tagName,ze=De==="INPUT"||De==="TEXTAREA"||((Nt=ne.target)==null?void 0:Nt.isContentEditable);if(ne.key==="Escape"){if(_){ne.preventDefault(),T(!1);return}if(N){ne.preventDefault(),E(!1);return}if(u){ne.preventDefault(),d(!1);return}return}if(he)if(ne.key==="k"||ne.key==="K")ne.preventDefault(),E(!1),T(gn=>!gn);else if(ne.key==="l"||ne.key==="L"){if(ze)return;ne.preventDefault(),Rr(),Ye.success(re("slashCommands.logs_clear_result"))}else ne.key==="/"&&(ne.preventDefault(),T(!1),E(gn=>!gn))};return window.addEventListener("keydown",U),()=>window.removeEventListener("keydown",U)},[_,N,u,re]);const ir=(U,ne)=>Sp[U]?re(Sp[U]):ne,sn=U=>{switch(U){case"chat":{const ne=yt(),he=je.find(De=>De.id===_e);return y.jsxs("div",{className:"chat-workspace flex flex-col flex-1 min-h-0",children:[y.jsxs("div",{className:"chat-toolbar flex h-12 items-center gap-2 px-3.5 shrink-0 select-none",children:[y.jsxs("div",{className:"min-w-0 flex-1",children:[y.jsx("div",{className:"chat-toolbar-title",children:(he==null?void 0:he.title)||re("nav.chat")}),y.jsxs("div",{className:"chat-toolbar-meta",children:[y.jsx("span",{className:"ui-status-dot","data-status":t?"online":"error"}),re(t?"chat.connected":"chat.disconnected")]})]}),y.jsx("div",{className:"flex-1"}),y.jsx(fj,{}),y.jsx(hj,{onOpenTemplates:to,onSaveAsTemplate:()=>void gl(),saveAsBusy:Nr}),ca>0&&y.jsx("button",{onClick:zn?Ar:G,className:`ui-icon-button transition-colors ${zn?ps?"bg-accent-blue/10 text-accent-blue":"text-dark-muted hover:bg-dark-hover hover:text-dark-text":j?"bg-accent-blue/10 text-accent-blue":"text-dark-muted hover:bg-dark-hover hover:text-dark-text"}`,title:zn?"Task Board":"任务看板(右侧)","aria-label":zn?"Task Board":"任务看板(右侧)","aria-expanded":zn?ps:j,children:y.jsx(U3,{size:16,"aria-hidden":"true"})}),y.jsx("button",{onClick:G,className:`ui-icon-button transition-colors ${j?"bg-accent-blue/10 text-accent-blue":"text-dark-muted hover:bg-dark-hover hover:text-dark-text"}`,title:"右侧面板","aria-label":"切换右侧面板","aria-expanded":j,children:y.jsx(Yk,{size:16,"aria-hidden":"true"})})]}),y.jsx(dj,{sessionId:_e??void 0}),y.jsx(Dj,{tabs:ne,activeSessionId:_e,onSend:ui,onStop:fu,onPause:di,onResume:bl,activeTab:n,setActiveTab:pt,createNewSession:Mr,clearMessages:sr,setTheme:Ie,setThemePreset:Me,toggleTerminal:Ge,setLogs:o,setUnreadLogs:l,showTaskBoard:ps&&zn,onToggleTaskBoard:Ar,onRegenerate:gf,onDeleteMessage:yf,hookDrawerOpen:h,onCloseHookDrawer:()=>m(!1),questionDrawerOpen:p,onCloseQuestionDrawer:cu,workspaceDir:St,onWorkspaceSelect:vs})]})}case"terminal":return y.jsx(Rj,{});case"files":return y.jsx(Mj,{});case"models":return y.jsx(Cj,{});case"tools":return y.jsx(Tj,{});case"skills":return y.jsx(Aj,{onUseSkill:du});case"templates":return y.jsx(Ej,{onLaunch:ci});case"hooks":return y.jsx(Nj,{});case"channels":return y.jsx(Lj,{});case"connectors":return y.jsx(Bj,{});case"scheduled":return y.jsx(jj,{});case"logs":return y.jsx(KO,{logs:s,onClear:Rr});case"settings":return y.jsx(Oj,{onNavigate:pt,focusSection:de});case"plugins":return y.jsx(Pj,{});default:if(U.startsWith("plugin:")){const ne=_a.find(he=>Ta(he)===U);if(ne)return y.jsx(Ij,{contribution:ne,hostContext:{sessionId:_e,theme:qe,workspaceDir:St,wsUrl:Jg()}})}return null}};return y.jsxs(_3,{children:[y.jsxs("div",{className:"app-shell h-screen w-full flex bg-dark-bg text-dark-text overflow-hidden",children:[y.jsx("aside",{className:`workbench-sidebar hidden md:block shrink-0 border-r border-dark-border/70 transition-[width] duration-200 ease-in-out overflow-hidden ${se?"w-14":"w-60"}`,children:y.jsx(d3,{collapsed:se,onToggleCollapse:xe,tabs:la,activeTab:n,onTabChange:pt,isConnected:t,onNewSession:Mr,onStartTemplate:ci,onManageTemplates:to,onSwitchSession:Ka,onCloseSession:rn,onRenameSession:Rn,getTabTitle:ir})}),u&&y.jsxs("div",{className:"md:hidden fixed inset-0 z-50",children:[y.jsx("div",{className:"absolute inset-0 bg-black/40 backdrop-blur-[2px]",onClick:()=>d(!1)}),y.jsx("aside",{className:"absolute left-0 top-0 h-full w-64 bg-dark-surface border-r border-dark-border shadow-2xl animate-slide-in",children:y.jsx(d3,{collapsed:!1,onToggleCollapse:()=>d(!1),tabs:la,activeTab:n,onTabChange:U=>{pt(U),d(!1)},isConnected:t,onNewSession:()=>{Mr(),d(!1)},onStartTemplate:ci,onManageTemplates:()=>{to(),d(!1)},onSwitchSession:U=>{Ka(U),d(!1)},onCloseSession:rn,onRenameSession:Rn,getTabTitle:ir})})]}),y.jsxs("div",{className:"flex-1 flex flex-col min-w-0 min-h-0",children:[y.jsxs("header",{className:"md:hidden h-12 bg-dark-surface border-b border-dark-border flex items-center gap-1 px-2 shrink-0",children:[y.jsx("button",{className:"ui-icon-button",onClick:()=>d(!0),"aria-label":re("a11y.openMenu"),children:y.jsx(Kk,{size:18,"aria-hidden":"true"})}),y.jsx("span",{className:"text-sm font-semibold truncate",children:ir(n,"")}),y.jsx("div",{className:"flex-1"}),n==="chat"&&y.jsx("button",{onClick:Mr,className:"ui-icon-button","aria-label":re("chat.newSession"),children:y.jsx(s0,{size:18,"aria-hidden":"true"})})]}),y.jsx("div",{className:"flex-1 flex overflow-hidden min-h-0",children:y.jsxs(Z3,{direction:"horizontal",children:[y.jsx(Dp,{id:"chat-main",minSize:30,className:"min-w-0",children:y.jsx("div",{className:"flex h-full flex-col min-w-0 min-h-0",children:y.jsx(D.Suspense,{fallback:y.jsx(zj,{}),children:y.jsx(_3,{children:sn(n)})})})}),n==="chat"&&j&&!zn&&y.jsx(X3,{className:"w-1 bg-dark-border hover:bg-accent-blue transition-colors cursor-col-resize"}),n==="chat"&&j&&!zn&&y.jsx(Dp,{id:"rightrail",ref:Le,defaultSize:20,minSize:14,maxSize:70,className:"min-w-0",children:y.jsx(LO,{sessionId:_e??"",messages:lu,previewFile:K,onPreview:te,onClosePreview:()=>te(null),isMaximized:J,onToggleMaximize:le})})]})}),n==="chat"&&j&&zn&&y.jsx(_j,{isOpen:!0,onClose:()=>q(!1),title:"输出物 · 任务",maxHeight:"60vh",children:y.jsx("div",{className:"h-[52vh]",children:y.jsx(L7,{sessionId:_e??"",messages:lu,previewFile:K,onPreview:te,onClosePreview:()=>te(null)})})}),y.jsx(uj,{activeTab:n})]})]}),y.jsx(kj,{open:_,onClose:()=>T(!1),options:fi}),y.jsx(Sj,{open:N,onClose:()=>E(!1)}),y.jsx(gj,{}),y.jsx(bj,{})]})}let Wd=new Set;function Uj(n){function e(){t(window)}function t(m){m&&typeof m.addEventListener=="function"&&(m.addEventListener("click",o,!0),m.addEventListener("mousedown",l,!0),m.addEventListener("mouseover",l,!0),m.addEventListener("mouseup",l,!0),m.addEventListener("pointerdown",u,!0),m.addEventListener("pointerover",d,!0),m.addEventListener("pointerup",h,!0))}function a(){s(window),Wd.forEach(m=>{try{s(m.contentWindow)}catch{}}),Wd=new Set}function s(m){m&&typeof m.removeEventListener=="function"&&(m.removeEventListener("click",o,!0),m.removeEventListener("mousedown",l,!0),m.removeEventListener("mouseover",l,!0),m.removeEventListener("mouseup",l,!0),m.removeEventListener("pointerdown",u,!0),m.removeEventListener("pointerover",d,!0),m.removeEventListener("pointerup",h,!0))}function o(m){var p;m.preventDefault(),m.stopPropagation(),a(),(p=n.onClick)===null||p===void 0||p.call(n,m.target)}function l(m){m.preventDefault(),m.stopPropagation()}function u(m){m.preventDefault(),m.stopPropagation()}function d(m){var p;m.preventDefault(),m.stopPropagation();const b=m.target;if(b.tagName==="IFRAME"){const x=b;try{if(!Wd.has(x)){const k=x.contentWindow;t(k),Wd.add(x)}}catch{}}(p=n.onPointerOver)===null||p===void 0||p.call(n,m.target)}function h(m){m.preventDefault(),m.stopPropagation()}return e(),a}const Fj=n=>typeof(n==null?void 0:n.type)=="string",H7=n=>{var e;return typeof((e=n==null?void 0:n.type)===null||e===void 0?void 0:e.$$typeof)=="symbol"},Gj=n=>{var e;return((e=n==null?void 0:n.type)===null||e===void 0?void 0:e.$$typeof)===Symbol.for("react.forward_ref")},qj=n=>{const e=Object.keys(n).find(t=>t.startsWith("__reactInternalInstance$")||t.startsWith("__reactFiber$"));if(e)return n[e]},D1=n=>{if(!n)return;const e=qj(n);return e||D1(n.parentElement)},Vj=n=>{let e=n.return;for(;e;){if(!H7(e))return e;e=e.return}return null},U7=n=>{const e=n==null?void 0:n.type;if(!e)return;const{displayName:t,name:a}=e;if(typeof t=="string")return t;if(typeof a=="string")return a},Wj=n=>{var e,t;if(!n)return;const a=(e=n._debugSource)!==null&&e!==void 0?e:(t=n._debugOwner)===null||t===void 0?void 0:t._debugSource;if(!a)return;const{fileName:s,lineNumber:o,columnNumber:l}=a;if(s&&o)return{lineNumber:String(o),columnNumber:String(l??1),absolutePath:s.match(/^<.*>$/)?s.replace(/^<|>$/g,""):s}},Kj=n=>{if(!(n!=null&&n.pendingProps))return;const{"data-inspector-line":e,"data-inspector-column":t,"data-inspector-relative-path":a}=n.pendingProps;if(e&&t&&a)return{lineNumber:e,columnNumber:t,relativePath:a}},O1=n=>{const e=[Wj(n),Kj(n)].filter(Boolean);if(e.length)return Object.assign({},...e)},F7=n=>{if(!n)return;const e=Vj(n);if(!e)return;const t=Fj(e),a=!e.child.sibling;let s=!t&&a?e:n;const o=s;for(;s;){if(O1(s))return s;s=s.return}return o},A3=n=>{const e=D1(n),t=F7(e);return O1(t)},Yj=n=>{var e,t;let a=n,s;for(;a;){let o=(e=a.return)!==null&&e!==void 0?e:void 0,l;for(;H7(o);)Gj(o)&&(l=o),o=(t=o==null?void 0:o.return)!==null&&t!==void 0?t:void 0;if(l&&(a=l),U7(a)&&(s||(s=a),O1(a)))return a;a=o}return s},E3=n=>{const e=D1(n),t=F7(e),a=Yj(t),s=U7(a),o=n.nodeName.toLowerCase(),l=s?`${o} in <${s}>`:o;return{fiber:t,name:s,title:l}};function N3(n){return n.getBoundingClientRect()}function Zj(n){const e=window.getComputedStyle(n);return{borderLeft:Number.parseInt(e.borderLeftWidth,10),borderRight:Number.parseInt(e.borderRightWidth,10),borderTop:Number.parseInt(e.borderTopWidth,10),borderBottom:Number.parseInt(e.borderBottomWidth,10),marginLeft:Number.parseInt(e.marginLeft,10),marginRight:Number.parseInt(e.marginRight,10),marginTop:Number.parseInt(e.marginTop,10),marginBottom:Number.parseInt(e.marginBottom,10),paddingLeft:Number.parseInt(e.paddingLeft,10),paddingRight:Number.parseInt(e.paddingRight,10),paddingTop:Number.parseInt(e.paddingTop,10),paddingBottom:Number.parseInt(e.paddingBottom,10)}}var _p,M3;function Xj(){return M3||(M3=1,_p="/__open-stack-frame-in-editor"),_p}var Qj=Xj();const R3=j3(Qj),Jj=n=>"codeInfo"in n?n.codeInfo:n,eP=n=>{if(!n)return;const e=Jj(n),{lineNumber:t,columnNumber:a,relativePath:s,absolutePath:o}=e,l=!!s,u=l?s:o;if(!u){console.error("[react-dev-inspector] Cannot open editor without source fileName",e);return}const d={fileName:u,lineNumber:t,colNumber:a},h=l?`${R3}/relative`:R3;fetch(`${h}?${new URLSearchParams(d)}`)},Cp=typeof navigator<"u"?navigator.userAgent.toLowerCase().indexOf("firefox")>0:!1;function Tp(n,e,t,a){n.addEventListener?n.addEventListener(e,t,a):n.attachEvent&&n.attachEvent("on".concat(e),t)}function xc(n,e,t,a){n.removeEventListener?n.removeEventListener(e,t,a):n.detachEvent&&n.detachEvent("on".concat(e),t)}function G7(n,e){const t=e.slice(0,e.length-1);for(let a=0;a<t.length;a++)t[a]=n[t[a].toLowerCase()];return t}function q7(n){typeof n!="string"&&(n=""),n=n.replace(/\s/g,"");const e=n.split(",");let t=e.lastIndexOf("");for(;t>=0;)e[t-1]+=",",e.splice(t,1),t=e.lastIndexOf("");return e}function tP(n,e){const t=n.length>=e.length?n:e,a=n.length>=e.length?e:n;let s=!0;for(let o=0;o<t.length;o++)a.indexOf(t[o])===-1&&(s=!1);return s}const Qc={backspace:8,"⌫":8,tab:9,clear:12,enter:13,"↩":13,return:13,esc:27,escape:27,space:32,left:37,up:38,right:39,down:40,arrowup:38,arrowdown:40,arrowleft:37,arrowright:39,del:46,delete:46,ins:45,insert:45,home:36,end:35,pageup:33,pagedown:34,capslock:20,num_0:96,num_1:97,num_2:98,num_3:99,num_4:100,num_5:101,num_6:102,num_7:103,num_8:104,num_9:105,num_multiply:106,num_add:107,num_enter:108,num_subtract:109,num_decimal:110,num_divide:111,"⇪":20,",":188,".":190,"/":191,"`":192,"-":Cp?173:189,"=":Cp?61:187,";":Cp?59:186,"'":222,"{":219,"}":221,"[":219,"]":221,"\\":220},ar={"⇧":16,shift:16,"⌥":18,alt:18,option:18,"⌃":17,ctrl:17,control:17,"⌘":91,cmd:91,meta:91,command:91},Tc={16:"shiftKey",18:"altKey",17:"ctrlKey",91:"metaKey",shiftKey:16,ctrlKey:17,altKey:18,metaKey:91},Pn={16:!1,18:!1,17:!1,91:!1},Yt={};for(let n=1;n<20;n++)Qc["f".concat(n)]=111+n;let Ft=[],Ic=null,V7="all";const ts=new Map,pl=n=>Qc[n.toLowerCase()]||ar[n.toLowerCase()]||n.toUpperCase().charCodeAt(0),nP=n=>Object.keys(Qc).find(e=>Qc[e]===n),aP=n=>Object.keys(ar).find(e=>ar[e]===n);function W7(n){V7=n||"all"}function Jc(){return V7||"all"}function rP(){return Ft.slice(0)}function sP(){return Ft.map(n=>nP(n)||aP(n)||String.fromCharCode(n))}function iP(){const n=[];return Object.keys(Yt).forEach(e=>{Yt[e].forEach(t=>{let{key:a,scope:s,mods:o,shortcut:l}=t;n.push({scope:s,shortcut:l,mods:o,keys:a.split("+").map(u=>pl(u))})})}),n}function oP(n){const e=n.target||n.srcElement,{tagName:t}=e;let a=!0;const s=t==="INPUT"&&!["checkbox","radio","range","button","file","reset","submit","color"].includes(e.type);return(e.isContentEditable||(s||t==="TEXTAREA"||t==="SELECT")&&!e.readOnly)&&(a=!1),a}function lP(n){return typeof n=="string"&&(n=pl(n)),Ft.indexOf(n)!==-1}function cP(n,e){let t,a;n||(n=Jc());for(const s in Yt)if(Object.prototype.hasOwnProperty.call(Yt,s))for(t=Yt[s],a=0;a<t.length;)t[a].scope===n?t.splice(a,1).forEach(l=>{let{element:u}=l;return L1(u)}):a++;Jc()===n&&W7(e||"all")}function uP(n){let e=n.keyCode||n.which||n.charCode;n.key&&n.key.toLowerCase()==="capslock"&&(e=pl(n.key));const t=Ft.indexOf(e);if(t>=0&&Ft.splice(t,1),n.key&&n.key.toLowerCase()==="meta"&&Ft.splice(0,Ft.length),(e===93||e===224)&&(e=91),e in Pn){Pn[e]=!1;for(const a in ar)ar[a]===e&&(Fa[a]=!1)}}function K7(n){if(typeof n>"u")Object.keys(Yt).forEach(s=>{Array.isArray(Yt[s])&&Yt[s].forEach(o=>Kd(o)),delete Yt[s]}),L1(null);else if(Array.isArray(n))n.forEach(s=>{s.key&&Kd(s)});else if(typeof n=="object")n.key&&Kd(n);else if(typeof n=="string"){for(var e=arguments.length,t=new Array(e>1?e-1:0),a=1;a<e;a++)t[a-1]=arguments[a];let[s,o]=t;typeof s=="function"&&(o=s,s=""),Kd({key:n,scope:s,method:o,splitKey:"+"})}}const Kd=n=>{let{key:e,scope:t,method:a,splitKey:s="+"}=n;q7(e).forEach(l=>{const u=l.split(s),d=u.length,h=u[d-1],m=h==="*"?"*":pl(h);if(!Yt[m])return;t||(t=Jc());const p=d>1?G7(ar,u):[],b=[];Yt[m]=Yt[m].filter(x=>{const _=(a?x.method===a:!0)&&x.scope===t&&tP(x.mods,p);return _&&b.push(x.element),!_}),b.forEach(x=>L1(x))})};function D3(n,e,t,a){if(e.element!==a)return;let s;if(e.scope===t||e.scope==="all"){s=e.mods.length>0;for(const o in Pn)Object.prototype.hasOwnProperty.call(Pn,o)&&(!Pn[o]&&e.mods.indexOf(+o)>-1||Pn[o]&&e.mods.indexOf(+o)===-1)&&(s=!1);(e.mods.length===0&&!Pn[16]&&!Pn[18]&&!Pn[17]&&!Pn[91]||s||e.shortcut==="*")&&(e.keys=[],e.keys=e.keys.concat(Ft),e.method(n,e)===!1&&(n.preventDefault?n.preventDefault():n.returnValue=!1,n.stopPropagation&&n.stopPropagation(),n.cancelBubble&&(n.cancelBubble=!0)))}}function O3(n,e){const t=Yt["*"];let a=n.keyCode||n.which||n.charCode;if(n.key&&n.key.toLowerCase()==="capslock"||!Fa.filter.call(this,n))return;if((a===93||a===224)&&(a=91),Ft.indexOf(a)===-1&&a!==229&&Ft.push(a),["metaKey","ctrlKey","altKey","shiftKey"].forEach(u=>{const d=Tc[u];n[u]&&Ft.indexOf(d)===-1?Ft.push(d):!n[u]&&Ft.indexOf(d)>-1?Ft.splice(Ft.indexOf(d),1):u==="metaKey"&&n[u]&&(Ft=Ft.filter(h=>h in Tc||h===a))}),a in Pn){Pn[a]=!0;for(const u in ar)if(Object.prototype.hasOwnProperty.call(ar,u)){const d=Tc[ar[u]];Fa[u]=n[d]}if(!t)return}for(const u in Pn)Object.prototype.hasOwnProperty.call(Pn,u)&&(Pn[u]=n[Tc[u]]);n.getModifierState&&!(n.altKey&&!n.ctrlKey)&&n.getModifierState("AltGraph")&&(Ft.indexOf(17)===-1&&Ft.push(17),Ft.indexOf(18)===-1&&Ft.push(18),Pn[17]=!0,Pn[18]=!0);const s=Jc();if(t)for(let u=0;u<t.length;u++)t[u].scope===s&&(n.type==="keydown"&&t[u].keydown||n.type==="keyup"&&t[u].keyup)&&D3(n,t[u],s,e);if(!(a in Yt))return;const o=Yt[a],l=o.length;for(let u=0;u<l;u++)if((n.type==="keydown"&&o[u].keydown||n.type==="keyup"&&o[u].keyup)&&o[u].key){const d=o[u],{splitKey:h}=d,m=d.key.split(h),p=[];for(let b=0;b<m.length;b++)p.push(pl(m[b]));p.sort().join("")===Ft.sort().join("")&&D3(n,d,s,e)}}function Fa(n,e,t){Ft=[];const a=q7(n);let s=[],o="all",l=document,u=0,d=!1,h=!0,m="+",p=!1,b=!1;for(t===void 0&&typeof e=="function"&&(t=e),Object.prototype.toString.call(e)==="[object Object]"&&(e.scope&&(o=e.scope),e.element&&(l=e.element),e.keyup&&(d=e.keyup),e.keydown!==void 0&&(h=e.keydown),e.capture!==void 0&&(p=e.capture),typeof e.splitKey=="string"&&(m=e.splitKey),e.single===!0&&(b=!0)),typeof e=="string"&&(o=e),b&&K7(n,o);u<a.length;u++)n=a[u].split(m),s=[],n.length>1&&(s=G7(ar,n)),n=n[n.length-1],n=n==="*"?"*":pl(n),n in Yt||(Yt[n]=[]),Yt[n].push({keyup:d,keydown:h,scope:o,mods:s,shortcut:a[u],method:t,key:a[u],splitKey:m,element:l});if(typeof l<"u"&&window){if(!ts.has(l)){const x=function(){let _=arguments.length>0&&arguments[0]!==void 0?arguments[0]:window.event;return O3(_,l)},k=function(){let _=arguments.length>0&&arguments[0]!==void 0?arguments[0]:window.event;O3(_,l),uP(_)};ts.set(l,{keydownListener:x,keyupListenr:k,capture:p}),Tp(l,"keydown",x,p),Tp(l,"keyup",k,p)}if(!Ic){const x=()=>{Ft=[]};Ic={listener:x,capture:p},Tp(window,"focus",x,p)}}}function dP(n){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"all";Object.keys(Yt).forEach(t=>{Yt[t].filter(s=>s.scope===e&&s.shortcut===n).forEach(s=>{s&&s.method&&s.method()})})}function L1(n){const e=Object.values(Yt).flat();if(e.findIndex(a=>{let{element:s}=a;return s===n})<0){const{keydownListener:a,keyupListenr:s,capture:o}=ts.get(n)||{};a&&s&&(xc(n,"keyup",s,o),xc(n,"keydown",a,o),ts.delete(n))}if((e.length<=0||ts.size<=0)&&(Object.keys(ts).forEach(s=>{const{keydownListener:o,keyupListenr:l,capture:u}=ts.get(s)||{};o&&l&&(xc(s,"keyup",l,u),xc(s,"keydown",o,u),ts.delete(s))}),ts.clear(),Object.keys(Yt).forEach(s=>delete Yt[s]),Ic)){const{listener:s,capture:o}=Ic;xc(window,"focus",s,o),Ic=null}}const Ap={getPressedKeyString:sP,setScope:W7,getScope:Jc,deleteScope:cP,getPressedKeyCodes:rP,getAllKeyCodes:iP,isPressed:lP,filter:oP,trigger:dP,unbind:K7,keyMap:Qc,modifier:ar,modifierMap:Tc};for(const n in Ap)Object.prototype.hasOwnProperty.call(Ap,n)&&(Fa[n]=Ap[n]);if(typeof window<"u"){const n=window.hotkeys;Fa.noConflict=e=>(e&&window.hotkeys===Fa&&(window.hotkeys=n),Fa),window.hotkeys=Fa}var Ep;const fP=typeof window<"u"&&(!((Ep=window==null?void 0:window.document)===null||Ep===void 0)&&Ep.createElement)?D.useLayoutEffect:D.useEffect,Ho=n=>{const e=D.useRef(n);e.current=D.useMemo(()=>n,[n]);const t=D.useRef();return t.current||(t.current=(function(...a){var s;return(s=e.current)===null||s===void 0?void 0:s.apply(this,a)})),t.current},hP=({disable:n})=>{const e=D.useRef({x:0,y:0}),t=a=>{e.current.x=a.clientX,e.current.y=a.clientY};return D.useEffect(()=>(n||document.addEventListener("mousemove",t,!0),()=>{document.removeEventListener("mousemove",t,!0)}),[n]),e};class mP{constructor(e,t){Object.defineProperty(this,"node",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"border",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"padding",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"content",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.node=e.createElement("div"),this.border=e.createElement("div"),this.padding=e.createElement("div"),this.content=e.createElement("div"),this.border.style.borderColor=Yd.border,this.padding.style.borderColor=Yd.padding,this.content.style.backgroundColor=Yd.background,Object.assign(this.node.style,{borderColor:Yd.margin,pointerEvents:"none",position:"fixed"}),this.node.style.zIndex="10000000",this.node.appendChild(this.border),this.border.appendChild(this.padding),this.padding.appendChild(this.content),t.prepend(this.node)}remove(){this.node.parentNode&&this.node.parentNode.removeChild(this.node)}update(e,t){Np(t,"margin",this.node),Np(t,"border",this.border),Np(t,"padding",this.padding),Object.assign(this.content.style,{height:`${e.height-t.borderTop-t.borderBottom-t.paddingTop-t.paddingBottom}px`,width:`${e.width-t.borderLeft-t.borderRight-t.paddingLeft-t.paddingRight}px`}),Object.assign(this.node.style,{top:`${e.top-t.marginTop}px`,left:`${e.left-t.marginLeft}px`})}}class pP{constructor(e,t){Object.defineProperty(this,"tip",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"nameSpan",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"titleDiv",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"infoDiv",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"dimSpan",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.tip=e.createElement("div"),Object.assign(this.tip.style,{display:"flex",flexFlow:"row nowrap",alignItems:"center",backgroundColor:"#333740",borderRadius:"2px",fontFamily:'"SFMono-Regular", Consolas, "Liberation Mono", Menlo, Courier, monospace',fontWeight:"bold",padding:"6px 8px",pointerEvents:"none",position:"fixed",fontSize:"12px",whiteSpace:"nowrap"}),this.nameSpan=e.createElement("span"),this.tip.appendChild(this.nameSpan),Object.assign(this.nameSpan.style,{display:"flex",flexDirection:"column",borderRight:"1px solid #aaaaaa",paddingRight:"0.8rem",marginRight:"0.8rem"}),this.titleDiv=e.createElement("div"),this.nameSpan.appendChild(this.titleDiv),Object.assign(this.titleDiv.style,{color:"#ee78e6",fontSize:"16px"}),this.infoDiv=e.createElement("div"),this.nameSpan.appendChild(this.infoDiv),Object.assign(this.infoDiv.style,{color:"#ee78e6",fontSize:"14px"}),this.dimSpan=e.createElement("span"),this.tip.appendChild(this.dimSpan),Object.assign(this.dimSpan.style,{color:"#d7d7d7"}),this.tip.style.zIndex="10000000",t.appendChild(this.tip)}remove(){this.tip.parentNode&&this.tip.parentNode.removeChild(this.tip)}updateText(e,t,a,s){this.titleDiv.textContent=e,this.infoDiv.textContent=t??"",this.dimSpan.textContent=`${Math.round(a)}px × ${Math.round(s)}px`}updatePosition(e,t){const a=this.tip.getBoundingClientRect(),s=yP(e,t,{width:a.width,height:a.height});Object.assign(this.tip.style,s.style)}}class gP{constructor(){Object.defineProperty(this,"window",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"tipBoundsWindow",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"container",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"tip",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"rects",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"removeCallback",{enumerable:!0,configurable:!0,writable:!0,value:void 0});const e=window.__REACT_DEVTOOLS_TARGET_WINDOW__||window;this.window=e;const t=window.__REACT_DEVTOOLS_TARGET_WINDOW__||window;this.tipBoundsWindow=t;const a=e.document;this.container=a.createElement("div"),this.container.style.zIndex="10000000",this.tip=new pP(a,this.container),this.rects=[],this.removeCallback=()=>{},a.body.appendChild(this.container)}remove(){this.tip.remove(),this.rects.forEach(e=>{e.remove()}),this.rects.length=0,this.container.parentNode&&this.container.parentNode.removeChild(this.container),this.removeCallback()}setRemoveCallback(e){this.removeCallback=e.bind(this)}inspect(e,t,a){var s;const o=e.filter(d=>d.nodeType===Node.ELEMENT_NODE);for(;this.rects.length>o.length;){const d=this.rects.pop();d==null||d.remove()}if(o.length===0)return;for(;this.rects.length<o.length;)this.rects.push(new mP(this.window.document,this.container));const l={top:Number.POSITIVE_INFINITY,right:Number.NEGATIVE_INFINITY,bottom:Number.NEGATIVE_INFINITY,left:Number.POSITIVE_INFINITY};if(o.forEach((d,h)=>{const m=N3(d,this.window),p=Zj(d);l.top=Math.min(l.top,m.top-p.marginTop),l.right=Math.max(l.right,m.left+m.width+p.marginRight),l.bottom=Math.max(l.bottom,m.top+m.height+p.marginBottom),l.left=Math.min(l.left,m.left-p.marginLeft),this.rects[h].update(m,p)}),!t){t=o[0].nodeName.toLowerCase();const d=o[0],h=(s=d.ownerDocument.defaultView)===null||s===void 0?void 0:s.__REACT_DEVTOOLS_GLOBAL_HOOK__;if(h!=null&&h.rendererInterfaces){let m=null;for(const p of h.rendererInterfaces.values()){const b=p.getFiberIDForNative(d,!0);if(b!==null){m=p.getDisplayNameForFiberID(b,!0);break}}m&&(t+=` (in ${m})`)}}this.tip.updateText(t,a,l.right-l.left,l.bottom-l.top);const u=N3(this.tipBoundsWindow.document.documentElement,this.window);this.tip.updatePosition({top:l.top,left:l.left,height:l.bottom-l.top,width:l.right-l.left},{top:u.top+this.tipBoundsWindow.scrollY,left:u.left+this.tipBoundsWindow.scrollX,height:this.tipBoundsWindow.innerHeight,width:this.tipBoundsWindow.innerWidth})}}function yP(n,e,t){const a=Math.max(t.height,20),s=Math.max(t.width,60),o=5;let l;n.top+n.height+a<=e.top+e.height?n.top+n.height<e.top+0?l=e.top+o:l=n.top+n.height+o:n.top-a<=e.top+e.height?n.top-a-o<e.top+o?l=e.top+o:l=n.top-a-o:l=e.top+e.height-a-o;let u=n.left+o;return n.left<e.left&&(u=e.left+o),n.left+s>e.left+e.width&&(u=e.left+e.width-s-o),{style:{top:`${l}px`,left:`${u}px`}}}function Np(n,e,t){Object.assign(t.style,{borderTopWidth:`${n[`${e}Top`]}px`,borderLeftWidth:`${n[`${e}Left`]}px`,borderRightWidth:`${n[`${e}Right`]}px`,borderBottomWidth:`${n[`${e}Bottom`]}px`,borderStyle:"solid"})}const Yd={background:"rgba(120, 170, 210, 0.7)",padding:"rgba(77, 200, 0, 0.3)",margin:"rgba(255, 155, 0, 0.3)",border:"rgba(255, 200, 50, 0.3)"},vP=()=>{var n;return!((n=navigator.platform)===null||n===void 0)&&n.startsWith("Mac")?["Ctrl","Shift","Command","C"]:["Ctrl","Shift","Alt","C"]},bP=n=>{const{keys:e,onHoverElement:t,onClickElement:a,onInspectElement:s,active:o,onActiveChange:l,disableLaunchEditor:u,disable:d=!0,children:h}=n,[m,p]=D.useState(o??!1);fP(()=>{o!==void 0&&p(o)},[o]),D.useEffect(()=>(m?N():E(),E),[m]);const b=e===null?null:(e??[]).join("+"),x=D.useRef(),k=hP({disable:d}),_=Ho(()=>{l==null||l(!0),o===void 0&&p(!0)}),T=Ho(()=>{l==null||l(!1),o===void 0&&p(!1)}),N=Ho(()=>{if(x.current||d)return;const j=new gP;x.current=j,Fa("esc",T);const q=Uj({onPointerOver:L,onClick:B});j.setRemoveCallback(q);const K=k.current,te=document.elementFromPoint(K.x,K.y);te&&L(te)}),E=Ho(()=>{var j;(j=x.current)===null||j===void 0||j.remove(),x.current=void 0,Fa.unbind("esc",T)}),L=Ho(j=>{var q;const K=x.current,te=A3(j),J=te==null?void 0:te.relativePath,be=te==null?void 0:te.absolutePath,{fiber:Le,name:fe,title:se}=E3(j);(q=K==null?void 0:K.inspect)===null||q===void 0||q.call(K,[j],se,J??be),t==null||t({element:j,fiber:Le,codeInfo:te,name:fe})}),B=Ho(j=>{T();const q=A3(j),{fiber:K,name:te}=E3(j);a==null||a({element:j,fiber:K,codeInfo:q,name:te}),K&&q&&(s==null||s({element:j,fiber:K,codeInfo:q,name:te}),!s&&!u&&eP(q))});return D.useEffect(()=>{const j=()=>{x.current?T():_()},q=b===null||d?null:b||vP().join("+");if(q)return Fa(q,j),()=>{Fa.unbind(q,j)}},[b,d]),y.jsx(y.Fragment,{children:h??null})};function xP(){const[n,e]=D.useState(!1),{t}=kt();return D.useEffect(()=>{const a=s=>{s.ctrlKey&&s.shiftKey&&s.altKey&&(s.key==="c"||s.key==="C")&&(s.preventDefault(),e(o=>!o))};return window.addEventListener("keydown",a),()=>window.removeEventListener("keydown",a)},[]),y.jsxs(y.Fragment,{children:[y.jsx(bP,{active:n,onActiveChange:e}),y.jsx("button",{onClick:()=>e(a=>!a),title:t(n?"toast.inspectorOff":"toast.inspectorOn"),style:{position:"fixed",bottom:"20px",right:"20px",zIndex:99999,width:"44px",height:"44px",borderRadius:"50%",border:"none",cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"center",fontSize:"20px",boxShadow:"0 2px 12px rgba(0,0,0,0.25)",transition:"all 0.2s ease",background:n?"#22c55e":"#1e293b",color:"#fff"},children:y.jsxs("svg",{width:"22",height:"22",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[y.jsx("circle",{cx:"12",cy:"12",r:"3"}),y.jsx("path",{d:"M22 12c0 5.52-4.48 10-10 10S2 17.52 2 12 6.48 2 12 2s10 4.48 10 10z"}),y.jsx("path",{d:"M12 2v20"}),y.jsx("path",{d:"M2 12h20"})]})})]})}rS.createRoot(document.getElementById("root")).render(y.jsxs(Zk.StrictMode,{children:[y.jsx(xP,{}),y.jsx(Hj,{})]}));export{UP as A,c3 as B,BP as C,FD as D,cj as E,AP as F,wj as G,FP as H,jO as I,_j as J,NP as K,$P as L,N1 as M,We as N,MP as O,DP as P,dx as Q,zP as R,xt as S,Pc as T,Fg as U,QB as V,EP as W,x3 as X,O as _,ft as a,Zo as b,Ia as c,Wt as d,l_ as e,qi as f,X as g,Pg as h,ll as i,qB as j,IP as k,ns as l,Zn as m,Ve as n,C7 as o,hD as p,RP as q,PP as r,jP as s,Ye as t,kt as u,K_ as v,Re as w,Wo as x,st as y,HP as z};
|